.netstore-auth-trigger{display:inline-flex;align-items:center;gap:7px;font-weight:600}.netstore-auth-trigger .fa{font-size:15px}.netstore-auth-modal{padding-right:0!important}.netstore-auth-modal .modal-dialog{width:480px;max-width:calc(100% - 30px);margin:42px auto}.netstore-auth-modal .modal-content{border:0;border-radius:16px;box-shadow:0 20px 65px rgba(25,34,45,.22);overflow:hidden}.netstore-auth-v2{position:relative;background:#fff;color:#242b33}.netstore-auth-close{position:absolute;z-index:3;top:13px;right:14px;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:#f3f5f7;color:#59636e;font:300 28px/36px Arial,sans-serif;text-align:center;transition:background .2s ease,color .2s ease}.netstore-auth-close:hover,.netstore-auth-close:focus{background:#e9edf0;color:#20262d;outline:0}.netstore-auth-panel{padding:34px 40px 24px}.netstore-auth-panel[hidden]{display:none!important}.netstore-auth-heading{text-align:center}.netstore-auth-mark{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;margin:0 auto 10px;border-radius:50%;background:#edf7e9;color:#4c9c2e;font-size:22px}.netstore-auth-eyebrow{margin-bottom:3px;color:#5d6670;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.netstore-auth-heading h1,.netstore-auth-heading h2{margin:0;color:#1f252b;font-size:25px;line-height:1.2;font-weight:700}.netstore-auth-heading p{max-width:375px;margin:10px auto 22px;color:#69737d;font-size:14px;line-height:1.55}.netstore-auth-native-form .wa-form,.netstore-auth-native-form form{width:100%;max-width:none;margin:0}.netstore-auth-native-form .wa-field,.netstore-auth-native-form .wa-field-wrapper{margin:0 0 14px}.netstore-auth-native-form .wa-name,.netstore-auth-native-form .wa-label{display:block;width:auto!important;margin:0 0 6px!important;padding:0!important;color:#343c44;font-size:13px;font-weight:600;line-height:1.35}.netstore-auth-native-form .wa-value{margin:0!important}.netstore-auth-native-form input[type="text"],.netstore-auth-native-form input[type="email"],.netstore-auth-native-form input[type="tel"],.netstore-auth-native-form input[type="password"],.netstore-auth-native-form input[type="number"],.netstore-auth-native-form select{display:block;width:100%!important;height:48px;box-sizing:border-box;margin:0;padding:0 14px;border:1px solid #d8dde2;border-radius:8px;background:#fff;color:#222a31;font-size:16px;line-height:46px;box-shadow:none;transition:border-color .2s ease,box-shadow .2s ease}.netstore-auth-native-form textarea{width:100%!important;box-sizing:border-box;padding:12px 14px;border:1px solid #d8dde2;border-radius:8px}.netstore-auth-native-form input:focus,.netstore-auth-native-form select:focus,.netstore-auth-native-form textarea:focus{border-color:#66a94b;outline:0;box-shadow:0 0 0 3px rgba(91,160,64,.14)}.netstore-auth-native-form input[type="submit"],.netstore-auth-native-form button[type="submit"],.netstore-auth-native-form .wa-submit a,.netstore-auth-primary-link{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;box-sizing:border-box;margin:6px 0 0;padding:11px 18px;border:1px solid #4f9c33;border-radius:8px;background:#58a63a;color:#fff!important;font-size:15px;font-weight:700;line-height:1.35;text-align:center;text-decoration:none;box-shadow:none;cursor:pointer;transition:background .2s ease,border-color .2s ease}.netstore-auth-native-form input[type="submit"]:hover,.netstore-auth-native-form button[type="submit"]:hover,.netstore-auth-native-form .wa-submit a:hover,.netstore-auth-primary-link:hover{border-color:#43872b;background:#4b942f;text-decoration:none}.netstore-auth-native-form .wa-submit{margin:16px 0 0!important;padding:0!important}.netstore-auth-native-form .wa-error,.netstore-auth-native-form .error,.netstore-auth-native-form .wa-error-msg{display:block;margin-top:5px;color:#c43e3e;font-size:12px;line-height:1.4}.netstore-auth-native-form .wa-captcha{margin:15px 0}.netstore-auth-native-form .wa-captcha img{max-width:100%;height:auto}.netstore-auth-native-form .wa-login-forgotpassword,.netstore-auth-native-form a[href*="forgot"]{display:inline-block;margin-top:8px;color:#4d8e35;font-size:13px}.netstore-auth-native-form .wa-login-form-actions,.netstore-auth-native-form .wa-signup-form-actions{margin-top:14px}.netstore-auth-native-form label{font-weight:400}.netstore-auth-native-form input[type="checkbox"],.netstore-auth-native-form input[type="radio"]{margin-right:6px}.netstore-auth-switch{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:5px;margin-top:18px;color:#69737d;font-size:13px;text-align:center}.netstore-auth-link{padding:0;border:0;background:transparent;color:#4d8e35;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.netstore-auth-link:hover,.netstore-auth-link:focus{color:#397524;text-decoration:underline;outline:0}.netstore-auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0 14px;color:#8a939b;font-size:11px;text-align:center}.netstore-auth-divider:before,.netstore-auth-divider:after{content:"";height:1px;flex:1;background:#e6e9ec}.netstore-auth-adapters{text-align:center}.netstore-auth-adapters ul{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:0!important;padding:0!important;list-style:none}.netstore-auth-adapters li{margin:0!important}.netstore-auth-adapters a{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;box-sizing:border-box;border:1px solid #dfe3e6;border-radius:8px;background:#fff;color:#313840;text-decoration:none}.netstore-auth-security-note{display:flex;align-items:center;justify-content:center;gap:7px;padding:12px 20px;background:#f7f8f9;color:#737c84;font-size:11px;line-height:1.4;text-align:center}.netstore-auth-security-note .fa{color:#5a9d40}.netstore-auth-page.netstore-auth-v2{padding:34px 16px 54px}.netstore-auth-page.netstore-auth-v2 .netstore-auth-standalone-card{width:480px;max-width:100%;margin:0 auto;border:1px solid #e3e7ea;border-radius:16px;background:#fff;box-shadow:0 12px 35px rgba(25,34,45,.09);overflow:hidden}.netstore-auth-page.netstore-auth-v2 .netstore-auth-panel{padding-top:34px}.ns-mobile-account-btn{position:relative;display:inline-flex!important;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0!important;border:0!important;border-radius:50%;color:#383f46!important;font-size:18px;text-decoration:none!important}.ns-mobile-account-btn:hover,.ns-mobile-account-btn:focus{background:#f0f2f4;color:#4c9632!important;outline:0}.ns-mobile-actions .ns-mobile-account-btn{flex:0 0 38px}.header .usermenu .netstore-auth-trigger{white-space:nowrap}@media(max-width:767px){.netstore-auth-modal .modal-dialog{width:auto;max-width:none;margin:12px}.netstore-auth-modal .modal-content{border-radius:14px}.netstore-auth-panel{padding:28px 20px 20px}.netstore-auth-heading h1,.netstore-auth-heading h2{font-size:22px}.netstore-auth-heading p{margin-bottom:18px;font-size:13px}.netstore-auth-page.netstore-auth-v2{padding:18px 12px 36px}.netstore-auth-page.netstore-auth-v2 .netstore-auth-panel{padding:28px 20px 20px}}@media(max-width:390px){.netstore-auth-modal .modal-dialog{margin:6px}.netstore-auth-modal .modal-content{border-radius:12px}.netstore-auth-panel{padding-right:16px;padding-left:16px}.netstore-auth-close{top:9px;right:9px}}
body>.netstore-auth-modal{z-index:40010!important}body>.netstore-auth-modal .modal-dialog{margin:24px auto!important}body>.netstore-auth-modal .modal-content{max-height:calc(100vh - 48px)!important;overflow-x:hidden!important;overflow-y:auto!important;background:#fff!important;opacity:1!important;overscroll-behavior:contain}.netstore-auth-modal .netstore-auth-close{display:block!important;visibility:visible!important;opacity:1!important}.netstore-auth-modal .netstore-auth-mark{display:none!important}.netstore-auth-native-signup-link{display:none!important}@media(max-width:767px){body>.netstore-auth-modal .modal-dialog{margin:8px!important}body>.netstore-auth-modal .modal-content{max-height:calc(100vh - 16px)!important}}
body>.netstore-auth-modal{z-index:50100!important}
.netstore-signup-progress{display:flex;align-items:flex-start;justify-content:space-between;margin:0 0 22px;padding:0;list-style:none}.netstore-signup-progress li{position:relative;display:flex;flex:1 1 0;flex-direction:column;align-items:center;gap:6px;color:#8a939b;font-size:11px;font-weight:600;text-align:center}.netstore-signup-progress li:not(:last-child):after{position:absolute;top:14px;left:calc(50% + 19px);right:calc(-50% + 19px);height:2px;content:"";background:#e1e5e8}.netstore-signup-progress span{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:30px;height:30px;box-sizing:border-box;border:2px solid #d9dee2;border-radius:50%;background:#fff;color:#7e8790;font-size:12px;font-weight:800}.netstore-signup-progress b{font:inherit}.netstore-signup-progress li.is-active{color:#397524}.netstore-signup-progress li.is-active span{border-color:#58a63a;background:#edf7e9;color:#397524}.netstore-signup-progress li.is-complete{color:#5b6670}.netstore-signup-progress li.is-complete span{border-color:#58a63a;background:#58a63a;color:#fff}.netstore-signup-progress li.is-complete:not(:last-child):after{background:#8cc879}.netstore-signup-step-phone .netstore-signup-detail-field{display:none!important}.netstore-signup-step-phone .netstore-signup-next,.netstore-signup-step-details .netstore-signup-back{display:flex}.netstore-signup-next{align-items:center;justify-content:center;width:100%;min-height:48px;box-sizing:border-box;margin:14px 0 0;padding:11px 18px;border:1px solid #4f9c33;border-radius:8px;background:#58a63a;color:#fff;font-size:15px;font-weight:700;line-height:1.35;cursor:pointer}.netstore-signup-next:hover,.netstore-signup-next:focus{border-color:#43872b;background:#4b942f;outline:0}.netstore-signup-back{align-items:center;justify-content:center;min-height:40px;margin:0 0 10px;padding:8px 13px;border:0;background:transparent;color:#4d8e35;font-size:13px;font-weight:700;cursor:pointer}.netstore-signup-back:hover,.netstore-signup-back:focus{color:#397524;text-decoration:underline;outline:0}.netstore-signup-phone-error{display:block;margin-top:6px;color:#c43e3e;font-size:12px;line-height:1.4}.netstore-signup-phone-field input.error{border-color:#c43e3e!important;box-shadow:0 0 0 3px rgba(196,62,62,.1)!important}@media(max-width:390px){.netstore-signup-progress{margin-bottom:18px}.netstore-signup-progress b{font-size:10px}.netstore-signup-progress li:not(:last-child):after{left:calc(50% + 16px);right:calc(-50% + 16px)}}
.netstore-signup-next[hidden],.netstore-signup-back[hidden]{display:none!important}.netstore-signup-phone-hint,.netstore-signup-code-hint{display:block;margin-top:6px;color:#737d86;font-size:11px;line-height:1.45}.netstore-signup-code-input{font-size:22px!important;font-weight:700!important;letter-spacing:.3em!important;text-align:center}.netstore-signup-code-field{position:relative}.netstore-signup-container-step-code .netstore-signup-progress{margin-bottom:18px}.netstore-signup-container-step-code .netstore-signup-code-hint{text-align:center}@media(prefers-reduced-motion:reduce){.netstore-signup-next,.netstore-auth-native-form input,.netstore-auth-native-form select,.netstore-auth-native-form textarea{transition:none!important}}

/* Netstore phone-first six-digit OTP flow with OAuth and password fallback. */
body > .netstore-auth-modal .modal-dialog {
    width: 430px !important;
    max-width: calc(100% - 24px) !important;
}
.netstore-auth-modal .netstore-auth-panel {
    padding: 30px 34px 22px;
}
.netstore-unified-auth {
    width: 100%;
    margin: 0;
}
.netstore-unified-auth__step[hidden] {
    display: none !important;
}
.netstore-unified-auth__label {
    display: block;
    margin: 0 0 7px;
    color: #303840;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
}
.netstore-unified-auth__input {
    display: block;
    width: 100% !important;
    height: 50px;
    box-sizing: border-box;
    margin: 0;
    padding: 0 14px;
    border: 1px solid #cfd6dc;
    border-radius: 9px;
    background: #fff;
    color: #20282f;
    font-size: 17px;
    line-height: 48px;
    box-shadow: none;
    transition: border-color .18s ease, box-shadow .18s ease;
}
.netstore-unified-auth__input:focus {
    border-color: #5b9f40;
    outline: 0;
    box-shadow: 0 0 0 3px rgba(91, 159, 64, .15);
}
.netstore-unified-auth__input[aria-invalid="true"] {
    border-color: #c43e3e;
    box-shadow: 0 0 0 3px rgba(196, 62, 62, .1);
}
.netstore-unified-auth__hint,
.netstore-unified-auth__consent {
    margin: 7px 0 0;
    color: #737d86;
    font-size: 11px;
    line-height: 1.45;
}
.netstore-unified-auth__consent {
    text-align: center;
}
.netstore-unified-auth__submit {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 50px;
    box-sizing: border-box;
    margin: 15px 0 0;
    padding: 11px 18px;
    border: 1px solid #468c2d;
    border-radius: 9px;
    background: #519b35;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.35;
    cursor: pointer;
    transition: background .18s ease, border-color .18s ease, opacity .18s ease;
}
.netstore-unified-auth__submit:hover,
.netstore-unified-auth__submit:focus {
    border-color: #397624;
    background: #43872b;
    outline: 0;
}
.netstore-unified-auth__submit:disabled,
.netstore-unified-auth.is-loading .netstore-unified-auth__submit {
    cursor: wait;
    opacity: .68;
}
.netstore-unified-auth__sent {
    margin: 0;
    color: #65707a;
    font-size: 13px;
    line-height: 1.45;
    text-align: center;
}
.netstore-unified-auth__sent strong {
    display: block;
    margin-top: 2px;
    color: #242c33;
    font-size: 15px;
}
.netstore-unified-auth__edit,
.netstore-unified-auth__resend {
    display: block;
    margin: 7px auto 16px;
    padding: 2px 4px;
    border: 0;
    background: transparent;
    color: #478631;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}
.netstore-unified-auth__edit:hover,
.netstore-unified-auth__edit:focus,
.netstore-unified-auth__resend:hover,
.netstore-unified-auth__resend:focus {
    color: #32691f;
    text-decoration: underline;
    outline: 0;
}
.netstore-unified-auth__resend {
    margin: 11px auto 0;
}
.netstore-unified-auth__resend:disabled {
    color: #8a939b;
    cursor: default;
    text-decoration: none;
}
.netstore-unified-auth__code {
    font-size: 24px;
    font-weight: 800;
    letter-spacing: .35em;
    text-align: center;
}
.netstore-unified-auth__message,
.netstore-unified-auth__error {
    min-height: 0;
    margin-top: 10px;
    font-size: 12px;
    line-height: 1.45;
    text-align: center;
}
.netstore-unified-auth__message:empty,
.netstore-unified-auth__error:empty {
    display: none;
}
.netstore-unified-auth__message {
    color: #397524;
}
.netstore-unified-auth__error {
    color: #b73535;
}
.netstore-auth-form--unified .netstore-unified-auth {
    max-width: 420px;
}
@media (max-width: 767px) {
    body > .netstore-auth-modal .modal-dialog {
        width: auto !important;
        max-width: none !important;
    }
    .netstore-auth-modal .netstore-auth-panel {
        padding: 27px 20px 20px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .netstore-unified-auth__input,
    .netstore-unified-auth__submit {
        transition: none;
    }
}

.netstore-auth-method[hidden] {
    display: none !important;
}
.netstore-auth-method-switch {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 17px;
    padding-top: 15px;
    border-top: 1px solid #e7eaed;
    color: #737d86;
    font-size: 12px;
    line-height: 1.45;
    text-align: center;
}
.netstore-auth-method-link {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #43872b;
    font: inherit;
    font-weight: 700;
    line-height: inherit;
    text-decoration: none;
    cursor: pointer;
}
.netstore-auth-method-link:hover,
.netstore-auth-method-link:focus {
    color: #32691f;
    text-decoration: underline;
    outline: 0;
}
.netstore-password-auth__intro {
    display: block;
    margin: 0 0 18px;
    text-align: center;
}
.netstore-password-auth__intro strong,
.netstore-password-auth__intro span {
    display: block;
}
.netstore-password-auth__intro strong {
    margin-bottom: 5px;
    color: #242c33;
    font-size: 18px;
    line-height: 1.3;
}
.netstore-password-auth__intro span {
    color: #737d86;
    font-size: 12px;
    line-height: 1.5;
}
.netstore-password-auth__form .wa-login-form-fields,
.netstore-password-auth__form .wa-login-form-actions {
    width: 100%;
    margin: 0;
    padding: 0;
}
.netstore-password-auth__form .wa-login-form-actions {
    margin-top: 15px;
}
.netstore-password-auth__form .wa-buttons-wrapper {
    margin: 0;
}
.netstore-password-auth__form .wa-login-submit {
    margin-top: 0 !important;
}
.netstore-password-auth__form .wa-signup-url {
    display: none !important;
}
.netstore-password-auth__form .wa-login-forgotpassword-url {
    margin-top: 7px;
}
.netstore-password-auth__form .wa-login-form-remember-me {
    margin: 2px 0 12px;
    color: #59636e;
    font-size: 12px;
}
@media (max-width: 390px) {
    .netstore-auth-method-switch {
        margin-top: 14px;
        padding-top: 12px;
    }
    .netstore-password-auth__intro {
        margin-bottom: 15px;
    }
}

/* Rozetka-style method hierarchy: phone first, configured OAuth adapters, email/password fallback. */
.netstore-auth-modal .netstore-auth-heading {
    text-align: left;
}
.netstore-auth-modal .netstore-auth-heading p {
    margin: 8px 0 20px;
}
.netstore-auth-alternatives {
    margin-top: 20px;
}
.netstore-unified-auth[data-current-step="code"] + .netstore-auth-alternatives {
    display: none;
}
.netstore-auth-alternatives .netstore-auth-divider {
    margin: 0 0 14px;
}
.netstore-auth-adapters {
    margin: 0 0 10px;
}
.netstore-auth-adapters .wa-auth-adapters,
.netstore-auth-adapters ul {
    display: flex;
    width: 100%;
    flex-direction: column;
    gap: 9px;
    margin: 0 !important;
    padding: 0 !important;
}
.netstore-auth-adapters li {
    display: block !important;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
}
.netstore-auth-adapters a,
.netstore-auth-choice {
    display: flex;
    width: 100%;
    min-height: 48px;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0;
    padding: 10px 16px;
    border: 1px solid #d6dadd;
    border-radius: 8px;
    background: #fff;
    color: #272d33;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.netstore-auth-adapters a:hover,
.netstore-auth-adapters a:focus,
.netstore-auth-choice:hover,
.netstore-auth-choice:focus {
    border-color: #8ba082;
    background: #fbfcfa;
    color: #272d33;
    text-decoration: none;
    outline: 0;
    box-shadow: 0 0 0 3px rgba(91, 160, 64, .1);
}
.netstore-auth-adapters img {
    width: 22px;
    height: 22px;
    max-width: 22px;
    max-height: 22px;
    object-fit: contain;
}
.netstore-auth-choice .fa {
    color: #737b82;
    font-size: 20px;
}

/* Netstore modern auth presentation (2.6.93.44). The authentication endpoints remain unchanged. */
.netstore-auth-mobile-brand {
    display: none;
}
.netstore-auth-provider-legacy-label {
    display: none !important;
}
.netstore-auth-provider-label {
    display: inline-block;
}
.netstore-auth-code-security {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin: 16px 0 0;
    padding: 11px 12px;
    border-radius: 8px;
    background: #f6f8f5;
    color: #6e7870;
    font-size: 11px;
    line-height: 1.4;
    text-align: center;
}
.netstore-auth-code-security .fa {
    flex: 0 0 auto;
    color: #53933d;
}
.netstore-auth-modal[data-auth-method="password"] .netstore-auth-heading,
.netstore-auth-page[data-auth-method="password"] .netstore-auth-heading,
.netstore-auth-page[data-auth-method="password"] .netstore-auth-card__header {
    display: none !important;
}
.netstore-auth-modal[data-auth-method="password"] .netstore-auth-panel {
    padding-top: 32px;
}
.netstore-password-auth__intro {
    margin-bottom: 15px;
    text-align: left;
}
.netstore-password-auth__intro strong {
    margin-bottom: 4px;
    font-size: 22px;
}
.netstore-password-auth__intro span {
    font-size: 13px;
    line-height: 1.45;
}
.netstore-password-auth__form .wa-field,
.netstore-password-auth__form .wa-field-wrapper {
    margin-bottom: 11px !important;
}
.netstore-password-auth__form .wa-captcha {
    margin: 10px 0 !important;
}
.netstore-password-auth__form .wa-submit,
.netstore-password-auth__form .wa-login-form-actions {
    margin-top: 12px !important;
}
.netstore-auth-modal .modal-content {
    display: flex;
    max-height: calc(100vh - 48px) !important;
    max-height: calc(100svh - 48px) !important;
    flex-direction: column;
    overflow: hidden !important;
}
.netstore-auth-modal .netstore-auth-panel {
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
}
body > .modal-backdrop {
    z-index: 50090 !important;
}
html.netstore-auth-overlay-active body .wrapper-toolbar,
html.netstore-auth-standalone-active body .wrapper-toolbar,
html.netstore-auth-overlay-active body #callback-show,
html.netstore-auth-standalone-active body #callback-show,
html.netstore-auth-overlay-active body [id^="jivo"],
html.netstore-auth-standalone-active body [id^="jivo"],
html.netstore-auth-overlay-active body [class^="jivo"],
html.netstore-auth-standalone-active body [class^="jivo"],
html.netstore-auth-overlay-active body [id*="chat-widget"],
html.netstore-auth-standalone-active body [id*="chat-widget"],
html.netstore-auth-overlay-active body [class*="chat-widget"],
html.netstore-auth-standalone-active body [class*="chat-widget"],
html.netstore-auth-overlay-active body #lz_overlay_wm,
html.netstore-auth-standalone-active body #lz_overlay_wm,
html.netstore-auth-overlay-active body #lz_overlay_chat,
html.netstore-auth-standalone-active body #lz_overlay_chat {
    visibility: hidden !important;
    pointer-events: none !important;
}

@media (max-width: 600px) {
    body > .netstore-auth-modal {
        padding: 0 !important;
        overflow: hidden !important;
    }
    body > .netstore-auth-modal .modal-dialog {
        width: 100% !important;
        max-width: none !important;
        height: 100vh;
        height: 100svh;
        margin: 0 !important;
    }
    body > .netstore-auth-modal .modal-content {
        width: 100%;
        height: 100vh;
        height: 100svh;
        min-height: 100vh;
        min-height: 100svh;
        max-height: none !important;
        border-radius: 0 !important;
        box-shadow: none;
    }
    body > .netstore-auth-modal .modal-content::before {
        display: block;
        flex: 0 0 calc(52px + env(safe-area-inset-top, 0px));
        border-bottom: 1px solid #edf0f2;
        content: "";
    }
    .netstore-auth-modal .netstore-auth-close {
        top: calc(7px + env(safe-area-inset-top, 0px));
        right: 10px;
        width: 40px;
        height: 40px;
        font-size: 30px;
        line-height: 38px;
    }
    .netstore-auth-modal .netstore-auth-panel,
    .netstore-auth-modal[data-auth-method="password"] .netstore-auth-panel {
        flex: 1 1 auto;
        padding: 20px 18px calc(24px + env(safe-area-inset-bottom, 0px));
    }
    .netstore-auth-modal .netstore-auth-heading h2 {
        font-size: 24px;
    }
    .netstore-auth-modal .netstore-auth-heading p {
        margin: 7px 0 16px;
        font-size: 12px;
        line-height: 1.45;
    }
    .netstore-auth-alternatives {
        margin-top: 17px;
    }
    .netstore-auth-divider {
        margin-bottom: 12px;
    }
    .netstore-auth-adapters a,
    .netstore-auth-choice,
    .netstore-unified-auth__submit {
        min-height: 48px;
    }
    .netstore-unified-auth__input {
        height: 48px;
        line-height: 46px;
    }
    .netstore-password-auth__intro strong {
        font-size: 23px;
    }
}

@media (max-width: 767px) {
    html.netstore-auth-standalone-active body {
        min-height: 100vh;
        min-height: 100svh;
        padding-bottom: 0 !important;
        background: #fff !important;
    }
    html.netstore-auth-standalone-active body .top-announce-container,
    html.netstore-auth-standalone-active body .wrapper > .auth,
    html.netstore-auth-standalone-active body .header.ns-modern-header,
    html.netstore-auth-standalone-active body .ns-modern-menu,
    html.netstore-auth-standalone-active body .navbar,
    html.netstore-auth-standalone-active body .footer,
    html.netstore-auth-standalone-active body .ns-site-footer {
        display: none !important;
    }
    .netstore-auth-page,
    .netstore-auth-page.netstore-auth-v2 {
        min-height: 100vh;
        min-height: 100svh;
        box-sizing: border-box;
        margin: 0;
        padding: 18px 18px calc(26px + env(safe-area-inset-bottom, 0px));
        background: #fff;
    }
    .netstore-auth-mobile-brand {
        display: flex;
        width: max-content;
        align-items: flex-end;
        margin: 0 auto 20px;
        color: #a82421 !important;
        font-size: 26px;
        font-weight: 800;
        line-height: 1;
        letter-spacing: -.04em;
        text-decoration: none !important;
    }
    .netstore-auth-mobile-brand small {
        margin: 0 0 1px 2px;
        color: #c33a32;
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 0;
    }
    .netstore-auth-shell {
        display: block;
        width: 100%;
        max-width: 500px;
    }
    .netstore-auth-card,
    .netstore-auth-page.netstore-auth-v2 .netstore-auth-standalone-card {
        width: 100%;
        max-width: 500px;
        box-sizing: border-box;
        margin: 0 auto;
        padding: 0 0 24px;
        border: 0;
        border-radius: 0;
        background: #fff;
        box-shadow: none;
        overflow: visible;
    }
    .netstore-auth-page.netstore-auth-v2 .netstore-auth-panel {
        padding: 0;
    }
    .netstore-auth-card__header {
        display: block;
        margin: 0 0 18px;
    }
    .netstore-auth-card__icon {
        display: none;
    }
    .netstore-auth-card__eyebrow {
        margin-bottom: 5px;
    }
    .netstore-auth-card h1,
    .netstore-auth-heading h1 {
        font-size: 25px;
    }
    .netstore-auth-card__header p,
    .netstore-auth-heading p {
        margin: 7px 0 17px;
        font-size: 12px;
        line-height: 1.45;
    }
    .netstore-auth-page .netstore-auth-benefits {
        display: none !important;
    }
    .netstore-auth-page .netstore-auth-form--unified .netstore-unified-auth {
        max-width: none;
    }
}

@media (max-width: 350px) {
    .netstore-auth-modal .netstore-auth-panel,
    .netstore-auth-modal[data-auth-method="password"] .netstore-auth-panel,
    .netstore-auth-page,
    .netstore-auth-page.netstore-auth-v2 {
        padding-right: 14px;
        padding-left: 14px;
    }
    .netstore-password-auth__form .g-recaptcha,
    .netstore-password-auth__form .wa-captcha > div {
        width: 112%;
        transform: scale(.89);
        transform-origin: 0 0;
    }
}

/* Netstore main-header account shortcut v2.6.93.48 */
.ns-modern-header .ns-header-account {
    grid-area: account;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    min-width: 44px;
    height: 40px;
    min-height: 40px;
    margin: 0;
    padding: 0;
}

.ns-modern-header .ns-header-account-btn,
.ns-modern-header .ns-header-account-btn.netstore-auth-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    min-width: 44px;
    max-width: 44px;
    height: 40px;
    min-height: 40px;
    max-height: 40px;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 8px !important;
    background: #ffffff;
    color: #2f6ebd;
    font-size: 19px;
    font-weight: 400;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 4px 11px rgba(4, 10, 18, .18);
    transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
}

.ns-modern-header .ns-header-account-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    min-width: 28px;
    height: 28px;
    min-height: 28px;
    border-radius: 50% !important;
    background: #edf5ff;
}

.ns-modern-header .ns-header-account-btn .fa {
    margin: 0;
    font-size: 19px !important;
}

.ns-modern-header .ns-header-account-btn:hover,
.ns-modern-header .ns-header-account-btn:focus {
    color: #245b9d;
    background: #f7fbff;
    border-color: rgba(109, 163, 255, .68);
    box-shadow: 0 5px 14px rgba(4, 10, 18, .24);
    text-decoration: none;
    outline: 0;
}

.ns-modern-header .ns-header-account-btn:focus-visible {
    outline: 2px solid #6da3ff;
    outline-offset: 2px;
}

@media (min-width: 1400px) {
    html body .header.ns-modern-header .ns-header-row {
        grid-template-columns: 124px 168px minmax(240px, 1fr) 44px 205px 180px !important;
        grid-template-areas: "logo catalog search account phone cart" !important;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    html body .header.ns-modern-header .ns-header-row {
        display: grid !important;
        grid-template-columns: minmax(128px, 150px) 46px minmax(170px, 1fr) 46px 46px 46px !important;
        grid-template-areas: "logo catalog search account phone cart" !important;
        column-gap: clamp(8px, 1vw, 10px) !important;
    }

    .ns-modern-header .ns-header-account,
    .ns-modern-header .ns-header-account-btn,
    .ns-modern-header .ns-header-account-btn.netstore-auth-trigger {
        width: 46px;
        min-width: 46px;
        max-width: 46px;
        height: 46px;
        min-height: 46px;
        max-height: 46px;
    }
}

/* Netstore desktop-header visual system v2.6.93.48 */
@media (min-width: 768px) {
    html body .header.ns-modern-header {
        box-shadow: 0 3px 10px rgba(4, 10, 18, .16) !important;
    }

    html body .header.ns-modern-header .ns-catalog-btn {
        border-radius: 8px !important;
        background: #4773cf !important;
        box-shadow: 0 2px 7px rgba(4, 10, 18, .14) !important;
    }

    html body .header.ns-modern-header .ns-header-search .ns-search-box,
    html body .header.ns-modern-header .ns-header-search .input-group {
        border-radius: 8px !important;
        box-shadow: 0 2px 7px rgba(4, 10, 18, .14) !important;
    }

    html body .header.ns-modern-header .ns-header-search button,
    html body .header.ns-modern-header .ns-header-search .btn {
        border-radius: 0 8px 8px 0 !important;
        background: linear-gradient(180deg, #477f33 0%, #3f742d 100%) !important;
        color: #ffffff !important;
        box-shadow: none !important;
    }

    html body .header.ns-modern-header .ns-header-search input::placeholder {
        color: #5f6d80 !important;
        opacity: 1 !important;
    }

    html body .header.ns-modern-header .ns-header-account-btn,
    html body .header.ns-modern-header .ns-header-account-btn.netstore-auth-trigger,
    html body .header.ns-modern-header .ns-contact-trigger,
    html body .header.ns-modern-header #cart.ns-cart-box.cart-top > a,
    html body .header.ns-modern-header #cart.ns-cart-box.cart-top.highlight > a {
        border-radius: 8px !important;
        box-shadow: 0 2px 7px rgba(4, 10, 18, .14) !important;
    }

    html body .header.ns-modern-header .ns-catalog-btn:hover,
    html body .header.ns-modern-header .ns-catalog-btn:focus,
    html body .header.ns-modern-header .ns-header-account-btn:hover,
    html body .header.ns-modern-header .ns-header-account-btn:focus,
    html body .header.ns-modern-header .ns-contact-trigger:hover,
    html body .header.ns-modern-header .ns-contact-trigger:focus,
    html body .header.ns-modern-header #cart.ns-cart-box.cart-top > a:hover,
    html body .header.ns-modern-header #cart.ns-cart-box.cart-top > a:focus {
        box-shadow: 0 4px 11px rgba(4, 10, 18, .22) !important;
    }

    html body .header.ns-modern-header .ns-contact-trigger small,
    html body .header.ns-modern-header .ns-contact-trigger .hint,
    html body .header.ns-modern-header .ns-contact-trigger .workhours {
        color: #657181 !important;
        font-size: 12px !important;
        line-height: 12px !important;
    }

    html body .header.ns-modern-header #cart.ns-cart-box .toolbar-title {
        font-size: 12px !important;
    }

    html body .header.ns-modern-header .ns-header-account-icon {
        border-radius: 50% !important;
        background-color: #edf5ff !important;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%232f6ebd' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21a8 8 0 0 0-16 0'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") !important;
        background-repeat: no-repeat !important;
        background-position: center !important;
        background-size: 20px 20px !important;
    }

    html body .header.ns-modern-header .ns-header-account-icon .fa {
        display: none !important;
    }

    html body .header.ns-modern-header .ns-contact-trigger-icon {
        background-color: #edf5ff !important;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%232f6ebd' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.35 1.89.67 2.78a2 2 0 0 1-.45 2.11L8.09 9.85a16 16 0 0 0 6.06 6.06l1.24-1.24a2 2 0 0 1 2.11-.45c.89.32 1.82.54 2.78.67A2 2 0 0 1 22 16.9z'/%3E%3C/svg%3E") !important;
        background-repeat: no-repeat !important;
        background-position: center !important;
        background-size: 18px 18px !important;
    }

    html body .header.ns-modern-header .ns-contact-trigger-icon .fa,
    html body .header.ns-modern-header .ns-contact-trigger-icon > i {
        display: none !important;
    }

    html body .header.ns-modern-header .ns-header-search button .fa-search,
    html body .header.ns-modern-header .ns-header-search .btn .fa-search {
        display: none !important;
    }

    html body .header.ns-modern-header .ns-header-search button::before,
    html body .header.ns-modern-header .ns-header-search .btn::before {
        content: "" !important;
        display: block !important;
        width: 20px !important;
        min-width: 20px !important;
        height: 20px !important;
        min-height: 20px !important;
        margin: 0 6px 0 0 !important;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4.2-4.2'/%3E%3C/svg%3E") !important;
        background-repeat: no-repeat !important;
        background-position: center !important;
        background-size: 20px 20px !important;
    }

    html body .header.ns-modern-header #cart.ns-cart-box .ns-cart-icon-wrap::before {
        content: "" !important;
        display: block !important;
        width: 22px !important;
        min-width: 22px !important;
        height: 22px !important;
        min-height: 22px !important;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.5'/%3E%3Ccircle cx='19' cy='20' r='1.5'/%3E%3Cpath d='M2 3h3l2.4 11.5a2 2 0 0 0 2 1.5h8.8a2 2 0 0 0 2-1.6L22 7H6'/%3E%3C/svg%3E") !important;
        background-repeat: no-repeat !important;
        background-position: center !important;
        background-size: 22px 22px !important;
    }

    html body .header.ns-modern-header #cart.ns-cart-box .ns-cart-icon-wrap .fa-shopping-cart {
        display: none !important;
    }

    html body .header.ns-modern-header .ns-contact-dropdown {
        box-shadow: 0 12px 28px rgba(4, 10, 18, .18) !important;
    }
}

/* Stable compact desktop/tablet row, including the exact 1199px boundary. */
@media (min-width: 768px) and (max-width: 1199.98px) {
    html body .header.ns-modern-header .container.ns-header-container .ns-header-row {
        display: grid !important;
        grid-template-columns: minmax(128px, 150px) 46px minmax(170px, 1fr) 46px 46px 46px !important;
        grid-template-areas: "logo catalog search account phone cart" !important;
        grid-auto-flow: row !important;
        grid-auto-columns: 0 !important;
        grid-auto-rows: 46px !important;
        align-items: center !important;
        column-gap: clamp(8px, 1vw, 10px) !important;
        height: 46px !important;
        min-height: 46px !important;
        max-height: 46px !important;
    }

    html body .header.ns-modern-header .ns-header-row > .ns-header-logo {
        grid-area: logo !important;
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    html body .header.ns-modern-header .ns-header-row > .ns-header-catalog {
        grid-area: catalog !important;
        grid-column: 2 !important;
        grid-row: 1 !important;
    }

    html body .header.ns-modern-header .ns-header-row > .ns-header-search {
        grid-area: search !important;
        grid-column: 3 !important;
        grid-row: 1 !important;
    }

    html body .header.ns-modern-header .ns-header-row > .ns-header-account {
        grid-area: account !important;
        grid-column: 4 !important;
        grid-row: 1 !important;
        width: 46px !important;
        min-width: 46px !important;
        max-width: 46px !important;
        height: 46px !important;
        min-height: 46px !important;
        max-height: 46px !important;
    }

    html body .header.ns-modern-header .ns-header-row > .ns-header-contacts,
    html body .header.ns-modern-header .ns-header-row > .ns-contact-widget {
        grid-area: phone !important;
        grid-column: 5 !important;
        grid-row: 1 !important;
    }

    html body .header.ns-modern-header .ns-header-row > .ns-header-cart {
        grid-area: cart !important;
        grid-column: 6 !important;
        grid-row: 1 !important;
    }

    html body .header.ns-modern-header .ns-header-search button::before,
    html body .header.ns-modern-header .ns-header-search .btn::before {
        margin-right: 0 !important;
    }

    /* Keep the compact contact popover inside the viewport. Older theme
       breakpoints force it to open from the button's left edge. */
    html body .header.ns-modern-header .ns-contact-widget > .ns-contact-dropdown {
        right: 0 !important;
        left: auto !important;
    }
}

/* Medium PC: preserve the full contact block and make the cart compact. */
@media (min-width: 1200px) and (max-width: 1399.98px) {
    html body .header.ns-modern-header .container.ns-header-container .ns-header-row {
        display: grid !important;
        grid-template-columns: 124px 168px minmax(360px, 1fr) 44px 205px 46px !important;
        grid-template-areas: "logo catalog search account phone cart" !important;
        column-gap: 12px !important;
    }

    html body .header.ns-modern-header .ns-header-cart,
    html body .header.ns-modern-header #cart.ns-cart-box,
    html body .header.ns-modern-header #cart.ns-cart-box.cart-top,
    html body .header.ns-modern-header #cart.ns-cart-box.cart-top.highlight,
    html body .header.ns-modern-header #cart.ns-cart-box.cart-top > a,
    html body .header.ns-modern-header #cart.ns-cart-box.cart-top.highlight > a {
        width: 46px !important;
        min-width: 46px !important;
        max-width: 46px !important;
        height: 40px !important;
        min-height: 40px !important;
        max-height: 40px !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    html body .header.ns-modern-header #cart.ns-cart-box.cart-top > a,
    html body .header.ns-modern-header #cart.ns-cart-box.cart-top.highlight > a {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: visible !important;
    }

    html body .header.ns-modern-header #cart.ns-cart-box .ns-cart-text-wrap,
    html body .header.ns-modern-header #cart.ns-cart-box .toolbar-title,
    html body .header.ns-modern-header #cart.ns-cart-box .cart-total {
        display: none !important;
    }

    html body .header.ns-modern-header #cart.ns-cart-box .ns-cart-icon-wrap {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 46px !important;
        min-width: 46px !important;
        max-width: 46px !important;
        height: 40px !important;
        min-height: 40px !important;
        max-height: 40px !important;
        margin: 0 !important;
        position: relative !important;
    }
}

@media (min-width: 1600px) {
    html body .header.ns-modern-header .container.ns-header-container .ns-header-row {
        grid-template-columns: 136px 168px minmax(240px, 1fr) 44px 205px 180px !important;
    }

    html body .header.ns-modern-header .ns-header-logo {
        width: 136px !important;
        max-width: 136px !important;
    }

    html body .header.ns-modern-header .ns-header-logo .logo img {
        max-width: 136px !important;
    }
}

/* Netstore responsive header consolidation v2.6.93.50 */
@media (min-width: 768px) and (max-width: 1199.98px) {
    /* Historical tablet rules re-enable Font Awesome at some widths. Keep one
       icon source only so search and cart never render duplicate glyphs. */
    html body .header.ns-modern-header .ns-header-search .ns-search-box .btn > i.fa.fa-search,
    html body .header.ns-modern-header .ns-header-search .ns-search-box .btn i.fa.fa-search,
    html body .header.ns-modern-header #cart.ns-cart-box .ns-cart-icon-wrap > i.fa.fa-shopping-cart,
    html body .header.ns-modern-header #cart.ns-cart-box .fa-shopping-cart {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
    }
}

/* Narrow desktop windows use the desktop HTML, therefore every child needs an
   explicit grid area. This removes the implicit account column and fourth row. */
@media (max-width: 767.98px) {
    html body .wrapper > .auth {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        overflow: hidden !important;
    }

    html body:not(.touch) .header.ns-modern-header {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    html body:not(.touch) .header.ns-modern-header .container.ns-header-container {
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 10px 15px 12px !important;
        box-sizing: border-box !important;
    }

    html body:not(.touch) .header.ns-modern-header .container.ns-header-container .ns-header-row {
        --ns-narrow-control: 46px;
        --ns-narrow-search: 56px;
        display: grid !important;
        grid-template-columns: minmax(110px, 150px) var(--ns-narrow-control) minmax(0, 1fr) var(--ns-narrow-control) var(--ns-narrow-control) var(--ns-narrow-control) !important;
        grid-template-areas:
            "logo catalog spacer account phone cart"
            "search search search search search search" !important;
        grid-template-rows: var(--ns-narrow-control) var(--ns-narrow-search) !important;
        grid-auto-columns: 0 !important;
        grid-auto-rows: 0 !important;
        align-items: center !important;
        column-gap: 8px !important;
        row-gap: 10px !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }

    html body:not(.touch) .header.ns-modern-header .ns-header-row > .ns-header-logo {
        grid-area: logo !important;
        grid-column: 1 !important;
        grid-row: 1 !important;
        align-self: center !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 150px !important;
        height: var(--ns-narrow-control) !important;
    }

    html body:not(.touch) .header.ns-modern-header .ns-header-logo .logo,
    html body:not(.touch) .header.ns-modern-header .ns-header-logo .logo a {
        display: inline-flex !important;
        align-items: center !important;
        width: auto !important;
        max-width: 100% !important;
        height: 100% !important;
    }

    html body:not(.touch) .header.ns-modern-header .ns-header-logo .logo img {
        display: block !important;
        width: auto !important;
        max-width: 100% !important;
        max-height: 42px !important;
    }

    html body:not(.touch) .header.ns-modern-header .ns-header-row > .ns-header-catalog {
        grid-area: catalog !important;
        grid-column: 2 !important;
        grid-row: 1 !important;
        width: var(--ns-narrow-control) !important;
        min-width: var(--ns-narrow-control) !important;
        max-width: var(--ns-narrow-control) !important;
        height: var(--ns-narrow-control) !important;
    }

    html body:not(.touch) .header.ns-modern-header .ns-catalog-btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: var(--ns-narrow-control) !important;
        min-width: var(--ns-narrow-control) !important;
        max-width: var(--ns-narrow-control) !important;
        height: var(--ns-narrow-control) !important;
        min-height: var(--ns-narrow-control) !important;
        max-height: var(--ns-narrow-control) !important;
        padding: 0 !important;
        gap: 0 !important;
    }

    html body:not(.touch) .header.ns-modern-header .ns-catalog-btn > span:not(.ns-catalog-grid-icon) {
        display: none !important;
    }

    html body:not(.touch) .header.ns-modern-header .ns-header-row > .ns-header-search {
        grid-area: search !important;
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        align-self: stretch !important;
        width: 100% !important;
        min-width: 0 !important;
        height: var(--ns-narrow-search) !important;
        margin: 0 !important;
    }

    html body:not(.touch) .header.ns-modern-header .ns-header-search form,
    html body:not(.touch) .header.ns-modern-header .ns-header-search .ns-search-form,
    html body:not(.touch) .header.ns-modern-header .ns-header-search .ns-search-box,
    html body:not(.touch) .header.ns-modern-header .ns-header-search .input-group {
        display: flex !important;
        align-items: stretch !important;
        width: 100% !important;
        min-width: 0 !important;
        height: var(--ns-narrow-search) !important;
        min-height: var(--ns-narrow-search) !important;
        max-height: var(--ns-narrow-search) !important;
        margin: 0 !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    html body:not(.touch) .header.ns-modern-header .ns-header-search input,
    html body:not(.touch) .header.ns-modern-header .ns-header-search .form-control {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        height: var(--ns-narrow-search) !important;
        min-height: var(--ns-narrow-search) !important;
        max-height: var(--ns-narrow-search) !important;
        line-height: normal !important;
        box-sizing: border-box !important;
    }

    html body:not(.touch) .header.ns-modern-header .ns-header-search .input-group-btn,
    html body:not(.touch) .header.ns-modern-header .ns-header-search button,
    html body:not(.touch) .header.ns-modern-header .ns-header-search .btn {
        flex: 0 0 64px !important;
        width: 64px !important;
        min-width: 64px !important;
        max-width: 64px !important;
        height: var(--ns-narrow-search) !important;
        min-height: var(--ns-narrow-search) !important;
        max-height: var(--ns-narrow-search) !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    html body:not(.touch) .header.ns-modern-header .ns-header-search button::before,
    html body:not(.touch) .header.ns-modern-header .ns-header-search .btn::before {
        content: "" !important;
        display: block !important;
        width: 22px !important;
        min-width: 22px !important;
        height: 22px !important;
        min-height: 22px !important;
        margin: 0 !important;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4.2-4.2'/%3E%3C/svg%3E") !important;
        background-repeat: no-repeat !important;
        background-position: center !important;
        background-size: 22px 22px !important;
    }

    html body:not(.touch) .header.ns-modern-header .ns-header-search .fa-search,
    html body:not(.touch) .header.ns-modern-header .ns-header-search i.fa.fa-search {
        display: none !important;
    }

    html body:not(.touch) .header.ns-modern-header .ns-header-row > .ns-header-account {
        grid-area: account !important;
        grid-column: 4 !important;
        grid-row: 1 !important;
        width: var(--ns-narrow-control) !important;
        min-width: var(--ns-narrow-control) !important;
        max-width: var(--ns-narrow-control) !important;
        height: var(--ns-narrow-control) !important;
        min-height: var(--ns-narrow-control) !important;
        max-height: var(--ns-narrow-control) !important;
    }

    html body:not(.touch) .header.ns-modern-header .ns-header-account-btn,
    html body:not(.touch) .header.ns-modern-header .ns-header-account-btn.netstore-auth-trigger {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: var(--ns-narrow-control) !important;
        min-width: var(--ns-narrow-control) !important;
        max-width: var(--ns-narrow-control) !important;
        height: var(--ns-narrow-control) !important;
        min-height: var(--ns-narrow-control) !important;
        max-height: var(--ns-narrow-control) !important;
        padding: 0 !important;
        border-radius: 8px !important;
        background: #ffffff !important;
        box-shadow: 0 2px 7px rgba(4, 10, 18, .14) !important;
    }

    html body:not(.touch) .header.ns-modern-header .ns-header-account-icon {
        width: 28px !important;
        min-width: 28px !important;
        height: 28px !important;
        min-height: 28px !important;
        background-color: #edf5ff !important;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%232f6ebd' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21a8 8 0 0 0-16 0'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") !important;
        background-repeat: no-repeat !important;
        background-position: center !important;
        background-size: 18px 18px !important;
    }

    html body:not(.touch) .header.ns-modern-header .ns-header-account-icon .fa,
    html body:not(.touch) .header.ns-modern-header .ns-header-account-icon .fa-user {
        display: none !important;
    }

    html body:not(.touch) .header.ns-modern-header .ns-header-row > .ns-header-contacts,
    html body:not(.touch) .header.ns-modern-header .ns-header-row > .ns-contact-widget {
        grid-area: phone !important;
        grid-column: 5 !important;
        grid-row: 1 !important;
    }

    html body:not(.touch) .header.ns-modern-header .ns-header-row > .ns-header-cart {
        grid-area: cart !important;
        grid-column: 6 !important;
        grid-row: 1 !important;
    }

    html body:not(.touch) .header.ns-modern-header .ns-header-contacts,
    html body:not(.touch) .header.ns-modern-header .ns-contact-widget,
    html body:not(.touch) .header.ns-modern-header .ns-contact-trigger,
    html body:not(.touch) .header.ns-modern-header .ns-header-cart,
    html body:not(.touch) .header.ns-modern-header #cart.ns-cart-box,
    html body:not(.touch) .header.ns-modern-header #cart.ns-cart-box > a {
        width: var(--ns-narrow-control) !important;
        min-width: var(--ns-narrow-control) !important;
        max-width: var(--ns-narrow-control) !important;
        height: var(--ns-narrow-control) !important;
        min-height: var(--ns-narrow-control) !important;
        max-height: var(--ns-narrow-control) !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    html body:not(.touch) .header.ns-modern-header #cart.ns-cart-box > a {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: visible !important;
        border-radius: 8px !important;
    }

    html body:not(.touch) .header.ns-modern-header #cart.ns-cart-box .ns-cart-text-wrap,
    html body:not(.touch) .header.ns-modern-header #cart.ns-cart-box .toolbar-title,
    html body:not(.touch) .header.ns-modern-header #cart.ns-cart-box .cart-total {
        display: none !important;
    }

    html body:not(.touch) .header.ns-modern-header #cart.ns-cart-box .ns-cart-icon-wrap {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: var(--ns-narrow-control) !important;
        min-width: var(--ns-narrow-control) !important;
        max-width: var(--ns-narrow-control) !important;
        height: var(--ns-narrow-control) !important;
        min-height: var(--ns-narrow-control) !important;
        max-height: var(--ns-narrow-control) !important;
        position: relative !important;
    }

    html body:not(.touch) .header.ns-modern-header #cart.ns-cart-box .ns-cart-icon-wrap::before {
        content: "" !important;
        display: block !important;
        width: 22px !important;
        min-width: 22px !important;
        height: 22px !important;
        min-height: 22px !important;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.5'/%3E%3Ccircle cx='19' cy='20' r='1.5'/%3E%3Cpath d='M2 3h3l2.4 11.5a2 2 0 0 0 2 1.5h8.8a2 2 0 0 0 2-1.6L22 7H6'/%3E%3C/svg%3E") !important;
        background-repeat: no-repeat !important;
        background-position: center !important;
        background-size: 22px 22px !important;
    }

    html body:not(.touch) .header.ns-modern-header #cart.ns-cart-box .fa-shopping-cart {
        display: none !important;
    }

    html body:not(.touch) .header.ns-modern-header .ns-contact-widget > .ns-contact-dropdown {
        right: 0 !important;
        left: auto !important;
    }
}

/* The mobile utility bar used most of a row for UA/RU only. Keep languages
   available inside the catalog panel and return that vertical space to content. */
.ns-menu-language-switch {
    display: none;
}

@media (max-width: 767.98px) {
    html body .header.ns-modern-header .ns-menu-language-switch {
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
        min-height: 48px !important;
        margin: 0 !important;
        padding: 6px 14px !important;
        border-bottom: 1px solid #e5eaf0 !important;
        background: #f8fafc !important;
        color: #42526e !important;
        box-sizing: border-box !important;
    }

    html body .header.ns-modern-header .ns-menu-language-label {
        margin-right: auto !important;
        color: #42526e !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
    }

    html body .header.ns-modern-header .ns-menu-language-switch a {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 40px !important;
        min-width: 40px !important;
        height: 34px !important;
        min-height: 34px !important;
        padding: 0 !important;
        border: 1px solid #dbe2ea !important;
        border-radius: 8px !important;
        background: #ffffff !important;
        color: #42526e !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        text-decoration: none !important;
        box-sizing: border-box !important;
    }

    html body .header.ns-modern-header .ns-menu-language-switch a:hover,
    html body .header.ns-modern-header .ns-menu-language-switch a:focus {
        border-color: #7ca6e8 !important;
        color: #245b9d !important;
        outline: 2px solid rgba(109, 163, 255, .36) !important;
        outline-offset: 1px !important;
    }

    html body .header.ns-modern-header .ns-menu-language-switch a.active {
        border-color: #3b7fe0 !important;
        background: #3b7fe0 !important;
        color: #ffffff !important;
    }

    html body .header.ns-modern-header .ns-menu-language-separator {
        display: none !important;
    }
}

@media (max-width: 1399.98px) {
    html body .header.ns-modern-header #cart.ns-cart-box .ns-cart-icon-wrap > .cart-count.count,
    html body .header.ns-modern-header .ns-mobile-header-container .ns-mobile-cart-btn > .cart-count.count {
        top: -5px !important;
        right: -5px !important;
        width: auto !important;
        min-width: 20px !important;
        max-width: none !important;
        height: 20px !important;
        min-height: 20px !important;
        max-height: 20px !important;
        padding: 0 5px !important;
        border-radius: 10px !important;
        font-size: 11px !important;
        line-height: 20px !important;
        box-sizing: border-box !important;
    }
}

@media (max-width: 480px) {
    html body:not(.touch) .header.ns-modern-header .container.ns-header-container {
        padding: 10px 14px 12px !important;
    }

    html body:not(.touch) .header.ns-modern-header .container.ns-header-container .ns-header-row {
        --ns-narrow-control: 44px;
        --ns-narrow-search: 52px;
        grid-template-columns: minmax(0, 1fr) repeat(4, var(--ns-narrow-control)) !important;
        grid-template-areas:
            "logo catalog account phone cart"
            "search search search search search" !important;
        grid-template-rows: var(--ns-narrow-control) var(--ns-narrow-search) !important;
        column-gap: 6px !important;
        row-gap: 10px !important;
    }

    html body:not(.touch) .header.ns-modern-header .ns-header-row > .ns-header-account {
        grid-column: 3 !important;
    }

    html body:not(.touch) .header.ns-modern-header .ns-header-row > .ns-header-contacts,
    html body:not(.touch) .header.ns-modern-header .ns-header-row > .ns-contact-widget {
        grid-column: 4 !important;
    }

    html body:not(.touch) .header.ns-modern-header .ns-header-row > .ns-header-cart {
        grid-column: 5 !important;
    }

    html body:not(.touch) .header.ns-modern-header .ns-header-search .input-group-btn,
    html body:not(.touch) .header.ns-modern-header .ns-header-search button,
    html body:not(.touch) .header.ns-modern-header .ns-header-search .btn {
        flex-basis: 56px !important;
        width: 56px !important;
        min-width: 56px !important;
        max-width: 56px !important;
    }

    html body:not(.touch) .header.ns-modern-header .ns-header-search input,
    html body:not(.touch) .header.ns-modern-header .ns-header-search .form-control {
        font-size: 16px !important;
    }
}

@media (max-width: 359.98px) {
    html body:not(.touch) .header.ns-modern-header .container.ns-header-container {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    html body:not(.touch) .header.ns-modern-header .container.ns-header-container .ns-header-row {
        --ns-narrow-control: 44px;
        column-gap: 3px !important;
        row-gap: 8px !important;
    }

    html body:not(.touch) .header.ns-modern-header .ns-header-cart,
    html body:not(.touch) .header.ns-modern-header #cart.ns-cart-box.cart-top,
    html body:not(.touch) .header.ns-modern-header #cart.ns-cart-box.cart-top.highlight,
    html body:not(.touch) .header.ns-modern-header #cart.ns-cart-box.cart-top > a,
    html body:not(.touch) .header.ns-modern-header #cart.ns-cart-box.cart-top.highlight > a,
    html body:not(.touch) .header.ns-modern-header #cart.ns-cart-box .ns-cart-icon-wrap {
        width: var(--ns-narrow-control) !important;
        min-width: var(--ns-narrow-control) !important;
        max-width: var(--ns-narrow-control) !important;
        height: var(--ns-narrow-control) !important;
        min-height: var(--ns-narrow-control) !important;
        max-height: var(--ns-narrow-control) !important;
    }

    html body:not(.touch) .header.ns-modern-header .ns-header-account-icon {
        width: 26px !important;
        min-width: 26px !important;
        height: 26px !important;
        min-height: 26px !important;
        background-size: 18px 18px !important;
    }
}

/* Real phones receive the separate $mobile header. Give account an explicit
   grid area instead of relying on the historical auto-placed spacer. */
@media (max-width: 767.98px) {
    html body .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-header-top {
        --ns-mobile-account-control: 44px;
        grid-template-columns: minmax(0, 1fr) repeat(4, var(--ns-mobile-account-control)) !important;
        grid-template-areas: "logo catalog account phone cart" !important;
        min-height: var(--ns-mobile-account-control) !important;
        height: var(--ns-mobile-account-control) !important;
        column-gap: 6px !important;
    }

    html body .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-actions {
        display: contents !important;
    }

    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-header-top > .ns-mobile-catalog-icon-btn,
    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container button.ns-mobile-catalog-icon-btn.js-ns-mobile-catalog-toggle,
    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-account-btn,
    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-actions .ns-contact-widget,
    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-contact-widget,
    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-contact-trigger,
    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-phone-btn,
    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-cart-btn {
        width: var(--ns-mobile-account-control) !important;
        min-width: var(--ns-mobile-account-control) !important;
        max-width: var(--ns-mobile-account-control) !important;
        height: var(--ns-mobile-account-control) !important;
        min-height: var(--ns-mobile-account-control) !important;
        max-height: var(--ns-mobile-account-control) !important;
    }

    html body .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-account-btn {
        grid-area: account !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        justify-self: end !important;
        align-self: center !important;
        width: var(--ns-mobile-account-control) !important;
        min-width: var(--ns-mobile-account-control) !important;
        max-width: var(--ns-mobile-account-control) !important;
        height: var(--ns-mobile-account-control) !important;
        min-height: var(--ns-mobile-account-control) !important;
        max-height: var(--ns-mobile-account-control) !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 10px !important;
        background-color: #ffffff !important;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%232f6ebd' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21a8 8 0 0 0-16 0'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") !important;
        background-repeat: no-repeat !important;
        background-position: center !important;
        background-size: 20px 20px !important;
        box-shadow: 0 3px 8px rgba(4, 10, 18, .12) !important;
        color: #2f6ebd !important;
        font-size: 0 !important;
        line-height: 1 !important;
        box-sizing: border-box !important;
    }

    html body .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-account-btn > i,
    html body .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-account-btn .fa-user {
        display: none !important;
    }
}

@media (max-width: 360.98px) {
    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container {
        --ns-mi-box: 44px;
        --ns-mobile-icon-box: 44px;
        --ns-mobile-account-control: 44px;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-header-top {
        --ns-mobile-account-control: 44px;
        grid-template-columns: minmax(0, 1fr) repeat(4, 44px) !important;
        grid-template-areas: "logo catalog account phone cart" !important;
        min-height: 44px !important;
        height: 44px !important;
        column-gap: 3px !important;
    }

    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-logo,
    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-logo .logo,
    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-logo .logo a {
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }

    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-logo img {
        display: block !important;
        width: auto !important;
        max-width: 100% !important;
        max-height: 44px !important;
    }
}

/* Touch tablets also use the mobile HTML. Reserve an explicit account column. */
@media (min-width: 768px) and (max-width: 1199.98px) {
    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-header-top {
        grid-template-columns: minmax(160px, auto) 54px minmax(0, 1fr) 54px 54px 54px !important;
        grid-template-areas: "logo catalog spacer account phone cart" !important;
    }

    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-account-btn {
        grid-area: account !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        justify-self: end !important;
        align-self: center !important;
        width: 54px !important;
        min-width: 54px !important;
        max-width: 54px !important;
        height: 54px !important;
        min-height: 54px !important;
        max-height: 54px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 12px !important;
        background-color: #ffffff !important;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232f6ebd' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21a8 8 0 0 0-16 0'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") !important;
        background-repeat: no-repeat !important;
        background-position: center !important;
        background-size: 23px 23px !important;
        box-shadow: 0 5px 14px rgba(4, 10, 18, .13) !important;
        font-size: 0 !important;
        box-sizing: border-box !important;
    }

    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-account-btn > i,
    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-account-btn .fa-user {
        display: none !important;
    }
}

/* Deterministic header overlays v2.6.93.67.
   JavaScript owns the open state. Historical :hover and :focus-within rules
   otherwise keep a panel visible after Escape while aria-expanded is false. */
html body .header.ns-modern-header .ns-header-catalog:not(.ns-megamenu-open) > .ns-header-megamenu {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

html body .header.ns-modern-header .ns-header-catalog.ns-megamenu-open > .ns-header-megamenu {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

html body .header.ns-modern-header .ns-contact-widget:not(.ns-contact-open) > .ns-contact-dropdown {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

html body .header.ns-modern-header .ns-contact-widget.ns-contact-open > .ns-contact-dropdown {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

html body .header.ns-modern-header .ns-contact-widget:not(.ns-contact-open) .ns-contact-trigger-arrow {
    transform: rotate(0deg) !important;
}

html body .header.ns-modern-header .ns-contact-widget.ns-contact-open .ns-contact-trigger-arrow {
    transform: rotate(180deg) !important;
}

/* On narrow non-touch layouts the old fixed popover was translated around
   the trigger and started outside the viewport (x = -152px at 360px). */
@media (max-width: 480px) {
    html body:not(.touch) .header.ns-modern-header .ns-contact-widget > .ns-contact-dropdown {
        left: 12px !important;
        right: 12px !important;
        width: auto !important;
        max-width: calc(100vw - 24px) !important;
        transform: none !important;
        box-sizing: border-box !important;
    }

    html body:not(.touch) .header.ns-modern-header .ns-contact-widget > .ns-contact-dropdown::before {
        left: auto !important;
        right: 72px !important;
    }
}

/* Unified compact header controls v2.6.93.66.
   Legacy storefront breakpoints sized the grid columns correctly but left the
   catalog button, contact trigger and cart with independent 42/44/50/54px
   boxes. Use one outer control size per compact layout and one optical icon
   scale so the row stays visually stable from phone to tablet. */
@media (max-width: 1199.98px) {
    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row {
        --ns-unified-header-control: 46px;
        --ns-narrow-control: var(--ns-unified-header-control);
    }

    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row > .ns-header-catalog,
    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row > .ns-header-account,
    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row > .ns-header-contacts,
    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row > .ns-contact-widget,
    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row > .ns-header-cart,
    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row > .ns-header-catalog > .ns-catalog-btn,
    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row > .ns-header-account > .ns-header-account-btn,
    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row > .ns-header-contacts .ns-contact-trigger,
    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row > .ns-contact-widget > .ns-contact-trigger,
    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row > .ns-header-cart > #cart.ns-cart-box.cart-top,
    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row > .ns-header-cart > #cart.ns-cart-box.cart-top > a,
    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row > .ns-header-cart > #cart.ns-cart-box.cart-top .ns-cart-icon-wrap {
        width: var(--ns-unified-header-control) !important;
        min-width: var(--ns-unified-header-control) !important;
        max-width: var(--ns-unified-header-control) !important;
        height: var(--ns-unified-header-control) !important;
        min-height: var(--ns-unified-header-control) !important;
        max-height: var(--ns-unified-header-control) !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row .ns-catalog-grid-icon {
        width: 22px !important;
        min-width: 22px !important;
        max-width: 22px !important;
        height: 22px !important;
        min-height: 22px !important;
        max-height: 22px !important;
    }

    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row .ns-header-account-icon,
    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row .ns-contact-trigger-icon {
        width: 28px !important;
        min-width: 28px !important;
        max-width: 28px !important;
        height: 28px !important;
        min-height: 28px !important;
        max-height: 28px !important;
        background-size: 20px 20px !important;
    }
}

@media (max-width: 480px) {
    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row {
        --ns-unified-header-control: 44px;
        --ns-narrow-control: var(--ns-unified-header-control);
    }
}

/* At medium PC widths only account and cart remain icon-only. Match their
   44px columns while retaining the intentional 40px desktop row height. */
@media (min-width: 1200px) and (max-width: 1399.98px) {
    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row {
        grid-template-columns: 124px 168px minmax(360px, 1fr) 44px 205px 44px !important;
    }

    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row > .ns-header-cart,
    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row > .ns-header-cart > #cart.ns-cart-box.cart-top,
    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row > .ns-header-cart > #cart.ns-cart-box.cart-top > a,
    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row > .ns-header-cart > #cart.ns-cart-box.cart-top .ns-cart-icon-wrap {
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        height: 40px !important;
        min-height: 40px !important;
        max-height: 40px !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }
}

/* Mobile header visual correction v2.6.93.64.
   The cart icon is drawn by ::before; suppress any legacy Font Awesome child
   and keep the two-row phone/tablet header compact without changing desktop. */
@media (max-width: 767.98px) {
    html body .header.ns-modern-header .ns-mobile-header-container .ns-mobile-cart-btn > i,
    html body .header.ns-modern-header .ns-mobile-header-container .ns-mobile-cart-btn > svg,
    html body .header.ns-modern-header .ns-mobile-header-container .ns-mobile-cart-btn .fa-shopping-cart {
        display: none !important;
        width: 0 !important;
        min-width: 0 !important;
        max-width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-search-row {
        margin-top: 10px !important;
    }

    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-search-row form,
    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-search-row .ns-search-form,
    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-search-row .search-form,
    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-search-row #searchform,
    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-search-row .ns-search-box,
    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-search-row .input-group,
    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-search-row input[type="search"],
    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-search-row input[type="text"],
    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-search-row .form-control,
    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-search-row .input-group-btn,
    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-search-row button,
    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-search-row .btn {
        height: 52px !important;
        min-height: 52px !important;
        max-height: 52px !important;
    }

    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-search-row input[type="search"],
    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-search-row input[type="text"],
    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-search-row .form-control {
        font-size: 17px !important;
        line-height: 52px !important;
    }

    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-search-row .input-group-btn,
    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-search-row button,
    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-search-row .btn {
        width: 64px !important;
        min-width: 64px !important;
        max-width: 64px !important;
    }
}

@media (min-width: 481px) and (max-width: 767.98px) {
    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-header-top {
        grid-template-columns: minmax(140px, 160px) 44px minmax(0, 1fr) 44px 44px 44px !important;
        grid-template-areas: "logo catalog spacer account phone cart" !important;
    }
}

/* One cart glyph at every breakpoint v2.6.93.65.
   The historical theme may render the desktop cart HTML even in a narrow
   viewport. Keep the SVG on .ns-cart-icon-wrap::before as the only source and
   neutralize both the old Font Awesome child and any anchor pseudo-icon. */
html body .header.ns-modern-header #cart.ns-cart-box.cart-top > a::before,
html body .header.ns-modern-header #cart.ns-cart-box.highlight.cart-top > a::before {
    content: none !important;
    display: none !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
}

html body .header.ns-modern-header #cart.ns-cart-box.cart-top .ns-cart-icon-wrap > i,
html body .header.ns-modern-header #cart.ns-cart-box.cart-top .ns-cart-icon-wrap > svg,
html body .header.ns-modern-header #cart.ns-cart-box.cart-top .ns-cart-icon-wrap .fa-shopping-cart,
html body .header.ns-modern-header #cart.ns-cart-box.highlight.cart-top .ns-cart-icon-wrap > i,
html body .header.ns-modern-header #cart.ns-cart-box.highlight.cart-top .ns-cart-icon-wrap > svg,
html body .header.ns-modern-header #cart.ns-cart-box.highlight.cart-top .ns-cart-icon-wrap .fa-shopping-cart {
    content: none !important;
    display: none !important;
    visibility: hidden !important;
    position: absolute !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

html body .header.ns-modern-header #cart.ns-cart-box.cart-top .ns-cart-icon-wrap > i::before,
html body .header.ns-modern-header #cart.ns-cart-box.cart-top .ns-cart-icon-wrap .fa-shopping-cart::before,
html body .header.ns-modern-header #cart.ns-cart-box.highlight.cart-top .ns-cart-icon-wrap > i::before,
html body .header.ns-modern-header #cart.ns-cart-box.highlight.cart-top .ns-cart-icon-wrap .fa-shopping-cart::before {
    content: none !important;
    display: none !important;
}

html body .header.ns-modern-header #cart.ns-cart-box.cart-top .ns-cart-icon-wrap::before,
html body .header.ns-modern-header #cart.ns-cart-box.highlight.cart-top .ns-cart-icon-wrap::before {
    content: "" !important;
    display: block !important;
    flex: 0 0 22px !important;
    width: 22px !important;
    min-width: 22px !important;
    max-width: 22px !important;
    height: 22px !important;
    min-height: 22px !important;
    max-height: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
    background-color: transparent !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.5'/%3E%3Ccircle cx='19' cy='20' r='1.5'/%3E%3Cpath d='M2 3h3l2.4 11.5a2 2 0 0 0 2 1.5h8.8a2 2 0 0 0 2-1.6L22 7H6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 22px 22px !important;
    box-sizing: border-box !important;
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container {
        grid-template-columns: minmax(190px, 240px) 54px minmax(420px, 1fr) 54px 54px 54px !important;
        grid-template-areas: "logo catalog search account phone cart" !important;
    }

    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-account-btn {
        grid-area: account !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 54px !important;
        min-width: 54px !important;
        max-width: 54px !important;
        height: 54px !important;
        min-height: 54px !important;
        max-height: 54px !important;
        border-radius: 12px !important;
        background-color: #ffffff !important;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232f6ebd' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21a8 8 0 0 0-16 0'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") !important;
        background-repeat: no-repeat !important;
        background-position: center !important;
        background-size: 23px 23px !important;
        box-shadow: 0 5px 14px rgba(4, 10, 18, .13) !important;
        font-size: 0 !important;
    }

    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-account-btn > i,
    html body.touch .header.ns-modern-header > .container.ns-mobile-header-container .ns-mobile-account-btn .fa-user {
        display: none !important;
    }
}

/* Count-only desktop cart v2.6.93.69.
   The badge is the persistent cart-state signal. Keep the subtotal in the DOM
   for Shop-Script updates, but do not spend header space on a partial cost. */
@media (min-width: 1200px) {
    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row {
        grid-template-columns: 124px 168px minmax(300px, 1fr) 44px 205px 44px !important;
    }

    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row > .ns-header-cart,
    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row > .ns-header-cart > #cart.ns-cart-box.cart-top,
    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row > .ns-header-cart > #cart.ns-cart-box.cart-top.highlight,
    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row > .ns-header-cart > #cart.ns-cart-box.cart-top > a,
    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row > .ns-header-cart > #cart.ns-cart-box.cart-top.highlight > a {
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        height: 40px !important;
        min-height: 40px !important;
        max-height: 40px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row > .ns-header-cart > #cart.ns-cart-box.cart-top > a,
    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row > .ns-header-cart > #cart.ns-cart-box.cart-top.highlight > a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        border: 1px solid rgba(255, 255, 255, .13) !important;
        border-radius: 8px !important;
        background: #3d4249 !important;
        color: #ffffff !important;
        box-shadow: 0 2px 7px rgba(4, 10, 18, .16) !important;
        text-decoration: none !important;
    }

    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row > .ns-header-cart > #cart.ns-cart-box.cart-top > a:hover,
    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row > .ns-header-cart > #cart.ns-cart-box.cart-top > a:focus {
        border-color: rgba(255, 255, 255, .23) !important;
        background: #474d55 !important;
        color: #ffffff !important;
        box-shadow: 0 4px 11px rgba(4, 10, 18, .24) !important;
    }

    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row > .ns-header-cart > #cart.ns-cart-box.cart-top > a:focus-visible {
        outline: 2px solid #80aef2 !important;
        outline-offset: 2px !important;
    }

    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row > .ns-header-cart > #cart.ns-cart-box.cart-top .ns-cart-icon-wrap {
        position: relative !important;
        display: inline-flex !important;
        flex: 0 0 32px !important;
        align-items: center !important;
        justify-content: center !important;
        width: 32px !important;
        min-width: 32px !important;
        max-width: 32px !important;
        height: 32px !important;
        min-height: 32px !important;
        max-height: 32px !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row > .ns-header-cart > #cart.ns-cart-box.cart-top .ns-cart-text-wrap,
    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row > .ns-header-cart > #cart.ns-cart-box.cart-top .toolbar-title,
    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row > .ns-header-cart > #cart.ns-cart-box.cart-top .cart-total {
        display: none !important;
    }

    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row > .ns-header-cart > #cart.ns-cart-box.cart-top .ns-cart-icon-wrap > .cart-count.count {
        position: absolute !important;
        top: -3px !important;
        right: -4px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        min-width: 18px !important;
        max-width: none !important;
        height: 18px !important;
        min-height: 18px !important;
        max-height: 18px !important;
        margin: 0 !important;
        padding: 0 4px !important;
        border: 0 !important;
        border-radius: 9px !important;
        background: #d84c4c !important;
        color: #ffffff !important;
        box-shadow: 0 1px 3px rgba(4, 10, 18, .28) !important;
        font-size: 10px !important;
        font-weight: 700 !important;
        line-height: 18px !important;
        text-align: center !important;
        box-sizing: border-box !important;
        z-index: 2 !important;
    }

    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row > .ns-header-cart > #cart.ns-cart-box.cart-top .ns-cart-icon-wrap > .cart-count.count:empty {
        display: none !important;
    }
}

@media (min-width: 1600px) {
    html body:not(.touch) .header.ns-modern-header > .container.ns-header-container .ns-header-row {
        grid-template-columns: 136px 168px minmax(300px, 1fr) 44px 205px 44px !important;
    }
}

/* Netstore 2.6.93.70: the empty-cart state, not text content, owns badge visibility. */
html body .header.ns-modern-header #cart.ns-cart-box.ns-cart-empty .cart-count.count,
html body .header.ns-modern-header #cart.ns-cart-box .cart-count.count[hidden],
html body .header.ns-modern-header .ns-mobile-cart-btn.ns-cart-empty .cart-count.count,
html body .header.ns-modern-header .ns-mobile-cart-btn .cart-count.count[hidden] {
    display: none !important;
}

/* Netstore 2.6.93.71: center the OAuth icon and label as one visual group. */
.netstore-auth-modal .netstore-auth-adapters a,
.netstore-auth-page .netstore-auth-adapters a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    text-align: center !important;
}

.netstore-auth-modal .netstore-auth-adapters a img,
.netstore-auth-modal .netstore-auth-adapters a svg,
.netstore-auth-modal .netstore-auth-adapters a i,
.netstore-auth-page .netstore-auth-adapters a img,
.netstore-auth-page .netstore-auth-adapters a svg,
.netstore-auth-page .netstore-auth-adapters a i {
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    transform: none !important;
}

.netstore-auth-modal .netstore-auth-provider-label,
.netstore-auth-page .netstore-auth-provider-label {
    flex: 0 1 auto;
    margin: 0 !important;
}

/* Netstore 2.6.93.72: group OAuth and password choices with a compact rhythm. */
.netstore-auth-alternatives .netstore-auth-adapters {
    margin: 0 0 16px !important;
    padding: 0 !important;
}

.netstore-auth-alternatives .netstore-auth-adapters .wa-auth-adapters {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.netstore-auth-alternatives .netstore-auth-adapters + .netstore-auth-choice {
    margin: 0 !important;
}
