/* ============================================
   HEADER / NAV / EDIT MODE
   ============================================ */
.nav-bar{position:fixed;top:0;left:0;width:100%;z-index:100;padding:2rem 4rem;display:flex;justify-content:space-between;align-items:center;transition:all .8s ease;color:#fff}
.nav-bar.scrolled{background:rgba(250,248,245,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:1.2rem 4rem;color:var(--text-primary)}
.time-night .nav-bar.scrolled{background:rgba(35,32,28,.85);color:#E8E4DD}
.nav-bar.menu-open{color:var(--text-primary)}
.time-night .nav-bar.menu-open{color:#E8E4DD}
.nav-brand{font-family:var(--f-display);font-weight:200;font-size:1.3rem;letter-spacing:.2em;text-transform:uppercase;color:currentColor;text-shadow:0 1px 6px rgba(0,0,0,.25);transition:color .8s ease,text-shadow .8s ease}
.nav-bar.scrolled .nav-brand{text-shadow:none}
.nav-bar.menu-open .nav-brand{text-shadow:none}
.nav-brand span{font-weight:300;opacity:.4}
.nav-links{display:flex;align-items:center;gap:0;list-style:none;margin:0;padding:0}
.nav-links li{list-style:none}
.nav-link,.nav-links li a{font-family:var(--f-display);font-weight:300;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:currentColor;text-decoration:none;margin-left:3rem;position:relative;transition:opacity .4s ease,color .8s ease;display:inline-block;text-shadow:0 1px 6px rgba(0,0,0,.25)}
.nav-bar.scrolled .nav-link,.nav-bar.scrolled .nav-links li a{text-shadow:none}
.nav-link::after,.nav-links li a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:currentColor;transition:width .4s ease}
.nav-link:hover::after,.nav-links li a:hover::after{width:100%}
.nav-links .menu-item{display:inline-block}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;width:26px;height:18px;position:relative;z-index:1001;color:currentColor}
.menu-toggle span{display:block;width:100%;height:1px;background:currentColor;transition:all .35s ease;position:absolute;left:0}
.menu-toggle span:nth-child(1){top:0}
.menu-toggle span:nth-child(2){top:50%}
.menu-toggle span:nth-child(3){bottom:0}
.menu-toggle.active span:nth-child(1){transform:rotate(45deg);top:50%}
.menu-toggle.active span:nth-child(2){opacity:0}
.menu-toggle.active span:nth-child(3){transform:rotate(-45deg);bottom:auto;top:50%}
.mobile-menu-open{overflow:hidden}

/* ---- Language Switcher ---- */
.ksd-lang-switcher{position:relative;margin-left:1.5rem;z-index:101}
.ksd-lang-switcher__toggle{display:inline-flex;align-items:center;gap:5px;background:rgba(255,255,255,.12);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:5px 10px;font-family:var(--f-display);font-size:.7rem;font-weight:400;letter-spacing:.1em;color:currentColor;cursor:pointer;transition:all .3s ease;white-space:nowrap}
.ksd-lang-switcher[data-current-lang]:not([data-current-lang="zh"]) .ksd-lang-switcher__toggle{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.3);box-shadow:0 10px 24px rgba(0,0,0,.08)}
.nav-bar.scrolled .ksd-lang-switcher__toggle{background:rgba(58,58,58,.06);border-color:rgba(58,58,58,.12)}
.nav-bar.scrolled .ksd-lang-switcher[data-current-lang]:not([data-current-lang="zh"]) .ksd-lang-switcher__toggle{background:rgba(201,149,107,.08);border-color:rgba(201,149,107,.22);box-shadow:none}
.ksd-lang-switcher__toggle:hover{background:rgba(255,255,255,.22)}
.nav-bar.scrolled .ksd-lang-switcher__toggle:hover{background:rgba(58,58,58,.1)}
.ksd-lang-switcher[data-loading] .ksd-lang-switcher__toggle,.ksd-lang-switcher__toggle:disabled{cursor:progress}
.ksd-lang-switcher__toggle svg{width:10px;height:10px;fill:currentColor;transition:transform .25s,opacity .2s}
.ksd-lang-switcher__spinner{display:none;width:10px;height:10px;flex-shrink:0;border:1.4px solid currentColor;border-right-color:transparent;border-radius:999px;opacity:.75;animation:ksd-lang-spin .75s linear infinite}
.ksd-lang-switcher[data-loading] .ksd-lang-switcher__spinner{display:inline-block}
.ksd-lang-switcher[data-loading] .ksd-lang-switcher__arrow{opacity:.22}
.ksd-lang-switcher[data-open] .ksd-lang-switcher__toggle svg{transform:rotate(180deg)}
.ksd-lang-switcher__menu{position:absolute;top:calc(100% + 6px);right:0;min-width:156px;background:rgba(35,32,28,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:6px 0;box-shadow:0 8px 24px rgba(0,0,0,.25);opacity:0;transform:translateY(-6px);transition:opacity .2s,transform .2s;pointer-events:none}
.ksd-lang-switcher__menu:not([hidden]){opacity:1;transform:translateY(0);pointer-events:auto}
.ksd-lang-switcher__item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 14px;font-family:var(--f-display);font-size:.72rem;letter-spacing:.08em;color:rgba(255,255,255,.8);text-decoration:none;transition:background .15s,color .15s}
.ksd-lang-switcher__item-main{display:inline-flex;align-items:center;gap:8px;min-width:0}
.ksd-lang-switcher__item-label{white-space:nowrap}
.ksd-lang-switcher__item:hover{background:rgba(255,255,255,.1);color:#fff}
.ksd-lang-switcher__item--active{background:rgba(255,255,255,.08);color:#fff;font-weight:600}
.ksd-lang-switcher__flag{font-size:1rem;line-height:1}
.ksd-lang-switcher__check{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;opacity:0;transform:scale(.72);transition:opacity .18s ease,transform .18s ease;color:#fff}
.ksd-lang-switcher__item--active .ksd-lang-switcher__check{opacity:1;transform:scale(1)}

@keyframes ksd-lang-spin{to{transform:rotate(360deg)}}

.ksd-edit-mode [data-ksd-edit-url]{cursor:pointer;transition:outline-color .25s ease,box-shadow .25s ease}
.ksd-edit-mode [data-ksd-edit-url]:hover,.ksd-edit-mode [data-ksd-edit-url]:focus{outline:1px dashed rgba(201,149,107,.85);outline-offset:8px;box-shadow:0 0 0 10px rgba(201,149,107,.12)}
.ksd-edit-mode img[data-ksd-edit-url]{outline-offset:6px}
.ksd-edit-mode-badge{position:fixed;right:1rem;bottom:1rem;z-index:10020;padding:.8rem 1rem;background:rgba(28,28,30,.9);color:#fff;font-family:var(--f-display);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;border-radius:999px;box-shadow:0 18px 40px rgba(0,0,0,.18)}

@media(max-width:768px){
  .nav-bar{padding:1.15rem 1.25rem;align-items:center}
  .ksd-lang-switcher{margin-left:.75rem}
  .ksd-lang-switcher__toggle{padding:4px 8px;font-size:.64rem;letter-spacing:.08em;gap:4px}
  .nav-brand{position:relative;z-index:1002;max-width:calc(100% - 4rem)}
  .nav-brand img{max-height:34px;width:auto}
  .nav-links{display:flex;position:fixed;top:0;left:0;width:100%;height:100dvh;padding:6.5rem 1.5rem 2rem;background:rgba(250,248,245,.98);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;z-index:999;opacity:0;visibility:hidden;pointer-events:none;overflow-y:auto;transition:opacity .28s ease,visibility .28s ease;color:var(--text-primary)}
  .time-night .nav-links{background:rgba(35,32,28,.96)}
  .time-night .nav-links{color:#E8E4DD}
  .nav-links.active{opacity:1;visibility:visible;pointer-events:auto}
  .nav-links .nav-link,.nav-links li,.nav-links li a{display:block}
  .nav-links li{width:min(100%,28rem);margin:0 auto;border-bottom:1px solid var(--border-light);opacity:0;transform:translateY(14px);transition:opacity .28s ease,transform .28s ease}
  .time-night .nav-links li{border-color:rgba(255,255,255,.08)}
  .nav-links.active li{opacity:1;transform:translateY(0)}
  .nav-links > .nav-link{width:min(100%,28rem);margin:0 auto;padding:1rem 0;border-bottom:1px solid var(--border-light);font-size:1.05rem;letter-spacing:.28em;text-align:center}
  .nav-links li a,.nav-links.active .nav-link{display:block;width:100%;padding:1rem 0;font-size:1.05rem;letter-spacing:.28em;text-align:center;margin:0;color:inherit;text-shadow:none}
  .menu-toggle{display:block;width:32px;height:24px;flex-shrink:0}
  .nav-bar.menu-open .ksd-lang-switcher__toggle{background:rgba(58,58,58,.06);border-color:rgba(58,58,58,.12)}
  .nav-bar.menu-open .ksd-lang-switcher[data-current-lang]:not([data-current-lang="zh"]) .ksd-lang-switcher__toggle{background:rgba(201,149,107,.08);border-color:rgba(201,149,107,.22)}
  .time-night .nav-bar.menu-open .ksd-lang-switcher__toggle{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12)}
}

@media(max-width:480px){
  .nav-links{padding:5.75rem 1rem 1.5rem}
  .ksd-edit-mode-badge{left:1rem;right:1rem;bottom:.75rem;text-align:center;letter-spacing:.1em}
}
