﻿.select-box::before, .select-menu::before {
    color: #fff;
}

/* Header duyurusu: mobilde kaybolmadan, iki ayni kopya arasinda kesintisiz akar. */
.header-marquee .header-marquee__track {
    min-width: 0;
    width: max-content;
    animation-name: header-marquee-scroll-seamless;
}

.header-marquee .header-marquee__group {
    width: 100vw;
    min-width: 100vw;
    flex: 0 0 100vw;
    justify-content: center;
}

.header-marquee.header-marquee--reverse .header-marquee__track {
    animation-name: header-marquee-scroll-seamless-reverse !important;
}

@keyframes header-marquee-scroll-seamless {
    from {
        transform: translate3d(0, 0, 0);
    }
    to {
        transform: translate3d(-50%, 0, 0);
    }
}

@keyframes header-marquee-scroll-seamless-reverse {
    from {
        transform: translate3d(-50%, 0, 0);
    }
    to {
        transform: translate3d(0, 0, 0);
    }
}

/* Tenor GIF'i orantisini korur; header icindeki eski bayrak olcusunu bozmaz. */
.smx-brand__flag {
    object-fit: contain;
}

:root {
    --newsletter-bg: #0b1f3a;
    --newsletter-btn-bg: #cf202f;
    --newsletter-btn-color: #ffffff;
    --graf-navy: #0b1f3a;
    --graf-red: #cf202f;
    --graf-red-dark: #a71724;
    --graf-soft: #f4f7fb;
    --graf-text: #17304f;
}

body {
    color: var(--graf-text);
}

/* Keep legacy Bootstrap rows, carousels and long product names inside the
 * viewport. Horizontal scrolling is never useful on catalog pages; the
 * carousel viewport itself remains responsible for its own slide overflow. */
html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

img,
video,
iframe,
embed,
object {
    max-width: 100%;
}

.container,
.row,
.main,
.main-content,
.page-content,
.product-detail-shell {
    min-width: 0;
}

table {
    max-width: 100%;
}

a,
p,
li,
td,
th {
    overflow-wrap: anywhere;
}

.product-name.product-name--ticker {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.product-name.product-name--ticker > a {
    animation: none;
}

.product-name.product-name--ticker > a::after {
    content: attr(data-title);
    display: none;
    padding-left: 2.4rem;
}

.payment {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .8rem;
}

.payment-method-badge {
    display: inline-flex;
    align-items: center;
    min-height: 3.6rem;
    padding: .7rem 1.2rem;
    border: 1px solid rgba(11, 31, 58, 0.14);
    border-radius: 999px;
    background: #f4f7fb;
    color: #0b1f3a;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: .01em;
}

@keyframes grafProductNameTicker {
    from {
        transform: translate3d(0, 0, 0);
    }
    to {
        transform: translate3d(calc(-50% - 1.2rem), 0, 0);
    }
}

@media (max-width: 767px) {
    .main,
    .main > .page-content,
    .main .container,
    .main-content,
    .main-content .container {
        box-sizing: border-box;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .main > .page-content {
        overflow-x: hidden;
    }

    .contact-modern__hero,
    .contact-modern__title,
    .contact-modern__lead {
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    .product-name.product-name--ticker {
        min-height: 2.2em;
        overflow: hidden;
    }

    .product-name.product-name--ticker > a {
        display: inline-flex !important;
        width: max-content;
        min-width: max-content;
        max-width: none !important;
        white-space: nowrap !important;
        overflow: visible !important;
        -webkit-box-orient: initial !important;
        -webkit-line-clamp: unset !important;
        animation: grafProductNameTicker 10s linear infinite !important;
        will-change: transform;
    }

    .product-name.product-name--ticker > a::after {
        content: attr(data-title);
        display: inline-block !important;
        padding-left: 2.4rem;
    }

    .payment {
        justify-content: flex-start;
    }
}

@keyframes grafProductTitleTicker {
    from {
        transform: translate3d(0, 0, 0);
    }
    to {
        transform: translate3d(calc(-50% - 1.5rem), 0, 0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .product-name.product-name--ticker > a,
    .product-title-row .product-title[data-title]::before {
        animation: none !important;
        transform: none !important;
    }
}

.btn-primary,
.btn.btn-search,
.product-card__cta,
.btn-cart {
    background: linear-gradient(135deg, var(--graf-red) 0%, #ef3b45 100%) !important;
    border-color: var(--graf-red) !important;
    box-shadow: 0 12px 24px rgba(207, 32, 47, 0.22);
}

.btn-primary:hover,
.btn.btn-search:hover,
.product-card__cta:hover,
.btn-cart:hover {
    background: linear-gradient(135deg, var(--graf-red-dark) 0%, var(--graf-red) 100%) !important;
    border-color: var(--graf-red-dark) !important;
}

.btn-primary,
.btn-dark,
.btn.btn-search,
.btn-newsletter-submit,
.product-card__cta,
.btn-cart {
    border-radius: 999px !important;
}

.header-top,
.header-middle,
.footer-newsletter {
    background-image: linear-gradient(135deg, rgba(11, 31, 58, 0.98) 0%, rgba(19, 53, 96, 0.96) 100%);
}

.header-top .header-announcement,
.footer-newsletter .icon-box-title,
.footer-newsletter p {
    color: #fff !important;
}

.smx-header-shell {
    border-radius: 0 0 2rem 2rem;
    padding-left: 1.2rem;
    padding-right: 1.2rem;
}

.main-nav .menu > li > a,
.smx-category-dropdown > a,
.logo span {
    color: #fff !important;
}

.main-nav .menu > li.active > a,
.main-nav .menu > li > a:hover,
.smx-action-link:hover {
    color: #ffd8dc !important;
}

.desktop-search-panel .form-control,
.mobile-menu-container .form-control {
    border-radius: 999px;
    border-color: #d9e2ef;
}

.mobile-menu li.has-submenu {
    position: relative;
}

.mobile-menu li.has-submenu > a {
    padding-right: 5.6rem;
}

.mobile-menu li.has-submenu > .submenu {
    display: none;
    margin: 0;
    padding: .25rem 0 .65rem 1.2rem;
    background: rgba(255, 255, 255, 0.03);
}

.mobile-menu li.has-submenu.is-open > .submenu {
    display: block;
}

.mobile-submenu-toggle {
    position: absolute;
    top: .25rem;
    right: .35rem;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4.2rem;
    height: 4.2rem;
    border: 0;
    border-left: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: .8rem;
    background: transparent;
    color: rgba(255, 255, 255, 0.82);
    cursor: pointer;
}

.mobile-submenu-toggle::before {
    content: "";
    width: .8rem;
    height: .8rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(-45deg);
    transition: transform .2s ease;
}

.mobile-menu li.has-submenu.is-open > .mobile-submenu-toggle::before {
    transform: rotate(45deg);
}

.mobile-submenu-toggle:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.65);
    outline-offset: 2px;
}

.widget-about,
.widget,
.homepage-intro-copy,
.graf-content-card {
    border-radius: 2rem;
}

/* Slider metinleri okunakli olsun diye beyaza cek */
.intro-section .banner-content .banner-title,
.intro-section .banner-content .banner-subtitle,
.intro-section .banner-content p,
.intro-section .banner-content-mobile .banner-title,
.intro-section .banner-content-mobile .banner-subtitle,
.intro-section .banner-content-mobile p {
    color: #fff !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.45);
}
.intro-section .banner-content .btn,
.intro-section .banner-content-mobile .btn {
    color: #fff !important;
    border-color: #fff !important;
    background: transparent !important;
}
.intro-section .banner-content .btn:hover,
.intro-section .banner-content-mobile .btn:hover {
    background: transparent !important;
    color: #fff !important;
}

/* Kategori/banner bloklarinda (urun/kategori sliderlari) metinleri beyazla */
.page-content .banner-content .banner-title,
.page-content .banner-content .banner-subtitle,
.page-content .banner-content p {
    color: #fff !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.4);
}
.page-content .banner-content .btn {
    color: #fff !important;
    border-color: #fff !important;
    background: transparent !important;
}
.page-content .banner-content .btn:hover {
    background: transparent !important;
    color: #fff !important;
}

.footer-bottom .footer-right {
    flex-direction: column;
    align-items: flex-end;
}

.footer-bottom .payment-label-block {
    display: block;
    width: 100%;
    margin: 0 0 .8rem 0;
    text-align: right;
}

/* Mobil uyum: hero slider tipografi ve yerlesim */
.intro-section .intro-slide {
    min-height: 0;
    height: clamp(360px, 45vw, 760px);
    background-size: contain !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: #ffffff !important;
    overflow: hidden;
}

.intro-section .intro-slide.banner-fixed > .container {
    height: 100%;
    display: flex;
    align-items: center;
}

.intro-section .slide-image {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    width: 100%;
    height: 100%;
}

.intro-section .slide-image img {
    display: block;
    width: min(44vw, 760px);
    max-width: 100%;
    max-height: 82%;
    object-fit: contain;
}

@media (max-width: 1199px) {
    .intro-section .intro-slide {
        height: clamp(320px, 46vw, 620px);
    }
}

@media (max-width: 991px) {
    .intro-section .intro-slide {
        height: clamp(280px, 48vw, 520px);
    }
    .intro-section .banner-content {
        max-width: 520px;
        margin: 0 auto;
        text-align: center;
    }
    .intro-section .banner-content .banner-subtitle { font-size: 20px; line-height: 1.3; }
    .intro-section .banner-content .banner-title     { font-size: 32px; line-height: 1.2; }
    .intro-section .banner-content p                 { font-size: 16px; }
    .intro-section .banner-content .btn {
        padding: 0.85rem 1.6rem;
        font-size: 15px;
    }
}
@media (max-width: 767px) {
    .intro-section .intro-slide {
        min-height: auto;
        height: auto;
        max-height: none;
        aspect-ratio: auto;
        padding-top: 40vw;
        padding-bottom: 1rem;
        background-size: 100% auto !important;
        background-position: center top !important;
        background-repeat: no-repeat !important;
        background-color: #0b1f35 !important;
    }
    .intro-section .intro-slide.banner-fixed > .container {
        position: static !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        bottom: auto !important;
    }
    .intro-section .banner-content {
        display: none !important;
    }
    .intro-section .banner-content-mobile {
        display: block !important;
        position: relative;
        z-index: 2;
        padding: .75rem 1.2rem 0;
        margin-top: 0;
        text-align: center;
        color: #fff;
    }
    .intro-section .banner-content-mobile .banner-subtitle { font-size: 16px; line-height: 1.2; margin-bottom: .4rem; }
    .intro-section .banner-content-mobile .banner-title     { font-size: 22px; line-height: 1.08; margin-bottom: .6rem; }
    .intro-section .banner-content-mobile p                 { font-size: 13px; line-height: 1.35; margin-bottom: 1rem; }
    .intro-section .banner-content-mobile .btn { width: auto; }
    .intro-section .banner .slide-image { display: none; } /* arka plan karmaşasını azalt */
}
@media (max-width: 575px) {
    .intro-section .intro-slide {
        padding-top: 42vw;
    }
    .intro-section .banner-content-mobile .banner-title { font-size: 18px; }
    .intro-section .banner-content-mobile .banner-subtitle { font-size: 13px; }
    .intro-section .banner-content-mobile p { font-size: 12px; }
    .intro-section .banner-content-mobile .btn { width: auto; padding: .7rem 1.2rem; }
    .footer-bottom .footer-right { align-items: center; }
    .footer-bottom .payment-label-block { text-align: center; }
}

/* Privacy-first consent notice. Optional integrations are kept inert until
 * the visitor makes a choice in seo-consent.js. */
.seo-consent-banner {
    position: fixed;
    right: 1.6rem;
    bottom: 1.6rem;
    z-index: 2147482000;
    width: min(100% - 3.2rem, 62rem);
    padding: 1.6rem;
    border: 1px solid rgba(16, 40, 71, .16);
    border-radius: 1.4rem;
    background: #fff;
    box-shadow: 0 1.8rem 4rem rgba(11, 31, 58, .24);
    color: #31445d;
}

.seo-consent-banner[hidden] {
    display: none !important;
}

.seo-consent-banner__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.6rem;
}

.seo-consent-banner__copy {
    min-width: 0;
}

.seo-consent-banner__copy h2 {
    margin: 0 0 .45rem;
    color: #0b1f3a;
    font-size: 1.55rem;
    line-height: 1.25;
}

.seo-consent-banner__copy p {
    margin: 0 0 .45rem;
    color: #53657b;
    font-size: 1.25rem;
    line-height: 1.55;
}

.seo-consent-banner__copy a {
    color: #0b6e4f;
    font-size: 1.2rem;
    font-weight: 700;
    text-decoration: underline;
}

.seo-consent-banner__actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: .8rem;
}

.seo-consent-button {
    min-height: 4rem;
    padding: 0 1.4rem;
    border: 1px solid #0b6e4f;
    border-radius: .8rem;
    cursor: pointer;
    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1;
}

.seo-consent-button--primary {
    background: #0b6e4f;
    color: #fff;
}

.seo-consent-button--secondary {
    background: #fff;
    color: #0b6e4f;
}

.seo-consent-button:focus-visible,
.seo-consent-banner__copy a:focus-visible {
    outline: 3px solid rgba(207, 32, 47, .45);
    outline-offset: 3px;
}

.blog-detail-byline {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem 1.6rem;
    margin: 0 auto 1.8rem;
    max-width: 92rem;
    color: #65758a;
    font-size: 1.2rem;
    line-height: 1.5;
}

.blog-detail-byline strong {
    color: #102847;
}

@media (max-width: 767px) {
    .seo-consent-banner {
        right: .8rem;
        bottom: .8rem;
        width: calc(100% - 1.6rem);
        padding: 1.35rem;
    }

    .seo-consent-banner__inner {
        display: block;
    }

    .seo-consent-banner__actions {
        margin-top: 1.15rem;
    }

    .seo-consent-button {
        flex: 1 1 0;
    }
}

.smx-header .header-top {
    background: #252525;
    min-height: 6rem;
}

.smx-header {
    position: relative;
    z-index: 1200;
}

.smx-header .header-top .container {
    justify-content: center;
}

.smx-header .container {
    max-width: 1480px;
    position: relative;
}

.smx-header .header-announcement {
    margin: 0;
    padding: 1.1rem 1rem;
    color: #fff;
    font-size: clamp(1.25rem, 1.3vw, 1.55rem);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: .01em;
    text-align: center;
}

.smx-header .header-middle {
    position: relative;
    z-index: 1201;
    padding: 1.6rem 0;
    background:
        radial-gradient(circle at top left, rgba(207, 32, 47, 0.07), transparent 28%),
        radial-gradient(circle at top right, rgba(18, 55, 102, 0.08), transparent 32%),
        linear-gradient(180deg, #ffffff 0%, #f5f8fc 100%);
    border-bottom: 1px solid rgba(15, 39, 67, 0.08);
}

.smx-header .header-middle .container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.smx-header-shell {
    position: relative;
    z-index: 1202;
    display: flex;
    flex-direction: column;
    gap: 0;
    width: min(100%, 124rem);
    margin: 0 auto;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(15, 39, 67, 0.08);
    border-radius: 2.2rem;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(248, 250, 253, 0.98) 100%);
    box-shadow:
        0 1.8rem 4.5rem rgba(11, 31, 58, 0.08),
        0 0.4rem 1.2rem rgba(11, 31, 58, 0.04),
        inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.smx-header-shell::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: .5rem;
    border-radius: 2.2rem 2.2rem 0 0;
    background: linear-gradient(90deg, rgba(207, 32, 47, 0.95) 0%, rgba(255, 149, 0, 0.72) 46%, rgba(18, 55, 102, 0.92) 100%);
    opacity: .88;
}

.smx-header-shell::after {
    content: "";
    position: absolute;
    inset: auto -8% -55% 46%;
    height: 18rem;
    background: radial-gradient(circle, rgba(18, 55, 102, 0.08) 0%, rgba(18, 55, 102, 0) 72%);
    pointer-events: none;
}

.smx-header-shell > * {
    position: relative;
    z-index: 1;
}

.smx-header-left,
.smx-header-actions {
    display: flex;
    align-items: center;
}

.smx-header-main-row {
    display: grid;
    grid-template-columns: minmax(15rem, 22rem) minmax(24rem, 1fr) auto;
    align-items: center;
    gap: 1.4rem;
    width: 100%;
    padding: 1.4rem 1.6rem 1.2rem;
}

.smx-header-left {
    flex: 0 0 auto;
    gap: 2rem;
    min-width: 0;
    justify-self: start;
}

.smx-header-search-wrap {
    min-width: 0;
    width: 100%;
}

.smx-header .logo {
    margin-right: 0;
    min-width: 0;
}

.smx-brand {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: .15rem;
    min-width: 0;
    text-decoration: none !important;
}

.smx-brand-with-flag {
    flex-direction: row !important;
    align-items: center;
    gap: .8rem;
    max-width: 100%;
}

.smx-brand__copy {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    min-width: 0;
}

.smx-brand__flag {
    display: block;
    width: clamp(3.6rem, 12vw, 6rem);
    height: clamp(3.6rem, 12vw, 6rem);
    flex: 0 0 clamp(3.6rem, 12vw, 6rem);
    object-fit: contain;
    border-radius: .45rem;
    filter: drop-shadow(0 .35rem .65rem rgba(15, 39, 67, .16));
}

.smx-brand--image,
.smx-footer-brand--image {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
}

.smx-brand__image {
    display: block;
    width: auto;
    max-width: 100%;
    object-fit: contain;
}

.smx-brand--image .smx-brand__image {
    max-width: 22rem;
    max-height: 7.2rem;
}

.smx-footer-brand--image .smx-brand__image {
    max-width: 24rem;
    max-height: 6rem;
}

.smx-brand__mark {
    display: block;
    color: #0f2743 !important;
    font-size: 2.6rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.03em;
}

.smx-brand__sub {
    display: block;
    color: #6a7b92 !important;
    font-size: 1.08rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.smx-footer-brand {
    display: inline-flex;
    flex-direction: column;
    gap: .2rem;
    text-decoration: none !important;
}

.smx-footer-brand .smx-brand__mark {
    color: #ffffff !important;
    font-size: 2.4rem;
}

.smx-footer-brand .smx-brand__sub {
    color: rgba(255, 255, 255, 0.72) !important;
}

.payment-credit {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: .8rem;
    max-width: 52rem;
    color: #617186;
    font-size: 1.28rem;
    line-height: 1.65;
}

.payment-credit i {
    color: var(--graf-red);
    font-size: 1.55rem;
}

.payment-credit a {
    color: #123766;
    font-weight: 800;
}

.payment-credit a:hover {
    color: var(--graf-red);
}

.smx-header .mobile-menu-toggle {
    margin-right: 0;
    width: 4.8rem;
    min-width: 4.8rem;
    height: 4.8rem;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(16, 40, 71, 0.18);
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 1.2rem 2.8rem rgba(16, 40, 71, 0.16);
    color: #102847 !important;
    text-decoration: none !important;
}

.smx-header .mobile-menu-toggle::before {
    font-size: 2.45rem;
    font-weight: 900;
    line-height: 1;
}

.smx-header .mobile-menu-toggle:focus-visible {
    outline: 3px solid rgba(207, 32, 47, 0.28);
    outline-offset: 3px;
}

.smx-header-search {
    display: flex !important;
    align-items: center;
    width: 100%;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(57, 165, 222, 0.34);
    border-radius: 999px;
    background: #ffffff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.smx-header-search .form-control {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 4.4rem;
    border: 0;
    padding: 0 1.4rem;
    background: transparent;
    color: #17304f;
    font-size: 1.32rem;
}

.smx-header-search .form-control::placeholder {
    color: #7d8fa6;
}

.smx-header-search .btn-search {
    flex: 0 0 auto;
    min-width: 8.6rem;
    height: 4.4rem;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #46b6e9 0%, #2a8fd1 100%);
    color: #fff;
    font-size: 1.35rem;
    font-weight: 800;
    box-shadow: 0 1.2rem 2.8rem rgba(42, 143, 209, 0.2);
}

.smx-header-search .btn-search:hover {
    background: linear-gradient(135deg, #2a8fd1 0%, #207cb9 100%);
}

.smx-header-nav-row {
    width: 100%;
    padding: 1rem 1.4rem 1.2rem;
    border-top: 1px solid rgba(15, 39, 67, 0.08);
}

.smx-category-strip {
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-wrap: wrap;
    gap: .5rem .7rem;
}

.smx-category-strip__item {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    min-width: 8.4rem;
    padding: .55rem .55rem;
    border-radius: 1.6rem;
    text-align: center;
    text-decoration: none !important;
    transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.smx-category-strip__item:hover,
.smx-category-strip__item.is-active {
    transform: translateY(-2px);
    background: rgba(42, 143, 209, 0.07);
    box-shadow: inset 0 0 0 1px rgba(42, 143, 209, 0.12);
}

.smx-category-strip__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.8rem;
    height: 3.8rem;
    border-radius: 50%;
    background: linear-gradient(180deg, #f6fbff 0%, #eaf4fb 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

.smx-category-strip__icon img {
    width: 2.35rem;
    height: 2.35rem;
    object-fit: contain;
}

.smx-category-strip__icon i {
    font-size: 1.75rem;
    color: #2a8fd1;
}

.smx-category-strip__label {
    color: #18324f;
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.3;
    text-transform: uppercase;
}

.smx-header-actions {
    flex: 0 0 auto;
    justify-content: flex-end;
    gap: .7rem;
    justify-self: end;
    min-width: 0;
}

.smx-search-toggle {
    appearance: none;
    cursor: pointer;
    display: none !important;
}

.smx-account-link {
    min-width: 9.8rem;
}

.smx-account-link i {
    font-size: 2rem;
}

.smx-account-copy {
    display: none;
}

.smx-action-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    min-width: 9.8rem;
    height: 4.4rem;
    padding: 0 1.15rem;
    border: 1px solid rgba(57, 165, 222, 0.34);
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(243, 247, 252, 0.96) 100%);
    color: #111;
    font-size: 1.7rem;
    font-weight: 800;
    box-shadow:
        0 .8rem 2rem rgba(11, 31, 58, 0.06),
        inset 0 1px 0 rgba(255, 255, 255, 0.92);
    transition: color .2s ease, transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}

.smx-action-text {
    display: inline-block;
    font-size: 1.24rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.smx-action-link:hover {
    color: var(--graf-red);
    transform: translateY(-2px);
    border-color: rgba(207, 32, 47, 0.14);
    background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 245, 246, 1) 100%);
    box-shadow: 0 1.4rem 2.8rem rgba(207, 32, 47, 0.12);
}

.smx-header .mobile-menu-toggle,
.smx-header .mobile-menu-toggle::before,
.smx-header .smx-action-link,
.smx-header .smx-action-link i,
.smx-header .main-nav .menu > li > a,
.smx-header .category-dropdown.smx-category-dropdown > a,
.smx-header .category-dropdown.smx-category-dropdown > a span,
.smx-header .category-dropdown.smx-category-dropdown > a i,
.smx-header .smx-cart-link .cart-count {
    color: #102847 !important;
}

.smx-header .smx-cart-link .cart-count {
    color: #fff !important;
}

.smx-header .smx-action-link:hover,
.smx-header .smx-action-link:hover i,
.smx-header .main-nav .menu > li > a:hover,
.smx-header .category-dropdown.smx-category-dropdown > a:hover,
.smx-header .category-dropdown.smx-category-dropdown > a:hover span,
.smx-header .category-dropdown.smx-category-dropdown > a:hover i,
.smx-header .mobile-menu-toggle:hover,
.smx-header .mobile-menu-toggle:hover::before {
    color: var(--graf-red) !important;
}

.smx-cart-link {
    position: relative;
    min-width: 9.8rem;
}

.smx-cart-link .cart-count {
    position: absolute;
    top: -.5rem;
    right: -.4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.2rem;
    height: 2.2rem;
    padding: 0 .55rem;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--graf-red) 0%, #ff7a2f 100%);
    color: #fff;
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 .8rem 1.8rem rgba(207, 32, 47, 0.24);
}

.desktop-search-panel {
    display: none;
    position: absolute;
    left: 50%;
    right: auto;
    top: 100%;
    z-index: 1205;
    width: min(56rem, calc(100% - 4.8rem));
    padding-top: 1.2rem;
    transform: translateX(-50%);
}

.desktop-search-panel.is-open {
    display: block !important;
}

.desktop-search-panel .header-search {
    display: flex !important;
    width: 100%;
    max-width: none;
    margin: 0 auto;
    border: 1px solid #e5e5e5;
    border-radius: 999px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1.4rem 3.4rem rgba(11, 31, 58, 0.14);
}

.desktop-search-panel .header-search .form-control {
    min-height: 4.8rem;
    border: 0;
    padding-left: 1.8rem;
}

.desktop-search-panel .header-search .btn-search {
    min-width: 5.6rem;
    border-radius: 0;
    background: #111;
    color: #fff;
}

html.smx-search-lock,
body.smx-search-lock {
    overflow: hidden !important;
    overscroll-behavior: none !important;
}

.smx-header .header-bottom {
    display: none;
}

.header-marquee {
    --marquee-bg: #d71920;
    --marquee-color: #ffffff;
    --marquee-duration: 24s;
    position: relative;
    width: 100%;
    overflow: hidden;
    background: var(--marquee-bg);
    border-top: 0;
    border-bottom: 0;
    box-shadow: none;
}

.header-marquee__viewport {
    overflow: hidden;
    width: 100%;
}

.header-marquee__track {
    display: flex;
    min-width: 100%;
    width: max-content;
    animation: header-marquee-scroll var(--marquee-duration) linear infinite;
    will-change: transform;
}

.header-marquee--reverse .header-marquee__track,
.footer-marquee--reverse .footer-marquee__track {
    animation-name: header-marquee-scroll-reverse;
}

.header-marquee__group {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 100%;
    flex-shrink: 0;
}

.header-marquee__item {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    padding: .8rem 1.8rem;
    color: var(--marquee-color);
    font-size: 1.52rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .01em;
    text-transform: uppercase;
}

.intro-section {
    margin-top: 1.2rem;
}

@media (max-width: 768px) {
    #scroll-top {
        display: flex !important;
        right: 1.4rem;
        z-index: 10002;
    }

    #scroll-top.show {
        bottom: 8.8rem;
        opacity: .92;
    }

    #scroll-top i {
        width: 4rem;
        height: 4rem;
        background-color: #0f2743;
        border-color: #0f2743;
        box-shadow: 0 10px 22px rgba(15, 39, 67, 0.24);
    }
}

.footer-marquee {
    --footer-marquee-bg: #ffffff;
    --footer-marquee-color: #1b1b1b;
    --footer-marquee-duration: 28s;
    position: relative;
    width: 100%;
    overflow: hidden;
    background: var(--footer-marquee-bg);
    border-top: 1px solid rgba(15, 39, 67, 0.08);
    border-bottom: 1px solid rgba(15, 39, 67, 0.08);
}

.footer-marquee__viewport {
    overflow: hidden;
    width: 100%;
}

.footer-marquee__track {
    display: flex;
    min-width: 100%;
    width: max-content;
    animation: header-marquee-scroll var(--footer-marquee-duration) linear infinite;
    will-change: transform;
}

.footer-marquee__group {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 100%;
    flex-shrink: 0;
}

.footer-marquee__item {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    padding: 1rem 2rem;
    color: var(--footer-marquee-color);
    font-size: 1.44rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .01em;
    text-transform: uppercase;
}

@keyframes header-marquee-scroll {
    from {
        transform: translate3d(100vw, 0, 0);
    }
    to {
        transform: translate3d(-100%, 0, 0);
    }
}

@keyframes header-marquee-scroll-reverse {
    from {
        transform: translate3d(-100%, 0, 0);
    }
    to {
        transform: translate3d(100vw, 0, 0);
    }
}

@media (max-width: 1399px) {
    .smx-header-shell {
        border-radius: 2rem;
    }

    .smx-header-main-row {
        grid-template-columns: minmax(12rem, 18rem) minmax(20rem, 1fr) auto;
        gap: 1rem;
        padding: 1.2rem 1.3rem 1rem;
    }

    .smx-header-nav-row {
        padding: .9rem 1.2rem 1rem;
    }

    .smx-brand--image .smx-brand__image {
        max-width: 18rem;
        max-height: 6.4rem;
    }

    .smx-header-search .form-control {
        min-height: 4.2rem;
        padding: 0 1.2rem;
        font-size: 1.22rem;
    }

    .smx-header-search .btn-search {
        min-width: 7.4rem;
        height: 4.2rem;
        font-size: 1.22rem;
    }

    .smx-category-strip__item {
        min-width: 7.8rem;
    }

    .smx-category-strip__label {
        font-size: .98rem;
    }

    .smx-action-link,
    .smx-account-link,
    .smx-cart-link {
        min-width: 8.4rem;
        height: 4.2rem;
        padding: 0 .95rem;
    }

    .smx-action-text {
        font-size: 1.12rem;
    }
}

@media (max-width: 1199px) {
    .smx-header .header-top {
        min-height: auto;
    }

    .smx-header .header-announcement {
        font-size: 1.25rem;
        padding: .95rem 1rem;
    }

    .smx-header-shell {
        width: calc(100% - 1.6rem);
        border-radius: 2.4rem;
    }

    .smx-header-main-row {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: .8rem;
        padding: .9rem 1rem;
    }

    .smx-header .mobile-menu-toggle {
        display: inline-flex !important;
    }

    .smx-header-search-wrap,
    .smx-header-nav-row {
        display: none;
    }

    .desktop-search-panel {
        position: fixed;
        top: var(--smx-search-panel-top, 0px);
        left: 1rem;
        right: 1rem;
        width: auto;
        transform: none;
        padding-top: .7rem;
    }

    .desktop-search-panel.is-open {
        display: block !important;
    }

    .smx-search-toggle {
        display: inline-flex !important;
        min-width: 4.2rem;
        width: 4.2rem;
        padding: 0;
    }

    .smx-search-toggle .smx-action-text {
        display: none;
    }

    .smx-action-link,
    .smx-account-link,
    .smx-cart-link {
        min-width: 4.2rem;
        width: 4.2rem;
        height: 4.2rem;
        padding: 0;
        border-radius: 50%;
        gap: 0;
    }

    .smx-action-text {
        display: none;
    }

    .smx-brand--image .smx-brand__image {
        max-width: 22rem;
        max-height: 6.4rem;
    }

    .header-marquee__item {
        font-size: 1.36rem;
        padding: .75rem 1.5rem;
    }
}

@media (max-width: 767px) {
    .smx-header .header-middle {
        padding: .85rem 0;
    }

    .smx-header .header-announcement {
        font-size: 1.15rem;
        line-height: 1.28;
        padding: .85rem 1.2rem;
    }

    .smx-header-left {
        flex: 1 1 auto;
        min-width: 0;
    }

    .smx-header-main-row {
        padding: .8rem .9rem;
    }

    .smx-action-link {
        width: 3.7rem;
        min-width: 3.7rem;
        height: 3.7rem;
        font-size: 1.85rem;
    }

    .smx-account-link {
        width: 3.7rem;
        min-width: 3.7rem;
        height: 3.7rem;
        padding: 0;
        justify-content: center;
    }

    .smx-account-copy {
        display: none;
    }

    .smx-brand__mark {
        font-size: 2.1rem;
    }

    .smx-brand__sub {
        font-size: .92rem;
        letter-spacing: .08em;
    }

    .smx-brand--image .smx-brand__image {
        max-width: 17rem;
        max-height: 5.4rem;
    }

    .smx-brand-with-flag {
        gap: .5rem;
    }

    .smx-brand-with-flag .smx-brand__image {
        max-width: 13.5rem;
        max-height: 4.8rem;
    }

    .smx-brand-with-flag .smx-brand__flag {
        width: clamp(3.6rem, 12vw, 4.8rem);
        height: clamp(3.6rem, 12vw, 4.8rem);
        flex-basis: clamp(3.6rem, 12vw, 4.8rem);
        border-radius: .35rem;
    }

    .desktop-search-panel {
        left: .7rem;
        right: .7rem;
        width: auto;
    }

    .desktop-search-panel .header-search .form-control {
        min-height: 4.2rem;
        font-size: 16px !important;
    }

    .desktop-search-panel .header-search .btn-search {
        min-width: 4.8rem;
    }

    .smx-footer-brand--image .smx-brand__image {
        max-width: 19rem;
        max-height: 5rem;
    }

    .header-marquee__item {
        font-size: 1.18rem;
        padding: .7rem 1.2rem;
    }

    .footer-marquee__item {
        font-size: 1.18rem;
        padding: .85rem 1.2rem;
    }
}

@media (max-width: 479px) {
    .smx-header-shell {
        border-radius: 1.8rem;
    }

    .smx-header-main-row {
        gap: .55rem;
        padding: .7rem .75rem;
    }

    .smx-header .mobile-menu-toggle {
        width: 4.2rem;
        min-width: 4.2rem;
        height: 4.2rem;
    }

    .smx-header .mobile-menu-toggle::before {
        font-size: 2.25rem;
    }

    .smx-brand--image .smx-brand__image {
        max-width: 14.8rem;
        max-height: 4.8rem;
    }

    .header-marquee__item {
        font-size: 1.05rem;
        padding: .62rem 1rem;
    }

    .footer-marquee__item {
        font-size: 1.04rem;
        padding: .75rem 1rem;
    }

    .payment-credit {
        justify-content: center;
        text-align: center;
    }

    .smx-header-actions {
        gap: .35rem;
    }

    .smx-action-link,
    .smx-account-link,
    .smx-cart-link {
        min-width: 3.4rem;
        width: 3.4rem;
        height: 3.4rem;
    }
}

.footer-newsletter {
    background: var(--newsletter-bg) !important;
}

.footer-newsletter .btn-newsletter-submit {
    background: var(--newsletter-btn-bg) !important;
    border-color: var(--newsletter-btn-bg) !important;
    color: var(--newsletter-btn-color) !important;
}

.footer-newsletter .btn-newsletter-submit:hover,
.footer-newsletter .btn-newsletter-submit:focus {
    filter: brightness(.94);
    color: var(--newsletter-btn-color) !important;
}

.footer {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(180deg, #091424 0%, #0d1d33 42%, #08111d 100%);
}

.footer::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .18;
    background:
        linear-gradient(90deg, transparent 0, transparent calc(100% - 1px), rgba(255, 255, 255, 0.08) calc(100% - 1px)),
        linear-gradient(0deg, transparent 0, transparent calc(100% - 1px), rgba(255, 255, 255, 0.05) calc(100% - 1px));
    background-size: 72px 72px;
}

.footer > * {
    position: relative;
    z-index: 1;
}

.footer-marquee {
    background: rgba(5, 13, 24, 0.72);
    border-top-color: rgba(255, 255, 255, 0.08);
    border-bottom-color: rgba(255, 255, 255, 0.08);
}

.footer-newsletter {
    background: linear-gradient(90deg, rgba(9, 20, 36, 0.92) 0%, rgba(16, 34, 60, 0.92) 100%) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: none;
}

.footer-newsletter .container {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

.footer-newsletter .icon-box {
    gap: 1.8rem;
}

.footer-newsletter .icon-box-icon {
    width: 6rem;
    height: 6rem;
    border-radius: 1.2rem;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.07) 0%, rgba(255, 255, 255, 0.03) 100%);
    border: 1px solid rgba(255, 255, 255, 0.14);
    align-items: center;
    justify-content: center;
}

.footer-newsletter .icon-box-icon i {
    font-size: 2.6rem;
}

.footer-newsletter .icon-box-title {
    margin-bottom: .45rem;
    color: #fff !important;
    font-size: 1.95rem;
    letter-spacing: .04em;
}

.footer-newsletter p {
    color: rgba(232, 238, 247, 0.88) !important;
}

.footer-newsletter .input-wrapper {
    gap: 1rem;
}

.footer-newsletter .form-control {
    min-height: 5.6rem;
    padding: 0 1.8rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: none;
}

.footer-newsletter .btn-newsletter-submit {
    min-width: 16rem;
    min-height: 5.6rem;
    padding: 0 2.4rem;
    font-weight: 800;
    letter-spacing: .05em;
}

.footer-top {
    margin-top: 0;
    padding: 4rem 0 3rem;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.footer-top .row {
    align-items: flex-start;
}

.footer-top .widget {
    margin-bottom: 0;
}

.widget-about {
    min-height: 100%;
    padding: 0 2rem 0 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.footer-eyebrow {
    display: inline-flex;
    align-items: center;
    margin: 1.8rem 0 1rem;
    padding: .6rem 1rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: .5rem;
    background: rgba(255, 255, 255, 0.04);
    color: #e6eef8;
    font-size: 1.06rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.widget-about .widget-about-title {
    margin-bottom: 1rem;
    color: var(--graf-red) !important;
    font-size: 1.82rem;
    font-weight: 800;
    line-height: 1.5;
}

.widget-about-call {
    display: inline-flex;
    align-items: center;
    margin-bottom: 1.6rem;
    color: #ffffff !important;
    font-size: 3.2rem;
    font-weight: 800;
    letter-spacing: -.04em;
}

.widget-about-desc {
    margin-bottom: 2rem;
    color: rgba(220, 228, 239, 0.82);
    font-size: 1.48rem;
    line-height: 1.95;
}

.footer-trust-pills {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    margin-bottom: 2rem;
}

.footer-trust-pill {
    display: inline-flex;
    align-items: center;
    padding: .8rem 1.15rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: .6rem;
    background: rgba(255, 255, 255, 0.04);
    color: #eaf1fb;
    font-size: 1.16rem;
    font-weight: 700;
    letter-spacing: .02em;
}

.footer-mini-points {
    margin: 0 0 2.2rem;
    padding: 0;
    list-style: none;
}

.footer-mini-points li {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    color: rgba(214, 224, 238, 0.84);
    font-size: 1.34rem;
    line-height: 1.8;
}

.footer-mini-points li + li {
    margin-top: .6rem;
}

.footer-mini-points i {
    margin-top: .35rem;
    color: var(--graf-red);
    font-size: 1.15rem;
}

.widget .widget-title,
.widget h3.widget-title,
.widget h4.widget-title {
    margin-bottom: 2rem;
    color: #ffffff;
    font-size: 1.55rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.widget .widget-body li + li {
    margin-top: 1rem;
}

.widget .widget-body a {
    color: rgba(220, 228, 239, 0.82);
    font-size: 1.42rem;
    transition: color .2s ease, transform .2s ease;
}

.widget .widget-body a:hover {
    color: #ffffff;
    transform: translateX(4px);
}

.social-icons {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: .9rem;
    width: fit-content;
    margin: 1.6rem auto 0;
}

.social-icons .social-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4.3rem;
    height: 4.3rem;
    border-radius: .9rem;
    box-shadow: none;
}

.footer-social-row {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1.8rem 0 0;
}

.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    margin-top: 1rem;
    padding: 2.4rem 0 3rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.footer-left .copyright {
    margin-bottom: 0;
    color: rgba(216, 225, 237, 0.78);
    font-size: 1.34rem;
}

.footer-left .footer-invoice-note {
    margin: .9rem 0 0;
    color: rgba(230, 238, 249, 0.86);
    font-size: 1.22rem;
    line-height: 1.7;
    letter-spacing: .01em;
}

.footer-legal-note {
    margin-top: 1.4rem;
    padding-top: 1.4rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    color: rgba(230, 238, 249, 0.86);
    font-size: 1.22rem;
    line-height: 1.7;
    letter-spacing: .01em;
    text-align: center;
}

.footer-rights-note {
    max-width: 92rem;
    margin: 1rem auto 0;
    padding: 1rem 1.2rem 0;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    color: rgba(230, 238, 249, 0.86);
    font-size: 1.22rem;
    line-height: 1.7;
    letter-spacing: .01em;
    text-align: center;
}

.footer-rights-note strong {
    color: #ff6b75;
    font-weight: 800;
}

.footer-right {
    gap: 1.2rem;
}

.payment-credit {
    padding: .95rem 1.5rem;
    border-radius: .7rem;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: none;
    color: rgba(218, 228, 241, 0.82);
}

.payment-credit a {
    color: #ffffff;
}

.payment {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .95rem 1.3rem;
    border-radius: .7rem;
    background: rgba(255, 255, 255, 0.96);
    border: 0;
    box-shadow: none;
}

.payment img {
    display: block;
}

.sticky-footer {
    border-top: 1px solid rgba(207, 32, 47, 0.16);
    box-shadow: 0 -8px 24px rgba(9, 20, 36, 0.08);
}

.sticky-footer .sticky-link i,
.sticky-footer .cart-dropdown .sticky-link i {
    color: #e36a75;
    transition: color .2s ease, transform .2s ease;
}

.sticky-footer .sticky-link p {
    color: #c95e69;
    font-weight: 700;
    transition: color .2s ease;
}

.sticky-footer .sticky-link:hover i,
.sticky-footer .sticky-link.active i,
.sticky-footer .cart-dropdown .sticky-link:hover i {
    color: #d94b5a;
}

.sticky-footer .sticky-link:hover p,
.sticky-footer .sticky-link.active p,
.sticky-footer .cart-dropdown .sticky-link:hover p {
    color: #d94b5a;
}

.sticky-footer .sticky-link--contact i,
.sticky-footer .sticky-link--contact p {
    color: #d94b5a;
}

@media (max-width: 991px) {
    .footer-newsletter .container {
        padding-top: 2.4rem;
        padding-bottom: 2.4rem;
    }

    .footer-top {
        padding: 3rem 0 2.4rem;
    }

    .widget-about {
        margin-bottom: 3rem;
        padding-right: 0;
    }
}

@media (max-width: 767px) {
    .footer-newsletter .icon-box {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
    }

    .footer-newsletter .icon-box-content {
        width: 100%;
        text-align: center;
    }

    .footer-newsletter .icon-box-icon {
        margin-left: auto;
        margin-right: auto;
    }

    .footer-newsletter .input-wrapper {
        flex-direction: column;
        align-items: stretch;
    }

    .footer-newsletter .btn-newsletter-submit {
        width: 100%;
    }

    .widget-about-title {
        font-size: 1.6rem;
    }

    .widget-about-call {
        font-size: 2.7rem;
    }

    .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
    }

    .footer-rights-note {
        padding: .9rem .5rem 0;
        font-size: 1.08rem;
        line-height: 1.6;
    }

    .sticky-footer > * {
        min-width: 0;
    }

    .sticky-footer .sticky-link p {
        font-size: 1.02rem;
    }

    .footer-right {
        width: 100%;
        align-items: flex-start;
    }

    .payment-credit,
    .payment {
        width: 100%;
        justify-content: center;
    }
}

.launch-popup {
    width: min(92vw, 920px);
    position: relative;
}

@keyframes seo-popup-heartbeat {
    0%, 100% { transform: scale(1); }
    14% { transform: scale(1.045); }
    28% { transform: scale(.98); }
    42% { transform: scale(1.035); }
    58% { transform: scale(1); }
}

.mfp-newsletter .newsletter-popup,
.mfp-newsletter .launch-popup {
    animation: seo-popup-heartbeat 1.25s ease-in-out 2 both;
    transform-origin: center center;
    will-change: transform;
}

.launch-popup__close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 5;
    display: inline-grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 50%;
    background: rgba(11,31,58,.7);
    color: #fff;
    cursor: pointer;
    font-size: 1.1rem;
    line-height: 1;
}

.launch-popup__close:hover,
.launch-popup__close:focus-visible { background: #cf202f; outline: none; transform: rotate(90deg); }

.launch-popup__corporate,
.newsletter-popup__corporate { overflow-wrap: anywhere; }

@media (prefers-reduced-motion: reduce) {
    .mfp-newsletter .newsletter-popup,
    .mfp-newsletter .launch-popup { animation: none; }
}

.newsletter-popup {
    position: relative;
    width: min(92vw, 860px) !important;
    max-width: calc(100vw - 2rem) !important;
    max-height: calc(100vh - 2rem);
    margin: 0 auto !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    box-sizing: border-box !important;
}

.newsletter-popup__close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 4;
    display: inline-grid;
    place-items: center;
    width: 3.8rem;
    height: 3.8rem;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .46);
    border-radius: 50%;
    background: rgba(11, 31, 58, .82);
    color: #ffffff;
    cursor: pointer;
    box-shadow: 0 .6rem 1.6rem rgba(11, 31, 58, .22);
    transition: transform .2s ease, background .2s ease;
}

.newsletter-popup__close:hover,
.newsletter-popup__close:focus-visible {
    background: #cf202f;
    color: #ffffff;
    outline: none;
    transform: rotate(90deg) scale(1.06);
}

.newsletter-popup__grid {
    position: relative;
}

.newsletter-popup__eyebrow {
    align-self: flex-start;
}

@media (max-width: 767px) {
    .mfp-newsletter .mfp-content {
        width: calc(100vw - 2rem) !important;
        max-width: calc(100vw - 2rem) !important;
        margin: 0 auto !important;
    }

    .mfp-newsletter .mfp-container {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 100%;
        padding: 1rem;
        box-sizing: border-box;
    }

    .newsletter-popup {
        width: 100% !important;
        max-width: 100% !important;
        max-height: calc(100vh - 2rem) !important;
        border-radius: 1.4rem !important;
    }

    .newsletter-popup__grid {
        flex-direction: column !important;
        min-height: 0 !important;
    }

    .newsletter-popup__intro,
    .newsletter-popup__form {
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .newsletter-popup__intro {
        align-items: center !important;
        padding: 4.2rem 1.8rem 2.3rem !important;
        text-align: center;
    }

    .newsletter-popup__eyebrow {
        align-self: center !important;
        text-align: center;
    }

    .newsletter-popup__intro h3,
    .newsletter-popup__intro p {
        text-align: center;
    }

    .newsletter-popup__intro ul {
        width: 100%;
        text-align: center;
    }

    .newsletter-popup__form {
        padding: 2.3rem 1.8rem 2rem !important;
    }

    .newsletter-popup__form > div,
    .newsletter-popup__form h4,
    .newsletter-popup__form p {
        text-align: center;
    }

    .newsletter-popup__close {
        top: .85rem;
        right: .85rem;
        width: 3.6rem;
        height: 3.6rem;
    }
}

@media (max-width: 767px) {
    .mfp-newsletter .mfp-content {
        width: 100%;
        max-width: 100%;
        padding: 0 1rem;
        box-sizing: border-box;
    }

    .mfp-newsletter .mfp-container {
        padding: 1rem;
        box-sizing: border-box;
    }

    .launch-popup {
        width: calc(100vw - 2rem) !important;
        max-width: calc(100vw - 2rem) !important;
        margin: 0 auto !important;
        max-height: calc(100vh - 2rem);
        border-radius: 1.6rem !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
        box-sizing: border-box !important;
    }

    .launch-popup__layout {
        flex-direction: column !important;
        min-height: 0 !important;
        width: 100% !important;
    }

    .launch-popup__content {
        flex: 0 0 auto !important;
        min-width: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 2.2rem 1.8rem !important;
        gap: 1.2rem !important;
    }

    .launch-popup__badge {
        padding: .65rem 1rem !important;
        font-size: .98rem !important;
    }

    .launch-popup__title {
        font-size: clamp(1.7rem, 7vw, 2.35rem) !important;
        line-height: 1.15 !important;
        overflow-wrap: anywhere;
    }

    .launch-popup__description {
        font-size: 1.05rem !important;
        line-height: 1.6 !important;
        overflow-wrap: anywhere;
    }

    .launch-popup__actions {
        display: grid !important;
        grid-template-columns: 1fr;
        gap: .8rem !important;
        margin-top: .4rem !important;
    }

    .launch-popup__button {
        width: 100% !important;
        min-height: 4.4rem !important;
        padding: 0 1.4rem !important;
        font-size: 1.22rem;
    }

    .launch-popup__preference {
        margin-top: .4rem !important;
        font-size: 1.12rem !important;
    }

    .launch-popup__media {
        flex: 0 0 auto !important;
        width: 100% !important;
        box-sizing: border-box !important;
        min-height: 0 !important;
        padding: 1.4rem !important;
    }

    .launch-popup__image {
        width: min(100%, 22rem) !important;
        max-height: 18rem !important;
    }

    .launch-popup__close { top: .7rem; right: .7rem; width: 2.8rem; height: 2.8rem; }
}

@media (max-width: 767px) and (max-height: 680px) {
    .launch-popup__media {
        display: none !important;
    }
}

@media (max-width: 1024px) {
    .mfp-content .launch-popup {
        width: calc(100vw - 2rem) !important;
        max-width: calc(100vw - 2rem) !important;
        margin: 0 auto !important;
        box-sizing: border-box !important;
    }

    .mfp-content .launch-popup__layout {
        flex-direction: column !important;
        min-height: 0 !important;
        width: 100% !important;
    }

    .mfp-content .launch-popup__content,
    .mfp-content .launch-popup__media {
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
}

@media (max-width: 767px) {
    .mfp-newsletter .mfp-container {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow-y: auto;
        padding: 1rem !important;
    }

    .mfp-newsletter .mfp-container::before {
        display: none !important;
    }

    .mfp-newsletter .mfp-content {
        width: calc(100vw - 2rem) !important;
        max-width: calc(100vw - 2rem) !important;
        margin: 0 auto !important;
        vertical-align: middle !important;
    }

    .newsletter-popup {
        width: 100% !important;
        max-width: 100% !important;
        max-height: calc(100vh - 2rem) !important;
        overflow: hidden !important;
    }

    .newsletter-popup__grid {
        max-height: calc(100vh - 2rem) !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    .newsletter-popup__close {
        top: .75rem !important;
        right: .75rem !important;
        width: 3.4rem !important;
        height: 3.4rem !important;
        border-color: rgba(255, 255, 255, .9) !important;
        background: #cf202f !important;
        color: #ffffff !important;
        box-shadow: 0 .7rem 1.8rem rgba(207, 32, 47, .4) !important;
    }

    .newsletter-popup__close:hover,
    .newsletter-popup__close:focus-visible {
        background: #a71724 !important;
        color: #ffffff !important;
    }

    .newsletter-popup__intro {
        padding: 4.5rem 1.6rem 1.8rem !important;
        gap: 1rem !important;
    }

    .newsletter-popup__intro h3 {
        font-size: 2.25rem !important;
        line-height: 1.08 !important;
    }

    .newsletter-popup__intro p {
        font-size: 1.22rem !important;
        line-height: 1.5 !important;
    }

    .newsletter-popup__intro ul {
        gap: .65rem !important;
        margin-top: .2rem !important;
        font-size: 1.18rem !important;
        line-height: 1.4 !important;
    }

    .newsletter-popup__form {
        gap: 1.15rem !important;
        padding: 1.8rem 1.6rem 1.6rem !important;
    }

    .newsletter-popup__form h4 {
        font-size: 1.95rem !important;
        line-height: 1.15 !important;
    }

.newsletter-popup__form p {
    font-size: 1.22rem !important;
    line-height: 1.5 !important;
}
}

/* The announcement is intentionally compact on every viewport. */
.newsletter-popup {
    width: min(92vw, 520px) !important;
    max-width: calc(100vw - 2rem) !important;
    max-height: calc(100dvh - 2rem) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    border-radius: 18px !important;
}

.newsletter-popup__grid {
    display: block !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
}

.newsletter-popup__intro {
    width: 100% !important;
    min-height: 0 !important;
    padding: 48px 30px 30px !important;
    gap: 12px !important;
}

.newsletter-popup__intro h3 {
    font-size: 30px !important;
    line-height: 1.1 !important;
}

.newsletter-popup__intro p {
    font-size: 14px !important;
    line-height: 1.55 !important;
}

.newsletter-popup__intro ul {
    gap: 7px !important;
    margin-top: 4px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

.newsletter-popup__close {
    top: 10px !important;
    right: 10px !important;
    width: 48px !important;
    height: 48px !important;
    font-size: 16px !important;
}

.newsletter-popup__corporate {
    max-width: 100%;
    box-sizing: border-box;
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal;
    font-size: clamp(12px, 2.5vw, 14px) !important;
    line-height: 1.45 !important;
}

.newsletter-popup__corporate a {
    display: inline-block;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* SEO/a11y fixes shared by every template. */
.screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.skip-link {
    position: fixed;
    top: .8rem;
    left: .8rem;
    z-index: 2147483001;
    padding: .9rem 1.2rem;
    border-radius: .6rem;
    background: #0b1f3a;
    color: #fff !important;
    font-size: 1.3rem;
    font-weight: 700;
    transform: translateY(-160%);
    transition: transform .2s ease;
}

.skip-link:focus {
    transform: translateY(0);
}

html,
body {
    max-width: 100%;
    overflow-x: clip;
}

@supports not (overflow: clip) {
    html,
    body { overflow-x: hidden; }
}

.mobile-menu-toggle,
.mobile-menu-close,
.sidebar-close,
.sidebar-toggle {
    appearance: none;
    border: 0;
    cursor: pointer;
}

@media (max-width: 767px) {
    body,
    body p,
    body li,
    body label,
    body input,
    body button,
    body select,
    body textarea {
        font-size: max(1rem, 14px);
    }

    .product-name.product-name--ticker > a,
    .category-product-grid .product-wrap .product-name.product-name--ticker a,
    .vendor-product-section .product-name.product-name--ticker a {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow: hidden !important;
        overflow-wrap: anywhere !important;
        white-space: normal !important;
        transform: none !important;
        animation: none !important;
    }

    .product-name.product-name--ticker > a::after,
    .category-product-grid .product-wrap .product-name.product-name--ticker a::after,
    .vendor-product-section .product-name.product-name--ticker a::after {
        display: none !important;
        content: none !important;
    }

    .product-title-row .product-title[data-title] {
        color: #111827 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }

    .product-title-row .product-title[data-title]::before {
        display: none !important;
        content: none !important;
    }
}

/* Final mobile guardrails: keep closed UI layers and carousel clones out of
 * the measurable layout while preserving their interaction when opened. */
@media (max-width: 767px) {
    body:not(.mmenu-active) .mobile-menu-wrapper {
        visibility: hidden !important;
        pointer-events: none !important;
        overflow: hidden !important;
    }

    body.mmenu-active .mobile-menu-wrapper {
        visibility: visible !important;
        pointer-events: auto !important;
    }

    .graf-testimonials,
    .graf-testimonials .swiper-container,
    .graf-testimonials .swiper-wrapper {
        max-width: 100% !important;
        overflow: hidden !important;
    }

    .graf-testimonials .swiper-slide {
        min-width: 0 !important;
        max-width: 100% !important;
        visibility: hidden;
    }

    .graf-testimonials .swiper-slide-active {
        visibility: visible;
    }

    .header-announcement,
    .smx-action-text,
    .smx-category-strip__label,
    .footer-eyebrow,
    .cart-count,
    .product-card__ribbon,
    .product-card__tag,
    .product-card__badge,
    .product-card__benefit,
    .product-card__price-label,
    .product-card__old-price,
    .product-card__cta,
    .graf-testimonials__eyebrow,
    .graf-testimonials__stat,
    .graf-testimonials__stat span,
    .graf-testimonial-role,
    .graf-testimonial-author,
    .sticky-link,
    .sticky-link p {
        font-size: 13px !important;
    }

    .newsletter-popup__corporate,
    .newsletter-popup__corporate a,
    .seo-consent-banner,
    .seo-consent-banner button {
        font-size: 14px !important;
    }
}

/* Keep mobile text readable and prevent animated strips from widening the layout. */
@media (max-width: 767px) {
    .header-marquee__track,
    .header-marquee__group,
    .footer-marquee__track,
    .footer-marquee__group {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        transform: none;
        animation: none !important;
    }

    .header-marquee__item,
    .footer-marquee__item {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        text-align: center;
        text-overflow: ellipsis;
        white-space: nowrap !important;
        font-size: 13px !important;
    }

    .header-top,
    .header-top .container,
    .header-announcement,
    .smx-action-text,
    .smx-category-strip__label,
    .footer-eyebrow,
    .cart-count,
    .kalip-kit-hero__eyebrow,
    .kalip-kit-hero__actions .btn,
    .kalip-kit-proof span,
    .graf-story-card__title,
    .graf-story-card__button,
    .home-product-section__eyebrow,
    .home-product-section__lead,
    .product,
    .product-media,
    .product-details,
    .product-card__ribbon,
    .product-detail-selling-badge,
    .product-card__tag,
    .product-card__badge,
    .product-name,
    .product-name a,
    .product-card__benefit,
    .product-card__price-label,
    .product-card__old-price,
    .product-card__cta,
    .graf-testimonials__eyebrow,
    .graf-testimonials__stat,
    .graf-testimonials__stat span,
    .graf-testimonial-role,
    .graf-testimonial-author,
    .kalip-blog-strip__eyebrow,
    .kalip-blog-card__tag,
    .kalip-blog-card__link,
    .instagram-reels-section__eyebrow,
    .instagram-reels-section__heading p,
    .instagram-reels-section__profile,
    .instagram-reel-top,
    .instagram-reel-handle,
    .instagram-reel-badge,
    .instagram-reel-meta,
    .instagram-reel-title,
    .sticky-link,
    .sticky-link p {
        font-size: 13px !important;
    }

    .graf-story-grid {
        width: 100% !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    html,
    body {
        max-width: 100% !important;
        overflow-x: hidden !important;
    }
}

/* Keep the announcement exactly in the viewport centre on desktop and mobile. */
.mfp-newsletter .mfp-container {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100vw !important;
    min-height: 100vh !important;
    padding: 1rem !important;
    box-sizing: border-box !important;
}

.mfp-newsletter .mfp-content {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    left: auto !important;
    right: auto !important;
    box-sizing: border-box !important;
}

.mfp-newsletter .newsletter-popup,
.mfp-newsletter .launch-popup {
    flex: 0 1 auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

@media (max-width: 767px) {
    .newsletter-popup {
        width: min(420px, calc(100vw - 2rem)) !important;
        max-width: calc(100vw - 2rem) !important;
        max-height: calc(100dvh - 2rem) !important;
    }

    .newsletter-popup__intro {
        padding: 48px 22px 24px !important;
    }

    .newsletter-popup__intro h3 {
        font-size: 26px !important;
    }
}

.seo-faq-block,
.seo-guide-links {
    width: min(100%, 96rem);
    margin: 3rem auto;
    padding: 2.4rem;
    border: 1px solid #e6edf5;
    border-radius: 1.2rem;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: 0 1.2rem 2.8rem rgba(16, 40, 71, 0.06);
}

.seo-faq-block h2,
.seo-guide-links h3 {
    margin: 0 0 1.6rem;
    color: #102847;
    font-size: 2.1rem;
    line-height: 1.25;
    font-weight: 800;
    letter-spacing: 0;
}

.seo-faq-block__item {
    border: 1px solid #e7ebf1;
    border-radius: .8rem;
    background: #ffffff;
}

.seo-faq-block__item + .seo-faq-block__item {
    margin-top: 1rem;
}

.seo-faq-block__item summary {
    cursor: pointer;
    padding: 1.35rem 1.5rem;
    color: #111827;
    font-size: 1.42rem;
    font-weight: 800;
    line-height: 1.4;
}

.seo-faq-block__item p {
    margin: 0;
    padding: 0 1.5rem 1.45rem;
    color: #4b5563;
    font-size: 1.34rem;
    line-height: 1.75;
}

.seo-guide-links ul {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.seo-guide-links a {
    display: flex;
    align-items: center;
    min-height: 4.6rem;
    padding: 1rem 1.2rem;
    border: 1px solid #dfe7f1;
    border-radius: .8rem;
    background: #ffffff;
    color: #102847;
    font-size: 1.24rem;
    font-weight: 800;
    line-height: 1.3;
}

.seo-guide-links a:hover,
.seo-guide-links a:focus {
    border-color: #cf202f;
    color: #cf202f;
}

@media (max-width: 991px) {
    .seo-guide-links ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575px) {
    .seo-faq-block,
    .seo-guide-links {
        margin: 2.2rem auto;
        padding: 1.6rem;
        border-radius: 1rem;
    }

    .seo-faq-block h2,
    .seo-guide-links h3 {
        font-size: 1.75rem;
    }

    .seo-guide-links ul {
        grid-template-columns: 1fr;
    }
}

/* Compact footer geometry: keep the existing content and dark theme, but
 * restore the shorter legacy spacing on every template. The small eyebrow,
 * trust pills and repeated feature list are supporting decoration; hiding
 * those visual duplicates prevents the about column from forcing every page
 * much taller than the original footer. */
.footer-eyebrow,
.footer-trust-pills,
.footer-mini-points {
    display: none !important;
}

.footer-newsletter {
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.footer-newsletter .container {
    padding-top: 0;
    padding-bottom: 0;
}

.footer-newsletter .icon-box {
    gap: 1rem;
}

.footer-newsletter .icon-box-icon {
    width: 4.8rem;
    height: 4.8rem;
}

.footer-newsletter .icon-box-icon i {
    font-size: 2.2rem;
}

.footer-newsletter .icon-box-title {
    margin-bottom: .2rem;
    font-size: 1.6rem;
    letter-spacing: .02em;
}

.footer-newsletter .form-control,
.footer-newsletter .btn-newsletter-submit {
    min-height: 4.6rem;
}

.footer-newsletter .btn-newsletter-submit {
    min-width: 0;
    padding-right: 1.6rem;
    padding-left: 1.6rem;
}

.footer-top {
    padding: 3.2rem 0 1.2rem;
}

.footer-top .widget {
    margin-bottom: 0;
}

.footer-top .widget-title {
    margin-bottom: 1.2rem;
    font-size: 1.4rem;
    letter-spacing: .05em;
}

.footer-top .widget-body li + li {
    margin-top: .65rem;
}

.footer-top .widget-body a {
    font-size: 1.3rem;
    line-height: 1.4;
}

.widget-about {
    min-height: 0;
    padding-right: 1rem;
}

.widget-about .widget-about-title {
    margin-bottom: .7rem;
    font-size: 1.6rem;
    line-height: 1.35;
}

.widget-about-call {
    margin-bottom: .9rem;
    font-size: 2.6rem;
}

.widget-about-desc {
    margin-bottom: 0;
    font-size: 1.3rem;
    line-height: 1.65;
}

.footer-social-row {
    padding-top: .8rem;
}

.social-icons {
    gap: .6rem;
    margin-top: 0;
}

.social-icons .social-icon {
    width: 3.8rem;
    height: 3.8rem;
}

.footer-bottom {
    gap: 1rem;
    margin-top: .8rem;
    padding-top: 1.5rem;
    padding-bottom: 1.8rem;
}

.footer-bottom .footer-right {
    flex-direction: row;
    align-items: center;
    gap: 1rem;
}

.footer-bottom .payment-label-block {
    display: inline-flex;
    width: auto;
    margin: 0;
    text-align: right;
}

.payment-credit {
    padding: .65rem .9rem;
    font-size: 1.16rem;
    line-height: 1.45;
}

.payment {
    padding: .65rem .9rem;
}

.footer-legal-note {
    margin-top: .9rem;
    margin-bottom: 1.2rem;
    padding-top: .9rem;
    font-size: 1.14rem;
    line-height: 1.5;
}

.footer-rights-note {
    margin-top: .7rem;
    padding-top: .7rem;
    font-size: 1.12rem;
    line-height: 1.5;
}

@media (max-width: 767px) {
    .footer-newsletter {
        padding-top: 1.8rem;
        padding-bottom: 1.8rem;
    }

    .footer-newsletter .container {
        padding-right: 15px;
        padding-left: 15px;
    }

    .footer-newsletter .row > [class*="mt-4"] {
        margin-top: 1rem !important;
    }

    .footer-newsletter .form-control {
        margin-right: 0 !important;
    }

    .footer-top {
        padding-top: 2.2rem;
        padding-bottom: 1rem;
    }

    .footer-top > .row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 1.2rem;
        row-gap: 1.6rem;
        margin-right: -10px;
        margin-left: -10px;
    }

    .footer-top > .row > [class*="col-"] {
        width: auto;
        max-width: none;
        min-width: 0;
        padding-right: 10px;
        padding-left: 10px;
    }

    .footer-top > .row > .col-lg-4 {
        grid-column: 1 / -1;
    }

    .footer-top .widget-about {
        margin-bottom: 0;
        padding-right: 0;
    }

    .footer-top .row > .col-lg-2:nth-child(4) .widget-body {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: .8rem;
    }

    .footer-top .row > .col-lg-2:nth-child(4) .widget-body li {
        min-width: 0;
    }

    .footer-top .row > .col-lg-2:nth-child(4) .widget-body a {
        overflow-wrap: anywhere;
    }

    .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: .8rem;
        padding-top: 1.25rem;
        padding-bottom: 1.5rem;
    }

    .footer-bottom .footer-right {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        gap: .6rem;
    }

    .footer-bottom .payment-label-block {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .payment-credit,
    .payment {
        width: 100%;
        justify-content: center;
    }

    .footer-legal-note {
        margin-top: .7rem;
        margin-bottom: .9rem;
        padding-top: .7rem;
    }

    .footer-rights-note {
        margin-top: .5rem;
        padding-top: .5rem;
    }
}

/* Mobile announcement strips must remain animated. The earlier overflow
 * guard intentionally stopped them; keep the viewport clipped while the two
 * identical groups travel as one continuous ticker. */
@keyframes header-marquee-mobile-scroll {
    from { transform: translate3d(0, 0, 0); }
    to { transform: translate3d(-50%, 0, 0); }
}

@keyframes header-marquee-mobile-scroll-reverse {
    from { transform: translate3d(-50%, 0, 0); }
    to { transform: translate3d(0, 0, 0); }
}

@media (max-width: 767px) {
    .header-marquee .header-marquee__viewport {
        width: 100%;
        overflow: hidden;
    }

    .header-marquee .header-marquee__track {
        display: flex !important;
        width: max-content !important;
        min-width: 0 !important;
        max-width: none !important;
        transform: translate3d(0, 0, 0);
        animation: header-marquee-mobile-scroll var(--marquee-duration) linear infinite !important;
        animation-play-state: running !important;
    }

    .header-marquee .header-marquee__group {
        display: flex !important;
        width: max-content !important;
        min-width: 100% !important;
        max-width: none !important;
        flex: 0 0 auto !important;
        justify-content: flex-start !important;
    }

    .header-marquee .header-marquee__item {
        display: inline-flex !important;
        width: auto !important;
        min-width: max-content !important;
        max-width: none !important;
        overflow: visible !important;
        text-align: left !important;
        text-overflow: clip !important;
        white-space: nowrap !important;
        font-size: 13px !important;
        padding: .65rem 1rem !important;
    }

    .header-marquee.header-marquee--reverse .header-marquee__track {
        animation-name: header-marquee-mobile-scroll-reverse !important;
    }

    .footer-marquee .footer-marquee__viewport {
        width: 100%;
        overflow: hidden;
    }

    .footer-marquee .footer-marquee__track {
        display: flex !important;
        width: max-content !important;
        min-width: 0 !important;
        max-width: none !important;
        transform: translate3d(100vw, 0, 0);
        animation: header-marquee-scroll var(--footer-marquee-duration) linear infinite !important;
        animation-play-state: running !important;
    }

    .footer-marquee .footer-marquee__group {
        display: flex !important;
        width: max-content !important;
        min-width: 100% !important;
        max-width: none !important;
        flex: 0 0 auto !important;
        justify-content: flex-start !important;
    }

    .footer-marquee .footer-marquee__item {
        display: inline-flex !important;
        width: auto !important;
        min-width: max-content !important;
        max-width: none !important;
        overflow: visible !important;
        text-align: left !important;
        text-overflow: clip !important;
        white-space: nowrap !important;
        font-size: 13px !important;
        padding: .65rem 1rem !important;
    }

    .footer-marquee.footer-marquee--reverse .footer-marquee__track {
        animation-name: header-marquee-scroll-reverse !important;
    }
}

