/*
 * FPS JAPAN Header — Brand / Categories / Search
 */

:where(.fpsj-theme .fpsj-header__skip) {
  position:fixed; z-index:99999; left:-10000px; top:8px;
  padding:.55rem .8rem; border-radius:7px;
  background:#fff; color:#07101f; font-size:.78rem; font-weight:800;
}
:where(.fpsj-theme .fpsj-header__skip:focus) { left:8px; }

:where(.fpsj-theme .fpsj-header) {
  position:sticky; z-index:1280;
  top:var(--wp-admin--admin-bar--height,0px);
  width:100%;
  border-bottom:1px solid rgba(74,118,180,.20);
  background:rgba(5,12,23,.985);
  box-shadow:0 8px 28px rgba(0,0,0,.20);
  backdrop-filter:blur(16px);
}
:where(.fpsj-theme .fpsj-header)::after {
  content:""; position:absolute; left:0; right:0; bottom:-1px; height:1px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent 3%,rgba(49,215,255,.14) 24%,rgba(52,120,255,.17) 72%,transparent 97%);
}

:where(.fpsj-theme .fpsj-header__inner) {
  display:grid;
  grid-template-columns:max-content minmax(0,1fr) max-content;
  align-items:center;
  gap:2.15rem;
  width:min(1480px,calc(100vw - 48px));
  min-height:64px;
  margin-inline:auto;
}

:where(.fpsj-theme .fpsj-header__brand) {
  display:flex; align-items:center; gap:.62rem;
  min-width:max-content; color:#f7f9fd; text-decoration:none;
}
:where(.fpsj-theme .fpsj-header__logo) {
  display:grid; place-items:center;
  width:36px; height:36px; flex:0 0 36px;
}
:where(.fpsj-theme .fpsj-header__logo-image) {
  display:block; width:36px; height:36px; object-fit:contain;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.46)) drop-shadow(0 0 5px rgba(49,215,255,.20));
}
:where(.fpsj-theme .fpsj-header__site-name) {
  font-size:.94rem; font-weight:900; line-height:1; letter-spacing:.03em; white-space:nowrap;
}

:where(.fpsj-theme .fpsj-header__desktop-nav),
:where(.fpsj-theme .fpsj-header .fpsj-category-navigation--header) { min-width:0; }

:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__root) {
  display:flex; justify-content:flex-start; align-items:stretch;
  gap:.34rem; min-height:64px; margin:0; padding:0; list-style:none;
}
:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__item) {
  position:relative; display:flex; align-items:stretch;
}
:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__trigger) {
  position:relative; display:flex; align-items:center; gap:.27rem;
  min-height:64px; padding:.5rem .62rem;
  color:#c9d5e5; font-size:.78rem; font-weight:760;
  line-height:1.1; text-decoration:none; white-space:nowrap;
}
:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__trigger)::after {
  content:""; position:absolute; left:.62rem; right:.62rem; bottom:0; height:2px;
  border-radius:999px 999px 0 0; background:var(--fpsj-cyan);
  opacity:0; transform:scaleX(.35); transform-origin:center;
  transition:opacity .15s ease,transform .15s ease;
}
:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__item:hover > .fpsj-category-menu-header__trigger),
:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__item:focus-within > .fpsj-category-menu-header__trigger) {
  color:#fff; background:rgba(52,120,255,.055);
}
:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__item:hover > .fpsj-category-menu-header__trigger)::after,
:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__item:focus-within > .fpsj-category-menu-header__trigger)::after {
  opacity:.92; transform:scaleX(1);
}
:where(.fpsj-theme .fpsj-header .fpsj-category-menu__chevron) {
  color:#657c9f; font-size:.67em; transform:translateY(-1px);
}

:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__panel) {
  position:absolute; z-index:1290; left:0; top:100%; display:none;
  width:min(490px,calc(100vw - 32px)); padding:.8rem;
  border:1px solid rgba(78,126,196,.30); border-top-color:rgba(78,126,196,.14);
  border-radius:0 0 12px 12px; background:rgba(7,17,31,.995);
  box-shadow:0 26px 68px rgba(0,0,0,.44);
}
:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__item:hover > .fpsj-category-menu-header__panel),
:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__item:focus-within > .fpsj-category-menu-header__panel) {
  display:block;
}
:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__panel-head) {
  display:flex; align-items:baseline; justify-content:space-between; gap:1rem;
  margin-bottom:.62rem; padding:.1rem .14rem .58rem;
  border-bottom:1px solid rgba(74,118,180,.20);
}
:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__panel-head > span) {
  color:var(--fpsj-cyan); font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.58rem; font-weight:850; letter-spacing:.12em;
}
:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__panel-head > strong) {
  overflow:hidden; color:#f4f7fc; font-size:.84rem; font-weight:800;
  text-overflow:ellipsis; white-space:nowrap;
}
:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__children) {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.34rem;
}
:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__children > a) {
  display:flex; align-items:center; justify-content:space-between; gap:.6rem;
  min-width:0; padding:.62rem .66rem;
  border:1px solid rgba(71,111,170,.14); border-radius:8px;
  background:rgba(12,27,49,.60); color:#c9d5e7;
  font-size:.75rem; font-weight:680; line-height:1.25; text-decoration:none;
}
:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__children > a:hover),
:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__children > a:focus-visible) {
  border-color:rgba(49,215,255,.24); background:rgba(49,215,255,.055); color:#fff;
}
:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__children > a i),
:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__all i) {
  flex:0 0 auto; color:var(--fpsj-cyan); font-style:normal;
}
:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__all) {
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  margin-top:.62rem; padding:.65rem .68rem; border-radius:8px;
  background:rgba(52,120,255,.09); color:#dbe8fb;
  font-size:.72rem; font-weight:760; text-decoration:none;
}

:where(.fpsj-theme .fpsj-header__utilities) {
  display:flex; align-items:center; justify-content:flex-end; min-width:max-content;
}
:where(.fpsj-theme .fpsj-header__search) {
  display:grid; grid-template-columns:minmax(0,1fr) 34px; align-items:center;
  width:194px; height:36px; overflow:hidden;
  border:1px solid rgba(75,118,178,.28); border-radius:8px; background:#040b15;
}
:where(.fpsj-theme .fpsj-header__search input) {
  width:100%; min-width:0; height:100%; padding:0 .6rem;
  border:0; outline:0; background:transparent; color:#dae4f3;
  font:inherit; font-size:.74rem;
}
:where(.fpsj-theme .fpsj-header__search input::placeholder) { color:#687b95; }
:where(.fpsj-theme .fpsj-header__search button) {
  display:grid; place-items:center; width:32px; height:32px; margin-right:2px;
  padding:0; border:0; border-radius:6px; background:var(--fpsj-signal);
  color:#fff; cursor:pointer;
}
:where(.fpsj-theme .fpsj-header__search svg) {
  width:15px; height:15px; fill:none; stroke:currentColor;
  stroke-width:1.8; stroke-linecap:round;
}
:where(.fpsj-theme .fpsj-header__mobile-nav) { display:none; }

@media (max-width:1160px) {
  :where(.fpsj-theme .fpsj-header__inner) {
    width:min(100%,calc(100vw - 32px)); gap:1rem;
  }
  :where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__trigger) {
    padding-inline:.46rem; font-size:.73rem;
  }
  :where(.fpsj-theme .fpsj-header__search) { width:160px; }
}
@media (max-width:980px) and (min-width:782px) {
  :where(.fpsj-theme .fpsj-header__search) {
    width:42px; grid-template-columns:1fr;
  }
  :where(.fpsj-theme .fpsj-header__search input) {
    position:absolute; width:1px; height:1px; clip:rect(0 0 0 0);
    clip-path:inset(50%); overflow:hidden;
  }
  :where(.fpsj-theme .fpsj-header__search button) { margin:auto; }
}
@media (max-width:781px) {
  :where(.fpsj-theme .fpsj-header__inner) {
    grid-template-columns:minmax(0,1fr) max-content;
    width:calc(100vw - 24px); min-height:56px;
  }
  :where(.fpsj-theme .fpsj-header__desktop-nav),
  :where(.fpsj-theme .fpsj-header__search) { display:none; }
  :where(.fpsj-theme .fpsj-header__utilities) { min-width:auto; }
  :where(.fpsj-theme .fpsj-header__mobile-nav) { display:block; }
  :where(.fpsj-theme .fpsj-header__logo),
  :where(.fpsj-theme .fpsj-header__logo-image) { width:30px; height:30px; }
  :where(.fpsj-theme .fpsj-header__site-name) { font-size:.85rem; }
}

/*
 * FPS JAPAN Header
 * Inherits Header visual system and replaces only navigation behavior.
 */

:where(.fpsj-theme .fpsj-header),
:where(.fpsj-theme .fpsj-header__inner),
:where(.fpsj-theme .fpsj-header__desktop-nav) {
  overflow:visible;
}

:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__root) {
  display:flex;
  justify-content:flex-start;
  align-items:stretch;
  gap:.34rem;
  min-height:64px;
  margin:0;
  padding:0;
  list-style:none;
}

:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__item) {
  position:relative;
  display:flex;
  align-items:stretch;
}

:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__trigger) {
  position:relative;
  display:flex;
  align-items:center;
  gap:.27rem;
  min-height:64px;
  padding:.5rem .62rem;
  color:#cbd6e6;
  font-size:.79rem;
  font-weight:760;
  line-height:1.1;
  text-decoration:none;
  white-space:nowrap;
}

:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__trigger)::after {
  content:"";
  position:absolute;
  left:.62rem;
  right:.62rem;
  bottom:0;
  height:2px;
  border-radius:999px 999px 0 0;
  background:var(--fpsj-cyan);
  opacity:0;
  transform:scaleX(.35);
  transform-origin:center;
  transition:opacity .15s ease,transform .15s ease;
}

:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__item:hover > .fpsj-category-menu-header__trigger),
:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__item:focus-within > .fpsj-category-menu-header__trigger) {
  color:#fff;
  background:rgba(52,120,255,.06);
}

:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__item:hover > .fpsj-category-menu-header__trigger)::after,
:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__item:focus-within > .fpsj-category-menu-header__trigger)::after {
  opacity:.94;
  transform:scaleX(1);
}

/* The panel overlaps the trigger by 1px, avoiding a dead pointer gap. */
:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__panel) {
  position:absolute;
  z-index:1310;
  left:0;
  top:calc(100% - 1px);
  display:none;
  width:min(540px,calc(100vw - 32px));
  padding:.85rem;
  border:1px solid rgba(78,126,196,.31);
  border-top-color:rgba(49,215,255,.20);
  border-radius:0 0 12px 12px;
  background:
    radial-gradient(circle at 12% 0%,rgba(49,215,255,.055),transparent 15rem),
    rgba(7,17,31,.995);
  box-shadow:0 28px 70px rgba(0,0,0,.46);
}

:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__item:hover > .fpsj-category-menu-header__panel),
:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__item:focus-within > .fpsj-category-menu-header__panel) {
  display:block;
}

/* Extra invisible hit-area for diagonal pointer travel into the dropdown. */
:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__panel)::before {
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-8px;
  height:8px;
}

:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__panel-head) {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:.68rem;
  padding:.08rem .12rem .62rem;
  border-bottom:1px solid rgba(74,118,180,.20);
}

:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__panel-head > span) {
  color:var(--fpsj-cyan);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.58rem;
  font-weight:850;
  letter-spacing:.13em;
}

:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__panel-head > strong) {
  overflow:hidden;
  color:#f4f7fc;
  font-size:.86rem;
  font-weight:820;
  text-overflow:ellipsis;
  white-space:nowrap;
}

:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__children) {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.4rem;
}

:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__child) {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.65rem;
  min-width:0;
  min-height:42px;
  padding:.68rem .72rem;
  border:1px solid rgba(71,111,170,.16);
  border-radius:8px;
  background:rgba(12,27,49,.66);
  color:#ccd8e9;
  font-size:.76rem;
  font-weight:700;
  line-height:1.25;
  text-decoration:none;
  transition:border-color .15s ease,background .15s ease,color .15s ease,transform .15s ease;
}

:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__child:hover),
:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__child:focus-visible) {
  border-color:rgba(49,215,255,.30);
  background:rgba(49,215,255,.065);
  color:#fff;
  transform:translateY(-1px);
}

:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__child > span) {
  overflow:hidden;
  text-overflow:ellipsis;
}

:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__child > i),
:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__all > i) {
  flex:0 0 auto;
  color:var(--fpsj-cyan);
  font-style:normal;
}

:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__all) {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-top:.68rem;
  padding:.68rem .74rem;
  border:1px solid rgba(52,120,255,.14);
  border-radius:8px;
  background:rgba(52,120,255,.09);
  color:#dce8fa;
  font-size:.73rem;
  font-weight:780;
  text-decoration:none;
}

:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__all:hover),
:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__all:focus-visible) {
  border-color:rgba(52,120,255,.30);
  background:rgba(52,120,255,.15);
  color:#fff;
}

@media (max-width:1160px) {
  :where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__trigger) {
    padding-inline:.46rem;
    font-size:.73rem;
  }
}

@media (max-width:781px) {
  /* v5 hides Search on mobile; v6 restores it as a compact icon. */
  :where(.fpsj-theme .fpsj-header .fpsj-header__search) {
    display:grid;
    width:38px;
    height:36px;
    grid-template-columns:1fr;
  }

  :where(.fpsj-theme .fpsj-header .fpsj-header__search input) {
    position:absolute;
    width:1px;
    height:1px;
    clip:rect(0 0 0 0);
    clip-path:inset(50%);
    overflow:hidden;
  }

  :where(.fpsj-theme .fpsj-header .fpsj-header__search button) {
    margin:auto;
  }
}

/* =========================================================
   Header text brightness refinement / v0.4.103
   ========================================================= */
:where(.fpsj-theme .fpsj-header__brand),
:where(.fpsj-theme .fpsj-header__site-name) {
  color:#ffffff;
}
:where(.fpsj-theme .fpsj-header .fpsj-category-menu-header__trigger) {
  color:#eef5ff;
}
:where(.fpsj-theme .fpsj-header .fpsj-category-menu__chevron) {
  color:#dbe7f7;
}


/* =========================================================
   Public link-color ownership lock / v0.4.105
   WordPress theme.json owns generic links. The canonical Header owns
   its own navigation palette, so these selectors intentionally carry
   normal component specificity instead of :where() zero specificity.
   ========================================================= */
.fpsj-theme .fpsj-header .fpsj-header__brand,
.fpsj-theme .fpsj-header .fpsj-header__site-name {
  color:#ffffff!important;
}
.fpsj-theme .fpsj-header .fpsj-category-menu-header__trigger {
  color:#eef5ff!important;
}
.fpsj-theme .fpsj-header .fpsj-category-menu__chevron {
  color:#dbe7f7!important;
}
.fpsj-theme .fpsj-header .fpsj-category-menu-header__child {
  color:#ccd8e9!important;
}
.fpsj-theme .fpsj-header .fpsj-category-menu-header__all {
  color:#dce8fa!important;
}
.fpsj-theme .fpsj-header .fpsj-category-menu-header__item:hover > .fpsj-category-menu-header__trigger,
.fpsj-theme .fpsj-header .fpsj-category-menu-header__item:focus-within > .fpsj-category-menu-header__trigger,
.fpsj-theme .fpsj-header .fpsj-category-menu-header__child:hover,
.fpsj-theme .fpsj-header .fpsj-category-menu-header__child:focus-visible,
.fpsj-theme .fpsj-header .fpsj-category-menu-header__all:hover,
.fpsj-theme .fpsj-header .fpsj-category-menu-header__all:focus-visible {
  color:#ffffff!important;
}


/* =========================================================
   Header spacing refinement / v0.4.107
   ProSettings-inspired breathing room without copying its visual design.
   ========================================================= */
@media (min-width:1161px) {
  .fpsj-theme .fpsj-header .fpsj-header__inner {
    width:min(1480px,calc(100vw - 48px))!important;
    min-height:64px!important;
    column-gap:2.15rem!important;
  }
  .fpsj-theme .fpsj-header .fpsj-header__brand {
    gap:.62rem!important;
  }
  .fpsj-theme .fpsj-header .fpsj-header__logo,
  .fpsj-theme .fpsj-header .fpsj-header__logo-image {
    width:36px!important;
    height:36px!important;
  }
  .fpsj-theme .fpsj-header .fpsj-category-menu-header__root {
    gap:.34rem!important;
    min-height:64px!important;
  }
  .fpsj-theme .fpsj-header .fpsj-category-menu-header__trigger {
    min-height:64px!important;
    padding:.5rem .62rem!important;
  }
}


/* =========================================================
   Mobile header search + menu usability refinement / v0.4.130
   Public mobile only. Desktop canonical Header remains untouched.
   ========================================================= */
@media (max-width:781px) {
  :where(.fpsj-theme .fpsj-header__inner) {
    grid-template-columns:minmax(0,1fr) max-content;
    grid-template-rows:auto auto;
    column-gap:.75rem;
    row-gap:.5rem;
    width:calc(100vw - 24px);
    min-height:0;
    padding-block:.5rem;
  }

  /* Let Search and mobile navigation participate directly in the Header grid. */
  :where(.fpsj-theme .fpsj-header__utilities) {
    display:contents;
  }

  :where(.fpsj-theme .fpsj-header__brand) {
    grid-column:1;
    grid-row:1;
    align-self:center;
    min-width:0;
  }

  :where(.fpsj-theme .fpsj-header__mobile-nav) {
    display:block;
    grid-column:2;
    grid-row:1;
    align-self:center;
  }

  /* The mobile Header exposes a real input instead of an icon-only Search. */
  :where(.fpsj-theme .fpsj-header .fpsj-header__search) {
    display:grid;
    grid-column:1 / -1;
    grid-row:2;
    grid-template-columns:minmax(0,1fr) 42px;
    width:100%;
    height:44px;
    border-radius:10px;
  }

  :where(.fpsj-theme .fpsj-header .fpsj-header__search input) {
    position:static;
    width:100%;
    height:100%;
    clip:auto;
    clip-path:none;
    overflow:visible;
    padding-inline:.8rem;
    font-size:16px; /* Prevent iOS focus zoom. */
  }

  :where(.fpsj-theme .fpsj-header .fpsj-header__search button) {
    width:40px;
    height:40px;
    margin:auto 2px auto 0;
    border-radius:8px;
  }

  :where(.fpsj-theme .fpsj-header .fpsj-header__search svg) {
    width:18px;
    height:18px;
  }

  /* Larger, isolated touch target. */
  :where(.fpsj-theme .fpsj-header .fpsj-mobile-category-menu__toggle) {
    width:48px;
    height:48px;
    border-radius:11px;
    touch-action:manipulation;
  }

  :where(.fpsj-theme .fpsj-header .fpsj-mobile-category-menu__icon) {
    width:20px;
    gap:5px;
  }

  /* Open below the two-row mobile Header instead of covering it. */
  :where(.fpsj-theme .fpsj-header .fpsj-mobile-category-menu__panel) {
    top:calc(var(--wp-admin--admin-bar--height,0px) + 116px);
    bottom:0;
    left:0;
    right:0;
    padding:18px 16px calc(28px + env(safe-area-inset-bottom));
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }

  :where(.fpsj-theme .fpsj-header .fpsj-mobile-category-menu__inner) {
    width:min(100%,620px);
  }

  :where(.fpsj-theme .fpsj-header .fpsj-mobile-category-menu__utility) {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.6rem;
    margin-bottom:1.15rem;
  }

  :where(.fpsj-theme .fpsj-header .fpsj-mobile-category-menu__utility a) {
    display:grid;
    place-items:center;
    min-height:48px;
    padding:.72rem .65rem;
    font-size:.86rem;
  }

  :where(.fpsj-theme .fpsj-header .fpsj-mobile-category-menu__label) {
    margin-bottom:.55rem;
  }

  :where(.fpsj-theme .fpsj-header .fpsj-category-navigation--mobile .fpsj-category-menu__root) {
    gap:.55rem;
  }

  :where(.fpsj-theme .fpsj-header .fpsj-category-navigation--mobile .fpsj-category-menu__link) {
    min-height:50px;
    padding:.82rem .9rem;
    font-size:.94rem;
    touch-action:manipulation;
  }

  :where(.fpsj-theme .fpsj-header .fpsj-category-navigation--mobile .fpsj-category-menu__submenu) {
    gap:.4rem;
    margin:.42rem 0 .5rem .55rem;
    padding-left:.6rem;
  }

  :where(.fpsj-theme .fpsj-header .fpsj-category-navigation--mobile .fpsj-category-menu__submenu .fpsj-category-menu__link) {
    min-height:44px;
    padding:.68rem .78rem;
    font-size:.84rem;
  }
}

@media (max-width:380px) {
  :where(.fpsj-theme .fpsj-header__site-name) {
    font-size:.8rem;
  }

  :where(.fpsj-theme .fpsj-header__inner) {
    width:calc(100vw - 20px);
  }
}

/* =========================================================
   Mobile drawer measured fit + compact navigation / v0.4.132
   The public runtime writes --fpsj-mobile-drawer-top from the actual
   sticky Header bottom. This avoids fixed-pixel drift on iOS and keeps
   the drawer below both the brand row and the real mobile Search row.
   ========================================================= */
@media (max-width:781px) {
  :where(.fpsj-theme .fpsj-header) {
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }

  :where(.fpsj-theme .fpsj-header .fpsj-mobile-category-menu__panel) {
    position:fixed;
    top:var(--fpsj-mobile-drawer-top,calc(var(--wp-admin--admin-bar--height,0px) + 132px));
    right:0;
    bottom:0;
    left:0;
    width:100vw;
    height:auto;
    max-height:none;
    box-sizing:border-box;
    overflow-x:hidden;
    overflow-y:auto;
    padding:14px 14px calc(24px + env(safe-area-inset-bottom));
    background:
      radial-gradient(circle at 50% 0,rgba(52,120,255,.14),transparent 26rem),
      linear-gradient(180deg,#07101f 0%,#050a13 100%);
    box-shadow:0 18px 38px rgba(0,0,0,.36);
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }

  :where(.fpsj-theme .fpsj-header .fpsj-mobile-category-menu__inner) {
    width:min(100%,620px);
    min-height:100%;
    margin-inline:auto;
    padding-bottom:max(.5rem,env(safe-area-inset-bottom));
    box-sizing:border-box;
  }

  :where(.fpsj-theme .fpsj-header .fpsj-mobile-category-menu__utility) {
    gap:8px;
    margin-bottom:14px;
  }

  :where(.fpsj-theme .fpsj-header .fpsj-mobile-category-menu__utility a),
  :where(.fpsj-theme .fpsj-header .fpsj-category-navigation--mobile .fpsj-category-menu__link) {
    box-sizing:border-box;
  }

  :where(.fpsj-theme .fpsj-header .fpsj-mobile-category-menu__utility a) {
    min-height:44px;
    padding:9px 10px;
    font-size:14px;
    line-height:1.2;
  }

  :where(.fpsj-theme .fpsj-header .fpsj-mobile-category-menu__label) {
    margin-bottom:8px;
    font-size:11px;
    line-height:1.2;
  }

  :where(.fpsj-theme .fpsj-header .fpsj-category-navigation--mobile .fpsj-category-menu__root) {
    gap:8px;
  }

  :where(.fpsj-theme .fpsj-header .fpsj-category-navigation--mobile .fpsj-category-menu__link) {
    min-height:48px;
    padding:10px 12px;
    font-size:15px;
    line-height:1.25;
  }

  :where(.fpsj-theme .fpsj-header .fpsj-category-navigation--mobile .fpsj-category-menu__submenu) {
    gap:6px;
    margin:6px 0 8px 10px;
    padding-left:10px;
  }

  :where(.fpsj-theme .fpsj-header .fpsj-category-navigation--mobile .fpsj-category-menu__submenu .fpsj-category-menu__link) {
    min-height:44px;
    padding:9px 11px;
    font-size:14px;
    line-height:1.25;
  }

  :where(body.fpsj-mobile-drawer-open) {
    overflow:hidden;
  }
}


/* =========================================================
   Mobile category accordion / v0.4.133
   Child categories are collapsed by default. The active branch can be
   server-rendered open, while JavaScript keeps one sibling branch open.
   ========================================================= */
@media (max-width:781px) {
  :where(.fpsj-theme .fpsj-header .fpsj-category-navigation--mobile .fpsj-category-menu__accordion-toggle) {
    appearance:none;
    -webkit-appearance:none;
    border:1px solid rgba(74,118,180,.20);
    font:inherit;
    text-align:left;
    cursor:pointer;
    touch-action:manipulation;
  }

  :where(.fpsj-theme .fpsj-header .fpsj-category-navigation--mobile .fpsj-category-menu__accordion-toggle .fpsj-category-menu__chevron) {
    flex:0 0 auto;
    transition:transform .18s ease,color .18s ease;
  }

  :where(.fpsj-theme .fpsj-header .fpsj-category-navigation--mobile .fpsj-category-menu__accordion-toggle[aria-expanded="true"]) {
    border-color:rgba(49,215,255,.30);
    background:#091625;
    color:var(--fpsj-cyan);
  }

  :where(.fpsj-theme .fpsj-header .fpsj-category-navigation--mobile .fpsj-category-menu__accordion-toggle[aria-expanded="true"] .fpsj-category-menu__chevron) {
    color:var(--fpsj-cyan);
    transform:rotate(180deg);
  }

  :where(.fpsj-theme .fpsj-header .fpsj-category-navigation--mobile .fpsj-category-menu__submenu[hidden]) {
    display:none!important;
  }

  :where(.fpsj-theme .fpsj-header .fpsj-category-navigation--mobile .fpsj-category-menu__all-link) {
    min-height:40px;
    border-color:rgba(49,215,255,.14);
    background:rgba(49,215,255,.045);
    color:#bcd2ea;
    font-size:13px;
    font-weight:720;
  }

  :where(.fpsj-theme .fpsj-header .fpsj-category-navigation--mobile .fpsj-category-menu__all-link > span:last-child) {
    flex:0 0 auto;
    color:var(--fpsj-cyan);
  }
}
