html, body {
    overflow-x: hidden;
}

/* ===============================
   BODY SPACING (HEADER OFFSET)
================================= */

body {
    background: white !important;
    padding-top: 135px; /* desktop header height */
    padding-left: 10px;
    padding-right: 10px;
}

/* ✅ MOBILE HEADER FIX */
@media (max-width: 768px) {
    body {
        padding-top: 95px; /* mobile header height */
    }
}

/* ===============================
   MAIN WRAPPER FIX
================================= */

.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
    max-width: 1200px;
    margin: 80px auto 60px;
    padding: 0 25px;
    box-sizing: border-box;
}

/* ===============================
   FORCE WIDTH CONTROL
================================= */

.woocommerce *,
.woocommerce-cart *,
.woocommerce-checkout * {
    max-width: 100%;
    box-sizing: border-box;
}

/* ===============================
   CART TYPOGRAPHY
================================= */

body.woocommerce-cart .wc-block-cart-item__product {
    font-family: 'The Seasons', serif !important;
    font-size: clamp(18px, 2vw, 25px) !important;
    letter-spacing: 1px;
}

body.woocommerce-cart .wc-block-formatted-money-amount {
    font-size: clamp(18px, 2vw, 25px) !important;
    font-family: 'Beautifully Delicious', sans-serif !important;
}

body.woocommerce-cart .wc-block-cart-item__description {
    font-size: clamp(14px, 1.2vw, 18px) !important;
    font-family: 'Beautifully Delicious', sans-serif !important;
}

/* ===============================
   CHECKOUT INPUT FIX
================================= */

.woocommerce-checkout input,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
    width: 100%;
    max-width: 100%;
    border: none;
    border-bottom: 1px solid #ddd;
    padding: 10px 0;
}

.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
    outline: none;
    border-color: #321d0c;
}

/* ===============================
   MOBILE LAYOUT FIX
================================= */

@media (max-width: 992px) {

    .woocommerce-cart .woocommerce,
    .woocommerce-checkout .woocommerce {
        padding: 0 16px !important;
        margin: 50px auto 40px;
    }

    .woocommerce-checkout .woocommerce {
        display: block !important;
    }

    .woocommerce-checkout .col2-set,
    .woocommerce-checkout .col-1,
    .woocommerce-checkout .col-2,
    .woocommerce-checkout .woocommerce-checkout-review-order {
        width: 100% !important;
        float: none !important;
        max-width: 100% !important;
    }

    .wc-block-checkout,
    .wc-block-components-main,
    .wc-block-components-sidebar {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* ===============================
   FORCE BLOCK CHECKOUT TO FIT
================================= */

@media (max-width: 1024px) {

    .wc-block-checkout {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .wc-block-components-main,
    .wc-block-components-sidebar {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .wc-block-components-sidebar {
        margin-top: 40px !important;
    }
}

/* ===============================
   FIX: DO NOT RESET BODY PADDING
================================= */

@media (max-width: 992px) {

    body.woocommerce-cart,
    body.woocommerce-checkout {
        margin: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        /* ❌ DO NOT TOUCH padding-top */
    }

    body.woocommerce-cart .woocommerce,
    body.woocommerce-checkout .woocommerce,
    .wc-block-checkout,
    .wc-block-components-main,
    .wc-block-components-sidebar {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-top: 20px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* ===============================
   HOME FIX
================================= */

.home .site-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.home .ast-container {
    padding: 0 !important;
    margin: 0 auto !important;
    max-width: 100% !important;
}

/* ===============================
   SCROLL TOP BUTTON
================================= */

#ast-scroll-top {
    width: 30px !important;
    height: 30px !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

#ast-scroll-top svg {
    width: 20px !important;
    left: 4px;
}