@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@500;600;700&family=Noto+Sans+KR:wght@400;500;600;700;800;900&display=swap');

:root{--background:#fff;--foreground:#182821;--gold:#a77927;--line:#e3e8e3;--muted:#65736b;--font-sans:'Noto Sans KR',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font:16px/1.65 var(--font-sans);color:var(--foreground);background:var(--background)}button,input,select{font:inherit}button{border:0;background:none;cursor:pointer;color:inherit;text-align:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}svg{flex-shrink:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b78f38;outline-offset:4px}.preview{background:#173c31;color:#fff;text-align:center;padding:6px 12px;font-size:12px;letter-spacing:1.8px}.preview span{letter-spacing:0;opacity:.75;margin-left:14px}header{position:sticky;top:0;background:#fffffff0;backdrop-filter:blur(14px);border-bottom:1px solid var(--line);z-index:10}.head{max-width:1200px;margin:auto;padding:18px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;gap:11px;align-items:center;font-size:20px;font-weight:800;letter-spacing:-.8px}.symbol{width:44px;height:44px;border:1px solid #c2a367;color:var(--gold);border-radius:12px;display:grid;place-items:center}.brand small{display:block;font-size:12px;letter-spacing:2px;font-weight:500;color:var(--muted);line-height:1.4}nav{display:flex;gap:32px;font-size:14px;font-weight:600}.consult{display:flex;align-items:center;gap:8px;border:1px solid var(--line);padding:9px 17px;border-radius:25px;font-size:14px}main,footer{max-width:1200px;margin:auto;padding:0 32px}.intro{padding:52px 0 29px;display:flex;align-items:center;justify-content:space-between}.eyebrow{font-size:12px;letter-spacing:1.8px;color:var(--gold);font-weight:700;margin-bottom:11px}h1{font-size:46px;letter-spacing:-2.5px;line-height:1.35;font-weight:800}h1 em{font-style:normal;color:#5a7162}.sub{color:var(--muted);margin-top:17px}.intro aside{border-left:1px solid var(--line);padding:0 30px 0 44px}.intro aside>span{font-size:12px;letter-spacing:5px;color:var(--gold)}.intro aside p{font-size:20px;margin:12px 0}.intro aside svg{color:#92a295}.mobile{display:none}.search{display:flex;align-items:center;gap:15px;border:1px solid #cfd8cf;padding:8px 8px 8px 23px;border-radius:13px;box-shadow:0 5px 16px #233c2806}.search>svg{color:#748777}.search input{flex:1;min-width:0;border:0;background:transparent;padding:11px 0;outline:none}.search button{display:flex;align-items:center;gap:18px;background:#193d31;color:white;padding:13px 24px;border-radius:8px;font-size:14px;font-weight:600}.categories{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;padding:29px 0 32px;border-bottom:1px solid var(--line)}.categories button{display:flex;align-items:center;gap:13px;padding:13px;border-radius:12px}.categories button:hover{background:#f1f5ef}.categories button>span{background:#f2f5ef;border-radius:14px;width:46px;height:46px;display:grid;place-items:center;color:#4d654e}.categories strong{font-size:15px;white-space:nowrap;font-weight:600}.cat-arrow{margin-left:auto;color:#9aa59b}.section{padding:36px 0 13px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:21px}.section-head .eyebrow{margin-bottom:4px}h2{font-size:27px;letter-spacing:-1px;font-weight:750;line-height:1.45}.section-head button,.strip button{display:flex;align-items:center;gap:10px;font-size:14px;white-space:nowrap}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.place{padding:0;min-width:0}.photo{aspect-ratio:1.55;position:relative;border-radius:15px;overflow:hidden;background:#e5ebe3}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.place:hover img{transform:scale(1.045)}.photo>span{position:absolute;top:14px;left:14px;background:#fffffff0;border-radius:5px;padding:3px 9px;font-size:12px;font-weight:600}.photo i{position:absolute;right:12px;bottom:12px;width:33px;height:33px;border-radius:50%;background:white;display:grid;place-items:center}.info{padding:15px 2px 18px}.tag{color:var(--gold);font-size:12px;margin-bottom:4px}.place h3{font-size:20px;font-weight:700;letter-spacing:-.7px}.location{display:flex;gap:5px;align-items:center;color:var(--muted);font-size:13px;margin-top:7px}.location span{margin-left:10px;border-left:1px solid #d7dfd7;padding-left:12px}.strip{display:flex;align-items:center;gap:23px;background:#f0f4ee;border-radius:16px;padding:29px 34px;margin:19px 0 8px}.pin{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#e0eadb;color:#52694a}.strip h2{font-size:23px}.strip .eyebrow{font-size:12px;margin-bottom:4px}.strip p:last-child{font-size:14px;color:var(--muted);margin-top:5px}.strip button{margin-left:auto;font-weight:600;gap:18px}.planning{display:grid;grid-template-columns:1fr 1fr;gap:24px}.planning > a{display:flex;align-items:center;gap:21px;background:#f7f8f6;border:1px solid var(--line);border-radius:15px;padding:15px}.planning img{width:109px;height:105px;object-fit:cover;border-radius:9px}.planning .eyebrow{font-size:11px;margin-bottom:4px}.planning h3{font-size:19px;font-weight:700}.planning p:last-child{font-size:13px;color:var(--muted);margin-top:5px}.planning svg{margin-left:auto}.contact{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding:38px 0;margin:54px 0 30px}.contact h2{font-size:24px}.contact p:last-child{font-size:14px;color:var(--muted);margin-top:9px}.contact-buttons{display:flex;gap:9px}.contact-buttons a,.mobile-contact a{display:flex;align-items:center;justify-content:center;gap:9px;padding:14px 17px;border-radius:9px;font-size:14px;font-weight:700;white-space:nowrap}.kakao{background:#fee500;color:#29260a}.telegram{background:#e8f2fa;color:#21618c}footer{padding-top:27px;padding-bottom:28px;border-top:1px solid var(--line)}footer .brand{font-size:17px}footer svg,.gold{color:var(--gold)}footer>p{color:var(--muted);font-size:13px;margin-top:7px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:28px;font-size:12px;color:#738078}.mobile-contact{display:none}.listing,.detail{padding-top:30px}.back{display:flex;gap:8px;align-items:center;color:var(--muted);padding:8px 0;margin-bottom:24px;font-size:14px}.listing h1,.detail h1{font-size:38px}.chips{display:flex;gap:9px;overflow:auto;padding:28px 0 21px}.chips button{border:1px solid var(--line);border-radius:30px;padding:9px 21px;white-space:nowrap;font-size:14px}.chips button.chosen{background:#193d31;color:white;border-color:#193d31}.filters{display:flex;gap:14px}.filters label{display:flex;align-items:center;gap:12px;flex:1;border:1px solid var(--line);border-radius:9px;padding:10px 15px}.filters input{width:100%;min-width:0;border:0;outline:none}.filters select{border:1px solid var(--line);border-radius:9px;padding:10px;font-size:14px;background:white}.count{margin:28px 0 19px;font-size:14px}.count span{font-size:12px;margin-left:12px;color:var(--muted)}.empty{text-align:center;padding:60px 0}.empty>svg{margin:0 auto 20px}.empty p{margin:14px;color:var(--muted)}.empty button{background:#193d31;color:white;padding:10px 20px;border-radius:9px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:37px;margin-top:28px}.detail-photo{position:relative;aspect-ratio:1.55;overflow:hidden;border-radius:17px}.detail-photo img{width:100%;height:100%;object-fit:cover}.detail-photo span{position:absolute;bottom:12px;right:12px;background:#0009;color:white;padding:3px 9px;font-size:12px;border-radius:5px}.detail-section{padding:29px 0;border-bottom:1px solid var(--line)}.detail-section>p:last-child{margin-top:13px;color:var(--muted)}.detail-section dl>div{display:flex;gap:25px;margin:18px 0;font-size:15px}.detail-section dt{width:125px;display:flex;gap:9px;align-items:center;flex-shrink:0;color:var(--muted)}.detail-section dd{margin:0}.note{font-size:13px}.booking{position:sticky;top:110px;height:fit-content;border:1px solid var(--line);border-radius:16px;padding:25px}.booking h2{font-size:23px;margin-top:18px}.booking p{font-size:14px;color:var(--muted);margin:13px 0}.booking ul{list-style:none;padding:16px 0;margin:0;border-top:1px solid var(--line)}.booking li{display:flex;gap:9px;align-items:center;padding:5px 0;font-size:14px}.booking li svg{color:#687f57}.booking .contact-buttons{flex-direction:column}.booking small{display:block;font-size:12px;margin-top:13px;color:var(--muted)}
@media(max-width:900px){nav{gap:18px}.head,main,footer{padding-left:24px;padding-right:24px}.intro aside{display:none}.categories{gap:4px}.categories button{flex-direction:column;padding:10px 0;gap:8px}.cat-arrow{display:none}.cards{gap:17px}.contact{align-items:start;flex-direction:column}.detail-grid{grid-template-columns:minmax(0,1fr) 270px;gap:22px}.planning > a{gap:12px}.planning img{width:80px;height:90px}.planning h3{font-size:16px}}
@media(max-width:600px){.preview{font-size:12px;letter-spacing:1px;padding:5px}.preview span{font-size:12px;margin-left:8px}.head{padding:14px 20px;gap:10px}.brand{font-size:17px;gap:8px}.symbol{width:36px;height:36px;border-radius:10px}.brand small{font-size:12px;letter-spacing:1.7px}.consult{border:0;padding:8px}.consult span,nav{display:none}main,footer{padding-left:20px;padding-right:20px}.intro{padding:30px 0 22px}.eyebrow{font-size:12px;letter-spacing:1.5px;margin-bottom:10px}h1{font-size:33px;letter-spacing:-1.7px;line-height:1.42}.sub{font-size:14px;line-height:1.8;margin-top:13px}.mobile{display:block}.search{padding:5px 5px 5px 14px;gap:9px;border-radius:11px}.search>svg{width:20px}.search input{font-size:14px;padding:12px 0}.search button{font-size:0;padding:14px;gap:0}.categories{padding:22px 0;gap:5px}.categories button>span{width:49px;height:49px;border-radius:15px}.categories strong{font-size:12px}.section{padding-top:28px}.section-head{margin-bottom:17px}h2{font-size:23px}.section-head button{font-size:12px;gap:5px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.photo{aspect-ratio:1.1;border-radius:12px}.photo>span{font-size:12px;left:9px;top:9px;padding:2px 6px}.photo i{width:26px;height:26px;right:8px;bottom:8px}.photo i svg{width:15px}.info{padding:11px 0 15px}.tag{font-size:12px;line-height:1.6;margin-bottom:4px}.place h3{font-size:16px;letter-spacing:-.5px;line-height:1.45}.location{font-size:12px;margin-top:6px;gap:3px}.location span{display:none}.cards .place:first-child:nth-last-child(3){grid-column:1/-1}.cards .place:first-child:nth-last-child(3) .photo{aspect-ratio:1.85}.strip{padding:23px 21px;gap:10px;flex-wrap:wrap;margin-top:16px}.pin{display:none}.strip h2{font-size:20px}.strip p:last-child{font-size:13px}.strip button{margin:8px 0 0;font-size:13px}.planning{grid-template-columns:1fr;gap:12px}.planning img{width:90px;height:85px}.planning h3{font-size:17px}.planning > a{padding:12px;gap:17px}.contact{margin-top:31px;padding-top:28px}.contact h2{font-size:21px}.contact .contact-buttons{display:none}.contact p:last-child{font-size:13px}.footer-bottom{flex-direction:column;gap:9px;font-size:12px;margin-top:20px}footer{padding-bottom:110px}.mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;padding:11px 16px calc(11px + env(safe-area-inset-bottom));gap:8px;background:#ffffffef;backdrop-filter:blur(12px);border-top:1px solid var(--line);z-index:20}.mobile-contact a:first-child{flex:1.5}.mobile-contact a:last-child{flex:1}.mobile-contact a{padding:13px 8px;font-size:13px}.listing h1,.detail h1{font-size:30px}.chips{padding-top:23px;gap:7px}.chips button{padding:8px 16px}.filters{gap:8px;flex-wrap:wrap}.filters label{flex-basis:100%}.detail-grid{display:block;margin-top:22px}.booking{position:static;margin-top:25px}.booking .contact-buttons{display:none}.detail-section dt{width:96px}.detail-section dl>div{font-size:14px;gap:13px}.detail-photo{aspect-ratio:1.3}.detail-section h2{font-size:22px}.detail-section>p{font-size:16px}.back{margin-bottom:19px}.count{margin-top:20px}}
[data-slot="native-select-wrapper"]{position:relative}[data-slot="native-select-icon"]{display:none}.categories strong{font-size:14px}.tag{font-size:12px}.info h3{font-size:20px}

/* Image banner: preserve the entire artwork at every viewport width. */
.image-banner { position:relative; margin-top:18px; border-radius:14px; overflow:hidden; background:#031311; border:1px solid #b9955140; }
.image-banner img { display:block; width:100%; height:auto; margin-top:-2%; margin-bottom:-6%; }
.banner-accessible-title { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@media(max-width:600px) { .image-banner { margin-top:12px; border-radius:10px; } }

/* Match the header brand to the banner artwork. */
.head .brand-wordmark { display:block; width:168px; max-width:100%; flex-shrink:0; padding:0; }
.brand-wordmark img { display:block; width:100%; height:auto; }
@media(max-width:600px) { .head .brand-wordmark { width:138px; } }

/* Emerald and gold navigation matching the brand artwork. */
.luxury-header {
  background: radial-gradient(ellipse at 18% 50%, #85703926, transparent 38%), linear-gradient(115deg,#0a241b,#03130f 70%);
  border-bottom:1px solid #caa75b;
  box-shadow:0 3px 18px #03181026;
  color:#f6edd8;
}
.luxury-header .head { position:relative; padding-top:10px; padding-bottom:10px; }
.luxury-header .brand-wordmark img { filter:drop-shadow(0 0 10px #d9ab3530); }
.luxury-header .main-navigation { display:flex; align-items:center; gap:34px; }
.main-navigation button,.main-navigation a { position:relative; padding:14px 0; font-size:15px; font-weight:500; color:#f6edd8; }
.main-navigation button:hover,.main-navigation a:hover { color:#ebc978; }
.main-navigation .active::after { content:""; position:absolute; bottom:5px; height:2px; left:0; right:0; background:#dbb258; }
.menu-toggle { display:none; color:#e7c477; width:44px; height:44px; align-items:center; justify-content:center; }
@media(max-width:600px) {
  .luxury-header .head { padding-top:8px; padding-bottom:8px; flex-wrap:wrap; }
  .menu-toggle { display:flex; }
  .luxury-header .main-navigation { display:none; width:100%; border-top:1px solid #caa75b40; padding-top:8px; gap:0; }
  .luxury-header .main-navigation.is-open { display:flex; flex-direction:column; align-items:stretch; }
  .main-navigation button,.main-navigation a { padding:13px 10px; font-size:15px; border-radius:6px; }
  .main-navigation .active { background:#d2af5814; color:#ebc978; }
  .main-navigation .active::after { display:none; }
}

.kakao-copy { display:flex; align-items:center; justify-content:center; gap:10px; background:#fee500; color:#302b00; border-radius:8px; padding:12px 16px; cursor:pointer; }
.kakao-copy-text { display:flex; flex-direction:column; text-align:left; line-height:1.4; }
.kakao-copy .kakao-copy-text small { display:block; margin:0; color:inherit; font-size:12px; }
.kakao-copy-text strong { font-size:15px; font-weight:700; white-space:nowrap; }
.copy-notice { position:fixed; bottom:26px; left:50%; transform:translateX(-50%); width:min(480px,calc(100% - 32px)); padding:16px; display:flex; align-items:center; gap:12px; background:#143b2f; color:white; border:1px solid #bda76f; border-radius:12px; box-shadow:0 8px 30px #0003; z-index:50; }
.copy-notice p { flex:1; font-size:14px; line-height:1.6; }
.copy-notice button { display:flex; padding:8px; color:white; }
@media(max-width:600px) {
 .mobile-contact .kakao-copy { flex:1.6; min-width:0; gap:6px; padding:10px 8px; }
 .mobile-contact .kakao-copy-text strong { font-size:13px; }
 .mobile-contact .kakao-copy>svg:last-child { display:none; }
 .copy-notice { bottom:calc(96px + env(safe-area-inset-bottom)); }
}

.telegram-contact-text { display:flex; flex-direction:column; text-align:left; line-height:1.4; }
.telegram .telegram-contact-text small { display:block; margin:0; color:inherit; font-size:12px; }
.telegram-contact-text strong { font-size:15px; font-weight:700; white-space:nowrap; }
@media(max-width:600px) {
 .mobile-contact .telegram { flex:1.6; min-width:0; gap:6px; padding:10px 8px; }
 .mobile-contact .telegram-contact-text strong { font-size:13px; }
}
@media(max-width:360px) {
 .mobile-contact .telegram>svg,.mobile-contact .kakao-copy>svg { display:none; }
}

/* Equal contact buttons and matching icon/text columns in both orientations. */
.contact-buttons { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.contact > .contact-buttons { width:440px; max-width:100%; flex-shrink:0; }
.booking .contact-buttons { grid-template-columns:minmax(0,1fr); }
.contact-buttons > .kakao,.contact-buttons > .telegram,
.mobile-contact > .kakao,.mobile-contact > .telegram {
 display:grid; grid-template-columns:18px minmax(0,1fr) 16px; align-items:center;
 gap:8px; box-sizing:border-box; width:100%; min-width:0; min-height:64px;
 padding:12px; border:0; border-radius:9px; text-align:left;
}
.kakao-copy-text,.telegram-contact-text { min-width:0; align-items:flex-start; justify-content:center; }
.kakao-copy-text strong,.telegram-contact-text strong { font-size:14px; line-height:1.5; }
@media(max-width:600px), (max-width:950px) and (orientation:landscape) and (max-height:500px) {
 .contact .contact-buttons,.booking .contact-buttons { display:none; }
 .mobile-contact {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  position:fixed; bottom:0; left:0; right:0; gap:8px;
  padding:10px max(12px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
  background:#ffffffef; border-top:1px solid var(--line); z-index:20;
 }
 .mobile-contact > .kakao,.mobile-contact > .telegram { min-height:60px; padding:10px 8px; gap:6px; grid-template-columns:16px minmax(0,1fr) 14px; }
 .mobile-contact .kakao-copy-text strong,.mobile-contact .telegram-contact-text strong { font-size:12px; }
 .mobile-contact > .kakao > svg,.mobile-contact > .telegram > svg { display:block; width:16px; height:16px; }
 .mobile-contact > .kakao > svg:last-child,.mobile-contact > .telegram > svg:last-child { display:block; width:14px; height:14px; }
 footer { padding-bottom:110px; }
 .copy-notice { bottom:calc(92px + env(safe-area-inset-bottom)); }
}
@media(max-width:380px) {
 .mobile-contact > .kakao,.mobile-contact > .telegram { grid-template-columns:minmax(0,1fr) 14px; }
 .mobile-contact > .kakao > svg:first-child,.mobile-contact > .telegram > svg:first-child { display:none; }
}

/* Keep the branded caption and watermark fully visible. */
.cards .place .photo.branded-card-photo { aspect-ratio:3 / 2; }
.cards .place .photo.branded-card-photo img { object-fit:contain; }

.detail-photo.branded-detail-photo { aspect-ratio:3 / 2; }
.detail-photo.branded-detail-photo img { object-fit:contain; }

/* Actual venue photographs and expandable gallery. */
.venue-description p:not(.eyebrow) { margin-top:18px; font-size:16px; line-height:1.9; color:#536359; word-break:keep-all; overflow-wrap:anywhere; }
.venue-description strong { color:#193d31; font-weight:700; }
.venue-gallery { padding:30px 0; min-width:0; }
.gallery-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px; }
.gallery-heading h2 small { font-size:14px; color:var(--muted); font-weight:400; }
.gallery-heading>button { font-size:14px; color:#846322; border:1px solid #d9c8a4; border-radius:8px; padding:10px 12px; white-space:nowrap; }
.gallery-stage { position:relative; border-radius:14px; overflow:hidden; background:#071a13; touch-action:pan-y pinch-zoom; }
.gallery-image-button { display:block; width:100%; padding:0; }
.gallery-image-button img { display:block; width:100%; aspect-ratio:4/3; object-fit:contain; }
.gallery-enlarge { position:absolute; right:12px; bottom:12px; display:flex; align-items:center; gap:6px; color:white; background:#000a; padding:6px 10px; font-size:12px; border-radius:6px; }
.gallery-arrow { position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; display:grid; place-items:center; background:#071a13cc; color:white; border:1px solid #ffffff55; border-radius:50%; }
.gallery-arrow.previous { left:10px; }.gallery-arrow.next { right:10px; }
.gallery-caption { display:flex; justify-content:space-between; gap:12px; font-size:14px; margin:12px 0; color:#4f6057; }
.gallery-caption>span { white-space:nowrap; font-variant-numeric:tabular-nums; }
.gallery-thumbnails { display:flex; overflow-x:auto; gap:8px; padding:3px 2px 10px; }
.gallery-thumbnails button { flex:0 0 76px; padding:2px; border:2px solid transparent; border-radius:8px; overflow:hidden; }
.gallery-thumbnails button[aria-pressed=true] { border-color:#a77927; }
.gallery-thumbnails img { display:block; width:100%; height:54px; object-fit:cover; border-radius:4px; }
.gallery-hint { font-size:13px; color:var(--muted); margin-top:6px; }
.gallery-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:22px; }
.gallery-grid[hidden] { display:none; }
.gallery-grid button { min-width:0; padding:0; }
.gallery-grid img { display:block; width:100%; aspect-ratio:4/3; object-fit:contain; background:#071a13; border-radius:10px; }
.gallery-grid span { display:block; font-size:14px; margin-top:8px; }
.gallery-dialog { width:min(1100px,96vw); max-width:96vw; max-height:94dvh; padding:0; border:1px solid #b89552; border-radius:12px; background:#071510; color:white; margin:auto; }
.gallery-dialog::backdrop { background:#000d; }
.gallery-dialog-content { position:relative; padding:52px 16px 16px; }
.gallery-close { position:absolute; top:6px; right:8px; width:44px; height:44px; display:grid; place-items:center; color:white; }
.gallery-dialog-image { touch-action:pan-y pinch-zoom; }
.gallery-dialog-image img { width:100%; height:min(65dvh,700px); object-fit:contain; display:block; }
.gallery-dialog-controls { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:12px; }
.gallery-dialog-controls button { display:grid; place-items:center; width:44px; height:44px; color:white; background:#ffffff18; border-radius:50%; }
.gallery-dialog-controls p { text-align:center; font-size:14px; }
@media(max-width:600px) {
 .gallery-heading h2 { font-size:22px; }.gallery-heading>button { padding:9px; font-size:13px; }
 .gallery-grid { grid-template-columns:1fr; }
 .gallery-thumbnails button { flex-basis:66px; }
 .gallery-dialog-content { padding-left:8px; padding-right:8px; }
}

.venue-location { display:flex; align-items:center; flex-wrap:wrap; gap:10px; min-width:0; }
.map-link { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:44px; padding:9px 13px; border:1px solid #b49552; border-radius:8px; background:#163c2f; color:#fff3d3; font-size:14px; font-weight:700; white-space:nowrap; }
.map-link:hover { background:#24523f; }
@media(max-width:600px) { .venue-location { align-items:flex-start; flex-direction:column; gap:8px; } }
.venue-features-title { margin-top:28px; font-size:20px; }
.venue-features { margin:16px 0 0; padding:0; list-style:none; display:grid; gap:16px; }
.venue-features li { padding-left:16px; border-left:2px solid #b99650; }
.venue-description .venue-features p { margin-top:5px; }
.venue-photo-placeholder{width:100%;height:100%;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:28px;background:linear-gradient(135deg,#142c24,#080e0b);color:#e5c276;text-align:center}.venue-photo-placeholder strong{font-size:clamp(20px,3vw,32px);word-break:keep-all}
.photo > .venue-category-badge {
  position:absolute;
  top:8px;
  left:8px;
  z-index:1;
  padding:2px 7px;
  font-size:12px;
  line-height:1.5;
  font-weight:600;
  border-radius:5px;
  background:rgba(255,255,255,.94);
  color:#193d31;
  box-shadow:0 1px 4px #0002;
  pointer-events:none;
}
@media(max-width:640px) {
  .photo > .venue-category-badge { top:6px; left:6px; padding:1px 6px; }
}
