/*
 * Gutenberg H1: navigation content is edited in Core blocks.
 * These rules change presentation only, in the private witness template.
 * Desktop floats above the page; tablet and phone retain distinct layouts.
 */
.prepsy-native-lab-header {
  --prepsy-h1-blue: #0047d8;
  --prepsy-h1-ink: #0c2a48;
  --prepsy-h1-mist: #e9f1ff;
}

/* Gutenberg global/core CSS can be unloaded by WP Asset CleanUp on the
 * public site. Keep the search label screen-reader accessible without its
 * normal .screen-reader-text global rule (which otherwise overflows mobile). */
.prepsy-native-lab-header .wp-block-search__label.screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.prepsy-native-lab-header .prepsy-h1-header-inner {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: clamp(.5rem, 1vw, 1.25rem);
  min-height: 56px;
  justify-content: space-between;
}
.prepsy-native-lab-header .wp-block-site-logo img {
  display: block;
  width: 62px;
  height: auto;
}
.prepsy-native-lab-header .prepsy-h1-drawer {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
}
.prepsy-native-lab-header .prepsy-h1-drawer > summary {
  display: none;
}
/* Core/details assigns block-gap after its summary, even when that summary
   is hidden on desktop. Reset this intrinsic gap at the container boundary:
   otherwise the whole seven-link group sits about 12px below logo/search. */
.prepsy-native-lab-header .prepsy-h1-drawer > .prepsy-h1-navigation {
  margin-block-start: 0;
}
.prepsy-native-lab-header .prepsy-h1-navigation > .prepsy-h1-back,
.prepsy-native-lab-header .prepsy-h1-navigation > .prepsy-h1-drill-title {
  display: none;
}
.prepsy-native-lab-header .prepsy-h1-navigation {
  display: flex;
  align-items: center;
  /* Center a single navigation group between logo and search. The public
     Royal menu uses an approximately 20px intrinsic gap, not space-between
     distribution of the seven links across the entire header. */
  justify-content: center;
  flex-wrap: nowrap;
  gap: clamp(.65rem, 1.4vw, 1.25rem);
}
.prepsy-native-lab-header .prepsy-h1-menu,
.prepsy-native-lab-header .prepsy-h1-direct-link {
  flex: 0 0 auto;
  margin: 0;
}
.prepsy-native-lab-header .prepsy-h1-menu {
  position: relative;
}
.prepsy-native-lab-header .prepsy-h1-menu > summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: 44px;
  line-height: 1.2;
  gap: .28rem;
  padding: .65rem .2rem;
  list-style: none;
  cursor: pointer;
  color: var(--prepsy-h1-blue);
  font-size: clamp(.78rem, .95vw, .94rem);
  font-weight: 500;
  position: relative;
  text-decoration: none !important;
}
.prepsy-native-lab-header .prepsy-h1-menu > summary::-webkit-details-marker,
.prepsy-native-lab-header .prepsy-h1-drawer > summary::-webkit-details-marker {
  display: none;
}
.prepsy-native-lab-header .prepsy-h1-menu > summary::after {
  content: "";
  width: .35rem;
  height: .35rem;
  margin-left: .2rem;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-.12rem);
}
.prepsy-native-lab-header .prepsy-h1-menu[open] > summary::after {
  transform: rotate(225deg);
}
.prepsy-native-lab-header .prepsy-h1-direct-link > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: 44px;
  line-height: 1.2;
  padding: .65rem .2rem;
  color: var(--prepsy-h1-blue);
  font-size: clamp(.78rem, .95vw, .94rem);
  font-weight: 500;
  position: relative;
  text-decoration: none !important;
}
/* Royal uses a short warm accent line, not an underline through the label. */
.prepsy-native-lab-header .prepsy-h1-menu > summary::before,
.prepsy-native-lab-header .prepsy-h1-direct-link > a::after {
  content: "";
  position: absolute;
  left: .15rem;
  right: .15rem;
  bottom: .26rem;
  height: 2px;
  background: #f2ae2f;
  transform: scaleX(0);
  transform-origin: center;
  pointer-events: none;
}
.prepsy-native-lab-header .prepsy-h1-menu > summary:hover,
.prepsy-native-lab-header .prepsy-h1-menu[open] > summary,
.prepsy-native-lab-header .prepsy-h1-direct-link > a:hover {
  color: var(--prepsy-h1-blue);
  text-decoration: none !important;
}
.prepsy-native-lab-header .prepsy-h1-menu > summary:hover::before,
.prepsy-native-lab-header .prepsy-h1-menu[open] > summary::before,
.prepsy-native-lab-header .prepsy-h1-direct-link > a:hover::after {
  transform: scaleX(1);
}
/* A click must not leave the browser / core/details default blue rectangle.
   Keyboard focus remains visible via :focus-visible below. */
.prepsy-native-lab-header .prepsy-h1-menu > summary:focus:not(:focus-visible) {
  outline: none !important;
  box-shadow: none !important;
}

/* A transparent pointer corridor prevents the floating-panel gap from
   breaking desktop hover. Mobile uses the native in-flow details instead. */
@media (min-width: 1025px) {
  .prepsy-native-lab-header .prepsy-h1-menu[open]::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: 1.15rem;
    pointer-events: auto;
  }
}

/* Floating panels, not an unstyled full-width dropdown. */
.prepsy-native-lab-header .prepsy-h1-mega-panel {
  /* Core's generated details/block-gap styles otherwise push the popup
     24px down in the real WordPress stylesheet. */
  margin-block-start: 0;
  position: absolute;
  box-sizing: border-box;
  z-index: 50;
  top: calc(100% + 1.45rem);
  left: 0;
  right: auto;
  transform: translateX(var(--prepsy-h1-panel-shift, 0px));
  width: min(900px, calc(100vw - 2rem));
  max-height: min(72dvh, 680px);
  overflow-y: auto;
  padding: 2.25rem 1.85rem 2.5rem;
  border: 1px solid rgb(190 211 241 / 42%);
  border-radius: 1.15rem;
  /* The panel is an information surface, not glass. Opaque paint is more
     legible over the hero and avoids an expensive second backdrop blur. */
  background: var(--prepsy-h1-mist);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-shadow: 0 .9rem 1.8rem rgb(12 42 72 / 11%);
  color: var(--prepsy-h1-blue);
}
.prepsy-native-lab-header .prepsy-h1-menu:nth-of-type(1) > .prepsy-h1-mega-panel {
  width: min(550px, calc(100vw - 2rem));
}
.prepsy-native-lab-header .prepsy-h1-menu:nth-of-type(4) > .prepsy-h1-mega-panel {
  width: min(460px, calc(100vw - 2rem));
}
.prepsy-native-lab-header .prepsy-h1-mega-grid {
  display: flex;
  align-items: flex-start;
  flex-wrap: nowrap;
  gap: 3.125rem;
  margin: 0;
}
.prepsy-native-lab-header .prepsy-h1-mega-grid > .wp-block-column {
  flex: 1 1 0;
  min-width: 0;
}
.prepsy-native-lab-header .prepsy-h1-mega-grid > .wp-block-column + .wp-block-column {
  padding-left: 1.75rem;
  border-left: 1px solid rgb(0 71 216 / 18%);
}
.prepsy-native-lab-header .prepsy-h1-section-title {
  margin: 0 0 3rem;
  color: var(--prepsy-h1-blue);
  font-size: clamp(1.2rem, 1.45vw, 1.5rem);
  line-height: 1.3;
  font-weight: 700;
}
.prepsy-native-lab-header .prepsy-h1-link-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.prepsy-native-lab-header .prepsy-h1-link-list > li {
  display: block;
  list-style: none;
  margin: 0 0 1.31rem;
  padding: 0;
}
.prepsy-native-lab-header .prepsy-h1-link-list > li::marker {
  content: "";
}
.prepsy-native-lab-header .prepsy-h1-link-list > li:last-child {
  margin-bottom: 0;
}
.prepsy-native-lab-header .prepsy-h1-link-list a {
  color: var(--prepsy-h1-blue);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  text-decoration: none;
}
/* Royal marks exactly five category/collection destinations with a small
   persistent chevron. Core/list-item disables className support, so style
   the canonical link URLs directly, not fragile nth-child positions or
   duplicate markup/JS. This remains fully editable in Gutenberg. */
.prepsy-native-lab-header .prepsy-h1-link-list a:is(
  [href="https://prepsy.fr/symptomes/"],
  [href="https://prepsy.fr/symptomes/prosopagnosie/"],
  [href="https://prepsy.fr/symptomes/quandcadure/"],
  [href="https://prepsy.fr/nos-articles/"],
  [href="https://www.youtube.com/@prepsy_fr/videos"]
) {
  --prepsy-h1-underline-offset: 1.15rem;
  padding-inline-start: var(--prepsy-h1-underline-offset);
}
.prepsy-native-lab-header .prepsy-h1-link-list a:is(
  [href="https://prepsy.fr/symptomes/"],
  [href="https://prepsy.fr/symptomes/prosopagnosie/"],
  [href="https://prepsy.fr/symptomes/quandcadure/"],
  [href="https://prepsy.fr/nos-articles/"],
  [href="https://www.youtube.com/@prepsy_fr/videos"]
)::before {
  content: "";
  position: absolute;
  left: .13rem;
  top: 50%;
  width: .38rem;
  height: .38rem;
  box-sizing: border-box;
  border-top: 2px solid #7468cc;
  border-right: 2px solid #7468cc;
  transform: translateY(-50%) rotate(45deg);
  pointer-events: none;
}
/* Submenu hover: a short #f2ae2f line below the label, preserving blue
   text and avoiding an underline underneath the chevron itself. */
.prepsy-native-lab-header .prepsy-h1-link-list a {
  position: relative;
  color: var(--prepsy-h1-blue);
  text-decoration: none;
}
.prepsy-native-lab-header .prepsy-h1-link-list a::after {
  content: "";
  position: absolute;
  bottom: -.2rem;
  left: var(--prepsy-h1-underline-offset, 0);
  right: 0;
  height: 2px;
  background: #f2ae2f;
  transform: scaleX(0);
  transform-origin: left;
  pointer-events: none;
}
.prepsy-native-lab-header .prepsy-h1-link-list a:is(:hover, :focus-visible, :active) {
  color: var(--prepsy-h1-blue);
  text-decoration: none;
}
.prepsy-native-lab-header .prepsy-h1-link-list a:is(:hover, :focus-visible, :active)::after {
  transform: scaleX(1);
}
.prepsy-native-lab-header :is(summary, a, button, input):focus-visible {
  outline: 2px solid var(--prepsy-h1-blue);
  outline-offset: 4px;
  border-radius: .2rem;
}

/* The search field remains the native WordPress GET form. */
.prepsy-native-lab-header .prepsy-h1-header-inner .wp-block-search {
  flex: 0 0 2.55rem;
  width: 2.55rem;
  position: relative;
  margin: 0;
}
.prepsy-native-lab-header .prepsy-h1-header-inner .wp-block-search__inside-wrapper {
  max-width: none;
  width: 2.55rem;
  border: 0;
}
.prepsy-native-lab-header .prepsy-h1-header-inner .wp-block-search__input {
  display: none;
}
.prepsy-native-lab-header .prepsy-h1-header-inner .wp-block-search__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.55rem;
  height: 2.55rem;
  min-width: 2.55rem;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: var(--prepsy-h1-blue);
  color: #fff;
}
/* Expand only the inside wrapper: the form keeps its 41px flex slot, so
   neither navigation label alignment nor button centring shifts on click. */
.prepsy-native-lab-header .prepsy-h1-header-inner .wp-block-search.is-open {
  z-index: 70;
}
.prepsy-native-lab-header .prepsy-h1-header-inner .wp-block-search.is-open .wp-block-search__inside-wrapper {
  position: absolute;
  z-index: 70;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  gap: .3rem;
  box-sizing: border-box;
  width: min(27rem, calc(100vw - 2rem));
  padding: .25rem;
  border: 1px solid #bad2ff;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 .35rem 1rem rgb(12 42 72 / 15%);
}
.prepsy-native-lab-header .prepsy-h1-header-inner .wp-block-search.is-open .wp-block-search__input {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  padding: .55rem .85rem;
  border: none;
  border-radius: 999px;
  background: #fff;
}

/* Lock only the private lab document while the touchscreen drawer is
   open. The drawer itself owns the scroll; no chaining to the underlying
   content on touch or trackpad. */
@media (max-width: 1024px) {
  /* SOS (#sos-btn) is a site-wide fixed element with z-index: 9999, equal
     to the closed lab header. It is rendered after the header and therefore
     covered the open drawer. Promote the HEADER stacking context only while
     its native menu is open; increasing the nested panel's z-index alone
     cannot escape the lower parent stacking context. This also keeps the
     public consent dialog (z-index: 99999) above the menu as required. */
  .prepsy-native-lab-header.is-mobile-nav-open {
    z-index: 10000;
  }
  html.prepsy-h1-nav-locked,
  body.prepsy-h1-nav-locked {
    overflow: hidden !important;
    overscroll-behavior: none;
  }
}
/* Tablet and phone share a two-level native block drawer. We decorate the
   existing core/details rather than cloning their links into a second menu. */
@media (max-width: 1024px) {
  .prepsy-native-lab-header .prepsy-h1-header-inner {
    min-height: 54px;
    justify-content: space-between;
    position: relative;
    gap: .25rem;
  }
  .prepsy-native-lab-header .wp-block-site-logo {
    display: none;
  }
  .prepsy-native-lab-header .prepsy-h1-drawer {
    flex: 0 1 auto;
    margin-left: 0;
    order: -1;
  }
  /* Like the public touch drawer: when open, close sits on the right, and
     the search control disappears until navigation is dismissed. */
  .prepsy-native-lab-header.is-mobile-nav-open .prepsy-h1-drawer {
    order: 2;
    margin-left: auto;
  }
  .prepsy-native-lab-header.is-mobile-nav-open .wp-block-search {
    display: none;
  }
  .prepsy-native-lab-header .prepsy-h1-drawer > summary {
    position: relative;
    z-index: 90;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: .25rem;
    background: transparent;
    color: var(--prepsy-h1-blue);
    font-size: 0;
    cursor: pointer;
    list-style: none;
  }
  .prepsy-native-lab-header .prepsy-h1-drawer > summary::before {
    content: "";
    display: block;
    width: 24px;
    height: 3px;
    background: currentColor;
    box-shadow: 0 -8px 0 currentColor, 0 8px 0 currentColor;
  }
  .prepsy-native-lab-header .prepsy-h1-drawer[open] > summary::before {
    box-shadow: none;
    transform: rotate(45deg);
  }
  .prepsy-native-lab-header .prepsy-h1-drawer[open] > summary::after {
    content: "";
    position: absolute;
    width: 24px;
    height: 3px;
    background: currentColor;
    transform: rotate(-45deg);
  }
  .prepsy-native-lab-header .prepsy-h1-navigation {
    box-sizing: border-box;
    position: fixed;
    z-index: 80;
    inset: var(--prepsy-h1-nav-top, 100px) 0 0;
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: .15rem;
    min-height: 0;
    max-height: none;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
    padding: 1rem clamp(1rem, 2vw, 1.5rem) max(2rem, env(safe-area-inset-bottom));
    border: 0;
    border-radius: 0;
    background: var(--prepsy-h1-mist);
    box-shadow: none;
  }
  .prepsy-native-lab-header .prepsy-h1-back,
  .prepsy-native-lab-header .prepsy-h1-drill-title {
    display: none;
  }
  .prepsy-native-lab-header .prepsy-h1-navigation.is-drilled > .prepsy-h1-back {
    display: inline-flex;
    position: sticky;
    top: 0;
    z-index: 2;
    align-items: center;
    align-self: stretch;
    min-height: 44px;
    margin: 0 0 .3rem;
    padding: .35rem .5rem;
    border: 0;
    background: var(--prepsy-h1-mist);
    color: var(--prepsy-h1-blue);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4;
    font-family: inherit;
    cursor: pointer;
  }
  /* Mask the padded scroll region above the sticky back control: long
     link lists must not bleed behind it as users flick through the drawer. */
  .prepsy-native-lab-header .prepsy-h1-back::after {
    content: "";
    position: absolute;
    left: -1.5rem;
    right: -1.5rem;
    top: -1rem;
    height: 1rem;
    background: var(--prepsy-h1-mist);
    pointer-events: none;
  }
  .prepsy-native-lab-header .prepsy-h1-back::before {
    content: "‹";
    margin-right: .55rem;
    font-size: 1.5rem;
    line-height: 1;
  }
  .prepsy-native-lab-header .prepsy-h1-navigation.is-drilled > .prepsy-h1-drill-title {
    display: block;
    margin: .2rem 0 1rem;
    color: #5290e5;
    font-size: clamp(1.4rem, 2.6vw, 1.8rem);
    font-weight: 600;
    line-height: 1.3;
  }
  .prepsy-native-lab-header .prepsy-h1-navigation.is-drilled > :is(.prepsy-h1-menu, .prepsy-h1-direct-link):not([open]) {
    display: none;
  }
  .prepsy-native-lab-header .prepsy-h1-navigation.is-drilled > .prepsy-h1-menu[open] > summary {
    display: none;
  }
  .prepsy-native-lab-header .prepsy-h1-navigation.is-drilled > .prepsy-h1-menu[open] {
    width: 100%;
    margin: 0;
  }
  .prepsy-native-lab-header .prepsy-h1-menu,
  .prepsy-native-lab-header .prepsy-h1-direct-link {
    width: 100%;
  }
  .prepsy-native-lab-header .prepsy-h1-menu > summary,
  .prepsy-native-lab-header .prepsy-h1-direct-link > a {
    width: 100%;
    justify-content: space-between;
    padding: .7rem .5rem;
    font-size: 1rem;
  }
  .prepsy-native-lab-header .prepsy-h1-menu > summary::after,
  .prepsy-native-lab-header .prepsy-h1-menu[open] > summary::after {
    transform: rotate(-45deg);
    margin-right: .25rem;
  }
  /* Touch navigation has no hover underline; the current accordion state is
     already conveyed by the chevron and exposed section. */
  .prepsy-native-lab-header .prepsy-h1-menu > summary::before,
  .prepsy-native-lab-header .prepsy-h1-direct-link > a::after {
    display: none;
  }
  .prepsy-native-lab-header .prepsy-h1-mega-panel,
  .prepsy-native-lab-header .prepsy-h1-menu:nth-of-type(1) > .prepsy-h1-mega-panel,
  .prepsy-native-lab-header .prepsy-h1-menu:nth-of-type(4) > .prepsy-h1-mega-panel {
    position: static;
    transform: none;
    width: 100%;
    max-height: none;
    margin: 0;
    padding: .5rem 0 1rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    box-shadow: none;
  }
  .prepsy-native-lab-header .prepsy-h1-mega-grid {
    flex-direction: row;
    gap: clamp(1.25rem, 3vw, 2.5rem);
  }
  .prepsy-native-lab-header .prepsy-h1-mega-grid > .wp-block-column {
    width: 100%;
  }
  .prepsy-native-lab-header .prepsy-h1-mega-grid > .wp-block-column + .wp-block-column {
    padding-left: clamp(1rem, 2vw, 1.75rem);
    border-left: 1px solid rgb(0 71 216 / 18%);
  }
  .prepsy-native-lab-header .prepsy-h1-section-title {
    margin-bottom: 1.5rem;
  }
  .prepsy-native-lab-header .prepsy-h1-link-list > li {
    margin-bottom: 1rem;
  }
  .prepsy-native-lab-header .prepsy-h1-header-inner .wp-block-search {
    margin-left: auto;
  }
}

/* Restore the iPad two-column layout even below Core's 782px stack
   breakpoint. Keep the rules at top level for older Safari engines. */
@media (min-width: 700px) and (max-width: 1024px) {
  .prepsy-native-lab-header .prepsy-h1-mega-grid.wp-block-columns {
    flex-wrap: nowrap !important;
  }
  .prepsy-native-lab-header .prepsy-h1-mega-grid > .wp-block-column {
    flex-basis: 0 !important;
    flex-grow: 1 !important;
    min-width: 0;
  }
}

/* iPad only: a floating, bounded menu surface, visually separated from the
   rounded header. Unlike the phone drawer, it should not occupy the whole
   viewport or touch the toolbar. The same native links and single scrolling
   region remain in place; Safari has no reliance on nested media queries. */
@media (min-width: 700px) and (max-width: 1024px) {
  .prepsy-native-lab-header .prepsy-h1-navigation {
    inset: auto clamp(1.25rem, 3vw, 2.5rem) auto;
    top: calc(var(--prepsy-h1-nav-top, 100px) + 1rem);
    width: auto;
    max-width: 900px;
    margin-inline: auto;
    height: max-content;
    max-height: calc(100vh - var(--prepsy-h1-nav-top, 100px) - 2rem);
    max-height: calc(100dvh - var(--prepsy-h1-nav-top, 100px) - 2rem);
    padding: 1.4rem clamp(1.25rem, 3vw, 2rem) 1.75rem;
    border: 1px solid rgb(190 211 241 / 55%);
    border-radius: 1.3rem;
    background: var(--prepsy-h1-mist);
    box-shadow: 0 .9rem 1.8rem rgb(12 42 72 / 11%);
  }
}

/* Phone: full-width 54px toolbar, distinct from the rounded iPad design. */
@media (max-width: 699px) {
  /* Real 3-slot phone toolbar: burger / logo / search. The site-logo block
     already exists in Gutenberg; never clone its image or alter the pattern. */
  .prepsy-native-lab-header .prepsy-h1-header-inner {
    display: grid;
    grid-template-columns: 2.75rem minmax(0, 1fr) 2.75rem;
    column-gap: .5rem;
    align-items: center;
    min-height: 54px;
  }
  .prepsy-native-lab-header .wp-block-site-logo {
    display: block;
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
    margin: 0;
  }
  .prepsy-native-lab-header .wp-block-site-logo img {
    width: 76px;
    height: auto;
  }
  .prepsy-native-lab-header .prepsy-h1-drawer {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    margin-left: 0;
  }
  .prepsy-native-lab-header.is-mobile-nav-open .prepsy-h1-drawer {
    grid-column: 3;
    justify-self: end;
    margin-left: 0;
  }
  .prepsy-native-lab-header .prepsy-h1-header-inner .wp-block-search {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    margin-left: 0;
  }
  /* The expanded search must start *after* the 44px burger target plus an
     8px gap. It may cover the centered logo while editing, never the menu. */
  .prepsy-native-lab-header .prepsy-h1-header-inner .wp-block-search.is-open .wp-block-search__inside-wrapper {
    width: min(27rem, calc(100vw - 5.75rem));
  }
  .prepsy-native-lab-header .prepsy-h1-navigation {
    /* The measured toolbar bottom is the sole vertical offset. No nested
       "max-height" that fights the page's own scrolling region. */
    inset: var(--prepsy-h1-nav-top, 70px) 0 0;
    padding: 1rem 1rem max(2rem, env(safe-area-inset-bottom));
  }
  .prepsy-native-lab-header .prepsy-h1-mega-grid {
    flex-direction: column;
    gap: 1.5rem;
  }
  .prepsy-native-lab-header .prepsy-h1-mega-grid > .wp-block-column + .wp-block-column {
    padding: 0;
    border: 0;
  }
  .prepsy-native-lab-header .prepsy-h1-section-title {
    font-size: 1.12rem;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .prepsy-native-lab-header .prepsy-h1-menu > summary::after {
    transition: transform .15s ease;
  }
}
