/* ===========================
   COZEO base styles
   :root 変数 + reset + base typography
   =========================== */
:root{
  /* COZEO Brand Colors */
  --navy:#1e2a52;
  --navy-deep:#141d3a;
  --blue:#1976ed;
  --blue-light:#3d8eff;
  --gold:#f5b81f;
  --gold-deep:#e0a30b;
  --bg:#f6f8fc;
  --bg-soft:#eef2f9;
  --line:#e2e8f3;
  --text:#1e2a52;
  --text-sub:#5a6584;
  --text-mute:#8a93ad;
  --white:#ffffff;
  --red:#e63946;
  --green:#22a06b;
  --green-deep:#168552;
  --text-on-dark:#cdd6ee;
  --text-on-dark-mute:#9aa6c8;
  --text-on-dark-faint:#6a7596;
  --img-from:#293a72;
  --img-to:#1a2348;

  --font-jp:"Noto Sans JP", system-ui, sans-serif;
  --font-en:"Outfit", "Noto Sans JP", sans-serif;

  /* Radii */
  --radius-sm:8px;
  --radius-md:12px;
  --radius-lg:14px;
  --radius-pill:99px;

  /* Button (shared CTA) */
  --btn-pad:15px 24px;
  --btn-font:14.5px;
  --btn-radius:var(--radius-md);

  /* Desktop (PC) typography scale */
  --h1-sub:28px;       /* subpage h1: page-bar / auth / article-head / product-detail */
  --h1-hero:36px;      /* marketing hero h1: product-list / contact / article / guide / sale */
  --card-title:17px;   /* card-head title */
  --eyebrow-ls:.3em;   /* eyebrow .en letter-spacing */
  --card-radius:var(--radius-lg);   /* main card radius (14px) */
  --card-radius-sm:var(--radius-md);/* secondary/small card radius (12px) */
  --card-shadow:0 4px 16px rgba(30,42,82,.04);
  --content-wide:1280px;   /* list pages */
  --content-narrow:1100px; /* form / reading pages */

  /* Mobile (SP, <=760px) typography */
  --h1-sp:22px;        /* hero / page-bar h1 */
  --h2-sp:19px;        /* section headings */
  --eyebrow-sp:10px;   /* .en / eyebrow labels */
  --card-title-sp:15px;

  /* Mobile spacing */
  --card-pad-sp:16px;
  --wrap-pad-sp:0 16px;
  --grid-gap-sp:12px;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{font-size:14px;overflow-x:hidden;}
body{
  font-family:var(--font-jp);
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}

/* ===========================
   Shared button base (COZEO CTA)
   per-page files may extend, but should not redefine padding/radius/colors
   =========================== */
.btn-primary,
.btn-gold,
.btn-outline,
.btn-back{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:var(--btn-pad);
  font-size:var(--btn-font);
  font-weight:700;
  border-radius:var(--btn-radius);
  line-height:1.2;
  text-align:center;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.btn-primary{
  background:linear-gradient(135deg,var(--navy-deep),var(--navy));
  color:var(--white);
  border:1px solid transparent;
}
.btn-gold{
  background:linear-gradient(135deg,var(--gold),var(--gold-deep));
  color:var(--navy-deep);
  border:1px solid transparent;
}
.btn-outline,
.btn-back{
  background:var(--white);
  color:var(--navy);
  border:1px solid var(--line);
  font-weight:600;
}
.btn-primary:hover,
.btn-gold:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(30,42,82,.18);}
.btn-outline:hover,
.btn-back:hover{border-color:var(--navy);}

@media (max-width:760px){
  .btn-primary,
  .btn-gold,
  .btn-outline,
  .btn-back{width:100%;padding:14px 22px;font-size:14px;}
}
input,select,textarea{font-family:inherit;}

/* ===========================
   HEADER (实际网站简洁风格)
   =========================== */
/* MENU TOGGLE (mobile hamburger) */
.menu-toggle{display:none;width:44px;height:44px;border-radius:50%;align-items:center;justify-content:center;color:var(--navy);transition:background .15s;background:none;border:none;cursor:pointer;padding:0;}
.menu-toggle:hover{background:var(--bg);}
.menu-toggle .bars{display:flex;flex-direction:column;gap:5px;width:20px;}
.menu-toggle .bars span{height:2px;background:currentColor;border-radius:2px;transition:transform .25s, opacity .15s;}
.menu-toggle.is-open .bars span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.menu-toggle.is-open .bars span:nth-child(2){opacity:0;}
.menu-toggle.is-open .bars span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.menu-overlay{position:fixed;inset:64px 0 0;background:rgba(20,29,58,.4);opacity:0;pointer-events:none;transition:opacity .25s;z-index:98;}
.menu-overlay.is-open{opacity:1;pointer-events:auto;}
.header{
  background:var(--white);
  position:sticky;top:0;z-index:100;
  box-shadow:0 1px 0 rgba(30,42,82,.06);
}
.header-inner{
  max-width:1280px;margin:0 auto;padding:0 32px;
  height:64px;
  display:flex;align-items:center;
  gap:32px;
}

/* Logo */
.logo{
  display:flex;align-items:center;flex-shrink:0;
  height:100%;
}
.logo img{
  height:36px;width:auto;
  transition:opacity .2s;
}
.logo:hover img{opacity:.85;}

/* 中央：主导航 */
.main-nav{
  display:flex;align-items:center;
  height:100%;
  flex:1;
  margin-left:8px;
}
.main-nav > a, .main-nav > .has-mega{
  position:relative;
  height:100%;
  display:flex;align-items:center;
}
.main-nav > a, .main-nav > .has-mega > a{
  padding:0 16px;font-size:13.5px;font-weight:500;
  color:var(--navy);
  transition:color .15s;
  white-space:nowrap;
  height:100%;
  display:flex;align-items:center;
  letter-spacing:.02em;
}
.main-nav > a:hover, .main-nav > .has-mega > a:hover{color:var(--blue);}

/* hover下划线动画 */
.main-nav > a::before, .main-nav > .has-mega > a::before{
  content:"";position:absolute;left:16px;right:16px;bottom:14px;height:2px;
  background:var(--blue);border-radius:2px;
  transform:scaleX(0);transform-origin:center;
  transition:transform .25s ease;
}
.main-nav > a:hover::before, .main-nav > .has-mega:hover > a::before{
  transform:scaleX(1);
}

/* Mega menu - 左:分类 / 右:商品列表 */
.has-mega{position:relative;}
.has-mega > a::after{
  content:"";display:inline-block;width:5px;height:5px;
  border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  margin-left:6px;
  transition:transform .2s;
}
.has-mega:hover > a::after{transform:rotate(225deg) translateY(-2px);}

/* ===========================
   Mega menu — コンパクトカード型 3 階層カテゴリ
   トリガー直下に開く / 三角矢印で吹き出し風
   =========================== */
.mega{
  position:absolute;top:100%;left:0;
  padding-top:14px;                /* 三角矢印用の余白 */
  opacity:0;visibility:hidden;
  transform:translateY(-4px);
  transition:opacity .2s ease, transform .2s ease, visibility 0s linear .2s;
  z-index:80;
  pointer-events:none;
}
.has-mega:hover .mega,
.has-mega:focus-within .mega,
.has-mega.is-open .mega{
  opacity:1;visibility:visible;transform:translateY(0);
  pointer-events:auto;
  transition:opacity .2s ease, transform .2s ease, visibility 0s;
}

/* カードを横に並べる */
.mega-inner{
  display:flex;align-items:flex-start;gap:10px;
  position:relative;
}

/* 共通カードスタイル */
.cat-col{
  background:#fff;
  box-shadow:0 4px 16px rgba(30,42,82,.10);
  border:1px solid var(--line);
  border-radius:4px;
  width:240px;flex-shrink:0;
  display:flex;flex-direction:column;
  position:relative;
}

/* 1 列目：吹き出しの三角矢印（トリガーから上向き） */
.cat-col-1::before{
  content:"";
  position:absolute;top:-7px;left:24px;
  width:14px;height:14px;
  background:#fff;
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
  transform:rotate(45deg);
  z-index:-1;
}

/* 列タイトル（極小・控えめ）— 参考デザインに合わせて非表示にしてもよい */
.cat-col-title{display:none;}

/* リスト */
.cat-list{list-style:none;margin:0;padding:0;}
.cat-item{position:relative;border-bottom:1px solid var(--line);}
.cat-item:last-child{border-bottom:none;}
.cat-item > a{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:16px 20px;
  font-size:14px;font-weight:500;color:var(--text);
  transition:background .15s, color .15s;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  border-radius:0;
}
.cat-item > a::before{display:none !important;}
.cat-item > a:hover,
.cat-item.active > a{
  background:var(--bg-soft);color:var(--navy);
}
.cat-item .cat-name{
  flex:1;min-width:0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.cat-item .cat-arrow{
  font-size:14px;color:var(--text-mute);font-weight:400;
  transition:color .15s, transform .15s;
}
.cat-item:hover .cat-arrow,
.cat-item.active .cat-arrow{color:var(--navy);transform:translateX(2px);}
.cat-item .cat-tag{
  background:var(--red);color:#fff;
  font-family:var(--font-en);font-size:9px;font-weight:900;
  letter-spacing:.04em;padding:3px 7px;border-radius:99px;
  flex-shrink:0;
}
.cat-item.cat-flat > a{font-weight:600;}

/* 親列の下部「すべての商品を見る」 */
.cat-col-foot{
  border-top:1px solid var(--line);
  background:var(--bg-soft);
}
.cat-all-link{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:14px 20px;
  font-size:12px;font-weight:700;color:var(--navy);
  letter-spacing:.04em;
  transition:background .15s, color .15s;
}
.cat-all-link::before{display:none !important;}
.cat-all-link:hover{background:var(--navy);color:#fff;}
.cat-all-link svg{flex-shrink:0;transition:transform .2s;}
.cat-all-link:hover svg{transform:translateX(3px);}

/* 子列の pane（親に応じて切り替え） */
.cat-pane{display:none;}
.cat-pane.active{display:block;}

/* 孫列の pane（子に応じて切り替え） */
.cat-sub-pane{display:none;}
.cat-sub-pane.active{display:block;}

/* 1 階層のみ表示：子・孫カードは常に非表示 */
.cat-col-2,
.cat-col-3{
  display:none;
}

/* 「子なし」用の pane（new / sale） */
.cat-pane-empty{padding:20px;}
.cat-empty-msg{
  display:flex;flex-direction:column;gap:10px;align-items:flex-start;
}
.cat-empty-msg .lbl{
  display:inline-block;
  background:var(--gold);color:var(--navy-deep);
  font-family:var(--font-en);font-size:9px;font-weight:900;
  letter-spacing:.18em;padding:4px 9px;border-radius:3px;
}
.cat-empty-msg .lbl.sale{background:var(--red);color:#fff;}
.cat-empty-msg p{
  font-size:13px;font-weight:700;color:var(--navy);line-height:1.5;
}
.cat-empty-cta{
  font-size:12px;font-weight:700;color:var(--blue);
  display:inline-flex;align-items:center;gap:4px;
  margin-top:4px;
}
.cat-empty-cta:hover{color:var(--navy);}

/* 右侧：检索 + マイページ + カート（纯图标） */
.header-actions{
  display:flex;gap:6px;align-items:center;flex-shrink:0;
  margin-left:auto;
}
.header-divider{
  width:1px;height:24px;background:var(--line);
  margin:0 8px;
}

/* 圆形图标按钮（统一样式） */
.search-toggle, .icon-btn{
  width:44px;height:44px;border-radius:50%;
  display:grid;place-items:center;color:var(--navy);
  transition:background .15s, color .15s;
  position:relative;
  padding:0;
}
.search-toggle:hover, .icon-btn:hover{background:var(--bg);color:var(--blue);}
.search-toggle.active{background:var(--bg);color:var(--blue);}
.search-toggle svg, .icon-btn svg{
  width:22px;height:22px;
}

/* カート徽章 */
.icon-btn .badge{
  position:absolute;top:0;right:0;
  background:var(--red);color:#fff;
  font-size:11px;font-weight:700;
  min-width:20px;height:20px;border-radius:10px;
  padding:0 5px;
  display:grid;place-items:center;
  font-family:var(--font-en);
  border:2px solid #fff;
  line-height:1;
}

/* 搜索栏（slideUp/Down：纯高度过渡） */
.search-overlay{
  position:absolute;top:100%;left:0;right:0;
  background:#fff;
  border-bottom:1px solid var(--line);
  box-shadow:0 16px 32px rgba(30,42,82,.1);
  overflow:hidden;
  max-height:0;
  padding-top:0;
  padding-bottom:0;
  pointer-events:none;
  visibility:hidden;
  transition:
    max-height     .32s cubic-bezier(.4,0,.2,1),
    padding-top    .32s cubic-bezier(.4,0,.2,1),
    padding-bottom .32s cubic-bezier(.4,0,.2,1),
    visibility     0s linear .32s;
}
.search-overlay.open{
  max-height:240px;
  padding-top:20px;
  padding-bottom:20px;
  pointer-events:auto;
  visibility:visible;
  transition:
    max-height     .32s cubic-bezier(.4,0,.2,1),
    padding-top    .32s cubic-bezier(.4,0,.2,1),
    padding-bottom .32s cubic-bezier(.4,0,.2,1),
    visibility     0s linear 0s;
}
@media (prefers-reduced-motion: reduce){
  .search-overlay, .search-overlay.open{ transition:none; }
}
.search-overlay-inner{
  max-width:1280px;margin:0 auto;padding:0 32px;
  display:flex;align-items:center;gap:16px;
}
.search-box{
  display:flex;align-items:center;
  background:var(--bg);border:2px solid transparent;
  border-radius:999px;padding:0 6px 0 24px;height:50px;
  transition:border-color .2s, background .2s;flex:1;
}
.search-box:focus-within{border-color:var(--blue);background:#fff;}
.search-box input{
  flex:1;border:none;background:none;outline:none;
  font-family:var(--font-jp);font-size:14px;color:var(--text);
}
.search-box input::placeholder{color:var(--text-mute);}
.search-btn{
  background:var(--navy);color:var(--white);
  width:38px;height:38px;border-radius:50%;
  display:grid;place-items:center;
  transition:background .2s;
}
.search-btn:hover{background:var(--blue);}
.search-close{
  width:38px;height:38px;border-radius:50%;
  display:grid;place-items:center;color:var(--text-mute);
  transition:background .15s, color .15s;
}
.search-close:hover{background:var(--bg);color:var(--navy);}

/* 搜索热门词 */
.search-suggest{
  max-width:1280px;margin:14px auto 0;padding:0 32px;
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
}
.search-suggest .lbl{
  font-size:12px;color:var(--text-mute);font-weight:600;
}
.search-suggest a{
  font-size:12px;padding:5px 12px;
  background:var(--bg);color:var(--text-sub);
  border-radius:999px;
  transition:background .15s, color .15s;
}
.search-suggest a:hover{background:var(--blue);color:#fff;}

/* 搜索オーバーレイ — モバイル最適化（C 案：✕ なし、外側タップ/ESC で閉じる） */
@media (max-width:760px){
  .search-overlay.open{
    max-height:calc(100vh - 64px);
    max-height:calc(100dvh - 64px);
    padding-top:14px;padding-bottom:16px;
  }
  .search-overlay-inner{
    padding:0 16px;gap:0;
  }
  .search-box{
    height:44px;padding:0 4px 0 16px;
    flex:1;
  }
  .search-box input{font-size:14px;min-width:0;}
  .search-box input::placeholder{font-size:13px;}
  .search-btn{width:34px;height:34px;}
  .search-close{display:none;}     /* ✕ ボタン非表示（外側タップ・ESC で閉じる） */
}

/* ===========================
   カートドロップダウン（EC-CUBE 風）
   =========================== */
.cart-dropdown{
  position:absolute;top:calc(100% + 10px);right:32px;
  width:380px;max-width:calc(100vw - 32px);
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:0 16px 40px rgba(30,42,82,.16);
  z-index:90;
  overflow:hidden;
  max-height:0;
  opacity:0;
  transform:translateY(-6px);
  pointer-events:none;
  visibility:hidden;
  transition:
    max-height .32s cubic-bezier(.4,0,.2,1),
    opacity    .22s ease,
    transform  .32s cubic-bezier(.4,0,.2,1),
    visibility 0s linear .32s;
}
.cart-dropdown.open{
  max-height:600px;
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
  visibility:visible;
  transition:
    max-height .32s cubic-bezier(.4,0,.2,1),
    opacity    .25s ease,
    transform  .32s cubic-bezier(.4,0,.2,1),
    visibility 0s linear 0s;
}
.cart-dd-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 18px;border-bottom:1px solid var(--line);
  background:var(--bg-soft);
}
.cart-dd-head .ttl{font-size:13px;font-weight:700;color:var(--navy);letter-spacing:.04em;}
.cart-dd-head .meta{font-size:12px;color:var(--text-sub);}
.cart-dd-head .meta strong{color:var(--navy);font-family:var(--font-en);font-size:14px;margin:0 2px;}

.cart-dd-list{
  list-style:none;margin:0;padding:6px 0;
  max-height:340px;overflow-y:auto;
}
.cart-dd-list::-webkit-scrollbar{width:6px;}
.cart-dd-list::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px;}
.cart-dd-item{
  display:grid;
  grid-template-columns:60px 1fr auto;
  gap:12px;align-items:flex-start;
  padding:12px 18px;
  border-bottom:1px solid var(--bg-soft);
  position:relative;
}
.cart-dd-item:last-child{border-bottom:none;}
.cart-dd-thumb{
  width:60px;height:60px;border-radius:8px;
  background:linear-gradient(135deg,var(--img-from),var(--img-to));
  display:grid;place-items:center;
  color:#fff;font-family:var(--font-en);font-size:9px;font-weight:700;letter-spacing:.1em;
  flex-shrink:0;
}
.cart-dd-info{min-width:0;}
.cart-dd-name{
  display:block;font-size:13px;font-weight:600;color:var(--navy);
  line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;
  transition:color .15s;
}
.cart-dd-name:hover{color:var(--blue);}
.cart-dd-opts{
  font-size:11px;color:var(--text-mute);
  margin-top:3px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.cart-dd-meta{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  margin-top:6px;
}
.cart-dd-meta .qty{font-size:11px;color:var(--text-sub);}
.cart-dd-meta .qty strong{color:var(--navy);font-family:var(--font-en);font-size:13px;margin-left:2px;}
.cart-dd-meta .price{
  font-family:var(--font-en);font-size:14px;font-weight:900;color:var(--navy);
  letter-spacing:-.01em;
}
.cart-dd-meta .price .yen{font-size:10px;font-weight:700;margin-right:1px;}
.cart-dd-remove{
  width:24px;height:24px;border-radius:50%;
  display:grid;place-items:center;
  color:var(--text-mute);
  transition:background .15s, color .15s;
  flex-shrink:0;
}
.cart-dd-remove:hover{background:var(--bg);color:var(--red);}

.cart-dd-foot{
  padding:14px 18px;border-top:1px solid var(--line);
  background:var(--bg-soft);
}
.cart-dd-total{
  display:flex;align-items:baseline;justify-content:space-between;
  margin-bottom:12px;
}
.cart-dd-total .lbl{font-size:12px;color:var(--text-sub);font-weight:600;}
.cart-dd-total .val{
  font-family:var(--font-en);font-size:20px;font-weight:900;color:var(--navy);
  letter-spacing:-.01em;
}
.cart-dd-total .val .yen{font-size:13px;font-weight:700;margin-right:1px;}
.cart-dd-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.cart-dd-btn{
  height:40px;border-radius:999px;
  display:grid;place-items:center;
  font-size:12px;font-weight:700;letter-spacing:.02em;
  transition:background .18s, color .18s, transform .18s;
}
.cart-dd-btn.ghost{
  background:#fff;color:var(--navy);border:1.5px solid var(--line);
}
.cart-dd-btn.ghost:hover{border-color:var(--navy);transform:translateY(-1px);}
.cart-dd-btn.primary{
  background:var(--navy);color:#fff;
}
.cart-dd-btn.primary:hover{background:var(--navy-deep);transform:translateY(-1px);}

.cart-toggle.active{background:var(--bg);color:var(--blue);}

@media (max-width:760px){
  .cart-dropdown{
    right:12px;left:12px;width:auto;max-width:none;
  }
}
@media (prefers-reduced-motion: reduce){
  .cart-dropdown, .cart-dropdown.open{transition:none;}
}

/* ===========================
   MOBILE NAV (drawer)
   =========================== */
@media (max-width: 980px){
  .menu-toggle{display:grid;}
  .header-divider{display:none;}
  nav.main-nav{
    display:flex;position:fixed;top:0;left:0;right:0;
    background:linear-gradient(165deg, var(--navy-deep) 0%, var(--navy) 100%);
    color:#fff;
    flex-direction:column;align-items:stretch;
    /* bottom:0 だと iOS のアドレスバー表示/非表示で高さが変わり底部ボタンが跳ねる。
       動的ビューポート高さ(dvh)で固定して安定させる（vh は旧ブラウザ向けフォールバック）。 */
    height:100vh;
    height:100dvh;
    padding:0;margin:0;
    overflow-y:auto;
    transform:translateX(-100%);transition:transform .35s cubic-bezier(.4,0,.2,1);
    z-index:99;border:none;box-shadow:none;
  }
  nav.main-nav.is-open{transform:translateX(0);}

  /* Top bar inside drawer — close button + brand mark */
  .menu-head{
    display:flex;align-items:center;justify-content:space-between;
    padding:14px 18px;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .menu-head .menu-mark{
    font-family:var(--font-en);font-size:9.5px;font-weight:700;
    color:var(--gold);letter-spacing:.28em;
  }
  .menu-head .menu-close{
    background:none;border:none;color:#fff;
    width:32px;height:32px;border-radius:50%;
    display:grid;place-items:center;cursor:pointer;
    transition:background-color .15s;
  }
  .menu-head .menu-close svg{width:16px;height:16px;}
  .menu-head .menu-close:active{background:rgba(255,255,255,.1);}

  /* Featured visual card at the top */
  nav.main-nav > a.menu-feature{
    display:block;margin:14px 18px 16px;width:auto;
    border-radius:10px;overflow:hidden;
    position:relative;aspect-ratio:21/9;
    padding:0;border:none;
    background:linear-gradient(135deg, rgba(245,184,31,.18), rgba(25,118,237,.25));
    flex:none;
  }
  .menu-feature-img{
    position:absolute;inset:0;width:100%;height:100%;
    object-fit:cover;opacity:.45;display:block;
  }
  .menu-feature-content{
    position:relative;z-index:1;
    padding:12px 14px;height:100%;
    display:flex;flex-direction:column;justify-content:flex-end;
    background:linear-gradient(180deg, rgba(20,29,58,0) 0%, rgba(20,29,58,.8) 100%);
  }
  .menu-feature-tag{
    display:inline-block;width:fit-content;
    background:var(--gold);color:var(--navy-deep);
    font-family:var(--font-en);font-size:8.5px;font-weight:900;
    letter-spacing:.2em;padding:3px 7px;border-radius:3px;
    margin-bottom:5px;
  }
  .menu-feature-title{
    font-size:13px;font-weight:800;line-height:1.4;color:#fff;
  }

  /* Main link list — editorial numbered style */
  nav.main-nav > a,
  nav.main-nav > .has-mega{height:auto;width:100%;position:relative;}
  nav.main-nav > a:not(.menu-feature),
  nav.main-nav > .has-mega > a{
    height:auto;width:100%;
    padding:12px 18px;
    border-bottom:1px solid rgba(255,255,255,.06);
    font-size:15px;font-weight:700;color:#fff;
    letter-spacing:.01em;line-height:1.3;
    justify-content:flex-start;align-items:flex-start;
    flex-direction:column;gap:2px;
    box-sizing:border-box;
    position:relative;
    transition:color .15s, padding-left .2s, background-color .15s;
  }
  nav.main-nav > .has-mega:first-of-type > a{border-top:1px solid rgba(255,255,255,.06);}
  /* numbered prefix — excludes menu-feature */
  nav.main-nav{counter-reset:menuItem;}
  nav.main-nav > a:not(.menu-feature),
  nav.main-nav > .has-mega{counter-increment:menuItem;}
  nav.main-nav > a:not(.menu-feature)::before,
  nav.main-nav > .has-mega > a::before{
    content:counter(menuItem, decimal-leading-zero);
    position:absolute;left:18px;top:13px;
    font-family:var(--font-en);font-size:8.5px;font-weight:700;
    color:var(--gold);letter-spacing:.18em;
    background:transparent;width:auto;height:auto;
    transform:none;opacity:1;display:block;
  }
  nav.main-nav > a.menu-feature::before,
  nav.main-nav > a.menu-feature::after{display:none;}
  nav.main-nav > a:not(.menu-feature),
  nav.main-nav > .has-mega > a{padding-top:25px;}
  nav.main-nav > a:not(.menu-feature):active,
  nav.main-nav > .has-mega > a:active{
    color:var(--gold);background:rgba(255,255,255,.04);
    padding-left:24px;
  }
  nav.main-nav > a::after,
  nav.main-nav > .has-mega > a::after{display:none;}
  nav.main-nav > .has-mega.active > a{color:#fff;font-weight:700;}
  nav.main-nav .mega{display:none;}

  /* bottom utility area inside drawer */
  .menu-foot{
    margin-top:auto;
    padding:16px 18px;
    display:flex;flex-direction:column;gap:12px;
  }
  .menu-foot-actions{display:flex;gap:8px;}
  .menu-foot-actions a{
    flex:1;display:flex;align-items:center;justify-content:center;gap:6px;
    padding:10px 12px;border-radius:999px;
    font-size:12px;font-weight:700;letter-spacing:.04em;
    transition:background-color .15s, color .15s, border-color .15s;
  }
  .menu-foot-actions .btn-login{background:var(--gold);color:var(--navy-deep);}
  .menu-foot-actions .btn-login:active{background:var(--gold-deep);}
  .menu-foot-actions .btn-signup{
    background:transparent;color:#fff;border:1px solid rgba(255,255,255,.25);
  }
  .menu-foot-actions .btn-signup:active{border-color:var(--gold);color:var(--gold);}

  .menu-foot-meta{
    display:flex;justify-content:space-between;align-items:center;
    font-family:var(--font-en);font-size:9px;
    color:rgba(255,255,255,.5);letter-spacing:.18em;
  }
  .menu-foot-meta .lang{
    color:#fff;font-weight:700;
    padding:3px 8px;border:1px solid rgba(255,255,255,.2);
    border-radius:4px;font-size:9px;
  }

  .menu-foot-social{display:flex;gap:10px;justify-content:flex-start;}
  .menu-foot-social a{
    width:28px;height:28px;border-radius:50%;
    display:inline-flex;align-items:center;justify-content:center;
    background:rgba(255,255,255,.06);
    color:rgba(255,255,255,.7);
    border:none;line-height:1;padding:0;
    transition:color .15s, background-color .15s;
  }
  .menu-foot-social a svg{width:12px;height:12px;display:block;}
  .menu-foot-social a:active{background:var(--gold);color:var(--navy-deep);}
}
@media (min-width: 981px){
  nav.main-nav .menu-foot,
  nav.main-nav .menu-head,
  nav.main-nav > a.menu-feature{display:none !important;}
}
/* Hide overlay on mobile drawer (full-screen now) */
@media (max-width: 980px){
  .menu-overlay{display:none;}
}

/* ===========================
   BREADCRUMB
   =========================== */
.breadcrumb-bar{
  background:#fff;
  border-bottom:1px solid var(--line);
}
.breadcrumb-bar-inner{
  max-width:1280px;margin:0 auto;
  padding:14px 24px;
}
.breadcrumb{
  display:flex;align-items:center;gap:8px;
  font-size:12px;color:var(--text-mute);
  flex-wrap:wrap;
}
.breadcrumb a{
  color:var(--text-sub);
  transition:color .15s;
}
.breadcrumb a:hover{color:var(--blue);}
.breadcrumb .sep{
  color:var(--text-mute);font-size:11px;
}
.breadcrumb .current{
  color:var(--navy);font-weight:600;
}
@media (max-width: 760px){
  .breadcrumb-bar-inner{padding:10px 16px;}
  .breadcrumb{font-size:11px;gap:6px;}
  .breadcrumb .sep{font-size:10px;}
}

/* ===========================
   FOOTER
   =========================== */
.footer{
  background:var(--navy-deep);color:var(--text-on-dark-mute);padding:60px 0 0;margin-top:60px;
}
.footer-inner{max-width:1280px;margin:0 auto;padding:0 24px;}
.footer-top{
  display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:40px;
  padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.08);
}
.footer-brand .logo-w{
  background:#fff;padding:14px 18px;border-radius:8px;display:inline-block;
  margin-bottom:16px;
}
.footer-brand .logo-w img{height:38px;}
.footer-brand p{font-size:12px;line-height:1.8;color:var(--text-on-dark-mute);margin-bottom:18px;}
.footer-social{display:flex;gap:8px;}
.footer-social a{
  width:36px;height:36px;border-radius:8px;
  background:rgba(255,255,255,.06);
  display:grid;place-items:center;color:var(--text-on-dark-mute);
  transition:background .2s, color .2s;
}
.footer-social a:hover{background:var(--gold);color:var(--navy-deep);}
.footer-col h4{
  color:#fff;font-size:13px;font-weight:700;margin-bottom:18px;
  display:flex;align-items:center;gap:8px;
}
.footer-col h4::before{
  content:"";width:4px;height:14px;background:var(--gold);border-radius:2px;
}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px;}
.footer-col a{font-size:12px;color:var(--text-on-dark-mute);transition:color .15s;}
.footer-col a:hover{color:var(--gold);}

.footer-info{
  padding:24px 0;border-bottom:1px solid rgba(255,255,255,.08);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;
}
.footer-payments{
  display:flex;align-items:center;gap:12px;font-size:11px;color:var(--text-on-dark-mute);
}
.pay-icons{display:flex;gap:6px;}
.pay-icon{
  background:#fff;color:var(--navy);
  font-family:var(--font-en);font-size:9px;font-weight:900;
  padding:5px 8px;border-radius:4px;letter-spacing:.05em;
}
.footer-cert{display:flex;align-items:center;gap:8px;font-size:11px;}

.footer-bottom{
  padding:20px 0;display:flex;justify-content:space-between;
  font-size:11px;color:var(--text-on-dark-faint);flex-wrap:wrap;gap:14px;
}
.footer-bottom a:hover{color:var(--gold);}
.footer-legal{display:flex;gap:18px;flex-wrap:wrap;}

/* FOOTER RESPONSIVE */
@media (max-width: 960px){
  .footer-top{
    grid-template-columns:1fr 1fr;gap:32px;
  }
  .footer-brand{grid-column:1 / -1;}
}
@media (max-width: 760px){
  .footer{padding:48px 0 0;margin-top:48px;}
  .footer-inner{padding:0 16px;}
  .footer-top{
    grid-template-columns:1fr;gap:28px;padding-bottom:28px;
  }
  .footer-brand{grid-column:auto;}
  .footer-brand p{font-size:12px;}
  .footer-col h4{font-size:12px;margin-bottom:14px;}
  .footer-col ul{gap:8px;}
  .footer-col a{font-size:12px;}
  .footer-info{
    flex-direction:column;align-items:flex-start;gap:14px;padding:18px 0;
  }
  .footer-payments{flex-wrap:wrap;}
  .footer-bottom{
    flex-direction:column;align-items:flex-start;gap:10px;padding:16px 0;
  }
  .footer-legal{gap:14px;}
}
