/*
Theme Name: Quicken Child
Template: woostify
Description: Child theme of Woostify carrying the quicken landing-page design (homepage + product pages).
Version: 1.0.0
Author: quicken
*/

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; scroll-padding-top: 80px; }

/* ── Fixed nav ──────────────────────────────────────────── */
#nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 50;
  transition:
    background    0.45s ease,
    backdrop-filter 0.45s ease,
    -webkit-backdrop-filter 0.45s ease,
    box-shadow    0.45s ease,
    padding-top   0.35s cubic-bezier(0.16,1,0.3,1),
    padding-bottom 0.35s cubic-bezier(0.16,1,0.3,1);
  padding-top: 1.75rem;
  padding-bottom: 1.75rem;
}
#nav.nav-scrolled {
  background: rgba(3,7,18,0.88);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  box-shadow: 0 1px 0 rgba(255,255,255,0.06), 0 6px 32px rgba(0,0,0,0.35);
  padding-top: 0.85rem;
  padding-bottom: 0.85rem;
}
/* Scroll progress bar */
#nav-progress {
  position: absolute;
  bottom: 0; left: 0;
  height: 1px;
  width: 0%;
  background: linear-gradient(to right, rgba(0,191,255,0.9), rgba(13,79,107,0.5));
  opacity: 0;
  transition: opacity 0.4s;
  pointer-events: none;
}
#nav.nav-scrolled #nav-progress { opacity: 1; }

body.quicken-dark {
  font-family: 'Inter', sans-serif;
  background-color: #030712;
  background-image: radial-gradient(ellipse 80% 50% at 15% 10%, rgba(13,79,107,0.42) 0%, transparent 60%);
  color: #94A3B8;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

/* ── Fixed BG Effects ──────────────────────────── */
.neon-beam-core {
  position: fixed; top: -20%; left: -15%;
  width: 120vw; height: 50vh;
  transform: rotate(-22deg);
  background: linear-gradient(90deg, rgba(255,255,255,0.6) 0%, rgba(0,191,255,0.55) 18%, rgba(13,79,107,0.35) 45%, transparent 80%);
  filter: blur(70px);
  mix-blend-mode: screen;
  pointer-events: none; z-index: 1; opacity: 0.35;
}
.neon-beam-glow {
  position: fixed; top: -30%; left: -20%;
  width: 150vw; height: 80vh;
  transform: rotate(-22deg);
  background: linear-gradient(90deg, rgba(0,191,255,0.4) 0%, rgba(13,79,107,0.2) 30%, transparent 70%);
  filter: blur(110px);
  pointer-events: none; z-index: 0; opacity: 0.3;
}
#webgl-canvas {
  position: fixed; top: 0; left: 0;
  width: 100vw; height: 100vh;
  z-index: 3; pointer-events: none;
}
.container-lines {
  position: fixed; inset: 0;
  pointer-events: none; z-index: 4;
  display: flex; justify-content: space-between;
  max-width: 80rem; margin: 0 auto; padding: 0 2rem;
}
.container-line {
  width: 1px;
  background: linear-gradient(to bottom, transparent, rgba(255,255,255,0.025) 15%, rgba(255,255,255,0.025) 85%, transparent);
}

/* ── Carbon Fibre ──────────────────────────────── */
.carbon-fiber {
  background-color: #111111;
  background-image:
    repeating-linear-gradient(-45deg, transparent 0, transparent 3px, rgba(255,255,255,0.035) 3px, rgba(255,255,255,0.035) 6px),
    repeating-linear-gradient(45deg, transparent 0, transparent 3px, rgba(0,0,0,0.25) 3px, rgba(0,0,0,0.25) 6px);
}

/* ── quicken Button ──────────────────────────────── */
.qt-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border-radius: 9999px;
  border: 2px solid rgba(0,191,255,0.32);
  background: linear-gradient(135deg, rgba(0,191,255,0.14) 0%, rgba(10,10,10,0.75) 55%, rgba(13,79,107,0.12) 100%);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  overflow: hidden;
  cursor: pointer;
  transition: border-color 0.45s, box-shadow 0.45s, transform 0.35s cubic-bezier(0.16,1,0.3,1);
  box-shadow: 0 4px 24px rgba(0,0,0,0.35);
  text-decoration: none;
}
.qt-btn:hover {
  border-color: rgba(0,191,255,0.65);
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 0 36px rgba(0,191,255,0.28), 0 8px 32px rgba(0,0,0,0.45);
}
.qt-btn:active { transform: scale(0.95); }
/* shimmer sweep */
.qt-btn::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(0,191,255,0.22) 50%, transparent 100%);
  transform: translateX(-100%);
  transition: transform 0.9s ease-out;
  pointer-events: none;
}
.qt-btn:hover::before { transform: translateX(100%); }
/* hover glow fill */
.qt-btn::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(0,191,255,0.09), rgba(0,191,255,0.16), rgba(13,79,107,0.09));
  opacity: 0;
  transition: opacity 0.45s;
  pointer-events: none;
}
.qt-btn:hover::after { opacity: 1; }
.qt-btn-label {
  position: relative; z-index: 10;
  font-weight: 700; color: #E8E8E8;
  white-space: nowrap; letter-spacing: -0.01em;
}
.qt-btn-arrow {
  position: relative; z-index: 10;
  opacity: 0.38;
  transition: opacity 0.3s, transform 0.3s;
  display: flex; align-items: center;
  flex-shrink: 0;
}
.qt-btn:hover .qt-btn-arrow { opacity: 1; transform: translateX(3px); }
.qt-btn.qt-btn-loading { opacity: 0.6; pointer-events: none; }

/* ── Silver wallet variant ────────────────────── */
.silver-wallet {
  background-color: #252525 !important;
  background-image:
    repeating-linear-gradient(-45deg, transparent 0, transparent 3px, rgba(255,255,255,0.06) 3px, rgba(255,255,255,0.06) 6px),
    repeating-linear-gradient(45deg, transparent 0, transparent 3px, rgba(200,200,200,0.07) 3px, rgba(200,200,200,0.07) 6px) !important;
  border-color: rgba(180,180,180,0.3) !important;
}
.silver-wallet .wallet-brand { color: rgba(255,255,255,0.35) !important; }

/* ── Hero wallet ───────────────────────────────── */
.wallet-glow {
  box-shadow: 0 0 60px rgba(0,191,255,0.3), 0 0 120px rgba(13,79,107,0.15), inset 0 1px 0 rgba(255,255,255,0.08);
}

/* ── Section divider ───────────────────────────── */
.section-line {
  width: 1px; height: 64px;
  background: linear-gradient(to bottom, transparent, rgba(0,191,255,0.35), transparent);
  margin: 0 auto;
}

/* ── Scroll indicator ──────────────────────────── */
.scroll-mouse {
  width: 24px; height: 40px;
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 12px; position: relative;
}
.scroll-dot {
  width: 4px; height: 4px; border-radius: 50%;
  background: rgba(0,191,255,0.9);
  position: absolute; left: 50%; top: 8px;
  transform: translateX(-50%);
  animation: sdot 2.2s ease-in-out infinite;
}
@keyframes sdot {
  0%,100% { top: 8px; opacity: 1; }
  60%      { top: 22px; opacity: 0.2; }
}

/* ── Pain cards ────────────────────────────────── */
.pain-card {
  background: rgba(255,255,255,0.018);
  border: 1px solid rgba(255,255,255,0.055);
  border-radius: 14px; padding: 1.75rem;
  transition: border-color 0.3s;
}
.pain-card:hover { border-color: rgba(0,191,255,0.2); }

/* ── Review cards ──────────────────────────────── */
.review-card {
  background: rgba(255,255,255,0.018);
  border: 1px solid rgba(255,255,255,0.055);
  border-radius: 14px; padding: 1.5rem;
  min-width: 290px; flex-shrink: 0;
}

/* ── Marquee ─────────────────────────────────────────────── */
@keyframes marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.marquee-wrap {
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 7%, #000 93%, transparent 100%);
          mask-image: linear-gradient(to right, transparent 0%, #000 7%, #000 93%, transparent 100%);
}
.marquee-track {
  display: flex;
  gap: 1rem;
  width: max-content;
  animation: marquee 65s linear infinite;
  will-change: transform;
}

/* ── Slider ────────────────────────────────────── */
input[type=range] {
  -webkit-appearance: none; appearance: none;
  height: 2px; background: rgba(255,255,255,0.08);
  border-radius: 1px; outline: none; width: 100%;
}
input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 22px; height: 22px; border-radius: 50%;
  background: linear-gradient(135deg, #00BFFF, #0D4F6B);
  cursor: pointer; box-shadow: 0 0 14px rgba(0,191,255,0.5);
}

/* ── FAQ ───────────────────────────────────────── */
.faq-item { border-bottom: 1px solid rgba(255,255,255,0.055); }
.faq-answer { overflow: hidden; transition: max-height 0.4s cubic-bezier(0.16,1,0.3,1), opacity 0.3s; }

/* ── Sticky mobile bar ─────────────────────────── */
.sticky-bar {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 200;
  transform: translateY(100%);
  transition: transform 0.4s cubic-bezier(0.16,1,0.3,1);
  background: rgba(10,10,10,0.95);
  backdrop-filter: blur(24px);
  border-top: 1px solid rgba(255,255,255,0.07);
}
.sticky-bar.visible { transform: translateY(0); }

/* ── Text mask reveal ──────────────────────────── */
.word-wrap { display: inline-block; overflow: hidden; vertical-align: bottom; }
.word-inner { display: inline-block; transform: translateY(110%); opacity: 0; }

/* ── Feature scroll sections ───────────────────── */
.fs { opacity: 0; transform: translateY(36px); }

/* ── Card eject animation ──────────────────────── */
@keyframes card-eject {
  0%,100% { transform: translateX(0px); }
  50%      { transform: translateX(14px); }
}

/* ── Theme: Neon Cyan / Deep Space — Tailwind overrides ── */
.quicken-dark [class*="text-fuchsia-4"]   { color: #00BFFF !important; }
.quicken-dark [class*="text-fuchsia-5"]   { color: #00BFFF !important; }
.quicken-dark [class*="border-fuchsia-5"] { border-color: #00BFFF !important; }
.quicken-dark [class*="border-fuchsia-7"] { border-color: rgba(0,191,255,0.45) !important; }
.quicken-dark [class*="bg-fuchsia-5"]     { background-color: rgba(0,191,255,0.6) !important; }
.quicken-dark [class*="bg-fuchsia-9"]     { background-color: rgba(13,79,107,0.12) !important; }
.quicken-dark .text-white                  { color: #E8E8E8 !important; }
.quicken-dark .from-cyan-500 { --tw-gradient-from: #00BFFF !important; }
.quicken-dark .to-cyan-500   { --tw-gradient-to:   #0D4F6B !important; }
/* Stars keep warm gold; red/orange pain points unchanged */
.quicken-dark [class*="text-yellow-4"] { color: #f5a623 !important; }

/* ── RFID pulse rings ──────────────────────────── */
.rfid-ring {
  position: absolute; inset: 0; border-radius: 50%;
  border: 1px solid rgba(0,191,255,0.15);
  animation: rfid-pulse 3s ease-out infinite;
}
.rfid-ring:nth-child(2) { inset: -14px; animation-delay: 0.6s; }
.rfid-ring:nth-child(3) { inset: -28px; animation-delay: 1.2s; }
@keyframes rfid-pulse {
  0%   { opacity: 0.6; transform: scale(1); }
  100% { opacity: 0;   transform: scale(1.25); }
}

/* ── Ambient scroll glow ───────────────────────── */
#ambient-glow-wrap {
  position: fixed; inset: 0;
  pointer-events: none; z-index: 1;
  opacity: 0;
}
#ambient-glow-a {
  position: absolute;
  width: 55vw; height: 55vh;
  top: 50%; left: 38%;
  transform: translate(-50%, -50%);
  background: radial-gradient(ellipse at center, rgba(0,191,255,0.09) 0%, transparent 68%);
  filter: blur(48px);
}
#ambient-glow-b {
  position: absolute;
  width: 42vw; height: 45vh;
  top: 45%; left: 58%;
  transform: translate(-50%, -50%);
  background: radial-gradient(ellipse at center, rgba(13,79,107,0.08) 0%, transparent 68%);
  filter: blur(56px);
}

/* ── Heading colors ───────────────────────────── */
.quicken-dark h1, .quicken-dark h2, .quicken-dark h3 { color: #F0F8FF; }

/* ── Hero fade classes ─────────────────────────── */
.h-fade { opacity: 0; }

/* ── Glowing border effect (Aceternity-style) ───────────────── */
.glow-card { position: relative; }
.glow-card::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: radial-gradient(
    200px circle at var(--glow-x, -200px) var(--glow-y, -200px),
    rgba(0,191,255,0.75),
    transparent 70%
  );
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  mask-composite: exclude;
  opacity: 0;
  transition: opacity 0.35s ease;
  pointer-events: none;
}
.glow-card:hover::before { opacity: 1; }

/* ── Product page: real WC gallery + add-to-cart wrapper ── */
.qt-product-gallery-main img {
  transition: opacity 0.3s;
}
.qt-add-to-cart-form .quantity { display: none; } /* single-card product: qty fixed at 1 in the UI, form still supports qty via hidden input */
.qt-add-to-cart-form { display: inline-block; width: 100%; }

/* ── Checkout — step breadcrumb + trust badges (checkout-canvas.php) ── */
.quicken-dark .qt-checkout-steps { display: flex; align-items: center; gap: 0.75rem; }
.quicken-dark .qt-checkout-step { font-size: 0.75rem; letter-spacing: 0.05em; text-transform: uppercase; color: #4B5563; }
.quicken-dark .qt-checkout-step.is-done { color: #00BFFF; }
.quicken-dark .qt-checkout-step.is-active { color: #F0F8FF; font-weight: 600; }
.quicken-dark .qt-checkout-step-sep { width: 24px; height: 1px; background: rgba(255,255,255,0.12); }

.quicken-dark .qt-checkout-trust { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,0.08); display: flex; flex-direction: column; gap: 0.6rem; }
.quicken-dark .qt-checkout-trust-item { display: flex; align-items: center; gap: 0.5rem; font-size: 0.8125rem; color: #94A3B8; }
.quicken-dark .qt-checkout-trust-item iconify-icon { color: #00BFFF; flex-shrink: 0; }

/* ── Checkout — single narrow centered column, 3 real steps ──
   #customer_details / #order_review_heading / #order_review are
   WooCommerce's own unmodified elements; "display:contents" on the form
   lets us position/hide their contents directly without touching markup.
   Only one step's fields are ever visible at once — as distraction-free
   as the real WooCommerce form allows. ── */
[x-cloak] { display: none !important; }
.quicken-dark .quicken-checkout-grid form.checkout { display: contents; }

/* A bounded card (background/border) reads as more trustworthy than
   fields floating loose on the page — used for whichever step is active. */
.quicken-dark .quicken-checkout-grid #customer_details {
  background: rgba(12,18,42,0.6);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 1rem;
  padding: 1.75rem;
  backdrop-filter: blur(8px);
}
.quicken-dark .quicken-checkout-grid #order_review_heading { display: none; }
.quicken-dark .quicken-checkout-grid #order_review {
  background: rgba(12,18,42,0.88);
  border: 1px solid rgba(255,255,255,0.13);
  border-radius: 1rem;
  padding: 1.5rem;
  margin-top: 1rem;
}
.quicken-dark #wc-stripe-express-checkout-button-separator { margin: 0.5rem 0 0.75rem; color: #4B5563; font-size: 0.75rem; }

/* Step 3 only needs the payment section, not the full cart/totals table —
   keep it to a compact total line instead, right above the payment box. */
.quicken-dark .quicken-checkout-grid #order_review .woocommerce-checkout-review-order-table tbody tr:not(.order-total),
.quicken-dark .quicken-checkout-grid #order_review .woocommerce-checkout-review-order-table thead {
  display: none;
}

/* ── Step 1 — Elérhetőség: name / email / phone only. Everything else in
   #customer_details, the express-pay button, and #order_review are
   hidden. Uses field IDs (WooCommerce's stable core keys) rather than
   DOM order, so this is unaffected by Checkout Field Editor reordering. ── */
.quicken-dark .woocommerce-billing-fields > h3 { display: none; } /* replaced by the step heading */
.quicken-dark .woocommerce-billing-fields__field-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.25rem 1rem;
}
.quicken-dark .form-row-wide { grid-column: 1 / -1; }
.quicken-dark #billing_email_field,
.quicken-dark #billing_phone_field { grid-column: 1 / -1; }

.quicken-dark [data-step="1"] .woocommerce-form-coupon-toggle,
.quicken-dark [data-step="1"] #wc-stripe-express-checkout-element,
.quicken-dark [data-step="1"] #wc-stripe-express-checkout-button-separator,
.quicken-dark [data-step="1"] #order_review,
.quicken-dark [data-step="1"] #billing_company_field,
.quicken-dark [data-step="1"] #billing_country_field,
.quicken-dark [data-step="1"] #billing_address_1_field,
.quicken-dark [data-step="1"] #billing_address_2_field,
.quicken-dark [data-step="1"] #billing_city_field,
.quicken-dark [data-step="1"] #billing_state_field,
.quicken-dark [data-step="1"] #billing_postcode_field,
.quicken-dark [data-step="1"] .woocommerce-shipping-fields,
.quicken-dark [data-step="1"] .woocommerce-additional-fields,
.quicken-dark [data-step="1"] ul#shipping_method,
.quicken-dark [data-step="1"] [class*="pickup-point"],
.quicken-dark [data-step="1"] [class*="csomagpont"],
.quicken-dark [data-step="1"] [class*="foxpost"],
.quicken-dark [data-step="1"] [class*="gls-locker"] {
  display: none;
}

/* ── Step 2 — Szállítás: delivery address + shipping method / pickup
   point only. Contact fields and payment are hidden. ── */
.quicken-dark [data-step="2"] #billing_first_name_field,
.quicken-dark [data-step="2"] #billing_last_name_field,
.quicken-dark [data-step="2"] #billing_email_field,
.quicken-dark [data-step="2"] #billing_phone_field,
.quicken-dark [data-step="2"] .woocommerce-form-coupon-toggle,
.quicken-dark [data-step="2"] #wc-stripe-express-checkout-element,
.quicken-dark [data-step="2"] #wc-stripe-express-checkout-button-separator,
.quicken-dark [data-step="2"] #order_review {
  display: none;
}

/* ── Step 3 — Fizetés: express pay + payment method + place-order button
   only. #customer_details (contact + address, already collected) hides
   entirely. ── */
.quicken-dark [data-step="3"] #customer_details {
  display: none;
}

.quicken-dark .qt-step-nav { margin-top: 1rem; }

/* .qt-step-back lives outside the grid (normal block flow, above the
   breadcrumb) so it never has to compete for a grid cell. */
.quicken-dark .qt-step-back {
  display: inline-flex; align-items: center; gap: 0.5rem;
  background: none; border: none; cursor: pointer;
  color: #94A3B8; font-size: 0.8125rem; margin-bottom: 1rem;
  transition: color 0.2s;
}
.quicken-dark .qt-step-back:hover { color: #E8E8E8; }

/* WooCommerce prepends its error/success notices to the top of the real
   <form> (display:contents, so this just becomes the first visible block)
   — not targeted by any [data-step] rule, so it's always visible no
   matter which step the visitor is on when an error comes back. */
.quicken-dark .quicken-checkout-grid .woocommerce-NoticeGroup,
.quicken-dark .quicken-checkout-grid > form.checkout > .woocommerce-error,
.quicken-dark .quicken-checkout-grid > form.checkout > .woocommerce-message {
  margin-bottom: 1rem;
}

/* ── Checkout — form fields ── */
.quicken-dark .woocommerce-billing-fields h3,
.quicken-dark .woocommerce-shipping-fields h3,
.quicken-dark .woocommerce-additional-fields h3 {
  font-size: 1.125rem; font-weight: 600; color: #F0F8FF; margin-bottom: 1.25rem;
}
.quicken-dark .form-row label { color: #94A3B8; font-size: 0.8125rem; margin-bottom: 0.35rem; display: block; }
.quicken-dark .form-row .required { color: #00BFFF; text-decoration: none; }
.quicken-dark .woocommerce-input-wrapper input.input-text,
.quicken-dark .woocommerce-checkout input.input-text,
.quicken-dark .woocommerce-checkout textarea,
.quicken-dark .woocommerce-checkout select,
.quicken-dark .select2-container--default .select2-selection--single {
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 10px !important;
  color: #E8E8E8 !important;
  padding: 0.7rem 0.9rem !important;
  height: auto !important;
  font-size: 0.9375rem;
}
.quicken-dark .woocommerce-checkout input.input-text:focus,
.quicken-dark .woocommerce-checkout textarea:focus,
.quicken-dark .woocommerce-checkout select:focus {
  outline: none !important;
  border-color: rgba(0,191,255,0.55) !important;
  box-shadow: 0 0 0 3px rgba(0,191,255,0.12) !important;
}
.quicken-dark .select2-container--default .select2-selection--single .select2-selection__rendered { color: #E8E8E8; line-height: 2.4 !important; }
.quicken-dark .select2-dropdown { background: #0B1220; border: 1px solid rgba(255,255,255,0.12); }
.quicken-dark .select2-results__option { color: #94A3B8; }
.quicken-dark .select2-results__option--highlighted { background: rgba(0,191,255,0.18) !important; color: #fff !important; }
.quicken-dark .select2-container--default .select2-selection--single .select2-selection__arrow b { border-color: #94A3B8 transparent transparent transparent; }

/* Real-time validation states (WooCommerce's own classes) */
.quicken-dark .woocommerce-invalid input.input-text,
.quicken-dark .woocommerce-invalid select { border-color: rgba(248,113,113,0.6) !important; }
.quicken-dark .woocommerce-validated input.input-text,
.quicken-dark .woocommerce-validated select { border-color: rgba(74,222,128,0.5) !important; }

/* Shipping method / payment method radio rows */
.quicken-dark ul#shipping_method,
.quicken-dark ul.wc_payment_methods {
  list-style: none;
}
.quicken-dark ul#shipping_method li,
.quicken-dark ul.wc_payment_methods li.wc_payment_method {
  background: rgba(255,255,255,0.018);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px;
  padding: 0.85rem 1rem;
  margin-bottom: 0.6rem;
  color: #94A3B8;
}
.quicken-dark ul.wc_payment_methods li.wc_payment_method label { color: #E8E8E8; font-weight: 500; }
.quicken-dark .payment_box.payment_method_stripe {
  background: rgba(255,255,255,0.03);
  border-radius: 10px;
  margin-top: 0.75rem;
  padding: 1rem;
  color: #94A3B8;
}
.quicken-dark #stripe-payment-data,
.quicken-dark .wc-stripe-elements-field,
.quicken-dark .StripeElement {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 8px;
  padding: 0.75rem;
}

/* Order review table (cart items + totals) inside the sticky card */
.quicken-dark .woocommerce-checkout-review-order-table { width: 100%; }
.quicken-dark .woocommerce-checkout-review-order-table th,
.quicken-dark .woocommerce-checkout-review-order-table td {
  color: #94A3B8; border-bottom: 1px solid rgba(255,255,255,0.08);
  padding: 0.6rem 0; font-size: 0.875rem;
}
.quicken-dark .woocommerce-checkout-review-order-table .product-name { color: #E8E8E8; }
.quicken-dark .woocommerce-checkout-review-order-table .order-total td,
.quicken-dark .woocommerce-checkout-review-order-table .order-total th { color: #F0F8FF; font-size: 1.125rem; font-weight: 600; border-bottom: none; }
.quicken-dark .woocommerce-checkout-review-order-table .amount { color: inherit; }

/* Coupon toggle */
.quicken-dark .woocommerce-form-coupon-toggle .woocommerce-info { background: rgba(255,255,255,0.03); color: #94A3B8; border: 1px solid rgba(255,255,255,0.08); border-radius: 10px; }
.quicken-dark .woocommerce-form-coupon-toggle a { color: #00BFFF; }

/* Place order button → real .qt-btn look */
.quicken-dark #place_order {
  width: 100%;
  border-radius: 9999px;
  border: 2px solid rgba(0,191,255,0.32);
  background: linear-gradient(135deg, rgba(0,191,255,0.14) 0%, rgba(10,10,10,0.75) 55%, rgba(13,79,107,0.12) 100%);
  color: #E8E8E8; font-weight: 700; font-size: 0.9375rem;
  padding: 14px 20px; margin-top: 1rem;
  transition: border-color 0.3s, transform 0.2s;
}
.quicken-dark #place_order:hover { border-color: rgba(0,191,255,0.65); transform: translateY(-1px); }

/* Notices / errors */
.quicken-dark .woocommerce-NoticeGroup .woocommerce-error,
.quicken-dark .woocommerce-error {
  background: rgba(248,113,113,0.08); border: 1px solid rgba(248,113,113,0.35);
  color: #FCA5A5; border-radius: 10px; padding: 1rem; list-style: none;
}
.quicken-dark .woocommerce-message,
.quicken-dark .woocommerce-info {
  background: rgba(0,191,255,0.08); border: 1px solid rgba(0,191,255,0.3);
  color: #94A3B8; border-radius: 10px; padding: 1rem;
}

/* Best-effort: Hungarian Pickup Points widget — exact markup unverified
   until seen live, this targets its likely common containers/buttons so
   it doesn't look jarringly out of place; may need a follow-up pass. */
.quicken-dark [class*="pickup-point"],
.quicken-dark [class*="csomagpont"],
.quicken-dark [id*="pickup-point"],
.quicken-dark [class*="foxpost"],
.quicken-dark [class*="gls-locker"] {
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 10px !important;
  color: #E8E8E8 !important;
}

/* ── Thank-you / order-received page ── */
.quicken-dark .woocommerce-order,
.quicken-dark .woocommerce-thankyou-order-received { color: #94A3B8; text-align: center; }
.quicken-dark .woocommerce-thankyou-order-received {
  display: block; font-size: 1.25rem; color: #F0F8FF; margin-bottom: 2rem;
}
.quicken-dark .woocommerce-order-overview,
.quicken-dark .woocommerce-order-details,
.quicken-dark .woocommerce-order-downloads {
  background: rgba(255,255,255,0.018); border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px; padding: 1.5rem; margin-bottom: 1.5rem; list-style: none;
}
.quicken-dark .woocommerce-order-details table,
.quicken-dark .woocommerce-table { width: 100%; color: #94A3B8; }
.quicken-dark .woocommerce-order-details th,
.quicken-dark .woocommerce-order-details td { border-bottom: 1px solid rgba(255,255,255,0.08); padding: 0.6rem; }

/* ── Real Site Reviews plugin output, restyled for the dark theme ── */
.quicken-dark .quicken-reviews,
.quicken-dark .quicken-reviews * { color: #94A3B8; }
.quicken-dark .quicken-reviews h1,
.quicken-dark .quicken-reviews h2,
.quicken-dark .quicken-reviews h3,
.quicken-dark .quicken-reviews h4,
.quicken-dark .quicken-reviews strong,
.quicken-dark .quicken-reviews .glsr-summary-total { color: #F0F8FF; }
.quicken-dark .quicken-reviews .glsr-star-rating .glsr-star,
.quicken-dark .quicken-reviews .glsr-star-rating .glsr-star svg { color: #f5a623 !important; fill: #f5a623 !important; }
.quicken-dark .quicken-reviews .glsr-review {
  background: rgba(255,255,255,0.018);
  border: 1px solid rgba(255,255,255,0.055);
  border-radius: 14px; padding: 1.5rem; margin-bottom: 1rem;
}
.quicken-dark .quicken-reviews a { color: #00BFFF; }
.quicken-dark .quicken-reviews input,
.quicken-dark .quicken-reviews textarea {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.1);
  color: #E8E8E8;
}
