/* Cookie notice: keep out of document flow (CLS fix) */
.notification {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    pointer-events: none;
    margin: 0 !important;
    padding: 0;
    width: 100%;
    height: 0;
    overflow: visible;
}

.notification .alert {
    pointer-events: auto;
}

:not(.is-mobile-menu) .notification .alert {
    margin-left: 0 !important;
}

/* Hero / LCP area: homepage only — do NOT apply contain:paint on checkout */
.home .ci-background {
    min-height: clamp(220px, 42vw, 520px);
    background-size: contain !important;
    background-position: center top !important;
    contain: layout style paint;
}

.home .hero-message,
.home .sub-hero {
    min-height: 2.8em;
}

@media (max-width: 767px) {
    .home .ci-background {
        min-height: clamp(180px, 55vw, 320px);
    }
}

/* Checkout hero: never clip/paint-contain children (causes flash-then-white) */
.benjaruk-checkout .ci-background,
.benjaruk-checkout .vc_row.ci-background.vc_hidden {
    contain: none !important;
    background-size: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    display: flow-root !important;
}

@media (max-width: 767px) {
    .benjaruk-checkout .ci-background {
        min-height: 0 !important;
    }
}

/* Order-success placeholders: hide until JS fills content */
.benjaruk-checkout #shiptoAddress:empty,
.benjaruk-checkout #estimatedDelivery:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Ohio embeds AOS CSS in style.css; override even if data-aos attrs exist */
html:not(.no-js) body.benjaruk-checkout [data-aos],
html:not(.no-js) body.benjaruk-checkout [data-aos^="fade"],
html:not(.no-js) body.benjaruk-checkout [data-aos^="slide"] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
}

.benjaruk-checkout .content-box,
.benjaruk-checkout .vc_figure,
.benjaruk-checkout .vc_single_image-wrapper,
.benjaruk-checkout .vc_single_image-img {
    opacity: 1 !important;
    visibility: visible !important;
}

.benjaruk-checkout img[src*="happiness-begins"] {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 600px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    opacity: 1 !important;
}

.benjaruk-checkout .ci-background .content-box {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 600px;
}

@media (min-width: 768px) {
    /* Break out of page-container — full-bleed gradient hero */
    .benjaruk-checkout .vc_row.ci-background {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        left: 0 !important;
        right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .benjaruk-checkout .ci-background .vc_col-sm-8 {
        margin-left: auto !important;
        margin-right: auto !important;
        float: none !important;
    }

    .benjaruk-checkout .ci-background .vc_col-sm-8 > .vc_column-inner {
        padding-left: 15px;
        padding-right: 15px;
    }
}

/* Checkout product list: keep thumbnail height aligned with product details */
@media (max-width: 767px) {
    .benjaruk-checkout .product-image img,
    .benjaruk-checkout .upsell-image img,
    .products-container .product-image img {
        width: auto !important;
        height: 80px !important;
        max-width: 80px;
        object-fit: cover;
        border-radius: 9px;
    }

    .benjaruk-checkout .product.selected .product-image img,
    .products-container .product.selected .product-image img {
        transform: scale(1.3);
        margin-right: 11px;
    }
}
