
:root{
  --bg:#FFFFFF;--surface:#FFFFFF;--surface2:#F3F4F6;--tint:#FAF7F7;
  --ink:#14161A;--ink2:#2C3038;--sub:#5C626D;--faint:#8A909B;
  --line:#E4E6EA;--line2:#EDEEF1;
  --accent:#E0384E;--accent2:#B3172C;--accent-soft:rgba(224,56,78,.09);--accent-line:rgba(224,56,78,.28);
  --warn:#B5542A;--warn-soft:rgba(181,84,42,.09);
  --r:14px;--r-sm:10px;--r-xs:8px;--pill:999px;
  --w:1080px;--wp:760px;
  --shadow:0 1px 2px rgba(16,18,22,.04),0 8px 24px -12px rgba(16,18,22,.12);
  --ff:'Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Noto Sans KR','Malgun Gothic',sans-serif;
}
:root:not([data-theme="light"]){color-scheme:light}
@media(prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:#0E1013;--surface:#16191E;--surface2:#1B1F25;--tint:#1C1719;
    --ink:#ECEEF1;--ink2:#D2D6DD;--sub:#99A0AB;--faint:#7B828E;
    --line:#272C34;--line2:#20242B;
    --accent:#FF5C70;--accent2:#FF8A99;--accent-soft:rgba(255,92,112,.13);--accent-line:rgba(255,92,112,.32);
    --warn:#E08A5C;--warn-soft:rgba(224,138,92,.12);
    --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 28px -14px rgba(0,0,0,.6);
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0E1013;--surface:#16191E;--surface2:#1B1F25;--tint:#1C1719;
  --ink:#ECEEF1;--ink2:#D2D6DD;--sub:#99A0AB;--faint:#7B828E;
  --line:#272C34;--line2:#20242B;
  --accent:#FF5C70;--accent2:#FF8A99;--accent-soft:rgba(255,92,112,.13);--accent-line:rgba(255,92,112,.32);
  --warn:#E08A5C;--warn-soft:rgba(224,138,92,.12);
  --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 28px -14px rgba(0,0,0,.6);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--ff);font-size:16.5px;line-height:1.75;
  word-break:keep-all;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased;letter-spacing:-.011em}
img{max-width:100%;display:block}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent2)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
::selection{background:var(--accent-soft);color:var(--ink)}

.col{max-width:var(--w);margin:0 auto;padding:0 24px}
.body{max-width:var(--wp);margin:0 auto;padding:0 24px;counter-reset:sec}
.wide{max-width:var(--w)}

h1,h2,h3{margin:0;line-height:1.28;font-weight:750;letter-spacing:-.031em;color:var(--ink)}
h1{font-size:clamp(30px,5.1vw,52px);line-height:1.16;letter-spacing:-.038em;text-wrap:balance}
h2{font-size:clamp(21px,2.8vw,29px);margin:46px 0 14px;text-wrap:balance}
h3{font-size:18.5px;margin:26px 0 8px;font-weight:700}
p{margin:0 0 15px}
ul,ol{padding-left:20px;margin:0 0 15px}
li{margin:5px 0}
strong,b{font-weight:700}

/* ── 헤더 ───────────────────────────────── */
.mast{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 82%,transparent);
  backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--line2)}
@supports not (backdrop-filter:blur(1px)){.mast{background:var(--bg)}}
.mast-in{display:flex;align-items:center;gap:20px;height:64px}
.logo{display:inline-flex;align-items:center;gap:9px;color:var(--ink);font-size:18px;font-weight:750;letter-spacing:-.03em;flex:none}
.logo:hover{color:var(--ink)}
.logo svg{width:26px;height:26px;flex:none}
.logo b{color:var(--accent);font-weight:750}
.nav{display:flex;align-items:center;gap:2px;margin-left:auto;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;
  background:var(--surface2);border:1px solid var(--line);border-radius:var(--pill);padding:4px}
.nav::-webkit-scrollbar{display:none}
.nav a{color:var(--sub);padding:7px 14px;font-size:14.5px;font-weight:600;white-space:nowrap;border-radius:var(--pill);letter-spacing:-.02em;
  transition:color .14s ease,background .14s ease,box-shadow .14s ease}
.nav a:hover{color:var(--ink2);background:rgba(20,22,26,.055)}
.nav a[aria-current]{color:var(--ink);background:var(--surface);box-shadow:0 1px 2px rgba(16,18,22,.10),0 0 0 1px rgba(16,18,22,.04)}
.logo svg .ac{fill:var(--accent)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .nav a:hover{background:rgba(255,255,255,.07)}
  :root:not([data-theme="light"]) .nav a[aria-current]{box-shadow:0 1px 2px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.06)}}
:root[data-theme="dark"] .nav a:hover{background:rgba(255,255,255,.07)}
:root[data-theme="dark"] .nav a[aria-current]{box-shadow:0 1px 2px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.06)}
.mast .cta{flex:none;padding:9px 17px;font-size:14px;margin-left:4px}
@media(max-width:860px){.mast .cta{display:none}}

/* ── 히어로 ─────────────────────────────── */
.hero{padding:64px 0 44px;border-bottom:1px solid var(--line2);background:
  radial-gradient(900px 300px at 86% -18%,var(--accent-soft),transparent 62%)}
.hero .col{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:52px}
.hero .col>*{grid-column:1;max-width:44rem}
.hero .col>.hero-img{grid-column:2;grid-row:1/-1;width:min(260px,25vw);max-width:none;height:auto;aspect-ratio:1;
  border-radius:var(--r);border:1px solid var(--line);box-shadow:var(--shadow);align-self:center}
.kicker{display:inline-block;justify-self:start;width:fit-content;color:var(--accent);font-size:13px;font-weight:700;letter-spacing:.02em;
  background:var(--accent-soft);border:1px solid var(--accent-line);padding:4px 11px;border-radius:var(--pill);margin-bottom:16px}
.hero .lead{font-size:clamp(16.5px,1.9vw,19px);color:var(--sub);margin-top:18px;line-height:1.72;max-width:40rem}
.crumb{font-size:13px;color:var(--faint);margin-bottom:14px;display:flex;flex-wrap:wrap;align-items:center}
.crumb a{color:var(--faint);font-weight:500}
.crumb a:hover{color:var(--ink)}
.crumb span{margin:0 7px;opacity:.55}
.meta{font-size:13px;color:var(--faint);margin-top:14px}

/* ── 버튼 ───────────────────────────────── */
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;
  border:1px solid var(--line);color:var(--ink);background:var(--surface);
  padding:12px 21px;border-radius:var(--pill);font-weight:700;font-size:15px;letter-spacing:-.02em;
  transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease}
.btn:hover{color:var(--ink);border-color:var(--faint);transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn.fill{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 6px 18px -8px var(--accent)}
.btn.fill:hover{background:var(--accent2);border-color:var(--accent2);color:#fff}
.btn.rust{border-color:var(--accent-line);color:var(--accent);background:var(--accent-soft)}
.btn.rust:hover{color:var(--accent2);border-color:var(--accent)}
/* 카카오톡 — 브랜드 색 그대로 써야 사람들이 바로 알아본다 */
.btn.kakao{background:#FEE500;border-color:#FEE500;color:#1A1600;box-shadow:0 6px 18px -10px rgba(254,229,0,.9)}
.btn.kakao:hover{background:#F5DC00;border-color:#F5DC00;color:#1A1600}
.btn .ki{width:17px;height:17px;flex:none;margin-right:-1px}
.btn.ghost{background:transparent;border-color:var(--line);color:var(--sub)}
.btn.ghost:hover{background:var(--surface2);color:var(--ink);border-color:var(--line)}

/* ── 섹션 ───────────────────────────────── */
.sec{padding:4px 0 12px;scroll-margin-top:84px}
.sec.num{counter-increment:sec}
.sec.num h2{display:flex;align-items:baseline;gap:12px}
.sec.num h2:before{content:counter(sec,decimal-leading-zero);color:var(--accent);font-size:13px;font-weight:700;
  letter-spacing:.06em;font-variant-numeric:tabular-nums;flex:none;
  border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:var(--pill);padding:3px 9px;
  position:relative;top:-.22em}

/* ── 목차 ───────────────────────────────── */
.toc{border:1px solid var(--line);background:var(--surface);padding:18px 22px;border-radius:var(--r);margin:28px 0;font-size:15px}
.toc b{display:block;margin-bottom:10px;font-size:13px;letter-spacing:.04em;color:var(--faint);font-weight:700;text-transform:uppercase}
.toc a{display:block;padding:5px 0;color:var(--ink2);font-weight:500;border-bottom:1px solid var(--line2)}
.toc a:last-child{border-bottom:0}
.toc a:hover{color:var(--accent)}
.toc a:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent);
  margin-right:10px;vertical-align:middle;opacity:.55}

/* ── 표 ─────────────────────────────────── */
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);margin:16px 0 24px;background:var(--surface)}
.tbl{width:100%;border-collapse:collapse;font-size:15px;font-variant-numeric:tabular-nums;min-width:420px}
.tbl th,.tbl td{padding:13px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line2)}
.tbl th{background:var(--surface2);font-weight:700;font-size:13.5px;color:var(--sub);letter-spacing:.01em;white-space:nowrap}
.tbl tr:last-child td{border-bottom:0}
.tbl tbody tr:hover{background:var(--surface2)}

/* ── 강조 박스 ──────────────────────────── */
.note,.caution{border-radius:var(--r);padding:15px 19px;margin:20px 0;font-size:15.5px;border:1px solid var(--line);background:var(--surface)}
.note{border-left:3px solid var(--accent)}
.caution{border-left:3px solid var(--warn);background:var(--warn-soft)}
.pit{border:1px solid var(--line);background:var(--surface);padding:17px 19px;border-radius:var(--r);margin-bottom:12px}
.pit b{display:block;color:var(--warn);margin-bottom:6px;font-size:15px}
.takeaways{background:var(--surface2);border:1px solid var(--line);border-radius:var(--r);padding:18px 22px;margin:30px 0}
.takeaways b{display:block;margin-bottom:8px;font-size:13px;letter-spacing:.04em;color:var(--faint);text-transform:uppercase}

/* ── FAQ ────────────────────────────────── */
.faq details{border:1px solid var(--line);background:var(--surface);border-radius:var(--r);padding:0;margin-bottom:10px;overflow:hidden}
.faq details[open]{border-color:var(--accent-line)}
.faq summary{cursor:pointer;font-weight:700;list-style:none;padding:16px 52px 16px 20px;position:relative;font-size:16px;letter-spacing:-.02em}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--accent)}
.faq summary:after{content:"";position:absolute;right:22px;top:50%;width:9px;height:9px;
  border-right:2px solid var(--faint);border-bottom:2px solid var(--faint);
  transform:translateY(-70%) rotate(45deg);transition:transform .18s ease}
.faq details[open] summary:after{transform:translateY(-30%) rotate(-135deg);border-color:var(--accent)}
.faq details p{margin:0;padding:0 20px 18px;color:var(--sub);font-size:15.5px}

/* ── 카드·칩·목록 ───────────────────────── */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(252px,1fr));gap:14px;margin:18px 0}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;
  transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}
.card:hover{border-color:var(--accent-line);transform:translateY(-2px);box-shadow:var(--shadow)}
.card h3{margin:0 0 7px;font-size:17px}
.card p{margin:0;color:var(--sub);font-size:14.8px;line-height:1.65}
.card a.t{color:var(--ink)}
.card:hover a.t{color:var(--accent)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.chips a{border:1px solid var(--line);background:var(--surface);padding:8px 15px;border-radius:var(--pill);
  font-size:14.5px;color:var(--ink2);font-weight:500;transition:all .14s ease}
.chips a:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
.list{columns:2;column-gap:26px;font-size:15px;list-style:none;padding:0;margin:16px 0}
.list li{break-inside:avoid;padding:7px 0;border-bottom:1px solid var(--line2)}
.list a{color:var(--ink2);font-weight:500}
.list a:hover{color:var(--accent)}

/* ── 요금제 ─────────────────────────────── */
.plan{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px}
.plan .p{font-size:27px;font-weight:780;color:var(--ink);letter-spacing:-.035em;font-variant-numeric:tabular-nums}

/* ── 폼 ─────────────────────────────────── */
form label{display:block;margin-bottom:16px;font-size:14px;font-weight:700;color:var(--ink2)}
form input,form select,form textarea{width:100%;border:1px solid var(--line);border-radius:var(--r-sm);padding:13px 14px;
  font-size:16px;font-family:inherit;margin-top:7px;background:var(--surface);color:var(--ink);transition:border-color .14s ease,box-shadow .14s ease}
form input:focus,form select:focus,form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
form textarea{min-height:130px;resize:vertical}
form button{cursor:pointer}

/* ── 푸터 ───────────────────────────────── */
.related{border-top:1px solid var(--line);margin-top:44px;padding-top:28px}
.foot{border-top:1px solid var(--line);margin-top:72px;padding:44px 0 52px;font-size:14.5px;color:var(--sub);background:var(--surface2)}
.foot-top{margin-bottom:28px}
.foot-top .logo{margin-bottom:10px}
.foot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:28px}
.foot b{display:block;color:var(--ink);margin-bottom:10px;font-size:13px;letter-spacing:.04em;text-transform:uppercase}
.foot-grid a{display:block;color:var(--sub);padding:4px 0;font-weight:500}
.foot-grid a:hover{color:var(--accent)}
.biz{border-top:1px solid var(--line);padding-top:18px;font-size:13px;color:var(--faint)}
.muted{color:var(--sub)}
.small{font-size:12.5px;color:var(--faint)}

/* ── 반응형 ─────────────────────────────── */
@media(max-width:860px){
  .hero{padding:40px 0 32px}
  .hero .col{grid-template-columns:1fr;row-gap:22px}
  .hero .col>*{max-width:none}
  .hero .col>.hero-img{grid-column:1;grid-row:auto;order:-1;width:136px;justify-self:start}
  .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  body{font-size:16px}
  .col,.body{padding:0 18px}
  .cards{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .list{columns:1}
  .nav{padding:3px}
  .nav a{font-size:13.5px;padding:6px 11px}
  .mast-in{gap:10px}
  .actions .btn{flex:1 1 auto}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important;animation:none!important}
  .card:hover,.btn:hover{transform:none}
}
/* 방문예약 (build/booking-ui.js 와 짝) — 2026-09-14 */
.rtoast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:var(--bg);
  padding:12px 20px;border-radius:var(--pill);font-size:14px;font-weight:700;z-index:130;box-shadow:var(--shadow)}
.rfb{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}
.rfb .fbmsg{margin:0 0 12px;font-size:13.5px}
.rfb img{width:100%;height:auto;border-radius:var(--r-xs);border:1px solid var(--line)}
.sidobox{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);margin-bottom:9px;overflow:hidden}
.sidobox>summary{list-style:none;cursor:pointer;padding:14px 16px;font-weight:700;font-size:15px;display:flex;justify-content:space-between;align-items:center}
.sidobox>summary::-webkit-details-marker{display:none}
.sidobox>summary::after{content:'+';color:var(--sub);font-weight:600}
.sidobox[open]>summary::after{content:'2'}
.sidobox>summary .cnt{font-weight:600;font-size:13px;color:var(--sub)}
.stgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;padding:0 14px 14px}
.stcard{border:1px solid var(--line2);border-radius:var(--r-xs);padding:14px;background:var(--tint)}
.stcard .nm{font-weight:700;font-size:14.5px;margin-bottom:3px}
.stcard .loc{font-size:12.5px;color:var(--sub);line-height:1.55}
.stcard .loc a{color:var(--sub)}
.stcard .rsvopen{margin-top:11px;width:100%;justify-content:center;display:flex}
@media print{.mast,.foot,.actions,.chips{display:none}body{background:#fff;color:#000}}

.stor,.netr,.planr,.ktack{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
.rsvm{display:none;position:fixed;inset:0;z-index:100;align-items:center;justify-content:center}
.rsvform:has(.stor:checked:not(#st-none)) .rsvm{display:flex}
.rsvm .bg{position:absolute;inset:0;background:rgba(20,20,20,.55)}
.rbox{position:relative;background:#fff;color:#14161A;border-radius:20px;padding:28px 24px 24px;max-height:88vh;overflow-y:auto;
  text-align:left;width:min(94vw,470px);box-shadow:0 24px 60px rgba(0,0,0,.28);animation:rsvup .26s ease both}
@keyframes rsvup{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.rbox h3{text-align:center;font-size:21px;font-weight:800;margin:0}
.snm{display:none;font-weight:800}
#st-1:checked~.rsvm .s1{display:inline}#st-2:checked~.rsvm .s2{display:inline}#st-3:checked~.rsvm .s3{display:inline}#st-4:checked~.rsvm .s4{display:inline}#st-5:checked~.rsvm .s5{display:inline}#st-6:checked~.rsvm .s6{display:inline}#st-7:checked~.rsvm .s7{display:inline}#st-8:checked~.rsvm .s8{display:inline}#st-9:checked~.rsvm .s9{display:inline}#st-10:checked~.rsvm .s10{display:inline}#st-11:checked~.rsvm .s11{display:inline}#st-12:checked~.rsvm .s12{display:inline}#st-13:checked~.rsvm .s13{display:inline}#st-14:checked~.rsvm .s14{display:inline}#st-15:checked~.rsvm .s15{display:inline}#st-16:checked~.rsvm .s16{display:inline}#st-17:checked~.rsvm .s17{display:inline}#st-18:checked~.rsvm .s18{display:inline}#st-19:checked~.rsvm .s19{display:inline}#st-20:checked~.rsvm .s20{display:inline}#st-21:checked~.rsvm .s21{display:inline}#st-22:checked~.rsvm .s22{display:inline}#st-23:checked~.rsvm .s23{display:inline}#st-24:checked~.rsvm .s24{display:inline}#st-25:checked~.rsvm .s25{display:inline}#st-26:checked~.rsvm .s26{display:inline}#st-27:checked~.rsvm .s27{display:inline}#st-28:checked~.rsvm .s28{display:inline}#st-29:checked~.rsvm .s29{display:inline}#st-30:checked~.rsvm .s30{display:inline}#st-31:checked~.rsvm .s31{display:inline}#st-32:checked~.rsvm .s32{display:inline}#st-33:checked~.rsvm .s33{display:inline}#st-34:checked~.rsvm .s34{display:inline}#st-35:checked~.rsvm .s35{display:inline}#st-36:checked~.rsvm .s36{display:inline}#st-37:checked~.rsvm .s37{display:inline}#st-38:checked~.rsvm .s38{display:inline}#st-39:checked~.rsvm .s39{display:inline}#st-40:checked~.rsvm .s40{display:inline}#st-41:checked~.rsvm .s41{display:inline}#st-42:checked~.rsvm .s42{display:inline}#st-43:checked~.rsvm .s43{display:inline}#st-44:checked~.rsvm .s44{display:inline}#st-45:checked~.rsvm .s45{display:inline}#st-46:checked~.rsvm .s46{display:inline}#st-47:checked~.rsvm .s47{display:inline}#st-48:checked~.rsvm .s48{display:inline}#st-49:checked~.rsvm .s49{display:inline}#st-50:checked~.rsvm .s50{display:inline}#st-51:checked~.rsvm .s51{display:inline}#st-52:checked~.rsvm .s52{display:inline}#st-53:checked~.rsvm .s53{display:inline}#st-54:checked~.rsvm .s54{display:inline}#st-55:checked~.rsvm .s55{display:inline}#st-56:checked~.rsvm .s56{display:inline}#st-57:checked~.rsvm .s57{display:inline}#st-58:checked~.rsvm .s58{display:inline}#st-59:checked~.rsvm .s59{display:inline}#st-60:checked~.rsvm .s60{display:inline}#st-61:checked~.rsvm .s61{display:inline}#st-62:checked~.rsvm .s62{display:inline}#st-63:checked~.rsvm .s63{display:inline}#st-64:checked~.rsvm .s64{display:inline}#st-65:checked~.rsvm .s65{display:inline}#st-66:checked~.rsvm .s66{display:inline}#st-67:checked~.rsvm .s67{display:inline}#st-68:checked~.rsvm .s68{display:inline}#st-69:checked~.rsvm .s69{display:inline}#st-70:checked~.rsvm .s70{display:inline}#st-71:checked~.rsvm .s71{display:inline}#st-72:checked~.rsvm .s72{display:inline}#st-73:checked~.rsvm .s73{display:inline}#st-74:checked~.rsvm .s74{display:inline}#st-75:checked~.rsvm .s75{display:inline}#st-76:checked~.rsvm .s76{display:inline}#st-77:checked~.rsvm .s77{display:inline}#st-78:checked~.rsvm .s78{display:inline}#st-79:checked~.rsvm .s79{display:inline}#st-80:checked~.rsvm .s80{display:inline}#st-81:checked~.rsvm .s81{display:inline}
.picked{text-align:center;background:#FDEEF1;color:#B3172C;border-radius:10px;padding:9px 12px;font-size:13.5px;font-weight:700;margin-top:10px}
.picked span:last-child{margin-left:4px;font-weight:600}
.fl{display:block;font-size:13px;font-weight:700;margin:16px 0 6px}
.fl .opt{color:#5C626D;font-weight:600;font-size:12px}
.rbox input[type=text],.rbox input[type=tel],.rbox input[type=date],.rbox select{width:100%;border:1.5px solid #E4E6EA;
  border-radius:10px;padding:11px 12px;font-size:16px;font-family:inherit;background:#fff;color:#14161A}
.rbox input:focus,.rbox select:focus{outline:none;border-color:#E0384E}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fhint{font-size:11.5px;color:#5C626D;margin-top:7px;line-height:1.6}
.btnrow{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.nbtn{border:1.5px solid #E4E6EA;border-radius:12px;padding:13px 0;text-align:center;font-weight:800;font-size:14.5px;cursor:pointer;background:#fff;transition:.15s}
.nbtn:hover{border-color:#bbb}
#nk:checked+.nbtn{background:#3D6BFF;border-color:#3D6BFF;color:#fff}
#nl:checked+.nbtn{background:#E0384E;border-color:#E0384E;color:#fff}
.pgridr{display:grid;gap:8px}
.pbtn{border:1.5px solid #E4E6EA;border-radius:12px;padding:12px 14px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff;transition:.15s}
.pbtn b{font-size:14px;font-weight:800;display:block}
.pbtn small{display:block;font-size:11.5px;color:#5C626D;margin-top:3px;line-height:1.5}
.pbtn i{font-style:normal;flex:none;font-size:13px;font-weight:800;color:#E0384E}
.pbtn.later i{color:#5C626D;font-weight:600}
.pbtn:hover{border-color:#bbb}
.planr:checked+.pbtn{border-color:#E0384E;background:#FDEEF1;box-shadow:0 0 0 3px #E0384E22}
.pickfirst{font-size:12.5px;color:#5C626D;margin-bottom:8px}
.rsvform:has(.netr:checked) .pickfirst{display:none}
.rsvform:not(:has(.netr:checked)) .p-K,.rsvform:not(:has(.netr:checked)) .p-L{display:none}
.rsvform:has(#nk:checked) .p-L,.rsvform:has(#nl:checked) .p-K{display:none}
/* border 를 지우지 않는다 — 외곽선형 버튼의 테두리까지 사라져 맨 글자처럼 보였다(2026-09-15) */
.rsub{width:100%;justify-content:center;margin-top:18px;cursor:pointer;font-family:inherit;display:flex;text-align:center}
.rbox .x{display:block;text-align:center;margin-top:14px;color:#5C626D;font-size:13px;font-weight:600;cursor:pointer}
.ktwarn{display:none;position:fixed;inset:0;z-index:120;align-items:center;justify-content:center;background:rgba(20,20,20,.6)}
.rsvform:has(#nk:checked):not(:has(.ktack:checked)) .ktwarn{display:flex}
.kbox{background:#fff;color:#14161A;border-radius:20px;padding:28px 24px;width:min(90vw,360px);text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.3);animation:rsvup .25s ease both}
.kic{font-size:38px}
.kbox h4{font-size:19px;font-weight:800;margin:8px 0 0}
.kbox p{font-size:13.5px;color:#555;line-height:1.7;margin-top:10px}
.kbox p b{color:#E0384E}
.kok{width:100%;justify-content:center;margin-top:18px;cursor:pointer;display:flex}
.klink{display:block;margin-top:12px;font-size:13px;font-weight:700;color:#3D6BFF;cursor:pointer;text-decoration:underline}
.rsvopen{cursor:pointer}
/* 예약증 */
.receipt{border:1px solid #E4E6EA;border-radius:16px;overflow:hidden}
.rhead{background:#E0384E;color:#fff;padding:20px 22px 18px}
.rtag{display:inline-block;color:#FDEEF1;font-size:11.5px;font-weight:800;letter-spacing:.12em;margin-bottom:7px}
.rhead h2{margin:0;font-size:22px;color:#fff;letter-spacing:-.03em}
.rhead p{margin:7px 0 0;font-size:13px;color:rgba(255,255,255,.75)}
.rno-box{padding:16px 22px 12px;border-bottom:1px solid #E4E6EA}
.rno-box span{display:block;font-size:12px;color:#5C626D;font-weight:700;margin-bottom:4px}
.rno-box b{font-size:22px;color:#E0384E;font-variant-numeric:tabular-nums}
.rrow{display:flex;gap:12px;padding:12px 22px;border-bottom:1px solid #E4E6EA;font-size:14.5px}
.rrow span{flex:0 0 86px;color:#5C626D;font-weight:600}
.rrow b{flex:1;color:#14161A;font-weight:700;word-break:keep-all}
.rprep{margin:14px 22px;padding:14px 16px;background:#FDEEF1;border-radius:12px}
.rprep b{display:block;color:#B3172C;font-size:14px;margin-bottom:7px}
.rprep ul{margin:0;padding-left:17px;font-size:13.5px;color:#14161A}
.rfoot{margin:0;padding:0 22px 18px;font-size:12px;color:#5C626D}
.ract{display:grid;gap:9px;margin-top:16px}
.rnote{margin:11px 2px 0;font-size:12.5px;color:#5C626D;line-height:1.6}
.rfb{margin-top:16px}
.rfb .fbmsg{margin:0 0 10px;font-size:13.5px}
.rfb img{width:100%;height:auto;border-radius:10px;border:1px solid #E4E6EA}
/* 개인정보 동의 블록 */
.consent{margin-top:18px;padding:12px 14px;border:1.5px solid #E4E6EA;border-radius:12px;background:#fff;color:#14161A}
.consent-row{display:flex;align-items:flex-start;gap:9px;font-size:14px;font-weight:700;cursor:pointer;color:#14161A}
.consent-row input{width:18px;height:18px;margin:1px 0 0;flex:none;accent-color:#E0384E}
.consent-row b{color:#E0384E}
.consent-list{margin:9px 0 0;padding:0 0 0 2px;list-style:none;font-size:12px;line-height:1.65;color:#5C626D}
.consent-list li{margin:2px 0}
.consent-list b{color:#14161A;font-weight:700;margin-right:4px}
.consent-list a{color:#E0384E;text-decoration:underline}
.consent-list .opt{color:#5C626D}
/* 저장 팝업 — 예약증 모달(z-index 100)·KT 경고(120)·토스트(130) 위에 온다 */
.savepop{position:fixed;inset:0;z-index:140;display:flex;align-items:center;justify-content:center}
.savepop[hidden]{display:none}
.spbg{position:absolute;inset:0;background:rgba(15,18,22,.66)}
.spbox{position:relative;background:#fff;color:#14161A;border-radius:20px;padding:24px 20px 20px;
  width:min(92vw,400px);max-height:90vh;overflow-y:auto;text-align:center;
  box-shadow:0 26px 70px rgba(0,0,0,.34);animation:rsvup .24s ease both}
.spok{font-size:19px;font-weight:800;color:#B3172C}
.spno{margin-top:6px;font-size:13.5px;color:#5C626D}
.spno b{color:#E0384E;font-variant-numeric:tabular-nums;font-size:15px}
.spguide{margin:12px 0 14px;font-size:13.5px;color:#5C626D;line-height:1.6}
.spimg{display:block;width:100%;height:auto;border:1px solid #E4E6EA;border-radius:12px;background:#fff}
.spmsg{margin:12px 0 0;font-size:13px;font-weight:700;color:#B3172C}
.sprow{width:100%;justify-content:center;margin-top:12px;cursor:pointer;font-family:inherit;display:flex;text-align:center}
.spclose{display:block;width:100%;margin-top:14px;padding:6px;background:none;border:0;
  color:#5C626D;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}
/* 예약 확인 페이지 */
.lookup{display:grid;gap:10px;max-width:420px}
.lookup input{width:100%;border:1.5px solid #E4E6EA;border-radius:10px;padding:12px;font-size:16px;font-family:inherit;background:#fff;color:#14161A}
.lookup input:focus{outline:none;border-color:#E0384E}
.lkmsg{margin-top:14px;padding:14px 16px;border-radius:12px;background:#FDEEF1;color:#B3172C;font-size:14px;line-height:1.7}
.lkwrap{margin-top:22px;max-width:470px}
@media(max-width:560px){.frow{grid-template-columns:1fr}}

/* ★ 이 사이트만 다크모드를 지원한다. 예약창 카드는 두 테마 모두 흰 종이로 두는데,
   테마의 다크 규칙(label·h3 등이 밝은 회색)이 흰 카드 위에 그대로 얹혀 글자가 안 보였다(2026-09-14 라이브에서 확인).
   카드 안쪽 글자색은 여기서 못박는다. */
.rbox h3,.rbox .fl,.rbox label,.nbtn,.pbtn,.pbtn b,.kbox h4,.rfb .fbmsg{color:#14161A}
.rbox .fl .opt,.pbtn small,.fhint,.pickfirst,.rbox .x{color:#5C626D}
.rbox .picked,.rbox .picked .snm{color:#B3172C}
#nk:checked+.nbtn,#nl:checked+.nbtn{color:#fff}
.kbox p{color:#3A3F48}
/* 마지막 점검 표시 (build/pagedates.js) */
.lastchk{margin:24px auto 4px;padding:14px 16px 12px;border:1px dashed #D9DDE3;border-radius:12px;font-size:13.5px;color:#3A3F48;background:#fff}
.lastchk-t{margin:0 0 6px;line-height:1.6;word-break:keep-all}
.lastchk-d{margin:0;font-size:12px;color:#6B7280}.lastchk-d time{font-variant-numeric:tabular-nums;color:#B3172C;font-weight:700}
