/* DD Prime 1.3 — checkout only. Native Woo fields, IDs, hooks and AJAX fragments preserved. */
body.ddp.woocommerce-checkout { --co-line:#dbe3ed; --co-ink:#152747; --co-muted:#5c6d83; --co-blue:#1a2b6b; }
body.ddp.woocommerce-checkout .wc-content { background:#f5f7fb; }
body.ddp.woocommerce-checkout .woocommerce-breadcrumb { font-size:12px; color:var(--co-muted); }
body.ddp.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,
body.ddp.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { margin:0 0 10px; border:1px solid var(--co-line); border-radius:10px; background:#fff; color:var(--co-muted); padding:13px 18px 13px 48px; font-size:13px; line-height:1.5; }
body.ddp.woocommerce-checkout .woocommerce-info::before { color:var(--co-blue); left:18px; top:14px; }
body.ddp.woocommerce-checkout .woocommerce-info a { font-weight:700; color:var(--co-blue); text-underline-offset:3px; }
body.ddp.woocommerce-checkout form.checkout_coupon,
body.ddp.woocommerce-checkout form.woocommerce-form-login { border:1px solid var(--co-line); border-radius:12px; background:white; padding:22px; }
.ddco-intro { margin:32px 0 26px; }
body.ddp .ddco-back { display:inline-block; font-size:13px; font-weight:600; color:var(--co-muted); margin-bottom:22px; }
.ddco-intro-row { display:flex; justify-content:space-between; align-items:center; gap:28px; }
.ddco-eyebrow { display:block; color:var(--co-blue); font-size:10px; font-weight:800; letter-spacing:1.8px; margin-bottom:9px; }
body.ddp .ddco-intro h1 { font-size:clamp(26px,2.8vw,36px); line-height:1.15; color:var(--co-ink); font-weight:800; letter-spacing:-1px; margin:0 0 10px; }
.ddco-intro p { color:var(--co-muted); font-size:14px; line-height:1.65; margin:0; max-width:530px; }
.ddco-progress { list-style:none; display:flex; align-items:center; gap:18px; padding:0; margin:0; flex-shrink:0; }
.ddco-progress li,.ddco-progress a { display:flex; align-items:center; gap:7px; font-size:11px; font-weight:600; color:var(--co-muted); white-space:nowrap; }
body.ddp .ddco-progress a { color:var(--co-muted); }
.ddco-progress span { width:25px; height:25px; display:inline-flex; align-items:center; justify-content:center; border:1px solid #cbd5e1; border-radius:50%; background:white; }
.ddco-progress [aria-current] { color:var(--co-blue); font-weight:800; }
.ddco-progress [aria-current] span { color:white; background:var(--co-blue); border-color:var(--co-blue); }
body.ddp.woocommerce-checkout form.ddco-form { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(360px,.95fr); align-items:start; gap:28px; margin:0 0 48px; }
form.ddco-form::before,form.ddco-form::after { display:none !important; }
.ddco-details,.ddco-summary { min-width:0; }
body.ddp.woocommerce-checkout .ddco-form #customer_details,
body.ddp.woocommerce-checkout .ddco-form #customer_details .col-1,
body.ddp.woocommerce-checkout .ddco-form #customer_details .col-2 { display:block; width:100% !important; max-width:none !important; float:none !important; margin:0; padding:0; }
body.ddp .ddco-details .woocommerce-billing-fields,
body.ddp .ddco-details .woocommerce-shipping-fields,
body.ddp .ddco-details .woocommerce-additional-fields { border:1px solid var(--co-line); border-radius:16px; background:white; padding:28px; margin:0 0 18px; box-shadow:0 3px 10px rgba(21,39,71,.025); }
body.ddp .ddco-details h3 { display:block; font-size:19px; font-weight:750; color:var(--co-ink); line-height:1.4; letter-spacing:-.3px; padding:0; margin:0 0 22px; background:none; border:0; }
body.ddp .ddco-details h3::before { content:none; }
body.ddp .ddco-details #ship-to-different-address { font-size:14px; margin:0; }
.ddco-details .shipping_address { padding-top:22px; }
body.ddp .ddco-details .woocommerce-billing-fields__field-wrapper,
body.ddp .ddco-details .woocommerce-shipping-fields__field-wrapper { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:18px; row-gap:16px; }
body.ddp.woocommerce-checkout .ddco-details .form-row { width:auto !important; float:none !important; min-width:0; padding:0; margin:0; }
body.ddp .ddco-details .form-row-wide { grid-column:1 / -1; }
body.ddp .ddco-details .form-row label { font-size:12px; font-weight:700; color:var(--co-ink); line-height:1.45; margin-bottom:8px; display:block; }
body.ddp .ddco-details .form-row .optional { font-weight:400; color:var(--co-muted); font-size:11px; }
body.ddp .ddco-details .required { color:#b42318; }
body.ddp.woocommerce-checkout .ddco-form input.input-text,
body.ddp.woocommerce-checkout .ddco-form textarea,
body.ddp.woocommerce-checkout form.checkout_coupon input.input-text,
body.ddp.woocommerce-checkout form.woocommerce-form-login input.input-text { border:1px solid #c9d4e1; border-radius:8px; padding:12px 14px; min-height:46px; width:100%; box-sizing:border-box; background:#fff; color:var(--co-ink); font:inherit; font-size:16px; line-height:1.4; box-shadow:0 1px 2px rgba(21,39,71,.025); outline:none; transition:border-color .15s,box-shadow .15s; }
body.ddp.woocommerce-checkout .ddco-form input.input-text::placeholder,
body.ddp.woocommerce-checkout .ddco-form textarea::placeholder { color:#6b7a8e; font-size:13px; opacity:1; }
body.ddp.woocommerce-checkout .ddco-form input.input-text:focus,
body.ddp.woocommerce-checkout .ddco-form textarea:focus { border-color:#1e7fd8; box-shadow:0 0 0 3px rgba(30,127,216,.14); }
body.ddp .ddco-form textarea { min-height:105px; resize:vertical; }
body.ddp.woocommerce-checkout .ddco-form select { width:100%; max-width:100%; min-height:46px; border-radius:8px; border:1px solid #c9d4e1; padding:10px 12px; background:#fff; color:var(--co-ink); font-size:16px; }
.ddco-form .select2-container { width:100% !important; max-width:100%; }
body.ddp .ddco-form .select2-selection--single { border:1px solid #c9d4e1; border-radius:8px; height:46px; background:#fff; }
body.ddp .ddco-form .select2-selection--single .select2-selection__rendered { line-height:44px; padding-left:14px; padding-right:30px; color:var(--co-ink); font-size:15px; }
body.ddp .ddco-form .select2-selection__arrow { height:44px; right:10px; }
body.ddp .ddco-form .select2-container--open .select2-selection--single { border-color:#1e7fd8; box-shadow:0 0 0 3px rgba(30,127,216,.14); }
body.ddp .ddco-form input[type=checkbox],body.ddp .ddco-form input[type=radio] { accent-color:var(--co-blue); width:17px; height:17px; flex-shrink:0; vertical-align:middle; margin:0 8px 0 0; }
body.ddp .ddco-form .woocommerce-account-fields { background:white; border:1px solid var(--co-line); border-radius:12px; padding:18px 24px; margin:0 0 18px; }
body.ddp .ddco-form .woocommerce-account-fields label,
body.ddp .ddco-form #ship-to-different-address label { display:flex; align-items:flex-start; gap:6px; font-size:13px; line-height:1.6; margin:0; cursor:pointer; color:var(--co-ink); font-weight:600; }
body.ddp .ddco-form .woocommerce-account-fields input[type=checkbox],
body.ddp .ddco-form #ship-to-different-address input[type=checkbox] { margin-top:2px; }
body.ddp .ddco-form div.create-account { margin-top:18px; }
body.ddp .ddco-form .woocommerce-invalid input.input-text { border-color:#b42318; }
/* One complete summary container: heading and AJAX fragments cannot fall into separate grid rows. */
body.ddp .ddco-summary { display:block; background:#fff; border:1px solid var(--co-line); border-top:3px solid var(--co-blue); border-radius:16px; padding:26px; box-shadow:0 8px 26px rgba(21,39,71,.055); }
body.ddp .ddco-summary #order_review_heading { font-size:20px; font-weight:800; color:var(--co-ink); line-height:1.35; letter-spacing:-.4px; padding:0 0 20px; margin:0; border:0; background:none; }
body.ddp .ddco-summary #order_review { float:none; width:100%; padding:0; margin:0; background:none; border:0; box-shadow:none; }
body.ddp .ddco-summary table.shop_table { display:block; border:0; padding:0; margin:0 0 18px; width:100%; border-collapse:collapse; font-size:13px; }
.ddco-summary table.shop_table thead,.ddco-summary table.shop_table tbody,.ddco-summary table.shop_table tfoot { display:block; width:100%; }
body.ddp .ddco-summary table.shop_table tr { display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:14px; border-bottom:1px solid #e8edf4; }
body.ddp .ddco-summary table.shop_table th,
body.ddp .ddco-summary table.shop_table td { padding:14px 0; border:0; width:auto; font-size:13px; line-height:1.65; vertical-align:top; background:none; color:var(--co-ink); overflow-wrap:anywhere; }
body.ddp .ddco-summary table.shop_table thead th { font-size:10px; text-transform:uppercase; letter-spacing:1px; color:var(--co-muted); padding:0 0 12px; }
.ddco-summary .product-name { font-weight:600; }
body.ddp .ddco-summary .product-total { white-space:nowrap; text-align:right; font-weight:700; }
.ddco-summary .product-quantity { white-space:nowrap; font-size:12px; color:var(--co-muted); }
body.ddp .ddco-summary table.shop_table tfoot th { font-weight:600; }
body.ddp .ddco-summary table.shop_table tfoot td { text-align:right; }
body.ddp .ddco-summary table.shop_table tr.woocommerce-shipping-totals { display:block; }
body.ddp .ddco-summary table.shop_table tr.woocommerce-shipping-totals > th,
body.ddp .ddco-summary table.shop_table tr.woocommerce-shipping-totals > td { display:block; width:100%; text-align:left; }
body.ddp .ddco-summary table.shop_table tr.woocommerce-shipping-totals > td { padding-top:0; }
body.ddp .ddco-summary ul.woocommerce-shipping-methods { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:6px; }
body.ddp .ddco-summary ul.woocommerce-shipping-methods li { position:relative; border:1px solid var(--co-line); border-radius:8px; padding:10px 12px; font-size:12px; margin:0; line-height:1.5; }
body.ddp .ddco-summary ul.woocommerce-shipping-methods li:has(input:checked) { background:#f0f5fc; border-color:#8196be; }
body.ddp .ddco-summary ul.woocommerce-shipping-methods input[type=radio] { position:absolute; top:13px; left:12px; }
body.ddp .ddco-summary ul.woocommerce-shipping-methods input[type=radio] + label { display:block; padding-left:27px; line-height:1.6; font-size:12px; font-weight:500; cursor:pointer; color:var(--co-ink); }
body.ddp .ddco-summary table.shop_table .order-total { border-bottom:0; padding-top:5px; }
body.ddp .ddco-summary table.shop_table .order-total th { font-size:18px; font-weight:800; }
body.ddp .ddco-summary table.shop_table .order-total td { font-size:23px; font-weight:800; }
body.ddp .ddco-summary .order-total small { display:block; font-size:11px; line-height:1.5; font-weight:400; color:var(--co-muted); }
body.ddp .ddco-summary #payment { border:0; border-top:1px solid var(--co-line); border-radius:0; background:none; margin:0; padding-top:18px; }
body.ddp .ddco-summary #payment ul.payment_methods { padding:0; margin:0 0 16px; border:0; list-style:none; }
body.ddp .ddco-summary #payment li.wc_payment_method { padding:14px; border:1px solid var(--co-line); border-radius:10px; margin:0 0 10px; font-size:13px; line-height:1.6; }
body.ddp .ddco-summary #payment li.wc_payment_method:has(>input:checked) { border-color:#8196be; }
body.ddp .ddco-summary #payment li.wc_payment_method > label { font-size:14px; color:var(--co-ink); font-weight:700; display:inline; cursor:pointer; }
body.ddp .ddco-summary #payment li.wc_payment_method > label img { max-height:23px; max-width:110px; margin:0 0 0 10px; vertical-align:middle; float:none; }
body.ddp .ddco-summary #payment .about_paypal { display:block; float:none; margin-top:6px; line-height:1.4; font-size:11px; }
body.ddp .ddco-summary #payment div.payment_box { border:0; background:#f4f7fb; color:var(--co-muted); border-radius:7px; font-size:12px; line-height:1.6; padding:12px; margin:12px 0 0; width:100%; box-sizing:border-box; }
body.ddp .ddco-summary #payment div.payment_box::before { display:none; }
body.ddp .ddco-summary #payment .place-order { padding:0; margin:0; }
body.ddp .ddco-summary .woocommerce-terms-and-conditions-wrapper { color:var(--co-muted); font-size:12px; line-height:1.65; }
body.ddp .ddco-summary .woocommerce-terms-and-conditions-wrapper label { font-size:12px; line-height:1.7; color:var(--co-ink); }
body.ddp .ddco-summary .woocommerce-terms-and-conditions-wrapper .form-row { padding:0; margin:14px 0; }
body.ddp .ddco-summary #place_order { display:block; width:100%; float:none; min-height:52px; padding:15px 20px; margin:16px 0 0; background:#1a2b6b; color:#fff; border:1px solid #1a2b6b; border-radius:9px; font-size:15px; font-weight:750; line-height:1.4; letter-spacing:0; box-shadow:none; transition:background .15s; }
body.ddp .ddco-summary #place_order:hover { background:#101e4a; transform:none; box-shadow:none; }
body.ddp .ddco-summary #place_order:disabled { opacity:.6; cursor:not-allowed; }
body.ddp .ddco-form :is(a,button,input,select,textarea):focus-visible { outline:2px solid #1e7fd8; outline-offset:3px; }
/* Never move payment before customer details on mobile; preserve keyboard and DOM order. */
@media (max-width:1050px) { .ddco-intro-row { align-items:flex-start; flex-direction:column; gap:22px; } body.ddp.woocommerce-checkout form.ddco-form { grid-template-columns:minmax(0,1fr) minmax(330px,.95fr); gap:20px; } body.ddp .ddco-details .woocommerce-billing-fields,body.ddp .ddco-details .woocommerce-shipping-fields,body.ddp .ddco-details .woocommerce-additional-fields,body.ddp .ddco-summary { padding:22px; } }
@media (max-width:850px) { body.ddp.woocommerce-checkout form.ddco-form { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; } .ddco-intro { margin:26px 0 22px; } body.ddp .ddco-details .woocommerce-billing-fields,body.ddp .ddco-details .woocommerce-shipping-fields,body.ddp .ddco-details .woocommerce-additional-fields,body.ddp .ddco-summary { padding:22px; } }
@media (max-width:480px) { .ddco-progress { gap:12px; flex-wrap:wrap; } .ddco-progress li,.ddco-progress a { font-size:10px; gap:5px; } .ddco-progress span { width:22px; height:22px; } body.ddp .ddco-details .woocommerce-billing-fields__field-wrapper,body.ddp .ddco-details .woocommerce-shipping-fields__field-wrapper { grid-template-columns:minmax(0,1fr); } .ddco-intro p { font-size:13px; } body.ddp .ddco-details .woocommerce-billing-fields,body.ddp .ddco-details .woocommerce-shipping-fields,body.ddp .ddco-details .woocommerce-additional-fields,body.ddp .ddco-summary { padding:20px 18px; } }
@media (prefers-reduced-motion:reduce) { .ddco-form * { transition:none !important; scroll-behavior:auto; } }
