* {
  box-sizing: border-box;
}
body {
  margin: 0;
  background: #f2f7f5;
  color: #15241f;
  font-family: Arial, "Noto Sans KR", sans-serif;
}
header {
  height: 58px;
  background: #087b61;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 max(16px, calc((100% - 980px) / 2));
}
header a {
  color: #fff;
  font-weight: 900;
  text-decoration: none;
  font-size: 20px;
}
header select {
  border: 1px solid #ffffff66;
  border-radius: 9px;
  padding: 8px;
  background: #fff;
}
main {
  max-width: 980px;
  margin: auto;
  padding: 18px;
}
.hero {
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 8px 30px #163d3020;
}
.hero > img {
  width: 100%;
  height: 340px;
  object-fit: cover;
}
.shop-gallery{position:relative;width:100%;height:clamp(300px,48vw,520px);overflow:hidden;background:#26352f}.shop-gallery::before{content:"";position:absolute;inset:-24px;background-image:var(--gallery-bg);background-position:center;background-size:cover;filter:blur(24px) brightness(.55);transform:scale(1.08)}.shop-gallery-image{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain;cursor:zoom-in}.shop-gallery-count{position:absolute;z-index:3;top:14px;right:14px;padding:6px 10px;border-radius:20px;background:#10231dcc;color:#fff;font-size:12px;font-weight:900}.shop-gallery-arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;border-radius:50%;background:#103d35d9;color:#fff;font-size:32px;line-height:38px;cursor:pointer}.shop-gallery-arrow.prev{left:12px}.shop-gallery-arrow.next{right:12px}.expandable-image{cursor:zoom-in}.expandable-image:focus-visible{outline:4px solid #f5b941;outline-offset:-4px}
#imageLightbox{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#06100deb;color:#fff;overflow:hidden}#imageLightbox::backdrop{background:#06100deb}.image-lightbox-stage{position:relative;display:grid;place-items:center;width:100%;height:100%;padding:46px 18px}.image-lightbox-stage img{display:block;max-width:100%;max-height:calc(100dvh - 92px);object-fit:contain;border-radius:8px}.image-lightbox-close{position:absolute;z-index:3;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));width:46px;height:46px;border:0;border-radius:50%;background:#fff;color:#12231d;font-size:30px;line-height:1;cursor:pointer}.image-lightbox-arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:48px;height:56px;border:0;border-radius:14px;background:#fffde8;color:#075e4b;font-size:38px;line-height:1;cursor:pointer}.image-lightbox-arrow.prev{left:max(10px,env(safe-area-inset-left))}.image-lightbox-arrow.next{right:max(10px,env(safe-area-inset-right))}.image-lightbox-count{position:absolute;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);padding:7px 12px;border-radius:20px;background:#06100dcc;color:#fff;font-size:13px;font-weight:900}.image-lightbox-arrow[hidden]{display:none}
.hero-body {
  padding: 20px;
}
.hero h1 {
  margin: 0 0 7px;
}
.meta {
  color: #5a6b65;
}
.hero-title-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}
.share-actions {
  display: flex;
  gap: 7px;
}
.share-actions button,
.short-link button,
.price-tabs button {
  border: 1px solid #bfd2cb;
  background: #fff;
  color: #087b61;
  border-radius: 9px;
  padding: 9px;
  font-weight: 900;
  cursor: pointer;
}
.actions {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin-top: 16px;
}
.actions a {
  padding: 12px;
  text-align: center;
  border: 1px solid #bfd2cb;
  border-radius: 10px;
  text-decoration: none;
  color: #087b61;
  font-weight: 900;
}
.actions .primary {
  background: #087b61;
  color: #fff;
}
.actions .mobile-booking {
  background: #0c5ca8;
}
.grid {
  display: grid;
  grid-template-columns: 1.3fr 0.7fr;
  gap: 15px;
  margin-top: 15px;
}
.card {
  background: #fff;
  border: 1px solid #dbe6e2;
  border-radius: 15px;
  padding: 17px;
  margin-bottom: 15px;
}
.card h2 {
  margin: 0 0 12px;
}
.share-card {
  display: grid;
  grid-template-columns: 1fr 118px;
  align-items: center;
  gap: 18px;
  margin-top: 15px;
}
.share-card img {
  width: 118px;
  height: 118px;
}
.short-link {
  display: flex;
  gap: 7px;
}
.short-link input {
  width: 100%;
  min-width: 0;
  border: 1px solid #d3dfdb;
  border-radius: 9px;
  padding: 11px;
  background: #f7faf9;
}
.price-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  margin-bottom: 8px;
}
.price-tabs button.active {
  background: #087b61;
  color: #fff;
}
.price {
  display: flex;
  justify-content: space-between;
  padding: 11px 0;
  border-bottom: 1px solid #edf1ef;
}
.price-note {
  color: #66736f;
  font-size: 12px;
  line-height: 1.5;
}
.chips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.chip {
  background: #e8f7f1;
  border-radius: 20px;
  padding: 7px 10px;
}
.event {
  background: #fff4d8;
  border-color: #f0d58c;
}
.map {
  width: 100%;
  height: 240px;
  border: 0;
  border-radius: 12px;
}
.review {
  padding: 10px 0;
  border-bottom: 1px solid #eee;
}
.menu-product{border:1px solid #dce7e3;border-radius:14px;margin-bottom:10px;background:#fff}.menu-product-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(118px,auto);gap:8px 12px;align-items:center;padding:12px}.menu-product-body p{grid-column:1/-1;margin:0;color:#4a5a55;font-size:13px;line-height:1.45;white-space:pre-line}.menu-product-body button{grid-column:2;grid-row:1;width:auto;min-width:118px;border:0;border-radius:10px;background:#087b61;color:#fff;padding:12px 14px;font-weight:900;cursor:pointer}.menu-product .price{display:grid;gap:4px;padding:0;border-bottom:0}.menu-product .price span{font-weight:900;color:#15241f}.menu-product .price b{color:#087b61;font-size:16px}#shopInquiryDialog{width:min(92vw,480px);max-height:88vh;border:0;border-radius:18px;padding:0;box-shadow:0 24px 80px #102b2360}#shopInquiryDialog::backdrop{background:#0d231d99}#shopInquiryForm{padding:18px;overflow:auto}#shopInquiryForm label{display:grid;gap:5px;margin:10px 0;font-size:12px;font-weight:800;color:#496059}#shopInquiryForm input,#shopInquiryForm textarea{width:100%;border:1px solid #cddbd6;border-radius:10px;padding:11px;font:inherit}#shopInquiryForm textarea{min-height:72px}.inquiry-head{display:flex;justify-content:space-between;gap:10px}.inquiry-head small{color:#087b61;font-weight:900;letter-spacing:.1em}.inquiry-head h2{margin:4px 0}.inquiry-head>button{width:38px;height:38px;border:0;border-radius:50%;background:#edf4f1;font-size:23px}.contact-choice{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.contact-choice button{border:1px solid #cddbd6;background:#fff;border-radius:9px;padding:9px 3px;font-size:11px}.contact-choice button.active{background:#087b61;color:#fff}.inquiry-two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.inquiry-consent{grid-template-columns:auto 1fr!important;align-items:center}.inquiry-consent input{width:18px!important;height:18px}.inquiry-submit{width:100%;border:0;border-radius:11px;background:#087b61;color:#fff;padding:14px;font-weight:900;font-size:15px}#inquiryResult{color:#087b61;line-height:1.5}
.loading {
  text-align: center;
  padding: 80px;
}
@media (max-width: 680px) {
  .shop-gallery{height:min(72vw,420px);min-height:260px}.shop-gallery-arrow{width:38px;height:38px;font-size:29px}.shop-gallery-count{top:10px;right:10px}
  .image-lightbox-stage{padding:52px 8px}.image-lightbox-stage img{max-height:calc(100dvh - 104px);border-radius:4px}.image-lightbox-arrow{width:42px;height:52px;background:#fffef0e8}.image-lightbox-arrow.prev{left:6px}.image-lightbox-arrow.next{right:6px}
  main {
    padding: 10px;
  }
  .hero > img {
    height: 230px;
  }
  .hero-body {
    padding: 15px;
  }
  .hero-title-row {
    display: block;
  }
  .share-actions {
    margin-top: 12px;
  }
  .share-actions button {
    flex: 1;
  }
  .menu-product-body{grid-template-columns:minmax(0,1fr) 112px;padding:10px;gap:7px 9px}.menu-product-body button{min-width:112px;padding:12px 8px}.menu-product-body p{font-size:12px}.menu-product .price b{font-size:15px}
  .grid {
    grid-template-columns: 1fr;
  }
  .actions {
    grid-template-columns: 1fr 1fr;
  }
  .share-card {
    grid-template-columns: 1fr 94px;
  }
  .share-card img {
    width: 94px;
    height: 94px;
  }
  .short-link {
    display: grid;
    grid-template-columns: 1fr auto;
  }
}
footer{max-width:1050px;margin:0 auto;padding:10px 16px 34px;color:#68766f;font-size:12px;line-height:1.55}footer strong{color:#087b61;letter-spacing:.12em}footer p{margin:5px 0}
.listing-status{display:inline-block;margin-bottom:8px;padding:6px 9px;border-radius:20px;background:#fff1ef;color:#a43126;font-size:12px;font-weight:900}.restaurant-actions{grid-template-columns:2fr 1fr}.delivery-order,.wide-order{background:#ef3e2f!important;color:#fff!important;border-color:#ef3e2f!important}.wide-order{display:block;margin-top:14px;padding:13px;border-radius:10px;text-align:center;text-decoration:none;font-weight:900}.menu-list{list-style:none;margin:0;padding:0}.menu-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #edf1ef;font-weight:900}.menu-list li small{max-width:46%;color:#7a8883;font-size:10px;font-weight:500;text-align:right}.verification-note{border-color:#f2c7c1;background:#fff8f7}.verification-note strong{color:#a43126}.source-card a{color:#087b61;font-weight:900}.restaurant-hero>img{background:#087b61}
.sns-why{margin:14px 0;padding:13px;border:1px solid #bfe3d7;border-radius:12px;background:#effaf6}.sns-why strong{color:#087b61}.sns-why p{margin:5px 0 0;color:#4e625b;font-size:12px;line-height:1.55}.sns-choose{font-weight:900}.sns-code-box{margin-top:12px;padding:12px;border-radius:12px;background:#f4f8f6}.sns-code-box>p{margin:0 0 8px;font-size:12px;line-height:1.5}.sns-code-box>strong{display:block;text-align:center;font-size:30px;letter-spacing:.18em;color:#087b61}.sns-code-box textarea{min-height:68px!important;font-size:11px!important}.sns-code-actions{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:6px}.sns-code-actions button,.sns-code-actions a{border:1px solid #bad1c9;border-radius:9px;padding:10px 5px;background:#fff;color:#075e4b;text-align:center;text-decoration:none;font-size:11px;font-weight:900}.sns-code-actions a{background:#087b61;color:#fff}.voucher-link{display:inline-block;margin-top:8px;padding:10px 14px;border-radius:10px;background:#087b61;color:#fff;text-decoration:none;font-weight:900}#inquiryVerifyStep .contact-choice{grid-template-columns:repeat(3,1fr)}
.sns-name-note{margin:12px 0;padding:11px 12px;border-radius:10px;background:#effaf6;color:#075e4b;font-size:12px;font-weight:800;line-height:1.5}
.tm-restaurant-hero{position:relative;min-height:380px;border-radius:22px;overflow:hidden;background:#0b4f40;color:#fff}.tm-restaurant-hero>img{width:100%;height:420px;object-fit:cover;display:block}.tm-restaurant-overlay{position:absolute;inset:0;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(180deg,#063b2b22 25%,#062b23df 100%)}.tm-eyebrow{font-size:12px;letter-spacing:.16em;font-weight:900;color:#f7c958}.tm-restaurant-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:auto}.tm-restaurant-overlay h1{font-size:clamp(30px,5vw,58px);margin:12px 0 4px;line-height:1.05}.tm-restaurant-overlay p{font-size:18px;margin:0 0 8px;font-weight:800}.tm-restaurant-overlay small{font-size:14px}.tm-restaurant-actions{display:grid;grid-template-columns:1.3fr 1.3fr 1fr;gap:10px;margin:14px 0}.tm-restaurant-actions a,.tm-primary,.tm-secondary{display:block;border:1px solid #b9d7cd;border-radius:12px;padding:14px;text-align:center;text-decoration:none;font-weight:900;background:#fff;color:#075e4b}.tm-restaurant-actions .tm-primary,.tm-primary{background:#087b61;color:#fff;border-color:#087b61}.tm-owner-note{padding:17px 20px;margin:0 0 15px;border-radius:14px;background:#fff8df;border:1px solid #efd38b;color:#4a3d1d}.tm-owner-note strong{display:block;color:#9c6d00;font-size:13px;letter-spacing:.1em}.tm-owner-note p{margin:6px 0;font-weight:800}.tm-owner-note span{font-size:12px;color:#766a4e}.tm-restaurant-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.8fr);gap:15px}.tm-section,.tm-side-card{background:#fff;border:1px solid #d8e5e0;border-radius:16px;padding:22px;margin-bottom:15px}.tm-section-heading{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px}.tm-section-heading>span{font-size:12px;color:#087b61;font-weight:900}.tm-section-heading small{color:#087b61;font-weight:900;letter-spacing:.14em}.tm-section-heading h2{margin:4px 0 0;font-size:26px}.tm-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tm-menu-card{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;border:1px solid #d7e5df;border-radius:13px;padding:14px;background:#fbfdfc}.tm-menu-number{color:#087b61;font-weight:900}.tm-menu-card h3{margin:0;font-size:17px}.tm-menu-card p{margin:4px 0 0;color:#6c7b75;font-size:12px}.tm-menu-card strong{color:#087b61;font-size:12px}.tm-menu-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid #edf2ef;color:#66736f;font-size:12px}.tm-secondary{padding:9px 11px;font-size:12px;white-space:nowrap}.tm-about-copy{font-size:16px;line-height:1.75}.tm-gallery{display:grid;grid-template-columns:1.35fr 1fr;gap:10px;margin-bottom:15px}.tm-gallery-main{height:310px;border-radius:15px;overflow:hidden;background:#edf5f1}.tm-gallery-main img{width:100%;height:100%;object-fit:cover}.tm-gallery-placeholder{height:150px;border-radius:15px;background:linear-gradient(135deg,#d8eee6,#f8edcf);display:flex;flex-direction:column;justify-content:center;align-items:center;color:#075e4b;font-weight:900;text-align:center;margin-bottom:10px}.tm-gallery-placeholder small{font-size:11px;margin-top:5px;color:#668078}.tm-side-card small{color:#087b61;font-weight:900;letter-spacing:.14em}.tm-side-card h2{font-size:22px;margin:5px 0 14px}.tm-side-card p{line-height:1.6}.tm-primary.wide{margin-top:18px}.tm-restaurant-footer-note{padding:18px 20px;border-radius:15px;background:#eff9f5;border:1px solid #c8e3d9;margin:0 0 15px}.tm-restaurant-footer-note strong{color:#087b61}.tm-restaurant-footer-note p{margin:6px 0;color:#5e7069;font-size:13px}.tm-restaurant-footer-note a{color:#087b61;font-weight:900;font-size:13px}
@media(max-width:680px){.tm-restaurant-hero{border-radius:14px;min-height:330px}.tm-restaurant-hero>img{height:340px}.tm-restaurant-overlay{padding:18px}.tm-restaurant-overlay h1{font-size:34px}.tm-restaurant-overlay p{font-size:16px}.tm-restaurant-actions{grid-template-columns:1fr 1fr}.tm-restaurant-actions a:last-child{grid-column:1/-1}.tm-restaurant-layout{grid-template-columns:1fr}.tm-menu-grid{grid-template-columns:1fr}.tm-menu-footer{align-items:flex-start;flex-direction:column}.tm-gallery{grid-template-columns:1fr}.tm-gallery-main{height:230px}.tm-gallery-placeholder{height:100px}.tm-section,.tm-side-card{padding:16px}}
@media(max-width:680px){.restaurant-actions{grid-template-columns:1fr}.menu-list li{align-items:flex-start;flex-direction:column}.menu-list li small{max-width:none;text-align:left}}
.schedule-guests{display:inline-flex;align-items:center;gap:6px;margin:4px 8px 4px 0;font-size:13px;font-weight:700}.guest-stepper{display:inline-flex;align-items:center;border:1px solid #b8d2c9;border-radius:8px;overflow:hidden;background:#fff}.guest-stepper button{width:30px;height:34px;border:0;background:#eef7f3;color:#087e68;font-size:20px;font-weight:800;line-height:1}.guest-stepper input{width:42px;height:34px;padding:4px;border:0;text-align:center;font-size:16px;font-weight:700}.guest-stepper input::-webkit-inner-spin-button,.guest-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}@media(max-width:600px){.shop-golf-row{flex-wrap:wrap;gap:8px}.shop-golf-row .shop-golf-main{min-width:calc(100% - 90px)}.shop-golf-row .shop-golf-price{margin-left:auto}.shop-golf-row .schedule-guests{width:100%;margin:0}.shop-golf-row .schedule-guests label{display:flex;align-items:center;gap:8px}.shop-golf-row [data-service-inquiry]{margin-left:auto}}@media(min-width:601px){.shop-golf-row .schedule-guests{white-space:nowrap}}
/* Top QR action: show a compact, branded in-page QR instead of a duplicate
   share section at the bottom of every business page. */
.shop-qr-dialog {
  width: min(92vw, 420px);
  padding: 0;
  border: 0;
  border-radius: 24px;
  background: transparent;
}
.shop-qr-dialog::backdrop {
  background: rgba(3, 29, 24, .72);
  backdrop-filter: blur(5px);
}
.shop-qr-sheet {
  position: relative;
  padding: 28px 24px 24px;
  border-radius: 24px;
  background: #fff;
  text-align: center;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .25);
}
.shop-qr-sheet small {
  color: #087a61;
  font-weight: 900;
  letter-spacing: .12em;
}
.shop-qr-sheet h2 {
  margin: 8px 32px 12px;
  color: #071f1a;
  font-size: clamp(22px, 5vw, 30px);
  line-height: 1.2;
}
.shop-qr-sheet img {
  display: block;
  width: min(72vw, 300px);
  height: auto;
  margin: 0 auto;
  border-radius: 14px;
}
.shop-qr-sheet p {
  margin: 8px 0 16px;
  color: #344b45;
  font-weight: 800;
}
.shop-qr-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 50%;
  background: #edf5f2;
  color: #102b25;
  font-size: 26px;
}
.shop-qr-copy {
  width: 100%;
  min-height: 50px;
  border: 0;
  border-radius: 13px;
  background: #087e65;
  color: #fff;
  font-size: 16px;
  font-weight: 900;
}
