/* Identical copies in all four public docroots: see root AGENTS.md.
   Scoped to public headers so admin and in-page controls retain their styles. */
.site-header { position: sticky; top: 0; z-index: 100; width: 100%; border-bottom: 1px solid rgba(234,223,216,.82); background: rgba(255,250,245,.91); backdrop-filter: blur(18px); }
.site-header .nav-wrap { display: flex; align-items: center; justify-content: space-between; min-height: 78px; gap: 20px; padding-block: 0; }
.site-header .brand { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 11px; font-size: 17px; font-weight: 850; letter-spacing: -.02em; color: #241a33; text-decoration: none; }
.site-header .brand > span:not(.brand-mark) { display: inline; }
.site-header .brand-mark { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 42px; height: 42px; padding: 4px; border-radius: 14px; color: #ad3927; background: linear-gradient(145deg,#ffe6d7,#ffd1e2); }
.site-header .brand-mark svg { width: 100%; height: 100%; }
.site-header .nav-wrap nav { order: 0; width: auto; min-width: 0; }
.site-header .nav-list { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px; list-style: none; margin: 0; padding: 0; }
.site-header .nav-wrap .nav-list > li { display: flex; }
.site-header .nav-list a, .site-header .product-menu summary { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 15px; border-radius: 999px; font-size: 14px; font-weight: 750; line-height: 1.5; color: #51475a; background: transparent; text-decoration: none; white-space: nowrap; }
.site-header .product-menu, .site-header .product-menu details { position: relative; }
.site-header .product-menu summary { cursor: pointer; list-style: none; gap: 6px; }
.site-header .product-menu summary::-webkit-details-marker { display: none; }
.site-header .nav-list a:hover, .site-header .product-menu summary:hover, .site-header .product-menu details[open] summary { color: #241a33; background: #f3e9e4; }
.site-header .nav-list a[aria-current="page"], .site-header .current-product summary { color: #fff; background: #241a33; }
.site-header .nav-list a[aria-current="page"]:hover, .site-header .current-product summary:hover, .site-header .current-product details[open] summary { color: #fff; background: #684291; }
.site-header .product-dropdown { position: absolute; top: calc(100% + 7px); right: 0; z-index: 40; display: grid; min-width: 170px; padding: 6px; border: 1px solid #eadfd8; border-radius: 14px; background: #fffaf5; box-shadow: 0 16px 34px rgba(44,29,63,.18); }
.site-header .product-dropdown a { justify-content: flex-start; min-height: 44px; padding: 8px 10px; border-radius: 9px; }
.site-header .lang-switch { display: inline-flex; order: 0; flex: none; align-items: center; justify-content: center; min-width: 36px; min-height: 36px; padding: 0 8px; margin-left: 0; border: 1px solid #eadfd8; border-radius: 999px; font-size: 12px; font-weight: 800; color: #695e72; text-decoration: none; }
.site-header :focus-visible { outline: 3px solid #146fc1; outline-offset: 3px; }
@media (max-width: 700px) {
  .site-header { position: relative; }
  .site-header .nav-wrap { width: calc(100% - 24px); min-height: 70px; flex-wrap: wrap; padding-block: 12px; gap: 7px; }
  .site-header .lang-switch { order: 1; }
  .site-header .nav-wrap nav { order: 2; width: 100%; }
  .site-header .nav-list { gap: 2px; }
  .site-header .nav-list a, .site-header .product-menu summary { padding-inline: 11px; font-size: 13px; }
}
