/* =======================================================================
   STELLAR FlyPods — Checkout Page
   Standalone branded checkout — theme-aware nav + form; Stripe section stays dark
   ======================================================================= */

/* ── THEME TOKENS ─────────────────────────────────────────────────────── */
:root {
  --sf-bg: #ffffff;
  --sf-fg: #1a1a1a;
  --sf-o: 0,0,0;
  --sf-nav-bg: rgba(255,255,255,0.92);
  --sf-nav-border: rgba(26,26,26,0.12);
  --sf-burger-line: #1a1a1a;
  --sf-input-bg: #f9f9f9;
}
[data-theme='dark'] {
  --sf-bg: #0d0d0d;
  --sf-fg: #e8e8e8;
  --sf-o: 255,255,255;
  --sf-nav-bg: rgba(13,13,13,0.97);
  --sf-nav-border: rgba(255,255,255,0.06);
  --sf-burger-line: #ffffff;
  --sf-input-bg: #1a1a1a;
}
.sf-nav-logo img.sf-logo-dark { display: none !important; }
html[data-theme='dark'] .sf-nav-logo img.sf-logo-light { display: none !important; }
html[data-theme='dark'] .sf-nav-logo img.sf-logo-dark  { display: block !important; }
.sf-theme-btn {
  display: inline-flex !important; align-items: center !important; gap: 8px !important;
  padding: 8px 14px !important; background: transparent !important;
  border: 1px solid var(--sf-nav-border) !important; border-radius: 999px !important;
  color: var(--sf-fg) !important; font-family: 'Inter Tight', sans-serif !important;
  font-size: 10.5px !important; letter-spacing: .12em !important;
  text-transform: uppercase !important; cursor: pointer !important; white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.sf-theme-dot {
  width: 10px !important; height: 10px !important; border-radius: 999px !important;
  background: #a0153a !important; display: block !important; flex-shrink: 0 !important;
  transition: background .2s, box-shadow .2s !important;
  box-shadow: 0 0 0 3px rgba(var(--sf-o),0.10) !important;
}
html[data-theme='dark'] .sf-theme-dot { background: #adb9ca !important; }

/* ── FONT SYSTEM ─────────────────────────────────────────────────────── */
body.woocommerce-checkout,
body.woocommerce-checkout * {
  font-family: 'Inter Tight', sans-serif !important;
  box-sizing: border-box;
}
body.woocommerce-checkout h1,
body.woocommerce-checkout h2,
body.woocommerce-checkout h3,
body.woocommerce-checkout .sf-co-product-name,
body.woocommerce-checkout .sf-co-title,
body.woocommerce-checkout #place_order {
  font-family: 'Archivo Black', sans-serif !important;
}
body.woocommerce-checkout em,
body.woocommerce-checkout .sf-co-subtitle em {
  font-family: 'Instrument Serif', serif !important;
  font-style: italic !important;
}

/* ── BASE ────────────────────────────────────────────────────────────── */
body.woocommerce-checkout {
  background: var(--sf-bg) !important;
  color: var(--sf-fg) !important;
  min-height: 100vh;
}

/* ── NAV ─────────────────────────────────────────────────────────────── */
#sf-nav {
  position: fixed !important;
  top: 0; left: 0; right: 0;
  z-index: 9999 !important;
  background: var(--sf-nav-bg) !important;
  backdrop-filter: blur(14px) !important;
  border-bottom: 1px solid var(--sf-nav-border) !important;
}
.sf-nav-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  height: 68px !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 0 48px !important;
}
.sf-nav-logo img { height: 30px !important; width: auto !important; display: block !important; }
.sf-nav-right { display: flex !important; align-items: center !important; gap: 12px !important; flex-shrink: 0 !important; }
.sf-nav-links { display: flex !important; align-items: center !important; gap: 28px !important; }
.sf-nav-links a {
  color: var(--sf-fg) !important;
  opacity: 0.75 !important;
  text-decoration: none !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  border-bottom: 2px solid transparent !important;
  padding-bottom: 2px !important;
  transition: opacity 0.15s !important;
}
.sf-nav-links a:hover { opacity: 1 !important; color: var(--sf-fg) !important; }
/* Ghost/outline pill — same footprint as the shop's .sf-nav-cta so the DAY button
   and submenu align identically, and "Back to Shop" sits in the shop CTA's slot. */
.sf-nav-back {
  display: inline-flex !important;
  align-items: center !important;
  color: var(--sf-fg) !important;
  opacity: 0.8 !important;
  text-decoration: none !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  padding: 8px 13px !important;
  border-radius: 9999px !important;
  border: 1px solid var(--sf-nav-border) !important;
  background: transparent !important;
  white-space: nowrap !important;
  transition: opacity 0.15s, border-color 0.2s !important;
}
.sf-nav-back:hover { opacity: 1 !important; border-color: #a0153a !important; }

/* ── PAGE WRAPPER ────────────────────────────────────────────────────── */
.sf-co-page {
  padding-top: 68px;
  max-width: 1180px;
  margin: 0 auto;
  padding-left: 32px;
  padding-right: 32px;
  padding-bottom: 80px;
}

/* ── HEADER ──────────────────────────────────────────────────────────── */
.sf-co-header {
  padding: 56px 0 40px;
  border-bottom: 1px solid rgba(var(--sf-o),0.07);
  margin-bottom: 48px;
}
.sf-co-title {
  font-size: clamp(32px, 5vw, 52px) !important;
  color: var(--sf-fg) !important;
  margin: 0 0 8px !important;
  letter-spacing: -0.02em !important;
}
.sf-co-subtitle {
  color: rgba(var(--sf-o),0.4) !important;
  font-size: 15px !important;
  margin: 0 !important;
}

/* ── TWO-COLUMN FORM LAYOUT ──────────────────────────────────────────── */
.sf-co-form {
  display: grid !important;
  grid-template-columns: 1fr 380px !important;
  gap: 64px !important;
  align-items: start !important;
}

/* ── LEFT COLUMN ─────────────────────────────────────────────────────── */
.sf-co-left { min-width: 0; }

/* WooCommerce col2-set: stack billing + shipping vertically */
.sf-co-left .col2-set { display: block !important; }
.sf-co-left .col-1,
.sf-co-left .col-2 { float: none !important; width: 100% !important; }

/* Section headings */
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-shipping-fields h3,
body.woocommerce-checkout .woocommerce-additional-fields h3,
body.woocommerce-checkout #order_review_heading {
  font-family: 'Archivo Black', sans-serif !important;
  font-size: 18px !important;
  color: var(--sf-fg) !important;
  margin: 0 0 20px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid rgba(var(--sf-o),0.08) !important;
  letter-spacing: -0.01em !important;
}

/* Labels */
body.woocommerce-checkout .woocommerce-input-wrapper,
body.woocommerce-checkout label {
  color: rgba(var(--sf-o),0.6) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  display: block !important;
  margin-bottom: 6px !important;
}
body.woocommerce-checkout .required { color: #a0153a !important; }

/* Inputs */
body.woocommerce-checkout input[type="text"],
body.woocommerce-checkout input[type="email"],
body.woocommerce-checkout input[type="tel"],
body.woocommerce-checkout input[type="number"],
body.woocommerce-checkout input[type="password"],
body.woocommerce-checkout select,
body.woocommerce-checkout textarea {
  background: rgba(var(--sf-o),0.04) !important;
  border: 1px solid rgba(var(--sf-o),0.12) !important;
  border-radius: 8px !important;
  color: var(--sf-fg) !important;
  font-size: 14px !important;
  font-family: 'Inter Tight', sans-serif !important;
  padding: 12px 16px !important;
  width: 100% !important;
  outline: none !important;
  transition: border-color 0.18s ease !important;
  -webkit-appearance: none !important;
}
body.woocommerce-checkout input:focus,
body.woocommerce-checkout select:focus,
body.woocommerce-checkout textarea:focus {
  border-color: #a0153a !important;
  background: rgba(160,21,58,0.06) !important;
}
body.woocommerce-checkout select option {
  background: var(--sf-input-bg) !important;
  color: var(--sf-fg) !important;
}

/* Form rows */
body.woocommerce-checkout .form-row {
  margin-bottom: 18px !important;
}
body.woocommerce-checkout .form-row-first,
body.woocommerce-checkout .form-row-last {
  width: 48% !important;
  float: left !important;
}
body.woocommerce-checkout .form-row-last { float: right !important; }
body.woocommerce-checkout .form-row-wide { clear: both !important; width: 100% !important; }

/* Checkbox rows */
body.woocommerce-checkout .woocommerce-form__label-for-checkbox {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 13px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  cursor: pointer !important;
}
body.woocommerce-checkout .woocommerce-form__input-checkbox {
  width: auto !important;
  accent-color: #a0153a !important;
}

/* Validation errors */
body.woocommerce-checkout .woocommerce-invalid input {
  border-color: #e05050 !important;
}
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-message {
  background: rgba(160,21,58,0.12) !important;
  border: 1px solid rgba(160,21,58,0.3) !important;
  border-radius: 8px !important;
  color: #f4a0b0 !important;
  padding: 14px 18px !important;
  margin-bottom: 24px !important;
  list-style: none !important;
}

/* ── PAYMENT SECTION ─────────────────────────────────────────────────── */
.sf-co-payment-wrap {
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px solid rgba(var(--sf-o),0.07);
}

/* Payment methods list */
body.woocommerce-checkout .wc_payment_methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 24px !important;
}
body.woocommerce-checkout .wc_payment_method {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin-bottom: 0 !important;
}
body.woocommerce-checkout .wc_payment_method:has(input:checked) {
  background: transparent !important;
  border: none !important;
}
body.woocommerce-checkout .wc_payment_method label {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: rgba(var(--sf-o),0.45) !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  margin-bottom: 16px !important;
}
body.woocommerce-checkout .payment_box {
  padding: 0 !important;
  color: rgba(255,255,255,0.5) !important;
  font-size: 13px !important;
  background: transparent !important;
}
body.woocommerce-checkout input[type="radio"] {
  accent-color: #a0153a !important;
  width: auto !important;
}

/* Place order button */
body.woocommerce-checkout #place_order {
  background: #a0153a !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 16px 32px !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  width: 100% !important;
  cursor: pointer !important;
  transition: background 0.18s ease !important;
  margin-top: 8px !important;
}
body.woocommerce-checkout #place_order:hover {
  background: #7a0f2c !important;
}

/* Terms */
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  font-size: 12px !important;
  color: rgba(var(--sf-o),0.35) !important;
  margin-bottom: 16px !important;
}
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a {
  color: rgba(160,21,58,0.8) !important;
}

/* ── RIGHT COLUMN — ORDER SUMMARY ────────────────────────────────────── */
.sf-co-right {
  position: sticky !important;
  top: 88px !important;
  background: rgba(var(--sf-o),0.03) !important;
  border: 1px solid rgba(var(--sf-o),0.08) !important;
  border-radius: 16px !important;
  padding: 28px !important;
}
.sf-co-summary-title {
  font-size: 16px !important;
  color: var(--sf-fg) !important;
  margin: 0 0 22px !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid rgba(var(--sf-o),0.08) !important;
  letter-spacing: -0.01em !important;
}

/* Product card */
.sf-co-product-card {
  display: flex !important;
  gap: 16px !important;
  align-items: center !important;
  margin-bottom: 24px !important;
  padding-bottom: 24px !important;
  border-bottom: 1px solid rgba(var(--sf-o),0.06) !important;
}
.sf-co-product-img {
  width: 80px !important;
  height: 80px !important;
  background: #f4f3f0 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
}
.sf-co-product-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}
.sf-co-product-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}
.sf-co-product-name {
  font-size: 15px !important;
  color: var(--sf-fg) !important;
  font-family: 'Archivo Black', sans-serif !important;
}
.sf-co-product-price {
  font-size: 20px !important;
  color: var(--sf-fg) !important;
  font-family: 'Archivo Black', sans-serif !important;
}
.sf-co-right .woocommerce-Price-amount,
.sf-co-right .woocommerce-Price-amount bdi,
.sf-co-right .woocommerce-Price-currencySymbol {
  color: inherit !important;
}
.sf-co-product-sub {
  font-size: 11px !important;
  color: rgba(var(--sf-o),0.35) !important;
}

/* Totals */
.sf-co-totals {
  margin-bottom: 24px !important;
  padding-bottom: 24px !important;
  border-bottom: 1px solid rgba(var(--sf-o),0.06) !important;
}
.sf-co-total-row {
  display: flex !important;
  justify-content: space-between !important;
  font-size: 13px !important;
  color: rgba(var(--sf-o),0.55) !important;
  margin-bottom: 10px !important;
}
.sf-co-total-row:last-child { margin-bottom: 0 !important; }
.sf-co-total-final {
  font-size: 16px !important;
  color: var(--sf-fg) !important;
  font-weight: 600 !important;
  margin-top: 6px !important;
}
.sf-co-free { color: #5cb85c !important; }

/* ── EXPRESS CHECKOUT (Apple Pay / Google Pay) ───────────────────────── */
/* Hidden by default — JS reveals it only when Stripe activates a button */
.sf-co-express {
  display: none;
  margin: 0 0 32px;
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(var(--sf-o),0.07);
}
.sf-co-express.sf-express-ready {
  display: block;
}
.sf-co-express-label {
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: rgba(var(--sf-o),0.35) !important;
  margin: 0 0 12px !important;
}
.sf-co-express-buttons {
  min-height: 48px;
}
.sf-co-express-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 20px;
  color: rgba(var(--sf-o),0.25);
  font-size: 12px;
  letter-spacing: 0.06em;
}
.sf-co-express-divider::before,
.sf-co-express-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: rgba(var(--sf-o),0.08);
}

/* Stripe ECE element — Stripe sets display:none, shows when Pay button available */
#wc-stripe-express-checkout-element { border-radius: 8px; overflow: hidden; }
#wc-stripe-express-checkout-button-separator { display: none !important; } /* we use our own divider */

/* ── COUPON ──────────────────────────────────────────────────────────── */
.sf-co-coupon-wrap {
  margin-bottom: 32px;
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(var(--sf-o),0.07);
}
.sf-co-coupon-toggle {
  background: none !important;
  border: none !important;
  color: rgba(var(--sf-o),0.5) !important;
  font-size: 13px !important;
  font-family: 'Inter Tight', sans-serif !important;
  cursor: pointer !important;
  padding: 0 !important;
  letter-spacing: 0.02em !important;
  transition: color 0.15s !important;
}
.sf-co-coupon-toggle:hover { color: var(--sf-fg) !important; }
.sf-co-coupon-arrow { margin-left: 4px; }
.sf-co-coupon-form {
  display: none;
  margin-top: 14px;
}
.sf-co-coupon-form.open { display: block; }
.sf-co-coupon-row {
  display: flex !important;
  gap: 10px !important;
}
.sf-co-coupon-row input {
  flex: 1 !important;
  background: rgba(var(--sf-o),0.04) !important;
  border: 1px solid rgba(var(--sf-o),0.12) !important;
  border-radius: 8px !important;
  color: var(--sf-fg) !important;
  font-size: 14px !important;
  padding: 11px 16px !important;
  outline: none !important;
  font-family: 'Inter Tight', sans-serif !important;
}
.sf-co-coupon-row input:focus { border-color: #a0153a !important; }
.sf-co-coupon-btn {
  background: rgba(var(--sf-o),0.08) !important;
  border: 1px solid rgba(var(--sf-o),0.14) !important;
  border-radius: 8px !important;
  color: var(--sf-fg) !important;
  font-size: 13px !important;
  font-family: 'Inter Tight', sans-serif !important;
  padding: 11px 20px !important;
  cursor: pointer !important;
  transition: background 0.15s !important;
  white-space: nowrap !important;
}
.sf-co-coupon-btn:hover { background: rgba(var(--sf-o),0.14) !important; }
.sf-co-coupon-feedback {
  margin-top: 8px;
  font-size: 12px;
}
.sf-co-coupon-ok { color: #5cb85c; }
.sf-co-coupon-err { color: #e05050; }

/* ── GENERIC SECTION ─────────────────────────────────────────────────── */
.sf-co-section {
  margin-top: 32px;
  padding-top: 28px;
  border-top: 1px solid rgba(var(--sf-o),0.07);
}
.sf-co-section-title {
  font-size: 16px !important;
  color: var(--sf-fg) !important;
  margin: 0 0 16px !important;
  font-family: 'Archivo Black', sans-serif !important;
}
.sf-co-optional {
  font-family: 'Inter Tight', sans-serif !important;
  font-size: 12px !important;
  color: rgba(var(--sf-o),0.35) !important;
  font-weight: 400 !important;
}

/* ── GIFT MESSAGE ────────────────────────────────────────────────────── */
.sf-co-gift-textarea {
  width: 100% !important;
  background: rgba(var(--sf-o),0.04) !important;
  border: 1px solid rgba(var(--sf-o),0.12) !important;
  border-radius: 8px !important;
  color: var(--sf-fg) !important;
  font-size: 14px !important;
  font-family: 'Inter Tight', sans-serif !important;
  padding: 12px 16px !important;
  resize: vertical !important;
  min-height: 90px !important;
  outline: none !important;
  box-sizing: border-box !important;
  transition: border-color 0.18s !important;
}
.sf-co-gift-textarea:focus { border-color: #a0153a !important; }
.sf-co-gift-hint {
  font-size: 11px !important;
  color: rgba(var(--sf-o),0.3) !important;
  margin: 6px 0 0 !important;
}

/* ── CHECKBOXES ──────────────────────────────────────────────────────── */
.sf-co-check-label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin-bottom: 12px !important;
  cursor: pointer !important;
  color: rgba(var(--sf-o),0.6) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.sf-co-check-label input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
  margin-top: 2px !important;
  accent-color: #a0153a !important;
  cursor: pointer !important;
}
.sf-co-check-label:hover { color: rgba(var(--sf-o),0.85) !important; }

/* ── GDPR ────────────────────────────────────────────────────────────── */
.sf-co-gdpr { background: rgba(160,21,58,0.06); border-radius: 10px; padding: 16px 18px !important; border: 1px solid rgba(160,21,58,0.15) !important; border-top: 1px solid rgba(160,21,58,0.15) !important; }
.sf-co-gdpr-label { color: rgba(var(--sf-o),0.65) !important; }
.sf-co-gdpr-label a { color: #c45070 !important; text-decoration: underline !important; }
.sf-co-gdpr-label a:hover { color: var(--sf-fg) !important; }
.sf-co-gdpr-note {
  margin-top: 20px !important;
  font-size: 11px !important;
  color: rgba(var(--sf-o),0.25) !important;
  line-height: 1.6 !important;
  border-top: 1px solid rgba(var(--sf-o),0.06) !important;
  padding-top: 16px !important;
}
.sf-co-gdpr-note a { color: rgba(var(--sf-o),0.4) !important; text-decoration: underline !important; }

/* Trust badges */
.sf-co-trust {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}
.sf-co-trust li {
  font-size: 12px !important;
  color: rgba(var(--sf-o),0.4) !important;
  letter-spacing: 0.02em !important;
}

/* ── FIX #3 — Hide redundant WC order-review table (right panel is authoritative) ── */
.woocommerce-checkout-review-order-table { display: none !important; }
body.woocommerce-checkout #order_review_heading { display: none !important; }

/* ── FIX #5 — Select2 country/state dropdowns — theme-aware (Day + Night) ──── */
/* --sf-o = 0,0,0 (Day) / 255,255,255 (Night); --sf-fg = #1a1a1a / #e8e8e8;     */
/* --sf-input-bg = #f9f9f9 / #1a1a1a. Hard-coded #fff text used to vanish on the */
/* white Day-mode page — country (always a select) + state/district (a select   */
/* only for countries with a predefined list) were invisible. Now they adapt.   */
body.woocommerce-checkout .select2-container--default .select2-selection--single {
  background: rgba(var(--sf-o),0.04) !important;
  border: 1px solid rgba(var(--sf-o),0.12) !important;
  border-radius: 8px !important;
  height: 47px !important;
  display: flex !important;
  align-items: center !important;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--sf-fg) !important;
  line-height: 47px !important;
  padding: 0 16px !important;
  font-family: 'Inter Tight', sans-serif !important;
  font-size: 14px !important;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 45px !important;
  right: 10px !important;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: rgba(var(--sf-o),0.4) transparent transparent !important;
}
body.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single {
  border-color: #a0153a !important;
  background: rgba(160,21,58,0.06) !important;
}
body.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection__arrow b {
  border-color: transparent transparent rgba(var(--sf-o),0.4) !important;
}
.select2-dropdown {
  background: var(--sf-input-bg) !important;
  border: 1px solid rgba(var(--sf-o),0.14) !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.35) !important;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
  background: rgba(var(--sf-o),0.07) !important;
  border: 1px solid rgba(var(--sf-o),0.14) !important;
  border-radius: 6px !important;
  color: var(--sf-fg) !important;
  padding: 8px 12px !important;
  font-family: 'Inter Tight', sans-serif !important;
  outline: none !important;
}
.select2-container--default .select2-results__option {
  color: var(--sf-fg) !important;
  padding: 9px 14px !important;
  font-size: 14px !important;
  font-family: 'Inter Tight', sans-serif !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background: rgba(160,21,58,0.35) !important;
  color: #fff !important;
}
.select2-container--default .select2-results__option[aria-selected=true] {
  background: rgba(160,21,58,0.15) !important;
  color: var(--sf-fg) !important;
}


/* ── Stripe UPE: theme-adaptive payment section ──────────────────────────── */
/* #payment uses CSS variables so Stripe's auto-detection reads the correct   */
/* background in both day and night mode and picks the matching text theme.   */
body.woocommerce-checkout #payment {
  background: var(--sf-bg) !important;
  color: var(--sf-fg) !important;
  border-radius: 0 !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.woocommerce-checkout .woocommerce-checkout-payment {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* Singleland sets li.active to #f6f6f6 — nuke it */
body.woocommerce-checkout .woocommerce-checkout-payment ul li,
body.woocommerce-checkout .woocommerce-checkout-payment ul li.active,
body.woocommerce-checkout #payment ul.payment_methods li,
body.woocommerce-checkout #payment ul.payment_methods li.active,
body.woocommerce-checkout .wc_payment_methods li,
body.woocommerce-checkout .wc_payment_methods li.active {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.woocommerce-checkout .payment_box,
body.woocommerce-checkout .woocommerce-PaymentBox {
  background: transparent !important;
  color: var(--sf-fg) !important;
  border-radius: 0 !important;
  border: none !important;
  box-shadow: none !important;
  padding: 14px 0 4px !important;
}
[data-theme='dark'] .payment_box.payment_method_stripe {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
[data-theme='dark'] #payment {
  background: transparent !important;
  border: none !important;
}
/* WC core renders a speech-bubble ::before triangle in #dcd7e2 — nuke it */
body.woocommerce-checkout #payment div.payment_box::before,
body.woocommerce-checkout .payment_box::before {
  display: none !important;
  border: 0 !important;
}
/* WC core adds border-bottom + 1em padding to payment_methods list */
body.woocommerce-checkout #payment ul.payment_methods {
  border-bottom: none !important;
  padding: 0 !important;
}
/* UPE wrapper gap */
body.woocommerce-checkout .wc-stripe-upe-element {
  margin-bottom: 0 !important;
}
/* UPE form container — transparent so #payment background shows through for auto-detection */
body.woocommerce-checkout #wc-stripe-upe-form,
body.woocommerce-checkout #wc-stripe-upe-element,
body.woocommerce-checkout .wc-stripe-upe-payment-element {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
/* Stripe outer container — white outline fix */
body.woocommerce-checkout .stripe-container,
body.woocommerce-checkout [class*="stripe-container"] {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
}
body.woocommerce-checkout .stripe-container:focus-within,
body.woocommerce-checkout [class*="stripe-container"]:focus-within {
  outline: none !important;
  box-shadow: none !important;
}
body.woocommerce-checkout .stripe-container *:focus,
body.woocommerce-checkout [class*="stripe-container"] *:focus {
  outline: none !important;
}
/* Kill WordPress block theme global focus variables — source of WC Blocks outline */
body.woocommerce-checkout {
  --wp-admin-border-width-focus: 0 !important;
  --wp-admin-theme-color: transparent !important;
}
body.woocommerce-checkout .wc-block-components-payment-methods__payment-method {
  --wp-admin-border-width-focus: 0 !important;
  --wp-admin-theme-color: transparent !important;
}
/* WooCommerce Blocks focus outline removal */
body.woocommerce-checkout .wc-block-components-text-input,
body.woocommerce-checkout .wc-block-components-text-input:focus,
body.woocommerce-checkout .wc-block-components-text-input:focus-within,
body.woocommerce-checkout .wc-block-components-payment-methods__payment-method,
body.woocommerce-checkout .wc-block-components-payment-methods__payment-method:focus,
body.woocommerce-checkout .wc-block-components-payment-methods__payment-method:focus-within {
  outline: none !important;
  box-shadow: none !important;
  border: none !important;
}
/* StripeElement + private wrapper + UPE focus ring — eliminate last outline */
body.woocommerce-checkout .StripeElement,
body.woocommerce-checkout .StripeElement * {
  outline: none !important;
  box-shadow: none !important;
}
body.woocommerce-checkout .__PrivateStripeElement,
body.woocommerce-checkout .__PrivateStripeElement * {
  outline: none !important;
  box-shadow: none !important;
  border: none !important;
}
body.woocommerce-checkout .wc-stripe-upe-element:focus,
body.woocommerce-checkout .wc-stripe-upe-element:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  border: none !important;
}
/* Legacy card element — theme-adaptive via --sf-o */
body.woocommerce-checkout .wc-stripe-elements-field,
body.woocommerce-checkout .wc-stripe-iban-element-field {
  background-color: rgba(var(--sf-o),0.04) !important;
  border: 1px solid rgba(var(--sf-o),0.12) !important;
  border-radius: 8px !important;
}
body.woocommerce-checkout #wc-stripe-card-element,
body.woocommerce-checkout #wc-stripe-becs-bank-account-element,
body.woocommerce-checkout #wc-stripe-iban-element,
body.woocommerce-checkout .wc-stripe-elements-field,
body.woocommerce-checkout .stripe-card-element {
  background: rgba(var(--sf-o),0.04) !important;
  border: 1px solid rgba(var(--sf-o),0.12) !important;
  border-radius: 8px !important;
  padding: 14px 16px !important;
  min-height: 48px !important;
  transition: border-color 0.18s !important;
}
body.woocommerce-checkout #wc-stripe-card-element.StripeElement--focus,
body.woocommerce-checkout .wc-stripe-elements-field.StripeElement--focus {
  border-color: #a0153a !important;
}
body.woocommerce-checkout #wc-stripe-card-element.StripeElement--invalid,
body.woocommerce-checkout .wc-stripe-elements-field.StripeElement--invalid {
  border-color: #e05a5a !important;
}

/* ── Singleland: .woocommerce-checkout-review-order has background:#f7f6f7 + padding:30px 40px ── */
body.woocommerce-checkout .woocommerce-checkout-review-order,
body.woocommerce-checkout #order_review {
  background: transparent !important;
  padding: 0 !important;
}

/* ── FIX #9 — col2-set / billing / shipping — no white bleed-through ────── */
body.woocommerce-checkout .col2-set,
body.woocommerce-checkout .col-1,
body.woocommerce-checkout .col-2,
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
  background: transparent !important;
  color: inherit !important;
}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper::after,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper::after {
  content: '' !important;
  display: table !important;
  clear: both !important;
}

/* ── RIGHT PANEL — dynamic cart helpers ─────────────────────────────────── */
.sf-co-qty {
  font-family: 'Inter Tight', sans-serif !important;
  font-size: 12px !important;
  color: rgba(var(--sf-o),0.4) !important;
  font-weight: 400 !important;
}
.sf-co-discount-row > span:first-child { color: rgba(var(--sf-o),0.55) !important; }
.sf-co-discount-row > span:last-child  { color: #5cb85c !important; }
.sf-co-discount-code {
  font-style: normal !important;
  color: rgba(var(--sf-o),0.35) !important;
  font-size: 11px !important;
  font-family: 'Inter Tight', sans-serif !important;
}

/* ── RESPONSIVE ──────────────────────────────────────────────────────── */
@media (max-width: 860px) {
  .sf-co-form {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
  .sf-co-right {
    position: static !important;
    order: -1 !important;
  }
  .sf-nav-links { display: none !important; }
  .sf-co-page { padding-left: 20px !important; padding-right: 20px !important; }
  body.woocommerce-checkout .form-row-first,
  body.woocommerce-checkout .form-row-last {
    width: 100% !important;
    float: none !important;
  }
}

/* REVERT-QTY-CHECKOUT-START — remove this block to revert */
.sf-co-qty-ctrl { display: inline-flex; align-items: center; border: 1.5px solid rgba(var(--sf-o),.2); border-radius: 9999px; overflow: hidden; margin: 6px 0; background: rgba(var(--sf-o),.03); }
.sf-co-qty-btn { width: 36px; height: 36px; background: transparent; border: none; font-size: 18px; font-weight: 400; cursor: pointer; color: var(--sf-fg); display: flex; align-items: center; justify-content: center; transition: background .15s, color .15s; flex-shrink: 0; }
.sf-co-qty-btn:hover { background: #a0153a; color: #fff; }
.sf-co-qty-btn:active { background: #7a0f2c; color: #fff; }
.sf-co-qty-num { min-width: 36px; text-align: center; font-size: 15px; font-weight: 700; color: var(--sf-fg); line-height: 36px; border-left: 1.5px solid rgba(var(--sf-o),.12); border-right: 1.5px solid rgba(var(--sf-o),.12); padding: 0 6px; }
.sf-co-product-info { display: flex; flex-direction: column; gap: 3px; }
.sf-co-product-card { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 16px; }
.sf-co-product-name { font-size: 14px; font-weight: 600; color: var(--sf-fg); }
/* REVERT-QTY-CHECKOUT-END */

/* ── FIX #6 — kill residual white outline in Night mode ──────────────────── */
/* Stripe injects a hidden style-probe input; it wasn't actually hidden and    */
/* picked up .input-text border/bg → a faint white box below the card fields.  */
/* Move it off-screen (NOT display:none, so style detection still works).      */
body.woocommerce-checkout #wc-stripe-hidden-style-input {
  position: absolute !important;
  left: -9999px !important;
  top: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
/* Bare <fieldset> renders the browser-default 2px groove (#efefef) border —   */
/* invisible on white (Day) but a glaring white outline on dark (Night).       */
body.woocommerce-checkout fieldset {
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  min-inline-size: 0 !important;
}
