/* Shared header extensions. The original visual rules remain in styles.css. */
.announcement--cms {
  max-height: none;
  overflow: visible;
}
.announcement--cms .announcement__inner {
  gap: 12px;
  padding-block: 4px;
}
.announcement--cms .announcement__inner > a {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 0.79rem;
  line-height: 1.8;
  text-align: center;
}
.announcement--cms .announcement__close {
  position: static;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  align-self: center;
}
.site-header [hidden] { display: none !important; }
.site-header .header-without-promo { grid-template-columns: minmax(0, 1fr); }
.site-header .mega-menu__catalog { min-width: 0; }
.site-header .mega-menu__guide-art::after,
.site-header .mega-menu__guide-art > span { pointer-events: none; }
.site-header .mega-menu__guide-art > .header-promo-image-link {
  display: block; width: 100%; height: 100%; min-height: 0;
  padding: 0; border: 0;
}
.site-header .header-promo-image-link:focus-visible { outline-offset: -4px; }
.site-header .header-image-unavailable { background: var(--ink-soft); }
.site-header .mega-menu__guide-copy,
.site-header .mega-menu__heading,
.site-header .mega-menu__footer,
.site-header .department-link { overflow-wrap: anywhere; }
.site-header .mega-menu__footer,
.site-header .mega-menu__footer > div { flex-wrap: wrap; }
.site-header .mega-menu__heading h2 { line-height: 1.5; }
.site-header .mega-menu__guide-art > span { max-width: calc(100% - 40px); }
.site-header .brand { min-width: 0; max-width: 100%; }
.site-header .brand__copy { min-width: 0; }
.site-header .brand__copy strong,
.site-header .brand__copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.header-fallback { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.header-fallback a { min-height: 44px; display: inline-flex; align-items: center; }

/* Keep shared actions intact; page content must not squeeze the signup label. */
.site-header .header__actions > .button,
.site-header .header__actions > .login-link,
.site-header .header__actions > .header-search { flex-shrink: 0; white-space: nowrap; }

/* Laptop desktops retain the full navigation before the compact fallback. */
@media (min-width: 1041px) and (max-width: 1440px) {
  .site-header .header__inner { grid-template-columns: auto minmax(0, 1fr) auto; gap: 16px; }
  .site-header .desktop-nav { gap: clamp(10px, 1.15vw, 16px); }
}

/* Content that exceeds the desktop navigation width uses the same compact menu. */
.site-header.header-compact .desktop-nav,
.site-header.header-compact .header__actions > .button,
.site-header.header-compact .login-link {
    display: none;
  }.site-header.header-compact .header__inner {
    grid-template-columns: 1fr auto;
  }.site-header.header-compact .menu-toggle {
    display: grid;
  }.site-header.header-compact .menu-toggle__close {
    display: none;
  }.menu-open .site-header.header-compact .menu-toggle__open {
    display: none;
  }.menu-open .site-header.header-compact .menu-toggle__close {
    display: block;
  }.site-header.header-compact .mobile-menu {
    position: absolute;
    z-index: 89;
    top: 100%;
    right: 0;
    left: 0;
    height: var(--nav-available-height, calc(100svh - var(--header-height)));
    display: block;
    visibility: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: var(--paper-light);
    opacity: 0;
    transform: translateY(-10px);
    transition:
      opacity 220ms ease,
      transform 260ms var(--ease-out),
      visibility 220ms;
  }.menu-open .site-header.header-compact .mobile-menu {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
  }.site-header.header-compact .mobile-menu__inner {
    padding-block: 18px calc(32px + env(safe-area-inset-bottom));
  }.site-header.header-compact .mobile-departments { border-bottom: 1px solid var(--line); }.site-header.header-compact .mobile-departments__toggle,
.site-header.header-compact .mobile-departments > a {
    width: 100%;
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0;
    background: transparent;
    font-weight: 700;
    text-align: start;
  }.site-header.header-compact .mobile-departments__toggle > span { display: flex; align-items: center; gap: 10px; }.site-header.header-compact .mobile-departments__toggle svg { width: 19px; height: 19px; flex-shrink: 0; transition: transform 180ms ease; }.site-header.header-compact .mobile-departments__toggle[aria-expanded="true"] { color: var(--brand); }.site-header.header-compact .mobile-departments__panel { padding: 0 12px 10px; margin-bottom: 12px; border-radius: 16px; background: #eee8dc; }.site-header.header-compact .mobile-departments__panel ul { margin: 0; padding: 4px 0; list-style: none; }.site-header.header-compact .mobile-departments__panel li + li { border-top: 1px solid rgba(21,25,22,.07); }.site-header.header-compact .mobile-departments__panel a { min-height: 52px; display: flex; align-items: center; gap: 12px; padding: 8px 4px; font-size: 0.86rem; font-weight: 600; }.site-header.header-compact .mobile-departments__panel a:hover { color: var(--brand); }.site-header.header-compact .mobile-departments__panel svg { width: 21px; height: 21px; flex-shrink: 0; color: var(--brand); }.site-header.header-compact .mobile-departments__panel .mobile-departments__all { justify-content: space-between; border-top: 1px solid var(--line); color: var(--brand); font-size: 0.8rem; }.site-header.header-compact .mobile-menu__inner > a {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--line);
    font-weight: 700;
  }.site-header.header-compact .mobile-menu__inner > a svg {
    width: 18px;
    height: 18px;
  }.site-header.header-compact .mobile-menu__cta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 25px;
  }
