/* REDICO R2D2 / header layout repair — 2026-11-13.
 * The PHP header contains anonymous flex items made from NBSP-only text nodes.
 * Zero the wrapper text size, then size real controls explicitly. This keeps
 * the existing navigation controller, theme toggle, contacts and CTA intact.
 * The existing first cascade layer is required: old !important layout rules
 * in this layer outrank new unlayered declarations.
 */
@layer redicoReadability {
  html body .rx-header.rpm-header:has(#rpm-primary-nav) .rx-header-in.rr-reference-header {
    display: grid !important;
    grid-template-columns: auto auto minmax(0, 1fr) auto auto !important;
    grid-template-areas: "brand search menu contacts theme" !important;
    grid-template-rows: auto !important;
    align-items: center !important;
    gap: 10px !important;
    height: auto !important;
    min-height: 76px !important;
    padding-block: 8px !important;
  }
  html body .rx-header.rpm-header:has(#rpm-primary-nav) .rx-header-in > :first-child {
    grid-area: brand !important;
    min-width: 0 !important;
    width: auto !important;
    font-size: 0 !important;
    gap: 0 !important;
  }
  html body .rx-header.rpm-header:has(#rpm-primary-nav) .rx-logo {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 44px !important;
    line-height: 1 !important;
  }
  html body .rx-header.rpm-header:has(#rpm-primary-nav) .rx-logo img {
    width: 131px !important;
    max-width: 100% !important;
    height: auto !important;
  }
  html body .rx-header.rpm-header:has(#rpm-primary-nav) .rx-header-in > .rxmax-trigger {
    grid-area: search !important;
    justify-self: start !important;
    order: 0 !important;
    width: 104px !important;
    min-width: 104px !important;
    box-sizing: border-box !important;
    min-height: 44px !important;
    margin: 0 !important;
    font-size: 13px !important;
  }
  html body .rx-header.rpm-header .rx-header-in > #rpm-primary-nav {
    grid-area: menu !important;
    width: 100% !important;
    min-width: max-content !important;
    min-inline-size: max-content !important;
    height: 46px !important;
    padding-inline: 8px !important;
    box-sizing: border-box !important;
    container-type: normal !important;
  }
  html body .rx-header.rpm-header #rpm-primary-nav > .rpm-rail {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    width: max-content !important;
    max-width: none !important;
    gap: 4px !important;
    margin-inline: auto !important;
  }
  html body .rx-header.rpm-header #rpm-primary-nav > .rpm-rail > :is(a, button) {
    padding-inline: 8px !important;
    font-size: 13px !important;
    min-height: 44px !important;
    white-space: nowrap !important;
  }
  html body .rx-header.rpm-header:has(#rpm-primary-nav) .rx-header-in > .rx-header-contacts {
    grid-area: contacts !important;
    display: flex !important;
    position: static !important;
    inset: auto !important;
    flex-flow: column nowrap !important;
    width: auto !important;
    align-items: flex-end !important;
    justify-content: center !important;
    gap: 0 !important;
    border: 0 !important;
  }
  html body .rx-header.rpm-header:has(#rpm-primary-nav) .rx-header-contacts > a {
    min-height: 28px !important;
    height: auto !important;
    min-block-size: 28px !important;
    block-size: auto !important;
    padding: 3px 0 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
  }
  html body .rx-header.rpm-header:has(#rpm-primary-nav) .rx-header-in > .rx-hdr-right {
    grid-area: theme !important;
    display: flex !important;
    width: auto !important;
    min-width: 0 !important;
    gap: 12px !important;
    font-size: 0 !important;
  }
  html body .rx-header.rpm-header:has(#rpm-primary-nav) #rr-theme-lamp {
    flex: 0 0 64px !important;
    width: 64px !important;
    inline-size: 64px !important;
    min-width: 64px !important;
    font-size: 14px !important;
  }
  html body .rx-header.rpm-header:has(#rpm-primary-nav) .rx-hdr-right .rx-hdr-cta {
    min-width: 148px !important;
    padding-inline: 14px !important;
    font-size: 13px !important;
  }

  /* A second navigation row preserves every desktop label on small laptops. */
  @media (min-width: 1000px) and (max-width: 1399px) {
    html body .rx-header.rpm-header:has(#rpm-primary-nav) .rx-header-in.rr-reference-header {
      grid-template-columns: auto minmax(0, 1fr) auto !important;
      grid-template-areas: "brand contacts theme" "search menu menu" !important;
      gap: 4px 14px !important;
      padding-block: 6px !important;
    }
    html body .rx-header.rpm-header #rpm-primary-nav > .rpm-rail { margin-inline: 0 auto !important; }
  }

  @media (min-width: 1000px) {
    html body .rx-header.rpm-header #rpm-primary-nav > .rpm-rail {
      display: flex !important;
      visibility: visible !important;
      pointer-events: auto !important;
    }
    html body .rx-header.rpm-header #rpm-primary-nav > .rpm-burger { display: none !important; }
  }

  @media (max-width: 999px) {
    html body .rx-header.rpm-header:has(#rpm-primary-nav) .rx-header-in.rr-reference-header {
      grid-template-columns: minmax(0, 1fr) auto auto 64px !important;
      grid-template-areas: "brand search menu theme" "contacts contacts contacts contacts" !important;
      grid-template-rows: auto auto !important;
      gap: 0 8px !important;
      padding-block: 5px !important;
    }
    html body .rx-header.rpm-header:has(#rpm-primary-nav) .rx-header-in > .rxmax-trigger {
      width: 90px !important;
      min-width: 90px !important;
      padding-inline: 5px !important;
      gap: 4px !important;
    }
    html body .rx-header.rpm-header .rx-header-in > #rpm-primary-nav {
      width: auto !important;
      min-width: 44px !important;
      min-inline-size: 44px !important;
      padding: 0 !important;
      height: 44px !important;
    }
    html body .rx-header.rpm-header #rpm-primary-nav > .rpm-rail { display: none !important; }
    html body .rx-header.rpm-header #rpm-primary-nav > .rpm-burger {
      display: flex !important;
      visibility: visible !important;
      pointer-events: auto !important;
      min-width: 44px !important;
      min-height: 44px !important;
      width: auto !important;
      margin: 0 !important;
      padding: 8px !important;
      font-size: 13px !important;
    }
    html body .rx-header.rpm-header:has(#rpm-primary-nav) .rx-header-in > .rx-header-contacts {
      flex-flow: row wrap !important;
      align-items: center !important;
      gap: 0 16px !important;
      border-top: 1px solid var(--rb-line, #d6d2cc) !important;
    }
    html body .rx-header.rpm-header:has(#rpm-primary-nav) .rx-header-contacts > a {
      min-height: 44px !important;
      min-block-size: 44px !important;
      font-size: 12px !important;
    }
    html body .rx-header.rpm-header:has(#rpm-primary-nav) .rx-hdr-right .rx-hdr-cta { display: none !important; }
  }
  @media (max-width: 599px) {
    html body .rx-header.rpm-header:has(#rpm-primary-nav) .rx-logo img { width: 104px !important; }
    html body .rx-header.rpm-header:has(#rpm-primary-nav) .rx-header-in.rr-reference-header { column-gap: 4px !important; }
    html body .rx-header.rpm-header #rpm-primary-nav > .rpm-burger { font-size: 0 !important; gap: 0 !important; }
  }
  @media (max-width: 399px) {
    html body .rx-header.rpm-header:has(#rpm-primary-nav) .rx-logo img { width: 98px !important; }
  }
  /* At 320px: 88 + 84 + 44 + 64 + 3×2 = 286px, within the 288px header. */
  @media (max-width: 359px) {
    html body .rx-header.rpm-header:has(#rpm-primary-nav) .rx-header-in.rr-reference-header { column-gap: 2px !important; }
    html body .rx-header.rpm-header:has(#rpm-primary-nav) .rx-logo img { width: 88px !important; }
    html body .rx-header.rpm-header:has(#rpm-primary-nav) .rx-header-in > .rxmax-trigger {
      width: 84px !important;
      min-width: 84px !important;
    }
  }
}
