:root { --dv-ink:#1d1226; --dv-plum:#4b2953; --dv-line:#e9e0e8; --dv-paper:#fffdfa; }

/* Cart and add-to-cart confirmation. */
.woocommerce-message { display:flex; align-items:center; flex-wrap:wrap; gap:12px; border-left:0!important; background:#fff; color:var(--dv-ink); border-radius:14px; padding:14px 18px; text-align:left; box-shadow:0 5px 18px rgba(29,18,38,.06); }
.woocommerce-message::before { display:none; }
.woocommerce-message a.button.wc-forward { float:none!important; order:2; margin:0 0 0 auto!important; background:var(--dv-ink); color:#fff; border:0; border-radius:9px; padding:11px 18px; font-weight:700; white-space:nowrap; text-align:center; }
.woocommerce-message a.button.wc-forward:hover { background:var(--dv-plum); color:#fff; }
body.woocommerce-cart .woocommerce-message { width:min(1120px,100vw); box-sizing:border-box; margin-left:max(0px,calc((100vw - 1120px)/2))!important; }
body.woocommerce-cart .woocommerce { max-width:1120px; margin:0 auto; }
body.woocommerce-cart .cart_totals { background:#fff; border:1px solid var(--dv-line); border-radius:18px; box-shadow:0 10px 30px rgba(29,18,38,.06); padding:24px; }
body.woocommerce-cart .woocommerce-shipping-calculator { margin:12px 0; }
body.woocommerce-cart .dv-cart-shipping-note { color:#4d3a52; font-size:.95rem; margin:10px 0 20px; }
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { background:var(--dv-ink); border:0; border-radius:10px; color:#fff; font-size:1.05rem; font-weight:700; padding:15px 24px; min-height:52px; }
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover { background:var(--dv-plum); color:#fff; }

/* Checkout shell. */
body.woocommerce-checkout .dv-checkout-form { width:calc(100% - 48px); max-width:1220px; margin:0 auto 56px; color:var(--dv-ink); }
body.woocommerce-checkout .dv-checkout-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(340px,1fr); gap:28px; align-items:start; }
body.woocommerce-checkout #scs-minicart[aria-hidden="true"] { display:none; }
body.woocommerce-checkout .dv-checkout-main, body.woocommerce-checkout .dv-checkout-sidebar { min-width:0; }
body.woocommerce-checkout .dv-checkout-sidebar { position:sticky; top:22px; }
body.woocommerce-checkout .dv-summary-destination { margin:-8px 0 12px; color:#685a6d; font-size:.85rem; line-height:1.4; }
body.woocommerce-checkout .dv-contact-card,
body.woocommerce-checkout .dv-delivery-card,
body.woocommerce-checkout .dv-payment-card,
body.woocommerce-checkout .dv-order-panel { background:#fff; border:1px solid var(--dv-line); border-radius:16px; box-shadow:0 8px 26px rgba(29,18,38,.045); padding:24px 26px; }
body.woocommerce-checkout .dv-contact-card,
body.woocommerce-checkout .dv-delivery-card,
body.woocommerce-checkout .dv-payment-card { margin:0 0 18px; }
body.woocommerce-checkout #wc-stripe-hidden-style-input { width:1px!important; min-width:1px!important; max-width:1px!important; }
body.woocommerce-checkout .dv-billing-card { margin:0 0 18px; padding:0 5px; }
body.woocommerce-checkout .dv-checkout-form h2 { color:var(--dv-ink); font-size:1.28rem; line-height:1.3; margin:0 0 18px; font-weight:750; }
body.woocommerce-checkout .dv-checkout-form h3 { color:var(--dv-ink); font-size:1.06rem; line-height:1.3; margin:0 0 14px; }
body.woocommerce-checkout .dv-contact-fields,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
body.woocommerce-checkout .dv-billing-address-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:16px; }
body.woocommerce-checkout .dv-checkout-form .form-row { float:none; width:100%; min-width:0; margin:0 0 15px; }
body.woocommerce-checkout .dv-checkout-form .form-row-wide,
body.woocommerce-checkout .dv-checkout-form [id$='_country_field'],
body.woocommerce-checkout .dv-checkout-form [id$='_address_1_field'],
body.woocommerce-checkout .dv-checkout-form [id$='_address_2_field'] { grid-column:1/-1; }
body.woocommerce-checkout .dv-checkout-form .form-row label { color:#33233b; font-size:.94rem; font-weight:650; margin-bottom:6px; }
body.woocommerce-checkout .dv-checkout-form input.input-text,
body.woocommerce-checkout .dv-checkout-form select,
body.woocommerce-checkout .dv-checkout-form textarea { display:block; width:100%; min-height:44px; box-sizing:border-box; border:1px solid #d4cbd4; border-radius:8px; background:#fff; color:var(--dv-ink); padding:9px 11px; font-size:1rem; }
body.woocommerce-checkout .dv-checkout-form input.input-text:focus,
body.woocommerce-checkout .dv-checkout-form select:focus,
body.woocommerce-checkout .dv-checkout-form textarea:focus { border-color:#754474; outline:2px solid rgba(117,68,116,.16); }
body.woocommerce-checkout .dv-shipping-toggle { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
body.woocommerce-checkout .dv-billing-choice { display:flex; align-items:center; gap:9px; font-size:.98rem; color:var(--dv-ink); cursor:pointer; }
body.woocommerce-checkout .dv-billing-choice input { accent-color:var(--dv-plum); width:18px; height:18px; flex:none; }
body.woocommerce-checkout .dv-billing-address { margin-top:16px; background:#fff; border:1px solid var(--dv-line); border-radius:14px; padding:20px; }
body.woocommerce-checkout .dv-billing-address[hidden] { display:none!important; }
body.woocommerce-checkout .dv-order-notes { margin:0 0 18px; padding:2px 5px; }
body.woocommerce-checkout .dv-order-notes summary { cursor:pointer; font-size:.95rem; font-weight:650; color:var(--dv-plum); }
body.woocommerce-checkout .dv-order-notes summary span { font-weight:400; color:#685a6d; }
body.woocommerce-checkout .dv-order-notes .woocommerce-additional-fields__field-wrapper { padding-top:12px; }
body.woocommerce-checkout .woocommerce-form-coupon-toggle { max-width:1220px; margin:0 auto 12px; }
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { padding:10px 16px; background:#fff; border:1px solid var(--dv-line); border-radius:10px; font-size:.9rem; }
body.woocommerce-checkout form.checkout_coupon { max-width:1220px; margin:0 auto 18px; }

/* Payment stays inside the left column. The submit action is moved, once, into the summary. */
body.woocommerce-checkout .dv-payment-card #payment { background:transparent; border:0; padding:0; }
body.woocommerce-checkout .dv-payment-card #payment ul.payment_methods { border:0; padding:0; margin:0; }
body.woocommerce-checkout .dv-payment-card #payment ul.payment_methods li { margin:0; }
body.woocommerce-checkout .dv-payment-card #payment .payment_box { background:#fbf8f6; color:var(--dv-ink); border:1px solid var(--dv-line); border-radius:10px; box-sizing:border-box; max-width:100%; padding:14px; margin:10px 0 0; }
body.woocommerce-checkout .dv-payment-card #payment .payment_box:before { display:none; }
body.woocommerce-checkout .dv-payment-card iframe { max-width:100%; }

/* Compact, persistent purchase summary. */
body.woocommerce-checkout #order_review { background:transparent; border:0; box-shadow:none; padding:0; margin:0; }
body.woocommerce-checkout #order_review table.shop_table { width:100%; margin:0; border:0; border-collapse:collapse; background:transparent; font-size:.94rem; }
body.woocommerce-checkout #order_review table.shop_table thead { display:none; }
body.woocommerce-checkout #order_review table.shop_table th,
body.woocommerce-checkout #order_review table.shop_table td { padding:11px 0; border:0; border-bottom:1px solid var(--dv-line); color:var(--dv-ink); vertical-align:top; }
body.woocommerce-checkout #order_review table.shop_table .product-name { width:68%; padding-right:12px; font-weight:500; }
body.woocommerce-checkout #order_review table.shop_table .product-total,
body.woocommerce-checkout #order_review table.shop_table tfoot td { text-align:right; white-space:normal; }
body.woocommerce-checkout #order_review table.shop_table .order-total th,
body.woocommerce-checkout #order_review table.shop_table .order-total td { font-size:1.15rem; font-weight:750; border-bottom:0; padding-top:17px; }
body.woocommerce-checkout #order_review .woocommerce-shipping-methods { padding:0; margin:0; list-style:none; }
body.woocommerce-checkout #order_review .woocommerce-shipping-methods li { margin:0; line-height:1.4; }
body.woocommerce-checkout #order_review .woocommerce-shipping-methods label { font-size:.9rem; }
body.woocommerce-checkout #dv-submit-slot { border-top:1px solid var(--dv-line); padding-top:18px; }
body.woocommerce-checkout #dv-submit-slot:empty { display:none; }
body.woocommerce-checkout #dv-submit-slot .place-order { float:none; width:100%; margin:0; padding:0; background:transparent; }
body.woocommerce-checkout #dv-submit-slot .woocommerce-terms-and-conditions-wrapper { font-size:.83rem; line-height:1.5; color:#594c60; }
body.woocommerce-checkout #dv-submit-slot #place_order { width:100%; float:none; background:var(--dv-ink); border:0; border-radius:10px; color:#fff; font-size:1rem; font-weight:750; padding:14px 18px; min-height:52px; }
body.woocommerce-checkout #dv-submit-slot #place_order:hover { background:var(--dv-plum); color:#fff; }

@media (max-width:860px) {
  body.woocommerce-checkout .dv-checkout-form { width:calc(100% - 28px); margin-bottom:32px; }
  body.woocommerce-checkout .dv-checkout-grid { display:block; }
  body.woocommerce-checkout .dv-checkout-sidebar { position:static; }
  body.woocommerce-checkout .dv-contact-card,
  body.woocommerce-checkout .dv-delivery-card,
  body.woocommerce-checkout .dv-payment-card,
  body.woocommerce-checkout .dv-order-panel { padding:20px; }
}
@media (max-width:600px) {
  .woocommerce-message { display:block; }
  .woocommerce-message a.button.wc-forward { display:block; width:100%; box-sizing:border-box; margin:12px 0 0!important; }
  body.woocommerce-cart .woocommerce-message { width:calc(100% - 24px); margin-left:12px!important; }
  body.woocommerce-cart .cart_totals { padding:18px; }
  body.woocommerce-cart .cart_totals table.shop_table tr.shipping { display:flex; flex-direction:column; gap:4px; }
  body.woocommerce-cart .cart_totals table.shop_table tr.shipping th,
  body.woocommerce-cart .cart_totals table.shop_table tr.shipping td { display:block; width:100%; box-sizing:border-box; text-align:left; padding:7px 12px; }
  body.woocommerce-checkout .dv-contact-fields,
  body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
  body.woocommerce-checkout .dv-billing-address-fields { grid-template-columns:1fr; }
  body.woocommerce-checkout .dv-checkout-form .form-row { grid-column:1/-1; }
  body.woocommerce-checkout .dv-contact-card,
  body.woocommerce-checkout .dv-delivery-card,
  body.woocommerce-checkout .dv-payment-card,
  body.woocommerce-checkout .dv-order-panel { padding:18px; }
}
