.mc-checkout { padding-top:56px; min-height:60vh; }
.mc-checkout-intro { max-width:680px; margin-bottom:40px; }
.mc-checkout-intro h1 { font-family:Lora,Georgia,serif; font-size:clamp(36px,4.2vw,58px); line-height:1.14; margin:14px 0; }
.mc-checkout-intro p { margin-bottom:18px; }
.mc-checkout .woocommerce { font-family:Manrope,Arial,sans-serif; font-size:15px; }
.mc-checkout .woocommerce h2, .mc-checkout .woocommerce h3 { font-family:Lora,Georgia,serif; font-size:28px; line-height:1.2; margin:0 0 22px; }
.mc-checkout form.checkout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:20px 54px; align-items:start; }
.mc-checkout form.checkout::before, .mc-checkout form.checkout::after { display:none; }
.mc-selection-changed { grid-column:1 / -1; padding:16px; background:var(--blush); border:1px solid var(--rose); border-radius:6px; margin-bottom:20px; }
.mc-checkout #place_order:disabled { opacity:.5; cursor:default; }
.mc-checkout #customer_details { grid-column:1; grid-row:1 / span 2; width:100%; }
.mc-checkout #customer_details .col-1, .mc-checkout #customer_details .col-2 { float:none; width:100%; }
.mc-checkout #order_review_heading, .mc-checkout #order_review { grid-column:2; margin:0; }
.mc-checkout #order_review { padding:24px; background:#fffdfa; border:1px solid var(--line); border-radius:10px; }
.mc-checkout .woocommerce form .form-row { padding:0; margin:0 0 22px; }
.mc-checkout .woocommerce form .form-row label { font-size:14px; line-height:1.6; margin-bottom:8px; }
.mc-checkout .woocommerce input.input-text, .mc-checkout .woocommerce select, .mc-checkout .woocommerce textarea { padding:12px 14px; min-height:50px; font:inherit; border:1px solid #ccc5bf; border-radius:6px; background:#fffdfa; color:var(--ink); width:100%; }
.mc-checkout .woocommerce input:focus, .mc-checkout .woocommerce select:focus { outline:2px solid var(--rose); outline-offset:2px; }
.mc-checkout .woocommerce table.shop_table { margin:0 0 24px; border:0; border-collapse:collapse; font-size:14px; }
.mc-checkout .woocommerce table.shop_table th, .mc-checkout .woocommerce table.shop_table td { padding:16px 0; border-top:1px solid var(--line); }
.mc-checkout .woocommerce table.shop_table th:first-child, .mc-checkout .woocommerce table.shop_table td:first-child { padding-right:14px; }
.mc-checkout .woocommerce table.shop_table .product-total, .mc-checkout .woocommerce table.shop_table tfoot td { text-align:right; white-space:nowrap; }
.mc-checkout .woocommerce table.shop_table .order-total { font-size:20px; }
.mc-checkout .woocommerce table.shop_table .cart-discount { color:var(--rose); }
.mc-checkout #payment { background:none; border-radius:0; }
.mc-checkout #payment ul.payment_methods { padding:0 0 18px; border-bottom:1px solid var(--line); }
.mc-checkout #payment ul.payment_methods li { line-height:1.5; }
.mc-checkout #payment div.payment_box { background:#f4f0e8; font-size:13px; line-height:1.65; padding:14px; }
.mc-checkout #payment div.payment_box::before { border-bottom-color:#f4f0e8; }
.mc-checkout #payment div.form-row { padding:20px 0 0; margin:0; }
.mc-checkout .woocommerce button.button, .mc-checkout .woocommerce a.button, .mc-checkout #place_order { padding:16px 22px; min-height:50px; background:var(--rose); color:white; border:1px solid var(--rose); border-radius:6px; font-family:Manrope,Arial,sans-serif; font-size:14px; font-weight:700; line-height:1.35; }
.mc-checkout #place_order { width:100%; float:none; margin-top:16px; }
.mc-checkout .woocommerce-privacy-policy-text { font-size:12px; line-height:1.6; }
.mc-checkout .woocommerce-error, .mc-checkout .woocommerce-info, .mc-checkout .woocommerce-message { background:#f4f0e8; font-size:14px; border-top-color:var(--rose); }
.mc-checkout .woocommerce-order-overview { display:flex; flex-wrap:wrap; gap:20px; margin:28px 0 !important; padding:0; }
.mc-checkout .woocommerce-order-overview li { float:none !important; list-style:none; padding:16px !important; margin:0 !important; border:1px solid var(--line) !important; border-radius:6px; background:#fffdfa; }
.mc-checkout .woocommerce-order-overview li strong { margin-top:8px; }
.mc-checkout .woocommerce-order-details { margin:36px 0; }
.mc-checkout .woocommerce-customer-details address { padding:20px; line-height:1.7; border:1px solid var(--line); }
@media(max-width:760px) {
 .mc-checkout { padding-top:30px; }
 .mc-checkout-intro { margin-bottom:30px; }
 .mc-checkout form.checkout { display:block; }
 .mc-checkout #customer_details { margin-bottom:28px; }
 .mc-checkout #order_review_heading { margin-bottom:18px; }
 .mc-checkout #order_review { padding:18px; }
 .mc-checkout .woocommerce h2, .mc-checkout .woocommerce h3 { font-size:25px; }
 .mc-checkout .woocommerce table.shop_table { font-size:13px; }
 .mc-checkout .woocommerce table.shop_table .order-total { font-size:18px; }
 .mc-checkout .woocommerce-order-overview { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
 .mc-checkout .woocommerce-order-overview li { overflow-wrap:anywhere; }
}

/* Keep contact fields and the payment total close to the checkout heading. */
.mc-checkout { padding-top:32px; }
.mc-checkout-intro { max-width:760px; margin-bottom:28px; }
.mc-checkout-intro h1 { font-size:clamp(30px,3vw,44px); margin:8px 0 12px; }
.mc-checkout-intro .eyebrow { margin-bottom:8px; }
.mc-checkout-intro p { margin-bottom:8px; }
.mc-checkout .woocommerce-privacy-policy-text { font-size:13px; }
@media(max-width:760px) {
 .mc-checkout { padding-top:24px; }
 .mc-checkout-intro { margin-bottom:24px; }
 .mc-checkout-intro h1 { font-size:30px; }
 .mc-checkout-intro > p:not(.eyebrow) { font-size:14px; }
 .mc-checkout .woocommerce input.input-text { font-size:16px; }
 .mc-checkout #place_order { min-height:54px; font-size:14px; }
}

/* Coupon entry follows the same outlined controls and warm cards as checkout. */
.mc-checkout .woocommerce-form-coupon-toggle, .mc-checkout .woocommerce form.checkout_coupon { width:100%; max-width:560px; }
.mc-checkout .woocommerce-form-coupon-toggle .woocommerce-info { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 20px; padding:18px 20px; margin:0 0 12px; border:1px solid var(--line); border-radius:10px; background:var(--blush); color:var(--ink); }
.mc-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before, .mc-checkout .woocommerce-form-coupon-toggle .woocommerce-info::after { display:none; }
.mc-checkout .mc-coupon-label { font-size:15px; font-weight:700; }
.mc-checkout .showcoupon { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:44px; padding:10px 16px; border:1px solid #8a7c72; border-radius:7px; background:var(--paper); color:var(--ink); font-size:14px; font-weight:700; line-height:1.4; text-decoration:none; }
.mc-checkout .showcoupon::after { content:'+'; font-size:20px; font-weight:400; line-height:1; }
.mc-checkout .showcoupon[aria-expanded="true"]::after { content:'−'; }
.mc-checkout .showcoupon:hover { background:var(--blush); border-color:var(--rose); }
.mc-checkout .woocommerce form.checkout_coupon { margin:0 0 30px; padding:20px; border:1px solid var(--line); border-radius:10px; background:#fffdfa; }
.mc-checkout .woocommerce form.checkout_coupon .form-row { margin:0; }
.mc-checkout .woocommerce form.checkout_coupon .form-row-first { width:calc(100% - 230px); }
.mc-checkout .woocommerce form.checkout_coupon .form-row-last { width:210px; }
.mc-checkout .woocommerce form.checkout_coupon input.input-text { min-height:52px; }
.mc-checkout .woocommerce form.checkout_coupon button.button { width:100%; min-height:52px; padding:14px 18px; }
.mc-checkout .woocommerce form.checkout_coupon button.button:hover { background:#8d2948; border-color:#8d2948; }
@media(max-width:560px) {
 .mc-checkout .woocommerce-form-coupon-toggle .woocommerce-info { padding:16px; }
 .mc-checkout .showcoupon { width:100%; }
 .mc-checkout .woocommerce form.checkout_coupon { padding:16px; }
 .mc-checkout .woocommerce form.checkout_coupon .form-row-first, .mc-checkout .woocommerce form.checkout_coupon .form-row-last { float:none; width:100%; }
 .mc-checkout .woocommerce form.checkout_coupon .form-row-first { margin-bottom:12px; }
}
