








/* =========================================================
   Increment 2 (Structure, zero visual impact)
   - Introduce documented CSS custom properties (NOT USED YET)
   - Safe to remove; does not affect computed styles unless referenced
   ========================================================= */



:root{
  /* Brand / accents */
  --gsr-accent: #5865f2;
  --gsr-accent-2: #a855f7;

  /* Neutrals */
  --gsr-black: #000;
  --gsr-white: #fff;
  --gsr-ink: #0b0b0f;
  --gsr-surface: #141418;

  /* Common alpha borders/shadows */
  --gsr-border-light: rgba(0,0,0,.10);
  --gsr-border-dark: rgba(255,255,255,.10);
  --gsr-shadow-dark: rgba(0,0,0,.45);
  --gsr-shadow-light: rgba(0,0,0,.18);
}

@font-face{font-family:"Inter";src:url("assets/fonts/Inter-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:"Inter";src:url("assets/fonts/Inter-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap;}

/* Perf: allow Chromium-based browsers to skip rendering below-the-fold sections until needed */
@supports (content-visibility:auto){
  .cv-auto{content-visibility:auto;contain-intrinsic-size:1000px}
}

@keyframes shineSweep {
0% {
  background-position: -150% 0;
}

100% {
  background-position: 150% 0;
}

}

@keyframes microPulse {
0%, 84%, 100% {
  transform: scale(1);
  opacity: 1;
}

88% {
  transform: scale(1.015);
}

92% {
  transform: scale(1.01);
}

}

@keyframes ctaUp {
to {
  opacity: 1;
  transform: translateY(0);
}

}

@keyframes recFadeIn {
to {
  opacity: 1;
  transform: translateY(0);
}

}

@keyframes checkPop {
0% {
  transform: scale(.6);
  opacity: 0;
  box-shadow: none;
}

55% {
  transform: scale(1.18);
  opacity: 1;
  box-shadow: 0 0 0 0 rgba(124,92,255,.0), 0 0 18px rgba(124,92,255,.45);
}

80% {
  transform: scale(.98);
  opacity: 1;
  box-shadow: 0 0 0 6px rgba(124,92,255,.08), 0 0 10px rgba(124,92,255,.25);
}

100% {
  transform: scale(1);
  opacity: 1;
  box-shadow: none;
}

}

@keyframes floatUpDown {
0% {
  transform: translateY(0);
}

50% {
  transform: translateY(-4px);
}

100% {
  transform: translateY(0);
}

}

@keyframes starPop {
0% {
  transform: translateY(2px) scale(.9);
  opacity: 0;
}

100% {
  transform: translateY(0) scale(1);
  opacity: 1;
}

}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] a, html[data-theme="light"] a {

  color: #1d4ed8;
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] a:hover, html[data-theme="light"] a:hover {

  color: #1e40af;
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
html[data-theme="dark"],
:root[data-theme="dark"] {

  --bg-main: #070A12;
  --bg-elev: rgba(255,255,255,.06);
  --text-main: rgba(255,255,255,.92);
  --text-muted: rgba(255,255,255,.70);
  --border: rgba(255,255,255,.12);
  --shadow: 0 18px 40px rgba(0,0,0,.45);
  --bg-panel: #161a22;
  --bg-panel-soft: #1c2230;
  --text-secondary: #c9cfdd;
  --accent: #7c5cff;
  --scroll-track: rgba(255,255,255,0.08);
  --scroll-thumb-a: #6c5ce7;
  --scroll-thumb-b: #a29bfe;
  --scroll-thumb-a-hover: #5a4be0;
  --scroll-thumb-b-hover: #8f86ff;
  --lift-shadow: 0 18px 44px rgba(0,0,0,.42);
  --card-shadow: 0 10px 26px rgba(0,0,0,.35);
  --lift-border: rgba(124,92,255,.28);

  /* Token system: component tokens */
  --badge-value-shadow: none;
  --badge-value-border: rgba(16,185,129,.36);
  --badge-popular-shadow: 0 0 0 .18rem rgba(59,130,246,.18);
  --badge-popular-border: rgba(59,130,246,.85);
  /* Buttons */
  --btn-primary-bg: var(--accent);
  --btn-primary-border: var(--accent);
  --btn-primary-text: #ffffff;

  --btn-secondary-border: rgba(255,255,255,.55);
  --btn-secondary-bg: rgba(255,255,255,.06);
  --btn-secondary-text: #f8f9fa;
  --btn-secondary-border-hover: rgba(255,255,255,.75);
  --btn-secondary-bg-hover: rgba(255,255,255,.10);
  --btn-secondary-text-hover: #ffffff;

  --btn-tertiary-border: rgba(255,255,255,.35);
  --btn-tertiary-bg: transparent;
  --btn-tertiary-text: #f8f9fa;
  --btn-tertiary-border-hover: rgba(255,255,255,.55);
  --btn-tertiary-bg-hover: rgba(255,255,255,.06);
  --btn-tertiary-text-hover: #ffffff;

  /* Badges */
  --badge-popular-bg: rgba(59,130,246,.42);
  --badge-popular-text: #fff;
  --badge-value-bg: rgba(16,185,129,.24);
  --badge-value-text: rgba(255,255,255,.92);
  /* Tables */
  --sticky-col-bg: rgba(15,23,42,.92);
  --sticky-col-text: rgba(255,255,255,.94);
  --sticky-col-shadow: 6px 0 14px rgba(0,0,0,.28);

}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .btn-outline-light {

  color: rgba(15,23,42,.88);
  border-color: rgba(15,23,42,.20);
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .btn-hero-secondary {

  border: 1px solid rgba(255,255,255,.55);
  background: rgba(255,255,255,.06);
  color: #f8f9fa;
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .btn-hero-secondary:hover {

  border-color: rgba(255,255,255,.75);
  background: rgba(255,255,255,.10);
  color: #ffffff;
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .btn-hero-secondary {

  border: 1px solid rgba(15,23,42,.22);
  background: rgba(15,23,42,.04);
  color: rgba(15,23,42,.92);
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .btn-hero-secondary:hover {

  border-color: rgba(15,23,42,.32);
  background: rgba(15,23,42,.08);
  color: rgba(15,23,42,.98);
}
/* Components: Buttons */

.btn-hero-tertiary {

  border: 1px solid rgba(255,255,255,.35);
  background: transparent;
  color: #f8f9fa;
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .btn-hero-tertiary:hover {

  border-color: rgba(255,255,255,.55);
  background: rgba(255,255,255,.06);
  color: #ffffff;
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .btn-hero-tertiary {

  border: 1px solid rgba(15,23,42,.18);
  background: rgba(15,23,42,.03);
  color: #0f172a;
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .btn-hero-tertiary:hover {

  border-color: rgba(15,23,42,.28);
  background: rgba(15,23,42,.06);
  color: #0f172a;
}


/* =========================================================
   Theme tokens: Buttons (base rules)
   ========================================================= */
.btn-primary-cta{
  background: var(--btn-primary-bg);
  border-color: var(--btn-primary-border);
  color: var(--btn-primary-text);
}
.btn-primary-cta:hover{ filter: brightness(.96); }

.btn-hero-secondary{
  border: 1px solid var(--btn-secondary-border);
  background: var(--btn-secondary-bg);
  color: var(--btn-secondary-text);
}
.btn-hero-secondary:hover{
  border-color: var(--btn-secondary-border-hover);
  background: var(--btn-secondary-bg-hover);
  color: var(--btn-secondary-text-hover);
}

.btn-hero-tertiary{
  border: 1px solid var(--btn-tertiary-border);
  background: var(--btn-tertiary-bg);
  color: var(--btn-tertiary-text);
}
.btn-hero-tertiary:hover{
  border-color: var(--btn-tertiary-border-hover);
  background: var(--btn-tertiary-bg-hover);
  color: var(--btn-tertiary-text-hover);
}

.btn-hero-secondary--sm {

  line-height: 1.15;
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .btn-outline-light:hover, html[data-theme="light"] .btn-outline-light:hover {

  background: rgba(15,23,42,.06);
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .ring-card, :root[data-theme="light"]
/* --- Components: Home Product Cards (fence) --- */

/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
/* Components: Product Cards (Homepage) */
.ring-card-home, :root[data-theme="light"] .card {

  background: var(--bg-panel);
  color: var(--text-main);
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .ring-card-home .text-secondary, :root[data-theme="light"] .ring-card .text-secondary, body .text-secondary, html[data-theme="light"] .text-secondary, .product-detail .side-card .text-secondary, .product-detail .ring-card .text-secondary, .text-muted, .text-muted-2, .text-secondary {

  color: var(--text-muted);
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
html[data-theme="light"],
:root[data-theme="light"] {

  --card-shadow: 0 12px 26px rgba(15,23,42,.12);
  --bg-panel-soft: #f0f3f8;
  --text-secondary: #334155;
  --accent: #2563eb;
  --bg-main: #f5f7fb;
  --bg-panel: #ffffff;
  --bg-elev: #ffffff;
  --text-main: #0b1220;
  --text-muted: #475569;
  --border: rgba(15,23,42,.10);
  --shadow: 0 14px 34px rgba(15,23,42,.08);
  --lift-shadow: 0 18px 44px rgba(15, 23, 42, 0.18);
  --lift-border: rgba(15,23,42,.14);

  /* Token system: component tokens */
  --badge-value-shadow: none;
  --badge-value-border: rgba(16,185,129,.28);
  --badge-popular-shadow: none;
  --badge-popular-border: rgba(37,99,235,.28);
  /* Buttons */
  --btn-primary-bg: var(--accent);
  --btn-primary-border: var(--accent);
  --btn-primary-text: #ffffff;

  --btn-secondary-border: rgba(15,23,42,.22);
  --btn-secondary-bg: rgba(15,23,42,.04);
  --btn-secondary-text: rgba(15,23,42,.92);
  --btn-secondary-border-hover: rgba(15,23,42,.32);
  --btn-secondary-bg-hover: rgba(15,23,42,.08);
  --btn-secondary-text-hover: rgba(15,23,42,.98);

  --btn-tertiary-border: rgba(15,23,42,.18);
  --btn-tertiary-bg: transparent;
  --btn-tertiary-text: rgba(15,23,42,.92);
  --btn-tertiary-border-hover: rgba(15,23,42,.28);
  --btn-tertiary-bg-hover: rgba(15,23,42,.06);
  --btn-tertiary-text-hover: rgba(15,23,42,.98);

  /* Badges */
  --badge-popular-bg: rgba(37,99,235,.16);
  --badge-popular-text: var(--text-main);
  --badge-value-bg: rgba(16,185,129,.16);
  --badge-value-text: var(--text-main);
  /* Tables */
  --sticky-col-bg: rgba(255,255,255,.98);
  --sticky-col-text: var(--text-main);
  --sticky-col-shadow: 6px 0 14px rgba(15,23,42,.08);

}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .btn-primary-cta {

  background: #2563eb;
  border-color: #2563eb;
  color: #fff;
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .btn-primary-cta:hover {

  filter: brightness(.96);
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .shopnow-tools {

  background: radial-gradient(1200px 220px at 20% 0%, rgba(37,99,235,.28), transparent 60%),
  radial-gradient(900px 200px at 80% 100%, rgba(124,58,237,.22), transparent 55%),
  rgba(255,255,255,.06);
  box-shadow: 0 18px 40px rgba(0,0,0,.35);
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .badge-popular {
  background: var(--badge-popular-bg);
  color: var(--badge-popular-text);
  border: 1px solid var(--badge-popular-border);
  box-shadow: var(--badge-popular-shadow);
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .badge-value {
  background: var(--badge-value-bg);
  color: var(--badge-value-text);
  border: 1px solid var(--badge-value-border);
  box-shadow: var(--badge-value-shadow);
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .faq-accordion .accordion-button::after, :root[data-theme="dark"] .accordion.faq-accordion .accordion-button::after {

  filter: invert(1) brightness(1.2);
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .faq-accordion .accordion-button, :root[data-theme="light"] .accordion.faq-accordion .accordion-button, :root[data-theme="light"] .testimonial-card {

  background: var(--bg-panel);
  border: 1px solid var(--border);
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .faq-accordion .accordion-body, :root[data-theme="light"] .accordion.faq-accordion .accordion-body {

  background: var(--bg-panel);
  border: 1px solid var(--border);
  border-top: 0;
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .faq-accordion .accordion-button, :root[data-theme="dark"] .accordion.faq-accordion .accordion-button {

  color: rgba(255,255,255,.92);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .faq-accordion .accordion-body, :root[data-theme="dark"] .accordion.faq-accordion .accordion-body {

  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
  border-top: 0;
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .faq-accordion .accordion-button, :root[data-theme="dark"] .faq-accordion .accordion-button {

  background: transparent;
  border: 0;
  border-radius: 0;
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .testimonial-card .quote, html[data-theme="light"], html[data-theme="light"] p, html[data-theme="light"] li, html[data-theme="light"] span, html[data-theme="light"] .navbar .nav-link, html[data-theme="light"] .navbar-brand, .navbar .nav-link, .navbar .navbar-brand {

  color: var(--text-main);
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .testimonial-card .stars i, .testimonial-card .stars i, .avg-rating-card .stars i {

  color: #f5c542;
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .btn.btn-primary, html[data-theme="light"] .btn-primary-cta, .btn-primary, .btn-primary-cta, .mobile-buybar .mobile-buybar-title, .mobile-buybar .mobile-buybar-sub, .mobile-buybar .mobile-buybar-meta {

  color: #fff;
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .compare-pill {
  background: rgba(245,158,11,.10);
  border-color: rgba(245,158,11,.22);
}




/* HERO IMAGE THEME SWAP (smooth fade; no display toggles) */
.hero-img--light{opacity:1 !important;}
.hero-img--dark{opacity:0 !important;}
html[data-theme="dark"] .hero-img--light{opacity:0 !important;}
html[data-theme="dark"] .hero-img--dark{opacity:1 !important;}
/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
html[data-theme="light"] .thumb-grid::-webkit-scrollbar-thumb, html[data-theme="light"] .table-wrap::-webkit-scrollbar-thumb {
  background: linear-gradient(90deg, #b8b5ff, #6c5ce7);
}



/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
html[data-theme="light"] .thumb-grid::-webkit-scrollbar-track, html[data-theme="light"] .table-wrap::-webkit-scrollbar-track {
  background: rgba(0,0,0,.06);
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
html[data-theme="dark"] .thumb-grid::-webkit-scrollbar-thumb, html[data-theme="dark"] .table-wrap::-webkit-scrollbar-thumb {
  background: linear-gradient(90deg, #6c5ce7, #a29bfe);
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
html[data-theme="dark"] .thumb-grid::-webkit-scrollbar-track, html[data-theme="dark"] .table-wrap::-webkit-scrollbar-track {
  background: rgba(255,255,255,.08);
}



/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
html[data-theme="light"] .thumb-grid, html[data-theme="light"] .table-wrap {
  scrollbar-color: #6c5ce7 rgba(0,0,0,.08);
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
html[data-theme="dark"] .thumb-grid, html[data-theme="dark"] .table-wrap {
  scrollbar-color: #a29bfe rgba(255,255,255,.08);
}


:root {

  --bg-main: #0f1117;
  --bg-panel: #161a22;
  --bg-panel-soft: #1c2230;
  --border: #2a3142;
  --text-main: #f5f7fa;
  --text-secondary: #c9cfdd;
  --text-muted: #9aa3b2;
  --accent: #7c5cff;
  --scroll-track: rgba(255,255,255,0.08);
  --scroll-thumb-a: #6c5ce7;
  --scroll-thumb-b: #a29bfe;
  --scroll-thumb-a-hover: #5a4be0;
  --scroll-thumb-b-hover: #8f86ff;
  --lift-shadow: 0 18px 44px rgba(0,0,0,.42);
  --card-shadow: 0 10px 26px rgba(0,0,0,.35);
  --lift-border: rgba(124,92,255,.28);
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .navbar .nav-link.active {

  color: #0f172a;
  background: rgba(15,23,42,.06);
  border: 1px solid rgba(15,23,42,.14);
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
html[data-theme="light"], html[data-theme="light"] {

  --scroll-track: rgba(0,0,0,0.10);
  --scroll-thumb-a: #7c5cff;
  --scroll-thumb-b: #00c8aa;
  --scroll-thumb-a-hover: #6a52ff;
  --scroll-thumb-b-hover: #00b79c;
  --faq-answer-bg: rgba(59, 130, 246, 0.08);
  --faq-divider: rgba(15,23,42,0.12);
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .faq-accordion .accordion-item {

  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  overflow: hidden;
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .faq-accordion .accordion-item {

  background: var(--bg-panel);
  border: 1px solid var(--border);
  border-radius: 18px;
  overflow: hidden;
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .faq-accordion .accordion-body {

  background: rgba(59,130,246,.10);
  border: 0;
  border-top: 1px solid rgba(15,23,42,.12);
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .faq-accordion .accordion-body {

  background: rgba(255,255,255,.10);
  border: 0;
  border-top: 1px solid rgba(255,255,255,.12);
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .faq-accordion .accordion-collapse, :root[data-theme="dark"] .faq-accordion .accordion-collapse, :root[data-theme="light"] .faq-accordion .accordion-body, :root[data-theme="dark"] .faq-accordion .accordion-body {

  border-top-left-radius: 0;
  border-top-right-radius: 0;
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] #mobileBuyBar .btn-outline {

  color: rgba(255,255,255,.92);
  border-color: rgba(255,255,255,.28);
  background: rgba(255,255,255,.10);
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] #mobileBuyBar .btn-outline:hover {

  background: rgba(255,255,255,.16);
  border-color: rgba(255,255,255,.45);
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] #mobileBuyBar .btn-outline {

  color: #ffffff;
  border-color: rgba(255,255,255,.45);
  background: rgba(0,0,0,.55);
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] #mobileBuyBar .btn-outline:hover {

  background: rgba(0,0,0,.68);
  border-color: rgba(255,255,255,.65);
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] #mobileBuyBar .btn.btn-buy.btn-outline {

  color: #0b1b24;
  border-color: rgba(255,255,255,.92);
  background: rgba(255,255,255,.78);
  box-shadow: 0 10px 24px rgba(0,0,0,.14);
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] #mobileBuyBar .btn.btn-buy.btn-outline:hover {

  background: rgba(255,255,255,.88);
  border-color: rgba(255,255,255,1);
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] #mobileBuyBar .btn.btn-buy.btn-outline .btn-icon {

  opacity: .85;
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .quiz-option:hover {

  background: rgba(0,0,0,.04);
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .quiz-option:hover, .quiz-option:hover, .ring-image:hover {

  background: #22283a;
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .gsr-modal .modal-header {

  background: linear-gradient(135deg, rgba(59,130,246,.14), rgba(236,72,153,.10), rgba(16,185,129,.10));
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .gsr-modal .modal-header {

  background: linear-gradient(135deg, rgba(59,130,246,.20), rgba(236,72,153,.12), rgba(16,185,129,.10));
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .gsr-modal__close {

  filter: none;
  opacity: .75;
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .gsr-modal__close {

  filter: invert(1) grayscale(1);
  opacity: .85;
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .gsr-modal__action {

  background: linear-gradient(135deg, rgba(59,130,246,.14), rgba(16,185,129,.12));
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .gsr-modal__action {

  background: linear-gradient(135deg, rgba(59,130,246,.22), rgba(16,185,129,.12));
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .gsr-modal.modal .modal-dialog .modal-content {

  background-color: #121212;
  background: #121212;
  color: #f5f5f5;
  border: 1px solid rgba(255,255,255,.10);
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .metrics-help-btn {

  background: linear-gradient(135deg, rgba(59,130,246,.30), rgba(236,72,153,.14));
  color: #f5f5f5;
  border-color: rgba(255,255,255,.14);
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
html[data-theme="dark"] .compare-split::before {
  background: rgba(255,255,255,.22);
}


.page-hero {

  padding: 40px 0 26px;
}

.ring-card-home:hover .ring-image img {

  transform: scale(1.06);
}

.cta-chip {

  display: inline-flex;
  align-items: center;
  margin-left: 10px;
  padding: 2px 10px;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .02em;
  color: rgba(255,255,255,.95);
  background: rgba(0,0,0,.25);
  border: 1px solid rgba(255,255,255,.22);
}

body.mega-open {

  overflow: hidden;
}

body.mega-open::before {

  content: "";
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.55);
  z-index: 1070;
}

.form-control-dark::placeholder {

  color: rgba(255,255,255,.55);
}

.quiz-locked-pill {

  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.9);
  font-size: .9rem;
}

.spec-list {

  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  overflow: hidden;
  background: rgba(0,0,0,.15);
}

.spec-row {

  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  background: rgba(255,255,255,.03);
  border-top: 1px solid rgba(255,255,255,.08);
}

.spec-row:first-child {

  border-top: 0;
}

.spec-k {

  color: rgba(255,255,255,.75);
}

.spec-v {

  color: rgba(255,255,255,.92);
  font-weight: 650;
}

.
/* --- Components: Product Side Cards (fence) --- */
product-side-card .psc-section {

  padding: 16px 0;
}

.product-side-card .psc-section + .psc-section {

  border-top: 1px solid rgba(255,255,255,.08);
}

.product-side-card .psc-buy {

  border-top: none;
  padding-top: 0;
}

.product-side-card .psc-secondary {

  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

#compareHelpers .helper-quiz, body.deep-scroll #compareHelpers .helper-sizing {

  order: 1;
}

#compareHelpers .helper-sizing, body.deep-scroll #compareHelpers .helper-quiz {

  order: 2;
}

.footer-links a:hover {

  color: rgba(255,255,255,.95);
  text-decoration: underline;
}

*, *::before, *::after {

  box-sizing: border-box;
}

html[data-theme="light"] .mega-link {

  background: rgba(15,23,42,.03);
  border-color: rgba(15,23,42,.12);
  color: rgba(15,23,42,.90);
}

html[data-theme="light"] .mega-link:hover {

  background: rgba(15,23,42,.06);
  border-color: rgba(15,23,42,.16);
  color: rgba(15,23,42,.98);
}

html[data-theme="light"] .site-footer {

  background: var(--bg-main);
  border-top-color: rgba(15,23,42,.12);
}

html[data-theme="light"] * {

  color: #0f172a;
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
.dropdown-menu, html[data-theme="dark"] .gsr-modal.modal, :root[data-theme="dark"] .hero .lead strong, :root[data-theme="dark"] .mega-menu .mega-link, :root[data-theme="dark"] .mega-menu a {

  color: rgba(255,255,255,.92);
}

html[data-theme="light"] {

  --bg-main: #f7f8fb;
  --bg-elev: #ffffff;
  --text-main: #0b1220;
  --text-muted: #475569;
  --border: rgba(15,23,42,.12);
  background: var(--bg-main);
  color: var(--text-main);
}

.ring-card, .review-card, .testimonial-card {

  opacity: 1;
  transform: none;
  visibility: visible;
}

#shopNowDetails, .nav-details__details, .review-model-pills .btn {

  position: relative;
}

#shopNowDetails > summary {

  list-style: none;
  cursor: pointer;
  user-select: none;
}

#shopNowDetails > summary::-webkit-details-marker, .btn-sm .cta-chip, .mobile-buybar-sub.is-empty {

  display: none;
}

#shopNowDetails[open] .bi-chevron-down {

  transform: rotate(180deg);
}

#shopNowDetails[open] .mega-menu, .hero-cta-animate.is-in .hero-cta-stack__btn, .reveal.is-in .buy-row .btn-buy, .ring-card-home .buy-row .btn-buy, .ring-card-home .reveal.is-in .buy-row .btn-buy, .reveal.is-in {

  opacity: 1;
  transform: translateY(0);
}

.ring-image img {

  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-detail .side-card, .product-detail .ring-card, .review-card {

  border-radius: 18px;
}

.zoom-wrap {

  overflow: hidden;
  border-radius: 18px;
}

.zoom-wrap img {

  transition: transform .22s ease;
  transform-origin: center;
}

.shopnow-tools {

  padding: 14px;
  border-radius: 18px;
  background: radial-gradient(1200px 220px at 20% 0%, rgba(37,99,235,.22), transparent 60%),
  radial-gradient(900px 200px at 80% 100%, rgba(124,58,237,.18), transparent 55%),
  rgba(37,99,235,.06);
  border: 1px solid rgba(37,99,235,.30);
  box-shadow: 0 18px 40px rgba(0,0,0,.18);
}

.shopnow-tools__label {

  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-weight: 900;
  opacity: .85;
  margin-bottom: 10px;
}

html {

  height: 100%;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

.compare-pill {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .2rem .55rem;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 800;
  background: rgba(245,158,11,.12);
  border: 1px solid rgba(245,158,11,.26);
}


.compare-link:hover {
  text-decoration: underline;
}


.product-side-card .rating-row {

  margin-top: .25rem;
  margin-bottom: .55rem;
  justify-content: flex-start;
}

.ring-card-home .ring-image img {

  transition: transform .35s ease;
  max-width: 100%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 20px;
}

.ring-card-home .ring-image + *, .ring-card--clickable .ring-card__interactive {

  position: relative;
  z-index: 2;
}

.product-media {

  border: 1px solid var(--border);
  background: var(--bg-panel);
  border-radius: 22px;
  position: relative;
}

body {

  padding-top: 0;
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--bg-main);
  color: var(--text-main);
  padding-bottom: 0;
}

.thumb-grid img, .nav-details__details[open] .nav-details__menu, #shopNowDetails[open] .nav-details__menu {

  display: block;
}

.thumb-tile img {

  transition: transform .22s ease;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.product-side-card {

  border-radius: 26px;
  padding: 22px;
  background: linear-gradient(180deg, var(--bg-panel) 0%, var(--bg-panel-soft) 100%);
  box-shadow: 0 18px 40px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.04);
  display: flex;
  flex-direction: column;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  margin-top: 0;
}

.row.product-detail {

  align-items: flex-start;
}

.product-hero-img {

  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 18px;
}

.product-detail .buy-row, .hero-cta-stack {

  margin-top: 14px;
}

.hp-field {

  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

html, body {

  height: 100%;
  --faq-answer-bg: rgba(255,255,255,0.10);
  --faq-divider: rgba(255,255,255,0.10);
}

#mobileBuyBar #mbDetails > * {

  position: relative;
  z-index: 1;
}

.quiz-option {

  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: var(--bg-panel-soft);
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  user-select: none;
  color: var(--text-main);
  -webkit-tap-highlight-color: transparent;
}

.quiz-option:active, .ring-card-home .btn-buy:hover .btn-icon, .ring-card-home .btn-buy:hover .btn-platform, .ring-card-home .btn-buy:active .btn-icon, .ring-card-home .btn-buy:active .btn-platform, .ring-card-home .btn-buy:hover .btn-platform-icon, .ring-card-home .btn-buy:hover svg, .ring-card-home .btn-buy:hover img, .product-detail .btn-buy:hover .btn-icon, .product-detail .btn-buy:hover .btn-platform, .product-detail .btn-buy:hover .btn-platform-icon, .product-detail .btn-buy:hover svg, .product-detail .btn-buy:hover img, .btn-buy:hover .btn-platform-icon, .btn-buy:hover .btn-icon {

  transform: none;
}

.compare-metrics {
  justify-content: center;
  flex-wrap: wrap;
  line-height: 1.1;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
}


.metrics-help-btn {

  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 999px;
  border: 1px solid var(--table-border);
  background: linear-gradient(135deg, rgba(59,130,246,.28), rgba(16,185,129,.18));
  color: var(--text-main);
  font-weight: 900;
  font-size: .85rem;
  line-height: 1;
  padding: 0;
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(0,0,0,.12);
}

.metrics-help-btn:hover, .metrics-help-btn:focus {

  transform: translateY(-1px);
  filter: brightness(1.05);
  outline: none;
}

.metrics-help-btn:active, .ring-card--clickable:active, .hero-cta-micro--down:hover::after, .hero-cta-micro--down:focus-visible::after {

  transform: translateY(0);
}

.stars--nowrap {

  display: inline-flex;
  gap: .18rem;
  white-space: nowrap;
  flex-wrap: nowrap;
}

.stars--nowrap i {

  line-height: 1;
}

html[data-theme="light"] .legal-card a.help-me-choose:hover {

  border-color: rgba(234,179,8,.90);
  background: linear-gradient(180deg, rgba(234,179,8,.26), rgba(234,179,8,.14));
  box-shadow: 0 12px 22px rgba(15,23,42,.14);
}

.quick-tips-cta, .legal-card .quick-tips-cta {

  text-align: center;
  margin-top: 12px;
}

.quick-tips-cta .help-me-choose, .legal-card .quick-tips-cta .help-me-choose {

  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.compare-split {
  position: relative;
  margin-top: 24px;
  padding-top: 22px;
}


.compare-split::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  border-radius: 999px;
  background: rgba(0,0,0,.18);
}


body .product-detail .product-side-card:active {

  top: -4px;
}

body.page-home .ring-card-home {

  opacity: 1;
  transition: top .18s ease, box-shadow .18s ease, border-color .18s ease, opacity .18s ease;
}

.ring-card-home > *, .product-side-card > * {

  position: relative;
  z-index: 3;
}

body .ring-card-home, body .product-side-card {

  position: relative;
  top: 0;
  transform: none;
  transition: top .18s ease, box-shadow .18s ease, border-color .18s ease;
  will-change: top, box-shadow;
}

body .ring-card-home {

  --lift-y: -6px;
}

body .product-side-card {

  --lift-y: -10px;
}



/* Products page: keep lift but avoid clipping under the fixed nav */
body.page-products .product-detail,
body[data-page="products"] .product-detail {
  /* Give BOTH columns a little top room so hover-lift doesn't collide with the header */
  padding-top: 8px;
}

body.page-products .product-side-card,
body[data-page="products"] .product-side-card {
  --lift-y: -6px;
}
.ring-card-home p.text-secondary {

  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
/* Components: Pills */

.benefit-pill {

  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .18rem .55rem;
  border-radius: 999px;
  border: 1px solid var(--table-border);
  background: var(--chip-bg);
  color: inherit;
  font-size: .78rem;
  line-height: 1.2;
  white-space: nowrap;
}

.benefit-pill .bi {

  font-size: .95em;
  opacity: .9;
}

.benefit-pill--no {

  opacity: .62;
  filter: saturate(.85);
}

.skip-link {

  position: absolute;
  left: 12px;
  top: 8px;
  padding: 10px 12px;
  border-radius: 12px;
  background: var(--bg-panel);
  color: var(--text-main);
  border: 1px solid rgba(255,255,255,.18);
  transform: translateY(-140%);
  transition: transform .2s ease;
  z-index: 2000;
}

.skip-link:focus {

  transform: translateY(0);
  outline: 3px solid rgba(124,92,255,.55);
  outline-offset: 2px;
}

.section-alt {

  background: rgba(255,255,255,.02);
  border-top: 1px solid rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.trust-badges{ text-align:center; }


.accordion-button:not(.collapsed) {

  background: rgba(255,255,255,.05);
}

.navbar, .navbar .container, .navbar-collapse, .navbar-nav, body.page-products .product-media, body.page-products .product-detail, body.page-products .product-detail > [class*="col"], body.page-products main, body.page-products .section, body.page-products .product-side-card, body.page-products .product-detail .side-card, body.page-products .product-detail .ring-card {

  overflow: visible;
}

.accordion .accordion-button:not(.collapsed) {

  border-radius: 14px 14px 0 0;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom: 0;
}

.section {

  padding: 60px 0;
  content-visibility: auto;
  contain-intrinsic-size: 900px;
}

.glass-nav {

  background: rgba(22,26,34,.88);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255,255,255,.10);
  z-index: 1090;
}

.nav-under-banner {

  top: 40px;
}

.navbar .nav-link {

  color: rgba(255,255,255,.78);
}

.navbar .nav-link.active, .navbar .nav-link:hover {

  color: rgba(255,255,255,.95);
}

.navbar .dropdown-menu.mega-menu {

  left: 50%;
  right: auto;
  transform: translateX(-50%);
  max-width: calc(100vw - 24px);
  margin-top: 10px;
}

html[data-theme="light"] .navbar, html[data-theme="light"] .mega-menu, html[data-theme="light"] .accordion-item, html[data-theme="light"] .card, html[data-theme="light"] .dropdown-menu {

  background: rgba(255,255,255,.96);
  border-color: rgba(15,23,42,.12);
}

html[data-theme="light"] .navbar .nav-link:hover {

  color: #111827;
}

html[data-theme="light"] .navbar, html[data-theme="light"] .card, html[data-theme="light"] .accordion-item, html[data-theme="light"] .dropdown-menu {

  background: #ffffff;
  border-color: #e5e7eb;
}

html[data-theme="light"] .navbar-toggler {

  border-color: rgba(15,23,42,.25);
}

html[data-theme="light"] .navbar-toggler-icon {

  filter: invert(1) grayscale(1);
}

html[data-theme="light"] .navbar {

  background: rgba(255,255,255,.94);
  border-bottom-color: rgba(15,23,42,.10);
}

html[data-theme="light"] .navbar .nav-link, html[data-theme="light"] .navbar .navbar-brand {

  color: rgba(15,23,42,.92);
}

.nav-details__details[open]
.nav-details__menu.mega-menu {

  box-shadow: var(--shadow);
}

.free-banner {

  height: 40px;
  background: rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.10);
  z-index: 1100;
  display: flex;
  align-items: center;
  backdrop-filter: blur(10px);
  pointer-events: none;
}

.navbar.glass-nav {

  z-index: 1205;
}

.nav-details__menu {

  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  min-width: min(640px, 92vw);
  border-radius: 16px;
  padding: 0;
  overflow: hidden;
  z-index: 1215;
  display: none;
}

.nav-details__details[open] .bi-chevron-down {

  transform: rotate(180deg);
  transition: transform .18s ease;
}

.navbar {

  background: color-mix(in srgb, var(--bg-main) 70%, transparent);
  border-bottom: 1px solid var(--border);
}

.navbar .nav-link:hover {

  color: rgba(255,255,255,.98);
  opacity: .92;
}

#shopNowDetails .nav-details__menu {

  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  min-width: min(720px, 94vw);
  max-width: 94vw;
  z-index: 2000;
  border-radius: 16px;
  overflow: hidden;
  display: none;
}

.navbar .nav-link.active {

  color: #fff;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  padding: .35rem .65rem;
}

.gsr-modal .modal-header {

  border-bottom: 1px solid var(--border);
  padding: 1rem 1rem .85rem 1rem;
}

.hero {

  padding: 46px 0 28px;
}

.hero .hero-kicker {

  margin: 0 0 14px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--bs-body-color);
  opacity: .9;
}

.hero .hero-kicker i {

  font-size: 1rem;
  line-height: 1;
}

.hero .hero-kicker span {

  letter-spacing: .2px;
}

.hero h1, .hero .lead {

  margin: 0 0 14px;
}

.hero-cta-stack {

  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  margin-top: 18px;
  margin-left: auto;
  margin-right: auto;
}

.hero-cta-stack__btn {

  width:100%;
  max-width:360px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-size: 1.5rem;
  line-height: 1.2;
}

.hero-cta-stack .btn-primary.hero-cta-stack__btn {

  padding-top: .95rem;
  padding-bottom: .95rem;
  position: relative;
  overflow: hidden;
  will-change: transform;
}

.hero-cta-stack .btn-primary.hero-cta-stack__btn:hover, .hero-cta-stack .btn-primary.hero-cta-stack__btn:focus-visible {

  box-shadow:
  0 10px 28px rgba(37,99,235,.32),
  0 0 0 1px rgba(255,255,255,.10) inset;
  transform: translateY(-1px);
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .hero-cta-stack .btn-primary.hero-cta-stack__btn:hover, :root[data-theme="dark"] .hero-cta-stack .btn-primary.hero-cta-stack__btn:focus-visible {

  box-shadow:
  0 12px 34px rgba(37,99,235,.42),
  0 0 0 1px rgba(255,255,255,.12) inset;
}

.hero-cta-stack .btn-primary.hero-cta-stack__btn::after {

  content:"";
  position:absolute;
  top:0;
  left:-140%;
  width:70%;
  height:100%;
  background: linear-gradient(
  120deg,
  rgba(255,255,255,0) 0%,
  rgba(255,255,255,.38) 50%,
  rgba(255,255,255,0) 100%
  );
  transform: skewX(-20deg);
  transition: left .65s ease;
  pointer-events:none;
}

.hero-cta-stack .btn-primary.hero-cta-stack__btn:hover::after, .hero-cta-stack .btn-primary.hero-cta-stack__btn:focus-visible::after {

  left: 160%;
}

.hero-cta-stack .btn-hero-secondary.hero-cta-stack__btn {

  padding-top: .75rem;
  padding-bottom: .75rem;
}

.hero-cta-stack__btn--secondary {

  font-weight:600;
}

.hero-cta-animate .hero-cta-stack__btn {

  opacity: 0;
  transform: translateY(10px);
  transition: opacity .35s ease, transform .35s ease;
  will-change: opacity, transform;
}

.hero-cta-animate.is-in .hero-cta-stack__btn:nth-child(1) {

  transition-delay: 0ms;
}

.hero-cta-animate.is-in .hero-cta-stack__btn:nth-child(2) {

  transition-delay: 90ms;
}

.hero-cta-animate.is-in .hero-cta-stack__btn:nth-child(3) {

  transition-delay: 180ms;
}

.hero-card {

  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.10);
  background: var(--bg-panel);
  padding: 16px;
  box-shadow: 0 16px 40px rgba(0,0,0,.35);
}

.hero-image-placeholder {

  border-radius: 18px;
  border: 1px dashed rgba(255,255,255,.18);
  min-height: 320px;
  display: grid;
  place-items: center;
  position: relative;
  overflow: hidden;
  background: var(--bg-panel-soft);
}

.hero-image-text {

  position: relative;
  color: rgba(255,255,255,.75);
}

.hero-img-wrap {

  position: relative;
  width: 100%;
  height: 360px;
  border-radius: 24px;
  overflow: hidden;
}

.hero-img {

  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: 1;
  transition: opacity .50s ease;
}

.btn-buy {

  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 0;
  color: rgba(255,255,255,.95);
  font-weight: 900;
  letter-spacing: .01em;
  border-radius: 999px;
  padding: 10px 14px;
  /*box-shadow: 0 10px 24px rgba(0,0,0,.30);*/
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
  will-change: transform, box-shadow;
}

.btn-buy .btn-icon {

  transition: transform .18s ease;
  will-change: transform;
}

.btn-platform {

  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  flex: 0 0 22px;
}

.btn-buy::before {

  content:"";
  position:absolute;
  inset:0;
  border-radius: inherit;
  background: linear-gradient(120deg,
  rgba(255,255,255,0) 0%,
  rgba(255,255,255,.28) 45%,
  rgba(255,255,255,0) 70%
  );
  background-size: 240% 240%;
  background-position: -150% 0;
  opacity:0;
  pointer-events:none;
}

.btn-buy:hover {

  transform: translateY(-6px);
  /*box-shadow: 0 14px 34px rgba(0,0,0,.40);*/
  filter: saturate(1.05);
}

.btn-buy:hover::before {

  opacity: 1;
  animation: shineSweep .7s ease;
}

.btn-buy:active {

  transform: translateY(-6px);
  box-shadow: 0 10px 22px rgba(0,0,0,.35);
}

.btn-buy:focus-visible {

  outline: none;
  box-shadow: 0 0 0 3px rgba(255,255,255,.25), 0 14px 34px rgba(0,0,0,.40);
}

.btn-amazon.btn-buy {

  background: linear-gradient(90deg, #ff9900, #ffcc66);
}

.btn-ebay.btn-buy {

  background: linear-gradient(90deg, #0070ff, #38b6ff);
}

.btn-buy .btn-platform-icon {

  font-size: 1rem;
  opacity: .95;
  transition: transform .18s ease, opacity .18s ease, filter .18s ease;
  will-change: transform;
}

.btn-tiktok.btn-buy .btn-platform-icon {

  color: #00f2ea;
  filter: drop-shadow(0 0 10px rgba(0,242,234,.18));
}

.btn-amazon.btn-buy .btn-platform-icon {

  color: #ffffff;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.45));
}

.btn-ebay.btn-buy .btn-platform-icon {

  color: #ffffff;
  filter: drop-shadow(0 0 10px rgba(56,182,255,.18));
}

.btn-buy:hover .btn-platform-icon {

  transform: translateY(-16px);
  opacity: 1;
}

.btn-tiktok.btn-buy {

  background: linear-gradient(90deg, #00f2ea, #ff0050);
  padding: 12px 16px;
  font-size: 1.02rem;
}

.mobile-buybar .btn-buy {

  padding: 8px 10px;
  font-size: .85rem;
}

.reveal .buy-row .btn-buy {

  opacity: 0;
  transform: translateY(16px);
  transition: opacity .45s ease, transform .45s ease;
}

.reveal.is-in .buy-row .btn-buy:nth-child(1) {

  transition-delay: .04s;
}

.reveal.is-in .buy-row .btn-buy:nth-child(2) {

  transition-delay: .10s;
}

.reveal.is-in .buy-row .btn-buy:nth-child(3) {

  transition-delay: .16s;
}

.product-side-card .btn-outline-light, .reviews-filters .form-select, .reviews-filters .btn, .review-model-pills .btn {

  border-radius: 999px;
}

.product-side-card .buy-row .btn-buy {

  opacity: 0;
  transform: translateY(16px);
}

.product-side-card.cta-animate .buy-row .btn-buy {

  animation: ctaUp .55s ease forwards;
}

.product-side-card.cta-animate .buy-row .btn-buy:nth-child(1) {

  animation-delay: .06s;
}

.product-side-card.cta-animate .buy-row .btn-buy:nth-child(2) {

  animation-delay: .12s;
}

.product-side-card.cta-animate .buy-row .btn-buy:nth-child(3) {

  animation-delay: .18s;
}

.btn-helper {

  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.btn-helper i.bi-arrow-right-short {

  margin-left: 2px;
}

html[data-theme="light"] .btn-outline-light {

  color: var(--text-main);
  border-color: rgba(15,23,42,.22);
  background: rgba(15,23,42,.02);
}

html[data-theme="light"] .btn-outline-secondary {

  border-color: #cbd5e1;
  color: #0f172a;
}

.ring-card-home .btn-buy:hover, .ring-card-home .btn-buy:active, .product-detail .btn-buy:hover {

  transform: translateY(-4px);
}

.ring-card-home .btn-buy .btn-icon, .ring-card-home .btn-buy .btn-platform, .ring-card-home .btn-buy svg, .ring-card-home .btn-buy img {

  transition: none;
  transform: none;
}

.ring-card-home .btn-buy:hover .btn-icon, .ring-card-home .btn-buy:hover .btn-platform, .ring-card-home .btn-buy:hover svg, .ring-card-home .btn-buy:hover img {

  animation: none;
  transform: none;
}

.ring-card-home .btn-buy, .product-detail .btn-buy {

  transition: transform .28s ease, box-shadow .28s ease, filter .28s ease;
}

.mobile-buybar-actions .btn {

  width: 100%;
}

.btn-buy .btn-platform-icon, .btn-buy .btn-icon {

  font-size: 1.05em;
  line-height: 1;
}

.ring-card, .side-card, .form-card, .legal-card, .review-card, .testimonial-card {

  border-radius: 18px;
  border: 1px solid var(--border);
  background: var(--bg-panel);
  padding: 16px;
  box-shadow: 0 14px 34px rgba(0,0,0,.25);
}

.ring-card-home {

  border-radius: 24px;
  padding: 18px;
}

.testimonial-card {

  background: radial-gradient(circle at 20% 20%, rgba(124,92,255,.12), rgba(255,255,255,.03) 40%, rgba(255,255,255,.02));
}

.testimonial-card .quote {

  font-size: 1.05rem;
  line-height: 1.4;
  color: rgba(255,255,255,.94);
}

.card, .accordion-item, .dropdown-menu, .mega-menu {

  background: var(--bg-elev);
  border: 1px solid var(--border);
}

.card {

  display: block;
  opacity: 1;
  transform: none;
}

.card, .accordion-item, .mega-menu, .dropdown-menu {

  color: var(--text-main);
  background: var(--bg-panel);
  border-color: rgba(255,255,255,.10);
}

.card, .ring-card, .review-card, .testimonial-card {

  background: var(--bg-panel);
  color: var(--text-main);
  border: 1px solid var(--border);
}

.card, .accordion-item, .mega-menu, .dropdown-menu, .ring-card, .review-card, .testimonial-card {

  background: var(--bg-panel);
  color: var(--text-main);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
}

.ring-card-home .ring-image, .ring-card-home .ring-image a {

  display: block;
  width: 100%;
}

.ring-card-home .rating-link {

  justify-content: center;
  width: 100%;
}

.ring-card-home .rating-row {

  justify-content: center;
  text-align: center;
  margin-top: 10px;
}

.ring-card-home .ring-image {

  aspect-ratio: auto;
  width: 100%;
  height: 100%;
  border-radius: 20px;
  margin-bottom: 12px;
  display: block;
  position: relative;
  overflow: visible;
}

.ring-card-home:hover .badge-overlap {

  transform: translateY(-2px);
  filter: saturate(1.05);
}

.ring-card-home .badge-overlap, .product-media .badge-overlap {

  position: absolute;
  /*top: 0;*/
  right: 12px;
  /*transform: translateY(-50%);*/
  z-index: 20;
  pointer-events: auto;
  box-shadow: 0 6px 18px rgba(0,0,0,.22);
}

.product-media.cardish {

  padding-top: 0;
}

.product-media.cardish.p-3 {

  padding-top: 10px;
}

.product-media.cardish .carousel, .review-summary .rating-row {

  margin-top: 0;
}

.product-media.cardish .carousel, .product-media.cardish .carousel-inner, .product-media.cardish .carousel-item {

  aspect-ratio: 1 / 1;
}

.ring-card--clickable .ring-card__overlay {

  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
  color: inherit;
  text-decoration: none;
}

.ring-card--clickable {

  position: relative;
  transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease;
}

.ring-item > .ring-card-home, .ring-item .ring-card-home {

  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.ring-card-home .buy-row {

  margin-top: auto;
}

.card-benefits {

  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: .55rem 0 .75rem;
}

.card-benefits .benefit-pill {

  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .18rem .55rem;
  border-radius: 999px;
  border: 1px solid var(--table-border);
  background: var(--chip-bg);
  white-space: nowrap;
}

.ring-card-home .card-benefits .benefit-pill, .product-side-card .card-benefits .benefit-pill {

  padding: 4px 8px;
  font-size: 0.80rem;
  gap: .30rem;
  line-height: 1.15;
}

body .ring-card-home .card-benefits, body .product-side-card .card-benefits {

  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0 14px;
}

body .ring-card-home .card-benefits .benefit-pill, body .product-side-card .card-benefits .benefit-pill {

  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 8px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.08);
  line-height: 1;
  font-size: 0.85rem;
  white-space: nowrap;
}

body .ring-card-home .card-benefits .benefit-pill--no, body .product-side-card .card-benefits .benefit-pill--no {

  opacity: 0.68;
}

body .ring-card-home .card-benefits .benefit-pill .bi, body .product-side-card .card-benefits .benefit-pill .bi {

  font-size: 0.9em;
  opacity: 0.95;
}

html[data-theme="light"] .ring-card-home .card-benefits .benefit-pill, html[data-theme="light"] .product-side-card .card-benefits .benefit-pill {

  border: 3px solid rgba(0,0,0,0.16);
}

.thumb-grid::-webkit-scrollbar, .table-wrap::-webkit-scrollbar {
  height: 8px;
}


.thumb-grid::-webkit-scrollbar-track, .table-wrap::-webkit-scrollbar-track {
  background: var(--scroll-track);
  border-radius: 10px;
}


.thumb-grid::-webkit-scrollbar-thumb, .table-wrap::-webkit-scrollbar-thumb {
  background: linear-gradient(90deg, var(--scroll-thumb-a), var(--scroll-thumb-b));
  border-radius: 10px;
}


.thumb-grid::-webkit-scrollbar-thumb:hover, .table-wrap::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(90deg, var(--scroll-thumb-a-hover), var(--scroll-thumb-b-hover));
}


.thumb-grid, .table-wrap {
  scrollbar-width: thin;
  scrollbar-color: var(--scroll-thumb-b) var(--scroll-track);
}


.legal-card .table-wrap table, .table-compare-products td:not(.sticky-col) > * {
  margin-left: auto;
  margin-right: auto;
}


.table-wrap {
  background: var(--bg-panel);
  overflow: auto;
  border-radius: 18px;
  border: 1px solid var(--border);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
  max-width: 100%;
  padding-top: 0;
  overflow-y: visible;
  position: relative;
  isolation: isolate;
}


.faq-search {

  min-width: 280px;
  max-width: 420px;
}

.accordion-item {

  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
}

.accordion-button {

  background: transparent;
  color: rgba(255,255,255,.92);
}

.accordion-button:focus {

  box-shadow: 0 0 0 .2rem rgba(255,255,255,.12);
}

.faq-accordion .accordion-button::after, .accordion.faq-accordion .accordion-button::after, .accordion-button::after {

  filter: none;
  opacity: 1;
}

.faq-accordion .accordion-item, .accordion.faq-accordion .accordion-item {

  background: transparent;
  border: 0;
}

.faq-accordion .accordion-button, .accordion.faq-accordion .accordion-button {

  border-radius: 16px;
}

.faq-accordion .accordion-collapse, .accordion.faq-accordion .accordion-collapse {

  border-radius: 16px;
  overflow: hidden;
}

.faq-accordion .accordion-item + .accordion-item {

  margin-top: 12px;
}

.faq-item::before {

  content: none;
}

.accordion-button::before {

  margin-right: 10px;
  content: none;
}

.accordion .accordion-button::after {

  background-color: transparent;
  border-radius: 999px;
}

.accordion .accordion-item {

  border: 0;
  border-radius: 14px;
  overflow: hidden;
  margin-bottom: 12px;
  background: transparent;
}

.accordion .accordion-button {

  background: var(--bg-panel-soft);
  color: var(--text-main);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  margin-bottom: 0;
}

.accordion .accordion-body {

  border: 1px solid rgba(255,255,255,.08);
  border-radius: 0 0 14px 14px;
  background: var(--faq-answer-bg);
  border-top: 1px solid var(--faq-divider);
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.accordion .accordion-collapse {

  border-radius: 0 0 14px 14px;
  overflow: hidden;
  background: var(--faq-answer-bg);
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.form-control-dark, .form-control-dark:focus {

  background: var(--bg-panel-soft);
  border: 1px solid rgba(255,255,255,.10);
  color: var(--text-main);
}

.banner-dot {

  color: rgba(255,255,255,.35);
}

.brand-dot {

  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 12px rgba(124,92,255,.35);
  display: inline-block;
}

.pill {

  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.88);
  font-size: .95rem;
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .pill, html[data-theme="light"] .pill, html[data-theme="light"] .pill {

  border: 1px solid rgba(15, 23, 42, .18);
  background: rgba(15, 23, 42, .03);
  color: rgba(15, 23, 42, .82);
}

.ring-outline {

  width: 160px;
  height: 160px;
  border: 10px solid rgba(255,255,255,.12);
  border-radius: 50%;
  position: absolute;
  filter: drop-shadow(0 0 18px rgba(124,92,255,.18));
}

.ring-image {

  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: var(--bg-panel-soft);
  height: 240px;
  display: grid;
  place-items: center;
  text-decoration: none;
  position: relative;
  overflow: visible;
}
/* Components: Badges */

.badge-overlap {

  position: absolute;
  top: clamp(0px, 0.8vw, 8px);
  right: 12px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.22);
  background: linear-gradient(90deg, rgba(255,0,80,.88), rgba(124,92,255,.88));
  color: rgba(255,255,255,.96);
  font-weight: 900;
  font-size: .85rem;
  letter-spacing: .01em;
  box-shadow: 0 10px 22px rgba(0,0,0,.35), 0 0 22px rgba(255,0,80,.22);
  backdrop-filter: blur(10px);
  /*transform: translateY(clamp(-20px, -2.2vw, -12px));*/
}

.view-details-btn {

  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 14px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.88);
  text-decoration: none;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.view-details-btn:hover {

  transform: translateY(-6px);
  background: rgba(255,255,255,.09);
  border-color: rgba(255,255,255,.22);
  color: rgba(255,255,255,.96);
}

.buy-row {

  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.best-seller {

  animation: microPulse 4.2s ease-in-out infinite;
}

.best-seller:hover {

  animation: none;
}

.mega-menu {

  width: min(920px, calc(100vw - 24px));
  margin-inline: auto;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(22,26,34,.96);
  backdrop-filter: blur(16px);
  opacity: 0;
  transform: translateY(-16px);
  transition: opacity .18s ease, transform .18s ease;
  will-change: opacity, transform;
  z-index: 1081;
}

.mega-menu.show {

  opacity: 1;
  transform: translateY(-16px);
}

.mega-title {

  font-weight: 700;
  color: rgba(255,255,255,.9);
  margin-bottom: 8px;
}

.mega-link {

  display: block;
  padding: 11px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.07);
  color: rgba(255,255,255,.90);
  text-decoration: none;
  margin-bottom: 8px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease;
}

.mega-link:hover {

  transform: translateX(3px);
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.28);
  box-shadow: 0 10px 22px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08);
  filter: saturate(1.05);
  color: rgba(255,255,255,.98);
}

.sticky-col {
  position: sticky;
  left: 0;
  background: var(--bg-panel);
  z-index: 3;
}


.mobile-buybar.is-visible {

  transform: translateY(0);
  box-shadow: 0 -10px 30px rgba(0,0,0,.18);
}

.mobile-buybar-inner {

  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
}

.mobile-buybar-title {

  font-weight: 800;
}

.mobile-buybar-sub {

  color: rgba(255,255,255,.6);
  font-size: .85rem;
}

.quiz-result ul {

  padding-left: 1.1rem;
}

.quiz-result li {

  margin-bottom: .35rem;
}

.stars i {
  color: #f5c542;
  font-size: .95rem;
}

.avg-rating-card .avg-num {
  color: #f5c542;
  font-size: .95rem;
}

html[data-theme="light"] .avg-rating-card .avg-num {
  color: #1f2937;
}

.rec-badge {

  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 9px 12px;
  border-radius: 999px;
  font-weight: 900;
  letter-spacing: .01em;
  color: rgba(255,255,255,.95);
  background: rgba(124,92,255,.16);
  border: 1px solid rgba(124,92,255,.35);
}

.rec-fade {

  opacity: 0;
  transform: translateY(16px);
  animation: recFadeIn .45s ease forwards;
  animation-delay: .12s;
}

.rec-check {

  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 0 0 0 rgba(124,92,255,.0);
}

.rec-check i {

  font-size: 1rem;
  transform: scale(.6);
  opacity: 0;
  animation: checkPop .45s ease forwards;
  animation-delay: .32s;
}

.footer-links a {

  color: rgba(255,255,255,.72);
  text-decoration: none;
  font-size: .95rem;
}

.footer-links {

  align-items: center;
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.site-main {

  flex: 1 1 auto;
  padding-top: 104px;
}

.site-footer {

  border-top: 1px solid rgba(255,255,255,.08);
  background: var(--bg-main);
  position: static;
  padding: 10px 0;
  margin-top: auto;
}

/* Ensure footer content clears the fixed mobile buybar / sticky CTA */
@media (max-width: 991.98px) {
  .site-footer {
    padding-bottom: 130px !important;
  }
}

.bi-chevron-down {

  transition: transform .18s ease;
}

.reveal-on-scroll {

  opacity: 1;
  transform: none;
}

.js .reveal-on-scroll {

  opacity: 0;
  transform: translateY(-16px);
}

.js .reveal-on-scroll.is-visible {

  opacity: 1;
  transform: none;
  transition: opacity .6s ease, transform .6s ease;
}

.rating-row .stars i {

  margin-right: 2px;
}

.rating-count {

  opacity: .9;
}

.ring-image {

  aspect-ratio: 1/1;
  display: block;
}

.theme-toggle-btn {

  border-radius: 999px;
  box-shadow: 0 10px 24px rgba(0,0,0,.25);
}

.rating-row {

  display: flex;
  align-items: center;
  gap: .5rem;
  margin-top: .6rem;
}

.rating-link {

  display: flex;
  align-items: center;
  gap: .5rem;
  text-decoration: none;
}

.rating-link:hover {

  opacity: .95;
}

.anchor-offset {

  scroll-margin-top: 110px;
}

.badge-popular, .badge-value {
  background: var(--badge-value-bg);
  color: var(--badge-value-text);
  border: 1px solid var(--badge-value-border);
  box-shadow: var(--badge-value-shadow);
}

.badge-popular {
  background: var(--badge-popular-bg);
  color: var(--badge-popular-text);
  border: 1px solid var(--badge-popular-border);
  box-shadow: var(--badge-popular-shadow);
}

.badge-value {
  background: var(--badge-value-bg);
  color: var(--badge-value-text);
  border: 1px solid var(--badge-value-border);
  box-shadow: var(--badge-value-shadow);
}

.review-summary {

  justify-content: flex-start;
  margin-top: .25rem;
  margin-bottom: 1.25rem;
  padding-bottom: .25rem;
}

.mobile-buybar-actions {

  flex-wrap: wrap;
  justify-content: flex-end;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

/* =====================================================
   Mobile buybar: make actions truly full-width, remove hover lift,
   and disable icon "rise" while keeping glow/shine.
   (v549)
   ===================================================== */
@media (max-width: 768px){
  .mobile-buybar {

  position: fixed;
  left: 0;
  right: 0;
  padding: 10px 0;
  background: rgba(22,26,34,.94);
  border-top: 1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(16px);
  transition: transform .22s ease;
  z-index: 1095;
  color: #fff;
  inset-inline: 0;
  margin-bottom: 0;
  transform: none;
  bottom: 0;
  padding-bottom: calc(10px + env(safe-area-inset-bottom));
}
  /* Container wrapper can still constrain; force full width. */
  #mobileBuyBar > .container,
  #mobileBuyBar > .container-fluid{
    max-width:none !important;
    width:100% !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }

/* Layout (known-good):
   Left = meta (spans 2 rows)
   Right = 2x2 grid: Details+TikTok / Amazon+eBay
*/
.mobile-buybar-inner{
  display:grid !important;
  grid-template-columns: auto 1fr !important;
  grid-template-areas: "meta actions" !important;
  align-items: center !important;
  gap: 12px !important;
}

.mobile-buybar-meta{
  grid-area: meta !important;
  display:flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 2px !important;
  min-width: 0 !important;
}

.mobile-buybar-actions{
  grid-area: actions !important;
  display:grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  align-items: stretch !important;
  justify-items: stretch !important;
}

.mobile-buybar-actions .btn{
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

/* Prevent per-letter wraps in tiny widths */
.mobile-buybar .btn-label{
  white-space: nowrap !important;
}

  /* Remove button lift/translate in the buybar only. */
  .mobile-buybar .btn.btn-buy:hover,
  .mobile-buybar .btn.btn-buy:active,
  .mobile-buybar .btn.btn-buy:focus{
    transform:none !important;
  }

  /* Kill any explicit transforms on the Details button. */
  .mobile-buybar #mbDetails:hover,
  .mobile-buybar #mbDetails:active,
  .mobile-buybar #mbDetails:focus{
    transform:none !important;
  }

  /* Remove icon rise/translate in the buybar only (keep glow/shadow). */
  .mobile-buybar .btn-buy:hover .btn-platform-icon,
  .mobile-buybar .btn-buy:hover .btn-platform,
  .mobile-buybar .btn-buy:hover i,
  .mobile-buybar .btn-buy:hover .btn-icon,
  .mobile-buybar .btn-buy:active .btn-platform-icon,
  .mobile-buybar .btn-buy:active .btn-platform,
  .mobile-buybar .btn-buy:active .btn-icon,
  .mobile-buybar .btn-buy:focus .btn-platform-icon,
  .mobile-buybar .btn-buy:focus .btn-platform,
  .mobile-buybar .btn-buy:focus .btn-icon,
  .mobile-buybar .btn-buy .btn-platform-icon,
  .mobile-buybar .btn-buy .btn-platform,
  .mobile-buybar .btn-buy .btn-icon{
    transform:none !important;
    transition:none !important;
  }
}

/* Products sticky CTA: disable icon/button rise inside the sticky bar (mobile). */
@media (max-width: 992px){
  body.has-mobile-sticky-cta .mobile-sticky-cta .btn-buy:hover,
  body.has-mobile-sticky-cta .mobile-sticky-cta .btn-buy:active,
  body.has-mobile-sticky-cta .mobile-sticky-cta .btn-buy:focus{
    transform:none !important;
  }
  body.has-mobile-sticky-cta .mobile-sticky-cta .btn-buy:hover .btn-platform-icon,
  body.has-mobile-sticky-cta .mobile-sticky-cta .btn-buy:hover .btn-platform,
  body.has-mobile-sticky-cta .mobile-sticky-cta .btn-buy:hover i,
  body.has-mobile-sticky-cta .mobile-sticky-cta .btn-buy:hover .btn-icon,
  body.has-mobile-sticky-cta .mobile-sticky-cta .btn-buy:active .btn-platform-icon,
  body.has-mobile-sticky-cta .mobile-sticky-cta .btn-buy:active .btn-platform,
  body.has-mobile-sticky-cta .mobile-sticky-cta .btn-buy:active .btn-icon,
  body.has-mobile-sticky-cta .mobile-sticky-cta .btn-buy:focus .btn-platform-icon,
  body.has-mobile-sticky-cta .mobile-sticky-cta .btn-buy:focus .btn-platform,
  body.has-mobile-sticky-cta .mobile-sticky-cta .btn-buy:focus .btn-icon,
  body.has-mobile-sticky-cta .mobile-sticky-cta .btn-buy .btn-platform-icon,
  body.has-mobile-sticky-cta .mobile-sticky-cta .btn-buy .btn-platform,
  body.has-mobile-sticky-cta .mobile-sticky-cta .btn-buy .btn-icon{
    transform:none !important;
    transition:none !important;
  }
}

/* Ensure footer isn't hidden behind sticky bars (JS also sets --gsr-sticky-space). */
@media (max-width: 768px){
  body.has-mobile-buybar,
  body.has-mobile-sticky-cta{
    padding-bottom: calc(var(--gsr-sticky-space, 0px) + env(safe-area-inset-bottom, 0px) + 16px) !important;
  }
}


/* =====================================================
   v560: Comparison headers (Us/Others + What you get) and
   product comparison header layout (badge + name stacking).
   ===================================================== */
#compare .table-compare-us thead th .compare-head{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex-direction:row !important;
  font-size: 1.5rem !important;
  line-height:1.05 !important;
  padding-top:0 !important;
}

#compare .table-compare-us thead th .feature-title{
  font-size: 1.5rem !important;
  font-weight: 800 !important;
  line-height:1.05 !important;
  display:inline-block;
}

#compare .table-compare-us thead th .compare-head,
#compare .table-compare-us thead th .compare-head *{
  word-break: normal !important;
  overflow-wrap: normal !important;
}

#compare .table-compare-products thead th .compare-head{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-direction:column !important;
  gap:2px !important;
  padding-top:6px !important;
}

#compare .table-compare-products thead th .compare-link{
  display:block !important;
  text-align:center !important;
  line-height:1.1 !important;
  margin:0 !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

#compare .table-compare-products thead th .compare-bestfor{
  font-size: .78rem !important;
  line-height:1.1 !important;
  opacity:.82;
  max-width: 10.5ch;
}

#compare .table-compare-products thead th .compare-badge{
  margin:0 auto !important;
}

#compare .table-compare-products thead th:not(.sticky-col) .compare-badge{
  position:static !important;
  transform:none !important;
}

#compare .table-compare-products thead th:not(.sticky-col){
  min-width: 110px;
}

#compare .table-compare-us thead th .feature-title{
  font-size: 2rem !important;
  font-weight: 800 !important;
  line-height:1.05 !important;
  display:inline-block;
}

/* Desktop: Bigger fonts and vertical centering for "How we Compare" table */
@media (min-width: 768px) {
  #compare .table-compare-us thead th {
    vertical-align: middle !important;
  }
  
  #compare .table-compare-us thead th .feature-title {
    font-size: 2.25rem !important;
  }
  
  #compare .table-compare-us thead th .compare-head {
    font-size: 2rem !important;
  }
  
  /* Desktop: Ensure proper comparison table layout */
  .table-compare-products thead th .compare-head,
  .table-compare-products thead th:not(.sticky-col) .compare-head {
    min-height: 90px !important;
    padding-top: 10px !important;
  }
  
  .table-compare-products thead th .compare-link {
    font-size: 1.1rem !important;
    font-weight: 700 !important;
  }
  
  .table-compare-products thead th {
    min-width: 120px;
  }
  
  /* Ensure sticky column doesn't overlap content */
  .table-compare-products th.sticky-col,
  .table-compare th.sticky-col {
    z-index: 15 !important;
  }
}

/* Product comparison header: keep everything centered and tight,
   badges above product names using flexbox order. */
.table-compare-products thead th .compare-head,
.table-compare-products thead th:not(.sticky-col) .compare-head{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:4px !important;
  padding-top:8px !important;
  padding-bottom:8px !important;
  min-height:80px !important;
}
.table-compare-products thead th .compare-badge,
.table-compare-products thead th:not(.sticky-col) .compare-badge{
  position:static !important;
  left:auto !important;
  top:auto !important;
  transform:none !important;
  margin:0 !important;
  order: 1 !important;
}
.table-compare-products thead th .compare-link{
  display:block !important;
  text-align:center !important;
  line-height:1.2 !important;
  margin:0 !important;
  order: 2 !important;
  font-size: 1.05rem !important;
}
.table-compare-products thead th .compare-bestfor{
  text-align:center !important;
  margin:0 !important;
  order: 3 !important;
}
.table-compare-products thead th.sticky-col .feature-title{
  font-size: 2rem !important;
  font-weight: 800 !important;
  line-height:1.05 !important;
}
.table-compare-products thead th{
  text-align:center !important;
  vertical-align:top !important;
  position:relative !important;
}

/* =====================================================
   v560: Homepage buybar button layout – enforce 3 buy buttons in
   a single row under meta/details (undo older 2x2 grid).
   ===================================================== */
@media (max-width: 768px){
  }

/* Absolute no-rise enforcement for sticky bars (touch devices can keep :hover states) */
@media (max-width: 992px){
  .mobile-buybar .btn-buy,
  .mobile-buybar .btn-buy:hover,
  .mobile-buybar .btn-buy:active,
  .mobile-buybar .btn-buy:focus,
  .mobile-sticky-cta .btn-buy,
  .mobile-sticky-cta .btn-buy:hover,
  .mobile-sticky-cta .btn-buy:active,
  .mobile-sticky-cta .btn-buy:focus{
    transform:none !important;
    transition: box-shadow .18s ease, filter .18s ease, border-color .18s ease, background .18s ease !important;
  }

  .mobile-buybar .btn-buy .btn-platform-icon,
  .mobile-buybar .btn-buy .btn-platform,
  .mobile-buybar .btn-buy .btn-icon,
  .mobile-buybar .btn-buy i,
  .mobile-buybar .btn-buy:hover .btn-platform-icon,
  .mobile-buybar .btn-buy:hover .btn-platform,
  .mobile-buybar .btn-buy:hover .btn-icon,
  .mobile-buybar .btn-buy:hover i,
  .mobile-sticky-cta .btn-buy .btn-platform-icon,
  .mobile-sticky-cta .btn-buy .btn-platform,
  .mobile-sticky-cta .btn-buy .btn-icon,
  .mobile-sticky-cta .btn-buy i,
  .mobile-sticky-cta .btn-buy:hover .btn-platform-icon,
  .mobile-sticky-cta .btn-buy:hover .btn-platform,
  .mobile-sticky-cta .btn-buy:hover .btn-icon,
  .mobile-sticky-cta .btn-buy:hover i{
    transform:none !important;
    transition:none !important;
  }
}

/* =====================================================
   Homepage "How We Compare" header alignment (v549)
   - Left align Us/Others
   - True vertical centering by removing padding-top offsets
   ===================================================== */
#compare .table-compare thead th:not(.sticky-col){
  vertical-align: middle !important;
  text-align:left !important;
}
#compare .table-compare thead th .compare-head{
  display:flex !important;
  flex-direction:row !important;
  /* Vertically center the content */
  align-items:center !important;
  justify-content:flex-start !important;
  padding-top:6px !important;
  line-height:1.1 !important;
  min-height:34px !important;
}
#compare .table-compare thead th{
  /* Reduce header height overall */
  padding-top:6px !important;
  padding-bottom:6px !important;
}
#compare .table-compare thead th .compare-badge{ left: 12px !important; transform:none !important; }

.mobile-buybar {

  position: fixed;
  left: 0;
  right: 0;
  padding: 10px 0;
  background: rgba(22,26,34,.94);
  border-top: 1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(16px);
  transition: transform .22s ease;
  z-index: 1095;
  color: #fff;
  inset-inline: 0;
  margin-bottom: 0;
  transform: none;
  bottom: 0;
  padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px));
}

#mbDetails {

  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.22);
  color: #fff;
}

#mbDetails:hover {

  /* Mobile sticky bars can get "stuck" in :hover; avoid lift in the buybar. */
  transform: none !important;
  background: linear-gradient(90deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
  filter: none;
}

.thumb-grid .thumb-tile {

  flex: 0 0 auto;
  scroll-snap-align: start;
}

.thumb-grid {

  grid-template-columns: repeat(4, minmax(0, 1fr));
  scroll-snap-type: x mandatory;
  display: flex;
  gap: 10px;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 8px;
  max-width: 100%;
}

.thumb-tile {

  border: 1px solid var(--border);
  background: var(--bg-panel);
  padding: 0;
  flex: 0 0 auto;
  width: 72px;
  height: 72px;
  border-radius: 12px;
  overflow: hidden;
}

.product-media .badge-popular, .product-media .badge-value {
  background: var(--badge-value-bg);
  color: var(--badge-value-text);
  border: 1px solid var(--badge-value-border);
  box-shadow: var(--badge-value-shadow);
}

#mobileBuyBar #mbDetails {

  position: relative;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(56,189,248,.16);
  background: linear-gradient(135deg, rgba(56,189,248,.95), rgba(167,139,250,.95));
  border: 0;
  color: rgba(255,255,255,.97);
}

#mobileBuyBar #mbDetails::before, #mobileBuyBar #mbDetails::after {

  display: none;
  content: none;
}

#mobileBuyBar #mbDetails:hover {

  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(167,139,250,.20);
  filter: brightness(1.04) saturate(1.05);
}

.metrics-list {

  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .5rem .75rem;
}

.metric-item {

  display: flex;
  gap: .5rem;
  align-items: center;
}

.metric-emoji {

  width: 1.4rem;
  text-align: center;
}
/* Components: Modals */

.modal-content {

  border-radius: 1rem;
}

.gsr-modal .modal-content {

  background: var(--bg-elev);
  color: var(--text-main);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  overflow: hidden;
}

.gsr-modal .modal-title {

  font-weight: 900;
  letter-spacing: .2px;
}

.gsr-modal .modal-body {

  padding: 1rem;
}

.gsr-modal__close {

  border-radius: 12px;
  padding: .55rem;
  box-shadow: none;
  opacity: .9;
}

.gsr-modal .modal-footer {

  border-top: 1px solid var(--border);
  padding: .85rem 1rem 1rem 1rem;
  background: transparent;
}

.gsr-modal__action {

  border: 1px solid var(--border);
  color: var(--text-main);
  font-weight: 800;
}

.gsr-modal__action:hover {

  transform: translateY(-1px);
}

.review-author {

  font-size: 1rem;
}

.review-stars-row .stars, .btn i, .btn svg {

  flex: 0 0 auto;
}

.review-meta-inline {

  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-size: 1.2em;
  font-weight: 500;
  margin-top: .5rem;
}

.review-model {

  color: var(--muted);
  padding: .18rem .55rem;
  border-radius: 999px;
  border: 1px solid var(--table-border);
  background: transparent;
  font-weight: 600;
  font-size: .88rem;
}

.review-dot {

  margin: 0 .25rem;
  opacity: .6;
}

.review-color, .review-size {

  font-weight: 400;
}

.review-card:hover {

  transform: translateY(-4px);
  box-shadow: 0 18px 45px rgba(0,0,0,.55);
}

.review-card::before {

  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(135deg, rgba(245,197,66,.6), rgba(255,255,255,.1));
  -webkit-mask: linear-gradient(#000 0 0) content-box,
  linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}

.review-badge {

  display: inline-flex;
  align-items: center;
  margin-top: .35rem;
  padding: .18rem .6rem;
  border-radius: 999px;
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .02em;
  background: rgba(245,197,66,.18);
  border: 1px solid rgba(245,197,66,.45);
}

.reviews-filters {

  border: 1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0));
}

.review-card::after {

  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, rgba(245,197,66,.75), rgba(255,255,255,.08));
  opacity: .9;
}

.review-meta-inline .review-model, .review-meta-inline .review-color, .review-meta-inline .review-size {

  font-size: 1em;
}

.review-meta-inline .review-model {

  color: inherit;
  font-weight: 600;
}

.review-card.is-hiding {

  opacity: 0;
  transform: translateY(6px) scale(.985);
  pointer-events: none;
}

.review-card.is-showing {

  opacity: 0;
  transform: translateY(6px) scale(.985);
}

.review-card {

  display: flex;
  flex-direction: column;
  height: 100%;
  position: relative;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0));
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
  overflow: hidden;
  will-change: transform, opacity;
  transition: transform .22s ease, opacity .22s ease, box-shadow .25s ease;
}

.reviews-average__stars i {

  color: #f5c542;
  margin-right: .08rem;
}

.reviews-average__count {

  margin-left: auto;
  font-weight: 700;
}

.reviews-counts {

  line-height: 1.35;
}

.reveal {

  transition: opacity .55s ease, transform .55s ease;
  opacity: 1;
  transform: none;
}

.avg-rating-card {

  border: 1px solid rgba(245,197,66,.35);
  background: linear-gradient(90deg, rgba(245,197,66,.10), rgba(245,197,66,.02));
  border-radius: 14px;
}

.review-meta-inline .dot {

  opacity: .55;
  padding: 0 .35rem;
}

.ring-item {

  display: flex;
}

.trust-badges__list {

  font-size: 1.7em; line-height: 1.2; gap: 1.5rem;
}

.trust-badges__item i {

  font-size: 1.05em; opacity: .95;
}

.trust-badges__list {

  font-size: 1.7em; line-height: 1.2;
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
html[data-theme="dark"] .table.table-compare, html[data-theme="dark"] .table.table-compare, html[data-theme="dark"] .table.table-compare, html[data-theme="dark"] .table.table-compare > :not(caption) > * > *, html[data-theme="dark"] .table.table-compare > :not(caption) > * > *, html[data-theme="dark"] .table.table-compare > :not(caption) > * > *, :root[data-theme="dark"] .table.table-compare, :root[data-theme="dark"] .table.table-compare > :not(caption) > * > *, :root[data-theme="dark"] .table-compare th, :root[data-theme="dark"] .table-compare td {
  background-color: rgba(15,23,42,.55) !important;
  color: rgba(255,255,255,.92) !important;
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
html[data-theme="dark"] .table.table-compare thead th, html[data-theme="dark"] .table.table-compare thead th, html[data-theme="dark"] .table.table-compare thead th, :root[data-theme="dark"] .table-compare thead th {
  background-color: rgba(255,255,255,.06) !important;
  color: rgba(255,255,255,.92) !important;
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
html[data-theme="dark"] .table-wrap, html[data-theme="dark"] .table-wrap, html[data-theme="dark"] .table-wrap {
  background-color: rgba(15,23,42,.35) !important;
  border-color: rgba(255,255,255,.12) !important;
}


.ring-card-home, .ring-card--clickable {

  position: relative;
  isolation: isolate;
}

body.page-products .product-media .badge-overlap {

  top: 14px;
  right: 16px;
  transform: none;
}

.ring-card-home, .product-side-card {

  overflow: visible;
  position: relative;
}

.ring-card-home:hover, .product-side-card:hover {

  transform: translateY(-2px);
}

html[data-theme="light"] .ring-card-home {

  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.14);
  border-color: rgba(15, 23, 42, 0.10);
}

html[data-theme="dark"] .ring-card-home {

  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.55);
  border-color: rgba(255, 255, 255, 0.10);
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .product-side-card {

  border: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 12px 28px rgba(255,193,7,.14);
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .product-side-card {

  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 14px 34px rgba(0,0,0,.55);
}

.product-side-card, .btn-hero-secondary, .btn-hero-tertiary, .btn-outline, .btn-outline-light, .btn-outline-secondary, .btn-shopnow-sizing, .btn-helper {

  box-shadow: none;
}
/* Components: Comparison Table */

.table-compare .sticky-col {
  background: var(--bg-panel) !important;
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .table-compare thead .sticky-col, :root[data-theme="dark"] .table-compare tbody .sticky-col {
  background-color: var(--sticky-col-bg) !important;
  color: var(--sticky-col-text) !important;
  box-shadow: var(--sticky-col-shadow);

}



/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .table-compare thead .sticky-col, :root[data-theme="light"] .table-compare tbody .sticky-col {
  background-color: var(--sticky-col-bg) !important;
  color: var(--sticky-col-text) !important;
  box-shadow: var(--sticky-col-shadow);

}


.table-compare thead th .compare-head {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 4px !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  min-height: 80px !important;
  overflow: visible !important;
}
.table-compare thead th{ overflow: visible !important; vertical-align:top !important; }
.table-compare thead th:not(.sticky-col){ text-align:center !important; vertical-align: top !important; }
.table-compare thead th .compare-link{ display:block !important; text-align:center !important; line-height:1.2 !important; order: 2 !important; }
.table-compare thead th .compare-badge{ position:static !important; left:auto !important; top:auto !important; transform:none !important; margin:0 !important; order: 1 !important; }
.table-compare thead th .compare-badge--spacer{ visibility:hidden !important; }
.table-compare thead th .compare-bestfor{ order: 3 !important; }



.table-compare thead th .compare-link {
  display: inline-block;
}


.table-compare thead th .
/* --- Components: Compare Badges / Table Header (fence) --- */
compare-badge {
  position: absolute !important;
  top: -12px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  white-space: nowrap;
  z-index: 6;
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .table.table-compare, :root[data-theme="dark"] .table.table-compare-products {
  background-color: transparent !important;
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .table.table-compare th, :root[data-theme="dark"] .table.table-compare td, :root[data-theme="dark"] .table.table-compare-products th, :root[data-theme="dark"] .table.table-compare-products td {
  background-color: rgba(15,23,42,.72) !important;
  color: rgba(255,255,255,.92) !important;
  border-color: rgba(255,255,255,.14) !important;
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .table.table-compare thead th, :root[data-theme="dark"] .table.table-compare-products thead th {
  background-color: rgba(15,23,42,.88) !important;
}



/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .table.table-compare th, :root[data-theme="light"] .table.table-compare td, :root[data-theme="light"] .table.table-compare-products th, :root[data-theme="light"] .table.table-compare-products td {
  background-color: rgba(255,255,255,.98) !important;
  color: var(--text-main) !important;
  border-color: rgba(15,23,42,.10) !important;
}


.table-compare .sticky-col, .table-compare-products .sticky-col, #compare .table-compare .sticky-col, .compare-split .table-compare .sticky-col {
  background-clip: padding-box;
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .table-compare .sticky-col, :root[data-theme="dark"] .table-compare-products .sticky-col {
  background-color: rgba(15,23,42,.92) !important;
  box-shadow: 12px 0 18px rgba(0,0,0,.25);
}



/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .table-compare .sticky-col, :root[data-theme="light"] .table-compare-products .sticky-col {
  background-color: rgba(255,255,255,.995) !important;
  box-shadow: 12px 0 18px rgba(2,6,23,.08);
}


.table-compare thead th, .table-compare-products thead th {
  overflow: visible !important;
}


.table-compare thead th .compare-head {
  position: relative !important;
  display: inline-block;
  padding-top: 22px !important;
  line-height: 1.15;
}


.table-compare thead th .compare-badge {
  position: absolute !important;
  top: -16px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 10 !important;
  white-space: nowrap;
  pointer-events: none;
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
html[data-theme="dark"] .table.table-compare, html[data-theme="dark"] .table-compare-products {
  background-color: rgba(15,23,42,.35) !important;
  color: rgba(255,255,255,.92) !important;
  --bs-table-bg: rgba(15,23,42,.55) !important;
  --bs-table-color: rgba(255,255,255,.92) !important;
  --bs-table-border-color: rgba(255,255,255,.12) !important;
  --bs-table-striped-bg: rgba(255,255,255,.035) !important;
  --bs-table-striped-color: rgba(255,255,255,.92) !important;
  --bs-table-hover-bg: rgba(124,58,237,.10) !important;
  --bs-table-hover-color: rgba(255,255,255,.95) !important;
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
html[data-theme="dark"] .table.table-compare > :not(caption) > * > *, html[data-theme="dark"] .table-compare-products > :not(caption) > * > * {
  background-color: var(--bs-table-bg) !important;
  color: var(--bs-table-color) !important;
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
html[data-theme="dark"] .table-compare thead th, html[data-theme="dark"] .table-compare-products thead th {
  background-color: rgba(255,255,255,.06) !important;
  color: rgba(255,255,255,.92) !important;
  border-bottom-color: rgba(255,255,255,.14) !important;
}


.table-compare .sticky-col, .table-compare-products .sticky-col {
  position: sticky;
  left: 0;
  z-index: 5;
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
html[data-theme="dark"] .table-compare .sticky-col, html[data-theme="dark"] .table-compare-products .sticky-col {
  background-color: rgba(15,23,42,.92) !important;
  box-shadow: 10px 0 16px rgba(0,0,0,.35);
}



/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
html[data-theme="light"] .table-compare .sticky-col, html[data-theme="light"] .table-compare-products .sticky-col {
  background-color: rgba(255,255,255,.985) !important;
  box-shadow: 10px 0 16px rgba(2,6,23,.08);
}


.table-compare thead th .compare-head, .table-compare-products thead th .compare-head {
  position: relative !important;
  display: inline-block !important;
  padding-top: 26px !important;
  line-height: 1.1;
}


.table-compare thead th .compare-badge, .table-compare-products thead th .compare-badge {
  position: absolute !important;
  top: -14px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 20 !important;
  white-space: nowrap !important;
  pointer-events: none;
}


.table-compare th.sticky-col, .table-compare td.sticky-col, .table-compare-products th.sticky-col, .table-compare-products td.sticky-col {
  background-color: var(--bg-panel) !important;
  background-image: none !important;
  background: var(--bg-panel) !important;
  z-index: 10 !important;
  position: sticky !important;
  left: 0 !important;
}


.table-compare .sticky-col, .table-compare-products .sticky-col {
  background-color: var(--bg-panel) !important;
  background-image: none !important;
}


.table-compare th.sticky-col, .table-compare td.sticky-col, .table-compare-products th.sticky-col, .table-compare-products td.sticky-col {
  box-shadow: 8px 0 12px -8px rgba(0,0,0,.35);
}



/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .table-compare th.sticky-col, :root[data-theme="light"] .table-compare td.sticky-col, :root[data-theme="light"] .table-compare-products th.sticky-col, :root[data-theme="light"] .table-compare-products td.sticky-col {
  box-shadow: 10px 0 18px -16px rgba(15,23,42,.22);
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .table-compare th.sticky-col, :root[data-theme="dark"] .table-compare td.sticky-col, :root[data-theme="dark"] .table-compare-products th.sticky-col, :root[data-theme="dark"] .table-compare-products td.sticky-col {
  background-color: var(--bg-panel) !important;
  background-image: none !important;
  background: var(--bg-panel) !important;
  opacity: 1 !important;
  isolation: isolate;
  z-index: 20;
}



/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .table-compare th.sticky-col, :root[data-theme="light"] .table-compare td.sticky-col, :root[data-theme="light"] .table-compare-products th.sticky-col, :root[data-theme="light"] .table-compare-products td.sticky-col {
  background-color: #ffffff !important;
  background-image: none !important;
  background: #ffffff !important;
  opacity: 1 !important;
  isolation: isolate;
  z-index: 20;
}


.table-compare, .table-compare-products {
  border-collapse: separate !important;
  border-spacing: 0 !important;
}


.table-compare th.sticky-col .feature-title, .table-compare-products th.sticky-col .feature-title {
  background: transparent !important;
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .table-compare th.sticky-col, :root[data-theme="dark"] .table-compare td.sticky-col, :root[data-theme="dark"] .table-compare-products th.sticky-col, :root[data-theme="dark"] .table-compare-products td.sticky-col {
  box-shadow: 14px 0 20px -18px rgba(0,0,0,.85) !important;
}



/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .table-compare th.sticky-col, :root[data-theme="light"] .table-compare td.sticky-col, :root[data-theme="light"] .table-compare-products th.sticky-col, :root[data-theme="light"] .table-compare-products td.sticky-col {
  box-shadow: 14px 0 20px -18px rgba(15,23,42,.22) !important;
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .table-compare .sticky-col, :root[data-theme="dark"] .table-compare .sticky-col::after, :root[data-theme="dark"] .table-compare-products .sticky-col, :root[data-theme="dark"] .table-compare-products .sticky-col::after {
  background: var(--bg-panel) !important;
  background-color: var(--bg-panel) !important;
  background-image: none !important;
  opacity: 1 !important;
  background-clip: padding-box;
}



/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .table-compare .sticky-col, :root[data-theme="light"] .table-compare .sticky-col::after, :root[data-theme="light"] .table-compare-products .sticky-col, :root[data-theme="light"] .table-compare-products .sticky-col::after {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  opacity: 1 !important;
  background-clip: padding-box;
}


.table-compare .sticky-col, .table-compare-products .sticky-col {
  z-index: 80 !important;
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .table-compare th.sticky-col, :root[data-theme="dark"] .table-compare td.sticky-col, :root[data-theme="dark"] .table-compare-products th.sticky-col, :root[data-theme="dark"] .table-compare-products td.sticky-col {
  background-color: #0f1420 !important;
  background: #0f1420 !important;
  color: rgba(255,255,255,.94) !important;
  z-index: 60 !important;
  box-shadow: 10px 0 18px rgba(0,0,0,.35) !important;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  backface-visibility: hidden;
}



/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .table-compare th.sticky-col, :root[data-theme="light"] .table-compare td.sticky-col, :root[data-theme="light"] .table-compare-products th.sticky-col, :root[data-theme="light"] .table-compare-products td.sticky-col, html[data-theme="light"] .table-compare th.sticky-col, html[data-theme="light"] .table-compare td.sticky-col {
  background-color: #ffffff !important;
  background: #ffffff !important;
  color: var(--text-main) !important;
  z-index: 60 !important;
  box-shadow: 10px 0 18px rgba(15,23,42,.12) !important;
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .table-compare .sticky-col::after, :root[data-theme="dark"] .table-compare .sticky-col::before, :root[data-theme="dark"] .table-compare-products .sticky-col::after, :root[data-theme="dark"] .table-compare-products .sticky-col::before {
  background: #0f1420 !important;
  background-color: #0f1420 !important;
}



/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .table-compare .sticky-col::after, :root[data-theme="light"] .table-compare .sticky-col::before, :root[data-theme="light"] .table-compare-products .sticky-col::after, :root[data-theme="light"] .table-compare-products .sticky-col::before {
  background: #ffffff !important;
  background-color: #ffffff !important;
}


.table-compare th.sticky-col .feature-title, .table-compare-products th.sticky-col .feature-title {
  display: block;
  width: 100%;
  background: transparent !important;
}


.table-compare th.sticky-col, .table-compare td.sticky-col {
  position: sticky;
  left: 0;
  z-index: 80;
  background-clip: padding-box;
}



/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .table-compare th.sticky-col, :root[data-theme="light"] .table-compare td.sticky-col, :root[data-theme="light"] .table-compare.table-compare-products th.sticky-col, :root[data-theme="light"] .table-compare.table-compare-products td.sticky-col, :root[data-theme="light"] .table-compare thead th.sticky-col {
  background-color: #ffffff !important;
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .table-compare th.sticky-col, :root[data-theme="dark"] .table-compare td.sticky-col, :root[data-theme="dark"] .table-compare.table-compare-products th.sticky-col, :root[data-theme="dark"] .table-compare.table-compare-products td.sticky-col, :root[data-theme="dark"] .table-compare thead th.sticky-col {
  background-color: #0f1420 !important;
}


.table-compare th.sticky-col::before, .table-compare th.sticky-col::after, .table-compare td.sticky-col::before, .table-compare td.sticky-col::after, .table-compare.table-compare-products .sticky-col::before, .table-compare.table-compare-products .sticky-col::after {
  background-color: inherit !important;
  opacity: 1 !important;
}



/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .table-compare th.sticky-col, :root[data-theme="light"] .table-compare td.sticky-col {
  box-shadow: 12px 0 18px rgba(15,23,42,.06);
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .table-compare th.sticky-col, :root[data-theme="dark"] .table-compare td.sticky-col {
  box-shadow: 12px 0 22px rgba(0,0,0,.55);
}


.table-compare {
  border-collapse: separate !important;
  border-spacing: 0;
}


#compare .table-wrap, .compare-split .table-wrap {
  padding-top: 0 !important;
}


#compare .table.table-compare, .compare-split .table.table-compare {
  border-collapse: separate;
  border-spacing: 0;
}


#compare .table-compare thead th.sticky-col, .compare-split .table-compare thead th.sticky-col {
  border-top-left-radius: 18px;
  overflow: hidden;
}


.table-compare .compare-head, .table-compare-products thead th:not(.sticky-col) .compare-head {
  padding-top: 28px;
}


.table-compare .compare-badge {
  top: 8px;
  z-index: 2;
}


.table-compare-products thead th.col-product, .table-compare-products td.col-product {
  min-width: 150px;
}


.table-compare-products .sticky-col {
  text-align: left;
}


.table-compare-products thead th.sticky-col .compare-head, .table-compare-products thead th.sticky-col {
  padding-top: 12px;
  padding-bottom: 12px;
  height: auto;
  vertical-align: middle;
}


.table-compare-products thead th.sticky-col {
  padding-top: 14px !important;
  padding-bottom: 14px !important;
  line-height: 1.2;
}


.table-compare-products thead th.sticky-col .feature-title {
  font-size: 1rem;
  font-weight: 700;
  transform: none;
  line-height: 1.2;
}


.table-compare.table-compare-products thead th.sticky-col {
  height: auto !important;
  padding: .5rem .75rem !important;
  position: sticky;
  top: 0;
  overflow: hidden;
}


.table-compare.table-compare-products thead th.sticky-col .feature-title {
  position: static !important;
  display: inline-block;
  transform: none !important;
  font-size: 1rem !important;
  font-weight: 800;
  line-height: 1.15 !important;
}


.compare-split h2, #compare h2 {
  margin-bottom: 1.25rem;
}


.compare-split .table-wrap, #compare .table-wrap {
  margin-top: .75rem;
}


.compare-split .compare-panel--models > h3 {
  margin-bottom: 1.5rem !important;
}


.compare-split .compare-panel--models .table-wrap {
  margin-top: 1rem !important;
}


html[data-theme="dark"] .table-compare-products {
  background: transparent;
}


html[data-theme="dark"] .table-compare-products thead th, html[data-theme="dark"] .table-compare-products tbody th, html[data-theme="dark"] .table-compare-products td {
  border-color: rgba(255,255,255,.10) !important;
}


html[data-theme="dark"] .table-compare-products thead th {
  background: rgba(255,255,255,.02);
}


html[data-theme="dark"] .table-compare-products .compare-link, html[data-theme="dark"] .table-compare-products thead a {
  color: rgba(185, 156, 255, 1) !important;
  text-decoration: none;
}


html[data-theme="dark"] .table-compare-products .compare-link:hover, html[data-theme="dark"] .table-compare-products thead a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
html[data-theme="dark"] .table-compare-products .compare-badge, html[data-theme="dark"] .compare-split .table-compare-products thead th .compare-badge:not(.badge-value), html[data-theme="dark"] .compare-split .table-compare-products thead th .compare-badge:not(.badge-value), [data-theme="dark"] .compare-split .table-compare-products thead th .compare-badge:not(.badge-value) {
  background: rgba(185, 156, 255, .18);
  border: 1px solid rgba(185, 156, 255, .35);
  color: rgba(235, 228, 255, 1);
}


.table-compare-products .metric-help-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(255,255,255,.75);
  font-weight: 800;
  line-height: 1;
}


html[data-theme="dark"] .table-compare-products .metric-help-btn {
  border-color: rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.92);
  box-shadow: 0 6px 16px rgba(0,0,0,.35);
}


.table-compare-products .metric-help-btn, .table-compare-products .metric-help-btn * {
  transform: none !important;
}


html[data-theme="dark"] .gsr-modal .modal-dialog {

  margin: 1rem auto;
}

html[data-theme="dark"] .gsr-modal .modal-content {

  background: rgba(15, 18, 30, .98);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 24px 60px rgba(0,0,0,.65);
}

html[data-theme="dark"] .gsr-modal .modal-header {

  border-bottom: 1px solid rgba(255,255,255,.10);
}

html[data-theme="dark"] .gsr-modal .modal-footer {

  border-top: 1px solid rgba(255,255,255,.10);
}

html[data-theme="dark"] .gsr-modal .btn-close {

  filter: invert(1);
  opacity: .85;
}

.table-compare-products .compare-badge--spacer {
  display: none !important;
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}


html[data-theme="dark"] .table-compare-products .compare-badge[data-badge="best-value"] {
  background: rgba(46, 204, 113, 0.18);
  border-color: rgba(46, 204, 113, 0.45);
  color: #d9fbe8;
}


html[data-theme="dark"] .table-compare-products .compare-badge[data-badge="best-value"] {
  box-shadow: 0 0 0 1px rgba(46,204,113,.15), 0 8px 18px rgba(0,0,0,.35);
}


html[data-theme="dark"] .table-compare-products .compare-badge.badge-value {
  background: var(--badge-value-bg);
  color: var(--badge-value-text);
  border: 1px solid var(--badge-value-border);
  box-shadow: var(--badge-value-shadow);
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
html[data-theme="dark"] .compare-split .table-compare-products thead th .compare-badge.badge-value, html[data-theme="dark"] .compare-split .table-compare-products thead th .compare-badge.badge-value, [data-theme="dark"] .compare-split .table-compare-products thead th .compare-badge.badge-value {
  background: var(--badge-value-bg);
  color: var(--badge-value-text);
  border: 1px solid var(--badge-value-border);
  box-shadow: var(--badge-value-shadow);
}


.table-compare-products .metric-help-btn {
  width: 24px;
  height: 24px;
  padding: 0;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 0.85rem;
  line-height: 1;
  vertical-align: middle;
}


html[data-theme="dark"] .table-compare-products .metric-help-btn {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.92);
  box-shadow: none;
}


html[data-theme="light"] .table-compare-products .metric-help-btn {
  background: rgba(0,0,0,.04);
  border: 1px solid rgba(0,0,0,.10);
  color: rgba(0,0,0,.7);
}


.table-compare-products .metric-help-btn:focus-visible {
  outline: 2px solid rgba(185,156,255,.8);
  outline-offset: 2px;
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .hero h1 {

  color: rgba(255,255,255,.98);
  text-shadow: 0 1px 2px rgba(0,0,0,.45);
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .hero .lead {

  color: rgba(255,255,255,.84);
  text-shadow: 0 1px 2px rgba(0,0,0,.35);
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .hero .lead.text-secondary, html[data-theme="dark"] .hero .lead.text-secondary {

  color: rgba(255,255,255,.84) !important;
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .hero .lead.text-secondary .fw-semibold, html[data-theme="dark"] .hero .lead.text-secondary .fw-semibold, :root[data-theme="dark"] .table-compare .compare-link {
  color: rgba(255,255,255,.92) !important;
}


:root {

  --btn-radius: 999px;
  --btn-pad-y: .78rem;
  --btn-pad-x: 1.05rem;
  --btn-font-weight: 800;
  --btn-focus: rgba(37,99,235,.28);
  --btn-shadow-light: 0 12px 28px rgba(15,23,42,.12);
  --btn-shadow-dark: 0 14px 34px rgba(0,0,0,.40);
}

.btn, a.btn, button.btn {

  border-radius: var(--btn-radius) !important;
  font-weight: var(--btn-font-weight) !important;
  padding: var(--btn-pad-y) var(--btn-pad-x) !important;
  line-height: 1.15;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-decoration: none;
  transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease, border-color .15s ease, color .15s ease, opacity .15s ease;
  -webkit-tap-highlight-color: transparent;
}

.btn:active {

  transform: translateY(1px);
}

.btn:focus {

  outline: none;
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .btn:focus-visible {

  box-shadow: 0 0 0 3px var(--btn-focus), var(--btn-shadow-light);
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .btn:focus-visible {

  box-shadow: 0 0 0 3px rgba(255,255,255,.18), var(--btn-shadow-dark);
}

.btn-primary, .btn-primary-cta, .btn-shopnow-quiz {

  background: var(--accent, #2563eb) !important;
  border: 1px solid var(--accent, #2563eb) !important;
  color: #ffffff !important;
  box-shadow: none;
}

.btn-primary:hover, .btn-primary-cta:hover, .btn-shopnow-quiz:hover {

  background: #1d4ed8 !important;
  border-color: #1d4ed8 !important;
  color: #ffffff !important;
  box-shadow: var(--btn-shadow-dark);
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .btn-primary:hover, :root[data-theme="light"] .btn-primary-cta:hover, :root[data-theme="light"] .btn-shopnow-quiz:hover {

  box-shadow: var(--btn-shadow-light);
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .btn-hero-secondary, :root[data-theme="dark"] .btn-hero-tertiary, :root[data-theme="dark"] .btn-outline, :root[data-theme="dark"] .btn-outline-light, :root[data-theme="dark"] .btn-outline-secondary, :root[data-theme="dark"] .btn-shopnow-sizing, :root[data-theme="dark"] .btn-helper {

  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.55) !important;
  color: rgba(255,255,255,.95) !important;
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .btn-hero-secondary:hover, :root[data-theme="dark"] .btn-hero-tertiary:hover, :root[data-theme="dark"] .btn-outline:hover, :root[data-theme="dark"] .btn-outline-light:hover, :root[data-theme="dark"] .btn-outline-secondary:hover, :root[data-theme="dark"] .btn-shopnow-sizing:hover, :root[data-theme="dark"] .btn-helper:hover {

  background: rgba(255,255,255,.10) !important;
  border-color: rgba(255,255,255,.75) !important;
  color: #ffffff !important;
  box-shadow: var(--btn-shadow-dark);
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .btn-hero-secondary, :root[data-theme="light"] .btn-hero-tertiary, :root[data-theme="light"] .btn-outline, :root[data-theme="light"] .btn-outline-light, :root[data-theme="light"] .btn-outline-secondary, :root[data-theme="light"] .btn-shopnow-sizing, :root[data-theme="light"] .btn-helper {

  background: rgba(15,23,42,.04) !important;
  border: 1px solid rgba(15,23,42,.22) !important;
  color: rgba(15,23,42,.92) !important;
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .btn-hero-secondary:hover, :root[data-theme="light"] .btn-hero-tertiary:hover, :root[data-theme="light"] .btn-outline:hover, :root[data-theme="light"] .btn-outline-light:hover, :root[data-theme="light"] .btn-outline-secondary:hover, :root[data-theme="light"] .btn-shopnow-sizing:hover, :root[data-theme="light"] .btn-helper:hover {

  background: rgba(15,23,42,.08) !important;
  border-color: rgba(15,23,42,.32) !important;
  color: rgba(15,23,42,.98) !important;
  box-shadow: var(--btn-shadow-light);
}

.btn-hero-secondary--sm {

  padding: .55rem .85rem !important;
  font-weight: 800 !important;
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .btn-outline-light {

  opacity: 1 !important;
}

body .ring-card-home, body .product-side-card {

  transform: translateY(0) !important;
  top: 0 !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
  will-change: transform, box-shadow;
}

body .product-side-card {

  --lift-y: -8px;
}

.table-wrap {
  margin-top: 10px;
  border-radius: 18px;
}


#compare .d-flex.mb-3, #compare-on-product .d-flex.mb-3 {margin-bottom:16px !important;}

.table-compare thead th {
  padding: .85rem .85rem;
  vertical-align: bottom;
  line-height: 1.15;
}


.table-compare thead th.sticky-col {
  vertical-align: top;
  padding-top: .65rem;
  padding-bottom: .65rem;
}


.table-compare thead th .compare-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  min-height: 44px;
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .table-compare .compare-link:hover {
  color: rgba(255,255,255,.98) !important;
  text-decoration: underline;
}


.metrics-help-btn {

  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  margin-left: 6px;
  border-radius: 999px;
  font-weight: 900;
  line-height: 1;
  font-size: .85rem;
  border: 1px solid rgba(15,23,42,.24);
  background: rgba(15,23,42,.06);
  color: rgba(15,23,42,.92);
  text-decoration: none;
  cursor: pointer;
}

.metrics-help-btn:hover {

  background: rgba(15,23,42,.10);
  border-color: rgba(15,23,42,.32);
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .metrics-help-btn {

  border-color: rgba(255,255,255,.22);
  background: rgba(255,255,255,.10);
  color: rgba(255,255,255,.95);
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .metrics-help-btn:hover {

  background: rgba(255,255,255,.14);
  border-color: rgba(255,255,255,.30);
}

.review-model-pills {

  padding-top: 6px;
  overflow: visible;
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .review-model-pills .btn:focus-visible, :root[data-theme="dark"]  .review-model-pills .btn:focus-visible {

  box-shadow: 0 0 0 3px var(--btn-focus);
}

.review-model-pills {

  padding-top: 0; /* v354: remove top gap so table header spans to top */
  padding-left: 8px;
  padding-bottom: 4px;
  overflow: visible;
}

.navbar .dropdown-menu.mega-menu, .nav-details__menu.mega-menu, #shopNowDetails[open] .mega-menu {

  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .navbar .dropdown-menu.mega-menu, :root[data-theme="light"] .nav-details__menu.mega-menu, :root[data-theme="light"] #shopNowDetails[open] .mega-menu {

  background: rgba(255,255,255,.94);
  border-color: var(--lift-border);
  box-shadow: 0 18px 55px rgba(15,23,42,.18);
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .navbar .dropdown-menu.mega-menu, :root[data-theme="dark"] .nav-details__menu.mega-menu, :root[data-theme="dark"] #shopNowDetails[open] .mega-menu {

  background: rgba(10,15,28,.92);
  border-color: rgba(255,255,255,.14);
  box-shadow: 0 18px 55px rgba(0,0,0,.45);
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .mega-menu .text-secondary, :root[data-theme="dark"] .mega-menu .text-muted {

  color: rgba(255,255,255,.72) !important;
}

.hero-cta-micro {

  position: relative;
  padding-right: 3.25rem !important;
  overflow: visible !important;
}

.hero-cta-micro .btn-label {

  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  transition: transform .16s ease;
}

.hero-cta-micro::after {

  content: "›";
  position: absolute;
  right: 1.15rem;
  top: 50%;
  transform: translateY(-50%) translateX(-6px);
  opacity: 0;
  transition: opacity .16s ease, transform .16s ease;
  font-weight: 800;
  line-height: 1;
  pointer-events: none;
}

.hero-cta-micro:hover .btn-label, .hero-cta-micro:focus-visible .btn-label {

  transform: translateX(-2px);
}

.hero-cta-micro:hover::after, .hero-cta-micro:focus-visible::after {

  opacity: 1;
  transform: translateY(-50%) translateX(0);
}

.hero-cta-micro--down::after {

  content: "▾";
  transform: translateY(-2px);
}

button, .btn, a.btn {

  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
  letter-spacing: normal !important;
}

.btn-primary, .btn-primary-cta, .btn-shopnow-quiz {

  font-weight: 600 !important;
}

.btn-hero-secondary, .btn-hero-tertiary, .btn-outline-light, .btn-shopnow-sizing, .btn-helper {

  font-weight: 500 !important;
}

.hero-subhead {

  max-width: 42rem;
  opacity: 0.9;
}

html[data-theme="dark"] .hero-subhead {

  opacity: 0.92;
}

.review-model-pills {

  padding: 10px 10px 12px;
  border-radius: 18px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);
}

html[data-theme="light"] .review-model-pills {

  background: rgba(0,0,0,0.04);
  border-color: rgba(0,0,0,0.10);
}

.review-card .card-body {

  padding: 18px 18px 16px;
}

.review-card p {

  line-height: 1.55;
}

.seller-reply {
  border-left: 3px solid rgba(124, 91, 255, .72);
  border-radius: 12px;
  background: rgba(124, 91, 255, .08);
  background: color-mix(in srgb, var(--bg-panel) 78%, rgba(124, 91, 255, .18));
  padding: 12px 14px;
}

.seller-reply__label {
  display: inline-flex;
  align-items: center;
  gap: .38rem;
  color: var(--text-main);
  font-size: .84rem;
  font-weight: 700;
  margin-bottom: .4rem;
}

.seller-reply__label i {
  color: var(--accent);
  font-size: .95rem;
}

.seller-reply p {
  color: var(--text-muted);
  font-size: .92rem;
  line-height: 1.52;
  margin: 0;
}

.review-images {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 14px;
}

.review-image-thumb {
  aspect-ratio: 1;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--bg-panel);
  padding: 0;
  overflow: hidden;
  cursor: zoom-in;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
}

.review-image-thumb img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .18s ease;
}

.review-image-thumb:hover img,
.review-image-thumb:focus-visible img {
  transform: scale(1.04);
}

.review-image-thumb:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.review-image-lightbox {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: grid;
  place-items: center;
  padding: clamp(18px, 4vw, 48px);
  background: rgba(5, 8, 15, .82);
  backdrop-filter: blur(10px);
}

.review-image-lightbox[hidden] {
  display: none;
}

.review-image-lightbox img {
  max-width: min(980px, 94vw);
  max-height: 88vh;
  border-radius: 14px;
  background: #fff;
  object-fit: contain;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .48);
}

.review-image-lightbox__close {
  position: fixed;
  top: 18px;
  right: 18px;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 999px;
  background: rgba(15, 23, 42, .78);
  color: #fff;
  display: inline-grid;
  place-items: center;
  cursor: pointer;
  z-index: 1;
}

.review-image-lightbox__close i {
  display: none;
}

.review-image-lightbox__close::before,
.review-image-lightbox__close::after {
  content: "";
  position: absolute;
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: #fff;
}

.review-image-lightbox__close::before {
  transform: rotate(45deg);
}

.review-image-lightbox__close::after {
  transform: rotate(-45deg);
}

.review-image-lightbox__close:hover,
.review-image-lightbox__close:focus-visible {
  background: rgba(15, 23, 42, .94);
  border-color: rgba(255, 255, 255, .58);
}

.review-lightbox-open {
  overflow: hidden;
}

.review-filter-label {

  position: relative;
  z-index: 3;
  padding-left: 2px;
}

.review-model-pills {

  position: relative;
  z-index: 2;
  padding-top: 6px;
  padding-left: 2px;
  overflow: visible;
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
.hero-desktop-break, .footer-logo--dark, html[data-theme="dark"] .footer-logo--light {

  display:none;
}

#mobileBuyBar #mbDetails {

  color: var(--text-main);
  border-color: rgba(15,23,42,.18);
  background: rgba(255,255,255,.72);
}

#mobileBuyBar #mbDetails:hover {

  background: rgba(255,255,255,.88);
  border-color: rgba(15,23,42,.26);
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] #mobileBuyBar #mbDetails {

  color: rgba(255,255,255,.92);
  border-color: rgba(255,255,255,.30);
  background: rgba(255,255,255,.06);
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] #mobileBuyBar #mbDetails:hover {

  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.42);
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] #mobileBuyBar #mbDetails.btn.btn-buy.btn-outline {

  color: #0b1b24 !important;
  background: rgba(255,255,255,.86) !important;
  border-color: rgba(255,255,255,.95) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] #mobileBuyBar #mbDetails.btn.btn-buy.btn-outline:hover {

  background: rgba(255,255,255,.94) !important;
  border-color: rgba(255,255,255,1) !important;
}

.ring-card-home .ring-image {

  aspect-ratio: 1 / 1;
  display: block;
  overflow: hidden;
  border-radius: 14px;
}

.ring-card-home .ring-image picture, .ring-card-home .ring-image img {

  width: 100%;
  height: 100%;
  display: block;
}

.ring-card-home .ring-image img {

  object-fit: cover;
}

.ring-card--clickable .h5 {

  position: relative;
  display: inline-block;
  padding-right: 1.15em;
}

.ring-card--clickable .h5::after {

  content: "›";
  position: absolute;
  right: 0;
  top: 0;
  opacity: 0;
  transform: translateX(-6px);
  transition: transform .16s ease, opacity .16s ease;
}

.ring-card--clickable:hover .h5::after, .ring-card--clickable:focus-within .h5::after {

  opacity: 0.9;
  transform: translateX(0);
}

.ring-card--clickable:hover .h5, .ring-card--clickable:focus-within .h5 {

  transform: translateX(2px);
  transition: transform .16s ease;
}

.card-pills {

  margin-top:6px; display:flex; gap:6px; flex-wrap:wrap;
}

.card-differentiator {

  margin-top:6px; font-size:.9rem; line-height:1.35; opacity:.75;
}

.hero h1.display-5, .hero h1 {

  text-rendering: optimizeLegibility;
  font-kerning: normal;
  font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
  letter-spacing: -0.02em;
}

.card-pills .benefit-pill {

  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  border-width: 3px;
  border-style: solid;
  line-height: 1;
  white-space: nowrap;
}

html[data-theme="light"] .card-pills .benefit-pill {

  border-color: #111;
  color: #111;
  background: transparent;
}

html[data-theme="dark"] .card-pills .benefit-pill {

  border-color: rgba(255,255,255,0.85);
  color: #fff;
  background: rgba(255,255,255,0.06);
}

.table-compare-products .compare-head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}


.table-compare-products .compare-bestfor {
  font-size: 0.78rem;
  line-height: 1.1;
  opacity: 0.72;
}


html[data-theme="dark"] .table-compare-products .compare-bestfor {
  opacity: 0.78;
}


.ring-item[data-ring="2"] .card-pills .benefit-pill:nth-child(1) {

  border-color: rgba(139,92,246,0.95) !important;
}

html[data-theme="dark"] .ring-item[data-ring="2"] .card-pills .benefit-pill:nth-child(1) {

  background: rgba(139,92,246,0.12);
}

.ring-item[data-ring="5"] .card-pills .benefit-pill:nth-child(1) {

  border-color: rgba(96,165,250,0.95) !important;
}

html[data-theme="dark"] .ring-item[data-ring="5"] .card-pills .benefit-pill:nth-child(1) {

  background: rgba(96,165,250,0.10);
}

.brand-logo {

  border-radius: 999px;
  display: block;
}

.footer-brand {

  display:flex;
  justify-content:center;
}

.footer-logo {

  max-width: 140px;
  height: auto;

}

/* Footer logo swap: show only one logo per theme */
.footer-logo--light{display:block;}
.footer-logo--dark{display:none;}

/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
html[data-theme="dark"] .footer-logo--light{display:none;}
html[data-theme="dark"] .footer-logo--dark{display:block;}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
.footer-logo--light, html[data-theme="dark"] .footer-logo--dark {

  display:block;
}

.site-footer .footer-logo--light {

  opacity:.9;
}

.site-footer .footer-logo--dark {

  opacity:.88;
}

.verified-badge {

  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.18rem .6rem;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .01em;
  line-height: 1;
  white-space: nowrap;
}

.verified-badge {

  color: rgba(34,197,94,.98) !important; border: 1px solid rgba(34,197,94,.38) !important; background: rgba(34,197,94,.12) !important;
}

.verified-badge i, .verified-badge svg {

  color: rgba(34,197,94,.98) !important; fill: rgba(34,197,94,.98) !important;
}


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
html[data-theme="dark"] .verified-badge, html[data-theme="light"] .verified-badge {

  background: rgba(34,197,94,.12) !important;
  border: 1px solid rgba(34,197,94,.38) !important;
  color: rgba(34,197,94,.98) !important;
}

.trust-note {

  max-width: 52ch;
}

.verified-badge i {

  color: inherit !important;
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
html[data-theme="dark"] .hero .hero-kicker {

  color: rgba(255,255,255,0.90) !important;
  opacity: 1 !important;
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
html[data-theme="dark"] .hero .hero-kicker i, html[data-theme="dark"] .hero .hero-kicker span {

  color: rgba(255,255,255,0.90) !important;
}


/* --- Media Queries (fence) --- */

/* ----------------------------------------------------- */
/* MEDIA QUERY: ≥ 992px */
/* ----------------------------------------------------- */
@media (min-width: 992px) {
  .hero .row {

    align-items: center !important;
  }

  .product-side-card {

    min-height: 100%;
  }

  .product-side-card .psc-buy {

    margin-top: auto;
    padding-bottom: 4px;
  }

  .hero-img-wrap {

    height: 420px;
  }

  .product-media .badge-overlap {

    font-size: 2.7rem ;
    padding: .22em .55em ;
    border-radius: 999px ;
    letter-spacing: .02em;
  }

  .product-media .badge-overlap {

    max-width: 92%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .table-wrap {
  overflow-x: visible;
}


  .hero .row > .col-lg-6:first-child {

    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  .hero .row > .col-lg-6:first-child .lead {

    margin-left: auto;
    margin-right: auto;
    max-width: 42ch;
  }

  .hero-cta-stack {

    align-items: center;
  }

  .hero-desktop-break {

    display:none;
  }

.hero h1.display-5, .hero h1 {

    letter-spacing: -0.028em;
  }

}


/* ----------------------------------------------------- */
/* MEDIA QUERY: ≤ 768px */
/* ----------------------------------------------------- */
@media (max-width: 768px) {
  @keyframes scrollHintMove {
  0% {
    transform: translateX(0);
    opacity: .55;
  }

  50% {
    transform: translateX(140px);
    opacity: .9;
  }

  100% {
    transform: translateX(0);
    opacity: .55;
  }

  }

  @keyframes gsrScrollPill {
  0% {
    transform: translateX(0);
    opacity: .65;
  }

  50% {
    transform: translateX(140px);
    opacity: 1;
  }

  100% {
    transform: translateX(0);
    opacity: .65;
  }

  }

.hero .col-lg-6 {

    text-align: center;
  }
.hero .lead {

    margin-left: auto;
    margin-right: auto;
  }

.hero-cta-stack {

    align-items: center;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

.hero-cta-stack__btn {

    max-width: 420px;
  }

  .navbar .dropdown-menu.mega-menu {

    position: fixed ;
    top: 104px ;
    left: 12px ;
    right: 12px ;
    bottom: 12px ;
    width: auto ;
    max-width: none ;
    margin: 0 ;
    border-radius: 20px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    transform: translateY(-16px);
  }

  .navbar .dropdown-menu.mega-menu.show {

    transform: translateY(-16px);
  }.site-main {

    padding-bottom: 90px;
  }

  body {

    overflow-x: hidden;
  }

  .table-wrap {
  overscroll-behavior-x: contain;
  overscroll-behavior-y: auto;
}


  .hero-img-wrap {

    height: auto ;
    aspect-ratio: 16 / 10;
    overflow: visible;
  }

  .hero-img {

    width: 100%;
    height: 100% ;
    object-fit: contain ;
  }

.table-wrap, .table-wrap table {
  touch-action: pan-x pan-y;
}


  .mega-link:hover {

    transform: none ;
    filter: none ;
  }

  .swipe-pill-wrap {

    display: flex;
    justify-content: flex-end;
    margin: 0 6px 8px 6px;
  }

  .swipe-pill-wrap .swipe-pill {

    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    letter-spacing: .02em;
    padding: 6px 10px;
    border-radius: 999px;
    pointer-events: none;
    opacity: .92;
    backdrop-filter: blur(6px);
  }


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
  :root[data-theme="dark"] .swipe-pill-wrap .swipe-pill {

    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.16);
    color: rgba(255,255,255,.86);
  }


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
  :root[data-theme="light"] .swipe-pill-wrap .swipe-pill {

    background: rgba(0,0,0,.06);
    border: 1px solid rgba(0,0,0,.10);
    color: rgba(0,0,0,.70);
  }

.swipe-pill-wrap {

    display: none;
  }

  .swipe-pill-wrap.is-visible {

    display: flex;
  }

  .swipe-pill-wrap {

    display: none ;
  }

  .swipe-pill-wrap.is-visible {

    display: flex ;
  }

  .table-wrap::after {
  display: none;
  background: none;
}


  body {

    font-size: 16px;
    line-height: 1.6;
    -webkit-text-size-adjust: 100%;
    text-rendering: optimizeLegibility;
  }

  h1 {

    font-size: clamp(1.65rem, 5.6vw, 2.1rem);
    line-height: 1.12;
    letter-spacing: -0.01em;
  }

  h2 {

    font-size: clamp(1.35rem, 4.6vw, 1.75rem);
    line-height: 1.18;
    letter-spacing: -0.01em;
  }

  h3 {

    font-size: 1.15rem;
    line-height: 1.22;
  }

p, li {

    line-height: 1.65;
  }

  section {

    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

.container, .wrap {

    padding-left: 1.15rem;
    padding-right: 1.15rem;
  }

.ring-card-home, .product-side-card, .product-media.cardish {

    margin-bottom: 1.25rem;
  }

.ring-card-home, .product-side-card {

    padding: 1.25rem;
  }

.ring-card-home, .product-side-card, .product-media.cardish {

    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
  }

.ring-card-home:active, .product-side-card:active, .product-media.cardish:active {

    transform: scale(0.975);
    filter: brightness(0.985);
  }

button, .btn, a.btn {

    touch-action: manipulation;
  }

button:active, .btn:active, a.btn:active {

    transform: scale(0.965);
    filter: brightness(0.95);
  }

  details.mobile-collapse {

    border-radius: 16px;
    border: 1px solid rgba(255,255,255,0.10);
    overflow: hidden;
    margin-top: 1rem;
  }


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
  :root[data-theme="light"] details.mobile-collapse {

    border-color: rgba(15,23,42,0.10);
  }

  details.mobile-collapse > summary {

    list-style: none;
    cursor: pointer;
    padding: 0.95rem 1.1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    user-select: none;
  }

  details.mobile-collapse > summary::-webkit-details-marker {

    display:none;
  }

  details.mobile-collapse > summary::after {

    content: "▾";
    opacity: .75;
    transform: translateY(-1px);
  }

  details.mobile-collapse[open] > summary::after {

    content: "▴";
  }

  details.mobile-collapse .psc-section {

    padding-left: 1.1rem;
    padding-right: 1.1rem;
  }

  details.mobile-collapse .psc-section:first-of-type {

    padding-top: .25rem;
  }

  details.mobile-collapse .psc-section:last-of-type {

    padding-bottom: 1.1rem;
  }

  .mobile-sticky-cta {

    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1050;
    padding: .85rem 1rem calc(.85rem + env(safe-area-inset-bottom, 0px));
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-top: 1px solid rgba(255,255,255,0.10);
    background: rgba(10,10,12,0.86);
  }


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
  :root[data-theme="light"] .mobile-sticky-cta {

    background: rgba(255,255,255,0.92);
    border-top-color: rgba(15,23,42,0.10);
  }

  .mobile-sticky-cta .msc-inner {

    display: flex;
    align-items: center;
    gap: .9rem;
    max-width: 1120px;
    margin: 0 auto;
  }

  .mobile-sticky-cta .msc-left {

    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: .15rem;
  }

  .mobile-sticky-cta .msc-name {

    font-weight: 700;
    font-size: .98rem;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .mobile-sticky-cta .msc-price {

    font-weight: 700;
    font-size: .95rem;
    opacity: .85;
  }

  .mobile-sticky-cta .msc-actions {

    margin-left: auto;
    display: flex;
    gap: .6rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: .2rem;
  }

  .mobile-sticky-cta .msc-actions .btn-buy {

    white-space: nowrap;
    padding: .6rem .75rem;
    border-radius: 999px;
    min-height: 44px;
    flex: 0 0 auto;
  }

  .mobile-sticky-cta .msc-actions .btn-label {

    font-size: .95rem;
  }

  .table-compare.table-compare-products thead th.sticky-col {
  height: auto !important;
}


  .container {

    padding-left: 16px; padding-right: 16px;
  }

  .hero {

    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }

  .hero h1 {

    line-height: 1.08;
  }

  .hero .lead {

    margin-top: 10px !important;
    margin-bottom: 14px !important;
  }

  .hero .btn {

    width: 100%;
    justify-content: center;
  }

section, .section {

    padding-top: 34px; padding-bottom: 34px;
  }

  .section.pt-0 {

    padding-top: 26px !important;
  }

.card, .ring-card-home, .review-card {

    border-radius: 18px;
  }

.ring-card-home .card-body, .review-card .card-body {

    padding: 14px 14px;
  }

  .table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}


  .review-model-pills {

    gap: 10px !important;
    padding-top: 8px;
  }

  .review-model-pills .btn {

    min-height: 44px;
  }

.review-card, .testimonial-card {

    will-change: transform, box-shadow, border-color;
    transform-origin: center;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  }

.review-card.is-active, .testimonial-card.is-active {

    transform: scale(1.035) translateY(-2px);
  }


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .review-card.is-active, :root[data-theme="dark"] .testimonial-card.is-active {

    box-shadow: 0 26px 64px rgba(0,0,0,.62);
    border-color: rgba(255,255,255,.22);
  }


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .review-card.is-active, :root[data-theme="light"] .testimonial-card.is-active {

    box-shadow: 0 18px 44px rgba(0,0,0,.20);
    border-color: rgba(15,23,42,.18);
  }

  .ring-card-home .ring-image {

    height: auto;
    aspect-ratio: 1 / 1;
  }

.ring-card-home .ring-image picture, .ring-card-home .ring-image img {

    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
  }

  body {

    padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px));
  }

}


/* ----------------------------------------------------- */
/* MEDIA QUERY: prefers-reduced-motion */
/* ----------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
.hero-cta-stack .btn-primary.hero-cta-stack__btn, .hero-cta-stack .btn-primary.hero-cta-stack__btn::after {

    transition: none !important;
    transform: none !important;
  }

  .hero-cta-animate .hero-cta-stack__btn {

    opacity: 1;
    transform: none;
    transition: none;
  }

.btn-buy, .btn-buy .btn-icon, .btn-buy .btn-platform-icon, body .ring-card-home, body .product-side-card, .hero-img {

    transition: none;
  }

.btn-buy:hover::before, .best-seller {

    animation: none;
  }

.reveal, .reveal .buy-row .btn-buy {

    transition: none ;
    transform: none ;
    opacity: 1 ;
  }

  .product-side-card .buy-row .btn-buy {

    opacity: 1 ;
    transform: none ;
    animation: none ;
  }

  .rec-fade {

    animation: none;
    opacity: 1;
    transform: none;
  }

  .rec-check i {

    animation: none ;
    transform: none ;
    opacity: 1 ;
  }

.review-card, .testimonial-card {

    transition: none !important;
  }

.review-card.is-active, .testimonial-card.is-active {

    transform: none !important;
  }

}


/* ----------------------------------------------------- */
/* MEDIA QUERY: ≤ 576px */
/* ----------------------------------------------------- */
@media (max-width: 575.98px) {
  .hero-cta-stack__btn {

    max-width: 100%;
  }

}


/* ----------------------------------------------------- */
/* MEDIA QUERY: hover capability */
/* ----------------------------------------------------- */
@media (hover: none) {
  .btn-buy:hover {

    transform: none;
    box-shadow: 0 10px 24px rgba(0,0,0,.30);
    filter: none;
  }

.btn-buy:hover .btn-icon, .btn-buy:hover .btn-platform-icon {

    transform: none;
  }

  .btn-buy:hover::before {

    opacity: 0;
    animation: none;
  }

  .mega-link:hover {

    transform: none ;
  }

  .quiz-option:hover {

    background: var(--bg-panel-soft) ;
  }

  body .ring-card-home:active {

    top: -1px;
  }

  body .product-side-card:active {

    top: -4px;
  }

}


/* ----------------------------------------------------- */
/* MEDIA QUERY: ≤ 992px */
/* ----------------------------------------------------- */
@media (max-width: 991px) {
  .navbar .dropdown-menu.mega-menu {

    left: 0 ;
    transform: none ;
    margin-inline: 12px;
  }

  .compare-panel {
  padding: 16px;
  border-radius: 18px;
  background: var(--bg-panel-soft);
  border: 1px solid var(--border);
}



/* ----------------------------------------------------- */
/* MEDIA QUERY: ≥ 768px */
/* ----------------------------------------------------- */
  @media (min-width: 768px) {
    .compare-panel {
  padding: 22px;
}


  }

}


/* ----------------------------------------------------- */
/* MEDIA QUERY: ≥ 768px */
/* ----------------------------------------------------- */
@media (min-width: 768px) {
  .footer-links-all {

    flex-wrap: nowrap;
    white-space: nowrap;
  }

  .footer-links-all a {

    font-size: .9rem;
  }

  .ring-card-home .card-benefits {

    flex-wrap: nowrap;
    overflow: hidden;
    margin: 6px 0 12px;
  }

}


/* ----------------------------------------------------- */
/* MEDIA QUERY: ≤ 992px */
/* ----------------------------------------------------- */
@media (max-width: 991.98px) {
  #shopNowDetails .nav-details__menu {

    position: fixed ;
    left: 12px ;
    right: 12px ;
    top: 88px ;
    min-width: 0 ;
    max-width: calc(100vw - 24px) ;
    max-height: calc(100vh - 110px) ;
    overflow: auto ;
  }

  .thumb-grid {

    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
  }

}


/* ----------------------------------------------------- */
/* MEDIA QUERY: hover capability */
/* ----------------------------------------------------- */
@media (hover:hover) {
.zoom-wrap:hover img, .thumb-tile:hover img {

    transform: scale(1.06);
  }

  .ring-card--clickable:hover {

    transform: translateY(-2px);
  }

  .ring-card--clickable:hover .badge-overlap {

    transform: translateY(calc(clamp(-20px, -2.2vw, -12px) - 2px));
  }

  .ring-card--clickable:hover .view-details-btn {

    text-decoration: underline;
  }

}


/* ----------------------------------------------------- */
/* MEDIA QUERY: ≤ 576px */
/* ----------------------------------------------------- */
@media (max-width: 520px) {
  .review-meta-inline {

    font-size: 1.15rem;
  }

  .reviews-filters .form-select {

    width: 100% ;
  }

}


/* ----------------------------------------------------- */
/* MEDIA QUERY: hover capability */
/* ----------------------------------------------------- */
@media (hover: hover) {
  .ring-card.ring-card-home.ring-card--clickable {

    transition: transform 0.15s ease, box-shadow 0.15s ease;
  }

  .ring-card.ring-card-home.ring-card--clickable:hover {

    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(0,0,0,0.12);
  }

  body.page-home .ring-card-home:hover {

    top: 0 ;
    transform: none ;
    translate: none ;
    box-shadow: 0 14px 34px rgba(0,0,0,.25) ;
    border-color: var(--border) ;
    opacity: 0.85 ;
  }

.ring-card-home, .product-side-card {

    position: relative;
    overflow: visible;
  }

.ring-card-home:hover, .product-side-card:hover {

    opacity: 1 ;
    top: 0 ;
    transform: none ;
  }

html[data-theme="dark"] .ring-card-home:hover, html[data-theme="dark"] .product-side-card:hover {

    box-shadow: 0 18px 46px rgba(0,0,0,.48) ;
    border-color: rgba(255,255,255,.16) ;
  }

html[data-theme="light"] .ring-card-home:hover, html[data-theme="light"] .product-side-card:hover {

    box-shadow: 0 18px 46px rgba(15,23,42,.18) ;
    border-color: rgba(15,23,42,.18) ;
  }

  .table-compare thead .sticky-col {
  z-index: 4;
}



/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
  :root[data-theme="light"] .table-compare {
  background: #fff;
}



/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
  :root[data-theme="light"] .table-compare thead th {
  background: rgba(15,23,42,.04);
  color: var(--text-main);
}



/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .table-compare td, :root[data-theme="light"] .table-compare th {
  color: var(--text-main);
}


  .btn-shopnow-quiz {

    background: linear-gradient(135deg, #2563eb, #7c3aed);
    border: 0;
    color: #fff;
    font-weight: 900;
    border-radius: 16px;
    padding: .78rem .9rem;
    box-shadow: 0 14px 34px rgba(37,99,235,.22);
    position: relative;
    overflow: hidden;
  }

  .btn-shopnow-quiz::after {

    content: "";
    position: absolute;
    inset: -40%;
    background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.28) 45%, transparent 70%);
    transform: translateX(-60%);
    transition: transform .6s ease;
  }

.btn-shopnow-quiz:hover, .btn-shopnow-sizing:hover {

    filter: brightness(1.02);
    transform: none;
  }

.btn-shopnow-quiz:hover::after, .btn-shopnow-sizing:hover::after {

    transform: translateX(60%);
  }


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
  :root[data-theme="dark"] .btn-shopnow-sizing {

    background: rgba(255,255,255,.10);
    border-color: rgba(124,58,237,.55);
    color: rgba(255,255,255,.95);
  }

  .btn-shopnow-sizing {

    background: #ffffff;
    border: 2px solid rgba(37,99,235,.55);
    color: #0b1220;
    font-weight: 900;
    border-radius: 16px;
    padding: .72rem .9rem;
    position: relative;
    overflow: hidden;
  }

  .btn-shopnow-sizing::after {

    content: "";
    position: absolute;
    inset: -40%;
    background: linear-gradient(120deg, transparent 0%, rgba(37,99,235,.18) 45%, transparent 70%);
    transform: translateX(-60%);
    transition: transform .6s ease;
  }


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
  :root[data-theme="dark"] .btn-shopnow-sizing::after {

    background: linear-gradient(120deg,
    transparent 0%,
    rgba(167,139,250,.12) 35%,
    rgba(124,58,237,.55) 50%,
    rgba(167,139,250,.12) 65%,
    transparent 80%);
    inset: -55%;
    transition: transform .75s ease;
  }


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
  :root[data-theme="dark"] .btn-shopnow-sizing:hover {

    filter: brightness(1.08) saturate(1.08);
    box-shadow: 0 10px 28px rgba(124,58,237,.22);
  }


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .table-compare thead th, html[data-theme="dark"] .table-compare thead th, html[data-theme="dark"] .table-compare thead th, html[data-theme="dark"] .table-compare thead th {
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.92);
  border-bottom-color: rgba(255,255,255,.14);
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .table-compare tr + tr td, :root[data-theme="dark"] .table-compare tr + tr th {
  border-top-color: rgba(255,255,255,.10);
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .table-compare td.text-secondary, :root[data-theme="dark"] .table-compare .text-secondary, :root[data-theme="dark"] .table-compare tbody td.text-secondary, :root[data-theme="dark"] .table-compare tbody .text-secondary {
  color: rgba(255,255,255,.70);
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
  :root[data-theme="dark"] .table-compare {
  border-color: rgba(255,255,255,.10);
  --bs-table-bg: rgba(15,23,42,.55);
  --bs-table-color: rgba(255,255,255,.92);
  --bs-table-border-color: rgba(255,255,255,.12);
  background: rgba(15,23,42,.35);
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
html[data-theme="dark"] .table-compare, html[data-theme="dark"] .table-compare, html[data-theme="dark"] .table-compare {
  background: rgba(15,23,42,.35);
  --bs-table-bg: rgba(15,23,42,.55);
  --bs-table-color: rgba(255,255,255,.92);
  --bs-table-border-color: rgba(255,255,255,.12);
  color: rgba(255,255,255,.92);
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
html[data-theme="dark"] .table-wrap, html[data-theme="dark"] .table-wrap, html[data-theme="dark"] .table-wrap {
  background: rgba(15,23,42,.35);
  border-color: rgba(255,255,255,.12);
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .table-compare tbody td, :root[data-theme="dark"] .table-compare tbody th {
  background: transparent;
  color: rgba(255,255,255,.92);
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .table-compare td, :root[data-theme="dark"] .table-compare th {
  color: rgba(255,255,255,.92);
  border-color: rgba(255,255,255,.12);
}


  .table-compare tbody tr {
  transition: background-color .2s ease, box-shadow .2s ease;
}


  .table-compare tbody tr:hover {
  background: rgba(37,99,235,.08);
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
  :root[data-theme="dark"] .table-compare tbody tr:hover {
  background: rgba(37,99,235,.18);
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
  :root[data-theme="dark"] .table-compare .sticky-col {
  background: rgba(15,23,42,.85);
}


.table-compare th:nth-child(2), .table-compare td:nth-child(2) {
  background: rgba(37,99,235,.05);
}


.table-compare th:nth-child(6), .table-compare td:nth-child(6) {
  background: rgba(16,185,129,.05);
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .table-compare th:nth-child(2), :root[data-theme="dark"] .table-compare td:nth-child(2) {
  background: rgba(37,99,235,.14);
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .table-compare th:nth-child(6), :root[data-theme="dark"] .table-compare td:nth-child(6) {
  background: rgba(16,185,129,.16);
}


.table-compare tbody tr:hover td, .table-compare tbody tr:hover th {
  box-shadow: inset 0 0 0 999px rgba(37,99,235,.04);
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .table-compare tbody tr:hover td, :root[data-theme="dark"] .table-compare tbody tr:hover th {
  box-shadow: inset 0 0 0 999px rgba(37,99,235,.10);
}



/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
  :root[data-theme="light"] .btn-shopnow-quiz {

    color: #fff;
    text-shadow: 0 2px 12px rgba(0,0,0,.42);
  }

.table-compare.table-compare-products th, .table-compare.table-compare-products td {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}


  .table-compare thead th {
  white-space: nowrap;
  padding: .5rem .75rem;
  line-height: 1.15;
  vertical-align: bottom;
}


  .table-compare .compare-head {
  position: relative;
  padding-top: 16px;
}


  .table-compare .compare-badge {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
}


.table-compare th, .table-compare td {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  padding: 10px 12px;
  background: rgba(255,255,255,.02);
  border-radius: 12px;
}


.table-compare-products th, .table-compare-products td {
  padding: 10px 12px;
  background: rgba(255,255,255,.02);
  border-radius: 12px;
}


  .table-compare-products .sticky-col {
  width: 28%;
}


  .table-compare-products .col-product {
  width: 18%;
}


  .ring-card.ring-card-home a.ring-image {

    height: auto;
    aspect-ratio: auto;
    overflow: visible;
  }

  .table-compare-products .compare-badge {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -20%);
  z-index: 6;
  pointer-events: auto;
  cursor: default;
}


  .table-compare-products thead th .badge {
  font-size: .72rem;
}


  .table-compare-products thead th .compare-badge--spacer {
  opacity: 0;
}


.table-compare-products thead th:hover .badge-popular, .table-compare-products thead th .badge-popular:hover {
  background: linear-gradient(90deg, rgba(124,92,255,.92), rgba(255,0,80,.92));
}


.table-compare-products thead th:hover .badge-value, .table-compare-products thead th .badge-value:hover {
  background: linear-gradient(90deg, rgba(0,200,170,.92), rgba(124,92,255,.92));
}


  .table-compare-products thead th

  .table-compare-products thead th.sticky-col .compare-head {
  align-items: flex-start;
  justify-items: start;
  text-align: left;
  padding-left: 14px;
}


  .table-compare-products.table-compare-products thead th

  .table-compare-products.table-compare-products thead th.sticky-col {
  text-align: left;
}


.table-compare-products.table-compare-products tbody td.sticky-col, .table-compare-products thead th.sticky-col {
  text-align: left;
  padding-left: 16px;
}


.table-compare-products.table-compare-products tbody td:not(.sticky-col), .table-compare-products.table-compare-products thead th:not(.sticky-col), .table-compare-products tbody td:not(.sticky-col) {
  text-align: center;
}


  .table-compare-products.table-compare-products td i {
  display: inline-block;
  vertical-align: middle;
}


.table-compare-products.table-compare-products thead th, .table-compare-products thead, .table-compare-products thead tr, .table-compare-products thead th, .table-compare-products {
  overflow: visible;
}


  .table-compare-products.table-compare-products thead th

  .table-compare-products.table-compare-products thead th .compare-badge {
  margin: 0;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: auto;
  cursor: default;
  z-index: 999;
}


  .table-compare-products.table-compare-products thead th .compare-head {
  grid-template-rows: 18px 1fr;
  justify-items: center;
  text-align: center;
  padding-top: 0;
  padding-bottom: 0;
  position: relative;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  box-sizing: border-box;
  overflow: visible;
}


  .table-compare-products.table-compare-products thead th .compare-badge {
  grid-row: 1;
  margin-top: -8px;
  align-self: center;
  margin: 0;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 999;
  pointer-events: auto;
  cursor: default;
}


  .table-compare-products.table-compare-products thead th.sticky-col .compare-head {
  justify-items: start;
  justify-content: flex-start;
  text-align: left;
  padding-left: 16px;
}


  .table-compare-products thead th {
  padding-top: 8px;
  padding-bottom: 8px;
  overflow: visible;
  position: relative;
  height: 32px;
  padding: 0 12px;
  vertical-align: middle;
  text-align: center;
  box-sizing: border-box;
}


  .table-compare-products thead th

  .table-compare-products thead th .compare-badge {
  grid-row: 1;
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  padding: 2px 8px;
  margin-top: -10px;
  border-radius: 999px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 50;
  pointer-events: auto;
  cursor: default;
}


  .table-compare-products thead th.sticky-col .compare-head {
  justify-content: flex-start;
}


  .table-compare-products tbody td.sticky-col {
  padding-left: 16px;
  text-align: left;
}


  .table-compare-products thead th

  .table-compare-products thead th

  .table-compare-products thead th


  .table-compare-products thead th .compare-link {
  transform: translate(0%, 25%);
}


  .table-compare-products thead th .compare-link {
  color: inherit;
  text-decoration: none;
}


  .table-compare-products thead th .compare-head {
  min-height: 24px;
  gap: 2px;
  margin-top: -10px;
  grid-template-columns: 1fr;
  flex-direction: column;
  grid-template-rows: 18px 1fr;
  justify-items: center;
  text-align: center;
  width: 100%;
  height: 100%;
  justify-content: center;
  position: relative;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  display: flex;
  align-items: center;
}


  .table-compare-products thead th .compare-badge {
  top: 100%;
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 6;
  grid-row: 1;
  margin-top: -4px;
  margin-bottom: 4px;
  pointer-events: auto;
  cursor: default;
}


  .table-compare-products {
  table-layout: fixed;
  width: 100%;
  border-collapse: separate;
  border-spacing: 6px 0;
  min-width: 780px;
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */



/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
  :root[data-theme="light"] .table-compare.table-compare-products .sticky-col {
  background: #ffffff;
}


  .table-compare.table-compare-products thead .sticky-col {
  z-index: 35;
}


  .table-compare.table-compare-products tbody .sticky-col {
  z-index: 30;
}


  .table-compare.table-compare-products .sticky-col {
  line-height: 1.15;
  position: sticky;
  left: 0;
  z-index: 25;
  background: var(--bg-panel);
  box-shadow: 10px 0 22px rgba(0,0,0,.18);
}


.table-compare.table-compare-products thead th, .table-compare:not(.table-compare-products) th:not(.sticky-col), .table-compare:not(.table-compare-products) td:not(.sticky-col) {
  position: relative;
  z-index: 1;
}


  .table-compare.table-compare-products thead th .compare-badge {
  z-index: 1;
}


.table-compare.table-compare-products thead th.sticky-col, .table-compare.table-compare-products tbody td.sticky-col {
  z-index: 60;
}


  .table-compare.table-compare-products .sticky-col::after {
  content: "";
  position: absolute;
  inset: 0;
  background: inherit;
  z-index: -1;
}


  .table-compare.table-compare-products thead th.sticky-col::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -22px;
  bottom: 0;
  background: inherit;
  z-index: -1;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
}


  .table-compare.table-compare-products thead th.sticky-col {
  z-index: 80;
  left: 0;
  overflow: visible;
  padding-top: 8px;
  padding-bottom: 8px;
  vertical-align: middle;
  height: 56px;
  padding: 0;
  position: relative;
}


  .table-compare.table-compare-products thead th.sticky-col .feature-title {
  position: absolute;
  top: 50%;
  left: 13px;
  right: 13px;
  transform: translateY(-75%);
  font-size: 2em;
  font-weight: 600;
  line-height: 1;
  display: block;
  text-align: left;
}


  .table-compare {
  color: var(--text-main);
  border-color: var(--border);
  min-width: 860px;
  border-collapse: separate;
  border-spacing: 6px 0;
  table-layout: fixed;
  width: 100%;
}


  .table-compare .col-product {
  width: auto;
}


  .table-compare-products .compare-head {
  position: relative;
  padding-bottom: 6px;
  min-height: 44px;
  padding-top: 16px;
}


  .table-compare .sticky-col {
  position: sticky;
  left: 0;
  z-index: 2;
  width: 220px;
  background: var(--bg-panel);
}


  .table-compare:not(.table-compare-products) .compare-head {
  padding-top: 0;
}



/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
  html[data-theme="light"] .table-compare:not(.table-compare-products) .sticky-col {
  border-right-color: rgba(0,0,0,.10);
  box-shadow: 8px 0 18px rgba(0,0,0,.10);
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
.table-compare:not(.table-compare-products) th, .table-compare:not(.table-compare-products) td, :root[data-theme="dark"] .table-compare:not(.table-compare-products) th, :root[data-theme="dark"] .table-compare:not(.table-compare-products) td {
  background: var(--bg-panel-soft);
  background-clip: padding-box;
}


  .table-compare:not(.table-compare-products) .sticky-col {
  border-right: 1px solid rgba(255,255,255,.10);
  box-shadow: 8px 0 20px rgba(0,0,0,.18);
  background: var(--bg-panel-soft);
  z-index: 10;
}


  .table-compare:not(.table-compare-products) thead th {
  vertical-align: middle;
  padding: .52rem .70rem;
  line-height: 1.15;
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .table-compare:not(.table-compare-products) .sticky-col, html[data-theme="dark"] .table-compare:not(.table-compare-products) .sticky-col, html[data-theme="dark"] .table-compare:not(.table-compare-products) .sticky-col {
  background: var(--bg-panel);
}


body .ring-card-home:hover, body .product-side-card:hover {

    top: var(--lift-y);
    transform: none;
    border-color: var(--lift-border);
    box-shadow: var(--lift-shadow);
  }

  html[data-theme="light"] .ring-card-home:hover {

    box-shadow: 0 22px 52px rgba(0,0,0, 0.3) !important;
    border-color: rgba(15, 23, 42, 1);
  }

  html[data-theme="dark"] .ring-card-home:hover {

    box-shadow: 0 26px 64px rgba(255,193,7, 0.3) !important;
    border-color: rgba(255, 255, 255, 1);
  }


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
  :root[data-theme="light"] .product-side-card:hover {

    box-shadow: 0 22px 52px rgba(15,23,42,1);
    border-color: rgba(15,23,42,1);
    transform: translateY(-2px);
  }


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
  :root[data-theme="dark"] .product-side-card:hover {

    box-shadow: 0 26px 64px rgba(255,193,7,0.5);
    border-color: rgba(255,255,255,1);
    transform: translateY(-2px);
  }

body .ring-card-home:hover, body .product-side-card:hover {

    transform: translateY(var(--lift-y, -4px)) !important;
  }

  html[data-theme="light"] .ring-card-home:hover {

    box-shadow: var(--lift-shadow);
    border-color: var(--lift-border);
  }

  html[data-theme="dark"] .ring-card-home:hover {

    box-shadow: 0 20px 52px rgba(0,0,0,0.62);
    border-color: rgba(255,255,255,.14);
  }


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
  :root[data-theme="light"] .table-compare tbody tr:hover > * {
  background: rgba(15,23,42,.04) !important;
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
  :root[data-theme="dark"] .table-compare tbody tr:hover > * {
  background: rgba(255,255,255,.06) !important;
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
  :root[data-theme="dark"] .table-compare tbody tr:hover > .sticky-col {
  background: rgba(15,23,42,.96) !important;
}



/* ----------------------------------------------------- */
/* MEDIA QUERY: hover capability */
/* ----------------------------------------------------- */
  @media (hover: hover) {
body.page-home .ring-card-home:hover, body[data-page="home"] .ring-card-home:hover, body.page-products .product-side-card:hover, body[data-page="products"] .product-side-card:hover {

      top: var(--lift-y, -10px) ;
    }

  }


/* ----------------------------------------------------- */
/* MEDIA QUERY: ≤ 576px */
/* ----------------------------------------------------- */
  @media (max-width: 576px) {
    .table-compare {
  min-width: 680px;
}


    .sticky-col {
  min-width: 170px;
  width: 170px;
}


    .table-compare thead th {
  font-size: .95rem;
}


    .table-compare:not(.table-compare-products) {
  min-width: 560px;
}


    .table-compare:not(.table-compare-products) .sticky-col {
  width: 170px;
  min-width: 170px;
}


    .table-compare:not(.table-compare-products) thead th {
  white-space: nowrap;
}


.table-compare:not(.table-compare-products) th, .table-compare:not(.table-compare-products) td {
  white-space: normal;
  overflow-wrap: anywhere;
}


    .table-compare:not(.table-compare-products) {
  min-width: 640px;
}


    .table-compare:not(.table-compare-products) .sticky-col {
  min-width: 190px;
  width: 190px;
}


.table-compare:not(.table-compare-products) {
  min-width: 720px;
}


    .table-compare:not(.table-compare-products) .sticky-col {
  min-width: 220px;
  width: 220px;
}


    .table-compare:not(.table-compare-products) .sticky-col {
  position: static;
  left: auto;
  z-index: auto;
  box-shadow: none;
  border-right: none;
}


.table-compare:not(.table-compare-products) th, .table-compare:not(.table-compare-products) td {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}


  }


/* ----------------------------------------------------- */
/* MEDIA QUERY: ≤ 768px */
/* ----------------------------------------------------- */
  @media (max-width: 768px) {
    .dropdown-menu.mega-menu {

      padding: 10px;
    }

    .dropdown-menu.mega-menu .row {

      padding: 10px;
      gap: 10px;
    }

    .mega-title {

      font-size: .95rem;
      margin-bottom: 8px;
    }

    .mega-link {

      padding: 10px 12px;
      font-size: .98rem;
      border-radius: 16px;
      margin-bottom: 10px;
    }

    .shopnow-tools {

      margin-top: 10px;
    }

    .shopnow-tools__label {

      letter-spacing: .12em;
      font-size: .78rem;
      margin-bottom: 8px;
    }

.btn-shopnow-quiz, .btn-shopnow-sizing {

      padding: 12px 14px;
      font-size: 1.02rem;
      border-radius: 18px;
    }

.btn-shopnow-quiz i, .btn-shopnow-sizing i {

      font-size: 1.05rem;
    }

.mega-link, .btn-shopnow-quiz, .btn-shopnow-sizing {

      transform: none;
      transition: background .25s ease, box-shadow .25s ease, border-color .25s ease, filter .25s ease;
    }

.mega-link:hover, .btn-shopnow-quiz:hover, .btn-shopnow-sizing:hover, .mega-link:active, .btn-shopnow-quiz:active, .btn-shopnow-sizing:active, .mega-link:focus, .mega-link:focus-visible, .btn-shopnow-quiz:focus, .btn-shopnow-quiz:focus-visible, .btn-shopnow-sizing:focus, .btn-shopnow-sizing:focus-visible {

      transform: none;
    }

    .dropdown-menu.mega-menu {

      max-height: calc(100vh - 84px);
      overflow: auto;
      padding: 10px;
    }

    .dropdown-menu.mega-menu .row {

      padding: 10px;
      gap: 8px;
    }

    .mega-title {

      margin-bottom: 6px;
      font-size: .92rem;
    }

    .mega-link {

      margin-bottom: 8px;
      padding: 9px 12px;
      border-radius: 14px;
      font-size: .97rem;
    }

    .shopnow-tools {

      margin-top: 8px;
    }

    .shopnow-tools__label {

      margin-bottom: 6px;
      font-size: .76rem;
    }

.btn-shopnow-quiz, .btn-shopnow-sizing {

      padding: 10px 12px;
      border-radius: 16px;
      font-size: 1.0rem;
    }

.btn-shopnow-quiz i, .btn-shopnow-sizing i {

      margin-right: 8px;
      font-size: 1.02rem;
    }

.mega-link, .btn-shopnow-quiz, .btn-shopnow-sizing {

      will-change: auto;
    }

.mega-link, .btn-shopnow-quiz, .btn-shopnow-sizing {

      -webkit-tap-highlight-color: transparent;
      outline: none;
      box-shadow: none;
      filter: none;
    }

.mega-link:hover, .mega-link:active, .mega-link:focus, .mega-link:focus-visible, .btn-shopnow-quiz:hover, .btn-shopnow-quiz:active, .btn-shopnow-quiz:focus, .btn-shopnow-quiz:focus-visible, .btn-shopnow-sizing:hover, .btn-shopnow-sizing:active, .btn-shopnow-sizing:focus, .btn-shopnow-sizing:focus-visible {

      transform: none;
      box-shadow: none;
      filter: none;
    }

.mega-link, .btn-shopnow-quiz, .btn-shopnow-sizing {

      transition: background .2s ease, border-color .2s ease, color .2s ease;
    }

    .table-compare.table-compare-products thead th .compare-head {
  min-height: 0;
  height: auto;
}


    .table-compare.table-compare-products thead th .compare-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  max-width: none;
  white-space: nowrap;
  flex-wrap: nowrap;
  padding: 10px 12px;
  line-height: 1.1;
}


.table-compare.table-compare-products thead th, .table-compare.table-compare-products thead th.sticky-col {
  min-width: 150px;
}


    .table-compare.table-compare-products .sticky-col {
  position: sticky;
  left: 0;
  z-index: 12;
  background: var(--bg-panel);
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
    :root[data-theme="dark"] .table-compare.table-compare-products .sticky-col {
  background: rgba(17,21,30,.98);
}



/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="light"] .table-compare.table-compare-products .sticky-col {
  background: #ffffff;
}


.table-compare.table-compare-products thead th {
  min-width: 170px;
}


    .table-compare.table-compare-products thead th:last-child {
  min-width: 200px;
}


    .table-compare.table-compare-products thead th .compare-link {
  width: max-content;
  max-width: none;
  white-space: nowrap;
  overflow: visible;
  text-overflow: clip;
}


.table-compare-products {
  table-layout: auto;
}


    .table-compare.table-compare-products thead th:last-child {
  min-width: 240px;
}


    .table-compare.table-compare-products thead th .compare-link {
  display: inline-flex;
  width: max-content;
  max-width: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: clip;
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
    :root[data-theme="dark"] .table-compare.table-compare-products .sticky-col {
  background: #0f1420;
}


    .table-compare.table-compare-products .sticky-col {
  box-shadow: 8px 0 18px rgba(0,0,0,.18);
}


    .swipe-pill-wrap {

      display: flex;
      justify-content: flex-end;
      margin: 0 6px 10px 6px;
    }

    .swipe-pill {

      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 12px;
      letter-spacing: .02em;
      padding: 6px 10px;
      border-radius: 999px;
      pointer-events: none;
      opacity: .92;
      backdrop-filter: blur(6px);
    }


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
    :root[data-theme="dark"] .swipe-pill {

      background: rgba(255,255,255,.10);
      border: 1px solid rgba(255,255,255,.16);
      color: rgba(255,255,255,.86);
    }


/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
    :root[data-theme="light"] .swipe-pill {

      background: rgba(0,0,0,.06);
      border: 1px solid rgba(0,0,0,.10);
      color: rgba(0,0,0,.70);
    }

    .table-wrap {
  position: relative;
}


    .table-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 3;
}



/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
    :root[data-theme="dark"] .table-wrap::after {
  background: linear-gradient(to right,
      rgba(0,0,0,.55) 0%,
      rgba(0,0,0,0) 10%,
      rgba(0,0,0,0) 90%,
      rgba(0,0,0,.55) 100%);
}



/* ===================================================== */
/* THEME: LIGHT MODE OVERRIDES (cluster) */
/* ===================================================== */
    :root[data-theme="light"] .table-wrap::after {
  background: linear-gradient(to right,
      rgba(255,255,255,.95) 0%,
      rgba(255,255,255,0) 10%,
      rgba(255,255,255,0) 90%,
      rgba(255,255,255,.95) 100%);
}


    .table-wrap > table.table-compare-products {
  min-width: 900px;
}


    .table-compare.table-compare-products thead th:last-child {
  min-width: 260px;
}


    .table-compare.table-compare-products thead th .compare-link {
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
  overflow: hidden;
}


    .table-wrap > table.table-compare-products {
  min-width: 100%;
  width: max-content;
}


    .table-compare.table-compare-products thead th.sticky-col .feature-title {
  font-size: 1.55em;
  transform: translateY(-5px);
}


.table-compare.table-compare-products thead th.sticky-col {
  height: 48px;
}


    .table-compare.table-compare-products thead th.sticky-col .feature-title {
  font-size: 2.1em;
}


    .table-compare.table-compare-products thead th.sticky-col .feature-title {
  font-size: 1.75em;
  left: 12px;
  right: 12px;
  transform: translateY(-75%);
}


  }


/* ----------------------------------------------------- */
/* MEDIA QUERY: hover capability */
/* ----------------------------------------------------- */
  @media (hover: none) {
.mega-link:hover, .btn-shopnow-quiz:hover, .btn-shopnow-sizing:hover {

      transform: none;
      box-shadow: none;
      filter: none;
    }

  }


/* ----------------------------------------------------- */
/* MEDIA QUERY: ≥ 769px */
/* ----------------------------------------------------- */
  @media (min-width: 769px) {
    .table-compare:not(.table-compare-products) .sticky-col {
  position: sticky;
  left: 0;
  z-index: 8;
  background: var(--bg-panel-soft);
  background-clip: padding-box;
}


  }

}


/* ----------------------------------------------------- */
/* MEDIA QUERY: ≤ 576px */
/* ----------------------------------------------------- */
@media (max-width: 575px) {
.trust-badges__list {

    font-size: 1.35em; gap: 1rem;
  }

}


/* ----------------------------------------------------- */
/* MEDIA QUERY: ≥ 992px  —  hide mobile sticky CTA on desktop */
/* ----------------------------------------------------- */
@media (min-width: 992px) {
  body.has-mobile-sticky-cta .mobile-sticky-cta,
  .mobile-sticky-cta {
    display: none !important;
  }
}

/* ----------------------------------------------------- */
/* MEDIA QUERY: ≥ 769px */
/* ----------------------------------------------------- */
@media (min-width: 769px) {

  details.mobile-collapse > summary {

    display:none;
  }

  details.mobile-collapse:not([open]) > *:not(summary) {

    display:block;
  }

  details.mobile-collapse {

    border: 0;
    margin-top: 0;
  }

}


/* ----------------------------------------------------- */
/* MEDIA QUERY: ≤ 576px */
/* ----------------------------------------------------- */
@media (max-width: 420px) {
  .table-compare thead th .compare-head {
  padding-top: 20px !important;
}


  .table-compare thead th .compare-badge {
  font-size: .72rem;
  padding: .2rem .45rem;
}


  .table-compare thead th .compare-head {
  padding-top: 24px !important;
}


  .table-compare thead th .compare-badge {
  font-size: .72rem;
  padding: .2rem .45rem;
  top: -18px !important;
}


.table-compare thead th .compare-head, .table-compare-products thead th .compare-head {
  padding-top: 28px !important;
}


.table-compare thead th .compare-badge, .table-compare-products thead th .compare-badge {
  font-size: .72rem !important;
  padding: .2rem .45rem !important;
}


  .hero h1 {

    font-size: clamp(2.0rem, 9vw, 2.4rem) !important;
  }

  .hero .btn {

    font-size: 1.05rem !important;
  }

}


/* ----------------------------------------------------- */
/* MEDIA QUERY: ≤ 576px */
/* ----------------------------------------------------- */
@media (max-width: 576px) {
.table-compare-products thead th.col-product, .table-compare-products td.col-product {
  min-width: 140px;
}


  html[data-theme="dark"] .gsr-modal .modal-dialog {

    margin: .75rem;
  }

  html[data-theme="dark"] .gsr-modal .modal-content {

    border-radius: 16px;
  }

  .table-wrap {
  margin-top: 12px;
}


  .table-compare thead th .compare-head {
  min-height: 40px;
}


}



/* Sizing table (consolidated): readable in both modes */
.table-wrap{
  overflow-x: auto;
}


.table.table-sizing{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 14px;
  overflow: hidden;
  background: rgba(255,255,255,.92);
  color: #0f172a;
}


.table.table-sizing thead th{
  background: rgba(15,23,42,.06);
  color: #0f172a;
  border-bottom: 1px solid rgba(15,23,42,.12);
  font-weight: 700;
  min-height: 54px;
}


.table.table-sizing td,
.table.table-sizing th{
  padding: .85rem .9rem;
  background: transparent;
  border-color: rgba(15,23,42,.10);
}


/* Dark mode (supports theme on html/:root/body, plus legacy class toggles) */
html[data-theme="dark"] .table.table-sizing,
:root[data-theme="dark"] .table.table-sizing,
html[data-theme="dark"] .table.table-sizing,
html[data-theme="dark"] .table.table-sizing,
html[data-theme="dark"] .table.table-sizing{
  background: rgba(15,23,42,.78);
  color: rgba(226,232,240,.98);
}


html[data-theme="dark"] .table.table-sizing thead th,
:root[data-theme="dark"] .table.table-sizing thead th,
html[data-theme="dark"] .table.table-sizing thead th,
html[data-theme="dark"] .table.table-sizing thead th,
html[data-theme="dark"] .table.table-sizing thead th{
  background: rgba(2,6,23,.88);
  color: rgba(226,232,240,.98);
  border-bottom: 1px solid rgba(226,232,240,.18);
  padding: 1.15rem 1rem;
  line-height: 1.15;
  vertical-align: middle;
  min-height: 62px;
}


html[data-theme="dark"] .table.table-sizing td,
html[data-theme="dark"] .table.table-sizing th,
:root[data-theme="dark"] .table.table-sizing td,
:root[data-theme="dark"] .table.table-sizing th,
html[data-theme="dark"] .table.table-sizing td,
html[data-theme="dark"] .table.table-sizing th,
html[data-theme="dark"] .table.table-sizing td,
html[data-theme="dark"] .table.table-sizing th,
html[data-theme="dark"] .table.table-sizing td,
html[data-theme="dark"] .table.table-sizing th{
  background: transparent;
  color: rgba(226,232,240,.98);
  border-color: rgba(226,232,240,.12);
  padding: 1rem 1rem;
  line-height: 1.25;
  vertical-align: middle;
}


/* If no explicit theme is set, respect system preference */
@media (prefers-color-scheme: dark){
  html:not([data-theme]) .table.table-sizing{
  background: rgba(15,23,42,.78);
  color: rgba(226,232,240,.98);
}

  html:not([data-theme]) .table.table-sizing thead th{
  background: rgba(2,6,23,.88);
  color: rgba(226,232,240,.98);
  border-bottom: 1px solid rgba(226,232,240,.18);
  padding: 1.15rem 1rem;
  line-height: 1.15;
  vertical-align: middle;
  min-height: 62px;
}

  html:not([data-theme]) .table.table-sizing td,
  html:not([data-theme]) .table.table-sizing th{
  background: transparent;
  color: rgba(226,232,240,.98);
  border-color: rgba(226,232,240,.12);
  padding: 1rem 1rem;
  line-height: 1.25;
  vertical-align: middle;
}

}


/* v436 — Homepage: center product card pills */


/* v436 — Comparison table: taller header row (home + products) */
.table-compare thead th,
.table-compare-products thead th{
  padding-top: 18px;
  padding-bottom: 18px;
}



/* v437 fixes: homepage pill centering + sticky CTA background + compare badge spacing */

/* Homepage: center product card pills (body class is page-home) */
body.page-home .ring-card-home .card-benefits{
  justify-content:center !important;
}

/* Comparison table: add more gap between badge and product name (homepage + products) */
/* (moved to EOF final override block) */



/* v438 fixes: ensure homepage pills truly centered; remove any remaining sticky CTA surface/background */
body.page-home .ring-card-home .card-benefits{
  justify-content: center !important;
}
body.page-home .ring-card-home .card-benefits{
  /* guard against any conflicting alignment on wrapped rows */
  align-content: center !important;
}

/* Products page: clean up sticky CTA surface (keep background from inline CSS) */
body.page-products .mobile-sticky-cta,
body.page-products .mobile-sticky-cta .msc-inner{
  box-shadow: none !important;
}
body.page-products .mobile-sticky-cta{
  border-top: 0 !important;
}

/* ================================
   GSR v461 — Restore homepage card title centering + products badge readability
   (and keep card pills centered)
================================ */

/* Homepage: center product name text inside product cards */
.ring-card-home .card-title,
.ring-card-home .product-name,
.ring-card-home h3 {
  text-align: center !important;
  width: 100%;
}

/* Homepage (and cards generally): center pills row */
.card-pills {
  display: flex;
  justify-content: center;
}

/* Products page (light mode): Best Seller / Popular badge readability over image */
html[data-theme="light"] .page-products .badge-popular,
html[data-theme="light"] .page-products .badge-best,
html[data-theme="light"] .page-products .badge-bestseller,
html[data-theme="light"] .page-products .badge-best-seller,
html[data-theme="light"] .page-products .badge-popular.compare-badge,
html[data-theme="light"] .page-products .badge.compare-badge.badge-popular,
body.page-products:not(.dark) .badge-popular,
body.page-products:not(.dark) .badge-best,
body.page-products:not(.dark) .badge-bestseller,
body.page-products:not(.dark) .badge-best-seller {
  background: rgb(219 214 214 / 50%) !important;
  color: #111 !important;
  border: 1px solid rgba(0, 0, 0, 0.12) !important;
  text-shadow: none !important;
}


/* ================================
   Contact Thank You Modal (Custom)
   ================================ */
/* Components: Contact Form */

.contact-thankyou-modal .modal-dialog{
  max-width: 520px;
  margin: 1.5rem auto;
}

.contact-thankyou-modal .modal-content{
  border-radius: 22px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  padding: 28px;
  background: var(--bg-panel, #ffffff);
  color: var(--text-main, #0f172a);
  box-shadow: 0 30px 80px rgba(0,0,0,0.35);
  animation: gsrModalLift .35s ease-out;
}

@keyframes gsrModalLift{
  from{opacity:0; transform: translateY(14px) scale(0.985);}
  to{opacity:1; transform: translateY(0) scale(1);}
}

.contact-thankyou-modal .modal-header{
  border: 0;
  padding: 0;
  margin-bottom: 14px;
}

.contact-thankyou-modal .btn-close{
  opacity: .65;
}

.contact-thankyou-modal .modal-body{
  text-align: center;
  padding: 0;
}

.contact-thankyou-modal .thankyou-icon{
  width: 64px;
  height: 64px;
  margin: 0 auto 16px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(122, 92, 255, 0.95), rgba(58, 133, 255, 0.95));
  color: #fff;
  font-size: 28px;
  box-shadow: 0 18px 45px rgba(58, 133, 255, 0.28);
}

.contact-thankyou-modal .thankyou-title{
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: -0.01em;
  margin: 0 0 6px;
}

.contact-thankyou-modal .thankyou-text{
  font-size: 0.98rem;
  opacity: 0.82;
  margin: 0 0 18px;
}

.contact-thankyou-modal .modal-footer{
  border: 0;
  padding: 0;
  justify-content: center;
}

.contact-thankyou-modal .modal-footer .btn{
  border-radius: 999px;
  padding: 10px 22px;
  font-weight: 700;
}

/* Dark mode support */

/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .contact-thankyou-modal .modal-content,
html[data-theme="dark"] .contact-thankyou-modal .modal-content,
html[data-theme="dark"] .contact-thankyou-modal .modal-content,
html[data-theme="dark"] .contact-thankyou-modal .modal-content,
html[data-theme="dark"] .contact-thankyou-modal .modal-content,
html[data-theme="dark"] .contact-thankyou-modal .modal-content{
  background: #101218;
  color: #f3f6ff;
  border-color: rgba(255,255,255,0.08);
  box-shadow: 0 40px 90px rgba(0,0,0,0.70);
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .contact-thankyou-modal .thankyou-text,
html[data-theme="dark"] .contact-thankyou-modal .thankyou-text,
html[data-theme="dark"] .contact-thankyou-modal .thankyou-text,
html[data-theme="dark"] .contact-thankyou-modal .thankyou-text,
html[data-theme="dark"] .contact-thankyou-modal .thankyou-text,
html[data-theme="dark"] .contact-thankyou-modal .thankyou-text{
  opacity: 0.88;
}


/* ----------------------------------------------------- */
/* MEDIA QUERY: ≤ 576px */
/* ----------------------------------------------------- */
@media (max-width: 576px){
  .contact-thankyou-modal .modal-content{ padding: 22px; }
}

/* ================================
   Hero CTA visibility (dark mode)
   ================================ */


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .btn-hero-tertiary,
html[data-theme="dark"] .btn-hero-tertiary,
html[data-theme="dark"] .btn-hero-tertiary,
html[data-theme="dark"] .btn-hero-tertiary,
html[data-theme="dark"] .btn-hero-tertiary,
html[data-theme="dark"] .btn-hero-tertiary{
  border-color: rgba(255,255,255,.55) !important;
  background: rgba(255,255,255,.08) !important;
  color: #ffffff !important;
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .btn-hero-tertiary .btn-label,
html[data-theme="dark"] .btn-hero-tertiary .btn-label,
html[data-theme="dark"] .btn-hero-tertiary .btn-label,
html[data-theme="dark"] .btn-hero-tertiary .btn-label,
html[data-theme="dark"] .btn-hero-tertiary .btn-label,
html[data-theme="dark"] .btn-hero-tertiary .btn-label{
  color: #ffffff !important;
}

/* ===== Product media badge: keep it out of the way (no overlap) ===== */
.product-media{display:flex;flex-direction:column;}
.product-media .badge-overlap{position:static;transform:none;display:inline-flex;margin:0 0 12px auto;box-shadow:0 6px 18px rgba(0,0,0,.22);}


/* Light mode: TikTok CTA chip text should be white */
html[data-theme="light"] .btn-tiktok .cta-chip{color:#fff !important;}

/* ================================
   Product detail badge placement
   ================================ */

/* If any legacy "badge-overlap" exists in product media, hide it on product detail pages */
.product-detail .product-media .badge-overlap {
  display: none !important;
}

/* Ensure the tag badge sits inline with the product title (right panel) */
.product-detail .psc-badge {
  position: static !important;
  transform: none !important;
  white-space: nowrap;
  align-self: center;
  box-shadow: none;
}

/* Slightly tighten badge sizing next to the title */
.product-detail .psc-badge.badge,
.product-detail .psc-badge.badge-popular {
  background: var(--badge-popular-bg);
  color: var(--badge-popular-text);
  border: 1px solid var(--badge-popular-border);
  box-shadow: var(--badge-popular-shadow);
}


/* ----------------------------------------------------- */
/* MEDIA QUERY: ≤ 576px */
/* ----------------------------------------------------- */
/* ================================
   Contact page fallback CTA
   ================================ */
.contact-fallback{
  display:flex;
  align-items:center;
  gap:.6rem;
  flex-wrap:wrap;
  font-size:.95rem;
}
.contact-fallback__label{
  opacity:.75;
}
.mailto-pill{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.48rem .85rem;
  border-radius:999px;
  text-decoration:none !important;
  font-weight:750;
  line-height:1;
  border:1px solid rgba(0,0,0,.14);
  background: rgba(0,0,0,.04);
  color: var(--text-main, #111) !important;
  transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.mailto-pill:hover{
  transform: translateY(-1px);
  background: rgba(0,0,0,.06);
  border-color: rgba(0,0,0,.22);
  box-shadow: 0 10px 24px rgba(0,0,0,.10);
}
.mailto-pill:focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px rgba(124,92,255,.25), 0 10px 24px rgba(0,0,0,.10);
}


/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
html[data-theme="dark"] .mailto-pill,
html[data-theme="dark"] .mailto-pill{
  border-color: rgba(255,255,255,.20);
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.92) !important;
}

/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
html[data-theme="dark"] .mailto-pill:hover,
html[data-theme="dark"] .mailto-pill:hover{
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.28);
  box-shadow: 0 14px 30px rgba(0,0,0,.55);
}

.mailto-pill:hover{
  transform: translateY(-1px);
  background: rgba(0,0,0,.06);
  border-color: rgba(0,0,0,.18);
  box-shadow: 0 10px 26px rgba(0,0,0,.12);
  text-decoration:none;
}

/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .mailto-pill{
  border-color: rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
}

/* ===================================================== */
/* THEME: DARK MODE OVERRIDES (cluster) */
/* ===================================================== */
:root[data-theme="dark"] .mailto-pill:hover{
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.22);
  box-shadow: 0 12px 28px rgba(0,0,0,.45);
}

/* Desktop: make product title badge more prominent */

/* ----------------------------------------------------- */
/* MEDIA QUERY: ≥ 992px */
/* ----------------------------------------------------- */
@media (min-width: 992px){
  .product-detail .psc-badge.badge,
  .product-detail .psc-badge.badge-popular{
  background: var(--badge-popular-bg);
  color: var(--badge-popular-text);
  border: 1px solid var(--badge-popular-border);
  box-shadow: var(--badge-popular-shadow);
}
} /* ← close @media (min-width: 992px) */


/* =========================================================
   OPTION C + OPTION D (All-at-once)
   - Motion consistency
   - Shadow scale system
   - Spacing rhythm touch-ups
   - CTA + buybar conversion tuning
   - Comparison clarity tweaks
   - Trust indicator micro-copy styling
   ========================================================= */

/* Focus ring token (kept subtle; theme-aware) */
:root{ --focus-ring: rgba(88,101,242,.45); }
:root[data-theme="dark"]{ --focus-ring: rgba(168,85,247,.55); }

/* Theme-aware shadow scale */
:root[data-theme="light"]{
  --shadow-1: 0 10px 24px rgba(0,0,0,.14);
  --shadow-2: 0 16px 40px rgba(0,0,0,.22);
  --shadow-3: 0 24px 70px rgba(0,0,0,.28);
}
:root[data-theme="dark"]{
  --shadow-1: 0 12px 28px rgba(0,0,0,.60);
  --shadow-2: 0 18px 46px rgba(0,0,0,.68);
  --shadow-3: 0 26px 80px rgba(0,0,0,.72);
}

/* -------- Motion system -------- */
button, .btn, a.btn,
.ring-card-home, .product-card, .product-side-card,
.mobile-buybar, .mobile-buybar *{
  transition-timing-function: var(--ease-out, cubic-bezier(.2,.8,.2,1));
}

button, .btn, a.btn{
  transition-duration: var(--t-base, .18s);
  transition-property: transform, box-shadow, background-color, border-color, color, opacity, filter;
}
button:active, .btn:active, a.btn:active{
  transform: translateY(1px) scale(.99);
}
button:focus-visible, .btn:focus-visible, a.btn:focus-visible{
  outline: 3px solid var(--focus-ring);
  outline-offset: 2px;
}

/* Cards: consistent lift + shadow */
.ring-card-home, .product-card, .product-side-card{
  transition-duration: var(--t-base, .18s);
  transition-property: transform, box-shadow, border-color, background-color;
}
.ring-card-home:hover, .product-card:hover, .product-side-card:hover{
  box-shadow: var(--shadow-2);
}
@media (prefers-reduced-motion: reduce){
  button, .btn, a.btn,
  .ring-card-home, .product-card, .product-side-card,
  .mobile-buybar, .mobile-buybar *{
    transition: none !important;
    animation: none !important;
  }
}

/* -------- Spacing rhythm -------- */
.product-side-card .psc-section{
  padding-top: var(--gap-2, 12px);
  padding-bottom: var(--gap-2, 12px);
}
.product-side-card .psc-section + .psc-section{
  border-top: 1px solid rgba(255,255,255,.08);
}
:root[data-theme="light"] .product-side-card .psc-section + .psc-section{
  border-top-color: rgba(0,0,0,.08);
}

/* -------- Conversion: CTA emphasis -------- */
/* Make the primary TikTok CTA feel more "primary" without changing layout */
.btn-buy.btn-tiktok{
  font-weight: 800;
  letter-spacing: .2px;
}
.btn-buy .cta-chip{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: 8px;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: .75em;
  line-height: 1.2;
  font-weight: 800;
  border: 1px solid rgba(255,255,255,.28);
  background: rgba(255,255,255,.10);
}
:root[data-theme="light"] .btn-buy .cta-chip{
  border-color: rgba(0,0,0,.12);
  background: rgba(0,0,0,.06);
}

/* Subtle "glow" on hover for buy CTAs */
.btn-buy:hover{
  box-shadow: var(--shadow-1);
}

/* -------- Buy bar tuning (mobile) -------- */
#mobileBuyBar .mobile-buybar-inner{
  gap: var(--gap-2, 12px);
}
#mobileBuyBar .mobile-buybar-meta{
  min-width: 0;
}
#mobileBuyBar .mobile-buybar-title{
  line-height: 1.1;
}
#mobileBuyBar .mobile-buybar-note{
  margin-top: 2px;
  font-size: .85rem;
  opacity: .82;
}
#mobileBuyBar .mobile-buybar-trust{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 6px;
  font-size: .80rem;
  opacity: .86;
}
#mobileBuyBar .mobile-buybar-trust .d{ opacity: .65; }
#mobileBuyBar .mobile-buybar-trust i{ margin-right: 6px; opacity: .95; }

/* Give the sticky bar a slightly clearer edge separation */
#mobileBuyBar{
  box-shadow: var(--shadow-2);
}

/* -------- Trust indicators (product page) -------- */
.buy-trust{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-top: 10px;
  font-size: .86rem;
  opacity: .86;
}
.buy-trust .buy-trust-dot{ opacity: .6; }
.buy-trust i{ margin-right: 6px; opacity: .95; }

/* -------- Comparison clarity -------- */
.compare-table tbody tr:hover td,
.comparison-table tbody tr:hover td{
  background: rgba(255,255,255,.04);
}
:root[data-theme="light"] .compare-table tbody tr:hover td,
:root[data-theme="light"] .comparison-table tbody tr:hover td{
  background: rgba(0,0,0,.035);
}

/* Keep first column readable when row is hovered */
.compare-table tbody tr:hover td.sticky-col,
.comparison-table tbody tr:hover td.sticky-col{
  background: var(--bg-panel, rgba(255,255,255,.06));
}
:root[data-theme="light"] .compare-table tbody tr:hover td.sticky-col,
:root[data-theme="light"] .comparison-table tbody tr:hover td.sticky-col{
  background: rgba(255,255,255,.92);
}

/* =====================================================

/* =====================================================
   GSR_v579: Mobile homepage buybar layout fix
   - Meta (left)
   - Actions (right) in a 2x2 grid: Details/TikTok + Amazon/eBay
   ===================================================== */
@media (max-width: 768px){
  #mobileBuyBar .mobile-buybar-inner{
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    align-items: center !important;
    gap: 12px !important;
  }

  #mobileBuyBar .mobile-buybar-meta{
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 2px !important;
    min-width: 0 !important;
  }

  #mobileBuyBar .mobile-buybar-actions{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    align-items: stretch !important;
    justify-items: stretch !important;
  }

  #mobileBuyBar .mobile-buybar-actions .btn{
    width: 100% !important;
    min-width: 0 !important;
  }

  #mobileBuyBar .btn-label{
    white-space: nowrap !important;
  }
}

/* =====================================================
   FINAL OVERRIDE – Comparison Table header layout
   Badge above name, all names aligned, true centering.
   Placed at EOF to win the cascade over all earlier rules.
   ===================================================== */

/* --- Product comparison headers (badge → name → bestfor) --- */
#compare .table-compare-products thead th .compare-head,
.compare-split .table-compare-products thead th .compare-head,
.table-compare-products thead th:not(.sticky-col) .compare-head {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 4px !important;
  padding-top: 10px !important;
  padding-bottom: 8px !important;
  min-height: auto !important;
  height: auto !important;
  position: relative !important;
  overflow: visible !important;
}

/* Badge: static flow, sits above the product name */
#compare .table-compare-products thead th .compare-badge,
.compare-split .table-compare-products thead th .compare-badge,
.table-compare-products thead th:not(.sticky-col) .compare-badge {
  position: static !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  margin: 0 auto !important;
  display: inline-block !important;
  white-space: nowrap !important;
  z-index: auto !important;
  pointer-events: auto !important;
}

/* Spacer badges: preserve height so names stay aligned */
#compare .table-compare-products thead th .compare-badge--spacer,
.compare-split .table-compare-products thead th .compare-badge--spacer,
.table-compare-products thead th .compare-badge--spacer {
  visibility: hidden !important;
  display: inline-block !important;
  opacity: 1 !important;
  position: static !important;
}

/* Product name link */
#compare .table-compare-products thead th .compare-link,
.compare-split .table-compare-products thead th .compare-link,
.table-compare-products thead th .compare-link {
  display: block !important;
  text-align: center !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
  word-break: normal !important;
}

/* Best-for subtitle */
#compare .table-compare-products thead th .compare-bestfor,
.compare-split .table-compare-products thead th .compare-bestfor,
.table-compare-products thead th .compare-bestfor {
  text-align: center !important;
  font-size: .76rem !important;
  line-height: 1.15 !important;
  opacity: .78;
  margin: 0 !important;
  white-space: normal !important;
}

/* Product column th — centered, adequate width */
#compare .table-compare-products thead th:not(.sticky-col),
.compare-split .table-compare-products thead th:not(.sticky-col),
.table-compare-products thead th.col-product {
  text-align: center !important;
  vertical-align: middle !important;
  min-width: 120px !important;
  white-space: normal !important;
  overflow: visible !important;
}

/* Sticky column: stays left, never overlaps content columns */
#compare .table-compare-products th.sticky-col,
#compare .table-compare-products td.sticky-col,
.compare-split .table-compare-products th.sticky-col,
.compare-split .table-compare-products td.sticky-col {
  position: sticky !important;
  left: 0 !important;
  z-index: 30 !important;
  background: var(--bg-panel) !important;
  background-clip: padding-box !important;
}

:root[data-theme="light"] #compare .table-compare-products th.sticky-col,
:root[data-theme="light"] #compare .table-compare-products td.sticky-col,
:root[data-theme="light"] .compare-split .table-compare-products th.sticky-col,
:root[data-theme="light"] .compare-split .table-compare-products td.sticky-col {
  background: #ffffff !important;
}

:root[data-theme="dark"] #compare .table-compare-products th.sticky-col,
:root[data-theme="dark"] #compare .table-compare-products td.sticky-col,
:root[data-theme="dark"] .compare-split .table-compare-products th.sticky-col,
:root[data-theme="dark"] .compare-split .table-compare-products td.sticky-col {
  background: #0f1420 !important;
}

/* Desktop tweaks */
@media (min-width: 768px) {
  #compare .table-compare-products thead th .compare-head,
  .compare-split .table-compare-products thead th .compare-head {
    min-height: auto !important;
    gap: 5px !important;
  }

  #compare .table-compare-products thead th .compare-link,
  .compare-split .table-compare-products thead th .compare-link {
    font-size: 1.1rem !important;
  }

  #compare .table-compare-products thead th.col-product,
  .compare-split .table-compare-products thead th.col-product {
    min-width: 140px !important;
  }
}

/* =====================================================
   FINAL OVERRIDE – "How We Compare" (Us vs Others) table
   Bigger fonts + vertical centering on desktop.
   ===================================================== */

/* All viewports: base styles */
#compare .table-compare-us thead th {
  vertical-align: middle !important;
  padding-top: 14px !important;
  padding-bottom: 14px !important;
}

#compare .table-compare-us thead th .feature-title {
  font-size: 1.35rem !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  display: inline-block !important;
}

#compare .table-compare-us thead th .compare-head {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  padding-bottom: 0 !important;
  padding-top: 0 !important;
  min-height: auto !important;
}

#compare .table-compare-us tbody td {
  vertical-align: middle !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

/* Desktop: scale up */
@media (min-width: 768px) {
  #compare .table-compare-us thead th {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }

  #compare .table-compare-us thead th .feature-title {
    font-size: 1.65rem !important;
  }

  #compare .table-compare-us thead th .compare-head {
    font-size: 1.5rem !important;
  }

  #compare .table-compare-us tbody td {
    font-size: 1.05rem !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
  }
}

/* =====================================================
   FINAL OVERRIDE – Product comparison header (flexible height)
   Header rows vertically centered, height adapts to content.
   ===================================================== */
#compare .table-compare-products thead th,
.compare-split .table-compare-products thead th {
  vertical-align: middle !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  height: auto !important;
  overflow: visible !important;
}

#compare .table-compare-products thead th .compare-head,
.compare-split .table-compare-products thead th .compare-head {
  min-height: auto !important;
  height: auto !important;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
  gap: 4px !important;
  overflow: visible !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

#compare .table-compare-products tbody td,
.compare-split .table-compare-products tbody td {
  vertical-align: middle !important;
}

/* =====================================================
   MOBILE OVERRIDES – Comparison Tables
   Ensures both tables render correctly on small screens.
   ===================================================== */
@media (max-width: 768px) {

  /* --- Product comparison: mobile-friendly sizing --- */
  #compare .table-compare-products thead th:not(.sticky-col),
  .compare-split .table-compare-products thead th:not(.sticky-col),
  .table-compare-products thead th.col-product {
    min-width: 110px !important;
    vertical-align: middle !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  #compare .table-compare-products thead th .compare-head,
  .compare-split .table-compare-products thead th .compare-head,
  .table-compare-products thead th:not(.sticky-col) .compare-head {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-height: auto !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    gap: 3px !important;
  }

  #compare .table-compare-products thead th .compare-badge,
  .compare-split .table-compare-products thead th .compare-badge,
  .table-compare-products thead th:not(.sticky-col) .compare-badge {
    position: static !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    margin: 0 auto !important;
    font-size: .68rem !important;
  }

  #compare .table-compare-products thead th .compare-link,
  .compare-split .table-compare-products thead th .compare-link {
    display: block !important;
    font-size: .92rem !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
    text-align: center !important;
    line-height: 1.2 !important;
    padding: 0 !important;
    width: auto !important;
    max-width: none !important;
  }

  #compare .table-compare-products thead th .compare-bestfor,
  .compare-split .table-compare-products thead th .compare-bestfor {
    font-size: .7rem !important;
    line-height: 1.1 !important;
    text-align: center !important;
  }

  #compare .table-compare-products thead th .compare-badge--spacer,
  .compare-split .table-compare-products thead th .compare-badge--spacer {
    visibility: hidden !important;
    display: inline-block !important;
    position: static !important;
  }

  /* --- "Us vs Others" table: mobile font sizing --- */
  #compare .table-compare-us thead th {
    vertical-align: middle !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  #compare .table-compare-us thead th .feature-title {
    font-size: 1.15rem !important;
  }

  #compare .table-compare-us thead th .compare-head {
    font-size: 1.1rem !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    padding-top: 0 !important;
    min-height: auto !important;
  }

  /* --- Ensure table-wrap scrolls on mobile --- */
  #compare .table-wrap,
  .compare-split .table-wrap {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
}

@media (max-width: 576px) {
  #compare .table-compare-products thead th:not(.sticky-col),
  .compare-split .table-compare-products thead th:not(.sticky-col) {
    min-width: 100px !important;
  }

  #compare .table-compare-products thead th .compare-link,
  .compare-split .table-compare-products thead th .compare-link {
    font-size: .85rem !important;
  }

  #compare .table-compare-products thead th .compare-bestfor,
  .compare-split .table-compare-products thead th .compare-bestfor {
    font-size: .65rem !important;
  }

  #compare .table-compare-us thead th .feature-title {
    font-size: 1.05rem !important;
  }

  #compare .table-compare-us thead th .compare-head {
    font-size: 1rem !important;
  }
}

#compare .table-compare-products tbody td:not(:first-child),
.compare-split .table-compare-products tbody td:not(:first-child) {
    vertical-align: middle !important;
    text-align: center !important;
}
/* Storefront cart and checkout */
.nav-cart-link{position:relative;display:inline-flex!important;align-items:center;gap:.25rem}
.cart-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;border-radius:999px;background:#12b981;color:#04110c;font-size:.72rem;font-weight:800;line-height:1}
.store-buy-form{position:relative;z-index:2;width:100%;display:grid;gap:.75rem}
.store-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.store-option{display:grid;gap:.25rem;font-size:.78rem;font-weight:800;color:var(--bs-secondary-color,#64748b)}
.store-option .form-select{min-height:2.35rem;border-radius:.65rem;font-weight:700}
.store-buy-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.store-price{font-size:1.15rem;font-weight:900;color:inherit;white-space:nowrap}
.btn-buy-direct{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border-radius:999px;font-weight:850;min-height:2.65rem}
.store-stock-status{min-height:1rem;color:#b91c1c;font-size:.78rem;font-weight:900}
.store-buy-form.is-sold-out .store-stock-status{display:inline-flex;align-items:center;width:max-content;padding:.18rem .48rem;border-radius:999px;background:rgba(220,38,38,.1);border:1px solid rgba(220,38,38,.22)}
.store-buy-form.is-sold-out .btn-buy-direct,
.store-buy-form.is-sold-out .btn-buy-direct:disabled{
  background:#e5e7eb!important;
  border-color:#cbd5e1!important;
  color:#475569!important;
  box-shadow:none!important;
  opacity:1;
  cursor:not-allowed;
}
.buy-row .store-buy-form{padding:.75rem;border:1px solid rgba(148,163,184,.22);border-radius:1rem;background:rgba(255,255,255,.62)}
html[data-theme="dark"] .buy-row .store-buy-form{background:rgba(15,23,42,.62)}
.store-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:1.5rem;align-items:start}
.store-panel,.store-summary{border:1px solid rgba(148,163,184,.22);border-radius:1rem;background:rgba(255,255,255,.72);box-shadow:0 18px 55px rgba(15,23,42,.08)}
html[data-theme="dark"] .store-panel,html[data-theme="dark"] .store-summary{background:rgba(15,23,42,.72);box-shadow:none}
.store-panel{padding:1.25rem}
.store-summary{padding:1.25rem;position:sticky;top:7rem}
.cart-empty{text-align:center;padding:2.5rem 1rem}
.cart-items{display:grid;gap:.85rem}
.cart-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1rem;border:1px solid rgba(148,163,184,.2);border-radius:.85rem}
.cart-line-controls{display:flex;align-items:center;gap:.75rem}
.cart-qty{width:5rem;text-align:center;font-weight:800}
.cart-remove{color:#dc2626;text-decoration:none;font-weight:800}
.cart-stock-note{margin-top:.25rem;color:#dc2626;font-size:.78rem;font-weight:850}
.summary-row{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid rgba(148,163,184,.18)}
.summary-row-muted{color:var(--text-muted,#64748b);font-size:.92rem}
.summary-row-total{border-bottom:0;font-size:1.1rem}
.checkout-form{display:grid;gap:1.25rem}
.checkout-section{padding-bottom:1.25rem;border-bottom:1px solid rgba(148,163,184,.18)}
.checkout-section:last-child{border-bottom:0;padding-bottom:0}
.checkout-field{display:grid;gap:.35rem;font-size:.85rem;font-weight:800;color:var(--bs-secondary-color,#64748b)}
.checkout-field .form-control{min-height:2.7rem;border-radius:.65rem}
.payment-element{padding:1rem;border:1px solid rgba(148,163,184,.22);border-radius:.85rem;background:#fff}
.checkout-line{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid rgba(148,163,184,.14);font-size:.92rem}
.checkout-line small{display:block;color:var(--bs-secondary-color,#64748b);margin-top:.15rem}
@media (max-width: 991.98px){
  .store-layout{grid-template-columns:1fr}
  .store-summary{position:static}
}
@media (max-width: 575.98px){
  .store-option-grid{grid-template-columns:1fr}
  .store-buy-actions,.cart-line{grid-template-columns:1fr;display:grid}
  .cart-line-controls{justify-content:space-between}
}

html[data-theme="dark"] .store-panel,
html[data-theme="dark"] .store-summary{
  background:rgba(17,24,39,.9);
  border-color:rgba(148,163,184,.24);
  color:rgba(255,255,255,.92);
}
html[data-theme="dark"] .checkout-section,
html[data-theme="dark"] .summary-row,
html[data-theme="dark"] .cart-line,
html[data-theme="dark"] .checkout-line{
  border-color:rgba(148,163,184,.18);
}
html[data-theme="dark"] .checkout-field,
html[data-theme="dark"] .store-option{
  color:rgba(226,232,240,.86);
}
html[data-theme="dark"] .checkout-field span,
html[data-theme="dark"] .store-option span{
  color:rgba(226,232,240,.86);
}
html[data-theme="dark"] .checkout-field .form-control,
html[data-theme="dark"] .store-option .form-select,
html[data-theme="dark"] .cart-qty{
  background:#0f172a;
  border-color:rgba(148,163,184,.35);
  color:#f8fafc;
  box-shadow:none;
}
html[data-theme="dark"] .checkout-field .form-control:focus,
html[data-theme="dark"] .store-option .form-select:focus,
html[data-theme="dark"] .cart-qty:focus{
  background:#111827;
  border-color:#8b5cf6;
  color:#fff;
  box-shadow:0 0 0 .2rem rgba(139,92,246,.2);
}
html[data-theme="dark"] .checkout-field .form-control::placeholder{
  color:rgba(203,213,225,.58);
}
html[data-theme="dark"] .payment-element{
  background:#111827;
  border-color:rgba(148,163,184,.28);
}
html[data-theme="dark"] .store-stock-status{color:#fca5a5}
html[data-theme="dark"] .store-buy-form.is-sold-out .store-stock-status{background:rgba(248,113,113,.12);border-color:rgba(248,113,113,.28)}
html[data-theme="dark"] .store-buy-form.is-sold-out .btn-buy-direct,
html[data-theme="dark"] .store-buy-form.is-sold-out .btn-buy-direct:disabled{
  background:#334155!important;
  border-color:#475569!important;
  color:#cbd5e1!important;
}
html[data-theme="dark"] .checkout-line small,
html[data-theme="dark"] .summary-row-muted,
html[data-theme="dark"] .text-secondary{
  color:rgba(203,213,225,.72)!important;
}

.auth-container{max-width:560px}
.auth-card{padding:1.5rem}
.auth-form{display:grid;gap:1rem}
.auth-alt{display:flex;justify-content:center;gap:.4rem;margin-top:1rem;font-size:.95rem}
.account-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}
.account-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:1.25rem;align-items:start}
.account-summary-card,.account-orders-card{padding:1.25rem}
.account-summary-row{display:grid;gap:.2rem;padding:.85rem 0;border-bottom:1px solid rgba(148,163,184,.18)}
.account-summary-row:last-child{border-bottom:0}
.account-summary-row span{color:var(--text-muted,#64748b);font-size:.86rem;font-weight:800}
.account-summary-row strong{font-size:.98rem;overflow-wrap:anywhere}
.account-order-list{display:grid;gap:.75rem}
.account-order-card{display:grid;grid-template-columns:minmax(0,1.4fr) auto auto auto;gap:1rem;align-items:center;padding:1rem;border:1px solid rgba(148,163,184,.22);border-radius:.85rem;color:inherit;text-decoration:none;background:rgba(255,255,255,.42);transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}
.account-order-card:hover{color:inherit;border-color:rgba(37,99,235,.36);transform:translateY(-1px);box-shadow:0 14px 34px rgba(15,23,42,.08)}
.account-order-ref{font-weight:900;overflow-wrap:anywhere}
.status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:1.75rem;padding:.2rem .65rem;border-radius:999px;background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.24);color:#047857;font-size:.78rem;font-weight:900;white-space:nowrap}
.order-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:1.25rem;align-items:start}
.order-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.admin-order-table{display:grid;gap:.5rem}
.admin-order-row{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(180px,1.2fr) minmax(110px,.7fr) minmax(90px,.5fr) minmax(110px,.6fr);gap:1rem;align-items:center;padding:.9rem 1rem;border:1px solid rgba(148,163,184,.22);border-radius:.8rem;background:rgba(255,255,255,.42);color:inherit;text-decoration:none}
.admin-order-row:hover{color:inherit;border-color:rgba(37,99,235,.36);box-shadow:0 14px 34px rgba(15,23,42,.08)}
.admin-order-row-head{background:transparent;border:0;box-shadow:none;color:var(--text-muted,#64748b);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.admin-order-row-head:hover{border:0;box-shadow:none}
.admin-order-row small{display:block;color:var(--text-muted,#64748b);font-size:.78rem;margin-top:.12rem}
.review-submit-card{max-width:760px;margin:0 auto}
.review-context{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1rem;border:1px solid rgba(148,163,184,.22);border-radius:.85rem;background:rgba(148,163,184,.08)}
.review-context span,.review-context small{display:block}
.review-submit-form textarea.form-control,.admin-review-card textarea.form-control{min-height:8rem}
.admin-review-list{display:grid;gap:1rem}
.admin-review-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.status-pill-request{background:rgba(37,99,235,.12);border-color:rgba(37,99,235,.24);color:#1d4ed8}
.status-pill-review{background:rgba(124,58,237,.12);border-color:rgba(124,58,237,.24);color:#6d28d9}
.inventory-form{display:grid;gap:1rem}
.inventory-table{display:grid;gap:.45rem}
.inventory-row{display:grid;grid-template-columns:minmax(150px,1.3fr) minmax(110px,.8fr) minmax(70px,.45fr) minmax(110px,.55fr) minmax(100px,.55fr) minmax(110px,.55fr);gap:1rem;align-items:center;padding:.75rem 1rem;border:1px solid rgba(148,163,184,.22);border-radius:.8rem;background:rgba(255,255,255,.42)}
.inventory-row-head{background:transparent;border:0;color:var(--text-muted,#64748b);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.inventory-row small{display:block;color:var(--text-muted,#64748b);font-size:.78rem;margin-top:.12rem}
.inventory-qty{max-width:7rem;font-weight:900;text-align:center}
.holiday-mode-panel{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid rgba(148,163,184,.22);border-radius:.9rem;background:rgba(148,163,184,.08)}
.holiday-mode-form{display:flex;align-items:center;gap:.75rem}
.back-stock-panel{display:none;padding:.65rem;border:1px solid rgba(148,163,184,.22);border-radius:.85rem;background:rgba(148,163,184,.08)}
.store-buy-form.is-sold-out .back-stock-panel{display:block}
.back-stock-panel__top{display:flex;align-items:flex-start;justify-content:space-between;gap:.55rem;margin-bottom:.5rem}
.back-stock-panel__title{font-size:.82rem;font-weight:900;line-height:1.2}
.back-stock-panel__summary{font-size:.72rem;font-weight:850;color:var(--text-muted,#64748b);line-height:1.2;text-align:right}
.back-stock-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(4.5rem,.55fr) auto;gap:.45rem;align-items:end}
.back-stock-form label{display:grid;gap:.2rem;font-size:.7rem;font-weight:900;color:var(--text-muted,#64748b);min-width:0}
.back-stock-form .form-control,.back-stock-form .form-select{min-height:2rem;border-radius:.55rem;font-size:.8rem;font-weight:750}
.back-stock-form .btn{min-height:2rem;padding:.25rem .7rem;font-size:.78rem;white-space:nowrap}
.back-stock-message{grid-column:1/-1;min-height:.95rem;color:var(--text-muted,#64748b);font-weight:800;line-height:1.2}
.price-row{grid-template-columns:minmax(150px,1.3fr) minmax(140px,.7fr) minmax(120px,.6fr)}
.price-input-wrap{display:flex;align-items:center;gap:.35rem;max-width:9rem}
.price-input-wrap span{font-weight:900;color:var(--text-muted,#64748b)}
.price-input{font-weight:900;text-align:right}
.stock-pill{display:inline-flex;align-items:center;justify-content:center;padding:.28rem .6rem;border-radius:999px;background:rgba(16,185,129,.14);color:#047857;font-size:.78rem;font-weight:900}
.stock-pill-out{background:rgba(220,38,38,.12);color:#b91c1c}
html[data-theme="dark"] .account-order-card{background:rgba(15,23,42,.38)}
html[data-theme="dark"] .admin-order-row{background:rgba(15,23,42,.38)}
html[data-theme="dark"] .status-pill{background:rgba(16,185,129,.16);border-color:rgba(52,211,153,.28);color:#86efac}
html[data-theme="dark"] .status-pill-request{background:rgba(59,130,246,.18);border-color:rgba(96,165,250,.28);color:#93c5fd}
html[data-theme="dark"] .status-pill-review{background:rgba(139,92,246,.18);border-color:rgba(167,139,250,.28);color:#c4b5fd}
html[data-theme="dark"] .review-context{background:rgba(15,23,42,.38)}
html[data-theme="dark"] .inventory-row{background:rgba(15,23,42,.38)}
html[data-theme="dark"] .holiday-mode-panel,
html[data-theme="dark"] .back-stock-panel{background:rgba(15,23,42,.38)}
html[data-theme="dark"] .back-stock-panel__summary{color:rgba(203,213,225,.72)}
html[data-theme="dark"] .stock-pill{background:rgba(16,185,129,.18);color:#6ee7b7}
html[data-theme="dark"] .stock-pill-out{background:rgba(248,113,113,.16);color:#fca5a5}
@media (max-width: 991.98px){
  .account-layout,.order-detail-layout{grid-template-columns:1fr}
  .admin-order-row{grid-template-columns:1fr}
  .admin-order-row-head{display:none}
  .review-context{grid-template-columns:1fr}
  .admin-review-card__head{display:grid}
  .inventory-row{grid-template-columns:1fr;gap:.45rem}
  .inventory-row-head{display:none}
  .holiday-mode-panel,.holiday-mode-form{display:grid}
  .back-stock-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .back-stock-form .btn{grid-column:1/-1}
}
@media (max-width: 575.98px){
  .account-hero{align-items:flex-start;flex-direction:column}
  .account-order-card{grid-template-columns:1fr;gap:.55rem}
  .auth-card,.account-summary-card,.account-orders-card{padding:1rem}
  .back-stock-panel__top{display:grid;gap:.2rem}
  .back-stock-panel__summary{text-align:left}
}

/* Home product cards: price sits with color, CTA spans the row. */
.ring-card-home .store-buy-form{
  display:grid;
  gap:.75rem;
  margin-top:1rem;
  padding:1rem;
  border:1px solid rgba(148,163,184,.28);
  border-radius:.9rem;
  background:rgba(255,255,255,.72);
}

.ring-card-home .store-option-grid{
  display:grid;
  grid-template-columns:minmax(10rem,1fr) auto;
  align-items:end;
  gap:1rem;
}

.ring-card-home .store-option{
  display:grid;
  gap:.35rem;
  margin:0;
}

.ring-card-home .store-option > span,
.ring-card-home .store-option-price > span{
  display:block;
  margin-bottom:.35rem;
  font-size:.78rem;
  font-weight:900;
  color:var(--text,#0f172a);
}

.ring-card-home .store-option select{
  min-width:10.75rem;
}

.ring-card-home .store-option-price{
  text-align:right;
  white-space:nowrap;
}

.ring-card-home .store-option-price strong{
  display:block;
  font-size:1.22rem;
  line-height:1.2;
  font-weight:950;
  color:var(--text,#0f172a);
}

.ring-card-home .store-stock-status:empty{
  display:none;
}

.ring-card-home .store-buy-actions{
  display:block;
}

.ring-card-home .store-buy-actions .btn-buy-direct{
  width:100%;
  min-height:3rem;
  justify-content:center;
}

html[data-theme="dark"] .ring-card-home .store-buy-form{
  background:rgba(15,23,42,.38);
  border-color:rgba(148,163,184,.22);
}

@media (max-width:575.98px){
  .ring-card-home .store-option-grid{
    grid-template-columns:1fr;
  }

  .ring-card-home .store-option-price{
    text-align:left;
  }
}

/* Product detail thumbnails: on mobile, show every image without relying on horizontal swipe. */
@media (max-width: 767.98px){
  .product-media .thumb-grid{
    display:grid;
    grid-template-columns:repeat(5, minmax(0, 1fr));
    gap:.45rem;
    overflow:visible;
    padding-bottom:0;
    scroll-snap-type:none;
    touch-action:auto;
  }

  .product-media .thumb-grid .thumb-tile{
    width:auto;
    height:auto;
    aspect-ratio:1;
    min-width:0;
    scroll-snap-align:none;
  }
}

@media (max-width: 399.98px){
  .product-media .thumb-grid{
    grid-template-columns:repeat(4, minmax(0, 1fr));
  }
}

/* Mobile floating buybar: keep Details/Cart buttons wide enough to read. */
@media (max-width: 767.98px){
  #mobileBuyBar .container{
    padding-left:.75rem !important;
    padding-right:.75rem !important;
  }

  #mobileBuyBar .mobile-buybar-inner{
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) minmax(12.5rem, 42vw) !important;
    gap:.75rem !important;
    align-items:center !important;
  }

  #mobileBuyBar .mobile-buybar-meta{
    min-width:0 !important;
    overflow:hidden !important;
  }

  #mobileBuyBar .mobile-buybar-title,
  #mobileBuyBar .mobile-buybar-sub{
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  #mobileBuyBar .mobile-buybar-actions{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(5.9rem, 1fr)) !important;
    gap:.55rem !important;
    min-width:12.5rem !important;
  }

  #mobileBuyBar .mobile-buybar-actions .btn{
    width:100% !important;
    min-width:0 !important;
    min-height:3.05rem !important;
    padding:.62rem .78rem !important;
    gap:.32rem !important;
    border-radius:999px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  #mobileBuyBar .btn-label{
    white-space:nowrap !important;
    overflow:visible !important;
    text-overflow:clip !important;
    line-height:1.1 !important;
  }

  #mobileBuyBar .btn-icon,
  #mobileBuyBar .btn-platform{
    flex:0 0 auto !important;
  }
}

@media (max-width: 374.98px){
  #mobileBuyBar .mobile-buybar-inner{
    grid-template-columns:minmax(0, .88fr) minmax(11.75rem, 1.12fr) !important;
    gap:.5rem !important;
  }

  #mobileBuyBar .mobile-buybar-actions{
    grid-template-columns:repeat(2, minmax(5.55rem, 1fr)) !important;
    min-width:11.75rem !important;
    gap:.45rem !important;
  }

  #mobileBuyBar .mobile-buybar-actions .btn{
    padding:.58rem .64rem !important;
    font-size:.92rem !important;
  }
}

/* Theme logo swap: exactly one header/footer logo is visible per mode. */
html[data-theme="light"] .brand-logo--light,
html[data-theme="light"] .footer-logo--light,
:root[data-theme="light"] .brand-logo--light,
:root[data-theme="light"] .footer-logo--light{
  display:block !important;
}

html[data-theme="light"] .brand-logo--dark,
html[data-theme="light"] .footer-logo--dark,
:root[data-theme="light"] .brand-logo--dark,
:root[data-theme="light"] .footer-logo--dark{
  display:none !important;
}

html[data-theme="dark"] .brand-logo--light,
html[data-theme="dark"] .footer-logo--light,
:root[data-theme="dark"] .brand-logo--light,
:root[data-theme="dark"] .footer-logo--light{
  display:none !important;
}

html[data-theme="dark"] .brand-logo--dark,
html[data-theme="dark"] .footer-logo--dark,
:root[data-theme="dark"] .brand-logo--dark,
:root[data-theme="dark"] .footer-logo--dark{
  display:block !important;
}
