/* Checkout-only presentation. WooCommerce and gateway behavior remain untouched. */
body.woocommerce-checkout form.checkout { display:flow-root; max-width: 1120px; margin: 0 auto; }
body.woocommerce-checkout form.checkout .africart-checkout-wallet {
    box-sizing:border-box; clear:both; width:100%; margin:0 0 20px; padding:18px;
    border:1px solid #d8dee5; border-radius:12px; background:#fff;
}
body.woocommerce-checkout .africart-checkout-wallet h3 { margin:0 0 12px; font-size:18px; }
body.woocommerce-checkout .africart-checkout-wallet dl { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 16px; margin:0; }
body.woocommerce-checkout .africart-checkout-wallet dt, body.woocommerce-checkout .africart-checkout-wallet dd { margin:0; }
body.woocommerce-checkout .africart-checkout-wallet .africart-credit-toggle { margin:12px 0 0; }
body.woocommerce-checkout .africart-checkout-wallet .africart-credit-toggle label { display:flex; align-items:center; gap:10px; min-height:44px; cursor:pointer; }
body.woocommerce-checkout form.checkout .africart-checkout-details { clear:both; width:100%; border:1px solid #d8dee5; border-radius:8px; margin:12px 0; padding:0 12px; }
body.woocommerce-checkout form.checkout .africart-checkout-details summary { min-height:44px; line-height:24px; padding:10px 0; cursor:pointer; font-weight:600; }
body.woocommerce-checkout form.checkout .africart-checkout-details[open] { padding-bottom:8px; }
body.woocommerce-checkout form.checkout #billing_postcode_field,
body.woocommerce-checkout form.checkout #billing_city_field { box-sizing:border-box; width:49%; clear:none; display:inline-block; vertical-align:top; }
body.woocommerce-checkout form.checkout #billing_city_field { float:right; }
body.woocommerce-checkout form.checkout input.input-text:not(#wc-stripe-hidden-style-input),
body.woocommerce-checkout form.checkout select { min-height:44px; max-width:100%; box-sizing:border-box; }
body.woocommerce-checkout .woocommerce-terms-and-conditions { max-height:260px; overflow:auto; font-size:14px; }
body.woocommerce-checkout form.checkout .woocommerce-additional-fields { margin-top:12px; }
body.woocommerce-checkout form.checkout #order_review {
    box-sizing: border-box;
    padding: 20px;
    border: 1px solid #dde2e8;
    border-radius: 14px;
    background: #f7f8fa;
}

body.woocommerce-checkout form.checkout #order_review_heading {
    margin-bottom: 14px;
}

body.woocommerce-checkout form.checkout #order_review > table.shop_table {
    width: 100%;
    margin: 0 0 16px;
    border: 1px solid #dde2e8;
    border-collapse: separate;
    border-radius: 10px;
    background: #fff;
}

body.woocommerce-checkout form.checkout #payment {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

body.woocommerce-checkout form.checkout #payment ul.payment_methods {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

body.woocommerce-checkout form.checkout #payment ul.payment_methods > li {
    position: relative;
    overflow: visible;
    margin: 0;
    padding: 0;
    border: 1px solid #d8dee5;
    border-radius: 10px;
    background: #fff;
}

body.woocommerce-checkout form.checkout #payment ul.payment_methods > li:has(> input.input-radio:checked) {
    border-color: #657789;
    box-shadow: 0 0 0 1px #657789;
}

body.woocommerce-checkout form.checkout #payment ul.payment_methods > li > input.input-radio {
    position: absolute;
    top: 20px;
    left: 16px;
    margin: 0;
}

body.woocommerce-checkout form.checkout #payment ul.payment_methods > li > label {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    min-height: 52px;
    margin: 0;
    padding: 12px 16px 12px 43px;
    cursor: pointer;
}

body.woocommerce-checkout form.checkout #payment ul.payment_methods > li > .payment_box {
    margin: 0;
    padding: 16px;
    border-top: 1px solid #e6e9ed;
    background: #fff;
    box-shadow: none;
}

body.woocommerce-checkout form.checkout #payment ul.payment_methods > li > .payment_box::before {
    display: none;
}

body.woocommerce-checkout form.checkout #payment .place-order {
    box-sizing: border-box;
    margin: 12px 0 0;
    padding: 16px;
    border: 1px solid #dde2e8;
    border-radius: 10px;
    background: #fff;
}

body.woocommerce-checkout form.checkout #payment #place_order {
    min-height: 48px;
    border-radius: 8px;
}

body.woocommerce-checkout form.checkout #payment .woocommerce-privacy-policy-text {
    margin: 0 0 12px;
    font-size: 13px;
    line-height: 1.5;
}

body.woocommerce-checkout #wc-stripe-express-checkout-element {
    box-sizing: border-box;
    margin-bottom: 20px;
    padding: 16px;
    border: 1px solid #d8dee5;
    border-radius: 10px;
    background: #fff;
}

body.woocommerce-checkout #wc-stripe-express-checkout-element::before {
    display: block;
    margin-bottom: 12px;
    color: #26323d;
    font-weight: 700;
    content: 'Express payment';
}

html[lang^='fr'] body.woocommerce-checkout #wc-stripe-express-checkout-element::before { content: 'Paiement rapide'; }
html[lang^='de'] body.woocommerce-checkout #wc-stripe-express-checkout-element::before { content: 'Express-Zahlung'; }
html[lang^='it'] body.woocommerce-checkout #wc-stripe-express-checkout-element::before { content: 'Pagamento rapido'; }
html[lang^='es'] body.woocommerce-checkout #wc-stripe-express-checkout-element::before { content: 'Pago rápido'; }

@media (max-width: 767px) {
    body.woocommerce-checkout form.checkout .form-row { margin-bottom:10px; }
    body.woocommerce-checkout form.checkout #billing_first_name_field,
    body.woocommerce-checkout form.checkout #billing_last_name_field { box-sizing:border-box; width:49%; clear:none; }
    body.woocommerce-checkout form.checkout #billing_last_name_field { float:right; }
    body.woocommerce-checkout form.checkout .payment_box iframe { max-width:100%; }
    body.woocommerce-checkout form.checkout .payment_methods label { flex-wrap:wrap; gap:6px; }
    body.woocommerce-checkout form.checkout .africart-checkout-wallet { padding:14px; }
    body.woocommerce-checkout form.checkout #customer_details,
    body.woocommerce-checkout form.checkout #order_review,
    body.woocommerce-checkout form.checkout #order_review_heading {
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        float: none;
        clear: both;
    }

    body.woocommerce-checkout form.checkout #order_review {
        padding: 14px;
    }

    body.woocommerce-checkout form.checkout #payment #place_order {
        width: 100%;
    }
}
