/* ===== Nav26 Sheet — базові стилі (унікальні класи) ===== */
.nav26sheet{
  --accent:#3b82f6; --ink:#0f172a; --dot:72px; --gap:16px;
  color:var(--ink); font:600 14px/1.2 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; position:relative; z-index:10;
}
.nav26sheet__overlay{ position:fixed; inset:0; background:rgba(0,0,0,.35); opacity:0; pointer-events:none; transition:opacity .2s ease; }

.nav26sheet__toggle{
  display:none; position:fixed; right:16px; bottom:20px; z-index:20;
  padding:12px 16px; border:0; border-radius:999px; background:#ff6a00; color:#111; font-weight:700;
  box-shadow:0 10px 24px rgba(0,0,0,.25);
}

.nav26sheet__list{ margin:0; padding:12px; list-style:none; display:flex; flex-wrap:wrap; gap:18px 20px; }
.nav26sheet__item{ min-width:0; position:relative; display:grid; justify-items:center; align-content:start; gap:8px; }
.nav26sheet__link{ display:grid; gap:8px; justify-items:center; text-decoration:none; color:var(--ink); outline:none; }
.nav26sheet__label{ text-align:center; font-size:14px; }
.nav26sheet__link[aria-current="page"] .nav26sheet__label{ color:var(--accent); }
.nav26sheet__dot{
  inline-size:var(--dot); block-size:var(--dot); border-radius:50%; display:grid; place-items:center; overflow:hidden; position:relative;
  background:#172033; border:1px solid #1f2a40; color:#e7eefc;
}
.nav26sheet__dot svg{ width:28px; height:28px; }

/* Десктопні дропдауни */
.nav26sheet__item--dd .nav26sheet__dd{
  position:absolute; left:50%; top:calc(var(--dot) + 12px); transform:translate(-50%, 6px);
  min-width:320px; padding:12px; border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.92));
  border:1px solid rgba(0,0,0,.12); box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 14px 36px rgba(2,6,23,.16);
  display:none; z-index:30;
}
.nav26sheet__item--dd:hover > .nav26sheet__dd,
.nav26sheet__item--dd:focus-within > .nav26sheet__dd{ display:block; }
.nav26sheet__dd-list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns: repeat(3, minmax(180px,1fr)); gap:10px 14px; }
.nav26sheet__dd-item{ display:block; padding:10px 12px; border-radius:10px; color:var(--ink); text-decoration:none; white-space:nowrap; }
.nav26sheet__dd-item:hover, .nav26sheet__dd-item:focus-visible{ background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 10%, #fff), #fff); color:var(--accent); outline:none; }
.nav26sheet__sub{ list-style:none; margin:8px 0 0 0; padding:8px 0 0 14px; border-left:1px solid rgba(0,0,0,.08); }
.nav26sheet__dd-item--deep{ font-weight:600; }

/* Desktop row */
@media (min-width:1024px){
  .nav26sheet{ --dot:64px; font-size:16px; }
  .nav26sheet__list{ padding:0; }
}

/* Mobile/Tablet bottom-sheet */
@media (max-width:1023.98px){
  .nav26sheet__toggle{ display:inline-flex; align-items:center; gap:8px; }
  .nav26sheet__overlay.is-open{ opacity:1; pointer-events:auto; }

  .nav26sheet{ --dot:64px; }
  .nav26sheet__list{
    position:fixed; left:0; right:0; bottom:0; top:auto;
    display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:14px; padding:14px;
    height:min(360px, 45vh); max-height:min(360px, 45vh);
    background:#0f1624; border-top-left-radius:16px; border-top-right-radius:16px;
    box-shadow:0 -10px 30px rgba(0,0,0,.4); transform:translateY(110%); transition:transform .28s ease;
    overflow:auto; z-index:10000;
  }
  .nav26sheet.is-open .nav26sheet__list{ transform:translateY(0); }
  .nav26sheet__label{ color:#e7eefc; font-size:13px; }
  .nav26sheet__dot{ background:#172033; border-color:#1f2a40; color:#e7eefc; }
  .nav26sheet__dd{ display:none !important; }
}

/* Панель підменю */
.nav26sheet__sheet{
  position:fixed; left:0; right:0; bottom:0;
  height:min(340px, 50vh); max-height:min(340px, 50vh);
  background:#0f1624; border-top-left-radius:16px; border-top-right-radius:16px;
  box-shadow:0 -10px 30px rgba(0,0,0,.45); transform:translateY(110%); transition:transform .28s ease;
  z-index:10001;
}
.nav26sheet__sheet.is-open{ transform:translateY(0); }
.nav26sheet__sheet-head{ display:flex; justify-content:space-between; align-items:center; padding:10px 12px; }
.nav26sheet__back, .nav26sheet__close{ background:#172033; color:#e7eefc; border:0; border-radius:10px; padding:8px 12px; font-weight:700; }
.nav26sheet__sheet-body{ padding:12px; display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px; overflow:auto; height:calc(100% - 46px); }
.nav26sheet__sheet-body a{ display:flex; align-items:center; justify-content:center; min-height:48px; padding:12px; background:#1b2540; border-radius:12px; color:#e7eefc; text-decoration:none; font-weight:600; }
