/* One compact language disclosure, shared by desktop and mobile. */
:root{--header:90px}
.header{padding-block:12px;gap:20px}
.header nav{order:2;min-width:0;gap:clamp(14px,1.4vw,24px)}
.header-location{order:1}
.menu-toggle{order:4}
.language-switcher{position:relative;order:3;flex:none;align-self:center}
.language-trigger{display:flex;align-items:center;justify-content:center;gap:7px;min-width:72px;min-height:44px;padding:8px;border:1px solid transparent;border-radius:6px;list-style:none;cursor:pointer;color:var(--ink)}
.language-trigger::-webkit-details-marker{display:none}
.language-trigger:hover,.language-switcher[open]>.language-trigger{background:var(--surface);border-color:var(--line)}
.language-globe{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.35}
.language-code{font:500 11px/1 var(--sans);letter-spacing:.04em}
.language-chevron{width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin:0 2px 3px 1px}
.language-switcher[open] .language-chevron{transform:rotate(225deg);margin-block:3px 0}
.language-options{position:absolute;right:0;top:calc(100% + 8px);width:164px;max-width:calc(100vw - 32px);padding:7px;border:1px solid var(--line);border-radius:10px;background:var(--paper);box-shadow:0 10px 30px #493c3121;z-index:40}
.language-options a{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:42px;padding:9px 12px;border-radius:5px;font:400 12px/1.5 var(--sans);white-space:nowrap;color:var(--muted)}
.language-options a[aria-current=true]{color:var(--ink);background:#f5f1eb;font-weight:600}
.language-options a[aria-current=true]:after{content:'✓';font-size:13px}
.language-options a:hover{background:var(--surface);color:var(--ink)}
.currency-note{font-size:12px;color:var(--muted);margin:0 0 15px}
.korean-address{margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-left:2px solid var(--gold);background:var(--surface);border-radius:3px}
.korean-address-label{display:block;font-size:11px;line-height:1.6;color:var(--muted);margin-bottom:5px}
.korean-address .korean-address-text{font-family:'Noto Sans KR','Malgun Gothic',sans-serif;font-size:16px;font-weight:500;line-height:1.8;letter-spacing:0;word-break:keep-all;overflow-wrap:anywhere;color:var(--ink)}
.notice-popup-title{font-size:16px;line-height:1.5;padding:14px 18px;border-bottom:1px solid var(--line)}
html:not([lang=ko]) body{word-break:normal;overflow-wrap:anywhere}
html:not([lang=ko]) :is(h1,h2,h3,h4){letter-spacing:-.015em}
html:not([lang=ko]) .header nav{gap:18px;font-size:11px}
html:not([lang=ko]) .menu-item-title{align-items:flex-start}
html:not([lang=ko]) .menu-item h4{min-width:0}
html:not([lang=ko]) .menu-time{flex-shrink:0;padding-top:5px}
html:not([lang=ko]) .menu-prices{flex-wrap:wrap;row-gap:8px}
html:not([lang=ko]) .special-title{align-items:flex-start}
html:not([lang=ko]) .special-title small{flex-shrink:0}
html:not([lang=ko]) .hero h1{font-size:clamp(30px,3vw,46px);letter-spacing:-.025em}
html:not([lang=ko]) .offer-price small{display:inline-block}
html:not([lang=ko]) .visit-info dl>div{grid-template-columns:100px minmax(0,1fr)}
html:not([lang=ko]) .header-location{white-space:nowrap}
html[lang=en]{--sans:Arial,'Helvetica Neue',sans-serif;--serif:Georgia,serif}
html[lang=ja]{--sans:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;--serif:'Yu Mincho','Hiragino Mincho ProN',serif}
html[lang=zh-Hans]{--sans:'PingFang SC','Microsoft YaHei',sans-serif;--serif:'Songti SC',SimSun,serif}
@media(min-width:721px) and (max-width:1400px){
  html:not([lang=ko]) .header-location{display:none}
}
@media(min-width:721px) and (max-width:900px){
  .header{gap:14px}
  .header nav{gap:13px;font-size:10px}
  .language-trigger{min-width:62px;padding-inline:5px}
  html:not([lang=ko]) .header nav{gap:13px;font-size:10px}
  html:not([lang=ko]) .nav-book{padding-inline:10px}
}
@media(max-width:720px){
  :root{--header:78px}
  .header{padding:10px 16px;gap:6px}
  .brand{width:64px}
  .header-location{min-width:0;flex:1;margin-right:0;line-height:1.25}
  html:not([lang=ko]) .header-location{font-size:14px;white-space:normal;max-width:150px}
  .menu-toggle{flex-shrink:0;gap:8px;padding-left:6px}
  .language-trigger{min-width:44px;min-height:44px;padding:6px;gap:3px}
  .language-globe{width:14px;height:14px}
  .language-code{font-size:10px}
  .language-chevron{display:none}
  .header nav{top:86px}
  .menu-floating .menu-toggle{width:108px;justify-content:center;gap:10px;padding-inline:12px}
  .menu-floating .language-switcher{position:fixed;right:132px;top:max(14px,env(safe-area-inset-top));z-index:31;border:1px solid var(--line);border-radius:999px;background:var(--paper);box-shadow:0 4px 20px #493c3126}
  .menu-floating .language-trigger{min-width:56px;min-height:46px;border-radius:999px}
  .menu-floating .header nav{top:max(74px,calc(env(safe-area-inset-top) + 60px))}
  html:not([lang=ko]) .header nav{gap:4px;font-size:14px}
  html:not([lang=ko]) .hero h1{font-size:clamp(28px,7vw,36px);line-height:1.5}
  html:not([lang=ko]) .page-programs .menu-tabs strong{font-size:12px}
  html:not([lang=ko]) .page-programs .menu-tabs button{min-width:0}
  html:not([lang=ko]) .menu-category{grid-template-columns:minmax(0,1fr);gap:0}
  html:not([lang=ko]) .menu-category .text-link{justify-self:start;font-size:11px;margin-top:4px}
  html:not([lang=ko]) .menu-item h4{font-size:18px;line-height:1.5}
  html:not([lang=ko]) .menu-prices{justify-content:space-between;gap:12px}
  html:not([lang=ko]) .menu-prices>div{display:block}
  html:not([lang=ko]) .menu-prices dd{font-size:16px}
  html:not([lang=ko]) .visit-info dl>div{grid-template-columns:76px minmax(0,1fr);gap:10px}
  html:not([lang=ko]) .event-facts>div{grid-template-columns:75px minmax(0,1fr)}
}
@media(max-width:360px){
  .header-location,html:not([lang=ko]) .header-location{display:none}
  .language-switcher{margin-left:auto}
  html:not([lang=ko]) .menu-prices dd{font-size:14px}
  html[lang=en] .page-programs .menu-tabs strong{font-size:11px}
}
