/* ==========================================================
   VOLVO SHOP REDESIGN V1
   Stage 1: header, navigation, hero, homepage product cards
   ========================================================== */

body.volvo-shop-v1 {
    --vs-navy: #101c28;
    --vs-navy-2: #182a3a;
    --vs-blue: #0067b9;
    --vs-blue-dark: #00579e;
    --vs-gold: #d7a62e;
    --vs-gold-soft: #e7bd52;
    --vs-ink: #111820;
    --vs-muted: #6f7780;
    --vs-line: #e2e7eb;
    --vs-panel: #f5f7f8;
    --vs-white: #fff;

    color: var(--vs-ink);
    background: #fff;
}


/* ---------- service strip ---------- */

.volvo-service-strip {
    display: block;
    background: var(--vs-navy);
    color: #eaf0f4;
    font-size: 12px;
}

.volvo-service-strip__inner {
    min-height: 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.volvo-service-strip__items {
    display: flex;
    align-items: center;
    gap: 28px;
}

.volvo-service-strip__item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.volvo-service-strip__item i {
    color: #dbe6ed;
}

.volvo-service-strip__hours {
    opacity: .88;
    white-space: nowrap;
}


/* ---------- header ---------- */

body.volvo-shop-v1 .header {
    background: #fff;
    box-shadow: 0 1px 0 rgba(15,31,45,.08);
}

body.volvo-shop-v1 .header__top {
    min-height: 36px;
    background: #f7f9fa;
    border-bottom: 1px solid var(--vs-line);
}

body.volvo-shop-v1 .header__top .container {
    min-height: 36px;
}

body.volvo-shop-v1 .header__center {
    padding: 12px 0;
    background: #fff;
}

body.volvo-shop-v1 .header__center .container {
    min-height: 66px;
}

body.volvo-shop-v1 .header__logo {
    flex: 0 0 auto;
    margin-right: 24px;
}

body.volvo-shop-v1 .header__logo img,
body.volvo-shop-v1 .header__logo svg {
    max-height: 52px;
}

body.volvo-shop-v1 .header__menu {
    gap: 2px;
}

body.volvo-shop-v1 .header__menu a {
    color: var(--vs-ink);
    font-weight: 600;
}

body.volvo-shop-v1 .header-contact__section {
    color: var(--vs-ink);
    font-weight: 700;
}

body.volvo-shop-v1 .header__bottom {
    background: #fff;
    border-top: 1px solid var(--vs-line);
    border-bottom: 1px solid var(--vs-line);
}

body.volvo-shop-v1 .header__bottom_panel {
    min-height: 64px;
    gap: 12px;
    align-items: center;
}


/* ---------- catalog button ---------- */

body.volvo-shop-v1 .catalog_button {
    min-width: 230px;
    height: 48px;
    border-radius: 7px;
    overflow: hidden;
    background: var(--vs-blue);
    color: #fff;
}

body.volvo-shop-v1 .catalog_button__heading {
    width: 100%;
    padding: 0 18px;
    gap: 12px;
    font-weight: 700;
}

body.volvo-shop-v1 .catalog_button:hover {
    background: var(--vs-blue-dark);
}


/* ---------- search ---------- */

body.volvo-shop-v1 .search {
    flex: 1 1 auto;
    max-width: none;
    height: 48px;
    border: 1px solid #ccd5dc;
    border-radius: 7px;
    background: #fff;
    overflow: hidden;
}

body.volvo-shop-v1 .search__input {
    height: 46px;
    padding-left: 18px;
    border: 0;
    background: #fff;
    font-size: 14px;
}

body.volvo-shop-v1 .search__button {
    width: 62px;
    min-width: 62px;
    height: 48px;
    border-radius: 0;
    background: var(--vs-blue);
}

body.volvo-shop-v1 .search__button:hover {
    background: var(--vs-blue-dark);
}


/* ---------- VIN ---------- */

body.volvo-shop-v1 .vida-vin-open {
    min-width: 178px;
    height: 48px;
    padding: 0 20px;
    border: 0;
    border-radius: 7px;
    background: var(--vs-gold);
    color: #161616;
    font-weight: 800;
    box-shadow: none;
}

body.volvo-shop-v1 .vida-vin-open:hover {
    background: var(--vs-gold-soft);
}


/* ---------- informers ---------- */

body.volvo-shop-v1 .header_informers {
    gap: 2px;
}

body.volvo-shop-v1 .header_informers__item {
    width: 48px;
    height: 48px;
    border-radius: 7px;
    transition: background .15s ease;
}

body.volvo-shop-v1 .header_informers__item:hover {
    background: #f1f4f6;
}


/* ---------- homepage hero ---------- */

.volvo-shop-hero {
    position: relative;
    min-height: 390px;
    margin: 18px auto 22px;
    overflow: hidden;
    border-radius: 14px;
    background:
        linear-gradient(
            90deg,
            rgba(11,20,29,.93) 0%,
            rgba(11,20,29,.80) 34%,
            rgba(11,20,29,.18) 70%,
            rgba(11,20,29,.05) 100%
        ),
        url("../images/volvo-redesign/hero-volvo-ex40.jpg")
        center 54% / cover no-repeat;
    color: #fff;
}

.volvo-shop-hero__content {
    position: relative;
    z-index: 2;
    max-width: 610px;
    padding: 54px 52px 48px;
}

.volvo-shop-hero__eyebrow {
    margin: 0 0 18px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: rgba(255,255,255,.78);
}

.volvo-shop-hero h1 {
    margin: 0;
    max-width: 590px;
    color: #fff;
    font-size: clamp(34px, 4vw, 56px);
    line-height: 1.01;
    letter-spacing: -.035em;
}

.volvo-shop-hero__lead {
    max-width: 490px;
    margin: 20px 0 0;
    font-size: 16px;
    line-height: 1.55;
    color: rgba(255,255,255,.88);
}

.volvo-shop-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.volvo-shop-hero__vin,
.volvo-shop-hero__catalog {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 22px;
    border-radius: 7px;
    font-weight: 800;
    text-decoration: none;
}

.volvo-shop-hero__vin {
    border: 0;
    background: var(--vs-gold);
    color: #151515;
    cursor: pointer;
}

.volvo-shop-hero__catalog {
    border: 1px solid rgba(255,255,255,.45);
    color: #fff;
    background: rgba(10,20,28,.25);
}

.volvo-shop-hero__vin:hover {
    background: var(--vs-gold-soft);
}

.volvo-shop-hero__catalog:hover {
    color: #fff;
    background: rgba(255,255,255,.10);
}


/* ---------- homepage sections ---------- */

body.volvo-shop-v1 .main-products {
    margin-top: 24px;
    margin-bottom: 24px;
}

body.volvo-shop-v1 .main-products .block {
    border: 0;
    background: transparent;
}

body.volvo-shop-v1 .main-products .block__header {
    padding: 0 0 16px;
    border: 0;
}

body.volvo-shop-v1 .main-products .block__title {
    color: var(--vs-ink);
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -.025em;
}

body.volvo-shop-v1 .main-products .block__body {
    padding: 0;
}


/* ---------- product grid/cards ---------- */

body.volvo-shop-v1 .products_grid--homepage {
    gap: 14px;
}

body.volvo-shop-v1 .products_grid__item {
    background: transparent;
}

body.volvo-shop-v1 .product_preview {
    height: 100%;
    overflow: hidden;
    border: 1px solid var(--vs-line);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 2px 10px rgba(15,31,45,.03);
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease;
}

body.volvo-shop-v1 .product_preview:hover {
    transform: translateY(-2px);
    border-color: #cbd4db;
    box-shadow: 0 10px 28px rgba(15,31,45,.08);
}

body.volvo-shop-v1 .product_preview__center {
    background: #fff;
}

body.volvo-shop-v1 .product_preview__image {
    min-height: 235px;
    padding: 14px;
    background: #fafbfb;
}

body.volvo-shop-v1 .product_preview__image img {
    max-height: 220px;
    object-fit: contain;
}

body.volvo-shop-v1 .product_preview .button,
body.volvo-shop-v1 .product_preview button[type="submit"] {
    border-radius: 6px;
}


/* ---------- footer ---------- */

body.volvo-shop-v1 .footer {
    margin-top: 46px;
    padding-top: 42px;
    background: var(--vs-navy);
    color: #dce5eb;
}

body.volvo-shop-v1 .footer a {
    color: #dce5eb;
}

body.volvo-shop-v1 .footer__title {
    color: #fff;
    font-weight: 800;
}

body.volvo-shop-v1 .footer__copyright {
    margin-top: 32px;
    border-top: 1px solid rgba(255,255,255,.12);
    background: #0c1721;
}


/* ---------- responsive ---------- */

@media (max-width: 991px) {
    .volvo-service-strip {
        display: none;
    }

    .volvo-shop-hero {
        min-height: 360px;
        margin-top: 14px;
    }

    .volvo-shop-hero__content {
        max-width: 560px;
        padding: 42px 34px;
    }
}

@media (max-width: 767px) {
    .volvo-shop-hero {
        min-height: 430px;
        border-radius: 0;
        background-position: 62% center;
    }

    .volvo-shop-hero::after {
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(7,16,23,.20);
    }

    .volvo-shop-hero__content {
        padding: 38px 22px;
    }

    .volvo-shop-hero h1 {
        font-size: 36px;
    }

    .volvo-shop-hero__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .volvo-shop-hero__vin,
    .volvo-shop-hero__catalog {
        width: 100%;
    }
}


/* ==========================================================
   VOLVO SHOP HOME V2
   Approved Scandinavian hero composition
   ========================================================== */

.volvo-home-v2 {
    margin-top: 18px;
}


/* ---------- HERO V2 ---------- */

.volvo-shop-hero-v2 {
    position: relative;
    min-height: 355px;
    overflow: hidden;
    border-radius: 12px;

    background-image:
        linear-gradient(
            90deg,
            rgba(11,22,32,.88) 0%,
            rgba(11,22,32,.75) 26%,
            rgba(11,22,32,.32) 45%,
            rgba(11,22,32,.02) 67%
        ),
        url("../images/volvo-redesign/hero-volvo-coast-v2.webp");

    background-size: cover;
    background-position: center center;

    color: #fff;
}

.volvo-shop-hero-v2__content {
    position: relative;
    z-index: 2;

    width: 47%;
    min-width: 520px;

    padding:
        48px
        0
        44px
        42px;
}

.volvo-shop-hero-v2__eyebrow {
    margin-bottom: 17px;

    color: rgba(255,255,255,.76);

    font-size: 10px;
    font-weight: 700;

    letter-spacing: .27em;

    text-transform: uppercase;
}

.volvo-shop-hero-v2 h1 {
    max-width: 560px;
    margin: 0;

    color: #fff;

    font-size: 40px;
    line-height: 1.04;
    font-weight: 700;

    letter-spacing: -.035em;
}

.volvo-shop-hero-v2__lead {
    margin: 17px 0 0;

    color: rgba(255,255,255,.88);

    font-size: 14px;
    line-height: 1.5;
}

.volvo-shop-hero-v2__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 12px;

    margin-top: 25px;
}

.volvo-shop-hero-v2__vin,
.volvo-shop-hero-v2__catalog {
    min-height: 46px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 15px;

    padding: 0 21px;

    border-radius: 6px;

    font-size: 13px;
    font-weight: 700;

    text-decoration: none;

    transition:
        background .16s ease,
        border-color .16s ease,
        transform .16s ease;
}

.volvo-shop-hero-v2__vin {
    border: 1px solid #d9a92f;

    background: #d9a92f;
    color: #111820;

    cursor: pointer;
}

.volvo-shop-hero-v2__vin:hover {
    background: #e4b73f;
    border-color: #e4b73f;
}

.volvo-shop-hero-v2__catalog {
    border: 1px solid rgba(255,255,255,.48);

    color: #fff;

    background: rgba(10,20,30,.18);
}

.volvo-shop-hero-v2__catalog:hover {
    color: #fff;

    border-color: rgba(255,255,255,.75);

    background: rgba(255,255,255,.09);
}

.volvo-shop-hero-v2__vin:hover,
.volvo-shop-hero-v2__catalog:hover {
    transform: translateY(-1px);
}


/* ---------- right signature ---------- */

.volvo-shop-hero-v2__signature {
    position: absolute;

    z-index: 2;

    top: 51px;
    right: 38px;

    display: flex;
    flex-direction: column;

    gap: 4px;

    color: rgba(255,255,255,.82);

    font-size: 9px;
    line-height: 1.35;

    letter-spacing: .27em;
}

.volvo-shop-hero-v2__signature strong {
    margin-bottom: 7px;

    color: #fff;

    font-size: 10px;
}


/* ---------- CATEGORY RAIL ---------- */

.volvo-category-rail {
    margin-top: 16px;
}

.volvo-category-rail__inner {
    display: grid;

    grid-template-columns:
        repeat(7, minmax(0, 1fr));

    gap: 12px;
}

.volvo-category-tile {
    overflow: hidden;

    border: 1px solid #e1e6ea;
    border-radius: 9px;

    background: #f7f8f9;

    color: #121820;

    text-decoration: none;

    transition:
        transform .16s ease,
        border-color .16s ease,
        box-shadow .16s ease;
}

.volvo-category-tile:hover {
    color: #121820;

    transform: translateY(-2px);

    border-color: #cbd3d9;

    box-shadow:
        0
        9px
        25px
        rgba(14,31,45,.07);
}

.volvo-category-tile__media {
    height: 108px;

    display: flex;

    align-items: center;
    justify-content: center;

    overflow: hidden;

    background:
        linear-gradient(
            180deg,
            #fbfcfc,
            #f1f3f4
        );
}

.volvo-category-tile__media picture {
    width: 100%;
    height: 100%;
}

.volvo-category-tile__media img {
    width: 100%;
    height: 100%;

    object-fit: contain;

    padding: 10px;

    transition:
        transform .2s ease;
}

.volvo-category-tile:hover
.volvo-category-tile__media img {
    transform: scale(1.035);
}

.volvo-category-tile__svg {
    width: 74px;
    height: 74px;

    display: flex;

    align-items: center;
    justify-content: center;
}

.volvo-category-tile__svg svg {
    width: 100%;
    height: 100%;
}

.volvo-category-tile__placeholder {
    color: #b2bac0;

    font-size: 13px;
    font-weight: 800;

    letter-spacing: .14em;
}

.volvo-category-tile__footer {
    min-height: 54px;

    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 10px;

    padding: 10px 12px;

    background: #fff;
}

.volvo-category-tile__footer strong {
    overflow: hidden;

    font-size: 12px;
    line-height: 1.25;

    text-overflow: ellipsis;
}

.volvo-category-tile__footer span {
    flex: 0 0 auto;

    color: #42515e;

    font-size: 17px;
}


/* ---------- NEW PRODUCTS ---------- */

body.volvo-shop-v1
.main-products__new {
    margin-top: 29px;
}

body.volvo-shop-v1
.main-products__new
.block__title {
    font-size: 25px;
}

body.volvo-shop-v1
.main-products__new
.products_grid--homepage {
    display: grid;

    grid-template-columns:
        repeat(5, minmax(0, 1fr));

    gap: 13px;
}

body.volvo-shop-v1
.main-products__new
.products_grid__item {
    width: auto;
    max-width: none;
    flex: none;
}

body.volvo-shop-v1
.main-products__new
.product_preview {
    min-width: 0;

    border-radius: 8px;
}

body.volvo-shop-v1
.main-products__new
.product_preview__image {
    min-height: 205px;
}


/* old V1 hero must never render if stale compiled CSS exists */

.volvo-shop-hero {
    display: none;
}


/* ---------- RESPONSIVE ---------- */

@media (max-width: 1250px) {

    .volvo-category-rail__inner {
        grid-template-columns:
            repeat(4, minmax(0, 1fr));
    }

    body.volvo-shop-v1
    .main-products__new
    .products_grid--homepage {
        grid-template-columns:
            repeat(4, minmax(0, 1fr));
    }

}


@media (max-width: 991px) {

    .volvo-shop-hero-v2 {
        min-height: 380px;

        background-position:
            62% center;
    }

    .volvo-shop-hero-v2__content {
        width: 62%;
        min-width: 0;

        padding:
            43px
            28px
            38px;
    }

    .volvo-shop-hero-v2 h1 {
        font-size: 36px;
    }

    .volvo-shop-hero-v2__signature {
        display: none;
    }

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

    body.volvo-shop-v1
    .main-products__new
    .products_grid--homepage {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

}


@media (max-width: 767px) {

    .volvo-home-v2 {
        padding-left: 0;
        padding-right: 0;
    }

    .volvo-shop-hero-v2 {
        min-height: 470px;

        border-radius: 0;

        background-position:
            68% center;
    }

    .volvo-shop-hero-v2::after {
        content: "";

        position: absolute;

        inset: 0;

        background:
            rgba(7,16,23,.15);

        pointer-events: none;
    }

    .volvo-shop-hero-v2__content {
        width: 100%;

        padding:
            38px
            22px;
    }

    .volvo-shop-hero-v2 h1 {
        max-width: 430px;

        font-size: 34px;
    }

    .volvo-shop-hero-v2__actions {
        align-items: stretch;
        flex-direction: column;

        max-width: 340px;
    }

    .volvo-shop-hero-v2__vin,
    .volvo-shop-hero-v2__catalog {
        width: 100%;
    }

    .volvo-category-rail {
        padding:
            0
            12px;
    }

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

    body.volvo-shop-v1
    .main-products__new
    .products_grid--homepage {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 480px) {

    .volvo-category-rail__inner {
        grid-template-columns:
            1fr
            1fr;
    }

    body.volvo-shop-v1
    .main-products__new
    .products_grid--homepage {
        grid-template-columns:
            1fr;
    }

}


/* ==========================================================
   VOLVO SHOP HEADER V3
   Three-level premium commerce header
   ========================================================== */


/* ---------- service strip ---------- */

.volvo-header-v3 .volvo-service-strip {
    background: #122331;
    color: #eef3f6;
}

.volvo-service-strip__right {
    display: flex;
    align-items: center;
    gap: 22px;
}

.volvo-service-strip__switcher {
    display: flex;
    align-items: center;
}

.volvo-service-strip__switcher,
.volvo-service-strip__switcher a,
.volvo-service-strip__switcher span {
    color: #eef3f6;
}


/* ---------- main row ---------- */

.volvo-header-main {
    background: #fff;
}

.volvo-header-main__inner {
    min-height: 78px;

    display: grid;

    grid-template-columns:
        auto
        minmax(360px, 1fr)
        auto
        auto;

    align-items: center;

    gap: 25px;
}


/* ---------- brand ---------- */

.volvo-header-brand {
    min-width: 240px;

    display: flex;
    align-items: center;
}

.volvo-header-brand__logo {
    margin: 0;
}

.volvo-header-brand__logo img,
.volvo-header-brand__logo svg {
    width: auto;
    max-width: 112px;
    max-height: 45px;
}

.volvo-header-brand__divider {
    width: 1px;
    height: 42px;

    margin:
        0
        16px;

    background: #d4dbe0;
}

.volvo-header-brand__copy {
    display: flex;
    flex-direction: column;

    color: #13202b;

    line-height: 1.08;
}

.volvo-header-brand__copy strong {
    margin-bottom: 4px;

    font-size: 15px;
    font-weight: 800;

    letter-spacing: .05em;
}

.volvo-header-brand__copy span {
    font-size: 8px;
    font-weight: 600;

    letter-spacing: .055em;

    color: #64717b;
}


/* ---------- main search ---------- */

.volvo-header-v3
.volvo-header-search {
    width: 100%;
    max-width: none;

    height: 48px;

    margin: 0;

    display: flex;

    overflow: hidden;

    border:
        1px
        solid
        #d6dde2;

    border-radius: 7px;

    box-shadow:
        0
        2px
        6px
        rgba(15,31,45,.025);
}

.volvo-header-v3
.volvo-header-search
.search__input {
    flex: 1 1 auto;

    width: auto;
    height: 46px;

    padding:
        0
        17px;

    border: 0;

    color: #202a32;

    font-size: 13px;
}

.volvo-header-v3
.volvo-header-search__button {
    width: 91px;
    min-width: 91px;
    height: 48px;

    position: static;

    border: 0;
    border-radius: 0;

    background: #0067b9;

    color: #fff;

    font-size: 13px;
    font-weight: 700;
}

.volvo-header-v3
.volvo-header-search__button::before,
.volvo-header-v3
.volvo-header-search__button::after {
    display: none;
}

.volvo-header-v3
.volvo-header-search__button span {
    display: block;
}


/* ---------- phone ---------- */

.volvo-header-phone {
    white-space: nowrap;
}

.volvo-header-phone__link {
    display: flex;
    align-items: center;

    gap: 10px;

    color: #13202b;

    text-decoration: none;
}

.volvo-header-phone__link svg {
    width: 20px;
    height: 20px;
}

.volvo-header-phone__link > span {
    display: flex;
    flex-direction: column;

    gap: 2px;
}

.volvo-header-phone__link strong {
    font-size: 14px;
    line-height: 1;
}

.volvo-header-phone__link small {
    color: #0067b9;

    font-size: 9px;
    line-height: 1.1;

    text-decoration: underline;
}


/* ---------- tools ---------- */

.volvo-header-tools {
    display: flex;
    align-items: center;

    gap: 7px;
}

.volvo-header-tool {
    position: relative;

    width: 53px;
    min-width: 53px;
    min-height: 52px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 3px;

    border-radius: 7px;

    transition:
        background .15s ease;
}

.volvo-header-tool:hover {
    background: #f3f6f7;
}

.volvo-header-tool > a,
.volvo-header-tool > div {
    display: flex;
    align-items: center;
    justify-content: center;
}

.volvo-header-tool svg {
    max-width: 25px;
    max-height: 25px;
}

.volvo-header-tool__caption {
    color: #3e4a54;

    font-size: 8px;
    line-height: 1;

    white-space: nowrap;
}


/* account informer text cleanup in compact tool */

.volvo-header-tool--profile
.user_informer__name,
.volvo-header-tool--profile
.account__text {
    display: none;
}


/* ---------- navigation row ---------- */

.volvo-header-nav {
    position: relative;

    border-top:
        1px
        solid
        #e4e8eb;

    border-bottom:
        1px
        solid
        #dce2e6;

    background: #fff;
}

.volvo-header-nav__inner {
    position: relative;

    min-height: 58px;

    display: grid;

    grid-template-columns:
        220px
        minmax(0, 1fr)
        185px;

    align-items: center;

    gap: 10px;
}


/* ---------- catalog CTA ---------- */

.volvo-header-v3
.volvo-header-catalog {
    width: 220px;
    min-width: 220px;
    height: 44px;

    margin: 0;

    display: flex;

    border-radius: 6px;

    background: #0067b9;

    color: #fff;
}

.volvo-header-v3
.volvo-header-catalog
.catalog_button__heading {
    width: 100%;
    height: 44px;

    padding:
        0
        15px;

    display: flex;
    align-items: center;

    gap: 11px;

    font-size: 13px;
    font-weight: 700;
}

.volvo-header-catalog__arrow {
    margin-left: auto;
}

.volvo-header-catalog__arrow svg {
    transform: rotate(90deg);
}


/* ---------- menu ---------- */

.volvo-header-menu {
    min-width: 0;

    display: flex;
    align-items: center;

    overflow: hidden;
}

.volvo-header-menu > ul,
.volvo-header-menu .menu {
    width: 100%;

    display: flex;
    align-items: center;

    gap: 0;

    margin: 0;
    padding: 0;
}

.volvo-header-menu li {
    list-style: none;
}

.volvo-header-menu a {
    min-height: 44px;

    display: flex;
    align-items: center;

    padding:
        0
        14px;

    color: #17212a;

    font-size: 12px;
    font-weight: 600;

    text-decoration: none;

    white-space: nowrap;

    border-radius: 5px;
}

.volvo-header-menu a:hover {
    color: #0067b9;

    background: #f4f7f8;
}


/* ---------- VIN ---------- */

.volvo-header-v3
.volvo-header-vin {
    width: 185px;
    min-width: 185px;
    height: 44px;

    margin: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 10px;

    border-radius: 6px;

    font-size: 13px;
}

.volvo-header-v3
.volvo-header-vin i {
    font-size: 18px;
}


/* ---------- dropdown catalogue ---------- */

.volvo-header-v3
.volvo-header-nav
.categories_nav {
    top: 58px;
    left: 0;
}


/* ---------- remove legacy desktop rows ---------- */

.volvo-header-v3
.header__top,
.volvo-header-v3
.header__center,
.volvo-header-v3
.header__bottom {
    display: none;
}


/* ---------- mobile ---------- */

.volvo-mobile-header {
    padding:
        9px
        0
        11px;

    background: #fff;

    border-bottom:
        1px
        solid
        #dde3e7;
}

.volvo-mobile-header__top {
    min-height: 48px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 15px;
}

.volvo-mobile-header
.header__logo img,
.volvo-mobile-header
.header__logo svg {
    max-height: 38px;
}

.volvo-mobile-header__actions {
    display: flex;
    align-items: center;

    gap: 4px;
}

.volvo-mobile-search {
    margin-top: 9px;
}

.volvo-mobile-vin {
    width: 100%;

    margin-top: 8px;
}


/* ---------- responsive desktop ---------- */

@media (max-width: 1350px) {

    .volvo-header-main__inner {
        grid-template-columns:
            auto
            minmax(300px, 1fr)
            auto
            auto;

        gap: 15px;
    }

    .volvo-header-brand {
        min-width: 195px;
    }

    .volvo-header-brand__copy span {
        display: none;
    }

    .volvo-header-nav__inner {
        grid-template-columns:
            205px
            minmax(0,1fr)
            170px;
    }

    .volvo-header-v3
    .volvo-header-catalog {
        width: 205px;
        min-width: 205px;
    }

    .volvo-header-v3
    .volvo-header-vin {
        width: 170px;
        min-width: 170px;
    }

    .volvo-header-menu a {
        padding:
            0
            10px;

        font-size: 11px;
    }

}


@media (max-width: 1150px) {

    .volvo-header-phone__link small {
        display: none;
    }

    .volvo-header-tool__caption {
        display: none;
    }

    .volvo-header-tool {
        width: 42px;
        min-width: 42px;
    }

    .volvo-header-brand__divider,
    .volvo-header-brand__copy {
        display: none;
    }

    .volvo-header-brand {
        min-width: 110px;
    }

}

/* ==========================================================
   VOLVO SHOP CURATED CATEGORIES V4
   ========================================================== */

.volvo-shop-hero-v2 {
    min-height: 345px;
}

.volvo-shop-hero-v2__content {
    width: 46%;
    min-width: 510px;
    padding: 46px 0 41px 40px;
}

.volvo-shop-hero-v2 h1 {
    max-width: 540px;
    font-size: 38px;
    line-height: 1.035;
}

.volvo-shop-hero-v2__signature {
    opacity: .67;
}

.volvo-category-showcase {
    margin-top: 24px;
}

.volvo-category-showcase__header {
    min-height: 54px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 15px;
}

.volvo-category-showcase__eyebrow {
    display: block;
    margin-bottom: 4px;
    color: #6f7880;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .22em;
}

.volvo-category-showcase__header h2 {
    margin: 0;
    color: #111820;
    font-size: 25px;
    line-height: 1.05;
    font-weight: 800;
    letter-spacing: -.025em;
}

.volvo-category-showcase__all {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 2px;
    color: #0067b9;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.volvo-category-showcase__all:hover {
    text-decoration: underline;
}

.volvo-category-showcase__grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 12px;
}

.volvo-category-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e0e5e9;
    border-radius: 9px;
    background: #fff;
    color: #111820;
    text-decoration: none;
    box-shadow: 0 2px 8px rgba(17,32,44,.025);
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease;
}

.volvo-category-card:hover {
    color: #111820;
    transform: translateY(-3px);
    border-color: #c9d1d7;
    box-shadow: 0 12px 28px rgba(17,32,44,.085);
}

.volvo-category-card__media {
    position: relative;
    height: 125px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #f9fafb, #eef1f3);
}

.volvo-category-card__media picture {
    width: 100%;
    height: 100%;
}

.volvo-category-card__media img {
    width: 100%;
    height: 100%;
    padding: 8px;
    object-fit: contain;
    transition: transform .22s ease;
}

.volvo-category-card:hover .volvo-category-card__media img {
    transform: scale(1.045);
}

.volvo-category-card__svg {
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.volvo-category-card__svg svg {
    width: 100%;
    height: 100%;
}

.volvo-category-card__fallback {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #f8fafb, #e8ecef);
}

.volvo-category-card__fallback span {
    color: #b2bbc1;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: .11em;
}

.volvo-category-card__badge {
    position: absolute;
    top: 9px;
    left: 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 31px;
    height: 22px;
    padding: 0 7px;
    border-radius: 4px;
    background: rgba(17,32,44,.83);
    color: #fff;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .06em;
}

.volvo-category-card__body {
    min-height: 77px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 12px 13px;
}

.volvo-category-card__body > div {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.volvo-category-card__body strong {
    display: block;
    overflow: hidden;
    color: #121820;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 800;
    text-overflow: ellipsis;
}

.volvo-category-card__body span {
    display: -webkit-box;
    overflow: hidden;
    color: #737c84;
    font-size: 9px;
    line-height: 1.25;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.volvo-category-card__body i {
    flex: 0 0 auto;
    color: #4f5c65;
    font-size: 17px;
    font-style: normal;
}

body.volvo-shop-v1 .main-products__new {
    margin-top: 34px;
}

body.volvo-shop-v1 .main-products__new .block__title {
    position: relative;
    padding-left: 17px;
    font-size: 25px;
}

body.volvo-shop-v1 .main-products__new .block__title::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 4px;
    height: 22px;
    border-radius: 2px;
    background: #0067b9;
    transform: translateY(-50%);
}

@media (max-width: 1300px) {
    .volvo-category-showcase__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 991px) {
    .volvo-category-showcase__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .volvo-shop-hero-v2__content {
        width: 64%;
        min-width: 0;
    }
}

@media (max-width: 767px) {
    .volvo-category-showcase {
        padding: 0 12px;
    }

    .volvo-category-showcase__header {
        align-items: flex-start;
    }

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

@media (max-width: 430px) {
    .volvo-category-showcase__header {
        flex-direction: column;
        gap: 8px;
    }

    .volvo-category-showcase__grid {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================
   VOLVO SHOP PRODUCT CARDS V5
   Homepage only
   ========================================================== */


/* ---------- section ---------- */

body.volvo-shop-v1
.main-products__new {
    margin-top: 38px;
    margin-bottom: 34px;
}

body.volvo-shop-v1
.main-products__new
.block {
    overflow: visible;
}

body.volvo-shop-v1
.main-products__new
.block__header {
    min-height: 46px;

    display: flex;
    align-items: center;

    margin-bottom: 15px;
    padding: 0;
}

body.volvo-shop-v1
.main-products__new
.block__title {
    position: relative;

    margin: 0;
    padding-left: 19px;

    color: #111820;

    font-size: 26px;
    line-height: 1.05;
    font-weight: 800;

    letter-spacing: -.025em;
}

body.volvo-shop-v1
.main-products__new
.block__title::before {
    content: "";

    position: absolute;

    top: 50%;
    left: 0;

    width: 4px;
    height: 24px;

    border-radius: 4px;

    background: #0067b9;

    transform: translateY(-50%);
}


/* ---------- grid ---------- */

body.volvo-shop-v1
.main-products__new
.products_grid--homepage {
    display: grid;

    grid-template-columns:
        repeat(5, minmax(0, 1fr));

    gap: 14px;
}

body.volvo-shop-v1
.main-products__new
.products_grid__item {
    width: auto !important;
    max-width: none !important;
    min-width: 0;

    display: flex;
}


/* ---------- base card ---------- */

body.volvo-shop-v1
.main-products__new
.product_preview {
    position: relative;

    width: 100%;
    min-width: 0;
    height: 100%;

    display: flex;
    flex-direction: column;

    overflow: hidden;

    border: 1px solid #e0e5e9;
    border-radius: 10px;

    background: #fff;

    box-shadow:
        0 2px 10px
        rgba(16,31,43,.035);

    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

body.volvo-shop-v1
.main-products__new
.product_preview:hover {
    transform: translateY(-3px);

    border-color: #c9d2d8;

    box-shadow:
        0 13px 34px
        rgba(16,31,43,.095);
}

body.volvo-shop-v1
.main-products__new
.product_preview
.fn_transfer {
    height: 100%;

    display: flex;
    flex-direction: column;
}

body.volvo-shop-v1
.main-products__new
.product_preview__center {
    flex: 1 1 auto;

    display: flex;
    flex-direction: column;

    padding: 0;

    background: #fff;
}


/* ---------- image area ---------- */

body.volvo-shop-v1
.main-products__new
.product_preview__image {
    position: relative;

    min-height: 220px;
    height: 220px;

    margin: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    padding: 14px;

    background:
        linear-gradient(
            180deg,
            #fbfcfc 0%,
            #f5f7f8 100%
        );

    border-bottom:
        1px
        solid
        #edf0f2;
}

body.volvo-shop-v1
.main-products__new
.product_preview__image > a {
    width: 100%;
    height: 100%;
}

body.volvo-shop-v1
.main-products__new
.product_preview__image
picture {
    width: 100%;
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: center;
}

body.volvo-shop-v1
.main-products__new
.product_preview__image
.preview_img,
body.volvo-shop-v1
.main-products__new
.product_preview__image
img {
    width: 100%;
    height: 100%;

    max-width: 100%;
    max-height: 190px;

    object-fit: contain;

    mix-blend-mode: multiply;

    transition:
        transform .22s ease;
}

body.volvo-shop-v1
.main-products__new
.product_preview:hover
.product_preview__image
img {
    transform: scale(1.035);
}


/* ---------- wishlist ---------- */

body.volvo-shop-v1
.main-products__new
.wishlist_button {
    position: absolute;

    z-index: 4;

    top: 11px;
    right: 11px;

    width: 34px;
    height: 34px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border:
        1px
        solid
        #dbe1e5;

    border-radius: 50%;

    background:
        rgba(255,255,255,.94);

    color: #52616c;

    font-size: 16px;

    box-shadow:
        0
        2px
        7px
        rgba(20,35,47,.06);
}

body.volvo-shop-v1
.main-products__new
.wishlist_button:hover,
body.volvo-shop-v1
.main-products__new
.wishlist_button.selected {
    border-color: #0067b9;

    color: #0067b9;

    background: #fff;
}


/* ---------- product name ---------- */

body.volvo-shop-v1
.main-products__new
.product_preview__name {
    min-height: 82px;

    margin: 0;

    padding:
        15px
        14px
        5px;
}

body.volvo-shop-v1
.main-products__new
.product_preview__name_link {
    display: -webkit-box;

    overflow: hidden;

    color: #171d22;

    font-size: 13px;
    line-height: 1.32;
    font-weight: 700;

    text-decoration: none;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

body.volvo-shop-v1
.main-products__new
.product_preview__name_link:hover {
    color: #0067b9;
}


/* ---------- SKU ---------- */

body.volvo-shop-v1
.main-products__new
.product_preview__sku {
    display: flex;
    align-items: center;

    gap: 4px;

    margin-top: 7px;

    color: #899198;

    font-size: 9px;
    line-height: 1.15;
    font-weight: 500;
}

body.volvo-shop-v1
.main-products__new
.product_preview__sku
.sku__nubmer {
    color: #66717a;

    font-weight: 700;
}


/* ---------- price ---------- */

body.volvo-shop-v1
.main-products__new
.product_preview__prices {
    min-height: 47px;

    display: flex;
    align-items: flex-end;

    gap: 8px;

    margin: 0;

    padding:
        3px
        14px
        13px;
}

body.volvo-shop-v1
.main-products__new
.product_preview__prices
.price {
    margin: 0;

    color: #111820;

    font-size: 21px;
    line-height: 1;
    font-weight: 800;

    letter-spacing: -.02em;
}

body.volvo-shop-v1
.main-products__new
.product_preview__prices
.price--red {
    color: #c73535;
}

body.volvo-shop-v1
.main-products__new
.product_preview__prices
.old_price {
    margin-bottom: 2px;

    color: #9ba2a7;

    font-size: 11px;
    line-height: 1;

    text-decoration: line-through;
}

body.volvo-shop-v1
.main-products__new
.product_preview__prices
.currency {
    font-size: .55em;
    font-weight: 700;

    text-transform: uppercase;
}


/* ---------- bottom ---------- */

body.volvo-shop-v1
.main-products__new
.product_preview__bottom {
    margin-top: auto;

    padding:
        12px
        12px
        13px;

    border-top:
        1px
        solid
        #edf0f2;

    background: #fff;
}

body.volvo-shop-v1
.main-products__new
.preview_form {
    margin: 0;
}

body.volvo-shop-v1
.main-products__new
.product_preview__buttons {
    min-height: 40px;

    display: flex;
    align-items: center;

    gap: 7px;

    margin: 0;
}


/* ---------- buy button ---------- */

body.volvo-shop-v1
.main-products__new
.product_preview__button--buy {
    flex: 1 1 auto;

    min-width: 0;
    height: 40px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 7px;

    margin: 0;
    padding: 0 12px;

    border: 0;
    border-radius: 6px;

    background: #0067b9;

    color: #fff;

    font-size: 12px;
    font-weight: 700;

    box-shadow: none;

    transition:
        background .15s ease,
        transform .15s ease;
}

body.volvo-shop-v1
.main-products__new
.product_preview__button--buy:hover {
    background: #00579e;

    transform: translateY(-1px);
}

body.volvo-shop-v1
.main-products__new
.product_preview__button--buy::before {
    margin-right: 4px;
}


/* ---------- preorder / unavailable ---------- */

body.volvo-shop-v1
.main-products__new
.product_preview__button--pre_order {
    flex: 1 1 auto;

    height: 40px;

    border-radius: 6px;

    font-size: 11px;
    font-weight: 700;
}

body.volvo-shop-v1
.main-products__new
.product_preview__out_stock {
    min-height: 40px;

    flex: 1 1 auto;

    margin: 0;
    padding: 0 10px;

    align-items: center;

    border-radius: 6px;

    background: #f4f5f6;

    color: #7e878e;

    font-size: 10px;
    font-weight: 700;
}


/* ---------- compare ---------- */

body.volvo-shop-v1
.main-products__new
.comparison_button {
    flex:
        0
        0
        40px;

    width: 40px;
    height: 40px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin: 0;
    padding: 0;

    border:
        1px
        solid
        #d5dce1;

    border-radius: 6px;

    background: #fff;

    color: #53616b;

    font-size: 15px;

    text-decoration: none;
}

body.volvo-shop-v1
.main-products__new
.comparison_button:hover,
body.volvo-shop-v1
.main-products__new
.comparison_button.selected {
    border-color: #0067b9;

    color: #0067b9;

    background: #f7fbfe;
}


/* ---------- supplier stock ---------- */

body.volvo-shop-v1
.main-products__new
.tehnomir-stock {
    margin-top: 9px;
    padding: 8px 9px;

    border-radius: 5px;

    background: #f4f8f5;
}

body.volvo-shop-v1
.main-products__new
.tehnomir-stock__label {
    color: #2e7548;

    font-size: 9px;
    line-height: 1.3;
    font-weight: 700;
}

body.volvo-shop-v1
.main-products__new
.tehnomir-stock__delivery {
    margin-top: 2px;

    color: #758078;

    font-size: 8px;
    line-height: 1.3;
}


/* ---------- variants ---------- */

body.volvo-shop-v1
.main-products__new
.product_preview__variants {
    margin-top: 9px;
}


/* ---------- stickers ---------- */

body.volvo-shop-v1
.main-products__new
.sticker {
    border-radius: 4px;
}

body.volvo-shop-v1
.main-products__new
.sticker--hit,
body.volvo-shop-v1
.main-products__new
.sticker--featured {
    background: #132431;
}


/* ---------- responsive ---------- */

@media (max-width: 1300px) {

    body.volvo-shop-v1
    .main-products__new
    .products_grid--homepage {
        grid-template-columns:
            repeat(4, minmax(0, 1fr));
    }

}


@media (max-width: 991px) {

    body.volvo-shop-v1
    .main-products__new
    .products_grid--homepage {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

}


@media (max-width: 767px) {

    body.volvo-shop-v1
    .main-products__new
    .products_grid--homepage {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    body.volvo-shop-v1
    .main-products__new
    .product_preview__image {
        height: 190px;
        min-height: 190px;
    }

}


@media (max-width: 480px) {

    body.volvo-shop-v1
    .main-products__new
    .products_grid--homepage {
        grid-template-columns:
            1fr;
    }

    body.volvo-shop-v1
    .main-products__new
    .product_preview__image {
        height: 230px;
        min-height: 230px;
    }

}


/* ==========================================================
   VOLVO SHOP PRODUCT CARDS V5.1
   Reset legacy OkayCMS hover/absolute geometry
   Homepage only
   ========================================================== */


/* ---------- card geometry reset ---------- */

body.volvo-shop-v1
.main-products__new
.product_preview {
    position: relative !important;

    height: auto !important;
    min-height: 485px !important;

    overflow: hidden !important;
}

body.volvo-shop-v1
.main-products__new
.product_preview
.fn_transfer {
    position: static !important;

    width: 100% !important;
    height: 100% !important;
    min-height: 485px !important;

    display: flex !important;
    flex-direction: column !important;

    overflow: visible !important;
}

body.volvo-shop-v1
.main-products__new
.product_preview__center {
    position: static !important;

    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    height: auto !important;
    min-height: 0 !important;

    flex: 1 1 auto !important;

    transform: none !important;

    opacity: 1 !important;
    visibility: visible !important;
}


/* ---------- restore natural image ---------- */

body.volvo-shop-v1
.main-products__new
.product_preview__image {
    position: relative !important;

    flex: 0 0 220px !important;

    width: 100% !important;
    height: 220px !important;
    min-height: 220px !important;

    overflow: hidden !important;
}

body.volvo-shop-v1
.main-products__new
.product_preview__image img {
    opacity: 1 !important;

    mix-blend-mode: normal !important;

    filter: none !important;
}


/* ---------- kill legacy huge wishlist geometry ---------- */

body.volvo-shop-v1
.main-products__new
.product_preview
.wishlist_button {
    position: absolute !important;

    z-index: 20 !important;

    top: 12px !important;
    right: 12px !important;
    bottom: auto !important;
    left: auto !important;

    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;

    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border: 1px solid #dbe1e5 !important;
    border-radius: 50% !important;

    background: rgba(255,255,255,.96) !important;

    box-shadow:
        0 2px 8px
        rgba(20,35,47,.08) !important;

    color: #52616c !important;

    font-size: 16px !important;
    line-height: 1 !important;

    transform: none !important;

    opacity: 1 !important;
    visibility: visible !important;
}

body.volvo-shop-v1
.main-products__new
.product_preview
.wishlist_button::before {
    width: auto !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 16px !important;
    line-height: 1 !important;

    transform: none !important;
}

body.volvo-shop-v1
.main-products__new
.product_preview
.wishlist_button::after {
    display: none !important;
}

body.volvo-shop-v1
.main-products__new
.product_preview
.wishlist_button:hover,
body.volvo-shop-v1
.main-products__new
.product_preview
.wishlist_button.selected {
    border-color: #0067b9 !important;

    background: #fff !important;
    color: #0067b9 !important;
}


/* ---------- product information ---------- */

body.volvo-shop-v1
.main-products__new
.product_preview__name {
    flex: 0 0 auto !important;

    height: auto !important;
    min-height: 86px !important;

    overflow: visible !important;
}

body.volvo-shop-v1
.main-products__new
.product_preview__name_link {
    height: auto !important;
    min-height: 0 !important;

    overflow: visible;
}

body.volvo-shop-v1
.main-products__new
.product_preview__sku {
    opacity: 1 !important;
    visibility: visible !important;
}


/* ---------- prices ---------- */

body.volvo-shop-v1
.main-products__new
.product_preview__prices {
    position: static !important;

    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    flex: 0 0 auto !important;

    height: auto !important;
    min-height: 48px !important;

    transform: none !important;

    opacity: 1 !important;
    visibility: visible !important;
}


/* ---------- bottom MUST always remain in normal flow ---------- */

body.volvo-shop-v1
.main-products__new
.product_preview__bottom {
    position: static !important;

    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    width: 100% !important;

    height: auto !important;
    min-height: 66px !important;
    max-height: none !important;

    margin-top: auto !important;

    display: block !important;

    overflow: visible !important;

    transform: none !important;

    opacity: 1 !important;
    visibility: visible !important;
}


/* ---------- reset old hover animations ---------- */

body.volvo-shop-v1
.main-products__new
.product_preview:hover
.product_preview__bottom,
body.volvo-shop-v1
.main-products__new
.product_preview:hover
.product_preview__center,
body.volvo-shop-v1
.main-products__new
.product_preview:hover
.fn_transfer {
    position: static !important;

    transform: none !important;

    opacity: 1 !important;
    visibility: visible !important;
}


/* ---------- buttons ---------- */

body.volvo-shop-v1
.main-products__new
.product_preview__buttons {
    position: static !important;

    width: 100% !important;

    height: auto !important;
    min-height: 40px !important;

    overflow: visible !important;

    transform: none !important;

    opacity: 1 !important;
    visibility: visible !important;
}

body.volvo-shop-v1
.main-products__new
.product_preview__button--buy {
    position: static !important;

    height: 40px !important;
    min-height: 40px !important;

    opacity: 1 !important;
    visibility: visible !important;
}

body.volvo-shop-v1
.main-products__new
.comparison_button {
    position: static !important;

    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;

    height: 40px !important;
    min-height: 40px !important;

    margin: 0 !important;

    transform: none !important;

    opacity: 1 !important;
    visibility: visible !important;
}


/* ---------- fast order should not destroy compact layout ---------- */

body.volvo-shop-v1
.main-products__new
.product_preview__buttons
.fast_order,
body.volvo-shop-v1
.main-products__new
.product_preview__buttons
.fast_order_button,
body.volvo-shop-v1
.main-products__new
.product_preview__buttons
[class*="fast_order"] {
    flex: 0 0 40px;

    width: 40px;
    min-width: 40px;
    max-width: 40px;

    height: 40px;

    overflow: hidden;

    padding: 0;
}


/* ---------- supplier stock stays below actions ---------- */

body.volvo-shop-v1
.main-products__new
.tehnomir-stock {
    position: static !important;

    height: auto !important;
    max-height: none !important;

    overflow: visible !important;

    opacity: 1 !important;
}


/* ---------- equal row heights ---------- */

body.volvo-shop-v1
.main-products__new
.products_grid--homepage {
    align-items: stretch;
}

body.volvo-shop-v1
.main-products__new
.products_grid__item {
    align-self: stretch;

    height: auto !important;
    min-height: 485px;
}


/* ---------- responsive ---------- */

@media (max-width: 767px) {

    body.volvo-shop-v1
    .main-products__new
    .product_preview,
    body.volvo-shop-v1
    .main-products__new
    .product_preview
    .fn_transfer,
    body.volvo-shop-v1
    .main-products__new
    .products_grid__item {
        min-height: 455px !important;
    }

    body.volvo-shop-v1
    .main-products__new
    .product_preview__image {
        flex-basis: 190px !important;

        height: 190px !important;
        min-height: 190px !important;
    }

}


@media (max-width: 480px) {

    body.volvo-shop-v1
    .main-products__new
    .product_preview,
    body.volvo-shop-v1
    .main-products__new
    .product_preview
    .fn_transfer,
    body.volvo-shop-v1
    .main-products__new
    .products_grid__item {
        min-height: 500px !important;
    }

    body.volvo-shop-v1
    .main-products__new
    .product_preview__image {
        flex-basis: 230px !important;

        height: 230px !important;
        min-height: 230px !important;
    }

}


/* ==========================================================
   VOLVO SHOP PRODUCT CARDS V5.2
   Vertical rhythm + supplier-space normalization
   ========================================================== */


/* ---------- compact overall height ---------- */

body.volvo-shop-v1
.main-products__new
.product_preview,
body.volvo-shop-v1
.main-products__new
.product_preview
.fn_transfer,
body.volvo-shop-v1
.main-products__new
.products_grid__item {
    min-height: 455px !important;
}


/* ---------- image slightly tighter ---------- */

body.volvo-shop-v1
.main-products__new
.product_preview__image {
    flex-basis: 205px !important;

    height: 205px !important;
    min-height: 205px !important;

    padding: 12px !important;
}

body.volvo-shop-v1
.main-products__new
.product_preview__image
img {
    max-height: 181px !important;
}


/* ---------- fixed information rhythm ---------- */

body.volvo-shop-v1
.main-products__new
.product_preview__name {
    height: 91px !important;
    min-height: 91px !important;
    max-height: 91px !important;

    padding:
        14px
        14px
        5px !important;

    overflow: hidden !important;
}

body.volvo-shop-v1
.main-products__new
.product_preview__name_link {
    display: block !important;

    height: 100% !important;

    overflow: hidden !important;
}

body.volvo-shop-v1
.main-products__new
.product_preview__name_link {
    color: #171d22;
}

body.volvo-shop-v1
.main-products__new
.product_preview__name_link {
    line-height: 1.28;
}


/* product title itself remains compact */

body.volvo-shop-v1
.main-products__new
.product_preview__name_link {
    max-height: 72px;
}


/* ---------- SKU ---------- */

body.volvo-shop-v1
.main-products__new
.product_preview__sku {
    height: 15px !important;
    min-height: 15px !important;

    margin-top: 6px !important;

    overflow: hidden !important;
}


/* ---------- price fixed row ---------- */

body.volvo-shop-v1
.main-products__new
.product_preview__prices {
    flex: 0 0 50px !important;

    height: 50px !important;
    min-height: 50px !important;

    padding:
        4px
        14px
        12px !important;
}


/* ---------- bottom directly follows price ---------- */

body.volvo-shop-v1
.main-products__new
.product_preview__bottom {
    flex: 0 0 auto !important;

    margin-top: 0 !important;

    min-height: 106px !important;

    padding:
        11px
        12px
        12px !important;
}


/* ---------- action row ---------- */

body.volvo-shop-v1
.main-products__new
.product_preview__buttons {
    height: 40px !important;
    min-height: 40px !important;

    margin-bottom: 8px !important;
}


/* ---------- reserve supplier status slot ---------- */

body.volvo-shop-v1
.main-products__new
.tehnomir-stock {
    box-sizing: border-box !important;

    min-height: 43px !important;
    max-height: 43px !important;

    margin-top: 0 !important;

    padding:
        6px
        8px !important;

    overflow: hidden !important;
}


/*
 * OkayCMS hides the block completely when product is not
 * supplied by Tehnomir. On homepage keep its geometry but
 * make it visually invisible. This aligns every action row
 * without inventing availability information.
 */
body.volvo-shop-v1
.main-products__new
.tehnomir-stock.hidden-xs-up {
    display: block !important;

    min-height: 43px !important;
    max-height: 43px !important;

    visibility: hidden !important;

    pointer-events: none !important;
}


/* ---------- supplier typography ---------- */

body.volvo-shop-v1
.main-products__new
.tehnomir-stock__label {
    display: block;

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;
}

body.volvo-shop-v1
.main-products__new
.tehnomir-stock__delivery {
    display: block;

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;
}


/* ---------- variant selector must not create random heights ---------- */

body.volvo-shop-v1
.main-products__new
.product_preview__variants {
    margin-top: 6px !important;
}


/* ---------- disable legacy image tooltip cursor behavior ---------- */

body.volvo-shop-v1
.main-products__new
.product_preview__image
img {
    cursor: pointer;
}


/* ---------- responsive ---------- */

@media (max-width: 767px) {

    body.volvo-shop-v1
    .main-products__new
    .product_preview,
    body.volvo-shop-v1
    .main-products__new
    .product_preview
    .fn_transfer,
    body.volvo-shop-v1
    .main-products__new
    .products_grid__item {
        min-height: 430px !important;
    }

    body.volvo-shop-v1
    .main-products__new
    .product_preview__image {
        flex-basis: 185px !important;

        height: 185px !important;
        min-height: 185px !important;
    }

}


@media (max-width: 480px) {

    body.volvo-shop-v1
    .main-products__new
    .product_preview,
    body.volvo-shop-v1
    .main-products__new
    .product_preview
    .fn_transfer,
    body.volvo-shop-v1
    .main-products__new
    .products_grid__item {
        min-height: 465px !important;
    }

    body.volvo-shop-v1
    .main-products__new
    .product_preview__image {
        flex-basis: 220px !important;

        height: 220px !important;
        min-height: 220px !important;
    }

}


/* ==========================================================
   VOLVO SHOP CATALOG V6
   Catalog / category / brand listing
   ========================================================== */


/* ---------- global breadcrumb refinement ---------- */

body.volvo-shop-v1 .breadcrumbs {
    margin:
        16px
        0
        14px;

    padding: 0;

    gap: 0;

    color: #828b92;

    font-size: 11px;
    line-height: 1.35;
}

body.volvo-shop-v1 .breadcrumbs__item {
    color: #828b92;
}

body.volvo-shop-v1 .breadcrumbs__item:not(:last-child)::after {
    content: "›";

    margin:
        0
        9px;

    color: #b2b9be;
}

body.volvo-shop-v1 .breadcrumbs a {
    color: #68747d;

    text-decoration: none;
}

body.volvo-shop-v1 .breadcrumbs a:hover {
    color: #0067b9;
}


/* ==========================================================
   MAIN CATALOG LAYOUT
   ========================================================== */

.volvo-catalog-v6 {
    display: grid;

    grid-template-columns:
        268px
        minmax(0, 1fr);

    align-items: start;

    gap: 25px;

    margin-top: 8px;
}


/* ---------- sidebar ---------- */

.volvo-catalog-v6 > .sidebar {
    width: auto !important;
    min-width: 0 !important;

    margin: 0 !important;
}

.volvo-catalog-v6 .sidebar__boxed {
    margin:
        0
        0
        12px !important;

    overflow: hidden;

    border:
        1px
        solid
        #e0e5e9;

    border-radius: 9px;

    background: #fff;

    box-shadow:
        0
        2px
        8px
        rgba(17,32,44,.025);
}


/* ---------- filter group ---------- */

.volvo-catalog-v6 .filters,
.volvo-catalog-v6 .filter {
    border: 0 !important;

    background: #fff;
}

.volvo-catalog-v6 .filter__name {
    min-height: 46px;

    padding:
        0
        14px;

    border-bottom:
        1px
        solid
        #edf0f2;

    color: #17212a;

    font-size: 12px;
    line-height: 1.25;
    font-weight: 800;

    cursor: pointer;

    background: #fafbfb;
}

.volvo-catalog-v6 .filter__name_arrow {
    color: #818b93;

    font-size: 10px;
}

.volvo-catalog-v6 .filter__group {
    padding:
        10px
        12px
        12px;
}


/* ---------- filter links ---------- */

.volvo-catalog-v6 .filter__item {
    margin: 0;
}

.volvo-catalog-v6 .filter__link,
.volvo-catalog-v6 .filter__catalog_link {
    width: 100%;

    min-height: 33px;

    display: flex;
    align-items: center;

    gap: 8px;

    padding:
        6px
        5px;

    border: 0;

    background: transparent;

    color: #4d5962;

    font-size: 11px;
    line-height: 1.3;

    text-align: left;

    text-decoration: none;

    border-radius: 5px;
}

.volvo-catalog-v6 .filter__link:hover,
.volvo-catalog-v6 .filter__catalog_link:hover {
    color: #0067b9;

    background: #f5f8fa;
}

.volvo-catalog-v6 .filter__catalog_link.selected,
.volvo-catalog-v6 .filter__link.checked {
    color: #0067b9;

    font-weight: 700;
}


/* ---------- filter checkbox ---------- */

.volvo-catalog-v6 .filter__checkbox {
    flex: 0 0 17px;

    width: 17px;
    height: 17px;

    border:
        1px
        solid
        #cdd5da;

    border-radius: 4px;

    background: #fff;
}

.volvo-catalog-v6 .filter__link.checked .filter__checkbox {
    border-color: #0067b9;

    background: #0067b9;
}


/* ---------- categories inside filter ---------- */

.volvo-catalog-v6 .filter__catalog_menu,
.volvo-catalog-v6 .filter__subcatalog {
    margin: 0;
}

.volvo-catalog-v6 .filter__catalog_item {
    margin: 0;
}

.volvo-catalog-v6 .filter__catalog_link picture,
.volvo-catalog-v6 .filter_catalog__no_image {
    flex: 0 0 22px;

    width: 22px;
    height: 22px;

    display: flex;
    align-items: center;
    justify-content: center;
}

.volvo-catalog-v6 .filter__catalog_link img {
    width: 20px;
    height: 20px;

    object-fit: contain;
}


/* ---------- price ---------- */

.volvo-catalog-v6 .price_range {
    gap: 7px;

    margin-bottom: 17px;
}

.volvo-catalog-v6 .price_label {
    flex: 1 1 0;
}

.volvo-catalog-v6 .price_label input {
    width: 100%;
    height: 34px;

    padding:
        0
        8px;

    border:
        1px
        solid
        #d7dee3;

    border-radius: 5px;

    background: #fff;

    color: #17212a;

    font-size: 11px;
}

.volvo-catalog-v6 .price_currency {
    color: #7b858d;

    font-size: 10px;
}


/* ---------- show more ---------- */

.volvo-catalog-v6 .box_view_all_feature {
    margin-top: 6px;
}

.volvo-catalog-v6 .view_all_feature {
    color: #0067b9;

    font-size: 10px;
    font-weight: 700;

    text-decoration: none;
}


/* ==========================================================
   SELECTED FILTERS
   ========================================================== */

.volvo-catalog-v6 .filter__selected_features {
    gap: 6px;
}

.volvo-catalog-v6 .filter__selected_feature {
    margin: 0;
}

.volvo-catalog-v6 .filter__sf_link {
    min-height: 30px;

    gap: 7px;

    padding:
        5px
        8px;

    border:
        1px
        solid
        #d9e0e4;

    border-radius: 5px;

    background: #f6f8f9;

    color: #4e5b65;

    font-size: 9px;
    line-height: 1.25;
}

.volvo-catalog-v6 .filter__sf_link svg {
    width: 10px;
    height: 10px;
}

.volvo-catalog-v6 .filter__sf_reset {
    margin-top: 8px;

    border: 0;

    background: transparent;

    color: #b14343;

    font-size: 9px;
    font-weight: 700;
}


/* ==========================================================
   PRODUCTS MAIN COLUMN
   ========================================================== */

.volvo-catalog-v6 .products_container {
    width: auto !important;
    min-width: 0 !important;

    margin: 0 !important;
}


/* ---------- title ---------- */

.volvo-catalog-v6 .products_container__boxed > .h1 {
    position: relative;

    margin:
        0
        0
        15px;

    padding-left: 17px;

    color: #111820;

    font-size: 29px;
    line-height: 1.08;
    font-weight: 800;

    letter-spacing: -.025em;
}

.volvo-catalog-v6 .products_container__boxed > .h1::before {
    content: "";

    position: absolute;

    top: 4px;
    left: 0;

    width: 4px;
    height: 27px;

    border-radius: 3px;

    background: #0067b9;
}


/* ---------- annotation ---------- */

.volvo-catalog-v6 .products_container__boxed > .boxed {
    margin:
        0
        0
        18px;

    padding:
        16px
        18px;

    border:
        1px
        solid
        #e3e8eb;

    border-radius: 8px;

    background: #fafbfb;

    box-shadow: none;
}

.volvo-catalog-v6 .block__description {
    color: #59656e;

    font-size: 12px;
    line-height: 1.6;
}


/* ==========================================================
   SORT TOOLBAR
   ========================================================== */

.volvo-catalog-v6 .products_container__sort {
    min-height: 54px;

    margin:
        0
        0
        15px;

    padding:
        7px
        9px;

    border:
        1px
        solid
        #e0e5e9;

    border-radius: 8px;

    background: #fff;
}

.volvo-catalog-v6 .products_sort {
    gap: 5px;
}

.volvo-catalog-v6 .product_sort__title {
    margin:
        0
        7px
        0
        4px;

    color: #7a858d;

    font-size: 10px;
    font-weight: 600;
}

.volvo-catalog-v6 .product_sort__form {
    margin: 0;
}

.volvo-catalog-v6 .product_sort__link {
    min-height: 34px;

    display: inline-flex;
    align-items: center;

    gap: 5px;

    padding:
        0
        10px;

    border:
        1px
        solid
        transparent;

    border-radius: 5px;

    background: transparent;

    color: #4e5b64;

    font-size: 10px;
    font-weight: 600;
}

.volvo-catalog-v6 .product_sort__link:hover {
    background: #f5f7f8;

    color: #0067b9;
}

.volvo-catalog-v6 .product_sort__link.active_up,
.volvo-catalog-v6 .product_sort__link.active_down {
    border-color: #cfe0ed;

    background: #eef6fb;

    color: #0067b9;
}


/* ---------- mobile filter button ---------- */

.volvo-catalog-v6 .switch_mobile_filter {
    min-height: 38px;

    gap: 7px;

    padding:
        0
        12px;

    border-radius: 6px;

    background: #0067b9;

    color: #fff;

    font-size: 11px;
    font-weight: 700;
}


/* ==========================================================
   MODEL HUB / SEO BLOCK
   ========================================================== */

.volvo-catalog-v6 .volvo_model_hub_products {
    margin:
        0
        0
        18px !important;

    padding:
        16px;

    border:
        1px
        solid
        #e0e5e9;

    border-radius: 8px;

    background: #fff;
}

.volvo-catalog-v6 .volvo_model_hub_products h2 {
    margin:
        0
        0
        12px;

    color: #17212a;

    font-size: 17px;
    line-height: 1.2;
}

.volvo-catalog-v6 .volvo_model_hub_products > div {
    gap: 7px !important;
}

.volvo-catalog-v6 .volvo_model_hub_products a {
    padding:
        8px
        10px !important;

    border-color:
        #e0e5e9 !important;

    border-radius:
        6px !important;

    color: #29343c;

    background: #fafbfb;
}

.volvo-catalog-v6 .volvo_model_hub_products a:hover {
    border-color:
        #bfcbd3 !important;

    background: #f4f8fa;
}

.volvo-catalog-v6 .volvo_model_hub_products strong {
    font-size: 10px;
}

.volvo-catalog-v6 .volvo_model_hub_products span {
    color: #78828a;

    font-size: 9px;
}


/* ==========================================================
   PRODUCT GRID
   ========================================================== */

.volvo-catalog-v6 #fn_products_content {
    width: 100%;

    display: grid !important;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 14px;

    margin:
        0 !important;
}

.volvo-catalog-v6 #fn_products_content::before,
.volvo-catalog-v6 #fn_products_content::after {
    display: none !important;
}

.volvo-catalog-v6 #fn_products_content > .product_item {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;

    flex: none !important;

    padding: 0 !important;

    display: flex !important;
}


/* ==========================================================
   CATALOG PRODUCT CARD RESET
   ========================================================== */

.volvo-catalog-v6 .product_preview {
    position: relative !important;

    width: 100%;
    min-width: 0;

    display: flex;
    flex-direction: column;

    overflow: hidden !important;

    border:
        1px
        solid
        #e0e5e9;

    border-radius: 9px;

    background: #fff;

    box-shadow:
        0
        2px
        9px
        rgba(16,31,43,.035);

    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

.volvo-catalog-v6 .product_preview:hover {
    transform: translateY(-3px);

    border-color: #c9d2d8;

    box-shadow:
        0
        12px
        30px
        rgba(16,31,43,.09);
}

.volvo-catalog-v6 .product_preview .fn_transfer {
    position: static !important;

    width: 100% !important;
    height: 100% !important;

    display: flex !important;
    flex-direction: column !important;

    overflow: visible !important;
}

.volvo-catalog-v6 .product_preview__center {
    position: static !important;

    flex: 1 1 auto;

    display: flex;
    flex-direction: column;

    transform: none !important;

    opacity: 1 !important;
    visibility: visible !important;

    background: #fff;
}


/* ---------- catalog product image ---------- */

.volvo-catalog-v6 .product_preview__image {
    position: relative !important;

    flex:
        0
        0
        190px;

    width: 100% !important;

    height: 190px !important;
    min-height: 190px !important;

    margin: 0 !important;
    padding: 11px !important;

    overflow: hidden !important;

    border-bottom:
        1px
        solid
        #edf0f2;

    background:
        linear-gradient(
            180deg,
            #fbfcfc,
            #f5f7f8
        );
}

.volvo-catalog-v6 .product_preview__image > a,
.volvo-catalog-v6 .product_preview__image picture {
    width: 100%;
    height: 100%;
}

.volvo-catalog-v6 .product_preview__image img {
    width: 100%;
    height: 100%;

    max-height: 168px;

    object-fit: contain;

    filter: none !important;

    opacity: 1 !important;

    transition:
        transform .2s ease;
}

.volvo-catalog-v6 .product_preview:hover
.product_preview__image img {
    transform: scale(1.03);
}


/* ---------- wishlist ---------- */

.volvo-catalog-v6 .wishlist_button {
    position: absolute !important;

    z-index: 15;

    top: 10px !important;
    right: 10px !important;

    width: 32px !important;
    min-width: 32px !important;

    height: 32px !important;
    min-height: 32px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border:
        1px
        solid
        #dae1e5 !important;

    border-radius: 50% !important;

    background:
        rgba(255,255,255,.95) !important;

    color: #596771 !important;

    font-size: 15px !important;

    transform: none !important;

    opacity: 1 !important;
    visibility: visible !important;
}

.volvo-catalog-v6 .wishlist_button::after {
    display: none !important;
}


/* ---------- name ---------- */

.volvo-catalog-v6 .product_preview__name {
    height: 86px !important;
    min-height: 86px !important;

    margin: 0 !important;

    padding:
        13px
        12px
        4px !important;

    overflow: hidden;
}

.volvo-catalog-v6 .product_preview__name_link {
    color: #171d22;

    font-size: 12px;
    line-height: 1.28;
    font-weight: 700;

    text-decoration: none;
}

.volvo-catalog-v6 .product_preview__name_link:hover {
    color: #0067b9;
}

.volvo-catalog-v6 .product_preview__sku {
    margin-top: 6px;

    color: #8a9298;

    font-size: 8px;
    line-height: 1.2;
}


/* ---------- annotation hidden in dense grid ---------- */

.volvo-catalog-v6 .product_preview__annotation {
    display: none !important;
}


/* ---------- price ---------- */

.volvo-catalog-v6 .product_preview__prices {
    position: static !important;

    min-height: 48px;

    gap: 7px;

    margin: 0 !important;

    padding:
        3px
        12px
        12px !important;

    transform: none !important;

    opacity: 1 !important;
    visibility: visible !important;
}

.volvo-catalog-v6 .product_preview__prices .price {
    margin: 0;

    color: #111820;

    font-size: 19px;
    line-height: 1;
    font-weight: 800;
}

.volvo-catalog-v6 .product_preview__prices .old_price {
    color: #99a1a7;

    font-size: 10px;
}


/* ---------- bottom / action area ---------- */

.volvo-catalog-v6 .product_preview__bottom {
    position: static !important;

    width: 100% !important;

    margin-top: auto !important;

    padding:
        10px
        10px
        11px !important;

    overflow: visible !important;

    border-top:
        1px
        solid
        #edf0f2;

    transform: none !important;

    opacity: 1 !important;
    visibility: visible !important;

    background: #fff;
}

.volvo-catalog-v6 .product_preview__buttons {
    position: static !important;

    width: 100% !important;

    min-height: 38px;

    gap: 6px;

    opacity: 1 !important;
    visibility: visible !important;
}


/* ---------- buy ---------- */

.volvo-catalog-v6 .product_preview__button--buy {
    flex: 1 1 auto;

    height: 38px;

    margin: 0;
    padding:
        0
        9px;

    border: 0;

    border-radius: 6px;

    background: #0067b9;

    color: #fff;

    font-size: 10px;
    font-weight: 700;

    box-shadow: none;
}

.volvo-catalog-v6 .product_preview__button--buy:hover {
    background: #00579e;
}


/* ---------- compare ---------- */

.volvo-catalog-v6 .comparison_button {
    position: static !important;

    flex:
        0
        0
        38px;

    width: 38px !important;
    min-width: 38px !important;

    height: 38px !important;
    min-height: 38px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border:
        1px
        solid
        #d5dce1;

    border-radius: 6px;

    background: #fff;

    color: #56636c;

    font-size: 14px;

    opacity: 1 !important;
    visibility: visible !important;
}


/* ---------- fast order ---------- */

.volvo-catalog-v6
.product_preview__buttons
.fast_order,
.volvo-catalog-v6
.product_preview__buttons
.fast_order_button,
.volvo-catalog-v6
.product_preview__buttons
[class*="fast_order"] {
    flex:
        0
        0
        38px;

    width: 38px;
    min-width: 38px;
    max-width: 38px;

    height: 38px;

    overflow: hidden;

    padding: 0;
}


/* ---------- supplier ---------- */

.volvo-catalog-v6 .tehnomir-stock {
    margin-top: 7px;

    padding:
        6px
        7px;

    border-radius: 5px;

    background: #f3f8f4;
}

.volvo-catalog-v6 .tehnomir-stock__label {
    color: #31764a;

    font-size: 8px;
    font-weight: 700;
}

.volvo-catalog-v6 .tehnomir-stock__delivery {
    display: block;

    margin-top: 2px;

    color: #788079;

    font-size: 7px;

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;
}


/* ==========================================================
   PAGINATION
   ========================================================== */

.volvo-catalog-v6 .products_pagination {
    margin:
        28px
        0
        12px;
}

.volvo-catalog-v6 .pagination {
    display: flex;
    flex-wrap: wrap;

    align-items: center;
    justify-content: center;

    gap: 5px;

    margin: 0;
    padding: 0;
}

.volvo-catalog-v6 .pagination__item {
    margin: 0;

    list-style: none;
}

.volvo-catalog-v6 .pagination__link {
    min-width: 36px;
    height: 36px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding:
        0
        10px;

    border:
        1px
        solid
        #dce2e6;

    border-radius: 6px;

    background: #fff;

    color: #4d5962;

    font-size: 10px;

    text-decoration: none;
}

.volvo-catalog-v6 .pagination__item.active
.pagination__link {
    border-color: #0067b9;

    background: #0067b9;

    color: #fff;

    font-weight: 700;
}

.volvo-catalog-v6 a.pagination__link:hover {
    border-color: #b8c6d0;

    color: #0067b9;
}


/* ==========================================================
   DESCRIPTION BELOW PRODUCTS
   ========================================================== */

.volvo-catalog-v6
.products_pagination
+
.boxed,
.volvo-catalog-v6
.products_container__boxed
>
.boxed:last-child {
    margin-top: 30px;

    padding:
        21px
        23px;

    border:
        1px
        solid
        #e3e8eb;

    border-radius: 8px;

    background: #fafbfb;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 1350px) {

    .volvo-catalog-v6 {
        grid-template-columns:
            245px
            minmax(0, 1fr);

        gap: 20px;
    }

    .volvo-catalog-v6 #fn_products_content {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

}


@media (max-width: 991px) {

    .volvo-catalog-v6 {
        display: block;
    }

    .volvo-catalog-v6 > .sidebar {
        width: 100% !important;
    }

    .volvo-catalog-v6 .products_container {
        width: 100% !important;
    }

    .volvo-catalog-v6 #fn_products_content {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

}


@media (max-width: 767px) {

    .volvo-catalog-v6
    .products_container__boxed
    >
    .h1 {
        font-size: 24px;
    }

    .volvo-catalog-v6
    .products_container__sort {
        align-items: flex-start !important;

        gap: 10px;

        padding: 8px;
    }

    .volvo-catalog-v6
    .products_sort {
        gap: 3px;
    }

    .volvo-catalog-v6
    .product_sort__link {
        min-height: 31px;

        padding:
            0
            7px;

        font-size: 9px;
    }

    .volvo-catalog-v6 #fn_products_content {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 10px;
    }

}


@media (max-width: 480px) {

    .volvo-catalog-v6 #fn_products_content {
        grid-template-columns:
            1fr;
    }

    .volvo-catalog-v6
    .product_preview__image {
        height: 225px !important;
        min-height: 225px !important;

        flex-basis: 225px;
    }

}


/* ==========================================================
   VOLVO SHOP CATALOG V6.1
   Force catalog action area into normal document flow
   ========================================================== */


.volvo-catalog-v6 .product_preview {
    min-height: 470px !important;
}

.volvo-catalog-v6 .product_preview .fn_transfer {
    min-height: 470px !important;

    position: static !important;

    overflow: visible !important;
}

.volvo-catalog-v6 .product_preview__center {
    position: static !important;

    flex: 1 1 auto !important;

    overflow: visible !important;

    transform: none !important;

    opacity: 1 !important;
    visibility: visible !important;
}


/* ---------- ensure price stays above action area ---------- */

.volvo-catalog-v6 .product_preview__prices {
    position: static !important;

    flex: 0 0 auto !important;

    transform: none !important;

    opacity: 1 !important;
    visibility: visible !important;
}


/* ---------- action area ---------- */

.volvo-catalog-v6 .product_preview__bottom {
    position: static !important;

    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    width: 100% !important;

    height: auto !important;
    min-height: 102px !important;
    max-height: none !important;

    margin-top: 0 !important;

    display: block !important;

    overflow: visible !important;

    transform: none !important;

    opacity: 1 !important;
    visibility: visible !important;
}


/* ---------- disable old OkayCMS hover hiding ---------- */

.volvo-catalog-v6
.product_preview:hover
.product_preview__bottom,

.volvo-catalog-v6
.product_preview:hover
.product_preview__center,

.volvo-catalog-v6
.product_preview:hover
.fn_transfer {
    position: static !important;

    transform: none !important;

    opacity: 1 !important;
    visibility: visible !important;
}


/* ---------- form ---------- */

.volvo-catalog-v6 .preview_form {
    width: 100% !important;

    margin: 0 !important;
}


/* ---------- action row ---------- */

.volvo-catalog-v6 .product_preview__buttons {
    position: static !important;

    width: 100% !important;

    min-height: 38px !important;

    display: flex !important;
    align-items: center !important;

    gap: 6px !important;

    margin: 0 !important;

    overflow: visible !important;

    transform: none !important;

    opacity: 1 !important;
    visibility: visible !important;
}


/* ---------- buy ---------- */

.volvo-catalog-v6 .product_preview__button--buy {
    position: static !important;

    flex: 1 1 auto !important;

    min-width: 0 !important;

    height: 38px !important;
    min-height: 38px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    visibility: visible !important;
    opacity: 1 !important;
}


/* ---------- compare ---------- */

.volvo-catalog-v6 .comparison_button {
    position: static !important;

    flex: 0 0 38px !important;

    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;

    height: 38px !important;
    min-height: 38px !important;

    visibility: visible !important;
    opacity: 1 !important;
}


/* ---------- preorder / out of stock ---------- */

.volvo-catalog-v6 .product_preview__button--pre_order,
.volvo-catalog-v6 .product_preview__out_stock {
    position: static !important;

    flex: 1 1 auto !important;

    min-height: 38px !important;

    visibility: visible !important;
    opacity: 1 !important;
}


/* ---------- supplier block ---------- */

.volvo-catalog-v6 .tehnomir-stock {
    position: static !important;

    min-height: 42px !important;

    margin-top: 8px !important;

    overflow: hidden !important;

    opacity: 1 !important;
}


/* ---------- normalize rows ---------- */

.volvo-catalog-v6 #fn_products_content {
    align-items: stretch;
}

.volvo-catalog-v6 #fn_products_content > .product_item {
    min-height: 470px;

    align-self: stretch;
}


/* ---------- slightly calmer heading ---------- */

.volvo-catalog-v6
.products_container__boxed
>
.h1 {
    font-size: 27px;
}


/* ---------- slightly looser sidebar ---------- */

.volvo-catalog-v6 .filter__catalog_link,
.volvo-catalog-v6 .filter__link {
    min-height: 35px;
}

.volvo-catalog-v6 .filter__group {
    padding:
        11px
        12px
        13px;
}


@media (max-width: 767px) {

    .volvo-catalog-v6 .product_preview,
    .volvo-catalog-v6 .product_preview .fn_transfer,
    .volvo-catalog-v6 #fn_products_content > .product_item {
        min-height: 445px !important;
    }

}


@media (max-width: 480px) {

    .volvo-catalog-v6 .product_preview,
    .volvo-catalog-v6 .product_preview .fn_transfer,
    .volvo-catalog-v6 #fn_products_content > .product_item {
        min-height: 490px !important;
    }

}


/* ==========================================================
   VOLVO SHOP PRODUCT PAGE V7
   ========================================================== */


/* ==========================================================
   PRODUCT HEADER
   ========================================================== */

.volvo-product-v7 {
    margin-top: 4px;
}

.volvo-product-v7 > .block__header {
    position: relative;

    min-height: 72px;

    margin-bottom: 18px;

    padding:
        15px
        18px
        15px
        22px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    border:
        1px
        solid
        #e0e5e9 !important;

    border-radius: 9px;

    background: #fff;
}

.volvo-product-v7 > .block__header::before {
    content: "";

    position: absolute;

    top: 17px;
    bottom: 17px;
    left: 0;

    width: 4px;

    border-radius:
        0
        4px
        4px
        0;

    background: #0067b9;
}

.volvo-product-v7 .block__heading {
    margin: 0;

    color: #111820;

    font-size: 28px;
    line-height: 1.15;
    font-weight: 800;

    letter-spacing: -.025em;
}

.volvo-product-v7 .product-page__sku {
    flex: 0 0 auto;

    padding:
        7px
        10px;

    border-radius: 5px;

    background: #f3f5f6;

    color: #7d878e;

    font-size: 10px;
    line-height: 1.2;
}

.volvo-product-v7 .product-page__sku .sku_nubmer {
    margin-left: 4px;

    color: #394750;

    font-weight: 700;
}


/* ==========================================================
   TOP PRODUCT GRID
   ========================================================== */

.volvo-product-v7 > .fn_transfer {
    margin:
        0
        -8px !important;
}

.volvo-product-v7 .product-page__gallery,
.volvo-product-v7 .product-page__details {
    padding:
        0
        8px !important;
}


/* ==========================================================
   GALLERY
   ========================================================== */

.volvo-product-v7 .product-page__gallery
.block--boxed {
    min-height: 545px;

    padding: 16px;

    overflow: hidden;

    border:
        1px
        solid
        #e0e5e9;

    border-radius: 10px;

    background:
        linear-gradient(
            180deg,
            #fbfcfc 0%,
            #f6f8f9 100%
        );

    box-shadow:
        0
        3px
        14px
        rgba(17,31,43,.035);
}

.volvo-product-v7 .product-page__image {
    flex: 1 1 auto;

    min-width: 0;

    margin: 0;
}

.volvo-product-v7 .product-page__img {
    width: 100%;

    min-height: 505px;

    border-radius: 7px;

    background: #fff;
}

.volvo-product-v7 .product-page__img
.swiper-slide {
    min-height: 505px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 22px;
}

.volvo-product-v7 .product-page__img picture {
    width: 100%;
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: center;
}

.volvo-product-v7 .product-page__img img {
    width: 100%;
    height: 100%;

    max-height: 455px;

    object-fit: contain;

    filter: none;

    transition:
        transform .2s ease;
}

.volvo-product-v7 .product-page__img
.swiper-slide:hover img {
    transform: scale(1.018);
}


/* ---------- thumbnails ---------- */

.volvo-product-v7 .product-page__images {
    flex: 0 0 76px;

    width: 76px;

    margin-right: 13px;

    padding-right: 10px;

    border-right:
        1px
        solid
        #e6eaed;
}

.volvo-product-v7 .product-page__images-item {
    width: 62px !important;
    height: 62px !important;

    margin-bottom: 8px;

    overflow: hidden;

    border:
        1px
        solid
        #dce2e6;

    border-radius: 6px;

    background: #fff;

    cursor: pointer;
}

.volvo-product-v7 .product-page__images-item
picture,
.volvo-product-v7 .product-page__images-item
img {
    width: 100%;
    height: 100%;
}

.volvo-product-v7 .product-page__images-item
img {
    padding: 4px;

    object-fit: contain;
}


/* ---------- gallery nav ---------- */

.volvo-product-v7 .swiper-button-next,
.volvo-product-v7 .swiper-button-prev {
    width: 38px;
    height: 38px;

    margin-top: -19px;

    border:
        1px
        solid
        #d8dfe3;

    border-radius: 50%;

    background:
        rgba(255,255,255,.94);

    box-shadow:
        0
        3px
        12px
        rgba(20,34,45,.06);
}


/* ==========================================================
   DETAILS / PURCHASE CARD
   ========================================================== */

.volvo-product-v7 .details_boxed {
    overflow: hidden;

    border:
        1px
        solid
        #e0e5e9 !important;

    border-radius: 10px;

    background: #fff;

    box-shadow:
        0
        3px
        14px
        rgba(17,31,43,.04);
}

.volvo-product-v7 .details_boxed__item {
    padding:
        17px
        19px;

    border-bottom:
        1px
        solid
        #edf0f2;
}

.volvo-product-v7
.details_boxed__item:last-child {
    border-bottom: 0;
}


/* ---------- rating / brand ---------- */

.volvo-product-v7
.details_boxed__item--one {
    background:
        linear-gradient(
            180deg,
            #fbfcfc,
            #fff
        );
}

.volvo-product-v7
.details_boxed__rating {
    min-height: 26px;
}

.volvo-product-v7
.details_boxed__brand
.brand_img {
    max-width: 96px;
    max-height: 48px;

    object-fit: contain;
}

.volvo-product-v7
.details_boxed__anchor_comments {
    margin-top: 7px;
}

.volvo-product-v7
.anchor_comments__link {
    color: #65727c;

    font-size: 10px;

    text-decoration: none;
}


/* ==========================================================
   AVAILABILITY
   ========================================================== */

.volvo-product-v7
.details_boxed__available {
    margin-top: 13px;
}

.volvo-product-v7
.available__in_stock {
    color: #287845;

    font-size: 11px;
    font-weight: 700;
}

.volvo-product-v7
.available__no_stock {
    color: #a33b3b;

    font-size: 11px;
    font-weight: 700;
}

.volvo-product-v7
.tehnomir-stock {
    margin-top: 8px;

    padding:
        9px
        11px;

    border-radius: 6px;

    background: #f2f8f4;
}

.volvo-product-v7
.tehnomir-stock__label {
    display: block;

    color: #287845;

    font-size: 10px;
    font-weight: 800;
}

.volvo-product-v7
.tehnomir-stock__delivery {
    display: block;

    margin-top: 3px;

    color: #748078;

    font-size: 9px;
}


/* ==========================================================
   VARIANT
   ========================================================== */

.volvo-product-v7
.details_boxed__select {
    margin-bottom: 15px;
}

.volvo-product-v7
.details_boxed__title {
    margin-bottom: 6px;

    color: #76818a;

    font-size: 10px;
    font-weight: 700;
}


/* ==========================================================
   PRICE
   ========================================================== */

.volvo-product-v7
.details_boxed__price_amount {
    align-items: center !important;

    justify-content: space-between;

    gap: 14px;

    margin-bottom: 17px;
}

.volvo-product-v7
.details_boxed__prices {
    align-items: flex-end !important;

    gap: 9px;
}

.volvo-product-v7
.details_boxed__price {
    color: #111820;

    font-size: 34px;
    line-height: 1;
    font-weight: 800;

    letter-spacing: -.03em;
}

.volvo-product-v7
.details_boxed__price
.currency {
    margin-left: 4px;

    font-size: 14px;
    line-height: 1.3;
    font-weight: 700;
}

.volvo-product-v7
.details_boxed__old_price {
    margin-bottom: 3px;

    color: #9ca4a9;

    font-size: 12px;

    text-decoration: line-through;
}

.volvo-product-v7
.details_boxed_pct {
    margin-left: 3px;

    padding:
        4px
        6px;

    border-radius: 4px;

    background: #fbe9e9;

    color: #b63e3e;

    font-size: 9px;
    font-weight: 800;
}


/* ==========================================================
   QUANTITY
   ========================================================== */

.volvo-product-v7 .amount {
    height: 40px;

    display: flex;
    align-items: center;

    overflow: hidden;

    border:
        1px
        solid
        #d7dee3;

    border-radius: 6px;

    background: #fff;
}

.volvo-product-v7
.amount__minus,
.volvo-product-v7
.amount__plus {
    width: 34px;
    height: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #52606a;

    cursor: pointer;

    user-select: none;
}

.volvo-product-v7
.amount__input {
    width: 38px;
    height: 38px;

    padding: 0;

    border: 0;

    border-left:
        1px
        solid
        #e3e7ea;

    border-right:
        1px
        solid
        #e3e7ea;

    text-align: center;

    font-weight: 700;
}


/* ==========================================================
   PURCHASE ACTIONS
   ========================================================== */

.volvo-product-v7
.details_boxed__buttons {
    gap: 8px;

    align-items: stretch !important;
}

.volvo-product-v7
.details_boxed__buttons
>
.fn_is_stock {
    flex: 1 1 auto;
}

.volvo-product-v7
.product-page__button {
    min-height: 46px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding:
        0
        18px;

    border: 0;

    border-radius: 7px;

    background: #0067b9;

    color: #fff;

    font-size: 12px;
    line-height: 1;
    font-weight: 800;

    box-shadow: none;

    transition:
        background .15s ease,
        transform .15s ease;
}

.volvo-product-v7
button.product-page__button:hover {
    background: #00579e;

    transform: translateY(-1px);
}

.volvo-product-v7
.product-page__out_stock {
    background: #f1f3f4;

    color: #747f87;
}


/* ---------- secondary action buttons ---------- */

.volvo-product-v7
.details_boxed__other {
    gap: 7px;
}

.volvo-product-v7
.product-page__wishlist,
.volvo-product-v7
.product-page__compare,
.volvo-product-v7
.details_boxed__other
.fast_order,
.volvo-product-v7
.details_boxed__other
.fast_order_button {
    width: 46px;
    min-width: 46px;
    height: 46px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border:
        1px
        solid
        #d7dee3;

    border-radius: 7px;

    background: #fff;

    color: #56646e;

    font-size: 16px;

    text-decoration: none;
}

.volvo-product-v7
.product-page__wishlist:hover,
.volvo-product-v7
.product-page__wishlist.selected,
.volvo-product-v7
.product-page__compare:hover,
.volvo-product-v7
.product-page__compare.selected {
    border-color: #0067b9;

    color: #0067b9;

    background: #f5faff;
}


/* ==========================================================
   VIN COMPATIBILITY CTA
   ========================================================== */

.volvo-product-v7__vin {
    padding:
        0
        19px
        17px;
}

.volvo-product-v7__vin_button {
    width: 100%;
    min-height: 47px;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 9px;

    border:
        1px
        solid
        #d9aa25;

    border-radius: 7px;

    background: #e0aa20;

    color: #17212a;

    font-size: 12px;
    font-weight: 800;

    cursor: pointer;

    transition:
        background .15s ease,
        transform .15s ease;
}

.volvo-product-v7__vin_button:hover {
    background: #edb72d;

    transform: translateY(-1px);
}

.volvo-product-v7__vin_note {
    margin-top: 6px;

    color: #8a9298;

    font-size: 9px;
    line-height: 1.35;

    text-align: center;
}


/* ==========================================================
   DELIVERY / PAYMENT ACCORDION
   ========================================================== */

.volvo-product-v7
.details_boxed__item--inner {
    padding: 0;
}

.volvo-product-v7
.accordion__item {
    border-bottom:
        1px
        solid
        #edf0f2;
}

.volvo-product-v7
.accordion__item:last-child {
    border-bottom: 0;
}

.volvo-product-v7
.accordion__header {
    min-height: 46px;

    padding:
        0
        18px;

    color: #26323b;

    font-size: 11px;
    font-weight: 800;

    cursor: pointer;
}

.volvo-product-v7
.accordion__content {
    padding:
        0
        18px
        15px;

    color: #69757e;

    font-size: 10px;
    line-height: 1.55;
}


/* ==========================================================
   SHARE
   ========================================================== */

.volvo-product-v7
.details_boxed__share {
    padding:
        13px
        18px;
}

.volvo-product-v7
.share__text {
    color: #808990;

    font-size: 9px;
}


/* ==========================================================
   TABS
   ========================================================== */

.volvo-product-v7
.product-page__tabs {
    margin-top: 25px;
}

.volvo-product-v7
.product-page__tabs
.tabs {
    overflow: hidden;

    border:
        1px
        solid
        #e0e5e9 !important;

    border-radius: 10px;

    background: #fff;
}

.volvo-product-v7
.tabs__navigation {
    min-height: 55px;

    display: flex;
    align-items: stretch;

    padding:
        0
        16px;

    border-bottom:
        1px
        solid
        #e7ebee;

    background: #fafbfb;
}

.volvo-product-v7
.tabs__link {
    min-height: 55px;

    display: inline-flex;
    align-items: center;

    padding:
        0
        16px;

    border-bottom:
        3px
        solid
        transparent;

    color: #606d76;

    font-size: 11px;
    font-weight: 700;

    text-decoration: none;
}

.volvo-product-v7
.tabs__link:hover,
.volvo-product-v7
.tabs__link.active {
    color: #0067b9;

    border-bottom-color: #0067b9;
}

.volvo-product-v7
.tabs__content {
    padding:
        23px;
}

.volvo-product-v7
.product_description
.block__description {
    color: #4f5c65;

    font-size: 12px;
    line-height: 1.75;
}


/* ==========================================================
   PRODUCT FEATURES
   ========================================================== */

.volvo-product-v7 .features {
    margin:
        0
        -8px;
}

.volvo-product-v7
.features__item {
    padding:
        0
        8px;

    margin-bottom: 8px;
}

.volvo-product-v7
.features__wrap {
    min-height: 43px;

    align-items: center;

    padding:
        8px
        11px;

    border-radius: 6px;

    background: #f7f8f9;
}

.volvo-product-v7
.features__name {
    flex:
        0
        0
        43%;

    color: #7b858d;

    font-size: 10px;
}

.volvo-product-v7
.features__value {
    flex: 1 1 auto;

    color: #27323a;

    font-size: 10px;
    font-weight: 700;
}


/* ==========================================================
   FITMENT SEO
   ========================================================== */

.product_fitment_seo_v1 {
    margin:
        26px
        0 !important;

    padding:
        22px !important;

    border:
        1px
        solid
        #e0e5e9 !important;

    border-radius:
        10px !important;

    background: #fff;
}

.product_fitment_seo_v1 h2 {
    position: relative;

    margin:
        0
        0
        18px !important;

    padding-left: 16px;

    color: #17212a;

    font-size: 21px;
    line-height: 1.2;
}

.product_fitment_seo_v1 h2::before {
    content: "";

    position: absolute;

    top: 2px;
    bottom: 2px;
    left: 0;

    width: 4px;

    border-radius: 4px;

    background: #0067b9;
}

.product_fitment_seo_v1 table {
    font-size: 11px;
}

.product_fitment_seo_v1 th {
    padding:
        9px
        10px !important;

    background: #f6f8f9;

    color: #66727b;
}

.product_fitment_seo_v1 td {
    padding:
        10px !important;

    border-color:
        #e7ebee !important;

    color: #37434c;
}

.product_fitment_seo_v1 a {
    color: #0067b9;

    text-decoration: none;
}

.product_fitment_spa > div {
    padding:
        12px
        4px !important;

    border-color:
        #e7ebee !important;

    color: #4c5962;

    font-size: 11px;
    line-height: 1.55;
}


/* ==========================================================
   PREV / NEXT
   ========================================================== */

.volvo-product-v7 .pager {
    margin-top: 20px;
}

.volvo-product-v7
.pager a {
    min-height: 48px;

    padding:
        8px
        14px;

    border:
        1px
        solid
        #e0e5e9;

    border-radius: 7px;

    color: #53606a;

    background: #fff;

    text-decoration: none;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 991px) {

    .volvo-product-v7
    .product-page__gallery {
        margin-bottom: 15px;
    }

    .volvo-product-v7
    .product-page__gallery
    .block--boxed {
        min-height: auto;
    }

    .volvo-product-v7
    .product-page__img,
    .volvo-product-v7
    .product-page__img
    .swiper-slide {
        min-height: 430px;
    }

}


@media (max-width: 767px) {

    .volvo-product-v7
    >
    .block__header {
        display: block;

        padding:
            14px
            15px
            14px
            19px;
    }

    .volvo-product-v7
    .block__heading {
        font-size: 23px;
    }

    .volvo-product-v7
    .product-page__sku {
        display: inline-block;

        margin-top: 10px;
    }

    .volvo-product-v7
    .product-page__img,
    .volvo-product-v7
    .product-page__img
    .swiper-slide {
        min-height: 360px;
    }

    .volvo-product-v7
    .details_boxed__price {
        font-size: 29px;
    }

    .volvo-product-v7
    .details_boxed__buttons {
        flex-wrap: wrap;
    }

    .volvo-product-v7
    .details_boxed__buttons
    >
    .fn_is_stock {
        flex:
            0
            0
            100%;
    }

    .volvo-product-v7
    .product-page__button {
        width: 100%;
    }

    .volvo-product-v7
    .tabs__content {
        padding: 15px;
    }

}


@media (max-width: 480px) {

    .volvo-product-v7
    .product-page__img,
    .volvo-product-v7
    .product-page__img
    .swiper-slide {
        min-height: 300px;
    }

    .volvo-product-v7
    .product-page__img
    .swiper-slide {
        padding: 13px;
    }

}


/* ==========================================================
   VOLVO SHOP PRODUCT PAGE V7.1
   Product title fix companion + action row normalization
   ========================================================== */


/* ---------- slightly calmer product title ---------- */

.volvo-product-v7
.block__heading {
    max-width: 1000px;

    font-size: 26px;
    line-height: 1.18;
}


/* ==========================================================
   PURCHASE ACTION ROW
   ========================================================== */

.volvo-product-v7
.details_boxed__buttons {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1fr)
        auto;

    gap: 8px !important;

    align-items: stretch !important;
}


/* main add-to-cart area */

.volvo-product-v7
.details_boxed__buttons
>
.fn_is_stock {
    grid-column: 1;

    min-width: 0;
}

.volvo-product-v7
.details_boxed__buttons
>
.fn_is_stock
.product-page__button {
    width: 100%;

    min-height: 46px;
}


/* secondary buttons container */

.volvo-product-v7
.details_boxed__other {
    grid-column: 2;

    display: flex !important;

    align-items: center !important;

    gap: 7px !important;

    min-width: 0;
}


/* ==========================================================
   FAST ORDER NORMALIZATION
   Handles module markup without touching its logic
   ========================================================== */

.volvo-product-v7
.details_boxed__other
a[class*="fast"],
.volvo-product-v7
.details_boxed__other
button[class*="fast"],
.volvo-product-v7
.details_boxed__other
[class*="fast_order"] {
    position: static !important;

    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;

    height: 46px !important;
    min-height: 46px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    overflow: hidden !important;

    border:
        1px
        solid
        #d7dee3 !important;

    border-radius: 7px !important;

    background: #fff !important;

    color: #56646e !important;

    font-size: 0 !important;
    line-height: 1 !important;

    text-indent: 0 !important;

    white-space: nowrap !important;

    box-shadow: none !important;

    transform: none !important;
}


/* preserve icon if module uses pseudo element */

.volvo-product-v7
.details_boxed__other
a[class*="fast"]::before,
.volvo-product-v7
.details_boxed__other
button[class*="fast"]::before,
.volvo-product-v7
.details_boxed__other
[class*="fast_order"]::before {
    font-size: 15px !important;
    line-height: 1 !important;

    text-indent: 0 !important;
}


/* hide textual descendants inside compact fast-order button */

.volvo-product-v7
.details_boxed__other
[class*="fast_order"]
span,
.volvo-product-v7
.details_boxed__other
[class*="fast_order"]
strong,
.volvo-product-v7
.details_boxed__other
[class*="fast_order"]
em {
    display: none !important;
}


/* ==========================================================
   ACTION ICONS CONSISTENCY
   ========================================================== */

.volvo-product-v7
.product-page__wishlist,
.volvo-product-v7
.product-page__compare {
    flex:
        0
        0
        46px;

    margin: 0 !important;
}

.volvo-product-v7
.product-page__wishlist i,
.volvo-product-v7
.product-page__compare i {
    margin: 0 !important;

    font-size: 16px;
}


/* ==========================================================
   PRODUCT PANEL RHYTHM
   ========================================================== */

.volvo-product-v7
.details_boxed__price_amount {
    margin-bottom: 15px;
}

.volvo-product-v7
.volvo-product-v7__vin {
    padding-top: 1px;
}


/* ---------- mobile ---------- */

@media (max-width: 767px) {

    .volvo-product-v7
    .block__heading {
        font-size: 22px;
    }

    .volvo-product-v7
    .details_boxed__buttons {
        grid-template-columns:
            1fr !important;
    }

    .volvo-product-v7
    .details_boxed__buttons
    >
    .fn_is_stock {
        grid-column: 1;
    }

    .volvo-product-v7
    .details_boxed__other {
        grid-column: 1;

        justify-content: flex-start;
    }

}


/* ==========================================================
   VOLVO SHOP PRODUCT PAGE V7.2
   Purchase panel polish
   ========================================================== */


/* ---------- top info block tighter ---------- */

.volvo-product-v7
.details_boxed__item--one {
    padding:
        14px
        18px
        12px !important;
}

.volvo-product-v7
.details_boxed__rating {
    min-height: 22px;
    margin-bottom: 8px;
}

.volvo-product-v7
.anchor_comments__link {
    display: inline-block;
    margin-bottom: 6px;
}

.volvo-product-v7
.details_boxed__available {
    margin-top: 4px;
}

.volvo-product-v7
.details_boxed__brand
.brand_img {
    max-width: 72px;
    max-height: 36px;
}


/* ---------- price + qty become one clear row ---------- */

.volvo-product-v7
.details_boxed__price_amount {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1fr)
        auto;

    align-items: end !important;

    gap: 12px 18px;

    margin-bottom: 12px !important;
    padding-top: 2px;
}

.volvo-product-v7
.details_boxed__prices {
    min-width: 0;
}

.volvo-product-v7
.amount {
    margin-left: 0 !important;

    height: 44px;
}

.volvo-product-v7
.amount__minus,
.volvo-product-v7
.amount__plus,
.volvo-product-v7
.amount__input {
    height: 42px;
}


/* ---------- purchase buttons row ---------- */

.volvo-product-v7
.details_boxed__buttons {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1fr)
        auto;

    align-items: center !important;

    gap: 10px !important;

    margin-top: 0 !important;
}

.volvo-product-v7
.details_boxed__buttons
>
.fn_is_stock {
    grid-column: 1;
}

.volvo-product-v7
.details_boxed__buttons
>
.fn_is_stock
.product-page__button {
    width: 100%;
    min-height: 48px;

    border-radius: 8px;

    font-size: 13px;
}

.volvo-product-v7
.details_boxed__other {
    grid-column: 2;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;

    gap: 8px !important;

    margin: 0 !important;
}

.volvo-product-v7
.product-page__wishlist,
.volvo-product-v7
.product-page__compare,
.volvo-product-v7
.details_boxed__other
a[class*="fast"],
.volvo-product-v7
.details_boxed__other
button[class*="fast"],
.volvo-product-v7
.details_boxed__other
[class*="fast_order"] {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;

    height: 44px !important;
    min-height: 44px !important;

    border-radius: 8px !important;
}


/* ---------- VIN CTA tighter and visually connected ---------- */

.volvo-product-v7__vin {
    padding:
        10px
        18px
        16px !important;
}

.volvo-product-v7__vin_button {
    min-height: 50px;

    border-radius: 8px;

    font-size: 13px;
}

.volvo-product-v7__vin_note {
    margin-top: 7px;

    font-size: 10px;
    line-height: 1.35;
}


/* ---------- purchase block section spacing ---------- */

.volvo-product-v7
.details_boxed__item {
    padding:
        15px
        18px;
}


/* ---------- delivery accordion starts cleaner after CTA ---------- */

.volvo-product-v7
.details_boxed__item--inner {
    padding-top: 2px !important;
}


/* ---------- mobile ---------- */

@media (max-width: 767px) {

    .volvo-product-v7
    .details_boxed__price_amount {
        grid-template-columns:
            1fr;
        align-items: start !important;
    }

    .volvo-product-v7
    .details_boxed__buttons {
        grid-template-columns:
            1fr !important;
    }

    .volvo-product-v7
    .details_boxed__other {
        grid-column: 1;

        justify-content: flex-start !important;
    }

}


/* ==========================================================
   VOLVO SHOP PRODUCT PAGE V7.3
   Align primary CTAs
   =============================================
}

/* add-to-cart takes full width */
.volvo-product-v7
.details_boxed__buttons
>
.fn_is_stock {
    display: block !important;
    width: 100% !important;
    margin: 0 0 10px 0 !important;
}

.volvo-product-v7
.details_boxed__buttons
>
.fn_is_stock
.product-page__button {
    width: 100% !important;
    min-height: 50px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 8px !important;
}

/* secondary icons go below in a separate aligned row */
.volvo-product-v7
.details_boxed__other {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 8px !important;

    width: 100% !important;
    margin: 0 0 10px 0 !important;
}

/* keep icons compact */
.volvo-product-v7
.product-page__wishlist,
.volvo-product-v7
.product-page__compare,
.volvo-product-v7
.details_boxed__other
a[class*="fast"],
.volvo-product-v7
.details_boxed__other
button[class*="fast"],
.volvo-product-v7
.details_boxed__other
[class*="fast_order"] {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;

    height: 44px !important;
    min-height: 44px !important;
}

/* VIN button exactly same horizontal geometry as add-to-cart */
.volvo-product-v7__vin {
    padding:
        0
        18px
        16px !important;
}

.volvo-product-v7__vin_button {
    width: 100% !important;
    min-height: 50px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 8px !important;
}

/* slightly tighten helper note */
.volvo-product-v7__vin_note {
    margin-top: 6px !important;
}

/* mobile stays clean */
@media (max-width: 767px) {

    .volvo-product-v7
    .details_boxed__other {
        justify-content: flex-start !important;
    }

}


/* ==========================================================
   VOLVO SHOP PRODUCT PAGE V7.4
   Primary CTA stack / same visual plane
   ========================================================== */

/* main button row becomes vertical stack */
.volvo-product-v7
.details_boxed__buttons {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;

    width: 100% !important;
    margin-top: 0 !important;
}

/* first: add to cart full width */
.volvo-product-v7
.details_boxed__buttons
>
.fn_is_stock {
    order: 1;

    display: block !important;

    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;

    flex: 0 0 auto !important;
}

.volvo-product-v7
.details_boxed__buttons
>
.fn_is_stock
.product-page__button,
.volvo-product-v7
.details_boxed__buttons
>
.fn_is_stock
.product-page__out_stock {
    width: 100% !important;
    min-height: 50px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 8px !important;
}

/* second: utility icons on their own row */
.volvo-product-v7
.details_boxed__other {
    order: 2;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    flex: 0 0 auto !important;
}

.volvo-product-v7
.product-page__wishlist,
.volvo-product-v7
.product-page__compare,
.volvo-product-v7
.details_boxed__other
a[class*="fast"],
.volvo-product-v7
.details_boxed__other
button[class*="fast"],
.volvo-product-v7
.details_boxed__other
[class*="fast_order"] {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;

    height: 44px !important;
    min-height: 44px !important;

    margin: 0 !important;
}

/* third: VIN button full width, same horizontal geometry */
.volvo-product-v7__vin {
    padding:
        10px
        18px
        16px !important;
}

.volvo-product-v7__vin_button {
    width: 100% !important;
    min-height: 50px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 8px !important;
}

.volvo-product-v7__vin_note {
    margin-top: 6px !important;
}

/* mobile */
@media (max-width: 767px) {

    .volvo-product-v7
    .details_boxed__other {
        justify-content: flex-start !important;
    }

}


/* ==========================================================
   VOLVO SHOP PRODUCT PAGE V7.5
   Real primary CTA layout
   ========================================================== */


/*
 * Stop compensating for V7.3 / V7.4.
 * The template now has a dedicated primary-actions row.
 */

.volvo-product-v7
.details_boxed__buttons {
    display: block !important;

    width: 100% !important;

    margin: 0 !important;
}


/* ---------- primary CTA row ---------- */

.volvo-product-v7
.volvo-product-v7__primary_actions {
    width: 100%;

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr);

    gap: 10px;

    align-items: stretch;

    margin: 0;
}


/* ---------- cart ---------- */

.volvo-product-v7
.volvo-product-v7__cart_action {
    width: 100% !important;

    margin: 0 !important;
}

.volvo-product-v7
.volvo-product-v7__cart_action
.product-page__button {
    width: 100% !important;
    max-width: none !important;

    min-height: 52px !important;
    height: 52px !important;

    margin: 0 !important;
    padding: 0 14px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 8px !important;

    font-size: 12px !important;
    font-weight: 800 !important;
}


/* ---------- VIN ---------- */

.volvo-product-v7
.volvo-product-v7__primary_actions
.volvo-product-v7__vin_button {
    width: 100% !important;
    max-width: nx !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    gap: 8px;

    border-radius: 8px !important;

    font-size: 12px !important;
    line-height: 1.2;
    font-weight: 800 !important;
}


/* ---------- tertiary utilities ---------- */

.volvo-product-v7
.details_boxed__other {
    width: 100% !important;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;

    gap: 7px !important;

    margin:
        9px
        0
        0 !important;

    padding: 0 !important;
}


/* smaller and clearly secondary */

.volvo-product-v7
.product-page__wishlist,
.volvo-product-v7
.product-page__compare,
.volvo-product-v7
.details_boxed__other
a[class*="fast"],
.volvo-product-v7
.details_boxed__other
button[class*="fast"],
.volvo-product-v7
.details_boxed__other
[class*="fast_order"] {
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;

    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;

    margin: 0 !important;

    border-radius: 7px !important;
}


/* ---------- VIN helper ---------- */

.volvo-product-v7
.volvo-product-v7__vin_note {
    margin:
        7px
        0
        0 !important;

    padding: 0 !important;

    color: #98a1a7;

    font-size: 9px;
    line-height: 1.35;

    text-align: right;
}


/* old outer VIN wrapper is no longer used */

.volvo-product-v7
>
.volvo-product-v7__vin,
.volvo-product-v7
.details_boxed
>
.volvo-product-v7__vin {
    display: none !important;
}


/* ---------- responsive ---------- */

@media (max-width: 767px) {

    .volvo-product-v7
    .volvo-product-v7__primary_actions {
        grid-template-columns:
            1fr;
    }

    .volvo-product-v7
    .details_boxed__other {
        justify-content: flex-start !important;
    }

    .volvo-product-v7
    .volvo-product-v7__vin_note {
        text-align: left;
    }

}


/* ==========================================================
   VOLVO SHOP PRODUCT PAGE V7.6
   Break legacy 50% action-column width
   ========================================================== */


/*
 * OkayCMS legacy product layout constrains the action block.
 * Force the whole purchase-action area to span the offer width.
 */

.volvo-product-v7
.details_boxed__buttons {
    width: 100% !important;
    max-width: 100% !important;

    flex:
        0
        0
        100% !important;

    flex-basis: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    float: none !important;

    box-sizing: border-box !important;
}


/* dedicated V7.5 CTA row now gets the real full width */

.volvo-product-v7
.volvo-product-v7__primary_actions {
    width: 100% !important;
    max-width: none !important;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr) !important;

    box-sizing: border-box !important;
}


/* both primary actions must occupy their complete grid cells */

.volvo-product-v7
.volvo-product-v7__cart_action,
.volvo-product-v7
.volvo-product-v7__vin_button {
    width: 100% !important;
    max-width: none !important;

    min-width: 0 !important;

    box-sizing: border-box !important;
}


/* utility actions use the same full-width parent */

.volvo-product-v7
.details_boxed__other {
    width: 100% !important;
    max-width: 100% !important;

    flex:
        0
        0
        100% !important;

    box-sizing: border-box !important;
}


/* helper text also spans the complete purchase area */

.volvo-product-v7
.volvo-product-v7__vin_note {
    width: 100% !important;
    max-width: none !important;

    box-sizing: border-box !important;

    text-align: right !important;
}


/* ensure form itself is not width constrained */

.volvo-product-v7
.details_boxed__item
>
form.fn_variants {
    width: 100% !important;
    max-width: none !important;

    display: block !important;

    box-sizing: border-box !important;
}


/* mobile */

@media (max-width: 767px) {

    .volvo-product-v7
    .volvo-product-v7__primary_actions {
        grid-template-columns:
            1fr !important;
    }

    .volvo-product-v7
    .volvo-product-v7__vin_note {
        text-align: left !important;
    }

}


/* ==========================================================
   VOLVO SHOP CART CHECKOUT V8
   ========================================================== */


/* ==========================================================
   PAGE
   ========================================================== */

.volvo-cart-v8 {
    min-height: 100vh;

    background:
        linear-gradient(
            180deg,
            #f8fafb 0%,
            #fff 230px
        );

    color: #17212a;
}

.volvo-cart-v8 .cart_body {
    flex: 1 1 auto;

    padding:
        26px
        0
        45px;
}


/* ==========================================================
   CART HEADER
   ========================================================== */

.volvo-cart-v8 .cart_header {
    min-height: 78px;

    display: flex;
    align-items: center;

    border-bottom:
        1px
        solid
        #e2e7ea;

    background: #fff;
}

.volvo-cart-v8 .cart_header__inner {
    min-height: 78px;
}

.volvo-cart-v8 .cart_header__logo {
    display: flex;
    align-items: center;

    max-width: 185px;
    max-height: 54px;
}

.volvo-cart-v8 .cart_header__logo img,
.volvo-cart-v8 .cart_header__logo svg {
    max-width: 175px;
    max-height: 52px;
}

.volvo-cart-v8 .cart_header__phone {
    color: #17212a;

    font-size: 15px;
    font-weight: 800;

    text-decoration: none;
}

.volvo-cart-v8 .cart_header__phone::before {
    content: "\f095";

    margin-right: 8px;

    font-family: FontAwesome;

    color: #0067b9;
}


/* ==========================================================
   PAGE TITLE
   ========================================================== */

.volvo-cart-v8
.cart_body
.block
>
.block__header {
    position: relative;

    margin:
        0
        0
        20px;

    padding:
        17px
        19px
        17px
        23px;

    border:
        1px
        solid
        #e0e5e9 !important;

    border-radius: 9px;

    background: #fff;
}

.volvo-cart-v8
.cart_body
.block
>
.block__header::before {
    content: "";

    position: absolute;

    top: 15px;
    bottom: 15px;
    left: 0;

    width: 4px;

    border-radius:
        0
        4px
        4px
        0;

    background: #0067b9;
}

.volvo-cart-v8
.cart_body
.block__heading {
    margin: 0;

    color: #111820;

    font-size: 28px;
    line-height: 1.1;
    font-weight: 800;

    letter-spacing: -.025em;
}


/* ==========================================================
   MAIN CHECKOUT COLUMNS
   ========================================================== */

.volvo-cart-v8
.fn_validate_cart
>
.f_row {
    margin:
        0
        -8px;
}

.volvo-cart-v8
.fn_validate_cart
>
.f_row
>
.f_col {
    padding:
        0
        8px;
}


/* Desktop:
   checkout left = 58%
   summary right = 42%
 */

@media (min-width: 1200px) {

    .volvo-cart-v8
    .fn_validate_cart
    >
    .f_row
    >
    .f_col-xl-7 {
        flex:
            0
            0
            58.333333%;

        max-width:
            58.333333%;
    }

    .volvo-cart-v8
    .fn_validate_cart
    >
    .f_row
    >
    .f_col-xl-5 {
        flex:
            0
            0
            41.666667%;

        max-width:
            41.666667%;
    }

}


/* ==========================================================
   COMMON CHECKOUT CARDS
   ========================================================== */

.volvo-cart-v8
.block--boxed.block--border {
    border:
        1px
        solid
        #e0e5e9 !important;

    border-radius: 10px;

    background: #fff;

    box-shadow:
        0
        3px
        14px
        rgba(17,31,43,.035);
}

.volvo-cart-v8
.block__inner {
    padding:
        19px;
}

.volvo-cart-v8
.h6 {
    margin:
        0
        0
        15px;

    color: #17212a;

    font-size: 15px;
    line-height: 1.25;
    font-weight: 800;
}


/* ==========================================================
   CART PURCHASE SUMMARY
   ========================================================== */

.volvo-cart-v8
.block--cart_purchases {
    position: relative;

    overflow: hidden;
}

.volvo-cart-v8
#fn_purchases {
    margin:
        0
        0
        6px;
}

.volvo-cart-v8
.purchase__item {
    position: relative;

    min-height: 106px;

    gap: 13px;

    margin: 0;

    padding:
        14px
        34px
        14px
        0;

    border-bottom:
        1px
        solid
        #edf0f2;
}

.volvo-cart-v8
.purchase__item:last-child {
    border-bottom: 0;
}


/* image */

.volvo-cart-v8
.purchase__image {
    flex:
        0
        0
        82px;

    width: 82px;
    height: 82px;

    overflow: hidden;

    border:
        1px
        solid
        #e2e7ea;

    border-radius: 7px;

    background: #f8f9fa;
}

.volvo-cart-v8
.purchase__image a {
    width: 100%;
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: center;
}

.volvo-cart-v8
.purchase__image img {
    width: 100%;
    height: 100%;

    padding: 5px;

    object-fit: contain;
}


/* content */

.volvo-cart-v8
.purchase__content {
    flex: 1 1 auto;

    min-width: 0;
}

.volvo-cart-v8
.purchase__name {
    padding-right: 5px;
}

.volvo-cart-v8
.purchase__name_link {
    display: block;

    color: #202a32;

    font-size: 12px;
    line-height: 1.35;
    font-weight: 700;

    text-decoration: none;
}

.volvo-cart-v8
.purchase__name_link:hover {
    color: #0067b9;
}

.volvo-cart-v8
.purchase__name i {
    display: block;

    margin-top: 4px;

    color: #899299;

    font-size: 9px;
    font-style: normal;
}


/* supplier */

.volvo-cart-v8
.purchase__tehnomir {
    margin-top: 6px;

    padding:
        5px
        7px;

    border-radius: 5px;

    background: #f2f8f4;
}

.volvo-cart-v8
.purchase__tehnomir
.tehnomir-stock__label {
    color: #2d7848;

    font-size: 8px;
    font-weight: 800;
}

.volvo-cart-v8
.purchase__tehnomir
.tehnomir-stock__delivery {
    margin-left: 4px;

    color: #7a837d;

    font-size: 8px;
}


/* product data row */

.volvo-cart-v8
.purchase__group {
    display: grid;

    grid-template-columns:
        minmax(80px, .85fr)
        104px
        minmax(86px, .85fr);

    align-items: end;

    gap: 9px;

    margin-top: 11px;
}

.volvo-cart-v8
.purchase__group_title {
    margin-bottom: 4px;

    color: #98a0a6;

    font-size: 8px;
    line-height: 1.2;
    font-weight: 600;
}

.volvo-cart-v8
.purchase__group_content {
    color: #27323a;

    font-size: 11px;
    line-height: 1.25;
    font-weight: 700;
}

.volvo-cart-v8
.purchase__price_total
.purchase__group_content {
    font-size: 13px;
    font-weight: 800;
}


/* quantity */

.volvo-cart-v8
.purchase__amount
.amount {
    width: 100px;
    height: 34px;

    overflow: hidden;

    border:
        1px
        solid
        #d8dfe3;

    border-radius: 6px;

    background: #fff;
}

.volvo-cart-v8
.purchase__amount
.amount__minus,
.volvo-cart-v8
.purchase__amount
.amount__plus {
    width: 30px;
    height: 32px;
}

.volvo-cart-v8
.purchase__amount
.amount__input {
    width: 38px;
    height: 32px;
}


/* remove */

.volvo-cart-v8
.purchase__remove {
    position: absolute;

    top: 15px;
    right: 0;

    width: 26px;
    height: 26px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    color: #a0a8ae;

    background: #f4f6f7;
}

.volvo-cart-v8
.purchase__remove:hover {
    color: #b33d3d;

    background: #fbeeee;
}


/* ==========================================================
   COUPON
   ========================================================== */

.volvo-cart-v8
.purchase_detail {
    margin-top: 15px;

    padding-top: 15px;

    border-top:
        1px
        solid
        #e8ecef;
}

.volvo-cart-v8
.coupon {
    margin-bottom: 13px;
}

.volvo-cart-v8
.coupon__title {
    margin-bottom: 8px;

    color: #637079;

    font-size: 10px;
    font-weight: 700;
}

.volvo-cart-v8
.coupon__group {
    gap: 7px;
}

.volvo-cart-v8
.form__group--coupon {
    flex: 1 1 auto;

    margin: 0;
}

.volvo-cart-v8
.form__input--coupon {
    height: 39px;

    border-color: #dce2e6;

    border-radius: 6px;
}

.volvo-cart-v8
.form__button--coupon {
    flex:
        0
        0
        auto;

    min-height: 39px;

    padding:
        0
        13px;

    border:
        1px
        solid
        #cfd8de;

    border-radius: 6px;

    background: #f6f8f9;

    color: #46545e;

    font-size: 9px;
    font-weight: 800;
}


/* ==========================================================
   TOTALS
   ========================================================== */

.volvo-cart-v8
.purchase_detail__item {
    min-height: 35px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 15px;

    padding:
        7px
        0;
}

.volvo-cart-v8
.purchase_detail__name {
    color: #68747d;

    font-size: 10px;
}

.volvo-cart-v8
.purchase_detail__price {
    color: #28343c;

    font-size: 11px;
    font-weight: 700;

    text-align: right;
}

.volvo-cart-v8
.purchase_detail__name--total {
    color: #17212a;

    font-size: 13px;
    font-weight: 800;
}

.volvo-cart-v8
.purchase_detail__price--total {
    color: #111820;

    font-size: 22px;
    line-height: 1;
    font-weight: 800;

    letter-spacing: -.02em;
}


/* ==========================================================
   CUSTOMER / CHECKOUT COLUMN
   ========================================================== */

.volvo-cart-v8
.form_cart {
    margin: 0;
}

.volvo-cart-v8
.form_cart.form--boxed {
    padding: 0;
}

.volvo-cart-v8
.form__header {
    margin-bottom: 15px;
}

.volvo-cart-v8
.form__title {
    display: flex;
    align-items: center;

    gap: 8px;

    color: #17212a;

    font-size: 14px;
    line-height: 1.2;
    font-weight: 800;
}

.volvo-cart-v8
.form__title svg {
    width: 20px;
    height: 20px;

    color: #0067b9;
}


/* inputs */

.volvo-cart-v8
.form__group {
    margin-bottom: 13px;
}

.volvo-cart-v8
.form__input,
.volvo-cart-v8
.form__textarea {
    width: 100%;

    border:
        1px
        solid
        #d8dfe3;

    border-radius: 7px;

    background: #fff;

    color: #26323a;

    font-size: 11px;

    box-shadow: none;
}

.volvo-cart-v8
.form__input {
    height: 46px;
}

.volvo-cart-v8
.form__textarea {
    min-height: 86px;

    padding-top: 17px;
}

.volvo-cart-v8
.form__input:focus,
.volvo-cart-v8
.form__textarea:focus {
    border-color: #81b6dc;

    box-shadow:
        0
        0
        0
        3px
        rgba(0,103,185,.07);
}

.volvo-cart-v8
.form__placeholder {
    color: #8c969d;

    font-size: 10px;
}


/* ==========================================================
   DELIVERY / PAYMENT
   ========================================================== */

.volvo-cart-v8
#fn_ajax_deliveries
.form_cart {
    margin-top: 18px;

    padding-top: 18px;

    border-top:
        1px
        solid
        #e8ecef;
}

.volvo-cart-v8
.delivery.form__group {
    margin: 0;
}

.volvo-cart-v8
.delivery__item,
.volvo-cart-v8
.payment_method__item {
    margin-bottom: 8px;
}

.volvo-cart-v8
.delivery__label {
    position: relative;

    min-height: 58px;

    display: flex;
    align-items: center;

    gap: 11px;

    padding:
        10px
        12px;

    border:
        1px
        solid
        #dfe5e8;

    border-radius: 7px;

    background: #fff;

    cursor: pointer;

    transition:
        border-color .15s ease,
        background .15s ease;
}

.volvo-cart-v8
.delivery__label:hover {
    border-color: #bfd0dc;

    background: #fbfcfd;
}

.volvo-cart-v8
.delivery__label.active {
    border-color: #7fb5da;

    background: #f3f9fd;
}

.volvo-cart-v8
.checkbox__icon {
    flex:
        0
        0
        21px;

    width: 21px;
    height: 21px;

    border:
        1px
        solid
        #cbd5db;

    border-radius: 50%;

    background: #fff;
}

.volvo-cart-v8
.delivery__label.active
.checkbox__icon {
    border-color: #0067b9;

    background: #0067b9;
}

.volvo-cart-v8
.delivery__name {
    flex: 1 1 auto;

    color: #313d46;

    font-size: 11px;
    line-height: 1.35;
    font-weight: 700;
}

.volvo-cart-v8
.delivery__name_price {
    color: #78838b;

    font-size: 9px;
    font-weight: 500;
}

.volvo-cart-v8
.delivery__image {
    flex:
        0
        0
        82px;

    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.volvo-cart-v8
.delivery__image img {
    max-width: 80px;
    max-height: 30px;

    object-fit: contain;
}

.volvo-cart-v8
.delivery__description {
    margin:
        6px
        0
        11px
        33px;

    padding:
        8px
        10px;

    border-radius: 5px;

    background: #f7f9fa;

    color: #69757d;

    font-size: 9px;
    line-height: 1.5;
}


/* ==========================================================
   CHECKOUT BUTTON
   ========================================================== */

.volvo-cart-v8
.form__footer {
    margin-top: 20px;

    padding-top: 18px;

    border-top:
        1px
        solid
        #e8ecef;
}

.volvo-cart-v8
.form__footer
.form__button {
    width: 100%;
    min-height: 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 0;
    border-radius: 8px;

    background: #0067b9;

    color: #fff;

    font-size: 13px;
    line-height: 1;
    font-weight: 800;

    box-shadow: none;
}

.volvo-cart-v8
.form__footer
.form__button:hover {
    background: #00579e;
}


/* ==========================================================
   ERROR / SUCCESS
   ========================================================== */

.volvo-cart-v8
.message_error,
.volvo-cart-v8
.message_success {
    margin-bottom: 12px;

    padding:
        10px
        12px;

    border-radius: 6px;

    font-size: 10px;
    line-height: 1.45;
}

.volvo-cart-v8
.message_error {
    border:
        1px
        solid
        #ecd0d0;

    background: #fff6f6;

    color: #a54343;
}

.volvo-cart-v8
.message_success {
    border:
        1px
        solid
        #d0e6d7;

    background: #f5fbf7;

    color: #34734a;
}


/* ==========================================================
   EMPTY CART
   ========================================================== */

.volvo-cart-v8
.cart_body
.block
>
.h1 {
    position: relative;

    margin-bottom: 15px;

    padding-left: 17px;

    color: #111820;

    font-size: 28px;
    font-weight: 800;
}

.volvo-cart-v8
.cart_body
.block
>
.h1::before {
    content: "";

    position: absolute;

    top: 3px;
    bottom: 3px;
    left: 0;

    width: 4px;

    border-radius: 4px;

    background: #0067b9;
}


/* ==========================================================
   FOOTER
   ========================================================== */

.volvo-cart-v8
.cart_footer {
    margin-top: auto;

    padding:
        18px
        0;

    border-top:
        1px
        solid
        #e5e9ec;

    background: #fff;
}

.volvo-cart-v8
.cart_footer__copyright {
    color: #8a939a;

    font-size: 9px;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 991px) {

    .volvo-cart-v8
    .fn_validate_cart
    >
    .f_row {
        gap: 16px;
    }

    .volvo-cart-v8
    .position_sticky {
        position: static !important;

        top: auto !important;
    }

}


@media (max-width: 767px) {

    .volvo-cart-v8
    .cart_body {
        padding-top: 16px;
    }

    .volvo-cart-v8
    .cart_header {
        min-height: 65px;
    }

    .volvo-cart-v8
    .cart_header__inner {
        min-height: 65px;
    }

    .volvo-cart-v8
    .cart_body
    .block__heading {
        font-size: 23px;
    }

    .volvo-cart-v8
    .block__inner {
        padding: 14px;
    }

    .volvo-cart-v8
    .purchase__item {
        padding-right: 28px;
    }

    .volvo-cart-v8
    .purchase__image {
        flex-basis: 68px;

        width: 68px;
        height: 68px;
    }

    .volvo-cart-v8
    .purchase__group {
        grid-template-columns:
            1fr
            96px;

        gap: 8px;
    }

    .volvo-cart-v8
    .purchase__price {
        display: none;
    }

}


@media (max-width: 480px) {

    .volvo-cart-v8
    .cart_header__phone {
        font-size: 12px;
    }

    .volvo-cart-v8
    .purchase__item {
        display: grid !important;

        grid-template-columns:
            65px
            minmax(0,1fr);

        gap: 10px;
    }

    .volvo-cart-v8
    .purchase__content {
        width: 100%;
    }

    .volvo-cart-v8
    .purchase__group {
        grid-template-columns:
            94px
            minmax(80px,1fr);
    }

    .volvo-cart-v8
    .delivery__image {
        display: none;
    }

}


/* ==========================================================
   VOLVO SHOP CART V8.1
   Checkout polish + popup cart
   ========================================================== */


/* ==========================================================
   CART PAGE POLISH
   ========================================================== */


/* ---------- slightly tighter cart header ---------- */

.volvo-cart-v8 .cart_header,
.volvo-cart-v8 .cart_header__inner {
    min-height: 68px;
}

.volvo-cart-v8 .cart_header__logo {
    max-height: 46px;
}

.volvo-cart-v8 .cart_header__logo img,
.volvo-cart-v8 .cart_header__logo svg {
    max-height: 44px;
}


/* ---------- section headings ---------- */

.volvo-cart-v8 .form__header {
    position: relative;

    margin:
        0
        0
        16px;

    text-align: center;
}

.volvo-cart-v8 .form__header::before {
    content: "";

    position: absolute;

    top: 50%;
    right: 0;
    left: 0;

    height: 1px;

    background: #e6eaed;
}

.volvo-cart-v8 .form__title {
    position: relative;

    z-index: 1;

    width: max-content;

    max-width: calc(100% - 30px);

    margin:
        0
        auto;

    padding:
        0
        13px;

    background: #fff;

    font-size: 13px;
}

.volvo-cart-v8 .form__title svg {
    width: 18px;
    height: 18px;
}


/* ---------- radio selectors ---------- */

.volvo-cart-v8 .delivery__label {
    padding-left: 14px;
}

.volvo-cart-v8 .checkbox__icon {
    width: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;

    height: 18px !important;
    min-height: 18px !important;
    max-height: 18px !important;

    margin: 0 !important;

    flex:
        0
        0
        18px !important;

    border-width: 1px !important;
}

.volvo-cart-v8 .delivery__label.active .checkbox__icon {
    box-shadow:
        inset
        0
        0
        0
        4px
        #fff;
}

.volvo-cart-v8 .delivery__label.active .checkbox__mark {
    display: none;
}


/* ---------- delivery cards slightly denser ---------- */

.volvo-cart-v8 .delivery__label {
    min-height: 54px;

    padding:
        9px
        12px;
}

.volvo-cart-v8 .delivery__description {
    margin-left: 29px;

    padding:
        8px
        11px;
}


/* ---------- summary card ---------- */

.volvo-cart-v8 .block--cart_purchases .block__inner {
    padding:
        18px
        20px;
}

.volvo-cart-v8 .block--cart_purchases .h6 {
    margin-bottom: 13px;
}

.volvo-cart-v8 .purchase_detail {
    margin-top: 12px;
    padding-top: 12px;
}


/* ---------- checkout button ---------- */

.volvo-cart-v8
.form__footer
.form__button {
    min-height: 55px;

    font-size: 13px;
    letter-spacing: .01em;
}


/* ==========================================================
   POPUP CART V8
   ========================================================== */

.volvo-popup-cart-v8 {
    width:
        min(720px, calc(100vw - 42px));

    padding:
        23px
        25px
        25px;

    background: #fff;
}


/* heading */

.volvo-popup-cart-v8
>
.h6 {
    position: relative;

    margin:
        0
        0
        17px;

    padding-left: 15px;

    color: #111820;

    font-size: 21px;
    line-height: 1.2;
    font-weight: 800;
}

.volvo-popup-cart-v8
>
.h6::before {
    content: "";

    position: absolute;

    top: 2px;
    bottom: 2px;
    left: 0;

    width: 4px;

    border-radius: 4px;

    background: #0067b9;
}


/* purchase row */

.volvo-popup-cart-v8
.purchase__item {
    position: relative;

    min-height: 118px;

    gap: 14px;

    padding:
        12px
        32px
        15px
        0;

    border-bottom:
        1px
        solid
        #e7ebee;
}

.volvo-popup-cart-v8
.purchase__image {
    flex:
        0
        0
        92px;

    width: 92px;
    height: 92px;

    overflow: hidden;

    border:
        1px
        solid
        #e0e5e9;

    border-radius: 8px;

    background: #f8f9fa;
}

.volvo-popup-cart-v8
.purchase__image a {
    width: 100%;
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: center;
}

.volvo-popup-cart-v8
.purchase__image img {
    width: 100%;
    height: 100%;

    padding: 6px;

    object-fit: contain;
}

.volvo-popup-cart-v8
.purchase__content {
    flex: 1 1 auto;

    min-width: 0;
}

.volvo-popup-cart-v8
.purchase__name_link {
    color: #1b252d;

    font-size: 13px;
    line-height: 1.35;
    font-weight: 700;

    text-decoration: none;
}


/* popup item data */

.volvo-popup-cart-v8
.purchase__group {
    display: grid;

    grid-template-columns:
        minmax(120px,1fr)
        110px
        minmax(105px,.8fr);

    align-items: end;

    gap: 13px;

    margin-top: 12px;
}

.volvo-popup-cart-v8
.purchase__group_title {
    margin-bottom: 5px;

    color: #8d969d;

    font-size: 9px;
}

.volvo-popup-cart-v8
.purchase__group_content {
    color: #27323a;

    font-size: 12px;
    font-weight: 700;
}

.volvo-popup-cart-v8
.purchase__price_total
.purchase__group_content {
    color: #0067b9;

    font-size: 15px;
    font-weight: 800;
}


/* popup quantity */

.volvo-popup-cart-v8
.amount {
    width: 106px;
    height: 37px;

    overflow: hidden;

    border:
        1px
        solid
        #d7dee3;

    border-radius: 6px;
}

.volvo-popup-cart-v8
.amount__minus,
.volvo-popup-cart-v8
.amount__plus {
    width: 32px;
    height: 35px;
}

.volvo-popup-cart-v8
.amount__input {
    width: 40px;
    height: 35px;
}


/* remove */

.volvo-popup-cart-v8
.purchase__remove {
    position: absolute;

    top: 13px;
    right: 0;

    width: 28px;
    height: 28px;

    display: flex;
    align-items: center;
    justify-content: center;

    border:
        1px
        solid
        #e0e5e9;

    border-radius: 50%;

    color: #929da4;

    background: #fff;
}

.volvo-popup-cart-v8
.purchase__remove:hover {
    border-color: #e3bebe;

    color: #b23d3d;

    background: #fff7f7;
}


/* footer row */

.volvo-popup-cart-v8
+
.purchase_detail__item,
.fancybox-content
>
.purchase_detail__item {
    gap: 17px;
}


/*
 * Popup footer in the template is a sibling of block__popup_cart.
 * Scope it through Fancybox container.
 */

.fancybox-content
>
.volvo-popup-cart-v8
+
.purchase_detail__item {
    display: grid !important;

    grid-template-columns:
        minmax(180px,.8fr)
        minmax(280px,1.2fr);

    align-items: center;

    gap: 20px;

    margin:
        0
        25px
        25px;

    padding:
        19px
        0
        0;

    border-top:
        1px
        solid
        #e7ebee;
}


/* continue */

.fancybox-content
>
.volvo-popup-cart-v8
+
.purchase_detail__item
>
.form__button--border {
    width: 100%;

    min-height: 47px;

    display: flex;
    align-items: center;
    justify-content: center;

    border:
        1px
        solid
        #ccd5db;

    border-radius: 7px;

    background: #fff;

    color: #485660;

    font-size: 11px;
    font-weight: 700;

    text-decoration: none;
}


/* total card */

.fancybox-content
>
.volvo-popup-cart-v8
+
.purchase_detail__item
.purchase_detail__column_value {
    width: 100%;

    margin: 0;
}

.fancybox-content
>
.volvo-popup-cart-v8
+
.purchase_detail__item
.form--boxed_cart {
    width: 100%;

    margin: 0;

    padding: 0;

    border: 0;

    box-shadow: none;
}

.fancybox-content
>
.volvo-popup-cart-v8
+
.purchase_detail__item
.purchase_detail__price--total {
    display: grid;

    grid-template-columns:
        1fr;

    gap: 10px;

    padding:
        14px;

    border:
        1px
        solid
        #e0e5e9;

    border-radius: 8px;

    background: #fafbfb;
}

.fancybox-content
>
.volvo-popup-cart-v8
+
.purchase_detail__item
.purchase_detail_popup_total {
    color: #111820;

    font-size: 23px;
    line-height: 1;
    font-weight: 800;

    text-align: center;
}


/* go to cart */

.fancybox-content
>
.volvo-popup-cart-v8
+
.purchase_detail__item
.purchase_detail__price--total
.form__button {
    width: 100%;

    min-height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 0;

    border-radius: 7px;

    background: #0067b9;

    color: #fff;

    font-size: 11px;
    font-weight: 800;

    text-decoration: none;
}

.fancybox-content
>
.volvo-popup-cart-v8
+
.purchase_detail__item
.purchase_detail__price--total
.form__button:hover {
    background: #00579e;
}


/* Fancybox frame */

.fancybox-content:has(> .volvo-popup-cart-v8) {
    overflow: hidden !important;

    padding: 0 !important;

    border-radius: 10px;

    box-shadow:
        0
        18px
        55px
        rgba(0,0,0,.2);
}


/* close */

.fancybox-content:has(> .volvo-popup-cart-v8)
.fancybox-button--close {
    top: 8px;
    right: 8px;

    width: 38px;
    height: 38px;
}


/* ==========================================================
   RESPONSIVE POPUP
   ========================================================== */

@media (max-width: 767px) {

    .volvo-popup-cart-v8 {
        width:
            min(620px, calc(100vw - 24px));

        padding:
            18px
            17px;
    }

    .volvo-popup-cart-v8
    .purchase__group {
        grid-template-columns:
            1fr
            105px;
    }

    .volvo-popup-cart-v8
    .purchase__price {
        display: none;
    }

    .fancybox-content
    >
    .volvo-popup-cart-v8
    +
    .purchase_detail__item {
        grid-template-columns:
            1fr;

        margin:
            0
            17px
            18px;

        gap: 10px;
    }

}

@media (max-width: 480px) {

    .volvo-popup-cart-v8
    .purchase__item {
        display: grid !important;

        grid-template-columns:
            72px
            minmax(0,1fr);

        gap: 10px;
    }

    .volvo-popup-cart-v8
    .purchase__image {
        width: 72px;
        height: 72px;

        flex-basis: 72px;
    }

}


/* ==========================================================
   VOLVO SHOP CART V8.2
   Popup footer + cart radio polish
   ========================================================== */


/* ==========================================================
   POPUP FOOTER
   ========================================================== */

/*
 * pop_up_cart.tpl:
 * .volvo-popup-cart-v8
 * + .purchase_detail__item
 */

.fancybox-content
>
.volvo-popup-cart-v8
+
.purchase_detail__item {
    display: grid !important;

    grid-template-columns:
        minmax(190px,.8fr)
        minmax(310px,1.2fr) !important;

    align-items: center !important;

    gap: 24px !important;

    margin:
        0
        25px
        25px !important;

    padding:
        20px
        0
        0 !important;

    border-top:
        1px
        solid
        #e6eaed !important;

    background: transparent !important;
}


/* ---------- continue shopping ---------- */

.fancybox-content
>
.volvo-popup-cart-v8
+
.purchase_detail__item
>
.form__button--border {
    width: 100% !important;

    min-height: 48px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
    padding:
        0
        16px !important;

    border:
        1px
        solid
        #ccd6dc !important;

    border-radius: 7px !important;

    background: #fff !important;

    color: #44525c !important;

    font-size: 11px !important;
    font-weight: 700 !important;

    text-decoration: none !important;

    box-shadow: none !important;
}

.fancybox-content
>
.volvo-popup-cart-v8
+
.purchase_detail__item
>
.form__button--border:hover {
    border-color: #0067b9 !important;

    color: #0067b9 !important;

    background: #f7fbfe !important;
}


/* ---------- remove legacy summary box ---------- */

.fancybox-content
>
.volvo-popup-cart-v8
+
.purchase_detail__item
.purchase_detail__column_value {
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}

.fancybox-content
>
.volvo-popup-cart-v8
+
.purchase_detail__item
.form--boxed_cart {
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    background: transparent !important;

    box-shadow: none !important;
}


/* ---------- total + checkout card ---------- */

.fancybox-content
>
.volvo-popup-cart-v8
+
.purchase_detail__item
.purchase_detail__price--total {
    width: 100% !important;

    display: grid !important;

    grid-template-columns:
        1fr
        1.35fr !important;

    align-items: center !important;

    gap: 14px !important;

    margin: 0 !important;

    padding:
        12px !important;

    border:
        1px
        solid
        #e0e5e9 !important;

    border-radius: 8px !important;

    background: #f8fafb !important;

    box-shadow: none !important;
}


/* ---------- total ---------- */

.fancybox-content
>
.volvo-popup-cart-v8
+
.purchase_detail__item
.purchase_detail_popup_total {
    margin: 0 !important;
    padding: 0 !important;

    color: #111820 !important;

    font-size: 24px !important;
    line-height: 1 !important;
    font-weight: 800 !important;

    text-align: center !important;
}

.fancybox-content
>
.volvo-popup-cart-v8
+
.purchase_detail__item
.purchase_detail_popup_total
.currency {
    font-size: 12px !important;
}


/* ---------- checkout button: kill legacy black button ---------- */

.fancybox-content
>
.volvo-popup-cart-v8
+
.purchase_detail__item
.purchase_detail__price--total
a.form__button,
.fancybox-content
>
.volvo-popup-cart-v8
+
.purchase_detail__item
.purchase_detail__price--total
.button--blick {
    width: 100% !important;

    min-height: 50px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
    padding:
        0
        17px !important;

    border:
        0 !important;

    border-radius: 7px !important;

    background:
        #0067b9 !important;

    color:
        #fff !important;

    font-size: 11px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;

    text-decoration: none !important;

    box-shadow: none !important;

    text-shadow: none !important;
}

.fancybox-content
>
.volvo-popup-cart-v8
+
.purchase_detail__item
.purchase_detail__price--total
a.form__button:hover,
.fancybox-content
>
.volvo-popup-cart-v8
+
.purchase_detail__item
.purchase_detail__price--total
.button--blick:hover {
    background:
        #00579e !important;
}


/* ==========================================================
   CART RADIO POLISH
   ========================================================== */

.volvo-cart-v8
.delivery__label {
    gap: 10px !important;
}

.volvo-cart-v8
.checkbox {
    position: relative;
}

.volvo-cart-v8
.checkbox__icon {
    flex:
        0
        0
        18px !important;

    width: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;

    height: 18px !important;
    min-height: 18px !important;
    max-height: 18px !important;

    margin: 0 !important;

    border:
        1px
        solid
        #cbd5db !important;

    border-radius:
        50% !important;

    background:
        #fff !important;

    box-sizing:
        border-box !important;
}

.volvo-cart-v8
.delivery__label.active
.checkbox__icon {
    border-color:
        #0067b9 !important;

    background:
        #fff !important;

    box-shadow:
        inset
        0
        0
        0
        4px
        #fff !important;
}


/* actual inner selected dot */

.volvo-cart-v8
.delivery__label.active
.checkbox__icon::after {
    content: "";

    position: absolute;

    top: 50%;
    left: 50%;

    width: 8px;
    height: 8px;

    margin:
        -4px
        0
        0
        -4px;

    border-radius:
        50%;

    background:
        #0067b9;
}

.volvo-cart-v8
.checkbox__mark {
    display:
        none !important;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 767px) {

    .fancybox-content
    >
    .volvo-popup-cart-v8
    +
    .purchase_detail__item {
        grid-template-columns:
            1fr !important;

        gap: 10px !important;
    }

    .fancybox-content
    >
    .volvo-popup-cart-v8
    +
    .purchase_detail__item
    .purchase_detail__price--total {
        grid-template-columns:
            1fr !important;
    }

}


/* ==========================================================
   VOLVO SHOP CART V8.3
   Popup outer-wrapper scope fix
   ========================================================== */


/*
 * pop_up_cart.tpl has an outer anonymous div around:
 *
 *   .volvo-popup-cart-v8
 *   .purchase_detail__item
 *
 * therefore footer is NOT a direct child of .fancybox-content.
 */


/* ==========================================================
   POPUP FOOTER LAYOUT
   ========================================================== */

.fancybox-content
.volvo-popup-cart-v8
+
.purchase_detail__item {
    display: grid !important;

    grid-template-columns:
        minmax(180px,.75fr)
        minmax(330px,1.25fr) !important;

    align-items: center !important;

    gap: 22px !important;

    margin:
        0
        25px
        25px !important;

    padding:
        20px
        0
        0 !important;

    border-top:
        1px
        solid
        #e5eaed !important;

    background:
        transparent !important;
}


/* ==========================================================
   CONTINUE SHOPPING
   ========================================================== */

.fancybox-content
.volvo-popup-cart-v8
+
.purchase_detail__item
>
.form__button--border {
    width: 100% !important;

    min-height: 48px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
    padding:
        0
        16px !important;

    border:
        1px
        solid
        #cdd6dc !important;

    border-radius:
        7px !important;

    background:
        #fff !important;

    color:
        #46545e !important;

    font-size:
        11px !important;

    font-weight:
        700 !important;

    text-decoration:
        none !important;

    box-shadow:
        none !important;
}


/* ==========================================================
   KILL OLD SUMMARY BOX GEOMETRY
   ========================================================== */

.fancybox-content
.volvo-popup-cart-v8
+
.purchase_detail__item
.purchase_detail__column_value,

.fancybox-content
.volvo-popup-cart-v8
+
.purchase_detail__item
.form--boxed_cart {
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    background:
        transparent !important;

    box-shadow:
        none !important;
}


/* ==========================================================
   TOTAL / CHECKOUT STRIP
   ========================================================== */

.fancybox-content
.volvo-popup-cart-v8
+
.purchase_detail__item
.purchase_detail__price--total {
    width: 100% !important;

    display: grid !important;

    grid-template-columns:
        minmax(120px,.7fr)
        minmax(210px,1.3fr) !important;

    align-items: center !important;

    gap: 13px !important;

    margin: 0 !important;

    padding:
        11px !important;

    border:
        1px
        solid
        #e0e5e9 !important;

    border-radius:
        8px !important;

    background:
        #f8fafb !important;

    box-shadow:
        none !important;
}


/* total */

.fancybox-content
.volvo-popup-cart-v8
+
.purchase_detail__item
.purchase_detail_popup_total {
    margin: 0 !important;
    padding: 0 !important;

    color:
        #111820 !important;

    font-size:
        22px !important;

    line-height:
        1 !important;

    font-weight:
        800 !important;

    text-align:
        center !important;
}

.fancybox-content
.volvo-popup-cart-v8
+
.purchase_detail__item
.purchase_detail_popup_total
.currency {
    font-size:
        11px !important;
}


/* ==========================================================
   CHECKOUT BUTTON
   ========================================================== */

.fancybox-content
.volvo-popup-cart-v8
+
.purchase_detail__item
.purchase_detail__price--total
.form__button,

.fancybox-content
.volvo-popup-cart-v8
+
.purchase_detail__item
.purchase_detail__price--total
.button--blick {
    position: relative !important;

    width: 100% !important;

    min-height: 50px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;

    padding:
        0
        16px !important;

    overflow: hidden !important;

    border:
        0 !important;

    border-radius:
        7px !important;

    background:
        #0067b9 !important;

    color:
        #fff !important;

    font-size:
        11px !important;

    font-weight:
        800 !important;

    line-height:
        1.1 !important;

    text-decoration:
        none !important;

    text-shadow:
        none !important;

    box-shadow:
        none !important;
}


/* kill OkayCMS blick overlays if present */

.fancybox-content
.volvo-popup-cart-v8
+
.purchase_detail__item
.button--blick::before,

.fancybox-content
.volvo-popup-cart-v8
+
.purchase_detail__item
.button--blick::after {
    display:
        none !important;

    content:
        none !important;
}


.fancybox-content
.volvo-popup-cart-v8
+
.purchase_detail__item
.purchase_detail__price--total
.form__button:hover,

.fancybox-content
.volvo-popup-cart-v8
+
.purchase_detail__item
.purchase_detail__price--total
.button--blick:hover {
    background:
        #00579e !important;
}


/* ==========================================================
   FANCYBOX WRAPPER
   ========================================================== */

.fancybox-content:has(.volvo-popup-cart-v8) {
    padding:
        0 !important;

    overflow:
        hidden !important;

    border-radius:
        10px !important;

    box-shadow:
        0
        18px
        55px
        rgba(0,0,0,.20) !important;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 767px) {

    .fancybox-content
    .volvo-popup-cart-v8
    +
    .purchase_detail__item {
        grid-template-columns:
            1fr !important;

        gap:
            10px !important;

        margin:
            0
            17px
            18px !important;
    }

    .fancybox-content
    .volvo-popup-cart-v8
    +
    .purchase_detail__item
    .purchase_detail__price--total {
        grid-template-columns:
            1fr !important;
    }

}


/* ==========================================================
   VOLVO SHOP CART V8.4
   Checkout form geometry cleanup
   ========================================================== */


/* ==========================================================
   SECTION HEADERS
   Kill legacy double lines / shadows
   ========================================================== */

.volvo-cart-v8
.form_cart
.form__header {
    position: relative !important;

    min-height: 30px !important;

    margin:
        0
        0
        17px !important;

    padding:
        0 !important;

    border:
        0 !important;

    background:
        transparent !important;

    box-shadow:
        none !important;

    overflow:
        visible !important;
}


/* our single clean line */

.volvo-cart-v8
.form_cart
.form__header::before {
    content: "" !important;

    position: absolute !important;

    top: 50% !important;
    right: 0 !important;
    left: 0 !important;

    width: auto !important;
    height: 1px !important;

    background:
        #e2e7ea !important;

    border: 0 !important;

    transform:
        none !important;
}


/* destroy OkayCMS legacy second line */

.volvo-cart-v8
.form_cart
.form__header::after {
    content:
        none !important;

    display:
        none !important;

    width:
        0 !important;

    height:
        0 !important;

    border:
        0 !important;

    background:
        none !important;

    box-shadow:
        none !important;
}


/* centered section title */

.volvo-cart-v8
.form_cart
.form__title {
    position: relative !important;

    z-index: 2 !important;

    width: max-content !important;
    max-width: calc(100% - 32px) !important;

    min-height: 30px !important;

    margin:
        0
        auto !important;

    padding:
        4px
        14px !important;

    display: flex !important;
    align-items: center !important;

    gap: 8px !important;

    border:
        0 !important;

    background:
        #fff !important;

    color:
        #17212a !important;

    font-size:
        13px !important;

    line-height:
        1.15 !important;

    font-weight:
        800 !important;

    box-shadow:
        none !important;
}

.volvo-cart-v8
.form_cart
.form__title svg {
    width:
        18px !important;

    height:
        18px !important;

    flex:
        0
        0
        18px !important;

    margin:
        0 !important;
}


/* ==========================================================
   FORM GROUPS
   ========================================================== */

.volvo-cart-v8
.form_cart
.form__group {
    position:
        relative !important;

    margin-bottom:
        12px !important;

    padding:
        0 !important;

    border:
        0 !important;

    background:
        transparent !important;

    box-shadow:
        none !important;
}


/* remove old inset / bevel appearance */

.volvo-cart-v8
.form_cart
.form__input,

.volvo-cart-v8
.form_cart
.form__textarea {
    width:
        100% !important;

    margin:
        0 !important;

    border:
        1px
        solid
        #d7dfe4 !important;

    border-radius:
        7px !important;

    outline:
        0 !important;

    background:
        #fff !important;

    color:
        #26323a !important;

    box-shadow:
        none !important;

    text-shadow:
        none !important;

    transition:
        border-color .15s ease,
        box-shadow .15s ease !important;
}


.volvo-cart-v8
.form_cart
.form__input {
    height:
        45px !important;

    min-height:
        45px !important;

    padding:
        0
        14px !important;
}


.volvo-cart-v8
.form_cart
.form__textarea {
    min-height:
        86px !important;

    padding:
        15px
        14px !important;

    resize:
        vertical;
}


/* focus */

.volvo-cart-v8
.form_cart
.form__input:focus,

.volvo-cart-v8
.form_cart
.form__textarea:focus {
    border-color:
        #69a9d5 !important;

    box-shadow:
        0
        0
        0
        3px
        rgba(0,103,185,.07) !important;
}


/* ==========================================================
   FLOATING LABELS
   ========================================================== */


/* normal input label */

.volvo-cart-v8
.form_cart
.form__input
+
.form__placeholder {
    position:
        absolute !important;

    top:
        50% !important;

    left:
        14px !important;

    z-index:
        2 !important;

    margin:
        0 !important;

    padding:
        0 !important;

    transform:
        translateY(-50%) !important;

    background:
        transparent !important;

    color:
        #929ca3 !important;

    font-size:
        10px !important;

    line-height:
        1 !important;

    font-style:
        normal !important;

    pointer-events:
        none !important;

    transition:
        top .12s ease,
        font-size .12s ease,
        color .12s ease !important;
}


/* textarea label */

.volvo-cart-v8
.form_cart
.form__textarea
+
.form__placeholder {
    position:
        absolute !important;

    top:
        17px !important;

    left:
        14px !important;

    z-index:
        2 !important;

    margin:
        0 !important;

    padding:
        0 !important;

    transform:
        none !important;

    background:
        transparent !important;

    color:
        #929ca3 !important;

    font-size:
        10px !important;

    line-height:
        1 !important;

    font-style:
        normal !important;

    pointer-events:
        none !important;
}


/* focused / filled input label */

.volvo-cart-v8
.form_cart
.form__input:focus
+
.form__placeholder,

.volvo-cart-v8
.form_cart
.filled
>
.form__placeholder,

.volvo-cart-v8
.form_cart
.form__placeholder.active {
    top:
        0 !important;

    left:
        11px !important;

    padding:
        0
        5px !important;

    transform:
        translateY(-50%) !important;

    background:
        #fff !important;

    color:
        #73808a !important;

    font-size:
        9px !important;

    line-height:
        1 !important;

    font-style:
        normal !important;
}


/* focused textarea */

.volvo-cart-v8
.form_cart
.form__textarea:focus
+
.form__placeholder {
    top:
        0 !important;

    left:
        11px !important;

    padding:
        0
        5px !important;

    transform:
        translateY(-50%) !important;

    background:
        #fff !important;

    color:
        #73808a !important;

    font-size:
        9px !important;
}


/* ==========================================================
   DELIVERY / PAYMENT RADIO
   ========================================================== */

.volvo-cart-v8
.delivery__label {
    gap:
        11px !important;
}

.volvo-cart-v8
.delivery__label
.checkbox__icon {
    position:
        relative !important;

    width:
        18px !important;

    min-width:
        18px !important;

    max-width:
        18px !important;

    height:
        18px !important;

    min-height:
        18px !important;

    max-height:
        18px !important;

    flex:
        0
        0
        18px !important;

    margin:
        0 !important;

    padding:
        0 !important;

    border:
        1px
        solid
        #bfcbd2 !important;

    border-radius:
        50% !important;

    background:
        #fff !important;

    box-shadow:
        none !important;

    box-sizing:
        border-box !important;
}


.volvo-cart-v8
.delivery__label.active
.checkbox__icon {
    border-color:
        #0067b9 !important;

    background:
        #fff !important;

    box-shadow:
        none !important;
}


/* selected inner dot */

.volvo-cart-v8
.delivery__label.active
.checkbox__icon::after {
    content:
        "" !important;

    position:
        absolute !important;

    top:
        50% !important;

    left:
        50% !important;

    width:
        8px !important;

    height:
        8px !important;

    margin:
        -4px
        0
        0
        -4px !important;

    display:
        block !important;

    border-radius:
        50% !important;

    background:
        #0067b9 !important;
}

.volvo-cart-v8
.delivery__label
.checkbox__mark {
    display:
        none !important;
}


/* ==========================================================
   POPUP FOOTER WIDTH FIX
   ========================================================== */

.fancybox-content
.volvo-popup-cart-v8
+
.purchase_detail__item {
    grid-template-columns:
        190px
        minmax(0,1fr) !important;

    gap:
        20px !important;
}


.fancybox-content
.volvo-popup-cart-v8
+
.purchase_detail__item
.purchase_detail__column_value,

.fancybox-content
.volvo-popup-cart-v8
+
.purchase_detail__item
.purchase_detail__price--total {
    min-width:
        0 !important;

    max-width:
        100% !important;

    box-sizing:
        border-box !important;
}


.fancybox-content
.volvo-popup-cart-v8
+
.purchase_detail__item
.purchase_detail__price--total {
    grid-template-columns:
        118px
        minmax(0,1fr) !important;

    gap:
        12px !important;
}


/* prevent checkout text from being clipped */

.fancybox-content
.volvo-popup-cart-v8
+
.purchase_detail__item
.purchase_detail__price--total
.form__button,

.fancybox-content
.volvo-popup-cart-v8
+
.purchase_detail__item
.purchase_detail__price--total
.button--blick {
    min-width:
        0 !important;

    max-width:
        100% !important;

    box-sizing:
        border-box !important;

    white-space:
        nowrap !important;

    overflow:
        hidden !important;

    text-overflow:
        clip !important;

    padding:
        0
        12px !important;

    font-size:
        10.5px !important;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 767px) {

    .fancybox-content
    .volvo-popup-cart-v8
    +
    .purchase_detail__item {
        grid-template-columns:
            1fr !important;
    }

    .fancybox-content
    .volvo-popup-cart-v8
    +
    .purchase_detail__item
    .purchase_detail__price--total {
        grid-template-columns:
            1fr !important;
    }

}


/* ==========================================================
   VOLVO SHOP CART V8.5
   Final checkout cleanup
   ========================================================== */


/* ==========================================================
   CONTACT FORM — REMOVE LEGACY BEVEL / SHADOW
   ========================================================== */

.volvo-cart-v8
.form_cart,
.volvo-cart-v8
.form_cart.form--boxed,
.volvo-cart-v8
.form_cart
.form__body {
    border: 0 !important;

    background: #fff !important;

    box-shadow: none !important;

    filter: none !important;
}


/* kill any legacy pseudo shadow */

.volvo-cart-v8
.form_cart::before,
.volvo-cart-v8
.form_cart::after,
.volvo-cart-v8
.form_cart
.form__body::before,
.volvo-cart-v8
.form_cart
.form__body::after {
    content: none !important;

    display: none !important;

    border: 0 !important;

    box-shadow: none !important;

    background: none !important;
}


/* inputs must remain completely flat */

.volvo-cart-v8
.form_cart
.form__input,
.volvo-cart-v8
.form_cart
.form__textarea {
    -webkit-appearance: none !important;
    appearance: none !important;

    box-shadow: none !important;

    filter: none !important;
}


/* textarea resize handle is visually too aggressive */

.volvo-cart-v8
.form_cart
.form__textarea {
    resize: vertical;
}


/* ==========================================================
   POPUP FOOTER — FINAL GEOMETRY
   ========================================================== */

/*
 * Keep footer as:
 *
 * [ Continue shopping ] [ Total + Checkout stacked ]
 */

.fancybox-content
.volvo-popup-cart-v8
+
.purchase_detail__item {
    grid-template-columns:
        190px
        minmax(0,1fr) !important;

    align-items: stretch !important;

    gap: 18px !important;
}


/* right summary card */

.fancybox-content
.volvo-popup-cart-v8
+
.purchase_detail__item
.purchase_detail__price--total {
    display: grid !important;

    grid-template-columns:
        1fr !important;

    grid-template-rows:
        auto
        auto !important;

    gap: 12px !important;

    width: 100% !important;

    min-width: 0 !important;
    max-width: 100% !important;

    padding:
        14px !important;

    box-sizing: border-box !important;

    overflow: visible !important;
}


/* total centered */

.fancybox-content
.volvo-popup-cart-v8
+
.purchase_detail__item
.purchase_detail_popup_total {
    width: 100% !important;

    margin: 0 !important;

    color: #111820 !important;

    font-size: 23px !important;
    line-height: 1 !important;
    font-weight: 800 !important;

    text-align: center !important;

    white-space: nowrap !important;
}


/* checkout button — full width, no clipping */

.fancybox-content
.volvo-popup-cart-v8
+
.purchase_detail__item
.purchase_detail__price--total
.form__button,

.fancybox-content
.volvo-popup-cart-v8
+
.purchase_detail__item
.purchase_detail__price--total
.button--blick {
    width: 100% !important;

    min-width: 0 !important;
    max-width: 100% !important;

    min-height: 49px !important;

    margin: 0 !important;

    padding:
        0
        14px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    box-sizing: border-box !important;

    overflow: visible !important;

    white-space: nowrap !important;

    text-overflow: clip !important;

    font-size: 10px !important;
    line-height: 1 !important;

    letter-spacing: 0 !important;
}


/* continue button vertically centered */

.fancybox-content
.volvo-popup-cart-v8
+
.purchase_detail__item
>
.form__button--border {
    align-self: center !important;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 767px) {

    .fancybox-content
    .volvo-popup-cart-v8
    +
    .purchase_detail__item {
        grid-template-columns:
            1fr !important;
    }

}


/* ==========================================================
   VOLVO SHOP CART V8.6
   Reliable delivery/payment radio indicators
   ========================================================== */


/*
 * Real markup:
 *
 * input.checkbox__input.delivery__input[type="radio"]
 * + svg.checkbox__icon
 *
 * Therefore checked state is driven directly by :checked,
 * not by pseudo-elements attached to SVG.
 */


/* ==========================================================
   BASE RADIO ICON
   ========================================================== */

.volvo-cart-v8
.delivery__label
>
.checkbox__input
+
.checkbox__icon {
    position: relative !important;

    display: block !important;

    flex:
        0
        0
        18px !important;

    width:
        18px !important;

    min-width:
        18px !important;

    max-width:
        18px !important;

    height:
        18px !important;

    min-height:
        18px !important;

    max-height:
        18px !important;

    margin:
        0 !important;

    padding:
        0 !important;

    overflow:
        visible !important;

    border:
        1.5px
        solid
        #c5d0d7 !important;

    border-radius:
        50% !important;

    background:
        #fff !important;

    box-shadow:
        none !important;

    box-sizing:
        border-box !important;

    transition:
        border-color .15s ease,
        background .15s ease,
        box-shadow .15s ease !important;
}


/* old checkmark is not used for radio controls */

.volvo-cart-v8
.delivery__label
>
.checkbox__input
+
.checkbox__icon
.checkbox__mark {
    display:
        none !important;

    stroke:
        none !important;

    fill:
        none !important;
}


/* ==========================================================
   CHECKED STATE
   ========================================================== */

.volvo-cart-v8
.delivery__label
>
.checkbox__input:checked
+
.checkbox__icon {
    border-color:
        #0067b9 !important;

    /*
     * Reliable radio dot painted directly on SVG background.
     * No ::before / ::after on SVG.
     */

    background:
        radial-gradient(
            circle at center,
            #0067b9 0,
            #0067b9 4px,
            #ffffff 4.5px,
            #ffffff 100%
        ) !important;

    box-shadow:
        0
        0
        0
        1px
        rgba(0,103,185,.03) !important;
}


/* ==========================================================
   HOVER
   ========================================================== */

.volvo-cart-v8
.delivery__label:hover
>
.checkbox__input:not(:checked)
+
.checkbox__icon {
    border-color:
        #7fb5da !important;
}


/* ==========================================================
   KEYBOARD FOCUS
   ========================================================== */

.volvo-cart-v8
.delivery__label
>
.checkbox__input:focus
+
.checkbox__icon,

.volvo-cart-v8
.delivery__label
>
.checkbox__input:focus-visible
+
.checkbox__icon {
    border-color:
        #0067b9 !important;

    box-shadow:
        0
        0
        0
        3px
        rgba(0,103,185,.10) !important;
}


/* ==========================================================
   ACTIVE CARD
   ========================================================== */

.volvo-cart-v8
.delivery__label.active {
    border-color:
        #7db8df !important;

    background:
        #f3f9fd !important;
}


/*
 * Prevent older V8.2–V8.4 rules from painting or hiding
 * anything on the SVG itself.
 */

.volvo-cart-v8
.delivery__label.active
.checkbox__icon::before,

.volvo-cart-v8
.delivery__label.active
.checkbox__icon::after {
    content:
        none !important;

    display:
        none !important;
}


/* ==========================================================
   LABEL SPACING
   ========================================================== */

.volvo-cart-v8
.delivery__label {
    gap:
        11px !important;
}

.volvo-cart-v8
.delivery__name {
    min-width:
        0 !important;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 767px) {

    .volvo-cart-v8
    .delivery__label
    >
    .checkbox__input
    +
    .checkbox__icon {
        flex-basis:
            18px !important;
    }

}


/* ==========================================================
   VOLVO SHOP ORDER PAGE V9
   ========================================================== */


/* ==========================================================
   PAGE
   ========================================================== */

.volvo-order-v9 {
    color: #17212a;
}

.volvo-order-v9 > .block__body {
    margin-top: 18px;
}


/* ==========================================================
   SUCCESS HEADER
   ========================================================== */

.volvo-order-v9
>
.block__header {
    position: relative;

    min-height: 76px;

    display: flex;
    align-items: center;

    margin-bottom: 18px;

    padding:
        16px
        20px
        16px
        23px;

    border:
        1px
        solid
        #dce5e9 !important;

    border-radius: 10px;

    background:
        linear-gradient(
            90deg,
            #f5fbf7 0%,
            #ffffff 55%
        );

    box-shadow:
        0
        3px
        14px
        rgba(17,31,43,.03);
}

.volvo-order-v9
>
.block__header::before {
    content: "";

    position: absolute;

    top: 15px;
    bottom: 15px;
    left: 0;

    width: 4px;

    border-radius:
        0
        4px
        4px
        0;

    background: #2ca45c;
}

.volvo-order-v9
.block__title--order {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 8px;

    color: #17212a;

    font-size: 24px;
    line-height: 1.25;
    font-weight: 700;
}

.volvo-order-v9
.block__title--order
svg {
    width: 29px;
    height: 29px;

    flex: 0 0 29px;

    color: #2ca45c;
}

.volvo-order-v9
.order_number {
    display: inline-flex;
    align-items: center;

    min-height: 31px;

    padding:
        4px
        9px;

    border:
        1px
        solid
        #b9e4c8;

    border-radius: 5px;

    background: #f1fbf4;

    color: #258348;

    font-size: 13px;
    font-weight: 800;
}


/* ==========================================================
   TWO-COLUMN LAYOUT
   ========================================================== */

.volvo-order-v9
.block__body
>
.f_row {
    margin:
        0
        -8px;
}

.volvo-order-v9
.block__body
>
.f_row
>
.f_col {
    padding:
        0
        8px;
}


/* ==========================================================
   COMMON CARDS
   ========================================================== */

.volvo-order-v9
.block--boxed.block--border {
    overflow: hidden;

    border:
        1px
        solid
        #dfe5e9 !important;

    border-radius: 10px;

    background: #fff;

    box-shadow:
        0
        3px
        14px
        rgba(17,31,43,.035);
}

.volvo-order-v9
.order_boxeded {
    width: 100%;

    padding: 18px;
}

.volvo-order-v9
.h6 {
    margin:
        0
        0
        15px;

    color: #17212a;

    font-size: 15px;
    line-height: 1.25;
    font-weight: 800;
}


/* ==========================================================
   PURCHASE SUMMARY
   ========================================================== */

.volvo-order-v9
.block--cart_purchases
.purchase {
    margin-bottom: 13px;
}

.volvo-order-v9
.purchase__item {
    min-height: 105px;

    gap: 12px;

    padding:
        13px
        0;

    border-bottom:
        1px
        solid
        #e9edef;
}

.volvo-order-v9
.purchase__item:last-child {
    border-bottom: 0;
}

.volvo-order-v9
.purchase__image {
    flex:
        0
        0
        82px;

    width: 82px;
    height: 82px;

    overflow: hidden;

    border:
        1px
        solid
        #e0e5e9;

    border-radius: 7px;

    background: #f8f9fa;
}

.volvo-order-v9
.purchase__image a {
    width: 100%;
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: center;
}

.volvo-order-v9
.purchase__image img {
    width: 100%;
    height: 100%;

    padding: 5px;

    object-fit: contain;
}

.volvo-order-v9
.purchase__content {
    flex: 1 1 auto;

    min-width: 0;
}

.volvo-order-v9
.purchase__name_link {
    color: #202a32;

    font-size: 11px;
    line-height: 1.35;
    font-weight: 700;

    text-decoration: none;
}

.volvo-order-v9
.purchase__name_link:hover {
    color: #0067b9;
}

.volvo-order-v9
.purchase__name i {
    display: block;

    margin-top: 3px;

    color: #8b959c;

    font-size: 8px;
    font-style: normal;
}


/* purchase data */

.volvo-order-v9
.purchase__group {
    display: grid;

    grid-template-columns:
        minmax(92px,1fr)
        58px
        minmax(90px,.85fr);

    align-items: end;

    gap: 7px;

    margin-top: 9px;
}

.volvo-order-v9
.purchase__group_title {
    margin-bottom: 3px;

    color: #9aa2a8;

    font-size: 8px;
}

.volvo-order-v9
.purchase__group_content {
    color: #27323a;

    font-size: 11px;
    font-weight: 700;
}

.volvo-order-v9
.order_purchase_count {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 30px;
    height: 27px;

    padding:
        0
        7px;

    border-radius: 5px;

    background: #f3f5f6;

    color: #48555e;

    font-size: 10px;
    font-weight: 800;
}

.volvo-order-v9
.purchase__price_total
.purchase__group_content {
    color: #0067b9;

    font-size: 13px;
    font-weight: 800;
}


/* ==========================================================
   ORDER TOTAL
   ========================================================== */

.volvo-order-v9
.purchase_detail {
    margin-top: 13px;

    padding-top: 13px;

    border-top:
        1px
        solid
        #e7ebee;
}

.volvo-order-v9
.purchase_detail__item {
    min-height: 36px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 14px;

    padding:
        7px
        0;
}

.volvo-order-v9
.purchase_detail__name {
    color: #68757d;

    font-size: 10px;
}

.volvo-order-v9
.purchase_detail__price {
    color: #303c45;

    font-size: 11px;
    font-weight: 700;

    text-align: right;
}

.volvo-order-v9
.purchase_detail__name--total {
    color: #17212a;

    font-size: 16px;
    font-weight: 800;
}

.volvo-order-v9
.purchase_detail__price--total {
    color: #0067b9;

    font-size: 24px;
    line-height: 1;
    font-weight: 800;
}


/* ==========================================================
   LEFT CONTENT
   ========================================================== */

.volvo-order-v9
.flex-lg-first
>
.block--boxed {
    justify-content: flex-start !important;
}

.volvo-order-v9
.flex-lg-first
.order_boxeded {
    padding:
        18px
        19px;
}


/* ==========================================================
   PAYMENT DETAILS
   ========================================================== */

.volvo-order-v9
.form_cart {
    margin: 0;

    padding:
        0
        0
        18px;

    border:
        0;

    background: #fff;

    box-shadow: none;
}

.volvo-order-v9
.form_cart
>
.h6 {
    position: relative;

    margin:
        0
        0
        16px;

    padding-left: 14px;

    font-size: 17px;
}

.volvo-order-v9
.form_cart
>
.h6::before {
    content: "";

    position: absolute;

    top: 1px;
    bottom: 1px;
    left: 0;

    width: 4px;

    border-radius: 4px;

    background: #0067b9;
}


/* selected payment */

.volvo-order-v9
.block_selected_payment {
    padding:
        0;

    border: 0;

    background: transparent;

    box-shadow: none;
}

.volvo-order-v9
.order_payment {
    padding:
        15px;

    border:
        1px
        solid
        #e1e6e9;

    border-radius: 8px;

    background: #fafbfb;
}

.volvo-order-v9
.order_payment__title {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;

    gap: 7px;

    margin-bottom: 8px;

    color: #55636c;

    font-size: 11px;
}

.volvo-order-v9
.order_payment__name {
    color: #17212a;

    font-size: 12px;
    font-weight: 800;
}

.volvo-order-v9
.order_payment__button {
    min-height: 34px;

    padding:
        0
        11px;

    border:
        1px
        solid
        #cdd7dc;

    border-radius: 6px;

    background: #fff;

    color: #0067b9;

    font-size: 9px;
    font-weight: 700;

    cursor: pointer;
}

.volvo-order-v9
.order_payment__description {
    margin-top: 12px;

    padding:
        11px
        12px;

    border-left:
        3px
        solid
        #b8c3ca;

    border-radius:
        4px;

    background: #f5f6f7;

    color: #69757d;

    font-size: 10px;
    line-height: 1.55;
}

.volvo-order-v9
.order_payment__checkout {
    margin-top: 14px;
}

.volvo-order-v9
.order_payment__checkout
.button,
.volvo-order-v9
.order_payment__checkout
button,
.volvo-order-v9
.order_payment__checkout
input[type="submit"] {
    min-height: 48px;

    border-radius: 7px;

    background: #0067b9;

    color: #fff;

    font-weight: 800;
}


/* ==========================================================
   PAYMENT CHOICE RADIOS
   ========================================================== */

.volvo-order-v9
.delivery__item {
    margin-bottom: 8px;
}

.volvo-order-v9
.delivery__label {
    min-height: 55px;

    display: flex;
    align-items: center;

    gap: 10px;

    padding:
        10px
        12px;

    border:
        1px
        solid
        #dfe5e8;

    border-radius: 7px;

    background: #fff;

    cursor: pointer;
}

.volvo-order-v9
.delivery__label.active {
    border-color: #7db8df;

    background: #f3f9fd;
}

.volvo-order-v9
.delivery__label
>
.checkbox__input
+
.checkbox__icon {
    flex:
        0
        0
        18px;

    width: 18px;
    height: 18px;

    border:
        1.5px
        solid
        #c5d0d7;

    border-radius: 50%;

    background: #fff;

    box-sizing: border-box;
}

.volvo-order-v9
.delivery__label
>
.checkbox__input:checked
+
.checkbox__icon {
    border-color: #0067b9;

    background:
        radial-gradient(
            circle at center,
            #0067b9 0,
            #0067b9 4px,
            #fff 4.5px,
            #fff 100%
        );
}

.volvo-order-v9
.checkbox__mark {
    display: none !important;
}

.volvo-order-v9
.delivery__name {
    flex: 1 1 auto;

    color: #303c45;

    font-size: 11px;
    font-weight: 700;
}


/* ==========================================================
   ORDER DETAILS
   ========================================================== */

.volvo-order-v9
.form_cart
+
.form_cart {
    margin-top: 18px;
}

.volvo-order-v9
.order_details {
    width: 100%;

    overflow: hidden;

    border-collapse: separate;
    border-spacing: 0;

    border:
        1px
        solid
        #e0e5e9;

    border-radius: 8px;

    background: #fff;
}

.volvo-order-v9
.order_details tr:nth-child(even) {
    background: #f8fafb;
}

.volvo-order-v9
.order_details td {
    padding:
        11px
        13px;

    border: 0;

    border-bottom:
        1px
        solid
        #e9edef;

    color: #4d5962;

    font-size: 10px;
    line-height: 1.45;
}

.volvo-order-v9
.order_details tr:last-child td {
    border-bottom: 0;
}

.volvo-order-v9
.order_details td:first-child {
    width: 43%;

    color: #7c878f;

    font-weight: 600;
}

.volvo-order-v9
.order_details td:last-child {
    color: #26323a;

    font-weight: 700;
}


/* ==========================================================
   SUCCESS MESSAGE
   ========================================================== */

.volvo-order-v9
.o_notify_v2_content {
    margin-top: 17px;

    padding:
        14px
        16px;

    border:
        1px
        solid
        #d9e8de;

    border-radius: 8px;

    background: #f6fbf7;
}

.volvo-order-v9
.o_notify_v2_content_inner {
    color: #4f6257;

    font-size: 11px;
    line-height: 1.6;
}

.volvo-order-v9
.o_notify_v2_content_inner
p {
    margin: 0;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 991px) {

    .volvo-order-v9
    .position_sticky,
    .volvo-order-v9
    .sticky {
        position: static !important;
    }

    .volvo-order-v9
    .flex-lg-first {
        margin-top: 16px;
    }

}


@media (max-width: 767px) {

    .volvo-order-v9
    >
    .block__header {
        min-height: auto;

        padding:
            14px
            15px
            14px
            19px;
    }

    .volvo-order-v9
    .block__title--order {
        font-size: 19px;
    }

    .volvo-order-v9
    .order_boxeded {
        padding: 14px;
    }

    .volvo-order-v9
    .purchase__image {
        flex-basis: 68px;

        width: 68px;
        height: 68px;
    }

    .volvo-order-v9
    .purchase__group {
        grid-template-columns:
            1fr
            50px
            1fr;
    }

    .volvo-order-v9
    .order_details td {
        padding:
            9px
            10px;
    }

}


@media (max-width: 480px) {

    .volvo-order-v9
    .purchase__item {
        display: grid !important;

        grid-template-columns:
            68px
            minmax(0,1fr);

        gap: 10px;
    }

    .volvo-order-v9
    .purchase__group {
        grid-template-columns:
            1fr
            46px
            1fr;
    }

    .volvo-order-v9
    .order_details td:first-child {
        width: 46%;
    }

}


/* ==========================================================
   VOLVO SHOP BRAND V10.1
   Clean desktop Volvo mark
   ========================================================== */


/*
 * Existing SHOP lockup remains unchanged.
 * Only the desktop Volvo mark is visually replaced
 * by a normalized transparent asset.
 */

.volvo-header-v3
.volvo-header-brand__logo {
    flex:
        0
        0
        74px !important;

    width:
        74px !important;

    min-width:
        74px !important;

    max-width:
        74px !important;

    height:
        74px !important;

    min-height:
        74px !important;

    max-height:
        74px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;

    border: 0 !important;
    border-radius: 0 !important;

    background:
        transparent !important;

    box-shadow:
        none !important;
}


.volvo-header-v3
.volvo-header-brand__logo
.logo__link {
    position: relative;

    width:
        74px !important;

    min-width:
        74px !important;

    max-width:
        74px !important;

    height:
        74px !important;

    min-height:
        74px !important;

    max-height:
        74px !important;

    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;

    background:
        url("../images/volvo-redesign/volvo-shop-mark-v10.png")
        center
        center
        /
        70px
        70px
        no-repeat !important;
}


/*
 * Keep the original CMS logo in DOM so existing semantics
 * and link behavior remain untouched, but do not render it.
 */

.volvo-header-v3
.volvo-header-brand__logo
.logo__link
>
img,

.volvo-header-v3
.volvo-header-brand__logo
.logo__link
>
svg {
    opacity: 0 !important;

    width:
        74px !important;

    height:
        74px !important;

    max-width:
        74px !important;

    max-height:
        74px !important;

    pointer-events: none !important;
}


/* slightly stronger separator like the V10 reference */

.volvo-header-v3
.volvo-header-brand__divider {
    width:
        1px !important;

    height:
        55px !important;

    margin:
        0
        15px !important;

    background:
        #cbd5db !important;
}


/* strengthen existing SHOP typography */

.volvo-header-v3
.volvo-header-brand__copy
strong {
    margin-bottom:
        4px !important;

    color:
        #102230 !important;

    font-size:
        19px !important;

    line-height:
        1 !important;

    font-weight:
        800 !important;

    letter-spacing:
        .025em !important;
}


.volvo-header-v3
.volvo-header-brand__copy
span {
    color:
        #596872 !important;

    font-size:
        8.5px !important;

    line-height:
        1.18 !important;

    font-weight:
        650 !important;

    letter-spacing:
        .045em !important;
}


/* Desktop identity block */

.volvo-header-v3
.volvo-header-brand {
    min-width:
        270px !important;

    display: flex !important;
    align-items: center !important;

    flex-shrink: 0 !important;
}


/* Laptop width */

@media (min-width: 992px) and (max-width: 1199px) {

    .volvo-header-v3
    .volvo-header-brand {
        min-width:
            225px !important;
    }

    .volvo-header-v3
    .volvo-header-brand__logo,
    .volvo-header-v3
    .volvo-header-brand__logo
    .logo__link {
        width:
            62px !important;

        min-width:
            62px !important;

        max-width:
            62px !important;

        height:
            62px !important;

        min-height:
            62px !important;

        max-height:
            62px !important;
    }

    .volvo-header-v3
    .volvo-header-brand__logo
    .logo__link {
        background-size:
            59px
            59px !important;
    }

    .volvo-header-v3
    .volvo-header-brand__divider {
        height:
            48px !important;

        margin:
            0
            12px !important;
    }

    .volvo-header-v3
    .volvo-header-brand__copy
    strong {
        font-size:
            17px !important;
    }

    .volvo-header-v3
    .volvo-header-brand__copy
    span {
        font-size:
            7.5px !important;
    }

}


/*
 * Mobile header is intentionally untouched.
 */



/* ==========================================================
   VOLVO SHOP FINAL CLOSEOUT V11
   Footer / Mobile / Account / Forms / Utility pages
   ========================================================== */


/* ==========================================================
   GLOBAL INNER PAGE RHYTHM
   ========================================================== */

.main {
    color: #17212a;
}

.main > .container > .block,
.main .container > .block {
    margin-top: 18px;
    margin-bottom: 24px;
}

.block__header--boxed.block__header--border {
    position: relative;

    min-height: 64px;

    display: flex;
    align-items: center;

    padding:
        14px
        18px
        14px
        22px;

    border:
        1px
        solid
        #dfe6ea !important;

    border-radius: 10px !important;

    background: #fff !important;

    box-shadow:
        0
        2px
        10px
        rgba(15,34,51,.025) !important;
}

.block__header--boxed.block__header--border::before {
    content: "";

    position: absolute;

    left: 0;
    top: 15px;
    bottom: 15px;

    width: 4px;

    border-radius:
        0
        4px
        4px
        0;

    background: #0067b9;
}

.block__heading,
.block__header .block__heading,
.block__header .block__title {
    margin: 0;

    color: #17212a;

    font-size: 24px;
    line-height: 1.2;
    font-weight: 800;
}


/* ==========================================================
   GENERIC CONTENT CARDS
   ========================================================== */

.block--boxed.block--border {
    border:
        1px
        solid
        #dfe6ea !important;

    border-radius: 10px !important;

    background: #fff !important;

    box-shadow:
        0
        3px
        14px
        rgba(15,34,51,.03) !important;
}

.block__description {
    color: #5c6871;

    font-size: 14px;
    line-height: 1.65;
}


/* ==========================================================
   FORM SYSTEM
   Excludes cart/order specific scoped designs
   ========================================================== */

.form_wrap
.form,
.feedback
.form,
.tabs--user
.form,
.block_explanation {
    border-radius: 9px;

    background: #fff;

    box-shadow: none;
}

.form_wrap
.form__header,
.feedback
.form__header,
.tabs--user
.form__header {
    position: relative;

    min-height: 54px;

    display: flex;
    align-items: center;

    padding:
        0
        16px;

    border: 0 !important;
    border-bottom:
        1px
        solid
        #e5eaed !important;

    background: #fff !important;

    box-shadow: none !important;
}

.form_wrap
.form__header::after,
.feedback
.form__header::after,
.tabs--user
.form__header::after {
    display: none !important;
    content: none !important;
}

.form_wrap
.form__title,
.feedback
.form__title,
.tabs--user
.form__title {
    color: #17212a;

    font-size: 15px;
    line-height: 1.25;
    font-weight: 800;
}

.form_wrap
.form__title svg,
.feedback
.form__title svg,
.tabs--user
.form__title svg {
    color: #0067b9;
}

.form_wrap
.form__body,
.feedback
.form__body,
.tabs--user
.form__body {
    padding:
        17px
        16px;
}

.form_wrap
.form__group,
.feedback
.form__group,
.tabs--user
.form__group {
    position: relative;

    margin-bottom: 12px;
}

.form_wrap
.form__input,
.form_wrap
.form__textarea,
.feedback
.form__input,
.feedback
.form__textarea,
.tabs--user
.form__input,
.tabs--user
.form__textarea {
    width: 100%;

    min-height: 48px;

    padding:
        16px
        13px
        6px;

    border:
        1px
        solid
        #d7e0e5 !important;

    border-radius: 7px !important;

    background: #fff !important;

    color: #1e2a33 !important;

    box-shadow: none !important;

    transition:
        border-color .15s ease,
        box-shadow .15s ease;
}

.form_wrap
.form__textarea,
.feedback
.form__textarea,
.tabs--user
.form__textarea {
    min-height: 108px;
}

.form_wrap
.form__input:focus,
.form_wrap
.form__textarea:focus,
.feedback
.form__input:focus,
.feedback
.form__textarea:focus,
.tabs--user
.form__input:focus,
.tabs--user
.form__textarea:focus {
    border-color:
        #0067b9 !important;

    outline: none !important;

    box-shadow:
        0
        0
        0
        3px
        rgba(0,103,185,.08) !important;
}

.form_wrap
.form__placeholder,
.feedback
.form__placeholder,
.tabs--user
.form__placeholder {
    color: #8a969e;

    font-size: 12px;
}

.form_wrap
.form__footer,
.feedback
.form__footer,
.tabs--user
.form__footer {
    padding:
        0
        16px
        17px;

    border: 0;

    background: #fff;
}

.form_wrap
.form__button,
.feedback
.form__button,
.tabs--user
.form__button {
    min-height: 46px;

    padding:
        0
        18px;

    border: 0;
    border-radius: 7px;

    background: #0067b9;

    color: #fff;

    font-size: 12px;
    font-weight: 800;

    box-shadow: none;
}

.form_wrap
.form__button:hover,
.feedback
.form__button:hover,
.tabs--user
.form__button:hover {
    background: #00599f;
}


/* ==========================================================
   LOGIN / REGISTER / PASSWORD REMIND
   ========================================================== */

.form_wrap {
    padding:
        18px !important;
}

.form_wrap
.form--boxed {
    overflow: hidden;

    border:
        1px
        solid
        #dfe6ea;

    border-radius: 9px;
}

.block_explanation {
    margin: 18px;

    padding: 18px;

    border:
        1px
        solid
        #e1e7ea;

    border-radius: 9px;

    background: #f7f9fa;
}

.block_explanation__header {
    margin-bottom: 11px;

    color: #17212a;

    font-size: 15px;
    font-weight: 800;
}

.password_remind {
    display: inline-flex;
    align-items: center;

    gap: 5px;

    margin-top: 8px;

    color: #0067b9;

    font-size: 11px;
    font-weight: 700;
}


/* ==========================================================
   USER ACCOUNT
   ========================================================== */

.tabs--user {
    display: grid;

    grid-template-columns:
        245px
        minmax(0,1fr);

    gap: 18px;
}

.sidebar--user {
    width: auto !important;

    margin: 0 !important;
}

.sidebar__boxed--user {
    overflow: hidden;

    border:
        1px
        solid
        #dfe6ea;

    border-radius: 10px;

    background: #fff;

    box-shadow:
        0
        3px
        14px
        rgba(15,34,51,.03);
}

.form__profile {
    padding:
        16px;

    border-bottom:
        1px
        solid
        #e7ecef;
}

.profile__icon {
    width: 44px;
    height: 44px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #eef6fb;

    color: #0067b9;
}

.profile__name {
    color: #17212a;

    font-size: 14px;
    font-weight: 800;
}

.tabs__navigation--user {
    padding:
        8px;
}

.tabs__navigation--user
.tabs__link,
.tabs__navigation--user
.button__logout {
    min-height: 42px;

    display: flex;
    align-items: center;

    gap: 10px;

    margin: 2px 0;

    padding:
        0
        11px;

    border-radius: 6px;

    color: #56636c;

    font-size: 11px;
    font-weight: 700;

    transition:
        background .15s ease,
        color .15s ease;
}

.tabs__navigation--user
.tabs__link:hover {
    background: #f1f6f9;

    color: #0067b9;
}

.tabs__navigation--user
.tabs__link.selected {
    background: #edf6fc;

    color: #0067b9;
}

.tabs__navigation--user
.tabs__link svg {
    color: currentColor;
}

.user_container {
    min-width: 0;

    width: auto !important;
}

.user_container__boxed {
    border: 0 !important;

    background: transparent !important;
}

.tabs--user
.table_wrapper {
    overflow: hidden;

    border:
        1px
        solid
        #e0e6ea;

    border-radius: 8px;
}

.tabs--user
.table {
    width: 100%;

    border-collapse: collapse;

    background: #fff;
}

.tabs--user
.table th {
    padding:
        11px
        12px;

    background: #f3f6f8;

    color: #66737c;

    font-size: 10px;
    font-weight: 700;
}

.tabs--user
.table td {
    padding:
        11px
        12px;

    border-top:
        1px
        solid
        #e8edef;

    color: #26333b;

    font-size: 11px;
}


/* ==========================================================
   WISHLIST
   ========================================================== */

.fn_wishlist_page.products_list {
    display: grid !important;

    grid-template-columns:
        repeat(5,minmax(0,1fr));

    gap: 14px;

    margin: 0 !important;
}

.fn_wishlist_page
.product_item {
    width: auto !important;
    max-width: none !important;

    padding: 0 !important;
}


/* ==========================================================
   COMPARISON
   ========================================================== */

.comparison_block {
    overflow: hidden;

    border:
        1px
        solid
        #dfe6ea;

    border-radius: 9px;

    background: #fff;
}

.compare_controls {
    min-height: 48px;

    display: flex;
    align-items: center;

    padding:
        8px
        11px;

    border-bottom:
        1px
        solid
        #e7ecef;
}

.compare_show {
    display: flex;

    gap: 6px;
}

.compare_show a {
    display: inline-flex;
    align-items: center;

    min-height: 32px;

    padding:
        0
        10px;

    border:
        1px
        solid
        #dbe3e7;

    border-radius: 6px;

    color: #65727b;

    font-size: 10px;
    font-weight: 700;

    text-decoration: none;
}

.compare_show a.active {
    border-color: #0067b9;

    background: #eef6fb;

    color: #0067b9;
}

.comparison_block
.cell,
.comparison_block
.cprs_rating {
    border-color:
        #e5eaed !important;

    color: #4e5b64;
}


/* ==========================================================
   FEEDBACK / CONTACT PAGE
   ========================================================== */

.ya_map {
    overflow: hidden;

    border-radius: 10px;
}

.ya_map iframe {
    width: 100%;

    border: 0;
}

.message_success,
.message_error {
    margin:
        12px
        0;

    padding:
        11px
        13px;

    border-radius: 7px;

    font-size: 11px;
    line-height: 1.45;
}

.message_success {
    border:
        1px
        solid
        #cfe6d7;

    background: #f2faf5;

    color: #35744c;
}

.message_error {
    border:
        1px
        solid
        #efd4d4;

    background: #fff6f6;

    color: #a14b4b;
}


/* ==========================================================
   404
   ========================================================== */

.not_found {
    max-width: 720px;

    margin:
        50px
        auto;

    padding:
        40px
        28px;

    border:
        1px
        solid
        #dfe6ea;

    border-radius: 12px;

    background: #fff;

    text-align: center;

    box-shadow:
        0
        4px
        18px
        rgba(15,34,51,.035);
}

.not_found__image {
    margin-bottom: 20px;
}

.not_found__image svg {
    max-width: 260px;
}

.not_found__description {
    color: #65727b;

    font-size: 14px;
    line-height: 1.6;
}


/* ==========================================================
   FOOTER
   ========================================================== */

footer.footer {
    margin-top: 46px;

    padding-top: 36px;

    border-top:
        1px
        solid
        #dce4e8;

    background:
        #102332;

    color:
        #c5cfd5;
}

.footer
.container
>
.f_row {
    gap: 10px;
}

.footer
.f_col-lg {
    min-width: 0;

    padding:
        0
        16px;
}

.footer__title {
    position: relative;

    min-height: 36px;

    margin-bottom: 12px;

    padding-bottom: 10px;

    color: #fff !important;

    font-size: 12px;
    line-height: 1.25;
    font-weight: 800;

    letter-spacing: .02em;
}

.footer__title::before {
    content: "" !important;

    position: absolute !important;

    left: 0 !important;
    bottom: 0 !important;

    top: auto !important;

    width: 28px !important;
    height: 2px !important;

    background: #0067b9 !important;
}

.footer__content {
    color: #aebac1;

    font-size: 10.5px;
    line-height: 1.55;
}

.footer__contact_item {
    margin-bottom: 9px;
}

.footer__contact_item
a,
.footer__contact_item
.open_hours {
    color: #b8c3ca !important;

    text-decoration: none;
}

.footer__contact_item
a:hover {
    color: #fff !important;
}

.footer__contact_item
svg {
    color: #6ea8d3 !important;
}

.footer__menu_link,
.menu_group--footer
.menu_group__link {
    color: #b8c3ca !important;

    font-size: 10.5px;

    text-decoration: none;
}

.footer__menu_link:hover,
.menu_group--footer
.menu_group__link:hover {
    color: #fff !important;
}

.subscribe__title {
    margin-bottom: 10px;

    color: #aebac1;

    font-size: 10px;
    line-height: 1.45;
}

.footer
.form__input_subscribe {
    height: 40px !important;

    min-height: 40px !important;

    padding:
        0
        11px !important;

    border:
        1px
        solid
        rgba(255,255,255,.18) !important;

    border-radius:
        6px
        0
        0
        6px !important;

    background:
        rgba(255,255,255,.06) !important;

    color: #fff !important;

    box-shadow: none !important;
}

.footer
.form__input_subscribe::placeholder {
    color: #8798a4;
}

.footer
.form__button--subscribe {
    min-width: 44px;
    min-height: 40px;

    border-radius:
        0
        6px
        6px
        0;

    background: #0067b9;

    box-shadow: none;
}

.footer
.social {
    display: flex;

    gap: 7px;
}

.footer
.social__link {
    width: 32px;
    height: 32px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border:
        1px
        solid
        rgba(255,255,255,.15);

    border-radius: 50%;

    background:
        rgba(255,255,255,.05);

    color: #fff;
}

.footer
.social__link:hover {
    border-color: #0067b9;

    background: #0067b9;
}

.footer__copyright {
    margin-top: 28px;

    padding:
        16px
        0;

    border-top:
        1px
        solid
        rgba(255,255,255,.09);

    background:
        rgba(0,0,0,.12);

    color: #8999a3;

    font-size: 9.5px;
}

.footer__copyright a {
    color: #aebcc5 !important;
}

.footer__payments
.payments__list {
    gap: 7px;
}

.footer__payments
.payments__item {
    min-width: 46px;
    min-height: 30px;

    padding:
        3px
        6px;

    border-radius: 5px;

    background: #fff;
}

.footer__payments
img {
    max-height: 23px;
}


/* ==========================================================
   MOBILE HEADER FINAL
   ========================================================== */

.volvo-mobile-header {
    border-bottom:
        1px
        solid
        #e0e6e9;

    background: #fff;
}

.volvo-mobile-header__top {
    min-height: 62px;

    display: grid;

    grid-template-columns:
        42px
        minmax(0,1fr)
        auto;

    align-items: center;

    gap: 10px;
}

.volvo-mobile-header
.menu_switcher {
    width: 40px;
    height: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 6px;

    background: #0067b9;

    color: #fff;
}

.volvo-mobile-header
.header__logo {
    width: 54px;
    height: 54px;

    margin: 0 auto;
}

.volvo-mobile-header
.header__logo
.logo__link {
    width: 54px;
    height: 54px;

    display: block;

    background:
        url("../images/volvo-redesign/volvo-shop-mark-v10.png")
        center
        center
        /
        52px
        52px
        no-repeat;
}

.volvo-mobile-header
.header__logo
.logo__link
>
img,
.volvo-mobile-header
.header__logo
.logo__link
>
svg {
    opacity: 0 !important;

    width: 54px !important;
    height: 54px !important;
}

.volvo-mobile-header__actions {
    display: flex;

    gap: 4px;
}

.volvo-mobile-header
.header_informers__item {
    width: 38px;
    height: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    border:
        1px
        solid
        #e0e6e9;

    border-radius: 6px;

    background: #fff;
}

.volvo-mobile-search {
    margin:
        0
        0
        10px;

    overflow: hidden;

    border:
        1px
        solid
        #d8e1e6;

    border-radius: 7px;

    background: #fff;
}

.volvo-mobile-search
.search__input {
    min-height: 44px;

    border: 0 !important;

    box-shadow: none !important;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 1199px) {

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

}


@media (max-width: 991px) {

    .tabs--user {
        display: block;
    }

    .sidebar--user {
        margin-bottom:
            15px !important;
    }

    .fn_wishlist_page.products_list {
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }

    footer.footer {
        margin-top: 32px;

        padding-top: 22px;
    }

}


@media (max-width: 767px) {

    .block__header--boxed.block__header--border {
        min-height: 56px;

        padding:
            12px
            14px
            12px
            18px;
    }

    .block__heading,
    .block__header .block__heading {
        font-size: 20px;
    }

    .fn_wishlist_page.products_list {
        grid-template-columns:
            repeat(2,minmax(0,1fr));

        gap: 10px;
    }

    .footer
    .f_col-lg {
        width: 100%;

        padding:
            0
            12px;
    }

    .footer__title {
        min-height: 46px;

        margin: 0;

        padding:
            0
            28px
            0
            0;

        display: flex;
        align-items: center;

        border-bottom:
            1px
            solid
            rgba(255,255,255,.08);
    }

    .footer__title::before {
        display: none !important;
    }

    .footer__title_arrow svg {
        color: #8fa1ac;
    }

    .footer__content {
        padding:
            12px
            0
            16px;
    }

    .footer__copyright {
        margin-top: 14px;
    }

    .not_found {
        margin:
            25px
            0;

        padding:
            28px
            16px;
    }

}


@media (max-width: 480px) {

    .form_wrap {
        padding:
            12px !important;
    }

    .block_explanation {
        margin: 12px;

        padding: 14px;
    }

    .comparison_block {
        border-radius: 7px;
    }

}


/* ==========================================================
   VOLVO SHOP HEADER ACCOUNT V11.1
   Prevent native user informer text from breaking V3 header
   ========================================================== */


/*
 * V3 already renders its own "Профіль" caption.
 * Native user_informer.tpl additionally renders:
 *
 * account__text
 * account__login / user name
 *
 * Those must not participate in desktop header geometry.
 */

.volvo-header-v3
.volvo-header-tool
#account,

.volvo-header-v3
#account.volvo-header-tool {
    position: relative;

    min-width: 42px !important;
    width: 42px !important;

    display: flex;
    align-items: center;
    justify-content: center;
}


/* Native informer link becomes icon-only */

.volvo-header-v3
.volvo-header-tool
.account__link,

.volvo-header-v3
#account
.account__link {
    width: 38px !important;
    height: 38px !important;

    min-width: 38px !important;
    max-width: 38px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    gap: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;

    white-space: nowrap !important;

    color: #17212a !important;

    text-decoration: none !important;
}


/*
 * Hide all native text in this ONE header tool.
 * Separate V3 caption "Профіль" remains visible.
 */

.volvo-header-v3
.volvo-header-tool
.account__link
>
span,

.volvo-header-v3
#account
.account__link
>
span {
    display: none !important;
}


/* Keep only actual user icon */

.volvo-header-v3
.volvo-header-tool
.account__link
>
svg,

.volvo-header-v3
#account
.account__link
>
svg {
    display: block !important;

    width: 20px !important;
    height: 20px !important;

    flex: 0 0 20px !important;

    margin: 0 !important;
}


/*
 * Browser native title tooltip remains available for guest login.
 * Do not create another visual tooltip.
 */


/* Defensive geometry for all V3 tool captions */

.volvo-header-v3
.volvo-header-tool__caption {
    display: block;

    max-width: 72px;

    overflow: hidden;

    white-space: nowrap;

    text-align: center;

    text-overflow: ellipsis;
}


/* No effect on mobile header */

@media (max-width: 991px) {

    .volvo-mobile-header
    .account__link
    >
    span {
        display: initial;
    }

}


/* ==========================================================
   VOLVO SHOP HEADER TOOLS V11.2
   Unified Profile / Wishlist / Compare / Cart
   ========================================================== */


/* ==========================================================
   TOOL GEOMETRY
   ========================================================== */

.volvo-header-v3
.volvo-header-tool {
    position: relative;

    flex:
        0
        0
        68px !important;

    width:
        68px !important;

    min-width:
        68px !important;

    max-width:
        68px !important;

    min-height:
        62px !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;

    gap:
        4px !important;

    margin:
        0 !important;

    padding:
        4px
        3px !important;

    border-radius:
        8px;

    color:
        #53616b;

    box-sizing:
        border-box;

    transition:
        background .15s ease,
        color .15s ease;
}


/* override V11.1 profile narrow geometry */

.volvo-header-v3
#account.volvo-header-tool {
    width:
        68px !important;

    min-width:
        68px !important;

    max-width:
        68px !important;
}


/* ==========================================================
   ICON AREA — SAME FOR ALL FOUR
   ========================================================== */

.volvo-header-v3
.volvo-header-tool
>
.header_informers__link,

.volvo-header-v3
.volvo-header-tool
.account__link,

.volvo-header-v3
#account
.account__link {
    position: relative;

    width:
        34px !important;

    min-width:
        34px !important;

    max-width:
        34px !important;

    height:
        34px !important;

    min-height:
        34px !important;

    max-height:
        34px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    flex:
        0
        0
        34px !important;

    margin:
        0 !important;

    padding:
        0 !important;

    overflow:
        visible !important;

    border:
        0 !important;

    border-radius:
        50% !important;

    background:
        transparent !important;

    color:
        #17212a !important;

    text-decoration:
        none !important;

    box-shadow:
        none !important;

    box-sizing:
        border-box !important;
}


/* empty-state informer may be span/div */

.volvo-header-v3
.volvo-header-tool
>
span.header_informers__link,

.volvo-header-v3
.volvo-header-tool
>
div.header_informers__link {
    cursor:
        default;
}


/* ==========================================================
   ICONS
   ========================================================== */

.volvo-header-v3
.volvo-header-tool
.header_informers__link
>
i,

.volvo-header-v3
.volvo-header-tool
.account__link
>
svg {
    display: flex !important;

    align-items: center;
    justify-content: center;

    width:
        22px !important;

    min-width:
        22px !important;

    height:
        22px !important;

    min-height:
        22px !important;

    margin:
        0 !important;

    padding:
        0 !important;

    color:
        #17212a !important;

    fill:
        currentColor;

    font-size:
        20px !important;

    line-height:
        22px !important;
}


/* slightly tune individual FontAwesome glyphs */

.volvo-header-v3
#wishlist
.header_informers__link
>
i {
    font-size:
        20px !important;
}

.volvo-header-v3
#comparison
.header_informers__link
>
i {
    font-size:
        18px !important;
}

.volvo-header-v3
#cart_informer
.header_informers__link
>
i {
    font-size:
        20px !important;
}


/* ==========================================================
   PROFILE NATIVE TEXT STAYS HIDDEN
   ========================================================== */

.volvo-header-v3
#account
.account__link
>
span {
    display:
        none !important;
}


/* ==========================================================
   CAPTIONS
   ========================================================== */

.volvo-header-v3
.volvo-header-tool__caption {
    width:
        100% !important;

    max-width:
        68px !important;

    min-height:
        14px;

    display:
        block !important;

    margin:
        0 !important;

    padding:
        0 !important;

    overflow:
        hidden !important;

    color:
        #606d76 !important;

    font-size:
        9px !important;

    line-height:
        14px !important;

    font-weight:
        500 !important;

    text-align:
        center !important;

    text-overflow:
        ellipsis;

    white-space:
        nowrap !important;
}


/* ==========================================================
   COUNTERS
   ========================================================== */

.volvo-header-v3
.volvo-header-tool
.wishlist_counter,

.volvo-header-v3
.volvo-header-tool
.compare_counter,

.volvo-header-v3
.volvo-header-tool
.cart_counter {
    position:
        absolute !important;

    top:
        -2px !important;

    right:
        -3px !important;

    min-width:
        15px !important;

    height:
        15px !important;

    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        center !important;

    margin:
        0 !important;

    padding:
        0
        4px !important;

    border:
        2px
        solid
        #fff !important;

    border-radius:
        999px !important;

    background:
        #0067b9 !important;

    color:
        #fff !important;

    font-size:
        8px !important;

    line-height:
        11px !important;

    font-weight:
        800 !important;

    box-sizing:
        border-box !important;

    z-index:
        2;
}


/* zero cart counter does not need a badge */

.volvo-header-v3
#cart_informer
.cart_counter:empty {
    display:
        none !important;
}


/* ==========================================================
   HOVER / FOCUS
   ========================================================== */

.volvo-header-v3
.volvo-header-tool:hover {
    background:
        #f2f7fa;

    color:
        #0067b9;
}

.volvo-header-v3
.volvo-header-tool:hover
.header_informers__link
>
i,

.volvo-header-v3
.volvo-header-tool:hover
.account__link
>
svg {
    color:
        #0067b9 !important;
}

.volvo-header-v3
.volvo-header-tool:hover
.volvo-header-tool__caption {
    color:
        #0067b9 !important;
}

.volvo-header-v3
.volvo-header-tool
a:focus-visible {
    outline:
        2px
        solid
        rgba(0,103,185,.32) !important;

    outline-offset:
        2px;

    border-radius:
        50%;
}


/* ==========================================================
   TOOLS GROUP SPACING
   ========================================================== */

.volvo-header-v3
.volvo-header-tools {
    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        flex-end !important;

    gap:
        2px !important;

    flex-shrink:
        0 !important;
}


/* defensive: some V3 builds use another parent class */

.volvo-header-v3
.volvo-header-main__tools {
    display:
        flex !important;

    align-items:
        center !important;

    gap:
        2px !important;
}


/* ==========================================================
   LAPTOP WIDTH
   ========================================================== */

@media (min-width: 992px) and (max-width: 1199px) {

    .volvo-header-v3
    .volvo-header-tool,

    .volvo-header-v3
    #account.volvo-header-tool {
        flex-basis:
            60px !important;

        width:
            60px !important;

        min-width:
            60px !important;

        max-width:
            60px !important;
    }

    .volvo-header-v3
    .volvo-header-tool__caption {
        max-width:
            60px !important;

        font-size:
            8px !important;
    }

}


/*
 * Mobile header intentionally untouched.
 */


/* =========================================================
   VOLVO SHOP — MOBILE HEADER ICON VISIBILITY FIX
   2026-09-19
   ========================================================= */

@media (max-width: 767px) {

    /* Header utility buttons: account / wishlist / comparison / cart */
    .volvo-header-v3 .volvo-header-tool,
    .volvo-header-v3 #account,
    .volvo-header-v3 #wishlist,
    .volvo-header-v3 #comparison,
    .volvo-header-v3 #cart_informer {
        color: #111820 !important;
    }

    /* Make icon glyphs/SVGs visible on the white mobile tiles */
    .volvo-header-v3 .volvo-header-tool svg,
    .volvo-header-v3 #account svg,
    .volvo-header-v3 #wishlist svg,
    .volvo-header-v3 #comparison svg,
    .volvo-header-v3 #cart_informer svg {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 24px !important;
        height: 24px !important;
        color: #111820 !important;
        fill: currentColor !important;
        stroke: currentColor !important;
    }

    .volvo-header-v3 .volvo-header-tool i,
    .volvo-header-v3 #account i,
    .volvo-header-v3 #wishlist i,
    .volvo-header-v3 #comparison i,
    .volvo-header-v3 #cart_informer i {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        color: #111820 !important;
        font-size: 24px !important;
        line-height: 1 !important;
    }

    /* Keep informer buttons centered */
    .volvo-header-v3 #account,
    .volvo-header-v3 #wishlist,
    .volvo-header-v3 #comparison,
    .volvo-header-v3 #cart_informer {
        position: relative !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* Counter badge: place it on the actual button corner */
    .volvo-header-v3 .cart_counter,
    .volvo-header-v3 #cart_informer .cart_counter,
    .volvo-header-v3 .header_informers__item .cart_counter {
        position: absolute !important;
        top: -7px !important;
        right: -7px !important;
        z-index: 5 !important;
        min-width: 24px !important;
        height: 24px !important;
        padding: 0 5px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 999px !important;
        line-height: 1 !important;
    }
}

/* VOLVO_SHOP_MOBILE_HEADER_ICONS_V11_3 */

/* =========================================================
   VOLVO SHOP — MOBILE SEARCH ICON FIX
   2026-09-19
   ========================================================= */

@media (max-width: 767px) {

    .volvo-header-v3 .fn_search_toggle {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: #111820 !important;
    }

    /*
     * Hide the broken/invisible theme search SVG only
     * inside the mobile header toggle.
     */
    .volvo-header-v3 .fn_search_toggle > svg {
        opacity: 0 !important;
        visibility: hidden !important;
    }

    /*
     * Magnifier circle.
     */
    .volvo-header-v3 .fn_search_toggle::before {
        content: "" !important;
        display: block !important;
        position: absolute !important;

        width: 15px !important;
        height: 15px !important;

        left: 50% !important;
        top: 50% !important;

        margin-left: -10px !important;
        margin-top: -10px !important;

        border: 3px solid #111820 !important;
        border-radius: 50% !important;

        background: transparent !important;
        box-sizing: border-box !important;

        opacity: 1 !important;
        visibility: visible !important;

        transform: none !important;
        pointer-events: none !important;
    }

    /*
     * Magnifier handle.
     */
    .volvo-header-v3 .fn_search_toggle::after {
        content: "" !important;
        display: block !important;
        position: absolute !important;

        width: 10px !important;
        height: 3px !important;

        left: 50% !important;
        top: 50% !important;

        margin-left: 3px !important;
        margin-top: 5px !important;

        background: #111820 !important;
        border: 0 !important;
        border-radius: 2px !important;

        opacity: 1 !important;
        visibility: visible !important;

        transform: rotate(45deg) !important;
        transform-origin: center !important;

        pointer-events: none !important;
    }
}

/* VOLVO_SHOP_MOBILE_SEARCH_ICON_V11_4 */
