:root{
  --da-overlay: rgba(0,0,0,.92);
  --da-link: #ffffff;
  --da-link-hover: #ffffff;
  --da-link-active: #ffffff; /* set by JS to Astra #9 */
  --da-circle-hover: rgba(255,255,255,.35);
  --da-hamburger-fg: #fff; /* set by JS to Astra #9 */
  --da-hamburger-bg: rgba(255,255,255,.20);/* set by JS to Astra #8 */
  --da-toggle-size: 52px;
  --da-bar-w: 28px; --da-bar-gap: 8px; --da-bar-th: 2px;
  --da-circle-size: 22px;
  --da-circle-gap: .45rem;
  --da-icon-stroke: 2px;
  --da-icon-len: 12px;
  --da-fg: #fff;
}

/* Hide Astra header button/hamburger on tablet & mobile */
@media (max-width: 1024px){
  .ast-button-wrap {
    display: none !important;
  }
}

.da-fs-menu { position: relative; }

@media (min-width:1025px){
  .main-header-menu{ display:none !important; } /* Still hide themes menu if needed */
}

.da-fs-checkbox{
  position:fixed; top:0; left:0; width:1px; height:1px; margin:0; padding:0; border:0;
  overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap;
}

/* HAMBURGER */
.da-fs-toggle{
  position:fixed; top:1rem; right:1rem;
  width:var(--da-toggle-size); height:var(--da-toggle-size);
  border-radius:50%;
  background:var(--da-hamburger-bg) !important;
  display:grid; place-items:center; cursor:pointer; user-select:none;
  -webkit-tap-highlight-color:transparent; touch-action:manipulation; z-index:100000;
  color:var(--da-hamburger-fg) !important;
}

body.admin-bar .da-fs-toggle{ top:calc(1rem + 46px); }
@media (min-width:783px){ body.admin-bar .da-fs-toggle{ top:calc(1rem + 32px); } }

.da-fs-bar{
  position:relative; width:var(--da-bar-w); height:var(--da-bar-th);
  background:currentColor; border-radius:2px; transition:transform .25s ease, background .25s ease;
}

.da-fs-bar::before, .da-fs-bar::after{
  content:""; position:absolute; left:0; right:0; height:var(--da-bar-th); background:currentColor; border-radius:2px;
  transition:transform .25s ease, top .25s ease, opacity .2s ease;
}

.da-fs-bar::before{ top:calc(-1 * var(--da-bar-gap)); }
.da-fs-bar::after{ top:var(--da-bar-gap); }

/* FULLSCREEN PANEL */
.da-fs-panel{
  position:fixed; inset:0; min-height:100dvh;
  display:flex; align-items:center; justify-content:center;
  opacity:0; pointer-events:none; transform:translateY(-2px) scale(.995);
  transition:opacity .25s ease, transform .25s ease;
  z-index:99999; background:var(--da-overlay); color:#fff; overscroll-behavior:contain;
  visibility:hidden;
}

.da-fs-overlay{ position:absolute; inset:0; z-index:1; pointer-events:none; }

.da-fs-inner{
  position:relative; z-index:2; width:min(92vw, 820px);
  padding:2rem; max-height:90dvh; overflow:auto; pointer-events:auto;
}

/* MENU LIST */
.da-fs-list{ list-style:none; margin:0; padding:0; display:grid; gap:.35rem; }
.da-fs-item{ margin:0; }
.da-fs-row{ display:flex; align-items:baseline; gap:var(--da-circle-gap); }

.da-fs-link{
  color:var(--da-link); text-decoration:none; display:inline-block;
  font-weight:800; letter-spacing:.4px; line-height:1.05; transition: color .15s ease;
}

.da-fs-link:hover, .da-fs-link:focus{ color:var(--da-link-hover); }

/* ✅ ACTIVE = exact page only */
.da-fs-link[aria-current="page"],
.da-fs-link.is-current{
  color:var(--da-link-active) !important;
}

.da-level-0 > .da-fs-row .da-fs-link{ font-size:clamp(1.6rem, 3vw + 1rem, 3rem); padding:.3rem 0; }
.da-level-1{ margin-left:1.25rem; }
.da-level-1 > .da-fs-row .da-fs-link{ font-size:clamp(1.05rem, 1.2vw + .7rem, 1.35rem); padding:.2rem 0; opacity:.95; }
.da-level-2{ margin-left:2rem; }
.da-level-2 > .da-fs-row .da-fs-link{ font-size:clamp(.95rem, 1vw + .6rem, 1.2rem); opacity:.92; }

.da-sub-toggle{
  appearance:none; border:0; background:var(--da-circle-hover) !important;
  width:var(--da-circle-size); height:var(--da-circle-size);
  border-radius:50%; padding:0; line-height:0; font-size:0;
  display:inline-flex; align-items:center; justify-content:center;
  vertical-align:baseline; cursor:pointer; -webkit-tap-highlight-color:transparent; touch-action:manipulation;
  position:relative; transform:translateY(.08em); transition: background .15s ease;
}

.da-sub-toggle:hover,
.da-sub-toggle:focus,
.da-sub-toggle:active,
.da-fs-item.is-open > .da-fs-row .da-sub-toggle{
  background:var(--da-circle-hover) !important;
}

.da-sub-toggle::before, .da-sub-toggle::after{
  content:""; position:absolute; left:50%; top:50%;
  transform:translate(-50%, -50%);
  background:var(--da-fg); border-radius:1px;
  transition:opacity .18s ease, transform .18s ease;
}

.da-sub-toggle::before{ width:var(--da-icon-len); height:var(--da-icon-stroke); }
.da-sub-toggle::after{ width:var(--da-icon-stroke); height:var(--da-icon-len); }
.da-fs-item.is-open > .da-fs-row .da-sub-toggle::after{ opacity:0; transform:translate(-50%, -50%) scaleY(0); }

.da-fs-sub{ list-style:none; margin:.2rem 0 .4rem 0; padding:0; display:grid; gap:.15rem; }
.da-fs-sub[hidden]{ display:none; }

.da-fs-checkbox:checked ~ .da-fs-panel{
  opacity:1; pointer-events:auto; transform:none; visibility:visible;
}

.da-fs-checkbox:checked ~ .da-fs-toggle .da-fs-bar{ background:transparent; }
.da-fs-checkbox:checked ~ .da-fs-toggle .da-fs-bar::before{ top:0; transform:rotate(45deg); }
.da-fs-checkbox:checked ~ .da-fs-toggle .da-fs-bar::after{ top:0; transform:rotate(-45deg); }

.ast-mobile-header-wrap, .ast-desktop-header, .main-header-bar{ z-index:1 !important; }

html.da-menu-open, body.da-menu-open{ overflow:hidden; height:100%; }
