/* MODTAC STORE R9.4.1.8.12 — Guided Navigation Tree
   Shopper-intent navigation layer. Existing taxonomy remains canonical. */

:root{
  --guided-bg:#0d1110;
  --guided-panel:#131915;
  --guided-panel-2:#171f19;
  --guided-line:rgba(194,164,92,.20);
  --guided-line-strong:rgba(216,177,88,.46);
  --guided-gold:#d7ad58;
  --guided-gold-soft:#efd081;
  --guided-text:#eee9dd;
  --guided-muted:#9fa89f;
}

/* ---------- Desktop mega menu ---------- */
.guided-mega-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px!important;
  align-items:start;
  padding-block:20px!important;
}
.guided-mega-section{
  min-width:0;
  padding:14px;
  border:1px solid var(--guided-line);
  border-radius:12px;
  background:linear-gradient(180deg,rgba(23,31,25,.98),rgba(13,17,16,.98));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.guided-mega-section h3{
  margin:0 0 9px!important;
  padding-bottom:8px;
  border-bottom:1px solid var(--guided-line);
  color:var(--guided-gold-soft)!important;
  font:800 12px/1.15 "MODTAC Plex","MODTAC Rajdhani",sans-serif!important;
  letter-spacing:.085em;
}
.guided-mega-links{display:grid;gap:3px}
.guided-link{
  appearance:none;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  width:100%;
  min-height:37px!important;
  margin:0;
  padding:7px 8px!important;
  border:1px solid transparent;
  border-radius:8px;
  background:transparent;
  color:var(--guided-muted)!important;
  font:600 12px/1.25 "MODTAC Plex","MODTAC Inter",sans-serif!important;
  letter-spacing:.005em!important;
  text-align:left;
  cursor:pointer;
}
.guided-link span{min-width:0;overflow-wrap:anywhere}
.guided-link em{
  min-width:22px;
  padding:2px 5px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:999px;
  color:#7f8981;
  font:700 9px/1.2 "MODTAC Plex",sans-serif;
  font-style:normal;
  text-align:center;
}
.guided-link i{color:var(--guided-gold);font-style:normal}
.guided-link:hover,.guided-link:focus-visible{
  border-color:var(--guided-line-strong);
  background:rgba(215,173,88,.075);
  color:var(--guided-text)!important;
}
.guided-link:hover em,.guided-link:focus-visible em{color:var(--guided-gold-soft);border-color:var(--guided-line-strong)}
.guided-link.guided-feature{
  border-color:rgba(215,173,88,.28);
  background:rgba(215,173,88,.065);
  color:var(--guided-gold-soft)!important;
}

/* ---------- Left catalog guided tree ---------- */
.guided-category-tree{padding-bottom:14px!important}
.guided-tree-head{padding-bottom:11px!important}
.guided-tree-roots{display:grid;gap:6px}
.guided-tree-root{
  overflow:hidden;
  border:1px solid rgba(255,255,255,.055);
  border-radius:9px;
  background:rgba(255,255,255,.012);
}
.guided-tree-root.active{border-color:rgba(215,173,88,.38);background:rgba(215,173,88,.035)}
.guided-tree-root-row{display:grid;grid-template-columns:minmax(0,1fr) 36px;align-items:stretch}
.guided-tree-root-choice{
  appearance:none;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  min-height:43px;
  padding:8px 9px;
  border:0;
  background:transparent;
  color:var(--guided-text);
  font:750 12px/1.2 "MODTAC Plex","MODTAC Rajdhani",sans-serif;
  letter-spacing:.035em;
  text-align:left;
  cursor:pointer;
}
.guided-tree-root-choice em{
  color:#7f8981;
  font:650 9px/1 "MODTAC Plex",sans-serif;
  font-style:normal;
}
.guided-tree-root.active .guided-tree-root-choice{color:var(--guided-gold-soft)}
.guided-tree-caret{
  appearance:none;
  display:grid;
  place-items:center;
  min-height:43px;
  padding:0;
  border:0;
  border-left:1px solid rgba(255,255,255,.055);
  background:transparent;
  color:var(--guided-gold);
  font-size:16px;
  transform:rotate(-90deg);
  cursor:pointer;
}
.guided-tree-caret.open{transform:rotate(0)}
.guided-tree-caret:hover,.guided-tree-caret:focus-visible{background:rgba(215,173,88,.08)}
.guided-tree-panel{
  display:grid;
  gap:10px;
  padding:9px 8px 11px;
  border-top:1px solid var(--guided-line);
  background:rgba(0,0,0,.11);
}
.guided-tree-section{display:grid;gap:2px;min-width:0}
.guided-tree-section>b{
  padding:3px 7px 4px;
  color:#c9b780;
  font:800 9px/1.2 "MODTAC Plex","MODTAC Rajdhani",sans-serif;
  letter-spacing:.095em;
}
.guided-tree-panel .guided-link{
  min-height:33px!important;
  padding:6px 7px!important;
  font-size:11px!important;
}

/* ---------- Mobile menu: intent-first accordions ---------- */
.mobile-guided-nav{display:grid;gap:7px}
.mobile-guided-group{
  overflow:hidden;
  border:1px solid rgba(255,255,255,.075);
  border-radius:10px;
  background:#101510;
}
.mobile-guided-trigger{
  appearance:none;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto 22px;
  align-items:center;
  gap:8px;
  width:100%;
  min-height:48px;
  padding:9px 11px;
  border:0;
  background:transparent;
  color:var(--guided-text);
  font:750 13px/1.2 "MODTAC Plex","MODTAC Rajdhani",sans-serif;
  letter-spacing:.035em;
  text-align:left;
}
.mobile-guided-trigger em{color:#7f8981;font:700 9px/1 "MODTAC Plex",sans-serif;font-style:normal}
.mobile-guided-trigger i{color:var(--guided-gold);font-style:normal;text-align:center;transform:rotate(-90deg)}
.mobile-guided-trigger[aria-expanded="true"]{color:var(--guided-gold-soft);background:rgba(215,173,88,.055)}
.mobile-guided-trigger[aria-expanded="true"] i{transform:rotate(0)}
.mobile-guided-panel{
  display:grid;
  gap:12px;
  padding:10px;
  border-top:1px solid var(--guided-line);
  background:#0b0f0c;
}
.mobile-guided-panel[hidden]{display:none!important}
.mobile-guided-section{display:grid;gap:3px}
.mobile-guided-section>b{
  padding:3px 7px 5px;
  color:#c9b780;
  font:800 9px/1.15 "MODTAC Plex",sans-serif;
  letter-spacing:.105em;
}
.guided-mobile-link{
  min-height:42px!important;
  padding:8px 9px!important;
  border-bottom:1px solid rgba(255,255,255,.035);
  border-radius:7px;
  font-size:12px!important;
}
.guided-mobile-link:last-child{border-bottom-color:transparent}

/* Mobile category chips are deliberately broad shopper journeys. */
@media(max-width:1099px){
  .guided-mega-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.mobile-nav-open .mobile-guided-nav{display:grid}
  body.mobile-nav-open .mobile-guided-section .guided-link{display:grid!important;width:100%!important}
}

@media(min-width:1100px) and (max-width:1280px){
  .guided-mega-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px!important}
}
@media(min-width:1281px) and (max-width:1600px){
  .guided-mega-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px!important}
}
@media(min-width:1601px){
  .guided-mega-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}

@media(max-width:980px){
  .guided-tree-root-choice{min-height:46px;font-size:13px}
  .guided-tree-caret{min-height:46px}
  .guided-tree-panel .guided-link{min-height:40px!important;font-size:12px!important}
}

@media(max-width:560px){
  .mobile-guided-trigger{min-height:50px;font-size:13px}
  .guided-mobile-link{min-height:44px!important;font-size:12.5px!important}
}

@media(prefers-reduced-motion:reduce){
  .guided-tree-caret,.mobile-guided-trigger i{transition:none!important}
}

/* R9.4.1.8.13 — PDP filter hardening.
   Product pages reuse the guided tree markup. Keep browser/default button
   painting and older PDP button rules from turning guided entries white. */
.pdp-catalog-filter .guided-tree-root-choice,
.pdp-catalog-filter .guided-tree-caret,
.pdp-catalog-filter .guided-link,
.pdp-catalog-filter button.guided-link,
.pdp-catalog-filter a.guided-link{
  appearance:none!important;
  -webkit-appearance:none!important;
  background-color:transparent!important;
  background-image:none!important;
  color:var(--guided-muted)!important;
  border-color:transparent!important;
  box-shadow:none!important;
  text-decoration:none!important;
}
.pdp-catalog-filter .guided-tree-root-choice{color:var(--guided-text)!important}
.pdp-catalog-filter .guided-tree-root.active .guided-tree-root-choice{color:var(--guided-gold-soft)!important}
.pdp-catalog-filter .guided-tree-caret{color:var(--guided-gold)!important;border-left-color:rgba(255,255,255,.055)!important}
.pdp-catalog-filter .guided-link:hover,
.pdp-catalog-filter .guided-link:focus-visible{
  background:rgba(215,173,88,.075)!important;
  border-color:var(--guided-line-strong)!important;
  color:var(--guided-text)!important;
}


/* R9.4.1.8.16 — interaction hardening */
.guided-link,.guided-tree-root-choice,.guided-tree-caret{position:relative;z-index:1;pointer-events:auto;text-decoration:none}
.guided-link.active,.guided-link[aria-current="true"]{border-color:var(--guided-line-strong);background:rgba(215,173,88,.10);color:var(--guided-gold-soft)!important}
.guided-link.active em,.guided-link[aria-current="true"] em{color:var(--guided-gold-soft);border-color:var(--guided-line-strong)}
.guided-tree-root-choice{text-decoration:none}
.guided-tree-panel[hidden]{display:none!important}

/* R9.4.1.8.17 — Filter accordion / language-context / input-frame hardening.
   Every facet is collapsed by default; [hidden] must win over legacy #catalog rules.
   Shared styles apply equally on catalogue, PDP, desktop and mobile. */
.shared-catalog-filter .facet-heading{
  position:relative!important;
  z-index:3!important;
  pointer-events:auto!important;
  cursor:pointer!important;
  user-select:none;
}
.shared-catalog-filter .facet-heading > span:last-child{
  transition:transform .16s ease!important;
}
.shared-catalog-filter .facet-group:not(.is-open) > .facet-heading > span:last-child{
  transform:rotate(-90deg)!important;
}
.shared-catalog-filter .facet-group.is-open > .facet-heading > span:last-child{
  transform:rotate(0deg)!important;
}
.shared-catalog-filter .facet-body[hidden],
.shared-catalog-filter .technical-body[hidden],
.shared-catalog-filter .guided-tree-panel[hidden],
#catalog .facet-body[hidden],
#catalog .technical-body[hidden]{
  display:none!important;
}
.shared-catalog-filter .technical-body{
  display:grid;
  gap:0;
}
.shared-catalog-filter .facet-body.price-range{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:11px!important;
  width:100%!important;
  padding:4px 0 16px!important;
}
.shared-catalog-filter .facet-body.price-range > label{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:6px!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}
.shared-catalog-filter .facet-body.price-range > label > span:first-child{
  display:block!important;
  min-width:0!important;
  color:#d6ddd6!important;
  font:700 12px/1.25 "MODTAC Plex","MODTAC Inter",sans-serif!important;
}
.shared-catalog-filter .price-input{
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr)!important;
  align-items:stretch!important;
  width:100%!important;
  min-width:0!important;
  min-height:44px!important;
  overflow:hidden!important;
  border:1px solid #536154!important;
  border-radius:9px!important;
  background:#0d120e!important;
  box-shadow:none!important;
}
.shared-catalog-filter .price-input > span:first-child{
  display:grid!important;
  place-items:center!important;
  min-width:40px!important;
  border:0!important;
  border-right:1px solid #3b463d!important;
  background:rgba(255,255,255,.018)!important;
  color:#e1c57c!important;
  font:800 13px/1 "MODTAC Plex",sans-serif!important;
}
.shared-catalog-filter .price-input input,
.shared-catalog-filter .facet-search input{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  height:44px!important;
  min-height:44px!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  background:transparent!important;
  color:#f3f0e8!important;
  padding:0 11px!important;
  box-shadow:none!important;
  font:600 13px/1 "MODTAC Plex","MODTAC Inter",sans-serif!important;
}
.shared-catalog-filter .facet-search{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  margin:2px 0 7px!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid #465248!important;
  border-radius:8px!important;
  background:#101510!important;
}
.shared-catalog-filter .facet-search input{
  border-radius:8px!important;
}
.shared-catalog-filter input[type="number"]{
  appearance:textfield!important;
  -moz-appearance:textfield!important;
}
.shared-catalog-filter input[type="number"]::-webkit-inner-spin-button,
.shared-catalog-filter input[type="number"]::-webkit-outer-spin-button{
  -webkit-appearance:none!important;
  margin:0!important;
}
@media(max-width:900px){
  .shared-catalog-filter .facet-heading{min-height:48px!important;padding-block:12px!important;}
  .shared-catalog-filter .facet-body.price-range{gap:12px!important;}
  .shared-catalog-filter .price-input{min-height:46px!important;}
  .shared-catalog-filter .price-input input{height:46px!important;min-height:46px!important;}
}


/* R9.4.1.8.18 — nested guided filter accordions + compact mobile drawer.
   Root categories show only their headings; opening a root reveals subgroup headings,
   and each subgroup reveals its links only on demand. */
.guided-tree-root-row{display:none!important}
.guided-tree-root-toggle{
  appearance:none;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto 24px;
  align-items:center;
  gap:8px;
  width:100%;
  min-height:44px;
  padding:9px 10px;
  border:0;
  background:transparent;
  color:var(--guided-text);
  text-align:left;
  cursor:pointer;
  font:750 12px/1.2 "MODTAC Plex","MODTAC Rajdhani",sans-serif;
  letter-spacing:.035em;
}
.guided-tree-root-toggle em{
  color:#7f8981;
  font:650 9px/1 "MODTAC Plex",sans-serif;
  font-style:normal;
}
.guided-tree-root-toggle i{
  color:var(--guided-gold);
  font-style:normal;
  text-align:center;
  transform:rotate(-90deg);
  transition:transform .16s ease;
}
.guided-tree-root-toggle.open,
.guided-tree-root-toggle[aria-expanded="true"]{
  color:var(--guided-gold-soft);
  background:rgba(215,173,88,.045);
}
.guided-tree-root-toggle.open i,
.guided-tree-root-toggle[aria-expanded="true"] i{transform:rotate(0deg)}
.guided-tree-root.active>.guided-tree-root-toggle{color:var(--guided-gold-soft)}
.guided-tree-panel{
  display:grid;
  gap:4px;
  padding:6px 7px 8px!important;
}
.guided-tree-section{
  display:block!important;
  min-width:0;
  border:1px solid rgba(255,255,255,.045);
  border-radius:7px;
  overflow:hidden;
  background:rgba(255,255,255,.008);
}
.guided-tree-section-toggle{
  appearance:none;
  display:grid;
  grid-template-columns:minmax(0,1fr) 22px;
  align-items:center;
  gap:8px;
  width:100%;
  min-height:37px;
  padding:7px 8px;
  border:0;
  background:transparent;
  color:#c9b780;
  text-align:left;
  cursor:pointer;
  font:800 9px/1.2 "MODTAC Plex","MODTAC Rajdhani",sans-serif;
  letter-spacing:.095em;
}
.guided-tree-section-toggle i{
  color:var(--guided-gold);
  font-style:normal;
  text-align:center;
  transform:rotate(-90deg);
  transition:transform .16s ease;
}
.guided-tree-section.is-open>.guided-tree-section-toggle{
  background:rgba(215,173,88,.035);
  color:var(--guided-gold-soft);
}
.guided-tree-section.is-open>.guided-tree-section-toggle i,
.guided-tree-section-toggle[aria-expanded="true"] i{transform:rotate(0deg)}
.guided-tree-section-body{
  display:grid;
  gap:2px;
  padding:3px 5px 6px;
  border-top:1px solid rgba(255,255,255,.04);
}
.guided-tree-section-body[hidden]{display:none!important}
.guided-tree-section>b{display:none!important}

.shared-catalog-filter .filter-scroll-area{
  min-width:0;
}
#show-results-count[hidden]{display:none!important}

@media(max-width:900px){
  body.filter-drawer-open::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:89;
    background:rgba(0,0,0,.62);
    backdrop-filter:blur(1px);
  }
  .shared-catalog-filter.filters,
  .pdp-store-shell>.pdp-catalog-filter{
    inset:0 auto 0 0!important;
    width:min(360px,calc(100vw - 44px))!important;
    max-width:360px!important;
    height:100dvh!important;
    max-height:100dvh!important;
    padding:14px 13px!important;
    border-radius:0 14px 14px 0!important;
    border-right:1px solid rgba(215,173,88,.25)!important;
    overflow:hidden!important;
    box-shadow:18px 0 42px rgba(0,0,0,.58)!important;
    background:#101510!important;
    display:flex!important;
    flex-direction:column!important;
  }
  .shared-catalog-filter .filter-head{
    flex:0 0 auto;
    min-height:42px;
    align-items:center;
    padding-bottom:7px;
    border-bottom:1px solid rgba(255,255,255,.055);
  }
  .shared-catalog-filter .filter-scroll-area{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    padding:8px 4px 14px 0;
    scrollbar-gutter:stable;
  }
  .shared-catalog-filter #facet-groups{
    overflow:visible!important;
    min-height:0!important;
    flex:none!important;
    padding-right:0!important;
  }
  .shared-catalog-filter .filter-footer{
    flex:0 0 auto;
    position:static!important;
    display:grid;
    grid-template-columns:1fr 1.12fr;
    gap:8px;
    margin-top:0!important;
    padding:10px 0 0!important;
    border-top:1px solid rgba(255,255,255,.07)!important;
    background:#101510!important;
  }
  .shared-catalog-filter .filter-footer .btn{
    min-height:42px;
    margin:0!important;
    padding:8px 9px!important;
    white-space:nowrap;
    font-size:10px!important;
  }
  .guided-tree-root-toggle{min-height:43px}
  .guided-tree-section-toggle{min-height:39px}
}

@media(max-width:390px){
  .shared-catalog-filter.filters,
  .pdp-store-shell>.pdp-catalog-filter{
    width:calc(100vw - 28px)!important;
    max-width:none!important;
  }
}
@media(min-width:901px) and (max-width:1099px){
  .pdp-store-shell>.pdp-catalog-filter{
    inset:0 auto 0 0!important;
    width:min(380px,calc(100vw - 64px))!important;
    max-width:380px!important;
    height:100dvh!important;
    max-height:100dvh!important;
    padding:16px!important;
    border-radius:0 14px 14px 0!important;
    overflow-y:auto!important;
    box-shadow:18px 0 42px rgba(0,0,0,.58)!important;
  }
  body.filter-drawer-open::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:89;
    background:rgba(0,0,0,.55);
  }
}


/* R9.4.1.8.19 — explicit closed-state contract.
   Leaf links are never visible until the visitor opens the exact subgroup. */
.guided-tree-root-toggle[aria-expanded="false"] + .guided-tree-panel{
  display:none!important;
}
.guided-tree-section:not(.is-open) > .guided-tree-section-body,
.guided-tree-section-toggle[aria-expanded="false"] + .guided-tree-section-body{
  display:none!important;
}
.guided-tree-section-toggle[aria-expanded="true"] + .guided-tree-section-body{
  display:grid!important;
}
.guided-tree-root-toggle[aria-expanded="true"] + .guided-tree-panel{
  display:grid!important;
}

.mobile-guided-section{
  display:block;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.045);
  border-radius:8px;
  background:rgba(255,255,255,.008);
}
.mobile-guided-section-toggle{
  appearance:none;
  display:grid;
  grid-template-columns:minmax(0,1fr) 22px;
  align-items:center;
  gap:8px;
  width:100%;
  min-height:40px;
  padding:8px 9px;
  border:0;
  background:transparent;
  color:#c9b780;
  text-align:left;
  cursor:pointer;
  font:800 10px/1.2 "MODTAC Plex","MODTAC Rajdhani",sans-serif;
  letter-spacing:.075em;
}
.mobile-guided-section-toggle i{
  color:var(--guided-gold);
  font-style:normal;
  text-align:center;
  transform:rotate(-90deg);
  transition:transform .16s ease;
}
.mobile-guided-section.is-open > .mobile-guided-section-toggle,
.mobile-guided-section-toggle[aria-expanded="true"]{
  color:var(--guided-gold-soft);
  background:rgba(215,173,88,.035);
}
.mobile-guided-section.is-open > .mobile-guided-section-toggle i,
.mobile-guided-section-toggle[aria-expanded="true"] i{transform:rotate(0deg)}
.mobile-guided-section-body{
  display:grid;
  gap:2px;
  padding:4px 6px 7px;
  border-top:1px solid rgba(255,255,255,.04);
}
.mobile-guided-section-body[hidden]{display:none!important}
.mobile-guided-trigger[aria-expanded="false"] + .mobile-guided-panel{display:none!important}
.mobile-guided-trigger[aria-expanded="true"] + .mobile-guided-panel{display:grid!important}

.mobile-nav-section-toggle{
  appearance:none;
  display:grid;
  grid-template-columns:minmax(0,1fr) 22px;
  align-items:center;
  width:100%;
  min-height:44px;
  padding:9px 10px;
  border:1px solid rgba(255,255,255,.065);
  border-radius:9px;
  background:#101510;
  color:var(--guided-text);
  text-align:left;
  font:800 11px/1.2 "MODTAC Plex","MODTAC Rajdhani",sans-serif;
  letter-spacing:.06em;
}
.mobile-nav-section-toggle i{
  color:var(--guided-gold);
  font-style:normal;
  text-align:center;
  transform:rotate(-90deg);
}
.mobile-nav-section-toggle[aria-expanded="true"]{
  color:var(--guided-gold-soft);
  border-color:var(--guided-line-strong);
}
.mobile-nav-section-toggle[aria-expanded="true"] i{transform:rotate(0deg)}
.mobile-nav-section-body[hidden]{display:none!important}

@media(max-width:900px){
  .shared-catalog-filter.filters,
  .pdp-store-shell>.pdp-catalog-filter{
    width:min(330px,82vw)!important;
    max-width:330px!important;
  }
}
@media(max-width:390px){
  .shared-catalog-filter.filters,
  .pdp-store-shell>.pdp-catalog-filter{
    width:84vw!important;
    max-width:330px!important;
  }
}
