/* StreamPlus Pay — WooCommerce checkout + thank-you, styled like the streamplus.live
   lead-form / thank-you pages (same panel, "well" inputs, plan chip, success badge).
   Loaded only on the checkout and order-received pages (inc/commerce.php).
   Uses this theme's tokens, which carry the same values as streamplus.live's. */

/* ------------------------------------------------------------------ */
/* Page frame                                                          */
/* ------------------------------------------------------------------ */
/* Panel width: 640px on larger screens, and never closer than 16px to the screen edge
   (the panels used to touch the edges on phones). */
.woocommerce-checkout:not(.woocommerce-order-received) .entry-content { width: calc(100% - 2 * var(--s-4)); max-width: 640px; margin-inline: auto; padding-inline: 0; }
.woocommerce-order-received .entry-content { max-width: none; }
/* The thank-you panel carries its own title; keep the page <h1> for screen readers only. */
.woocommerce-order-received .page-hero { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.woocommerce-order-received .section--tight { padding-top: var(--s-9); }

/* ------------------------------------------------------------------ */
/* Block checkout — layout: order summary on top, form panel below      */
/* ------------------------------------------------------------------ */
body.woocommerce-checkout .wc-block-components-sidebar-layout { display: flex; flex-direction: column; gap: var(--s-5); margin: 0; padding: 0; }
body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-main,
body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-sidebar { width: 100%; max-width: none; padding: 0; margin: 0; }
body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-sidebar { order: -1; }

/* Panels: solid elevated surface, subtle border, --r-lg, violet glow (lead-form__panel) */
body.woocommerce-checkout .wc-block-checkout__main,
body.woocommerce-checkout .wc-block-checkout__sidebar {
  background-color: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: var(--r-lg);
  box-shadow: var(--glow-violet-lg);
}
body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-checkout__main { padding: var(--s-7) var(--s-6); }
body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-checkout__sidebar { padding: var(--s-5) var(--s-6); box-shadow: var(--shadow-card); }
@media (max-width: 479px) {
  body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-checkout__main { padding: var(--s-6) var(--s-4); }
  body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-checkout__sidebar { padding: var(--s-4); }
}
/* Empty totals rows (shipping, fees, taxes, discounts not in use) take no space */
body.woocommerce-checkout .wc-block-components-totals-wrapper:empty { display: none; padding: 0; border: 0; }
body.woocommerce-checkout .wc-block-components-totals-wrapper > :empty:only-child { display: none; }

/* Steps → small uppercase eyebrow, like .lead-form__eyebrow */
body.woocommerce-checkout .wc-block-components-checkout-step { margin: 0 0 var(--s-5); padding: 0; border: 0; }
body.woocommerce-checkout .wc-block-components-checkout-step__heading { margin: 0 0 var(--s-4); }
body.woocommerce-checkout .wc-block-components-checkout-step__title,
body.woocommerce-checkout .wc-block-components-title {
  margin: 0; font-family: var(--font-body); font-size: var(--fs-xs); font-weight: 700;
  letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-secondary);
}
body.woocommerce-checkout .wc-block-components-checkout-step__description { color: var(--text-soft); font-size: var(--fs-sm); }
body.woocommerce-checkout .wc-block-components-checkout-step__content { padding: 0; }
/* Order notes are not part of this form */
body.woocommerce-checkout .wc-block-checkout__order-notes { display: none; }

/* ------------------------------------------------------------------ */
/* Fields — static label above a dark "well" (lead-form__label / __input) */
/* ------------------------------------------------------------------ */
body.woocommerce-checkout .wc-block-components-address-form,
body.woocommerce-checkout .wc-block-components-address-form-wrapper { display: flex; flex-direction: column; gap: var(--s-4); margin: 0; }
body.woocommerce-checkout .wc-block-components-text-input,
body.woocommerce-checkout .wc-blocks-components-select { position: relative; margin: 0; }
/* WooCommerce prints the input before its label (floating-label pattern): put the label on top. */
body.woocommerce-checkout .wc-block-components-text-input { display: flex; flex-direction: column; }
body.woocommerce-checkout .wc-block-components-text-input label { order: -1; }

body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-blocks-components-select__label {
  position: static; transform: none; display: block; max-width: none; width: auto; overflow: visible;
  margin: 0 0 6px; padding: 0; pointer-events: auto;
  font-family: var(--font-body); font-size: 0.8125rem; font-weight: 600; line-height: 1.5; color: var(--text);
  white-space: normal;
}
body.woocommerce-checkout .wc-block-components-text-input.is-active label { transform: none; }

body.woocommerce-checkout .wc-block-components-text-input input[type="text"],
body.woocommerce-checkout .wc-block-components-text-input input[type="email"],
body.woocommerce-checkout .wc-block-components-text-input input[type="tel"],
body.woocommerce-checkout .wc-block-components-text-input input[type="number"],
body.woocommerce-checkout .wc-blocks-components-select__select {
  width: 100%; min-height: 44px; height: auto; margin: 0; padding: 10px 14px;
  background-color: var(--bg-surface); color: var(--text);
  border: 1px solid var(--border-subtle); border-radius: var(--r-sm); box-shadow: none;
  font-family: var(--font-body); font-size: var(--fs-body); line-height: 1.4;
  transition: border-color var(--t-micro) var(--ease);
}
/* WooCommerce Blocks re-pads a field that has text (".is-active") or is autofilled for its floating label
   (padding 24px 9px 8px => 57px tall, text pushed down). Keep the same compact size in every state. */
body.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input.is-active input[type="text"],
body.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input.is-active input[type="email"],
body.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input.is-active input[type="tel"],
body.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input.is-active input[type="number"],
body.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input:-webkit-autofill,
body.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input.is-active input:-webkit-autofill {
  min-height: 44px; padding: 10px 14px; line-height: 1.4;
}
body.woocommerce-checkout .wc-block-components-text-input input::placeholder { color: var(--text-muted); }
body.woocommerce-checkout .wc-block-components-text-input input:hover,
body.woocommerce-checkout .wc-blocks-components-select__select:hover { border-color: var(--border-strong); }
body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-text-input input:focus-visible,
body.woocommerce-checkout .wc-blocks-components-select__select:focus {
  outline: 2px solid var(--violet); outline-offset: 2px; border-color: var(--violet); box-shadow: none;
}
body.woocommerce-checkout .wc-block-components-text-input.has-error input { border-color: var(--live); }
body.woocommerce-checkout .wc-block-components-validation-error,
body.woocommerce-checkout .wc-block-components-validation-error p { color: var(--live); font-size: var(--fs-xs); margin: var(--s-1) 0 0; }
body.woocommerce-checkout .wc-block-components-text-input input:-webkit-autofill { -webkit-box-shadow: 0 0 0 100px var(--bg-surface) inset; -webkit-text-fill-color: var(--text); }

/* Country select: native select, chevron like .lead-form__select */
body.woocommerce-checkout .wc-blocks-components-select__container { position: relative; display: block; background: transparent; border: 0; }
body.woocommerce-checkout .wc-blocks-components-select__select { appearance: none; -webkit-appearance: none; padding-right: var(--s-8); }
body.woocommerce-checkout .wc-blocks-components-select__expand { position: absolute; right: var(--s-4); top: 50%; transform: translateY(-50%); width: 18px; height: 18px; fill: var(--text-secondary); pointer-events: none; }
body.woocommerce-checkout .wc-blocks-components-select__select option { background: var(--bg-elevated); color: var(--text); }

body.woocommerce-checkout .wc-block-checkout__guest-checkout-notice { margin: var(--s-3) 0 0; color: var(--text-secondary); font-size: var(--fs-sm); }
body.woocommerce-checkout .wc-block-components-address-card { background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: var(--r-sm); color: var(--text); padding: var(--s-3) var(--s-4); }
body.woocommerce-checkout .wc-block-components-address-card__edit { color: var(--violet-soft); }

/* ------------------------------------------------------------------ */
/* Payment methods                                                      */
/* ------------------------------------------------------------------ */
body.woocommerce-checkout .wc-block-components-radio-control { margin: 0; }
body.woocommerce-checkout .wc-block-components-radio-control__option,
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option {
  background: var(--bg-surface); color: var(--text);
  border: 1px solid var(--border-subtle); border-radius: var(--r-md); box-shadow: none;
  margin: 0 0 var(--s-3); padding: var(--s-3) var(--s-4) var(--s-3) var(--s-7);
}
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option { border: 0; margin: 0; background: transparent; }
body.woocommerce-checkout .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option-checked,
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted { border-color: var(--violet); box-shadow: none; }
body.woocommerce-checkout .wc-block-components-radio-control__label,
body.woocommerce-checkout .wc-block-components-payment-method-label { color: var(--text); font-weight: 600; }
body.woocommerce-checkout .wc-block-components-radio-control__description,
body.woocommerce-checkout .wc-block-components-radio-control-accordion-content { color: var(--text-soft); font-size: var(--fs-sm); background: transparent; padding: var(--s-2) 0 0; }
body.woocommerce-checkout .wc-block-components-radio-control__input { background: var(--bg-surface); border-color: var(--border-strong); }
body.woocommerce-checkout .wc-block-components-radio-control__input:checked { border-color: var(--violet); }
body.woocommerce-checkout .wc-block-components-radio-control__input:checked::before { background: var(--violet); }

/* Terms / checkboxes */
body.woocommerce-checkout .wc-block-checkout__terms { color: var(--text-secondary); font-size: var(--fs-sm); line-height: 1.5; margin: 0 0 var(--s-4); }
body.woocommerce-checkout .wc-block-checkout__terms a { color: var(--violet-soft); text-decoration: underline; }
body.woocommerce-checkout .wc-block-components-checkbox__input[type="checkbox"] { background: var(--bg-surface); border-color: var(--border-strong); }
body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__label { color: var(--text-soft); }

/* ------------------------------------------------------------------ */
/* Place-order button — same look as .btn--primary .btn--lg             */
/* ------------------------------------------------------------------ */
body.woocommerce-checkout .wc-block-checkout__actions { margin: var(--s-4) 0 0; padding: 0; }
body.woocommerce-checkout .wc-block-checkout__actions_row { display: block; }
body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
  display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 56px; margin: 0; padding: var(--s-2) var(--s-6);
  background: var(--violet); color: #fff; border: 1px solid transparent; border-radius: var(--r-md); box-shadow: var(--glow-cta);
  font-family: var(--font-body); font-size: var(--fs-lg); font-weight: 600; line-height: 1.3; cursor: pointer;
  transition: background var(--t-micro) var(--ease), box-shadow var(--t-micro) var(--ease), transform var(--t-micro) var(--ease);
}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover:not(:disabled) { background: var(--violet-bright); box-shadow: 0 0 36px var(--violet-glow); transform: translateY(-2px); }
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:active { transform: translateY(0); }
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:disabled { opacity: .6; cursor: not-allowed; }
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:focus-visible { outline: 2px solid var(--violet-bright); outline-offset: 2px; }
body.woocommerce-checkout .wc-block-components-checkout-place-order-button .wc-block-components-button__text { color: inherit; }

/* ------------------------------------------------------------------ */
/* Order summary (the "your request" block, above the form)             */
/* ------------------------------------------------------------------ */
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title { padding: 0; margin: 0 0 var(--s-3); border: 0; cursor: default; pointer-events: none; }
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-icon { display: none; }
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-price { display: none; }   /* the plan row and the total show the price */
body.woocommerce-checkout .wc-block-checkout__sidebar.is-sticky { position: static; top: auto; }
/* WooCommerce repeats the summary inside the form on narrow layouts; the panel above is shown at every width. */
body.woocommerce-checkout .checkout-order-summary-block-fill-wrapper { display: none; }
body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-sidebar { display: block; }
/* The plan summary is always open (it replaces the collapsible mobile accordion). */
body.woocommerce-checkout .wc-block-components-checkout-order-summary__content { display: block !important; }
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text { margin: 0; font-family: var(--font-body); font-size: var(--fs-xs) !important; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-secondary); }
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-price { color: var(--text); font-family: var(--font-heading); font-weight: 700; }
body.woocommerce-checkout .wc-block-components-checkout-order-summary__content { padding: 0; }
body.woocommerce-checkout .wc-block-components-totals-wrapper { border-color: var(--border-subtle); padding: var(--s-3) 0; }
body.woocommerce-checkout .wc-block-components-totals-wrapper:first-child { padding-top: 0; }
body.woocommerce-checkout .wc-block-components-order-summary { padding: 0; }
body.woocommerce-checkout .wc-block-components-order-summary-item { padding: 0; align-items: center; }
body.woocommerce-checkout .wc-block-components-order-summary-item__image { display: none; }   /* digital plans have no product image */
body.woocommerce-checkout .wc-block-components-order-summary-item__description { padding: 0; }
body.woocommerce-checkout .wc-block-components-product-name { font-family: var(--font-heading); font-size: var(--fs-lg); font-weight: 600; color: var(--text); margin: 0; }
body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices { display: none; }
body.woocommerce-checkout .wc-block-components-product-price,
body.woocommerce-checkout .wc-block-components-product-price__value { color: var(--text); font-family: var(--font-heading); font-weight: 700; }
body.woocommerce-checkout .wc-block-components-totals-item { color: var(--text-soft); font-size: var(--fs-sm); }
body.woocommerce-checkout .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-item__value { color: inherit; }
body.woocommerce-checkout .wc-block-components-totals-footer-item { color: var(--text); font-size: var(--fs-lg); font-weight: 700; }
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-family: var(--font-heading); }
body.woocommerce-checkout .wc-block-components-totals-coupon,
body.woocommerce-checkout .wc-block-components-panel__button { color: var(--violet-soft); background: transparent; font-size: var(--fs-sm); }
body.woocommerce-checkout .wc-block-components-panel__button-icon { fill: var(--violet-soft); }
body.woocommerce-checkout .wc-block-components-order-summary-item__quantity { display: none; }

/* ------------------------------------------------------------------ */
/* Field order: Full name → Phone / WhatsApp → Email → Country → payment  */
/* WooCommerce keeps Email in its own "Contact" step and Country/Name/Phone */
/* in the "Billing" step. Both steps are flattened (display: contents) so */
/* their fields become siblings of one flex column and can be ordered.    */
/* ------------------------------------------------------------------ */
body.woocommerce-checkout .wc-block-checkout__form { display: flex; flex-direction: column; gap: var(--s-4); }
body.woocommerce-checkout .wc-block-checkout__form > * { min-width: 0; }
body.woocommerce-checkout .wc-block-checkout__contact-fields,
body.woocommerce-checkout .wc-block-checkout__billing-fields,
body.woocommerce-checkout .wc-block-checkout__contact-fields > .wc-block-components-checkout-step__content,
body.woocommerce-checkout .wc-block-checkout__billing-fields > .wc-block-components-checkout-step__content,
body.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-address-form,
body.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-address-address-wrapper,
body.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-address-form-wrapper,
body.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-address-form { display: contents; }
/* the two step titles no longer describe a single group: keep them for screen readers only */
body.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-checkout-step__heading-container,
body.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-checkout-step__heading-container {
  position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap;
}
/* No CSS "order" any more: the DOM itself is Full name, Phone, Email, Country, note, payment
   (inc/commerce.php orders the fields), so visual, keyboard and screen-reader order are identical. */
body.woocommerce-checkout .wc-block-checkout__guest-checkout-notice { margin: 0; }
body.woocommerce-checkout .wc-block-checkout__payment-method { margin-top: var(--s-2); }
/* Empty notice holders must not add a gap; real notices still show as normal flex items */
body.woocommerce-checkout .wc-block-checkout__form .wc-block-components-notices { display: contents; }
/* Hidden placeholder of the "saved address" card while the address form is being edited */
body.woocommerce-checkout .wc-block-components-address-address-wrapper.is-editing > .wc-block-components-address-card-wrapper { display: none; }
body.woocommerce-checkout .wc-block-checkout__form > :empty,
body.woocommerce-checkout .wc-block-checkout__form .wp-block-woocommerce-checkout-shipping-method-block:empty,
body.woocommerce-checkout .wc-block-checkout__form .wp-block-woocommerce-checkout-pickup-options-block:empty { display: none; }

/* Hint under the customer fields: small, muted, not an alert */
body.woocommerce-checkout .spp-checkout-note {
  margin: 0; padding: 0 0 0 var(--s-3); border-left: 2px solid var(--border-strong);
  color: var(--text-secondary); font-size: 0.8125rem; line-height: 1.5; overflow-wrap: anywhere;
}

/* Responsive safety: nothing may be wider than its panel */
body.woocommerce-checkout .wc-block-checkout__main,
body.woocommerce-checkout .wc-block-checkout__sidebar { box-sizing: border-box; max-width: 100%; min-width: 0; }
body.woocommerce-checkout .wc-block-checkout__main iframe,
body.woocommerce-checkout .wc-block-checkout__main img,
body.woocommerce-checkout .wc-block-checkout__main [class*="paypal"],
body.woocommerce-checkout .wc-block-checkout__main [id*="paypal"] { max-width: 100%; }
body.woocommerce-checkout .wc-block-components-radio-control__option-layout,
body.woocommerce-checkout .wc-block-components-radio-control__label-group,
body.woocommerce-checkout .wc-block-components-order-summary-item__description,
body.woocommerce-checkout .wc-block-components-product-name { min-width: 0; overflow-wrap: anywhere; }
body.woocommerce-checkout .wc-block-components-order-summary-item { gap: var(--s-3); }
body.woocommerce-checkout .wc-block-components-order-summary-item__total-price { margin-left: auto; white-space: nowrap; align-self: center; }
body.woocommerce-checkout .wc-block-components-product-price__value { white-space: nowrap; }

/* Notices / errors */
body.woocommerce-checkout .wc-block-components-notice-banner {
  background: var(--bg-surface); color: var(--text); border: 1px solid var(--border-subtle); border-left: 3px solid var(--violet-bright);
  border-radius: var(--r-md); padding: var(--s-4) var(--s-5); font-size: var(--fs-sm);
}
body.woocommerce-checkout .wc-block-components-notice-banner.is-error { background: rgba(239, 68, 68, 0.08); border-color: #EF4444; }
body.woocommerce-checkout .wc-block-components-notice-banner.is-success { border-left-color: var(--success); }
body.woocommerce-checkout .wc-block-components-notice-banner svg { fill: currentColor; background: transparent; }
body.woocommerce-checkout .wc-block-components-notice-banner a { color: var(--violet-soft); }
body.woocommerce-checkout .wc-block-components-spinner { color: var(--violet-bright); }
body.woocommerce-checkout .wc-block-components-loading-mask__children { opacity: .5; }

/* ------------------------------------------------------------------ */
/* "Verify your e-mail to view this order" (WooCommerce guest privacy gate) */
/* Shown when the order link is opened without the ordering session.    */
/* ------------------------------------------------------------------ */
.woocommerce-order-received .entry-content > .woocommerce { max-width: 480px; margin-inline: auto; }
.woocommerce-order-received p.woocommerce-notice { margin: 0 0 var(--s-4); color: var(--text-soft); font-size: var(--fs-sm); text-align: center; }
.woocommerce-verify-email { background: var(--bg-elevated); border: 1px solid var(--border-subtle); border-radius: var(--r-lg); box-shadow: var(--shadow-card); padding: var(--s-6); }
.woocommerce-verify-email p { margin: 0 0 var(--s-4); color: var(--text-soft); font-size: var(--fs-sm); line-height: 1.5; }
.woocommerce-verify-email a { color: var(--violet-soft); text-decoration: underline; }
.woocommerce-verify-email label { display: block; margin: 0 0 var(--s-2); color: var(--text); font-size: var(--fs-sm); font-weight: 600; }
body.woocommerce-order-received form.woocommerce-verify-email .form-row { margin: 0 0 var(--s-4); padding: 0; }
body.woocommerce-order-received form.woocommerce-verify-email .form-row input.input-text { width: 100%; min-height: 48px; padding: var(--s-3) var(--s-4); background: var(--bg-surface); color: var(--text); border: 1px solid var(--border-subtle); border-radius: var(--r-sm); font: inherit; box-sizing: border-box; }
body.woocommerce-order-received form.woocommerce-verify-email .form-row input.input-text:focus { outline: 2px solid var(--violet); outline-offset: 2px; border-color: var(--violet); }
.woocommerce-verify-email .required { color: var(--live); text-decoration: none; }
.woocommerce-verify-email button.button { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; margin-top: var(--s-2); padding: var(--s-2) var(--s-6); background: var(--violet); color: #fff; border: 1px solid transparent; border-radius: var(--r-md); box-shadow: var(--glow-cta); font: 600 var(--fs-body)/1.3 var(--font-body); cursor: pointer; }
.woocommerce-verify-email button.button:hover { background: var(--violet-bright); }

/* ------------------------------------------------------------------ */
/* Thank-you page — port of streamplus.live lead-form.css + thank-you.css */
/* ------------------------------------------------------------------ */
.spp-thankyou .lead-form { padding-block: var(--s-8); }
.spp-thankyou .lead-form__inner { max-width: 480px; margin-inline: auto; padding-inline: var(--s-5); }
.spp-thankyou .lead-form__panel {
  padding: var(--s-6); text-align: center;
  background-color: var(--bg-elevated); border: 1px solid var(--success); border-radius: var(--r-lg);
  box-shadow: 0 0 40px rgba(34, 197, 94, 0.16);
}
.spp-thankyou .thank-you__panel--failed { border-color: var(--live); box-shadow: 0 0 40px rgba(239, 68, 68, 0.14); }
@media (max-width: 479px) {
  .spp-thankyou .lead-form__inner { padding-inline: 0; }   /* page gutter (16px) only, same as the checkout */
  .spp-thankyou .lead-form__panel { padding: var(--s-5) var(--s-4); }
}
.spp-thankyou .thank-you__icon-wrap {
  display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin-inline: auto;
  border-radius: var(--r-full); background-color: rgba(34, 197, 94, 0.12); border: 1px solid var(--success);
}
.spp-thankyou .thank-you__panel--failed .thank-you__icon-wrap { background-color: rgba(239, 68, 68, 0.12); border-color: var(--live); }
.spp-thankyou .thank-you__icon { width: 20px; height: 20px; color: var(--success); }
.spp-thankyou .thank-you__panel--failed .thank-you__icon { color: var(--live); }
.spp-thankyou .lead-form__title { margin: var(--s-4) 0 0; font-family: var(--font-heading); font-size: var(--fs-h3); line-height: 1.25; font-weight: 700; color: var(--text); }
.spp-thankyou .lead-form__subtitle { max-width: 34ch; margin: var(--s-1) auto 0; font-size: var(--fs-sm); line-height: 1.5; color: var(--text-soft); }
.spp-thankyou .lead-form__subtitle + .lead-form__subtitle { margin-top: var(--s-2); }

.spp-thankyou .lead-form__request { display: flex; flex-direction: column; align-items: center; gap: var(--s-2); margin-top: var(--s-5); padding-top: var(--s-5); border-top: 1px solid var(--border-subtle); text-align: center; }
.spp-thankyou .lead-form__eyebrow { font-size: var(--fs-xs); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-secondary); }
.spp-thankyou .lead-form__plan { display: inline-flex; padding: var(--s-2) var(--s-4); background-color: var(--violet-muted); border: 1px solid var(--violet); border-radius: var(--r-full); font-family: var(--font-heading); font-size: var(--fs-lg); font-weight: 600; color: var(--text); }
.spp-thankyou .lead-form__plan-price { display: flex; align-items: baseline; gap: var(--s-3); }
.spp-thankyou .pricing-card__price { font-family: var(--font-heading); font-size: 1.375rem; font-weight: 700; color: var(--text); }
.spp-thankyou .pricing-card__price .woocommerce-Price-amount { font: inherit; color: inherit; }

/* Order data: same label/value rhythm as the form summary */
.spp-thankyou .thank-you__details { margin-top: var(--s-5); padding-top: var(--s-5); border-top: 1px solid var(--border-subtle); text-align: left; }
.spp-thankyou .thank-you__details .lead-form__eyebrow { display: block; text-align: center; }
.spp-thankyou .thank-you__list { margin: var(--s-3) 0 0; }
.spp-thankyou .thank-you__row { display: flex; justify-content: space-between; gap: var(--s-4); padding: var(--s-2) 0; font-size: var(--fs-sm); }
.spp-thankyou .thank-you__row dt { color: var(--text-secondary); flex: 0 0 auto; }
.spp-thankyou .thank-you__row dd { margin: 0; color: var(--text); text-align: right; font-weight: 600; word-break: break-word; min-width: 0; }

.spp-thankyou .lead-form__next { margin-top: var(--s-5); padding-top: var(--s-5); border-top: 1px solid var(--border-subtle); text-align: left; }
.spp-thankyou .lead-form__next-title { display: block; font-size: var(--fs-xs); font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-secondary); }
.spp-thankyou .lead-form__next-list { margin-top: var(--s-3); display: flex; flex-direction: column; gap: var(--s-2); }
.spp-thankyou .lead-form__next-item { display: flex; align-items: center; gap: var(--s-3); font-size: var(--fs-sm); color: var(--text); }
.spp-thankyou .lead-form__next-number { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: var(--r-full); background-color: var(--violet-muted); font-family: var(--font-heading); font-size: var(--fs-xs); font-weight: 700; color: var(--violet-bright); }

/* Business-hours reassurance (inside "What happens next") */
.spp-thankyou .thank-you__hours { display: flex; align-items: flex-start; gap: var(--s-3); margin: var(--s-4) 0 0; padding: var(--s-3) var(--s-4); background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: var(--r-md); color: var(--text-soft); font-size: 0.8125rem; line-height: 1.5; text-align: left; }
.spp-thankyou .thank-you__hours-icon { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 1px; color: var(--violet-soft); }
.spp-thankyou .thank-you__hours span { min-width: 0; overflow-wrap: anywhere; }

/* Responsive safety for the thank-you panel */
.spp-thankyou .lead-form__panel, .spp-thankyou .lead-form__inner { box-sizing: border-box; max-width: 100%; min-width: 0; }
.spp-thankyou .lead-form__plan { max-width: 100%; text-align: center; overflow-wrap: anywhere; }
.spp-thankyou .lead-form__subtitle, .spp-thankyou .lead-form__title { overflow-wrap: anywhere; }
.spp-thankyou .thank-you__row dt { flex: 0 1 auto; }
.spp-thankyou .thank-you__row dd { overflow-wrap: anywhere; }
.spp-thankyou .lead-form__next-item span:last-child { min-width: 0; overflow-wrap: anywhere; }

.spp-thankyou .thank-you__cta { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; margin-top: var(--s-5); padding: var(--s-2) var(--s-6); border-radius: var(--r-md); background: var(--violet); color: #fff; font-weight: 600; text-decoration: none; box-shadow: var(--glow-cta); transition: background var(--t-micro) var(--ease), transform var(--t-micro) var(--ease); }
.spp-thankyou .thank-you__cta:hover { background: var(--violet-bright); transform: translateY(-2px); }
@media (min-width: 480px) { .spp-thankyou .thank-you__cta { width: auto; min-width: 200px; } }

/* ------------------------------------------------------------------ */
/* Coupon form ("Add coupons"): the Apply button follows the StreamPlus */
/* secondary-button look and the input's height / radius. WordPress'    */
/* global .wp-element-button style (grey, square) and WooCommerce       */
/* Blocks' min-height / flex rules otherwise leave it grey, square and  */
/* stretched to the height of the label + input column.                */
/* ------------------------------------------------------------------ */
body.woocommerce-checkout .wc-block-components-totals-coupon__form { align-items: flex-end; }
body.woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__input { min-width: 0; }
body.woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-button.wc-block-components-totals-coupon__button {
  flex: 0 0 auto; min-width: 96px; height: 44px; min-height: 44px; padding: 0 var(--s-5); justify-content: center;
  background: rgba(255, 255, 255, 0.02); color: var(--text); border: 1px solid var(--border-strong); border-radius: var(--r-sm); box-shadow: none;
  font-family: var(--font-body); font-size: var(--fs-sm); font-weight: 600; line-height: 1; cursor: pointer;
  transition: border-color var(--t-micro) var(--ease), background var(--t-micro) var(--ease), color var(--t-micro) var(--ease);
}
body.woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-button.wc-block-components-totals-coupon__button:hover:not(:disabled) { border-color: var(--violet-bright); color: var(--violet-soft); background: var(--violet-muted); }
body.woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-button.wc-block-components-totals-coupon__button:disabled { opacity: 0.5; cursor: not-allowed; }
body.woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-button.wc-block-components-totals-coupon__button:focus-visible { outline: 2px solid var(--violet); outline-offset: 2px; }

/* Coupon code input: keep the compact size while focused. WooCommerce Blocks re-pads a focused ".is-active" text input
   (padding-top 24px, padding-left 8.5px) and this input sits outside the checkout form, where the customer-field override applies. */
body.woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-text-input.wc-block-components-totals-coupon__input input[type="text"] { min-height: 44px; padding: 10px 14px; line-height: 1.4; }

/* Payment method box: the outer accordion box and the inner label row both carried the 48px left padding of the generic option rule above, which indented the radio and label ~48px past the content below and narrowed the content area. The box keeps one padding; the label row only reserves room for the radio. */
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option { padding: var(--s-3) var(--s-4); }
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option { padding: 0; }
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option-layout { padding-left: 32px; }
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__input { left: 0; }
