@charset "utf-8";
/* 웨딩홀형 1 (wedding1) — 어두운 헤더 · 샹들리에 사진 · 금빛 포인트 · 명조 제목 · 베이지 푸터 */
:root{
  --wd-ink:#1b1714; --wd-body:#5e564f; --wd-mut:#9a8f84; --wd-line:#e6ddd1; --wd-ivory:#faf8f4; --wd-sand:#eee5d8; --wd-dark:#15110e;
  --wd-gold:#9C7A4A; --wd-gold-l:#c9a86f; --wd-gold-d:#7c5f35;
  --wd-en:"Cormorant Garamond", "Noto Serif KR", serif;
  --wd-serif:"Noto Serif KR", "Nanum Myeongjo", serif;
  --wd-sans:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
  --wd-fixedh:112px;
}
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:var(--wd-fixedh); }
body{ margin:0; background:#fff; color:var(--wd-ink); font-family:var(--wd-sans); font-size:16px; line-height:1.75; word-break:keep-all; -webkit-text-size-adjust:100%; }
a{ color:inherit; text-decoration:none; }
img{ display:block; max-width:100%; height:auto; }
h1,h2,h3,h4{ margin:0; font-size:inherit; font-weight:inherit; }
ul,ol,dl,dd,p,figure{ margin:0; padding:0; }
ul,ol{ list-style:none; }
button{ font:inherit; cursor:pointer; }
.wd-wrap{ width:100%; max-width:1240px; margin:0 auto; padding:0 24px; }
.wd-skip{ position:absolute; left:-9999px; top:0; z-index:999; padding:10px 16px; background:var(--wd-gold); color:#fff; }
.wd-skip:focus{ left:10px; }
.wd-ico{ width:1.15em; height:1.15em; flex:none; }
.wd-center{ margin-top:36px; text-align:center; }
.wd-empty{ padding:24px; border:1px dashed var(--wd-line); text-align:center; color:var(--wd-mut); }
#wd-main [hidden], .wd-drawer[hidden]{ display:none !important; }

.wd-rv{ opacity:0; transform:translateY(28px); transition:opacity .9s ease, transform .9s cubic-bezier(.2,.7,.2,1); }
.wd-rv.is-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){ .wd-rv{ opacity:1; transform:none; transition:none; } html{ scroll-behavior:auto; } }

.wd-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; height:52px; padding:0 30px; border:1px solid transparent; font-size:15px; font-weight:600; letter-spacing:.04em; transition:background .25s, color .25s, border-color .25s; }
.wd-btn--gold{ background:var(--wd-gold); color:#fff; }
.wd-btn--gold:hover{ background:var(--wd-gold-d); }
.wd-btn--line{ border-color:rgba(255,255,255,.6); color:#fff; }
.wd-btn--line:hover{ background:#fff; color:var(--wd-ink); }
.wd-btn--line-dark{ height:46px; padding:0 22px; border-color:var(--wd-ink); color:var(--wd-ink); font-size:14px; }
.wd-btn--line-dark:hover{ background:var(--wd-ink); color:#fff; }
.wd-more{ display:inline-flex; align-items:center; gap:8px; padding-bottom:4px; border-bottom:1px solid currentColor; font-size:14.5px; font-weight:600; letter-spacing:.04em; color:var(--wd-gold-d); }
.wd-more:hover{ color:var(--wd-ink); }

/* 데모 띠 */
.wd-demo{ display:flex; flex-wrap:wrap; justify-content:center; gap:4px 16px; padding:7px 16px; background:#000; color:#c9bfb3; font-size:12.5px; text-align:center; }
.wd-demo b{ color:#fff; }
.wd-demo a{ color:var(--wd-gold-l); font-weight:700; }

/* 헤더 — 가운데 로고 · 아래 메뉴 줄 */
.wd-fixed{ position:sticky; top:0; z-index:100; background:var(--wd-dark); color:#fff; transition:background .35s, box-shadow .35s; }
.wd-fixed.is-main{ position:fixed; left:0; right:0; background:linear-gradient(rgba(10,8,6,.55), rgba(10,8,6,0)); }
.wd-fixed.is-main.is-solid, .wd-fixed.is-solid{ background:rgba(21,17,14,.96); box-shadow:0 8px 30px rgba(0,0,0,.25); }
.wd-header__top{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; height:66px; }
.wd-logo{ display:flex; flex-direction:column; align-items:center; line-height:1.05; }
.wd-logo strong{ font-family:var(--wd-en); font-size:28px; font-weight:600; letter-spacing:.22em; }
.wd-logo small{ margin-top:3px; font-size:9.5px; letter-spacing:.34em; color:var(--wd-gold-l); }
.wd-header__tel, .wd-header__cta{ display:inline-flex; align-items:center; gap:8px; font-size:13.5px; letter-spacing:.03em; }
.wd-header__tel{ justify-self:start; color:rgba(255,255,255,.8); }
.wd-header__cta{ justify-self:end; padding:8px 18px; border:1px solid var(--wd-gold-l); color:var(--wd-gold-l); }
.wd-header__cta:hover{ background:var(--wd-gold); border-color:var(--wd-gold); color:#fff; }
.wd-burger{ display:none; width:44px; height:44px; border:0; background:none; padding:10px; color:#fff; justify-self:end; }
.wd-burger span{ display:block; height:1.5px; margin:6px 0; background:currentColor; }
.wd-gnb{ border-top:1px solid rgba(255,255,255,.12); }
.wd-gnb > ul{ display:flex; justify-content:center; gap:8px; }
.wd-gnb > ul > li{ position:relative; }
.wd-gnb > ul > li > a{ display:block; padding:13px 22px; font-size:14.5px; letter-spacing:.06em; color:rgba(255,255,255,.88); }
.wd-gnb > ul > li:hover > a{ color:var(--wd-gold-l); }
.wd-gnb li ul{ position:absolute; left:50%; top:100%; min-width:180px; padding:10px 0; background:rgba(21,17,14,.97); opacity:0; visibility:hidden; transform:translate(-50%,8px); transition:.2s; }
.wd-gnb li:hover ul, .wd-gnb li:focus-within ul{ opacity:1; visibility:visible; transform:translate(-50%,0); }
.wd-gnb li ul a{ display:block; padding:9px 20px; font-size:14px; color:rgba(255,255,255,.78); white-space:nowrap; text-align:center; }
.wd-gnb li ul a:hover{ color:var(--wd-gold-l); }
.wd-gnb__empty{ padding:10px; font-size:13px; text-align:center; }

/* 전체 메뉴 */
.wd-drawer{ position:fixed; inset:0; z-index:200; background:rgba(0,0,0,.55); }
.wd-drawer__panel{ position:absolute; right:0; top:0; bottom:0; width:min(380px,88vw); padding:22px 24px 30px; background:var(--wd-dark); color:#fff; overflow-y:auto; display:flex; flex-direction:column; }
.wd-drawer__top{ display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; }
.wd-drawer__close{ width:40px; height:40px; border:1px solid rgba(255,255,255,.25); background:none; color:#fff; font-size:16px; }
.wd-drawer__menu > li{ border-bottom:1px solid rgba(255,255,255,.12); padding:14px 0; }
.wd-drawer__menu > li > a{ font-size:17px; font-weight:600; }
.wd-drawer__menu ul{ display:flex; flex-wrap:wrap; gap:6px 16px; margin-top:8px; }
.wd-drawer__menu ul a{ font-size:14px; color:rgba(255,255,255,.7); }
.wd-drawer__foot{ display:grid; gap:8px; margin-top:auto; padding-top:24px; }
.wd-drawer__foot a{ display:flex; align-items:center; justify-content:center; gap:8px; height:50px; background:var(--wd-gold); font-weight:700; }
.wd-drawer__foot a + a{ background:none; border:1px solid var(--wd-gold-l); color:var(--wd-gold-l); }

/* 1. 첫 화면 */
.wd-hero{ position:relative; height:max(640px, 100vh); display:flex; align-items:center; color:#fff; background:#000; overflow:hidden; text-align:center; }
.wd-hero__slides{ position:absolute; inset:0; }
.wd-hero__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.06); transition:opacity 1.6s ease, transform 7s ease-out; }
.wd-hero__img.is-on{ opacity:1; transform:scale(1); }
.wd-hero::after{ content:""; position:absolute; inset:0; background:radial-gradient(ellipse at center, rgba(10,8,6,.25), rgba(10,8,6,.62)); }
.wd-hero__in{ position:relative; z-index:1; padding-top:90px; }
.wd-hero__en{ font-family:var(--wd-en); font-style:italic; font-size:clamp(22px,2.4vw,30px); color:var(--wd-gold-l); letter-spacing:.06em; }
.wd-hero__head{ margin-top:14px; font-family:var(--wd-serif); font-size:clamp(34px,5vw,62px); font-weight:500; line-height:1.3; letter-spacing:-.01em; }
.wd-hero__desc{ margin-top:18px; font-size:clamp(15px,1.3vw,18px); color:rgba(255,255,255,.82); letter-spacing:.04em; }
.wd-hero__btns{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:34px; }
.wd-hero__scroll{ position:absolute; left:50%; bottom:28px; z-index:1; transform:translateX(-50%); color:rgba(255,255,255,.7); animation:wd-bob 2s ease-in-out infinite; }
.wd-hero__scroll .wd-ico{ width:28px; height:28px; }
@keyframes wd-bob{ 50%{ transform:translate(-50%,8px); } }

/* 2. 공지 띠 */
.wd-notice{ background:var(--wd-sand); }
.wd-notice__in{ display:flex; align-items:center; gap:16px; min-height:58px; font-size:14.5px; }
.wd-notice__in b{ font-family:var(--wd-en); font-size:15px; letter-spacing:.2em; color:var(--wd-gold-d); }
.wd-notice__in > a:first-of-type{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:600; }
.wd-notice__in time{ color:var(--wd-mut); font-size:13px; }
.wd-notice__all{ padding:5px 14px; border:1px solid var(--wd-line); background:#fff; font-size:13px; }

/* 섹션 공통 */
.wd-sec{ padding:130px 0; }
.wd-head{ max-width:760px; margin:0 auto 60px; text-align:center; }
.wd-head__en{ font-family:var(--wd-en); font-style:italic; font-size:24px; color:var(--wd-gold); letter-spacing:.04em; }
.wd-head h2{ margin-top:8px; font-family:var(--wd-serif); font-size:clamp(26px,3vw,38px); font-weight:500; line-height:1.4; }
.wd-head > p:not(.wd-head__en){ margin-top:16px; color:var(--wd-body); }
.wd-head--left{ margin-left:0; text-align:left; }
.wd-head--light h2{ color:#fff; }
.wd-head--light > p:not(.wd-head__en){ color:rgba(255,255,255,.72); }

/* 3. 소개 */
.wd-intro{ padding-bottom:110px; }
.wd-stats{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--wd-line); border-bottom:1px solid var(--wd-line); }
.wd-stats > div{ padding:34px 12px; text-align:center; border-left:1px solid var(--wd-line); }
.wd-stats > div:first-child{ border-left:0; }
.wd-stats dd{ font-size:15px; color:var(--wd-gold-d); }
.wd-stats dd b{ margin-right:2px; font-family:var(--wd-en); font-size:48px; font-weight:600; line-height:1; color:var(--wd-ink); }
.wd-stats dt{ margin-top:6px; font-size:14px; color:var(--wd-body); }

/* 4. 웨딩홀 */
.wd-halls{ background:var(--wd-ivory); }
.wd-hall{ display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:64px; align-items:center; }
.wd-hall + .wd-hall{ margin-top:100px; }
.wd-hall.is-rev{ grid-template-columns:minmax(0,5fr) minmax(0,7fr); }
.wd-hall.is-rev .wd-hall__pic{ order:2; }
.wd-hall__pic{ position:relative; display:block; aspect-ratio:4/3; overflow:hidden; }
.wd-hall__pic img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s ease; }
.wd-hall__pic:hover img{ transform:scale(1.05); }
.wd-hall__pic span{ position:absolute; left:0; bottom:0; padding:10px 20px; background:var(--wd-dark); color:var(--wd-gold-l); font-family:var(--wd-en); font-size:22px; letter-spacing:.1em; }
.wd-hall__en{ font-size:13.5px; letter-spacing:.08em; color:var(--wd-gold-d); }
.wd-hall h3{ margin-top:6px; font-family:var(--wd-serif); font-size:34px; font-weight:500; }
.wd-hall__desc{ margin-top:12px; color:var(--wd-body); }
.wd-hall__spec{ display:grid; grid-template-columns:1fr 1fr; margin:26px 0 28px; border-top:1px solid var(--wd-ink); }
.wd-hall__spec div{ padding:13px 4px; border-bottom:1px solid var(--wd-line); }
.wd-hall__spec dt{ font-size:13px; color:var(--wd-mut); }
.wd-hall__spec dd{ font-size:16.5px; font-weight:600; }

/* 5. 가격 */
.wd-price{ background:var(--wd-dark); color:#fff; }
.wd-price__tbl{ overflow-x:auto; margin-bottom:40px; }
.wd-price__tbl table{ width:100%; border-collapse:collapse; min-width:720px; font-size:15px; }
.wd-price__tbl th, .wd-price__tbl td{ padding:18px 16px; border-bottom:1px solid rgba(255,255,255,.14); text-align:center; }
.wd-price__tbl thead th{ border-top:1px solid var(--wd-gold-l); color:var(--wd-gold-l); font-size:13.5px; font-weight:500; letter-spacing:.04em; }
.wd-price__tbl tbody th{ text-align:left; font-family:var(--wd-serif); font-size:18px; font-weight:500; }
.wd-price__tbl tbody th small{ margin-left:8px; font-family:var(--wd-en); font-size:15px; color:var(--wd-gold-l); }
.wd-price__tbl tbody td{ font-weight:600; }
.wd-price__row{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:30px; }
.wd-calc{ padding:32px; background:#fff; color:var(--wd-ink); }
.wd-calc h3, .wd-price__side h3{ font-family:var(--wd-serif); font-size:22px; font-weight:500; margin-bottom:18px; }
.wd-calc__f{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.wd-calc__f label{ display:flex; flex-direction:column; gap:6px; font-size:13.5px; color:var(--wd-body); }
.wd-calc__f .is-wide{ grid-column:1 / -1; }
.wd-calc__f output{ font-weight:800; color:var(--wd-gold-d); }
.wd-calc__f select{ height:46px; padding:0 12px; border:1px solid var(--wd-line); background:#fff; font:inherit; font-size:15px; color:var(--wd-ink); }
.wd-calc__f input[type=range]{ width:100%; accent-color:var(--wd-gold); }
.wd-calc__res{ margin-top:20px; border-top:1px solid var(--wd-ink); }
.wd-calc__res div{ display:flex; justify-content:space-between; gap:10px; padding:12px 2px; border-bottom:1px solid var(--wd-line); }
.wd-calc__res dt small{ display:block; font-size:12.5px; color:var(--wd-mut); }
.wd-calc__res dd{ font-weight:700; }
.wd-calc__res .is-total dd{ font-family:var(--wd-en); font-size:30px; font-weight:600; color:var(--wd-gold-d); }
.wd-calc__note{ margin-top:12px !important; padding:10px 14px; background:#fbf3e6; font-size:13.5px; color:var(--wd-gold-d); }
.wd-price__side{ padding:32px; border:1px solid rgba(255,255,255,.18); }
.wd-incl{ display:grid; grid-template-columns:1fr 1fr; gap:10px 16px; }
.wd-incl li{ display:flex; align-items:center; gap:8px; font-size:14.5px; }
.wd-incl .wd-ico{ color:var(--wd-gold-l); }
.wd-price__note{ margin:22px 0 26px; padding-top:18px; border-top:1px solid rgba(255,255,255,.14); }
.wd-price__note li{ position:relative; padding-left:14px; font-size:13px; color:rgba(255,255,255,.62); line-height:1.8; }
.wd-price__note li::before{ content:"·"; position:absolute; left:2px; }

/* 6. 식사 */
.wd-dining__list{ display:grid; grid-template-columns:1fr 1fr; gap:34px; }
.wd-dish__pic{ aspect-ratio:4/3; overflow:hidden; }
.wd-dish__pic img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s; }
.wd-dish:hover img{ transform:scale(1.05); }
.wd-dish__body{ padding:26px 4px 0; }
.wd-dish__body h3{ font-family:var(--wd-serif); font-size:25px; font-weight:500; }
.wd-dish__body p{ margin-top:8px; color:var(--wd-body); }
.wd-dish__body b{ display:inline-block; margin-top:12px; font-size:14.5px; color:var(--wd-gold-d); letter-spacing:.03em; }

/* 7. 부대시설 */
.wd-fac{ background:var(--wd-ivory); }
.wd-fac__list{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.wd-fac__list li{ position:relative; aspect-ratio:3/4; overflow:hidden; color:#fff; }
.wd-fac__list img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s; }
.wd-fac__list li:hover img{ transform:scale(1.06); }
.wd-fac__list div{ position:absolute; left:0; right:0; bottom:0; padding:60px 24px 24px; background:linear-gradient(transparent, rgba(10,8,6,.8)); }
.wd-fac__list h3{ font-family:var(--wd-serif); font-size:22px; font-weight:500; }
.wd-fac__list p{ margin-top:4px; font-size:14px; color:rgba(255,255,255,.8); }

/* 8. 웨딩 스냅 */
.wd-snap{ padding-bottom:120px; }
.wd-snap__list{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; padding:0 4px; }
.wd-snap__list a{ position:relative; display:block; aspect-ratio:1; overflow:hidden; }
.wd-snap__list img{ width:100%; height:100%; object-fit:cover; transition:transform 1s, filter .5s; }
.wd-snap__list a:hover img{ transform:scale(1.06); filter:brightness(.7); }
.wd-snap__list span{ position:absolute; left:16px; right:16px; bottom:14px; color:#fff; font-size:14px; font-weight:600; opacity:0; transition:opacity .4s; }
.wd-snap__list a:hover span{ opacity:1; }

/* 9. 프로모션 */
.wd-event{ padding-top:0; }
.wd-event__list{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.wd-event__list a{ display:block; }
.wd-event__list img{ width:100%; aspect-ratio:3/2; object-fit:cover; }
.wd-event__list span{ display:flex; flex-direction:column; gap:4px; padding:16px 2px 0; }
.wd-event__list em{ font-style:normal; font-size:13px; color:var(--wd-gold-d); letter-spacing:.03em; }
.wd-event__list strong{ font-family:var(--wd-serif); font-size:19px; font-weight:500; }

/* 10. 상담 */
.wd-consult{ background:var(--wd-ivory); }
.wd-consult__in{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:60px; align-items:start; }
.wd-consult .wd-head{ margin-bottom:28px; }
.wd-faq details{ border-bottom:1px solid var(--wd-line); }
.wd-faq summary{ display:flex; justify-content:space-between; align-items:center; gap:14px; padding:18px 0; cursor:pointer; list-style:none; }
.wd-faq summary::-webkit-details-marker{ display:none; }
.wd-faq summary h3{ font-size:16.5px; font-weight:600; }
.wd-faq summary h3::before{ content:"Q."; margin-right:8px; font-family:var(--wd-en); font-size:19px; color:var(--wd-gold); }
.wd-faq summary .wd-ico{ transition:transform .3s; color:var(--wd-mut); }
.wd-faq details[open] summary .wd-ico{ transform:rotate(180deg); }
.wd-faq details p{ padding:0 0 20px 26px; font-size:15px; color:var(--wd-body); }
.wd-consult__tel{ display:flex; flex-wrap:wrap; align-items:center; gap:4px 10px; margin-top:28px; padding:20px 22px; background:var(--wd-dark); color:#fff; }
.wd-consult__tel b{ font-family:var(--wd-en); font-size:26px; letter-spacing:.06em; color:var(--wd-gold-l); }
.wd-consult__tel small{ width:100%; font-size:13px; color:rgba(255,255,255,.6); }
.wd-form{ display:grid; grid-template-columns:1fr 1fr; gap:16px; padding:38px 34px; background:#fff; box-shadow:0 30px 60px rgba(40,28,14,.08); }
.wd-form .is-wide{ grid-column:1 / -1; }
.wd-form__row{ display:flex; flex-direction:column; gap:7px; }
.wd-form__row > label, .wd-form__lb{ font-size:13.5px; font-weight:700; }
.wd-form b{ color:var(--wd-gold); }
.wd-form input[type=text], .wd-form input[type=tel], .wd-form input[type=date], .wd-form select, .wd-form textarea, .wd-form #captcha_key{ width:100%; height:48px; padding:0 14px; border:1px solid var(--wd-line); background:#fff; font:inherit; font-size:15px; color:var(--wd-ink); }
.wd-form textarea{ height:auto; padding:12px 14px; resize:vertical; }
.wd-form input:focus, .wd-form select:focus, .wd-form textarea:focus{ outline:2px solid rgba(156,122,74,.25); border-color:var(--wd-gold); }
.wd-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.wd-chips label{ position:relative; }
.wd-chips input{ position:absolute; opacity:0; }
.wd-chips span{ display:inline-block; padding:8px 16px; border:1px solid var(--wd-line); font-size:14px; cursor:pointer; transition:.2s; }
.wd-chips input:checked + span{ border-color:var(--wd-gold); background:var(--wd-gold); color:#fff; font-weight:700; }
.wd-chips input:focus-visible + span{ outline:2px solid var(--wd-gold); outline-offset:2px; }
.wd-form__captcha #captcha{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.wd-form__captcha #captcha legend{ position:absolute; left:-9999px; }
.wd-form__captcha #captcha_key{ width:140px; }
.wd-form__agree{ font-size:14px; }
.wd-form__agree a{ color:var(--wd-mut); text-decoration:underline; }
.wd-form__err{ padding:11px 14px; background:#fbeeea; color:#a0412b; font-size:14px; font-weight:700; }
.wd-form__done{ grid-column:1 / -1; display:flex; align-items:center; gap:8px; padding:14px 16px; background:#f2ede3; color:var(--wd-gold-d); font-weight:700; }
.wd-form__submit{ height:56px; font-size:16px; }
.wd-form__submit:disabled{ opacity:.6; }

/* 11. 오시는 길 */
.wd-visit{ padding:120px 0; }
.wd-visit__in{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:60px; align-items:center; }
.wd-visit__info h2{ margin:6px 0 14px; font-family:var(--wd-serif); font-size:34px; font-weight:500; }
.wd-visit__addr{ font-size:17px; font-weight:600; }
.wd-visit__way{ margin:22px 0 26px; border-top:1px solid var(--wd-ink); }
.wd-visit__way li{ display:flex; gap:14px; padding:14px 2px; border-bottom:1px solid var(--wd-line); font-size:15px; color:var(--wd-body); }
.wd-visit__way .wd-ico{ width:22px; height:22px; margin-top:3px; color:var(--wd-gold); }
.wd-visit__way b{ display:block; color:var(--wd-ink); }
.wd-visit__btns{ display:flex; flex-wrap:wrap; gap:8px; }
.wd-visit__pic{ position:relative; aspect-ratio:4/3; overflow:hidden; }
.wd-visit__pic img{ width:100%; height:100%; object-fit:cover; }
.wd-visit__pic span{ position:absolute; left:50%; top:46%; transform:translate(-50%,-100%); display:inline-flex; align-items:center; gap:6px; padding:10px 18px; background:var(--wd-dark); color:var(--wd-gold-l); font-weight:700; white-space:nowrap; }

/* 푸터 — 베이지 */
.wd-footer{ padding:60px 0 30px; background:var(--wd-sand) repeating-linear-gradient(45deg, rgba(156,122,74,.035) 0 2px, transparent 2px 14px); color:var(--wd-body); font-size:14px; }
.wd-footer .wd-logo{ align-items:flex-start; color:var(--wd-ink); }
.wd-footer .wd-logo small{ color:var(--wd-gold-d); }
.wd-footer__top{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:18px; padding-bottom:26px; border-bottom:1px solid rgba(27,23,20,.12); }
.wd-footer__menu{ display:flex; flex-wrap:wrap; gap:6px 26px; }
.wd-footer__menu a{ font-weight:600; color:var(--wd-ink); }
.wd-footer__menu a:hover{ color:var(--wd-gold-d); }
.wd-footer__mid{ display:grid; grid-template-columns:1.4fr 1fr; gap:30px; padding:26px 0; }
.wd-footer__co p{ margin:0 0 4px; line-height:1.8; }
.wd-footer__call p{ font-weight:700; color:var(--wd-ink); }
.wd-footer__call > a{ display:block; margin:2px 0; font-family:var(--wd-en); font-size:30px; font-weight:600; letter-spacing:.05em; color:var(--wd-gold-d); }
.wd-footer__call small{ display:block; margin-bottom:12px; }
.wd-footer__bottom{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; padding-top:20px; border-top:1px solid rgba(27,23,20,.12); font-size:12.5px; letter-spacing:.03em; }
.wd-footer__bottom ul{ display:flex; gap:16px; }
.wd-footer__bottom b{ color:var(--wd-ink); }

/* 빠른 메뉴 */
.wd-quick{ position:fixed; right:18px; top:50%; z-index:90; transform:translateY(-50%); display:flex; flex-direction:column; background:var(--wd-dark); box-shadow:0 18px 40px rgba(0,0,0,.28); }
.wd-quick a, .wd-quick button{ display:flex; flex-direction:column; align-items:center; gap:3px; width:72px; padding:12px 0; border:0; background:none; color:#fff; font-size:11.5px; }
.wd-quick .wd-ico{ width:22px; height:22px; color:var(--wd-gold-l); }
.wd-quick a:hover{ background:rgba(255,255,255,.08); }
.wd-quick__top{ border-top:1px solid rgba(255,255,255,.14) !important; }

/* 서브 */
.wd-sbanner{ position:relative; padding:90px 0 80px; background:#000; color:#fff; text-align:center; overflow:hidden; }
.wd-sbanner__bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.45; }
.wd-sbanner .wd-wrap{ position:relative; }
.wd-sbanner__en{ font-family:var(--wd-en); font-style:italic; font-size:20px; color:var(--wd-gold-l); }
.wd-sbanner h1{ margin-top:8px; font-family:var(--wd-serif); font-size:clamp(28px,3.6vw,42px); font-weight:500; }
.wd-stabs{ background:#fff; border-bottom:1px solid var(--wd-line); position:sticky; top:var(--wd-fixedh); z-index:50; }
.wd-stabs ul{ display:flex; justify-content:center; overflow-x:auto; scrollbar-width:none; }
.wd-stabs ul::-webkit-scrollbar{ display:none; }
.wd-stabs a{ display:block; padding:17px 22px; font-size:15px; color:var(--wd-body); white-space:nowrap; border-bottom:2px solid transparent; }
.wd-stabs a.is-on{ color:var(--wd-ink); font-weight:700; border-bottom-color:var(--wd-gold); }
.wd-sub{ padding:70px 0 120px; min-height:50vh; }
#ctt > header{ display:none; }
#ctt_con{ font-size:16px; color:var(--wd-body); }

/* 내용관리 본문 부품 (co_content 안에서 쓰는 클래스) */
.wdp h3{ margin:0 0 16px; font-family:var(--wd-serif); font-size:clamp(24px,2.6vw,32px); font-weight:500; line-height:1.45; color:var(--wd-ink); }
.wdp h3 em{ font-style:normal; color:var(--wd-gold-d); }
.wdp h4{ margin:0 0 8px; font-size:18px; font-weight:700; color:var(--wd-ink); }
.wdp p{ margin:0 0 14px; line-height:1.9; }
.wdp-en{ display:block; margin-bottom:6px !important; font-family:var(--wd-en); font-style:italic; font-size:22px; color:var(--wd-gold); }
.wdp-sec{ margin-top:80px; }
.wdp-sec:first-child{ margin-top:0; }
.wdp-lead{ max-width:760px; margin:0 auto; text-align:center; }
.wdp-lead p{ font-size:17px; }
.wdp-split{ display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:56px; align-items:center; }
.wdp-split.is-rev > :first-child{ order:2; }
.wdp-img{ width:100%; object-fit:cover; }
.wdp-gallery{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.wdp-gallery img{ width:100%; aspect-ratio:4/3; object-fit:cover; }
.wdp-spec{ width:100%; border-collapse:collapse; border-top:1px solid var(--wd-ink); font-size:15.5px; }
.wdp-spec th, .wdp-spec td{ padding:14px 16px; border-bottom:1px solid var(--wd-line); text-align:left; }
.wdp-spec th{ width:30%; background:var(--wd-ivory); color:var(--wd-ink); font-weight:600; }
.wdp-cards{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:0; padding:0; list-style:none; }
.wdp-cards li{ padding:28px 24px; background:var(--wd-ivory); }
.wdp-cards li b{ display:block; margin-bottom:6px; font-family:var(--wd-en); font-size:22px; color:var(--wd-gold); }
.wdp-cards li p{ margin:0; font-size:15px; }
.wdp-note{ margin-top:22px; padding:16px 20px; background:var(--wd-sand); font-size:14.5px; color:var(--wd-ink); }
.wdp-cta{ display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }
.wdp-cta a{ display:inline-flex; align-items:center; height:50px; padding:0 26px; background:var(--wd-gold); color:#fff !important; font-weight:600; text-decoration:none !important; }
.wdp-cta a + a{ background:none; border:1px solid var(--wd-ink); color:var(--wd-ink) !important; }

/* 반응형 */
@media (max-width:1100px){
  .wd-gnb > ul > li > a{ padding:13px 14px; }
  .wd-hall, .wd-hall.is-rev{ gap:40px; }
  .wd-price__row, .wd-consult__in{ grid-template-columns:minmax(0,1fr); }
}
@media (max-width:1024px){
  :root{ --wd-fixedh:64px; }
  .wd-gnb, .wd-header__tel span, .wd-header__cta{ display:none; }
  .wd-header__top{ height:64px; grid-template-columns:44px 1fr 44px; }
  .wd-header__tel{ justify-self:start; }
  .wd-logo{ grid-column:2; }
  .wd-burger{ display:block; grid-column:3; }
  .wd-hall, .wd-hall.is-rev{ grid-template-columns:minmax(0,1fr); }
  .wd-hall.is-rev .wd-hall__pic{ order:0; }
  .wd-snap__list{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .wd-visit__in, .wdp-split{ grid-template-columns:minmax(0,1fr); gap:34px; }
  .wdp-split.is-rev > :first-child{ order:0; }
  .wd-quick{ top:auto; bottom:0; left:0; right:0; transform:none; flex-direction:row; }
  .wd-quick a, .wd-quick button{ flex:1; width:auto; padding:9px 0; padding-bottom:calc(9px + env(safe-area-inset-bottom)); }
  .wd-quick__top{ border-top:0 !important; border-left:1px solid rgba(255,255,255,.14) !important; }
  body{ padding-bottom:62px; }
}
@media (max-width:640px){
  body{ font-size:15px; }
  .wd-wrap{ padding:0 16px; }
  .wd-logo strong{ font-size:22px; }
  .wd-demo span:nth-child(2){ display:none; }
  .wd-hero{ height:max(560px, 88vh); }
  .wd-hero__btns .wd-btn{ height:48px; padding:0 22px; }
  .wd-sec{ padding:84px 0; }
  .wd-head{ margin-bottom:38px; }
  .wd-notice__in{ flex-wrap:wrap; gap:4px 12px; padding:12px 16px; }
  .wd-notice__in time, .wd-notice__all{ display:none; }
  .wd-stats{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wd-stats > div:nth-child(3){ border-left:0; }
  .wd-stats > div:nth-child(n+3){ border-top:1px solid var(--wd-line); }
  .wd-stats dd b{ font-size:38px; }
  .wd-hall + .wd-hall{ margin-top:64px; }
  .wd-hall h3{ font-size:28px; }
  .wd-calc, .wd-price__side{ padding:24px 18px; }
  .wd-calc__f{ grid-template-columns:minmax(0,1fr); }
  .wd-incl{ grid-template-columns:minmax(0,1fr); }
  .wd-dining__list, .wd-fac__list, .wd-event__list, .wdp-cards{ grid-template-columns:minmax(0,1fr); }
  .wd-fac__list li{ aspect-ratio:4/3; }
  .wd-snap__list{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wd-form{ grid-template-columns:minmax(0,1fr); padding:26px 18px; }
  .wd-footer__mid{ grid-template-columns:minmax(0,1fr); }
  .wd-sbanner{ padding:60px 0 50px; }
  .wd-stabs ul{ justify-content:flex-start; }
  .wd-stabs a{ padding:14px 16px; font-size:14.5px; }
  .wd-sub{ padding:46px 0 80px; }
  .wdp-gallery{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wdp-spec th{ width:38%; }
}
