/* Navbar and its account/search states. Banner styles are unchanged. */
.site-header {
    background: #fff;
    color: #3b4553;
}
.site-header { z-index: 30; box-shadow: 0 1px 0 rgba(36, 42, 49, .04); }
.site-header.site-header--banner { background: transparent; box-shadow: none; }
.site-header .header-inner {
    position: relative;
    width: 100%;
    max-width: 1720px;
    min-height: 100px;
    gap: 0;
    padding: 12px clamp(40px, 4vw, 72px);
}
.site-header .site-branding { flex: 0 0 auto; max-width: none; margin: 0; }
.site-header .brand-logo,
.site-header .custom-logo { width: 206px; max-width: 100%; height: auto; max-height: 58px; }

@media (min-width: 821px) {
    .site-header .primary-navigation { margin-inline-start: 58px; }
    .site-header .primary-menu { gap: clamp(32px, 2.6vw, 50px); }
    .site-header .primary-menu > li > a {
        position: relative;
        padding: 13px 0 18px;
        color: #3b4553;
        font-size: 17px;
        font-weight: 600;
        line-height: 1.5;
        white-space: nowrap;
        background-image: none;
    }
    .site-header .primary-menu > li > a::after {
        position: absolute;
        inset-inline: 0;
        bottom: 5px;
        height: 3px;
        border-radius: 1px;
        background: #c8103b;
        content: '';
        opacity: 0;
        transform: scaleX(.65);
        transition: opacity 180ms ease, transform 180ms ease;
    }
    .site-header .primary-menu > li > a:hover,
    .site-header .primary-menu > li > a:focus-visible,
    .site-header .primary-menu > .current-menu-item > a,
    .site-header .primary-menu > .current-menu-ancestor > a,
    .site-header.site-header--banner .primary-menu > li > a:hover,
    .site-header.site-header--banner .primary-menu > li > a:focus-visible,
    .site-header.site-header--banner .primary-menu > .current-menu-item > a {
        color: #c8103b;
        background-image: none;
        -webkit-text-fill-color: currentColor;
    }
    .site-header .primary-menu > .current-menu-item > a::after,
    .site-header .primary-menu > .current-menu-ancestor > a::after,
    .site-header .primary-menu > li > a:hover::after,
    .site-header .primary-menu > li > a:focus-visible::after { opacity: 1; transform: scaleX(1); }
    .site-header.site-header--banner .primary-menu > li > a { color: #f4f6f7; }
    .site-header.site-header--banner .primary-menu > li > a:hover,
    .site-header.site-header--banner .primary-menu > li > a:focus-visible,
    .site-header.site-header--banner .primary-menu > .current-menu-item > a,
    .site-header.site-header--banner .primary-menu > .current-menu-ancestor > a { color: #f2a5b8; }
    .site-header.site-header--banner .primary-menu > li > a::after { background: #f2a5b8; }
}

.header-actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 4px;
    direction: ltr;
    margin-right: auto;
}
.nav-account-menu,
.header-search { position: relative; flex: 0 0 auto; }
.header-search { flex-basis: 48px; width: 48px; height: 48px; }
.header-actions .nav-icon-button {
    position: relative;
    display: grid;
    place-items: center;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    padding: 11px;
    border: 0;
    border-radius: 50%;
    background: #f4f4f4;
    color: #3b4553;
    text-decoration: none;
    cursor: pointer;
    transition: color 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}
.header-actions .nav-icon-button svg { display: block; width: 26px; height: 26px; }
.header-actions .nav-icon-button:hover,
.header-actions .nav-icon-button:focus-visible { background: #fbe9ed; color: #c8103b; }
.header-actions .nav-account-toggle[aria-expanded='true'] {
    background: linear-gradient(135deg, #d30a3c, #a8072f);
    color: #fff;
    box-shadow: 0 10px 18px rgba(183, 6, 51, .24);
}
.header-actions .nav-account-menu--guest .nav-account-toggle[aria-expanded='true'] {
    background: #f4f4f4;
    color: #3b4553;
    box-shadow: none;
}
.site-header.site-header--banner .header-actions .nav-icon-button {
    background: transparent;
    color: #f4f6f7;
    box-shadow: none;
}
.site-header.site-header--banner .header-actions .nav-icon-button:hover,
.site-header.site-header--banner .header-actions .nav-icon-button:focus-visible {
    background: transparent;
    color: #f2a5b8;
}
.site-header.site-header--banner .header-actions .nav-account-toggle[aria-expanded='true'] {
    background: linear-gradient(135deg, #d30a3c, #a8072f);
    color: #fff;
    box-shadow: 0 10px 18px rgba(183, 6, 51, .24);
}
.site-header.site-header--banner .header-actions .nav-account-menu--guest .nav-account-toggle[aria-expanded='true'] {
    background: transparent;
    color: #f4f6f7;
    box-shadow: none;
}
.nav-count-badge,
.nav-guest-indicator {
    position: absolute;
    top: -5px;
    left: -4px;
    display: grid;
    place-items: center;
    min-width: 21px;
    height: 21px;
    padding: 0 3px;
    border-radius: 50%;
    background: #c8103b;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
}
.nav-guest-indicator { top: 1px; left: 0; min-width: 15px; width: 15px; height: 15px; padding: 0; }

.nav-account-dropdown {
    position: absolute;
    top: calc(100% + 12px);
    left: 0;
    z-index: 80;
    width: 280px;
    padding: 9px;
    border: 1px solid #ededed;
    border-radius: 23px;
    background: #fff;
    color: #202127;
    box-shadow: 0 17px 27px rgba(22, 25, 29, .19), 0 0 0 4px rgba(241, 241, 241, .48);
}
.nav-account-dropdown:not([hidden]) {
    transform-origin: top left;
    animation: genosys-account-reveal 210ms cubic-bezier(.2, .8, .2, 1) both;
}
@keyframes genosys-account-reveal {
    from { opacity: 0; transform: translateY(-8px) scale(.97); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
.nav-account-dropdown::before {
    position: absolute;
    top: -9px;
    left: 21px;
    width: 17px;
    height: 17px;
    border-top: 1px solid #ededed;
    border-left: 1px solid #ededed;
    background: #fff;
    content: '';
    transform: rotate(45deg);
}
.account-panel-identity {
    display: flex;
    align-items: center;
    min-height: 72px;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid #f5b5c0;
    border-radius: 16px;
    background: linear-gradient(120deg, #f6c2ca 0%, #fae4e7 52%, #fff7f8 100%);
}
.account-panel-identity--guest { min-height: 84px; }
.account-panel-avatar {
    display: grid;
    place-items: center;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, #d00638, #a4062e);
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
    box-shadow: 0 7px 12px rgba(188, 4, 49, .22);
}
.account-panel-avatar svg { width: 22px; height: 22px; }
.account-panel-identity-copy,
.account-panel-row-copy { display: flex; flex: 1 1 auto; min-width: 0; flex-direction: column; text-align: right; }
.account-panel-identity-copy strong {
    color: #202127;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
.account-panel-identity-copy small { color: #828184; font-size: 11px; line-height: 1.6; }
.account-panel-identity--guest .account-panel-identity-copy strong { font-size: 14px; }
.account-panel-identity--guest .account-panel-identity-copy small { max-width: 160px; }
.nav-account-dropdown .account-panel-row {
    display: flex;
    align-items: center;
    min-height: 56px;
    gap: 10px;
    padding: 7px 11px;
    border-radius: 13px;
    color: #202127;
    text-decoration: none;
    transition: background-color 180ms ease;
}
.nav-account-dropdown .account-panel-row:hover,
.nav-account-dropdown .account-panel-row:focus-visible { background: #fff3f5; }
.account-panel-row-icon {
    display: grid;
    place-items: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #f4f4f4;
    color: #404a55;
}
.account-panel-row-icon svg { width: 19px; height: 19px; }
.account-panel-row-copy strong { font-size: 14px; font-weight: 700; line-height: 1.4; }
.account-panel-row-copy small { color: #88878a; font-size: 11px; line-height: 1.5; }
.account-panel-order-count {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    min-width: 22px;
    height: 22px;
    margin-inline-start: auto;
    padding: 0 5px;
    border-radius: 50%;
    background: #c8103b;
    color: #fff;
    font-size: 11px;
    line-height: 1;
}
.account-panel-divider { height: 1px; margin: 5px 9px 3px; background: #e8e8e8; }
.nav-account-dropdown .account-panel-row--logout { min-height: 52px; color: #c8103b; }
.account-panel-row--logout .account-panel-row-icon { background: #fcebef; color: #c8103b; }

.nav-account-dropdown .account-panel-login {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    gap: 9px;
    margin-top: 6px;
    border-radius: 40px;
    background: linear-gradient(110deg, #d10a3c, #a80830);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 9px 15px rgba(195, 4, 51, .2);
    transition: box-shadow 180ms ease, transform 180ms ease;
}
.nav-account-dropdown .account-panel-login:hover,
.nav-account-dropdown .account-panel-login:focus-visible { color: #fff; box-shadow: 0 14px 23px rgba(195, 4, 51, .33); transform: translateY(-1px); }
.account-panel-login svg { width: 17px; height: 17px; }
.account-panel-login-note { margin: 8px 0 5px; color: #8a898c; font-size: 11px; text-align: center; }

.header-search-form {
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 85;
    display: flex;
    align-items: center;
    width: 260px;
    height: 44px;
    gap: 8px;
    padding: 0 11px;
    border: 1px solid #eda8b7;
    border-radius: 24px;
    background: #fff;
    direction: rtl;
    box-shadow: 0 0 0 3px rgba(251, 231, 235, .9), 0 7px 15px rgba(75, 31, 43, .13);
    transform: translateY(-50%);
}
.header-search-form:not([hidden]) {
    transform-origin: left center;
    animation: genosys-search-reveal 220ms cubic-bezier(.2, .8, .2, 1) both;
}
@keyframes genosys-search-reveal {
    from { opacity: 0; transform: translateY(-50%) translateX(-8px) scaleX(.94); }
    to { opacity: 1; transform: translateY(-50%) translateX(0) scaleX(1); }
}
.header-search-form button {
    display: grid;
    place-items: center;
    flex: 0 0 23px;
    width: 23px;
    height: 23px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #c8103b;
    cursor: pointer;
}
.header-search-form button svg { width: 21px; height: 21px; }
.header-search-form input {
    flex: 1 1 auto;
    min-width: 0;
    height: 100%;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #202127;
    font-size: 14px;
    text-align: right;
}
.header-search-form input::placeholder { color: #868488; opacity: 1; }
.header-search-form input::-webkit-search-cancel-button { cursor: pointer; }
.header-search-form kbd { display: none; }

.mobile-menu-commerce { display: none; }

@media (max-width: 1199px) and (min-width: 821px) {
    .site-header .header-inner { padding-inline: clamp(28px, 3vw, 40px); }
    .site-header .brand-logo,
    .site-header .custom-logo { width: 174px; }
    .site-header .primary-navigation { margin-inline-start: 29px; }
    .site-header .primary-menu { gap: 25px; }
    .site-header .primary-menu > li > a { font-size: 15px; }
    .header-actions { gap: 4px; }
    .header-actions .nav-icon-button { flex-basis: 44px; width: 44px; height: 44px; padding: 9px; }
    .header-search { flex-basis: 44px; width: 44px; height: 44px; }
    .header-search-form { width: min(240px, 28vw); height: 42px; }
}
@media (max-width: 950px) and (min-width: 821px) {
    .site-header .brand-logo,
    .site-header .custom-logo { width: 150px; }
    .site-header .primary-navigation { margin-inline-start: 19px; }
    .site-header .primary-menu { gap: 16px; }
    .site-header .primary-menu > li > a { font-size: 14px; }
    .header-actions .nav-icon-button { flex-basis: 44px; width: 44px; height: 44px; padding: 9px; }
    .header-search-form { width: min(210px, 22vw); }
    .header-search-form input { font-size: 13px; }
}

@media (max-width: 820px) {
    .site-header .header-inner { min-height: 76px; flex-wrap: wrap; gap: 8px; padding: 12px 20px; }
    .site-header .site-branding { order: 1; }
    .site-header .brand-logo,
    .site-header .custom-logo { width: 118px; max-height: 40px; }
    .site-header .primary-navigation { order: 4; }
    .site-header .header-actions { order: 2; gap: 4px; margin-right: auto; }
    .site-header .header-actions .nav-cart-link,
    .site-header .header-actions .nav-account-menu { display: none; }
    .site-header .menu-toggle { order: 3; flex-basis: 40px; width: 40px; height: 40px; padding: 6px; }
    .header-actions .nav-icon-button { flex-basis: 40px; width: 40px; height: 40px; padding: 9px; }
    .header-search { flex-basis: 40px; width: 40px; height: 40px; }
    .header-actions .nav-icon-button svg { width: 22px; height: 22px; }
    .nav-count-badge { top: -5px; left: -4px; min-width: 18px; height: 18px; font-size: 10px; }
    .nav-guest-indicator { width: 12px; min-width: 12px; height: 12px; }
    .nav-account-menu,
    .header-search { position: static; }
    .nav-account-dropdown {
        top: calc(100% + 8px);
        left: 12px;
        width: min(280px, calc(100vw - 24px));
    }
    .header-search-form {
        position: absolute;
        top: calc(100% + 8px);
        left: 20px;
        width: min(280px, calc(100vw - 40px));
        height: 44px;
        transform: none;
    }
    .header-search-form:not([hidden]) { transform-origin: left top; animation-name: genosys-mobile-search-reveal; }

    .js .primary-navigation .primary-menu { margin: clamp(28px, 6svh, 56px) auto 0; }
    .mobile-menu-commerce {
        display: block;
        width: 100%;
        max-width: 600px;
        margin: 22px auto 0;
        padding: 18px 0 0;
        border-top: 1px solid #ffffff3b;
        direction: rtl;
        color: #fff;
    }
    .mobile-menu-commerce__profile {
        display: flex;
        align-items: center;
        gap: 12px;
        min-height: 68px;
        padding: 11px 13px;
        border: 1px solid #ffffff42;
        border-radius: 17px;
        background: linear-gradient(115deg, #ffffff23, #ffffff0b);
    }
    .mobile-menu-commerce__avatar {
        display: grid;
        place-items: center;
        flex: 0 0 43px;
        width: 43px;
        height: 43px;
        border-radius: 50%;
        background: linear-gradient(120deg, #d10a3c, #a80830);
        color: #fff;
        font-size: 21px;
        font-weight: 700;
        line-height: 1;
        box-shadow: 0 5px 12px #51051c55;
    }
    .mobile-menu-commerce__avatar svg { width: 23px; height: 23px; }
    .mobile-menu-commerce__profile-copy,
    .mobile-menu-commerce__card-copy { display: flex; flex-direction: column; min-width: 0; }
    .mobile-menu-commerce__profile-copy strong { font-size: 16px; font-weight: 700; line-height: 1.5; }
    .mobile-menu-commerce__profile-copy small { color: #ffffffba; font-size: 12px; line-height: 1.5; }
    .mobile-menu-commerce__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 11px; }
    .mobile-menu-commerce__card {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        gap: 7px;
        min-width: 0;
        min-height: 108px;
        padding: 12px 14px;
        border: 1px solid #ffffff40;
        border-radius: 17px;
        background: #ffffff16;
        color: #fff;
        text-decoration: none;
        transition: background 180ms ease, border-color 180ms ease;
    }
    .mobile-menu-commerce__card:hover,
    .mobile-menu-commerce__card:focus-visible { border-color: #ffffff8c; background: #ffffff27; color: #fff; }
    .mobile-menu-commerce__card--login { border-color: #e96c89; background: linear-gradient(115deg, #d10a3c, #a80830); }
    .mobile-menu-commerce__card--login:hover,
    .mobile-menu-commerce__card--login:focus-visible { background: linear-gradient(115deg, #e31347, #bd0a38); }
    .mobile-menu-commerce__card-icon { display: grid; place-items: center; flex: 0 0 33px; width: 33px; height: 33px; border-radius: 50%; background: #ffffff28; }
    .mobile-menu-commerce__card-icon svg { display: block; width: 19px; height: 19px; }
    .mobile-menu-commerce__card-copy strong { color: #fff; font-size: 15px; font-weight: 700; line-height: 1.4; }
    .mobile-menu-commerce__card-copy small { color: #ffffffb8; font-size: 11px; line-height: 1.45; }
    .mobile-menu-commerce__count { position: absolute; top: 12px; left: 12px; display: grid; place-items: center; min-width: 22px; height: 22px; padding: 0 4px; border-radius: 99px; background: #d10a3c; color: #fff; font-size: 11px; font-weight: 700; line-height: 1; }
    .mobile-menu-commerce__secondary { display: grid; gap: 2px; margin-top: 9px; }
    .mobile-menu-commerce__secondary-link {
        position: relative;
        display: flex;
        align-items: center;
        gap: 10px;
        min-height: 54px;
        padding: 8px 5px;
        border-bottom: 1px solid #ffffff29;
        color: #fff;
        text-decoration: none;
        transition: color 180ms ease, background 180ms ease;
    }
    .mobile-menu-commerce__secondary-link:hover,
    .mobile-menu-commerce__secondary-link:focus-visible { background: #ffffff13; color: #fff; }
    .mobile-menu-commerce__secondary-link .mobile-menu-commerce__card-icon { flex-basis: 34px; width: 34px; height: 34px; background: #ffffff1f; }
    .mobile-menu-commerce__secondary-link .mobile-menu-commerce__card-copy strong { font-size: 14px; }
    .mobile-menu-commerce__secondary-link .mobile-menu-commerce__count { position: static; margin-inline-start: auto; }
    .mobile-menu-commerce__secondary-link--logout,
    .mobile-menu-commerce__secondary-link--logout .mobile-menu-commerce__card-copy strong { color: #ffa7bb; }
    .mobile-menu-commerce__secondary-link--logout:hover,
    .mobile-menu-commerce__secondary-link--logout:focus-visible { color: #ffc8d3; }
}
@keyframes genosys-mobile-search-reveal {
    from { opacity: 0; transform: translateY(-8px) scale(.97); }
    to { opacity: 1; transform: none; }
}
@media (max-width: 360px) {
    .site-header .header-inner { gap: 6px; padding-inline: 16px; }
    .site-header .brand-logo,
    .site-header .custom-logo { width: 104px; }
    .site-header .menu-toggle { flex-basis: 36px; width: 36px; height: 36px; }
    .header-actions .nav-icon-button { flex-basis: 36px; width: 36px; height: 36px; padding: 8px; }
    .header-search { flex-basis: 36px; width: 36px; height: 36px; }
    .header-actions .nav-icon-button svg { width: 20px; height: 20px; }
    .header-search-form { left: 16px; width: min(280px, calc(100vw - 32px)); }
}
@media (prefers-reduced-motion: reduce) {
    .header-actions .nav-icon-button,
    .account-panel-row,
    .account-panel-login,
    .site-header .primary-menu > li > a::after { transition: none; }
    .nav-account-dropdown:not([hidden]),
    .header-search-form:not([hidden]) { animation: none; }
    .mobile-menu-commerce__card,
    .mobile-menu-commerce__secondary-link { transition: none; }
}
