/* -----------------------------------------------------------
   FULL WIDTH EDGE TO EDGE
----------------------------------------------------------- */

.ikhaya-checkout-wrapper,
.ikhaya-checkout-wrapper .woocommerce,
.ikhaya-checkout-wrapper form.checkout,
.ikhaya-checkout-wrapper .col-full,
.ikhaya-checkout-wrapper .container,
.ikhaya-checkout-wrapper .site-content {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* -----------------------------------------------------------
   RESET THEME WRAPPERS
----------------------------------------------------------- */

.ikhaya-checkout-wrapper .woocommerce,
.ikhaya-checkout-wrapper form.checkout {
    display: contents !important;
}

.ikhaya-checkout-wrapper .col2-set {
    display: contents !important;
}

.ikhaya-checkout-wrapper .col-1,
.ikhaya-checkout-wrapper .col-2 {
    display: block !important;
    width: 100% !important;
    float: none !important;
}

/* -----------------------------------------------------------
   3-COLUMN GRID
----------------------------------------------------------- */

.ikhaya-checkout-wrapper {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    grid-template-rows: auto auto !important;
    gap: 40px !important;
    align-items: start;
}

/* Billing → Column 1 */
.ikhaya-checkout-wrapper .col-1 {
    grid-column: 1 !important;
    grid-row: 1 !important;
}

/* Shipping + Order notes → Column 2 */
.ikhaya-checkout-wrapper .col-2 {
    grid-column: 2 !important;
    grid-row: 1 !important;
}

/* Products (Order summary) → Column 3 */
.ikhaya-checkout-wrapper #order_review,
.ikhaya-checkout-wrapper #order_review_heading {
    grid-column: 3 !important;
    grid-row: 1 !important;
}

/* Payment → Full width under all 3 columns */
.ikhaya-checkout-wrapper #payment,
.ikhaya-checkout-wrapper .woocommerce-checkout-payment {
    grid-column: 1 / span 3 !important;
    grid-row: 2 !important;
    background: #fff;
    padding: 25px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

/* -----------------------------------------------------------
   CARD STYLING
----------------------------------------------------------- */

.ikhaya-checkout-wrapper .col-1,
.ikhaya-checkout-wrapper .col-2,
.ikhaya-checkout-wrapper #order_review {
    background: #fff;
    padding: 25px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

/* -----------------------------------------------------------
   STICKY ORDER SUMMARY
----------------------------------------------------------- */

.ikhaya-checkout-wrapper #order_review {
    position: sticky;
    top: 30px;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.ikhaya-checkout-wrapper #order_review.is-sticky {
    box-shadow: 0 4px 18px rgba(0,0,0,0.12);
    transform: translateY(2px);
}

/* -----------------------------------------------------------
   MOBILE LAYOUT
----------------------------------------------------------- */

@media (max-width: 1100px) {
    .ikhaya-checkout-wrapper {
        grid-template-columns: 1fr !important;
    }

    .ikhaya-checkout-wrapper #order_review {
        position: static;
    }
}