/* Shopify Style Checkout CSS */

/* General Layout */
.woocommerce-checkout {
    background-color: #fff;
}

.shopify-checkout-wrapper {
    min-height: 100vh;
    overflow-x: hidden;
}

/* Left Col - Main */
.checkout-main-content {
    max-width: 600px;
    margin-left: auto; 
    margin-right: 20px; /* Padding from center line */
}

@media (max-width: 991px) {
    .checkout-main-content {
        margin-right: auto;
        padding-top: 20px;
    }
    
    .order-lg-1 {
        order: 2 !important; /* On mobile, form is below summary */
    }
    
    .order-lg-2 {
        order: 1 !important; /* Summary on top */
    }
}

/* Right Col - Sidebar */
.checkout-sidebar {
    max-width: 450px; /* Fixed width sidebar content */
    margin-left: 20px; /* Padding from center line */
    border-left: 1px solid #e5e5e5;
    background-color: #fafafa;
    height: 100vh; /* Full height */
    width: 100%;
}

@media (max-width: 991px) {
    .checkout-sidebar {
        height: auto;
        border-left: none;
        border-bottom: 1px solid #e5e5e5;
        margin-left: 0;
        max-width: 100%;
    }
    
    .checkout-sidebar-col {
        background-color: #fafafa;
    }
}

/* Form Fields - Shopify Style */
.form-row {
    margin-bottom: 15px;
}

.woocommerce-input-wrapper {
    display: block;
}

.input-text, select {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #d9d9d9;
    border-radius: 5px;
    font-size: 14px;
    color: #333;
    transition: all 0.2s ease;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05) inset;
}

.input-text:focus, select:focus {
    border-color: #333;
    outline: none;
    box-shadow: 0 0 0 1px #333;
}

.input-text::placeholder {
    color: #737373;
}

/* Labels - float them or keep clean? Let's keep clean above */
.form-row label {
    display: block;
    margin-bottom: 6px;
    font-size: 13px;
    font-weight: 500;
    color: #333;
}

/* Checkout Sections */
.col2-set {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -10px;
}

.col-1, .col-2 {
    flex: 0 0 100%;
    max-width: 100%;
    padding: 0 10px;
}

/* Payment Section */
#payment {
    background: transparent;
}

.wc_payment_methods {
    border: 1px solid #d9d9d9;
    border-radius: 5px;
    overflow: hidden;
    list-style: none;
    padding: 0;
    margin: 0;
}

.wc_payment_method {
    border-bottom: 1px solid #d9d9d9;
    padding: 15px;
    background: #fff;
}

.wc_payment_method:last-child {
    border-bottom: none;
}

.wc_payment_method label {
    font-weight: 500;
    cursor: pointer;
    margin-left: 10px;
}

.payment_box {
    background: #fafafa;
    padding: 15px;
    margin-top: 15px;
    border-top: 1px solid #d9d9d9;
    font-size: 13px;
    color: #555;
}

/* Place Order Button */
#place_order {
    width: 100%;
    background-color: #000; /* Brand color ideally */
    color: #fff;
    padding: 18px;
    border-radius: 5px;
    font-size: 16px;
    font-weight: 600;
    margin-top: 20px;
    transition: background 0.2s;
}

#place_order:hover {
    background-color: #333;
}

/* Mobile Summary Toggle */
.collapse:not(.show) {
    display: none;
}
