/* Small checkout refresh. Keep WooCommerce fields, validation and gateways intact. */
body.pspr-checkout { background:#f5f5f3; }
body.pspr-checkout #pspr-commerce .pspr-commerce-shell { max-width:1160px; }
body.pspr-checkout :is(#main-content, #pspr-commerce) .et_pb_section { background:transparent !important; padding:12px 0 !important; }
body.pspr-checkout :is(#main-content, #pspr-commerce) .et_pb_row { width:100% !important; max-width:100% !important; }
body.pspr-checkout :is(#main-content, #pspr-commerce) .et_pb_column { min-width:0; }
body.pspr-checkout .woocommerce { font:15px/1.65 Arial,sans-serif; }
body.pspr-checkout .woocommerce h3 { font:700 21px/1.3 Arial,sans-serif !important; margin:0 0 22px !important; padding:0 !important; letter-spacing:-.4px; }
body.pspr-checkout form.checkout { width:100% !important; max-width:none !important; }
body.pspr-checkout #customer_details,
body.pspr-checkout #order_review { float:none !important; width:100% !important; min-width:0; background:#fff; border:1px solid #e4e4df; border-radius:10px; padding:28px; margin:0 0 24px; }
body.pspr-checkout #customer_details .col-1,
body.pspr-checkout #customer_details .col-2 { float:none !important; width:100% !important; max-width:none !important; }
body.pspr-checkout .woocommerce-additional-fields { margin-top:24px; }
body.pspr-checkout #order_review_heading { float:none !important; width:auto !important; margin:8px 0 16px !important; }
body.pspr-checkout .woocommerce form .form-row { padding:0; margin:0 0 18px; min-width:0; }
body.pspr-checkout .woocommerce form .form-row label { color:#343638; font-size:14px; font-weight:600; line-height:1.5; margin-bottom:8px; }
body.pspr-checkout .woocommerce-input-wrapper { display:block; }
body.pspr-checkout .woocommerce form .input-text,
body.pspr-checkout .woocommerce form select { width:100% !important; max-width:100% !important; min-height:48px; background:#fff !important; color:#202124 !important; border:1px solid #c8cbd0 !important; border-radius:6px !important; padding:12px 14px !important; font:16px/1.4 Arial,sans-serif !important; box-shadow:none; }
body.pspr-checkout .woocommerce form textarea.input-text { min-height:108px; resize:vertical; }
body.pspr-checkout .woocommerce form .input-text:focus,
body.pspr-checkout .woocommerce form select:focus { outline:2px solid #a41217; outline-offset:2px; border-color:#a41217 !important; }
body.pspr-checkout .woocommerce form .woocommerce-invalid .input-text { border-color:#b71920 !important; }
body.pspr-checkout .select2-container { width:100% !important; max-width:100%; }
body.pspr-checkout .select2-selection--single { min-height:48px; height:auto !important; border:1px solid #c8cbd0 !important; border-radius:6px !important; background:#fff; }
body.pspr-checkout .select2-selection__rendered { padding:10px 34px 10px 14px !important; line-height:26px !important; color:#202124 !important; font-size:16px; }
body.pspr-checkout .select2-selection__arrow { top:11px !important; right:10px !important; }
body.pspr-checkout .select2-container--focus .select2-selection { outline:2px solid #a41217; outline-offset:2px; }
body.pspr-checkout table.woocommerce-checkout-review-order-table { border:0 !important; border-collapse:collapse; margin:0 0 24px !important; table-layout:auto; }
body.pspr-checkout .woocommerce-checkout-review-order-table th,
body.pspr-checkout .woocommerce-checkout-review-order-table td { padding:14px 0 !important; border:0; border-bottom:1px solid #e9e9e5; vertical-align:top; color:#343638; font-size:14px; }
body.pspr-checkout .woocommerce-checkout-review-order-table .product-name { padding-right:16px !important; overflow-wrap:anywhere; }
body.pspr-checkout .woocommerce-checkout-review-order-table .product-total { text-align:right; }
body.pspr-checkout .woocommerce-checkout-review-order-table tfoot td { text-align:right; }
body.pspr-checkout .woocommerce-checkout-review-order-table .amount { white-space:nowrap; }
body.pspr-checkout .woocommerce-checkout-review-order-table .order-total th,
body.pspr-checkout .woocommerce-checkout-review-order-table .order-total td { font-size:19px; font-weight:700; color:#141517; border-bottom:0; padding-top:20px !important; }
body.pspr-checkout #payment { background:transparent !important; border-radius:0 !important; }
body.pspr-checkout #payment ul.payment_methods { padding:0 !important; border-bottom:1px solid #e4e4df !important; }
body.pspr-checkout #payment ul.payment_methods > li { padding:14px 0; }
body.pspr-checkout #payment ul.payment_methods > li > label { color:#202124; font-weight:600; line-height:1.6; cursor:pointer; }
body.pspr-checkout #payment div.payment_box { background:#f5f5f3 !important; color:#343638 !important; border-radius:6px; padding:16px; font-size:14px; line-height:1.7; }
body.pspr-checkout #payment div.payment_box::before { border-bottom-color:#f5f5f3 !important; }
body.pspr-checkout #payment .place-order { padding:20px 0 0 !important; margin:0; }
body.pspr-checkout .woocommerce-privacy-policy-text,
body.pspr-checkout .woocommerce-terms-and-conditions-wrapper { font-size:13px; line-height:1.75; color:#55585b; overflow-wrap:anywhere; }
body.pspr-checkout .woocommerce-terms-and-conditions-wrapper label { display:block; padding:10px 0; }
body.pspr-checkout #place_order { float:none !important; width:100% !important; margin:18px 0 0 !important; min-height:54px; border-radius:6px !important; font-size:16px !important; letter-spacing:0 !important; white-space:normal; }
body.pspr-checkout #place_order:hover { background:#bf1d22 !important; border-color:#bf1d22 !important; }
body.pspr-checkout #place_order:disabled { opacity:.6; cursor:not-allowed; }
body.pspr-checkout .woocommerce-info,
body.pspr-checkout .woocommerce-error,
body.pspr-checkout .woocommerce-message { border-radius:6px; font-size:14px !important; line-height:1.7; }
body.pspr-checkout .woocommerce-error { border-top-color:#b71920 !important; }
body.pspr-checkout .woocommerce-message { border-top-color:#287344 !important; }
/* Use two columns only for the unmodified, adjacent classic checkout sections.
   Custom/Divi checkout structures retain their DOM order and use the base styles. */
@media(min-width:981px) {
  body.pspr-checkout form.checkout:has(> #customer_details + #order_review_heading + #order_review) { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); column-gap:28px; align-items:start; }
  body.pspr-checkout form.checkout:has(> #customer_details + #order_review_heading + #order_review)::before,
  body.pspr-checkout form.checkout:has(> #customer_details + #order_review_heading + #order_review)::after { display:none; }
  body.pspr-checkout form.checkout:has(> #customer_details + #order_review_heading + #order_review) > * { grid-column:1 / -1; }
  body.pspr-checkout form.checkout:has(> #customer_details + #order_review_heading + #order_review) > #customer_details { grid-column:1; grid-row:auto / span 2; }
  body.pspr-checkout form.checkout:has(> #customer_details + #order_review_heading + #order_review) > #order_review_heading { grid-column:2; grid-row:auto; }
  body.pspr-checkout form.checkout:has(> #customer_details + #order_review_heading + #order_review) > #order_review { grid-column:2; grid-row:auto; }
}
/* WooCommerce Blocks: keep floating labels, validation and gateway components native. */
body.pspr-checkout .wc-block-checkout { width:100%; max-width:none; color:#202124; }
body.pspr-checkout .wc-block-checkout .wc-block-components-main,
body.pspr-checkout .wc-block-checkout .wc-block-components-sidebar { min-width:0; }
body.pspr-checkout .wc-block-checkout .wc-block-components-checkout-step { background:#fff; border:1px solid #e4e4df; border-radius:10px; padding:24px; margin-bottom:18px; }
body.pspr-checkout .wc-block-checkout .wc-block-components-checkout-order-summary__content { background:#fff; border-radius:8px; }
body.pspr-checkout .wc-block-checkout input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body.pspr-checkout .wc-block-checkout textarea,
body.pspr-checkout .wc-block-checkout select { font-size:16px; max-width:100%; }
body.pspr-checkout .wc-block-checkout .wc-block-components-checkout-place-order-button { width:100%; min-height:54px; border-radius:6px !important; }
@media(max-width:980px) {
  body.pspr-checkout #pspr-commerce .pspr-commerce-shell { padding:22px 22px 48px; }
  body.pspr-checkout :is(#main-content, #pspr-commerce) .et_pb_row { padding:0 !important; }
  body.pspr-checkout :is(#main-content, #pspr-commerce) .et_pb_column { width:100% !important; float:none !important; margin-right:0 !important; }
  body.pspr-checkout #customer_details,
  body.pspr-checkout #order_review { padding:24px; }
  body.pspr-checkout .wc-block-checkout.wc-block-components-sidebar-layout { display:flex !important; flex-direction:column; gap:24px; }
  body.pspr-checkout .wc-block-checkout .wc-block-components-main,
  body.pspr-checkout .wc-block-checkout .wc-block-components-sidebar { width:100% !important; padding-left:0 !important; padding-right:0 !important; margin:0 !important; }
}
@media(max-width:600px) {
  body.pspr-checkout #pspr-commerce .pspr-commerce-shell { padding:16px 16px 36px; }
  body.pspr-checkout .pspr-commerce-back { margin-bottom:12px; font-size:13px; }
  body.pspr-checkout #customer_details,
  body.pspr-checkout #order_review { padding:20px 16px; border-radius:8px; }
  body.pspr-checkout .woocommerce h3 { font-size:20px !important; }
  body.pspr-checkout .woocommerce form .form-row-first,
  body.pspr-checkout .woocommerce form .form-row-last { width:100% !important; float:none !important; }
  body.pspr-checkout .woocommerce-checkout-review-order-table th,
  body.pspr-checkout .woocommerce-checkout-review-order-table td { font-size:13px; }
  body.pspr-checkout .woocommerce-checkout-review-order-table .order-total th,
  body.pspr-checkout .woocommerce-checkout-review-order-table .order-total td { font-size:18px; }
  body.pspr-checkout #payment div.payment_box { padding:12px; }
  body.pspr-checkout .wc-block-checkout .wc-block-components-checkout-step { padding:18px 14px; }
  body.pspr-checkout form.checkout_coupon .form-row { width:100% !important; float:none !important; }
  body.pspr-checkout form.checkout_coupon button { width:100%; }
}

/* Shared checkout controls, independent of the campaign shell. */
body.pspr-checkout .woocommerce #place_order,
body.pspr-checkout .wc-block-checkout .wc-block-components-checkout-place-order-button {
  background:#e5252a !important; border:1px solid #e5252a !important; color:#fff !important;
  font:700 16px/1.5 Arial,sans-serif !important; padding:15px 20px !important;
  min-height:54px !important; border-radius:6px !important; text-align:center;
}
body.pspr-checkout .woocommerce #place_order::after { display:none !important; }
body.pspr-checkout .woocommerce #place_order:focus-visible,
body.pspr-checkout .wc-block-checkout button:focus-visible { outline:3px solid #a41217; outline-offset:3px; }
body.pspr-checkout .woocommerce #place_order:disabled,
body.pspr-checkout .wc-block-checkout .wc-block-components-checkout-place-order-button:disabled { opacity:.6; cursor:not-allowed; }
body.pspr-checkout .woocommerce form.checkout,
body.pspr-checkout .woocommerce form.checkout *,
body.pspr-checkout .wc-block-checkout,
body.pspr-checkout .wc-block-checkout * { box-sizing:border-box; }
body.pspr-checkout .woocommerce h3 { color:#202124 !important; }
body.pspr-checkout .woocommerce input.input-text,
body.pspr-checkout .woocommerce textarea { max-width:100%; }
body.pspr-checkout .woocommerce .form-row input[type="checkbox"],
body.pspr-checkout .woocommerce .form-row input[type="radio"] { accent-color:#b71920; }
@media (max-width:980px) {
  body.pspr-checkout #customer_details, body.pspr-checkout #order_review { float:none !important; width:100% !important; }
  body.pspr-checkout :is(#main-content, #pspr-commerce) .et_pb_section { padding-left:16px !important; padding-right:16px !important; }
  body.pspr-checkout #pspr-commerce .et_pb_section { padding-left:0 !important; padding-right:0 !important; }
}
