/* Checkout uses one persistent WooCommerce form across three visible steps. */
.commerce-cart-checkout.has-checkout-wizard { margin-top:28px; }
.commerce-cart-checkout.has-checkout-wizard > h3 { display:none; }
.commerce-cart-notes > summary { padding:12px 0; color:#766655; font:500 13px/1.5 'Montserrat',Arial,sans-serif; cursor:pointer; }
.commerce-cart-notes[open] { padding-bottom:12px; }
.commerce-cart-notes[open] p { font-size:13px; line-height:1.6; }
.commerce-cart-checkout { --checkout-card-bg:#faf5ed; --checkout-card-border:#e4d8c7; --checkout-card-input:#fffdfa; }
.commerce-cart-checkout .checkout-wizard { --checkout-gold:#b0903d; --checkout-ink:#34291f; --checkout-muted:#7e7368; color:var(--checkout-ink); }
.commerce-cart-checkout .checkout-wizard [hidden] { display:none !important; }
.commerce-cart-checkout .checkout-progress { margin:0 0 26px; padding:0; }
.commerce-cart-checkout .checkout-progress ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; gap:8px; margin:0; padding:0; }
.commerce-cart-checkout .checkout-progress li { margin:0; padding:0; min-width:0; }
.commerce-cart-checkout .checkout-progress button { display:flex; width:100%; min-height:58px; padding:10px 2px; align-items:center; justify-content:center; gap:8px; border:0; border-bottom:2px solid #e8dfd4; border-radius:0; background:transparent; color:var(--checkout-muted); font:500 12px/1.4 'Montserrat',Arial,sans-serif; text-transform:none; cursor:pointer; }
.commerce-cart-checkout .checkout-progress button > span { display:grid; place-items:center; flex:0 0 26px; width:26px; height:26px; border:1px solid #ded0ba; border-radius:50%; font-size:12px; }
.commerce-cart-checkout .checkout-progress button[aria-current] { border-color:var(--checkout-gold); color:var(--checkout-ink); }
.commerce-cart-checkout .checkout-progress button[aria-current] > span,
.commerce-cart-checkout .checkout-progress .is-complete > span { background:var(--checkout-gold); border-color:var(--checkout-gold); color:#fff; }
.commerce-cart-checkout .checkout-wizard .woocommerce-billing-fields__field-wrapper { display:block !important; }
.commerce-cart-checkout .checkout-step { min-width:0; margin:0; padding:0; }
.commerce-cart-checkout .checkout-step-contacts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; }
.commerce-cart-checkout .checkout-step-title { margin:0 0 10px; color:var(--checkout-ink); font:500 23px/1.3 'Montserrat',Arial,sans-serif; text-transform:none; letter-spacing:normal; }
.commerce-cart-checkout .checkout-step-hint { margin:0 0 24px; color:var(--checkout-muted); font:400 13px/1.65 'Montserrat',Arial,sans-serif; }
.commerce-cart-checkout .checkout-step-contacts > .checkout-step-title,
.commerce-cart-checkout .checkout-step-contacts > .checkout-step-hint,
.commerce-cart-checkout .checkout-step-contacts #billing_phone_field,
.commerce-cart-checkout .checkout-step-contacts #billing_email_field { grid-column:1 / -1; }
.commerce-cart-checkout .checkout-wizard .form-row { min-width:0; margin:0 0 18px !important; }
.commerce-cart-checkout .checkout-wizard label.checkout-field-label { display:block; position:static; width:auto; height:auto; clip:auto; clip-path:none; overflow:visible; margin:0 0 8px; font:500 13px/1.5 'Montserrat',Arial,sans-serif; color:var(--checkout-ink); }
.commerce-cart-checkout .checkout-required { color:#957325; }
.commerce-cart-checkout form.checkout-wizard input.input-text,
.commerce-cart-checkout form.checkout-wizard #billing_phone,
.commerce-cart-checkout form.checkout-wizard select { min-height:50px !important; border:1px solid #dfd3c4 !important; border-radius:10px !important; background:#fffdfa !important; padding:12px 14px !important; font:400 16px/1.5 'Montserrat',Arial,sans-serif !important; box-shadow:none !important; }
.commerce-cart-checkout form.checkout-wizard .checkout-field-invalid input.input-text { border-color:#b54d37 !important; }
.commerce-cart-checkout .checkout-field-error { display:block; margin-top:7px; color:#a74332; font:400 12px/1.5 'Montserrat',Arial,sans-serif; }
.commerce-cart-checkout .checkout-step-delivery .theobroma-delivery-heading { display:none; }
.commerce-cart-checkout .checkout-step-delivery .theobroma-delivery-methods { margin:0; }
.commerce-cart-checkout .checkout-step-delivery .woocommerce-shipping-methods { gap:12px; }
.commerce-cart-checkout .checkout-step-delivery .theobroma-delivery-methods .woocommerce-shipping-methods li { padding:18px; border:1px solid #e4d9ca; border-radius:12px; background:#fffdfa; margin:0 0 12px; gap:12px; }
.commerce-cart-checkout .checkout-step-delivery .theobroma-delivery-methods .woocommerce-shipping-methods li:has(> input:checked) { border-color:var(--checkout-gold); background:#faf5eb; }
.commerce-cart-checkout .checkout-step-delivery .theobroma-delivery-methods .theobroma-delivery-open { border-radius:8px; min-height:44px; font-size:13px; }
.commerce-cart-checkout .checkout-step-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:14px; padding-top:18px; border-top:1px solid #e7ddd0; }
.commerce-cart-checkout .checkout-step-notice { flex-basis:100%; margin:0; color:#a74332; font:400 13px/1.55 'Montserrat',Arial,sans-serif; }
.commerce-cart-checkout .checkout-step-notice:empty { display:none; }
.commerce-cart-checkout .checkout-step-back,
.commerce-cart-checkout .checkout-step-next { position:static; min-height:50px; height:auto; padding:13px 20px; border:1px solid #d9c8ae; border-radius:999px; font:500 14px/1.5 'Montserrat',Arial,sans-serif; text-transform:none; letter-spacing:normal; cursor:pointer; }
.commerce-cart-checkout .checkout-step-back { background:transparent; color:#756044; }
.commerce-cart-checkout .checkout-step-next { flex:1; margin-left:auto; border-color:var(--checkout-gold); background:var(--checkout-gold); color:#fff; }
.commerce-cart-checkout .checkout-step-next:hover { background:#9d7c30; }
.commerce-cart-checkout .checkout-step-next:disabled { opacity:.55; cursor:wait; }
.commerce-cart-checkout .checkout-review-summary { margin-bottom:24px; }
.commerce-cart-checkout .checkout-review-summary > div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 12px; padding:15px 0; border-bottom:1px solid #e7ddd0; }
.commerce-cart-checkout .checkout-review-summary > div > span { color:var(--checkout-muted); font:400 12px/1.5 'Montserrat',Arial,sans-serif; }
.commerce-cart-checkout .checkout-review-summary p[data-summary-contact],
.commerce-cart-checkout .checkout-review-summary p[data-summary-delivery] { grid-column:1; margin:0; overflow-wrap:anywhere; font:500 13px/1.6 'Montserrat',Arial,sans-serif; }
.commerce-cart-checkout .checkout-review-summary button { grid-column:2; grid-row:1 / 3; align-self:start; padding:6px 0; border:0; border-bottom:1px solid #dbc696; border-radius:0; background:transparent; color:#967426; font:500 12px/1.5 'Montserrat',Arial,sans-serif; cursor:pointer; }
.commerce-cart-checkout .checkout-wizard .theobroma-payment-heading { font:500 20px/1.4 'Montserrat',Arial,sans-serif !important; text-transform:none !important; margin:20px 0 16px; }
.commerce-cart-checkout .checkout-wizard .commerce-checkout-total { display:flex; justify-content:space-between; align-items:baseline; gap:16px; color:var(--checkout-ink); font:500 16px/1.5 'Montserrat',Arial,sans-serif; }
.commerce-cart-checkout .checkout-wizard .commerce-checkout-total strong { white-space:nowrap; }
.commerce-cart-checkout .checkout-wizard #payment .wc_payment_method > label { white-space:normal; }
.commerce-cart-checkout .checkout-wizard .commerce-checkout-consent,
.commerce-cart-checkout .checkout-wizard .woocommerce-terms-and-conditions-wrapper,
.commerce-cart-checkout .checkout-wizard .commerce-checkout-afterword { font-size:12px; line-height:1.6; }
.commerce-cart-checkout .checkout-wizard .woocommerce-error { margin:0 0 20px; padding:16px 16px 16px 34px; font:400 13px/1.6 'Montserrat',Arial,sans-serif; }
.commerce-cart-checkout .commerce-coupon { margin:20px 0 24px; padding:18px; border:1px solid var(--checkout-card-border); border-radius:14px; background:var(--checkout-card-bg); }
.commerce-cart-checkout .commerce-coupon__label { display:block; margin:0 0 12px; color:#34291f; font:500 16px/1.4 'Montserrat',Arial,sans-serif; }
.commerce-cart-checkout .commerce-coupon__controls { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; }
.commerce-cart-checkout .commerce-coupon input[data-coupon-input] { box-sizing:border-box; width:100%; min-width:0; min-height:48px; padding:11px 14px; border:1px solid #d8c9b5; border-radius:9px; background:var(--checkout-card-input); color:#34291f; font:400 16px/1.4 'Montserrat',Arial,sans-serif; }
.commerce-cart-checkout .commerce-coupon input[data-coupon-input]::placeholder { color:#8b8175; }
.commerce-cart-checkout .commerce-coupon button[data-coupon-apply] { min-width:126px; min-height:48px; padding:11px 18px; border:1px solid #b0903d; border-radius:9px; background:#b0903d; color:#fff; font:600 13px/1.4 'Montserrat',Arial,sans-serif; cursor:pointer; }
.commerce-cart-checkout .commerce-coupon button[data-coupon-apply]:hover { background:#98782f; border-color:#98782f; }
.commerce-cart-checkout .commerce-coupon button:disabled { opacity:.55; cursor:wait; }
.commerce-cart-checkout .commerce-coupon__status { margin:10px 0 0; color:#6e614f; font:400 12px/1.5 'Montserrat',Arial,sans-serif; }
.commerce-cart-checkout .commerce-coupon__status:empty { display:none; }
.commerce-cart-checkout .commerce-coupon__status.is-error { color:#a74332; }
.commerce-cart-checkout .commerce-coupon__applied { display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; margin-top:12px; padding-top:12px; border-top:1px solid var(--checkout-card-border); color:#554a3d; font:400 12px/1.5 'Montserrat',Arial,sans-serif; }
.commerce-cart-checkout .commerce-coupon__applied strong { color:#34291f; font-weight:600; }
.commerce-cart-checkout .commerce-coupon__discount { margin-left:auto; color:#7b6129; font-weight:600; white-space:nowrap; }
.commerce-cart-checkout .commerce-coupon__applied button { padding:0; border:0; border-bottom:1px solid currentColor; border-radius:0; background:transparent; color:#7b6129; font:500 12px/1.5 'Montserrat',Arial,sans-serif; cursor:pointer; }
.commerce-cart-checkout .checkout-wizard #payment .theobroma-payment-heading {
  margin:0 !important; padding:18px 18px 0; border:1px solid var(--checkout-card-border); border-bottom:0;
  border-radius:14px 14px 0 0; background:var(--checkout-card-bg); color:var(--checkout-ink) !important;
  font:500 16px/1.4 'Montserrat',Arial,sans-serif !important;
}
.commerce-cart-checkout .checkout-wizard #payment .wc_payment_methods,
.commerce-cart-checkout .checkout-wizard #payment:has(.theobroma-loyalty-checkout) .wc_payment_methods {
  box-sizing:border-box; margin:0 0 24px !important; padding:12px 18px 18px !important;
  border:1px solid var(--checkout-card-border); border-top:0; border-radius:0 0 14px 14px;
  background:var(--checkout-card-bg);
}
.commerce-cart-checkout .checkout-wizard #payment .wc_payment_method {
  border-color:#d8c9b5; border-radius:9px; background:var(--checkout-card-input);
}
.commerce-cart-checkout .checkout-wizard #payment .wc_payment_method:has(> input[type="radio"]:checked) {
  background:var(--checkout-card-input); box-shadow:none;
}
.commerce-cart-checkout .checkout-wizard #payment .theobroma-loyalty-checkout {
  box-sizing:border-box; margin:0 0 24px; padding:18px; border:1px solid var(--checkout-card-border);
  border-radius:14px; background:var(--checkout-card-bg); color:var(--checkout-ink);
}
.commerce-cart-checkout .checkout-wizard #payment:has(.theobroma-loyalty-checkout) .form-row.place-order { padding-top:0 !important; }
.commerce-cart-checkout .checkout-wizard #payment .theobroma-loyalty-checkout h3 {
  margin:0 0 12px !important; color:var(--checkout-ink) !important;
  font:500 16px/1.4 'Montserrat',Arial,sans-serif !important;
}
.commerce-cart-checkout .checkout-wizard #payment .theobroma-loyalty-control label {
  color:#6e614f !important; font:400 12px/1.5 'Montserrat',Arial,sans-serif !important;
}
.commerce-cart-checkout .checkout-wizard #payment .theobroma-loyalty-control input {
  min-height:48px !important; height:48px !important; border-color:#d8c9b5 !important;
  border-radius:9px !important; background:var(--checkout-card-input) !important;
  color:var(--checkout-ink) !important; font:400 16px/1.4 'Montserrat',Arial,sans-serif !important;
}
.commerce-cart-checkout .checkout-wizard #payment .theobroma-loyalty-control button.button {
  min-height:48px; height:48px; border:1px solid var(--checkout-gold); border-radius:9px;
  background:var(--checkout-gold); background-image:none; color:#fff;
  font:600 13px/1.4 'Montserrat',Arial,sans-serif;
}
.commerce-cart-checkout .checkout-wizard #payment .theobroma-loyalty-control button.button:hover {
  border-color:#98782f; background:#98782f;
}
@media(min-width:481px) and (max-width:600px) {
  .commerce-cart-checkout .checkout-wizard #payment .theobroma-loyalty-control {
    grid-template-columns:minmax(0,1fr) 8.125rem;
  }
  .commerce-cart-checkout .checkout-wizard #payment .theobroma-loyalty-control label {
    grid-column:1 / -1;
  }
}
@media(max-width:480px) {
  .commerce-cart-checkout .commerce-coupon { padding:16px; }
  .commerce-cart-checkout .commerce-coupon__controls { grid-template-columns:minmax(0,1fr); }
  .commerce-cart-checkout .commerce-coupon button[data-coupon-apply] { width:100%; }
  .commerce-cart-checkout .checkout-step-contacts { grid-template-columns:minmax(0,1fr); }
  .commerce-cart-checkout .checkout-step-contacts #billing_first_name_field,
  .commerce-cart-checkout .checkout-step-contacts #billing_last_name_field { grid-column:1 / -1; }
  .commerce-cart-checkout .checkout-step-title { font-size:20px; }
  .commerce-cart-checkout .checkout-progress button { flex-direction:column; gap:6px; font-size:11px; }
  .commerce-cart-checkout .checkout-step-back,.commerce-cart-checkout .checkout-step-next { font-size:13px; padding-inline:16px; }
}
