.product-cards__headline {
    margin-bottom: 30px;
}

.product-cards__headline--no-content {
    margin-bottom: 0;
}

.product-cards__headline--no-heading {
    margin-bottom: 0;
}

/* Hide title wrapper on mobile when it only contains hidden-md-down content and no heading */
.product-cards__headline--no-heading .product-cards__title:not(:has(.sub-heading, h2)) {
    display: none;
}

.product-cards__title {
    text-align: center;
}

.product-cards__title :last-child {
    margin-bottom: 0;
}

/* Center align title when there are no CTA buttons */
.product-cards__headline--no-cta .product-cards__title {
    text-align: center;
}

.product-cards__wrapper {
    padding: 0 22px;
}

.product-cards__bttn {
    margin-top: 35px;
}

.product-card-item {
    margin-bottom: 20px;
}

.product-card {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    background: var(--light-gray);
    height: 116px;
    padding: 0 20px;
    position: relative;
    text-decoration: none;
    font-weight: normal;
    /* Mac cursor and interaction improvements */
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    /* Remove blue highlight on Mac Safari */
}

.product-card__image {
    width: 95px;
}

.product-card__details {
    width: calc(100% - 95px);
    position: relative;
    padding: 0 0 0 20px;
}

.product-card__title {
    padding: 0 46px 0 0;
    margin: 0;
    position: relative;
    color: var(--dark-blue);
    font-size: 24px;
    font-weight: 600;
    line-height: 1.04167em;
    text-transform: capitalize;
}

.product-card__title::after {
    content: '\e920';
    font-family: 'icomoon';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translate(0, -50%);
    font-weight: normal;
    font-size: 26px;
    line-height: 1em;
    display: block;
}

@media (min-width: 768px) {
    .product-cards__headline {
        margin-bottom: 50px;
    }

    .product-cards__headline--no-content {
        margin-bottom: 0;
    }

    .product-cards__headline--no-heading {
        margin-bottom: 0;
    }

    /* Show title wrapper on tablet+ when content becomes visible */
    .product-cards__headline--no-heading .product-cards__title:not(:has(.sub-heading, h2)) {
        display: block;
    }

    .product-cards__wrapper {
        padding: 0;
    }

    .product-cards__bttn {
        margin-top: 50px;
    }

    /*
    .product-card-slider {
        margin: 0 -25px;
    }
    */

    /* Prevent vertical stacking before Slick loads */
    .js-image-button-slider:not(.slick-initialized) {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
        /* Smooth scrolling on Mac */
        scrollbar-width: none;
        /* Hide scrollbar on Firefox */
        -ms-overflow-style: none;
        /* Hide scrollbar on IE/Edge */
        gap: 20px;
    }

    .js-image-button-slider:not(.slick-initialized)::-webkit-scrollbar {
        display: none;
        /* Hide scrollbar on Webkit browsers */
    }

    .js-image-button-slider:not(.slick-initialized) .product-card-item {
        flex: 0 0 auto;
        width: 50%;
        /* Match tablet responsive behavior */
        margin-right: 0px;
    }

    .js-image-button-slider:not(.slick-initialized) .product-card-item:last-child {
        margin-right: 0;
    }

    .product-card-item {
        margin-bottom: 0;
        width: 50%;
        /*
        padding: 0 20px;
        */
    }

    .product-card {
        flex-direction: column;
        justify-content: space-between;
        height: 300px;
        padding: 40px 20px 25px;
    }

    .product-card__image {
        width: auto;
        margin: 0 auto;
        height: 120px;
    }

    .product-card__details {
        width: 100%;
        position: relative;
        padding: 0 0 0;
    }

    .product-card__title {
        padding: 0 55px 0 0;
        font-size: 30px;
        line-height: 1.13em;
    }

    .product-card__title::after {
        top: auto;
        bottom: 0;
        transform: translate(0, 0);
        font-size: 30px;
    }

    /* Ensure slider arrows are visible on tablet devices to match desktop */
    .product-card-slider .slick-prev,
    .product-card-slider .slick-next {
        display: block !important;
    }

    .product-card-slider .slick-next {
        margin: 0;
        right: 88px;
    }

    .product-card-slider .slick-prev {
        margin: 0;
        left: auto;
        right: 141px;
    }

    .product-cards--inner .product-card {
        width: 100%;
    }
}

@media (min-width: 1200px) {

    /* Ensure slider arrows are visible on desktop devices */
    .product-card-slider .slick-prev,
    .product-card-slider .slick-next {
        display: block !important;
        /* Mac Safari arrow button improvements */
        cursor: pointer;
        -webkit-appearance: none;
        appearance: none;
        -webkit-tap-highlight-color: transparent;
        user-select: none;
        -webkit-user-select: none;
    }

    .product-card-item {
        margin-bottom: 0;
        width: 50%;
        padding: 0 17px;
    }

    .product-card {
        flex-direction: column;
        justify-content: space-between;
        height: 300px;
        padding: 40px 30px 25px;
    }

    .product-card__image {
        width: auto;
        margin: 0 auto;
        height: 120px;
    }

    .product-card__details {
        width: 100%;
        position: relative;
        padding: 0 0 0;
    }

    .product-card__title {
        padding: 0 55px 0 0;
        font-size: 30px;
        line-height: 1.13em;
    }

    .product-card__title::after {
        top: auto;
        bottom: 0;
        transform: translate(0, 0);
        font-size: 30px;
    }

    /* Inner page slider styles - now available from 1200px */
    .product-cards--inner .product-cards__wrapper {
        padding: 0 52px 0 0;
        position: relative;
    }

    .product-cards--inner .product-cards__wrapper::before {
        content: "";
        position: absolute;
        right: -52px;
        top: 0;
        width: 250px;
        height: 100%;
        background: linear-gradient(89deg, rgba(255, 255, 255, 0.00) 6.83%, #FFF 60%);
        z-index: 2;
    }

    .product-cards--inner .product-card-slider {
        margin-left: -150px;
    }

    .product-cards--inner .product-card {
        width: 258px;
        height: 300px;
        padding: 40px 25px 25px 30px;
        justify-content: flex-start;
        display: block;
    }

    .product-cards--inner .product-card__image img {
        object-fit: contain;
    }

    .product-cards--inner .product-card__details {
        position: absolute;
        padding: 0 25px 25px 30px;
        left: 0;
        bottom: 0;
    }

    .product-cards--inner .product-cards__headline {
        display: flex;
        align-items: flex-end;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .product-cards--inner .product-cards__title {
        text-align: left;
    }

    .product-cards--inner .product-cards__title .sub-heading {
        margin-bottom: 10px;
    }

    .product-cards--inner .product-cards__title h2 {
        margin-bottom: -25px;
    }

    /* Center align when no CTA buttons on slider desktop small */
    .product-cards--inner .product-cards__headline--no-cta {
        justify-content: center;
    }

    .product-cards--inner .product-cards__headline--no-cta .product-cards__title {
        text-align: center;
    }
}

@media (min-width: 1200px) {
    .product-cards__headline {
        margin-bottom: 65px;
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .product-cards__headline--no-content {
        margin-bottom: 0;
    }

    .product-cards__headline--no-heading {
        margin-bottom: 0;
    }

    .product-cards__title {
        text-align: left;
        max-width: 879px;
    }

    /* Center align when no CTA buttons on slider desktop */
    .product-cards__headline--no-cta {
        justify-content: center;
    }

    .product-cards__headline--no-cta .product-cards__title {
        text-align: center;
    }

    .product-cards__wrapper {
        padding: 0 0 0 15px;
    }

    .product-card-slider {
        margin: 0 -25px;
        padding-bottom: 77px;
    }

    .product-card-item {
        padding: 0 25px;
    }

    .product-card {
        width: 350px;
        height: 465px;
        padding: 100px 35px 35px 25px;
        justify-content: flex-start;
        display: block;
        transition: width 0.3s ease-out, background-color 0.3s ease-out, padding 0.3s ease-out;
        /* Mac Safari compatibility */
        -webkit-transition: width 0.3s ease-out, background-color 0.3s ease-out, padding 0.3s ease-out;
        -webkit-backface-visibility: hidden;
        /* Prevent flicker on Mac */
        backface-visibility: hidden;
        -webkit-transform: translateZ(0);
        /* Force hardware acceleration on Mac */
        transform: translateZ(0);
    }

    .product-card__image {
        height: 188px;
        width: 254px;
        transition: height 0.3s ease-out, width 0.3s ease-out;
        /* Mac Safari compatibility */
        -webkit-transition: height 0.3s ease-out, width 0.3s ease-out;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }

    .product-card__details {
        padding: 59px 0 0 0;
    }

    .product-card__title {
        padding: 0 60px 0 0;
    }

    .product-card:hover {
        width: 450px;
        background: var(--primary);
        padding: 25px 22px 35px;
        /* Mac Safari hover improvements */
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        will-change: width, background-color, padding;
        /* Optimize for Mac animations */
    }

    .product-card:hover .product-card__image {
        height: 236px;
    }

    .product-card:hover .product-card__title {
        padding: 0 0 0;
        color: var(--white);
    }

    .product-card:hover .product-card__title::after {
        display: none;
    }

    .product-card__hover {
        max-height: 0;
        margin-top: 10px;
        transition: max-height 0.6s ease-out;
        overflow: hidden;
    }

    /* .product-card:hover .product-card__details {
        padding: 14px 0 0 0;
    } */

    .product-card:hover .product-card__hover {
        max-height: 300px;
    }

    .product-card__details,
    .product-card__details .btn-tertiary {
        color: var(--white);
    }

    .product-card-slider .slick-next {
        margin: 0;
        right: 88px;
    }

    .product-card-slider .slick-prev {
        margin: 0;
        left: auto;
        right: 141px;
    }

    /* Override inner page slider styles for desktop (1200px-1599px) */
    .product-cards--inner .product-cards__wrapper {
        padding: 0 0 0 0;
        position: relative;
    }

    .product-cards--inner .product-cards__wrapper::before {
        display: none;
    }

    .product-cards--inner .product-card-slider {
        margin-left: 0px;
    }

    .product-cards--inner .product-card {
        width: 350px;
        height: 465px;
        padding: 100px 22px 30px;
        justify-content: flex-start;
        display: flex;
        transition: width 0.8s ease-out, background-color 0.8s ease-out, padding 0.8s ease-out;
    }

    .product-cards--inner .product-card:hover {
        width: 450px;
        padding: 40px 22px 50px;
        display: block;
    }

    .product-cards--inner .product-card__image {
        width: 254px;
        height: 254px;
    }

    /* .product-cards--inner .product-card__details {
        padding: 59px 0 0 0;
        position: relative;
    } */

    .product-cards--inner .product-card__description p {
        margin-bottom: 20px;
    }

    .product-cards--inner .product-cards__title {
        max-width: 804px;
    }

}


@media (min-width: 1920px) {
    .product-cards__headline {
        margin-bottom: 70px;
    }

    .product-cards__headline--no-content {
        margin-bottom: 0;
    }

    .product-cards__headline--no-heading {
        margin-bottom: 0;
    }

    .product-cards__wrapper {
        padding: 0 0 0 0;
    }

    .product-card-slider {
        margin: 0 -30px;
        padding-bottom: 88px;
    }

    /* ========================================
       IMPORTANT: SLICK SLIDER IS DISABLED AT 1920PX AND ABOVE
       Cards display as flex layout in 1 row - NO SLIDER
       ======================================== */
    .product-cards .js-image-button-slider {
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-between;
    }

    .product-cards .js-image-button-slider .product-card-item {
        flex: 0 0 auto;
        width: auto;
        padding: 0 10px;
        margin: 0;
    }

    /* Remove the 4-item limit at 1920px+ to show all items in flex row */
    .product-cards .js-image-button-slider .product-card-item:nth-child(n+5) {
        display: block !important;
    }

    /* Pre-load flex layout (Slick will NOT initialize at 1920px+) */
    .js-image-button-slider:not(.slick-initialized) {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
        gap: 50px;
    }

    .js-image-button-slider:not(.slick-initialized)::-webkit-scrollbar {
        display: none;
    }

    .js-image-button-slider:not(.slick-initialized) .product-card-item {
        flex: 0 0 auto;
        /* Match 1920px card width */
        margin: 0;
    }

    .product-card-item {
        padding: 0 10px;
    }

    .product-card {
        width: auto;
        height: 647px;
        padding: 144px 28px 35px 28px;
        transition: width 0.3s ease-out, background-color 0.3s ease-out, padding 0.3s ease-out, flex-grow 0.3s ease-out, flex-shrink 0.3s ease-out;
    }

    /* Hover effect: reduce width of non-hovered cards by 5% */
    .product-cards .js-image-button-slider:has(.product-card-item:hover) .product-card-item:not(:hover) .product-card {
        width: 95%;
        flex-shrink: 1;
    }

    /* Hover effect: increase width of hovered card */
    .product-cards .js-image-button-slider .product-card-item:hover .product-card {
        flex-grow: 1;
    }

    .product-card__image {
        height: 277px;
        width: 331px;
        transition: height 0.3s ease-out, width 0.3s ease-out;
    }

    .product-card__details {
        padding: 92px 0 0 0;
    }

    .product-card__title {
        padding: 0 82px 0 0;
        font-size: 35px;
    }

    .product-card__title::after {
        display: block;
        font-size: 40px;
    }

    .product-card:hover {
        width: auto;
        padding: 40px 30px 50px;
    }

    .product-card:hover .product-card__image {
        height: 402px;
        width: 410px;
    }

    .product-card:hover .product-card__title {
        padding: 0 0 0;
    }

    .product-card__hover {
        padding-right: 60px;
        position: relative;
    }

    .product-card__hover::after {
        content: '\e920';
        font-family: 'icomoon';
        position: absolute;
        right: 0;
        bottom: 0;
        font-weight: normal;
        font-size: 39px;
        line-height: 1em;
    }

    .product-card__details .btn-tertiary {
        display: none;
    }

    .product-card-slider .slick-next {
        right: 98px;
    }

    .product-card-slider .slick-prev {
        right: 169px;
    }

    .product-cards--inner .product-cards__title {
        max-width: 1183px;
    }

    .product-cards--inner .product-cards__btn {
        text-align: right;
    }

    /* Center align when no CTA buttons on slider large desktop */
    .product-cards__headline--no-cta .product-cards__title {
        text-align: center;
    }




    .product-cards--inner .product-cards__wrapper {
        padding: 0 80px 0 64px;
    }

    .product-cards--inner .product-card-slider {
        margin: 0 0 0 -16px;
    }

    /* Inner page slider pre-load styles */
    .product-cards--inner .js-image-button-slider:not(.slick-initialized) {
        gap: 32px;
    }
    
    .product-cards--inner .js-image-button-slider:not(.slick-initialized) .product-card-item {
        padding: 0;
        margin: 0;
    }

    .product-cards--inner .product-card-item {
        padding: 0 16px;
    }

    .product-cards--inner .product-card {
        width: auto;
        height: 647px;
        padding: 145px 50px 45px;
        transition: width 0.3s ease-out, background-color 0.3s ease-out, padding 0.3s ease-out;
    }

    .product-card-slider:has(.product-card-item:hover) .product-card {
        width: auto;
        padding: 145px 25px 45px;
    }

    .product-cards--inner .product-card__image {
        width: 294px;
        height: 294px;
        transition: height 0.3s ease-out, width 0.3s ease-out;
    }

    .product-card:hover .product-card__image {
        height: auto;
        width: 294px;
    }

    .product-cards--inner .product-card__details,
    .product-card:hover .product-card__details {
        padding: 0 30px 50px 25px;
        position: absolute;
    }

    .product-cards--inner .product-card__description p {
        margin-bottom: 0;
    }

    .product-card-slider .product-card-item:hover .product-card {
        width: auto;
        padding: 40px 30px 50px;
        background: var(--primary);
    }

    .product-card-slider .product-card-item:hover .product-card__image {
        height: 364px;
        width: 364px;
    }

    .product-card-slider .product-card-item:hover .product-card__image img {
        object-fit: contain;
    }

    .product-cards--inner .product-card__hover p {
        min-width: 309px;
        margin-bottom: 0;
    }

    .product-card-slider .product-card-item:hover .product-card__title {
        color: #fff;
        padding: 0 82px 0 0;
    }

    .product-cards--inner .product-card-slider .slick-next {
        right: 0;
    }

    .product-cards--inner .product-card-slider .slick-prev {
        right: 72px;
    }
}

.image-buttons__headlines {
    margin-bottom: 50px;
}

.image-buttons__headlines--no-content {
    margin-bottom: 0;
}

.image-buttons__headlines--no-heading {
    margin-bottom: 0;
}

/* Hide title wrapper on mobile when it only contains hidden content and no heading */
.image-buttons__headlines--no-heading .image-buttons__title:not(:has(.sub-heading, h2)) {
    display: none;
}

.image-button-flex {
    row-gap: 20px;
    justify-content: center;
}

.image-button {
    display: block;
    position: relative;
    background-color: var(--dark-blue);
    text-decoration: none;
    height: 175px;
    font-weight: normal;
    /* Mac cursor and interaction improvements */
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    /* Remove blue highlight on Mac Safari */
    -webkit-touch-callout: none;
    /* Disable Mac Safari callout menu */
}

.image-button__image {
    opacity: 0.7;
    transition: opacity 0.4s ease-in-out;
    /* Mac Safari compatibility */
    -webkit-transition: opacity 0.4s ease-in-out;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.image-button__details {
    position: absolute;
    width: 100%;
    bottom: 0;
    left: 0;
    z-index: 2;
    padding: 25px 20px;
}

.image-button__title {
    margin: 0;
    padding: 0;
    color: var(--white);
    font-size: 30px;
    font-weight: 600;
    line-height: 1em;
    text-transform: capitalize;
}

.image-buttons___bttn {
    margin-top: 35px;
}

.image-buttons--grid .image-buttons__title h2 {
    margin-bottom: 0;
}

/* Add margin to h2 when followed by content - target via parent container */
.image-buttons--grid .image-buttons__title:has(h2 + .image-buttons___content) h2 {
    margin-bottom: 30px;
}


.image-buttons--grid .image-buttons__headlines {
    text-align: left;
    margin-bottom: 35px;
}

.image-buttons--grid .sub-heading {
    margin-bottom: 10px;
}

/* Center align title when there are no CTA buttons */
.image-buttons--grid .image-buttons__headlines--no-cta {
    text-align: center;
}

.image-buttons--grid .image-buttons__headlines--no-cta .image-buttons__title {
    text-align: center;
}

@media (min-width: 768px) {
    .image-button {
        height: 250px;
    }

    .image-button__details {
        padding: 35px 20px;
    }

    .image-button__title {
        font-size: 35px;
    }


    .image-buttons___bttn {
        margin-top: 35px;
        margin-bottom: 10px;
    }

    .image-buttons--grid .image-buttons__headlines {
        text-align: left;
        margin-bottom: 35px;
        display: flex;
        align-items: flex-end;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    /* Center align when no CTA buttons on tablet */
    .image-buttons--grid .image-buttons__headlines--no-cta {
        text-align: center;
        justify-content: center;
    }

    .image-buttons--grid .image-buttons__headlines--no-cta .image-buttons__title {
        text-align: center;
    }
}

/* Tablet-specific styling - match mobile behavior (buttons at end) */
@media (min-width: 768px) and (max-width: 1199px) {

    /* Remove centering for grid layout headlines - let buttons appear at end like mobile */
    .image-buttons--grid .image-buttons__headlines {
        text-align: left;
    }

    /* Remove centering for slider layout headlines - let buttons appear at end like mobile */
    .product-cards__headline {
        text-align: left;
    }

    /* Style buttons when they appear at the end (like mobile) */
    .image-buttons___bttn .btn,
    .product-cards__btn .btn {
        margin-right: 0;
    }
}

@media (min-width: 1200px) {

    .product-cards__btn .btn {
        margin-right: 0;
    }

    .image-buttons__headlines {
        margin-bottom: 65px;
    }

    .image-buttons__headlines--no-content {
        margin-bottom: 0;
    }

    .image-buttons__headlines--no-heading {
        margin-bottom: 0;
    }

    /* Show title wrapper on desktop when content becomes visible */
    .image-buttons__headlines--no-heading .image-buttons__title:not(:has(.sub-heading, h2)) {
        display: block;
    }

    .image-buttons--grid .image-buttons__headlines {
        margin-bottom: 50px;
    }

    .image-buttons--grid .image-buttons__title {
        max-width: 808px;
    }

    /* Center align when no CTA buttons on desktop */
    .image-buttons--grid .image-buttons__headlines--no-cta {
        justify-content: center;
    }

    .image-buttons--grid .image-buttons__headlines--no-cta .image-buttons__title {
        text-align: center;
    }

    .image-button-flex {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 25px;
    }

    .image-button-flex > .col-lg-4 {
        width: auto;
        padding: 0;
    }

    .image-button {
        height: 500px;
        position: relative;
        overflow: hidden;
    }

    .image-button:hover .image-button__image {
        opacity: 0;
    }

    .image-button::after {
        content: '';
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        background: var(--primary);
        z-index: 1;
        opacity: 0;
        transition: opacity 0.4s ease-in-out;
        /* Mac Safari compatibility */
        -webkit-transition: opacity 0.4s ease-in-out;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }

    .image-button:hover::after {
        opacity: 1;
    }

    .image-button__title {
        font-size: 45px;
    }

    .image-button__hover {
        height: 0;
        overflow: hidden;
    }

    .image-button:hover .image-button__hover {
        height: auto;
        margin-top: 12px;
    }

    .image-button__sub-title {
        color: var(--white);
        font-size: 24px;
        font-weight: 600;
        line-height: normal;
        text-transform: capitalize;
        margin-bottom: 12px;
    }

    .image-button__description {
        color: var(--white);
        font-weight: 400;
    }

    .image-button .btn-tertiary {
        color: var(--white);
        margin-top: 30px;
    }

    .image-button__hover-image {
        position: absolute;
        top: 10px;
        left: 0;
        width: 100%;
        z-index: 2;
    }

    .image-button__hover-image img {
        width: 224px;
        display: block;
        margin: 0 auto;
        height: 100%;
    }

    .image-button__hover-image {
        opacity: 0;
        visibility: hidden;
        transform: translateY(15px);
        transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out, visibility 0s linear 0.4s;
        /* Mac Safari compatibility */
        -webkit-transform: translateY(15px);
        transform: translateY(15px);
        -webkit-transition: opacity 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out, visibility 0s linear 0.4s;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }

    .image-button:hover .image-button__hover-image {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out, visibility 0s linear 0s;
        /* Mac Safari compatibility */
        -webkit-transform: translateY(0);
        transform: translateY(0);
        -webkit-transition: opacity 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out, visibility 0s linear 0s;
        will-change: opacity, transform;
        /* Optimize for Mac animations */
    }

    .image-buttons--grid .image-button::after {
        content: '';
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        /*
        background: rgba(4, 21, 37, 0.8);
        */
        z-index: 1;
        opacity: 0;
        transition: opacity 0.1s ease-in-out;
    }

    .image-buttons--grid .image-button:hover::after {
        opacity: 1;
    }

    .image-buttons--grid .image-button:hover .image-button__image {
        opacity: 1;
    }

    .image-buttons--grid.image-buttons--hide-links .image-button__description p {
        padding-right: 37px;
    }

    /*
    .image-buttons--grid .image-button__description::after {
        display: none;
    }
*/

    .image-buttons--grid .image-button:hover .image-button .btn-tertiary {
        display: block;
    }

    .image-button-flex {
        row-gap: 25px;
    }

    .image-buttons__title p {
        font-size: 17px;
    }

}

@media (min-width: 1366px) {

    .image-button__hover-image {
        top: 30px;
    }
}

@media (max-width: 1919px) {
    .product-cards__btn .btn {
        margin-right: 0;
    }
}

@media (min-width: 1920px) {
    .image-buttons__headlines {
        margin-bottom: 75px;
    }

    .image-buttons__headlines--no-content {
        margin-bottom: 0;
    }

    .image-buttons__headlines--no-heading {
        margin-bottom: 0;
    }

    .image-buttons--grid .image-buttons__headlines {
        margin-bottom: 75px;
    }

    .image-buttons--grid .image-buttons__title {
        max-width: 1138px;
    }

    /* Center align when no CTA buttons on large desktop */
    .image-buttons--grid .image-buttons__headlines--no-cta .image-buttons__title {
        text-align: center;
    }

    .image-button-flex {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 32px;
    }

    .image-button-flex > .col-lg-4 {
        width: auto;
        padding: 0;
    }

    .image-buttons__title {
        max-width: 1183px;
    }

    .image-button {
        height: 647px;
        position: relative;
        overflow: hidden;
    }

    .image-button__details {
        padding: 50px 30px;
    }

    .image-button__title {
        font-size: 47px;
    }

    .image-button__hover {
        height: 0;
        overflow: hidden;
    }

    .image-button:hover .image-button__hover {
        height: auto;
        margin-top: 19px;
    }

    .image-button__sub-title {
        font-size: 30px;
    }

    .image-button__description {
        margin-bottom: 0;
        position: relative;
    }

    .image-button .btn-tertiary {
        display: none;
    }

    .image-button__hover-image {
        top: 50px;
    }

    .image-button__hover-image img {
        width: 296px;
    }

    .image-buttons--hide-links .image-button__description::after {
        content: '\e920';
        font-family: 'icomoon';
        position: absolute;
        right: 0;
        top: 50%;
        transform: translate(0, -50%);
        font-size: 38px;
        line-height: 1em;
        font-weight: normal;
    }

    .image-buttons--grid .image-button:hover .btn-tertiary {
        display: block;
        margin-top: 30px;
    }

}

.image-buttons--grid .image-button-flex a:hover {
    color: #FFF;
}

@keyframes subtleFadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@-webkit-keyframes subtleFadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes subtleFadeInDelayed {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@-webkit-keyframes subtleFadeInDelayed {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

/* Mac Safari and Retina Display Optimizations */
@media (-webkit-min-device-pixel-ratio: 2),
(min-resolution: 192dpi) {

    .product-card,
    .image-button {
        /* Improve rendering on Mac retina displays */
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }

    .product-card__image img,
    .image-button__image img {
        /* Improve image quality on retina displays */
        image-rendering: -webkit-optimize-contrast;
        image-rendering: crisp-edges;
    }
}

/* Mac Safari Variable Width Slider Fixes */
.product-card-slider .slick-track {
    /* Fix variable width alignment issues on Mac Safari */
    display: flex !important;
    align-items: stretch;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}

.product-card-slider .slick-slide {
    /* Ensure consistent height and prevent layout shifts on Mac */
    height: auto;
    display: flex;
    align-items: stretch;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

/* Loading State Management */
.js-image-button-slider {
    /* Add smooth transition when Slick initializes */
    transition: opacity 0.3s ease-in-out;
    -webkit-transition: opacity 0.3s ease-in-out;
}

.js-image-button-slider.slick-loading {
    opacity: 0.7;
}

.js-image-button-slider.slick-initialized {
    opacity: 1;
}

/* Smooth transition for slider items during initialization */
.js-image-button-slider .product-card-item {
    transition: transform 0.2s ease-out, opacity 0.2s ease-out;
    -webkit-transition: -webkit-transform 0.2s ease-out, opacity 0.2s ease-out;
}

/* Hide navigation arrows until Slick is fully loaded */
.js-image-button-slider:not(.slick-initialized)~.slick-prev,
.js-image-button-slider:not(.slick-initialized)~.slick-next {
    display: none !important;
}

/* Fallback for when JavaScript is disabled */
.no-js .js-image-button-slider {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    overflow-x: auto;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
}

.no-js .js-image-button-slider .product-card-item {
    flex: 0 0 auto;
    min-width: 300px;
}

@media (max-width: 767px) {
    .no-js .js-image-button-slider {
        flex-direction: column;
        overflow-x: visible;
    }

    .no-js .js-image-button-slider .product-card-item {
        width: 100%;
        min-width: auto;
    }
}


/* Product Card Slider - Mobile and Tablet Layouts */
/* Mobile: Show 4 items in 1 column, no slider */
@media (max-width: 767px) {
    .product-cards .js-image-button-slider {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* Override pre-load horizontal styles on mobile */
    .product-cards .js-image-button-slider:not(.slick-initialized) {
        display: flex;
        flex-direction: column;
        overflow-x: visible;
        gap: 20px;
    }

    .product-cards .js-image-button-slider .product-card-item {
        width: 100%;
        margin-bottom: 0;
    }

    /* Pre-load mobile styles */
    .product-cards .js-image-button-slider:not(.slick-initialized) .product-card-item {
        width: 100%;
        margin-right: 0;
        flex: 1 1 auto;
    }

    /* Limit to 4 items on mobile */
    .product-cards .js-image-button-slider .product-card-item:nth-child(n+5) {
        display: none !important;
    }
}

/* Tablet: Show 4 items in 2 columns, no slider */
@media (min-width: 768px) and (max-width: 1199px) {
    .product-cards .js-image-button-slider {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
    }

    .product-cards .js-image-button-slider .product-card-item {
        width: calc(50% - 10px);
        margin-bottom: 0;
    }

    /* Limit to 4 items on tablet */
    .product-cards .js-image-button-slider .product-card-item:nth-child(n+5) {
        display: none !important;
    }
}

/* Desktop Small: Show 4 items in 2 columns, no slider (1200px-1919px) */
@media (min-width: 1200px) and (max-width: 1919px) {
    .product-cards .js-image-button-slider {
        display: flex;
        flex-wrap: wrap;
        gap: 40px;
        margin: 0;
        padding-bottom: 0;
    }

    .product-cards .js-image-button-slider .product-card-item {
        width: calc(50% - 20px);
        margin-bottom: 0;
        margin-right: 0;
        padding: 0;
    }

    /* Cards should use the hover width (450px) in this range */
    .product-cards .js-image-button-slider .product-card {
        width: 100%;
    }

    /* Hide the button on hover in this range */
    .product-cards .js-image-button-slider .product-card:hover .product-card__hover .btn-tertiary {
        display: none !important;
    }

    /* On hover: Hide arrow from title if description exists */
    .product-cards .js-image-button-slider .product-card:has(.product-card__description):hover .product-card__title::after {
        display: none !important;
    }

    /* On hover: Keep arrow on title if no description exists */
    .product-cards .js-image-button-slider .product-card:not(:has(.product-card__description)):hover .product-card__title::after {
        display: block !important;
    }

    /* On hover: Add arrow to description if it exists */
    .product-cards .js-image-button-slider .product-card:hover .product-card__description {
        position: relative;
        padding-right: 50px;
    }

    .product-cards .js-image-button-slider .product-card:hover .product-card__description::after {
        content: '\e920';
        font-family: 'icomoon';
        position: absolute;
        right: 0;
        top: 50%;
        transform: translate(0, -50%);
        font-size: 30px;
        line-height: 1em;
        font-weight: normal;
        color: var(--white);
    }

    /* Limit to 4 items on desktop small */
    .product-cards .js-image-button-slider .product-card-item:nth-child(n+5) {
        display: none !important;
    }
}

@media (min-width: 1200px) {
    .home .product-cards.section-padding {
        padding-top: 0;
    }
}

@media (min-width: 2000px) {
    .product-cards--inner .product-card {
        width: auto;
        height: 700px;
        padding: 160px 50px 50px;
        transition: width 0.8s ease-in-out, background-color 0.8s ease-out, padding 0.8s ease-out;
    }

    .product-cards--inner .product-card__image {
        width: 320px;
        height: 320px;
        transition: height 0.3s ease-out, width 0.3s ease-out;
    }

    .product-card-slider:has(.product-card-item:hover) .product-card {
        width: auto;
        padding: 160px 30px 50px;
    }

    .product-card-slider .product-card-item:hover .product-card {
        width: auto;
        padding: 45px 35px 55px;
    }

    .product-card-slider .product-card-item:hover .product-card__image {
        height: 400px;
        width: 400px;
    }
}