/* V19: isolated checkout layout and shared coupon field. No payment iframe moves. */
body.doplock-checkout-v19 form.checkout.doplock-checkout-v19-form {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  align-items:start !important;
  gap:24px !important;
  width:100% !important;
  max-width:1160px !important;
  padding:0 !important;
  margin:0 auto 36px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}
body.doplock-checkout-v19 .doplock-checkout-v19-form::before,
body.doplock-checkout-v19 .doplock-checkout-v19-form::after { content:none !important; }
body.doplock-checkout-v19 .doplock-checkout-v19-details,
body.doplock-checkout-v19 .doplock-checkout-v19-order {
  min-width:0;
  box-sizing:border-box;
  padding:24px;
  margin:0;
  border:1px solid #e7e3dc;
  border-radius:26px;
  background:#fff;
  box-shadow:0 12px 30px rgba(17,17,17,.04);
}
body.doplock-checkout-v19 .doplock-checkout-v19-details { grid-column:1; grid-row:1; }
body.doplock-checkout-v19 .doplock-checkout-v19-order { grid-column:2; grid-row:1; }
body.doplock-checkout-v19 .doplock-checkout-v19-order:only-child { grid-column:1 / -1; }
body.doplock-checkout-v19 .doplock-checkout-v19-form #customer_details,
body.doplock-checkout-v19 .doplock-checkout-v19-form #order_review {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  float:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}
body.doplock-checkout-v19 .doplock-checkout-v19-form #customer_details .col-1,
body.doplock-checkout-v19 .doplock-checkout-v19-form #customer_details .col-2 {
  width:100% !important; float:none !important; padding:0 !important; margin:0 !important;
}
body.doplock-checkout-v19 .doplock-checkout-v19-form .woocommerce-billing-fields,
body.doplock-checkout-v19 .doplock-checkout-v19-form .woocommerce-shipping-fields,
body.doplock-checkout-v19 .doplock-checkout-v19-form .woocommerce-additional-fields {
  padding:0 !important; margin:0 0 20px !important; border:0 !important; background:transparent !important; box-shadow:none !important;
}
body.doplock-checkout-v19 .doplock-checkout-v19-form #order_review_heading,
body.doplock-checkout-v19 .doplock-checkout-v19-form .woocommerce-billing-fields > h3 {
  margin:0 0 18px !important; padding:0 !important; font-size:22px !important; line-height:1.25 !important; color:#111 !important;
}
body.doplock-checkout-v19 .doplock-checkout-v19-form .woocommerce-checkout-review-order-table {
  width:100% !important; margin:0 0 20px !important; border:0 !important;
  border-collapse:collapse; table-layout:auto !important;
}
body.doplock-checkout-v19 .doplock-checkout-v19-form .woocommerce-checkout-review-order-table th,
body.doplock-checkout-v19 .doplock-checkout-v19-form .woocommerce-checkout-review-order-table td {
  padding:12px 0 !important; font-size:14px !important; line-height:1.45 !important;
  word-break:normal !important; overflow-wrap:anywhere; vertical-align:top;
}
body.doplock-checkout-v19 .doplock-checkout-v19-form .woocommerce-checkout-review-order-table td:last-child,
body.doplock-checkout-v19 .doplock-checkout-v19-form .woocommerce-checkout-review-order-table th:last-child { text-align:right; }
body.doplock-checkout-v19 .doplock-checkout-v19-form .woocommerce-checkout-review-order-table .amount { white-space:nowrap; }
body.doplock-checkout-v19 .doplock-checkout-v19-form .woocommerce-checkout-review-order-table .order-total { font-weight:800; }

/* The original express containers live here from the first render, outside AJAX-replaced fragments. */
body.doplock-checkout-v19 .doplock-checkout-v19-express {
  display:block; width:100%; max-width:100%; min-width:0;
  margin:18px 0; padding:16px 0; border-top:1px solid #eee9e2; border-bottom:1px solid #eee9e2;
  box-sizing:border-box;
}
body.doplock-checkout-v19 .doplock-checkout-v19-express > div {
  width:100% !important; max-width:100% !important; min-width:0 !important;
  float:none !important; clear:both;
}
body.doplock-checkout-v19 .doplock-checkout-v19-express iframe { max-width:100%; }
/* Hide only decorative separators; never force-show or hide a provider's payment element. */
body.doplock-checkout-v19 #wc-stripe-express-checkout-button-separator,
body.doplock-checkout-v19 #wc-stripe-payment-request-button-separator,
body.doplock-checkout-v19 #wcpay-express-checkout-button-separator,
body.doplock-checkout-v19 #wcpay-payment-request-button-separator,
body.doplock-checkout-v19 .wcpay-payment-request-button-separator,
body.doplock-checkout-v19 .wcpay-express-checkout-separator,
body.doplock-checkout-v19 .wc-stripe-payment-request-separator,
body.doplock-checkout-v19 .express-payment-separator,
body.doplock-checkout-v19 .wcpay-express-checkout__separator { display:none !important; }

body.doplock-checkout-v19 .doplock-checkout-v19-form #payment {
  width:100% !important; min-width:0 !important; max-width:100% !important;
  margin:18px 0 0 !important; padding:0 !important; box-sizing:border-box;
  border:0 !important; background:transparent !important; box-shadow:none !important; overflow:visible !important;
}
body.doplock-checkout-v19 .doplock-checkout-v19-form #payment ul.payment_methods {
  display:block !important; padding:0 !important; margin:0 !important; border:0 !important; list-style:none;
}
body.doplock-checkout-v19 .doplock-checkout-v19-form #payment ul.payment_methods > li.wc_payment_method {
  display:block; width:100%; min-width:0; box-sizing:border-box;
  margin:0 0 10px !important; padding:14px !important; border:1px solid #e7e3dc !important;
  border-radius:16px !important; background:#fff !important;
}
body.doplock-checkout-v19 .doplock-checkout-v19-form #payment li.wc_payment_method > label {
  display:inline-flex !important; align-items:center; flex-wrap:wrap; gap:8px; max-width:calc(100% - 28px);
  margin:0 !important; font-size:14px !important; line-height:1.4; vertical-align:middle; cursor:pointer;
}
body.doplock-checkout-v19 .doplock-checkout-v19-form #payment li.wc_payment_method > input[type="radio"] { margin:0 7px 0 0 !important; vertical-align:middle; }
body.doplock-checkout-v19 .doplock-checkout-v19-form #payment li.wc_payment_method > label img {
  height:auto !important; width:auto !important; max-height:24px !important; max-width:100% !important; object-fit:contain;
}
body.doplock-checkout-v19 .doplock-checkout-v19-form #payment .payment_box {
  width:100%; max-width:100%; min-width:0; padding:12px !important; box-sizing:border-box;
  margin:12px 0 0 !important; font-size:14px !important; border-radius:12px !important;
}
body.doplock-checkout-v19 .doplock-checkout-v19-form #payment .place-order { width:100%; margin:16px 0 0 !important; padding:0 !important; }
body.doplock-checkout-v19 .doplock-checkout-v19-form #payment #place_order {
  width:100% !important; min-height:48px !important; height:auto !important;
  padding:14px 18px !important; font-size:14px !important; white-space:normal; line-height:1.3;
}
body.doplock-checkout-v19 .doplock-checkout-v19-form input.input-text,
body.doplock-checkout-v19 .doplock-checkout-v19-form select,
body.doplock-checkout-v19 .doplock-checkout-v19-form textarea { max-width:100%; box-sizing:border-box; }

/* One coupon field on each page, not a second hidden input inside the quantity form. */
body.woocommerce-cart.doplock-cart-coupon-v19 form.woocommerce-cart-form table.cart td.actions .coupon,
body.doplock-cart-coupon-v19 .woocommerce-cart-form .coupon,
body.doplock-cart-coupon-v19 .doplock-cart-v17-coupon,
body.doplock-cart-coupon-v19 .doplock-mobile-cart-coupon { display:none !important; }
form.doplock-coupon-v19-owner { display:none !important; }
.doplock-coupon-v19 {
  display:block !important; box-sizing:border-box; min-width:0; width:100%;
  margin:16px 0 !important; padding:16px !important; border:1px solid #e7e3dc !important;
  border-radius:18px !important; background:#fff !important; box-shadow:none !important;
}
body.woocommerce-cart form.doplock-coupon-v19-cart {
  grid-column:1 / -1; clear:both; max-width:100%; float:none; margin:16px 0 0 !important;
}
body.doplock-checkout-v19 .doplock-coupon-v19-checkout { background:#faf8f5 !important; }
.doplock-coupon-v19 .doplock-coupon-v19-label {
  display:block !important; margin:0 0 10px !important; padding:0 !important;
  font-size:15px !important; font-weight:750 !important; color:#111 !important; line-height:1.35 !important;
}
.doplock-coupon-v19-controls { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:10px; min-width:0; }
.doplock-coupon-v19 .doplock-coupon-v19-controls > input {
  display:block !important; box-sizing:border-box; width:100% !important; max-width:100% !important; min-width:0 !important;
  height:48px !important; min-height:48px !important; margin:0 !important; padding:0 14px !important;
  font-size:16px !important; font-weight:400 !important; line-height:normal !important; letter-spacing:normal !important;
  color:#111 !important; background:#fff !important; border:1px solid #dcd8d3 !important; border-radius:12px !important;
  text-align:left !important; box-shadow:none;
}
.doplock-coupon-v19 .doplock-coupon-v19-controls > button {
  display:flex !important; align-items:center; justify-content:center;
  box-sizing:border-box; min-height:48px !important; height:auto !important;
  padding:11px 18px !important; margin:0 !important; width:auto !important; min-width:0 !important;
  background:#ff6b1a !important; color:#fff !important; border:0 !important; border-radius:999px !important;
  font-size:13px !important; line-height:1.35 !important; font-weight:750 !important; text-align:center !important;
  white-space:normal !important; box-shadow:none !important; transition:none !important; animation:none !important;
}
.doplock-coupon-v19 .doplock-coupon-v19-controls > button:disabled { opacity:.65 !important; cursor:wait; }
.doplock-coupon-v19 button::before,
.doplock-coupon-v19 button::after { content:none !important; }
.doplock-coupon-v19 input:focus-visible,
.doplock-coupon-v19 button:focus-visible { outline:2px solid #b94c10; outline-offset:3px; }
.doplock-coupon-v19 .doplock-coupon-v19-result {
  box-sizing:border-box; display:block; margin:12px 0 0 !important; padding:12px !important;
  border-radius:12px; font-size:13px !important; line-height:1.5 !important;
  white-space:normal !important; word-break:normal !important; overflow-wrap:anywhere;
  text-align:left !important; animation:none !important; transition:none !important;
}
.doplock-coupon-v19 .doplock-coupon-v19-result[hidden] { display:none !important; }
.doplock-coupon-v19-result strong,
.doplock-coupon-v19-result span { display:block !important; color:inherit !important; }
.doplock-coupon-v19-result.is-success { background:#effaf2; color:#166534; border:1px solid #b8e7c7; }
.doplock-coupon-v19-result.is-error { background:#fff3f3; color:#9f2028; border:1px solid #f2b9bf; }
.doplock-coupon-v19-result.is-pending { background:#f7f5f1; color:#50515a; border:1px solid #e7e3dc; }

@media (max-width:782px) {
  body.doplock-checkout-v19 form.checkout.doplock-checkout-v19-form { display:grid !important; grid-template-columns:minmax(0,1fr) !important; gap:16px !important; }
  body.doplock-checkout-v19 .doplock-checkout-v19-details,
  body.doplock-checkout-v19 .doplock-checkout-v19-order { grid-column:1; grid-row:auto; padding:16px; border-radius:22px; }
  body.doplock-checkout-v19 .doplock-checkout-v19-form #order_review_heading,
  body.doplock-checkout-v19 .doplock-checkout-v19-form .woocommerce-billing-fields > h3 { font-size:21px !important; }
  body.doplock-checkout-v19 .doplock-checkout-v19-form input.input-text,
  body.doplock-checkout-v19 .doplock-checkout-v19-form select,
  body.doplock-checkout-v19 .doplock-checkout-v19-form textarea { font-size:16px !important; min-height:46px !important; }
  body.doplock-checkout-v19 .doplock-checkout-v19-form #payment ul.payment_methods > li.wc_payment_method { padding:12px !important; }
  body.doplock-checkout-v19 .doplock-checkout-v19-express { padding:14px 0; }
  .doplock-coupon-v19-controls { grid-template-columns:minmax(0,1fr); gap:9px; }
  .doplock-coupon-v19 .doplock-coupon-v19-controls > button { width:100% !important; }
  .doplock-coupon-v19 { padding:14px !important; }
}
@media (min-width:783px) and (max-width:1000px) {
  .doplock-coupon-v19-checkout .doplock-coupon-v19-controls { grid-template-columns:minmax(0,1fr); }
  .doplock-coupon-v19-checkout .doplock-coupon-v19-controls > button { width:100% !important; }
}
