/* ============================================
   RTKdata Checkout & Thank You — SOTA Redesign
   Stripe/Linear quality. Astra + GZD proof.

   DOM Reality (GZD JS restructures AFTER page load):
   form.checkout
     ├─ #customer_details         (LEFT  col — grid item)
     ├─ h3#order_review_heading   (HIDDEN)
     ├─ #order_review             (RIGHT col — payment methods only)
     ├─ .wc-gzd-checkbox-legal    (RIGHT col — terms checkbox)
     ├─ .wc-gzd-order-submit      (RIGHT col — contains table + button)
     │   ├─ table.review-order     (moved here by GZD JS!)
     │   └─ .wc-gzd-place-order   (button + back link)
     ├─ .rtk-checkout-trust       (RIGHT col — trust signals)
     └─ (hidden inputs, empty GZD placeholders)
   ============================================ */

/* ============================================
   0. DESIGN TOKENS
   ============================================ */
body.rtk-checkout-page {
  --rtk-primary: #0066FF;
  --rtk-primary-hover: #0052CC;
  --rtk-primary-light: #EBF5FF;
  --rtk-bg: #F5F6F8;
  --rtk-card-bg: #FFFFFF;
  --rtk-heading: #1A202C;
  --rtk-text: #374151;
  --rtk-text-secondary: #64748B;
  --rtk-text-muted: #94A3B8;
  --rtk-label: #6B7280;
  --rtk-border: #E5E7EB;
  --rtk-divider: #F3F4F6;
  --rtk-hover-bg: #F8FAFC;
  --rtk-success: #059669;
  --rtk-success-bg: #ECFDF5;
  --rtk-warning: #D97706;
  --rtk-warning-bg: #FFFBEB;
  --rtk-error: #DC2626;
  --rtk-error-bg: #FEF2F2;
  --rtk-placeholder: #C4C9D2;
  --rtk-shadow: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
  --rtk-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
  --rtk-radius: 12px;
  --rtk-radius-sm: 8px;
  --rtk-transition: 150ms ease;
  background: var(--rtk-bg) !important;
}

/* ============================================
   1. ASTRA + ELEMENTOR FULL RESET
   ============================================ */

/* Page background & article card */
body.rtk-checkout-page .ast-separate-container .ast-article-single,
body.rtk-checkout-page .ast-plain-container .ast-article-single,
body.rtk-checkout-page article.ast-article-single,
body.rtk-checkout-page article.ast-one-column-checkout {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  border: none !important;
}

/* Container */
body.rtk-checkout-page #content .ast-container,
body.rtk-checkout-page .site-content .ast-container {
  max-width: 1200px !important;
  width: 100% !important;
  padding: 0 24px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

body.rtk-checkout-page #primary,
body.rtk-checkout-page .content-area,
body.rtk-checkout-page #main,
body.rtk-checkout-page .site-main {
  padding: 0 !important;
  margin: 0 auto !important;
  max-width: 100% !important;
  float: none !important;
  width: 100% !important;
}

body.rtk-checkout-page article,
body.rtk-checkout-page .entry-content {
  padding: 0 !important;
  margin: 0 !important;
}

/* Elementor wrapper */
body.rtk-checkout-page .elementor-shortcode,
body.rtk-checkout-page .elementor-widget-container,
body.rtk-checkout-page .elementor-widget-shortcode {
  width: 100% !important;
  max-width: 100% !important;
}

body.rtk-checkout-page .e-con-boxed > .e-con-inner {
  max-width: 1200px !important;
  padding: 0 !important;
}

/* Page title */
body.rtk-checkout-page .entry-title,
body.rtk-checkout-page .page-title,
body.rtk-checkout-page .ast-the-title,
body.rtk-checkout-page h3#order_review_heading {
  display: none !important;
}

/* Astra Modern Checkout: hide elements we DON'T want */
body.rtk-checkout-page .ast-logged-in-customer-info,
body.rtk-checkout-page .ast-mobile-order-review-wrap,
body.rtk-checkout-page .ast-back-to-cart {
  display: none !important;
}

/* =====================================================
   AST-CUSTOMER-INFO — Email / Login / Create Account
   Real DOM (Astra Modern Checkout):
     .ast-customer-info
       .ast-customer-info__notice.woocommerce-error
       .woocommerce-billing-fields-custom
         .ast-checkout-form-heading  (h3 + login label)
         .woocommerce-billing-fields__customer-info-wrapper
           #billing_email_field  (.form-row)
             label + input + .ast-email-validation-block
           #ast-customer-login-section
             .ast-customer-login-inner-wrap
               #billing_password_field  (.form-row)
               .ast-customer-login-actions  (button + lost pw link)
           .ast-create-account-section
             .create-account > #account_password_field
   ===================================================== */

/* --- Card container --- */
body.rtk-checkout-page .ast-customer-info {
  background: var(--rtk-card-bg) !important;
  border: 1px solid var(--rtk-border) !important;
  border-radius: var(--rtk-radius) !important;
  padding: 28px !important;
  margin-bottom: 16px !important;
  box-shadow: var(--rtk-shadow) !important;
}

/* Hide when logged in — WordPress adds .logged-in to body */
body.rtk-checkout-page.logged-in .ast-customer-info {
  display: none !important;
}

/* --- Empty error notice container (hide when empty) --- */
body.rtk-checkout-page .ast-customer-info__notice:empty {
  display: none !important;
}

body.rtk-checkout-page .ast-customer-info__notice {
  color: var(--rtk-error) !important;
  background: var(--rtk-error-bg) !important;
  border: none !important;
  border-radius: var(--rtk-radius-sm) !important;
  padding: 10px 14px !important;
  margin: 0 0 16px 0 !important;
  font-size: 13px !important;
  list-style: none !important;
}

/* --- Heading: "Already have an account? Log in" --- */
body.rtk-checkout-page .ast-checkout-form-heading {
  margin: 0 0 20px 0 !important;
  padding: 0 0 16px 0 !important;
  border-bottom: 1px solid var(--rtk-divider) !important;
}

body.rtk-checkout-page .ast-checkout-form-heading h3 {
  display: none !important;
}

body.rtk-checkout-page .woocommerce-billing-fields__customer-login-label {
  font-size: 14px !important;
  color: var(--rtk-text) !important;
  margin: 0 !important;
}

body.rtk-checkout-page .woocommerce-billing-fields__customer-login-label a {
  color: var(--rtk-primary) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

body.rtk-checkout-page .woocommerce-billing-fields__customer-login-label a:hover {
  text-decoration: underline !important;
}

/* --- Labels (match billing card: line ~793) --- */
body.rtk-checkout-page .ast-customer-info label {
  font-size: 12px !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  color: var(--rtk-label) !important;
  margin-bottom: 0 !important;
  line-height: 1.3 !important;
  display: block !important;
  position: static !important;
  transform: none !important;
  opacity: 1 !important;
  background: transparent !important;
  pointer-events: auto !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  z-index: auto !important;
  white-space: normal !important;
  transition: none !important;
}

body.rtk-checkout-page .ast-customer-info label .required {
  color: var(--rtk-error) !important;
}

/* --- Inputs (email + password) --- */
body.rtk-checkout-page .ast-customer-info input.input-text {
  width: 100% !important;
  padding: 10px 14px !important;
  border: 1px solid var(--rtk-border) !important;
  border-radius: var(--rtk-radius-sm) !important;
  font-size: 14px !important;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  background: var(--rtk-card-bg) !important;
  color: var(--rtk-text) !important;
  transition: border-color var(--rtk-transition) !important;
  box-sizing: border-box !important;
  height: auto !important;
}

body.rtk-checkout-page .ast-customer-info input.input-text:focus {
  border-color: var(--rtk-primary) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(0, 102, 255, 0.1) !important;
}

/* --- Input wrapper: kill Astra floating label positioning --- */
body.rtk-checkout-page .ast-customer-info .woocommerce-input-wrapper {
  position: static !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
  display: block !important;
  width: 100% !important;
}

/* --- Password wrapper: accommodate show/hide button --- */
body.rtk-checkout-page .ast-customer-info .woocommerce-input-wrapper.password-input {
  position: relative !important;
}

body.rtk-checkout-page .ast-customer-info .show-password-input {
  position: absolute !important;
  right: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background: none !important;
  border: none !important;
  padding: 4px !important;
  cursor: pointer !important;
  color: var(--rtk-text-muted) !important;
  line-height: 1 !important;
}

body.rtk-checkout-page .ast-customer-info .show-password-input:hover {
  color: var(--rtk-text) !important;
}

/* --- Form rows --- */
body.rtk-checkout-page .ast-customer-info .form-row {
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
}

/* Kill Astra's animate-input absolute positioning */
body.rtk-checkout-page .ast-customer-info .form-row.ast-animate-input {
  position: static !important;
}

/* --- Email validation message ("This user is already registered…") --- */
body.rtk-checkout-page .ast-email-validation-block {
  display: block !important;
  font-size: 13px !important;
  margin-top: 6px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}

body.rtk-checkout-page .ast-email-validation-block.success {
  color: var(--rtk-success) !important;
}

body.rtk-checkout-page .ast-email-validation-block.error {
  color: var(--rtk-error) !important;
}

/* --- Login section wrapper --- */
body.rtk-checkout-page #ast-customer-login-section {
  margin-top: 0 !important;
  padding: 0 !important;
}

body.rtk-checkout-page .ast-customer-login-inner-wrap {
  padding: 0 !important;
  margin: 0 !important;
}

/* --- Login actions: button + lost password inline --- */
body.rtk-checkout-page .ast-customer-login-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-top: 4px !important;
}

/* Login button */
body.rtk-checkout-page .ast-customer-login-section__login-button {
  background: var(--rtk-primary) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--rtk-radius-sm) !important;
  padding: 12px 28px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  cursor: pointer !important;
  transition: background-color var(--rtk-transition) !important;
  line-height: 1 !important;
  min-width: 0 !important;
  width: auto !important;
}

body.rtk-checkout-page .ast-customer-login-section__login-button:hover {
  background: var(--rtk-primary-hover) !important;
}

/* Lost password link */
body.rtk-checkout-page .ast-customer-login-lost-password-url {
  color: var(--rtk-text-secondary) !important;
  font-size: 13px !important;
  text-decoration: none !important;
}

body.rtk-checkout-page .ast-customer-login-lost-password-url:hover {
  color: var(--rtk-primary) !important;
}

/* --- Create Account section (for new customers) --- */
body.rtk-checkout-page .ast-create-account-section {
  margin-top: 16px !important;
  padding-top: 16px !important;
  border-top: 1px solid var(--rtk-divider) !important;
}

body.rtk-checkout-page .ast-create-account-section .create-account {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}

/* Hide ALL other coupon UIs — we render our own via PHP hook */
body.rtk-checkout-page #ast-checkout-coupon {
  display: none !important;
}

/* RTK Coupon Bar — full-width between order summary and form */
body.rtk-checkout-page .rtk-coupon-bar {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  max-width: 1200px !important;
  margin-bottom: 24px !important;
}

body.rtk-checkout-page .rtk-coupon-bar__input {
  height: 42px !important;
  border: 1px solid var(--rtk-border) !important;
  border-radius: var(--rtk-radius-sm) !important;
  padding: 8px 14px !important;
  font-size: 14px !important;
  color: var(--rtk-heading) !important;
  background: var(--rtk-card-bg) !important;
  outline: none !important;
  box-sizing: border-box !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
}

body.rtk-checkout-page .rtk-coupon-bar__input:focus {
  border-color: var(--rtk-primary) !important;
  box-shadow: 0 0 0 3px rgba(0, 102, 255, 0.1) !important;
}

body.rtk-checkout-page .rtk-coupon-bar__input::placeholder {
  color: var(--rtk-placeholder) !important;
}

body.rtk-checkout-page .rtk-coupon-bar__btn {
  height: 42px !important;
  background: var(--rtk-hover-bg) !important;
  color: var(--rtk-text) !important;
  border: 1px solid var(--rtk-border) !important;
  border-radius: var(--rtk-radius-sm) !important;
  padding: 0 18px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}

body.rtk-checkout-page .rtk-coupon-bar__btn:hover {
  border-color: var(--rtk-primary) !important;
  background: var(--rtk-card-bg) !important;
}

body.rtk-checkout-page .rtk-coupon-bar__msg {
  font-size: 13px !important;
  margin-left: 4px !important;
}

body.rtk-checkout-page .rtk-coupon-bar__msg--success {
  color: var(--rtk-success) !important;
}

body.rtk-checkout-page .rtk-coupon-bar__msg--error {
  color: var(--rtk-error) !important;
}

/* === ELEMENTOR BORDER KILL ===
   Elementor sets border on .e-checkout__order_review-2 via inline CSS.
   This is the "phantom border" around the Order Summary.
   Match Elementor's specificity and nuke it. */
.elementor-widget-woocommerce-checkout-page .woocommerce .e-checkout__order_review,
.elementor-widget-woocommerce-checkout-page .woocommerce .e-checkout__order_review-2,
body.rtk-checkout-page .e-checkout__order_review,
body.rtk-checkout-page .e-checkout__order_review-2,
body.rtk-checkout-page [class*="e-checkout__order_review"] {
  border: none !important;
  border-width: 0 !important;
  border-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* WooCommerce Payments / Stripe plugin borders */
body.rtk-checkout-page .wc-payment-form,
body.rtk-checkout-page .wcpay-upe-form {
  border: none !important;
}

body.rtk-checkout-page .wc-payment-form fieldset {
  border: none !important;
  padding: 8px 0 !important;
  margin: 0 !important;
}

/* "Welcome Back" greeting */
body.rtk-checkout-page .woocommerce > p:first-child,
body.rtk-checkout-page .woocommerce > .woocommerce-info:first-of-type {
  display: none !important;
}

/* ============================================
   2. PAGE WRAPPER
   ============================================ */
body.rtk-checkout-page .woocommerce {
  padding: 32px 0 40px !important;
}

/* Kill Elementor's 100px padding on the checkout page container.
   Elementor uses: .elementor-3116 .elementor-element.elementor-element-6d459580
   with --padding-top:100px; --padding-bottom:100px;
   We need higher specificity or target ALL .e-con on this page. */
body.rtk-checkout-page .elementor .elementor-element.e-con,
body.rtk-checkout-page .elementor .elementor-element.e-con.e-parent,
body.rtk-checkout-page .elementor-element.e-con,
body.rtk-checkout-page [class*="elementor-element-"] {
  --padding-top: 0px !important;
  --padding-bottom: 0px !important;
  --padding-left: 0px !important;
  --padding-right: 0px !important;
  padding: 0 !important;
}

/* Kill ALL height/min-height/flex-grow that create whitespace before footer */
body.rtk-checkout-page #page,
body.rtk-checkout-page .site-content,
body.rtk-checkout-page #content,
body.rtk-checkout-page #primary,
body.rtk-checkout-page .content-area,
body.rtk-checkout-page #main,
body.rtk-checkout-page .site-main,
body.rtk-checkout-page article,
body.rtk-checkout-page .entry-content,
body.rtk-checkout-page .elementor,
body.rtk-checkout-page .elementor-element,
body.rtk-checkout-page .e-con,
body.rtk-checkout-page .e-con-inner {
  min-height: 0 !important;
  height: auto !important;
  flex-grow: 0 !important;
  flex-basis: auto !important;
}

/* ============================================
   3. NOTICES
   ============================================ */
body.rtk-checkout-page .woocommerce-notices-wrapper {
  margin-bottom: 12px !important;
}

body.rtk-checkout-page .woocommerce-info,
body.rtk-checkout-page .woocommerce-message {
  background: var(--rtk-card-bg) !important;
  border: 1px solid var(--rtk-border) !important;
  border-radius: var(--rtk-radius-sm) !important;
  padding: 12px 16px 12px 42px !important;
  margin-bottom: 12px !important;
  font-size: 14px !important;
  color: var(--rtk-text) !important;
  box-shadow: none !important;
  line-height: 1.5 !important;
}

body.rtk-checkout-page .woocommerce-info::before,
body.rtk-checkout-page .woocommerce-message::before {
  color: var(--rtk-primary) !important;
}

body.rtk-checkout-page .woocommerce-error {
  background: var(--rtk-error-bg) !important;
  border: 1px solid rgba(220, 38, 38, 0.3) !important;
  border-radius: var(--rtk-radius-sm) !important;
  padding: 12px 16px !important;
  margin-bottom: 12px !important;
  box-shadow: none !important;
  list-style: none !important;
}

body.rtk-checkout-page .woocommerce-error::before {
  color: var(--rtk-error) !important;
}

body.rtk-checkout-page .woocommerce-error li {
  font-size: 14px !important;
  color: var(--rtk-error) !important;
}

body.rtk-checkout-page .woocommerce-info a,
body.rtk-checkout-page .woocommerce-message a {
  color: var(--rtk-primary) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

/* WC standard coupon toggle: hide it (Astra JS breaks it, use Astra's coupon instead) */
body.rtk-checkout-page .woocommerce-form-coupon-toggle,
body.rtk-checkout-page .checkout_coupon.woocommerce-form-coupon {
  display: none !important;
}

/* Login toggle */
body.rtk-checkout-page .woocommerce-form-login-toggle .woocommerce-info {
  background: transparent !important;
  border: none !important;
  padding: 6px 0 !important;
  font-size: 13px !important;
  color: var(--rtk-text-muted) !important;
}

body.rtk-checkout-page .woocommerce-form-login-toggle .woocommerce-info::before {
  display: none !important;
}

/* ============================================
   4. LOGIN FORM
   ============================================ */
body.rtk-checkout-page .woocommerce-form-login {
  background: var(--rtk-card-bg) !important;
  border: 1px solid var(--rtk-border) !important;
  border-radius: var(--rtk-radius) !important;
  padding: 24px !important;
  margin-bottom: 20px !important;
  box-shadow: var(--rtk-shadow) !important;
}

body.rtk-checkout-page .woocommerce-form-login p.form-row {
  margin-bottom: 14px !important;
  padding: 0 !important;
}

body.rtk-checkout-page .woocommerce-form-login label {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--rtk-text-muted) !important;
  margin-bottom: 4px !important;
  display: block !important;
}

body.rtk-checkout-page .woocommerce-form-login .button {
  background: var(--rtk-primary) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--rtk-radius-sm) !important;
  height: 42px !important;
  padding: 0 20px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}

body.rtk-checkout-page .woocommerce-form-login .button:hover {
  background: var(--rtk-primary-hover) !important;
}

/* ============================================
   5. COUPON FORM
   ============================================ */
body.rtk-checkout-page .checkout_coupon {
  background: var(--rtk-card-bg) !important;
  border: 1px solid var(--rtk-border) !important;
  border-radius: var(--rtk-radius-sm) !important;
  padding: 14px 16px !important;
  margin-bottom: 16px !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

body.rtk-checkout-page .checkout_coupon[style*="display:none"],
body.rtk-checkout-page .checkout_coupon[style*="display: none"] {
  display: none !important;
}

body.rtk-checkout-page .checkout_coupon p.form-row {
  margin: 0 !important;
  padding: 0 !important;
}

body.rtk-checkout-page .checkout_coupon p.form-row-first {
  flex: 1 !important;
  min-width: 180px !important;
}

body.rtk-checkout-page .checkout_coupon .input-text {
  height: 38px !important;
  border: 1px solid var(--rtk-border) !important;
  border-radius: 6px !important;
  padding: 8px 12px !important;
  font-size: 13px !important;
  width: 100% !important;
  outline: none !important;
  box-sizing: border-box !important;
}

body.rtk-checkout-page .checkout_coupon .input-text:focus {
  border-color: var(--rtk-primary) !important;
  box-shadow: 0 0 0 3px rgba(0, 102, 255, 0.1) !important;
}

body.rtk-checkout-page .checkout_coupon .button {
  background: var(--rtk-hover-bg) !important;
  color: var(--rtk-text) !important;
  border: 1px solid var(--rtk-border) !important;
  border-radius: 6px !important;
  height: 38px !important;
  padding: 0 14px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}

body.rtk-checkout-page .checkout_coupon .button:hover {
  border-color: var(--rtk-primary) !important;
}

/* ============================================
   6. GRID LAYOUT
   Handles GZD-restructured DOM: table, terms,
   and button are siblings of #order_review,
   NOT children of it.
   ============================================ */
body.rtk-checkout-page form.checkout.woocommerce-checkout {
  display: grid !important;
  grid-template-columns: 1fr 400px !important;
  grid-template-rows: min-content !important;
  grid-auto-rows: min-content !important;
  column-gap: 28px !important;
  row-gap: 0 !important;
  align-items: start !important;
}

/* Left column: spans ALL rows via subgrid-like behavior */
body.rtk-checkout-page .col2-set#customer_details {
  grid-column: 1 !important;
  grid-row: 1 / span 20 !important;
  align-self: start !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  width: 100% !important;
  float: none !important;
}

body.rtk-checkout-page .col2-set#customer_details .col-1,
body.rtk-checkout-page .col2-set#customer_details .col-2 {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Right column: ALL other form children go to column 2 */
body.rtk-checkout-page form.checkout.woocommerce-checkout > *:not(#customer_details):not(#order_review_heading) {
  grid-column: 2 !important;
}

/* "Order Summary" heading via ::before pseudo-element */
body.rtk-checkout-page form.checkout.woocommerce-checkout::before {
  content: "Order Summary" !important;
  display: block !important;
  grid-column: 2 !important;
  order: 1 !important;
  background: var(--rtk-card-bg) !important;
  border: 1px solid var(--rtk-border) !important;
  border-bottom: none !important;
  border-radius: var(--rtk-radius) var(--rtk-radius) 0 0 !important;
  padding: 22px 24px 14px !important;
  margin: 0 !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: var(--rtk-heading) !important;
  line-height: 1.3 !important;
}

/*
 * Visual order: GZD JS moves table into .wc-gzd-order-submit after load.
 * CSS order on direct children still works for grid items that STAY
 * as direct children. The table is NOT a direct child after GZD JS.
 * Accept the natural DOM order: payment → terms → table+button → trust.
 */
body.rtk-checkout-page form.checkout > #order_review {
  order: 2 !important;
}

body.rtk-checkout-page form.checkout > .wc-gzd-checkbox-placeholder {
  order: 3 !important;
}

body.rtk-checkout-page form.checkout > .wc-gzd-order-submit {
  order: 4 !important;
}

body.rtk-checkout-page form.checkout > .rtk-checkout-trust {
  order: 5 !important;
}

/* GZD empty placeholders and hidden elements */
body.rtk-checkout-page form.checkout > .wc-gzd-checkbox-placeholder:not(.wc-gzd-checkbox-placeholder-legal) {
  display: none !important;
}

body.rtk-checkout-page form.checkout > input[name="terms"] {
  display: none !important;
}

body.rtk-checkout-page form.checkout > input[type="hidden"] {
  order: 99 !important;
}

/* ============================================
   7. BILLING CARD
   ============================================ */
body.rtk-checkout-page .woocommerce-billing-fields {
  background: var(--rtk-card-bg) !important;
  border: 1px solid var(--rtk-border) !important;
  border-radius: var(--rtk-radius) !important;
  padding: 28px !important;
  margin-bottom: 16px !important;
  box-shadow: var(--rtk-shadow) !important;
}

/* Shipping: only show as card when it has real content */
body.rtk-checkout-page .woocommerce-shipping-fields {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}

body.rtk-checkout-page .woocommerce-shipping-fields > h3,
body.rtk-checkout-page .woocommerce-shipping-fields > #ship-to-different-address {
  background: var(--rtk-card-bg) !important;
  border: 1px solid var(--rtk-border) !important;
  border-radius: var(--rtk-radius) !important;
  padding: 20px 28px !important;
  margin-bottom: 16px !important;
  box-shadow: var(--rtk-shadow) !important;
}

/* Additional fields: transparent by default */
body.rtk-checkout-page .woocommerce-additional-fields {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}

body.rtk-checkout-page .woocommerce-additional-fields:has(h3),
body.rtk-checkout-page .woocommerce-additional-fields:has(textarea) {
  background: var(--rtk-card-bg) !important;
  border: 1px solid var(--rtk-border) !important;
  border-radius: var(--rtk-radius) !important;
  padding: 28px !important;
  margin-bottom: 16px !important;
  box-shadow: var(--rtk-shadow) !important;
}

/* Account fields: transparent by default, card ONLY for create-account */
body.rtk-checkout-page .woocommerce-account-fields {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}

body.rtk-checkout-page .woocommerce-account-fields .create-account {
  background: var(--rtk-card-bg) !important;
  border: 1px solid var(--rtk-border) !important;
  border-radius: var(--rtk-radius) !important;
  padding: 24px 28px !important;
  margin-top: 16px !important;
  box-shadow: var(--rtk-shadow) !important;
}

/* Section headings */
body.rtk-checkout-page .woocommerce-billing-fields > h3,
body.rtk-checkout-page .woocommerce-additional-fields > h3,
body.rtk-checkout-page #ship-to-different-address {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--rtk-heading) !important;
  margin: 0 0 20px 0 !important;
  padding: 0 0 16px 0 !important;
  border-bottom: 1px solid var(--rtk-divider) !important;
  line-height: 1.3 !important;
}

/* ============================================
   8. FORM FIELDS
   ============================================ */
body.rtk-checkout-page .woocommerce-billing-fields__field-wrapper,
body.rtk-checkout-page .woocommerce-shipping-fields__field-wrapper,
body.rtk-checkout-page .woocommerce-additional-fields__field-wrapper {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
}

body.rtk-checkout-page .form-row {
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
}

body.rtk-checkout-page .form-row-wide {
  width: 100% !important;
  flex: 0 0 100% !important;
}

body.rtk-checkout-page .form-row-first,
body.rtk-checkout-page .form-row-last {
  flex: 1 1 calc(50% - 7px) !important;
  min-width: 160px !important;
}

/* Labels */
body.rtk-checkout-page .woocommerce-checkout label {
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--rtk-label) !important;
  margin-bottom: 0 !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
}

body.rtk-checkout-page .woocommerce-checkout label .required {
  color: var(--rtk-error) !important;
}

body.rtk-checkout-page .woocommerce-checkout label .optional {
  color: var(--rtk-text-muted) !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* ===== ASTRA MODERN CHECKOUT FLOATING LABEL KILL ===== */
/* Astra uses: label = position:absolute inside wrapper,
   input = padding-top:22px to leave room for label.
   We reset EVERYTHING to standard label-above-input layout. */

/* Labels: static, above input */
body.rtk-checkout-page .woocommerce-checkout .form-row label:not(.woocommerce-form__label-for-checkbox) {
  position: static !important;
  transform: none !important;
  pointer-events: auto !important;
  opacity: 1 !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 0 2px 0 !important;
  transition: none !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  z-index: auto !important;
  line-height: 1.3 !important;
  white-space: normal !important;
}

/* Input wrapper: kill Astra's relative positioning and padding */
body.rtk-checkout-page .woocommerce-checkout .form-row .woocommerce-input-wrapper {
  position: static !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
  display: block !important;
  width: 100% !important;
}

/* Inputs: remove Astra's extra padding-top for floating labels */
body.rtk-checkout-page .woocommerce-checkout .form-row input.input-text,
body.rtk-checkout-page .woocommerce-checkout .form-row textarea {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

/* Select2: reset position, ensure it fills wrapper correctly */
body.rtk-checkout-page .woocommerce-checkout .form-row .select2-container {
  position: static !important;
  display: block !important;
  width: 100% !important;
}

body.rtk-checkout-page .woocommerce-checkout .form-row .select2-container .select2-selection--single {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 !important;
  padding-top: 0 !important;
}

body.rtk-checkout-page .woocommerce-checkout .form-row .select2-selection__rendered {
  position: static !important;
  transform: none !important;
  top: auto !important;
  left: auto !important;
  padding: 0 0 0 14px !important;
  margin: 0 !important;
  line-height: normal !important;
  font-size: 14px !important;
  color: var(--rtk-heading) !important;
}

body.rtk-checkout-page .woocommerce-checkout .form-row .select2-selection__arrow {
  position: absolute !important;
  right: 10px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  height: auto !important;
}

/* Native select: fix when Select2 IS loaded (original select hidden) */
body.rtk-checkout-page .woocommerce-checkout .form-row select.country_select,
body.rtk-checkout-page .woocommerce-checkout .form-row select.state_select {
  /* Select2 hides these, but ensure they stay hidden */
  position: absolute !important;
  clip: rect(0, 0, 0, 0) !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  border: 0 !important;
  margin: -1px !important;
}

/* Native select: when Select2 NOT loaded, style normally */
body.rtk-checkout-page .woocommerce-checkout .form-row select:not(.country_select):not(.state_select) {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

/* Inputs */
body.rtk-checkout-page .woocommerce-checkout input.input-text,
body.rtk-checkout-page .woocommerce-checkout textarea,
body.rtk-checkout-page .woocommerce-checkout select,
body.rtk-checkout-page .woocommerce-form-login input.input-text {
  height: 44px !important;
  border: 1px solid var(--rtk-border) !important;
  border-radius: var(--rtk-radius-sm) !important;
  padding: 10px 14px !important;
  font-size: 14px !important;
  color: var(--rtk-heading) !important;
  background: var(--rtk-card-bg) !important;
  transition: border-color var(--rtk-transition), box-shadow var(--rtk-transition) !important;
  width: 100% !important;
  outline: none !important;
  box-sizing: border-box !important;
  -webkit-appearance: none !important;
  line-height: 1.4 !important;
}

body.rtk-checkout-page .woocommerce-checkout textarea {
  height: auto !important;
  min-height: 80px !important;
  resize: vertical !important;
}

/* Focus */
body.rtk-checkout-page .woocommerce-checkout input.input-text:focus,
body.rtk-checkout-page .woocommerce-checkout textarea:focus,
body.rtk-checkout-page .woocommerce-checkout select:focus,
body.rtk-checkout-page .woocommerce-form-login input.input-text:focus {
  border-color: var(--rtk-primary) !important;
  box-shadow: 0 0 0 3px rgba(0, 102, 255, 0.1) !important;
}

/* Select2 */
body.rtk-checkout-page .select2-container .select2-selection--single {
  height: 44px !important;
  border: 1px solid var(--rtk-border) !important;
  border-radius: var(--rtk-radius-sm) !important;
  background: var(--rtk-card-bg) !important;
}

body.rtk-checkout-page .select2-container .select2-selection--single .select2-selection__rendered {
  line-height: 42px !important;
  padding-left: 14px !important;
  color: var(--rtk-heading) !important;
  font-size: 14px !important;
}

body.rtk-checkout-page .select2-container .select2-selection--single .select2-selection__arrow {
  height: 42px !important;
}

body.rtk-checkout-page .select2-container--open .select2-selection--single {
  border-color: var(--rtk-primary) !important;
  box-shadow: 0 0 0 3px rgba(0, 102, 255, 0.1) !important;
}

body.rtk-checkout-page .select2-dropdown {
  border: 1px solid var(--rtk-border) !important;
  border-radius: var(--rtk-radius-sm) !important;
  box-shadow: var(--rtk-shadow-md) !important;
  margin-top: 4px !important;
}

body.rtk-checkout-page .select2-results__option {
  padding: 8px 14px !important;
  font-size: 14px !important;
}

body.rtk-checkout-page .select2-results__option--highlighted {
  background: var(--rtk-primary-light) !important;
  color: var(--rtk-primary) !important;
}

/* Placeholder */
body.rtk-checkout-page .woocommerce-checkout input::placeholder,
body.rtk-checkout-page .woocommerce-checkout textarea::placeholder {
  color: var(--rtk-placeholder) !important;
}

/* Validation */
body.rtk-checkout-page .form-row.woocommerce-invalid input.input-text,
body.rtk-checkout-page .form-row.woocommerce-invalid select,
body.rtk-checkout-page .form-row.woocommerce-invalid .select2-selection--single {
  border-color: var(--rtk-error) !important;
}

body.rtk-checkout-page .form-row.woocommerce-validated input.input-text,
body.rtk-checkout-page .form-row.woocommerce-validated select,
body.rtk-checkout-page .form-row.woocommerce-validated .select2-selection--single {
  border-color: var(--rtk-success) !important;
}

/* Checkbox */
body.rtk-checkout-page .woocommerce-form__label-for-checkbox {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  cursor: pointer !important;
  font-size: 14px !important;
  color: var(--rtk-text) !important;
}

body.rtk-checkout-page .woocommerce-form__input-checkbox {
  width: 16px !important;
  height: 16px !important;
  accent-color: var(--rtk-primary) !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
}

/* ============================================
   9. RIGHT COLUMN — CONNECTED CARD
   Visual order after GZD JS:
   ::before heading → #order_review (payment) →
   .wc-gzd-checkbox-legal (terms) →
   .wc-gzd-order-submit (table + button) →
   .rtk-checkout-trust (trust signals)
   ============================================ */

/* --- Card segments: direct children of form --- */
body.rtk-checkout-page form.checkout > #order_review,
body.rtk-checkout-page form.checkout > .wc-gzd-checkbox-placeholder,
body.rtk-checkout-page form.checkout > .wc-gzd-order-submit,
body.rtk-checkout-page form.checkout > .rtk-checkout-trust {
  background: var(--rtk-card-bg) !important;
  border-left: 1px solid var(--rtk-border) !important;
  border-right: 1px solid var(--rtk-border) !important;
  border-top: none !important;
  border-bottom: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* --- Card bottom: trust signals (last element) --- */
body.rtk-checkout-page form.checkout > .rtk-checkout-trust {
  border-bottom: 1px solid var(--rtk-border) !important;
  border-radius: 0 0 var(--rtk-radius) var(--rtk-radius) !important;
  box-shadow: var(--rtk-shadow-md) !important;
  padding: 12px 24px 16px !important;
}

/* Fallback if trust signals missing */
body.rtk-checkout-page form.checkout > .wc-gzd-order-submit:last-of-type {
  border-bottom: 1px solid var(--rtk-border) !important;
  border-radius: 0 0 var(--rtk-radius) var(--rtk-radius) !important;
  box-shadow: var(--rtk-shadow-md) !important;
}

/* When trust signals follow, remove bottom styling from submit */
body.rtk-checkout-page form.checkout > .wc-gzd-order-submit:has(~ .rtk-checkout-trust) {
  border-bottom: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* ============================================
   9a. PRODUCT TABLE
   GZD JS moves this INTO .wc-gzd-order-submit.
   Use descendant selectors, NOT direct child.
   ============================================ */

/* Nuclear border reset — kill ALL WC/Astra table borders */
body.rtk-checkout-page .woocommerce-checkout-review-order-table,
body.rtk-checkout-page .woocommerce-checkout-review-order-table thead,
body.rtk-checkout-page .woocommerce-checkout-review-order-table thead tr,
body.rtk-checkout-page .woocommerce-checkout-review-order-table thead th,
body.rtk-checkout-page .woocommerce-checkout-review-order-table tbody,
body.rtk-checkout-page .woocommerce-checkout-review-order-table tbody tr,
body.rtk-checkout-page .woocommerce-checkout-review-order-table tbody td,
body.rtk-checkout-page .woocommerce-checkout-review-order-table tfoot,
body.rtk-checkout-page .woocommerce-checkout-review-order-table tfoot tr,
body.rtk-checkout-page .woocommerce-checkout-review-order-table tfoot th,
body.rtk-checkout-page .woocommerce-checkout-review-order-table tfoot td {
  border: none !important;
  border-collapse: collapse !important;
  box-shadow: none !important;
  outline: none !important;
}

body.rtk-checkout-page .woocommerce-checkout-review-order-table {
  width: 100% !important;
  background: var(--rtk-card-bg) !important;
  margin: 0 !important;
  padding: 0 !important;
  border-spacing: 0 !important;
}

body.rtk-checkout-page .woocommerce-checkout-review-order-table thead {
  display: none !important;
}

body.rtk-checkout-page .woocommerce-checkout-review-order-table tbody td {
  padding: 14px 24px !important;
  font-size: 14px !important;
  color: var(--rtk-text) !important;
  vertical-align: top !important;
  background: var(--rtk-card-bg) !important;
}

body.rtk-checkout-page .woocommerce-checkout-review-order-table tbody td.product-name {
  font-weight: 500 !important;
  color: var(--rtk-heading) !important;
  padding-right: 8px !important;
}

/* Hide Astra product thumbnail, but keep .ast-product-name visible */
body.rtk-checkout-page .woocommerce-checkout-review-order-table .ast-product-thumbnail {
  display: none !important;
}

body.rtk-checkout-page .woocommerce-checkout-review-order-table .ast-product-image {
  display: inline !important;
}

body.rtk-checkout-page .woocommerce-checkout-review-order-table .ast-product-name {
  display: inline !important;
  font-weight: 500 !important;
  color: var(--rtk-heading) !important;
}

body.rtk-checkout-page .woocommerce-checkout-review-order-table tbody td.product-total {
  text-align: right !important;
  white-space: nowrap !important;
  font-weight: 600 !important;
  color: var(--rtk-heading) !important;
  padding-left: 8px !important;
}

body.rtk-checkout-page .woocommerce-checkout-review-order-table .product-quantity {
  color: var(--rtk-text-secondary) !important;
  font-weight: 400 !important;
}

/* Tfoot: only ONE subtle divider between body and totals */
body.rtk-checkout-page .woocommerce-checkout-review-order-table tfoot tr:first-child th,
body.rtk-checkout-page .woocommerce-checkout-review-order-table tfoot tr:first-child td {
  border-top: 1px solid var(--rtk-divider) !important;
}

body.rtk-checkout-page .woocommerce-checkout-review-order-table tfoot th,
body.rtk-checkout-page .woocommerce-checkout-review-order-table tfoot td {
  padding: 10px 24px !important;
  font-size: 13px !important;
  color: var(--rtk-text) !important;
  background: var(--rtk-card-bg) !important;
}

body.rtk-checkout-page .woocommerce-checkout-review-order-table tfoot th {
  font-weight: 500 !important;
  text-align: left !important;
}

body.rtk-checkout-page .woocommerce-checkout-review-order-table tfoot td {
  text-align: right !important;
  font-weight: 500 !important;
}

/* Total row */
body.rtk-checkout-page .woocommerce-checkout-review-order-table tfoot tr.order-total {
  border-top: 1px solid var(--rtk-border) !important;
}

body.rtk-checkout-page .woocommerce-checkout-review-order-table tfoot tr.order-total th,
body.rtk-checkout-page .woocommerce-checkout-review-order-table tfoot tr.order-total td {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--rtk-heading) !important;
  padding: 14px 24px !important;
}

/* Recurring totals */
body.rtk-checkout-page .woocommerce-checkout-review-order-table .subscription-details {
  font-size: 11px !important;
  color: var(--rtk-text-secondary) !important;
  font-weight: 400 !important;
}

body.rtk-checkout-page .woocommerce-checkout-review-order-table tfoot tr.recurring-total td {
  color: var(--rtk-primary) !important;
  font-weight: 600 !important;
}

body.rtk-checkout-page .woocommerce-checkout-review-order-table tfoot tr.recurring-total td small {
  font-size: 11px !important;
  color: var(--rtk-text-muted) !important;
  font-weight: 400 !important;
  display: block !important;
}

/* Coupon discount */
body.rtk-checkout-page .woocommerce-checkout-review-order-table tfoot tr.cart-discount th,
body.rtk-checkout-page .woocommerce-checkout-review-order-table tfoot tr.cart-discount td {
  color: var(--rtk-success) !important;
}

/* ============================================
   9b. PAYMENT METHODS
   DOM: li > input.input-radio + label + .payment_box
   Radio is SIBLING of label, not inside it.
   ============================================ */
body.rtk-checkout-page #order_review.woocommerce-checkout-review-order {
  overflow: hidden !important;
}

body.rtk-checkout-page #payment.woocommerce-checkout-payment {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

body.rtk-checkout-page ul.wc_payment_methods {
  list-style: none !important;
  padding: 12px 20px !important;
  margin: 0 !important;
  border: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

/* Each payment method: NO border, just subtle background on hover */
body.rtk-checkout-page .wc_payment_method {
  border: none !important;
  border-radius: var(--rtk-radius-sm) !important;
  overflow: hidden !important;
  background: var(--rtk-hover-bg) !important;
  transition: background-color var(--rtk-transition) !important;
}

body.rtk-checkout-page .wc_payment_method:has(input:checked) {
  background: var(--rtk-primary-light) !important;
}

/* The LI itself is the flex row: radio + label on one line */
body.rtk-checkout-page .wc_payment_method {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
}

/* Radio button */
body.rtk-checkout-page .wc_payment_method > input.input-radio {
  width: 18px !important;
  height: 18px !important;
  accent-color: var(--rtk-primary) !important;
  margin: 0 0 0 14px !important;
  flex-shrink: 0 !important;
  order: 0 !important;
}

/* Label: inline next to radio */
body.rtk-checkout-page .wc_payment_method > label {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 11px 14px 11px 10px !important;
  cursor: pointer !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--rtk-heading) !important;
  margin: 0 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  flex: 1 !important;
  order: 1 !important;
}

body.rtk-checkout-page .wc_payment_method > label img {
  max-height: 22px !important;
  width: auto !important;
}

/* Payment box: full width below radio+label */
body.rtk-checkout-page .wc_payment_method > .payment_box {
  width: 100% !important;
  order: 2 !important;
  padding: 14px !important;
  background: var(--rtk-card-bg) !important;
  border-top: 1px solid var(--rtk-divider) !important;
  font-size: 13px !important;
  color: var(--rtk-text-secondary) !important;
  line-height: 1.5 !important;
}

body.rtk-checkout-page .wc_payment_method .payment_box::before {
  display: none !important;
}

body.rtk-checkout-page .wc_payment_method .payment_box p {
  margin: 0 0 6px !important;
  font-size: 13px !important;
}

body.rtk-checkout-page .wc_payment_method .payment_box p:last-child {
  margin-bottom: 0 !important;
}

/* Saved payment methods */
body.rtk-checkout-page .wc_payment_method .payment_box .wc-saved-payment-methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.rtk-checkout-page .wc_payment_method .payment_box .wc-saved-payment-methods li {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 0 !important;
  font-size: 13px !important;
}

body.rtk-checkout-page .wc_payment_method .payment_box .wc-saved-payment-methods li label {
  font-size: 13px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important;
  color: var(--rtk-text) !important;
}

/* Stripe elements */
body.rtk-checkout-page .wc_payment_method .payment_box .wc-stripe-elements-field,
body.rtk-checkout-page .wc_payment_method .payment_box .stripe-card-group {
  border: 1px solid var(--rtk-border) !important;
  border-radius: 6px !important;
  padding: 10px 12px !important;
  background: var(--rtk-card-bg) !important;
}

body.rtk-checkout-page #payment .payment_methods li img {
  float: none !important;
  margin: 0 !important;
}

/* The first .place-order inside #payment: GZD moved button/terms out.
   This div only has hidden nonce fields now — collapse it completely. */
body.rtk-checkout-page #payment .form-row.place-order:not(.wc-gzd-place-order) {
  display: none !important;
}

/* ============================================
   9b2. ORDER SUMMARY — FULL-WIDTH PLAN SELECTOR
   Rendered BEFORE the form by woocommerce_checkout_before_customer_details.
   Sits above both columns as a full-width bar.
   ============================================ */
body.rtk-checkout-page #rtk-order-summary {
  background: var(--rtk-card-bg) !important;
  border: 1px solid var(--rtk-border) !important;
  border-radius: var(--rtk-radius) !important;
  padding: 0 !important;
  margin-bottom: 24px !important;
  box-shadow: var(--rtk-shadow) !important;
  /* Full width — sits outside the form grid, in .woocommerce */
  max-width: 1200px !important;
}

body.rtk-checkout-page .rtk-os__body {
  padding: 18px 24px !important;
}

body.rtk-checkout-page .rtk-os__row {
  display: flex !important;
  align-items: flex-end !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}

body.rtk-checkout-page .rtk-os__field {
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
}

body.rtk-checkout-page .rtk-os__field label {
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--rtk-text-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  position: static !important;
  transform: none !important;
}

/* Plan select — takes most space */
body.rtk-checkout-page .rtk-os__field--plan {
  flex: 1 1 220px !important;
  min-width: 180px !important;
}

body.rtk-checkout-page #rtk-plan-select {
  height: 42px !important;
  border: 1px solid var(--rtk-border) !important;
  border-radius: var(--rtk-radius-sm) !important;
  padding: 8px 12px !important;
  font-size: 14px !important;
  color: var(--rtk-heading) !important;
  background: var(--rtk-card-bg) !important;
  outline: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
}

body.rtk-checkout-page #rtk-plan-select:focus {
  border-color: var(--rtk-primary) !important;
  box-shadow: 0 0 0 3px rgba(0, 102, 255, 0.1) !important;
}

/* Quantity stepper */
body.rtk-checkout-page .rtk-os__field--qty {
  flex: 0 0 auto !important;
  min-width: 120px !important;
}

body.rtk-checkout-page .rtk-os__stepper {
  display: flex !important;
  align-items: center !important;
  border: 1px solid var(--rtk-border) !important;
  border-radius: var(--rtk-radius-sm) !important;
  overflow: hidden !important;
  height: 42px !important;
  background: var(--rtk-card-bg) !important;
}

body.rtk-checkout-page .rtk-os__stepper-btn {
  width: 38px !important;
  height: 42px !important;
  border: none !important;
  background: var(--rtk-hover-bg) !important;
  color: var(--rtk-heading) !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  user-select: none !important;
  transition: background-color var(--rtk-transition) !important;
  line-height: 1 !important;
  padding: 0 !important;
}

body.rtk-checkout-page .rtk-os__stepper-btn:hover {
  background: var(--rtk-border) !important;
}

body.rtk-checkout-page .rtk-os__stepper-btn:active {
  background: var(--rtk-primary-light) !important;
}

body.rtk-checkout-page #rtk-qty-input {
  width: 48px !important;
  height: 42px !important;
  border: none !important;
  border-left: 1px solid var(--rtk-border) !important;
  border-right: 1px solid var(--rtk-border) !important;
  text-align: center !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--rtk-heading) !important;
  background: var(--rtk-card-bg) !important;
  outline: none !important;
  -moz-appearance: textfield !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.rtk-checkout-page #rtk-qty-input::-webkit-outer-spin-button,
body.rtk-checkout-page #rtk-qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* Per license price */
body.rtk-checkout-page .rtk-os__field--price {
  flex: 0 0 auto !important;
  min-width: 100px !important;
}

body.rtk-checkout-page .rtk-os__per-seat {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--rtk-heading) !important;
  line-height: 42px !important;
}

/* Due today */
body.rtk-checkout-page .rtk-os__field--total {
  flex: 0 0 auto !important;
  min-width: 100px !important;
  text-align: right !important;
  margin-left: auto !important;
}

body.rtk-checkout-page .rtk-os__grand {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--rtk-heading) !important;
  line-height: 42px !important;
}

/* Responsive: 2-row layout on tablet/mobile */
@media (max-width: 768px) {
  body.rtk-checkout-page .rtk-os__row {
    flex-wrap: wrap !important;
    gap: 12px !important;
  }

  /* Row 1: Plan (full width) */
  body.rtk-checkout-page .rtk-os__field--plan {
    flex: 0 0 100% !important;
    min-width: 0 !important;
  }

  /* Row 2: Qty + Price + Total side by side */
  body.rtk-checkout-page .rtk-os__field--qty {
    flex: 0 0 auto !important;
  }

  body.rtk-checkout-page .rtk-os__field--price {
    flex: 1 1 auto !important;
  }

  body.rtk-checkout-page .rtk-os__field--total {
    flex: 0 0 auto !important;
    margin-left: auto !important;
  }
}

@media (max-width: 480px) {
  body.rtk-checkout-page .rtk-os__body {
    padding: 14px 16px !important;
  }

  /* Stack: Plan, then Qty+Price row, then Total */
  body.rtk-checkout-page .rtk-os__field--total {
    flex: 0 0 100% !important;
    margin-left: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding-top: 12px !important;
    border-top: 1px solid var(--rtk-divider) !important;
  }

  body.rtk-checkout-page .rtk-os__field--total label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--rtk-heading) !important;
  }
}

/* ============================================
   9c. GZD TERMS CHECKBOX (order: 4)
   ============================================ */
/* Use descendant selector — GZD JS may move these inside .wc-gzd-order-submit */
body.rtk-checkout-page .wc-gzd-checkbox-placeholder.wc-gzd-checkbox-placeholder-legal {
  padding: 14px 24px !important;
  border-top: 1px solid var(--rtk-divider) !important;
}

body.rtk-checkout-page .wc-gzd-checkbox-placeholder .form-row {
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 10px !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.rtk-checkout-page .wc-gzd-checkbox-placeholder label {
  font-size: 12px !important;
  color: var(--rtk-text) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  cursor: pointer !important;
}

body.rtk-checkout-page .wc-gzd-checkbox-placeholder label input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  accent-color: var(--rtk-primary) !important;
  flex-shrink: 0 !important;
  margin-top: 1px !important;
}

body.rtk-checkout-page .wc-gzd-checkbox-placeholder a {
  color: var(--rtk-primary) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

/* Also style standard WC terms if present */
body.rtk-checkout-page .woocommerce-terms-and-conditions-wrapper {
  padding: 0 24px 8px !important;
}

body.rtk-checkout-page .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text {
  font-size: 11px !important;
  color: var(--rtk-text-muted) !important;
  line-height: 1.5 !important;
  margin-bottom: 8px !important;
}

body.rtk-checkout-page .woocommerce-terms-and-conditions-wrapper a {
  color: var(--rtk-primary) !important;
  text-decoration: none !important;
}

body.rtk-checkout-page .woocommerce-terms-and-conditions-checkbox-text {
  font-size: 12px !important;
  color: var(--rtk-text) !important;
}

/* Hide the hidden terms input GZD injects before the visible one */
body.rtk-checkout-page form.checkout > input[name="terms"][style*="display: none"],
body.rtk-checkout-page form.checkout > input[name="terms"][style*="display:none"] {
  display: none !important;
}

/* ============================================
   9d. GZD PLACE ORDER BUTTON (order: 5)
   ============================================ */
body.rtk-checkout-page .wc-gzd-order-submit {
  padding: 0 24px 24px !important;
}

body.rtk-checkout-page .wc-gzd-order-submit .form-row.place-order,
body.rtk-checkout-page .wc-gzd-order-submit .wc-gzd-place-order {
  padding: 0 !important;
  margin: 0 !important;
}

body.rtk-checkout-page #place_order {
  width: 100% !important;
  height: 50px !important;
  background: var(--rtk-primary) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--rtk-radius-sm) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: background-color var(--rtk-transition) !important;
  line-height: 1 !important;
  letter-spacing: 0.01em !important;
}

body.rtk-checkout-page #place_order:hover {
  background: var(--rtk-primary-hover) !important;
}

body.rtk-checkout-page #place_order:focus-visible {
  outline: 2px solid var(--rtk-primary) !important;
  outline-offset: 2px !important;
}

body.rtk-checkout-page #place_order:disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
}

/* ============================================
   10. TRUST SIGNALS (injected via hook)
   ============================================ */
body.rtk-checkout-page .rtk-checkout-trust {
  display: flex !important;
  justify-content: center !important;
  gap: 16px !important;
  padding: 12px 24px 0 !important;
  flex-wrap: wrap !important;
}

body.rtk-checkout-page .rtk-checkout-trust__item {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-size: 11px !important;
  color: var(--rtk-text-muted) !important;
  white-space: nowrap !important;
}

body.rtk-checkout-page .rtk-checkout-trust__item svg {
  color: var(--rtk-success) !important;
  width: 14px !important;
  height: 14px !important;
  flex-shrink: 0 !important;
}

/* ============================================
   11. "BACK TO CART" LINK
   ============================================ */
body.rtk-checkout-page a.wc-backward {
  display: block !important;
  text-align: center !important;
  font-size: 12px !important;
  color: var(--rtk-text-muted) !important;
  text-decoration: none !important;
  padding: 10px 24px 4px !important;
}

body.rtk-checkout-page a.wc-backward:hover {
  color: var(--rtk-text-secondary) !important;
}

/* ============================================
   12. HIDE DUPLICATES & EXTRAS
   ============================================ */
body.rtk-checkout-page form.checkout ~ .shop_table,
body.rtk-checkout-page form.checkout ~ table.shop_table,
body.rtk-checkout-page form.checkout ~ h3,
body.rtk-checkout-page form.checkout ~ h2,
body.rtk-checkout-page .woocommerce > .shop_table:not(.woocommerce-checkout-review-order-table),
body.rtk-checkout-page .wcs-order-summary,
body.rtk-checkout-page .wcs-recurring-totals-wrapper,
body.rtk-checkout-page .woocommerce-checkout-review-order ~ .shop_table {
  display: none !important;
}

/* ============================================
   13. LOADING OVERLAY
   ============================================ */
body.rtk-checkout-page .blockUI.blockOverlay {
  background: rgba(255, 255, 255, 0.6) !important;
  opacity: 1 !important;
}

/* ============================================
   ============================================
   THANK YOU PAGE
   ============================================
   ============================================ */

/* ============================================
   20. CONTAINER
   ============================================ */
body.rtk-checkout-page .woocommerce-order {
  max-width: 640px !important;
  margin: 0 auto !important;
  padding: 32px 0 40px !important;
}

/* ============================================
   21. SUCCESS MESSAGE
   ============================================ */
body.rtk-checkout-page .woocommerce-thankyou-order-received {
  text-align: center !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--rtk-heading) !important;
  padding: 32px 24px !important;
  margin: 0 0 24px !important;
  background: var(--rtk-success-bg) !important;
  border: 1px solid rgba(5, 150, 105, 0.2) !important;
  border-radius: var(--rtk-radius) !important;
  line-height: 1.5 !important;
}

body.rtk-checkout-page .woocommerce-thankyou-order-received::before {
  content: "" !important;
  display: block !important;
  width: 48px !important;
  height: 48px !important;
  margin: 0 auto 16px !important;
  background: var(--rtk-success) !important;
  border-radius: 50% !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 24px !important;
}

/* Failed */
body.rtk-checkout-page .woocommerce-thankyou-order-failed {
  background: var(--rtk-error-bg) !important;
  border: 1px solid rgba(220, 38, 38, 0.2) !important;
  border-radius: var(--rtk-radius) !important;
  padding: 20px !important;
  margin-bottom: 16px !important;
  color: var(--rtk-error) !important;
  font-size: 14px !important;
}

body.rtk-checkout-page .woocommerce-thankyou-order-failed-actions {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  display: flex !important;
  gap: 10px !important;
}

body.rtk-checkout-page .woocommerce-thankyou-order-failed-actions .button {
  background: var(--rtk-primary) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--rtk-radius-sm) !important;
  height: 42px !important;
  padding: 0 20px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
}

/* ============================================
   22. ORDER OVERVIEW GRID
   ============================================ */
/* Order overview: horizontal row of key-value pairs */
body.rtk-checkout-page ul.woocommerce-order-overview {
  list-style: none !important;
  display: flex !important;
  flex-wrap: wrap !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  background: var(--rtk-card-bg) !important;
  border: 1px solid var(--rtk-border) !important;
  border-radius: var(--rtk-radius) !important;
  box-shadow: var(--rtk-shadow) !important;
  overflow: hidden !important;
}

body.rtk-checkout-page .woocommerce-order-overview li {
  flex: 1 1 auto !important;
  padding: 16px 20px !important;
  margin: 0 !important;
  border-right: 1px solid var(--rtk-divider) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  font-size: 11px !important;
  color: var(--rtk-text-secondary) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  min-width: 0 !important;
}

body.rtk-checkout-page .woocommerce-order-overview li:last-child {
  border-right: none !important;
}

body.rtk-checkout-page .woocommerce-order-overview li strong {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--rtk-heading) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  word-break: break-all !important;
}

@media (max-width: 480px) {
  body.rtk-checkout-page .woocommerce-order-overview li {
    flex: 0 0 50% !important;
    border-bottom: 1px solid var(--rtk-divider) !important;
    box-sizing: border-box !important;
  }
  body.rtk-checkout-page .woocommerce-order-overview li:nth-child(even) {
    border-right: none !important;
  }
  body.rtk-checkout-page .woocommerce-order-overview li:last-child {
    border-bottom: none !important;
  }
}

/* ============================================
   23. NEXT STEPS
   ============================================ */
body.rtk-checkout-page .rtk-thankyou-next-steps {
  background: var(--rtk-card-bg) !important;
  border: 1px solid var(--rtk-border) !important;
  border-radius: var(--rtk-radius) !important;
  padding: 24px !important;
  margin-bottom: 24px !important;
  box-shadow: var(--rtk-shadow) !important;
}

body.rtk-checkout-page .rtk-thankyou-next-steps__title {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--rtk-heading) !important;
  margin: 0 0 16px !important;
}

body.rtk-checkout-page .rtk-thankyou-next-steps__list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 20px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

body.rtk-checkout-page .rtk-thankyou-next-steps__item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  font-size: 14px !important;
  color: var(--rtk-text) !important;
  line-height: 1.5 !important;
}

body.rtk-checkout-page .rtk-thankyou-next-steps__num {
  width: 24px !important;
  height: 24px !important;
  border-radius: 50% !important;
  background: var(--rtk-primary-light) !important;
  color: var(--rtk-primary) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  margin-top: 1px !important;
}

body.rtk-checkout-page .rtk-thankyou-next-steps__actions {
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

body.rtk-checkout-page .rtk-thankyou-next-steps__btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  height: 44px !important;
  padding: 0 22px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  border-radius: var(--rtk-radius-sm) !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background-color var(--rtk-transition) !important;
  white-space: nowrap !important;
}

body.rtk-checkout-page .rtk-thankyou-next-steps__btn--primary {
  background: var(--rtk-primary) !important;
  color: #fff !important;
  border: none !important;
}

body.rtk-checkout-page .rtk-thankyou-next-steps__btn--primary:hover {
  background: var(--rtk-primary-hover) !important;
  color: #fff !important;
}

body.rtk-checkout-page .rtk-thankyou-next-steps__btn--secondary {
  background: var(--rtk-card-bg) !important;
  color: var(--rtk-text) !important;
  border: 1px solid var(--rtk-border) !important;
}

body.rtk-checkout-page .rtk-thankyou-next-steps__btn--secondary:hover {
  background: var(--rtk-hover-bg) !important;
}

/* ============================================
   24. ORDER DETAILS TABLE
   ============================================ */
body.rtk-checkout-page .woocommerce-order table.shop_table,
body.rtk-checkout-page .woocommerce-order table.woocommerce-table {
  background: var(--rtk-card-bg) !important;
  border: 1px solid var(--rtk-border) !important;
  border-radius: var(--rtk-radius) !important;
  box-shadow: var(--rtk-shadow) !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden !important;
  margin-bottom: 24px !important;
  width: 100% !important;
}

body.rtk-checkout-page .woocommerce-order table.shop_table thead th,
body.rtk-checkout-page .woocommerce-order table.woocommerce-table thead th {
  background: var(--rtk-hover-bg) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--rtk-text-secondary) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 12px 18px !important;
  border: none !important;
}

body.rtk-checkout-page .woocommerce-order table.shop_table tbody td,
body.rtk-checkout-page .woocommerce-order table.woocommerce-table tbody td {
  padding: 12px 18px !important;
  border: none !important;
  border-bottom: 1px solid var(--rtk-divider) !important;
  font-size: 14px !important;
}

body.rtk-checkout-page .woocommerce-order table.shop_table tbody tr:last-child td,
body.rtk-checkout-page .woocommerce-order table.woocommerce-table tbody tr:last-child td {
  border-bottom: none !important;
}

body.rtk-checkout-page .woocommerce-order table.shop_table tfoot th,
body.rtk-checkout-page .woocommerce-order table.shop_table tfoot td,
body.rtk-checkout-page .woocommerce-order table.woocommerce-table tfoot th,
body.rtk-checkout-page .woocommerce-order table.woocommerce-table tfoot td {
  padding: 10px 18px !important;
  border: none !important;
  font-size: 13px !important;
}

body.rtk-checkout-page .woocommerce-order table.shop_table tfoot tr:first-child th,
body.rtk-checkout-page .woocommerce-order table.shop_table tfoot tr:first-child td,
body.rtk-checkout-page .woocommerce-order table.woocommerce-table tfoot tr:first-child th,
body.rtk-checkout-page .woocommerce-order table.woocommerce-table tfoot tr:first-child td {
  border-top: 1px solid var(--rtk-border) !important;
}

body.rtk-checkout-page .woocommerce-order table.shop_table tfoot tr.order-total th,
body.rtk-checkout-page .woocommerce-order table.shop_table tfoot tr.order-total td,
body.rtk-checkout-page .woocommerce-order table.woocommerce-table tfoot tr.order-total th,
body.rtk-checkout-page .woocommerce-order table.woocommerce-table tfoot tr.order-total td {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--rtk-heading) !important;
}

/* Section headings */
body.rtk-checkout-page .woocommerce-order h2,
body.rtk-checkout-page .woocommerce-order-details__title {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--rtk-heading) !important;
  margin: 0 0 14px !important;
}

/* Subscriptions table on thank you */
body.rtk-checkout-page .woocommerce-order .woocommerce-MyAccount-subscriptions {
  background: var(--rtk-card-bg) !important;
  border: 1px solid var(--rtk-border) !important;
  border-radius: var(--rtk-radius) !important;
  box-shadow: var(--rtk-shadow) !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden !important;
  margin-bottom: 24px !important;
  width: 100% !important;
}

body.rtk-checkout-page .woocommerce-order .woocommerce-MyAccount-subscriptions thead th {
  background: var(--rtk-hover-bg) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--rtk-text-secondary) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 12px 16px !important;
  border: none !important;
}

body.rtk-checkout-page .woocommerce-order .woocommerce-MyAccount-subscriptions tbody td {
  padding: 14px 16px !important;
  border: none !important;
  border-bottom: 1px solid var(--rtk-divider) !important;
  font-size: 14px !important;
  vertical-align: middle !important;
}

body.rtk-checkout-page .woocommerce-order .woocommerce-MyAccount-subscriptions tbody tr:last-child td {
  border-bottom: none !important;
}

/* All buttons on thank you page: consistent style */
body.rtk-checkout-page .woocommerce-order .button,
body.rtk-checkout-page .woocommerce-order a.button,
body.rtk-checkout-page .woocommerce-order .woocommerce-MyAccount-subscriptions .button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 8px 18px !important;
  height: 36px !important;
  border-radius: var(--rtk-radius-sm) !important;
  background: var(--rtk-card-bg) !important;
  color: var(--rtk-primary) !important;
  border: 1px solid var(--rtk-primary) !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background-color var(--rtk-transition) !important;
  white-space: nowrap !important;
  box-shadow: none !important;
}

body.rtk-checkout-page .woocommerce-order .button:hover,
body.rtk-checkout-page .woocommerce-order a.button:hover {
  background: var(--rtk-primary-light) !important;
  color: var(--rtk-primary) !important;
}

/* "Related subscriptions" section heading */
body.rtk-checkout-page .woocommerce-order section > header h2,
body.rtk-checkout-page .woocommerce-order > section > h2 {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--rtk-heading) !important;
  margin: 0 0 14px !important;
}

/* Hide cross-sell CTA on thank you page (it belongs in my-account, not here) */
body.rtk-checkout-page .woocommerce-order .rtk-orders__cross-sell {
  display: none !important;
}

/* "View the status of your subscription in your account" text */
body.rtk-checkout-page .woocommerce-order > p,
body.rtk-checkout-page .woocommerce-order > section > p {
  font-size: 14px !important;
  color: var(--rtk-text) !important;
  line-height: 1.6 !important;
  margin-bottom: 20px !important;
}

body.rtk-checkout-page .woocommerce-order > p a,
body.rtk-checkout-page .woocommerce-order > section > p a {
  color: var(--rtk-primary) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

/* Subscription section wrapper */
body.rtk-checkout-page .woocommerce-order > section {
  margin-bottom: 24px !important;
}

/* Customer details */
body.rtk-checkout-page .woocommerce-order section.woocommerce-customer-details {
  background: var(--rtk-card-bg) !important;
  border: 1px solid var(--rtk-border) !important;
  border-radius: var(--rtk-radius) !important;
  padding: 22px !important;
  box-shadow: var(--rtk-shadow) !important;
  margin-bottom: 24px !important;
}

body.rtk-checkout-page .woocommerce-order .woocommerce-column__title {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--rtk-heading) !important;
  margin: 0 0 8px !important;
}

body.rtk-checkout-page .woocommerce-order .woocommerce-customer-details address {
  font-size: 14px !important;
  color: var(--rtk-text) !important;
  line-height: 1.6 !important;
  font-style: normal !important;
}

/* ============================================
   25. EXPECTATIONS BOX
   ============================================ */
body.rtk-checkout-page .rtk-thankyou-expectations {
  background: var(--rtk-primary-light) !important;
  border: 1px solid rgba(0, 102, 255, 0.12) !important;
  border-radius: var(--rtk-radius) !important;
  padding: 18px 22px !important;
  margin-bottom: 24px !important;
}

body.rtk-checkout-page .rtk-thankyou-expectations__title {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--rtk-primary) !important;
  margin: 0 0 4px !important;
}

body.rtk-checkout-page .rtk-thankyou-expectations__text {
  font-size: 13px !important;
  color: var(--rtk-text) !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

/* ============================================
   30. RESPONSIVE — 768px
   ============================================ */
@media (max-width: 768px) {
  body.rtk-checkout-page #content .ast-container,
  body.rtk-checkout-page .e-con-boxed > .e-con-inner {
    padding: 0 16px !important;
  }

  body.rtk-checkout-page form.checkout.woocommerce-checkout {
    grid-template-columns: 1fr !important;
  }

  /* Right column elements now full width */
  body.rtk-checkout-page form.checkout.woocommerce-checkout > *:not(#customer_details):not(#order_review_heading) {
    grid-column: 1 !important;
  }

  body.rtk-checkout-page form.checkout.woocommerce-checkout::before {
    grid-column: 1 !important;
  }

  body.rtk-checkout-page .col2-set#customer_details {
    grid-row: auto !important;
  }

  body.rtk-checkout-page .form-row-first,
  body.rtk-checkout-page .form-row-last {
    flex: 0 0 100% !important;
    min-width: 0 !important;
  }

  body.rtk-checkout-page .woocommerce-billing-fields {
    padding: 20px !important;
  }

  body.rtk-checkout-page ul.woocommerce-order-overview {
    grid-template-columns: 1fr !important;
  }

  body.rtk-checkout-page .woocommerce-order-overview li:nth-child(odd) {
    border-right: none !important;
  }

  body.rtk-checkout-page .rtk-thankyou-next-steps__actions {
    flex-direction: column !important;
  }

  body.rtk-checkout-page .rtk-thankyou-next-steps__btn {
    width: 100% !important;
  }
}

/* ============================================
   31. RESPONSIVE — 480px
   ============================================ */
@media (max-width: 480px) {
  body.rtk-checkout-page .woocommerce {
    padding: 16px 0 32px !important;
  }

  body.rtk-checkout-page .woocommerce-billing-fields > h3 {
    font-size: 15px !important;
  }

  body.rtk-checkout-page #place_order {
    height: 48px !important;
  }

  body.rtk-checkout-page .woocommerce-thankyou-order-received {
    font-size: 16px !important;
    padding: 24px 16px !important;
  }

  /* iOS zoom prevention */
  body.rtk-checkout-page .woocommerce-checkout input.input-text,
  body.rtk-checkout-page .woocommerce-checkout textarea,
  body.rtk-checkout-page .woocommerce-checkout select {
    font-size: 16px !important;
  }
}

/* ============================================
   32. RESPONSIVE — 375px
   ============================================ */
@media (max-width: 375px) {
  body.rtk-checkout-page #content .ast-container,
  body.rtk-checkout-page .e-con-boxed > .e-con-inner {
    padding: 0 12px !important;
  }

  body.rtk-checkout-page .woocommerce-billing-fields {
    padding: 16px !important;
    border-radius: 10px !important;
  }
}

/* ============================================
   33. FOCUS STATES
   ============================================ */
body.rtk-checkout-page .woocommerce-checkout a:focus-visible,
body.rtk-checkout-page .woocommerce-checkout button:focus-visible,
body.rtk-checkout-page .woocommerce-checkout input[type="radio"]:focus-visible,
body.rtk-checkout-page .woocommerce-checkout input[type="checkbox"]:focus-visible,
body.rtk-checkout-page .woocommerce-order a:focus-visible {
  outline: 2px solid var(--rtk-primary) !important;
  outline-offset: 2px !important;
}

/* ============================================
   34. REDUCED MOTION
   ============================================ */
@media (prefers-reduced-motion: reduce) {
  body.rtk-checkout-page * {
    transition: none !important;
  }
}

/* ============================================
   35. PRINT
   ============================================ */
@media print {
  body.rtk-checkout-page .woocommerce-form-login-toggle,
  body.rtk-checkout-page .woocommerce-form-coupon-toggle,
  body.rtk-checkout-page .checkout_coupon,
  body.rtk-checkout-page #payment,
  body.rtk-checkout-page .form-row.place-order,
  body.rtk-checkout-page .rtk-checkout-trust,
  body.rtk-checkout-page .rtk-thankyou-next-steps__actions {
    display: none !important;
  }

  body.rtk-checkout-page form.checkout {
    grid-template-columns: 1fr !important;
  }
}
