.menu-toggle {
    display: none;
    width: 44px;
    height: 44px;
    border: 0;
    background: transparent;
    padding: 9px;
}

.menu-toggle span {
    display: block;
    height: 2px;
    background: #fff;
    margin: 5px 0;
}

.primary-nav {
    min-width: 0;
}

.top-menu {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
}

.top-menu > li {
    position: relative;
}

.top-menu > li > a {
    position: relative;
    top: -2px;
    display: block;
    padding: 4px 24px 3px;
    color: #fff;
    font-family: "Stratum No1", "Arial Narrow", Arial, sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
    transition: color .2s ease, transform .2s ease;
}

.top-menu > li:hover > a,
.top-menu > li:focus-within > a {
    color: #e0243b;
    background: transparent;
    transform: scale(1.04);
}

.header-quick-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: 35px;
    margin-top: -3px;
    transform: translate(-14px, -7px);
}

.header-icon-link,
.header-quick-actions .header-actions summary {
    position: relative;
    display: inline-grid;
    place-items: center;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    border: 0;
    padding: 0;
    color: #fff;
    background: transparent;
}

.header-icon-link:hover,
.header-icon-link:focus-visible,
.header-quick-actions .header-actions summary:hover,
.header-quick-actions .header-actions[open] summary {
    color: #e0243b;
    background: transparent;
}

.header-search-icon {
    position: relative;
    width: 22px;
    height: 22px;
    border: 3px solid currentColor;
    border-radius: 50%;
}

.header-search-icon::after {
    content: "";
    position: absolute;
    right: -8px;
    bottom: -5px;
    width: 11px;
    height: 3px;
    border-radius: 3px;
    background: currentColor;
    transform: rotate(45deg);
    transform-origin: left center;
}

.header-search-dialog {
    width: min(720px, calc(100vw - 32px));
    max-width: none;
    border: 0;
    padding: 0;
    color: #111;
    background: transparent;
}

.header-search-dialog::backdrop {
    background: rgba(4, 6, 8, .78);
}

.header-search-panel {
    position: relative;
    border-top: 4px solid var(--color-red);
    border-radius: 6px;
    padding: 34px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .3);
}

.header-search-panel h2 {
    margin: 0 54px 22px 0;
    font-size: 30px;
    text-transform: uppercase;
}

.header-search-panel .search-kicker {
    margin: 0 0 5px;
    color: var(--color-red);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.header-search-close-form {
    position: absolute;
    top: 14px;
    right: 14px;
    margin: 0;
}

.header-search-close-form button {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 0;
    padding: 0;
    color: #111;
    background: transparent;
    cursor: pointer;
}

.header-search-close-form span {
    font-size: 34px;
    font-weight: 300;
    line-height: 1;
}

.header-search-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    border: 1px solid #bfc8ce;
    background: #fff;
}

.header-search-form input,
.header-search-form button {
    min-height: 50px;
    border: 0;
}

.header-search-form input {
    min-width: 0;
    padding: 0 16px;
}

.header-search-form button {
    min-width: 120px;
    padding: 0 22px;
    color: #fff;
    background: var(--color-red);
    font-weight: 800;
    text-transform: uppercase;
    cursor: pointer;
}

.header-quick-actions .account-link-icon {
    width: 20px;
    height: 20px;
    border-width: 3px;
}

.header-quick-actions .account-link-icon::after {
    top: 12px;
    width: 28px;
    height: 13px;
    border-width: 3px;
}

.header-quick-actions .header-actions summary::after {
    display: none;
}

.header-quick-actions .header-actions {
    margin: 0;
}

.header-menu-cart-icon {
    position: relative;
    width: 23px;
    height: 22px;
    margin-top: 5px;
    border: 2px solid currentColor;
    border-top-width: 1px;
}

.header-menu-cart-icon::before {
    content: "";
    position: absolute;
    top: -9px;
    left: 5px;
    width: 9px;
    height: 9px;
    border: 2px solid currentColor;
    border-bottom: 0;
    border-radius: 8px 8px 0 0;
}

.header-menu-cart strong {
    position: absolute;
    top: 14px;
    left: 50%;
    color: currentColor;
    font-family: Arial, sans-serif;
    font-size: 10px;
    line-height: 1;
    transform: translateX(-50%);
}

.submenu {
    position: absolute;
    left: 0;
    top: 100%;
    width: min(760px, calc(100vw - 32px));
    background: #fff;
    color: #111;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .2);
    padding: 18px;
    opacity: 0;
    pointer-events: none;
    transform: translateY(8px);
    transition: opacity .18s ease, transform .18s ease;
}

.has-submenu:hover .submenu,
.has-submenu:focus-within .submenu {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.submenu ul {
    list-style: none;
    margin: 0;
    padding: 0;
    columns: 4 150px;
}

.submenu a {
    display: block;
    padding: 6px 4px;
    font-size: 13px;
    color: #111;
}

.submenu a:hover {
    color: var(--color-red);
}

.language-selector {
    display: flex;
    gap: 6px;
}

.language-selector select,
.language-selector-submit {
    min-height: 44px;
    border: 1px solid #303030;
    background: #111;
    color: #fff;
    padding: 0 9px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.language-selector-submit {
    cursor: pointer;
}

.language-selector.is-enhanced .language-selector-submit {
    display: none;
}

.language-selector select:focus {
    outline: 2px solid var(--color-red);
    outline-offset: 2px;
}

.header-actions {
    position: relative;
    min-width: 0;
}

.header-actions summary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    border: 1px solid #242424;
    padding: 0 12px;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    white-space: nowrap;
    cursor: pointer;
    list-style: none;
}

.header-actions summary::-webkit-details-marker {
    display: none;
}

.header-actions summary::after {
    content: "";
    width: 7px;
    height: 7px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
}

.header-actions[open] summary,
.header-actions summary:hover {
    background: #222;
}

.header-actions-panel {
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    z-index: 12;
    display: grid;
    gap: 8px;
    min-width: 210px;
    border: 1px solid #2b2f32;
    background: #090b0d;
    padding: 10px;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .35);
}

.header-actions-panel .language-selector,
.header-actions-panel .language-selector select,
.header-actions-panel .account-link {
    width: 100%;
}

.header-actions-panel .language-selector select {
    min-height: 44px;
}

.header-actions-panel .account-link {
    justify-content: flex-start;
    min-height: 44px;
    border: 1px solid #242424;
}

.account-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 12px;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    white-space: nowrap;
}

.account-link:hover {
    background: #222;
}


.account-link-icon {
    position: relative;
    width: 17px;
    height: 17px;
    border: 2px solid currentColor;
    border-radius: 50%;
}

.account-link-icon::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 10px;
    width: 22px;
    height: 11px;
    border: 2px solid currentColor;
    border-top: 0;
    border-radius: 0 0 14px 14px;
    transform: translateX(-50%);
}

.hero-slider {
    position: relative;
    overflow: hidden;
    background: #000;
}

@media (min-width: 981px) {
    .page-index .hero-slider {
        transform: translateY(-31px);
    }

    .page-index .promo-grid-top {
        margin-top: 0;
        padding: 24px 0 30px;
    }

    .page-index .home-new-products {
        padding: 30px 0 15px;
    }

    .page-index .home-new-products-heading {
        height: 35px;
        margin-bottom: 45px;
    }

    .page-index .home-new-products-slider,
    .page-index .home-new-products-viewport {
        min-height: 229px;
        height: auto;
    }

    .page-index .new-product-media {
        aspect-ratio: 10 / 7;
    }

    .page-index .home-new-products-footer {
        min-height: 76px;
    }

    .page-index .promo-grid-bottom {
        margin-top: 20px;
        padding: 0 0 30px;
    }

    .page-index .home-about {
        min-height: 539px;
        margin-top: 30px;
    }
}

.slider-track {
    position: relative;
}

@media (min-width: 992px) and (max-width: 1350px) {
    .primary-nav {
        transform: translateX(-6px);
    }

    .top-menu > li > a {
        padding-right: 21px;
        padding-left: 21px;
        font-size: 16px;
    }
}

.slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity .5s ease;
}

.slide.is-active {
    position: relative;
    opacity: 1;
    pointer-events: auto;
    z-index: 1;
}

.slide a,
.slide picture,
.slide img {
    display: block;
    width: 100%;
}

.slide img {
    height: auto;
}

.slide-caption {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    display: grid;
    gap: 4px;
    padding: 10px 20px;
    color: #fff;
    background: rgba(0, 0, 0, .6);
}

.slide-caption strong {
    font-size: clamp(20px, 2.4vw, 40px);
    line-height: 1.1;
    text-transform: uppercase;
}

.slider-control {
    position: absolute;
    top: 50%;
    z-index: 3;
    width: 38px;
    height: 61px;
    border: 0;
    background: rgba(0, 0, 0, .28);
    transform: translateY(-50%);
    cursor: pointer;
}

.slider-control::before {
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    margin: auto;
}

.slider-control.prev {
    left: 0;
}

.slider-control.prev::before {
    transform: rotate(-135deg);
}

.slider-control.next {
    right: 0;
}

.slider-control.next::before {
    transform: rotate(45deg);
}

.slider-pause {
    position: absolute;
    right: 12px;
    bottom: 12px;
    z-index: 4;
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .8);
    border-radius: 50%;
    color: #fff;
    background: rgba(0, 0, 0, .72);
    cursor: pointer;
}

.slider-pause:hover,
.slider-pause:focus-visible {
    background: #111;
}

.slider-pause span {
    font-size: 15px;
    line-height: 1;
}

.promo-grid {
    padding: 24px 0 0;
}

.promo-grid .container {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.promo-banner {
    position: relative;
    overflow: hidden;
    min-height: 220px;
    background: #111;
}

.promo-banner img {
    width: 100%;
    height: 100%;
    min-height: 220px;
    object-fit: cover;
    transition: transform .24s ease;
}

.promo-banner picture {
    display: block;
    width: 100%;
    height: 100%;
}

.promo-grid-bottom .promo-banner {
    aspect-ratio: 1 / 1;
    background: #fff;
}

.promo-grid-bottom .promo-banner img {
    min-height: 0;
    object-fit: contain;
}

.promo-banner:hover img {
    transform: scale(1.04);
}

.promo-banner-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 66%;
    min-height: 44%;
    padding: 24px 18px;
    color: #fff;
    text-align: center;
    background: rgba(0, 0, 0, .58);
    opacity: 0;
    transform: translate(-50%, -50%) scale(.97);
    transition: opacity .24s ease, transform .24s ease;
}

.promo-banner-overlay strong {
    max-width: 22ch;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(16px, 1.35vw, 21px);
    line-height: 1.18;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.promo-banner-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 39px;
    margin-top: 16px;
    padding: 8px 14px;
    border: 1px solid rgba(255, 255, 255, .92);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 15px;
    line-height: 1;
    text-transform: uppercase;
}

.promo-banner:hover .promo-banner-overlay,
.promo-banner:focus-visible .promo-banner-overlay {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

.promo-grid-top .promo-banner-overlay {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

@media (hover: none), (max-width: 980px) {
    .promo-banner-overlay {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
}

.home-about {
    position: relative;
    display: grid;
    min-height: clamp(440px, 36vw, 610px);
    overflow: hidden;
    isolation: isolate;
    color: #fff;
    background: #090708;
}

.home-about-image,
.home-about-shade {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.home-about > picture {
    display: contents;
}

.home-about-image {
    z-index: -2;
    object-fit: cover;
    object-position: center;
}

.home-about-shade {
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(3, 2, 3, .05) 0%, rgba(3, 2, 3, .24) 38%, rgba(3, 2, 3, .84) 68%, rgba(3, 2, 3, .94) 100%),
        linear-gradient(180deg, rgba(0, 0, 0, .12), rgba(0, 0, 0, .36));
}

.home-about-layout {
    display: flex;
    align-items: center;
    width: 100%;
    padding-top: 54px;
    padding-bottom: 54px;
}

.home-about-copy {
    width: min(680px, 52%);
    margin-left: auto;
    border-left: 3px solid var(--color-red);
    padding: 28px 32px;
    background: rgba(8, 7, 8, .42);
    box-shadow: 0 22px 55px rgba(0, 0, 0, .24);
    backdrop-filter: blur(3px);
}

.home-about-copy h2 {
    margin: 0 0 6px;
    font-family: "Stratum No1", "Arial Narrow", Arial, sans-serif;
    font-size: clamp(36px, 3.3vw, 56px);
    font-weight: 700;
    letter-spacing: .035em;
    line-height: 1;
}

.home-about-copy p {
    margin: 14px 0 0;
    color: rgba(255, 255, 255, .88);
    font-size: clamp(14px, 1.05vw, 17px);
    line-height: 1.55;
}

.home-about-copy .home-about-tagline {
    margin-top: 0;
    color: #fff;
    font-size: clamp(17px, 1.35vw, 21px);
    font-weight: 700;
}

.home-about-copy .home-about-motto {
    color: #fff;
    font-weight: 700;
}

.home-about-managed > :first-child,
.managed-functional-content-body > :first-child {
    margin-top: 0;
}

.home-about-managed > :last-child,
.managed-functional-content-body > :last-child {
    margin-bottom: 0;
}

.managed-functional-content {
    padding: clamp(28px, 4vw, 56px) 0;
    background: #fff;
}

.managed-functional-content-body {
    max-width: 985px;
    margin: 0 auto;
}

.home-new-products {
    padding: 42px 0 24px;
    background: #fff;
}

.home-new-products-heading {
    width: min(100%, 650px);
    margin: 0 auto 34px;
    border-bottom: 1px solid #ececec;
    text-align: center;
}

.home-new-products-heading h2 {
    display: inline-block;
    margin: 0;
    padding: 0 24px 7px;
    background: #fff;
    font-family: "Stratum No1", "Arial Narrow", Arial, sans-serif;
    font-size: 24px;
    font-weight: 400;
    letter-spacing: .16em;
    line-height: 1.2;
    text-transform: uppercase;
    transform: translateY(9px);
}

.home-new-products-slider {
    --new-products-visible: 5;
    --new-products-gap: 28px;
    position: relative;
    padding: 0 34px;
}

.home-new-products-viewport {
    overflow-x: auto;
    scrollbar-width: thin;
}

.home-new-products-slider.is-enhanced .home-new-products-viewport {
    overflow: hidden;
}

.home-new-products-track {
    display: flex;
    gap: var(--new-products-gap);
    transition: transform .35s ease;
    will-change: transform;
}

.home-new-products-track .new-product-card {
    flex: 0 0 calc((100% - 112px) / 5);
}

.home-new-products-control {
    position: absolute;
    top: 42%;
    z-index: 2;
    display: none;
    width: 44px;
    height: 54px;
    border: 0;
    padding: 0;
    color: #222;
    background: rgba(255, 255, 255, .9);
    cursor: pointer;
    transform: translateY(-50%);
}

.home-new-products-slider.is-enhanced .home-new-products-control {
    display: grid;
    place-items: center;
}

.home-new-products-control.is-prev {
    left: 0;
}

.home-new-products-control.is-next {
    right: 0;
}

.home-new-products-control span {
    width: 16px;
    height: 16px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
}

.home-new-products-control.is-prev span {
    transform: rotate(-135deg);
}

.home-new-products-control.is-next span {
    transform: rotate(45deg);
}

.home-new-products-control:disabled {
    opacity: .22;
    cursor: default;
}

.home-new-products-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px;
}

.new-product-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    text-align: center;
}

.new-product-media {
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #fff;
}

.new-product-image-link {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
}

.new-product-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    padding: 20px 10px 10px;
    object-fit: contain;
    transition: transform .32s ease;
}

.new-product-card:hover .new-product-media img,
.new-product-card:focus-within .new-product-media img,
.product-card:hover .product-card-media img,
.product-card:focus-within .product-card-media img {
    transform: scale(1.09);
}

.new-product-badge {
    position: absolute;
    top: 2px;
    right: 10px;
    z-index: 1;
    min-width: 72px;
    padding: 7px 13px 6px;
    color: #fff;
    background: var(--color-red);
    box-shadow: 0 5px 8px rgba(0, 0, 0, .14);
    font-family: Arial, sans-serif;
    font-size: 11px;
    font-style: italic;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    transform: skew(-18deg);
}

.new-product-actions {
    position: absolute;
    right: 10px;
    bottom: 9px;
    left: 10px;
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 56px;
    padding: 7px 10px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 9px 24px rgba(0, 0, 0, .13);
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .22s ease, transform .22s ease;
    pointer-events: none;
}

.new-product-card:hover .new-product-actions,
.new-product-card:focus-within .new-product-actions,
.product-card:hover .new-product-actions,
.product-card:focus-within .new-product-actions {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.new-product-action-form {
    display: flex;
    flex: 0 0 auto;
    margin: 0;
}

.new-product-action {
    position: relative;
    display: grid;
    place-items: center;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border: 0;
    padding: 0;
    color: #303236;
    background: transparent;
    cursor: pointer;
    transition: color .16s ease, background .16s ease, transform .16s ease;
}

.new-product-action:hover,
.new-product-action:focus-visible {
    color: #fff;
    background: var(--color-red);
    transform: translateY(-2px);
}

.new-product-action:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 2px;
    box-shadow: 0 0 0 5px var(--color-red);
}

.new-product-action::after {
    position: absolute;
    right: 50%;
    bottom: calc(100% + 7px);
    z-index: 3;
    width: max-content;
    max-width: 160px;
    padding: 5px 8px;
    color: #fff;
    background: #17191b;
    content: attr(data-tooltip);
    font-family: Arial, sans-serif;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
    opacity: 0;
    pointer-events: none;
    transform: translate(50%, 4px);
    transition: opacity .15s ease, transform .15s ease;
}

.new-product-action:hover::after,
.new-product-action:focus-visible::after {
    opacity: 1;
    transform: translate(50%, 0);
}

.new-product-action-icon {
    position: relative;
    display: block;
    color: currentColor;
}

.new-product-action-icon.is-cart {
    width: 22px;
    height: 16px;
    margin-top: 4px;
    border: 2px solid currentColor;
    border-top: 0;
    background: currentColor;
}

.new-product-action-icon.is-cart::before {
    position: absolute;
    bottom: 13px;
    left: 5px;
    width: 8px;
    height: 7px;
    border: 2px solid currentColor;
    border-bottom: 0;
    border-radius: 8px 8px 0 0;
    content: "";
}

.new-product-action-icon.is-search {
    width: 18px;
    height: 18px;
    border: 3px solid currentColor;
    border-radius: 50%;
}

.new-product-action-icon.is-search::after {
    position: absolute;
    top: 13px;
    left: 14px;
    width: 9px;
    height: 3px;
    border-radius: 2px;
    background: currentColor;
    content: "";
    transform: rotate(45deg);
    transform-origin: left center;
}

.new-product-action-icon.is-eye {
    width: 25px;
    height: 16px;
    border: 3px solid currentColor;
    border-radius: 50% / 65%;
}

.new-product-action-icon.is-eye::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
    content: "";
    transform: translate(-50%, -50%);
}

.new-product-placeholder {
    display: grid;
    place-items: center;
    width: 72%;
    aspect-ratio: 4 / 3;
    border: 1px solid #e5e7e9;
    padding: 16px;
    color: var(--color-muted);
    background: linear-gradient(135deg, #fafafa 0%, #f0f1f2 100%);
    font-size: 13px;
    text-transform: uppercase;
}

.new-product-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
    padding: 10px 4px 0;
}

.new-product-body h3 {
    min-height: 38px;
    margin: 0;
    font-family: "Stratum No1", "Arial Narrow", Arial, sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.25;
    overflow-wrap: anywhere;
    text-transform: uppercase;
}

.new-product-body h3 a:hover,
.new-product-body h3 a:focus-visible {
    color: var(--color-red);
}

.new-product-body p {
    margin: auto 0 0;
    padding-top: 5px;
    color: #262626;
    font-family: "Stratum No1", "Arial Narrow", Arial, sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
}

.home-new-products-footer {
    display: flex;
    justify-content: center;
    padding-top: 28px;
}

.home-new-products-footer a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    border: 1px solid #343434;
    padding: 0 24px;
    font-family: "Stratum No1", "Arial Narrow", Arial, sans-serif;
    font-size: 13px;
    font-style: italic;
    line-height: 1;
    text-transform: uppercase;
    transform: skew(-15deg);
    transition: color .18s ease, background .18s ease;
}

.home-new-products-footer a:hover,
.home-new-products-footer a:focus-visible {
    color: #fff;
    background: #111;
}

.new-products-hero p {
    margin-top: 0;
    font-size: 12px;
    text-transform: uppercase;
}

.new-products-hero h1 {
    margin: 0 0 8px;
}

.new-products-listing {
    padding-bottom: 46px;
}

.home-new-products-grid--listing {
    gap: 38px 24px;
}

.new-products-empty {
    margin: 0;
    padding: 28px;
    border: 1px solid var(--color-line);
    text-align: center;
}

.promotions-listing {
    padding-bottom: 54px;
}

.promotions-toolbar {
    display: flex;
    justify-content: space-between;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--color-line);
}

.promotions-toolbar > p {
    margin: 0;
}

.promotions-toolbar form {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
}

.promotions-toolbar label {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.promotions-toolbar select,
.promotions-toolbar button {
    min-height: 40px;
    border: 1px solid #c9cdd0;
    padding: 0 12px;
    background: #fff;
}

.promotions-toolbar button {
    border-color: #181a1c;
    color: #fff;
    background: #181a1c;
    cursor: pointer;
    font-weight: 700;
    text-transform: uppercase;
}

.promotion-product-badge {
    min-width: 86px;
}

.promotion-prices {
    display: flex;
    min-height: 25px;
    align-items: baseline;
    justify-content: center;
    gap: 9px;
}

.promotion-prices del,
.promotion-quickview-price del {
    color: #666;
    font-size: .78em;
    font-weight: 400;
}

.promotion-prices strong,
.promotion-quickview-price strong {
    color: var(--color-red);
}

.promotion-quickview-price {
    display: flex;
    align-items: baseline;
    gap: 12px;
}

@media (max-width: 700px) {
    .promotions-toolbar,
    .promotions-toolbar form {
        align-items: stretch;
        flex-direction: column;
    }

    .promotions-toolbar form {
        gap: 7px;
    }
}

body.has-product-quickview {
    overflow: hidden;
}

.product-quickview {
    width: min(calc(100% - 28px), 1050px);
    max-width: none;
    max-height: min(88vh, 760px);
    max-height: min(88dvh, 760px);
    border: 0;
    padding: 0;
    color: #202225;
    background: transparent;
    overflow: visible;
}

.product-quickview::backdrop {
    background: rgba(8, 9, 10, .78);
    backdrop-filter: blur(3px);
}

.product-quickview-panel {
    position: relative;
    max-height: min(88vh, 760px);
    max-height: min(88dvh, 760px);
    padding: 46px 40px 38px;
    background: #fff;
    box-shadow: 0 26px 70px rgba(0, 0, 0, .4);
    overflow: auto;
}

.product-quickview-close {
    position: absolute;
    top: 8px;
    right: 10px;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 0;
    padding: 0;
    color: #303236;
    background: transparent;
    font-family: Arial, sans-serif;
    font-size: 38px;
    line-height: 1;
    cursor: pointer;
}

.product-quickview-close:hover,
.product-quickview-close:focus-visible {
    color: var(--color-red);
    outline: 2px solid currentColor;
    outline-offset: -4px;
}

.product-quickview-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
    align-items: center;
    gap: 44px;
}

.product-quickview-media {
    display: grid;
    place-items: center;
    min-height: 390px;
}

.product-quickview-media img {
    width: 100%;
    max-height: 430px;
    object-fit: contain;
}

.product-quickview-summary {
    min-width: 0;
}

.product-quickview-kicker {
    margin: 0 0 8px;
    color: var(--color-red);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.product-quickview-summary h2 {
    margin: 0;
    padding: 0 0 16px;
    border-bottom: 1px solid #dedede;
}

.product-quickview-price {
    margin: 24px 0 0;
    font-size: 26px;
}

.product-quickview-tax {
    margin: 1px 0 0;
    color: var(--color-muted);
    font-size: 12px;
}

.product-quickview-description {
    margin: 18px 0 0;
    color: #555d63;
    font-size: 14px;
    line-height: 1.55;
}

.product-quickview-meta {
    display: grid;
    gap: 6px;
    margin: 18px 0 0;
    font-size: 13px;
}

.product-quickview-meta div {
    display: grid;
    grid-template-columns: 100px minmax(0, 1fr);
    gap: 12px;
}

.product-quickview-meta dt {
    font-weight: 800;
}

.product-quickview-meta dd {
    margin: 0;
}

.product-quickview-form {
    display: flex;
    align-items: end;
    gap: 10px;
    margin-top: 22px;
}

.product-quickview-form label {
    display: grid;
    gap: 4px;
    color: #555d63;
    font-size: 12px;
}

.product-quickview-form input {
    width: 76px;
    height: 44px;
    border: 1px solid #ccd0d4;
    padding: 0 10px;
}

.product-quickview-form button,
.product-quickview-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 22px;
    cursor: pointer;
}

.product-quickview-form button {
    margin-top: 0;
}

.product-quickview-form button:hover,
.product-quickview-form button:focus-visible,
.product-quickview-primary:hover,
.product-quickview-primary:focus-visible {
    background: var(--color-red);
}

.product-quickview-more {
    display: inline-block;
    margin-top: 17px;
    border-bottom: 1px solid currentColor;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.product-quickview-more:hover,
.product-quickview-more:focus-visible {
    color: var(--color-red);
}

@media (hover: none), (pointer: coarse) {
    .new-product-actions {
        opacity: 1;
        transform: none;
        pointer-events: auto;
    }

    .new-product-media img,
    .product-card-media img {
        padding-bottom: 62px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .new-product-media img,
    .product-card-media img,
    .new-product-actions,
    .new-product-action,
    .new-product-action::after {
        transition: none;
    }
}

.back-top {
    position: fixed;
    right: 18px;
    bottom: 14px;
    z-index: 40;
    width: 42px;
    height: 42px;
    background: #cf2640;
    border: 0;
}

.back-top::before {
    content: "";
    position: absolute;
    left: 14px;
    top: 16px;
    width: 12px;
    height: 12px;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    transform: rotate(45deg);
}

.cookie-consent[hidden] {
    display: none;
}

.cookie-consent {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 80;
    padding: 16px;
    background: rgba(8, 10, 12, .78);
    backdrop-filter: blur(6px);
}

.cookie-consent-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    width: min(100%, 1080px);
    margin: 0 auto;
    padding: 18px;
    background: #fff;
    border: 1px solid var(--color-line);
    box-shadow: 0 18px 44px rgba(0, 0, 0, .28);
}

.cookie-consent h2 {
    margin: 0 0 6px;
    font-size: 18px;
    line-height: 1.2;
    color: #101214;
}

.cookie-consent p {
    margin: 0;
    color: #3d464d;
    line-height: 1.5;
}

.cookie-consent a {
    color: var(--color-red);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.cookie-consent-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.cookie-consent button {
    min-height: 42px;
    border: 1px solid #121212;
    padding: 0 16px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    cursor: pointer;
}

.cookie-consent-primary {
    background: var(--color-red);
    border-color: var(--color-red);
    color: #fff;
}

.cookie-consent-secondary {
    background: #fff;
    color: #111;
}


/* Ficha de producto legacy: una única plantilla para todo el catálogo. */
.page-product-legacy {
    background: #fff;
}

.product-legacy-breadcrumb {
    max-width: 1880px;
}

.product-legacy-breadcrumb .breadcrumbs {
    width: 100%;
    max-width: none;
    color: #40464a;
}

.product-legacy-breadcrumb .breadcrumbs ol {
    margin: 0;
}

.product-legacy-breadcrumb .breadcrumbs a {
    color: #30363a;
}

.product-legacy-breadcrumb .breadcrumbs li:not(:last-child)::after {
    color: #8d9397;
}

.product-legacy-layout {
    display: grid;
}

.product-legacy-gallery,
.product-legacy-summary {
    min-width: 0;
}

.product-legacy-gallery-heading h1 {
    max-width: 100%;
    min-width: 0;
    place-items: center;
    color: #414141;
}

.product-legacy-gallery-main {
    position: relative;
    min-height: 510px;
    aspect-ratio: 1 / 1;
    border: 0;
    color: #222;
    cursor: zoom-in;
}

.product-legacy-gallery-main img {
    max-width: 100%;
    max-height: 610px;
    padding: 10px;
}

.product-gallery-zoom {
    position: absolute;
    right: 18px;
    bottom: 18px;
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    background: rgba(25, 25, 25, .85);
    color: #fff;
    font-size: 18px;
}

.product-legacy-gallery .product-gallery-thumbs {
    display: flex;
    gap: 10px;
    margin: 16px 0 0;
    overflow-x: auto;
    padding: 2px 2px 8px;
}

.product-gallery-thumb {
    flex: 0 0 88px;
    border: 1px solid #ddd;
    background: #fff;
}

.product-gallery-thumb.is-current,
.product-gallery-thumb:focus-visible {
    border-color: var(--color-red);
    box-shadow: 0 0 0 1px var(--color-red);
}

.product-gallery-thumb img {
    width: 86px;
    height: 86px;
    object-fit: contain;
    padding: 7px;
}

.product-legacy-summary {
    align-self: start;
    padding-top: 6px;
}

.product-legacy-reference {
    margin: 16px 0 0;
    font-size: 14px;
}

.product-legacy-price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin: 0;
}

.product-legacy-price del {
    color: #666;
}


.product-legacy-price > span {
    flex-basis: 100%;
    color: #5f666b;
    font-size: 12px;
}

.product-rich-text > :first-child {
    margin-top: 0;
}

.product-rich-text > :last-child {
    margin-bottom: 0;
}

.product-legacy-buy-box {
    gap: 12px;
    margin: 24px 0 0;
    border: 0;
    border-top: 1px solid #e3e3e3;
    border-bottom: 1px solid #e3e3e3;
    padding: 22px 0;
}

.product-variant-groups {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    min-width: 0;
}

.product-variant-groups label,
.product-variant-fallback {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.product-legacy-page [hidden] {
    display: none !important;
}

.product-legacy-buy-box select,
.product-legacy-buy-box input {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    border-color: #bfc4c7;
    border-radius: 0;
}

.product-variant-status {
    min-height: 18px;
    margin: 0;
    color: var(--color-red);
    font-size: 13px;
    font-weight: 700;
}

.product-sequra-financing {
    position: relative;
    min-height: 84px;
    border: 1px solid #e1e1e1;
    border-radius: 8px;
    padding: 2px 8px;
    background: #fff;
}

.product-sequra-financing .sequra-promotion-widget {
    min-height: 78px;
}

.product-sequra-brand {
    position: absolute;
    z-index: 3;
    top: 5px;
    right: 7px;
    display: block;
    width: 54px;
    height: 24px;
    overflow: hidden;
    border-radius: 4px;
    background: #00c2a3;
    pointer-events: none;
}

.product-sequra-brand img {
    display: block;
    width: 54px;
    height: 38px;
    margin-top: -7px;
}

.product-sequra-fallback {
    position: absolute;
    inset: 0;
    display: grid;
    margin: 0;
    place-items: center;
    padding: 14px;
    text-align: center;
}

.product-sequra-fallback a {
    color: #232323;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: #00c2a3;
    text-underline-offset: 4px;
}

.product-sequra-financing.is-loaded .sequra-promotion-widget {
    position: relative;
    z-index: 1;
}


.product-legacy-buy-box .product-buy-actions button {
    background: #313131;
    letter-spacing: .04em;
}

.product-legacy-buy-box .product-buy-actions button:hover,
.product-legacy-buy-box .product-buy-actions button:focus-visible {
    background: var(--color-red);
}

.product-service-cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 20px;
}

.product-service-card {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    border: 1px solid #e1e1e1;
    color: #303030;
}

.product-service-card:hover,
.product-service-card:focus-visible {
    border-color: var(--color-red);
}

.product-service-card-icon {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    font-size: 18px;
    font-weight: 800;
}

.product-service-card strong,
.product-service-card small {
    display: block;
}

.product-service-card strong {
    font-size: 13px;
    line-height: 1.2;
}

.product-service-card small {
    margin-top: 4px;
    color: #666;
}

.product-legacy-content {
    gap: 34px;
    padding-top: 0;
    padding-bottom: 54px;
}

.product-legacy-content > section {
    border-top: 1px solid #ddd;
    padding-top: 26px;
}

.product-legacy-content > section > h2 {
    position: relative;
    margin: 0 0 24px;
}

.product-legacy-content > section > h2::after {
    position: absolute;
    left: 0;
    bottom: -10px;
    width: 70px;
    height: 2px;
    background: var(--color-red);
}

.product-rich-text {
    font-size: 16px;
    font-weight: 400;
    overflow-wrap: anywhere;
}

.product-rich-text p,
.product-rich-text div {
    margin: 0 0 14px;
}

.product-rich-text strong,
.product-rich-text b {
    color: #252a2e;
    font-weight: 700;
}

.product-rich-text h2,
.product-rich-text h3,
.product-rich-text h4 {
    position: static;
    margin: 26px 0 10px;
    color: #202529;
}

.product-rich-text h2 {
    font-size: 22px;
    font-weight: 700;
}

.product-rich-text h3 {
    font-size: 19px;
    font-weight: 700;
}

.product-rich-text h4 {
    font-size: 17px;
    font-weight: 700;
}

.product-rich-text h2::after,
.product-rich-text h3::after,
.product-rich-text h4::after {
    content: none;
    display: none;
}

.product-rich-text ul,
.product-rich-text ol {
    margin: 8px 0 18px;
    padding-left: 26px;
}

.product-rich-text li {
    margin: 0 0 7px;
    padding-left: 4px;
}

.product-rich-text p:has(+ ul),
.product-rich-text p:has(+ ol),
.product-rich-text div:has(+ ul),
.product-rich-text div:has(+ ol) {
    margin-top: 22px;
    margin-bottom: 8px;
    color: #202529;
    font-size: 18px;
    line-height: 1.3;
}

.product-legacy-carousel {
    min-width: 0;
    margin-top: 0;
    border-top: 1px solid #ececec;
}


.product-legacy-carousel-heading h2 {
    margin: 0;
    color: #252525;
}

.product-legacy-carousel-slider {
    --new-products-visible: 5;
    min-width: 0;
    max-width: 100%;
}

.product-legacy-carousel-slider .home-new-products-viewport {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
}

.product-legacy-carousel-track {
    --new-products-gap: 15px;
}

.product-legacy-carousel-track .product-card {
    flex: 0 0 212px;
}

.product-legacy-carousel-track .product-card-media-shell,
.product-legacy-carousel-track .product-card-media {
    aspect-ratio: auto;
    border: 0;
}

.product-legacy-carousel-track .product-card-media img {
    margin: 0 auto;
}

.product-legacy-carousel-track .product-card-body {
    padding-inline: 0;
}

.product-legacy-carousel-track .product-card h2 {
    margin: 0;
}

.product-legacy-carousel-track .product-reference {
    display: none;
}

.product-legacy-carousel-track .product-price {
    margin-top: 0;
}

.product-gallery-dialog {
    width: min(94vw, 1120px);
    height: min(92vh, 900px);
    height: min(92dvh, 900px);
    max-width: calc(100vw - 24px);
    max-height: calc(100vh - 24px);
    max-height: calc(100dvh - 24px);
    border: 0;
    padding: 44px;
    background: #fff;
    overflow: hidden;
}

.product-gallery-dialog::backdrop {
    background: rgba(0, 0, 0, .82);
}

.product-gallery-dialog img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.product-gallery-dialog-close {
    position: absolute;
    top: 8px;
    right: 12px;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 0;
    padding: 0;
    background: transparent;
    color: #222;
    font-size: 34px;
    cursor: pointer;
}

@media (max-width: 1100px) {

    .product-service-cards {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 820px) {


    .product-legacy-gallery-main {
        min-height: 330px;
    }


    .product-legacy-carousel-slider {
        --new-products-visible: 2;
    }

    .product-legacy-carousel-track .product-card {
        flex-basis: calc((100% - var(--new-products-gap)) / 2);
    }
}

@media (max-width: 560px) {
    .product-variant-groups {
        grid-template-columns: 1fr;
    }

    .product-legacy-carousel-slider {
        --new-products-visible: 1;
        padding-inline: 44px;
    }

    .product-legacy-carousel-track .product-card {
        flex-basis: 100%;
    }


    .product-legacy-gallery-main {
        min-height: 280px;
    }

    .product-gallery-thumb {
        flex-basis: 72px;
    }

    .product-gallery-thumb img {
        width: 70px;
        height: 70px;
    }

    .product-gallery-dialog {
        padding: 38px 12px 12px;
    }
}




.vehicle-brand-legacy-page {
    padding: 27px 0 56px;
    color: #252525;
}

.vehicle-brand-legacy-breadcrumb .breadcrumbs {
    max-width: none;
    color: #414141;
    font-size: 16px;
    line-height: 20px;
}

.vehicle-brand-legacy-breadcrumb .breadcrumbs ol {
    margin: 0;
}

.vehicle-brand-legacy-breadcrumb .breadcrumbs li:not(:last-child)::after {
    content: "/";
    color: #777;
}

.vehicle-brand-legacy-breadcrumb .breadcrumbs a {
    color: #414141;
}

.vehicle-brand-legacy-layout {
    display: grid;
    align-items: start;
    max-width: none;
    margin: 0 auto;
}

.vehicle-brand-legacy-sidebar,
.vehicle-brand-legacy-content {
    min-width: 0;
}

.vehicle-brand-legacy-sidebar-panel {
    overflow: hidden;
}

.vehicle-brand-legacy-sidebar h2 {
    margin: 0;
    border-bottom: 1px solid #c7c7c7;
    color: #252525;
}


.vehicle-brand-legacy-sidebar ul,
.vehicle-brand-legacy-grid {
    margin: 0;
    padding: 0;
    list-style: none;
}

.vehicle-brand-legacy-sidebar a {
    color: #252525;
}

.vehicle-brand-legacy-sidebar a:hover,
.vehicle-brand-legacy-sidebar a:focus-visible,
.vehicle-brand-legacy-card a:hover .vehicle-brand-legacy-card-title,
.vehicle-brand-legacy-card a:focus-visible .vehicle-brand-legacy-card-title {
    color: var(--color-red);
}


.vehicle-brand-legacy-heading img {
    display: block;
    object-fit: contain;
}

.vehicle-brand-legacy-heading h1 {
    color: #252525;
}

.vehicle-brand-legacy-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.vehicle-brand-legacy-card {
    min-width: 0;
}

.vehicle-brand-legacy-card a {
    display: grid;
    color: #252525;
    outline-offset: 3px;
}

.vehicle-brand-legacy-card-media {
    display: grid;
    place-items: center;
    min-width: 0;
    overflow: hidden;
}

.vehicle-brand-legacy-card-media img {
    max-width: 100%;
}

.vehicle-brand-legacy-card-placeholder {
    color: #777;
    text-align: center;
}

.vehicle-brand-legacy-card-title {
    display: block;
    min-height: 18px;
    text-align: center;
    transition: color .18s ease;
}

.vehicle-brand-legacy-products {
    padding: 42px 15px 0;
}

.vehicle-category-legacy-heading {
    min-height: 43px;
}

.vehicle-category-legacy-products {
    padding: 0;
}

.vehicle-category-view-switch {
    display: flex;
    justify-content: flex-end;
    gap: 4px;
    margin: 0 0 12px;
}

.vehicle-category-view-switch a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 10px;
    border: 1px solid #c7c7c7;
    color: #414141;
}

.vehicle-category-view-switch a[aria-current="page"],
.vehicle-category-view-switch a:hover,
.vehicle-category-view-switch a:focus-visible {
    border-color: var(--color-red);
    color: var(--color-red);
}

.vehicle-category-products-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-block: 1px solid #ededed;
}

.vehicle-category-products-toolbar p,
.vehicle-category-products-showing {
    margin: 0;
    color: #414141;
    font-size: 15px;
}

.vehicle-category-products-toolbar form {
    display: flex;
    align-items: center;
    gap: 8px;
}

.vehicle-category-products-toolbar select,
.vehicle-category-products-toolbar button {
    border: 1px solid #c7c7c7;
    padding: 6px 10px;
    background: #fff;
    color: #252525;
    font: inherit;
}

.vehicle-category-products-toolbar button {
    border-color: #252525;
    background: #252525;
    color: #fff;
    cursor: pointer;
    text-transform: uppercase;
}

.vehicle-category-products-showing {
    padding: 12px 0 16px;
    text-align: right;
}

.vehicle-category-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.vehicle-category-product-grid--list {
    grid-template-columns: minmax(0, 1fr);
}

.vehicle-category-product-grid--list .product-card {
    display: grid;
    grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
    gap: 20px;
}

.vehicle-category-product-grid--list .product-card-body {
    align-self: center;
    text-align: left;
}

.vehicle-category-product-grid--list .product-card h2 {
    text-align: left;
}

.vehicle-category-legacy-empty {
    padding: 24px 0;
    color: #555;
}

@media (max-width: 1199px) {
    .vehicle-brand-legacy-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .vehicle-category-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .vehicle-category-product-grid--list {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 767px) {
    .vehicle-brand-legacy-page {
        padding-top: 16px;
    }


    .vehicle-brand-legacy-sidebar {
        display: none;
    }


    .vehicle-category-products-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

}

@media (max-width: 575px) {
    .vehicle-brand-legacy-grid {
        grid-template-columns: minmax(0, 1fr);
    }


    .vehicle-category-product-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .vehicle-category-product-grid--list .product-card {
        grid-template-columns: minmax(0, 1fr);
    }
}

.vehicle-root-page {
    padding: 15px 0 56px;
}

.vehicle-root-breadcrumb .breadcrumbs {
    max-width: none;
    color: #252525;
}

.vehicle-root-breadcrumb .breadcrumbs ol {
    margin: 0;
}

.vehicle-root-breadcrumb .breadcrumbs li:not(:last-child)::after {
    content: "/";
    color: #777;
}

.vehicle-root-breadcrumb .breadcrumbs a {
    color: #252525;
}

.vehicle-root-layout {
    display: grid;
    max-width: none;
    margin: 0 auto;
}

.vehicle-root-sidebar {
    align-self: start;
}

.vehicle-root-sidebar h2 {
    margin: 0;
    border-bottom: 1px solid #c7c7c7;
    color: #252525;
}


.vehicle-root-sidebar ul {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.vehicle-root-sidebar a {
    color: #252525;
}

.vehicle-root-sidebar a:hover,
.vehicle-root-sidebar a:focus-visible,
.vehicle-root-card a:hover .vehicle-root-card-title,
.vehicle-root-card a:focus-visible .vehicle-root-card-title {
    color: var(--color-red);
}

.vehicle-root-content {
    min-width: 0;
}

.vehicle-root-content h1 {
    grid-template-columns: minmax(24px, 1fr) auto minmax(24px, 1fr);
    align-items: center;
    gap: 18px;
    color: #252525;
}

.vehicle-root-content h1::before,
.vehicle-root-content h1::after {
    height: 1px;
    background: #e5e5e5;
}

.vehicle-root-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 20px;
    row-gap: 40px;
}

.vehicle-root-card {
    min-width: 0;
}

.vehicle-root-card a {
    display: grid;
    color: #252525;
    outline-offset: 4px;
}

.vehicle-root-card-media {
    display: grid;
    place-items: center;
    min-width: 0;
    overflow: hidden;
}

.vehicle-root-card-media img {
    max-width: 250px;
    transition: transform .18s ease;
}

.vehicle-root-card a:hover img,
.vehicle-root-card a:focus-visible img {
    transform: scale(1.025);
}

.vehicle-root-card-placeholder {
    color: #777;
    text-align: center;
}

.vehicle-root-card-title {
    display: block;
    min-height: 22px;
    text-align: center;
    transition: color .18s ease;
}

@media (max-width: 1199px) {
    .vehicle-root-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {

    .vehicle-root-sidebar nav {
        max-height: 230px;
        overflow: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }


    .vehicle-root-sidebar ul {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        column-gap: 18px;
    }

}

@media (max-width: 700px) {
    .vehicle-root-sidebar ul,
    .vehicle-root-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 460px) {
    .vehicle-root-sidebar ul,
    .vehicle-root-grid {
        grid-template-columns: minmax(0, 1fr);
    }

}


.breadcrumbs {
    padding: 0;
}

.breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    margin: 0 0 28px;
    padding: 0;
}

.breadcrumbs li:not(:last-child)::after {
    content: ">";
    margin-left: 8px;
    color: #818a91;
}


.catalog-kicker {
    margin: 0 0 10px;
    text-transform: uppercase;
}

.product-summary h1,
.not-found-page h1 {
    margin: 0;
    font-size: 42px;
    line-height: 1.08;
    text-transform: uppercase;
}

.vehicle-finder-band {
    background: #fff;
    border-bottom: 1px solid var(--color-line);
}

.vehicle-selector {
    position: relative;
    z-index: 10;
    border-top: 1px solid #dfe4e7;
    border-bottom: 2px solid var(--color-red);
    background: #f2f4f5;
}

.vehicle-selector-layout {
    display: block;
    padding-top: 12px;
    padding-bottom: 12px;
}

.vehicle-selector-form {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 6px;
    min-width: 0;
    border: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
}

.vehicle-selector-levels {
    display: contents;
}

.vehicle-selector-field {
    display: block;
    flex: 1 1 0;
    min-width: 0;
}

.vehicle-search-combobox {
    position: relative;
    min-width: 0;
}

.vehicle-search-combobox-input {
    width: 100%;
    min-width: 0;
    min-height: 40px;
    border: 1px solid #bfc9cf;
    border-radius: 0;
    padding: 0 40px 0 12px;
    color: #20262a;
    background: #fff;
}

.vehicle-search-combobox::after {
    position: absolute;
    top: 17px;
    right: 15px;
    width: 8px;
    height: 8px;
    border-right: 2px solid #566169;
    border-bottom: 2px solid #566169;
    content: '';
    pointer-events: none;
    transform: rotate(45deg);
}

.vehicle-search-combobox.is-open::after {
    top: 12px;
    right: 14px;
    width: 11px;
    height: 11px;
    border: 2px solid #566169;
    border-radius: 50%;
    transform: none;
}

.vehicle-search-combobox.is-open::before {
    position: absolute;
    z-index: 1;
    top: 25px;
    right: 10px;
    width: 7px;
    height: 2px;
    background: #566169;
    content: '';
    pointer-events: none;
    transform: rotate(45deg);
}

.vehicle-search-combobox-input:disabled {
    color: #7b858c;
    background: #e7eaec;
    cursor: not-allowed;
}

.vehicle-search-combobox-popup {
    position: absolute;
    z-index: 40;
    top: calc(100% + 3px);
    right: 0;
    left: 0;
    max-height: 292px;
    overflow-x: hidden;
    overflow-y: auto;
    border: 1px solid #bfc9cf;
    background: #fff;
    box-shadow: 0 12px 24px rgb(18 27 32 / 18%);
}

.vehicle-search-combobox-popup[hidden] {
    display: none;
}

.vehicle-search-combobox-option,
.vehicle-search-combobox-empty {
    min-height: 44px;
    margin: 0;
    padding: 11px 12px;
    border-bottom: 1px solid #e1e5e7;
    line-height: 1.35;
}

.vehicle-search-combobox-option {
    cursor: pointer;
    overflow-wrap: anywhere;
}

.vehicle-search-combobox-option:last-child {
    border-bottom: 0;
}

.vehicle-search-combobox-option:hover,
.vehicle-search-combobox-option.is-active,
.vehicle-search-combobox-option[aria-selected="true"] {
    color: #fff;
    background: var(--color-red);
}

.vehicle-search-combobox-empty {
    color: #66727a;
}

.vehicle-selector-field select,
.vehicle-selector-form > button {
    width: 100%;
    min-width: 0;
    min-height: 40px;
    border: 1px solid #bfc9cf;
    border-radius: 0;
    padding: 0 12px;
    background: #fff;
}

.vehicle-selector-field select:disabled {
    color: #7b858c;
    background: #e7eaec;
    cursor: not-allowed;
}

.vehicle-selector-form > button {
    flex: 0 0 132px;
    min-width: 0;
    border-color: var(--color-red);
    color: #fff;
    background: var(--color-red);
    font-weight: 800;
    text-transform: uppercase;
    cursor: pointer;
}

.vehicle-selector-form > button:hover,
.vehicle-selector-form > button:focus-visible,
.header-search-form button:hover,
.header-search-form button:focus-visible {
    border-color: #111;
    background: #111;
}

.vehicle-finder {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) minmax(320px, 560px);
    align-items: center;
    gap: 24px;
    padding: 24px 0;
}

.vehicle-finder-copy p,
.vehicle-selected p {
    margin: 0 0 6px;
    color: var(--color-red);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.vehicle-finder-copy h2 {
    margin: 0;
    font-size: 28px;
    line-height: 1.1;
    text-transform: uppercase;
}

.vehicle-search-form {
    display: grid;
    gap: 8px;
}

.vehicle-search-form label {
    color: #38444c;
    font-size: 13px;
    font-weight: 800;
}

.vehicle-search-form > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 118px;
    border: 1px solid #c9d4db;
    background: #fff;
}

.vehicle-search-form input {
    min-width: 0;
    border: 0;
    padding: 0 14px;
    min-height: 46px;
}

.vehicle-search-form button {
    border: 0;
    background: var(--color-red);
    color: #fff;
    font-weight: 800;
    text-transform: uppercase;
}

.vehicle-search-results,
.vehicle-selected {
    padding-top: 28px;
}

.vehicle-result-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 14px;
}

.vehicle-result-card a {
    display: grid;
    gap: 7px;
    min-height: 118px;
    border: 1px solid #d9e1e6;
    background: #fff;
    padding: 18px;
    color: #111;
}

.vehicle-result-card span {
    color: var(--color-red);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.vehicle-result-card strong {
    font-size: 18px;
    line-height: 1.2;
    text-transform: uppercase;
}

.vehicle-result-card em {
    color: #65737d;
    font-style: normal;
    font-size: 13px;
}

.vehicle-empty {
    border: 1px solid #d9e1e6;
    background: #fff;
    padding: 18px;
}

.vehicle-empty p {
    margin: 0;
    color: #4b5962;
}

.vehicle-selected {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
}

.vehicle-selected strong {
    display: block;
    font-size: 24px;
    line-height: 1.15;
    text-transform: uppercase;
}

.vehicle-selected-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
}

.vehicle-selected-actions .button-link {
    background: var(--color-red);
}

.vehicle-change-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    border: 1px solid #c9d4db;
    padding: 0 16px;
    color: #111;
    font-weight: 800;
    text-transform: uppercase;
    font-size: 12px;
}


.content-page-legacy {
    padding: 30px 0 25px;
    color: #414141;
}

.content-legacy-breadcrumb .breadcrumbs {
    max-width: none;
    color: #414141;
    font-size: 16px;
    line-height: 20px;
}

.content-legacy-breadcrumb .breadcrumbs ol {
    gap: 10px;
    margin: 0;
}

.content-legacy-breadcrumb .breadcrumbs li:not(:last-child)::after {
    margin-left: 10px;
    color: #777;
    content: "/";
}

.content-legacy-breadcrumb .breadcrumbs a {
    color: #414141;
}

.content-legacy-header {
    max-width: none;
    min-height: 22px;
}

.content-legacy-header h1 {
    margin: 0;
    color: #252525;
}

.content-legacy-header .button-link {
    margin-top: 18px;
}

.content-sections-legacy {
    display: block;
    max-width: none;
}

.content-sections-legacy .content-section {
    border: 0;
    border-radius: 0;
    padding: 0;
    background: #fff;
}


.content-sections-legacy .content-section h2,
.content-sections-legacy .content-section .content-section-heading {
    margin: 0 0 10px;
    color: #252525;
    letter-spacing: .01em;
    line-height: 1.35;
    text-transform: uppercase;
}

.content-sections-legacy .content-section > p {
    margin: 0;
    color: #414141;
}

.content-sections-legacy .content-section > p + p {
    margin-top: 16px;
}

.content-feature-list {
    margin: 12px 0 0 20px;
    padding: 0;
    color: #414141;
}

.content-feature-list li + li {
    margin-top: 6px;
}

.content-feature-list + p {
    margin-top: 16px !important;
}

.content-note {
    margin-top: 18px !important;
    border-left: 3px solid var(--color-red);
    padding: 10px 14px;
    color: #414141 !important;
    background: #f8f8f8;
    font-size: 14px !important;
}

@media (max-width: 700px) {
    .content-feature-list {
        grid-template-columns: 1fr;
    }
}

.content-location-grid {
    margin-top: 18px;
}

.content-location-card {
    background: #fff;
    box-shadow: none;
}


.content-location-region {
    margin: 0;
    color: #414141;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
}

.content-location-region::before {
    content: "·";
}

.content-location-card h3 {
    margin: 2px 0 0;
    font-size: 16px;
}

.content-location-services {
    min-height: 0;
    margin: 2px 0 0;
    color: #414141;
    font-size: 16px;
}

.content-location-address {
    display: grid;
    gap: 2px;
    color: #414141;
    font-size: 16px;
    font-style: normal;
}

.content-location-phones {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 12px;
    margin-top: 4px;
}

.content-location-phones a {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    color: #414141;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.content-location-phones a:hover,
.content-location-phones a:focus-visible {
    color: var(--color-red);
}

.content-location-contact {
    margin: 2px 0 0;
    color: #414141;
    font-weight: 700;
}

.content-table-wrap {
    margin: 24px auto 0;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-gutter: stable;
    -webkit-overflow-scrolling: touch;
}

.content-table {
    width: 100%;
    min-width: 351px;
    table-layout: fixed;
    border-collapse: collapse;
    background: #fff;
}

.content-sections-legacy .content-table-label {
    margin-top: 16px;
}

.content-table th,
.content-table td {
    font-weight: 400;
    text-align: left;
    vertical-align: top;
}

.content-table tr > :first-child {
    width: 240px;
}

.content-table tr > :last-child {
    width: 109px;
}

.content-table thead th {
    color: #414141;
    font-size: 16px;
}

.content-table tbody th {
    color: #30353a;
}

.content-table tbody td {
    color: #111;
    white-space: normal;
}

.content-table tbody tr:last-child th,
.content-table tbody tr:last-child td {
    border-bottom: 0;
}

.content-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    margin-top: 12px;
}

.content-links a {
    display: inline-flex;
    max-width: 100%;
    min-height: 44px;
    align-items: center;
    border: 0;
    padding: 0;
    color: #414141;
    background: transparent;
    font-size: 16px;
    font-weight: 700;
    overflow-wrap: anywhere;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color .18s ease;
}

.content-links a:hover,
.content-links a:focus-visible {
    color: var(--color-red);
}

@media (max-width: 620px) {
    .content-page-legacy {
        padding-top: 16px;
    }



}

.content-step-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.content-step {
    min-width: 0;
    border: 1px solid var(--color-line);
    border-radius: 6px;
    padding: 18px;
}

.content-step span {
    display: inline-grid;
    place-items: center;
    width: 32px;
    height: 32px;
    margin-bottom: 14px;
    background: var(--color-red);
    color: #fff;
    font-weight: 700;
}

.content-step h3,
.content-faq h3 {
    margin: 0 0 8px;
    font-size: 18px;
}

.content-step p,
.content-faq p {
    margin: 0;
    color: #4f555b;
}

.content-faq {
    display: grid;
    gap: 16px;
}

.content-faq article {
    border-top: 1px solid var(--color-line);
    padding-top: 16px;
}


.sequra-financing-page {
    padding: 30px 0 0;
}


.sequra-financing-header h1 {
    margin: 22px 0 0;
    color: #262a2e;
    font-size: 34px;
    line-height: 1.15;
}

.sequra-financing-frame-wrap {
    overflow: hidden;
}

.sequra-financing-frame {
    display: block;
    width: 100%;
    height: 5150px;
    border: 0;
    background: #fff;
}

@media (max-width: 700px) {
    .sequra-financing-page {
        padding-top: 22px;
    }

    .sequra-financing-header h1 {
        font-size: 29px;
    }
}


.page-blog #main-content,
.page-blog-post #main-content {
    padding: 10px 0 44px;
    background-repeat: repeat;
    background-position: center top;
    background-attachment: fixed;
}


.search-hero {
    display: grid;
    align-items: center;
    padding: 38px 0;
}

.search-hero-copy {
    min-width: 0;
}

.search-kicker {
    margin: 0 0 10px;
    text-transform: uppercase;
}

.search-hero h1 {
    max-width: 920px;
    margin: 0;
}

.search-hero-copy > p:not(.search-kicker) {
    max-width: 740px;
    margin: 18px 0 0;
    color: #d7dde1;
    font-size: 18px;
    overflow-wrap: break-word;
}

.search-results {
    display: grid;
    gap: 38px;
    padding: 38px 0 52px;
}

.search-form {
    display: grid;
    gap: 10px;
    background: #fff;
}


.search-form-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 10px;
}

.search-form-row input {
    width: 100%;
    min-height: 48px;
    border: 1px solid #9ba5ad;
    padding: 0 14px;
    font: inherit;
}

.search-form-row button,
.search-form-row a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    border: 1px solid #111;
    padding: 0 20px;
    font: inherit;
    font-weight: 800;
    text-transform: uppercase;
}

.search-form-row button {
    cursor: pointer;
}

.search-form-row a {
    background: #fff;
    color: #111;
}

.search-form > p {
    margin: 0;
    color: #4f555b;
    font-size: 14px;
}

.search-empty {
    background: #fff;
}

.search-empty h2 {
    margin: 0 0 10px;
    font-size: 24px;
}

.search-empty p {
    margin: 0;
    color: #4f555b;
}

@media (max-width: 680px) {
    .search-form-row {
        grid-template-columns: 1fr;
    }
}

.blog-featured-placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    padding: 10%;
    background:
        linear-gradient(135deg, rgba(237, 28, 36, .2), transparent 42%),
        radial-gradient(circle at 80% 20%, rgba(255, 255, 255, .08), transparent 30%),
        #111;
}

.blog-featured-placeholder img {
    width: min(82%, 520px);
    height: auto;
    object-fit: contain;
}

.blog-legacy-index {
    margin: 0 auto;
}

.blog-index-layout {
    display: grid;
    margin: 0 auto;
    padding: 50px 0 64px;
}

.blog-index-content {
    min-width: 0;
}


.blog-index-heading h2 {
    margin: 0;
    color: #111;
}

.blog-legacy-grid {
    display: grid;
}

.blog-legacy-card {
    min-width: 0;
}

.blog-legacy-card-media {
    position: relative;
    display: grid;
    width: 100%;
    aspect-ratio: 4 / 3;
    place-items: center;
    overflow: hidden;
    background: #111;
    color: #fff;
}

.blog-legacy-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .25s ease;
}

.blog-legacy-card-media:hover img,
.blog-legacy-card-media:focus-visible img {
    transform: scale(1.035);
}

.blog-legacy-card-arrow,
.blog-related-media > span {
    position: absolute;
    right: 14px;
    bottom: 14px;
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 50%;
    background: rgba(0, 0, 0, .78);
    color: #fff;
    font-size: 25px;
    line-height: 1;
}

.blog-legacy-card-body {
    display: grid;
    align-content: start;
}

.blog-legacy-card h3 {
    margin: 0 0 11px;
    font-size: 17px;
    font-weight: 600;
}

.blog-legacy-card h3 a,
.blog-related-card h3 a {
    color: #111;
}

.blog-legacy-card-excerpt {
    display: -webkit-box;
    margin: 0;
    overflow: hidden;
    color: #555;
    font-size: 14px;
    line-height: 1.55;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.blog-legacy-card-date {
    margin: auto 0 0;
    padding-top: 15px;
    color: #777;
    font-size: 12px;
}

.blog-index-pagination {
    margin-top: 34px;
}

.blog-sidebar {
    min-width: 0;
}


.blog-sidebar-widget h2 {
    margin: 0 0 20px;
    color: #111;
    font-weight: 700;
}

.blog-sidebar-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 46px;
}

.blog-sidebar-search input {
    width: 100%;
    min-height: 46px;
    border: 1px solid #d6d6d6;
    border-right: 0;
    padding: 0 13px;
    font: inherit;
}

.blog-sidebar-search button {
    display: grid;
    min-height: 46px;
    border: 0;
    place-items: center;
    background: #111;
    color: #fff;
    cursor: pointer;
}

.blog-sidebar-search .header-search-icon {
    width: 17px;
    height: 17px;
}

.blog-sidebar-videos {
    display: grid;
    gap: 14px;
}

.blog-sidebar-video {
    position: relative;
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #111;
}

.blog-sidebar-video img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: filter .2s ease, transform .2s ease;
}

.blog-sidebar-video:hover img,
.blog-sidebar-video:focus-visible img {
    filter: brightness(.72);
    transform: scale(1.025);
}

.blog-sidebar-video-play {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 58px;
    height: 42px;
    border-radius: 10px;
    background: rgba(226, 26, 36, .94);
    transform: translate(-50%, -50%);
}

.blog-sidebar-video-play::after {
    position: absolute;
    top: 50%;
    left: 52%;
    width: 0;
    height: 0;
    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;
    border-left: 15px solid #fff;
    content: "";
    transform: translate(-50%, -50%);
}

.blog-youtube-subscribe {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    margin-top: 15px;
    padding: 0 18px;
    background: #e21a24;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.blog-empty {
    background: #fff;
    border: 1px solid #dfe4e8;
    border-radius: 6px;
    padding: 28px;
}

.blog-empty p {
    margin: 0;
    color: #4f555b;
}

.blog-post-page {
    width: min(calc(100% - 32px), 1230px);
    margin: 0 auto;
    background: #fff;
}

.blog-post-navigation-link:focus-visible,
.blog-post-byline a:focus-visible {
    outline: 2px solid var(--color-red);
    outline-offset: 4px;
}

.blog-post-title-band {
    display: flex;
    align-items: center;
    min-height: 104px;
    border-bottom: 1px solid #f51618;
    padding: 24px 45px;
    background: #000;
    color: #fff;
}

.blog-post-title-band h1 {
    margin: 0;
}

.blog-post-main {
    background: #fff;
}

.blog-post-navigation {
    display: flex;
    align-items: stretch;
    min-height: 42px;
    border: 1px solid #f51618;
    border-radius: 4px;
}

.blog-post-navigation-link {
    display: flex;
    flex: 0 1 50%;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 9px 18px;
    color: #111;
    overflow-wrap: anywhere;
}

.blog-post-navigation-link--older {
    justify-content: flex-end;
    margin-left: auto;
    text-align: right;
}

.blog-post-navigation-link:hover {
    background: #fff3f3;
    color: #000;
}

.blog-post-navigation-link > span[aria-hidden="true"] {
    flex: 0 0 auto;
    color: #111;
    font-size: 24px;
    line-height: 1;
}

.blog-post-byline {
    margin: 25px 0 20px;
    color: #111;
    font-size: 14px;
}

.blog-post-byline a {
    border-bottom: 1px dotted #f51618;
    color: #111;
}

.blog-post-divider {
    height: 1px;
    border: 0;
    margin: 0 0 20px;
    background: #f51618;
}

.blog-post-cover {
    margin: 0;
    background: #fff;
}

.blog-post-cover img {
    width: 100%;
    height: auto;
}

.blog-post-cover.is-placeholder {
    aspect-ratio: 16 / 9;
}

.blog-post-cover.is-placeholder .blog-featured-placeholder img {
    width: min(72%, 620px);
    height: auto;
    object-fit: contain;
}

.blog-post-content {
    margin-top: 28px;
    background: transparent;
    overflow-wrap: anywhere;
}

.blog-post-content > *:first-child {
    margin-top: 0;
}

.blog-post-content p,
.blog-post-content li {
    color: #3f454b;
    font-size: 17px;
}

.blog-post-content h2,
.blog-post-content h3,
.blog-post-content h4 {
    margin: 30px 0 12px;
}

.blog-post-content img {
    max-width: 100%;
    height: auto;
    border: 0;
}

.blog-post-content a {
    color: var(--color-red);
    font-weight: 700;
}

.blog-post-about {
    margin-top: 44px;
    border-top: 1px solid #e11b22;
    border-bottom: 1px solid #e5e5e5;
}

.blog-post-about h2,
.blog-related > h2 {
    margin: 0 0 14px;
    color: #111;
    font-size: 20px;
    font-weight: 600;
}

.blog-post-about p {
    margin: 0 0 8px;
    color: #444;
    font-size: 15px;
    line-height: 1.6;
}

.blog-post-about a {
    border-bottom: 1px dotted #e11b22;
    color: #111;
}

.blog-related {
    margin-top: 34px;
}

.blog-related-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.blog-related-card {
    min-width: 0;
}

.blog-related-media {
    position: relative;
    display: grid;
    aspect-ratio: 4 / 3;
    place-items: center;
    overflow: hidden;
    background: #111;
}

.blog-related-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .22s ease;
}

.blog-related-media:hover img,
.blog-related-media:focus-visible img {
    transform: scale(1.035);
}

.blog-related-card h3 {
    margin: 12px 0 0;
    font-weight: 600;
}

.blog-post-content .blog-text-size-small {
    font-size: .85em;
}

.blog-post-content .blog-text-size-large {
    font-size: 1.25em;
}

.blog-post-content .blog-text-size-xlarge {
    font-size: 1.55em;
}

.blog-post-content .blog-align-left {
    text-align: left;
}

.blog-post-content .blog-align-center {
    text-align: center;
}

.blog-post-content .blog-align-right {
    text-align: right;
}

.blog-post-content figure.blog-image {
    max-width: 100%;
    margin-top: 26px;
    margin-bottom: 26px;
}

.blog-post-content figure.blog-image img {
    display: block;
    width: 100%;
    height: auto;
}

.blog-post-content figure.blog-image figcaption {
    margin-top: 8px;
    color: #6b7278;
    font-size: 14px;
    line-height: 1.45;
    text-align: center;
}

.blog-post-content figure.blog-video {
    width: 100%;
    max-width: 960px;
    aspect-ratio: 16 / 9;
    margin: 30px auto;
    background: #111;
}

.blog-post-content figure.blog-video iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

.blog-post-content .blog-image-size-25 {
    width: 25%;
}

.blog-post-content .blog-image-size-50 {
    width: 50%;
}

.blog-post-content .blog-image-size-75 {
    width: 75%;
}

.blog-post-content .blog-image-size-100 {
    width: 100%;
}

.blog-post-content .blog-image-align-left {
    margin-right: auto;
    margin-left: 0;
}

.blog-post-content .blog-image-align-center {
    margin-right: auto;
    margin-left: auto;
}

.blog-post-content .blog-image-align-right {
    margin-right: 0;
    margin-left: auto;
}

.blog-post-content blockquote {
    border-left: 4px solid var(--color-red);
    margin: 26px 0;
    padding: 10px 20px;
    color: #555c62;
}

.blog-post-content pre {
    overflow-x: auto;
    border-radius: 5px;
    padding: 18px;
    background: #171a1d;
    color: #f7f7f7;
    line-height: 1.55;
}

.blog-post-content hr {
    height: 1px;
    border: 0;
    margin: 30px 0;
    background: var(--color-line);
}

.blog-post-content .blog-rich-table {
    width: 100%;
    margin: 24px 0;
    border-collapse: collapse;
}

.blog-post-content .blog-rich-table th,
.blog-post-content .blog-rich-table td {
    border: 1px solid var(--color-line);
    padding: 10px 12px;
    color: #3f454b;
    text-align: left;
}

.blog-post-content .blog-rich-table th {
    background: #f2f4f5;
    font-weight: 800;
}

.category-section,
.product-section {
    padding: 38px 0 30px;
}

.section-heading {
    display: flex;
    justify-content: space-between;
}

.section-heading p {
    margin: 0 0 5px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.section-heading h2,
.product-content h2 {
    margin: 0;
    font-size: 25px;
}

.section-heading span,
.product-reference {
    color: var(--color-muted);
    font-size: 13px;
}

.category-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 232px));
    justify-content: start;
    gap: 18px;
}

.category-card,
.product-card {
    min-width: 0;
}

.product-card {
    display: flex;
    flex-direction: column;
}

.product-grid > .product-card:nth-child(n + 5),
.category-grid > .category-card:nth-child(n + 5),
.vehicle-brand-legacy-grid > .vehicle-brand-legacy-card:nth-child(n + 7),
.vehicle-root-grid > .vehicle-root-card:nth-child(n + 9) {
    content-visibility: auto;
    contain-intrinsic-size: 420px;
}

.category-card {
    overflow: hidden;
}

.category-card-link {
    display: grid;
    min-height: 252px;
}

.category-card-media,
.product-card-media {
    display: grid;
    place-items: center;
    overflow: hidden;
}

.category-card-media {
    aspect-ratio: 16 / 11;
}

.product-card-media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.product-card-media-shell {
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

.product-card-badges {
    position: absolute;
    top: 8px;
    right: 8px;
    left: 8px;
    z-index: 3;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 6px;
    pointer-events: none;
}

.product-card-badge {
    display: inline-block;
    min-width: 62px;
    padding: 6px 10px 5px;
    color: #fff;
    box-shadow: 0 5px 8px rgba(0, 0, 0, .14);
    text-align: center;
    transform: skew(-18deg);
}


.category-card-media img,
.product-card-media img {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: contain;
    padding: 14px;
    transition: transform .18s ease;
}

.product-card-media img {
    position: absolute;
    inset: 0;
}

.category-card:hover img,
.product-card:hover img,
.product-card:focus-within img {
    transform: scale(1.035);
}

.product-card:hover .product-card-media img,
.product-card:focus-within .product-card-media img {
    transform: scale(1.09);
}

.category-card-placeholder,
.product-card-media span {
    padding: 16px;
    color: #777;
    text-align: center;
}

.category-card-body {
    display: grid;
    align-content: start;
    gap: 7px;
}

.category-card-title {
    line-height: 1.25;
    text-transform: uppercase;
}

.category-card-meta {
    color: var(--color-muted);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}


.product-card h2 a,
.product-reference {
    color: #222;
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.product-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
}


.product-price {
    margin: 8px 0 0;
    color: var(--color-red);
    font-weight: 700;
}

.product-card .product-price {
    margin-top: auto;
    padding-top: 8px;
}

.product-card-prices {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 8px;
}


.product-card-prices strong {
    color: var(--color-red);
}

.product-gallery-main {
    display: grid;
    place-items: center;
    aspect-ratio: 1 / 1;
    border: 1px solid var(--color-line);
    background: #fff;
}

.product-gallery-main img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 20px;
}

.product-gallery-thumbs {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
    margin-top: 12px;
}

.product-gallery-thumbs img {
    aspect-ratio: 1 / 1;
    border: 1px solid var(--color-line);
    object-fit: contain;
    padding: 6px;
}

.product-buy-box {
    display: grid;
    gap: 10px;
    margin: 0 0 24px;
    border: 1px solid var(--color-line);
    background: #fff;
    padding: 18px;
}

.product-buy-box label {
    color: #303a42;
    font-size: 13px;
    font-weight: 800;
}

.product-buy-box select,
.product-buy-box input {
    min-height: 44px;
    border: 1px solid #c7d4dc;
    background: #fff;
    padding: 0 12px;
}

.product-buy-actions {
    display: grid;
    grid-template-columns: 90px minmax(0, 1fr);
    gap: 10px;
}

.product-buy-actions button {
    cursor: pointer;
}

.product-buy-actions button:disabled {
    background: #aab4bb;
}

.product-content {
    display: grid;
    gap: 28px;
    padding-bottom: 28px;
}

.product-content section {
    border-top: 1px solid var(--color-line);
    padding-top: 22px;
}

.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 26px 0 0;
}

.pagination a,
.button-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
}



.account-panel {
    padding: 28px;
}

.account-panel h2,
.account-box h2 {
    margin: 0 0 20px;
    font-size: 20px;
}

.account-alert {
    margin-bottom: 16px;
    padding: 12px 14px;
    border-left: 4px solid #647986;
    background: #eef3f5;
    color: #26333a;
}

.account-alert p {
    margin: 0;
}

.account-alert p + p {
    margin-top: 6px;
}

.account-alert-error {
    border-left-color: var(--color-red);
    background: #fff1f1;
    color: #7c151a;
}

.account-alert-success {
    border-left-color: #3c9f63;
    background: #eef8f1;
    color: #1d6337;
}

.account-help {
    margin: 0;
    color: #52616b;
    line-height: 1.55;
}

.account-help-small {
    font-size: 13px;
}

.oauth-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 10px;
    margin-bottom: 18px;
}

.oauth-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}


.account-separator {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 18px;
    color: #6c7780;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.account-separator::before,
.account-separator::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--color-line);
}

.account-form {
    display: grid;
    gap: 16px;
}

.account-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.account-field {
    display: grid;
    gap: 7px;
}

.account-form label {
    display: grid;
    gap: 7px;
}

.account-form input[type="email"],
.account-form input[type="password"],
.account-form input[type="text"],
.account-form input[type="tel"],
.account-form select,
.account-form textarea {
    width: 100%;
    min-height: 44px;
    border: 1px solid #c7d4dc;
    padding: 0 12px;
    background: #fff;
    color: #111;
}

.password-input-wrap {
    position: relative;
}

.password-input-wrap input {
    padding-right: 56px;
}

.password-visibility-toggle {
    position: absolute;
    top: 50%;
    right: 0;
    display: inline-grid;
    width: 44px;
    height: 44px;
    place-items: center;
    padding: 0;
    transform: translateY(-50%);
    border: 0;
    background: transparent;
    color: #4e5961;
    cursor: pointer;
}

.password-visibility-toggle[hidden] {
    display: none;
}

.password-visibility-toggle svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.password-visibility-toggle.is-visible::after {
    position: absolute;
    width: 24px;
    height: 2px;
    transform: rotate(-45deg);
    background: currentColor;
    content: "";
}

.password-visibility-toggle:hover {
    color: var(--color-red);
}

.password-visibility-toggle:focus-visible {
    border-radius: 3px;
    outline: 2px solid var(--color-red);
    outline-offset: 1px;
}

.account-form textarea {
    padding: 12px;
    resize: vertical;
}

.account-form select {
    width: 100%;
    padding: 0 38px 0 12px;
}

.account-form input:focus {
    outline: 2px solid rgba(219, 20, 30, .22);
    border-color: var(--color-red);
}

.account-check {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    font-weight: 600;
}

.account-check input {
    margin-top: 3px;
}

.account-submit {
    width: 100%;
}

.account-switch {
    margin: 18px 0 0;
    color: #4c5961;
}

.account-switch a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    color: var(--color-red);
    font-weight: 800;
}

.account-logout {
    padding: 0 16px;
}

.account-section-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 18px;
    border-bottom: 1px solid var(--color-line);
    padding-bottom: 18px;
    margin-bottom: 22px;
}

.account-overview-grid,
.account-security-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.account-box {
    padding: 24px;
}

.account-box h3 {
    margin: 0 0 16px;
    font-size: 18px;
}

.account-box dl {
    margin: 0;
    display: grid;
    gap: 14px;
}

.account-box dl > div {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    border-bottom: 1px solid var(--color-line);
    padding-bottom: 12px;
}

.account-box dt {
    color: #697782;
    font-weight: 800;
}

.account-box dd {
    margin: 0;
    color: #111;
    font-weight: 800;
    text-align: right;
}

.account-inline-link,
.account-address-actions a,
.account-address-actions button,
.account-light-button {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    border: 1px solid #c7d4dc;
    background: #fff;
    padding: 0 12px;
    color: #111;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    cursor: pointer;
}

.account-inline-link {
    margin-top: 18px;
}

.account-split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
    gap: 22px;
    align-items: start;
}

.account-card-list {
    display: grid;
    gap: 14px;
}

.account-address-card {
    display: grid;
    gap: 12px;
    border: 1px solid var(--color-line);
    padding: 18px;
}

.account-address-card h3,
.account-address-card p {
    margin: 0;
}

.account-address-tags,
.account-address-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.account-address-tags span,
.account-status {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    border-radius: 999px;
    padding: 0 9px;
    font-size: 12px;
    font-weight: 800;
}

.account-address-tags span,
.account-status.is-success {
    background: #e4f5e9;
    color: #226338;
}

.account-status.is-warning {
    background: #fff0d6;
    color: #895000;
}

.account-status.is-danger {
    background: #ffe2e2;
    color: #8c1f1f;
}

.account-status.is-neutral {
    background: #edf2f5;
    color: #41515b;
}

.account-address-actions form {
    margin: 0;
}

.account-address-form {
    border: 1px solid var(--color-line);
    padding: 20px;
}

.account-address-form h3 {
    margin: 0;
    font-size: 18px;
}

.account-table-wrap {
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
}

.account-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 720px;
}

.account-table th,
.account-table td {
    border-bottom: 1px solid var(--color-line);
    text-align: left;
    vertical-align: top;
}


.account-table td strong,
.account-table td span {
    display: block;
}

@media (max-width: 700px) {
    .account-table-wrap {
        overflow: visible;
    }

    .account-table {
        display: block;
        min-width: 0;
    }

    .account-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    .account-table tbody {
        display: grid;
        gap: 14px;
    }

    .account-table tr,
    .account-table td {
        display: block;
        width: 100%;
    }

    .account-table tr {
        border: 1px solid var(--color-line);
        padding: 7px 14px;
        background: #fff;
    }

    .account-table td {
        display: grid;
        grid-template-columns: minmax(92px, .72fr) minmax(0, 1.28fr);
        gap: 12px;
        border-bottom: 1px solid var(--color-line);
        overflow-wrap: anywhere;
    }

    .account-table td::before {
        content: attr(data-label);
        color: #52616b;
        font-size: 12px;
        font-weight: 800;
        text-transform: uppercase;
    }

    .account-table td:last-child {
        border-bottom: 0;
    }

    .account-table td:last-child .account-light-button {
        width: 100%;
        justify-content: center;
        margin-bottom: 6px;
    }
}

.account-empty {
    margin: 0;
    color: #52616b;
    line-height: 1.55;
}

.account-coupons {
    display: grid;
    gap: 18px;
}

.account-coupons-intro,
.account-coupons-empty p {
    margin: 0;
    color: #52616b;
    line-height: 1.55;
}

.account-coupons-empty {
    display: grid;
    justify-items: start;
    gap: 12px;
    border: 1px solid var(--color-line);
    background: #f7f8f9;
    padding: 20px;
}

.support-account-layout {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 390px);
}

.support-list-heading,
.support-ticket-heading,
.support-ticket-meta,
.support-ticket-row,
.support-message header,
.support-status-form {
    display: flex;
    align-items: center;
}

.support-list-heading,
.support-ticket-heading {
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.support-list-heading h3,
.support-ticket-heading h3,
.support-new-form h3 {
    margin: 0 0 8px;
    font-size: 20px;
    text-transform: uppercase;
}

.support-ticket-list,
.support-conversation {
    display: grid;
    gap: 10px;
}

.support-ticket-row {
    justify-content: space-between;
    gap: 18px;
    min-height: 72px;
    border: 1px solid #d8e1e6;
    padding: 13px 15px;
    color: #111;
}

.support-ticket-row:hover,
.support-ticket-row.is-unread {
    border-color: var(--color-red);
}

.support-ticket-row.is-unread {
    box-shadow: inset 4px 0 0 var(--color-red);
}

.support-ticket-main,
.support-ticket-side {
    display: grid;
    gap: 6px;
}

.support-ticket-main small,
.support-ticket-side time,
.support-ticket-meta > span:not(.account-status) {
    color: #61707a;
    font-size: 12px;
    font-weight: 700;
}

.support-ticket-side {
    justify-items: end;
    flex: 0 0 auto;
}

.support-reference {
    margin: 14px 0 6px;
    color: var(--color-red);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0;
}

.support-ticket-meta {
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 9px;
}

.support-conversation {
    margin-bottom: 22px;
}

.support-message {
    max-width: 82%;
    border: 1px solid #d8e1e6;
    padding: 16px;
}

.support-message.is-customer {
    justify-self: end;
    border-color: #efb4b7;
}

.support-message.is-admin {
    justify-self: start;
    background: #f3f6f7;
}

.support-message header {
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 10px;
}

.support-message time {
    color: #61707a;
    font-size: 12px;
}

.support-message p {
    margin: 0;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.55;
}

.support-reply-form {
    border-top: 1px solid var(--color-line);
    padding-top: 20px;
}

.support-status-form {
    justify-content: flex-end;
    margin-top: 12px;
}

.account-compact-list {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.account-compact-list li {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 1px solid var(--color-line);
    padding-bottom: 10px;
}

.two-factor-secret {
    display: grid;
    gap: 6px;
    margin: 16px 0;
    border: 1px dashed #9fb1bb;
    background: #f7fafb;
    padding: 14px;
}

.two-factor-secret span {
    color: #52616b;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.two-factor-secret strong {
    overflow-wrap: anywhere;
    font-size: 18px;
}

.two-factor-uri {
    width: 100%;
    min-height: 76px;
    border: 1px solid #c7d4dc;
    padding: 10px;
    resize: vertical;
    color: #52616b;
}

.account-submit.is-secondary,
.account-light-button {
    background: #fff;
    color: #111;
}

body.has-cart-added-dialog {
    overflow: hidden;
}

.cart-added-dialog {
    position: fixed;
    inset: 0;
    z-index: 1000;
    width: min(calc(100% - 28px), 1140px);
    max-width: none;
    max-height: min(90vh, 720px);
    max-height: min(90dvh, 720px);
    margin: auto;
    border: 0;
    padding: 0;
    background: transparent;
    color: #202225;
    box-shadow: 0 0 0 100vmax rgba(0, 0, 0, .56);
    overflow: auto;
    overscroll-behavior: contain;
}

.cart-added-dialog::backdrop {
    background: rgba(0, 0, 0, .56);
}

.cart-added-dialog:modal {
    box-shadow: none;
}

.cart-added-panel {
    background: #fff;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .36);
}

.cart-added-header {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 44px;
    align-items: center;
    min-height: 58px;
    padding: 0 8px 0 22px;
    color: #fff;
}

.cart-added-header h2 {
    margin: 0;
    text-align: center;
}

.cart-added-check {
    color: #00bc70;
    font-size: 30px;
    line-height: 1;
}

.cart-added-header form,
.cart-added-actions form {
    margin: 0;
}

.cart-added-close {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 0;
    padding: 0;
    background: transparent;
    color: #fff;
    font-size: 38px;
    line-height: 1;
    cursor: pointer;
}

.cart-added-close:hover,
.cart-added-close:focus-visible {
    color: #00bc70;
    outline: 2px solid currentColor;
    outline-offset: -5px;
}

.cart-added-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(330px, .9fr);
    gap: 0;
    width: min(100%, 760px);
    margin: 0 auto;
    padding: 48px 24px 20px;
}

.cart-added-product {
    display: grid;
    grid-template-columns: minmax(130px, 190px) minmax(0, 1fr);
    gap: 24px;
    align-items: center;
    min-width: 0;
    border-right: 1px solid #2e2e2e;
    padding-right: 28px;
}

.cart-added-media {
    display: grid;
    place-items: center;
    aspect-ratio: 1 / 1;
    color: #6b7175;
    text-align: center;
}

.cart-added-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.cart-added-product-copy {
    display: grid;
    gap: 14px;
    min-width: 0;
}

.cart-added-product-name {
    color: #111;
    font-size: 17px;
    letter-spacing: .055em;
    line-height: 1.25;
    text-transform: uppercase;
}

.cart-added-product-copy strong {
    font-size: 17px;
}

.cart-added-product-copy p {
    margin: 0;
}

.cart-added-stock-note {
    color: #7c151a;
    font-size: 12px;
    line-height: 1.4;
}

.cart-added-summary {
    min-width: 0;
    padding-left: 30px;
}

.cart-added-count {
    margin: 0 0 22px;
    font-size: 13px;
    font-weight: 700;
}

.cart-added-summary dl {
    display: grid;
    gap: 13px;
    margin: 0;
}

.cart-added-summary dl div {
    display: flex;
    justify-content: space-between;
    gap: 22px;
}

.cart-added-summary dt {
    font-weight: 700;
}

.cart-added-summary dd {
    margin: 0;
    text-align: right;
}

.cart-added-total {
    border-top: 1px solid #dedede;
    padding-top: 13px;
    font-size: 17px;
}

.cart-added-total small {
    display: block;
    color: #646b70;
    font-size: 11px;
    font-weight: 400;
}

.cart-added-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    width: min(100%, 760px);
    margin: 0 auto;
    padding: 0 24px 46px;
}

.cart-added-continue,
.cart-added-checkout {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    cursor: pointer;
}


.cart-added-checkout {
    gap: 12px;
}

.cart-added-continue:hover,
.cart-added-continue:focus-visible,
.cart-added-checkout:hover,
.cart-added-checkout:focus-visible {
    border-color: var(--color-red);
    background: var(--color-red);
    color: #fff;
}

@media (max-width: 720px) {
    .cart-added-dialog {
        max-height: calc(100vh - 24px);
        max-height: calc(100dvh - 24px);
    }

    .cart-added-header {
        grid-template-columns: 30px minmax(0, 1fr) 44px;
        padding-left: 12px;
    }


    .cart-added-check {
        font-size: 23px;
    }

    .cart-added-body {
        grid-template-columns: 1fr;
        padding: 24px 18px 18px;
    }

    .cart-added-product {
        grid-template-columns: 100px minmax(0, 1fr);
        gap: 16px;
        border-right: 0;
        border-bottom: 1px solid #dedede;
        padding: 0 0 22px;
    }

    .cart-added-summary {
        padding: 22px 0 0;
    }

    .cart-added-actions {
        display: grid;
        grid-template-columns: 1fr;
        padding: 0 18px 24px;
    }

    .cart-added-actions form,
    .cart-added-continue,
    .cart-added-checkout {
        width: 100%;
    }
}


.cart-page {
    padding: 34px 0 58px;
}

.cart-legacy-layout {
    display: grid;
    align-items: start;
}

.cart-legacy-main,
.cart-legacy-summary {
    min-width: 0;
}

.cart-cross-sell {
    padding-bottom: 56px;
}

.cart-cross-sell .product-cross-sell {
    margin-top: 40px;
}

.cart-legacy-heading {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #d9d9d9;
}

.cart-legacy-heading h1 {
    margin: 0;
}

.cart-legacy-content {
    min-width: 0;
}

.cart-alert {
    margin: 18px 20px 0;
    border-left: 4px solid #647986;
    background: #eef3f5;
    padding: 12px 14px;
    color: #26333a;
}

.cart-alert-error {
    border-left-color: var(--color-red);
    background: #fff1f1;
    color: #7c151a;
}

.cart-alert-success {
    border-left-color: #26854b;
    background: #eef8f1;
    color: #14502c;
}

.cart-empty {
    display: grid;
    gap: 12px;
    justify-items: start;
    margin: 24px;
}

.cart-empty h2 {
    margin: 0;
    font-size: 24px;
}

.cart-empty p {
    margin: 0;
    color: #4f5961;
}

.cart-product-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.cart-product-row {
    display: grid;
    align-items: center;
    min-height: 188px;
}

.cart-product-row + .cart-product-row {
    border-top: 1px solid #e4e4e4;
}

.cart-item-media {
    display: grid;
    place-items: center;
    width: 100%;
    max-width: 160px;
    aspect-ratio: 4 / 3;
    background: #fff;
    color: #6b7175;
    text-align: center;
}

.cart-item-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 5px;
}

.cart-product-copy {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.cart-item-name {
    display: block;
    color: #111;
}

.cart-item-meta {
    display: block;
    margin-top: 4px;
    color: #697782;
    font-size: 12px;
}

.cart-product-unit-price {
    margin-top: 5px;
    font-size: 16px;
}

.cart-quantity-control {
    display: block;
}

.cart-qty {
    padding: 0 9px;
}

.cart-product-line-total {
    color: #222;
    text-align: right;
    white-space: nowrap;
}

.cart-remove {
    display: grid;
    place-items: center;
    min-width: 44px;
    min-height: 44px;
    border: 0;
    background: transparent;
    padding: 8px;
    color: #292929;
    font-size: 25px;
    line-height: 1;
    cursor: pointer;
}

.cart-remove:hover,
.cart-remove:focus-visible {
    color: var(--color-red);
}

.cart-legacy-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    border-top: 1px solid #e4e4e4;
    padding: 13px 18px;
}

.cart-continue {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    gap: 10px;
    color: #111;
    font-size: 14px;
}

.cart-continue:hover,
.cart-continue:focus-visible {
    color: var(--color-red);
}

.cart-update {
    padding: 0 16px;
    cursor: pointer;
}

[data-cart-update-form][data-cart-enhanced="true"] .cart-update {
    display: none;
}

.cart-legacy-summary {
    display: grid;
}


.cart-summary-totals {
    border-top: 1px solid #d9d9d9;
}

.cart-legacy-summary dl {
    display: grid;
    gap: 15px;
    margin: 0;
}

.cart-legacy-summary dl > div {
    display: flex;
    justify-content: space-between;
    gap: 18px;
}

.cart-legacy-summary dt {
    color: #2c2c2c;
}

.cart-legacy-summary dd {
    margin: 0;
    color: #111;
    text-align: right;
    white-space: nowrap;
}

.cart-summary-total dt,
.cart-summary-total dd {
    color: #222;
    font-size: 16px;
}

.cart-summary-total {
    align-items: center;
}

.cart-summary-total dt {
    display: block;
}

.cart-summary-total dt small {
    font-size: .8em;
    font-weight: 400;
    white-space: nowrap;
}

.cart-summary-total dd {
    white-space: nowrap;
}

.cart-shipping-note {
    margin: 0 20px 18px;
    padding: 10px 12px;
    border-left: 2px solid #bbb;
    font-size: 13px;
    line-height: 1.45;
}

.coupon-applied {
    margin: 0;
    color: #53616a;
    font-size: 13px;
}

.coupon-form {
    display: grid;
    gap: 8px;
    margin-top: 14px;
}

.coupon-form label {
    color: #303a42;
    font-weight: 800;
}

.coupon-form > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 96px;
}

.coupon-form input {
    min-width: 0;
    min-height: 44px;
    border: 1px solid #c7d4dc;
    padding: 0 12px;
}

.coupon-form button,
.coupon-remove {
    cursor: pointer;
}


.cart-coupon-applied {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
}

.checkout-button {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 20px 20px;
}

.checkout-button:hover,
.checkout-button:focus-visible {
    background: var(--color-red);
    color: #fff;
}


@media (max-width: 720px) {
    .cart-page {
        padding: 18px 0 36px;
    }


    .cart-product-row {
        grid-template-areas:
            "media copy remove"
            "media quantity total";
        min-height: 0;
    }

    .cart-item-media {
        grid-area: media;
    }

    .cart-product-copy {
        grid-area: copy;
    }

    .cart-quantity-control {
        grid-area: quantity;
    }

    .cart-product-line-total {
        grid-area: total;
    }

    .cart-remove {
        grid-area: remove;
        justify-self: end;
    }


    .cart-legacy-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .cart-update {
        width: 100%;
    }
}


.cart-hero {
    padding: 38px 0;
}

.cart-kicker {
    margin: 0 0 10px;
    text-transform: uppercase;
}

.cart-hero h1 {
    margin: 0;
}

.cart-hero p:not(.cart-kicker) {
    max-width: 680px;
    margin: 18px 0 0;
    color: #d7dde1;
    font-size: 18px;
}

@media (max-width: 720px) {
    .cart-hero {
        padding: 28px 0 32px;
    }

}


.checkout-hero {
    min-height: 220px;
}

.checkout-section-head p {
    margin: 0;
    color: var(--color-red);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.checkout-section-head h2 {
    margin: 0;
    font-size: 28px;
}

.checkout-section-head span,
.checkout-note {
    color: #596772;
}

.checkout-selected-address > div {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px 16px;
}

.checkout-selected-address strong {
    color: #111;
    text-transform: uppercase;
}

.checkout-selected-address p {
    margin: 0;
}

.checkout-address-choices,
.checkout-address-editor {
    margin-top: 16px;
    border: 1px solid #cbd7de;
    background: #fff;
}

.checkout-address-choices > summary,
.checkout-address-editor > summary {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 9px 14px;
    color: #111;
    font-weight: 800;
    text-transform: uppercase;
    cursor: pointer;
}

.checkout-address-choices[open] > summary,
.checkout-address-editor[open] > summary {
    border-bottom: 1px solid #cbd7de;
    background: #f7fafb;
}

.checkout-address-choice-list {
    display: grid;
    gap: 10px;
    padding: 14px;
}

.checkout-address-choice-list form {
    margin: 0;
}

.checkout-address-choice-list button {
    display: grid;
    gap: 4px;
    width: 100%;
    min-height: 52px;
    border: 1px solid #d8e1e6;
    padding: 10px 12px;
    background: #fff;
    color: #111;
    text-align: left;
    cursor: pointer;
}

.checkout-address-choice-list button:hover,
.checkout-address-choice-list button:focus-visible {
    border-color: var(--color-red);
}

.checkout-new-address-link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    margin-top: 12px;
    color: var(--color-red);
    font-weight: 800;
}


.checkout-choice input {
    margin-top: 3px;
}

.checkout-choice span {
    display: grid;
    gap: 5px;
}

.checkout-choice strong {
    color: #111;
    text-transform: uppercase;
}

.checkout-choice small {
    color: #5c6973;
}

.checkout-choice em {
    margin-top: 6px;
    color: var(--color-red);
    font-style: normal;
    font-weight: 900;
}

.checkout-disabled-note {
    border: 1px dashed #cbd7de;
    padding: 14px 16px;
    background: #f7fafb;
    color: #596772;
}

.checkout-customer-note {
    display: grid;
    gap: 7px;
    color: #2d363d;
    font-weight: 800;
}

.checkout-customer-note textarea {
    width: 100%;
    padding: 12px;
    resize: vertical;
}

.checkout-customer-note small {
    color: #65727b;
    font-weight: 400;
    line-height: 1.45;
}

.checkout-terms {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    border: 1px solid #cbd7de;
    background: #f7fafb;
    padding: 14px 16px;
    color: #28343d;
}

.checkout-terms label {
    cursor: pointer;
}

.checkout-terms:focus-within {
    border-color: var(--color-red);
    box-shadow: 0 0 0 2px rgb(224 26 45 / 16%);
}

.checkout-terms input {
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
}

.checkout-terms a {
    color: var(--color-red);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.checkout-terms a:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}

.checkout-address-form {
    display: grid;
    gap: 18px;
    margin: 0;
    padding: 18px;
}

.checkout-address-form label {
    display: grid;
    gap: 7px;
}

.checkout-address-form input[type="text"],
.checkout-address-form input[type="tel"] {
    width: 100%;
    min-height: 44px;
    border: 1px solid #c7d4dc;
    padding: 0 12px;
    background: #fff;
    color: #111;
}

.address-customer-type {
    min-width: 0;
    margin: 0;
    border: 0;
    padding: 0;
}

.address-customer-type legend {
    margin-bottom: 8px;
    color: #2d363d;
    font-weight: 800;
}

.address-type-options {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.address-type-options label {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    align-items: center;
    min-height: 44px;
    border: 1px solid #c7d4dc;
    padding: 8px 12px;
    background: #fff;
    cursor: pointer;
}

.address-type-options input {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--color-red);
}

.checkout-address-form h3 {
    margin: 0;
    font-size: 20px;
}

.account-form-grid label.is-wide {
    grid-column: 1 / -1;
}

.checkout-submit {
    justify-self: start;
}

.checkout-submit:disabled {
    background: #8a9298;
}

.checkout-confirm {
    display: grid;
    justify-items: start;
    gap: 12px;
}

.checkout-confirm p {
    margin: 0;
    color: #596772;
    line-height: 1.5;
}

.checkout-summary dl {
    display: grid;
    gap: 0;
    margin: 0;
}

.checkout-summary dl > div {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    border-bottom: 1px solid var(--color-line);
    padding: 11px 0;
}

.checkout-summary dt {
    color: #53616a;
    font-weight: 800;
}

.checkout-summary dd {
    margin: 0;
    color: #111;
    font-weight: 800;
    text-align: right;
    white-space: nowrap;
}

.checkout-summary .cart-summary-total {
    margin-top: 4px;
    padding-top: 16px;
}

.checkout-summary .cart-summary-total dt,
.checkout-summary .cart-summary-total dd {
    color: var(--color-red);
    font-size: 18px;
}

.checkout-summary .cart-summary-total dt {
    display: grid;
    gap: 2px;
}

.checkout-summary .cart-summary-total small {
    font-size: 12px;
}

.checkout-summary .cart-currency-note {
    margin: 18px 0;
    color: #596772;
    line-height: 1.45;
}

.checkout-summary .checkout-mini-items {
    margin-bottom: 16px;
}

.checkout-summary .cart-continue {
    width: 100%;
    justify-content: center;
    border: 1px solid #292929;
    padding: 0 14px;
    text-align: center;
    text-transform: uppercase;
}

/* Réplica visual legacy: acceso, cuenta y checkout. */

.account-shell {
    padding: 30px 0 56px;
}


.account-auth-breadcrumb .breadcrumbs,
.checkout-legacy-breadcrumb .breadcrumbs {
    width: 100%;
}

.account-auth-breadcrumb .breadcrumbs ol,
.checkout-legacy-breadcrumb .breadcrumbs ol {
    min-height: 50px;
}

.account-auth-breadcrumb .breadcrumbs a,
.account-auth-breadcrumb .breadcrumbs span,
.checkout-legacy-breadcrumb .breadcrumbs a,
.checkout-legacy-breadcrumb .breadcrumbs span {
    color: #555;
}

.account-auth-layout {
    display: grid;
}

.account-legacy-title {
    position: relative;
    display: grid;
    place-items: center;
    text-align: center;
}

.account-legacy-title::before {
    position: absolute;
    right: 25%;
    bottom: 0;
    left: 25%;
    height: 1px;
    background: #ededed;
}

.account-legacy-title h1 {
    position: relative;
    z-index: 1;
    margin: 0;
}

.account-legacy-title h1::after {
    position: absolute;
    bottom: -1px;
    left: 50%;
    width: 70px;
    height: 2px;
    background: #292929;
    transform: translateX(-50%);
}

.account-panel.account-auth-panel {
    width: 100%;
    border: 1px solid #e0e0e0;
}

.account-auth-panel .account-alert,
.account-auth-panel .oauth-grid,
.account-auth-panel .account-separator {
    width: min(100%, 985px);
    margin-right: auto;
    margin-left: auto;
}

.account-auth-form {
    width: min(100%, 985px);
    margin: 0 auto;
}

.account-auth-form > label:not(.account-check),
.account-auth-form > .account-field,
.account-register-form .account-form-grid > label {
    display: grid;
    align-items: center;
}

.account-auth-form > label:not(.account-check) > span,
.account-auth-form > .account-field > label,
.account-register-form .account-form-grid > label > span {
    color: #4a4a4a;
}

.account-register-form .account-form-grid {
    display: contents;
}

.account-auth-form input[type="email"],
.account-auth-form input[type="password"],
.account-auth-form input[type="text"] {
    min-height: 36px;
    border: 0;
    background: #f0f0f0;
}

.account-auth-panel .password-visibility-toggle {
    width: auto;
    padding: 0 13px;
}

.account-auth-panel .password-visibility-toggle svg,
.account-auth-panel .password-visibility-toggle.is-visible::after {
    display: none;
}



.account-auth-panel .account-submit {
    justify-self: center;
}

.account-auth-panel .account-submit:hover,
.account-auth-panel .account-submit:focus-visible {
    border-color: var(--color-red);
    background: var(--color-red);
    color: #fff;
}

.account-auth-panel .account-switch {
    margin: 5px 0 0;
    border-top: 1px solid #dedede;
    padding: 5px 0;
    text-align: center;
}

.account-auth-panel .account-switch a {
    color: #292929;
    font-weight: 400;
}

.account-dashboard {
    display: grid;
    gap: 22px;
}

.account-dashboard-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 76px;
    border-bottom: 1px solid #ededed;
}

.account-dashboard-head > div {
    min-width: 0;
}

.account-dashboard h1 {
    margin: 0 0 8px;
}

.account-dashboard-head > div > p {
    max-width: 760px;
    margin: 0;
    color: #50575d;
    font-size: 14px;
    line-height: 1.5;
}

.account-menu {
    position: static;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.account-menu a {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-height: 72px;
    border: 1px solid #dedede;
    padding: 12px 14px;
    background: #fff;
    color: #292929;
}

.account-menu-icon {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    color: #333;
    font-family: Arial, sans-serif;
    font-size: 20px;
}

.account-menu-overview .account-menu-icon::before { content: "⌂"; }
.account-menu-profile .account-menu-icon::before { content: "♙"; }
.account-menu-addresses .account-menu-icon::before { content: "⌖"; }
.account-menu-orders .account-menu-icon::before { content: "▤"; }
.account-menu-coupons .account-menu-icon::before { content: "%"; }
.account-menu-support .account-menu-icon::before { content: "?"; }
.account-menu-security .account-menu-icon::before { content: "⊙"; }

.account-menu a.is-active,
.account-menu a:hover,
.account-menu a:focus-visible {
    color: #fff;
}

.account-menu a.is-active .account-menu-icon,
.account-menu a:hover .account-menu-icon,
.account-menu a:focus-visible .account-menu-icon {
    border-color: #fff;
    color: #fff;
}

.account-layout-panel {
    display: block;
}

.account-section-panel {
    min-width: 0;
}

.account-section-head h2 {
    margin: 0;
}

.checkout-page {
    padding: 30px 0 58px;
}

.checkout-layout {
    display: grid;
    align-items: start;
    padding: 0;
}

.checkout-panel {
    box-shadow: none;
}

.checkout-panel > .cart-alert {
    margin: 0 0 14px;
}

.checkout-order-form {
    display: grid;
    gap: 14px;
}

.checkout-block {
    min-width: 0;
}

.checkout-address-block {
    margin: 14px 0;
}

.checkout-section-head {
    position: relative;
    display: grid;
    gap: 7px;
    margin-bottom: 18px;
}

.checkout-legacy-step-head h1,
.checkout-legacy-step-head h2 {
    margin: 0;
    padding-right: 44px;
}

.checkout-step-number {
    min-width: 25px;
    text-align: center;
}

.checkout-step-check {
    position: absolute;
    top: 2px;
    right: 5px;
    color: #24a05a;
    font-family: Arial, sans-serif;
    font-size: 24px;
}

.checkout-personal-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border-top: 1px solid #ededed;
}

.checkout-personal-summary p,
.checkout-personal-summary span {
    margin: 0;
}

.checkout-personal-summary p {
    display: grid;
    gap: 4px;
}

.checkout-personal-summary a,
.checkout-new-address-link {
    color: #333;
    font-size: 12px;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.checkout-selected-address {
    display: grid;
    gap: 5px;
    margin: 0 42px 14px;
    border: 1px solid #dedede;
    padding: 16px;
    color: #303a42;
    overflow-wrap: anywhere;
}


.checkout-card-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    margin: 0 42px;
}

.checkout-choice {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    align-items: start;
    gap: 12px;
    min-height: 70px;
    border: 1px solid #dedede;
    background: #fff;
    cursor: pointer;
}


.checkout-order-note > summary {
    min-height: 58px;
    padding: 18px;
    font-size: 17px;
    cursor: pointer;
}

.checkout-order-note-body {
    border-top: 1px solid #ededed;
    padding: 18px;
}

.checkout-order-note-body > p {
    margin-top: 0;
    color: #596772;
}

.checkout-terms,
.checkout-confirm {
    margin: 0 16px;
}

.checkout-summary {
    position: sticky;
    min-width: 0;
}

.checkout-summary h2 {
    margin: 0 0 18px;
}


@media (max-width: 820px) {
    .account-menu {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }


    .checkout-summary {
        position: static;
    }
}

@media (max-width: 560px) {
    .account-shell,
    .checkout-page {
        padding-top: 16px;
    }


    .account-legacy-title::before {
        right: 8%;
        left: 8%;
    }





    .account-menu {
        grid-template-columns: 1fr;
    }

    .account-menu a {
        min-height: 58px;
    }


    .checkout-personal-summary {
        display: grid;
    }


}

.order-payment-details {
    display: grid;
    gap: 18px;
    margin: 0 0 20px;
    border: 1px solid #cbd7de;
}

.order-bank-accounts {
    display: grid;
}

.order-bank-account + .order-bank-account {
    border-top: 1px solid #cbd7de;
}

.order-bank-account h3 {
    margin: 0;
    padding: 13px 15px;
    color: #111;
    background: #f3f6f8;
    font-size: 17px;
    text-transform: uppercase;
}

.order-bank-account dl,
.order-transfer-details {
    margin: 0;
}

.sequra-identification-frame {
    display: block;
    width: 100%;
    min-height: 620px;
    margin: 18px 0 24px;
    border: 1px solid #d8dde2;
    background: #fff;
}

.order-bank-account dl > div,
.order-transfer-details > div {
    display: grid;
    grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
    gap: 18px;
    padding: 13px 15px;
    border-bottom: 1px solid #dfe6ea;
}

.order-bank-account dl > div:last-child,
.order-transfer-details > div:last-child {
    border-bottom: 0;
}

.order-transfer-details {
    border-top: 1px solid #cbd7de;
}

.order-bank-account dt,
.order-transfer-details dt {
    color: #53616a;
    font-weight: 800;
    text-transform: uppercase;
}

.order-bank-account dd,
.order-transfer-details dd {
    margin: 0;
    color: #111;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.order-result-items {
    display: grid;
    gap: 0;
    margin: 28px 0 20px;
    border-top: 1px solid var(--color-line);
    padding-top: 22px;
}

.order-result-items h2 {
    margin: 0 0 12px;
    font-size: 22px;
    text-transform: uppercase;
}

.order-result-items > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 18px;
    align-items: center;
    padding: 14px 0;
    border-bottom: 1px solid var(--color-line);
}

.order-result-items > div > span:first-child {
    display: grid;
    gap: 3px;
}

.order-result-items small {
    color: #64727b;
}

@media (max-width: 700px) {
    .order-bank-account dl > div,
    .order-transfer-details > div,
    .order-result-items > div {
        grid-template-columns: 1fr;
        gap: 6px;
    }
}

.checkout-mini-items {
    display: grid;
    gap: 10px;
    border-top: 1px solid var(--color-line);
    padding-top: 14px;
}

.checkout-mini-items div {
    display: grid;
    gap: 3px;
}

.checkout-mini-items span {
    color: #303a42;
    font-size: 13px;
    font-weight: 800;
}

.checkout-mini-items strong {
    color: #697782;
    font-size: 12px;
}

.catalog-empty,
.not-found-page {
    padding: 48px 0;
}

.category-commercial-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 320px);
    gap: 36px;
    margin-bottom: 48px;
}

.category-commercial-content h2 {
    margin: 4px 0 14px;
    font-size: clamp(24px, 3vw, 34px);
}

.category-commercial-content p {
    max-width: 860px;
    margin: 0 0 12px;
    color: #3f454b;
    line-height: 1.7;
}

.category-commercial-links {
    display: grid;
    align-content: center;
    gap: 10px;
}

.category-commercial-links a {
    display: block;
    padding: 12px 15px;
    border: 1px solid #cbd1d5;
    color: #20262b;
    font-weight: 800;
    text-decoration: none;
}

.category-commercial-links a:hover,
.category-commercial-links a:focus-visible {
    border-color: var(--color-red);
    color: var(--color-red);
}

@media (max-width: 980px) {
    .category-commercial-content {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .menu-toggle {
        display: block;
    }

    .primary-nav {
        flex: 0 0 100%;
        order: 3;
    }

    .header-quick-actions {
        gap: 7px;
        min-height: 44px;
        margin-top: 0;
        transform: none;
    }

    .primary-nav {
        transform: none;
    }

    .header-icon-link,
    .header-quick-actions .header-actions summary {
        width: 44px;
        min-width: 44px;
    }

    .top-menu {
        display: none;
        flex-direction: column;
        align-items: stretch;
        border-top: 1px solid #2c2c2c;
    }

    .top-menu.is-open {
        display: flex;
        padding: 6px 12px;
        background: rgba(8, 9, 11, .96);
    }

    .top-menu > li > a {
        padding: 13px 4px;
    }

    .submenu {
        position: static;
        width: 100%;
        box-shadow: none;
        opacity: 1;
        pointer-events: auto;
        transform: none;
        display: none;
    }

    .has-submenu:focus-within .submenu,
    .has-submenu:hover .submenu {
        display: block;
    }

    .submenu ul {
        columns: 2 140px;
    }

    .header-actions {
        margin-left: auto;
    }

    .header-quick-actions .header-actions {
        margin-left: 0;
    }

    .language-selector select {
        min-height: 44px;
    }

    .header-actions summary > span:not(.account-link-icon) {
        display: none;
    }

    .header-actions-panel .account-link span {
        display: inline;
    }

    .account-layout-panel,
    .account-overview-grid,
    .account-security-grid,
    .account-split,
    .checkout-layout,
    .checkout-card-grid {
        grid-template-columns: 1fr;
    }

    .account-menu {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .checkout-summary {
        position: static;
    }

    .promo-grid .container {
        grid-template-columns: 1fr;
    }

    .home-about-shade {
        background:
            linear-gradient(90deg, rgba(3, 2, 3, .18) 0%, rgba(3, 2, 3, .5) 34%, rgba(3, 2, 3, .9) 76%, rgba(3, 2, 3, .96) 100%),
            linear-gradient(180deg, rgba(0, 0, 0, .08), rgba(0, 0, 0, .42));
    }

    .home-about-copy {
        width: min(620px, 66%);
    }

    .home-new-products-slider {
        --new-products-visible: 3;
        --new-products-gap: 18px;
    }

    .home-new-products-track .new-product-card {
        flex-basis: calc((100% - 36px) / 3);
    }

    .home-new-products-grid--listing {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 26px 18px;
    }

    .vehicle-finder {
        grid-template-columns: 1fr;
    }

    .vehicle-selected {
        align-items: flex-start;
        flex-direction: column;
    }

    .vehicle-selected-actions {
        justify-content: flex-start;
    }

    .content-step-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .search-hero {
        grid-template-columns: minmax(0, 1fr);
    }


    .blog-sidebar {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px;
        margin-top: 44px;
    }


    .blog-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .category-grid {
        grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    }

    .product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 560px) {
    .home-about {
        min-height: 610px;
    }

    .home-about-image {
        object-position: 38% center;
    }

    .home-about-shade {
        background: linear-gradient(180deg, rgba(3, 2, 3, .44) 0%, rgba(3, 2, 3, .9) 52%, rgba(3, 2, 3, .97) 100%);
    }

    .home-about-layout {
        align-items: flex-end;
        padding: 34px 16px;
    }

    .home-about-copy {
        width: 100%;
        border-top: 3px solid var(--color-red);
        border-left: 0;
        padding: 22px 18px;
        text-align: center;
    }

    .home-about-copy h2 {
        font-size: 36px;
    }

    .home-new-products {
        padding-top: 30px;
    }

    .home-new-products-heading {
        margin-bottom: 26px;
    }

    .home-new-products-heading h2 {
        font-size: 21px;
    }

    .home-new-products-slider {
        --new-products-visible: 1;
        --new-products-gap: 10px;
        padding: 0 44px;
    }

    .home-new-products-track .new-product-card {
        flex-basis: 100%;
    }

    .home-new-products-control {
        width: 44px;
    }

    .home-new-products-grid--listing {
        grid-template-columns: minmax(0, 1fr);
        gap: 30px;
    }

    .home-new-products-grid--listing .new-product-media {
        aspect-ratio: 1 / 1;
    }

    .product-quickview-panel {
        padding: 46px 20px 28px;
    }

    .product-quickview-layout {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .product-quickview-media {
        min-height: 220px;
    }

    .product-quickview-media img {
        max-height: 280px;
    }


    .product-quickview-form {
        display: grid;
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .product-quickview-form label,
    .product-quickview-form input,
    .product-quickview-form button,
    .product-quickview-primary {
        width: 100%;
    }

    .new-product-media img {
        padding: 18px 8px 72px;
    }

    .new-product-badge {
        right: 5px;
        min-width: 61px;
        padding: 6px 9px 5px;
        font-size: 10px;
    }

    .new-product-body h3 {
        min-height: 45px;
        font-size: 13px;
    }

    .new-products-listing {
        padding-top: 30px;
    }

    .vehicle-search-form > div {
        grid-template-columns: 1fr;
    }

    .vehicle-search-form button {
    min-height: 44px;
    }

    .vehicle-finder-copy h2,
    .vehicle-selected strong {
        font-size: 24px;
    }

    .search-hero {
        padding: 28px 0 32px;
    }


    .search-hero-copy > p:not(.search-kicker) {
        font-size: 16px;
        line-height: 1.45;
    }

    .page-blog #main-content,
    .page-blog-post #main-content {
        padding: 0;
    }


    .blog-index-layout {
        padding: 32px 0 48px;
    }



    .blog-legacy-card-date {
        margin-top: 12px;
    }

    .blog-sidebar {
        display: block;
        margin-top: 42px;
    }


    .blog-related-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .blog-post-page {
        width: 100%;
    }

    .blog-post-title-band {
        min-height: 0;
        padding: 26px 20px;
    }



    .blog-post-navigation {
        align-items: stretch;
        flex-direction: column;
    }

    .blog-post-navigation-link {
        flex-basis: auto;
        width: 100%;
    }

    .blog-post-navigation-link--older {
        justify-content: space-between;
        margin-left: 0;
        text-align: left;
    }

    .blog-post-navigation-link--newer + .blog-post-navigation-link--older {
        border-top: 1px solid #ffd0d0;
    }

    .blog-post-content p,
    .blog-post-content li {
        font-size: 16px;
    }

    .blog-post-content .blog-rich-table th,
    .blog-post-content .blog-rich-table td {
        min-width: 140px;
    }

    .blog-post-content .blog-rich-table {
        display: block;
        max-width: 100%;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch;
    }

    .content-section {
        padding: 20px;
    }

    .content-step-grid {
        grid-template-columns: 1fr;
    }

    .section-heading {
        flex-direction: column;
    }

    .category-grid {
        grid-template-columns: 1fr;
    }

    .product-grid {
        grid-template-columns: 1fr;
    }

    .account-shell {
        padding: 28px 0 38px;
    }

    .account-panel,
    .account-box,
    .account-section-panel,
    .account-address-form {
        padding: 20px;
    }

    .account-menu {
        grid-template-columns: 1fr;
    }

    .account-box dl > div {
        display: grid;
        gap: 5px;
    }

    .account-box dd {
        text-align: left;
        overflow-wrap: anywhere;
    }

    .account-form-grid,
    .account-dashboard-head,
    .account-section-head {
        display: grid;
        grid-template-columns: 1fr;
    }

    .account-dashboard-head {
        align-items: start;
    }

    .product-buy-actions,
    .coupon-form > div {
        grid-template-columns: 1fr;
    }



    .checkout-section-head h2 {
        font-size: 23px;
    }

    .checkout-selected-address > div {
        display: grid;
        justify-content: start;
    }

    .checkout-address-form {
        padding: 14px;
    }

    .checkout-terms {
        padding: 12px;
    }

    .checkout-confirm,
    .checkout-submit {
        width: 100%;
    }

    .checkout-submit {
        justify-self: stretch;
    }



    .cookie-consent {
        padding: 10px;
    }

    .cookie-consent-panel {
        grid-template-columns: 1fr;
        align-items: start;
        padding: 16px;
    }

    .cookie-consent-actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }
}


.product-gallery-main.product-legacy-gallery-main {
    --product-zoom-x: 50%;
    --product-zoom-y: 50%;
    border: 0;
    overflow: hidden;
    isolation: isolate;
}

.coupon-disclosure,
.cart-coupon-applied {
    margin-top: 26px;
}

.coupon-disclosure summary {
    color: #222;
    cursor: pointer;
}

.product-gallery-main.product-legacy-gallery-main img {
    width: 100%;
    height: 100%;
    max-height: none;
    padding: 0;
    object-fit: contain;
    transform: scale(1);
    transform-origin: var(--product-zoom-x) var(--product-zoom-y);
    transition: transform 160ms ease-out;
    will-change: transform;
}

.product-gallery-main.product-legacy-gallery-main.is-zooming img {
    transform: scale(2.15);
}

.product-gallery-main.product-legacy-gallery-main.is-zooming {
    cursor: crosshair;
}

.product-gallery-main.product-legacy-gallery-main.is-zooming .product-gallery-zoom {
    opacity: 0;
}

.product-gallery-main.product-legacy-gallery-main .product-gallery-zoom {
    z-index: 2;
    transition: opacity 120ms ease-out;
}

.product-buy-box.product-legacy-buy-box {
    gap: 12px;
    margin: 24px 0 0;
    border: 0;
    border-top: 1px solid #e3e3e3;
    border-bottom: 1px solid #e3e3e3;
    background: transparent;
    padding: 22px 0;
}

.product-content.product-legacy-content {
    gap: 34px;
    padding-top: 0;
    padding-bottom: 54px;
}


@media (max-width: 760px) {
    .vehicle-selector-form {
        flex-wrap: wrap;
    }

    .vehicle-selector-field {
        flex: 1 1 calc(50% - 4px);
    }

    .vehicle-search-combobox-input,
    .vehicle-selector-field select {
        min-height: 44px;
    }

    .vehicle-selector-form > button {
        flex: 1 0 100%;
        width: 100%;
    }

}

@media (max-width: 560px) {
    .header-search-panel {
        padding: 28px 18px 20px;
    }

    .header-search-panel h2 {
        font-size: 25px;
    }

    .header-search-form {
        grid-template-columns: 1fr;
    }

    .vehicle-selector-field {
        flex-basis: 100%;
    }

    .header-search-form button,
    .vehicle-selector-form > button {
        width: 100%;
        min-height: 48px;
    }

    .vehicle-selector-layout {
        padding-top: 12px;
        padding-bottom: 12px;
    }

}

@media (hover: none), (pointer: coarse) {
    .product-gallery-main.product-legacy-gallery-main.is-zooming img {
        transform: none;
    }
}
/* Popup comercial administrado desde el Backoffice. */
.site-popup-dialog{width:min(494px,calc(100vw - 24px));max-width:none;margin:auto;padding:0;border:0;background:transparent;color:#fff;overflow:visible}.site-popup-dialog::backdrop{background:rgba(0,0,0,.72)}.site-popup-panel{position:relative;overflow:hidden;background:#111;box-shadow:0 18px 56px rgba(0,0,0,.5)}.site-popup-link,.site-popup-link img{display:block;width:100%}.site-popup-link{color:inherit}.site-popup-link img{height:auto}.site-popup-close{position:absolute;z-index:2;top:-10px;right:-10px;display:grid;width:44px;height:44px;padding:0;place-items:center;border:2px solid #fff;border-radius:50%;background:rgba(17,17,17,.92);color:#fff;font:700 30px/1 Arial,sans-serif;cursor:pointer}.site-popup-close:hover{background:#ed2344}.site-popup-close:focus-visible{outline:3px solid #00d7ee;outline-offset:-6px}@media(max-width:560px){.site-popup-dialog{width:calc(100vw - 16px)}}@media(prefers-reduced-motion:no-preference){.site-popup-dialog[open]{animation:site-popup-enter .2s ease-out}}@keyframes site-popup-enter{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
