.header-nav { position: relative; }
.site-header:has(.catalog-menu[open]) { backdrop-filter: none; z-index: 100; }
.header-nav > .catalog-menu { position: static; }
.catalog-menu > summary { min-height: 44px; position: relative; gap: 9px; font-size: inherit; font-weight: 700; }
.catalog-menu > summary:focus-visible { outline: 3px solid #f0cd89; outline-offset: 3px; border-radius: 7px; }
.catalog-menu .menu-chevron { margin-inline-start: 8px; display: flex; }
.catalog-menu .menu-chevron .px-icon { width: 15px; height: 15px; transform: rotate(90deg); transition: transform .18s ease; }
.catalog-menu[open] .menu-chevron .px-icon { transform: rotate(-90deg); }
.catalog-mega-backdrop { position: fixed; inset: 0; z-index: 70; background: #102b4d45; }
.catalog-menu[open] > summary { z-index: 71; color: #f0cd89; }
.catalog-mega-panel { position: absolute; inset-inline: 0; top: calc(100% + 8px); z-index: 72; display: flex; flex-direction: column; max-height: min(650px, calc(100dvh - 230px)); overflow: auto; overscroll-behavior: contain; background: #fff; color: var(--ink); border: 1px solid #dce5ef; border-top: 3px solid var(--gold); border-radius: 18px; box-shadow: 0 24px 70px #102b4d40; text-align: start; scrollbar-width: thin; }
.catalog-mega-heading, .catalog-mega-footer { flex-shrink: 0; }
.catalog-mega-body { flex: 1 1 auto; min-height: 0; overflow: hidden; }
.catalog-mega-groups, .catalog-mega-content { overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.catalog-mega-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 24px; border-bottom: 1px solid #e6edf4; background: #fff; }
.catalog-mega-eyebrow { display: block; font-size: 10px; font-weight: 700; color: #9b702d; margin-bottom: 3px; }
.catalog-mega-heading h2 { font-size: 19px; font-weight: 800; line-height: 1.6; }
.catalog-mega-close { flex: 0 0 44px; width: 44px; height: 44px; display: grid; place-items: center; font-size: 28px; border: 1px solid #dce5ef; background: #f3f7fb; color: #355679; border-radius: 12px; }
.catalog-mega-close:hover { background: #e4edf7; }
.catalog-mega-body { display: grid; grid-template-columns: 255px minmax(0, 1fr); }
.catalog-mega-groups { padding: 14px; background: linear-gradient(155deg, #102b4d, #1b426d); color: #e2edf9; }
.catalog-mega-group { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 75px; padding: 12px; margin-bottom: 6px; border: 1px solid transparent; border-radius: 12px; text-align: start; }
.catalog-mega-group > span:nth-child(2) { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.catalog-mega-group strong { display: block; font-size: 13px; font-weight: 700; }
.catalog-mega-group small { display: block; font-size: 10px; color: #b5c8dd; margin-top: 3px; }
.catalog-mega-group:hover { background: #ffffff0c; }
.catalog-mega-group[aria-pressed=true] { background: #fff; color: var(--navy); border-color: #f0cd89; box-shadow: 0 5px 15px #071c3520; }
.catalog-mega-group[aria-pressed=true] small { color: #64758a; }
.catalog-mega-group-icon { display: grid; place-items: center; width: 38px; height: 38px; flex: 0 0 38px; border: 1px solid #ffffff20; background: #ffffff0c; border-radius: 11px; color: #f0cd89; }
.catalog-mega-group[aria-pressed=true] .catalog-mega-group-icon { color: #956a24; background: #fbf4e6; border-color: #edddbd; }
.catalog-mega-group-arrow .px-icon { width: 15px; height: 15px; }
html[dir=rtl] .catalog-mega-group-arrow .px-icon { transform: rotate(180deg); }
.catalog-mega-browse { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px; margin-top: 10px; border-top: 1px solid #ffffff22; font-size: 11px; color: #f0cd89; min-height: 44px; }
.catalog-mega-content { min-width: 0; padding: 24px; background: radial-gradient(ellipse at 100% 0, #eff5fb, transparent 60%); }
.catalog-mega-section-heading { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 20px; }
.catalog-mega-section-heading p { color: #79899b; font-size: 10px; margin-bottom: 3px; }
.catalog-mega-section-heading h3 { font-size: 22px; font-weight: 800; overflow-wrap: anywhere; }
.catalog-mega-section-heading > a { display: inline-flex; align-items: center; gap: 7px; color: #1b5899; font-size: 11px; min-height: 44px; }
.catalog-mega-section-heading .px-icon, .catalog-mega-footer .px-icon, .catalog-mega-browse .px-icon { width: 16px; height: 16px; }
.catalog-mega-branches { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.catalog-mega-branch { min-width: 0; background: #fff; border: 1px solid #e1e9f2; border-radius: 12px; transition: border-color .15s, box-shadow .15s; }
.catalog-mega-branch > a { display: flex; align-items: center; gap: 10px; min-height: 70px; padding: 12px; font-size: 12px; font-weight: 700; border-radius: 11px; }
.catalog-mega-branch > a > span:nth-child(2) { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.catalog-mega-branch small { flex-shrink: 0; padding: 2px 7px; border-radius: 6px; background: #f1f5fa; color: #6c7d90; font-size: 10px; font-weight: 500; }
.catalog-mega-branch:hover { border-color: #9bb9db; box-shadow: 0 5px 18px #102b4d09; }
.catalog-mega-branch > a:hover { color: #1466d8; background: #f5f9ff; }
.catalog-mega-branch-icon { width: 30px; height: 30px; display: grid; place-items: center; flex: 0 0 30px; color: #3d6b9d; background: #edf4fb; border-radius: 8px; }
.catalog-mega-branch-icon .px-icon { width: 19px; height: 19px; }
.catalog-mega-branch ul { list-style: none; padding: 0 10px 10px; }
.catalog-mega-branch .catalog-mega-branch { border: 0; border-inline-start: 2px solid #e9eff7; margin-inline-start: 12px; border-radius: 0; }
.catalog-mega-branch .catalog-mega-branch > a { min-height: 44px; font-size: 11px; font-weight: 500; }
.catalog-mega-branch .catalog-mega-branch .catalog-mega-branch-icon { display: none; }
.catalog-mega-group-link { display: flex; align-items: center; gap: 14px; padding: 16px; margin-top: 24px; border: 1px solid #e4dfd1; border-radius: 13px; background: linear-gradient(110deg, #f7f2e8, #fafcff); }
.catalog-mega-group-link > span:nth-child(2) { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.catalog-mega-group-link .catalog-mega-group-icon { background: #fff; border-color: #e7d9bc; color: #9b702d; }
.catalog-mega-group-link strong, .catalog-mega-group-link small { display: block; }
.catalog-mega-group-link strong { font-size: 12px; font-weight: 700; }
.catalog-mega-group-link small { font-size: 10px; color: #738195; margin-top: 3px; }
.catalog-mega-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 20px; padding: 12px 24px; background: #f5f8fc; border-top: 1px solid #e1e9f2; font-size: 11px; }
.catalog-mega-footer > span { display: flex; align-items: center; gap: 8px; color: #738195; }
.catalog-mega-footer > a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-weight: 700; color: #1b5899; }
.catalog-mega-empty { padding: 24px; color: var(--muted); }
html[dir=rtl] .catalog-mega-section-heading > a > .px-icon, html[dir=rtl] .catalog-mega-browse > .px-icon, html[dir=rtl] .catalog-mega-footer > a > .px-icon, html[dir=rtl] .catalog-mega-group-link > .px-icon { transform: rotate(180deg); }
@media (max-width: 900px) {
  .catalog-mega-body { grid-template-columns: 210px minmax(0, 1fr); }
  .catalog-mega-content { padding: 18px; }
  .catalog-mega-branches { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .catalog-mega-group { padding: 9px; gap: 8px; }
  .catalog-mega-group-arrow { display: none; }
}
@media (max-width: 640px) {
  .header-nav > .catalog-menu { display: block !important; width: 100%; }
  .catalog-menu > summary { justify-content: space-between; padding: 8px 0; border: 0; }
  .catalog-menu > summary > .px-icon { margin-inline-end: 0; }
  .catalog-menu > summary .menu-chevron { margin-inline-start: auto; }
  .catalog-menu > summary { justify-content: flex-start; }
}
@media (max-width: 640px), (max-height: 550px) {
  .catalog-mega-panel { position: fixed; inset: 8px 8px calc(82px + env(safe-area-inset-bottom, 0px)); max-height: none; border-radius: 16px; display: flex; flex-direction: column; }
  .catalog-mega-heading { flex-shrink: 0; padding: 12px 14px; }
  .catalog-mega-heading h2 { font-size: 16px; }
  .catalog-mega-body { display: flex; flex-direction: column; min-height: 0; overflow: auto; }
  .catalog-mega-groups { display: flex; flex-shrink: 0; gap: 8px; padding: 10px; overflow-x: auto; scrollbar-width: thin; }
  .catalog-mega-group { width: auto; flex: 0 0 auto; min-height: 64px; margin: 0; padding: 8px 10px; gap: 8px; }
  .catalog-mega-group strong { font-size: 11px; max-width: 150px; }
  .catalog-mega-group-icon { width: 32px; height: 32px; flex-basis: 32px; }
  .catalog-mega-group-icon .px-icon { width: 20px; height: 20px; }
  .catalog-mega-browse { display: none; }
  .catalog-mega-content { padding: 16px 12px; }
  .catalog-mega-content { overflow: visible; }
  .catalog-mega-section-heading { gap: 6px; margin-bottom: 10px; }
  .catalog-mega-section-heading h3 { font-size: 18px; }
  .catalog-mega-section-heading > a { font-size: 10px; }
  .catalog-mega-branch > a { min-height: 56px; }
  .catalog-mega-group-link { margin-top: 14px; padding: 12px; }
  .catalog-mega-footer { flex-shrink: 0; padding: 6px 14px; }
  .catalog-mega-footer > span { display: none; }
  .catalog-mega-footer > a { width: 100%; justify-content: space-between; }
  html.catalog-menu-open, .catalog-menu-open body { overflow: hidden; }
}
@media (prefers-reduced-motion: reduce) {
  .catalog-menu .menu-chevron .px-icon, .catalog-mega-branch { transition: none; }
}
