/* widget_h00.css - Torii Header / Side Drawer (responsive + fix) */

/* design tokens */
:root{
  --gold:#c9a227;
  --gold-light:#f2d675;
  --gold-dark:#7a5c12;
  --fg:#e8edf2;
  --bg:#0a0c0d;
  --drawer-width: min(360px, 90vw);
}

/* Header */
.nav-widget{
  position:fixed;
  top:max(12px, env(safe-area-inset-top));
  left:max(12px, env(safe-area-inset-left));
  right:max(12px, env(safe-area-inset-right));
  z-index:1100;
  opacity:0;
  transform:translateY(-8px);
  background: transparent; /*rgba(15,17,19,.28)*/
  backdrop-filter: blur(10px) saturate(140%);
  border:none;

  border-radius:14px;
  transition: opacity .6s ease, transform .6s ease;
  pointer-events: none;
}
.nav-widget.show{
  opacity:1;
  transform:none;
  pointer-events:auto;
}
.nav-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 14px;
}
.nav-left{ display:flex; align-items:center; gap:12px; min-width:0; }
.nav-logo{ width:42px; height:42px; display:block; }
.nav-title{
  font-weight:900;
  letter-spacing:.6px;
  white-space:nowrap;
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow: 0 2px 12px rgba(201,162,39,.20);
  font-size:14px;
}

/* right */
.nav-right{ display:flex; align-items:center; gap:10px; margin-left:auto; }
.nav-phone{
  display:inline-block;
  text-decoration:none;
  font-weight:900;
  letter-spacing:.3px;
  color:var(--fg);
  padding:6px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  transition: background .18s ease;
}
.nav-phone:hover{ background:rgba(255,255,255,.12); }

/* Torii Burger */
.nav-burger{
  display:flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  border-radius:12px;
  color:var(--fg);
  background:rgba(255,255,255,.06);
  border:1px solid rgba(201,162,39,.28);
  cursor:pointer;
  transition: transform .35s ease, background .18s ease;
}
.nav-burger .torii{ transition: transform .45s cubic-bezier(.22,.61,.36,1); transform-origin:center; }
.nav-burger.open .torii{ transform: rotate(180deg) scale(1.03); }
.nav-burger:active{ transform: scale(.985); }
.nav-burger:hover{ background:rgba(255,255,255,.12); }

/* Drawer overlay starts UNDER header via --drawer-top */
.drawer-overlay{
  position:fixed;
  top: var(--drawer-top, 60px);
  left:0;
  right:0;
  bottom:0;
  z-index:1080;
  background: rgba(0,0,0,.18);
  backdrop-filter: blur(2px);
  opacity:0;
  pointer-events:none;
  transition: opacity .25s ease;
}
.drawer-overlay.show{ opacity:1; pointer-events:auto; }

/* side panel */
.side-drawer{
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  width: var(--drawer-width);
  max-width:100%;
  background: rgba(15,17,19,.94);
  border-left: 1px solid rgba(201,162,39,.18);
  box-shadow: -24px 0 60px rgba(0,0,0,.55);
  transform: translateX(100%);
  transition: transform .28s cubic-bezier(.22,.61,.36,1);
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:16px;
  -webkit-overflow-scrolling: touch;
}
.drawer-overlay.show .side-drawer{ transform: translateX(0); }
.drawer-meta{ margin-top:auto; }
.drawer-phone{
  display:block;
  text-decoration:none;
  font-weight:900;
  color:var(--fg);
  padding:10px 12px;
  border-radius:10px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  text-align:center;
}

/* Katana menu */
.katana-menu{ list-style:none; margin:6px 0 0; padding:0; display:grid; gap:12px; }
.katana{
  position:relative;
  display:block;
  padding:24px 16px;
  text-decoration:none;
  color:var(--fg);
  font-weight:900;
  letter-spacing:.4px;
  border-radius:12px;
  isolation:isolate;
  background: linear-gradient(180deg, rgba(255,255,255,0.01), rgba(255,255,255,0.00));
  transition: transform .18s ease, box-shadow .18s ease;
}
.katana span{ position:relative; z-index:2; display:block; text-align:center; font-size:16px; }
.katana:active{ transform: scale(.99); }

/* blade / handle visuals */
.katana::before, .katana::after{ content:""; position:absolute; z-index:1; pointer-events:none; border-radius:999px; }
.katana::before{
  left:6%; right:6%; top:50%; height:8px;
  transform: translateY(-50%) rotate(-5deg);
  background: linear-gradient(90deg, rgba(255,255,200,.12), rgba(242,214,117,1), rgba(255,255,200,.12));
  box-shadow: 0 0 18px rgba(255,210,90,.22);
}
.katana::after{
  right:10%; top:calc(50% - 6px); width:26px; height:12px; border-radius:6px;
  background: linear-gradient(180deg, var(--gold), var(--gold-dark));
  transform: rotate(-5deg);
  box-shadow: inset 0 0 6px rgba(0,0,0,.35);
}
.katana.red::before{ background: linear-gradient(90deg, rgba(255,120,120,.16), rgba(255,72,72,.85), rgba(255,120,120,.16)); box-shadow: 0 0 18px rgba(255,60,60,.22); }
.katana.red::after{ background: linear-gradient(180deg, #ff6a6a, #c32020); }

.katana:hover{ transform: translateY(-3px); box-shadow: 0 8px 30px rgba(0,0,0,.36); }

/* Accessibility focus */
.katana:focus{ outline:none; box-shadow: 0 0 0 3px rgba(201,162,39,.14); }

/* small tweaks */
@media (max-width: 1200px){
  .nav-title{ display:none; }
}
@media (max-width: 900px){
  .nav-phone{ display:none; }
  :root{ --drawer-width: 88vw; }
}
@media (max-width: 480px){
  .nav-logo{ width:36px; height:36px; }
  .nav-burger{ width:44px; height:44px; }
  .katana{ padding:18px 12px; font-size:15px; }
  .katana span{ font-size:15px; }
  .side-drawer{ padding:12px; }
}

/* ensure drawer sits visually under header even with safe-area */
@supports (env(safe-area-inset-top)) {
  .nav-widget{ top: max(12px, env(safe-area-inset-top)); }
}
