/* =========================================================
   SLICK
========================================================= */

.slick-slider {
    box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list,
.slick-slider {
    position: relative;
    display: block;
}

.slick-list {
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.slick-list:focus {
    outline: none;
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-list,
.slick-slider .slick-track {
    transform: translateZ(0);
}

.slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.slick-track::before,
.slick-track::after {
    content: "";
    display: table;
}

.slick-track::after {
    clear: both;
}

.slick-loading .slick-track {
    visibility: hidden;
}

.slick-slide {
    float: left;
    height: 100%;
    min-height: 1px;
    display: none;
}

[dir="rtl"] .slick-slide {
    float: right;
}

.slick-slide img {
    display: block;
}

.slick-slide.slick-loading img {
    display: none;
}

.slick-slide.dragging img {
    pointer-events: none;
}

.slick-initialized .slick-slide {
    display: block;
}

.slick-loading .slick-slide {
    visibility: hidden;
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
    display: none;
}

.slick-dots {
    list-style: none;
    padding: 0;
    margin: 20px 0 10px;
    display: flex;
    justify-content: center;
    width: 100%;
}

.slick-dots li {
    position: relative;
}

.slick-dots li + li {
    margin-left: 16px;
}

.slick-dots li button {
    display: block;
    font-size: 0;
    height: 6px;
    width: 6px;
    padding: 0;
    background-color: rgba(78, 62, 102, .5);
    border: 0;
    outline: none !important;
    border-radius: 6px;
}

.slick-dots li.slick-active button,
.slick-dots li button:hover {
    background-color: #4e3e66;
}

.slick-arrow {
    border: 0;
    padding: 0;
    position: absolute;
    top: 50%;
    left: -8px;
    transform: translateY(-50%);
    width: 46px;
    height: 46px;
    font-size: 0;
    color: #fff;
    z-index: 2;
    border: 1px solid var(--theme-colour-secondary);
    background-color: var(--theme-colour-secondary);
    border-radius: 46px;
}

.slick-arrow::before {
    font-family: "Font Awesome 5 Free";
    font-size: 1.5rem;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    content: "\f053";
    font-weight: 900;
}

.slick-arrow:hover {
    border-color: #2fa033;
    background-color: #2fa033;
}

.slick-arrow.slick-next {
    left: auto;
    right: -8px;
}

.slick-arrow.slick-next::before {
    content: "\f054";
}

.slick-arrow.slick-disabled {
    opacity: .5;
}


/* =========================================================
   GENERAL
========================================================= */

.logo-section {
    padding-top: 20px;
    padding-bottom: 20px;
}

.section-usps {
    background-color: #fff;
    color: #4e3e66;
    padding-top: 15px;
    padding-bottom: 15px;
    margin-top: 15px;
}

.usps-item img {
    width: 32px;
    height: 32px;
    object-fit: contain;
}

.header_section {
    max-width: 1110px;
}


/* =========================================================
   PRODUCT TABS
========================================================= */

#nav-tab {
    margin-top: 50px;
    margin-bottom: 15px;
}

#nav-tab .nav-link {
    font-size: 34px;
    text-transform: uppercase;
    font-weight: 700;
    background-color: transparent;
    text-align: center;
    letter-spacing: 1px;
    color: rgba(0, 0, 0, .5);
    border: 0;
    border-bottom: 3px solid transparent;
}

#nav-tab .nav-link:hover {
    color: rgba(0, 0, 0, .7);
}

#nav-tab .nav-link.active {
    color: var(--theme-colour-primary);
    border-bottom-color: var(--theme-colour-primary);
}

#nav-tab .nav-link.active span {
    color: var(--theme-colour-secondary);
}

.product-tabs {
    border-bottom-width: 1px !important;
    border-color: #e5e5e5;
}

#products-tabContent {
    padding: 0;
    border: 0;
}


/* =========================================================
   PRODUCT SLIDERS
========================================================= */

.products-slider .slick-list,
.products-slider .slick-slide,
.products-slider .slick-track,
.products-slider .thumbnail.card-body {
    height: 100%;
}

.products-slider .slick-slide {
    max-width: none;
}

.brand-item.slick-slide {
    margin-bottom: 0;
}

.multiitemadd-slider .slick-arrow,
.product-image-thumbnail .slick-arrow {
    width: 30px;
    height: 30px;
}

.multiitemadd-slider .slick-arrow::before,
.product-image-thumbnail .slick-arrow::before {
    font-size: 16px;
}

.multiitemadd-slider .slick-arrow {
    top: -34px;
}

.multiitemadd-slider .slick-prev {
    right: 50px;
    left: auto;
}

.multiitemadd-slider .slick-next {
    right: 15px;
}


/* =========================================================
   CROSS SELL
========================================================= */

.nCrossSellItem {
    border: 1px solid #e5e5e5;
    padding: .5rem;
    margin-bottom: .5rem;
    display: block;
}

.nCrossSellItem:hover {
    border-color: var(--theme-colour-secondary);
}

.nCrossSellItem img {
    width: 50px;
    height: 50px;
    object-fit: cover;
}

#_jstl__buying_options .s19-header {
    align-items: center;
}


/* =========================================================
   PRODUCT IMAGES
========================================================= */

.product-image-thumbnail {
    margin-top: 1rem;
    margin-left: -4px;
    margin-right: -4px;
}

.product-image-thumbnail .slick-slide {
    padding: 4px;
}

.product-image-thumbnail .slick-prev {
    left: -10px;
}

.product-image-thumbnail .slick-next {
    right: -10px;
}

.product-image-main.video-active {
    position: relative;
    z-index: 10;
}

.product-image-main .slick-slide {
    border: 1px solid transparent;
}

.product-image-main .slick-slide img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: contain;
}

.main-image-nav-item {
    position: relative;
    border: 1px solid transparent;
}

.main-image-nav-item:hover {
    border-color: var(--theme-colour-secondary);
}

.main-image-nav-item .fa-play-circle {
    position: absolute;
    font-size: 1.5rem;
    color: #fff;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.slick-current .main-image-nav-item {
    border-color: var(--theme-colour-secondary);
}

.product-videoimage-small {
    aspect-ratio: 1/1;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

/* =========================================================
   PRODUCT PAGE - TRUST PANEL / USPs / PAYMENTS
========================================================= */

.dcw-trust-panel {
    margin-top: 14px;
    padding: 10px 12px 9px;
    border: 1px solid #e8e5eb;
    border-radius: 6px;
    background-color: #fff;
}

.product-usps {
    margin: 0;
    padding: 0;
    border: 0;
}

.dcw-product-usps-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 18px;
    row-gap: 0;
}

.product-usps .usps-item {
    display: flex;
    align-items: center;
    min-width: 0;
    min-height: 42px;
    padding: 7px 0;
    border: 0;
    border-bottom: 1px solid #f0eef2;
    border-radius: 0;
    background: transparent;
}

.product-usps .usps-item:nth-last-child(-n+2) {
    border-bottom: 0;
}

.product-usps .usps-item:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    border-top: 1px solid #f0eef2;
    border-bottom: 0;
}

.product-usps .usps-item img {
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    margin: 0 8px 0 0 !important;
    object-fit: contain;
}

.product-usps .usps-item p {
    min-width: 0;
    margin: 0;
    color: #584670;
    font-size: 11.5px;
    line-height: 1.25;
    font-weight: 600;
}

.dcw-payment-strip {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 7px;
    margin: 7px 0 0;
    padding: 10px 0 1px;
    border: 0;
    border-top: 1px solid #e8e5eb;
    border-radius: 0;
    background: transparent;
}

.dcw-payment-strip-title {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #584670;
    font-size: 11.5px;
    line-height: 1.2;
    font-weight: 700;
}

.dcw-payment-strip-title i {
    color: #2aaa41;
    font-size: 10px;
}

.list-payment {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
}

.list-payment li {
    flex: 0 0 auto;
    margin: 0 !important;
    padding: 0;
}

.list-payment .payment-icon-container {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 50px;
    height: 34px;
    padding: 4px 7px;
    border: 1px solid #ece9ef;
    border-radius: 5px;
    background-color: #fff;
}

.list-payment .payment-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 0;
    height: 24px;
    background: none;
}

.list-payment .payment-icon img {
    display: block;
    width: auto;
    max-width: 46px;
    height: auto;
    max-height: 24px;
    object-fit: contain;
}

@media only screen and (max-width: 575.99px) {
    .dcw-trust-panel {
        margin-top: 12px;
        padding: 9px 10px 8px;
    }

    .dcw-product-usps-grid {
        grid-template-columns: 1fr;
    }

    .product-usps .usps-item,
    .product-usps .usps-item:nth-last-child(-n+2),
    .product-usps .usps-item:last-child:nth-child(odd) {
        grid-column: auto;
        min-height: 39px;
        padding: 6px 0;
        border-top: 0;
        border-bottom: 1px solid #f0eef2;
    }

    .product-usps .usps-item:last-child {
        border-bottom: 0;
    }

    .product-usps .usps-item img {
        flex-basis: 20px;
        width: 20px;
        height: 20px;
    }

    .product-usps .usps-item p {
        font-size: 11.5px;
    }

    .dcw-payment-strip {
        align-items: flex-start;
        gap: 6px;
        margin-top: 6px;
        padding-top: 8px;
    }

    .dcw-payment-strip-title {
        font-size: 11px;
    }

    .list-payment {
        gap: 6px;
    }

    .list-payment .payment-icon-container {
        min-width: 46px;
        height: 32px;
        padding: 4px 6px;
    }

    .list-payment .payment-icon {
        height: 22px;
    }

    .list-payment .payment-icon img {
        max-width: 42px;
        max-height: 22px;
    }
}

/* =========================================================
   PRODUCT PAGE - KEY FEATURES
========================================================= */

.key-features {
    margin-top: 12px;
    padding: 13px 14px;
    border: 1px solid #e8e8ec;
    border-radius: 7px;
    background-color: #fafafa;
}

.key-features h4 {
    margin: 0 0 10px;
    color: #25242a;
    font-size: 14px;
    line-height: 1.25;
    font-weight: 700;
}

.key-features ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.key-features li {
    position: relative;
    min-width: 0;
    margin: 0;
    padding-left: 19px;
    color: #333;
    font-size: 12.5px;
    line-height: 1.35;
}

.key-features li::before {
    position: absolute;
    top: 2px;
    left: 0;
    color: #2aaa41;
    font-family: "Font Awesome 5 Free";
    font-size: 10px;
    font-weight: 900;
    content: "\f00c";
}

.key-features li p {
    margin: 0;
}

@media only screen and (max-width: 991.99px) and (min-width: 576px) {
    .dcw-product-usps-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dcw-product-usps-grid .usps-item,
    .dcw-product-usps-grid .usps-item:nth-child(4),
    .dcw-product-usps-grid .usps-item:nth-child(5) {
        grid-column: auto;
    }

    .dcw-product-usps-grid .usps-item:last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }
}

@media only screen and (max-width: 575.99px) {
    .product-usps {
        margin-top: 12px;
        padding-top: 10px;
    }

    .dcw-product-usps-grid {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .dcw-product-usps-grid .usps-item,
    .dcw-product-usps-grid .usps-item:nth-child(4),
    .dcw-product-usps-grid .usps-item:nth-child(5),
    .dcw-product-usps-grid .usps-item:last-child:nth-child(odd) {
        grid-column: auto;
    }

    .product-usps .usps-item {
        min-height: 42px;
        padding: 7px 9px;
    }

    .product-usps .usps-item img {
        flex-basis: 22px;
        width: 22px;
        height: 22px;
    }

    .dcw-payment-strip {
        align-items: flex-start;
        gap: 8px;
        padding: 8px 9px;
    }

    .dcw-payment-strip-title {
        padding-top: 7px;
        font-size: 11.5px;
    }

    .list-payment {
        gap: 3px;
    }

    .list-payment .payment-icon {
        min-width: 32px;
        height: 26px;
    }

    .list-payment .payment-icon img {
        max-width: 38px;
        max-height: 26px;
    }

    .key-features {
        padding: 12px;
    }

    .key-features ul {
        grid-template-columns: 1fr;
        gap: 7px;
    }
}


/* =========================================================
   PRODUCT PAGE OFFER BADGES
========================================================= */

.dcw-offer-badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: 2px 0 8px;
}

.dcw-offer-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    padding: 5px 10px;
    border: 0;
    border-radius: 5px;
    font-size: 12px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .2px;
    text-transform: uppercase;
    color: #fff !important;
    text-decoration: none !important;
    white-space: nowrap;
    transition: opacity .15s ease, transform .15s ease;
}

a.dcw-offer-badge {
    cursor: pointer;
}

a.dcw-offer-badge:hover,
a.dcw-offer-badge:focus {
    color: #fff !important;
    text-decoration: none !important;
    opacity: .88;
}

a.dcw-offer-badge:active {
    transform: translateY(1px);
}


/* =========================================================
   OFFER BADGE COLOURS
========================================================= */

/* SALE */

.dcw-offer-badge--sale {
    background-color: #d71920;
}


/* CASHBACK */

.dcw-offer-badge--cashback {
    background-color: #222222;
}


/* BONUS */

.dcw-offer-badge--bonus {
    background-color: #a16207;
}


/* BUNDLE & SAVE */

.dcw-offer-badge--bundle {
    background-color: #584670;
}


/* NEW */

.dcw-offer-badge--new {
    background-color: #2563eb;
}


/* CLEARANCE */

.dcw-offer-badge--clearance {
    background-color: #f97316;
}


/* HOT PRICE */

.dcw-offer-badge--hot-price {
    background-color: #db2777;
}


/* =========================================================
   PRODUCT TILE IMAGE + OFFER BADGES

   Tile badges are positioned relative to the image wrapper,
   so they cannot pull price or Add to Cart over the image.
   Product page badges remain unchanged.
========================================================= */

.card.thumbnail .dcw-tile-image-wrap {
    position: relative;
    padding-top: 10px;
}

.card.thumbnail .dcw-tile-image-wrap .dcw-tile-offer-badges {
    position: absolute;
    top: 16px;
    left: 8px;
    z-index: 3;

    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 4px;

    width: auto;
    max-width: calc(100% - 16px);
    margin: 0;
    text-align: left;

    pointer-events: none;
}

.card.thumbnail .dcw-tile-image-wrap .dcw-tile-offer-badges .dcw-offer-badge {
    min-height: 21px;
    padding: 4px 7px;
    border-radius: 4px;
    font-size: 10px;
    line-height: 1;
    letter-spacing: .1px;
    box-shadow: none;
}

.card.thumbnail .dcw-tile-image-wrap .dcw-tile-offer-badges .dcw-offer-badge--bundle {
    padding-left: 8px;
    padding-right: 8px;
}


/* =========================================================
   PROMOTION DETAILS
========================================================= */

.dcw-promotion-details {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #e5e5e5;
}

.dcw-promotion-details-title {
    margin-bottom: 7px;
    color: #25242a;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 700;
}

.dcw-promotion-detail {
    position: relative;
    margin-bottom: 7px;
    padding: 9px 11px;
    border: 1px solid #e5e5e5;
    border-left-width: 4px;
    border-radius: 5px;
    background-color: #fafafa;
    font-size: 13px;
    line-height: 1.4;
    scroll-margin-top: 110px;
}

.dcw-promotion-detail:last-child {
    margin-bottom: 0;
}

.dcw-promotion-detail:target {
    background-color: #f5f4f7;
}

.dcw-promotion-detail-heading {
    margin-bottom: 3px;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .2px;
    text-transform: uppercase;
}

.dcw-promotion-detail-message {
    color: #333;
    font-size: 13px;
    line-height: 1.4;
}

.dcw-promotion-detail-message p:last-child {
    margin-bottom: 0;
}

.dcw-promotion-detail-date {
    margin-top: 3px;
    color: #6b6b73;
    font-size: 11px;
    line-height: 1.3;
    font-weight: 500;
}


/* SALE DETAILS */

.dcw-promotion-detail--sale {
    border-left-color: #d71920;
}

.dcw-promotion-detail--sale .dcw-promotion-detail-heading {
    color: #d71920;
}


/* CLEARANCE DETAILS */

.dcw-promotion-detail--clearance {
    border-left-color: #f97316;
}

.dcw-promotion-detail--clearance .dcw-promotion-detail-heading {
    color: #c94f00;
}


/* BONUS DETAILS */

.dcw-promotion-detail--bonus {
    border-left-color: #a16207;
}

.dcw-promotion-detail--bonus .dcw-promotion-detail-heading {
    color: #a16207;
}


/* CASHBACK DETAILS */

.dcw-promotion-detail--cashback {
    border-left-color: #222222;
}

.dcw-promotion-detail--cashback .dcw-promotion-detail-heading {
    color: #222222;
}


/* BUNDLE & SAVE DETAILS */

.dcw-promotion-detail--bundle {
    border-left-color: #584670;
}

.dcw-promotion-detail--bundle .dcw-promotion-detail-heading {
    color: #584670;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.description-seo {
    max-height: 150px;
    transition: max-height .15s ease-out;
    overflow: hidden;
    position: relative;
    margin-bottom: .5rem;
}

.description-seo:not(.open)::after {
    position: absolute;
    content: "";
    left: 0;
    right: 0;
    bottom: 0;
    height: 50px;
    background: linear-gradient(
        180deg,
        hsla(0, 0%, 100%, 0) 0,
        #fff
    );
}

.description-seo.open {
    max-height: 2000px;
    transition: max-height .25s ease-in;
}

.cross-sell-wrap:not(.open) .nCrossSellItem:nth-child(n+4) {
    display: none;
}

.cross-sell-wrap + .btn-light {
    color: var(--theme-colour-primary);
}


/* =========================================================
   CART
========================================================= */

.card-cart {
    padding: 1.5rem;
}

.card-cart .card-header {
    padding: 0 0 1.5rem;
    background-color: transparent;
}

.card-cart .card-header * {
    font-weight: 700;
    color: #574a6b !important;
}

.card-cart .card-body {
    padding: 0;
}

.card-cart .card-body > .row {
    padding-top: 1.5rem;
}

.card-cart .card-body > .row:not(:last-child) {
    border-bottom: 1px solid #e5e5e5;
    padding-bottom: 1.5rem;
}

.cart-column-image > a {
    width: 50px;
    display: block;
    margin-right: 1rem;
}

.cart-column-quantity {
    width: 154px;
}

.cart-column-quantity .qty-group {
    width: 100%;
}

.cart-column-price {
    width: 182px;
}

.cart-column-delete {
    width: 62px;
}

.cart-column-delete .btn {
    background-color: #f8f9fa;
    border-radius: .25rem;
    padding: 7px;
}

.cart-column-delete .btn svg {
    display: block;
}

.cart-column-delete .btn:focus,
.cart-column-delete .btn:hover {
    background-color: #e5e5e5;
}

.cart-column-product a {
    color: #000;
}


/* =========================================================
   RESPONSIVE - LARGE
========================================================= */

@media only screen and (max-width: 1199.99px) {

    .wrapper-header .menu-section ul.navbar-nav > li > a.nav-link {
        padding-left: .25rem;
        padding-right: .25rem;
    }
}


/* =========================================================
   RESPONSIVE - TABLET
========================================================= */

@media only screen and (max-width: 991.99px) {

    #nav-tab .nav-link {
        font-size: 24px;
    }

    #n_home .products-row.products-slider article.pb-2,
    .products-row.products-slider article.pb-2 {
        padding-bottom: 0 !important;
    }

    .cart-column-price {
        width: 122px;
    }

    .cart-column-quantity {
        width: 134px;
    }
}


/* =========================================================
   RESPONSIVE - MOBILE
========================================================= */

@media only screen and (max-width: 767.99px) {

    .logo-section {
        padding-top: 15px;
        padding-bottom: 15px;
    }

    .logo {
        max-width: 200px;
    }

    #navbarMainMenu {
        position: fixed;
        top: 76px;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1050;
        opacity: 0;
        transition: opacity .2s ease, transform .2s ease;
        transform: scale(.9);
        display: none;
        overflow-y: auto;
        overflow-x: hidden;
        padding: 0;
        background-color: #67577d;
    }

    #navbarMainMenu.show {
        transform: none;
        opacity: 1;
    }

    .navigation-open body {
        overflow: hidden;
        height: 100%;
    }

    .navigation-open body #navbarMainMenu {
        display: block;
    }

    .navigation-open .sticky-top {
        z-index: 1022;
    }

    .burger-menu {
        max-width: 540px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 15px;
        padding-right: 15px;
        position: relative;
    }

    .burger-menu .dropdown {
        position: static;
    }

    .level-2,
    .level-3 {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        padding: 0 1rem;
        background-color: #67577d;
        transform: translateX(100%);
        transition: transform .2s ease-in-out;
        z-index: 10;
    }

    .level-2 > li,
    .level-3 > li {
        width: 100%;
        max-width: 510px;
        margin-left: auto;
        margin-right: auto;
    }

    .level-2.active,
    .level-3.active {
        transform: none;
    }

    #searchMobile {
        position: absolute;
        top: 100%;
        left: -15px;
        right: -15px;
        background-color: #67577d;
        z-index: 1010;
    }

    #homepageCarouselMobile .carousel-item img {
        aspect-ratio: 1200/685;
        object-fit: cover;
    }

    #nav-tab .nav-link {
        font-size: 20px;
        padding-left: 10px;
        padding-right: 10px;
    }

    .card-cart {
        padding: 1rem;
    }

    .card-cart .card-header {
        display: none;
    }

    .card-cart .card-body > .row:first-child {
        padding-top: 0;
    }

    .cart-column-price,
    .cart-column-quantity {
        width: auto;
    }

    .breadcrumb-section nav {
        overflow-x: auto;
    }

    .breadcrumb {
        flex-wrap: nowrap;
    }

    .breadcrumb a {
        white-space: nowrap;
    }


    /* TILE BADGES ONLY */

    .card.thumbnail .dcw-tile-image-wrap .dcw-tile-offer-badges {
        top: 14px;
        left: 7px;
        gap: 4px;
        max-width: calc(100% - 14px);
    }

    .card.thumbnail .dcw-tile-image-wrap .dcw-tile-offer-badges .dcw-offer-badge {
        min-height: 20px;
        padding: 4px 6px;
        font-size: 9.5px;
    }


    .dcw-promotion-detail {
        scroll-margin-top: 90px;
    }
}


/* =========================================================
   RESPONSIVE - SMALL MOBILE
========================================================= */

@media only screen and (max-width: 575.99px) {

    .logo-section .container > .row {
        margin-left: -7px;
        margin-right: -7px;
    }

    .logo-section .container > .row .col,
    .logo-section .container > .row > .col-auto {
        padding-left: 7px;
        padding-right: 7px;
    }

    .logo {
        max-width: 150px;
    }

    #navbarMainMenu {
        top: 66px;
    }

    .ribbon {
        font-size: 1em;
        line-height: 1.2em;
        border-radius: 20px 0;
    }

    .ribbon::before {
        border-radius: 0 0 18px 0;
    }

    .ribbon::after {
        border-radius: 0 0 17px 0;
    }

    #n_product .extra-options .buying-options input.qty {
        width: 100px;
    }


    /* TILE IMAGE */

    .card.thumbnail .dcw-tile-image-wrap {
        padding-top: 8px;
    }


    /* TILE BADGES ONLY */

    .card.thumbnail .dcw-tile-image-wrap .dcw-tile-offer-badges {
        top: 11px;
        left: 6px;
        gap: 3px;
        max-width: calc(100% - 12px);
    }

    .card.thumbnail .dcw-tile-image-wrap .dcw-tile-offer-badges .dcw-offer-badge {
        min-height: 19px;
        padding: 3px 5px;
        font-size: 9px;
        border-radius: 4px;
    }


    /* PROMOTION DETAILS */

    .dcw-promotion-details {
        margin-top: 9px;
        padding-top: 9px;
    }

    .dcw-promotion-details-title {
        margin-bottom: 6px;
        font-size: 13px;
    }

    .dcw-promotion-detail {
        margin-bottom: 6px;
        padding: 8px 9px;
    }

    .dcw-promotion-detail-heading {
        font-size: 11px;
    }

    .dcw-promotion-detail-message {
        font-size: 12px;
    }

    .dcw-promotion-detail-date {
        font-size: 10.5px;
    }
}


/* =========================================================
   HEADER TOP BAR
========================================================= */

.wrapper-header div.header-topbar {
    background-color: #2aaa41 !important;
}

.wrapper-header div.header-topbar .nav-item i,
.wrapper-header div.header-topbar .nav-link {
    color: #ffffff !important;
}

.wrapper-header .header-topbar .nav-item:not(:first-child) a.nav-link::before {
    color: #ffffff !important;
}

/* =========================================================
   DCW PRODUCT PAGE ACCESSORY TILE LAYOUT
   Layout only - does not affect promotional badge logic
========================================================= */

#n_product #accessories .products-row .thumbnail.card-body {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
}


/* PRICE */

#n_product #accessories .products-row .thumbnail .price {
    display: block !important;
    width: 100% !important;
    flex: 0 0 auto !important;

    margin: 10px 0 !important;

    text-align: center !important;
}


/* BUYING OPTIONS */

#n_product #accessories .products-row .thumbnail form.buying-options,
#n_product #accessories .products-row .thumbnail .buying-options {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    flex: 0 0 auto !important;

    margin: 0 !important;
}


/* BUTTON */

#n_product #accessories .products-row .thumbnail .buying-options .btn {
    margin-left: auto !important;
    margin-right: auto !important;
}


/* MOBILE */

@media only screen and (max-width: 575.99px) {

    #n_product #accessories .products-row .thumbnail .price {
        margin: 8px 0 !important;
    }

}

/* =========================================================
   DCW THUMB MAIN BADGE SHELF - SAFE LAYOUT
   IMPORTANT:
   - Does NOT modify Slick track/slide sizing.
   - Preserves 4-card homepage sliders.
   - Keeps badge shelf above image.
   - Centres product name, price and buying button.
========================================================= */

.card.thumbnail {
    text-align: center !important;
}


/* ---------------------------------------------------------
   BADGE SHELF
--------------------------------------------------------- */

.card.thumbnail .dcw-tile-badge-shelf {
    position: static !important;

    display: flex !important;
    flex: 0 0 auto !important;

    align-items: flex-end !important;
    justify-content: center !important;

    width: 100% !important;
    min-height: 76px !important;

    padding: 7px 6px 8px !important;
    margin: 0 !important;

    background: #fff !important;

    overflow: visible !important;
    box-sizing: border-box !important;
}


.card.thumbnail .dcw-tile-badge-shelf .dcw-tile-offer-badges {
    position: static !important;

    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    display: flex !important;
    flex-wrap: wrap !important;

    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    max-width: 100% !important;

    gap: 4px !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: center !important;

    pointer-events: auto !important;
}


.card.thumbnail .dcw-tile-badge-shelf .dcw-offer-badge {
    flex: 0 0 auto;

    min-height: 21px;

    padding: 4px 7px;

    border-radius: 4px;

    font-size: 10px;
    line-height: 1;

    letter-spacing: .1px;

    white-space: nowrap;
    box-shadow: none;
}


/* ---------------------------------------------------------
   IMAGE
   No fixed aspect-ratio and no Slick width changes.
--------------------------------------------------------- */

.card.thumbnail .dcw-tile-badge-shelf + .dcw-tile-image-wrap {
    position: static !important;

    display: block !important;

    width: 100% !important;

    padding: 0 !important;
    margin: 0 !important;

    overflow: visible !important;
}


.card.thumbnail .dcw-tile-badge-shelf + .dcw-tile-image-wrap .thumbnail-image {
    display: block !important;

    width: 100% !important;

    padding-bottom: .5rem !important;

    text-align: center !important;

    overflow: visible !important;
}


.card.thumbnail .dcw-tile-badge-shelf + .dcw-tile-image-wrap .product-image {
    display: block !important;

    width: auto !important;
    height: auto !important;

    max-width: 100% !important;

    margin-left: auto !important;
    margin-right: auto !important;

    object-fit: contain !important;
}


/* ---------------------------------------------------------
   PRODUCT NAME
--------------------------------------------------------- */

.card.thumbnail .card-title {
    width: 100% !important;

    margin-left: auto !important;
    margin-right: auto !important;

    text-align: center !important;
}


.card.thumbnail .card-title a {
    display: block !important;

    width: 100% !important;

    text-align: center !important;
}


/* ---------------------------------------------------------
   PRICE
--------------------------------------------------------- */

.card.thumbnail .price {
    position: static !important;

    display: block !important;

    width: 100% !important;

    margin-left: auto !important;
    margin-right: auto !important;

    text-align: center !important;
}


.card.thumbnail .price,
.card.thumbnail .price *,
.card.thumbnail .price span {
    text-align: center !important;
}


/* ---------------------------------------------------------
   BUYING OPTIONS / BUTTON
--------------------------------------------------------- */

.card.thumbnail form.buying-options,
.card.thumbnail .buying-options {
    position: static !important;

    display: flex !important;
    flex-wrap: wrap !important;

    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;

    margin-left: auto !important;
    margin-right: auto !important;

    text-align: center !important;
}


.card.thumbnail .buying-options .btn,
.card.thumbnail form.buying-options .btn {
    margin-left: auto !important;
    margin-right: auto !important;
}


/* ---------------------------------------------------------
   MOBILE
--------------------------------------------------------- */

@media only screen and (max-width: 767.99px) {

    .card.thumbnail .dcw-tile-badge-shelf {
        min-height: 80px !important;
        padding: 6px 5px 7px !important;
    }

    .card.thumbnail .dcw-tile-badge-shelf .dcw-tile-offer-badges {
        gap: 3px !important;
    }

    .card.thumbnail .dcw-tile-badge-shelf .dcw-offer-badge {
        min-height: 20px;
        padding: 4px 6px;
        font-size: 9.5px;
    }
}


@media only screen and (max-width: 575.99px) {

    .card.thumbnail .dcw-tile-badge-shelf {
        min-height: 82px !important;
        padding: 6px 4px !important;
    }

    .card.thumbnail .dcw-tile-badge-shelf .dcw-offer-badge {
        min-height: 19px;
        padding: 3px 5px;
        font-size: 9px;
    }
}

/* =========================================================
   DCW PRODUCT PAGE - PAYMENT METHODS FINAL OVERRIDE
   Keep this block at the END of dc-custom.css.
========================================================= */

.dcw-trust-panel .dcw-payment-strip {
    display: block !important;
    width: 100% !important;
    margin: 8px 0 0 !important;
    padding: 10px 0 2px !important;
    border: 0 !important;
    border-top: 1px solid #e8e5eb !important;
    background: transparent !important;
}

.dcw-trust-panel .dcw-payment-strip-title {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 0 9px !important;
    padding: 0 !important;
    gap: 6px !important;
    color: #584670 !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    white-space: normal !important;
}

.dcw-trust-panel .dcw-payment-strip-title i {
    flex: 0 0 auto !important;
    color: #2aaa41 !important;
    font-size: 11px !important;
}

.dcw-trust-panel .dcw-payment-strip .list-payment {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 8px 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.dcw-trust-panel .dcw-payment-strip .list-payment > li {
    display: block !important;
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.dcw-trust-panel .dcw-payment-strip .payment-icon-container {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 58px !important;
    min-width: 58px !important;
    height: 36px !important;
    padding: 5px 7px !important;
    border: 1px solid #e8e5eb !important;
    border-radius: 5px !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

.dcw-trust-panel .dcw-payment-strip .payment-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.dcw-trust-panel .dcw-payment-strip .payment-icon img {
    display: block !important;
    width: auto !important;
    max-width: 44px !important;
    height: auto !important;
    max-height: 24px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
}

@media only screen and (max-width: 575.99px) {
    .dcw-trust-panel .dcw-payment-strip {
        padding-top: 9px !important;
    }

    .dcw-trust-panel .dcw-payment-strip-title {
        margin-bottom: 8px !important;
        font-size: 11.5px !important;
    }

    .dcw-trust-panel .dcw-payment-strip .list-payment {
        gap: 7px !important;
    }

    .dcw-trust-panel .dcw-payment-strip .payment-icon-container {
        width: 54px !important;
        min-width: 54px !important;
        height: 34px !important;
        padding: 5px 6px !important;
    }

    .dcw-trust-panel .dcw-payment-strip .payment-icon img {
        max-width: 41px !important;
        max-height: 23px !important;
    }
}

/* =========================================================
   DCW PRODUCT PAGE - MOBILE USP ALIGNMENT FINAL OVERRIDE
   Keeps every USP icon in one fixed column and text aligned.
========================================================= */

@media only screen and (max-width: 575.99px) {
    .dcw-trust-panel .product-usps .dcw-product-usps-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        width: 100% !important;
    }

    .dcw-trust-panel .product-usps .dcw-product-usps-grid .usps-item,
    .dcw-trust-panel .product-usps .dcw-product-usps-grid .usps-item:nth-child(4),
    .dcw-trust-panel .product-usps .dcw-product-usps-grid .usps-item:nth-child(5),
    .dcw-trust-panel .product-usps .dcw-product-usps-grid .usps-item:last-child:nth-child(odd) {
        display: grid !important;
        grid-template-columns: 30px minmax(0, 1fr) !important;
        align-items: center !important;
        column-gap: 8px !important;
        width: 100% !important;
        min-height: 46px !important;
        margin: 0 !important;
        padding: 8px 2px !important;
        border-top: 0 !important;
        border-right: 0 !important;
        border-left: 0 !important;
        border-bottom: 1px solid #f0eef2 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-sizing: border-box !important;
    }

    .dcw-trust-panel .product-usps .dcw-product-usps-grid .usps-item:last-child {
        border-bottom: 0 !important;
    }

    .dcw-trust-panel .product-usps .dcw-product-usps-grid .usps-item img {
        display: block !important;
        justify-self: center !important;
        align-self: center !important;
        width: 24px !important;
        height: 24px !important;
        max-width: 24px !important;
        max-height: 24px !important;
        margin: 0 !important;
        object-fit: contain !important;
        object-position: center !important;
    }

    .dcw-trust-panel .product-usps .dcw-product-usps-grid .usps-item p {
        display: block !important;
        align-self: center !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
        color: #584670 !important;
        font-size: 11.5px !important;
        line-height: 1.3 !important;
        font-weight: 600 !important;
    }
}

/* =========================================================
   DCW BROWSE/CATEGORY TILE ALIGNMENT
   CSS-only fix — no product-card template logic changes.
========================================================= */

/*
 * Stock Delayed:
 * Keep the original safe markup, but make the text itself sit
 * on the true centre line while the purple dot sits to its left.
 *
 * The selector is intentionally scoped to the status block that
 * appears immediately after the product title.
 */
.products-row .card.thumbnail .card-title + div[style*="color:#584670"][style*="font-size:12px"][style*="font-weight:600"] {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center !important;
    width: 100% !important;
    text-align: center !important;
}

.products-row .card.thumbnail .card-title + div[style*="color:#584670"][style*="font-size:12px"][style*="font-weight:600"] > span:first-child {
    grid-column: 1 !important;
    justify-self: end !important;
    margin-right: 6px !important;
}

/*
 * Studio19 browse-tile rental text:
 * Studio19 inserts its rental wording into/around the tile price.
 * Force the price/rental content to inherit the tile's centred
 * alignment without changing the Studio19 script or markup.
 */
.products-row .card.thumbnail .price,
.products-row .card.thumbnail .price > *,
.products-row .card.thumbnail .price div,
.products-row .card.thumbnail .price span,
.products-row .card.thumbnail .price p {
    text-align: center !important;
}

.products-row .card.thumbnail .price > div,
.products-row .card.thumbnail .price > p {
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    justify-content: center !important;
}

/* =========================================================
   DCW PRODUCT PAGE - CROSS SELL / YOU MIGHT WANT TO ADD
   Design-only. Existing Neto logic and JS hooks are preserved.
========================================================= */

.dcw-cross-sell-section {
    margin: 16px 0 14px;
}

.dcw-cross-sell-title {
    margin: 0 0 9px;
    color: #25242a;
    font-size: 16px;
    line-height: 1.25;
    font-weight: 500;
}

.dcw-cross-sell-list {
    overflow: hidden;
    margin: 0;
    border: 1px solid #e8e5eb;
    border-radius: 7px 7px 0 0;
    background: #fff;
}

.dcw-cross-sell-section .nCrossSellItem,
.dcw-cross-sell-section .dcw-cross-sell-item {
    display: block;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: #fff;
}

.dcw-cross-sell-section .nCrossSellItem + .nCrossSellItem {
    border-top: 1px solid #efedf1;
}

.dcw-cross-sell-section .nCrossSellItem:hover {
    border-color: transparent;
    background: #faf9fb;
}

.dcw-cross-sell-row {
    min-height: 70px;
    padding: 9px 10px;
    gap: 10px;
}

.dcw-cross-sell-media {
    flex: 0 0 54px;
    width: 54px;
}

.dcw-cross-sell-media a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    padding: 2px;
    border-radius: 5px;
    background: #fff;
}

.dcw-cross-sell-section .nCrossSellItem .dcw-cross-sell-media img {
    display: block;
    width: 50px;
    height: 50px;
    margin: 0;
    object-fit: contain;
}

.dcw-cross-sell-content {
    min-width: 0;
    padding-right: 4px !important;
}

.dcw-cross-sell-name {
    margin: 0 0 3px;
    color: #584670;
    font-size: 13px;
    line-height: 1.3;
    font-weight: 600;
}

.dcw-cross-sell-name a {
    color: #584670 !important;
    text-decoration: none;
}

.dcw-cross-sell-name a:hover {
    color: #2aaa41 !important;
}

.dcw-cross-sell-price {
    margin: 0;
    color: #2FA033;
    font-size: 13px;
    line-height: 1.25;
    font-weight: 700;
}

.dcw-cross-sell-action {
    flex: 0 0 auto;
    margin-left: auto;
}

.dcw-cross-sell-action .buying-options {
    margin: 0;
}

.dcw-cross-sell-action .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 90px;
    min-height: 34px;
    margin: 0;
    padding: 7px 11px;
    border-radius: 4px;
    font-size: 12px;
    line-height: 1.15;
    font-weight: 600;
    white-space: nowrap;
}

.dcw-cross-sell-action .btn-primary,
.dcw-cross-sell-action .btn-success,
.dcw-cross-sell-action .addtocart.btn-primary,
.dcw-cross-sell-action .placeorder,
.dcw-cross-sell-action .place-order {
    border-color: #2aaa41;
    background: #2aaa41;
    color: #fff;
}

.dcw-cross-sell-action .btn-primary:hover,
.dcw-cross-sell-action .btn-primary:focus,
.dcw-cross-sell-action .btn-success:hover,
.dcw-cross-sell-action .btn-success:focus,
.dcw-cross-sell-action .addtocart.btn-primary:hover,
.dcw-cross-sell-action .addtocart.btn-primary:focus,
.dcw-cross-sell-action .placeorder:hover,
.dcw-cross-sell-action .placeorder:focus,
.dcw-cross-sell-action .place-order:hover,
.dcw-cross-sell-action .place-order:focus {
    border-color: #238f37;
    background: #238f37;
    color: #fff;
}

.dcw-cross-sell-action .btn-info {
    border-color: #17A2B8;
    background: #17A2B8;
    color: #fff;
}

.dcw-cross-sell-action .btn-info:hover,
.dcw-cross-sell-action .btn-info:focus {
    border-color: #138496;
    background: #138496;
    color: #fff;
}

.dcw-cross-sell-action .btn-outline-secondary {
    border-color: #d8d5dc;
    background: #fff;
    color: #584670;
}

/* Compact Call To Order presentation inside cross-sell rows only */
.dcw-cross-sell-action > .text-success {
    max-width: 132px;
    font-size: 9px;
    line-height: 1.25;
}

.dcw-cross-sell-action > .text-success .alert {
    margin: 0 0 2px !important;
    padding: 6px 8px;
    border-color: #b9dfc1;
    background: #eef8f0;
    color: #2a8f3b !important;
    font-size: 10px !important;
    line-height: 1.2;
}

/* Keep existing JS hook and adjacent relationship intact */
.dcw-cross-sell-section .cross-sell-wrap + .btn-toggle-crosssell {
    width: 100%;
    min-height: 34px;
    margin: 0;
    padding: 7px 12px;
    border: 1px solid #e8e5eb;
    border-top: 0;
    border-radius: 0 0 7px 7px;
    background: #f8f7f9;
    color: #584670;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: .2px;
}

.dcw-cross-sell-section .cross-sell-wrap + .btn-toggle-crosssell:hover,
.dcw-cross-sell-section .cross-sell-wrap + .btn-toggle-crosssell:focus {
    background: #f1eff4;
    color: #584670;
}

/* Existing behaviour: only first 3 shown until expanded */
.dcw-cross-sell-section .cross-sell-wrap:not(.open) .nCrossSellItem:nth-child(n+4) {
    display: none;
}

@media only screen and (max-width: 575.99px) {
    .dcw-cross-sell-section {
        margin-top: 14px;
    }

    .dcw-cross-sell-title {
        margin-bottom: 8px;
        color: #25242a;
        font-size: 15px;
        font-weight: 500;
    }

    .dcw-cross-sell-row {
        display: grid;
        grid-template-columns: 52px minmax(0, 1fr);
        gap: 0 9px;
        min-height: 0;
        padding: 9px;
    }

    .dcw-cross-sell-media {
        grid-column: 1;
        grid-row: 1 / span 2;
        width: 52px;
    }

    .dcw-cross-sell-media a {
        width: 50px;
        height: 50px;
    }

    .dcw-cross-sell-section .nCrossSellItem .dcw-cross-sell-media img {
        width: 46px;
        height: 46px;
    }

    .dcw-cross-sell-content {
        grid-column: 2;
        grid-row: 1;
        width: 100%;
        padding: 0 !important;
    }

    .dcw-cross-sell-name {
        font-size: 12.5px;
    }

    .dcw-cross-sell-price {
        font-size: 12.5px;
    }

    .dcw-cross-sell-action {
        grid-column: 2;
        grid-row: 2;
        justify-self: end;
        margin: 7px 0 0;
        padding: 0 !important;
        text-align: right;
    }

    .dcw-cross-sell-action .buying-options {
        justify-content: flex-end !important;
        width: 100%;
    }

    .dcw-cross-sell-action .btn {
        min-width: 86px;
        min-height: 32px;
        padding: 6px 10px;
        font-size: 11.5px;
    }

    .dcw-cross-sell-action > .text-success {
        max-width: 150px;
        text-align: left !important;
    }
}

/* =========================================================
   DCW PRODUCT IMAGE NAVIGATION
   Arrows moved from thumbnail rail to the main product image.
========================================================= */

/* Thumbnail rail no longer owns navigation arrows */
.product-image-thumbnail .slick-arrow {
    display: none !important;
}

/* Keep arrows over the image rather than outside the gallery */
.product-image-main {
    position: relative;
}

.product-image-main .slick-arrow {
    top: 50%;
    width: 36px;
    height: 36px;
    border: 1px solid #d8d5dc;
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    color: #584670;
    opacity: .85;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
    z-index: 6;
    transform: translateY(-50%);
    transition:
        background-color .15s ease,
        border-color .15s ease,
        color .15s ease,
        opacity .15s ease,
        box-shadow .15s ease;
}

.product-image-main .slick-prev {
    left: 0;
}

.product-image-main .slick-next {
    right: 0;
    left: auto;
}

.product-image-main .slick-arrow::before {
    color: #584670;
    font-size: 14px;
}

.product-image-main .slick-arrow:hover,
.product-image-main .slick-arrow:focus {
    border-color: #bcb7c3;
    background: #f5f4f7;
    color: #584670;
    opacity: 1;
    box-shadow: 0 3px 10px rgba(0, 0, 0, .10);
}

.product-image-main .slick-arrow:hover::before,
.product-image-main .slick-arrow:focus::before {
    color: #584670;
}

.product-image-main .slick-arrow.slick-disabled {
    opacity: .3;
}

/* When the customer hovers over the hero image area, reveal the arrows in DCW green */
@media (hover: hover) and (pointer: fine) {
    .product-image-main:hover .slick-arrow {
        border-color: #2FA033;
        background: #2FA033;
        color: #fff;
        opacity: 1;
    }

    .product-image-main:hover .slick-arrow::before {
        color: #fff;
    }

    .product-image-main:hover .slick-arrow:hover,
    .product-image-main:hover .slick-arrow:focus {
        border-color: #27882B;
        background: #27882B;
        color: #fff;
    }

    .product-image-main:hover .slick-arrow:hover::before,
    .product-image-main:hover .slick-arrow:focus::before {
        color: #fff;
    }
}


/* Video slides still keep their existing stacking behaviour */
.product-image-main.video-active .slick-arrow {
    z-index: 12;
}

@media only screen and (max-width: 575.99px) {
    .product-image-main .slick-arrow {
        width: 32px;
        height: 32px;
    }

    .product-image-main .slick-prev {
        left: 0;
    }

    .product-image-main .slick-next {
        right: 0;
    }

    .product-image-main .slick-arrow::before {
        font-size: 12px;
    }
}

/* =========================================================
   DCW PRODUCT PAGE - WAS PRICE REFINEMENT
   Keep NOW price prominent; make WAS lighter and subtly crossed out.
========================================================= */

.wrapper-pricing .productwasprice {
    font-size: 0.98em !important;
    font-weight: 400 !important;
    text-decoration-line: line-through;
    text-decoration-thickness: 1px;
    text-decoration-color: currentColor;
    text-decoration-skip-ink: none;
}

.wrapper-pricing .productwasprice * {
    font-weight: 400 !important;
}

/* =========================================================
   DCW PRODUCT TILES - STUDIO19 RENTAL TEXT CENTERING
   Applies to category/browse, accessories and Education tiles.
   Studio19 itself is not moved or modified.
========================================================= */

/*
 * Studio19 can inject the rental line OUTSIDE .price, so the
 * older .price-only centering rule does not always catch it.
 */
.products-row .card.thumbnail [class*="studio19" i],
.products-row .card.thumbnail [id*="studio19" i],
.products-row .card.thumbnail [class*="rental" i],
.products-row .card.thumbnail [id*="rental" i],
.products-row .card.thumbnail [class*="rent-" i],
.products-row .card.thumbnail [class*="rent_" i] {
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    justify-content: center !important;
    align-items: center !important;
}

/*
 * Structural fallback for the Studio19 line when it is injected
 * immediately after the tile price without a useful class name.
 */
.products-row .card.thumbnail > .price + div:not(.buying-options):not(.testfreaks-item),
.products-row .card.thumbnail > .price + span,
.products-row .card.thumbnail > .price + p {
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    justify-content: center !important;
    align-items: center !important;
}

.products-row .card.thumbnail > .price + div:not(.buying-options):not(.testfreaks-item) *,
.products-row .card.thumbnail > .price + span *,
.products-row .card.thumbnail > .price + p * {
    text-align: center !important;
}

/* Education tab gets the same tile alignment explicitly. */
#n_product #education .products-row .card.thumbnail,
#n_product #education .products-row .card.thumbnail .price,
#n_product #education .products-row .card.thumbnail [class*="rent" i],
#n_product #education .products-row .card.thumbnail [id*="rent" i] {
    text-align: center !important;
}

#n_product #education .products-row .card.thumbnail [class*="rent" i],
#n_product #education .products-row .card.thumbnail [id*="rent" i] {
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    justify-content: center !important;
    align-items: center !important;
}

/* =========================================================
   DCW PRODUCT TILES - SINGLE LINE ACTION BUTTONS
   Prevents PLACE ORDER and other tile CTA labels from wrapping.
   Scoped to product tiles only.
========================================================= */

.products-row .card.thumbnail .btn {
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

/* =========================================================
   DCW CATEGORY TILES - CONSISTENT IMAGE AREA
   Scoped only to category.template.html via .dcw-category-card.
   Keeps badge position and product-name start visually consistent.
========================================================= */

.dcw-category-card .dcw-tile-image-wrap {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 190px !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
}

.dcw-category-card .dcw-tile-image-wrap .thumbnail-image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.dcw-category-card .dcw-tile-image-wrap .product-image {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 178px !important;
    margin: auto !important;
    object-fit: contain !important;
}

/* Badge position is now tied to the fixed image frame. */
.dcw-category-card .dcw-tile-image-wrap .dcw-tile-offer-badges {
    top: 8px !important;
    left: 8px !important;
}

/* Keep the product title immediately below the standard image frame. */
.dcw-category-card .card-title {
    margin-top: 8px !important;
}

@media only screen and (max-width: 575.99px) {
    .dcw-category-card .dcw-tile-image-wrap {
        height: 155px !important;
    }

    .dcw-category-card .dcw-tile-image-wrap .product-image {
        max-height: 145px !important;
    }

    .dcw-category-card .dcw-tile-image-wrap .dcw-tile-offer-badges {
        top: 6px !important;
        left: 6px !important;
    }
}
