/* Shared site navigation. Kept separate from page styles and legacy menu scripts. */
.site-header {
  --site-header-height: 140px;
  --site-header-text: #353030;
  position: sticky; top: 0; z-index: 500;
  width: 100%; min-height: var(--site-header-height);
  padding: 0; margin: 0; border: 0; border-bottom: 1px solid #eee;
  background: #fff; color: var(--site-header-text);
  font-family: "avenir-lt-pro", system-ui, sans-serif; font-size: 18px; line-height: 1.4;
}
.site-header *, .site-header *::before, .site-header *::after { box-sizing: border-box; }
.site-header .site-header__inner {
  width: 100%; max-width: 1740px; min-height: var(--site-header-height);
  display: flex; align-items: center; justify-content: space-between; gap: 40px;
  margin: 0 auto; padding: 18px 36px;
}
.site-header .site-header__brands { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.site-header .site-header__brands a { display: flex; }
.site-header .site-header__brands img { display: block; width: 90px; height: 90px; object-fit: contain; margin: 0; }
.site-header .site-header__navigation { display: flex; flex: 1; align-items: center; justify-content: space-between; gap: 32px; max-width: none; margin: 0; padding: 0; }
.site-header ul { list-style: none; margin: 0; padding: 0; }
.site-header .site-header__links { display: flex; align-items: center; justify-content: center; flex: 1; gap: 24px; flex-wrap: nowrap; }
.site-header a, .site-header summary { color: var(--site-header-text); font-size: inherit; font-weight: 500; text-decoration: none; white-space: nowrap; }
.site-header .site-header__links > li > a, .site-header summary { display: flex; align-items: center; gap: 12px; padding: 12px 0; position: relative; cursor: pointer; }
.site-header a::after { content: none; }
.site-header .site-header__links a:hover, .site-header summary:hover { color: #bd1265; }
.site-header .site-header__links a[aria-current="page"] { text-decoration: underline; text-decoration-color: #ef4e92; text-decoration-thickness: 2px; text-underline-offset: 7px; }
.site-header a:focus-visible, .site-header summary:focus-visible, .site-header button:focus-visible { outline: 2px solid #bd1265; outline-offset: 5px; border-radius: 3px; }
.site-header summary { list-style: none; }
.site-header summary::-webkit-details-marker { display: none; }
.site-header details { position: relative; }
.site-header details[open] summary svg { transform: rotate(180deg); }
.site-header .site-header__product-links { position: absolute; top: 100%; left: -18px; display: flex; flex-direction: column; align-items: stretch; gap: 0; min-width: 180px; padding: 10px; background: #fff; border: 1px solid #eee; border-radius: 8px; box-shadow: 0 10px 24px #35212c18; }
.site-header .site-header__product-links a { display: block; padding: 10px 12px; }
.site-header .site-header__product-links a:hover { background: #fff1f7; border-radius: 4px; }
.site-header .site-header__social { display: flex; align-items: center; gap: 20px; flex-shrink: 0; }
.site-header .site-header__social a { display: flex; padding: 4px; }
.site-header .site-header__social img { display: block; width: 28px; height: 28px; object-fit: contain; margin: 0; }
.site-header .site-header__toggle { display: none; }
html { scroll-padding-top: 205px; }
@media (min-width: 1500px) {
  .site-header { --site-header-height: 164px; font-size: 20px; }
  .site-header .site-header__brands img { width: 120px; height: 120px; }
  .site-header .site-header__links { gap: 28px; }
}
@media (max-width: 1279px) {
  .site-header { --site-header-height: 94px; font-size: 18px; }
  .site-header .site-header__inner { padding: 14px 24px; gap: 20px; flex-wrap: wrap; }
  .site-header .site-header__brands img { width: 64px; height: 64px; }
  .site-header .site-header__navigation { flex-basis: 100%; flex-direction: column; align-items: stretch; gap: 24px; }
  .site-header .site-header__links { flex-direction: column; align-items: stretch; gap: 2px; }
  .site-header .site-header__links > li > a, .site-header summary { padding: 12px 8px; }
  .site-header .site-header__product-links { position: static; border: 0; border-left: 2px solid #ef4e92; border-radius: 0; box-shadow: none; margin: 0 0 8px 8px; padding: 0 10px; }
  .site-header .site-header__social { padding: 6px 8px 20px; }
  .site-header.is-enhanced .site-header__toggle { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 5px; flex-shrink: 0; width: 44px; height: 44px; padding: 8px; border: 0; border-radius: 4px; background: transparent; cursor: pointer; }
  .site-header .site-header__toggle span { display: block; width: 26px; height: 2px; background: #353030; transition: transform .2s, opacity .2s; }
  .site-header .site-header__toggle[aria-expanded="true"] span:first-child { transform: translateY(7px) rotate(45deg); }
  .site-header .site-header__toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .site-header .site-header__toggle[aria-expanded="true"] span:last-child { transform: translateY(-7px) rotate(-45deg); }
  .site-header.is-enhanced .site-header__navigation { display: none; position: absolute; top: 100%; left: 0; right: 0; max-height: calc(100dvh - 130px); overflow-y: auto; padding: 12px 24px 24px; background: #fff; border-bottom: 1px solid #eee; box-shadow: 0 12px 24px #35212c14; }
  .site-header.is-enhanced.is-open .site-header__navigation { display: flex; }
  body.site-nav-open { overflow: hidden; }
  html { scroll-padding-top: 145px; }
}
@media (max-width: 480px) {
  .site-header .site-header__inner { padding: 14px 20px; }
  .site-header .site-header__brands { gap: 10px; }
}
@media (prefers-reduced-motion: reduce) { .site-header * { transition: none !important; } }

/* Featured event (IFPA) menu item */
.site-header .site-header__links > li.site-header__event > a { padding: 8px 16px; border-radius: 999px; background: #e6007e; color: #fff; font-weight: 700; }
.site-header .site-header__links > li.site-header__event > a:hover, .site-header .site-header__links > li.site-header__event > a:focus-visible { background: #bd1265; color: #fff; }
