/* Inter 4.1, unmodified official font; license bundled alongside the local file. */
@font-face {
    font-family: 'Oplynt Header Inter'; font-style: normal; font-weight: 700; font-display: swap;
    src: url('../fonts/inter/Inter-Bold.woff2') format('woff2');
}
.hn-header-actions { display: inline-flex; align-items: center; justify-content: flex-end; gap: 20px; max-width: 100%; color: inherit; vertical-align: middle; }
/* Compact desktop controls share equal insets, with larger touch targets below. */
.hn-header-compact { gap: 4px; }
.hn-header-tone-light { color: #171717; }
.hn-header-tone-dark { color: #fff; }
.hn-header-actions .hn-header-control,
.hn-header-actions .wn-ajax-search-toggle {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    position: relative; min-width: 44px; min-height: 44px; margin: 0 !important; padding: 0 !important;
    border: 0; border-radius: 0; background: none !important; color: inherit !important;
    font: 700 14px/20px 'Oplynt Header Inter', Inter, sans-serif; letter-spacing: normal; text-transform: none; text-decoration: none; cursor: pointer;
    mix-blend-mode: normal; transform: none; box-sizing: border-box;
}
.hn-header-actions .wn-ajax-search-toggle * { color: inherit !important; }
/* Match the 6px inset of a 20px icon inside its 32px desktop hit area.
   Mixed controls then have equal visual gaps, not just equal flex gaps. */
.hn-header-compact :is(.hn-header-control, .wn-ajax-search-toggle) { min-width: 32px; }
.hn-header-compact :is(.hn-header-control, .wn-ajax-search-toggle):has(> .hn-header-label) { padding-inline: 6px !important; }
.hn-header-actions .wn-ajax-search-wrap { display: inline-flex; align-items: center; margin: 0; flex: 0 0 auto; }
.hn-header-actions .hn-header-cart { flex: 0 0 auto; }
.hn-header-actions .hn-header-svg { display: block; width: 20px; height: 20px; flex: 0 0 20px; fill: currentColor; }
.hn-header-actions .hn-header-control:hover,
.hn-header-actions .wn-ajax-search-toggle:hover { color: inherit !important; background: transparent !important; box-shadow: none; }
.hn-header-actions .hn-header-svg,
.hn-header-actions .hn-header-label { transition: transform .3s ease, color .3s ease; }
.hn-header-actions .hn-header-label { font: inherit; letter-spacing: normal; white-space: nowrap; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.hn-header-actions .wn-ajax-search-toggle:hover svg { opacity: 1; }
.hn-header-actions { --hn-header-hover: var(--e-global-color-accent, #304ffe); }
.hn-header-actions :is(.hn-header-control, .wn-ajax-search-toggle):focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.hn-header-stacked :is(.hn-header-control, .wn-ajax-search-toggle) { flex-direction: column; gap: 6px; }
.hn-header-cart-icon { position: relative; display: inline-flex; }
.hn-header-count { position: absolute; display: flex; align-items: center; justify-content: center; left: 13px; top: -11px; min-width: 18px; width: 18px; height: 18px; padding: 0; border-radius: 999px; color: #fff; background: #171717; font: 600 10px/1 sans-serif; text-align: center; z-index: 1; transition: top .3s ease, left .3s ease, width .3s ease, height .3s ease, background-color .3s ease; }
.hn-header-tone-dark .hn-header-count { background: #fff; color: #171717; }
@media (hover:hover) and (pointer:fine) {
    .hn-header-actions .hn-header-control:not(.hn-header-cart):hover .hn-header-svg,
    .hn-header-actions .hn-header-control:not(.hn-header-cart):hover .hn-header-label,
    .hn-header-actions .wn-ajax-search-toggle:hover .hn-header-svg,
    .hn-header-actions .wn-ajax-search-toggle:hover .hn-header-label { transform: translateY(-5px); }
    .hn-header-actions :is(.hn-header-control, .wn-ajax-search-toggle):hover { color: var(--hn-header-hover) !important; }
    .hn-header-actions .hn-header-cart:hover .hn-header-count { top: -5px; left: -5px; width: 30px; height: 30px; background: var(--hn-header-hover); color: #fff; }
}
@media (prefers-reduced-motion:reduce) {
    .hn-header-actions .hn-header-svg, .hn-header-actions .hn-header-label, .hn-header-actions .hn-header-count { transition: none; }
}
@media(max-width:767px) {
    .hn-header-actions { gap: 2px; }
    .hn-header-actions .hn-header-label { display: none; }
    .hn-header-stacked :is(.hn-header-control, .wn-ajax-search-toggle) { flex-direction: row; }
}
@media (max-width:767px), (pointer:coarse) {
    .hn-header-compact :is(.hn-header-control, .wn-ajax-search-toggle) { min-width: 44px; }
    .hn-header-compact :is(.hn-header-control, .wn-ajax-search-toggle):has(> .hn-header-label) { padding-inline: 12px !important; }
}
/* Hidden labels must not retain their desktop padding or unequal widths. */
@media(max-width:767px) {
    .hn-header-actions { gap:0; }
    .hn-header-actions :is(.hn-header-control, .wn-ajax-search-toggle),
    .hn-header-actions :is(.hn-header-control, .wn-ajax-search-toggle):has(> .hn-header-label) {
        width:36px; min-width:36px; min-height:44px; padding-inline:0 !important; gap:0; flex:none;
    }
}
.hn-header-cart-icon:has(.hn-header-bag) { width:20px; height:20px; align-items:center; justify-content:center; }
.hn-header-actions .hn-header-bag { width:24px; height:24px; flex-basis:24px; stroke:currentColor; stroke-width:.25; stroke-linejoin:round; }
