
/* Only fixes the existing flat header language dropdown + restores mobile drawer.
   Desktop header dimensions/layout are intentionally NOT overridden. */

/* desktop language dropdown */
.header .lang{position:relative}
.header .lang-trigger{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  min-width:116px;height:44px;padding:0 16px;
  border:1px solid #ddd;background:#fff;border-radius:24px;
  font-family:"Noto Sans JP",sans-serif;font-size:16px;font-weight:600;color:#111;cursor:pointer;
}
.header .lang-trigger .chevron-icon{
  width:14px;height:14px;display:block;fill:none;stroke:#111;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease;
}
.header .lang.open .chevron-icon{transform:rotate(180deg)}
.header .lang-menu{
  display:block!important;position:absolute;right:0;top:52px;width:140px;
  padding:8px;background:#F6F3EE;border:1px solid #ded8d1;border-radius:16px;
  box-shadow:0 16px 38px rgba(0,0,0,.08);
  opacity:0;visibility:hidden;pointer-events:none;transform:translateY(7px);transition:.18s ease;z-index:110;
}
.header .lang.open .lang-menu{
  opacity:1;visibility:visible;pointer-events:auto;transform:none;
}
.header .lang-menu button{
  width:100%;border:0;background:transparent;text-align:left;padding:10px 12px;
  border-radius:10px;font-family:"Noto Sans JP",sans-serif;font-size:15px;color:#333;cursor:pointer;
}
.header .lang-menu button:hover{background:#fff}

/* mobile */
.mobile-menu-btn{display:none;border:0;background:transparent;padding:0;width:42px;height:42px;place-items:center;cursor:pointer}
.mobile-menu-btn svg,.drawer-close svg{width:22px;height:22px;fill:none;stroke:#111;stroke-width:2;stroke-linecap:round}

.mobile-overlay{
  position:fixed;inset:0;z-index:120;background:rgba(0,0,0,.28);
  opacity:0;visibility:hidden;transition:.2s ease;
}
.mobile-overlay.open{opacity:1;visibility:visible}
.mobile-drawer{
  position:fixed;top:0;right:0;bottom:0;z-index:130;width:min(88vw,390px);
  padding:18px;background:#F6F3EE;overflow:auto;transform:translateX(105%);
  transition:.25s cubic-bezier(.22,1,.36,1);box-shadow:-18px 0 50px rgba(0,0,0,.12);
}
.mobile-drawer.open{transform:none}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid #ded8d1}
.drawer-head .brand img{width:180px;height:40px;object-fit:contain;object-position:left center}
.drawer-close{width:42px;height:42px;border:0;background:transparent;display:grid;place-items:center;cursor:pointer}
.drawer-nav{padding:8px 0}
.drawer-link,.drawer-toggle{
  width:100%;min-height:52px;display:flex;align-items:center;justify-content:space-between;
  border:0;border-bottom:1px solid #ded8d1;background:transparent;color:#111;
  font-size:16px;font-weight:700;text-align:left;text-decoration:none;
}
.drawer-toggle{cursor:pointer}
.drawer-toggle b{font-size:20px;font-weight:400;transition:transform .18s ease}
.drawer-group.open .drawer-toggle b{transform:rotate(45deg)}
.drawer-sub{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s ease}
.drawer-sub>.sub-inner{overflow:hidden}
.drawer-group.open .drawer-sub{grid-template-rows:1fr}
.drawer-sub a{display:block;padding:9px 12px;color:#5d5752;font-size:15px;text-decoration:none}
.drawer-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.drawer-btn{padding:12px;border-radius:999px;background:#111;color:#fff;text-align:center;text-decoration:none;font-weight:700}
.drawer-language{margin-top:18px}
.drawer-language>span{display:block;margin-bottom:8px;font-size:12px;font-weight:700;letter-spacing:.08em}
.drawer-language>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.drawer-lang-option{
  border:1px solid #ded8d1;background:#fff;border-radius:999px;padding:10px;font-weight:700;cursor:pointer
}
.drawer-lang-option.active{background:#111;color:#fff;border-color:#111}

@media(max-width:1080px){
  .header .nav,.header .header-actions{display:none!important}
  .header .mobile-menu-btn{display:grid!important;margin-left:auto}
  .header .header-inner{justify-content:space-between!important}
}
