/* ============================================================
   VORTEX RESEARCH — CUSTOMIZER CSS (CLEAN CONSOLIDATED, v2)
   Replace your entire Customizer CSS with this file.
   Changelog from previous version:
   - ::selection no longer forces dark text color (was making
     selected text disappear on dark sections like the stats bar)
   - Removed dead "HERO BOUNCE" block (vx-hero-bounce / vx-float /
     vx-hero-visual) — belonged to the old Elementor-widget hero,
     none of those classes exist in the new native-HTML homepage
   - Removed stale ".products-section .product-row" breakout rule
     that was fighting the new homepage's contained product frame
   - Consolidated three overlapping "force homepage full width"
     patches (body.home / body.home.ast-plain-container /
     body.page-id-20425) into one clean block
   ============================================================ */

/* ========== TOKENS ========== */
:root {
  --vx-bg: #FFFFFF;
  --vx-tint: #FAF7FF;
  --vx-soft: #F3EEFF;
  --vx-purple: #7C5CFA;
  --vx-deep: #5B3FE8;
  --vx-light: #A78BFA;
  --vx-ink-1: #0F0824;
  --vx-ink-2: #2D2147;
  --vx-ink-3: #5B4D6E;
  --vx-ink-4: #8B7BA8;
  --vx-border: #ECE4FA;
  --vx-border-strong: #D4C5F9;
  --vx-shadow-sm: 0 2px 6px rgba(124,92,250,0.06);
  --vx-shadow-md: 0 8px 24px rgba(124,92,250,0.10);
  --vx-shadow-lg: 0 24px 60px rgba(124,92,250,0.18);
  --vx-shadow-cta: 0 6px 18px rgba(124,92,250,0.32);
  --vx-shadow-cta-h: 0 12px 28px rgba(124,92,250,0.40);
}

/* ========== PAGE WRAPPERS ========== */
html, body, #page, .site, .site-content,
.ast-container, .ast-row, .entry-content, main#main {
  background: #fff !important;
}
html, body {
  max-width: 100% !important;
  overflow-x: hidden !important;
  margin-top: 0 !important;
}
body {
  color: var(--vx-ink-1);
  padding-top: 80px !important;
}
body.elementor-editor-active { padding-top: 0 !important; }
body.admin-bar { padding-top: 112px !important; }
@media (max-width: 921px) { body { padding-top: 64px !important; } }
@media (max-width: 782px) { body.admin-bar { padding-top: 110px !important; } }
.site, #page, .elementor, .elementor-section,
.elementor-container, .elementor-widget-wrap { max-width: 100% !important; }
html { scroll-padding-top: 80px; }

/* ========== STICKY HEADER ========== */
.site-header, .ast-primary-header-bar, .ast-mobile-header-wrap {
  position: fixed !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  width: 100% !important;
  z-index: 99 !important;
}
body.admin-bar .site-header,
body.admin-bar .ast-primary-header-bar,
body.admin-bar .ast-mobile-header-wrap { top: 32px !important; }
@media (max-width: 782px) {
  body.admin-bar .site-header,
  body.admin-bar .ast-primary-header-bar,
  body.admin-bar .ast-mobile-header-wrap { top: 46px !important; }
}

/* ========== ELEMENTOR HELPERS ========== */
.vx-btn-primary a, .vx-btn-primary .elementor-button {
  background: var(--vx-purple) !important;
  color: #fff !important;
  border-radius: 999px !important;
  box-shadow: var(--vx-shadow-cta) !important;
  transition: transform .2s ease, box-shadow .3s ease, background .2s ease !important;
}
.vx-btn-primary a:hover, .vx-btn-primary .elementor-button:hover {
  background: var(--vx-deep) !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--vx-shadow-cta-h) !important;
}
.vx-btn-secondary a, .vx-btn-secondary .elementor-button {
  background: #fff !important;
  color: var(--vx-ink-1) !important;
  border: 1px solid var(--vx-border-strong) !important;
  border-radius: 999px !important;
}
.vx-btn-secondary a:hover {
  background: var(--vx-tint) !important;
  border-color: var(--vx-light) !important;
}
.vx-eyebrow {
  display: inline-block;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--vx-deep) !important;
  text-transform: uppercase;
  letter-spacing: 2px;
}
.vx-eyebrow-dot, .vx-eyebrow-dot .elementor-heading-title {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.vx-eyebrow-dot .elementor-heading-title::before {
  content: '';
  display: inline-block;
  width: 8px; height: 8px;
  background: var(--vx-purple);
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(124,92,250,0.18);
  flex-shrink: 0;
}
.vx-accent,
.vx-stat-num .elementor-counter-number-wrapper {
  background: linear-gradient(135deg, var(--vx-purple) 0%, var(--vx-light) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.vx-trust-icon .elementor-icon {
  width: 40px !important; height: 40px !important;
  background: linear-gradient(135deg, #E9E1F7, #F3EEFF) !important;
  border: 1px solid var(--vx-border-strong) !important;
  border-radius: 10px !important;
  color: var(--vx-deep) !important;
  font-size: 16px !important;
}
.vx-card { transition: transform .4s ease, box-shadow .4s ease, border-color .3s ease; }
.vx-card:hover {
  transform: translateY(-6px);
  border-color: var(--vx-light) !important;
  box-shadow: var(--vx-shadow-lg) !important;
}

/* ========== SCROLL ANIMATIONS ========== */
.vx-anim {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .8s cubic-bezier(0.22,1,0.36,1), transform .8s cubic-bezier(0.22,1,0.36,1);
}
.vx-anim.in-view { opacity: 1; transform: translateY(0); }
.vx-anim.delay-1 { transition-delay: .08s; }
.vx-anim.delay-2 { transition-delay: .16s; }
.vx-anim.delay-3 { transition-delay: .24s; }
.vx-anim.delay-4 { transition-delay: .32s; }
@media (prefers-reduced-motion: reduce) {
  .vx-anim { opacity: 1 !important; transform: none !important; transition: none !important; }
}
body.elementor-editor-active .vx-anim,
body.elementor-editor-active [data-anim] {
  opacity: 1 !important; transform: none !important; transition: none !important;
}

/* ========== GLOBAL SELECTION + INPUT FIX ========== */
/* Selection highlight only — no forced text color. Forcing dark ink
   text on selection was making selected characters nearly invisible
   on dark sections (e.g. the homepage stats bar). Letting the
   browser keep the element's own text color on selection fixes
   contrast on both light and dark backgrounds. */
::selection { background: rgba(124,92,250,0.28) !important; }
::-moz-selection { background: rgba(124,92,250,0.28) !important; }
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="file"]):not([type="image"]):not([type="hidden"]):not([type="range"]),
textarea, select {
  background: #fff !important;
  background-color: #fff !important;
  color: #0F0824 !important;
  -webkit-text-fill-color: #0F0824 !important;
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
textarea:-webkit-autofill,
select:-webkit-autofill {
  -webkit-text-fill-color: #0F0824 !important;
  -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
  box-shadow: 0 0 0 1000px #fff inset !important;
  caret-color: #7C5CFA !important;
  transition: background-color 9999s ease-in-out 0s !important;
}

/* ========== FORMS ========== */
.woocommerce form .form-row,
.woocommerce-page form .form-row { margin-bottom: 18px !important; padding: 0 !important; }
.woocommerce form .form-row label,
.woocommerce-page form .form-row label,
.woocommerce-form-row label {
  display: block !important;
  color: var(--vx-ink-2) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  margin-bottom: 8px !important;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce-Input {
  width: 100% !important;
  padding: 14px 18px !important;
  background: #fff !important;
  color: var(--vx-ink-1) !important;
  font-size: 15px !important;
  border: 1.5px solid var(--vx-border-strong) !important;
  border-radius: 14px !important;
  min-height: 52px !important;
  transition: border-color .2s ease, box-shadow .2s ease !important;
  box-shadow: none !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce-Input:focus {
  outline: none !important;
  border-color: var(--vx-purple) !important;
  box-shadow: 0 0 0 4px rgba(124,92,250,0.12) !important;
}
.woocommerce form .form-row input.input-text::placeholder,
.woocommerce-Input::placeholder { color: var(--vx-ink-4) !important; }
.woocommerce input:-webkit-autofill,
.woocommerce input:-webkit-autofill:hover,
.woocommerce input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--vx-ink-1) !important;
  -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
  border: 1.5px solid var(--vx-border-strong) !important;
  caret-color: var(--vx-purple) !important;
  transition: background-color 9999s ease-in-out 0s !important;
}
.woocommerce form .form-row .required,
.required { color: var(--vx-deep) !important; text-decoration: none !important; font-weight: 700; }

/* ========== NOTICES ========== */
.woocommerce-notices-wrapper {
  display: block !important;
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto 24px !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
  clear: both !important;
  position: relative !important;
  z-index: 999 !important;
}
.woocommerce-error, .woocommerce-message, .woocommerce-info, .woocommerce-noreviews {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto 24px !important;
  padding: 18px 22px !important;
  box-sizing: border-box !important;
  clear: both !important;
  position: relative !important;
  z-index: 999 !important;
  list-style: none !important;
  border-radius: 18px !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  font-weight: 600 !important;
}
.woocommerce-error::before,
.woocommerce-message::before,
.woocommerce-info::before { display: none !important; content: none !important; }
.woocommerce-error {
  background: #FEF2F2 !important;
  color: #991B1B !important;
  border: 1px solid #FECACA !important;
  border-left: 5px solid #DC2626 !important;
  box-shadow: 0 8px 24px rgba(220,38,38,0.10) !important;
}
.woocommerce-info {
  background: var(--vx-tint) !important;
  color: var(--vx-ink-1) !important;
  border: 1px solid var(--vx-border-strong) !important;
  border-left: 5px solid var(--vx-purple) !important;
  box-shadow: var(--vx-shadow-sm) !important;
}
.woocommerce-message {
  background: #ECFDF5 !important;
  color: #065F46 !important;
  border: 1px solid #A7F3D0 !important;
  border-left: 5px solid #059669 !important;
  box-shadow: 0 8px 24px rgba(5,150,105,0.10) !important;
}
.woocommerce-error li, .woocommerce-message li, .woocommerce-info li {
  margin: 0 !important; padding: 0 !important; color: inherit !important;
}
.woocommerce-error a { color: var(--vx-purple) !important; font-weight: 800 !important; text-decoration: underline !important; }
.woocommerce-message a, .woocommerce-info a { color: inherit !important; font-weight: 800 !important; text-decoration: underline !important; }

/* ========== WC BUTTONS ========== */
.woocommerce-MyAccount-content .button,
.woocommerce-MyAccount-content button[type="submit"],
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce-Button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 52px !important;
  padding: 14px 30px !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: var(--vx-purple) !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: -.1px !important;
  text-decoration: none !important;
  box-shadow: var(--vx-shadow-cta) !important;
  transition: transform .2s ease, background .2s ease, box-shadow .3s ease !important;
  cursor: pointer !important;
  text-shadow: none !important;
}
.woocommerce-MyAccount-content .button:hover,
.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce-Button:hover {
  background: var(--vx-deep) !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--vx-shadow-cta-h) !important;
  color: #fff !important;
}
.woocommerce .button.alt { background: var(--vx-deep) !important; }
.woocommerce a.button.view,
.woocommerce-orders-table__cell a.button {
  background: #fff !important;
  color: var(--vx-ink-1) !important;
  border: 1.5px solid var(--vx-border-strong) !important;
  box-shadow: none !important;
  min-height: 40px !important;
  padding: 8px 18px !important;
  font-size: 14px !important;
}
.woocommerce a.button.view:hover,
.woocommerce-orders-table__cell a.button:hover {
  background: var(--vx-tint) !important;
  border-color: var(--vx-light) !important;
  color: var(--vx-ink-1) !important;
}

/* ========== TABLES ========== */
.woocommerce table.shop_table,
.woocommerce-orders-table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: transparent !important;
  border: 1px solid var(--vx-border) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  margin-bottom: 24px !important;
}
.woocommerce table.shop_table th,
.woocommerce-orders-table th {
  background: var(--vx-tint) !important;
  color: var(--vx-ink-1) !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: .8px !important;
  padding: 16px 18px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--vx-border) !important;
  text-align: left !important;
}
.woocommerce table.shop_table td,
.woocommerce-orders-table td {
  padding: 18px !important;
  background: #fff !important;
  color: var(--vx-ink-2) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--vx-border) !important;
  font-size: 15px !important;
}
.woocommerce table.shop_table tr:last-child td,
.woocommerce-orders-table tr:last-child td { border-bottom: 0 !important; }
.woocommerce table.shop_table tbody tr:hover td,
.woocommerce-orders-table tbody tr:hover td { background: var(--vx-tint) !important; }
@media (max-width: 899px) {
  .woocommerce table.shop_table { font-size: 14px !important; }
  .woocommerce table.shop_table th,
  .woocommerce table.shop_table td { padding: 12px !important; }
}
.woocommerce-orders-table__cell-order-status,
.woocommerce-orders-table mark {
  display: inline-block !important;
  padding: 5px 12px !important;
  background: var(--vx-tint) !important;
  color: var(--vx-deep) !important;
  border: 1px solid var(--vx-border-strong) !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  letter-spacing: .5px !important;
  text-transform: uppercase !important;
}

/* ========== PAGINATION ========== */
.woocommerce nav.woocommerce-pagination ul {
  border: 1px solid var(--vx-border) !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  display: inline-flex !important;
  margin-top: 24px !important;
}
.woocommerce nav.woocommerce-pagination ul li { border-right: 1px solid var(--vx-border) !important; }
.woocommerce nav.woocommerce-pagination ul li:last-child { border-right: 0 !important; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  padding: 12px 18px !important;
  color: var(--vx-ink-2) !important;
  background: #fff !important;
  font-weight: 600 !important;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--vx-purple) !important;
  color: #fff !important;
}

/* ========== ADDRESSES ========== */
.woocommerce-Address {
  background: #fff !important;
  border: 1px solid var(--vx-border) !important;
  border-radius: 18px !important;
  padding: 24px !important;
  margin-bottom: 24px !important;
  box-shadow: var(--vx-shadow-sm) !important;
}
.woocommerce-Address-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 14px !important;
}
.woocommerce-Address-title h3 { margin: 0 !important; font-size: 20px !important; color: var(--vx-ink-1) !important; }
.woocommerce-Address address { font-style: normal !important; color: var(--vx-ink-3) !important; line-height: 1.7 !important; margin: 0 !important; }
.u-columns.woocommerce-Addresses {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 20px !important;
  margin: 0 !important;
}
@media (min-width: 768px) {
  .u-columns.woocommerce-Addresses { grid-template-columns: 1fr 1fr !important; gap: 24px !important; }
}
.u-columns.woocommerce-Addresses .col-1,
.u-columns.woocommerce-Addresses .col-2 { width: 100% !important; float: none !important; padding: 0 !important; margin: 0 !important; }

/* ========== MY ACCOUNT ========== */
.elementor-widget-shortcode,
.elementor-widget-shortcode .elementor-widget-container,
.elementor-shortcode { width: 100% !important; max-width: 100% !important; }

.woocommerce:has(> .woocommerce-MyAccount-navigation),
.elementor-shortcode > .woocommerce:has(.woocommerce-MyAccount-navigation),
.elementor-widget-shortcode .woocommerce:has(.woocommerce-MyAccount-navigation) {
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 0 16px 64px !important;
  box-sizing: border-box !important;
  clear: both !important;
  color: var(--vx-ink-1) !important;
}
.woocommerce-MyAccount-navigation,
.woocommerce-MyAccount-content { float: none !important; width: 100% !important; box-sizing: border-box !important; }
@media (min-width: 900px) {
  .woocommerce:has(> .woocommerce-MyAccount-navigation),
  .elementor-shortcode > .woocommerce:has(.woocommerce-MyAccount-navigation),
  .elementor-widget-shortcode .woocommerce:has(.woocommerce-MyAccount-navigation) {
    display: grid !important;
    grid-template-columns: 300px minmax(0,1fr) !important;
    gap: 32px !important;
    align-items: start !important;
  }
  .woocommerce-MyAccount-navigation { width: 300px !important; max-width: 300px !important; margin: 0 !important; grid-column: 1 !important; }
  .woocommerce-MyAccount-content { width: 100% !important; max-width: none !important; margin: 0 !important; grid-column: 2 !important; }
}
@media (max-width: 899px) {
  .woocommerce:has(> .woocommerce-MyAccount-navigation),
  .elementor-shortcode > .woocommerce:has(.woocommerce-MyAccount-navigation),
  .elementor-widget-shortcode .woocommerce:has(.woocommerce-MyAccount-navigation) {
    display: block !important;
    padding: 0 12px 48px !important;
  }
  .woocommerce-MyAccount-navigation { position: static !important; margin-bottom: 20px !important; }
  .woocommerce-MyAccount-navigation ul { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
  .woocommerce-MyAccount-navigation ul li a { padding: 14px 12px !important; font-size: 12px !important; text-align: center !important; }
  .woocommerce-MyAccount-content { padding: 24px 20px !important; }
}
.woocommerce-MyAccount-navigation {
  background: #fff !important;
  border: 1px solid var(--vx-border) !important;
  border-radius: 20px !important;
  padding: 14px !important;
  box-shadow: var(--vx-shadow-sm) !important;
  position: sticky;
  top: 100px;
}
.woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.woocommerce-MyAccount-navigation ul li { margin: 0 !important; padding: 0 !important; }
.woocommerce-MyAccount-navigation ul li a {
  display: block;
  width: 100%;
  padding: 18px 20px;
  border-radius: 14px;
  color: var(--vx-ink-2) !important;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  text-decoration: none !important;
  border: 1px solid var(--vx-border);
  background: #fff;
  transition: background .2s ease, color .2s ease, border-color .2s ease, transform .15s ease;
}
.woocommerce-MyAccount-navigation ul li a:hover {
  background: var(--vx-tint);
  color: var(--vx-deep) !important;
  border-color: var(--vx-border-strong);
}
.woocommerce-MyAccount-navigation ul li.is-active a {
  background: linear-gradient(135deg, var(--vx-purple) 0%, var(--vx-light) 100%);
  color: #fff !important;
  border-color: transparent;
  box-shadow: var(--vx-shadow-cta);
}
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a {
  color: #DC2626 !important;
  border-color: #FECACA;
}
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
  background: #FEF2F2;
  color: #991B1B !important;
  border-color: #FCA5A5;
}
.woocommerce-MyAccount-content {
  background: #fff !important;
  border: 1px solid var(--vx-border) !important;
  border-radius: 20px !important;
  padding: 36px 32px !important;
  box-shadow: var(--vx-shadow-sm) !important;
  color: var(--vx-ink-2) !important;
  font-size: 16px;
  line-height: 1.7;
  min-height: 420px !important;
}
.woocommerce-MyAccount-content > p { color: var(--vx-ink-3); margin-bottom: 18px; }
.woocommerce-MyAccount-content > p:first-child { font-size: 18px; color: var(--vx-ink-1); font-weight: 600; }
.woocommerce-MyAccount-content > p strong { color: var(--vx-ink-1); font-weight: 700; }
.woocommerce-MyAccount-content a {
  color: var(--vx-deep) !important;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color .2s ease, border-color .2s ease;
}
.woocommerce-MyAccount-content a:hover { color: var(--vx-purple) !important; border-bottom-color: var(--vx-light); }
.woocommerce-MyAccount-content h1,
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3,
.woocommerce-MyAccount-content h4 { color: var(--vx-ink-1); font-weight: 800; letter-spacing: -.5px; margin: 0 0 16px; }
.woocommerce-MyAccount-content h2 { font-size: 28px; }
.woocommerce-MyAccount-content h3 { font-size: 22px; margin-top: 28px; }

/* ── Dashboard: hide nav, full-width content ── */
.woocommerce-account .woocommerce-MyAccount-navigation,
.elementor-widget-shortcode .woocommerce-MyAccount-navigation,
.woocommerce .woocommerce-MyAccount-navigation {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
}
.woocommerce-MyAccount-content {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  grid-column: 1 / -1 !important;
  margin: 0 !important;
}
body.woocommerce-account:not(.woocommerce-account--dashboard) .woocommerce-MyAccount-navigation {
  display: block !important;
  visibility: visible !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  position: sticky !important;
}
.woocommerce-MyAccount-content > .woocommerce-info,
.woocommerce-MyAccount-content > p:first-of-type { display: none !important; }

/* ── Account Cards ── */
.vrtx-account-header {
  position: relative;
  margin: 24px auto 32px;
  padding: 64px 32px;
  max-width: 1240px;
  border-radius: 32px;
  overflow: hidden;
  background: radial-gradient(ellipse 80% 60% at 50% 0%, rgba(167,139,250,0.18) 0%, transparent 60%),
              linear-gradient(180deg, #fff 0%, var(--vx-tint) 100%);
  border: 1px solid var(--vx-border);
  box-shadow: var(--vx-shadow-sm);
  text-align: center;
}
.vrtx-account-header::before {
  content: '';
  position: absolute;
  top: -100px; right: -100px;
  width: 380px; height: 380px;
  background: radial-gradient(circle, rgba(167,139,250,0.25) 0%, transparent 70%);
  filter: blur(40px);
  pointer-events: none;
}
.vrtx-account-header__inner { position: relative; z-index: 1; max-width: 720px; margin: 0 auto; }
.vrtx-account-header__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 16px;
  background: #fff;
  border: 1px solid var(--vx-border);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  color: var(--vx-deep);
  margin-bottom: 22px;
  box-shadow: var(--vx-shadow-sm);
}
.vrtx-account-header__dot {
  width: 7px; height: 7px;
  background: var(--vx-purple);
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(124,92,250,0.18);
}
.vrtx-account-header__title {
  margin: 0 0 14px;
  color: var(--vx-ink-1);
  font-size: clamp(36px, 5.5vw, 56px);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -1.8px;
}
.vrtx-account-header__title em {
  font-style: normal;
  background: linear-gradient(135deg, var(--vx-purple) 0%, var(--vx-light) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
.vrtx-account-header__sub {
  margin: 0 auto;
  max-width: 560px;
  color: var(--vx-ink-3);
  font-size: 17px;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .vrtx-account-header { padding: 44px 22px; border-radius: 24px; margin: 12px 8px 20px; }
  .vrtx-account-header__sub { font-size: 15px; }
}
.vrtx-account-cards {
  display: grid;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 12px;
  margin-bottom: 24px;
}
.vrtx-persistent-cards { grid-template-columns: repeat(5, 1fr) !important; }
@media (max-width: 768px) {
  .vrtx-account-cards,
  .vrtx-persistent-cards { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
  .vrtx-account-cards,
  .vrtx-persistent-cards { grid-template-columns: 1fr !important; gap: 10px !important; }
  .vrtx-acct-card--purple { grid-column: auto !important; }
  .vrtx-acct-card--logout { grid-column: auto !important; }
}
.vrtx-acct-card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 22px;
  background: #fff;
  border: 1px solid var(--vx-border);
  border-radius: 18px;
  text-decoration: none !important;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
  box-shadow: var(--vx-shadow-sm);
}
.vrtx-acct-card:hover {
  transform: translateY(-3px);
  border-color: var(--vx-border-strong);
  box-shadow: var(--vx-shadow-md);
}
@media (max-width: 600px) {
  .vrtx-acct-card { padding: 16px 18px !important; border-radius: 14px !important; }
}
.vrtx-acct-card__icon {
  width: 44px; height: 44px;
  border-radius: 12px;
  background: var(--vx-tint);
  border: 1px solid var(--vx-border);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  color: var(--vx-ink-2);
}
@media (max-width: 600px) {
  .vrtx-acct-card__icon { width: 36px !important; height: 36px !important; }
}
.vrtx-acct-card__title {
  font-size: 15px;
  font-weight: 700;
  color: var(--vx-ink-1) !important;
  margin-bottom: 2px;
}
.vrtx-acct-card__sub {
  font-size: 13px;
  color: var(--vx-ink-3) !important;
  font-weight: 500;
}
@media (max-width: 600px) {
  .vrtx-acct-card__title { font-size: 14px !important; }
  .vrtx-acct-card__sub { font-size: 12px !important; }
}
.vrtx-acct-card--purple {
  background: linear-gradient(135deg, var(--vx-purple) 0%, var(--vx-deep) 100%);
  border-color: transparent;
  box-shadow: var(--vx-shadow-cta);
}
.vrtx-acct-card--purple:hover { border-color: transparent; box-shadow: var(--vx-shadow-cta-h); }
.vrtx-acct-card--purple .vrtx-acct-card__icon {
  background: rgba(255,255,255,.18);
  border-color: rgba(255,255,255,.2);
  color: #fff;
}
.vrtx-acct-card--purple .vrtx-acct-card__title,
.vrtx-acct-card--purple .vrtx-acct-card__sub {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.vrtx-acct-card--logout { background: #fff !important; border: 1px solid #FECACA !important; }
.vrtx-acct-card--logout .vrtx-acct-card__icon { background: #FEF2F2 !important; border-color: #FECACA !important; color: #DC2626 !important; }
.vrtx-acct-card--logout .vrtx-acct-card__title { color: #DC2626 !important; }
.vrtx-acct-card--logout .vrtx-acct-card__sub { color: #EF4444 !important; }
.vrtx-acct-card--logout:hover { border-color: #FCA5A5 !important; background: #FEF2F2 !important; }
.vrtx-acct-card--orders .vrtx-acct-card__icon { background: #EFF6FF; border-color: #BFDBFE; color: #1D4ED8; }
.vrtx-account-cards ~ .vrtx-account-cards,
.vrtx-orders-block ~ .vrtx-orders-block { display: none !important; }

/* ── Orders Block ── */
.vrtx-orders-block {
  background: #fff;
  border: 1px solid var(--vx-border);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: var(--vx-shadow-sm);
}
.vrtx-orders-block__header {
  display: flex; align-items: center; gap: 14px;
  padding: 20px 24px;
  border-bottom: 1px solid var(--vx-border);
}
.vrtx-orders-block__icon {
  width: 40px; height: 40px;
  background: var(--vx-ink-1);
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  color: #fff; flex-shrink: 0;
}
.vrtx-orders-block__title { font-size: 16px; font-weight: 700; color: var(--vx-ink-1) !important; }
.vrtx-orders-block__sub { font-size: 13px; color: var(--vx-ink-3) !important; }
.vrtx-no-orders { padding: 48px 24px; text-align: center; display: flex; flex-direction: column; align-items: center; }
.vrtx-no-orders__title { font-size: 18px; font-weight: 700; color: var(--vx-ink-1); margin-bottom: 8px; }
.vrtx-no-orders__sub { font-size: 14px; color: var(--vx-ink-3); margin-bottom: 24px; }
.vrtx-shop-btn {
  display: inline-flex;
  padding: 14px 28px;
  background: var(--vx-ink-1);
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border-radius: 999px;
  font-weight: 700; font-size: 15px;
  text-decoration: none !important;
  transition: background .2s ease;
}
.vrtx-shop-btn:hover { background: var(--vx-purple) !important; }
.vrtx-orders-table { width: 100%; border-collapse: collapse; }
.vrtx-orders-table th {
  padding: 12px 20px;
  font-size: 12px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .7px;
  color: var(--vx-ink-3) !important;
  background: var(--vx-tint);
  border-bottom: 1px solid var(--vx-border);
  text-align: left;
}
.vrtx-orders-table td {
  padding: 16px 20px;
  font-size: 14px;
  color: var(--vx-ink-2) !important;
  border-bottom: 1px solid var(--vx-border);
}
.vrtx-orders-table tr:last-child td { border-bottom: 0; }
.vrtx-status-pill {
  display: inline-block;
  padding: 4px 12px;
  background: var(--vx-tint);
  border: 1px solid var(--vx-border-strong);
  border-radius: 999px;
  font-size: 12px; font-weight: 700;
  color: var(--vx-deep) !important;
  text-transform: capitalize;
}
.vrtx-view-order {
  padding: 8px 16px;
  background: #fff;
  border: 1px solid var(--vx-border-strong);
  border-radius: 999px;
  font-size: 13px; font-weight: 600;
  color: var(--vx-ink-1) !important;
  text-decoration: none !important;
  transition: background .2s, border-color .2s;
}
.vrtx-view-order:hover {
  background: var(--vx-tint);
  border-color: var(--vx-purple);
  color: var(--vx-deep) !important;
}
.vrtx-affiliate-dash iframe { width: 100%; height: 2400px; border: 0; display: block; }

/* ========== LOGIN/REGISTER ========== */
.woocommerce #customer_login,
.woocommerce #customer_login.u-columns,
.woocommerce .u-columns.col2-set,
#customer_login,
#customer_login.u-columns,
.u-columns.col2-set {
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto 64px !important;
  padding: 0 16px !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 32px !important;
  align-items: start !important;
  box-sizing: border-box !important;
  clear: both !important;
  position: relative !important;
  z-index: 1 !important;
}
@media (min-width: 900px) {
  .woocommerce #customer_login,
  #customer_login.u-columns,
  .u-columns.col2-set { grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important; }
}
#customer_login .u-column1, #customer_login .u-column2,
#customer_login .col-1, #customer_login .col-2,
.u-columns.col2-set .u-column1, .u-columns.col2-set .u-column2,
.u-columns.col2-set .col-1, .u-columns.col2-set .col-2 {
  float: none !important; clear: none !important;
  width: 100% !important; max-width: none !important; min-width: 0 !important;
  margin: 0 !important;
  padding: 36px 32px !important;
  background: #fff !important;
  border: 1px solid var(--vx-border) !important;
  border-radius: 20px !important;
  box-shadow: var(--vx-shadow-sm) !important;
  box-sizing: border-box !important;
}
@media (min-width: 900px) {
  #customer_login .u-column1, #customer_login .col-1,
  .u-columns.col2-set .u-column1, .u-columns.col2-set .col-1 { grid-column: 1 !important; grid-row: 1 !important; }
  #customer_login .u-column2, #customer_login .col-2,
  .u-columns.col2-set .u-column2, .u-columns.col2-set .col-2 { grid-column: 2 !important; grid-row: 1 !important; }
}
#customer_login form.login, #customer_login form.register,
.woocommerce form.login, .woocommerce form.register {
  border: 0 !important; padding: 0 !important; margin: 0 !important;
  border-radius: 0 !important; box-shadow: none !important;
}
#customer_login h2, .u-columns.col2-set h2 {
  margin: 0 0 24px !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  color: var(--vx-ink-1) !important;
  letter-spacing: -.5px !important;
}
.woocommerce-LostPassword.lost_password { margin-top: 12px !important; font-size: 14px !important; }
.woocommerce-LostPassword.lost_password a { color: var(--vx-deep) !important; font-weight: 600 !important; }
.woocommerce-form-login__rememberme {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 14px !important;
  color: var(--vx-ink-3) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}
.woocommerce-form-login__rememberme input[type="checkbox"] {
  accent-color: var(--vx-purple) !important;
  width: 16px !important; height: 16px !important;
}
.woocommerce-form-register em, .woocommerce-form-login em {
  font-style: normal !important;
  display: block !important;
  color: var(--vx-ink-3) !important;
  font-size: 14px !important;
  margin: 12px 0 18px !important;
  line-height: 1.55 !important;
}
.woocommerce-account:not(.logged-in) #customer_login,
.woocommerce-account:not(.logged-in) .u-columns.col2-set,
.woocommerce-account:not(.logged-in) .woocommerce form.login,
.woocommerce-account:not(.logged-in) .woocommerce form.register,
.woocommerce-account:not(.logged-in) .u-column1,
.woocommerce-account:not(.logged-in) .u-column2 {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}
.vrtx-login-wrap input[name="log"],
.vrtx-login-wrap #user_login {
  width: 100% !important;
  padding: 16px 18px !important;
  border: 1.5px solid #D4C5F9 !important;
  border-radius: 14px !important;
  font-size: 15px !important;
  background: #fff !important;
  color: #0F0824 !important;
  -webkit-text-fill-color: #0F0824 !important;
  box-sizing: border-box !important;
  font-family: 'DM Sans', sans-serif !important;
  margin-bottom: 10px !important;
  display: block !important;
}
.vrtx-register-terms {
  font-size: 13px !important; color: var(--vx-ink-3) !important;
  line-height: 1.55 !important; margin: 12px 0 4px !important;
  padding: 12px 16px !important; background: var(--vx-tint) !important;
  border: 1px solid var(--vx-border) !important; border-radius: 12px !important;
}
.vrtx-register-terms a { color: var(--vx-deep) !important; font-weight: 600 !important; text-decoration: underline !important; }

/* ========== SHOP PAGE ========== */
body.woocommerce-shop .site-content,
body.tax-product_cat .site-content {
  background: #FAFAF8 !important;
  padding-top: 0 !important;
}
body.woocommerce-shop .woocommerce,
body.tax-product_cat .woocommerce { max-width: 1240px; margin: 0 auto; padding: 0; background: transparent !important; }
body.woocommerce-shop .ast-container,
body.tax-product_cat .ast-container { display: block !important; padding-top: 0 !important; margin-top: 0 !important; }
body.woocommerce-shop .content-area,
body.tax-product_cat .content-area { padding: 0 !important; }
body.woocommerce-shop #primary,
body.woocommerce-shop .content-area,
body.tax-product_cat #primary,
body.tax-product_cat .content-area { width: 100% !important; max-width: 100% !important; float: none !important; margin: 0 !important; }
body.woocommerce-shop .widget-area,
body.woocommerce-shop aside.secondary,
body.woocommerce-shop #secondary,
body.tax-product_cat .widget-area,
body.tax-product_cat aside.secondary,
body.tax-product_cat #secondary { display: none !important; }
body.woocommerce-shop .ast-page-header,
body.woocommerce-shop .page-header,
body.archive.woocommerce .ast-page-header,
body.archive.woocommerce .ast-page-header-section,
body.tax-product_cat .ast-page-header,
body.tax-product_cat .page-header,
.woocommerce-products-header,
.woocommerce-products-header__title { display: none !important; }

/* Shop hero */
.vrtx-shop-hero {
  background: #fff !important;
  border-bottom: 1px solid var(--vx-border) !important;
  width: 100% !important;
  box-sizing: border-box !important;
  max-width: 100% !important;
  padding: 28px 16px 0 !important;
  margin: 0 !important;
}
.vrtx-shop-hero > * {
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
}
.vrtx-shop-hero h1 {
  font-size: clamp(32px, 4.5vw, 44px) !important;
  letter-spacing: -1.2px !important;
  margin-bottom: 6px !important;
}
.vrtx-shop-hero > p {
  font-size: 15px !important;
  color: var(--vx-ink-4) !important;
  margin-bottom: 20px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}
.vrtx-shop-hero form input[type="search"]:focus {
  border-color: var(--vx-purple) !important;
  box-shadow: 0 0 0 4px rgba(124,92,250,0.10) !important;
  background: #fff !important;
}
.vrtx-shop-hero form input[type="search"]::placeholder { color: var(--vx-ink-4) !important; }

/* Category pills */
.vrtx-cat-pills {
  max-width: 1240px !important;
  margin: 0 auto 0 !important;
  padding: 0 16px !important;
  border-bottom: 1px solid var(--vx-border) !important;
  background: #fff !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
}
.vrtx-cat-pills::-webkit-scrollbar { display: none !important; }
.vrtx-cat-pills-inner { display: flex !important; gap: 0 !important; flex-wrap: nowrap !important; padding-bottom: 0 !important; }
.vrtx-cat-pill {
  flex-shrink: 0 !important;
  padding: 14px 18px 13px !important;
  background: transparent !important;
  color: var(--vx-ink-4) !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  letter-spacing: -0.1px !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  transition: color 0.15s ease, border-color 0.15s ease !important;
}
.vrtx-cat-pill:hover { background: transparent !important; color: var(--vx-ink-2) !important; border-color: transparent !important; transform: none !important; }
.vrtx-cat-pill.is-active { background: transparent !important; color: var(--vx-purple) !important; border-bottom: 2px solid var(--vx-purple) !important; font-weight: 600 !important; }

/* Trust strip */
.vrtx-trust-strip {
  background: var(--vx-ink-1);
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 13px 40px !important;
  box-sizing: border-box !important;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  flex-wrap: wrap;
}
.vrtx-trust-strip-item {
  display: flex; align-items: center; gap: 7px;
  font-size: 12.5px; font-weight: 500;
  color: rgba(255,255,255,0.55);
  white-space: nowrap;
  font-family: Inter, sans-serif;
}
.vrtx-trust-strip-item svg { color: var(--vx-light); flex-shrink: 0; }
.vrtx-trust-strip-item strong { color: rgba(255,255,255,0.88); font-weight: 600; }
@media (max-width: 600px) { .vrtx-trust-strip { gap: 20px; padding: 12px 20px !important; } }

/* Promo banner */
.vrtx-promo-banner {
  width: 100% !important;
  box-sizing: border-box !important;
  max-width: 100% !important;
  padding: 0 16px !important;
  margin: 0 auto 0 !important;
}
.vrtx-promo-banner + .vrtx-promo-banner { display: none !important; }
.vrtx-promo-banner-inner {
  background: linear-gradient(110deg, #F4F0FF 0%, #EDE8FF 100%);
  border: 1px solid rgba(124,92,250,0.18);
  border-radius: 18px;
  padding: 16px 22px;
  margin: 24px 0 0 !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.vrtx-promo-banner-text { display: flex; align-items: center; gap: 12px; }
.vrtx-promo-banner-icon {
  width: 34px; height: 34px;
  background: var(--vx-purple);
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; color: #fff;
}
.vrtx-promo-banner h3 { font-size: 14px !important; font-weight: 700 !important; color: var(--vx-ink-1) !important; margin: 0 0 2px !important; letter-spacing: -0.2px !important; }
.vrtx-promo-banner p { font-size: 12.5px !important; color: var(--vx-ink-3) !important; margin: 0 !important; }
.vrtx-promo-banner-btn {
  padding: 9px 18px;
  border-radius: 999px;
  background: var(--vx-purple);
  color: #fff !important;
  font-size: 13px; font-weight: 600;
  white-space: nowrap;
  text-decoration: none !important;
  box-shadow: 0 4px 12px rgba(124,92,250,0.28);
  transition: background 0.15s ease;
  font-family: Inter, sans-serif;
  flex-shrink: 0;
}
.vrtx-promo-banner-btn:hover { background: var(--vx-deep) !important; }
@media (max-width: 600px) {
  .vrtx-promo-banner-inner { flex-direction: column; align-items: flex-start; gap: 12px; }
  .vrtx-promo-banner-btn { width: 100%; text-align: center; display: block; }
}

/* Result count + ordering */
.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count {
  font-size: 13px !important;
  color: var(--vx-ink-4) !important;
  padding: 0 16px !important;
  margin: 28px 0 20px !important;
  display: block !important;
  max-width: 1240px !important;
}
.woocommerce .woocommerce-ordering,
.woocommerce-page .woocommerce-ordering { margin: 20px 0 20px auto !important; padding: 0 16px !important; float: right !important; }
.woocommerce .woocommerce-ordering select,
.woocommerce-page .woocommerce-ordering select {
  height: 40px !important;
  padding: 0 36px 0 16px !important;
  border-radius: 999px !important;
  border: 1px solid var(--vx-border-strong) !important;
  background-color: #fff !important;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='%235B4D6E' d='M6 8L2 4h8z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 12px !important;
  font-family: Inter, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--vx-ink-2) !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer;
  transition: border-color 0.15s ease !important;
}
.woocommerce .woocommerce-ordering select:hover,
.woocommerce .woocommerce-ordering select:focus { border-color: var(--vx-purple) !important; outline: none !important; }

/* ========== PRODUCT GRID ========== */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
  gap: 18px !important;
  grid-template-columns: 1fr !important;
  margin: 0 0 48px !important;
  padding: 0 !important;
  list-style: none !important;
}
@media (min-width: 600px) { .woocommerce ul.products { grid-template-columns: repeat(2,1fr) !important; } }
@media (min-width: 900px) { .woocommerce ul.products { grid-template-columns: repeat(3,1fr) !important; } }
@media (min-width: 1200px) { .woocommerce ul.products { grid-template-columns: repeat(4,1fr) !important; } }

/* ========== PRODUCT CARD ========== */
.woocommerce ul.products li.product {
  background: #fff !important;
  border: 1px solid rgba(124,92,250,0.10) !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-shadow: 0 2px 12px rgba(15,8,36,0.05), 0 1px 2px rgba(15,8,36,0.04) !important;
  /* THE DEFINITIVE LAYOUT — flex column, no fighting */
  display: flex !important;
  flex-direction: column !important;
  list-style: none !important;
  float: none !important;
  transition: transform 0.28s cubic-bezier(0.22,1,0.36,1), box-shadow 0.28s ease, border-color 0.2s ease !important;
}
.woocommerce ul.products li.product::before,
.woocommerce ul.products li.product::after { display: none !important; }
.woocommerce ul.products li.product:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(124,92,250,0.25) !important;
  box-shadow: 0 12px 40px rgba(124,92,250,0.14), 0 2px 8px rgba(15,8,36,0.06) !important;
}

/* Link wrapper — contents so children join the card's flex column */
.woocommerce ul.products li.product .woocommerce-loop-product__link {
  display: contents !important;
}
/* Exception: tablet needs display:block to prevent overlap.
   When block, the link wraps image+title so they stay together naturally —
   our injected elements (coa, stars, desc, pills, footer, atc) sit outside
   the link and follow after it, which is the correct visual order. */
@media (min-width: 768px) and (max-width: 1024px) {
  .woocommerce ul.products li.product .woocommerce-loop-product__link {
    display: block !important;
    order: 0 !important;
  }
  .woocommerce ul.products li.product .vrtx-coa-verified  { order: 1 !important; }
  .woocommerce ul.products li.product .vrtx-card-stars    { order: 2 !important; }
  .woocommerce ul.products li.product .vrtx-card-desc     { order: 3 !important; }
  .woocommerce ul.products li.product .vrtx-meta-pills    { order: 4 !important; }
  .woocommerce ul.products li.product .vrtx-card-footer-row { order: 5 !important; }
  .woocommerce ul.products li.product .vrtx-card-atc      { order: 6 !important; }
}

/* Image zone — always first, order 0 */
.woocommerce ul.products li.product .vrtx-img-wrap {
  order: 0 !important;
  background: linear-gradient(160deg, #F7F3FF 0%, #EDE8FF 100%) !important;
  padding: 32px 24px !important;
  position: relative !important;
  border-radius: 0 !important;
}
/* Kill rotating pastels */
.woocommerce ul.products li.product:nth-child(n) .vrtx-img-wrap {
  background: linear-gradient(160deg, #F7F3FF 0%, #EDE8FF 100%) !important;
}
.woocommerce ul.products li.product .vrtx-img-wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 70% 60% at 50% 60%, rgba(167,139,250,0.18) 0%, transparent 70%);
  pointer-events: none;
}
.woocommerce ul.products li.product .vrtx-img-wrap img {
  width: auto !important;
  max-width: 100% !important;
  max-height: 220px !important;
  margin: 0 auto !important;
  display: block !important;
  filter: drop-shadow(0 16px 28px rgba(15,8,36,0.18)) !important;
  border-radius: 0 !important;
  position: relative;
  z-index: 1;
  object-fit: contain !important;
  image-rendering: -webkit-optimize-contrast !important;
}

/* TITLE — order 1, right under image. Single definitive rule. */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2.woocommerce-loop-product__title,
.woocommerce ul.products li.product h3.woocommerce-loop-product__title {
  order: 1 !important;
  display: block !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #0F0824 !important;
  margin: 18px 18px 6px !important;
  padding: 0 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.4px !important;
  text-transform: none !important;
}
/* Hide Astra's duplicate title — it renders a second one outside the link wrapper,
   after our injected elements and ATC button. Target it every possible way. */
.woocommerce ul.products li.product .woocommerce-loop-product__title ~ .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2.woocommerce-loop-product__title ~ h2.woocommerce-loop-product__title,
.woocommerce ul.products li.product h3.woocommerce-loop-product__title ~ h3.woocommerce-loop-product__title,
.woocommerce ul.products li.product .vrtx-card-atc ~ .woocommerce-loop-product__title,
.woocommerce ul.products li.product .vrtx-card-atc ~ h2.woocommerce-loop-product__title,
.woocommerce ul.products li.product .vrtx-card-atc ~ h3.woocommerce-loop-product__title,
.woocommerce ul.products li.product .vrtx-card-footer-row ~ .woocommerce-loop-product__title,
.woocommerce ul.products li.product .vrtx-card-footer-row ~ h2.woocommerce-loop-product__title,
.woocommerce ul.products li.product .vrtx-card-footer-row ~ h3.woocommerce-loop-product__title,
.woocommerce ul.products li.product .vrtx-meta-pills ~ .woocommerce-loop-product__title,
.woocommerce ul.products li.product .vrtx-meta-pills ~ h2.woocommerce-loop-product__title,
.woocommerce ul.products li.product .vrtx-card-stars ~ h2.woocommerce-loop-product__title,
.woocommerce ul.products li.product .vrtx-card-stars ~ h3.woocommerce-loop-product__title {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  position: absolute !important;
  pointer-events: none !important;
}

/* Our injected elements */
.woocommerce ul.products li.product .vrtx-coa-verified {
  order: 2 !important;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 600;
  color: #5B4D6E;
  margin: 0 18px 5px;
}
.woocommerce ul.products li.product .vrtx-coa-verified svg { color: #7C5CFA; flex-shrink: 0; }
.woocommerce ul.products li.product .vrtx-card-stars {
  order: 3 !important;
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 0 18px 8px;
}
.vrtx-stars-icons { display: inline-flex; align-items: center; gap: 1px; }
.vrtx-rating-num { font-size: 13px; font-weight: 700; color: #0F0824; margin-left: 2px; }
.vrtx-rating-count { font-size: 12px; color: #8B7BA8; }
.woocommerce ul.products li.product .vrtx-card-desc {
  order: 4 !important;
  font-size: 12px !important;
  color: #9F93B5 !important;
  line-height: 1.55 !important;
  margin: 0 18px 8px !important;
  padding: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  font-weight: 400 !important;
}
.woocommerce ul.products li.product .vrtx-meta-pills {
  order: 5 !important;
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  margin: 0 18px 0 !important;
  flex-wrap: wrap !important;
  padding: 0 !important;
}
.woocommerce ul.products li.product .vrtx-meta-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  padding: 3px 8px !important;
  background: rgba(124,92,250,0.07) !important;
  border-radius: 999px !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  color: #5B3FE8 !important;
  border: 1px solid rgba(124,92,250,0.14) !important;
  font-family: Inter, sans-serif !important;
  white-space: nowrap !important;
}

/* Price footer row */
.woocommerce ul.products li.product .vrtx-card-footer-row {
  order: 6 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 12px 18px 10px !important;
  padding-top: 12px !important;
  border-top: 1px solid rgba(124,92,250,0.09) !important;
}
/* Hide all default WC prices — we render our own */
.woocommerce ul.products li.product > .price,
.woocommerce ul.products li.product .price { display: none !important; }
/* Show only our price */
.woocommerce ul.products li.product .vrtx-footer-price .price,
.woocommerce ul.products li.product .vrtx-footer-price .price * { display: inline !important; }
.woocommerce ul.products li.product .vrtx-footer-price {
  display: flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
}
.woocommerce ul.products li.product .vrtx-footer-price .price {
  display: flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  color: #0F0824 !important;
  letter-spacing: -0.5px !important;
  line-height: 1 !important;
}
.woocommerce ul.products li.product .vrtx-footer-price del {
  display: inline !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #B8ADCC !important;
  text-decoration: line-through !important;
  line-height: 1 !important;
  margin: 0 !important;
  opacity: 1 !important;
}
.woocommerce ul.products li.product .vrtx-footer-price del .woocommerce-Price-amount {
  font-size: 12px !important; color: #B8ADCC !important; font-weight: 400 !important;
}
.woocommerce ul.products li.product .vrtx-footer-price ins {
  display: inline !important;
  background: transparent !important;
  text-decoration: none !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  color: #0F0824 !important;
}
.woocommerce ul.products li.product .vrtx-footer-price ins .woocommerce-Price-amount,
.woocommerce ul.products li.product .vrtx-footer-price .woocommerce-Price-amount {
  font-size: 18px !important; font-weight: 800 !important; color: #0F0824 !important;
}

/* ADD TO CART button — order 7, full width, outlined purple */
.woocommerce ul.products li.product .vrtx-card-atc {
  order: 7 !important;
  display: block !important;
  width: calc(100% - 36px) !important;
  margin: 0 18px 18px !important;
  padding: 13px 16px !important;
  background: transparent !important;
  color: #7C5CFA !important;
  -webkit-text-fill-color: #7C5CFA !important;
  border: 1.5px solid #C4B5FD !important;
  border-radius: 12px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.8px !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background 0.18s, border-color 0.18s, color 0.18s !important;
  min-height: 0 !important;
  box-shadow: none !important;
}
.woocommerce ul.products li.product .vrtx-card-atc:hover {
  background: #7C5CFA !important;
  border-color: #7C5CFA !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* Hide everything we don't want */
.woocommerce ul.products li.product .vrtx-view-btn,
.woocommerce ul.products li.product a.vrtx-view-btn,
.woocommerce ul.products li.product .vrtx-add-btn,
.woocommerce ul.products li.product .button.add_to_cart_button:not(.vrtx-card-atc),
.woocommerce ul.products li.product .added_to_cart:not(.vrtx-card-atc),
.woocommerce ul.products li.product .ast-shop-product-actions,
.woocommerce ul.products li.product .ast-woo-product-category,
.woocommerce ul.products li.product .woocommerce-product-details__short-description,
.woocommerce ul.products li.product .vrtx-purity-line,
.woocommerce ul.products li.product .vrtx-purity-coa,
.woocommerce ul.products li.product .star-rating,
.woocommerce span.onsale,
.wc-block-grid__product-onsale { display: none !important; }

/* Sale badge */
.woocommerce ul.products li.product .onsale {
  display: block !important;
  position: absolute !important;
  top: 12px !important; right: 12px !important; left: auto !important;
  background: #0F0824 !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 3px 10px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.4px !important;
  margin: 0 !important;
  min-height: 0 !important; min-width: 0 !important;
  line-height: 1.4 !important;
  text-transform: uppercase !important;
  z-index: 2 !important;
}

/* Homepage widget image fix */
.elementor-widget-shortcode .woocommerce ul.products li.product .vrtx-img-wrap,
.elementor-section .woocommerce ul.products li.product .vrtx-img-wrap {
  aspect-ratio: 1 / 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* ========== SINGLE PRODUCT ========== */
/* Hide sticky bar */
.ast-sticky-product-checkout-bar,
#ast-sticky-product-checkout-bar,
.astra-woo-product-sticky-bar,
.woo-product-header-sticky,
.ast-product-gallery-summary-sticky,
body.single-product .ast-affix-header,
.woocommerce-product-sticky-bar,
body.single-product .woocommerce-sticky-product-bar,
body.single-product #woo-product-page-header,
body.single-product [class*="sticky"][class*="product"],
body.single-product [class*="product"][class*="sticky"] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

/* Hide default elements we replace */
body.single-product .product_meta,
body.single-product .posted_in,
body.single-product .tagged_as,
body.single-product .woocommerce-breadcrumb,
body.single-product .upsells.products,
body.single-product .woocommerce-product-rating,
body.single-product .product_title,
body.single-product .woocommerce-variation-price,
body.single-product .summary > .price,
body.single-product .summary > p.price,
body.single-product .summary > .stock,
body.single-product .summary > .availability,
body.single-product .summary .posted_in,
body.single-product .summary > p:not(.vrtx-sp-cat):not(.vrtx-sp-desc),
body.single-product .ast-woo-checkout-safe-checkout-image,
body.single-product .yith-wcwl-add-to-wishlist,
body.single-product .product_meta > span,
body.single-product [class*="safe-checkout"],
body.single-product [class*="guaranteed"] { display: none !important; }

/* Native cart form — keep in DOM, invisible (WC ajax needs it) */
body.single-product form.cart {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Page layout */
body.single-product div.product {
  max-width: 1240px !important;
  margin: 32px auto !important;
  padding: 0 24px !important;
  display: grid !important;
  gap: 56px !important;
  grid-template-columns: 1fr !important;
  align-items: start !important;
}
@media (min-width: 900px) {
  body.single-product div.product { grid-template-columns: 1.1fr 1fr !important; }
}
@media (max-width: 767px) {
  body.single-product div.product { gap: 28px !important; padding: 0 16px !important; }
}

/* Gallery — full bleed, no border, no padding */
body.single-product .woocommerce-product-gallery {
  background: linear-gradient(160deg, #F7F3FF 0%, #EDE8FF 100%) !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  border: none !important;
  padding: 0 !important;
}
body.single-product .woocommerce-product-gallery__wrapper { margin: 0 !important; }
body.single-product .woocommerce-product-gallery__image {
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
}
body.single-product .woocommerce-product-gallery img {
  width: 100% !important;
  height: auto !important;
  border-radius: 0 !important;
  display: block !important;
  filter: none !important;
  cursor: default !important;
  transform: none !important;
  transition: none !important;
}
body.single-product .woocommerce-product-gallery figure,
body.single-product .woocommerce-product-gallery__image a {
  cursor: default !important;
  transform: none !important;
  transition: none !important;
}
body.single-product .zoomImg,
body.single-product .woocommerce-product-gallery__trigger,
body.single-product .flex-control-nav { display: none !important; }

/* Summary */
body.single-product .summary.entry-summary {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Our custom summary */
.vrtx-sp-wrap { display: flex; flex-direction: column; }
.vrtx-sp-cat {
  font-size: 11.5px !important; font-weight: 700 !important;
  color: #8B7BA8 !important; text-transform: uppercase !important;
  letter-spacing: 1.8px !important; margin: 0 0 10px !important;
}
.vrtx-sp-title {
  font-size: clamp(30px, 4vw, 46px) !important;
  font-weight: 800 !important; color: #0F0824 !important;
  letter-spacing: -1.5px !important; line-height: 1.05 !important;
  margin: 0 0 14px !important;
}
@media (max-width: 767px) { .vrtx-sp-title { font-size: 26px !important; } }
.vrtx-alias-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.vrtx-alias-pill {
  padding: 5px 14px;
  background: #fff;
  border: 1px solid #ECE4FA;
  border-radius: 999px;
  font-size: 12.5px; font-weight: 500; color: #5B4D6E;
}
.vrtx-sp-rating { display: flex; align-items: center; gap: 6px; margin-bottom: 16px; }
.vrtx-sp-stars { display: inline-flex; gap: 2px; }
.vrtx-sp-rating-num { font-size: 14px; font-weight: 700; color: #0F0824; }
.vrtx-sp-rating-count { font-size: 13px; color: #8B7BA8; }
.vrtx-sp-desc {
  font-size: 14.5px !important; color: #5B4D6E !important;
  line-height: 1.65 !important; margin: 0 0 22px !important;
}
.vrtx-sp-qty-price {
  border-top: 1px solid #ECE4FA;
  border-bottom: 1px solid #ECE4FA;
  padding: 16px 0; margin-bottom: 18px;
}
.vrtx-sp-qty-label {
  font-size: 12px; font-weight: 700; color: #0F0824;
  text-transform: uppercase; letter-spacing: 1px; margin-bottom: 12px;
}
.vrtx-sp-qty-row {
  display: flex; align-items: center;
  justify-content: space-between; gap: 16px;
}
.vrtx-qty-stepper {
  display: inline-flex; align-items: center;
  background: #F3F4F6; border-radius: 999px;
  overflow: hidden; height: 44px;
}
.vrtx-qty-btn {
  width: 44px; height: 44px;
  display: flex; align-items: center; justify-content: center;
  background: transparent; border: none; cursor: pointer;
  font-size: 20px; font-weight: 300; color: #0F0824;
  line-height: 1; transition: background 0.15s;
  font-family: Inter, sans-serif;
}
.vrtx-qty-btn:hover { background: #E9E1F7; }
.vrtx-qty-display {
  min-width: 40px; text-align: center;
  font-size: 16px; font-weight: 700; color: #0F0824;
  font-family: Inter, sans-serif; user-select: none;
}
.vrtx-sp-price-display { display: flex; align-items: baseline; gap: 8px; }
.vrtx-sp-price-old {
  font-size: 15px; font-weight: 500;
  color: #B8ADCC; text-decoration: line-through;
}
.vrtx-sp-price-now {
  font-size: 30px; font-weight: 800;
  color: #0F0824; letter-spacing: -1px;
}
@media (max-width: 767px) { .vrtx-sp-price-now { font-size: 24px !important; } }

/* Bundle */
.vrtx-bundle-wrap { margin-bottom: 18px; }
.vrtx-bundle-label {
  font-size: 11px; font-weight: 700;
  color: #8B7BA8; letter-spacing: 1.2px; margin-bottom: 10px;
}
.vrtx-bundle-options { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.vrtx-bundle-opt {
  position: relative;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 4px; padding: 16px 8px;
  background: #fff;
  border: 1.5px solid #ECE4FA;
  border-radius: 14px;
  cursor: pointer;
  transition: border-color 0.18s, background 0.18s, box-shadow 0.18s;
  font-family: Inter, sans-serif;
  min-height: 76px;
}
.vrtx-bundle-opt:hover { border-color: #C4B5FD; }
.vrtx-bundle-opt.is-active {
  background: rgba(124,92,250,0.07) !important;
  border-color: #7C5CFA !important;
  box-shadow: 0 0 0 3px rgba(124,92,250,0.10) !important;
}
.vrtx-bundle-qty { font-size: 12.5px; font-weight: 700; color: #0F0824; letter-spacing: 0.3px; }
.vrtx-bundle-save { font-size: 11px; font-weight: 700; color: #7C5CFA; }
.vrtx-bundle-badge {
  position: absolute; top: -11px;
  left: 50%; transform: translateX(-50%);
  padding: 3px 9px; border-radius: 999px;
  font-size: 9px; font-weight: 800;
  letter-spacing: 0.3px; white-space: nowrap;
}
.vrtx-bundle-popular { background: #0F0824; color: #fff; }
.vrtx-bundle-best    { background: #F59E0B; color: #fff; }

/* CoA + ATC */
.vrtx-sp-action-row {
  display: flex; align-items: stretch;
  gap: 12px; margin-bottom: 18px;
}
@media (max-width: 767px) {
  .vrtx-sp-action-row { flex-direction: column !important; }
}
.vrtx-coa-btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 0 24px; height: 56px;
  background: #fff;
  border: 1.5px solid #ECE4FA;
  border-radius: 999px;
  font-size: 14px; font-weight: 700;
  color: #0F0824 !important; cursor: pointer;
  text-decoration: none !important; white-space: nowrap;
  transition: border-color 0.18s, background 0.18s;
  flex-shrink: 0; font-family: Inter, sans-serif;
}
.vrtx-coa-btn:hover { border-color: #C4B5FD; background: #FAF7FF; }
@media (max-width: 767px) { .vrtx-coa-btn { width: 100% !important; } }
.vrtx-sp-atc {
  flex: 1; height: 56px;
  background: #0F0824;
  color: #fff; -webkit-text-fill-color: #fff;
  border: none; border-radius: 999px;
  font-size: 16px; font-weight: 700;
  font-family: Inter, sans-serif; cursor: pointer;
  display: inline-flex; align-items: center;
  justify-content: center; gap: 10px;
  box-shadow: 0 6px 18px rgba(15,8,36,0.20);
  transition: background 0.2s, transform 0.18s, box-shadow 0.2s;
}
.vrtx-sp-atc:hover {
  background: #7C5CFA;
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(124,92,250,0.32);
}

/* Trust strip */
.vrtx-sp-trust {
  display: grid; grid-template-columns: repeat(3,1fr);
  gap: 8px; padding: 16px 0;
  border-top: 1px solid #ECE4FA;
  border-bottom: 1px solid #ECE4FA;
  margin-bottom: 16px; text-align: center;
}
@media (max-width: 767px) {
  .vrtx-sp-trust { grid-template-columns: 1fr !important; text-align: left !important; }
  .vrtx-sp-trust-item { flex-direction: row !important; gap: 10px !important; }
}
.vrtx-sp-trust-item { display: flex; flex-direction: column; align-items: center; gap: 5px; }
.vrtx-sp-trust-label { display: block; font-size: 11px; color: #8B7BA8; font-weight: 500; }
.vrtx-sp-trust-val   { display: block; font-size: 12px; color: #0F0824; font-weight: 600; }
.vrtx-sp-payment { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.vrtx-sp-payment-label { font-size: 12px; color: #8B7BA8; font-weight: 500; white-space: nowrap; }
.vrtx-sp-payment-icons { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }

/* CoA Modal */
.vrtx-coa-modal {
  position: fixed; inset: 0;
  z-index: 999999;
  display: flex; align-items: center; justify-content: center;
  padding: 20px;
}
.vrtx-coa-modal-backdrop {
  position: absolute; inset: 0;
  background: rgba(15,8,36,0.6);
  backdrop-filter: blur(4px);
}
.vrtx-coa-modal-box {
  position: relative; z-index: 1;
  background: #fff; border-radius: 20px;
  width: min(780px, calc(100vw - 40px));
  max-height: calc(100vh - 80px);
  display: flex; flex-direction: column;
  overflow: hidden;
  box-shadow: 0 32px 80px rgba(15,8,36,0.30);
}
.vrtx-coa-modal-header {
  display: flex; align-items: center;
  justify-content: space-between;
  padding: 18px 24px;
  border-bottom: 1px solid #ECE4FA;
  flex-shrink: 0;
}
.vrtx-coa-modal-title-row { display: flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 700; color: #0F0824; }
.vrtx-coa-modal-actions { display: flex; align-items: center; gap: 12px; }
.vrtx-coa-dl-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 14px;
  background: #FAF7FF;
  border: 1px solid #ECE4FA;
  border-radius: 999px;
  font-size: 13px; font-weight: 600;
  color: #0F0824 !important; text-decoration: none !important;
  transition: background 0.15s;
}
.vrtx-coa-dl-btn:hover { background: #F3EEFF; border-color: #C4B5FD; }
.vrtx-coa-close {
  width: 32px; height: 32px;
  display: flex; align-items: center; justify-content: center;
  background: #F3F4F6; border: none; border-radius: 50%;
  font-size: 16px; cursor: pointer; color: #5B4D6E;
  transition: background 0.15s;
}
.vrtx-coa-close:hover { background: #ECE4FA; }
.vrtx-coa-modal-body { flex: 1; overflow: hidden; min-height: 200px; }
.vrtx-coa-iframe { width: 100%; height: 100%; min-height: 560px; border: none; display: block; }
.vrtx-coa-soon {
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  padding: 60px 40px; text-align: center; gap: 12px;
}
.vrtx-coa-soon-icon {
  width: 64px; height: 64px;
  background: #F3EEFF; border: 1px solid #ECE4FA;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 4px;
}
.vrtx-coa-soon h3 { font-size: 20px !important; font-weight: 800 !important; color: #0F0824 !important; margin: 0 !important; }
.vrtx-coa-soon p { font-size: 14px !important; color: #5B4D6E !important; max-width: 320px; line-height: 1.6 !important; margin: 0 !important; }
.vrtx-coa-eta {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 18px;
  background: #FAF7FF; border: 1px solid #ECE4FA;
  border-radius: 999px;
  font-size: 13px; font-weight: 700; color: #7C5CFA;
  margin-top: 4px;
}

/* Tabs */
body.single-product .woocommerce-tabs { margin: 40px 0 !important; }
body.single-product .woocommerce-tabs ul.tabs {
  border: 0 !important; border-bottom: 1px solid #ECE4FA !important;
  padding: 0 !important; margin: 0 0 24px !important;
}
body.single-product .woocommerce-tabs ul.tabs li {
  background: transparent !important; border: 0 !important;
  margin: 0 24px 0 0 !important; padding: 0 !important; border-radius: 0 !important;
}
body.single-product .woocommerce-tabs ul.tabs li::before,
body.single-product .woocommerce-tabs ul.tabs li::after { display: none !important; }
body.single-product .woocommerce-tabs ul.tabs li a {
  color: #8B7BA8 !important; font-weight: 600 !important;
  font-size: 15px !important; padding: 14px 0 !important;
  border-bottom: 2px solid transparent !important;
}
body.single-product .woocommerce-tabs ul.tabs li.active a {
  color: #0F0824 !important; border-bottom-color: #7C5CFA !important;
}
body.single-product #tab-reviews,
body.single-product .reviews_tab { display: none !important; }

/* ========== CART SLIDEOUT ========== */
.ast-cart-menu-wrap,
.ast-mini-cart-wrap,
.ast-flyout-cart,
[class*="ast-cart"] { background: #fff !important; }
.ast-cart-menu-wrap .ast-cart-menu-header,
.ast-mini-cart-wrap h3,
.ast-cart-menu-wrap .widget-title {
  background: #fff !important;
  border-bottom: 1px solid #f0f0f0 !important;
  padding: 20px 24px !important;
  font-size: 18px !important; font-weight: 700 !important;
  color: var(--vx-ink-1) !important;
}
.ast-cart-menu-wrap .woocommerce-mini-cart,
.widget_shopping_cart .woocommerce-mini-cart { background: #fff !important; padding: 8px 16px !important; }
.ast-cart-menu-wrap .woocommerce-mini-cart-item,
.widget_shopping_cart .woocommerce-mini-cart-item {
  background: #fff !important; border: 0 !important;
  border-bottom: 1px solid #f5f5f5 !important; border-radius: 0 !important;
  padding: 16px 0 !important; margin: 0 !important; box-shadow: none !important;
  display: grid !important; grid-template-columns: 72px 1fr !important;
  align-items: start !important; gap: 12px !important; position: relative !important;
}
.ast-cart-menu-wrap .woocommerce-mini-cart-item img,
.widget_shopping_cart .woocommerce-mini-cart-item img {
  width: 72px !important; height: 72px !important; min-width: 72px !important;
  border-radius: 10px !important; object-fit: cover !important;
  background: var(--vx-tint) !important; border: 1px solid var(--vx-border) !important;
}
.ast-cart-menu-wrap .woocommerce-mini-cart-item a:not(.remove),
.widget_shopping_cart .woocommerce-mini-cart-item a:not(.remove) {
  grid-column: 2 !important; display: block !important;
  color: var(--vx-ink-1) !important; font-weight: 600 !important;
  font-size: 14px !important; text-decoration: none !important;
  line-height: 1.4 !important; padding-right: 24px !important;
}
.ast-cart-menu-wrap .woocommerce-mini-cart-item .quantity,
.widget_shopping_cart .woocommerce-mini-cart-item .quantity {
  grid-column: 2 !important; color: var(--vx-ink-3) !important;
  font-size: 13px !important; font-weight: 500 !important;
  display: block !important; margin-top: 4px !important;
}
.ast-cart-menu-wrap .woocommerce-mini-cart-item .quantity .woocommerce-Price-amount,
.widget_shopping_cart .woocommerce-mini-cart-item .quantity .woocommerce-Price-amount {
  color: var(--vx-ink-1) !important; font-weight: 700 !important;
}
.ast-cart-menu-wrap .woocommerce-mini-cart-item .remove,
.widget_shopping_cart .woocommerce-mini-cart-item .remove {
  position: absolute !important; top: 16px !important; right: 0 !important;
  width: 20px !important; height: 20px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  font-size: 16px !important; color: var(--vx-ink-4) !important;
  opacity: 1 !important; background: transparent !important;
  border-radius: 0 !important; border: 0 !important;
  line-height: 1 !important; text-decoration: none !important;
}
.ast-cart-menu-wrap .woocommerce-mini-cart-item .remove:hover,
.widget_shopping_cart .woocommerce-mini-cart-item .remove:hover { color: #DC2626 !important; background: transparent !important; }
.ast-cart-menu-wrap .woocommerce-mini-cart__total,
.widget_shopping_cart .woocommerce-mini-cart__total {
  background: #fff !important; border-top: 2px solid #f0f0f0 !important;
  padding: 16px 16px 8px !important;
  display: flex !important; justify-content: space-between !important; align-items: center !important;
}
.ast-cart-menu-wrap .woocommerce-mini-cart__total strong,
.widget_shopping_cart .woocommerce-mini-cart__total strong {
  font-size: 15px !important; font-weight: 600 !important;
  color: var(--vx-ink-3) !important; text-transform: uppercase !important; letter-spacing: .5px !important;
}
.ast-cart-menu-wrap .woocommerce-mini-cart__total .woocommerce-Price-amount,
.widget_shopping_cart .woocommerce-mini-cart__total .woocommerce-Price-amount {
  font-size: 22px !important; font-weight: 800 !important; color: var(--vx-ink-1) !important;
}
.woocommerce-mini-cart__total del { color: #bbb !important; font-size: 13px !important; font-weight: 400 !important; text-decoration: line-through !important; margin-right: 6px !important; opacity: 1 !important; }
.woocommerce-mini-cart__total del .woocommerce-Price-amount,
.woocommerce-mini-cart__total del bdi,
.woocommerce-mini-cart__total del .woocommerce-Price-currencySymbol { color: #bbb !important; font-size: 13px !important; }
.woocommerce-mini-cart__total strong { font-size: 15px !important; font-weight: 600 !important; color: #888 !important; }
.woocommerce-mini-cart__total .woocommerce-Price-amount:not(del .woocommerce-Price-amount) { font-size: 20px !important; font-weight: 800 !important; color: #0F0824 !important; }
.ast-cart-menu-wrap .total,
.widget_shopping_cart .total { font-size: 0 !important; line-height: 0 !important; }
.ast-cart-menu-wrap .total strong,
.widget_shopping_cart .total strong { font-size: 15px !important; line-height: 1.4 !important; }
.astra-mobile-cart-overlay { display: none !important; }
.ast-cart-menu-wrap .woocommerce-mini-cart__buttons,
.widget_shopping_cart .woocommerce-mini-cart__buttons {
  background: #fff !important; padding: 12px 16px 20px !important;
  display: flex !important; flex-direction: column !important; gap: 8px !important;
}
.ast-cart-menu-wrap .woocommerce-mini-cart__buttons .button:not(.checkout),
.widget_shopping_cart .woocommerce-mini-cart__buttons .button:not(.checkout),
.widget_shopping_cart .buttons a.button:not(.checkout) { display: none !important; }
.ast-cart-menu-wrap .woocommerce-mini-cart__buttons .checkout,
.widget_shopping_cart .woocommerce-mini-cart__buttons .checkout {
  background: var(--vx-ink-1) !important; color: #fff !important;
  -webkit-text-fill-color: #fff !important; border-radius: 999px !important; border: 0 !important;
  font-weight: 700 !important; font-size: 16px !important; padding: 16px 24px !important;
  width: 100% !important; text-align: center !important; display: block !important;
  box-shadow: var(--vx-shadow-cta) !important; transition: background .2s ease !important; min-height: 52px !important;
}
.ast-cart-menu-wrap .woocommerce-mini-cart__buttons .checkout:hover,
.widget_shopping_cart .woocommerce-mini-cart__buttons .checkout:hover { background: var(--vx-purple) !important; transform: none !important; }

/* Mini cart coupon */
.vrtx-mini-cart-coupon { padding: 12px 0 4px; }
.vrtx-coupon-form-wrap { display: flex; gap: 8px; align-items: center; }
.vrtx-coupon-input { flex: 1 !important; padding: 9px 12px !important; border: 1.5px solid #ECE4FA !important; border-radius: 10px !important; font-size: 13px !important; color: #0F0824 !important; background: #fff !important; min-height: 0 !important; box-sizing: border-box !important; }
.vrtx-coupon-input:focus { outline: none !important; border-color: #7C5CFA !important; }
.vrtx-coupon-btn { padding: 9px 14px !important; background: #059669 !important; color: #fff !important; border: 0 !important; border-radius: 8px !important; font-size: 12px !important; font-weight: 700 !important; cursor: pointer !important; white-space: nowrap !important; min-height: 0 !important; }
.vrtx-coupon-btn:hover { background: #047857 !important; }
.vrtx-coupon-msg { font-size: 12px; padding: 4px 0; font-weight: 600; }
.vrtx-applied-coupon { display: flex; align-items: center; gap: 8px; padding: 6px 10px; background: #ECFDF5; border-radius: 8px; font-size: 12px; margin-bottom: 6px; }
.vrtx-applied-coupon span:first-child { flex: 1; font-weight: 600; color: #065F46; }
.vrtx-coupon-discount { color: #059669 !important; font-weight: 700 !important; }
.vrtx-remove-coupon { background: none !important; border: none !important; color: #DC2626 !important; cursor: pointer !important; font-size: 16px !important; padding: 0 !important; line-height: 1 !important; min-height: 0 !important; }

/* Cart coupon form */
.cart .coupon { display: flex !important; gap: 8px !important; align-items: center !important; margin-bottom: 20px !important; }
.cart .coupon label { display: none !important; }
.cart .coupon input#coupon_field {
  flex: 1 !important; padding: 14px 16px !important;
  border: 1.5px solid #D4C5F9 !important; border-radius: 12px !important;
  font-size: 15px !important; color: #0F0824 !important;
  background: #fff !important; min-height: 0 !important; box-sizing: border-box !important;
}
.cart .coupon input#coupon_field:focus { outline: none !important; border-color: #7C5CFA !important; box-shadow: 0 0 0 4px rgba(124,92,250,.12) !important; }
.cart .coupon .button { padding: 14px 22px !important; background: #7C5CFA !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; white-space: nowrap !important; min-height: 0 !important; }
.cart .coupon .button:hover { background: #5B3FE8 !important; }
.woocommerce-remove-coupon { color: #DC2626 !important; font-size: 12px !important; margin-left: 6px !important; }
.cart-discount .amount { color: #059669 !important; font-weight: 700 !important; }
.cart-discount td .woocommerce-Price-amount { color: #059669 !important; font-weight: 700 !important; }
del .woocommerce-Price-amount { color: #8B7BA8 !important; text-decoration: line-through !important; }
.woocommerce-mini-cart__total del,
del .woocommerce-Price-amount { color: #8B7BA8 !important; text-decoration: line-through !important; opacity: 1 !important; }

/* ========== CHECKOUT ========== */
body.woocommerce-checkout .woocommerce-breadcrumb,
body.woocommerce-checkout .ast-page-header,
body.woocommerce-checkout .entry-header,
body.woocommerce-checkout .woocommerce-form-login-toggle,
body.woocommerce-checkout .woocommerce-form-login,
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .checkout_coupon,
body.woocommerce-checkout form.login,
body.woocommerce-checkout form.checkout_coupon,
body.woocommerce-checkout .woocommerce > .woocommerce-info,
body.woocommerce-checkout form.checkout > .woocommerce-info,
#order_review_heading { display: none !important; }
body.woocommerce-checkout #primary,
body.woocommerce-checkout .content-area,
body.woocommerce-checkout .ast-container,
body.woocommerce-checkout .entry-content.clear,
body.woocommerce-checkout article.post-17892 {
  max-width: 100% !important; width: 100% !important;
  padding-left: 0 !important; padding-right: 0 !important;
  float: none !important; margin-left: 0 !important; margin-right: 0 !important;
}
body.woocommerce-checkout .woocommerce {
  max-width: 100% !important; width: 100% !important;
  margin: 40px 0 !important; padding: 0 24px 64px !important; box-sizing: border-box !important;
}
@media (min-width: 901px) {
  form.checkout.woocommerce-checkout {
    display: grid !important;
    grid-template-columns: 1fr 320px !important;
    gap: 24px !important; align-items: start !important;
    width: 100% !important; box-sizing: border-box !important;
  }
  form.checkout .woocommerce-NoticeGroup { grid-column: 1 / -1 !important; }
  form.checkout .col2-set { grid-column: 1 !important; grid-row: 2 !important; }
  form.checkout > h3 { grid-column: 1 / -1 !important; grid-row: 1 !important; }
  form.checkout .woocommerce-checkout-review-order {
    grid-column: 2 !important; grid-row: 2 !important;
    position: sticky !important; top: 100px !important;
    width: 320px !important; min-width: 320px !important;
  }
}
@media screen and (max-width: 900px) {
  body.woocommerce-checkout #primary,
  body.woocommerce-checkout .content-area,
  body.woocommerce-checkout .ast-container,
  body.woocommerce-checkout .entry-content.clear { overflow-x: visible !important; }
  form.checkout.woocommerce-checkout {
    display: flex !important; flex-direction: column !important;
    width: 100% !important; max-width: 100% !important; box-sizing: border-box !important;
  }
  form.checkout .woocommerce-NoticeGroup { order: -1 !important; }
  form.checkout > h3 { order: 0 !important; }
  form.checkout .col2-set { width: 100% !important; order: 1 !important; }
  form.checkout .woocommerce-checkout-review-order {
    width: 100% !important; min-width: unset !important; max-width: 100% !important;
    position: static !important; order: 2 !important;
  }
  form.checkout .form-row-first,
  form.checkout .form-row-last { width: 100% !important; float: none !important; clear: both !important; }
  body.woocommerce-checkout .woocommerce { padding: 0 16px 48px !important; }
}

/* Order summary */
#order_review {
  background: #fff !important; border: 1px solid var(--vx-border) !important;
  border-radius: 20px !important; padding: 24px !important;
  box-shadow: var(--vx-shadow-sm) !important; margin: 0 !important; box-sizing: border-box;
}
#order_review::before {
  content: 'Order Summary'; display: block;
  font-size: 18px; font-weight: 700; color: var(--vx-ink-1);
  margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid var(--vx-border);
}
#order_review table { width: 100% !important; border: 0 !important; border-radius: 0 !important; margin: 0 !important; background: transparent !important; border-collapse: collapse !important; }
#order_review table thead { display: none !important; }
#order_review table tr { border-bottom: 1px solid var(--vx-border) !important; }
#order_review table tr:last-child { border-bottom: 0 !important; }
#order_review table th, #order_review table td { padding: 14px 0 !important; background: transparent !important; border: 0 !important; color: var(--vx-ink-2) !important; font-size: 14px !important; vertical-align: middle !important; text-align: left !important; }
#order_review .product-total { text-align: right !important; font-weight: 700 !important; color: var(--vx-ink-1) !important; white-space: nowrap; }
#order_review tfoot tr { border-top: 1px solid var(--vx-border) !important; }
#order_review .order-total td, #order_review .order-total th { font-size: 16px !important; font-weight: 800 !important; color: var(--vx-ink-1) !important; padding-top: 16px !important; }
#order_review .order-total .amount { font-size: 20px !important; font-weight: 800 !important; }
#order_review ul#shipping_method { list-style: none !important; margin: 4px 0 0 !important; padding: 0 !important; }
#order_review ul#shipping_method li { margin: 0 0 4px !important; font-size: 13px !important; display: flex; align-items: center; gap: 8px; }
#order_review ul#shipping_method input[type="radio"] { accent-color: var(--vx-purple) !important; }
#order_review td.product-name { word-break: normal !important; white-space: normal !important; overflow-wrap: break-word !important; min-width: 0 !important; padding: 12px 8px !important; vertical-align: middle !important; }
#order_review td.product-name a { display: block !important; font-size: 13px !important; line-height: 1.45 !important; color: var(--vx-ink-1) !important; font-weight: 600 !important; }
#order_review td.product-total { white-space: nowrap !important; text-align: right !important; vertical-align: middle !important; font-weight: 700 !important; padding: 12px 0 12px 8px !important; }
#order_review table img, .woocommerce-checkout-review-order-table img { width: 56px !important; height: 56px !important; max-width: 56px !important; max-height: 56px !important; border-radius: 12px !important; object-fit: cover !important; border: 1px solid var(--vx-border) !important; background: var(--vx-tint) !important; display: block !important; margin-bottom: 6px !important; }
#order_review .product-quantity { display: inline-block; color: var(--vx-ink-3) !important; font-size: 13px; font-weight: 500; }

/* Billing/shipping cards */
.woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields {
  background: #fff !important; border: 1px solid var(--vx-border) !important;
  border-radius: 20px !important; padding: 28px !important;
  box-shadow: var(--vx-shadow-sm) !important; margin-bottom: 16px !important; box-sizing: border-box;
}
.woocommerce-billing-fields h3, .woocommerce-shipping-fields h3 { font-size: 18px !important; font-weight: 700 !important; color: var(--vx-ink-1) !important; margin: 0 0 20px !important; }
body.woocommerce-checkout .woocommerce-shipping-fields { display: none !important; }
body.woocommerce-checkout .woocommerce-shipping-fields.active { display: block !important; }
@media (min-width: 901px) {
  body.woocommerce-checkout .woocommerce-billing-fields .form-row-first,
  body.woocommerce-checkout .woocommerce-billing-fields .form-row-last { width: 48% !important; float: left !important; }
  body.woocommerce-checkout .woocommerce-billing-fields .form-row-last { float: right !important; }
  body.woocommerce-checkout .woocommerce-billing-fields .form-row-wide { clear: both !important; width: 100% !important; float: none !important; }
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper { overflow: hidden !important; }
}
@media (max-width: 900px) {
  .vrtx-checkout-state { padding: 36px 24px !important; overflow: hidden !important; min-height: 0; }
  .vrtx-gate-body { width: 100% !important; max-width: 100% !important; }
  .vrtx-checkout-logo { height: 36px !important; }
  .vrtx-steps { max-width: 100% !important; padding: 0 8px !important; }
  .woocommerce-billing-fields, .woocommerce-shipping-fields { padding: 24px 20px !important; }
  #order_review { margin-top: 24px !important; }
}
body.woocommerce-checkout #ship-to-different-address {
  background: #fff !important; border: 1px solid var(--vx-border) !important;
  border-radius: 14px !important; padding: 16px 20px !important; margin-bottom: 16px !important;
  display: flex !important; align-items: center !important; gap: 10px !important;
  cursor: pointer !important; box-shadow: var(--vx-shadow-sm) !important;
}

/* Payment */
#payment { background: transparent !important; border: 0 !important; margin-top: 16px !important; padding: 0 !important; }
#payment ul.payment_methods { list-style: none !important; padding: 0 !important; margin: 0 0 12px !important; }
#payment ul.payment_methods li { background: var(--vx-tint) !important; border: 1px solid var(--vx-border) !important; border-radius: 14px !important; padding: 14px 16px !important; margin-bottom: 8px !important; list-style: none !important; }
#payment ul.payment_methods li label { font-weight: 600 !important; color: var(--vx-ink-1) !important; font-size: 14px !important; }
#place_order {
  width: 100% !important; background: #0F0824 !important; color: #fff !important;
  border: 0 !important; border-radius: 999px !important; padding: 18px !important;
  font-size: 17px !important; font-weight: 700 !important; min-height: 58px !important;
  margin-top: 16px !important; box-shadow: var(--vx-shadow-cta) !important;
  transition: background .2s ease, transform .2s ease !important; cursor: pointer !important; display: block !important;
}
#place_order:hover { background: var(--vx-purple) !important; transform: translateY(-2px) !important; }

/* Gate states */
body.vrtx-needs-signin #customer_details,
body.vrtx-needs-onboard #customer_details,
body.vrtx-needs-signin #payment,
body.vrtx-needs-onboard #payment { display: none !important; }
body.vrtx-needs-signin #place_order,
body.vrtx-needs-onboard #place_order,
#place_order:disabled {
  background: #D1D5DB !important; color: transparent !important;
  box-shadow: none !important; cursor: not-allowed !important;
  pointer-events: none !important; transform: none !important; position: relative !important;
}
body.vrtx-needs-signin #place_order::before,
body.vrtx-needs-onboard #place_order::before,
#place_order:disabled::before {
  content: '🔒 Secure Checkout'; position: absolute; left: 50%;
  transform: translateX(-50%); color: #6B7280;
  font-size: 16px; font-weight: 700; white-space: nowrap;
}
body.vrtx-ready-checkout .woocommerce-billing-fields::before {
  content: '🔒 Secure Checkout — Step 3 of 3'; display: block;
  font-size: 11px; font-weight: 700; color: var(--vx-ink-4);
  text-transform: uppercase; letter-spacing: 1.2px;
  margin-bottom: 20px; padding-bottom: 16px; border-bottom: 1px solid var(--vx-border);
}

/* Checkout gate states */
.vrtx-checkout-state {
  background: #fff; border: 1px solid var(--vx-border);
  border-radius: 24px; padding: 60px 48px;
  box-shadow: var(--vx-shadow-sm); text-align: center;
  width: 100%; box-sizing: border-box;
  min-height: 420px; display: flex; flex-direction: column;
  align-items: center; justify-content: center;
}
.vrtx-checkout-state--onboard { text-align: left; padding: 40px 32px; align-items: flex-start; justify-content: flex-start; min-height: 0; }
.vrtx-state-icon { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; background: var(--vx-tint); border: 1px solid var(--vx-border-strong); border-radius: 50%; color: var(--vx-deep); margin-bottom: 20px; }
.vrtx-checkout-state h2 { font-size: 26px !important; font-weight: 800 !important; color: var(--vx-ink-1) !important; margin: 0 0 10px !important; letter-spacing: -.5px !important; }
.vrtx-checkout-state > p { font-size: 15px !important; color: var(--vx-ink-3) !important; margin: 0 auto 28px !important; max-width: 380px; line-height: 1.6; }
.vrtx-checkout-logo { height: 40px !important; width: auto !important; display: block !important; margin: 0 auto 28px !important; object-fit: contain !important; }
.vrtx-steps { display: flex; align-items: center; justify-content: center; gap: 0; margin-bottom: 36px; width: 100%; max-width: 360px; margin-left: auto; margin-right: auto; }
.vrtx-step { display: flex; flex-direction: column; align-items: center; gap: 6px; flex-shrink: 0; }
.vrtx-step-num { width: 32px; height: 32px; border-radius: 50%; border: 2px solid var(--vx-border-strong); background: #fff; color: var(--vx-ink-4); font-size: 13px; font-weight: 700; display: flex; align-items: center; justify-content: center; transition: all .2s ease; }
.vrtx-step span { font-size: 11px; font-weight: 600; color: var(--vx-ink-4); letter-spacing: .5px; text-transform: uppercase; }
.vrtx-step.active .vrtx-step-num { background: var(--vx-purple); border-color: var(--vx-purple); color: #fff; box-shadow: 0 0 0 4px rgba(124,92,250,0.15); }
.vrtx-step.active span { color: var(--vx-ink-1); }
.vrtx-step.done .vrtx-step-num { background: #ECFDF5; border-color: #059669; color: #059669; }
.vrtx-step.done span { color: #059669; }
.vrtx-step-line { flex: 1; height: 2px; background: var(--vx-border); margin: 0 8px; margin-bottom: 18px; }
.vrtx-gate-body { display: flex; flex-direction: column; align-items: center; width: 100%; max-width: 440px; margin: 0 auto; }
.vrtx-gate-body h2 { font-size: 22px !important; font-weight: 800 !important; color: var(--vx-ink-1) !important; margin: 12px 0 8px !important; }
.vrtx-gate-body > p { font-size: 15px !important; color: var(--vx-ink-3) !important; margin: 0 0 24px !important; text-align: center; line-height: 1.6; }
.vrtx-checkout-state .magic-login-form,
.vrtx-checkout-state form#magic-login-form { width: 100%; max-width: 440px; text-align: left; }
.vrtx-checkout-state .magic-login-form label,
.vrtx-checkout-state form#magic-login-form label { display: none !important; }
.vrtx-checkout-state .magic-login-form input[type="text"],
.vrtx-checkout-state .magic-login-form input[type="email"],
.vrtx-checkout-state form#magic-login-form input[type="text"],
.vrtx-checkout-state form#magic-login-form input[type="email"] { width: 100% !important; padding: 16px 20px !important; background: #f9f9f9 !important; border: 1.5px solid var(--vx-border-strong) !important; border-radius: 12px !important; font-size: 15px !important; color: var(--vx-ink-1) !important; min-height: 54px !important; margin-bottom: 12px !important; box-sizing: border-box !important; }
.vrtx-checkout-state .magic-login-form input[type="submit"],
.vrtx-checkout-state .magic-login-form button[type="submit"],
.vrtx-checkout-state form#magic-login-form input[type="submit"],
.vrtx-checkout-state form#magic-login-form button[type="submit"] { width: 100% !important; background: #2D2D2D !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; padding: 16px !important; font-size: 16px !important; font-weight: 700 !important; cursor: pointer !important; min-height: 54px !important; transition: background .2s ease !important; }
.vrtx-checkout-state .magic-login-form input[type="submit"]:hover { background: var(--vx-purple) !important; }

/* Dropdowns */
body.woocommerce-checkout select,
body.woocommerce-checkout .woocommerce form .form-row select { background-color: #fff !important; background: #fff !important; color: var(--vx-ink-1) !important; -webkit-text-fill-color: var(--vx-ink-1) !important; appearance: auto !important; -webkit-appearance: auto !important; }
body.woocommerce-checkout #billing_country,
body.woocommerce-checkout #billing_state,
body.woocommerce-checkout #shipping_country,
body.woocommerce-checkout #shipping_state,
body.woocommerce-checkout select.country_to_state { background-color: #fff !important; color: var(--vx-ink-1) !important; -webkit-text-fill-color: var(--vx-ink-1) !important; border: 1.5px solid var(--vx-border-strong) !important; border-radius: 14px !important; padding: 14px 18px !important; min-height: 52px !important; width: 100% !important; }

/* Select2 */
.select2-container--default .select2-selection--single { background-color: #fff !important; border: 1.5px solid var(--vx-border-strong) !important; border-radius: 14px !important; height: 52px !important; padding: 0 18px !important; overflow: hidden !important; }
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--vx-ink-1) !important; line-height: 52px !important; padding: 0 !important; background: #fff !important; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 52px !important; top: 0 !important; right: 12px !important; }
.select2-dropdown { border: 1.5px solid var(--vx-border-strong) !important; border-radius: 14px !important; background: #fff !important; box-shadow: var(--vx-shadow-md) !important; overflow: hidden !important; }
.select2-results__option { color: var(--vx-ink-1) !important; padding: 10px 16px !important; font-size: 14px !important; }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background-color: var(--vx-soft) !important; color: var(--vx-ink-1) !important; }
.woocommerce-checkout .select2-container { width: 100% !important; }

/* ========== THANK YOU PAGE ========== */
.woocommerce-order-received .entry-content,
.woocommerce-order-received .woocommerce { max-width: 680px !important; margin: 0 auto !important; padding: 48px 24px 80px !important; font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important; }
.woocommerce-order-received .woocommerce-thankyou-order-received { display: none !important; }
.woocommerce-order-overview.woocommerce-thankyou-order-details { display: grid !important; grid-template-columns: repeat(3,1fr) !important; gap: 0 !important; background: #0F0824 !important; border-radius: 18px !important; padding: 28px 32px !important; list-style: none !important; margin: 0 0 20px !important; box-shadow: 0 8px 24px rgba(124,92,250,0.15) !important; }
.woocommerce-order-overview li { color: rgba(255,255,255,0.5) !important; font-size: 11px !important; font-weight: 500 !important; text-transform: uppercase !important; letter-spacing: 0.9px !important; padding: 0 !important; border: none !important; border-right: 1px solid rgba(255,255,255,0.08) !important; padding-right: 24px !important; }
.woocommerce-order-overview li:last-child { border-right: none !important; padding-right: 0 !important; }
.woocommerce-order-overview li strong { display: block !important; color: #fff !important; font-size: 15px !important; font-weight: 600 !important; margin-top: 7px !important; text-transform: none !important; letter-spacing: -0.2px !important; }
.woocommerce-order-received .woocommerce-order > p { background: #FAF7FF !important; border: 1px solid #ECE4FA !important; border-radius: 14px !important; padding: 18px 22px !important; font-size: 14px !important; line-height: 1.65 !important; color: #2D2147 !important; margin-bottom: 24px !important; }
.woocommerce-order-received .woocommerce-table--order-details { width: 100% !important; border-collapse: collapse !important; border-radius: 14px !important; overflow: hidden !important; border: 1px solid #ECE4FA !important; margin-bottom: 20px !important; box-shadow: 0 2px 6px rgba(124,92,250,0.06) !important; }
.woocommerce-order-received .woocommerce-table--order-details thead { background: #F3EEFF !important; }
.woocommerce-order-received .woocommerce-table--order-details thead th { color: #5B4D6E !important; font-size: 11px !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: 0.8px !important; padding: 13px 20px !important; }
.woocommerce-order-received .woocommerce-table--order-details tbody tr { border-bottom: 1px solid #ECE4FA !important; }
.woocommerce-order-received .woocommerce-table--order-details tbody td { padding: 16px 20px !important; font-size: 14px !important; color: #0F0824 !important; }
.woocommerce-order-received .woocommerce-table--order-details tfoot th,
.woocommerce-order-received .woocommerce-table--order-details tfoot td { padding: 12px 20px !important; font-size: 13px !important; color: #5B4D6E !important; border-top: 1px solid #ECE4FA !important; font-weight: 500 !important; }
.woocommerce-order-received .woocommerce-table--order-details tfoot .order-total th,
.woocommerce-order-received .woocommerce-table--order-details tfoot .order-total td { font-size: 16px !important; font-weight: 700 !important; color: #0F0824 !important; background: #FAF7FF !important; border-top: 2px solid #D4C5F9 !important; }
.woocommerce-order-received .woocommerce-customer-details,
.woocommerce-order-received .woocommerce-columns--addresses { display: grid !important; grid-template-columns: 1fr !important; gap: 16px !important; margin-top: 20px !important; }
.woocommerce-order-received .woocommerce-column { background: #FFFFFF !important; border: 1px solid #ECE4FA !important; border-radius: 14px !important; padding: 22px 24px !important; box-shadow: 0 2px 6px rgba(124,92,250,0.06) !important; }
.woocommerce-order-received .woocommerce-column__title { font-size: 11px !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: 0.9px !important; color: #8B7BA8 !important; margin-bottom: 12px !important; }
.woocommerce-order-received .woocommerce-column address { font-size: 14px !important; line-height: 1.75 !important; color: #0F0824 !important; font-style: normal !important; }
.woocommerce-order-received .woocommerce-order .button { display: inline-flex !important; align-items: center !important; justify-content: center !important; margin-top: 28px !important; padding: 14px 28px !important; background: #7C5CFA !important; color: white !important; border-radius: 999px !important; font-weight: 600 !important; font-size: 15px !important; box-shadow: 0 6px 18px rgba(124,92,250,0.32) !important; transition: transform 0.2s, box-shadow 0.2s !important; text-decoration: none !important; }
.woocommerce-order-received .woocommerce-order .button:hover { background: #5B3FE8 !important; transform: translateY(-2px) !important; }

/* ========== ONBOARDING ========== */
.vrtx-onboard-page { max-width: 560px; margin: 32px auto; padding: 0 16px 64px; }
.vrtx-onboard-card { background: #fff; border: 1px solid var(--vx-border); border-radius: 24px; padding: 48px 40px; box-shadow: var(--vx-shadow-sm); text-align: center; }
.vrtx-onboard-card h1 { font-size: 32px !important; font-weight: 800 !important; color: var(--vx-ink-1) !important; margin: 0 0 12px !important; letter-spacing: -.8px !important; }
.vrtx-onboard-sub { font-size: 15px !important; color: var(--vx-ink-3) !important; margin: 0 0 32px !important; line-height: 1.5; }
.vrtx-onboard-form { text-align: left; display: flex; flex-direction: column; gap: 16px; }
.vrtx-onboard-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.vrtx-onboard-form input[type="text"],
.vrtx-onboard-form input[type="date"],
.vrtx-onboard-form select { width: 100% !important; padding: 14px 18px !important; background: #fff !important; border: 1.5px solid var(--vx-border-strong) !important; border-radius: 14px !important; font-size: 15px !important; color: var(--vx-ink-1) !important; min-height: 52px !important; font-family: Inter, sans-serif !important; box-sizing: border-box !important; transition: border-color .2s ease, box-shadow .2s ease !important; }
.vrtx-onboard-form input:focus, .vrtx-onboard-form select:focus { outline: none !important; border-color: var(--vx-purple) !important; box-shadow: 0 0 0 4px rgba(124,92,250,0.12) !important; }
.vrtx-onboard-label { font-size: 14px !important; font-weight: 600 !important; color: var(--vx-ink-2) !important; margin: 8px 0 -8px !important; display: block; }
.vrtx-onboard-check { display: flex !important; align-items: flex-start !important; gap: 10px !important; font-size: 13px !important; color: var(--vx-ink-3) !important; line-height: 1.5 !important; margin: 8px 0 4px !important; cursor: pointer; }
.vrtx-onboard-check input[type="checkbox"] { accent-color: var(--vx-purple) !important; width: 18px !important; height: 18px !important; margin-top: 2px !important; flex-shrink: 0; }
.vrtx-onboard-check a { color: var(--vx-deep) !important; text-decoration: underline !important; font-weight: 600 !important; }
.vrtx-onboard-submit { background: #0F0824 !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; padding: 16px !important; font-size: 16px !important; font-weight: 700 !important; cursor: pointer !important; min-height: 56px !important; margin-top: 8px !important; box-shadow: var(--vx-shadow-cta) !important; transition: background .2s ease, transform .2s ease !important; font-family: Inter, sans-serif !important; }
.vrtx-onboard-submit:hover { background: var(--vx-purple) !important; transform: translateY(-2px) !important; }
.vrtx-onboard-submit:disabled { opacity: .5; cursor: not-allowed; transform: none !important; }
.vrtx-onboard-error { background: #FEF2F2 !important; color: #991B1B !important; border: 1px solid #FECACA !important; border-left: 4px solid #DC2626 !important; border-radius: 14px !important; padding: 14px 18px !important; font-size: 14px !important; margin-bottom: 8px !important; }
@media (max-width: 600px) { .vrtx-onboard-card { padding: 32px 24px; } .vrtx-onboard-row { grid-template-columns: 1fr; } }

/* ========== CHECKOUT GATE ========== */
.vrtx-checkout-gate { max-width: 640px; margin: 32px auto; padding: 0 16px 64px; }
.vrtx-gate-back { display: inline-flex; align-items: center; gap: 6px; color: var(--vx-ink-3) !important; font-size: 14px; font-weight: 600; text-decoration: none !important; margin-bottom: 32px; transition: color .2s ease; }
.vrtx-gate-back:hover { color: var(--vx-deep) !important; }
.vrtx-gate-card { background: #fff; border: 1px solid var(--vx-border); border-radius: 24px; padding: 48px 40px; box-shadow: var(--vx-shadow-sm); text-align: center; }
.vrtx-gate-icon { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; background: var(--vx-tint); border: 1px solid var(--vx-border-strong); border-radius: 50%; color: var(--vx-deep); margin-bottom: 20px; }
.vrtx-gate-card h2 { font-size: 24px !important; font-weight: 800 !important; color: var(--vx-ink-1) !important; margin: 0 0 8px !important; letter-spacing: -.5px !important; }
.vrtx-gate-card > p { font-size: 15px !important; color: var(--vx-ink-3) !important; margin: 0 auto 28px !important; max-width: 360px; line-height: 1.5; }
.vrtx-gate-card .magic-login-form label,
.vrtx-gate-card form#magic-login-form label { display: none !important; }
.vrtx-gate-card .magic-login-form input[type="text"],
.vrtx-gate-card .magic-login-form input[type="email"],
.vrtx-gate-card form#magic-login-form input[type="text"],
.vrtx-gate-card form#magic-login-form input[type="email"] { width: 100% !important; padding: 16px 20px !important; background: #fff !important; border: 1.5px solid var(--vx-border-strong) !important; border-radius: 14px !important; font-size: 15px !important; color: var(--vx-ink-1) !important; min-height: 56px !important; margin-bottom: 12px !important; box-sizing: border-box !important; }
.vrtx-gate-card .magic-login-form input[type="submit"],
.vrtx-gate-card .magic-login-form button[type="submit"],
.vrtx-gate-card form#magic-login-form input[type="submit"],
.vrtx-gate-card form#magic-login-form button[type="submit"] { width: 100% !important; background: #0F0824 !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; padding: 16px !important; font-size: 16px !important; font-weight: 700 !important; cursor: pointer !important; min-height: 56px !important; box-shadow: var(--vx-shadow-cta) !important; transition: background .2s ease, transform .2s ease !important; font-family: Inter, sans-serif !important; }
.vrtx-gate-card .magic-login-form input[type="submit"]:hover,
.vrtx-gate-card form#magic-login-form input[type="submit"]:hover { background: var(--vx-purple) !important; transform: translateY(-2px) !important; }
.vrtx-gate-card .magic-login-success,
.vrtx-gate-card .magic-login-message,
.vrtx-gate-card .notice-success,
.vrtx-gate-card .updated { background: #ECFDF5 !important; color: #065F46 !important; border: 1px solid #A7F3D0 !important; border-left: 4px solid #059669 !important; border-radius: 14px !important; padding: 14px 18px !important; margin-top: 16px !important; font-size: 14px !important; line-height: 1.5 !important; text-align: left !important; font-weight: 500 !important; }
.vrtx-gate-card .magic-login-error,
.vrtx-gate-card .magic-login-errors,
.vrtx-gate-card .notice-error,
.vrtx-gate-card #login_error { background: #FEF2F2 !important; color: #991B1B !important; border: 1px solid #FECACA !important; border-left: 4px solid #DC2626 !important; border-radius: 14px !important; padding: 14px 18px !important; margin-bottom: 16px !important; font-size: 14px !important; line-height: 1.5 !important; text-align: left !important; font-weight: 500 !important; }

/* ── DEFINITIVE FIX: Hide Astra's duplicate title link wrapper ──
   Astra injects its own <a class="ast-loop-product__link"> containing
   a second copy of the title. This is rendered via Astra's template
   file (not a hook), so it cannot be removed in PHP. Hide the whole
   element — it is purely decorative and duplicates the WC link. */
.woocommerce ul.products li.product a.ast-loop-product__link {
  display: none !important;
}

/* ============================================================
   VORTEX — CATALOGUE CSS PATCH
   Fixes: "From $X" price, double strikethrough, pagination,
          Read-more leak, purity pill removal, desc removal.
   ============================================================ */

/* ── Remove short description from cards (was leaking HTML tags) ── */
.woocommerce ul.products li.product .vrtx-card-desc { display: none !important; }

/* ── Remove meta pills entirely (no more 99%+ purity pill) ── */
.woocommerce ul.products li.product .vrtx-meta-pills { display: none !important; }

/* ── "From $X" price — Amino style ── */
.woocommerce ul.products li.product .vrtx-footer-price del,
.woocommerce ul.products li.product .vrtx-footer-price ins,
.woocommerce ul.products li.product .vrtx-footer-price .price { display: none !important; }

.woocommerce ul.products li.product .vrtx-from-label {
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #8B7BA8 !important;
    margin-right: 4px !important;
}
.woocommerce ul.products li.product .vrtx-from-price {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #0F0824 !important;
    letter-spacing: -0.4px !important;
}
.woocommerce ul.products li.product .vrtx-from-price .woocommerce-Price-amount {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #0F0824 !important;
}

/* ── Kill Flycart double strikethrough on cards ── */
.woocommerce ul.products li.product .vrtx-card-footer-row del { display: none !important; }

/* ── Suppress native "Read more" / "View" button leaking through ── */
.woocommerce ul.products li.product a.button.product_type_simple:not(.vrtx-card-atc),
.woocommerce ul.products li.product a.button.product_type_variable:not(.vrtx-card-atc),
.woocommerce ul.products li.product a.button:not(.vrtx-card-atc),
.woocommerce ul.products li.product .button.add_to_cart_button:not(.vrtx-card-atc) { display: none !important; }

/* ── VIEW PRODUCT variant of ATC button (slightly muted) ── */
.woocommerce ul.products li.product .vrtx-card-atc--view {
    color: #5B4D6E !important;
    -webkit-text-fill-color: #5B4D6E !important;
    border-color: #D4C5F9 !important;
}
.woocommerce ul.products li.product .vrtx-card-atc--view:hover {
    background: #F3EEFF !important;
    border-color: #A78BFA !important;
    color: #5B3FE8 !important;
    -webkit-text-fill-color: #5B3FE8 !important;
}

/* ── Pagination: sit below grid on every page, never overlap ── */
.woocommerce nav.woocommerce-pagination {
    display: block !important;
    width: 100% !important;
    clear: both !important;
    text-align: center !important;
    margin: 0 0 48px !important;
    padding: 0 !important;
    grid-column: 1 / -1 !important;
}
.woocommerce ul.products + nav.woocommerce-pagination,
.woocommerce nav.woocommerce-pagination { margin-top: 8px !important; }

/* ── SALE badge: keep showing cleanly ── */
.woocommerce ul.products li.product .onsale { display: block !important; }

/* ============================================================
   VORTEX — PRODUCT PAGE CSS PATCH
   Covers: dosage tabs, purity line, spec table, FAQ accordion
   ============================================================ */

.vrtx-sp-purity-line {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #5B4D6E !important;
    margin: 0 0 18px !important;
}

.vrtx-dosage-wrap { margin-bottom: 20px; }
.vrtx-dosage-label { font-size: 11px; font-weight: 700; color: #8B7BA8; letter-spacing: 1.2px; margin-bottom: 10px; }
.vrtx-dosage-tabs { display: flex; gap: 8px; flex-wrap: wrap; }
.vrtx-dosage-tab {
    padding: 10px 20px;
    border: 1.5px solid #ECE4FA;
    border-radius: 10px;
    background: #fff;
    font-size: 14px;
    font-weight: 700;
    color: #5B4D6E;
    cursor: pointer;
    transition: border-color .15s, background .15s, color .15s;
    font-family: Inter, sans-serif;
    letter-spacing: 0.3px;
    outline: none !important;
    -webkit-tap-highlight-color: transparent !important;
}
.vrtx-dosage-tab:hover { border-color: #C4B5FD; background: #FAF7FF; }
.vrtx-dosage-tab:focus,
.vrtx-dosage-tab:active { outline: none !important; box-shadow: none !important; }
.vrtx-dosage-tab.is-active { background: #0F0824; border-color: #0F0824; color: #fff; }

.vrtx-below-product { width: 100% !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; box-sizing: border-box !important; }

.vrtx-chem-block {
    display: grid;
    grid-template-columns: 1fr 1.6fr;
    gap: 64px;
    align-items: start;
    padding: 72px 80px 56px;
    border-top: 1px solid #ECE4FA;
    max-width: 100%;
    box-sizing: border-box;
}
@media (max-width: 1024px) { .vrtx-chem-block { padding: 56px 40px 40px; gap: 40px; } }
@media (max-width: 860px) { .vrtx-chem-block { grid-template-columns: 1fr; gap: 24px; padding: 40px 24px 32px; } }
.vrtx-chem-eyebrow { font-size: 11px !important; font-weight: 700 !important; color: #7C5CFA !important; letter-spacing: 2px !important; text-transform: uppercase !important; margin: 0 0 14px !important; }
.vrtx-chem-title { font-size: clamp(22px, 3vw, 30px) !important; font-weight: 800 !important; color: #0F0824 !important; letter-spacing: -0.6px !important; line-height: 1.2 !important; margin: 0 0 14px !important; }
.vrtx-chem-sub { font-size: 14px !important; color: #5B4D6E !important; line-height: 1.65 !important; margin: 0 !important; }

body.single-product .vrtx-below-product { grid-column: 1 / -1 !important; width: 100% !important; max-width: 100% !important; }

.vrtx-spec-table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid #ECE4FA; border-radius: 16px; overflow: hidden; }
.vrtx-spec-table tr { border-bottom: 1px solid #ECE4FA; }
.vrtx-spec-table tr:last-child { border-bottom: none; }
.vrtx-spec-table th { padding: 14px 20px; font-size: 11px; font-weight: 700; color: #8B7BA8; text-transform: uppercase; letter-spacing: 0.8px; background: #FAF7FF; text-align: left; width: 36%; vertical-align: top; border-right: 1px solid #ECE4FA; }
.vrtx-spec-table td { padding: 14px 20px; font-size: 13.5px; color: #2D2147; font-weight: 500; line-height: 1.5; word-break: break-word; }

.vrtx-faq-block {
    display: grid;
    grid-template-columns: 1fr 1.6fr;
    gap: 64px;
    align-items: start;
    padding: 56px 80px 80px;
    border-top: 1px solid #ECE4FA;
    max-width: 100%;
    box-sizing: border-box;
}
@media (max-width: 1024px) { .vrtx-faq-block { padding: 40px 40px 56px; gap: 40px; } }
@media (max-width: 860px) { .vrtx-faq-block { grid-template-columns: 1fr; gap: 24px; padding: 32px 24px 48px; } }
.vrtx-faq-item { border-bottom: 1px solid #ECE4FA; }
.vrtx-faq-q {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 0;
    background: transparent !important;
    border: none;
    cursor: pointer;
    text-align: left;
    font-size: 14.5px;
    font-weight: 600;
    color: #0F0824;
    font-family: Inter, sans-serif;
    transition: color .15s;
    outline: none !important;
    -webkit-tap-highlight-color: transparent !important;
    box-shadow: none !important;
}
.vrtx-faq-q:hover { color: #7C5CFA; }
.vrtx-faq-q:focus,
.vrtx-faq-q:active,
.vrtx-faq-q:focus-visible { background: transparent !important; outline: none !important; box-shadow: none !important; }
.vrtx-faq-icon { flex-shrink: 0; color: #8B7BA8; transition: transform .25s ease; }
.vrtx-faq-item.is-open .vrtx-faq-icon { transform: rotate(180deg); color: #7C5CFA; }
.vrtx-faq-a { overflow: hidden; transition: max-height .3s ease; }
.vrtx-faq-a p { padding: 0 0 18px; font-size: 14px !important; color: #5B4D6E !important; line-height: 1.7 !important; margin: 0 !important; }

/* ── RELATED PRODUCTS ── */
body.single-product .related.products,
body.single-product div.product .related.products,
html body.single-product .related.products {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    width: 100% !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 48px 24px 80px !important;
    border-top: 1px solid #ECE4FA !important;
    float: none !important;
    clear: both !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}
body.single-product .related.products > h2 { font-size: clamp(20px, 2.5vw, 28px) !important; font-weight: 800 !important; color: #0F0824 !important; letter-spacing: -0.4px !important; margin: 0 0 24px !important; }
body.single-product .related.products ul.products { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 14px !important; margin: 0 !important; padding: 0 !important; width: 100% !important; }
@media (min-width: 640px) { body.single-product .related.products ul.products { grid-template-columns: repeat(3, 1fr) !important; } }
@media (min-width: 900px) { body.single-product .related.products ul.products { grid-template-columns: repeat(5, 1fr) !important; } }
body.single-product .related.products li.product .woocommerce-loop-product__title,
body.single-product .related.products li.product h2.woocommerce-loop-product__title { font-size: 14px !important; margin: 12px 12px 4px !important; line-height: 1.3 !important; }
body.single-product .related.products li.product .vrtx-coa-verified { margin: 0 12px 4px !important; font-size: 11px !important; }
body.single-product .related.products li.product .vrtx-card-stars { margin: 0 12px 6px !important; }
body.single-product .related.products li.product .vrtx-rating-num { font-size: 11px !important; }
body.single-product .related.products li.product .vrtx-rating-count { font-size: 10px !important; }
body.single-product .related.products li.product .vrtx-card-footer-row { margin: 8px 12px 6px !important; }
body.single-product .related.products li.product .vrtx-from-label { font-size: 11px !important; }
body.single-product .related.products li.product .vrtx-from-price { font-size: 14px !important; }
body.single-product .related.products li.product .vrtx-card-atc { width: calc(100% - 24px) !important; margin: 0 12px 12px !important; padding: 9px 10px !important; font-size: 10px !important; }
body.single-product .related.products li.product .vrtx-img-wrap { padding: 16px 12px !important; }
body.single-product .related.products li.product .vrtx-img-wrap img { max-height: 140px !important; }
/* Related products — simplified cards (image, title, ATC only) */
body.single-product .related.products li.product .vrtx-coa-verified,
body.single-product .related.products li.product .vrtx-card-stars,
body.single-product .related.products li.product .vrtx-rating-num,
body.single-product .related.products li.product .vrtx-rating-count,
body.single-product .related.products li.product .vrtx-card-footer-row,
body.single-product .related.products li.product .vrtx-from-label,
body.single-product .related.products li.product .vrtx-from-price,
body.single-product .related.products li.product .vrtx-stars-icons { display: none !important; }
body.single-product .related.products li.product .woocommerce-loop-product__title,
body.single-product .related.products li.product h2.woocommerce-loop-product__title { margin: 12px 12px 10px !important; }
body.single-product .related.products li.product .vrtx-card-atc { margin-top: 0 !important; }

/* Hide default WC account nav that's showing above the SPA */
body.woocommerce-account .woocommerce-MyAccount-navigation { display: none !important; }

/* Soften active tab — underline only, no purple fill */
.vrtx-tab.is-active { color: #7C5CFA !important; border-bottom-color: #7C5CFA !important; background: transparent !important; }

/* Soften quick link hover — no purple background fill */
.vrtx-quick-link:hover { background: #FAF7FF !important; border-color: #C4B5FD !important; transform: translateY(-2px) !important; box-shadow: 0 6px 20px rgba(124,92,250,.10) !important; }

/* Partner quick link hover — slightly lighter */
.vrtx-quick-link--purple:hover { background: linear-gradient(135deg, #8B6DFA 0%, #6B4FF0 100%) !important; border-color: transparent !important; }

/* Stat card hover — remove any fill change */
.vrtx-stat-card:hover { transform: none !important; box-shadow: none !important; }

/* Force hide WC account nav on account page */
body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-navigation ul,
body.woocommerce-account .woocommerce-MyAccount-navigation li,
body.woocommerce-account .woocommerce-MyAccount-navigation a {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    left: -9999px !important;
    pointer-events: none !important;
}
#tab-partner,
#tab-partner #vrtx-aff-root,
#tab-partner #vrtx-aff-dashboard { overflow: visible !important; }
#tab-partner .vrtx-aff-link-card { overflow: visible !important; }

/* ============================================================
   HOMEPAGE — consolidated full-bleed reset (single source of truth)
   Previously this was patched three separate times with different
   selectors (body.home, body.home.ast-plain-container, and
   body.page-id-20425) that mostly duplicated each other. Collapsed
   into one clean block. The old "HERO BOUNCE" block (vx-hero-bounce
   keyframes, .vx-hero-visual, .vx-hero-floats, .vx-float*) has been
   removed entirely — those classes belonged to the old Elementor-
   widget hero and don't exist in the current native-HTML homepage.
   ============================================================ */
body.home,
body.page-id-20425 {
  padding-top: 0 !important;
}

body.home #page,
body.home .site,
body.home #primary,
body.home .content-area,
body.home .entry-content,
body.home article,
body.home .ast-container,
body.page-id-20425 .ast-container,
body.home .site-content,
body.page-id-20425 .site-content,
body.page-id-20425 #content,
body.home .ast-plain-container,
body.page-id-20425 .ast-plain-container {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.home .elementor-section,
body.home .elementor-container,
body.home .elementor-widget-wrap,
body.home .e-con,
body.home .e-con-inner,
body.home .elementor-widget-html,
body.home .elementor-widget-html .elementor-widget-container,
body.page-id-20425 .e-con-full,
body.page-id-20425 .elementor-element {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  left: 0 !important;
}

/* Allow the homepage hero's own overflow (e.g. the vial cluster
   bleeding slightly past its box) instead of getting clipped by
   a parent container. */
body.home .hero,
body.home [class*="hero"] {
  overflow: visible !important;
}
@media (max-width: 599px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 599px) {
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 15px !important;
    margin: 12px 12px 4px !important;
  }
  .woocommerce ul.products li.product .vrtx-coa-verified {
    font-size: 10px !important;
    margin: 0 12px 4px !important;
  }
  .woocommerce ul.products li.product .vrtx-card-stars {
    margin: 0 12px 6px !important;
    flex-wrap: wrap !important;
  }
  .woocommerce ul.products li.product .vrtx-rating-num { font-size: 11px !important; }
  .woocommerce ul.products li.product .vrtx-rating-count { font-size: 10px !important; }
  .woocommerce ul.products li.product .vrtx-card-footer-row {
    margin: 8px 12px 6px !important;
    padding-top: 8px !important;
  }
  .woocommerce ul.products li.product .vrtx-from-label { font-size: 11px !important; }
  .woocommerce ul.products li.product .vrtx-from-price,
  .woocommerce ul.products li.product .vrtx-from-price .woocommerce-Price-amount {
    font-size: 15px !important;
  }
  .woocommerce ul.products li.product .vrtx-card-atc {
    width: calc(100% - 24px) !important;
    margin: 0 12px 12px !important;
    padding: 10px 8px !important;
    font-size: 10.5px !important;
  }
  .woocommerce ul.products li.product .vrtx-img-wrap {
    padding: 16px 12px !important;
  }
  .woocommerce ul.products li.product .vrtx-img-wrap img {
    max-height: 130px !important;
  }
}
@media (max-width: 599px) {
  .woocommerce ul.products li.product .onsale {
    top: 8px !important;
    right: 8px !important;
    padding: 2px 8px !important;
    font-size: 8.5px !important;
    letter-spacing: 0.3px !important;
  }
}
#magic-login-shortcode {
    width: 100%;
    text-align: center;
}
.vrtx-ml-tabs {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 280px !important;
}
#ast-mobile-header .ast-site-header-cart-li a { pointer-events: auto !important; }