/* ===========================
   FEEL GOOD PEPTIDES THEME
   Main Stylesheet v1.0
   =========================== */

/* --- CSS Variables --- */
:root {
  /* Primary Colors */
  --fg-bg: #fafafa;
  --fg-bg-dark: #0a0a0f;
  --fg-bg-card: #ffffff;
  --fg-bg-card-dark: #141418;
  --fg-bg-muted: #f3f3f6;

  /* Accent Colors */
  --fg-purple: #6c5ce7;
  --fg-purple-light: #a29bfe;
  --fg-purple-dark: #5a4bd1;

  /* Category Colors */
  --fg-cat-tissue: #6c5ce7;
  --fg-cat-metabolic: #e8a045;
  --fg-cat-neural: #00b894;
  --fg-cat-endocrine: #e84393;
  --fg-cat-cellular: #0984e3;
  --fg-cat-supplies: #95a5a6;

  /* Text */
  --fg-text: #111118;
  --fg-text-secondary: #555566;
  --fg-text-muted: #888899;
  --fg-text-light: #f0f0f5;

  /* Borders */
  --fg-border: #e5e5ea;
  --fg-border-dark: #2a2a35;

  /* Spacing */
  --fg-section-pad: clamp(60px, 8vw, 120px);
  --fg-container: 1280px;
  --fg-container-wide: 1440px;
  --fg-gap: 24px;

  /* Typography */
  --fg-font-display: 'Montserrat', 'Avenir Next', 'Helvetica Neue', Arial, sans-serif;
  --fg-font-body: 'Montserrat', 'Avenir Next', 'Helvetica Neue', Arial, sans-serif;
  --fg-font-mono: 'Montserrat', 'Avenir Next', 'Helvetica Neue', Arial, sans-serif;
  --fg-font-heading: 'Montserrat', 'Avenir Next', 'Helvetica Neue', Arial, sans-serif;

  /* Radius */
  --fg-radius: 12px;
  --fg-radius-lg: 20px;
  --fg-radius-full: 999px;

  /* Shadows */
  --fg-shadow-sm: 0 1px 3px rgba(0,0,0,0.06);
  --fg-shadow-md: 0 4px 16px rgba(0,0,0,0.08);
  --fg-shadow-lg: 0 12px 40px rgba(0,0,0,0.12);

  /* Transitions */
  --fg-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --fg-duration: 0.5s;
}

/* --- Reset & Base --- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 16px;
}

body {
  font-family: var(--fg-font-body);
  color: var(--fg-text);
  background: var(--fg-bg);
  line-height: 1.7;
  overflow-x: hidden;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }
ul, ol { list-style: none; }

/* --- Utilities --- */
.fg-container {
  max-width: var(--fg-container);
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 40px);
}
.fg-container-wide {
  max-width: var(--fg-container-wide);
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 40px);
}
.fg-section { padding: var(--fg-section-pad) 0; }
.fg-label {
  font-family: var(--fg-font-mono);
  font-size: 11px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--fg-purple);
  font-weight: 600;
}
.fg-sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0,0,0,0); border: 0;
}

/* --- Typography --- */
h1, h2, h3, h4, h5, h6 { font-family: var(--fg-font-display); font-weight: 800; line-height: 1.08; letter-spacing: -0.04em; }
h1 { font-size: clamp(2.8rem, 5vw, 4.5rem); }
h2 { font-size: clamp(2rem, 3.5vw, 3.2rem); }
h3 { font-size: clamp(1.4rem, 2vw, 2rem); }
h4 { font-size: clamp(1.1rem, 1.5vw, 1.4rem); }

p { color: var(--fg-text-secondary); font-size: 1rem; line-height: 1.7; }

/* --- Buttons --- */
.fg-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 14px 28px;
  font-family: var(--fg-font-body);
  font-size: 14px; font-weight: 600;
  letter-spacing: 0.3px;
  border-radius: var(--fg-radius-full);
  transition: all 0.3s var(--fg-ease);
}
.fg-btn-primary {
  background: var(--fg-purple);
  color: #fff;
}
.fg-btn-primary:hover {
  background: var(--fg-purple-dark);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(108,92,231,0.3);
}
.fg-btn-outline {
  border: 1.5px solid var(--fg-border);
  color: var(--fg-text);
  background: transparent;
}
.fg-btn-outline:hover {
  border-color: var(--fg-purple);
  color: var(--fg-purple);
}
.fg-btn-dark {
  background: var(--fg-bg-dark);
  color: #fff;
}
.fg-btn-dark:hover {
  background: #1a1a25;
  transform: translateY(-2px);
}
.fg-btn svg, .fg-btn .btn-arrow {
  width: 16px; height: 16px;
  transition: transform 0.3s var(--fg-ease);
}
.fg-btn:hover svg, .fg-btn:hover .btn-arrow { transform: translateX(4px); }

/* ===========================
   ANNOUNCEMENT BAR
   =========================== */
.fg-announcement {
  background: var(--fg-bg-dark);
  color: var(--fg-text-light);
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-align: center;
  padding: 10px 20px;
  font-family: var(--fg-font-mono);
  font-weight: 500;
}

/* ===========================
   NAVBAR
   =========================== */
.fg-navbar {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--fg-border);
  transition: all 0.3s var(--fg-ease);
}
.fg-navbar.scrolled {
  box-shadow: var(--fg-shadow-md);
}
.fg-navbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: var(--fg-container-wide);
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 40px);
  height: 72px;
}
.fg-logo img {
  height: 40px;
  width: auto;
}
.fg-logo-text {
  font-family: var(--fg-font-body);
  font-weight: 800;
  font-size: 18px;
  letter-spacing: -0.5px;
  color: var(--fg-text);
}
.fg-footer .fg-logo-text {
  color: #fff;
}
.fg-nav-links {
  display: flex;
  align-items: center;
  gap: 8px;
}
.fg-nav-links a, .fg-nav-link {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 500;
  color: var(--fg-text);
  border-radius: var(--fg-radius);
  transition: all 0.2s;
  position: relative;
}
.fg-nav-links a:hover, .fg-nav-link:hover {
  background: var(--fg-bg-muted);
  color: var(--fg-purple);
}
.fg-nav-link.active {
  color: var(--fg-purple);
}
.fg-nav-right {
  display: flex;
  align-items: center;
  gap: 12px;
}
.fg-cart-btn {
  position: relative;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border-radius: var(--fg-radius);
  font-size: 14px;
  font-weight: 500;
  transition: all 0.2s;
}
.fg-cart-btn:hover { background: var(--fg-bg-muted); }
.fg-cart-count {
  position: absolute;
  top: 2px;
  right: 2px;
  background: var(--fg-purple);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Rainbow accent bar below nav */
.fg-navbar::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg,
    var(--fg-cat-tissue),
    var(--fg-cat-cellular),
    var(--fg-cat-neural),
    var(--fg-cat-metabolic),
    var(--fg-cat-endocrine)
  );
  opacity: 0.7;
}

/* Mega Menu */
.fg-mega-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  background: var(--fg-bg-card);
  border: 1px solid var(--fg-border);
  border-radius: var(--fg-radius-lg);
  box-shadow: var(--fg-shadow-lg);
  padding: 28px;
  min-width: 520px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: all 0.3s var(--fg-ease);
}
.fg-nav-link:hover .fg-mega-menu,
.fg-mega-menu.open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
.fg-mega-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  border-radius: var(--fg-radius);
  transition: background 0.2s;
}
.fg-mega-item:hover { background: var(--fg-bg-muted); }
.fg-mega-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}
.fg-mega-item-title {
  font-weight: 600;
  font-size: 14px;
  color: var(--fg-text);
}
.fg-mega-item-desc {
  font-size: 12px;
  color: var(--fg-text-muted);
  margin-top: 2px;
}
.fg-mega-browse {
  grid-column: 1 / -1;
  border-top: 1px solid var(--fg-border);
  padding-top: 16px;
  margin-top: 4px;
}
.fg-mega-browse a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: 600;
  font-size: 14px;
  color: var(--fg-text);
  padding: 8px 0;
}
.fg-mega-browse a:hover { color: var(--fg-purple); }

/* Mobile Nav */
.fg-mobile-toggle {
  display: none;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
}
.fg-mobile-toggle span {
  width: 22px; height: 2px;
  background: var(--fg-text);
  transition: all 0.3s;
  border-radius: 2px;
}

/* ===========================
   HERO SECTION
   =========================== */
.fg-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(80px, 10vw, 140px) 0;
  min-height: 80vh;
  display: flex;
  align-items: center;
}
.fg-hero-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}
.fg-hero-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--fg-bg-muted);
  border: 1px solid var(--fg-border);
  padding: 6px 14px;
  border-radius: var(--fg-radius-full);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--fg-text-muted);
  margin-bottom: 24px;
}
.fg-hero h1 { margin-bottom: 20px; }
.fg-hero h1 em {
  font-style: normal;
  background: linear-gradient(135deg, var(--fg-purple), var(--fg-cat-endocrine));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.fg-hero-desc {
  font-size: 1.1rem;
  color: var(--fg-text-secondary);
  margin-bottom: 36px;
  max-width: 480px;
}
.fg-hero-btns {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}
.fg-hero-visual {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.fg-hero-product-card {
  position: relative;
  background: var(--fg-bg-card);
  border: 1px solid var(--fg-border);
  border-radius: var(--fg-radius-lg);
  box-shadow: var(--fg-shadow-lg);
  padding: 24px;
  max-width: 360px;
  transform: rotate(-3deg);
  transition: transform 0.5s var(--fg-ease);
}
.fg-hero-product-card:hover { transform: rotate(0deg) scale(1.02); }
.fg-hero-product-card img { border-radius: var(--fg-radius); }

/* Hero floating particles */
.fg-hero-particles {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}
.fg-particle {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  opacity: 0.3;
  animation: fg-float 8s ease-in-out infinite;
}
@keyframes fg-float {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-30px) scale(1.3); }
}

/* ===========================
   BENTO GRID
   =========================== */
.fg-bento {
  padding: 40px 0 var(--fg-section-pad);
}
.fg-bento-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: var(--fg-gap);
}
.fg-bento-card {
  background: var(--fg-bg-card);
  border: 1px solid var(--fg-border);
  border-radius: var(--fg-radius-lg);
  padding: 32px;
  transition: all 0.4s var(--fg-ease);
  overflow: hidden;
  position: relative;
}
.fg-bento-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--fg-shadow-lg);
  border-color: var(--fg-purple-light);
}
.fg-bento-card-title {
  font-family: var(--fg-font-body);
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 8px;
}
.fg-bento-card p {
  font-size: 14px;
  color: var(--fg-text-muted);
}
.fg-bento-card-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--fg-purple);
  margin-top: 16px;
}
.fg-bento-right {
  display: grid;
  gap: var(--fg-gap);
}
.fg-bento-card-images {
  display: flex;
  gap: 12px;
  margin-top: 16px;
}
.fg-bento-card-images img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 10px;
  border: 1px solid var(--fg-border);
}

/* ===========================
   TRUST BAR (Scrolling)
   =========================== */
.fg-trust-bar {
  border-top: 1px solid var(--fg-border);
  border-bottom: 1px solid var(--fg-border);
  padding: 20px 0;
  overflow: hidden;
  white-space: nowrap;
}
.fg-trust-track {
  display: flex;
  gap: 48px;
  animation: fg-scroll 30s linear infinite;
}
.fg-trust-item {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--fg-text-secondary);
  letter-spacing: 0.5px;
}
.fg-trust-dot {
  width: 8px;
  height: 8px;
  background: var(--fg-purple);
  border-radius: 50%;
}
@keyframes fg-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ===========================
   CATEGORIES - STACKING SCROLL
   =========================== */
.fg-categories {
  padding: var(--fg-section-pad) 0 0;
}
.fg-categories-header { margin-bottom: 48px; }
.fg-categories-header h2 { margin-top: 12px; }

.fg-stack-container {
  position: relative;
}
.fg-stack-card {
  position: sticky;
  top: 80px;
  min-height: 80vh;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-radius: var(--fg-radius-lg);
  overflow: hidden;
  margin-bottom: 40px;
  transition: all 0.6s var(--fg-ease);
  will-change: transform;
}
/* Incremental sticky offsets for stacking depth effect */
.fg-stack-card:nth-child(1) { top: 80px; z-index: 5; }
.fg-stack-card:nth-child(2) { top: 100px; z-index: 6; }
.fg-stack-card:nth-child(3) { top: 120px; z-index: 7; }
.fg-stack-card:nth-child(4) { top: 140px; z-index: 8; }
.fg-stack-card:nth-child(5) { top: 160px; z-index: 9; }
.fg-stack-card:nth-child(6) { top: 180px; z-index: 10; }
/* Last card gets extra bottom margin so it unsticks cleanly */
.fg-stack-card:last-child { margin-bottom: 120px; }
.fg-stack-card-content {
  padding: clamp(40px, 5vw, 72px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.fg-stack-card-meta {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}
.fg-stack-card-code {
  font-family: var(--fg-font-mono);
  font-size: 12px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  font-weight: 600;
}
.fg-stack-card-count {
  display: inline-block;
  padding: 4px 12px;
  border-radius: var(--fg-radius-full);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.fg-stack-card-num {
  font-family: var(--fg-font-mono);
  font-size: 13px;
  color: rgba(255,255,255,0.4);
  margin-bottom: 8px;
}
.fg-stack-card h3 {
  font-size: clamp(2rem, 3.5vw, 3rem);
  margin-bottom: 16px;
}
.fg-stack-card p {
  font-size: 15px;
  line-height: 1.7;
  margin-bottom: 28px;
  max-width: 420px;
}
.fg-stack-card-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 32px;
}
.fg-stack-pill {
  padding: 6px 14px;
  border-radius: var(--fg-radius-full);
  font-size: 12px;
  font-weight: 600;
}
.fg-stack-card-visual {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fg-stack-card-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Category Color Themes */
.fg-stack-card[data-category="tissue"] {
  background: linear-gradient(135deg, #1a1025 0%, #2d1b4e 100%);
  color: #fff;
}
.fg-stack-card[data-category="tissue"] .fg-stack-card-code { color: var(--fg-cat-tissue); }
.fg-stack-card[data-category="tissue"] .fg-stack-card-count { background: rgba(108,92,231,0.2); color: var(--fg-cat-tissue); }
.fg-stack-card[data-category="tissue"] .fg-stack-pill { background: rgba(108,92,231,0.15); color: var(--fg-cat-tissue); border: 1px solid rgba(108,92,231,0.3); }
.fg-stack-card[data-category="tissue"] p { color: rgba(255,255,255,0.65); }

.fg-stack-card[data-category="metabolic"] {
  background: linear-gradient(135deg, #1f1a0e 0%, #3d2e12 100%);
  color: #fff;
}
.fg-stack-card[data-category="metabolic"] .fg-stack-card-code { color: var(--fg-cat-metabolic); }
.fg-stack-card[data-category="metabolic"] .fg-stack-card-count { background: rgba(232,160,69,0.2); color: var(--fg-cat-metabolic); }
.fg-stack-card[data-category="metabolic"] .fg-stack-pill { background: rgba(232,160,69,0.15); color: var(--fg-cat-metabolic); border: 1px solid rgba(232,160,69,0.3); }
.fg-stack-card[data-category="metabolic"] p { color: rgba(255,255,255,0.65); }

.fg-stack-card[data-category="neural"] {
  background: linear-gradient(135deg, #0b1f1a 0%, #0f3329 100%);
  color: #fff;
}
.fg-stack-card[data-category="neural"] .fg-stack-card-code { color: var(--fg-cat-neural); }
.fg-stack-card[data-category="neural"] .fg-stack-card-count { background: rgba(0,184,148,0.2); color: var(--fg-cat-neural); }
.fg-stack-card[data-category="neural"] .fg-stack-pill { background: rgba(0,184,148,0.15); color: var(--fg-cat-neural); border: 1px solid rgba(0,184,148,0.3); }
.fg-stack-card[data-category="neural"] p { color: rgba(255,255,255,0.65); }

.fg-stack-card[data-category="endocrine"] {
  background: linear-gradient(135deg, #1f0b17 0%, #3d1230 100%);
  color: #fff;
}
.fg-stack-card[data-category="endocrine"] .fg-stack-card-code { color: var(--fg-cat-endocrine); }
.fg-stack-card[data-category="endocrine"] .fg-stack-card-count { background: rgba(232,67,147,0.2); color: var(--fg-cat-endocrine); }
.fg-stack-card[data-category="endocrine"] .fg-stack-pill { background: rgba(232,67,147,0.15); color: var(--fg-cat-endocrine); border: 1px solid rgba(232,67,147,0.3); }
.fg-stack-card[data-category="endocrine"] p { color: rgba(255,255,255,0.65); }

.fg-stack-card[data-category="cellular"] {
  background: linear-gradient(135deg, #0b1520 0%, #122a42 100%);
  color: #fff;
}
.fg-stack-card[data-category="cellular"] .fg-stack-card-code { color: var(--fg-cat-cellular); }
.fg-stack-card[data-category="cellular"] .fg-stack-card-count { background: rgba(9,132,227,0.2); color: var(--fg-cat-cellular); }
.fg-stack-card[data-category="cellular"] .fg-stack-pill { background: rgba(9,132,227,0.15); color: var(--fg-cat-cellular); border: 1px solid rgba(9,132,227,0.3); }
.fg-stack-card[data-category="cellular"] p { color: rgba(255,255,255,0.65); }

/* ===========================
   PRODUCTS SECTION (Homepage)
   =========================== */
.fg-products-home {
  padding: var(--fg-section-pad) 0;
}
.fg-products-home-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 48px;
}
.fg-products-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: var(--fg-gap);
}

/* ===========================
   PRODUCT CARD
   =========================== */
.fg-product-card {
  position: relative;
  background: var(--fg-bg-card);
  border: 1px solid var(--fg-border);
  border-radius: var(--fg-radius-lg);
  overflow: hidden;
  transition: all 0.4s var(--fg-ease);
}
.fg-product-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--fg-shadow-lg);
  border-color: var(--fg-purple-light);
}
.fg-product-card-image {
  position: relative;
  aspect-ratio: 1;
  background: var(--fg-bg-muted);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 20px;
}
.fg-product-card-image img {
  max-height: 100%;
  object-fit: contain;
  transition: transform 0.5s var(--fg-ease);
}
.fg-product-card:hover .fg-product-card-image img {
  transform: scale(1.05);
}
.fg-product-card-quick {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  background: var(--fg-bg-card);
  border: 1px solid var(--fg-border);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  opacity: 0;
  transform: translateY(8px);
  transition: all 0.3s var(--fg-ease);
}
.fg-product-card:hover .fg-product-card-quick {
  opacity: 1;
  transform: translateY(0);
}
.fg-product-card-info {
  padding: 18px 20px 22px;
}
.fg-product-card-cat {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.fg-product-card-cat .dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  display: inline-block;
}
.fg-product-card-popular {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--fg-cat-metabolic);
  margin-left: 8px;
}
.fg-product-card-name {
  font-family: var(--fg-font-body);
  font-weight: 700;
  font-size: 15px;
  color: var(--fg-text);
  margin-bottom: 4px;
}
.fg-product-card-size {
  font-size: 12px;
  color: var(--fg-text-muted);
  margin-bottom: 6px;
}
.fg-product-card-price {
  font-weight: 700;
  font-size: 15px;
  color: var(--fg-text);
}
.fg-product-card-price del {
  color: var(--fg-text-muted);
  font-weight: 400;
  margin-right: 6px;
}

/* ===========================
   COA SECTION
   =========================== */
.fg-coa-section {
  padding: var(--fg-section-pad) 0;
}
.fg-coa-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}
.fg-coa-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 40px;
}
.fg-coa-stat {
  background: var(--fg-bg-card);
  border: 1px solid var(--fg-border);
  border-radius: var(--fg-radius);
  padding: 24px;
}
.fg-coa-stat-num {
  font-family: var(--fg-font-display);
  font-size: 2.5rem;
  color: var(--fg-purple);
  line-height: 1;
}
.fg-coa-stat-label {
  font-size: 13px;
  color: var(--fg-text-muted);
  margin-top: 6px;
}
.fg-coa-visual {
  background: var(--fg-bg-card);
  border: 1px solid var(--fg-border);
  border-radius: var(--fg-radius-lg);
  padding: 32px;
}
.fg-coa-list-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 0;
  border-bottom: 1px solid var(--fg-border);
}
.fg-coa-list-item:last-child { border-bottom: none; }
.fg-coa-compound {
  font-weight: 600;
  font-size: 15px;
}
.fg-coa-lot {
  font-family: var(--fg-font-mono);
  font-size: 12px;
  color: var(--fg-text-muted);
}
.fg-coa-purity {
  font-family: var(--fg-font-mono);
  font-weight: 700;
  font-size: 18px;
  color: var(--fg-purple);
}

/* ===========================
   DOCUMENTATION SECTION
   =========================== */
.fg-docs {
  padding: var(--fg-section-pad) 0;
  background: var(--fg-bg-dark);
  color: #fff;
}
.fg-docs-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}
.fg-docs p { color: rgba(255,255,255,0.6); }
.fg-docs-features {
  display: grid;
  gap: 16px;
  margin-top: 32px;
}
.fg-docs-feature {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 18px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--fg-radius);
}
.fg-docs-feature-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: rgba(108,92,231,0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--fg-purple-light);
  flex-shrink: 0;
}
.fg-docs-feature-title {
  font-weight: 700;
  font-size: 14px;
  color: #fff;
  margin-bottom: 2px;
}
.fg-docs-feature p { font-size: 13px; color: rgba(255,255,255,0.5); }

/* ===========================
   CTA SECTION
   =========================== */
.fg-cta {
  padding: var(--fg-section-pad) 0;
  text-align: center;
}
.fg-cta h2 { margin-bottom: 16px; }
.fg-cta p { max-width: 520px; margin: 0 auto 36px; }
.fg-cta-btns { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* ===========================
   FOOTER
   =========================== */
.fg-footer {
  background: var(--fg-bg-dark);
  color: var(--fg-text-light);
  padding: 72px 0 0;
}
.fg-footer-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr;
  gap: 40px;
  padding-bottom: 48px;
  border-bottom: 1px solid var(--fg-border-dark);
}
.fg-footer-brand p {
  font-size: 14px;
  color: rgba(255,255,255,0.5);
  margin-top: 16px;
  line-height: 1.6;
}
.fg-footer-brand img { height: 36px; margin-bottom: 4px; }
.fg-footer-col-title {
  font-family: var(--fg-font-mono);
  font-size: 11px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.4);
  margin-bottom: 20px;
  font-weight: 600;
}
.fg-footer-col a {
  display: block;
  font-size: 14px;
  color: rgba(255,255,255,0.65);
  padding: 5px 0;
  transition: color 0.2s;
}
.fg-footer-col a:hover { color: #fff; }
.fg-footer-bottom {
  padding: 28px 0;
  font-size: 12px;
  color: rgba(255,255,255,0.3);
}
.fg-footer-bottom p { color: rgba(255,255,255,0.3); font-size: 12px; }
.fg-footer-disclaimer {
  margin-top: 8px;
  font-size: 11px;
  line-height: 1.5;
  color: rgba(255,255,255,0.25);
}

/* ===========================
   SHOP PAGE
   =========================== */
.fg-shop-header { padding: 48px 0; }
.fg-shop-header h1 { margin-top: 12px; }
.fg-shop-header p { margin-top: 8px; }

.fg-shop-trust-bar {
  display: flex;
  gap: 32px;
  padding: 20px 0;
  border-top: 1px solid var(--fg-border);
  border-bottom: 1px solid var(--fg-border);
  margin-bottom: 40px;
  flex-wrap: wrap;
}
.fg-shop-trust-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
}
.fg-shop-trust-icon {
  width: 32px;
  height: 32px;
  background: var(--fg-bg-muted);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fg-shop-trust-title { font-weight: 600; font-size: 13px; }
.fg-shop-trust-desc { font-size: 11px; color: var(--fg-text-muted); }

.fg-shop-layout {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 40px;
  padding-bottom: var(--fg-section-pad);
}

/* Sticky Sidebar */
.fg-shop-sidebar {
  position: sticky;
  top: 100px;
  align-self: start;
}
.fg-sidebar-filters {
  background: var(--fg-bg-card);
  border: 1px solid var(--fg-border);
  border-radius: var(--fg-radius-lg);
  overflow: hidden;
}
.fg-filter-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.2s;
  border-left: 3px solid transparent;
}
.fg-filter-item:hover { background: var(--fg-bg-muted); }
.fg-filter-item.active {
  background: var(--fg-purple);
  color: #fff;
  border-radius: var(--fg-radius-full);
  margin: 4px 8px;
  border-left-color: transparent;
}
.fg-filter-item .dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  margin-right: 10px;
  display: inline-block;
}
.fg-filter-count {
  font-size: 12px;
  font-weight: 600;
  color: var(--fg-text-muted);
}
.fg-filter-item.active .fg-filter-count { color: rgba(255,255,255,0.7); }

.fg-sidebar-quiz {
  margin-top: 20px;
  padding: 20px;
  background: var(--fg-bg-card);
  border: 1px solid var(--fg-border);
  border-radius: var(--fg-radius-lg);
  text-align: center;
}
.fg-sidebar-quiz a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-weight: 600;
  font-size: 14px;
  color: var(--fg-purple);
}

/* Search & sort */
.fg-shop-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  gap: 16px;
}
.fg-shop-search {
  flex: 1;
  max-width: 420px;
  position: relative;
}
.fg-shop-search input {
  width: 100%;
  padding: 12px 16px 12px 44px;
  border: 1px solid var(--fg-border);
  border-radius: var(--fg-radius);
  font-size: 14px;
  font-family: var(--fg-font-body);
  background: var(--fg-bg-card);
  transition: border-color 0.2s;
}
.fg-shop-search input:focus {
  outline: none;
  border-color: var(--fg-purple);
}
.fg-shop-search-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--fg-text-muted);
}
.fg-shop-sort select {
  padding: 12px 16px;
  border: 1px solid var(--fg-border);
  border-radius: var(--fg-radius);
  font-size: 14px;
  font-family: var(--fg-font-body);
  background: var(--fg-bg-card);
  cursor: pointer;
}

/* ===========================
   SINGLE PRODUCT PAGE
   =========================== */
.fg-single-product { padding: 32px 0 var(--fg-section-pad); }
.fg-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--fg-text-muted);
  margin-bottom: 32px;
}
.fg-breadcrumbs a:hover { color: var(--fg-purple); }
.fg-breadcrumbs .sep { color: var(--fg-text-muted); }

.fg-product-top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start;
}
.fg-product-gallery {
  position: sticky;
  top: 100px;
}
.fg-product-main-img {
  background: var(--fg-bg-muted);
  border: 1px solid var(--fg-border);
  border-radius: var(--fg-radius-lg);
  padding: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fg-product-thumbnails {
  display: flex;
  gap: 12px;
  margin-top: 16px;
}
.fg-product-thumbnails img {
  width: 64px;
  height: 64px;
  object-fit: contain;
  border: 1px solid var(--fg-border);
  border-radius: 10px;
  padding: 8px;
  cursor: pointer;
  transition: border-color 0.2s;
}
.fg-product-thumbnails img:hover,
.fg-product-thumbnails img.active { border-color: var(--fg-purple); }

.fg-product-details-header .fg-label { margin-bottom: 8px; }
.fg-product-title {
  font-size: clamp(2rem, 3vw, 2.8rem);
  margin-bottom: 12px;
}
.fg-product-ruo {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  background: var(--fg-bg-muted);
  border: 1px solid var(--fg-border);
  border-radius: var(--fg-radius-full);
  font-size: 12px;
  font-weight: 600;
  color: var(--fg-text-secondary);
  margin-bottom: 20px;
}
.fg-product-meta {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  font-family: var(--fg-font-mono);
  font-size: 13px;
  color: var(--fg-text-secondary);
  margin-bottom: 24px;
}
.fg-product-meta strong { color: var(--fg-purple); }

.fg-product-add-to-cart {
  background: var(--fg-bg-card);
  border: 1px solid var(--fg-border);
  border-radius: var(--fg-radius-lg);
  padding: 28px;
  margin-bottom: 32px;
}
.fg-product-variants {
  display: flex;
  gap: 8px;
  margin-bottom: 20px;
}
.fg-variant-btn {
  padding: 10px 20px;
  border: 1.5px solid var(--fg-border);
  border-radius: var(--fg-radius);
  font-size: 14px;
  font-weight: 600;
  transition: all 0.2s;
}
.fg-variant-btn.active, .fg-variant-btn:hover {
  border-color: var(--fg-purple);
  background: rgba(108,92,231,0.08);
  color: var(--fg-purple);
}
.fg-add-to-cart-btn {
  width: 100%;
  padding: 16px;
  background: var(--fg-purple);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  border-radius: var(--fg-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition: all 0.3s var(--fg-ease);
}
.fg-add-to-cart-btn:hover {
  background: var(--fg-purple-dark);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(108,92,231,0.3);
}

/* Product content sections */
.fg-product-section {
  padding: 32px 0;
  border-top: 1px solid var(--fg-border);
}
.fg-product-section-title {
  font-family: var(--fg-font-mono);
  font-size: 11px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--fg-text-muted);
  margin-bottom: 16px;
  font-weight: 600;
}
.fg-product-section ul li {
  padding: 6px 0;
  padding-left: 16px;
  position: relative;
  font-size: 14px;
  color: var(--fg-text-secondary);
}
.fg-product-section ul li::before {
  content: '›';
  position: absolute;
  left: 0;
  color: var(--fg-purple);
  font-weight: 700;
}
.fg-product-related { padding: var(--fg-section-pad) 0; }
.fg-product-related h2 { margin-bottom: 32px; }

/* ===========================
   CART DRAWER
   =========================== */
.fg-cart-drawer {
  position: fixed;
  top: 0;
  right: 0;
  width: 440px;
  max-width: 90vw;
  height: 100vh;
  background: var(--fg-bg-card);
  box-shadow: -8px 0 40px rgba(0,0,0,0.15);
  z-index: 2000;
  transform: translateX(100%);
  transition: transform 0.4s var(--fg-ease);
  display: flex;
  flex-direction: column;
}
.fg-cart-drawer.open { transform: translateX(0); }
.fg-cart-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.4);
  z-index: 1999;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s;
}
.fg-cart-overlay.open { opacity: 1; visibility: visible; }
.fg-cart-drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px 28px;
  border-bottom: 1px solid var(--fg-border);
}
.fg-cart-drawer-header h3 {
  font-family: var(--fg-font-body);
  font-weight: 700;
  font-size: 18px;
}
.fg-cart-drawer-close {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid var(--fg-border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  transition: all 0.2s;
}
.fg-cart-drawer-close:hover { background: var(--fg-bg-muted); }
.fg-cart-drawer-items { flex: 1; overflow-y: auto; padding: 24px 28px; }
.fg-cart-drawer-footer {
  padding: 24px 28px;
  border-top: 1px solid var(--fg-border);
}
.fg-checkout-btn {
  display: block;
  width: 100%;
  padding: 16px;
  background: var(--fg-purple);
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  text-align: center;
  border-radius: var(--fg-radius);
  letter-spacing: 0.5px;
  transition: all 0.3s var(--fg-ease);
}
.fg-checkout-btn:hover {
  background: var(--fg-purple-dark);
}

/* ===========================
   QUICK VIEW MODAL
   =========================== */
.fg-quickview {
  position: fixed;
  top: 0;
  right: 0;
  width: 500px;
  max-width: 90vw;
  height: 100vh;
  background: var(--fg-bg-card);
  z-index: 2000;
  transform: translateX(100%);
  transition: transform 0.4s var(--fg-ease);
  overflow-y: auto;
  box-shadow: -8px 0 40px rgba(0,0,0,0.15);
}
.fg-quickview.open { transform: translateX(0); }
.fg-quickview-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid var(--fg-border);
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--fg-bg-card);
  z-index: 10;
  font-size: 18px;
}

/* ===========================
   COA LIBRARY PAGE
   =========================== */
.fg-coa-page { padding: 48px 0 var(--fg-section-pad); }
.fg-coa-page h1 { margin-top: 12px; margin-bottom: 32px; }
.fg-coa-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
}
.fg-coa-card {
  background: var(--fg-bg-card);
  border: 1px solid var(--fg-border);
  border-radius: var(--fg-radius);
  padding: 24px;
  transition: all 0.3s var(--fg-ease);
}
.fg-coa-card:hover {
  border-color: var(--fg-purple-light);
  box-shadow: var(--fg-shadow-md);
}
.fg-coa-card-name {
  font-weight: 700;
  font-size: 16px;
  margin-bottom: 12px;
}
.fg-coa-card .fg-btn {
  width: 100%;
  justify-content: center;
  padding: 12px;
}

/* ===========================
   CALCULATOR PAGE
   =========================== */
.fg-calculator-page { padding: 48px 0 var(--fg-section-pad); }
.fg-calculator-page h1 { margin-top: 12px; margin-bottom: 8px; }
.fg-calc-box {
  max-width: 900px;
  margin: 48px auto 0;
  background: var(--fg-bg-card);
  border: 1px solid var(--fg-border);
  border-radius: var(--fg-radius-lg);
  padding: 48px;
}
.fg-calc-title {
  text-align: center;
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  margin-bottom: 8px;
}
.fg-calc-desc {
  text-align: center;
  margin-bottom: 36px;
}
.fg-calc-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 28px;
}
.fg-calc-group h4 {
  font-family: var(--fg-font-body);
  font-weight: 700;
  font-size: 16px;
  margin-bottom: 6px;
}
.fg-calc-label {
  font-family: var(--fg-font-mono);
  font-size: 11px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--fg-purple);
  font-weight: 600;
  margin-bottom: 12px;
}
.fg-calc-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 16px;
}
.fg-calc-option {
  padding: 10px;
  border: 1.5px solid var(--fg-border);
  border-radius: var(--fg-radius);
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
}
.fg-calc-option:hover { border-color: var(--fg-purple); }
.fg-calc-option.active {
  background: var(--fg-purple);
  color: #fff;
  border-color: var(--fg-purple);
}
.fg-calc-input {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid var(--fg-border);
  border-radius: var(--fg-radius);
  font-family: var(--fg-font-body);
  font-size: 14px;
}
.fg-calc-btn-wrap { text-align: center; margin-top: 32px; }
.fg-calc-results {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 32px;
}
.fg-calc-result {
  background: var(--fg-bg-muted);
  border: 1px solid var(--fg-border);
  border-radius: var(--fg-radius);
  padding: 20px;
  text-align: center;
}
.fg-calc-result-num {
  font-family: var(--fg-font-display);
  font-size: 2rem;
  color: var(--fg-text);
}
.fg-calc-result-label {
  font-family: var(--fg-font-mono);
  font-size: 10px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--fg-purple);
  font-weight: 700;
  margin-top: 4px;
}

/* ===========================
   CONTACT PAGE
   =========================== */
.fg-contact-page { padding: 48px 0 var(--fg-section-pad); }
.fg-contact-page h1 { margin-top: 12px; margin-bottom: 8px; }
.fg-contact-layout {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 60px;
  margin-top: 48px;
}
.fg-contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.fg-contact-form .full { grid-column: 1 / -1; }
.fg-form-group label {
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--fg-text-muted);
  margin-bottom: 8px;
}
.fg-form-group input,
.fg-form-group select,
.fg-form-group textarea {
  width: 100%;
  padding: 14px 18px;
  border: 1px solid var(--fg-border);
  border-radius: var(--fg-radius);
  font-family: var(--fg-font-body);
  font-size: 14px;
  transition: border-color 0.2s;
  background: var(--fg-bg-card);
}
.fg-form-group input:focus,
.fg-form-group select:focus,
.fg-form-group textarea:focus {
  outline: none;
  border-color: var(--fg-purple);
}
.fg-form-group textarea { min-height: 140px; resize: vertical; }
.fg-contact-sidebar { display: flex; flex-direction: column; gap: 20px; }
.fg-contact-card {
  background: var(--fg-bg-card);
  border: 1px solid var(--fg-border);
  border-radius: var(--fg-radius-lg);
  padding: 28px;
}
.fg-contact-card h4 {
  font-family: var(--fg-font-body);
  font-weight: 700;
  font-size: 18px;
  margin-bottom: 16px;
}
.fg-contact-info-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  font-size: 14px;
}
.fg-contact-info-icon {
  width: 36px;
  height: 36px;
  background: var(--fg-bg-muted);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--fg-purple);
}
.fg-contact-links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0;
  border-bottom: 1px solid var(--fg-border);
  font-size: 14px;
}
.fg-contact-links a:last-child { border-bottom: none; }
.fg-contact-links a:hover { color: var(--fg-purple); }

/* ===========================
   FAQ PAGE
   =========================== */
.fg-faq-page { padding: 48px 0 var(--fg-section-pad); }
.fg-faq-page h1 { margin-top: 12px; margin-bottom: 48px; }
.fg-faq-list { max-width: 760px; }
.fg-faq-item {
  border: 1px solid var(--fg-border);
  border-radius: var(--fg-radius);
  margin-bottom: 12px;
  overflow: hidden;
}
.fg-faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  transition: background 0.2s;
  width: 100%;
  text-align: left;
}
.fg-faq-question:hover { background: var(--fg-bg-muted); }
.fg-faq-icon {
  font-size: 20px;
  transition: transform 0.3s;
  color: var(--fg-purple);
}
.fg-faq-item.open .fg-faq-icon { transform: rotate(45deg); }
.fg-faq-answer {
  padding: 0 24px;
  max-height: 0;
  overflow: hidden;
  transition: all 0.3s var(--fg-ease);
}
.fg-faq-item.open .fg-faq-answer {
  max-height: 500px;
  padding: 0 24px 24px;
}
.fg-faq-answer p { font-size: 14px; line-height: 1.7; }

/* ===========================
   ABOUT / SCIENCE PAGE
   =========================== */
.fg-about-page { padding: 48px 0 var(--fg-section-pad); }
.fg-about-page h1 { margin-top: 12px; margin-bottom: 16px; }
.fg-about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 48px;
}
.fg-about-card {
  border: 1px solid var(--fg-border);
  border-radius: var(--fg-radius-lg);
  padding: 36px;
  transition: all 0.3s var(--fg-ease);
}
.fg-about-card:hover {
  border-color: var(--fg-purple-light);
  box-shadow: var(--fg-shadow-md);
  transform: translateY(-4px);
}
.fg-about-card-num {
  font-family: var(--fg-font-mono);
  font-size: 13px;
  color: var(--fg-purple);
  margin-bottom: 12px;
}
.fg-about-card h3 { margin-bottom: 12px; }
.fg-about-card p { font-size: 14px; }

/* ===========================
   AFFILIATE PAGE
   =========================== */
.fg-affiliate-page { padding: 48px 0 var(--fg-section-pad); }
.fg-affiliate-page h1 { margin-top: 12px; margin-bottom: 8px; }
.fg-affiliate-box {
  max-width: 700px;
  margin: 48px auto 0;
  text-align: center;
}
.fg-affiliate-box h2 { margin-bottom: 20px; }
.fg-affiliate-form {
  margin-top: 36px;
  text-align: left;
}
.fg-affiliate-form .fg-form-group { margin-bottom: 20px; }

/* ===========================
   POLICY / GENERIC PAGE
   =========================== */
.fg-page-generic { padding: 48px 0 var(--fg-section-pad); }
.fg-page-generic h1 { margin-top: 12px; margin-bottom: 32px; }
.fg-page-content {
  max-width: 760px;
}
.fg-page-content p { margin-bottom: 16px; }
.fg-page-content h2, .fg-page-content h3 { margin-top: 32px; margin-bottom: 12px; }
.fg-page-content ul { padding-left: 20px; margin-bottom: 16px; }
.fg-page-content ul li {
  position: relative;
  padding: 4px 0 4px 16px;
  font-size: 14px;
  color: var(--fg-text-secondary);
}
.fg-page-content ul li::before {
  content: '›';
  position: absolute;
  left: 0;
  color: var(--fg-purple);
  font-weight: 700;
}

/* ===========================
   AGE VERIFICATION POPUP
   =========================== */
.fg-age-popup {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0,0,0,0.7);
  backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s;
}
.fg-age-popup.active { opacity: 1; visibility: visible; }
.fg-age-popup-box {
  background: var(--fg-bg-card);
  border-radius: var(--fg-radius-lg);
  padding: 48px;
  max-width: 500px;
  text-align: center;
  box-shadow: var(--fg-shadow-lg);
}
.fg-age-popup-box img { height: 40px; margin: 0 auto 24px; }
.fg-age-popup-box h2 {
  font-size: 1.5rem;
  margin-bottom: 8px;
}
.fg-age-popup-box p {
  margin-bottom: 28px;
  font-size: 14px;
}
.fg-age-btns {
  display: flex;
  gap: 12px;
  justify-content: center;
}
.fg-age-btns .fg-btn { min-width: 120px; justify-content: center; }

/* ===========================
   WHOLESALE BANNER
   =========================== */
.fg-wholesale {
  background: var(--fg-bg-muted);
  border: 1px solid var(--fg-border);
  border-radius: var(--fg-radius-lg);
  padding: 32px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: var(--fg-section-pad);
}
.fg-wholesale-label {
  font-family: var(--fg-font-mono);
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--fg-purple);
  font-weight: 600;
  margin-bottom: 8px;
}
.fg-wholesale h3 { margin-bottom: 4px; }
.fg-wholesale p { font-size: 14px; }

/* ===========================
   RUO DISCLAIMER BOX
   =========================== */
.fg-ruo-box {
  background: var(--fg-bg-muted);
  border: 1px solid var(--fg-border);
  border-radius: var(--fg-radius);
  padding: 24px;
  margin-top: 32px;
}
.fg-ruo-box-title {
  font-family: var(--fg-font-mono);
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 8px;
}
.fg-ruo-box p { font-size: 13px; color: var(--fg-text-muted); }

/* ===========================
   SCROLL ANIMATIONS
   =========================== */
.fg-reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: all 0.8s var(--fg-ease);
}
.fg-reveal.visible {
  opacity: 1;
  transform: translateY(0);
}
.fg-reveal-left {
  opacity: 0;
  transform: translateX(-40px);
  transition: all 0.8s var(--fg-ease);
}
.fg-reveal-left.visible {
  opacity: 1;
  transform: translateX(0);
}
.fg-reveal-right {
  opacity: 0;
  transform: translateX(40px);
  transition: all 0.8s var(--fg-ease);
}
.fg-reveal-right.visible {
  opacity: 1;
  transform: translateX(0);
}
.fg-reveal-scale {
  opacity: 0;
  transform: scale(0.92);
  transition: all 0.8s var(--fg-ease);
}
.fg-reveal-scale.visible {
  opacity: 1;
  transform: scale(1);
}

/* Stagger children */
.fg-stagger > * { transition-delay: calc(var(--i, 0) * 0.08s); }

/* ===========================
   RESPONSIVE
   =========================== */
@media (max-width: 1024px) {
  .fg-hero-inner { grid-template-columns: 1fr; }
  .fg-hero-visual { display: none; }
  .fg-shop-layout { grid-template-columns: 200px 1fr; }
  .fg-product-top { grid-template-columns: 1fr; gap: 32px; }
  .fg-product-gallery { position: static; }
  .fg-coa-inner { grid-template-columns: 1fr; }
  .fg-docs-inner { grid-template-columns: 1fr; }
  .fg-contact-layout { grid-template-columns: 1fr; }
  .fg-footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .fg-stack-card { grid-template-columns: 1fr; min-height: auto; position: relative; top: auto !important; }
  .fg-stack-card-visual { min-height: 300px; }
  .fg-bento-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .fg-nav-links { display: none; }
  .fg-mobile-toggle { display: flex; }
  .fg-shop-layout { grid-template-columns: 1fr; }
  .fg-shop-sidebar { position: static; }
  .fg-sidebar-filters {
    display: flex;
    overflow-x: auto;
    gap: 0;
    border-radius: var(--fg-radius);
  }
  .fg-filter-item { white-space: nowrap; }
  .fg-calc-grid { grid-template-columns: 1fr; }
  .fg-calc-results { grid-template-columns: 1fr 1fr; }
  .fg-products-grid { grid-template-columns: repeat(2, 1fr); }
  .fg-footer-grid { grid-template-columns: 1fr; }
  .fg-wholesale { flex-direction: column; text-align: center; gap: 20px; }
  .fg-coa-stats { grid-template-columns: 1fr; }
  .fg-about-grid { grid-template-columns: 1fr; }
  .fg-hero-btns { flex-direction: column; }
}
@media (max-width: 480px) {
  .fg-products-grid { grid-template-columns: 1fr; }
  .fg-cart-drawer { width: 100vw; }
}

/* ===========================
   WOOCOMMERCE OVERRIDES
   =========================== */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-radius: var(--fg-radius);
  border-color: var(--fg-purple) !important;
}
.woocommerce-message::before { color: var(--fg-purple) !important; }
.woocommerce .button,
.woocommerce input[type="submit"] {
  background: var(--fg-purple) !important;
  color: #fff !important;
  border-radius: var(--fg-radius) !important;
  font-family: var(--fg-font-body) !important;
  font-weight: 600 !important;
  padding: 12px 24px !important;
  border: none !important;
}
.woocommerce .button:hover {
  background: var(--fg-purple-dark) !important;
}
.woocommerce-pagination { text-align: center; margin-top: 48px; }
.woocommerce-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  font-size: 14px;
  font-weight: 600;
  margin: 0 4px;
  transition: all 0.2s;
}
.woocommerce-pagination .page-numbers.current {
  background: var(--fg-purple);
  color: #fff;
}
.woocommerce-pagination .page-numbers:hover {
  background: var(--fg-bg-muted);
}

/* Remove default WC styles we don't want */
.woocommerce-breadcrumb { display: none !important; }
.woocommerce-result-count { display: none !important; }
.woocommerce-ordering { display: none !important; }

/* ===========================
   FEELGOOD REFINEMENTS: distinctive FeelGood look
   =========================== */
:root {
  --fg-purple: #5f4df6;
  --fg-purple-light: #9b8cff;
  --fg-purple-dark: #432fd1;
  --fg-bg: #fbfbff;
  --fg-bg-muted: #f1f4fb;
  --fg-border: #e1e5f0;
  --fg-radius: 14px;
  --fg-radius-lg: 26px;
  --fg-shadow-lg: 0 18px 55px rgba(41, 37, 90, 0.13);
}
body { background: radial-gradient(circle at top left, rgba(95,77,246,.08), transparent 34rem), var(--fg-bg); }
.fg-navbar {
  top: 14px;
  width: min(calc(100% - 40px), 1240px);
  margin: 0 auto;
  border: 1px solid rgba(225,229,240,.9);
  border-radius: 0 0 22px 22px;
  box-shadow: 0 14px 38px rgba(25, 23, 55, .08);
  transition: all .25s var(--fg-ease);
}
body.admin-bar .fg-navbar { top: 46px; }
.fg-navbar.scrolled { background: rgba(255,255,255,.96); box-shadow: 0 18px 50px rgba(25,23,55,.14); }
.fg-announcement + .fg-navbar { margin-top: 0; }
.fg-logo img { max-height: 52px; object-fit: contain; }
.fg-hero { padding-top: 96px; background: linear-gradient(135deg, rgba(95,77,246,.08), rgba(0,184,148,.05) 44%, transparent); }
.fg-hero h1 em { font-style: normal; background: linear-gradient(90deg, var(--fg-purple), #13bfa2); -webkit-background-clip: text; color: transparent; }
.fg-product-card { border-radius: 24px; box-shadow: 0 10px 30px rgba(28,26,62,.06); }
.fg-product-card-image { background: linear-gradient(150deg, #f4f6fb, #e9edf7); border-radius: 22px; margin: 12px; }
.fg-product-card-info { padding-top: 8px; }
.fg-filter-item.active { background: linear-gradient(135deg, var(--fg-purple), #7f73ff); }
.fg-shop-frame {
  background: rgba(255,255,255,.68);
  border: 1px solid rgba(225,229,240,.9);
  border-radius: 30px;
  padding: clamp(18px, 3vw, 32px);
  box-shadow: 0 22px 70px rgba(32, 27, 84, .08);
}
.fg-products-results.loading { opacity: .45; pointer-events: none; min-height: 240px; }
.fg-no-products { grid-column: 1 / -1; padding: 48px 0; text-align: center; color: var(--fg-text-muted); }
.fg-age-locked { overflow: hidden; }
.fg-age-popup { background: rgba(12,14,30,.78); }
.fg-age-popup-box { border: 1px solid rgba(255,255,255,.3); box-shadow: 0 24px 90px rgba(0,0,0,.32); }

/* Quick-view product drawer */
.fg-qv-overlay {
  position: fixed;
  inset: 0;
  z-index: 9996;
  background: rgba(10,10,15,.55);
  backdrop-filter: blur(5px);
  opacity: 0;
  visibility: hidden;
  transition: all .25s var(--fg-ease);
}
.fg-qv-overlay.open { opacity: 1; visibility: visible; }
.fg-qv-drawer {
  position: fixed;
  top: 0;
  right: 0;
  width: min(520px, 100vw);
  height: 100vh;
  z-index: 9997;
  background: var(--fg-bg-card);
  box-shadow: -24px 0 70px rgba(10,10,15,.2);
  transform: translateX(105%);
  transition: transform .35s var(--fg-ease);
  overflow-y: auto;
}
.fg-qv-drawer.open { transform: translateX(0); }
.fg-qv-close {
  position: sticky;
  top: 18px;
  margin-left: auto;
  margin-right: 18px;
  z-index: 2;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--fg-bg-muted);
  font-size: 28px;
  color: var(--fg-text-secondary);
  display: flex;
  align-items: center;
  justify-content: center;
}
.fg-qv-content { padding: 18px 28px 36px; }
.fg-qv-product h2 { margin: 8px 0 24px; font-size: clamp(1.8rem, 4vw, 2.4rem); }
.fg-qv-image {
  background: linear-gradient(145deg, #f2f4fa, #e8edf6);
  border-radius: 28px;
  padding: 32px;
  margin-bottom: 22px;
  min-height: 310px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fg-qv-image img { max-height: 330px; object-fit: contain; }
.fg-qv-meta { display: grid; gap: 10px; margin-bottom: 20px; font-size: 14px; }
.fg-qv-price { font-size: 18px; font-weight: 800; color: var(--fg-text); }
.fg-qv-details { display: block; text-align: center; margin-top: 18px; color: var(--fg-purple); font-weight: 700; }
.fg-qv-loading { padding: 80px 0; text-align: center; color: var(--fg-text-muted); }

@media (max-width: 900px) {
  .fg-navbar { top: 0; width: 100%; border-radius: 0; }
  .fg-shop-layout { grid-template-columns: 1fr; }
  .fg-shop-sidebar { position: static; }
  .fg-shop-controls { flex-direction: column; align-items: stretch; }
  .fg-shop-search { max-width: none; }
}

/* v1.2 editable pages + blog + performance-friendly typography */
body, button, input, textarea, select { font-family: 'Avenir Next','Montserrat','Inter','Segoe UI',Arial,sans-serif; }
.fg-page-content { max-width: 860px; color: var(--fg-text, #111); line-height: 1.75; }
.fg-page-content h2, .fg-page-content h3 { margin-top: 1.5em; }
.fg-page-content img { max-width: 100%; height: auto; border-radius: 24px; }
.fg-blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.fg-blog-card { background: rgba(255,255,255,.86); border: 1px solid rgba(17,17,24,.08); border-radius: 28px; overflow: hidden; box-shadow: 0 18px 50px rgba(20,20,35,.06); }
.fg-blog-thumb { display:block; aspect-ratio: 16/10; background: #f4f4f7; overflow:hidden; }
.fg-blog-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.fg-blog-card-content { padding: 24px; }
.fg-blog-card h2 { font-size: clamp(22px, 2vw, 30px); margin: 8px 0 12px; letter-spacing: -.04em; }
.fg-blog-card h2 a { color: inherit; text-decoration: none; }
.fg-pagination .page-numbers { display:inline-flex; min-width:40px; height:40px; align-items:center; justify-content:center; margin-right:8px; border-radius:999px; border:1px solid rgba(17,17,24,.1); text-decoration:none; }
.fg-pagination .current { background:#111; color:#fff; }
.fg-single-thumb img { width:100%; height:auto; border-radius:32px; }
@media (max-width: 900px) { .fg-blog-grid { grid-template-columns: 1fr; } }

/* v4 customization improvements: bento imagery, category text, COA controls, refined mega menu */
.fg-bento-card { overflow: hidden; }
.fg-bento-image { width: 100%; height: 150px; border-radius: 18px; overflow: hidden; margin-bottom: 22px; background: linear-gradient(135deg, rgba(108,92,231,.08), rgba(0,184,148,.08)); border: 1px solid rgba(108,92,231,.12); }
.fg-bento-image-main { height: 260px; }
.fg-bento-image img { width: 100%; height: 100%; object-fit: cover; display: block; transform: scale(1.001); transition: transform .35s var(--fg-ease); }
.fg-bento-card:hover .fg-bento-image img { transform: scale(1.045); }
.fg-bento-card-main .fg-bento-card-images { margin-top: 26px; }

.fg-mega-menu-v2 {
  min-width: min(760px, calc(100vw - 48px));
  grid-template-columns: 1fr;
  gap: 16px;
  padding: 18px;
  border-radius: 28px;
  box-shadow: 0 28px 90px rgba(20, 20, 40, .18);
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(18px);
}
.fg-mega-head { display:flex; align-items:center; justify-content:space-between; padding: 10px 12px 14px; border-bottom: 1px solid var(--fg-border); }
.fg-mega-head strong { display:block; color: var(--fg-text); font-size: 18px; letter-spacing: -.03em; }
.fg-mega-eyebrow { display:block; color: var(--fg-purple); text-transform: uppercase; letter-spacing: .14em; font-size: 11px; font-weight: 800; margin-bottom: 3px; }
.fg-mega-count { padding: 7px 12px; border-radius: 999px; background: var(--fg-bg-muted); color: var(--fg-text-muted); font-size: 12px; font-weight: 700; }
.fg-mega-grid { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.fg-mega-menu-v2 .fg-mega-item { position:relative; align-items:flex-start; padding: 16px; border:1px solid transparent; background: linear-gradient(135deg, rgba(250,250,255,.9), rgba(255,255,255,.9)); }
.fg-mega-menu-v2 .fg-mega-item:hover { background:#fff; border-color: color-mix(in srgb, var(--mega-color) 32%, transparent); box-shadow: 0 14px 34px rgba(30,30,60,.08); transform: translateY(-2px); }
.fg-mega-menu-v2 .fg-mega-icon { background: color-mix(in srgb, var(--mega-color) 16%, #fff); color: var(--mega-color); border: 1px solid color-mix(in srgb, var(--mega-color) 24%, transparent); width: 48px; height: 48px; border-radius: 16px; }
.fg-mega-arrow { margin-left:auto; color: var(--mega-color); opacity: 0; transform: translateX(-4px); transition: all .2s var(--fg-ease); font-weight: 900; }
.fg-mega-item:hover .fg-mega-arrow { opacity:1; transform: translateX(0); }
.fg-mega-menu-v2 .fg-mega-item-title { font-size: 15px; font-weight: 800; letter-spacing: -.02em; }
.fg-mega-menu-v2 .fg-mega-item-desc { font-size: 13px; line-height: 1.45; max-width: 230px; }
.fg-mega-menu-v2 .fg-mega-browse { padding: 0; margin: 0; border-top: 0; }
.fg-mega-menu-v2 .fg-mega-browse a { padding: 16px 18px; border-radius: 18px; background: linear-gradient(90deg, rgba(108,92,231,.10), rgba(0,184,148,.10)); }
.fg-mega-menu-v2 .fg-mega-browse a small { color: var(--fg-text-muted); font-weight: 600; margin-left: auto; margin-right: 14px; }
.fg-mega-menu-v2 .fg-mega-browse a b { font-size: 20px; }
@media (max-width: 760px) { .fg-mega-grid { grid-template-columns: 1fr; } .fg-mega-menu-v2 { min-width: calc(100vw - 32px); } }

/* Lighthouse/accessibility helpers */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
.fg-product-card-cat,.fg-product-card-size,.fg-label,.fg-trust-item,p{color:#4b5565}
.fg-btn-primary{color:#fff}
.fg-bento-card-link,.fg-mega-eyebrow{color:#3f2fff}
.fg-stack-card p,.fg-stack-card .fg-stack-card-count{color:rgba(255,255,255,.82)}
img{max-width:100%;height:auto}

/* v6 page template rendering fixes */
.fg-page-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,420px);gap:clamp(28px,5vw,72px);align-items:center;}
.fg-page-hero-image{border-radius:32px;overflow:hidden;background:linear-gradient(135deg,rgba(108,92,231,.08),rgba(0,184,148,.08));border:1px solid var(--fg-border);box-shadow:var(--fg-shadow-lg);}
.fg-page-hero-image img{width:100%;height:100%;max-height:420px;object-fit:cover;}
.fg-page-content table{width:100%;border-collapse:collapse;margin:24px 0;background:#fff;border-radius:18px;overflow:hidden;border:1px solid var(--fg-border);}
.fg-page-content th,.fg-page-content td{padding:14px 16px;border-bottom:1px solid var(--fg-border);text-align:left;}
.fg-map-embed iframe{width:100%;border:0;border-radius:18px;}
@media(max-width:900px){.fg-page-hero{grid-template-columns:1fr}.fg-page-hero-image img{max-height:none}}

/* Editable shop/category trust feature icons */
.fg-shop-trust-img{width:18px;height:18px;object-fit:contain;display:block}
@media (max-width: 768px){.fg-shop-trust-bar{gap:16px}.fg-shop-trust-item{min-width:calc(50% - 16px)}}

/* Modern side cart drawer */
.fg-cart-drawer-modern {
  width: min(500px, 100vw);
  background: #fff;
  display: flex;
  flex-direction: column;
  box-shadow: -24px 0 80px rgba(17,17,24,.18);
}
.fg-cart-modern-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:28px 28px 22px;
  border-bottom:1px solid var(--fg-border);
}
.fg-cart-title-wrap{display:flex;align-items:center;gap:10px;}
.fg-cart-title-icon{color:var(--fg-purple);font-size:20px;line-height:1;}
.fg-cart-modern-header h3{font-size:24px;margin:0;letter-spacing:-.04em;}
.fg-cart-pill{min-width:25px;height:25px;border-radius:999px;background:var(--fg-purple);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;}
.fg-cart-drawer-close{width:54px;height:54px;border-radius:50%;border:1px solid var(--fg-border);background:#fff;font-size:26px;line-height:1;color:#9aa2b2;display:flex;align-items:center;justify-content:center;}
.fg-cart-drawer-close:hover{background:#f7f7fb;color:var(--fg-text);}
.fg-cart-shipping-meter{padding:18px 28px 14px;border-bottom:1px solid var(--fg-border);}
.fg-cart-shipping-text{font-size:15px;color:#4b5565;margin-bottom:10px;}
.fg-cart-shipping-text strong{color:var(--fg-purple);}
.fg-cart-meter-track{height:8px;border-radius:999px;background:#eef0f6;overflow:hidden;}
.fg-cart-meter-track span{display:block;height:100%;border-radius:999px;background:var(--fg-purple);transition:width .25s var(--fg-ease);}
.fg-cart-drawer-modern .fg-cart-drawer-items{padding:22px 28px;overflow:auto;flex:1;}
.fg-cart-modern-item{display:flex;gap:14px;padding:16px;border-radius:28px;background:#f2f4f8;margin-bottom:16px;}
.fg-cart-product-media{width:58px;min-width:58px;height:58px;border-radius:18px;background:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.fg-cart-product-media img{width:100%;height:100%;object-fit:cover;}
.fg-cart-product-main{flex:1;min-width:0;}
.fg-cart-product-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px;}
.fg-cart-product-name{font-size:17px;font-weight:800;letter-spacing:-.03em;display:flex;align-items:center;gap:8px;color:var(--fg-text);}
.fg-cart-dot{width:10px;height:10px;border-radius:50%;background:#4ccf86;display:inline-block;flex:0 0 auto;}
.fg-cart-product-meta{font-size:13px;color:#697386;margin-top:2px;}
.fg-cart-product-price{font-size:17px;font-weight:800;color:var(--fg-text);white-space:nowrap;}
.fg-cart-product-controls{display:flex;align-items:center;gap:10px;}
.fg-cart-qty{flex:1;min-width:150px;appearance:none;background:#fff;border:1px solid #dde2ec;border-radius:999px;padding:13px 44px 13px 18px;font-size:16px;color:var(--fg-text);background-image:linear-gradient(45deg,transparent 50%,#9aa2b2 50%),linear-gradient(135deg,#9aa2b2 50%,transparent 50%);background-position:calc(100% - 22px) 19px, calc(100% - 16px) 19px;background-size:6px 6px,6px 6px;background-repeat:no-repeat;}
.fg-cart-remove{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#9aa2b2;background:transparent;}
.fg-cart-remove:hover{background:#fff;color:#e74c3c;}
.fg-cart-upsell-label{margin:26px 0 12px;color:var(--fg-purple);font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.06em;}
.fg-cart-upsell-card{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#f2f4f8;border:1px solid #dfe4ef;border-radius:999px;padding:18px 20px;}
.fg-cart-upsell-card strong{display:block;font-size:17px;letter-spacing:-.03em;}
.fg-cart-upsell-card span{display:block;font-size:13px;color:#697386;margin-top:2px;}
.fg-cart-quick-add{background:#ece9ff;color:var(--fg-purple);border:1px solid #cbc4ff;border-radius:999px;padding:14px 22px;font-weight:900;text-transform:uppercase;font-size:13px;white-space:nowrap;}
.fg-cart-quick-add:hover{background:var(--fg-purple);color:#fff;}
.fg-cart-modern-footer{padding:26px 28px 24px;border-top:1px solid var(--fg-border);background:#fff;}
.fg-cart-subtotal-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;color:#9aa2b2;font-weight:800;text-transform:uppercase;letter-spacing:.04em;}
.fg-cart-subtotal-row strong{font-size:24px;color:var(--fg-text);letter-spacing:-.04em;}
.fg-cart-assurance-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin-bottom:20px;font-size:13px;color:#8a93a6;}
.fg-checkout-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:16px 20px;border-radius:999px;background:var(--fg-purple);color:#fff!important;font-weight:900;font-size:16px;box-shadow:0 10px 24px rgba(108,92,231,.22);}
.fg-checkout-btn:hover{background:var(--fg-purple-dark);transform:translateY(-1px);}
.fg-cart-disclaimer{text-align:center;font-size:13px;line-height:1.5;color:#9aa2b2;margin-top:14px;}
.fg-cart-empty-state{padding:70px 32px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;}
.fg-cart-empty-icon{width:88px;height:88px;border-radius:50%;background:#111118;color:#fff;display:flex;align-items:center;justify-content:center;font-size:44px;margin-bottom:8px;}
.fg-cart-empty-state h4{font-size:24px;margin:0;}
.fg-cart-empty-state p{margin-bottom:10px;}
.fg-cart-drawer-modern.is-loading{opacity:.72;pointer-events:none;}
@media(max-width:560px){.fg-cart-modern-header,.fg-cart-shipping-meter,.fg-cart-drawer-modern .fg-cart-drawer-items,.fg-cart-modern-footer{padding-left:20px;padding-right:20px}.fg-cart-modern-item{border-radius:22px}.fg-cart-product-top{flex-direction:column}.fg-cart-product-price{align-self:flex-start}.fg-cart-upsell-card{border-radius:24px;align-items:flex-start;flex-direction:column}.fg-cart-quick-add{width:100%}}

body.fg-cart-is-open{overflow:hidden;}
.fg-cart-drawer.is-loading{opacity:.72;pointer-events:none;}
.fg-cart-drawer-close{cursor:pointer;}


/* v13 Beautiful WooCommerce Cart + Checkout Pages */
.fg-commerce-page{padding-top:88px;padding-bottom:96px;}
.fg-commerce-hero{max-width:980px;margin:0 auto 36px;text-align:left;}
.fg-commerce-hero h1{font-size:clamp(54px,8vw,108px);line-height:.92;margin:14px 0 18px;letter-spacing:-.065em;}
.fg-commerce-hero p{font-size:clamp(17px,2vw,22px);color:var(--fg-muted);max-width:760px;line-height:1.65;}
.fg-commerce-shell{background:rgba(255,255,255,.82);border:1px solid var(--fg-border);border-radius:34px;box-shadow:var(--fg-shadow-lg);padding:clamp(22px,4vw,46px);backdrop-filter:blur(18px);}
.fg-commerce-shell .woocommerce{width:100%;}
.fg-commerce-shell .woocommerce-notices-wrapper{margin-bottom:18px;}
.fg-commerce-shell .woocommerce-message,.fg-commerce-shell .woocommerce-info,.fg-commerce-shell .woocommerce-error{border:1px solid var(--fg-border);border-radius:18px;background:#fff;box-shadow:0 10px 32px rgba(17,17,24,.06);padding:16px 20px;line-height:1.5;}
.fg-commerce-shell .woocommerce-error{border-color:#ffd7d7;}
.fg-commerce-shell table.shop_table{border:0!important;border-collapse:separate!important;border-spacing:0 16px!important;margin:0 0 28px!important;background:transparent!important;}
.fg-commerce-shell table.shop_table th{border:0!important;color:#8790a5;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:900;padding:0 18px 4px!important;background:transparent!important;}
.fg-commerce-shell table.shop_table td{border:0!important;background:#f4f6fb!important;padding:20px 18px!important;vertical-align:middle;}
.fg-commerce-shell table.shop_table tr.cart_item td:first-child{border-radius:24px 0 0 24px;}
.fg-commerce-shell table.shop_table tr.cart_item td:last-child{border-radius:0 24px 24px 0;}
.fg-commerce-shell .product-thumbnail img{width:86px!important;height:86px!important;object-fit:cover;border-radius:20px;background:#fff;border:1px solid var(--fg-border);}
.fg-commerce-shell .product-name a{font-size:18px;font-weight:900;color:var(--fg-text);letter-spacing:-.03em;}
.fg-commerce-shell .product-price,.fg-commerce-shell .product-subtotal{font-size:17px;font-weight:900;color:var(--fg-text);}
.fg-commerce-shell .quantity .qty{width:88px;border:1px solid #dde2ec;border-radius:999px;background:#fff;padding:12px 14px;font-size:16px;text-align:center;}
.fg-commerce-shell .product-remove a{width:34px;height:34px;border-radius:50%;display:inline-flex!important;align-items:center;justify-content:center;background:#fff;color:#9aa2b2!important;font-size:22px!important;text-decoration:none!important;}
.fg-commerce-shell .product-remove a:hover{background:#fff1f1;color:#e74c3c!important;}
.fg-commerce-shell .actions{background:transparent!important;padding-top:12px!important;}
.fg-commerce-shell .coupon{display:flex;gap:10px;align-items:center;float:none!important;}
.fg-commerce-shell .coupon .input-text,.fg-commerce-shell input[type="text"],.fg-commerce-shell input[type="email"],.fg-commerce-shell input[type="tel"],.fg-commerce-shell input[type="password"],.fg-commerce-shell textarea,.fg-commerce-shell select{border:1px solid #dde2ec;border-radius:18px;background:#fff;padding:13px 16px;min-height:48px;box-shadow:none;}
.fg-commerce-shell .button,.fg-commerce-shell button.button,.fg-commerce-shell input.button,.fg-commerce-shell #place_order{border:0!important;border-radius:999px!important;background:var(--fg-purple)!important;color:#fff!important;font-weight:900!important;padding:15px 24px!important;line-height:1.1!important;box-shadow:0 10px 24px rgba(108,92,231,.22)!important;transition:transform .2s var(--fg-ease),background .2s var(--fg-ease)!important;}
.fg-commerce-shell .button:hover,.fg-commerce-shell button.button:hover,.fg-commerce-shell input.button:hover,.fg-commerce-shell #place_order:hover{background:var(--fg-purple-dark)!important;transform:translateY(-1px);}
.fg-commerce-shell .cart-collaterals{margin-top:28px;}
.fg-commerce-shell .cart_totals{float:none!important;width:min(100%,520px)!important;margin-left:auto;background:#fff;border:1px solid var(--fg-border);border-radius:28px;padding:26px;box-shadow:0 18px 60px rgba(17,17,24,.08);}
.fg-commerce-shell .cart_totals h2{font-size:28px;margin:0 0 18px;letter-spacing:-.05em;}
.fg-commerce-shell .cart_totals table.shop_table{border-spacing:0!important;margin-bottom:20px!important;}
.fg-commerce-shell .cart_totals table.shop_table td,.fg-commerce-shell .cart_totals table.shop_table th{background:transparent!important;border-bottom:1px solid var(--fg-border)!important;border-radius:0!important;padding:16px 0!important;text-transform:none;letter-spacing:0;font-size:15px;}
.fg-commerce-shell .wc-proceed-to-checkout{padding:0!important;}
.fg-commerce-shell .wc-proceed-to-checkout a.checkout-button{display:flex!important;align-items:center;justify-content:center;width:100%;font-size:17px!important;margin:0!important;}
.fg-commerce-shell .cart-empty.woocommerce-info{font-size:20px;font-weight:900;text-align:center;padding:48px 24px;border-radius:28px;}
.fg-commerce-shell .return-to-shop{text-align:center;margin-top:22px;}
.fg-checkout-shell form.checkout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,440px);gap:32px;align-items:start;}
.fg-checkout-shell #customer_details{display:block;}
.fg-checkout-shell .col2-set .col-1,.fg-checkout-shell .col2-set .col-2{float:none;width:100%;background:#fff;border:1px solid var(--fg-border);border-radius:28px;padding:26px;margin-bottom:22px;box-shadow:0 14px 44px rgba(17,17,24,.05);}
.fg-checkout-shell h3{font-size:26px;letter-spacing:-.05em;margin:0 0 20px;}
.fg-checkout-shell #order_review_heading{grid-column:2;grid-row:1;margin:0 0 -10px;background:#fff;border:1px solid var(--fg-border);border-bottom:0;border-radius:28px 28px 0 0;padding:26px 26px 0;}
.fg-checkout-shell #order_review{grid-column:2;grid-row:1 / span 2;background:#fff;border:1px solid var(--fg-border);border-radius:28px;padding:64px 26px 26px;box-shadow:0 18px 60px rgba(17,17,24,.08);position:sticky;top:120px;}
.fg-checkout-shell #order_review table.shop_table{border-spacing:0!important;}
.fg-checkout-shell #order_review table.shop_table td,.fg-checkout-shell #order_review table.shop_table th{background:transparent!important;border-bottom:1px solid var(--fg-border)!important;border-radius:0!important;padding:14px 0!important;}
.fg-checkout-shell .woocommerce-checkout-payment{background:#f6f7fb!important;border-radius:24px!important;padding:18px!important;}
.fg-checkout-shell .form-row{margin-bottom:16px!important;}
.fg-checkout-shell label{font-weight:800;color:var(--fg-text);margin-bottom:6px;}
.fg-checkout-shell .select2-container .select2-selection--single{height:50px;border:1px solid #dde2ec;border-radius:18px;display:flex;align-items:center;}
.fg-checkout-shell .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:50px;padding-left:16px;}
.fg-checkout-shell .select2-container--default .select2-selection--single .select2-selection__arrow{height:50px;right:12px;}
@media(max-width:900px){.fg-commerce-page{padding-top:52px}.fg-commerce-shell{border-radius:24px;padding:18px}.fg-commerce-shell table.shop_table_responsive tr{display:block;background:#f4f6fb;border-radius:24px;margin-bottom:16px;padding:14px}.fg-commerce-shell table.shop_table_responsive tr td{display:flex!important;justify-content:space-between;align-items:center;background:transparent!important;border-bottom:1px solid rgba(0,0,0,.06)!important;border-radius:0!important;padding:12px 0!important}.fg-commerce-shell table.shop_table_responsive tr td:last-child{border-bottom:0!important}.fg-commerce-shell .coupon{display:grid;grid-template-columns:1fr;float:none!important}.fg-commerce-shell .coupon .input-text{width:100%!important}.fg-commerce-shell .actions .button{width:100%;margin-top:10px}.fg-commerce-shell .cart_totals{width:100%!important}.fg-checkout-shell form.checkout{display:block}.fg-checkout-shell #order_review_heading,.fg-checkout-shell #order_review{grid-column:auto;grid-row:auto;position:static}.fg-checkout-shell #order_review_heading{margin-top:22px}.fg-checkout-shell #order_review{padding-top:26px;border-radius:0 0 28px 28px}}

/* v14 responsive hardening: age popup + cross-device layout polish */
html, body { max-width: 100%; overflow-x: hidden; }
img, video, canvas, svg { max-width: 100%; height: auto; }
.fg-container, .fg-header-inner, .fg-hero-inner, .fg-page-hero, .fg-shop-header, .fg-commerce-shell { min-width: 0; }

/* Age verification must always sit inside the visible viewport on desktop/tablet/mobile. */
.fg-age-popup {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  min-height: 100dvh;
  padding: clamp(16px, 4vw, 40px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
}
.fg-age-popup:not(.active) { pointer-events: none; }
.fg-age-popup.active { pointer-events: auto; }
.fg-age-popup-box {
  width: min(500px, calc(100vw - 32px)) !important;
  max-width: calc(100vw - 32px) !important;
  max-height: calc(100dvh - 32px) !important;
  margin: auto !important;
  box-sizing: border-box !important;
  overflow-y: auto !important;
  transform: none !important;
}
.fg-age-popup-box .fg-logo { display: inline-flex; justify-content: center; max-width: 220px; margin: 0 auto 18px; }
.fg-age-popup-box .fg-logo img, .fg-age-popup-box img { max-width: 100%; height: auto; object-fit: contain; }

@media (max-width: 1024px) {
  .fg-header { width: calc(100% - 32px); }
  .fg-header-inner { gap: 18px; }
  .fg-shop-trust-bar { flex-wrap: wrap; }
  .fg-shop-trust-item { flex: 1 1 calc(50% - 16px); min-width: 220px; }
  .fg-stack-card-content, .fg-stack-card-visual { min-width: 0; }
}

@media (max-width: 782px) {
  .admin-bar .fg-age-popup { min-height: calc(100dvh - 46px); padding-top: calc(46px + 12px) !important; }
}

@media (max-width: 768px) {
  :root { --fg-section-pad: 64px; }
  .fg-announcement { font-size: 11px; line-height: 1.45; padding: 10px 16px; white-space: normal; text-align: center; }
  .fg-header { width: calc(100% - 24px); top: 10px; border-radius: 0 0 24px 24px; }
  .fg-header-inner { min-height: 74px; padding: 0 18px; }
  .fg-logo img { max-width: 180px; height: auto; }
  .fg-nav-actions { gap: 10px; }
  .fg-hero { padding-top: 84px; }
  .fg-hero-title, .fg-page-hero h1, .fg-commerce-page h1, .fg-shop-title { font-size: clamp(42px, 13vw, 72px); line-height: .96; letter-spacing: -0.055em; }
  .fg-hero-desc, .fg-page-content, .fg-shop-desc { font-size: 16px; line-height: 1.65; }
  .fg-bento-card, .fg-docs-card, .fg-coa-card, .fg-page-section, .fg-commerce-shell { border-radius: 24px; }
  .fg-stack-card { padding: 28px; }
  .fg-stack-card-visual { min-height: 220px; }
  .fg-category-card, .fg-product-card { min-width: 0; }
  .fg-shop-header { padding-top: 52px; }
  .fg-shop-toolbar { display: grid; grid-template-columns: 1fr; gap: 14px; }
  .fg-shop-search, .fg-shop-sort { width: 100%; }
  .fg-shop-trust-bar { padding: 18px 0; }
  .fg-shop-trust-item { flex: 1 1 100%; min-width: 0; }
  .fg-page-hero { gap: 24px; }
  .fg-cart-drawer, .fg-cart-drawer-modern { width: min(100vw, 560px) !important; max-width: 100vw !important; }
}

@media (max-width: 560px) {
  .fg-age-popup { align-items: center !important; justify-content: center !important; padding: 14px !important; }
  .fg-age-popup-box {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
    padding: 26px 20px !important;
    border-radius: 28px !important;
  }
  .fg-age-popup-box h2 { font-size: 24px; line-height: 1.15; }
  .fg-age-popup-box p { font-size: 14px; line-height: 1.55; margin-bottom: 18px; }
  .fg-age-btns { display: grid !important; grid-template-columns: 1fr; gap: 10px; }
  .fg-age-btns .fg-btn { width: 100%; min-width: 0; }
  .fg-logo img { max-width: 160px; }
  .fg-container { width: min(100% - 28px, var(--fg-container)); }
  .fg-products-grid { grid-template-columns: 1fr !important; }
  .fg-calc-results { grid-template-columns: 1fr; }
  .fg-page-section { padding: 22px; }
  .fg-commerce-page { padding-top: 38px; padding-bottom: 60px; }
  .fg-commerce-shell { padding: 14px; }
  .fg-cart-modern-header, .fg-cart-shipping-meter, .fg-cart-drawer-modern .fg-cart-drawer-items, .fg-cart-modern-footer { padding-left: 18px !important; padding-right: 18px !important; }
}

/* v2.5.0 hard responsive overflow + age popup fix */
html, body { width: 100%; max-width: 100%; overflow-x: clip !important; }
@supports not (overflow: clip) { html, body { overflow-x: hidden !important; } }
body.fg-age-locked { overflow: hidden !important; touch-action: none; }
.fg-age-popup {
  position: fixed !important;
  top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important;
  width: 100vw !important; max-width: 100vw !important;
  height: 100vh !important; min-height: 100vh !important;
  height: 100dvh !important; min-height: 100dvh !important;
  margin: 0 !important;
  padding: 20px !important;
  display: grid !important;
  place-items: center !important;
  transform: none !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
.fg-age-popup-box {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  width: min(500px, calc(100vw - 40px)) !important;
  max-width: calc(100vw - 40px) !important;
  max-height: calc(100dvh - 40px) !important;
  margin: 0 auto !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}
.fg-age-popup-box * { max-width: 100%; }

@media (max-width: 782px) {
  body.admin-bar .fg-age-popup {
    top: 46px !important;
    height: calc(100dvh - 46px) !important;
    min-height: calc(100dvh - 46px) !important;
    padding-top: 14px !important;
  }
}

@media (max-width: 768px) {
  html, body, #page, .site, #fg-main {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
  }
  .fg-announcement {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    white-space: normal !important;
    text-align: center !important;
  }
  .fg-navbar {
    position: sticky !important;
    left: 0 !important; right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important; margin-right: 0 !important;
    border-left: 0 !important; border-right: 0 !important;
    border-radius: 0 0 20px 20px !important;
    transform: none !important;
  }
  .fg-navbar-inner {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    gap: 12px !important;
    overflow: hidden !important;
  }
  .fg-logo { min-width: 0 !important; max-width: 52vw !important; overflow: hidden !important; flex: 0 1 auto !important; }
  .fg-logo img { max-width: 100% !important; height: auto !important; max-height: 48px !important; object-fit: contain !important; }
  .fg-nav-right { flex: 0 0 auto !important; min-width: 0 !important; }
  .fg-mobile-toggle, .fg-cart-btn { flex: 0 0 auto !important; }
  .fg-container, .fg-container-wide, .fg-hero-inner, .fg-page-hero, .fg-shop-layout, .fg-shop-frame, .fg-products-grid, .fg-bento-grid, .fg-stack-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-wrap: break-word !important;
  }
  .fg-hero-title, .fg-page-hero h1, .fg-commerce-page h1, .fg-shop-title {
    max-width: 100% !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    letter-spacing: -0.045em !important;
  }
  img, video, iframe, table { max-width: 100% !important; }
}

@media (max-width: 560px) {
  .fg-age-popup { padding: 14px !important; }
  .fg-age-popup-box {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
    max-height: calc(100dvh - 28px) !important;
    padding: 28px 20px !important;
    border-radius: 26px !important;
  }
  .fg-age-popup-box .fg-logo { max-width: 170px !important; }
  .fg-age-popup-box h2 { font-size: 24px !important; line-height: 1.15 !important; }
  .fg-age-popup-box p { font-size: 14px !important; line-height: 1.55 !important; }
  .fg-age-btns { grid-template-columns: 1fr !important; width: 100% !important; }
  .fg-age-btns .fg-btn { width: 100% !important; min-width: 0 !important; }
}

/* v2.6.0 final mobile overflow repair: homepage shop + age gate */
@media (max-width: 768px) {
  html, body {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  body { min-width: 0 !important; }
  body > * { max-width: 100vw !important; }

  .fg-products-home,
  .fg-home-shop-frame,
  .fg-shop-frame,
  .fg-shop-layout,
  .fg-shop-main,
  .fg-products-results,
  .fg-products-grid,
  .fg-shop-controls,
  .fg-shop-search,
  .fg-shop-sort,
  .fg-sidebar-filters,
  .fg-product-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  .fg-products-home { padding: 56px 0 !important; }
  .fg-products-home-header {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    margin-bottom: 26px !important;
  }
  .fg-products-home-header .fg-section-title,
  .fg-products-home-header h2 {
    font-size: clamp(34px, 10vw, 48px) !important;
    line-height: 1 !important;
    letter-spacing: -0.045em !important;
  }
  .fg-products-home-header .fg-btn,
  .fg-products-home-header a {
    width: fit-content !important;
    max-width: 100% !important;
  }

  .fg-shop-frame {
    border-radius: 24px !important;
    padding: 14px !important;
  }
  .fg-shop-layout {
    display: block !important;
    padding-bottom: 32px !important;
  }
  .fg-shop-sidebar {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 16px !important;
  }
  .fg-sidebar-filters {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 12px !important;
    border-radius: 22px !important;
    overflow: visible !important;
  }
  .fg-filter-item,
  .fg-filter-item.active {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 13px 14px !important;
    border-radius: 18px !important;
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.25 !important;
  }
  .fg-filter-item span:not(.dot):not(.fg-filter-count) {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
  }
  .fg-filter-count { margin-left: 8px !important; flex: 0 0 auto !important; }
  .fg-sidebar-quiz { display: none !important; }

  .fg-shop-controls {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin-bottom: 18px !important;
  }
  .fg-shop-search input,
  .fg-shop-sort select {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  .fg-products-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .fg-product-card { border-radius: 22px !important; }
  .fg-product-card-image {
    aspect-ratio: 1 / .76 !important;
    max-height: 260px !important;
  }

  .fg-age-popup {
    position: fixed !important;
    z-index: 2147483646 !important;
    top: 0 !important;
    right: auto !important;
    bottom: auto !important;
    left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    margin: 0 !important;
    padding: 16px !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    transform: none !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }
  .fg-age-popup.active { display: flex !important; opacity: 1 !important; visibility: visible !important; }
  .fg-age-popup-box {
    flex: 0 1 auto !important;
    width: 100% !important;
    max-width: 340px !important;
    max-height: calc(100dvh - 32px) !important;
    margin: 0 auto !important;
    padding: 24px 18px !important;
    border-radius: 24px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    transform: none !important;
  }
}

@media (max-width: 420px) {
  .fg-container, .fg-container-wide { width: calc(100% - 28px) !important; max-width: calc(100% - 28px) !important; margin-left: auto !important; margin-right: auto !important; }
  .fg-products-home-header .fg-section-title,
  .fg-products-home-header h2 { font-size: 38px !important; }
  .fg-shop-frame { padding: 12px !important; margin-left: 0 !important; margin-right: 0 !important; }
}

/* v2.7.0 rebuilt homepage catalog mobile section - no page overflow */
@media (max-width: 900px) {
  html, body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  body {
    min-width: 0 !important;
  }
  .fg-products-home,
  .fg-products-home * {
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  .fg-products-home {
    width: 100% !important;
    max-width: 100vw !important;
    overflow: hidden !important;
    padding: 52px 0 !important;
  }
  .fg-products-home > .fg-container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 16px !important;
  }
  .fg-products-home-header {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    align-items: start !important;
    margin: 0 0 18px !important;
    overflow: hidden !important;
  }
  .fg-products-home-header .fg-label,
  .fg-products-home-header h2,
  .fg-products-home-header p {
    width: 100% !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }
  .fg-products-home-header h2 {
    font-size: clamp(32px, 10vw, 46px) !important;
    line-height: .98 !important;
    letter-spacing: -0.05em !important;
  }
  .fg-products-home-header p {
    font-size: 15px !important;
    line-height: 1.55 !important;
  }
  .fg-products-home-header .fg-btn,
  .fg-products-home-header a.fg-btn,
  .fg-products-home-header .fg-btn-outline {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 52px !important;
    border-radius: 18px !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    white-space: normal !important;
    padding: 14px 18px !important;
  }
  .fg-products-home .fg-shop-frame,
  .fg-products-home .fg-shop-layout[data-context="home"] {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    margin: 0 !important;
  }
  .fg-products-home .fg-shop-frame {
    padding: 12px !important;
    border-radius: 24px !important;
  }
  .fg-products-home .fg-shop-layout[data-context="home"] {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    padding: 0 0 24px !important;
  }
  .fg-products-home .fg-shop-sidebar {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
  }
  .fg-products-home .fg-sidebar-filters {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    padding: 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-inline: contain !important;
    scroll-snap-type: x proximity !important;
    border-radius: 20px !important;
  }
  .fg-products-home .fg-sidebar-filters::-webkit-scrollbar { display: none !important; }
  .fg-products-home .fg-filter-item,
  .fg-products-home .fg-filter-item.active {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: min(78vw, 300px) !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 13px 16px !important;
    border-radius: 999px !important;
    border-left: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    scroll-snap-align: start !important;
    white-space: nowrap !important;
    overflow: hidden !important;
  }
  .fg-products-home .fg-filter-item .dot {
    flex: 0 0 8px !important;
    margin: 0 !important;
  }
  .fg-products-home .fg-filter-item span:not(.dot):not(.fg-filter-count) {
    display: inline-block !important;
    min-width: 0 !important;
    max-width: 190px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  .fg-products-home .fg-filter-count {
    flex: 0 0 auto !important;
    margin-left: 0 !important;
  }
  .fg-products-home .fg-sidebar-quiz { display: none !important; }
  .fg-products-home .fg-shop-main {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
  .fg-products-home .fg-shop-controls {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin: 0 0 14px !important;
  }
  .fg-products-home .fg-shop-search,
  .fg-products-home .fg-shop-sort,
  .fg-products-home .fg-shop-search input,
  .fg-products-home .fg-shop-sort select {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .fg-products-home .fg-shop-search input,
  .fg-products-home .fg-shop-sort select {
    height: 52px !important;
    border-radius: 16px !important;
    font-size: 15px !important;
  }
  .fg-products-home .fg-products-results,
  .fg-products-home .fg-products-grid {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    overflow: hidden !important;
  }
  .fg-products-home .fg-products-results > *,
  .fg-products-home .fg-product-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .fg-products-home .fg-product-card-image {
    aspect-ratio: 1 / .72 !important;
    max-height: 240px !important;
  }
}

@media (max-width: 480px) {
  .fg-products-home > .fg-container { padding: 0 12px !important; }
  .fg-products-home .fg-shop-frame { padding: 10px !important; border-radius: 22px !important; }
  .fg-products-home-header h2 { font-size: clamp(30px, 11vw, 42px) !important; }
  .fg-products-home .fg-filter-item span:not(.dot):not(.fg-filter-count) { max-width: 150px !important; }
}

/* =========================================================
   v2.8.0 REAL MOBILE RESPONSIVE RESET
   Rebuilds homepage catalog/shop area on small screens and
   removes every horizontal overflow source from this section.
   ========================================================= */
@media (max-width: 900px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  body,
  #page,
  .site,
  .site-content,
  main,
  .fg-main,
  .fg-announcement,
  .fg-navbar,
  .fg-navbar-inner,
  .fg-container,
  .fg-container-wide {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .fg-announcement {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    line-height: 1.45 !important;
    padding: 10px 14px !important;
  }

  .fg-navbar {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    transform: none !important;
    border-radius: 0 0 22px 22px !important;
  }

  .fg-navbar-inner {
    width: 100% !important;
    padding: 0 14px !important;
    gap: 10px !important;
    overflow: hidden !important;
  }

  .fg-logo {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: 46vw !important;
    overflow: hidden !important;
  }

  .fg-logo img {
    max-width: 100% !important;
    max-height: 44px !important;
    object-fit: contain !important;
  }

  .fg-nav-right,
  .fg-nav-actions,
  .fg-cart-btn,
  .fg-mobile-toggle {
    flex: 0 0 auto !important;
    min-width: 0 !important;
  }

  /* Homepage catalog/shop section: use a clean single-column mobile layout. */
  .fg-products-home,
  .fg-products-home * {
    box-sizing: border-box !important;
    min-width: 0 !important;
  }

  .fg-products-home {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 48px 0 !important;
    overflow: hidden !important;
    contain: layout paint !important;
  }

  .fg-products-home > .fg-container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 16px !important;
    overflow: hidden !important;
  }

  .fg-products-home-header {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    text-align: left !important;
    overflow: hidden !important;
  }

  .fg-products-home-header > div,
  .fg-products-home-header .fg-label,
  .fg-products-home-header h2,
  .fg-products-home-header p {
    width: 100% !important;
    max-width: 100% !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  .fg-products-home-header h2 {
    font-size: clamp(30px, 9vw, 42px) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.045em !important;
    margin: 8px 0 10px !important;
  }

  .fg-products-home-header p {
    font-size: 15px !important;
    line-height: 1.55 !important;
  }

  .fg-products-home-header .fg-btn,
  .fg-products-home-header a.fg-btn,
  .fg-products-home-header .fg-btn-outline {
    width: 100% !important;
    max-width: 260px !important;
    height: auto !important;
    min-height: 50px !important;
    margin: 16px 0 0 !important;
    padding: 13px 18px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: normal !important;
    text-align: center !important;
    position: static !important;
    transform: none !important;
  }

  .fg-products-home .fg-shop-layout.fg-shop-frame,
  .fg-products-home .fg-shop-layout[data-context="home"],
  .fg-products-home .fg-shop-frame {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    margin: 0 !important;
    padding: 14px !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  .fg-products-home .fg-shop-sidebar {
    position: static !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .fg-products-home .fg-sidebar-filters {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    overflow: visible !important;
    white-space: normal !important;
  }

  .fg-products-home .fg-sidebar-filters::-webkit-scrollbar { display: none !important; }

  .fg-products-home .fg-filter-item,
  .fg-products-home .fg-filter-item.active {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 11px 12px !important;
    border: 1px solid var(--fg-border) !important;
    border-radius: 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    overflow: hidden !important;
    white-space: normal !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
  }

  .fg-products-home .fg-filter-item:not(.active) {
    background: #fff !important;
    color: var(--fg-text) !important;
  }

  .fg-products-home .fg-filter-item > span:first-child {
    min-width: 0 !important;
    max-width: 100% !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 13px !important;
  }

  .fg-products-home .fg-filter-item .dot {
    flex: 0 0 8px !important;
    width: 8px !important;
    height: 8px !important;
    margin: 0 !important;
  }

  .fg-products-home .fg-filter-count {
    flex: 0 0 auto !important;
    margin-left: 4px !important;
    font-size: 11px !important;
    opacity: .75 !important;
  }

  .fg-products-home .fg-sidebar-quiz { display: none !important; }

  .fg-products-home .fg-shop-main,
  .fg-products-home .fg-shop-controls,
  .fg-products-home .fg-shop-search,
  .fg-products-home .fg-shop-sort,
  .fg-products-home .fg-products-results,
  .fg-products-home .fg-products-grid {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .fg-products-home .fg-shop-controls {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin: 0 0 14px !important;
  }

  .fg-products-home .fg-shop-search,
  .fg-products-home .fg-shop-sort {
    position: relative !important;
  }

  .fg-products-home .fg-shop-search input,
  .fg-products-home .fg-shop-sort select {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 52px !important;
    border-radius: 16px !important;
    font-size: 15px !important;
  }

  .fg-products-home .fg-products-grid,
  .fg-products-home .fg-products-results {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .fg-products-home .fg-products-results > *,
  .fg-products-home .fg-product-card,
  .fg-products-home .fg-product-card * {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .fg-products-home .fg-product-card {
    width: 100% !important;
    border-radius: 22px !important;
    overflow: hidden !important;
  }

  .fg-products-home .fg-product-card-image {
    margin: 10px !important;
    border-radius: 18px !important;
    aspect-ratio: 1 / .74 !important;
    max-height: 230px !important;
  }

  /* Keep age popup centered even if a previous session horizontally scrolled. */
  .fg-age-popup,
  .fg-age-popup.active {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    margin: 0 !important;
    padding: 16px !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
    transform: none !important;
  }

  body.admin-bar .fg-age-popup,
  body.admin-bar .fg-age-popup.active {
    top: 46px !important;
    height: calc(100dvh - 46px) !important;
    min-height: calc(100dvh - 46px) !important;
  }

  .fg-age-popup-box {
    width: min(100%, 430px) !important;
    max-width: calc(100vw - 32px) !important;
    max-height: calc(100dvh - 32px) !important;
    margin: 0 auto !important;
    transform: none !important;
  }
}

@media (max-width: 520px) {
  .fg-products-home > .fg-container {
    padding: 0 12px !important;
  }

  .fg-products-home .fg-sidebar-filters {
    grid-template-columns: 1fr !important;
  }

  .fg-products-home .fg-filter-item > span:first-child {
    font-size: 14px !important;
  }
}


/* =========================================================
   v2.9.0 CATALOG REBUILD - HOME + SHOP/ARCHIVE
   Entire catalog area is rebuilt so it cannot create horizontal page overflow.
   ========================================================= */
.fg-catalog-section {
  width: 100%;
  max-width: 100%;
  overflow: clip;
  padding: clamp(56px, 7vw, 96px) 0;
}
.fg-catalog-container {
  width: min(1280px, calc(100% - 48px));
  margin-inline: auto;
  max-width: 100%;
  min-width: 0;
}
.fg-catalog-hero,
.fg-products-home-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: end;
  margin-bottom: 28px;
  max-width: 100%;
}
.fg-catalog-copy,
.fg-catalog-copy * { min-width: 0; max-width: 100%; }
.fg-catalog-hero h2 {
  font-size: clamp(44px, 6vw, 88px);
  line-height: .95;
  letter-spacing: -0.06em;
  max-width: 760px;
}
.fg-catalog-hero p {
  max-width: 640px;
  margin-top: 12px;
  color: var(--fg-text-secondary);
  font-size: clamp(16px, 1.7vw, 19px);
}
.fg-catalog-shop-link {
  width: 136px;
  height: 136px;
  border: 1px solid var(--fg-border);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  color: var(--fg-text);
  font-weight: 800;
  line-height: 1.25;
  background: rgba(255,255,255,.74);
}
.fg-catalog-panel {
  background: rgba(255,255,255,.86);
  border: 1px solid var(--fg-border);
  border-radius: 32px;
  padding: 22px;
  box-shadow: var(--fg-shadow-sm);
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  display: block !important;
}
.fg-catalog-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 0 0 18px;
}
.fg-catalog-filter-row .fg-filter-item,
.fg-catalog-filter-row .fg-filter-item.active {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
  max-width: 100%;
  width: auto;
  margin: 0;
  padding: 12px 16px;
  border-radius: 999px;
  border: 1px solid var(--fg-border);
  background: #fff;
  color: var(--fg-text);
  white-space: nowrap;
  overflow: hidden;
  line-height: 1.2;
}
.fg-catalog-filter-row .fg-filter-item.active {
  background: var(--fg-purple);
  color: #fff;
  border-color: var(--fg-purple);
}
.fg-catalog-filter-row .fg-filter-item > span:first-child {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.fg-catalog-filter-row .dot { flex: 0 0 8px; width: 8px; height: 8px; margin: 0; }
.fg-catalog-filter-row .fg-filter-count { flex: 0 0 auto; margin-left: 0; }
.fg-catalog-tools {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(170px, 220px);
  gap: 14px;
  align-items: center;
  margin-bottom: 22px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.fg-catalog-search,
.fg-catalog-sort,
.fg-catalog-search input,
.fg-catalog-sort select {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.fg-catalog-grid.fg-products-grid {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 22px;
  overflow: visible;
}
.fg-catalog-grid > *,
.fg-catalog-grid .fg-product-card { min-width: 0; max-width: 100%; width: 100%; }
.fg-catalog-empty { padding: 44px 0; text-align: center; color: var(--fg-text-muted); }
.fg-catalog-archive .fg-ruo-box { margin: 36px 0 var(--fg-section-pad); }

@media (max-width: 760px) {
  html, body { max-width: 100%; overflow-x: hidden !important; }
  .fg-catalog-section { overflow: hidden; padding: 44px 0; }
  .fg-catalog-container { width: 100%; padding-inline: 16px; }
  .fg-catalog-hero,
  .fg-products-home-header {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    align-items: start !important;
    margin-bottom: 20px !important;
  }
  .fg-catalog-hero h2,
  .fg-products-home-header h2 {
    font-size: clamp(34px, 11vw, 46px) !important;
    line-height: .98 !important;
    letter-spacing: -0.05em !important;
    max-width: 100% !important;
    overflow-wrap: break-word !important;
  }
  .fg-catalog-hero p,
  .fg-products-home-header p {
    font-size: 15px !important;
    line-height: 1.55 !important;
    max-width: 100% !important;
  }
  .fg-catalog-shop-link {
    width: 100% !important;
    height: auto !important;
    min-height: 52px !important;
    border-radius: 18px !important;
    flex-direction: row !important;
    gap: 8px !important;
    justify-content: center !important;
  }
  .fg-catalog-panel {
    padding: 14px !important;
    border-radius: 24px !important;
    overflow: hidden !important;
  }
  .fg-catalog-filter-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    overflow: visible !important;
  }
  .fg-catalog-filter-row .fg-filter-item,
  .fg-catalog-filter-row .fg-filter-item.active {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    border-radius: 16px !important;
    padding: 12px 14px !important;
  }
  .fg-catalog-filter-row .fg-filter-item > span:first-child {
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
  }
  .fg-catalog-tools {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .fg-catalog-grid.fg-products-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .fg-catalog-grid .fg-product-card-image {
    aspect-ratio: 1 / .72 !important;
    max-height: 230px !important;
  }
  .fg-products-home .fg-shop-sidebar,
  .fg-products-home .fg-sidebar-filters,
  .fg-shop-sidebar,
  .fg-sidebar-filters { display: none !important; }
}

@media (max-width: 430px) {
  .fg-catalog-container { padding-inline: 12px; }
  .fg-catalog-panel { padding: 12px !important; border-radius: 22px !important; }
  .fg-catalog-hero h2 { font-size: 34px !important; }
}



/* FG v3.0.0 hard mobile layout reset */
@media (max-width: 782px) {
  html, body {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }
  body { position: relative !important; }
  *, *::before, *::after { box-sizing: border-box !important; }
  body > * { max-width: 100vw !important; }

  .fg-announcement,
  .fg-navbar,
  .fg-navbar-inner,
  .fg-container,
  .fg-container-wide,
  .fg-hero,
  .fg-hero-inner,
  .fg-bento,
  .fg-bento-grid,
  .fg-stack,
  .fg-stack-container,
  .fg-stack-card,
  .fg-products-home,
  .fg-catalog-section,
  .fg-catalog-container,
  .fg-catalog-hero,
  .fg-catalog-panel,
  .fg-catalog-tools,
  .fg-catalog-filter-row,
  .fg-catalog-grid,
  .fg-products-grid,
  .fg-product-card,
  .fg-shop-layout,
  .fg-shop-main,
  .fg-shop-frame,
  .fg-shop-controls,
  .fg-shop-search,
  .fg-shop-sort {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
  }

  .fg-container,
  .fg-container-wide,
  .fg-catalog-container {
    padding-left: 16px !important;
    padding-right: 16px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .fg-products-home,
  .fg-catalog-section {
    padding-top: 44px !important;
    padding-bottom: 44px !important;
    overflow: hidden !important;
  }

  .fg-catalog-hero,
  .fg-products-home-header {
    display: block !important;
    margin-bottom: 18px !important;
  }
  .fg-catalog-copy,
  .fg-catalog-copy *,
  .fg-products-home-header,
  .fg-products-home-header * {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }
  .fg-catalog-hero h2,
  .fg-products-home-header h2,
  .fg-section-title {
    font-size: clamp(30px, 9.4vw, 42px) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.045em !important;
    margin: 0 0 10px !important;
  }
  .fg-catalog-hero p,
  .fg-products-home-header p {
    font-size: 15px !important;
    line-height: 1.55 !important;
    margin: 0 !important;
  }
  .fg-catalog-shop-link,
  .fg-products-home-header .fg-btn,
  .fg-products-home-header a {
    display: inline-flex !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 44px !important;
    margin-top: 16px !important;
    border-radius: 999px !important;
    padding: 12px 18px !important;
    white-space: normal !important;
  }

  .fg-catalog-panel,
  .fg-home-shop-frame,
  .fg-shop-frame {
    padding: 12px !important;
    border-radius: 22px !important;
    overflow: hidden !important;
  }

  .fg-catalog-filter-row,
  .fg-sidebar-filters {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    background: transparent !important;
  }
  .fg-catalog-filter-row .fg-filter-item,
  .fg-catalog-filter-row .fg-filter-item.active,
  .fg-sidebar-filters .fg-filter-item,
  .fg-sidebar-filters .fg-filter-item.active {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    border-radius: 16px !important;
    white-space: normal !important;
    overflow: hidden !important;
  }
  .fg-filter-item span,
  .fg-catalog-filter-row .fg-filter-item > span:first-child {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  .fg-filter-count { flex: 0 0 auto !important; }

  .fg-catalog-tools,
  .fg-shop-controls {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin-top: 14px !important;
    margin-bottom: 14px !important;
  }
  .fg-shop-search input,
  .fg-catalog-search input,
  .fg-shop-sort select,
  .fg-catalog-sort select {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 48px !important;
  }

  .fg-products-grid,
  .fg-catalog-grid.fg-products-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .fg-product-card { overflow: hidden !important; }
  .fg-product-card-image {
    width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: 1 / .86 !important;
    max-height: 260px !important;
    overflow: hidden !important;
  }
  .fg-product-card-image img,
  .fg-bento-image img,
  .fg-stack-card-visual img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }

  .fg-stack-card {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    overflow: hidden !important;
  }
  .fg-stack-card-content,
  .fg-stack-card-visual {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .fg-age-popup {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    padding: 16px !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
  }
  .fg-age-popup.active { display: flex !important; }
  .fg-age-popup-box {
    width: min(100%, 360px) !important;
    max-width: calc(100vw - 32px) !important;
    max-height: calc(100dvh - 32px) !important;
    margin: 0 auto !important;
    transform: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }
}


/* =========================================================
   FG v3.1.0 MOBILE STICKY HEADER + MOBILE MEGA MENU FIX
   This block is intentionally last to override older cached rules.
   ========================================================= */
@media (max-width: 782px) {
  html, body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  body { position: relative !important; }

  .fg-announcement {
    position: relative !important;
    z-index: 1001 !important;
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow: hidden !important;
    padding: 9px 14px !important;
    line-height: 1.35 !important;
  }

  .fg-navbar {
    position: sticky !important;
    position: -webkit-sticky !important;
    top: 0 !important;
    z-index: 1002 !important;
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
    transform: none !important;
    background: rgba(255,255,255,.98) !important;
    box-shadow: 0 8px 24px rgba(20,20,35,.08) !important;
  }
  body.admin-bar .fg-navbar { top: 46px !important; }

  .fg-navbar-inner {
    height: 64px !important;
    min-height: 64px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 14px !important;
    gap: 10px !important;
    overflow: visible !important;
  }
  .fg-logo { max-width: 44vw !important; min-width: 0 !important; overflow: hidden !important; }
  .fg-logo img { max-width: 100% !important; max-height: 42px !important; object-fit: contain !important; }

  .fg-mobile-toggle { display: inline-flex !important; }

  .fg-nav-links {
    display: none !important;
    position: fixed !important;
    top: 75px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: calc(100dvh - 75px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    background: rgba(255,255,255,.98) !important;
    border-bottom: 1px solid var(--fg-border, #e5e7eb) !important;
    box-shadow: 0 24px 50px rgba(20,20,35,.16) !important;
    padding: 12px 14px 18px !important;
    z-index: 1001 !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
  }
  body.fg-mobile-nav-open .fg-nav-links { display: flex !important; }

  .fg-nav-links > a,
  .fg-nav-links .fg-nav-link > a {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 48px !important;
    padding: 13px 14px !important;
    border-radius: 16px !important;
    background: #f7f8fc !important;
    color: var(--fg-text, #111) !important;
    text-decoration: none !important;
  }

  .fg-nav-link { width: 100% !important; display: block !important; padding: 0 !important; }
  .fg-nav-link > a.fg-shop-toggle-open { background: #f1efff !important; color: var(--fg-purple, #6c5cff) !important; }

  .fg-mega-menu,
  .fg-mega-menu-v2 {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    display: none !important;
    margin: 8px 0 0 !important;
    padding: 14px !important;
    border-radius: 20px !important;
    box-shadow: none !important;
    border: 1px solid var(--fg-border, #e5e7eb) !important;
    background: #fff !important;
  }
  body.fg-mobile-nav-open .fg-nav-link.mobile-mega-open .fg-mega-menu,
  body.fg-mobile-nav-open .fg-nav-link.mobile-mega-open .fg-mega-menu-v2 {
    display: block !important;
  }

  .fg-mega-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin-bottom: 12px !important;
  }
  .fg-mega-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .fg-mega-item {
    display: grid !important;
    grid-template-columns: 42px minmax(0,1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    padding: 12px !important;
    border-radius: 16px !important;
    background: #f8f9fc !important;
  }
  .fg-mega-item-desc,
  .fg-mega-item-title {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .fg-mega-browse a {
    min-height: 52px !important;
    border-radius: 16px !important;
    background: #111322 !important;
    color: #fff !important;
    padding: 12px 14px !important;
  }
}

/* Product documentation highlight panel - v3.2.0 */
.fg-product-doc-panel{margin:72px 0 40px;padding:clamp(28px,4vw,56px);border-radius:34px;background:radial-gradient(circle at 72% 42%,rgba(108,92,231,.16),transparent 34%),linear-gradient(135deg,#111827 0%,#0b1020 55%,#080b14 100%);color:#fff;display:grid;grid-template-columns:minmax(0,.92fr) minmax(320px,1.08fr);gap:clamp(28px,5vw,76px);align-items:center;position:relative;overflow:hidden;box-shadow:0 28px 80px rgba(15,23,42,.22)}
.fg-product-doc-panel:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:48px 48px;opacity:.38;pointer-events:none}.fg-product-doc-panel>*{position:relative;z-index:1}.fg-doc-eyebrow{font-size:11px;line-height:1;font-weight:800;text-transform:uppercase;letter-spacing:.18em;color:#9ca3ff;margin-bottom:18px}.fg-product-doc-copy h2{max-width:650px;font-size:clamp(32px,4.5vw,64px);line-height:.98;letter-spacing:-.05em;margin:0 0 22px;color:#fff}.fg-doc-intro{max-width:560px;color:rgba(255,255,255,.72);font-size:16px;line-height:1.72}.fg-doc-info-card{margin-top:34px;width:min(100%,430px);border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.06);backdrop-filter:blur(12px);border-radius:24px;padding:22px 24px}.fg-doc-info-card span{display:inline-flex;margin-bottom:12px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.16em;color:#b8b2ff}.fg-doc-info-card strong{display:block;color:#fff;font-size:18px;margin-bottom:8px}.fg-doc-info-card p{margin:0;color:rgba(255,255,255,.68);font-size:14px;line-height:1.6}.fg-product-doc-visual{min-height:520px;display:flex;align-items:center;justify-content:center;position:relative}.fg-doc-orbit{position:absolute;width:min(88%,540px);aspect-ratio:1;border:1px solid rgba(255,255,255,.08);border-radius:999px}.fg-doc-orbit:before,.fg-doc-orbit:after{content:"";position:absolute;inset:12%;border:1px solid rgba(255,255,255,.06);border-radius:999px}.fg-doc-orbit:after{inset:27%}.fg-doc-bottle{max-height:520px;width:auto;max-width:min(60%,340px);object-fit:contain;filter:drop-shadow(0 28px 50px rgba(0,0,0,.42))}.fg-doc-bottle-placeholder{width:min(60%,320px);min-height:360px;border-radius:180px;border:1px dashed rgba(255,255,255,.24);display:flex;align-items:center;text-align:center;padding:28px;color:rgba(255,255,255,.6);font-weight:700}.fg-doc-callout{position:absolute;display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.74);font-size:16px;line-height:1.25;max-width:220px}.fg-doc-callout strong{font-weight:800;color:rgba(255,255,255,.82)}.fg-doc-callout span{width:10px;height:10px;border-radius:50%;background:#6c5ce7;box-shadow:0 0 0 6px rgba(108,92,231,.13);flex:0 0 auto}.fg-doc-callout:after{content:"";height:1px;width:82px;background:rgba(255,255,255,.16);order:-1}.fg-doc-callout-1{left:2%;top:21%}.fg-doc-callout-2{right:3%;top:32%}.fg-doc-callout-3{left:5%;bottom:23%}.fg-doc-callout-4{right:4%;bottom:18%}.fg-doc-callout-1 span{background:#8b7cf6}.fg-doc-callout-2 span{background:#34d399}.fg-doc-callout-3 span{background:#60a5fa}.fg-doc-callout-4 span{background:#f59e0b}.fg-doc-callout-1:after,.fg-doc-callout-3:after{order:2}.fg-doc-callout-2:after,.fg-doc-callout-4:after{order:-1}
@media(max-width:900px){.fg-product-doc-panel{grid-template-columns:1fr;border-radius:28px;margin:48px 0;padding:32px 22px}.fg-product-doc-visual{min-height:auto;padding:28px 0 4px;display:grid;grid-template-columns:1fr;gap:14px}.fg-doc-orbit{display:none}.fg-doc-bottle{max-width:220px;max-height:320px;margin:0 auto 8px}.fg-doc-bottle-placeholder{width:220px;min-height:260px;margin:0 auto}.fg-doc-callout{position:static;max-width:none;display:flex;padding:13px 14px;border-radius:16px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);font-size:14px}.fg-doc-callout:after{display:none}.fg-product-doc-copy h2{font-size:34px}.fg-doc-intro{font-size:15px}.fg-doc-info-card{margin-top:24px}}

/* ===========================
   v3.3.0 product polish fixes
   =========================== */
.fg-product-card-price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;line-height:1.25}
.fg-product-card-price del{margin-right:0;color:#8a91a6;text-decoration-thickness:1.5px;opacity:.85}.fg-product-card-price ins{text-decoration:none;font-weight:900;color:var(--fg-text)}
.fg-product-card-price .amount{white-space:nowrap}.fg-product-card-image{padding:16px}.fg-product-card-image img{max-width:88%;max-height:88%}
.fg-product-card-quick{line-height:1;padding:0;font-size:22px;font-weight:700;color:var(--fg-text);cursor:pointer;box-shadow:0 10px 26px rgba(15,23,42,.10)}
.fg-product-card-quick:hover,.fg-product-card-quick.is-adding,.fg-product-card-quick.is-added{background:var(--fg-purple);border-color:var(--fg-purple);color:#fff;transform:translateY(0) scale(1.06)}
.fg-product-card:hover .fg-product-card-quick{opacity:1;transform:translateY(0)}
@media (hover:none){.fg-product-card-quick{opacity:1;transform:none}}

.fg-product-top{grid-template-columns:minmax(0,1.65fr) minmax(280px,.72fr);gap:clamp(28px,4vw,54px)}
.fg-product-gallery{max-width:430px;justify-self:end}.fg-product-main-img{padding:clamp(22px,3vw,34px)}.fg-product-main-img img{max-height:430px;object-fit:contain}.fg-product-details{min-width:0}.fg-product-add-to-cart{padding:24px}.fg-add-to-cart-btn{gap:9px;line-height:1.1}.fg-cart-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:15px;line-height:1;filter:saturate(.9)}
.fg-add-to-cart-btn .woocommerce-Price-amount,.fg-add-to-cart-btn .amount{white-space:nowrap}

.fg-product-doc-panel{margin:64px 0 38px;padding:clamp(28px,4vw,48px);grid-template-columns:minmax(0,1fr) minmax(320px,.95fr);gap:clamp(26px,4vw,60px);border-radius:32px}.fg-product-doc-copy h2{font-size:clamp(30px,3.65vw,52px);line-height:1.05;letter-spacing:-.04em;max-width:560px}.fg-doc-intro{color:rgba(255,255,255,.86);font-size:15.5px;line-height:1.75}.fg-doc-info-card p{color:rgba(255,255,255,.82)}.fg-product-doc-visual{min-height:430px}.fg-doc-bottle{max-height:430px;max-width:min(52%,285px)}.fg-doc-callout{font-size:15px;max-width:190px;color:rgba(255,255,255,.86)}.fg-doc-callout strong{color:rgba(255,255,255,.92)}.fg-doc-orbit{width:min(82%,480px)}

.fg-qv-content{padding:14px 26px 32px}.fg-qv-product h2{font-size:clamp(1.65rem,3.4vw,2.15rem);margin-bottom:18px}.fg-qv-image{min-height:250px;padding:24px;border-radius:26px}.fg-qv-image img{max-height:280px;max-width:92%;object-fit:contain}.fg-qv-purchase-card{background:#fff;border:1px solid var(--fg-border);border-radius:24px;padding:22px;box-shadow:0 18px 48px rgba(23,21,56,.08);margin-top:18px}.fg-qv-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin-bottom:18px}.fg-qv-meta span{font-size:15px;color:var(--fg-text-secondary)}.fg-qv-price{grid-column:1/-1;font-size:24px!important;color:var(--fg-text)!important;font-weight:900!important}.fg-qv-details{margin-top:16px;padding:13px 16px;border-radius:999px;background:#f4f2ff;color:var(--fg-purple);text-decoration:none}.fg-qv-close{font-size:24px;border:1px solid var(--fg-border);box-shadow:0 8px 24px rgba(15,23,42,.08)}

@media(max-width:900px){.fg-product-top{grid-template-columns:1fr}.fg-product-gallery{position:static;max-width:none;justify-self:stretch;order:-1}.fg-product-main-img img{max-height:320px}.fg-product-doc-panel{grid-template-columns:1fr;margin:46px 0 30px;padding:28px 20px}.fg-product-doc-copy h2{font-size:32px}.fg-product-doc-visual{min-height:auto}.fg-doc-bottle{max-width:190px;max-height:280px}.fg-doc-intro{font-size:15px}}
@media(max-width:560px){.fg-qv-drawer{width:100vw}.fg-qv-content{padding:10px 18px 28px}.fg-qv-purchase-card{padding:18px;border-radius:22px}.fg-qv-meta{grid-template-columns:1fr}.fg-product-card-image{padding:12px}.fg-product-card-image img{max-width:84%;max-height:84%}}

/* FG v3.4.0 bulk discount UI */
.fg-bulk-select-wrap{display:block;margin:14px 0 16px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-text-muted,#8b91a7);font-weight:800}
.fg-bulk-select-wrap span{display:block;margin-bottom:8px}
.fg-bulk-qty-select{width:100%;height:54px;border:1px solid rgba(108,92,231,.35);border-radius:999px;background:#fff;padding:0 46px 0 18px;font-size:18px;font-weight:700;color:#11131f;outline:0;box-shadow:0 10px 26px rgba(108,92,231,.08)}
.fg-bulk-qty-select:focus{border-color:#6c5ce7;box-shadow:0 0 0 4px rgba(108,92,231,.12)}
.fg-qv-purchase-card .fg-bulk-select-wrap{margin-top:8px}.fg-single-bulk-select{margin-top:16px}.fg-product-card-price del{color:#8b91a7;margin-right:8px}.fg-product-card-price ins{text-decoration:none;color:#11131f;font-weight:900}.fg-cart-product-price del{display:none}.fg-cart-product-price ins{text-decoration:none}


/* v3.5.0 product card quick-add repair */
.fg-product-card-image-wrap{position:relative;display:block;width:100%;}
.fg-product-card-image-wrap .fg-product-card-image{display:flex;width:100%;height:100%;min-height:0;}
.fg-product-card-quick.fg-add-to-cart-btn,
.fg-product-card-image-wrap .fg-product-card-quick.fg-add-to-cart-btn{
  position:absolute !important;
  top:14px !important;
  right:14px !important;
  left:auto !important;
  bottom:auto !important;
  width:42px !important;
  min-width:42px !important;
  max-width:42px !important;
  height:42px !important;
  min-height:42px !important;
  padding:0 !important;
  border-radius:999px !important;
  border:1px solid rgba(108,92,231,.24) !important;
  background:#fff !important;
  color:#0c1020 !important;
  box-shadow:0 12px 28px rgba(15,23,42,.12) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  font-size:22px !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  opacity:1 !important;
  transform:none !important;
  z-index:5 !important;
  cursor:pointer !important;
}
.fg-product-card-quick.fg-add-to-cart-btn:hover,
.fg-product-card-quick.fg-add-to-cart-btn:focus-visible,
.fg-product-card-quick.fg-add-to-cart-btn.is-adding,
.fg-product-card-quick.fg-add-to-cart-btn.is-added{
  background:var(--fg-purple) !important;
  border-color:var(--fg-purple) !important;
  color:#fff !important;
  transform:translateY(-2px) scale(1.04) !important;
  box-shadow:0 16px 32px rgba(108,92,231,.28) !important;
}
.fg-product-card-quick.fg-add-to-cart-btn:disabled{pointer-events:none;opacity:.9 !important;}
@media (max-width:768px){
  .fg-product-card-quick.fg-add-to-cart-btn,
  .fg-product-card-image-wrap .fg-product-card-quick.fg-add-to-cart-btn{width:40px !important;min-width:40px !important;max-width:40px !important;height:40px !important;min-height:40px !important;top:12px !important;right:12px !important;font-size:21px !important;}
}


/* FG v3.5.1 - single product button icon + documentation image visibility polish */
.fg-add-to-cart-btn,
.fg-add-to-cart-btn:visited{
  color:#fff !important;
}
.fg-add-to-cart-btn .fg-cart-icon,
.fg-add-to-cart-btn svg,
.fg-add-to-cart-btn svg *,
.fg-add-to-cart-btn i{
  color:#fff !important;
  fill:#fff !important;
  stroke:#fff !important;
}
.fg-add-to-cart-btn .fg-cart-icon{
  opacity:1 !important;
  filter:none !important;
}
.fg-product-doc-panel{
  overflow:hidden;
}
.fg-product-doc-visual{
  min-height:500px !important;
  padding:36px 0 !important;
  overflow:visible !important;
}
.fg-doc-bottle{
  width:auto !important;
  height:auto !important;
  max-width:min(46%,260px) !important;
  max-height:390px !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
}
.fg-doc-orbit{
  width:min(76%,430px) !important;
}
.fg-doc-callout-1{left:1.5% !important;top:24% !important;}
.fg-doc-callout-2{right:2.5% !important;top:34% !important;}
.fg-doc-callout-3{left:4% !important;bottom:25% !important;}
.fg-doc-callout-4{right:4% !important;bottom:23% !important;}
@media(max-width:900px){
  .fg-product-doc-panel{
    overflow:hidden;
  }
  .fg-product-doc-visual{
    min-height:auto !important;
    padding:22px 0 6px !important;
  }
  .fg-doc-bottle{
    max-width:210px !important;
    max-height:300px !important;
    margin:0 auto 10px !important;
  }
}


/* FG v3.5.2 - force white SVG cart icon and full documentation image visibility */
.fg-add-to-cart-btn .fg-cart-icon,
button.fg-add-to-cart-btn .fg-cart-icon,
.fg-qv-purchase-card .fg-add-to-cart-btn .fg-cart-icon{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  font-size:0 !important;
  line-height:1 !important;
  color:transparent !important;
  text-shadow:none !important;
  filter:none !important;
  opacity:1 !important;
  vertical-align:middle !important;
}
.fg-add-to-cart-btn .fg-cart-icon::before,
button.fg-add-to-cart-btn .fg-cart-icon::before,
.fg-qv-purchase-card .fg-add-to-cart-btn .fg-cart-icon::before{
  content:"" !important;
  display:block !important;
  width:18px !important;
  height:18px !important;
  background:#fff !important;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h8.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E") center/contain no-repeat !important;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h8.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E") center/contain no-repeat !important;
}

.fg-product-doc-panel{
  overflow:visible !important;
}
.fg-product-doc-visual{
  min-height:560px !important;
  padding:58px 0 !important;
  overflow:visible !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.fg-doc-bottle,
.fg-product-doc-visual img.fg-doc-bottle{
  width:auto !important;
  height:auto !important;
  max-width:min(42%,245px) !important;
  max-height:390px !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
  margin:0 auto !important;
  transform:none !important;
}
.fg-doc-orbit{
  width:min(76%,430px) !important;
  max-width:430px !important;
}
@media(max-width:900px){
  .fg-product-doc-panel{overflow:hidden !important;}
  .fg-product-doc-visual{
    min-height:auto !important;
    padding:28px 0 10px !important;
    display:grid !important;
  }
  .fg-doc-bottle,
  .fg-product-doc-visual img.fg-doc-bottle{
    max-width:190px !important;
    max-height:280px !important;
    margin:0 auto 12px !important;
  }
}

/* v3.5.3 doc bottle: use full image source and never crop visual */
.fg-product-doc-panel{overflow:hidden!important}
.fg-product-doc-visual{min-height:620px!important;padding:64px 0!important;overflow:visible!important;display:flex!important;align-items:center!important;justify-content:center!important}
.fg-product-doc-visual img.fg-doc-bottle,.fg-doc-bottle{display:block!important;width:auto!important;height:auto!important;max-width:min(54%,330px)!important;max-height:560px!important;object-fit:contain!important;object-position:center!important;margin:0 auto!important;transform:none!important;clip-path:none!important}
.fg-doc-orbit{width:min(88%,560px)!important}
@media(max-width:900px){.fg-product-doc-visual{min-height:auto!important;padding:28px 0 8px!important;display:grid!important;place-items:center!important}.fg-product-doc-visual img.fg-doc-bottle,.fg-doc-bottle{max-width:220px!important;max-height:360px!important;width:auto!important;height:auto!important;margin:0 auto 14px!important;object-fit:contain!important}}

/* v3.5.4 rich quick-view product drawer from product editor fields */
.fg-qv-product-rich{padding-bottom:0;}
.fg-qv-product-rich .fg-qv-hero{padding:0 2px 8px;border-bottom:1px solid var(--fg-border);margin-bottom:18px;}
.fg-qv-product-rich .fg-label{display:inline-flex;margin-bottom:8px;background:#f1ecff;color:var(--fg-purple);font-size:11px;letter-spacing:.08em;border-radius:999px;padding:6px 12px;font-weight:900;}
.fg-qv-product-rich h2{margin:0 0 8px!important;font-size:clamp(2rem,4vw,2.65rem)!important;line-height:.96;letter-spacing:-.05em;color:var(--fg-text);}
.fg-qv-subline{display:flex;flex-wrap:wrap;gap:6px 10px;color:#8b93a8;font-size:13px;font-weight:700;}
.fg-qv-subline span+span:before{content:'•';margin-right:10px;color:#c5cada;}
.fg-qv-product-rich .fg-qv-image{min-height:240px;margin:0 0 24px;padding:26px;background:linear-gradient(145deg,#f7f9fd,#eef2f8);border-radius:28px;}
.fg-qv-product-rich .fg-qv-image img{width:auto;max-width:86%;max-height:300px;object-fit:contain;display:block;}
.fg-qv-spec-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--fg-border);border-radius:28px;padding:18px;background:#fff;margin-bottom:22px;}
.fg-qv-spec{min-width:0;padding:0 16px;border-right:1px solid #eef1f7;}
.fg-qv-spec:last-child{border-right:0;}
.fg-qv-spec span{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:900;color:#a2a8b8;margin-bottom:5px;}
.fg-qv-spec strong{display:block;font-size:13px;line-height:1.2;color:#10131f;font-weight:900;overflow-wrap:anywhere;}
.fg-qv-info-stack{display:grid;gap:20px;padding-bottom:20px;}
.fg-qv-info-block h3,.fg-qv-storage-card h3{display:flex;align-items:center;gap:10px;margin:0 0 10px;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:900;color:#a0a7b8;}
.fg-qv-info-block h3 span,.fg-qv-storage-card h3 span{font-size:14px;color:var(--fg-purple);}
.fg-qv-info-block p,.fg-qv-storage-card p{margin:0 0 10px;color:#5d6678;font-size:15px;line-height:1.65;}
.fg-qv-info-block p:last-child,.fg-qv-storage-card p:last-child{margin-bottom:0;}
.fg-qv-info-block ul{margin:0;padding-left:0;list-style:none;display:grid;gap:9px;}
.fg-qv-info-block li{position:relative;padding-left:18px;color:#5d6678;font-size:15px;line-height:1.45;}
.fg-qv-info-block li:before{content:'';position:absolute;left:0;top:.58em;width:6px;height:6px;border-radius:999px;background:#9b8cff;}
.fg-qv-storage-card{border:1px solid var(--fg-border);border-radius:28px;background:#fbfcff;padding:20px 22px;}
.fg-qv-sticky-buy{position:sticky;bottom:0;z-index:3;margin:22px -26px -32px!important;padding:22px 26px 26px!important;border-radius:0!important;border-left:0!important;border-right:0!important;border-bottom:0!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(14px);box-shadow:0 -18px 50px rgba(23,21,56,.08)!important;}
.fg-qv-sticky-buy .fg-bulk-select-wrap span{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:900;color:#9fa6b8;margin-bottom:8px;}
.fg-qv-sticky-buy .fg-bulk-qty-select{width:100%;height:54px;border-radius:999px;border:1px solid #dcd8ff;background:#fff;padding:0 18px;font-weight:900;font-size:16px;color:#11131f;}
.fg-qv-sticky-buy .fg-add-to-cart-btn{width:100%;min-height:56px;border-radius:18px;margin-top:14px;display:flex;align-items:center;justify-content:center;gap:10px;color:#fff!important;}
.fg-qv-sticky-buy .fg-qv-details{display:block;text-align:center;margin-top:14px;font-weight:900;color:var(--fg-purple);text-decoration:none;background:transparent;padding:8px 12px;}
@media(max-width:640px){.fg-qv-drawer{width:100vw!important;}.fg-qv-content{padding:12px 22px 28px!important;}.fg-qv-product-rich .fg-qv-image{min-height:210px;padding:20px;border-radius:24px}.fg-qv-product-rich .fg-qv-image img{max-height:250px}.fg-qv-spec-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 0;padding:16px;border-radius:24px}.fg-qv-spec:nth-child(2){border-right:0}.fg-qv-spec:nth-child(n+3){border-top:1px solid #eef1f7;padding-top:14px}.fg-qv-sticky-buy{margin-left:-22px!important;margin-right:-22px!important;margin-bottom:-28px!important;padding-left:22px!important;padding-right:22px!important}.fg-qv-product-rich h2{font-size:2rem!important}}

/* v3.5.5 bulk pricing table UI */
.fg-bulk-section{margin:18px 0 16px;}
.fg-bulk-section-title{font-family:var(--fg-font-mono);font-size:11px;line-height:1.2;letter-spacing:.08em;text-transform:uppercase;font-weight:900;color:#8f96a8;margin:0 0 12px;}
.fg-bulk-pricing-table{width:100%;overflow:hidden;border:1px solid #e2dfff;border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(42,36,98,.04);}
.fg-bulk-price-row{appearance:none;-webkit-appearance:none;width:100%;border:0;border-bottom:1px solid #ebeef6;background:#fff;color:#242838;min-height:46px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;font:inherit;cursor:pointer;transition:background .18s ease,color .18s ease,box-shadow .18s ease;}
.fg-bulk-price-row:last-child{border-bottom:0;}
.fg-bulk-price-row:hover,.fg-bulk-price-row:focus-visible{background:#f7f5ff;outline:none;}
.fg-bulk-price-row.is-active{background:linear-gradient(90deg,rgba(117,97,255,.12),rgba(255,255,255,0));box-shadow:inset 4px 0 0 var(--fg-purple);}
.fg-bulk-price-label{font-size:15px;font-weight:700;color:#586174;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;}
.fg-bulk-price-label em{font-style:normal;color:#39c777;font-weight:900;}
.fg-bulk-price-row strong{display:inline-flex;align-items:baseline;gap:1px;white-space:nowrap;font-size:15px;color:#11131f;font-weight:900;}
.fg-bulk-price-row strong small{font-size:12px;color:#11131f;font-weight:900;}
.fg-bulk-hidden-select{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important;margin:-1px!important;padding:0!important;}
.fg-qv-bulk-section{margin-top:0;margin-bottom:14px;}
.fg-qv-sticky-buy .fg-bulk-section-title{margin-bottom:10px;}
.fg-qv-sticky-buy .fg-bulk-pricing-table{border-radius:16px;}
.fg-qv-sticky-buy .fg-bulk-price-row{min-height:44px;padding-left:14px;padding-right:14px;}
@media(max-width:640px){.fg-bulk-pricing-table{border-radius:16px}.fg-bulk-price-row{min-height:44px;padding:0 14px}.fg-bulk-price-label,.fg-bulk-price-row strong{font-size:14px}.fg-bulk-price-row strong small{font-size:11px}}

/* v3.6.0 lab results pdf */
.fg-cart-quick-add{cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease,opacity .2s ease;}
.fg-cart-quick-add:hover,.fg-cart-quick-add.is-adding{background:var(--fg-purple);color:#fff;transform:translateY(-1px);}
.fg-cart-quick-add:disabled{opacity:.75;cursor:wait;}


/* v3.6.0 lab results PDF button */
.fg-lab-results-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  width:100%;min-height:54px;padding:14px 20px;margin:0 0 16px;
  border-radius:999px;border:1px solid rgba(7,119,140,.18);
  background:linear-gradient(135deg,#067a8c,#0a95a7);
  color:#fff!important;text-decoration:none!important;font-weight:900;
  font-size:14px;letter-spacing:.02em;text-transform:uppercase;
  box-shadow:0 16px 34px rgba(6,122,140,.2);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.fg-lab-results-btn:hover,.fg-lab-results-btn:focus-visible{
  color:#fff!important;transform:translateY(-1px);filter:saturate(1.08);
  box-shadow:0 20px 44px rgba(6,122,140,.28);
}
.fg-lab-results-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;filter:grayscale(1) brightness(2);}
.fg-lab-results-btn-single{margin-bottom:18px;}
.fg-lab-results-btn-qv{margin:0 0 14px;min-height:50px;font-size:13px;}
@media (max-width:640px){.fg-lab-results-btn{min-height:50px;font-size:13px;padding:13px 16px;}}


/* v3.6.1 quick-view drawer: only Add to Cart stays sticky */
.fg-qv-prebuy-content{display:grid;gap:16px;margin:16px 0 18px;}
.fg-qv-prebuy-content .fg-lab-results-btn-qv{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;min-height:58px;border-radius:999px;text-decoration:none;}
.fg-qv-prebuy-content .fg-qv-bulk-section{margin:0;}
.fg-qv-details-inline{display:block;text-align:center;font-weight:900;color:var(--fg-purple);text-decoration:none;background:transparent;padding:8px 12px 2px;}
.fg-qv-sticky-button-only{position:sticky!important;bottom:0!important;z-index:6!important;margin:18px -26px -32px!important;padding:16px 26px 24px!important;border-radius:0!important;border-left:0!important;border-right:0!important;border-bottom:0!important;background:rgba(255,255,255,.97)!important;backdrop-filter:blur(16px);box-shadow:0 -14px 38px rgba(23,21,56,.10)!important;}
.fg-qv-sticky-button-only .fg-add-to-cart-btn{width:100%;min-height:58px;border-radius:20px;margin:0!important;display:flex;align-items:center;justify-content:center;gap:10px;color:#fff!important;}
.fg-qv-sticky-button-only .fg-cart-icon,.fg-qv-sticky-button-only .fg-cart-icon svg{color:#fff!important;fill:none!important;stroke:#fff!important;}
.fg-qv-sticky-button-only .fg-qv-details,.fg-qv-sticky-button-only .fg-bulk-section,.fg-qv-sticky-button-only .fg-lab-results-btn-qv{display:none!important;}
@media(max-width:640px){.fg-qv-prebuy-content{margin:14px 0 16px;gap:14px}.fg-qv-sticky-button-only{margin-left:-22px!important;margin-right:-22px!important;margin-bottom:-28px!important;padding:14px 22px 22px!important}.fg-qv-sticky-button-only .fg-add-to-cart-btn{min-height:56px;border-radius:18px}}


/* FG v3.6.3 - price spacing + cleaner body typography polish */
:root{
  --fg-font-body: 'Inter', 'Avenir Next', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  --fg-font-display: 'Inter', 'Avenir Next', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  --fg-font-mono: 'Inter', 'Avenir Next', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
}
body, button, input, textarea, select{
  font-family: var(--fg-font-body) !important;
  font-weight: 400;
  letter-spacing: -0.01em;
  text-rendering: optimizeLegibility;
}
p, li, .fg-qv-info-block, .fg-qv-storage-card div, .fg-product-doc-text, .fg-product-doc-card p{
  font-weight: 400 !important;
  line-height: 1.72;
  letter-spacing: -0.012em;
}
.fg-label,
.fg-qv-info-block h3,
.fg-qv-storage-card h3,
.fg-bulk-section-title,
.fg-qv-spec span,
.fg-product-meta-label,
.fg-product-card-category{
  font-weight: 700 !important;
  letter-spacing: .08em;
}
.fg-add-to-cart-btn,
.fg-lab-results-btn,
.fg-btn,
.button,
button.single_add_to_cart_button{
  font-weight: 750 !important;
  letter-spacing: .01em !important;
}
.fg-price,
.fg-qv-price,
.price,
.amount,
.woocommerce-Price-amount,
.fg-product-card-price,
.fg-bulk-price-row strong,
.fg-add-to-cart-btn,
.fg-add-to-cart-btn *,
.fg-cart-subtotal,
.fg-cart-product-price{
  word-spacing: normal !important;
  letter-spacing: -0.02em !important;
  font-variant-numeric: tabular-nums;
}
.fg-add-to-cart-btn{
  gap: 10px !important;
  white-space: nowrap;
}
.fg-add-to-cart-btn .fg-add-label{
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  word-spacing: normal !important;
  letter-spacing: -0.01em !important;
}
.fg-qv-storage-card,
.fg-bulk-pricing-table,
.fg-lab-results-btn,
.fg-qv-details-inline{
  font-family: var(--fg-font-body) !important;
}
.fg-bulk-price-row{
  font-weight: 600 !important;
}
.fg-bulk-price-row em{
  font-weight: 750 !important;
}
.fg-bulk-price-row strong{
  font-weight: 800 !important;
}
.fg-qv-details-inline{
  font-weight: 750 !important;
  letter-spacing: -0.01em !important;
}

/* FG v3.6.4 - QA polish: category dots, decoded labels, footer logo sizing */
.fg-catalog-filter-row .fg-filter-item,
.fg-sidebar-filters .fg-filter-item,
.fg-product-card-cat{
  font-family: var(--fg-font-body) !important;
}
.fg-catalog-filter-row .fg-filter-item > span:first-child,
.fg-sidebar-filters .fg-filter-item > span:first-child,
.fg-product-card-cat{
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  min-width: 0 !important;
}
.fg-catalog-filter-row .fg-filter-item .dot,
.fg-sidebar-filters .fg-filter-item .dot,
.fg-product-card-cat .dot,
.fg-product-card-category .dot{
  display: inline-block !important;
  width: 8px !important;
  height: 8px !important;
  min-width: 8px !important;
  flex: 0 0 8px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  vertical-align: middle !important;
}
.fg-catalog-filter-row .fg-filter-item > span:first-child > .dot,
.fg-sidebar-filters .fg-filter-item > span:first-child > .dot,
.fg-product-card-cat > .dot{
  margin-right: 0 !important;
}
.fg-catalog-filter-row .fg-filter-count,
.fg-sidebar-filters .fg-filter-count{
  margin-left: auto !important;
  padding-left: 10px !important;
  flex: 0 0 auto !important;
  opacity: .66;
}
.fg-product-card-cat span:last-child,
.fg-product-card-category span:last-child{
  min-width: 0;
  overflow-wrap: anywhere;
}
.fg-footer-brand{
  min-width: 0;
}
.fg-footer-brand .fg-logo-img,
.fg-footer-brand > img,
.fg-footer-brand a.custom-logo-link img{
  display: block !important;
  width: auto !important;
  max-width: min(220px, 72vw) !important;
  height: auto !important;
  max-height: 58px !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: 0 0 18px !important;
}
@media (max-width: 768px){
  .fg-footer{
    padding-top: 48px !important;
  }
  .fg-footer-brand{
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }
  .fg-footer-brand .fg-logo-img,
  .fg-footer-brand > img,
  .fg-footer-brand a.custom-logo-link img{
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: min(230px, 76vw) !important;
    max-height: 62px !important;
  }
  .fg-footer-brand p{
    max-width: 34rem;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .fg-footer-col,
  .fg-footer-bottom{
    text-align: center !important;
  }
}
@media (max-width: 520px){
  .fg-catalog-filter-row .fg-filter-item,
  .fg-sidebar-filters .fg-filter-item{
    min-height: 56px !important;
  }
  .fg-product-card-cat{
    gap: 8px !important;
  }
}

/* ===========================
   QA PATCH v3.6.4 — Accessibility, LCP, UX fixes
   =========================== */

/* scroll-padding-top to offset sticky navbar for anchor links */
html { scroll-padding-top: 86px; }

/* Accessible thumbnail buttons replacing onclick <img> */
.fg-thumb-btn {
  display: inline-block;
  padding: 0;
  border: 2px solid transparent;
  border-radius: var(--fg-radius);
  background: none;
  cursor: pointer;
  transition: border-color 0.2s;
  overflow: hidden;
}
.fg-thumb-btn.active,
.fg-thumb-btn:hover {
  border-color: var(--fg-purple);
}
.fg-thumb-btn img {
  display: block;
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: calc(var(--fg-radius) - 2px);
}

/* Focus-visible: keyboard navigation indicator */
:focus-visible {
  outline: 2px solid var(--fg-purple);
  outline-offset: 2px;
}
button:focus-visible,
a:focus-visible {
  outline: 2px solid var(--fg-purple);
  outline-offset: 2px;
  border-radius: 4px;
}

/* Reduced motion: respect user preference */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .fg-reveal, .fg-reveal-left, .fg-reveal-right, .fg-reveal-scale {
    opacity: 1 !important;
    transform: none !important;
  }
  .fg-particle { display: none !important; }
}


/* FG v3.7.0 original design refresh */
:root{--fg-purple:#0b63f6;--fg-purple-light:#42d9c8;--fg-blue:#0b63f6;--fg-teal:#10bfa6;--fg-navy:#071827;--fg-ink:#101828;--fg-soft:#f3f8ff;--fg-border:rgba(9,42,82,.12);--fg-shadow:0 24px 70px rgba(9,42,82,.10)}
body{background:radial-gradient(circle at 12% 8%,rgba(12,99,246,.08),transparent 28%),linear-gradient(180deg,#f8fbff 0%,#fff 45%,#f7fbff 100%)!important;color:var(--fg-ink)!important}.fg-announcement{background:linear-gradient(90deg,#071827,#0d2746)!important;color:#edf9ff!important}.fg-navbar{background:rgba(255,255,255,.94)!important;border:1px solid rgba(11,99,246,.10)!important;border-left:0!important;border-right:0!important;box-shadow:0 16px 42px rgba(7,24,39,.06)!important}.fg-navbar::after{background:linear-gradient(90deg,#0b63f6,#10bfa6)!important;opacity:.8!important;height:2px!important}.fg-navbar-inner{max-width:1380px!important}.fg-nav-links a:hover,.fg-nav-link>a:hover{color:#0b63f6!important}.fg-btn-primary,.fg-add-to-cart-btn,.fg-qv-add-to-cart,.fg-catalog-filter-row .fg-filter-item.active{background:linear-gradient(135deg,#0b63f6,#10bfa6)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 16px 34px rgba(11,99,246,.22)!important}.fg-btn-outline{border-color:rgba(11,99,246,.22)!important;color:#0b63f6!important;background:#fff!important}.fg-hero{position:relative!important;padding:clamp(76px,9vw,128px) 0 clamp(58px,7vw,94px)!important;background:linear-gradient(135deg,rgba(11,99,246,.08),rgba(16,191,166,.08) 42%,rgba(255,255,255,0) 72%)!important;overflow:hidden!important}.fg-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(11,99,246,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(11,99,246,.045) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(180deg,#000,transparent 82%);pointer-events:none}.fg-hero-particles{display:none!important}.fg-hero-inner{position:relative!important;z-index:1!important;grid-template-columns:minmax(0,1.02fr) minmax(320px,.78fr)!important;gap:clamp(36px,6vw,82px)!important;align-items:center!important}.fg-hero-label,.fg-label{color:#0b63f6!important;letter-spacing:.18em!important}.fg-hero h1{max-width:780px!important;font-size:clamp(54px,7.2vw,110px)!important;line-height:.9!important;letter-spacing:-.07em!important;color:#0b1220!important}.fg-hero h1 em{font-style:normal!important;background:linear-gradient(90deg,#0b63f6,#10bfa6)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important}.fg-hero-desc{max-width:620px!important;color:#475467!important;font-size:clamp(17px,1.5vw,21px)!important;line-height:1.65!important}.fg-hero-product-card{position:relative!important;transform:none!important;rotate:0deg!important;border-radius:34px!important;border:1px solid rgba(11,99,246,.14)!important;background:linear-gradient(180deg,#fff,rgba(243,248,255,.92))!important;box-shadow:0 34px 90px rgba(9,42,82,.14)!important;padding:clamp(18px,3vw,32px)!important}.fg-hero-product-card:before{content:"COA Available";position:absolute;top:22px;left:22px;padding:10px 14px;border-radius:999px;background:#fff;color:#0b63f6;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 12px 30px rgba(9,42,82,.10)}.fg-hero-product-card:after{content:"Batch Traceable";position:absolute;right:20px;bottom:20px;padding:10px 14px;border-radius:999px;background:#071827;color:#fff;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.fg-hero-product-card img{object-fit:contain!important;max-height:520px!important;background:linear-gradient(135deg,rgba(11,99,246,.06),rgba(16,191,166,.05))!important}.fg-bento{padding:clamp(52px,7vw,96px) 0!important;background:#fff!important}.fg-bento-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}.fg-bento-right{display:contents!important}.fg-bento-card{min-height:auto!important;border-radius:28px!important;padding:clamp(24px,3vw,34px)!important;background:linear-gradient(180deg,#fff,#f8fbff)!important;border:1px solid var(--fg-border)!important;box-shadow:0 20px 55px rgba(9,42,82,.07)!important;transform:none!important}.fg-bento-card:hover{transform:translateY(-5px)!important;border-color:rgba(11,99,246,.30)!important}.fg-bento-card:before{content:"0" counter(fgstep);counter-increment:fgstep;display:inline-grid;place-items:center;width:42px;height:42px;border-radius:14px;background:rgba(11,99,246,.09);color:#0b63f6;font-weight:900;margin-bottom:18px}.fg-bento-grid{counter-reset:fgstep}.fg-bento-card-title{font-size:clamp(22px,2vw,30px)!important;color:#0b1220!important}.fg-bento-card p{color:#5b6473!important;font-size:16px!important}.fg-bento-image{height:180px!important;border-radius:22px!important;background:linear-gradient(135deg,rgba(11,99,246,.08),rgba(16,191,166,.07))!important;border-color:rgba(11,99,246,.12)!important}.fg-categories{padding:clamp(58px,8vw,110px) 0!important;background:linear-gradient(180deg,#fff,#f5faff)!important}.fg-categories-header{display:grid!important;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)!important;gap:26px!important;align-items:end!important;margin-bottom:34px!important}.fg-categories-header h2{font-size:clamp(42px,5.4vw,74px)!important;line-height:.96!important;letter-spacing:-.06em!important;color:#0b1220!important}.fg-categories-header p{font-size:18px!important;line-height:1.7!important;color:#526070!important}.fg-stack-container{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}.fg-stack-card{position:relative!important;top:auto!important;display:grid!important;grid-template-columns:minmax(0,1fr) 220px!important;min-height:0!important;border-radius:32px!important;overflow:hidden!important;border:1px solid rgba(11,99,246,.12)!important;background:#fff!important;color:#0b1220!important;box-shadow:0 20px 60px rgba(9,42,82,.08)!important}.fg-stack-card-content{padding:34px!important;color:#0b1220!important}.fg-stack-card h3{font-size:clamp(28px,3vw,44px)!important;line-height:1!important;color:#0b1220!important}.fg-stack-card p{color:#5b6473!important;font-size:15.5px!important;line-height:1.6!important}.fg-stack-card-meta,.fg-stack-card-num{color:#0b63f6!important}.fg-stack-card-code,.fg-stack-card-count,.fg-stack-pill{background:rgba(11,99,246,.08)!important;color:#0b63f6!important;border:1px solid rgba(11,99,246,.10)!important}.fg-stack-card-visual{background:linear-gradient(135deg,rgba(11,99,246,.08),rgba(16,191,166,.08))!important;display:grid!important;place-items:center!important}.fg-stack-card-visual img{width:100%!important;height:100%!important;max-height:360px!important;object-fit:contain!important;padding:20px!important}.fg-catalog-section{background:#fff!important;padding:clamp(64px,8vw,118px) 0!important}.fg-catalog-container{max-width:1320px!important}.fg-catalog-hero{border:1px solid rgba(11,99,246,.12)!important;border-radius:34px!important;padding:clamp(26px,4vw,44px)!important;background:linear-gradient(135deg,#f7fbff,#fff)!important;box-shadow:0 20px 70px rgba(9,42,82,.07)!important;margin-bottom:20px!important}.fg-catalog-hero h2{font-size:clamp(40px,5vw,76px)!important;letter-spacing:-.062em!important;color:#0b1220!important}.fg-catalog-hero p{color:#526070!important;max-width:650px!important}.fg-catalog-shop-link{border:1px solid rgba(11,99,246,.16)!important;background:#fff!important;color:#0b63f6!important;box-shadow:0 12px 30px rgba(9,42,82,.07)!important}.fg-catalog-panel{border-radius:34px!important;background:#fff!important;border:1px solid rgba(11,99,246,.12)!important;box-shadow:0 28px 70px rgba(9,42,82,.08)!important;padding:22px!important}.fg-catalog-filter-row{background:#f7fbff!important;border:1px solid rgba(11,99,246,.10)!important;border-radius:24px!important;padding:10px!important;gap:8px!important}.fg-catalog-filter-row .fg-filter-item{border-radius:18px!important;background:#fff!important;border:1px solid rgba(9,42,82,.08)!important;color:#243247!important}.fg-catalog-filter-row .fg-filter-item.active{background:linear-gradient(135deg,#0b63f6,#10bfa6)!important;color:#fff!important}.fg-catalog-grid.fg-products-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))!important;gap:20px!important}.fg-product-card{border-radius:26px!important;background:#fff!important;border:1px solid rgba(11,99,246,.12)!important;box-shadow:0 16px 48px rgba(9,42,82,.07)!important}.fg-product-card:hover{border-color:rgba(11,99,246,.35)!important;box-shadow:0 24px 70px rgba(9,42,82,.12)!important}.fg-product-card-image{background:linear-gradient(135deg,#f2f7ff,#edf7f5)!important;border-radius:22px!important}.fg-product-card-cat,.fg-product-card-category{color:#5b6473!important;letter-spacing:.12em!important}.fg-product-card-name{color:#0b1220!important}.fg-product-card-quick{background:#fff!important;border:1px solid rgba(11,99,246,.18)!important;color:#0b1220!important}.fg-product-card-quick:hover,.fg-product-card-quick:focus-visible,.fg-product-card-quick.is-adding,.fg-product-card-quick.is-added{background:#0b63f6!important;color:#fff!important;border-color:#0b63f6!important}.fg-coa-section{background:linear-gradient(135deg,#071827,#0d2746)!important;color:#fff!important}.fg-coa-section h2,.fg-coa-section p,.fg-coa-compound{color:#fff!important}.fg-coa-section p,.fg-coa-lot,.fg-coa-stat-label{color:rgba(255,255,255,.68)!important}.fg-coa-visual,.fg-coa-stat,.fg-coa-list-item{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.12)!important}.fg-docs{background:#f7fbff!important;color:#0b1220!important}.fg-docs h2{color:#0b1220!important}.fg-docs p{color:#526070!important}.fg-docs-feature{background:#fff!important;color:#0b1220!important;border:1px solid rgba(11,99,246,.12)!important;box-shadow:0 16px 42px rgba(9,42,82,.07)!important}.fg-footer{background:#071827!important}.fg-footer-brand .fg-logo-img,.fg-footer-brand>img,.fg-footer-brand a.custom-logo-link img{background:#fff!important;border-radius:10px!important;padding:8px 12px!important;max-width:min(230px,74vw)!important;max-height:64px!important;height:auto!important;width:auto!important;object-fit:contain!important}.fg-price,.amount,.woocommerce-Price-amount{letter-spacing:-.02em!important;word-spacing:normal!important}.fg-qv-bulk-table,.fg-bulk-pricing-table{font-weight:500!important}@media(max-width:980px){.fg-hero-inner{grid-template-columns:1fr!important}.fg-hero-visual{display:block!important}.fg-bento-grid,.fg-stack-container{grid-template-columns:1fr!important}.fg-stack-card{grid-template-columns:1fr!important}.fg-stack-card-visual{min-height:220px!important}.fg-categories-header{grid-template-columns:1fr!important}}@media(max-width:782px){.fg-hero{padding-top:54px!important}.fg-hero h1{font-size:clamp(42px,13vw,62px)!important}.fg-hero-product-card{border-radius:24px!important}.fg-hero-product-card:before,.fg-hero-product-card:after{font-size:10px!important;padding:8px 10px!important}.fg-bento,.fg-categories,.fg-catalog-section{padding:42px 0!important}.fg-bento-card,.fg-stack-card,.fg-catalog-hero,.fg-catalog-panel{border-radius:24px!important}.fg-catalog-filter-row{display:grid!important;grid-template-columns:1fr!important}.fg-catalog-filter-row .fg-filter-item{min-height:54px!important}.fg-catalog-grid.fg-products-grid{grid-template-columns:1fr!important}.fg-stack-card-content{padding:24px!important}.fg-stack-card-visual img{max-height:240px!important}.fg-footer-brand .fg-logo-img,.fg-footer-brand>img,.fg-footer-brand a.custom-logo-link img{margin-left:auto!important;margin-right:auto!important}}

/* FG v3.7.1 - layout QA polish: full header, hero visual, stacked categories, COA spacing, readable docs */
html,body{max-width:100%;overflow-x:hidden}.fg-announcement{width:100%!important;max-width:100%!important}.fg-navbar{width:100%!important;max-width:none!important;left:0!important;right:0!important;margin:0!important;top:0!important;border-radius:0!important;border-left:0!important;border-right:0!important}.fg-navbar-inner{width:100%!important;max-width:1480px!important;margin:0 auto!important;padding-left:clamp(20px,4vw,56px)!important;padding-right:clamp(20px,4vw,56px)!important}.admin-bar .fg-navbar{top:32px!important}@media(max-width:782px){.admin-bar .fg-navbar{top:46px!important}.fg-navbar-inner{padding-left:16px!important;padding-right:16px!important}}
.fg-hero{padding-top:clamp(96px,9vw,138px)!important;padding-bottom:clamp(70px,8vw,116px)!important;background:radial-gradient(circle at 72% 28%,rgba(16,191,166,.16),transparent 34%),radial-gradient(circle at 25% 16%,rgba(11,99,246,.16),transparent 31%),linear-gradient(135deg,#f5fbff 0%,#fff 74%)!important}.fg-hero-inner{grid-template-columns:minmax(0,1fr) minmax(390px,.86fr)!important;gap:clamp(46px,6vw,96px)!important}.fg-hero-visual{display:flex!important;justify-content:center!important;align-items:center!important}.fg-hero-product-card{width:min(100%,610px)!important;min-height:clamp(340px,34vw,520px)!important;display:grid!important;place-items:center!important;padding:clamp(24px,3.4vw,44px)!important;border-radius:38px!important}.fg-hero-product-card img{width:100%!important;max-width:540px!important;max-height:520px!important;height:auto!important;object-fit:contain!important;display:block!important}.fg-hero h1{max-width:820px!important}.fg-hero-desc{max-width:660px!important}@media(max-width:980px){.fg-hero-inner{grid-template-columns:1fr!important}.fg-hero-visual{display:flex!important}.fg-hero-product-card{min-height:auto!important;max-width:560px!important;margin-inline:auto!important}.fg-hero-product-card img{max-height:420px!important}}@media(max-width:640px){.fg-hero{padding-top:64px!important}.fg-hero-product-card{border-radius:26px!important;padding:18px!important}.fg-hero-product-card img{max-height:320px!important}}
.fg-categories{padding:clamp(74px,8vw,118px) 0 0!important;background:linear-gradient(180deg,#fff 0%,#f6fbff 100%)!important;overflow:visible!important}.fg-categories-header{display:grid!important;grid-template-columns:minmax(240px,.74fr) minmax(0,1.26fr)!important;gap:clamp(24px,5vw,72px)!important;align-items:end!important;margin-bottom:clamp(34px,5vw,58px)!important}.fg-categories-header h2{max-width:760px!important;color:#0b1220!important}.fg-categories-header p{max-width:500px!important;color:#334155!important}.fg-stack-container{display:block!important;position:relative!important;gap:0!important;max-width:1280px!important;margin:0 auto!important}.fg-stack-card{position:sticky!important;display:grid!important;grid-template-columns:minmax(0,.92fr) minmax(340px,.82fr)!important;min-height:min(78vh,720px)!important;top:104px!important;margin:0 0 42px!important;border-radius:38px!important;overflow:hidden!important;border:1px solid rgba(255,255,255,.12)!important;background:linear-gradient(135deg,#071827 0%,#0d2746 56%,#0f3552 100%)!important;color:#fff!important;box-shadow:0 34px 90px rgba(7,24,39,.20)!important;isolation:isolate!important}.fg-stack-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 22%,rgba(66,217,200,.22),transparent 30%),radial-gradient(circle at 8% 88%,rgba(11,99,246,.22),transparent 28%);pointer-events:none;z-index:-1}.fg-stack-card:nth-child(1){top:104px!important;z-index:5!important}.fg-stack-card:nth-child(2){top:118px!important;z-index:6!important}.fg-stack-card:nth-child(3){top:132px!important;z-index:7!important}.fg-stack-card:nth-child(4){top:146px!important;z-index:8!important}.fg-stack-card:nth-child(5){top:160px!important;z-index:9!important}.fg-stack-card:last-child{margin-bottom:clamp(80px,12vh,150px)!important}.fg-stack-card-content{padding:clamp(34px,5vw,72px)!important;color:#fff!important;min-width:0!important;justify-content:center!important}.fg-stack-card h3{font-size:clamp(38px,5vw,72px)!important;line-height:.92!important;letter-spacing:-.06em!important;color:#fff!important;max-width:620px!important}.fg-stack-card p{font-size:clamp(16px,1.3vw,19px)!important;line-height:1.65!important;max-width:540px!important;color:rgba(255,255,255,.78)!important}.fg-stack-card-num{color:rgba(255,255,255,.56)!important}.fg-stack-card-meta{color:#7dd3fc!important}.fg-stack-card-code{background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.14)!important;color:#7dd3fc!important}.fg-stack-card-count{background:rgba(66,217,200,.14)!important;border:1px solid rgba(66,217,200,.24)!important;color:#7dd3fc!important}.fg-stack-pill{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.16)!important;color:#e9f7ff!important}.fg-stack-card-visual{min-height:100%!important;background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(66,217,200,.12))!important;display:grid!important;place-items:center!important;overflow:hidden!important}.fg-stack-card-visual img{width:100%!important;height:100%!important;max-height:640px!important;object-fit:contain!important;padding:clamp(20px,4vw,54px)!important}.fg-stack-card .fg-btn-primary{align-self:flex-start!important;background:linear-gradient(135deg,#0b63f6,#10bfa6)!important;color:#fff!important}@media(max-width:1024px){.fg-categories-header{grid-template-columns:1fr!important}.fg-stack-card{position:relative!important;top:auto!important;grid-template-columns:1fr!important;min-height:auto!important;margin-bottom:24px!important}.fg-stack-card-visual{min-height:300px!important}.fg-stack-card-visual img{max-height:340px!important}.fg-stack-card:last-child{margin-bottom:46px!important}}@media(max-width:640px){.fg-categories{padding-top:50px!important}.fg-stack-card{border-radius:28px!important}.fg-stack-card-content{padding:26px!important}.fg-stack-card h3{font-size:clamp(34px,12vw,50px)!important}.fg-stack-card p{font-size:15px!important}.fg-stack-card-pills{gap:7px!important}.fg-stack-card-visual{min-height:235px!important}.fg-stack-card-visual img{max-height:260px!important;padding:18px!important}}
.fg-coa-section{padding:clamp(74px,8vw,118px) 0!important;background:linear-gradient(135deg,#071827 0%,#0d2c4c 100%)!important;color:#fff!important;overflow:hidden!important}.fg-coa-inner{max-width:1240px!important;margin:0 auto!important;display:grid!important;grid-template-columns:minmax(0,.95fr) minmax(360px,.78fr)!important;gap:clamp(36px,5vw,74px)!important;align-items:center!important}.fg-coa-inner>div:first-child{max-width:660px!important}.fg-coa-visual{width:100%!important;max-width:540px!important;margin-left:auto!important;margin-right:0!important;padding:clamp(26px,3.4vw,42px)!important;border-radius:30px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.14)!important;box-shadow:0 26px 70px rgba(0,0,0,.18)!important}.fg-coa-list-item{background:rgba(255,255,255,.045)!important;border-bottom:1px solid rgba(255,255,255,.12)!important}.fg-coa-section h2{color:#fff!important}.fg-coa-section p{color:rgba(255,255,255,.78)!important}.fg-coa-stats{max-width:640px!important}@media(max-width:980px){.fg-coa-inner{grid-template-columns:1fr!important}.fg-coa-visual{max-width:none!important;margin:0!important}.fg-coa-inner>div:first-child{max-width:none!important}}
.fg-docs{background:linear-gradient(180deg,#f7fbff 0%,#fff 100%)!important;color:#0b1220!important}.fg-docs .fg-label{color:#0b63f6!important}.fg-docs h2,.fg-docs .fg-docs-feature-title{color:#0b1220!important}.fg-docs p,.fg-docs-feature p{color:#334155!important}.fg-docs-feature{background:#fff!important;border:1px solid rgba(11,99,246,.12)!important;box-shadow:0 18px 46px rgba(9,42,82,.07)!important}.fg-docs-feature-icon{background:rgba(11,99,246,.09)!important;color:#10bfa6!important}.fg-docs-inner{gap:clamp(34px,5vw,72px)!important}.fg-docs-features{margin-top:0!important}.fg-docs .fg-reveal-left{max-width:620px!important}@media(max-width:980px){.fg-docs-inner{grid-template-columns:1fr!important}.fg-docs-features{margin-top:20px!important}}
@media(max-width:782px){.fg-container,.fg-container-wide,.fg-catalog-container{padding-left:18px!important;padding-right:18px!important}.fg-catalog-filter-row .fg-filter-item>span:first-child{gap:10px!important}.fg-product-card-cat{gap:10px!important}.fg-navbar{position:sticky!important}.fg-navbar-inner{min-height:66px!important;height:66px!important}}


/* FG v3.7.2 - QA polish: preview-safe catalog CTA, research pathway header/layout, image containment, mobile spacing */
.fg-catalog-hero{
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:clamp(18px,3vw,34px)!important;
}
.fg-catalog-shop-link{
  width:auto!important;
  min-width:0!important;
  height:54px!important;
  min-height:54px!important;
  border-radius:999px!important;
  padding:0 24px!important;
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  white-space:nowrap!important;
  line-height:1!important;
  text-align:center!important;
  background:linear-gradient(135deg,#0b63f6,#10bfa6)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 18px 38px rgba(11,99,246,.24)!important;
}
.fg-catalog-shop-link span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  line-height:1!important;
}
.fg-catalog-shop-link:hover,
.fg-catalog-shop-link:focus-visible{
  transform:translateY(-2px)!important;
  box-shadow:0 22px 48px rgba(11,99,246,.30)!important;
}
.fg-categories-header{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(240px,360px)!important;
  gap:clamp(22px,4vw,56px)!important;
  align-items:end!important;
  max-width:1280px!important;
  margin:0 auto clamp(36px,5vw,62px)!important;
}
.fg-categories-copy{min-width:0!important;max-width:780px!important;grid-column:auto!important;}
.fg-categories-copy .fg-label{margin-bottom:16px!important;}
.fg-categories-copy h2,
.fg-categories-header h2{
  margin:0!important;
  max-width:820px!important;
  text-align:left!important;
  color:#0b1220!important;
}
.fg-categories-copy p,
.fg-categories-header p{
  margin:18px 0 0!important;
  max-width:640px!important;
  color:#334155!important;
  text-align:left!important;
}
.fg-categories-note{
  justify-self:end!important;
  max-width:340px!important;
  padding:22px 24px!important;
  border:1px solid rgba(11,99,246,.14)!important;
  border-radius:24px!important;
  background:linear-gradient(135deg,rgba(11,99,246,.06),rgba(16,191,166,.06))!important;
  box-shadow:0 18px 48px rgba(9,42,82,.06)!important;
}
.fg-categories-note span{
  display:block!important;
  color:#0b63f6!important;
  font-size:12px!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  font-weight:900!important;
  margin-bottom:8px!important;
}
.fg-categories-note p{
  margin:0!important;
  color:#526070!important;
  font-size:14px!important;
  line-height:1.55!important;
}
.fg-stack-card-visual{
  overflow:hidden!important;
  padding:clamp(24px,4vw,58px)!important;
  min-width:0!important;
}
.fg-stack-card-visual img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:0!important;
  margin:auto!important;
}
.fg-stack-card-content{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:0!important;
}
.fg-stack-card-pills{margin-top:22px!important;margin-bottom:28px!important;}
.fg-stack-card .fg-btn{margin-top:0!important;}
@media(max-width:1024px){
  .fg-categories-header{
    grid-template-columns:1fr!important;
    gap:18px!important;
    margin-bottom:30px!important;
  }
  .fg-categories-note{
    justify-self:stretch!important;
    max-width:none!important;
  }
  .fg-stack-card-visual{
    padding:26px!important;
    min-height:300px!important;
  }
  .fg-stack-card-visual img{
    max-height:300px!important;
  }
}
@media(max-width:760px){
  .fg-catalog-hero{
    grid-template-columns:1fr!important;
    padding:26px 22px!important;
  }
  .fg-catalog-shop-link{
    width:100%!important;
    height:52px!important;
    min-height:52px!important;
    padding:0 18px!important;
  }
  .fg-categories{
    padding-top:54px!important;
  }
  .fg-categories-header{
    padding-inline:2px!important;
    margin-bottom:24px!important;
  }
  .fg-categories-copy .fg-label{margin-bottom:12px!important;}
  .fg-categories-copy h2,
  .fg-categories-header h2{
    font-size:clamp(36px,11vw,52px)!important;
    line-height:.98!important;
    letter-spacing:-.055em!important;
  }
  .fg-categories-copy p,
  .fg-categories-header p{
    font-size:16px!important;
    line-height:1.62!important;
    margin-top:14px!important;
  }
  .fg-categories-note{
    display:none!important;
  }
  .fg-stack-card{
    border-radius:28px!important;
    margin-bottom:22px!important;
  }
  .fg-stack-card-content{
    padding:32px 28px 28px!important;
  }
  .fg-stack-card-meta{margin-bottom:22px!important;gap:10px!important;}
  .fg-stack-card-num{margin-bottom:20px!important;}
  .fg-stack-card h3{
    font-size:clamp(38px,12vw,52px)!important;
    line-height:.96!important;
    margin-bottom:18px!important;
  }
  .fg-stack-card p{
    font-size:16px!important;
    line-height:1.68!important;
    margin-bottom:0!important;
  }
  .fg-stack-card-pills{
    margin-top:22px!important;
    margin-bottom:26px!important;
    gap:8px!important;
  }
  .fg-stack-card-visual{
    min-height:270px!important;
    padding:22px!important;
  }
  .fg-stack-card-visual img{
    max-height:240px!important;
  }
}
@media(max-width:420px){
  .fg-stack-card-content{padding:28px 24px 26px!important;}
  .fg-stack-card-visual{min-height:245px!important;padding:18px!important;}
  .fg-stack-card-visual img{max-height:220px!important;}
}



/* FG v3.7.3 - Research Pathways compact height + full image containment */
.fg-categories .fg-stack-card{
  min-height:350px!important;
  height:auto!important;
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.72fr)!important;
  align-items:stretch!important;
  margin-bottom:32px!important;
}
.fg-categories .fg-stack-card-content{
  padding:clamp(30px,4vw,50px)!important;
  justify-content:center!important;
}
.fg-categories .fg-stack-card h3{
  font-size:clamp(34px,4vw,56px)!important;
  line-height:.96!important;
  margin:16px 0!important;
  max-width:540px!important;
}
.fg-categories .fg-stack-card p{
  font-size:clamp(15px,1.12vw,17px)!important;
  line-height:1.6!important;
  max-width:500px!important;
}
.fg-categories .fg-stack-card-pills{
  margin-top:18px!important;
  margin-bottom:22px!important;
}
.fg-categories .fg-stack-card-visual{
  height:350px!important;
  min-height:350px!important;
  max-height:350px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  padding:22px!important;
}
.fg-categories .fg-stack-card-visual img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:90%!important;
  max-height:310px!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:0!important;
  margin:auto!important;
}
@media(max-width:1024px){
  .fg-categories .fg-stack-card{
    grid-template-columns:1fr!important;
    min-height:auto!important;
    margin-bottom:24px!important;
  }
  .fg-categories .fg-stack-card-content{
    padding:32px!important;
  }
  .fg-categories .fg-stack-card-visual{
    height:300px!important;
    min-height:300px!important;
    max-height:300px!important;
    padding:20px!important;
  }
  .fg-categories .fg-stack-card-visual img{
    max-height:260px!important;
    max-width:86%!important;
  }
}
@media(max-width:640px){
  .fg-categories .fg-stack-card-content{
    padding:26px 24px!important;
  }
  .fg-categories .fg-stack-card h3{
    font-size:clamp(34px,10vw,44px)!important;
    margin:14px 0!important;
  }
  .fg-categories .fg-stack-card p{
    font-size:15px!important;
    line-height:1.58!important;
  }
  .fg-categories .fg-stack-card-pills{
    margin-top:18px!important;
    margin-bottom:20px!important;
  }
  .fg-categories .fg-stack-card-visual{
    height:240px!important;
    min-height:240px!important;
    max-height:240px!important;
    padding:16px!important;
  }
  .fg-categories .fg-stack-card-visual img{
    max-height:210px!important;
    max-width:84%!important;
  }
}


/* FG v3.7.4 - Research Pathways right image panel balance */
.fg-categories .fg-stack-card{
  min-height:350px!important;
  align-items:stretch!important;
}
.fg-categories .fg-stack-card-visual{
  height:auto!important;
  min-height:100%!important;
  max-height:none!important;
  align-self:stretch!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  padding:clamp(22px,3vw,34px)!important;
}
.fg-categories .fg-stack-card-visual img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:86%!important;
  max-height:310px!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:auto!important;
}
@media(max-width:1024px){
  .fg-categories .fg-stack-card-visual{
    min-height:300px!important;
    height:300px!important;
    align-self:auto!important;
  }
  .fg-categories .fg-stack-card-visual img{max-height:260px!important;max-width:86%!important;}
}
@media(max-width:640px){
  .fg-categories .fg-stack-card-visual{
    min-height:240px!important;
    height:240px!important;
    padding:16px!important;
  }
  .fg-categories .fg-stack-card-visual img{max-height:210px!important;max-width:84%!important;}
}


/* FeelGood v3.7.5 COA spacing refinement */
.fg-coa-section{padding:clamp(76px,8vw,120px) 0!important;}
.fg-coa-inner{align-items:center!important;gap:clamp(44px,6vw,92px)!important;}
.fg-coa-visual{max-width:600px!important;padding:clamp(38px,4.4vw,64px)!important;border-radius:34px!important;}
.fg-coa-visual .fg-label{display:block!important;margin-bottom:22px!important;}
.fg-coa-visual > *{max-width:520px!important;margin-left:auto!important;margin-right:auto!important;}
.fg-coa-list-item{padding:22px 26px!important;border-radius:0!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:18px!important;align-items:center!important;}
.fg-coa-list-item:first-of-type{border-top-left-radius:14px!important;border-top-right-radius:14px!important;}
.fg-coa-list-item:last-of-type{border-bottom-left-radius:14px!important;border-bottom-right-radius:14px!important;}
.fg-coa-compound{font-size:17px!important;line-height:1.3!important;}
.fg-coa-lot{display:block!important;margin-top:6px!important;line-height:1.35!important;}
.fg-coa-purity{font-size:19px!important;white-space:nowrap!important;}
@media(max-width:980px){.fg-coa-inner{gap:30px!important}.fg-coa-visual{max-width:100%!important;margin:0!important;padding:32px 22px!important}.fg-coa-visual>*{max-width:100%!important}.fg-coa-list-item{padding:18px 16px!important}}
@media(max-width:520px){.fg-coa-section{padding:56px 0!important}.fg-coa-visual{border-radius:24px!important;padding:24px 14px!important}.fg-coa-list-item{grid-template-columns:1fr!important;gap:8px!important}.fg-coa-purity{font-size:18px!important}}

/* FG v3.7.6 - Mobile Research Pathways card refinement */
.fg-categories .fg-stack-container{
  width:100%!important;
}
.fg-categories .fg-stack-card{
  overflow:hidden!important;
}
@media (max-width: 782px){
  .fg-categories{
    padding-top:42px!important;
    padding-bottom:52px!important;
  }
  .fg-categories .fg-container-wide,
  .fg-categories .fg-container{
    width:100%!important;
    max-width:100%!important;
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .fg-categories-header{
    margin-bottom:24px!important;
    gap:14px!important;
  }
  .fg-categories-header h2{
    font-size:clamp(36px,10vw,54px)!important;
    line-height:.95!important;
    letter-spacing:-.055em!important;
    max-width:100%!important;
  }
  .fg-categories-header p{
    font-size:15px!important;
    line-height:1.62!important;
    max-width:100%!important;
  }
  .fg-categories .fg-stack-card{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    margin:0 0 22px!important;
    border-radius:26px!important;
    box-shadow:0 22px 58px rgba(7,24,39,.24)!important;
  }
  .fg-categories .fg-stack-card-content{
    padding:24px 20px 20px!important;
    gap:0!important;
    justify-content:flex-start!important;
  }
  .fg-categories .fg-stack-card-meta{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    margin-bottom:16px!important;
  }
  .fg-categories .fg-stack-card-code,
  .fg-categories .fg-stack-card-count{
    font-size:11px!important;
    line-height:1!important;
    padding:7px 10px!important;
  }
  .fg-categories .fg-stack-card-num{
    margin:0 0 12px!important;
    font-size:13px!important;
  }
  .fg-categories .fg-stack-card h3{
    font-size:clamp(32px,9.5vw,44px)!important;
    line-height:.96!important;
    letter-spacing:-.055em!important;
    margin:0 0 12px!important;
    max-width:100%!important;
  }
  .fg-categories .fg-stack-card p{
    font-size:15px!important;
    line-height:1.56!important;
    max-width:100%!important;
    margin:0!important;
  }
  .fg-categories .fg-stack-card-pills{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    margin:18px 0 18px!important;
  }
  .fg-categories .fg-stack-pill{
    font-size:11px!important;
    line-height:1!important;
    padding:9px 11px!important;
    max-width:100%!important;
    white-space:normal!important;
  }
  .fg-categories .fg-stack-card .fg-btn,
  .fg-categories .fg-stack-card .fg-btn-primary{
    width:100%!important;
    min-height:52px!important;
    justify-content:center!important;
    margin:0!important;
    font-size:14px!important;
  }
  .fg-categories .fg-stack-card-visual{
    height:190px!important;
    min-height:190px!important;
    max-height:190px!important;
    width:calc(100% - 40px)!important;
    margin:0 20px 20px!important;
    padding:14px!important;
    border-radius:20px!important;
    align-self:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(66,217,200,.12))!important;
  }
  .fg-categories .fg-stack-card-visual img{
    width:auto!important;
    height:auto!important;
    max-width:88%!important;
    max-height:162px!important;
    object-fit:contain!important;
    object-position:center!important;
    padding:0!important;
    margin:auto!important;
  }
}
@media (max-width: 420px){
  .fg-categories .fg-container-wide,
  .fg-categories .fg-container{
    padding-left:12px!important;
    padding-right:12px!important;
  }
  .fg-categories .fg-stack-card{
    border-radius:24px!important;
  }
  .fg-categories .fg-stack-card-content{
    padding:22px 18px 18px!important;
  }
  .fg-categories .fg-stack-card h3{
    font-size:36px!important;
  }
  .fg-categories .fg-stack-card-visual{
    width:calc(100% - 36px)!important;
    margin:0 18px 18px!important;
    height:176px!important;
    min-height:176px!important;
    max-height:176px!important;
  }
  .fg-categories .fg-stack-card-visual img{
    max-height:150px!important;
  }
}
@media (min-width: 783px) and (max-width: 1180px){
  .fg-categories .fg-stack-card{
    grid-template-columns:minmax(0,1fr) minmax(260px,.62fr)!important;
  }
  .fg-categories .fg-stack-card-content{
    padding:36px!important;
  }
  .fg-categories .fg-stack-card h3{
    font-size:clamp(38px,5vw,54px)!important;
  }
  .fg-categories .fg-stack-card-visual img{
    max-height:260px!important;
  }
}


/* FG v3.7.7 - Mobile catalog/category QA fixes */
@media (max-width: 782px){
  .fg-categories{
    padding-top:38px!important;
    padding-bottom:38px!important;
    overflow:visible!important;
  }
  .fg-categories .fg-stack-card{
    position:relative!important;
    top:auto!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    margin:0 0 28px!important;
    overflow:hidden!important;
  }
  .fg-categories .fg-stack-card-content{
    padding:24px 20px 18px!important;
  }
  .fg-categories .fg-stack-card h3{
    font-size:clamp(34px,9.5vw,42px)!important;
    line-height:1!important;
    letter-spacing:-.05em!important;
    margin:0 0 12px!important;
  }
  .fg-categories .fg-stack-card p{
    font-size:15px!important;
    line-height:1.58!important;
  }
  .fg-categories .fg-stack-card-pills{
    margin:16px 0 18px!important;
    gap:8px!important;
  }
  .fg-categories .fg-stack-card .fg-btn,
  .fg-categories .fg-stack-card .fg-btn-primary{
    width:100%!important;
    max-width:100%!important;
    min-height:52px!important;
    margin:0!important;
  }
  .fg-categories .fg-stack-card-visual{
    position:relative!important;
    width:calc(100% - 36px)!important;
    height:168px!important;
    min-height:168px!important;
    max-height:168px!important;
    margin:0 18px 20px!important;
    padding:14px!important;
    border-radius:18px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
  }
  .fg-categories .fg-stack-card-visual img{
    width:auto!important;
    height:auto!important;
    max-width:84%!important;
    max-height:140px!important;
    object-fit:contain!important;
    object-position:center!important;
    margin:auto!important;
    padding:0!important;
  }
  .fg-categories + .fg-catalog-section,
  .fg-catalog-section{
    clear:both!important;
    padding-top:34px!important;
    margin-top:0!important;
    overflow:hidden!important;
  }
  .fg-catalog-container{
    width:100%!important;
    max-width:100%!important;
    padding-left:16px!important;
    padding-right:16px!important;
    overflow:hidden!important;
  }
  .fg-catalog-hero{
    display:block!important;
    grid-template-columns:1fr!important;
    padding:26px 20px 24px!important;
    border-radius:24px!important;
    margin:0 0 18px!important;
    overflow:hidden!important;
  }
  .fg-catalog-copy,
  .fg-catalog-copy *{
    min-width:0!important;
    max-width:100%!important;
  }
  .fg-catalog-hero h2{
    font-size:clamp(32px,9vw,40px)!important;
    line-height:1.05!important;
    letter-spacing:-.05em!important;
    margin:0 0 12px!important;
    text-wrap:balance!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .fg-catalog-hero p{
    font-size:15px!important;
    line-height:1.58!important;
    margin:0 0 18px!important;
  }
  .fg-catalog-shop-link{
    width:100%!important;
    max-width:100%!important;
    height:54px!important;
    min-height:54px!important;
    border-radius:18px!important;
    margin:0!important;
  }
  .fg-catalog-panel{
    border-radius:24px!important;
    padding:12px!important;
    overflow:hidden!important;
  }
  .fg-catalog-filter-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    overflow:visible!important;
    padding:10px!important;
  }
  .fg-catalog-filter-row .fg-filter-item,
  .fg-catalog-filter-row .fg-filter-item.active{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:52px!important;
    padding:0 14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    white-space:normal!important;
  }
  .fg-catalog-filter-row .fg-filter-item > span:first-child{
    display:inline-flex!important;
    align-items:center!important;
    gap:9px!important;
    min-width:0!important;
    flex:1 1 auto!important;
  }
  .fg-catalog-filter-row .fg-filter-item .dot,
  .fg-catalog-filter-row .fg-filter-item > span:first-child > .dot{
    flex:0 0 8px!important;
    width:8px!important;
    height:8px!important;
    margin:0!important;
  }
  .fg-catalog-filter-row .fg-filter-count{
    flex:0 0 auto!important;
    margin-left:12px!important;
    opacity:.72!important;
  }
  .fg-catalog-tools{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    margin-top:12px!important;
  }
  .fg-catalog-search input,
  .fg-catalog-sort select{
    width:100%!important;
    height:54px!important;
    min-height:54px!important;
  }
}
@media (max-width: 420px){
  .fg-categories .fg-stack-card-content{padding:22px 18px 16px!important;}
  .fg-categories .fg-stack-card h3{font-size:34px!important;}
  .fg-catalog-container{padding-left:12px!important;padding-right:12px!important;}
  .fg-catalog-hero{padding:24px 18px 22px!important;}
  .fg-catalog-hero h2{font-size:32px!important;}
}


/* FG v3.7.8 - homepage catalog dots spacing final fix */
.fg-products-home .fg-catalog-filter-row .fg-filter-item > span:first-child:has(.dot),
.fg-catalog-section.fg-products-home .fg-catalog-filter-row .fg-filter-item > span:first-child:has(.dot){
  display:grid!important;
  grid-template-columns:9px minmax(0,1fr)!important;
  column-gap:13px!important;
  align-items:center!important;
  min-width:0!important;
  max-width:100%!important;
  line-height:1.2!important;
}
.fg-products-home .fg-catalog-filter-row .fg-filter-item > span:first-child > .dot,
.fg-catalog-section.fg-products-home .fg-catalog-filter-row .fg-filter-item > span:first-child > .dot{
  display:block!important;
  width:8px!important;
  height:8px!important;
  min-width:8px!important;
  flex:0 0 8px!important;
  margin:0!important;
  border-radius:999px!important;
  justify-self:start!important;
  align-self:center!important;
}
.fg-products-home .fg-catalog-filter-row .fg-filter-item,
.fg-catalog-section.fg-products-home .fg-catalog-filter-row .fg-filter-item{
  overflow:hidden!important;
}
.fg-products-home .fg-catalog-filter-row .fg-filter-item > span:first-child,
.fg-catalog-section.fg-products-home .fg-catalog-filter-row .fg-filter-item > span:first-child{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.fg-products-home .fg-product-card-cat,
.fg-products-home .fg-product-card-category,
.fg-catalog-section.fg-products-home .fg-product-card-cat,
.fg-catalog-section.fg-products-home .fg-product-card-category{
  display:grid!important;
  grid-template-columns:8px minmax(0,1fr)!important;
  column-gap:11px!important;
  align-items:center!important;
  min-width:0!important;
  max-width:100%!important;
  line-height:1.22!important;
}
.fg-products-home .fg-product-card-cat .dot,
.fg-products-home .fg-product-card-category .dot,
.fg-catalog-section.fg-products-home .fg-product-card-cat .dot,
.fg-catalog-section.fg-products-home .fg-product-card-category .dot{
  display:block!important;
  width:8px!important;
  height:8px!important;
  min-width:8px!important;
  margin:0!important;
  border-radius:999px!important;
  justify-self:start!important;
}
@media(max-width:782px){
  .fg-products-home .fg-catalog-filter-row .fg-filter-item > span:first-child:has(.dot),
  .fg-catalog-section.fg-products-home .fg-catalog-filter-row .fg-filter-item > span:first-child:has(.dot){
    grid-template-columns:8px minmax(0,1fr)!important;
    column-gap:12px!important;
    font-size:14px!important;
    letter-spacing:-.01em!important;
  }
  .fg-products-home .fg-catalog-filter-row .fg-filter-item,
  .fg-catalog-section.fg-products-home .fg-catalog-filter-row .fg-filter-item{
    padding-left:16px!important;
    padding-right:14px!important;
  }
  .fg-products-home .fg-product-card-cat,
  .fg-products-home .fg-product-card-category,
  .fg-catalog-section.fg-products-home .fg-product-card-cat,
  .fg-catalog-section.fg-products-home .fg-product-card-category{
    grid-template-columns:8px minmax(0,1fr)!important;
    column-gap:12px!important;
    font-size:12px!important;
    letter-spacing:.12em!important;
  }
}


/* FG v3.7.9 - mobile homepage vertical rhythm/catalog spacing QA fix */
@media (max-width: 782px){
  /* Stop the final Research Pathway card image from visually crashing into the catalog intro below it. */
  .home .fg-categories{
    padding-bottom: 46px !important;
    margin-bottom: 0 !important;
    overflow: visible !important;
  }
  .home .fg-categories .fg-stack-container{
    gap: 28px !important;
    margin-bottom: 0 !important;
  }
  .home .fg-categories .fg-stack-card{
    margin-bottom: 28px !important;
    overflow: hidden !important;
  }
  .home .fg-categories .fg-stack-card:last-child{
    margin-bottom: 38px !important;
  }
  .home .fg-categories .fg-stack-card-visual{
    margin-top: 20px !important;
    margin-bottom: 0 !important;
  }

  /* Featured Catalog needs its own clean card and top breathing room on mobile. */
  .home .fg-categories + .fg-catalog-section,
  .home .fg-products-home,
  .home .fg-catalog-section.fg-products-home{
    clear: both !important;
    position: relative !important;
    z-index: 2 !important;
    padding-top: 42px !important;
    margin-top: 0 !important;
  }
  .home .fg-catalog-section.fg-products-home .fg-catalog-container,
  .home .fg-products-home .fg-catalog-container{
    display: flex !important;
    flex-direction: column !important;
    gap: 22px !important;
  }
  .home .fg-catalog-section.fg-products-home .fg-catalog-hero,
  .home .fg-products-home .fg-catalog-hero{
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
    padding: 28px 20px 22px !important;
    margin: 0 0 0 !important;
    overflow: visible !important;
  }
  .home .fg-catalog-section.fg-products-home .fg-catalog-copy,
  .home .fg-products-home .fg-catalog-copy{
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }
  .home .fg-catalog-section.fg-products-home .fg-catalog-hero h2,
  .home .fg-products-home .fg-catalog-hero h2{
    margin: 0 !important;
    padding: 0 !important;
    font-size: clamp(34px, 10vw, 44px) !important;
    line-height: .96 !important;
    letter-spacing: -.055em !important;
  }
  .home .fg-catalog-section.fg-products-home .fg-catalog-hero p,
  .home .fg-products-home .fg-catalog-hero p{
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
  }
  .home .fg-catalog-section.fg-products-home .fg-catalog-shop-link,
  .home .fg-products-home .fg-catalog-shop-link{
    align-self: stretch !important;
    width: 100% !important;
    min-height: 54px !important;
    margin-top: 6px !important;
    border-radius: 18px !important;
  }
  .home .fg-catalog-section.fg-products-home .fg-catalog-panel,
  .home .fg-products-home .fg-catalog-panel{
    margin-top: 0 !important;
  }

  /* Keep homepage category filter rows readable and prevent dot/text collisions. */
  .home .fg-catalog-section.fg-products-home .fg-catalog-filter-row,
  .home .fg-products-home .fg-catalog-filter-row{
    gap: 10px !important;
  }
  .home .fg-catalog-section.fg-products-home .fg-catalog-filter-row .fg-filter-item,
  .home .fg-products-home .fg-catalog-filter-row .fg-filter-item{
    min-height: 54px !important;
    padding: 13px 16px !important;
  }
  .home .fg-catalog-section.fg-products-home .fg-catalog-filter-row .fg-filter-item > span:first-child,
  .home .fg-products-home .fg-catalog-filter-row .fg-filter-item > span:first-child{
    display: grid !important;
    grid-template-columns: 8px minmax(0,1fr) !important;
    column-gap: 12px !important;
    align-items: center !important;
    white-space: nowrap !important;
  }
  .home .fg-catalog-section.fg-products-home .fg-catalog-filter-row .fg-filter-item .dot,
  .home .fg-products-home .fg-catalog-filter-row .fg-filter-item .dot{
    width: 8px !important;
    height: 8px !important;
    min-width: 8px !important;
    margin: 0 !important;
  }
}

@media (min-width: 783px) and (max-width: 1180px){
  .home .fg-categories + .fg-catalog-section,
  .home .fg-products-home{
    padding-top: 56px !important;
  }
}


/* FG v3.8.0 - final mobile catalog separation fix
   Adds real breathing room between the last Research Pathway card/image
   and the Featured Catalog intro on the homepage mobile layout. */
@media (max-width: 782px){
  .home .fg-categories{
    padding-bottom: 76px !important;
  }

  .home .fg-categories .fg-stack-card:last-child{
    margin-bottom: 70px !important;
  }

  .home .fg-categories .fg-stack-card:last-child .fg-stack-card-visual{
    margin-bottom: 22px !important;
  }

  .home .fg-categories + .fg-catalog-section.fg-products-home,
  .home section.fg-catalog-section.fg-products-home{
    padding-top: 84px !important;
    margin-top: 0 !important;
    background: linear-gradient(180deg,#f8fbff 0%,#ffffff 34%,#f7fbff 100%) !important;
  }

  .home .fg-catalog-section.fg-products-home .fg-catalog-hero{
    margin-top: 0 !important;
    padding-top: 42px !important;
    padding-bottom: 28px !important;
    transform: none !important;
  }

  .home .fg-catalog-section.fg-products-home .fg-label{
    display: block !important;
    margin-bottom: 12px !important;
    line-height: 1.2 !important;
  }

  .home .fg-catalog-section.fg-products-home .fg-catalog-hero h2{
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

@media (max-width: 430px){
  .home .fg-categories{
    padding-bottom: 88px !important;
  }
  .home .fg-categories + .fg-catalog-section.fg-products-home,
  .home section.fg-catalog-section.fg-products-home{
    padding-top: 96px !important;
  }
  .home .fg-catalog-section.fg-products-home .fg-catalog-hero{
    padding-top: 46px !important;
  }
}

/* v3.8.1 product reviews, badges, announcement gradient */
.fg-announcement{
  background:linear-gradient(135deg,#0b63f6 0%,#10bfa6 100%) !important;
  color:#fff !important;
  box-shadow:0 8px 24px rgba(11,99,246,.16);
}
.fg-product-badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:12px 0 22px;
}
.fg-product-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:8px 13px;
  border-radius:999px;
  background:linear-gradient(180deg,#fff,#f7fbff);
  border:1px solid rgba(11,99,246,.14);
  color:#1d2b3f;
  font-size:12px;
  font-weight:750;
  letter-spacing:.02em;
  box-shadow:0 10px 26px rgba(9,42,82,.06);
}
.fg-product-badge-usa{
  color:#0b63f6;
  border-color:rgba(11,99,246,.22);
}
.fg-product-badge-icon{font-size:15px;line-height:1}
.fg-product-badge-dot{
  width:8px;
  height:8px;
  border-radius:999px;
  background:linear-gradient(135deg,#0b63f6,#10bfa6);
  box-shadow:0 0 0 4px rgba(16,191,166,.10);
}
.fg-product-reviews-panel{
  margin:clamp(54px,7vw,90px) 0;
  padding:clamp(24px,4vw,42px);
  border:1px solid rgba(11,99,246,.12);
  border-radius:32px;
  background:linear-gradient(180deg,#fff,#f7fbff);
  box-shadow:0 24px 70px rgba(9,42,82,.07);
}
.fg-product-reviews-head{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:flex-start;
  margin-bottom:24px;
  padding-bottom:20px;
  border-bottom:1px solid rgba(9,42,82,.08);
}
.fg-product-reviews-head h2{
  margin:8px 0 0;
  font-size:clamp(30px,4vw,54px);
  line-height:1;
  color:#0b1220;
}
.fg-product-rating-summary{
  min-width:220px;
  padding:14px 16px;
  border-radius:20px;
  background:#fff;
  border:1px solid rgba(11,99,246,.12);
  color:#526070;
  font-size:13px;
  font-weight:600;
  text-align:right;
}
.fg-product-rating-summary .star-rating,
.fg-product-reviews-body .star-rating{float:none;color:#f5a524;margin-left:auto;margin-bottom:6px}
.fg-product-reviews-body #reviews,
.fg-product-reviews-body .woocommerce-Reviews{margin:0!important;padding:0!important;background:transparent!important;border:0!important}
.fg-product-reviews-body #comments h2,
.fg-product-reviews-body .woocommerce-Reviews-title{display:none}
.fg-product-reviews-body .commentlist{list-style:none;margin:0 0 26px!important;padding:0!important;display:grid;gap:14px}
.fg-product-reviews-body .comment_container{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:14px;
  padding:18px;
  border:1px solid rgba(9,42,82,.08);
  border-radius:22px;
  background:#fff;
}
.fg-product-reviews-body .avatar{width:54px;height:54px;border-radius:50%;object-fit:cover;background:#eef4ff}
.fg-product-reviews-body .comment-text{margin:0!important;border:0!important;padding:0!important;color:#475467}
.fg-product-reviews-body .meta{margin:4px 0 8px!important;color:#0b1220!important;font-size:14px!important}
.fg-product-reviews-body .description{font-size:15px;line-height:1.65;color:#475467}
.fg-product-reviews-body #review_form_wrapper{
  margin-top:22px;
  padding:22px;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(11,99,246,.12);
}
.fg-product-reviews-body #reply-title{font-size:22px;font-weight:850;color:#0b1220}
.fg-product-reviews-body input:not([type=submit]),
.fg-product-reviews-body textarea{
  width:100%;
  border:1px solid rgba(9,42,82,.12);
  border-radius:16px;
  padding:13px 14px;
  background:#f8fbff;
}
.fg-product-reviews-body input[type=submit],
.fg-product-reviews-body .submit{
  border:0;
  border-radius:999px;
  padding:14px 22px;
  background:linear-gradient(135deg,#0b63f6,#10bfa6);
  color:#fff;
  font-weight:800;
  cursor:pointer;
}
@media(max-width:782px){
  .fg-product-badges{gap:8px;margin-bottom:18px}
  .fg-product-badge{font-size:11px;min-height:34px;padding:7px 10px}
  .fg-product-reviews-panel{border-radius:24px;padding:22px 18px;margin:40px 0}
  .fg-product-reviews-head{display:block}
  .fg-product-rating-summary{margin-top:16px;text-align:left;min-width:0;width:100%}
  .fg-product-rating-summary .star-rating{margin-left:0}
  .fg-product-reviews-body .comment_container{grid-template-columns:42px minmax(0,1fr);padding:14px}
  .fg-product-reviews-body .avatar{width:42px;height:42px}
}

/* v3.8.2 modern WooCommerce review star picker */
.fg-product-reviews-panel .comment-form-rating{
  margin: 18px 0 20px;
}
.fg-product-reviews-panel .comment-form-rating > label,
.fg-product-reviews-panel .comment-form-comment > label,
.fg-product-reviews-panel .comment-form-author > label,
.fg-product-reviews-panel .comment-form-email > label{
  display:block;
  margin:0 0 10px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#64748b;
}
.fg-rating-select-hidden{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  clip:rect(0 0 0 0) !important;
  clip-path:inset(50%) !important;
  white-space:nowrap !important;
  opacity:0 !important;
}
.fg-star-rating-picker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px;
  border:1px solid rgba(37,99,235,.16);
  border-radius:999px;
  background:linear-gradient(180deg,#fff,rgba(239,246,255,.86));
  box-shadow:0 18px 45px rgba(15,23,42,.08);
}
.fg-star-choice{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#cbd5e1;
  font-size:28px;
  line-height:1;
  cursor:pointer;
  transition:transform .18s ease, color .18s ease, background .18s ease, box-shadow .18s ease;
}
.fg-star-choice:hover,
.fg-star-choice:focus-visible{
  transform:translateY(-1px) scale(1.06);
  background:rgba(14,165,233,.10);
  color:#14b8a6;
  outline:2px solid rgba(37,99,235,.28);
  outline-offset:2px;
}
.fg-star-choice.fg-is-filled{
  color:#0ea5e9;
  text-shadow:0 6px 20px rgba(14,165,233,.26);
}
.fg-star-choice.is-selected{
  background:linear-gradient(135deg,#1475ff 0%,#18c6b3 100%);
  color:#fff;
  box-shadow:0 14px 28px rgba(20,117,255,.22);
}
.fg-rating-helper{
  display:inline-flex;
  align-items:center;
  margin-left:12px;
  font-size:13px;
  font-weight:700;
  color:#475569;
}
.fg-product-reviews-panel .comment-form-comment textarea,
.fg-product-reviews-panel .comment-form-author input,
.fg-product-reviews-panel .comment-form-email input{
  width:100%;
  border:1px solid rgba(148,163,184,.28);
  border-radius:22px;
  background:#fff;
  padding:16px 18px;
  font:inherit;
  color:#0f172a;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8), 0 12px 34px rgba(15,23,42,.04);
}
.fg-product-reviews-panel .comment-form-comment textarea:focus,
.fg-product-reviews-panel .comment-form-author input:focus,
.fg-product-reviews-panel .comment-form-email input:focus{
  border-color:#1475ff;
  outline:3px solid rgba(20,117,255,.16);
}
.fg-product-reviews-panel .form-submit .submit{
  border:0;
  border-radius:999px;
  padding:14px 28px;
  color:#fff;
  font-weight:800;
  letter-spacing:.02em;
  background:linear-gradient(135deg,#1475ff 0%,#18c6b3 100%);
  box-shadow:0 16px 34px rgba(20,117,255,.22);
  cursor:pointer;
}
.fg-product-reviews-panel .form-submit .submit:hover{
  transform:translateY(-1px);
  box-shadow:0 20px 40px rgba(20,117,255,.28);
}
@media (max-width: 640px){
  .fg-star-rating-picker{gap:4px;padding:8px;}
  .fg-star-choice{width:38px;height:38px;font-size:25px;}
  .fg-rating-helper{display:block;margin:8px 0 0;}
}

/* v3.8.3 native review star field - server-rendered, no JS dependency */
.fg-product-reviews-panel .fg-native-star-rating-field{
  margin:18px 0 22px!important;
}
.fg-product-reviews-panel .fg-native-star-rating-field > label{
  display:block!important;
  margin:0 0 12px!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  color:#64748b!important;
}
.fg-native-star-rating{
  display:inline-flex!important;
  flex-direction:row-reverse!important;
  align-items:center!important;
  gap:8px!important;
  padding:10px 12px!important;
  border:1px solid rgba(37,99,235,.16)!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,#fff,rgba(239,246,255,.9))!important;
  box-shadow:0 18px 45px rgba(15,23,42,.08)!important;
}
.fg-native-star-rating input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
.fg-native-star-rating label{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:44px!important;
  height:44px!important;
  border-radius:999px!important;
  color:#cbd5e1!important;
  font-size:30px!important;
  line-height:1!important;
  cursor:pointer!important;
  transition:transform .18s ease,color .18s ease,background .18s ease,box-shadow .18s ease!important;
}
.fg-native-star-rating label:hover,
.fg-native-star-rating label:hover ~ label,
.fg-native-star-rating input:checked ~ label{
  color:#0ea5e9!important;
  text-shadow:0 6px 20px rgba(14,165,233,.26)!important;
}
.fg-native-star-rating input:checked + label{
  background:linear-gradient(135deg,#1475ff 0%,#18c6b3 100%)!important;
  color:#fff!important;
  box-shadow:0 14px 28px rgba(20,117,255,.22)!important;
}
.fg-native-star-rating label:hover,
.fg-native-star-rating input:focus-visible + label{
  transform:translateY(-1px) scale(1.06)!important;
  outline:2px solid rgba(37,99,235,.28)!important;
  outline-offset:2px!important;
}
.fg-native-star-hint{
  display:inline-flex!important;
  margin-left:12px!important;
  font-size:13px!important;
  font-weight:700!important;
  color:#475569!important;
}
.fg-product-reviews-panel select#rating,
.fg-product-reviews-panel select[name="rating"]{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
}
@media(max-width:640px){
  .fg-native-star-rating{gap:4px!important;padding:8px!important;}
  .fg-native-star-rating label{width:38px!important;height:38px!important;font-size:25px!important;}
  .fg-native-star-hint{display:block!important;margin:8px 0 0!important;}
}

/* v3.8.4 Product draw and dose calculator */
.fg-dose-calculator{
  margin:64px 0;
  background:linear-gradient(180deg,#f7fbff 0%,#fff 100%);
  border:1px solid var(--fg-border,#dbe7f3);
  border-radius:28px;
  padding:40px;
  box-shadow:0 24px 70px rgba(15,40,70,.08);
  color:var(--fg-text,#0f172a);
}
.fg-dose-calculator-product,.fg-dose-calculator-single-product{clear:both;}
.fg-dose-calc-header{text-align:center;max-width:760px;margin:0 auto 30px;}
.fg-dose-calc-header h2{font-size:clamp(34px,4vw,56px);line-height:.98;margin:10px 0 12px;letter-spacing:-.055em;}
.fg-dose-calc-header p{font-size:17px;line-height:1.65;color:#506176;margin:0;}
.fg-dose-calc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-bottom:28px;}
.fg-dose-calc-card{background:#fff;border:1px solid var(--fg-border,#dbe7f3);border-radius:20px;padding:22px;box-shadow:0 10px 30px rgba(15,40,70,.06);}
.fg-dose-calc-card h3{font-size:22px;line-height:1.12;margin:0 0 14px;letter-spacing:-.03em;}
.fg-dose-calc-card label{display:block;font-size:12px;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:#0d6e9d;margin-bottom:12px;}
.fg-dose-calc-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px;}
.fg-dose-calc-options button{appearance:none;border:1px solid #d9e6f4;background:#fff;color:#102033;border-radius:12px;padding:12px 10px;font-size:14px;font-weight:750;cursor:pointer;transition:all .2s ease;}
.fg-dose-calc-options button:hover{border-color:#168bd5;background:#edf8ff;color:#075985;transform:translateY(-1px);}
.fg-dose-calc-options button.active{background:linear-gradient(135deg,#1475ff 0%,#18c6b3 100%);border-color:transparent;color:#fff;box-shadow:0 10px 24px rgba(20,117,255,.22);}
.fg-dose-calc-card input{width:100%;height:50px;border:1px solid #d9e6f4;border-radius:12px;padding:0 14px;font-size:16px;font-weight:650;color:#102033;background:#fff;outline:0;}
.fg-dose-calc-card input:focus{border-color:#168bd5;box-shadow:0 0 0 4px rgba(20,117,255,.12);}
.fg-dose-calc-submit{text-align:center;margin:0 0 30px;}
.fg-dose-calc-submit-btn{appearance:none;border:0;background:linear-gradient(135deg,#1475ff 0%,#18c6b3 100%);color:#fff;font-size:16px;font-weight:850;padding:15px 30px;border-radius:999px;cursor:pointer;box-shadow:0 16px 34px rgba(20,117,255,.24);transition:transform .2s ease,box-shadow .2s ease;}
.fg-dose-calc-submit-btn:hover{transform:translateY(-2px);box-shadow:0 20px 45px rgba(20,117,255,.3);}
.fg-dose-calc-results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
.fg-dose-result-box{background:#fff;border:1px solid var(--fg-border,#dbe7f3);border-radius:18px;padding:22px 16px;text-align:center;box-shadow:0 8px 26px rgba(15,40,70,.05);}
.fg-dose-result-highlight{background:linear-gradient(180deg,#eef8ff 0%,#f5fffd 100%);border-color:#b9e3ef;}
.fg-dose-result-box strong{display:block;font-size:28px;line-height:1.1;font-weight:850;color:#0f172a;letter-spacing:-.04em;margin-bottom:8px;}
.fg-dose-result-box span{display:block;font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#0d6e9d;}
.fg-dose-calc-note{margin-top:18px;text-align:center;font-size:13px;line-height:1.65;color:#64748b;}
@media(max-width:1024px){.fg-dose-calc-grid{grid-template-columns:1fr}.fg-dose-calc-results{grid-template-columns:repeat(2,minmax(0,1fr));}.fg-dose-calculator{padding:30px;}}
@media(max-width:640px){.fg-dose-calculator{margin:40px 0;padding:22px 16px;border-radius:22px}.fg-dose-calc-header{text-align:left;margin-bottom:22px}.fg-dose-calc-header h2{font-size:32px}.fg-dose-calc-header p{font-size:15px}.fg-dose-calc-card{padding:18px;border-radius:18px}.fg-dose-calc-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fg-dose-calc-options button{font-size:13px;padding:10px 8px}.fg-dose-calc-results{grid-template-columns:1fr;gap:12px}.fg-dose-calc-submit-btn{width:100%;}}

/* v3.8.6 review rating validation fix */
.fg-product-reviews-panel .fg-native-star-rating-field .fg-review-rating-label{
  display:block!important;
  margin:0 0 12px!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  color:#64748b!important;
}
.fg-product-reviews-panel .fg-native-star-rating-field label[for="rating"]{display:none!important;}

/* v3.8.7 modern submitted product review cards */
.fg-product-reviews-panel .woocommerce-Reviews #comments ol.commentlist,
.fg-product-reviews-body #reviews #comments ol.commentlist,
.woocommerce .fg-product-reviews-panel #reviews #comments ol.commentlist{
  list-style:none!important;
  margin:24px 0 34px!important;
  padding:0!important;
  display:grid!important;
  gap:18px!important;
}
.fg-product-reviews-panel .woocommerce-Reviews #comments ol.commentlist li.review,
.fg-product-reviews-body #reviews #comments ol.commentlist li.review,
.woocommerce .fg-product-reviews-panel #reviews #comments ol.commentlist li.review{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.fg-product-reviews-panel .woocommerce-Reviews #comments ol.commentlist li.review .comment_container,
.fg-product-reviews-body #reviews #comments ol.commentlist li.review .comment_container,
.woocommerce .fg-product-reviews-panel #reviews #comments ol.commentlist li.review .comment_container{
  position:relative!important;
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr)!important;
  gap:18px!important;
  align-items:start!important;
  margin:0!important;
  padding:24px!important;
  border:1px solid rgba(11,99,246,.13)!important;
  border-radius:28px!important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)!important;
  box-shadow:0 18px 55px rgba(9,42,82,.07)!important;
  overflow:hidden!important;
}
.fg-product-reviews-panel .woocommerce-Reviews #comments ol.commentlist li.review .comment_container:before,
.fg-product-reviews-body #reviews #comments ol.commentlist li.review .comment_container:before,
.woocommerce .fg-product-reviews-panel #reviews #comments ol.commentlist li.review .comment_container:before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(135deg,#1475ff 0%,#18c6b3 100%);
  opacity:.92;
}
.fg-product-reviews-panel .woocommerce-Reviews #comments ol.commentlist li.review img.avatar,
.fg-product-reviews-body #reviews #comments ol.commentlist li.review img.avatar,
.woocommerce .fg-product-reviews-panel #reviews #comments ol.commentlist li.review img.avatar{
  position:static!important;
  float:none!important;
  display:block!important;
  width:64px!important;
  height:64px!important;
  margin:0!important;
  padding:0!important;
  border:3px solid #fff!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#eef7ff,#eefcf9)!important;
  box-shadow:0 10px 24px rgba(11,99,246,.16)!important;
  object-fit:cover!important;
}
.fg-product-reviews-panel .woocommerce-Reviews #comments ol.commentlist li.review .comment-text,
.fg-product-reviews-body #reviews #comments ol.commentlist li.review .comment-text,
.woocommerce .fg-product-reviews-panel #reviews #comments ol.commentlist li.review .comment-text{
  margin:0!important;
  padding:0!important;
  border:0!important;
  min-width:0!important;
  display:grid!important;
  gap:10px!important;
}
.fg-product-reviews-panel .woocommerce-Reviews #comments ol.commentlist li.review .star-rating,
.fg-product-reviews-body #reviews #comments ol.commentlist li.review .star-rating,
.woocommerce .fg-product-reviews-panel #reviews #comments ol.commentlist li.review .star-rating{
  float:none!important;
  order:0!important;
  width:auto!important;
  height:auto!important;
  line-height:1!important;
  margin:0 0 2px!important;
  color:#0ea5e9!important;
  font-size:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-self:start!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  background:rgba(14,165,233,.08)!important;
  border:1px solid rgba(14,165,233,.16)!important;
}
.fg-product-reviews-panel .woocommerce-Reviews #comments ol.commentlist li.review .star-rating:before,
.fg-product-reviews-body #reviews #comments ol.commentlist li.review .star-rating:before,
.woocommerce .fg-product-reviews-panel #reviews #comments ol.commentlist li.review .star-rating:before,
.fg-product-reviews-panel .woocommerce-Reviews #comments ol.commentlist li.review .star-rating span:before,
.fg-product-reviews-body #reviews #comments ol.commentlist li.review .star-rating span:before,
.woocommerce .fg-product-reviews-panel #reviews #comments ol.commentlist li.review .star-rating span:before{
  color:#0ea5e9!important;
  font-size:16px!important;
  letter-spacing:2px!important;
  text-shadow:none!important;
}
.fg-product-reviews-panel .woocommerce-Reviews #comments ol.commentlist li.review .meta,
.fg-product-reviews-body #reviews #comments ol.commentlist li.review .meta,
.woocommerce .fg-product-reviews-panel #reviews #comments ol.commentlist li.review .meta{
  order:1!important;
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin:0!important;
  color:#64748b!important;
  font-size:14px!important;
  line-height:1.4!important;
}
.fg-product-reviews-panel .woocommerce-Reviews #comments ol.commentlist li.review .woocommerce-review__author,
.fg-product-reviews-body #reviews #comments ol.commentlist li.review .woocommerce-review__author,
.woocommerce .fg-product-reviews-panel #reviews #comments ol.commentlist li.review .woocommerce-review__author{
  color:#0b1220!important;
  font-size:16px!important;
  font-weight:850!important;
  letter-spacing:-.01em!important;
}
.fg-product-reviews-panel .woocommerce-Reviews #comments ol.commentlist li.review .woocommerce-review__dash,
.fg-product-reviews-body #reviews #comments ol.commentlist li.review .woocommerce-review__dash,
.woocommerce .fg-product-reviews-panel #reviews #comments ol.commentlist li.review .woocommerce-review__dash{
  display:none!important;
}
.fg-product-reviews-panel .woocommerce-Reviews #comments ol.commentlist li.review time,
.fg-product-reviews-body #reviews #comments ol.commentlist li.review time,
.woocommerce .fg-product-reviews-panel #reviews #comments ol.commentlist li.review time{
  display:inline-flex!important;
  align-items:center!important;
  padding:4px 9px!important;
  border-radius:999px!important;
  background:rgba(15,23,42,.04)!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:750!important;
}
.fg-product-reviews-panel .woocommerce-Reviews #comments ol.commentlist li.review .description,
.fg-product-reviews-body #reviews #comments ol.commentlist li.review .description,
.woocommerce .fg-product-reviews-panel #reviews #comments ol.commentlist li.review .description{
  order:2!important;
  margin:4px 0 0!important;
  color:#475569!important;
  font-size:16px!important;
  line-height:1.68!important;
}
.fg-product-reviews-panel .woocommerce-Reviews #comments ol.commentlist li.review .description p,
.fg-product-reviews-body #reviews #comments ol.commentlist li.review .description p,
.woocommerce .fg-product-reviews-panel #reviews #comments ol.commentlist li.review .description p{
  margin:0!important;
}
.fg-product-reviews-panel #review_form_wrapper{
  margin-top:36px!important;
}
@media(max-width:640px){
  .fg-product-reviews-panel .woocommerce-Reviews #comments ol.commentlist li.review .comment_container,
  .fg-product-reviews-body #reviews #comments ol.commentlist li.review .comment_container,
  .woocommerce .fg-product-reviews-panel #reviews #comments ol.commentlist li.review .comment_container{
    grid-template-columns:48px minmax(0,1fr)!important;
    gap:14px!important;
    padding:18px!important;
    border-radius:22px!important;
  }
  .fg-product-reviews-panel .woocommerce-Reviews #comments ol.commentlist li.review img.avatar,
  .fg-product-reviews-body #reviews #comments ol.commentlist li.review img.avatar,
  .woocommerce .fg-product-reviews-panel #reviews #comments ol.commentlist li.review img.avatar{
    width:48px!important;
    height:48px!important;
  }
  .fg-product-reviews-panel .woocommerce-Reviews #comments ol.commentlist li.review .woocommerce-review__author,
  .fg-product-reviews-body #reviews #comments ol.commentlist li.review .woocommerce-review__author,
  .woocommerce .fg-product-reviews-panel #reviews #comments ol.commentlist li.review .woocommerce-review__author{
    font-size:14px!important;
    overflow-wrap:anywhere!important;
  }
  .fg-product-reviews-panel .woocommerce-Reviews #comments ol.commentlist li.review .description,
  .fg-product-reviews-body #reviews #comments ol.commentlist li.review .description,
  .woocommerce .fg-product-reviews-panel #reviews #comments ol.commentlist li.review .description{
    font-size:15px!important;
  }
}


/* v3.8.8 submitted review star display fix - preserve WooCommerce rating width */
.fg-product-reviews-panel .woocommerce-Reviews #comments ol.commentlist li.review .star-rating,
.fg-product-reviews-body #reviews #comments ol.commentlist li.review .star-rating,
.woocommerce .fg-product-reviews-panel #reviews #comments ol.commentlist li.review .star-rating{
  float:none!important;
  order:0!important;
  position:relative!important;
  display:block!important;
  width:6.75em!important;
  height:1.25em!important;
  line-height:1.25!important;
  overflow:hidden!important;
  margin:0 0 4px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:transparent!important;
  font-size:18px!important;
  letter-spacing:2px!important;
  box-shadow:none!important;
}
.fg-product-reviews-panel .woocommerce-Reviews #comments ol.commentlist li.review .star-rating:before,
.fg-product-reviews-body #reviews #comments ol.commentlist li.review .star-rating:before,
.woocommerce .fg-product-reviews-panel #reviews #comments ol.commentlist li.review .star-rating:before{
  content:'★★★★★'!important;
  position:absolute!important;
  inset:0 auto auto 0!important;
  width:100%!important;
  height:100%!important;
  color:#cbd5e1!important;
  font-family:Arial, sans-serif!important;
  font-size:18px!important;
  line-height:1.25!important;
  letter-spacing:2px!important;
  text-shadow:none!important;
}
.fg-product-reviews-panel .woocommerce-Reviews #comments ol.commentlist li.review .star-rating span,
.fg-product-reviews-body #reviews #comments ol.commentlist li.review .star-rating span,
.woocommerce .fg-product-reviews-panel #reviews #comments ol.commentlist li.review .star-rating span{
  position:absolute!important;
  top:0!important;
  left:0!important;
  height:100%!important;
  overflow:hidden!important;
  padding:0!important;
  margin:0!important;
  text-indent:-9999px!important;
  background:transparent!important;
  border:0!important;
}
.fg-product-reviews-panel .woocommerce-Reviews #comments ol.commentlist li.review .star-rating span:before,
.fg-product-reviews-body #reviews #comments ol.commentlist li.review .star-rating span:before,
.woocommerce .fg-product-reviews-panel #reviews #comments ol.commentlist li.review .star-rating span:before{
  content:'★★★★★'!important;
  position:absolute!important;
  top:0!important;
  left:0!important;
  color:#f59e0b!important;
  font-family:Arial, sans-serif!important;
  font-size:18px!important;
  line-height:1.25!important;
  letter-spacing:2px!important;
  text-indent:0!important;
  text-shadow:none!important;
}

/* v3.9.0 cart rewards, coupon UX, and checkout notices */
.fg-cart-rewards{position:relative;margin:0 0 24px;padding:22px;border:1px solid rgba(11,99,246,.16);border-radius:26px;background:linear-gradient(180deg,#fff 0%,#f5fbff 100%);box-shadow:0 18px 50px rgba(9,42,82,.07);overflow:hidden}.fg-cart-rewards:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(135deg,#1475ff 0%,#18c6b3 100%)}.fg-cart-rewards-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-bottom:16px}.fg-cart-rewards-kicker{display:block;color:#0b63f6;font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.fg-cart-rewards-head strong{font-size:16px;line-height:1.45;color:#0b1220;font-weight:850;text-align:right}.fg-cart-rewards-track{height:10px;border-radius:999px;background:#e8eef7;overflow:hidden}.fg-cart-rewards-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(135deg,#1475ff 0%,#18c6b3 100%);transition:width .35s ease}.fg-cart-rewards-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.fg-cart-rewards-step{border:1px solid rgba(148,163,184,.25);border-radius:18px;background:rgba(255,255,255,.82);padding:14px;min-height:92px}.fg-cart-rewards-step span{display:inline-flex;margin-bottom:8px;padding:4px 9px;border-radius:999px;background:#eef6ff;color:#0b63f6;font-size:12px;font-weight:900}.fg-cart-rewards-step strong{display:block;color:#475569;font-size:13px;line-height:1.35;font-weight:800}.fg-cart-rewards-step.is-unlocked{border-color:rgba(24,198,179,.36);background:linear-gradient(180deg,#f0fffc 0%,#fff 100%)}.fg-cart-rewards-step.is-unlocked span{background:#dcfff9;color:#078979}.fg-cart-rewards-step.is-unlocked strong{color:#0b1220}.fg-cart-rewards-note{margin:14px 0 0;color:#64748b;font-size:13px;line-height:1.55;font-weight:700}.fg-cart-rewards-drawer{margin:0;border-left:0;border-right:0;border-radius:0;padding:18px 22px;background:#fff;box-shadow:none}.fg-cart-rewards-drawer:before{height:0}.fg-cart-rewards-drawer .fg-cart-rewards-head{display:block;margin-bottom:12px}.fg-cart-rewards-drawer .fg-cart-rewards-head strong{display:block;text-align:left;font-size:15px;font-weight:600;color:#4b5563}.fg-cart-rewards-drawer .fg-cart-rewards-kicker{display:none}.fg-cart-rewards-drawer .fg-cart-rewards-steps{grid-template-columns:1fr;gap:8px}.fg-cart-rewards-drawer .fg-cart-rewards-step{min-height:auto;padding:11px 12px;display:flex;align-items:center;gap:10px}.fg-cart-rewards-drawer .fg-cart-rewards-step span{margin:0;flex:0 0 auto}.fg-cart-rewards-drawer .fg-cart-rewards-step strong{font-size:12px}.fg-cart-rewards-drawer .fg-cart-rewards-note{font-size:12px}.fg-commerce-shell .woocommerce-message,.fg-commerce-shell .woocommerce-info,.fg-commerce-shell .woocommerce-error,.fg-checkout-shell .woocommerce-message,.fg-checkout-shell .woocommerce-info,.fg-checkout-shell .woocommerce-error{position:relative!important;margin:0 0 18px!important;padding:18px 22px 18px 54px!important;border:1px solid rgba(11,99,246,.18)!important;border-radius:20px!important;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%)!important;color:#334155!important;box-shadow:0 14px 42px rgba(9,42,82,.07)!important;line-height:1.55!important}.fg-commerce-shell .woocommerce-info:before,.fg-checkout-shell .woocommerce-info:before,.fg-commerce-shell .woocommerce-message:before,.fg-checkout-shell .woocommerce-message:before{content:"✓"!important;position:absolute!important;left:20px!important;top:18px!important;width:22px!important;height:22px!important;border-radius:999px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;background:linear-gradient(135deg,#1475ff 0%,#18c6b3 100%)!important;color:#fff!important;font-size:13px!important;font-weight:900!important}.fg-commerce-shell .woocommerce-error,.fg-checkout-shell .woocommerce-error{border-color:rgba(239,68,68,.2)!important;background:#fff8f8!important}.fg-commerce-shell .woocommerce-error:before,.fg-checkout-shell .woocommerce-error:before{content:"!"!important;position:absolute!important;left:20px!important;top:18px!important;width:22px!important;height:22px!important;border-radius:999px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;background:#ef4444!important;color:#fff!important;font-size:14px!important;font-weight:900!important}.fg-checkout-shell .woocommerce-form-coupon-toggle .woocommerce-info{cursor:pointer}.fg-checkout-shell .checkout_coupon.woocommerce-form-coupon{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin:0 0 22px!important;padding:18px!important;border:1px solid rgba(11,99,246,.16)!important;border-radius:22px!important;background:#fff!important;box-shadow:0 14px 42px rgba(9,42,82,.06)!important}.fg-checkout-shell .checkout_coupon.woocommerce-form-coupon p:first-child{grid-column:1/-1;margin:0;color:#64748b}.fg-checkout-shell .checkout_coupon.woocommerce-form-coupon .form-row{margin:0!important;padding:0!important;width:auto!important;float:none!important}.fg-checkout-shell .checkout_coupon.woocommerce-form-coupon input.input-text{width:100%!important;height:52px;border:1px solid #dbe7f4!important;border-radius:999px!important;padding:0 18px!important}.fg-checkout-shell .checkout_coupon.woocommerce-form-coupon button.button{height:52px!important;white-space:nowrap!important;background:linear-gradient(135deg,#1475ff 0%,#18c6b3 100%)!important}.fg-checkout-shell .woocommerce-checkout-payment .woocommerce-info{padding:16px 18px 16px 48px!important;border-radius:18px!important}.fg-checkout-shell .woocommerce-checkout-payment .woocommerce-info:before{left:16px!important;top:16px!important}.fg-commerce-shell .coupon .button{background:linear-gradient(135deg,#1475ff 0%,#18c6b3 100%)!important}.fg-commerce-shell .coupon .input-text{min-width:240px!important}@media(max-width:900px){.fg-cart-rewards{padding:18px;border-radius:22px}.fg-cart-rewards-head{display:block}.fg-cart-rewards-head strong{display:block;margin-top:6px;text-align:left}.fg-cart-rewards-steps{grid-template-columns:1fr}.fg-checkout-shell .checkout_coupon.woocommerce-form-coupon{grid-template-columns:1fr}.fg-checkout-shell .checkout_coupon.woocommerce-form-coupon button.button{width:100%!important}.fg-commerce-shell .coupon .input-text{min-width:0!important;width:100%!important}}

/* v3.9.1 cart drawer scroll/heading responsiveness polish */
.fg-cart-drawer-modern{display:flex;flex-direction:column;max-height:100dvh;overflow:hidden;}
.fg-cart-modern-header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.fg-cart-modern-header .fg-cart-title-wrap{align-items:center;min-width:0;}
.fg-cart-modern-header h3{display:flex;align-items:center;line-height:1;margin:0;}
.fg-cart-view-link{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:6px 12px;border:1px solid rgba(11,99,246,.16);border-radius:999px;background:#f7fbff;color:#0b63f6!important;font-size:12px;font-weight:900;line-height:1;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;white-space:nowrap;transition:background .2s ease,color .2s ease,transform .2s ease;}
.fg-cart-view-link:hover{background:linear-gradient(135deg,#1475ff 0%,#18c6b3 100%);color:#fff!important;transform:translateY(-1px);}
.fg-cart-drawer-modern .fg-cart-drawer-items{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-top:18px!important;padding-bottom:22px!important;}
.fg-cart-scroll-block{margin:-4px 0 18px;}
.fg-cart-drawer-modern .fg-cart-rewards-drawer{position:static!important;margin:0!important;border:1px solid rgba(11,99,246,.13)!important;border-radius:22px!important;background:linear-gradient(180deg,#fff 0%,#f7fbff 100%)!important;box-shadow:0 12px 30px rgba(9,42,82,.05)!important;}
.fg-cart-drawer-modern .fg-cart-rewards-drawer .fg-cart-rewards-steps{max-height:none!important;overflow:visible!important;}
.fg-cart-assurance-scroll{margin:18px 0 4px;padding:16px 18px;border:1px solid rgba(148,163,184,.20);border-radius:22px;background:#fff;}
.fg-cart-modern-footer{flex:0 0 auto;position:relative;z-index:2;padding-top:22px!important;box-shadow:0 -18px 42px rgba(15,23,42,.06);}
.fg-cart-modern-footer .fg-cart-assurance-grid:not(.fg-cart-assurance-scroll){display:none!important;}
@media(max-width:560px){
  .fg-cart-modern-header{padding-top:16px!important;padding-bottom:16px!important;gap:10px;}
  .fg-cart-modern-header .fg-cart-title-wrap{gap:8px;}
  .fg-cart-modern-header h3{font-size:22px!important;}
  .fg-cart-title-icon{font-size:18px!important;}
  .fg-cart-pill{min-width:24px;height:24px;font-size:12px;}
  .fg-cart-view-link{font-size:11px;padding:6px 10px;min-height:28px;}
  .fg-cart-drawer-close{width:48px!important;height:48px!important;font-size:24px!important;flex:0 0 auto;}
  .fg-cart-drawer-modern .fg-cart-drawer-items{padding-top:14px!important;padding-bottom:18px!important;}
  .fg-cart-drawer-modern .fg-cart-rewards-drawer{padding:16px!important;border-radius:20px!important;}
  .fg-cart-assurance-scroll{grid-template-columns:1fr 1fr!important;gap:8px 12px!important;margin-top:16px;padding:14px 16px;font-size:12px!important;}
  .fg-cart-modern-footer{padding-top:20px!important;padding-bottom:18px!important;}
}
@media(max-width:380px){
  .fg-cart-view-link{padding:6px 8px;font-size:10px;}
  .fg-cart-modern-header h3{font-size:20px!important;}
}

/* v3.9.2 cart reward achievement, summary, and checkout AJAX polish */
.fg-cart-rewards-step{position:relative;overflow:hidden;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease;}
.fg-cart-rewards-step:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:transparent;transition:background .2s ease;}
.fg-cart-rewards-badge{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px;}
.fg-cart-rewards-step .fg-cart-rewards-badge span{margin:0;}
.fg-cart-rewards-step em{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 8px;background:#edf4ff;color:#0b63f6;font-size:10px;font-style:normal;font-weight:900;letter-spacing:.06em;text-transform:uppercase;}
.fg-cart-rewards-step small{display:block;margin-top:8px;color:#64748b;font-size:12px;font-weight:800;line-height:1.35;}
.fg-cart-rewards-step.is-unlocked{border-color:rgba(24,198,179,.55)!important;background:linear-gradient(135deg,#effffb 0%,#ffffff 100%)!important;box-shadow:0 16px 34px rgba(24,198,179,.12)!important;}
.fg-cart-rewards-step.is-unlocked:before{background:linear-gradient(180deg,#1475ff 0%,#18c6b3 100%);}
.fg-cart-rewards-step.is-unlocked .fg-cart-rewards-badge:after{content:"✓";display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;background:linear-gradient(135deg,#1475ff 0%,#18c6b3 100%);color:#fff;font-weight:900;box-shadow:0 8px 20px rgba(20,117,255,.22);}
.fg-cart-rewards-step.is-unlocked em{background:#d9fff7;color:#057c70;}
.fg-cart-rewards-step.is-unlocked small{color:#08796e;}
.fg-cart-rewards-step.is-next{border-color:rgba(11,99,246,.32);background:linear-gradient(180deg,#fff 0%,#f6fbff 100%);}
.fg-cart-rewards-step.is-next:before{background:#0b63f6;}
.fg-cart-rewards-summary-row th,.fg-cart-rewards-summary-row td{vertical-align:top!important;}
.fg-cart-rewards-summary-list{list-style:none;margin:0!important;padding:0!important;display:grid;gap:6px;}
.fg-cart-rewards-summary-list li{position:relative;margin:0!important;padding-left:24px;color:#334155;font-weight:800;font-size:13px;line-height:1.4;}
.fg-cart-rewards-summary-list li:before{content:"✓";position:absolute;left:0;top:0;width:17px;height:17px;border-radius:999px;background:linear-gradient(135deg,#1475ff 0%,#18c6b3 100%);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;}
.fg-ajax-coupon-notices{margin-bottom:18px;}
.fg-checkout-shell .checkout_coupon.woocommerce-form-coupon button.is-loading,.fg-commerce-shell .coupon .button.is-loading{opacity:.72;pointer-events:none;}
.fg-checkout-shell .checkout_coupon.woocommerce-form-coupon button.is-loading:after{content:"";display:inline-block;width:12px;height:12px;margin-left:8px;border:2px solid rgba(255,255,255,.55);border-top-color:#fff;border-radius:999px;vertical-align:-2px;animation:fgSpin .7s linear infinite;}
@keyframes fgSpin{to{transform:rotate(360deg)}}
.fg-cart-drawer-modern .fg-cart-rewards-drawer .fg-cart-rewards-step{align-items:flex-start;}
.fg-cart-drawer-modern .fg-cart-rewards-drawer .fg-cart-rewards-badge{margin-bottom:0;min-width:64px;}
.fg-cart-drawer-modern .fg-cart-rewards-drawer .fg-cart-rewards-step small{margin-top:2px;}
@media(max-width:900px){
  .fg-cart-rewards-step.is-unlocked{box-shadow:0 10px 24px rgba(24,198,179,.10)!important;}
  .fg-cart-rewards-summary-list li{font-size:12px;}
}

/* =========================================================
   v4.0.0 Final client feedback pass: mobile polish, cart UX,
   product page reorder, product accordion, category naming UI.
   ========================================================= */
:root{--fg-brand-blue:#0b63f6;--fg-brand-teal:#18c6b3;--fg-ink:#0b1220;--fg-soft-line:#dce8f6;}

/* Product quick preview removed: product clicks now go to product pages. */
.fg-qv-overlay,.fg-qv-drawer{display:none!important;}

/* Collection/shop top rhythm and trust features */
.fg-catalog-archive{padding-top:clamp(42px,6vw,82px)!important;}
.fg-shop-header{margin-bottom:clamp(22px,3vw,38px)!important;}
.fg-shop-trust-bar{border-radius:28px;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);box-shadow:0 18px 50px rgba(9,42,82,.05);}
.fg-shop-trust-item{align-items:center;}
.fg-shop-trust-item strong{letter-spacing:-.02em;}

/* Product card/category label spacing */
.fg-product-card-cat,.fg-filter-item>span:first-child{display:inline-flex!important;align-items:center!important;gap:9px!important;min-width:0;}
.fg-product-card-cat .dot,.fg-filter-item .dot{display:inline-block!important;flex:0 0 auto!important;width:8px!important;height:8px!important;border-radius:50%!important;margin:0!important;}

/* Mobile product listings: compact 2-column cards everywhere products are listed. */
@media (max-width: 700px){
  .fg-products-grid,.fg-catalog-grid.fg-products-grid,.fg-product-related .fg-products-grid,.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;}
  .fg-products-grid>*,.fg-catalog-grid.fg-products-grid>*{min-width:0!important;}
  .fg-product-card{border-radius:22px!important;padding:8px!important;min-width:0!important;box-shadow:0 12px 28px rgba(9,42,82,.05)!important;}
  .fg-product-card-image-wrap{border-radius:18px!important;margin-bottom:10px!important;min-height:0!important;}
  .fg-product-card-image{height:145px!important;min-height:145px!important;border-radius:18px!important;padding:8px!important;}
  .fg-product-card-image img{max-height:124px!important;width:100%!important;height:100%!important;object-fit:contain!important;}
  .fg-product-card-info{padding:0 3px 4px!important;}
  .fg-product-card-cat{font-size:9.5px!important;letter-spacing:.12em!important;line-height:1.25!important;}
  .fg-product-card-name{font-size:14px!important;line-height:1.18!important;margin-top:7px!important;letter-spacing:-.03em!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .fg-product-card-price{font-size:15px!important;margin-top:7px!important;}
  .fg-product-card-quick{width:38px!important;height:38px!important;right:8px!important;top:8px!important;font-size:20px!important;}
  .fg-product-card-popular,.fg-product-card-size{display:none!important;}
}
@media(max-width:360px){.fg-product-card-image{height:130px!important;min-height:130px!important}.fg-product-card-name{font-size:13px!important}.fg-products-grid,.fg-catalog-grid.fg-products-grid{gap:10px!important}}

/* Mobile collection/category page clean-up */
@media(max-width:767px){
  .fg-catalog-archive{padding-top:18px!important;}
  .fg-catalog-archive .fg-catalog-container,.fg-catalog-section .fg-catalog-container{padding-left:16px!important;padding-right:16px!important;}
  .fg-shop-header{padding-top:8px!important;margin-bottom:18px!important;}
  .fg-shop-header .fg-label{margin-bottom:14px!important;}
  .fg-shop-header h1{font-size:clamp(40px,12vw,58px)!important;line-height:.95!important;margin-bottom:12px!important;}
  .fg-shop-header p{font-size:16px!important;line-height:1.45!important;margin-bottom:0!important;}
  .fg-shop-trust-bar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;padding:16px!important;margin:20px 0 24px!important;border:1px solid var(--fg-soft-line)!important;}
  .fg-shop-trust-item{min-width:0!important;width:auto!important;display:grid!important;grid-template-columns:40px minmax(0,1fr)!important;gap:10px!important;padding:12px!important;border-radius:18px!important;background:#fff!important;border:1px solid rgba(11,99,246,.08)!important;}
  .fg-shop-trust-icon{width:40px!important;height:40px!important;font-size:19px!important;}
  .fg-shop-trust-item strong{font-size:13px!important;line-height:1.15!important;}
  .fg-shop-trust-item span:not(.fg-shop-trust-icon){font-size:11px!important;line-height:1.3!important;color:#64748b!important;}
  .fg-catalog-panel,.fg-shop-layout{padding:12px!important;border-radius:26px!important;}
  .fg-catalog-filter-row,.fg-sidebar-filters{gap:10px!important;}
  .fg-catalog-filter-row .fg-filter-item,.fg-sidebar-filters .fg-filter-item{min-height:54px!important;border-radius:17px!important;padding:12px 14px!important;}
  .fg-catalog-tools,.fg-shop-controls{gap:12px!important;}
}

/* Pagination polish */
.woocommerce-pagination,.fg-pagination{display:flex!important;justify-content:center!important;align-items:center!important;margin:28px auto!important;}
.woocommerce-pagination ul.page-numbers,.page-numbers{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;border:0!important;list-style:none!important;padding:0!important;margin:0!important;}
.woocommerce-pagination .page-numbers li{border:0!important;}
.woocommerce-pagination .page-numbers a,.woocommerce-pagination .page-numbers span,.page-numbers a,.page-numbers span{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:44px!important;height:44px!important;border-radius:999px!important;border:1px solid #dce8f6!important;background:#fff!important;color:#0b1220!important;font-weight:800!important;text-decoration:none!important;box-shadow:0 10px 22px rgba(9,42,82,.05)!important;}
.woocommerce-pagination .page-numbers .current,.page-numbers .current{background:linear-gradient(135deg,var(--fg-brand-blue),var(--fg-brand-teal))!important;color:#fff!important;border-color:transparent!important;}

/* Footer two-column mobile navigation */
@media(max-width:767px){
  .fg-footer{padding-top:48px!important;}
  .fg-footer-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:32px 18px!important;text-align:left!important;}
  .fg-footer-brand{grid-column:1/-1!important;text-align:center!important;max-width:420px;margin:0 auto 10px!important;}
  .fg-footer-brand .fg-logo,.fg-footer-brand img{margin-left:auto!important;margin-right:auto!important;max-width:250px!important;width:auto!important;height:auto!important;object-fit:contain!important;}
  .fg-footer-col{align-items:flex-start!important;text-align:left!important;min-width:0!important;}
  .fg-footer-col-title{font-size:11px!important;letter-spacing:.22em!important;margin-bottom:14px!important;}
  .fg-footer-col a{font-size:15px!important;line-height:1.35!important;margin:0 0 12px!important;}
  .fg-footer-bottom{text-align:center!important;margin-top:32px!important;}
}

/* Cart drawer: cleaner, compact, no standard cart link. */
.fg-cart-view-link{display:none!important;}
.fg-cart-overlay.open{background:rgba(7,18,32,.54)!important;backdrop-filter:blur(2px)!important;}
.fg-cart-drawer,.fg-cart-drawer-modern{width:min(92vw,520px)!important;max-width:520px!important;border-radius:28px 0 0 28px!important;}
.fg-cart-modern-header{padding:18px 24px!important;min-height:76px!important;}
.fg-cart-title-wrap{display:flex!important;align-items:center!important;gap:10px!important;}
.fg-cart-title-icon{font-size:20px!important;}
.fg-cart-modern-header h3{font-size:26px!important;line-height:1!important;}
.fg-cart-drawer-modern .fg-cart-drawer-items{padding:14px 22px 16px!important;}
.fg-cart-scroll-rewards{margin:0 0 14px!important;}
.fg-cart-rewards-drawer.fg-cart-rewards-compact{padding:16px 18px!important;border-radius:20px!important;background:linear-gradient(180deg,#ffffff 0%,#f6fbff 100%)!important;}
.fg-cart-rewards-drawer .fg-cart-rewards-head strong{font-size:14px!important;line-height:1.35!important;color:#334155!important;font-weight:800!important;}
.fg-cart-rewards-drawer .fg-cart-rewards-track{height:10px!important;margin-top:10px!important;}
.fg-cart-rewards-drawer .fg-cart-rewards-steps{display:none!important;}
.fg-cart-rewards-drawer .fg-cart-rewards-note{margin:8px 0 0!important;font-size:11px!important;color:#64748b!important;font-weight:700!important;}
.fg-cart-modern-item{position:relative!important;display:grid!important;grid-template-columns:74px minmax(0,1fr)!important;gap:12px!important;padding:12px!important;margin-bottom:12px!important;border-radius:22px!important;background:#f4f7fb!important;}
.fg-cart-product-media{width:74px!important;height:74px!important;border-radius:16px!important;background:#fff!important;overflow:hidden!important;}
.fg-cart-product-media img{width:100%!important;height:100%!important;object-fit:contain!important;}
.fg-cart-product-top{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:start!important;}
.fg-cart-product-name{font-size:15px!important;line-height:1.2!important;letter-spacing:-.02em!important;}
.fg-cart-product-meta{font-size:12px!important;margin-top:4px!important;}
.fg-cart-product-price{font-size:15px!important;font-weight:900!important;white-space:nowrap!important;text-align:right!important;align-self:start!important;}
.fg-cart-product-controls{margin-top:10px!important;display:grid!important;grid-template-columns:minmax(0,1fr) 34px!important;gap:8px!important;align-items:center!important;}
.fg-cart-qty{height:42px!important;min-height:42px!important;border-radius:999px!important;padding:0 34px 0 14px!important;font-size:14px!important;}
.fg-cart-remove{width:34px!important;height:34px!important;border-radius:999px!important;font-size:13px!important;}
.fg-cart-upsell-label{margin:16px 0 8px!important;font-size:11px!important;}
.fg-cart-upsell-card{border-radius:20px!important;padding:12px!important;gap:10px!important;}
.fg-cart-modern-footer{padding:16px 22px 18px!important;box-shadow:0 -14px 34px rgba(15,23,42,.06)!important;}
.fg-cart-subtotal-row,.fg-cart-savings-row{display:flex!important;justify-content:space-between!important;align-items:center!important;margin:0!important;padding:10px 0!important;}
.fg-cart-savings-row{color:#0b63f6!important;border-bottom:1px solid rgba(148,163,184,.18)!important;}
.fg-cart-savings-row strong{color:#0b63f6!important;}
.fg-cart-subtotal-row span,.fg-cart-savings-row span{text-transform:uppercase!important;letter-spacing:.08em!important;color:#8a94a6!important;font-weight:900!important;}
.fg-cart-subtotal-row strong{font-size:24px!important;letter-spacing:-.04em!important;}
.fg-checkout-btn{margin-top:10px!important;background:linear-gradient(135deg,var(--fg-brand-blue),var(--fg-brand-teal))!important;box-shadow:0 18px 38px rgba(11,99,246,.20)!important;}
.fg-cart-secure-text{margin:12px 0 0!important;text-align:center!important;color:#5f6b7a!important;font-size:13px!important;font-weight:700!important;}
.fg-cart-continue{display:block!important;margin:8px auto 0!important;border:0!important;background:transparent!important;color:#0b63f6!important;font-weight:900!important;text-decoration:underline!important;cursor:pointer!important;font-size:14px!important;}
.fg-cart-disclaimer{margin-top:8px!important;font-size:11px!important;line-height:1.35!important;}
@media(max-width:560px){.fg-cart-drawer,.fg-cart-drawer-modern{width:calc(100vw - 22px)!important;max-width:calc(100vw - 22px)!important;border-radius:26px 0 0 26px!important}.fg-cart-modern-header{padding:14px 18px!important}.fg-cart-drawer-close{width:44px!important;height:44px!important}.fg-cart-modern-header h3{font-size:24px!important}.fg-cart-drawer-modern .fg-cart-drawer-items{padding-left:16px!important;padding-right:16px!important}.fg-cart-modern-footer{padding-left:16px!important;padding-right:16px!important}.fg-cart-modern-item{grid-template-columns:62px minmax(0,1fr)!important}.fg-cart-product-media{width:62px!important;height:62px!important}.fg-cart-product-name{font-size:14px!important}.fg-cart-product-price{font-size:14px!important}.fg-cart-qty{height:40px!important}.fg-checkout-btn{min-height:58px!important}}

/* Single product mobile layout order and trust features. */
.fg-product-mobile-intro,.fg-product-mobile-meta-wrap{display:none;}
.fg-product-trust-after-cart{margin-top:16px;}
.fg-trust-features-inline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.fg-trust-mini-item{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;padding:11px;border:1px solid #dce8f6;border-radius:18px;background:#fff;}
.fg-trust-mini-icon{width:38px;height:38px;border-radius:14px;background:#f2f7ff;display:flex;align-items:center;justify-content:center;font-size:18px;}
.fg-trust-mini-icon img{width:22px;height:22px;object-fit:contain;}
.fg-trust-mini-copy strong{display:block;font-size:12px;line-height:1.15;color:#0b1220;}
.fg-trust-mini-copy small{display:block;margin-top:2px;font-size:10.5px;line-height:1.25;color:#667085;}
.fg-lab-results-below-cart{margin-top:12px!important;}
@media(max-width:900px){
  .fg-product-mobile-intro{display:block;margin:18px 0 18px;}
  .fg-product-mobile-intro .fg-product-title{font-size:clamp(34px,10vw,52px)!important;line-height:1!important;margin:10px 0 12px!important;}
  .fg-product-mobile-intro .fg-product-ruo{display:inline-flex!important;margin:0!important;}
  .fg-product-details>.fg-product-details-header,.fg-product-details>.fg-product-ruo,.fg-product-details>.fg-product-badges,.fg-product-details>.fg-product-meta{display:none!important;}
  .fg-product-gallery{order:0!important;}
  .fg-product-mobile-meta-wrap{display:block;margin:16px 0 0;}
  .fg-product-mobile-meta-wrap .fg-product-badges{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin:0 0 12px!important;}
  .fg-product-mobile-meta-wrap .fg-product-badge{font-size:12px!important;padding:8px 10px!important;}
  .fg-product-mobile-meta-wrap .fg-product-meta{display:flex!important;flex-wrap:wrap!important;gap:12px!important;margin:0!important;font-size:13px!important;}
  .fg-product-add-to-cart{margin-top:18px!important;padding:18px!important;border-radius:24px!important;}
  .fg-product-details{margin-top:18px!important;}
  .fg-bulk-section{margin-top:0!important;}
  .fg-lab-results-below-cart{order:10!important;display:flex!important;margin-top:12px!important;}
  .fg-trust-features-inline{grid-template-columns:1fr 1fr!important;}
}
@media(max-width:430px){.fg-trust-features-inline{grid-template-columns:1fr!important}.fg-product-main-img{border-radius:24px!important}.fg-product-main-img img{max-height:300px!important}}

/* Product accordion */
.fg-product-accordion-panel{margin:42px 0;padding:clamp(22px,4vw,36px);border:1px solid #dce8f6;border-radius:32px;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);box-shadow:0 18px 54px rgba(9,42,82,.06);}
.fg-product-accordion-head{max-width:760px;margin-bottom:22px;}
.fg-product-accordion-head h2{font-size:clamp(34px,5vw,62px);line-height:.98;letter-spacing:-.055em;margin:8px 0 10px;color:#0b1220;}
.fg-product-accordion-head p{color:#526174;line-height:1.6;margin:0;}
.fg-product-accordion-list{display:grid;gap:12px;}
.fg-product-accordion-item{border:1px solid #dce8f6;border-radius:20px;background:#fff;overflow:hidden;}
.fg-product-accordion-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;font-weight:900;color:#0b1220;letter-spacing:-.02em;}
.fg-product-accordion-item summary::-webkit-details-marker{display:none;}
.fg-product-accordion-item summary b{width:34px;height:34px;border-radius:999px;background:linear-gradient(135deg,var(--fg-brand-blue),var(--fg-brand-teal));position:relative;flex:0 0 auto;}
.fg-product-accordion-item summary b:before,.fg-product-accordion-item summary b:after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;background:#fff;transform:translate(-50%,-50%);border-radius:999px;}
.fg-product-accordion-item summary b:after{transform:translate(-50%,-50%) rotate(90deg);transition:opacity .2s ease;}
.fg-product-accordion-item[open] summary b:after{opacity:0;}
.fg-product-accordion-content{padding:0 20px 20px;color:#4b5563;line-height:1.65;}
@media(max-width:767px){.fg-product-accordion-panel{border-radius:24px;padding:18px;margin:30px 0}.fg-product-accordion-head h2{font-size:32px}.fg-product-accordion-item summary{padding:16px}.fg-product-accordion-content{padding:0 16px 16px}}

/* Checkout page simplification */
.woocommerce-checkout .fg-cart-rewards-checkout{display:none!important;}
.woocommerce-checkout .fg-commerce-page{padding-top:clamp(28px,5vw,56px)!important;}
.woocommerce-checkout .fg-commerce-page .fg-label{margin-bottom:8px!important;}
.woocommerce-checkout .fg-commerce-page h1{font-size:clamp(42px,8vw,74px)!important;line-height:.98!important;margin:0 0 14px!important;}
.woocommerce-checkout .fg-commerce-page>p,.woocommerce-checkout .fg-commerce-page .fg-commerce-intro{font-size:16px!important;line-height:1.5!important;margin-bottom:24px!important;}
.woocommerce-checkout #payment ul.payment_methods li{border:1px solid #dce8f6!important;border-radius:18px!important;background:#fff!important;margin-bottom:10px!important;padding:14px!important;}
.woocommerce-checkout #payment ul.payment_methods li label{display:inline-flex!important;align-items:center!important;gap:8px!important;font-weight:900!important;}
.woocommerce-checkout #payment div.payment_box{border-radius:16px!important;background:#f8fbff!important;color:#475467!important;}
@media(max-width:767px){.woocommerce-checkout .fg-commerce-page{padding-top:22px!important}.woocommerce-checkout .fg-commerce-page h1{font-size:44px!important}.fg-checkout-shell #order_review{border-radius:24px!important;padding:22px!important}.fg-checkout-shell #order_review_heading{border-radius:24px 24px 0 0!important}}

/* Make homepage/category design feel more unique and finished. */
.fg-catalog-hero,.fg-categories-header{background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);border:1px solid rgba(11,99,246,.10);border-radius:32px;padding:clamp(22px,4vw,44px);box-shadow:0 18px 60px rgba(9,42,82,.045);}
.fg-categories-header{align-items:flex-start!important;}
.fg-categories-copy{max-width:780px!important;}
.fg-categories-copy h2{margin-top:10px!important;}
.fg-categories-note{background:#fff!important;border:1px solid #dce8f6!important;border-radius:22px!important;padding:16px 18px!important;}
@media(max-width:767px){.fg-catalog-hero,.fg-categories-header{padding:22px 18px!important;border-radius:24px!important}.fg-catalog-hero{display:block!important}.fg-catalog-hero h2{font-size:38px!important;line-height:1!important;margin-top:8px!important}.fg-catalog-shop-link{width:100%!important;justify-content:center!important;margin-top:18px!important}.fg-categories-note{display:none!important}}

/* Thank you / order received page */
.fg-thankyou-page{padding:clamp(40px,7vw,90px) 0;}
.fg-thankyou-card{max-width:980px;margin:0 auto;padding:clamp(28px,5vw,58px);border:1px solid #dce8f6;border-radius:34px;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);box-shadow:0 22px 70px rgba(9,42,82,.07);}
.fg-thankyou-card h1{font-size:clamp(40px,7vw,76px);line-height:.95;letter-spacing:-.06em;margin:10px 0 16px;color:#0b1220;}
.fg-thankyou-card p{font-size:18px;line-height:1.6;color:#526174;}
.fg-thankyou-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;list-style:none!important;margin:28px 0 0!important;padding:0!important;}
.fg-thankyou-meta li{margin:0!important;padding:16px 18px!important;border:1px solid #dce8f6;border-radius:18px;background:#fff;color:#64748b;font-weight:700;}
.fg-thankyou-meta strong{display:block;color:#0b1220;margin-top:4px;}
.fg-thankyou-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px;}
@media(max-width:700px){.fg-thankyou-meta{grid-template-columns:1fr}.fg-thankyou-card{border-radius:24px}.fg-thankyou-card h1{font-size:40px}}

/* FG v4.0.1 - Homepage hero product image slider refresh */
.fg-hero-slider-card{
  isolation:isolate!important;
  overflow:visible!important;
  background:linear-gradient(155deg,rgba(255,255,255,.96),rgba(244,250,255,.92))!important;
  border:1px solid rgba(11,99,246,.16)!important;
  box-shadow:0 34px 90px rgba(9,42,82,.14), inset 0 1px 0 rgba(255,255,255,.95)!important;
  min-height:clamp(430px,36vw,590px)!important;
  padding:clamp(18px,2.6vw,34px)!important;
}
.fg-hero-slider-card:before,
.fg-hero-slider-card:after{content:none!important;display:none!important;}
.fg-hero-slider-shell{
  position:relative!important;
  width:100%!important;
  min-height:clamp(360px,31vw,500px)!important;
  display:grid!important;
  place-items:center!important;
  border-radius:30px!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 48% 35%,rgba(16,191,166,.18),transparent 34%),
    radial-gradient(circle at 68% 62%,rgba(11,99,246,.12),transparent 30%),
    linear-gradient(135deg,#eef7ff,#f7fffc 72%)!important;
  border:1px solid rgba(11,99,246,.12)!important;
}
.fg-hero-slider-shell:before{
  content:"";
  position:absolute;
  inset:16px;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.72);
  pointer-events:none;
}
.fg-hero-slider-shell:after{
  content:"";
  position:absolute;
  width:76%;
  height:76%;
  border-radius:999px;
  border:1px solid rgba(11,99,246,.10);
  transform:rotate(-14deg);
  pointer-events:none;
}
.fg-hero-slider-glow{
  position:absolute!important;
  inset:auto auto 9% 50%!important;
  width:min(62%,420px)!important;
  height:26px!important;
  transform:translateX(-50%)!important;
  border-radius:999px!important;
  background:radial-gradient(ellipse at center,rgba(9,42,82,.18),transparent 70%)!important;
  filter:blur(8px)!important;
  z-index:0!important;
}
.fg-hero-slider-stack{
  position:relative!important;
  z-index:1!important;
  width:100%!important;
  min-height:inherit!important;
  display:grid!important;
  place-items:center!important;
}
.fg-hero-slide{
  grid-area:1/1!important;
  margin:0!important;
  width:100%!important;
  min-height:inherit!important;
  display:grid!important;
  place-items:center!important;
  opacity:0!important;
  transform:translateY(18px) scale(.965) rotate(-1.5deg)!important;
  transition:opacity .55s ease, transform .55s ease!important;
  pointer-events:none!important;
}
.fg-hero-slide.is-active{
  opacity:1!important;
  transform:translateY(0) scale(1) rotate(0deg)!important;
  pointer-events:auto!important;
}
.fg-hero-slide-img{
  width:auto!important;
  height:auto!important;
  max-width:min(82%,420px)!important;
  max-height:clamp(280px,27vw,445px)!important;
  object-fit:contain!important;
  display:block!important;
  background:transparent!important;
  border-radius:18px!important;
  filter:drop-shadow(0 28px 32px rgba(7,24,39,.16))!important;
}
.fg-hero-chip{
  position:absolute!important;
  z-index:3!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:10px 14px!important;
  border-radius:999px!important;
  border:1px solid rgba(11,99,246,.12)!important;
  background:rgba(255,255,255,.94)!important;
  color:#0b1220!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  box-shadow:0 16px 40px rgba(9,42,82,.10)!important;
  white-space:nowrap!important;
}
.fg-hero-chip span{
  width:9px!important;
  height:9px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#0b63f6,#10bfa6)!important;
  display:block!important;
}
.fg-hero-chip-top{top:22px!important;left:22px!important;}
.fg-hero-chip-side{right:18px!important;top:50%!important;transform:translateY(-50%)!important;}
.fg-hero-chip-bottom{right:20px!important;bottom:20px!important;background:#071827!important;color:#fff!important;border-color:rgba(255,255,255,.12)!important;}
.fg-hero-chip-bottom span{background:#10bfa6!important;}
.fg-hero-slider-footer{
  position:relative!important;
  z-index:2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:18px 4px 0!important;
  color:#526070!important;
  font-size:12px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.14em!important;
}
.fg-hero-slider-dots{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
}
.fg-hero-slider-dots button{
  appearance:none!important;
  width:10px!important;
  height:10px!important;
  border-radius:999px!important;
  border:0!important;
  padding:0!important;
  background:rgba(11,99,246,.22)!important;
  cursor:pointer!important;
  transition:width .22s ease, background .22s ease!important;
}
.fg-hero-slider-dots button.is-active{
  width:28px!important;
  background:linear-gradient(135deg,#0b63f6,#10bfa6)!important;
}
@media(max-width:980px){
  .fg-hero-slider-card{max-width:620px!important;margin-inline:auto!important;min-height:auto!important;}
  .fg-hero-slider-shell{min-height:420px!important;}
  .fg-hero-slide-img{max-height:360px!important;}
}
@media(max-width:640px){
  .fg-hero-slider-card{padding:14px!important;border-radius:28px!important;}
  .fg-hero-slider-shell{min-height:330px!important;border-radius:22px!important;}
  .fg-hero-slide-img{max-width:78%!important;max-height:270px!important;}
  .fg-hero-chip{font-size:10px!important;padding:8px 10px!important;letter-spacing:.06em!important;}
  .fg-hero-chip-top{top:14px!important;left:14px!important;}
  .fg-hero-chip-side{right:12px!important;}
  .fg-hero-chip-bottom{right:14px!important;bottom:14px!important;}
  .fg-hero-slider-footer{padding-top:14px!important;font-size:10px!important;letter-spacing:.11em!important;}
}
@media(max-width:420px){
  .fg-hero-chip-side{display:none!important;}
  .fg-hero-slider-shell{min-height:300px!important;}
  .fg-hero-slide-img{max-height:245px!important;}
}

/* FG v4.0.2 - hero slider: remove middle badge and fill slide panel with gradient */
.fg-hero-chip-side{display:none!important;visibility:hidden!important;pointer-events:none!important;}
.fg-hero-slider-card{background:linear-gradient(145deg,rgba(235,247,255,.98),rgba(230,255,249,.96) 72%)!important;border-color:rgba(11,99,246,.18)!important;}
.fg-hero-slider-shell{background:radial-gradient(circle at 48% 45%,rgba(16,191,166,.24) 0,rgba(16,191,166,.18) 28%,transparent 58%),radial-gradient(circle at 76% 20%,rgba(11,99,246,.18),transparent 42%),linear-gradient(145deg,#eaf7ff 0%,#e9fff9 100%)!important;}
.fg-hero-slider-shell:before{background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.04))!important;}
.fg-hero-slider-shell:after{border-color:rgba(11,99,246,.14)!important;}
.fg-hero-chip-top{background:rgba(255,255,255,.88)!important;}
.fg-hero-chip-bottom{background:rgba(7,24,39,.94)!important;}
@media(max-width:420px){.fg-hero-chip-side{display:none!important;}}

/* v4.0.3 — Premium assurance workflow and reliable Research Pathways category cards */
.fg-assurance-system{
  position:relative;
  padding:clamp(64px,7vw,112px) 0;
  background:linear-gradient(180deg,#fff 0%,#f7fbff 100%);
  overflow:hidden;
}
.fg-assurance-system:before{
  content:"";
  position:absolute;
  inset:10% auto auto -120px;
  width:360px;height:360px;border-radius:999px;
  background:radial-gradient(circle,rgba(11,99,246,.10),transparent 70%);
  pointer-events:none;
}
.fg-assurance-head{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(260px,.55fr);
  gap:clamp(24px,5vw,72px);
  align-items:end;
  margin-bottom:clamp(26px,4vw,46px);
}
.fg-assurance-head h2{
  margin:12px 0 0;
  max-width:820px;
  color:#0b1220;
  font-size:clamp(42px,5.3vw,82px);
  line-height:.94;
  letter-spacing:-.065em;
}
.fg-assurance-head p{
  margin:0;
  color:#475467;
  font-size:clamp(16px,1.2vw,18px);
  line-height:1.65;
  max-width:520px;
}
.fg-assurance-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(18px,2vw,26px);
}
.fg-assurance-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(11,99,246,.14);
  border-radius:32px;
  padding:clamp(22px,2.5vw,32px);
  background:linear-gradient(180deg,#fff 0%,#f5fbff 100%);
  box-shadow:0 24px 60px rgba(9,42,82,.08);
  min-height:420px;
  display:flex;
  flex-direction:column;
  isolation:isolate;
}
.fg-assurance-card:before{
  content:"";
  position:absolute;
  inset:auto -20% -32% auto;
  width:260px;height:260px;border-radius:999px;
  background:radial-gradient(circle,rgba(16,191,166,.18),transparent 70%);
  z-index:-1;
}
.fg-assurance-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:18px;
}
.fg-assurance-step{
  display:inline-grid;
  place-items:center;
  width:42px;height:42px;border-radius:14px;
  background:rgba(11,99,246,.09);
  color:#0b63f6;
  font-weight:900;
  font-size:13px;
  letter-spacing:.08em;
}
.fg-assurance-kicker{
  color:#10a999;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:12px;
}
.fg-assurance-visual{
  height:170px;
  border:1px solid rgba(11,99,246,.12);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(11,99,246,.07),rgba(16,191,166,.08));
  display:grid;
  place-items:center;
  margin-bottom:24px;
  overflow:hidden;
}
.fg-assurance-visual img{
  width:100%;height:100%;object-fit:contain;display:block;padding:18px;
}
.fg-assurance-visual span{
  display:grid;place-items:center;
  width:72px;height:72px;border-radius:22px;
  background:linear-gradient(135deg,#0b63f6,#10bfa6);
  color:#fff;font-size:30px;font-weight:900;
  box-shadow:0 16px 32px rgba(11,99,246,.22);
}
.fg-assurance-card h3{
  margin:0 0 12px;
  color:#0b1220;
  font-size:clamp(24px,2.2vw,32px);
  line-height:1.06;
  letter-spacing:-.04em;
}
.fg-assurance-card p{
  margin:0;
  color:#5b6473;
  line-height:1.65;
  font-size:15.5px;
}
.fg-assurance-link{
  margin-top:auto;
  padding-top:24px;
  color:#0b63f6;
  font-weight:900;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.fg-assurance-card:hover{
  transform:translateY(-4px);
  border-color:rgba(11,99,246,.28);
  box-shadow:0 30px 80px rgba(9,42,82,.12);
}
.home .fg-categories .fg-stack-card{
  min-height:clamp(440px,58vh,620px)!important;
}
.home .fg-categories .fg-stack-card-visual{
  min-height:100%!important;
  padding:clamp(24px,4vw,52px)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.home .fg-categories .fg-stack-card-visual img{
  width:auto!important;
  height:auto!important;
  max-width:90%!important;
  max-height:100%!important;
  object-fit:contain!important;
  padding:0!important;
  display:block!important;
}
.home .fg-categories .fg-stack-card-visual > div{
  width:100%;
}
@media(max-width:1024px){
  .fg-assurance-head{grid-template-columns:1fr;align-items:start;}
  .fg-assurance-grid{grid-template-columns:1fr;}
  .fg-assurance-card{min-height:auto;}
  .home .fg-categories .fg-stack-card{min-height:auto!important;}
  .home .fg-categories .fg-stack-card-visual{min-height:300px!important;}
  .home .fg-categories .fg-stack-card-visual img{max-height:270px!important;}
}
@media(max-width:640px){
  .fg-assurance-system{padding:44px 0;}
  .fg-assurance-head{margin-bottom:22px;}
  .fg-assurance-head h2{font-size:clamp(34px,11vw,48px);}
  .fg-assurance-card{border-radius:26px;padding:22px;}
  .fg-assurance-visual{height:148px;border-radius:20px;}
  .fg-assurance-grid{gap:16px;}
  .home .fg-categories .fg-stack-card-visual{min-height:245px!important;padding:18px!important;}
  .home .fg-categories .fg-stack-card-visual img{max-height:215px!important;max-width:86%!important;}
}

/* ===========================
   v4.0.4 Category Links / Pathway Visual / Header Link Polish
   =========================== */
.fg-stack-card-visual{
  align-self: stretch !important;
  min-height: 100% !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  padding: 0 !important;
}
.fg-stack-card-visual img{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}
.fg-stack-card-count{
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  white-space: nowrap !important;
}
.fg-catalog-filter-row{
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: thin !important;
}
.fg-catalog-filter-row .fg-filter-item{
  flex: 0 0 auto !important;
}
@media (min-width: 1025px){
  .fg-stack-card{ min-height: clamp(430px, 44vw, 620px) !important; }
  .fg-stack-card-visual{ min-height: clamp(430px, 44vw, 620px) !important; }
}
@media (max-width: 1024px){
  .fg-stack-card-visual{
    min-height: 300px !important;
    border-radius: 0 0 24px 24px !important;
  }
  .fg-stack-card-visual img{
    height: 300px !important;
    object-fit: cover !important;
  }
}
@media (max-width: 640px){
  .fg-stack-card-visual{ min-height: 245px !important; }
  .fg-stack-card-visual img{ height: 245px !important; }
  .fg-stack-card-count{ font-size: 10px !important; }
}

/* ===========================
   v4.0.6 QA fixes: checkout width, product mobile order, hero CTA, pagination
   =========================== */
.fg-hero-btns-single{display:flex!important;gap:14px!important;align-items:center!important;flex-wrap:wrap!important;}
.fg-hero-btns-single .fg-btn{min-width:180px!important;justify-content:center!important;}

/* Product page: image comes immediately after the small RUO intro on mobile, large RUO goes to bottom. */
.fg-single-ruo-bottom{margin:56px 0 0!important;}
.fg-product-details>.fg-ruo-box:not(.fg-single-ruo-bottom){display:none!important;}
@media(max-width:900px){
  .fg-single-product{padding-top:22px!important;}
  .fg-single-product .fg-breadcrumbs{margin-bottom:18px!important;}
  .fg-single-product .fg-product-top{display:flex!important;flex-direction:column!important;gap:18px!important;}
  .fg-single-product .fg-product-gallery{order:-1!important;position:static!important;margin-top:6px!important;}
  .fg-single-product .fg-product-details{order:1!important;margin-top:0!important;}
  .fg-product-main-img{padding:18px!important;border-radius:26px!important;}
  .fg-product-main-img img{max-height:340px!important;width:100%!important;object-fit:contain!important;}
  .fg-product-mobile-meta-wrap{margin-top:14px!important;}
  .fg-single-ruo-bottom{margin:32px 0 0!important;border-radius:24px!important;padding:20px!important;}
}

/* Custom pagination markup from woocommerce/loop/pagination.php. */
.fg-pagination-modern{display:flex!important;justify-content:center!important;align-items:center!important;width:100%!important;margin:36px auto!important;clear:both!important;}
.fg-pagination-modern .fg-page-numbers{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;padding:8px!important;background:#fff!important;border:1px solid rgba(11,99,246,.14)!important;border-radius:999px!important;box-shadow:0 14px 34px rgba(9,42,82,.07)!important;}
.fg-pagination-modern .page-numbers{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:42px!important;height:42px!important;padding:0 13px!important;border-radius:999px!important;text-decoration:none!important;border:0!important;background:transparent!important;color:#0b1220!important;font-weight:900!important;line-height:1!important;box-shadow:none!important;}
.fg-pagination-modern .page-numbers.current{background:linear-gradient(135deg,#0b63f6,#18c6b3)!important;color:#fff!important;box-shadow:0 10px 24px rgba(11,99,246,.20)!important;}
.fg-pagination-modern a.page-numbers:hover{background:#eef6ff!important;color:#0b63f6!important;}
.fg-pagination-modern .prev,.fg-pagination-modern .next{font-size:18px!important;}
@media(max-width:520px){
  .fg-pagination-modern{margin:24px auto 30px!important;}
  .fg-pagination-modern .fg-page-numbers{gap:6px;padding:7px!important;max-width:100%;}
  .fg-pagination-modern .page-numbers{min-width:38px!important;height:38px!important;padding:0 11px!important;font-size:14px!important;}
}

/* Checkout: fix mobile/desktop spacing and prevent payment boxes from shrinking/overflowing. */
.woocommerce-checkout .fg-page-generic.fg-commerce-page{padding-top:clamp(18px,3vw,42px)!important;}
.woocommerce-checkout .fg-commerce-hero{padding:0!important;margin:0 auto 18px!important;}
.woocommerce-checkout .fg-commerce-hero .fg-section-label{margin-bottom:8px!important;}
.woocommerce-checkout .fg-commerce-hero h1{font-size:clamp(34px,5.4vw,58px)!important;line-height:1.02!important;margin:0 0 10px!important;letter-spacing:-.055em!important;}
.woocommerce-checkout .fg-commerce-hero p{font-size:clamp(15px,1.45vw,19px)!important;line-height:1.55!important;margin:0!important;max-width:680px!important;}
.woocommerce-checkout .fg-commerce-shell{padding:clamp(18px,2.5vw,30px)!important;border-radius:30px!important;}
.fg-checkout-shell form.checkout{grid-template-columns:minmax(0,1fr) minmax(340px,460px)!important;gap:clamp(22px,3vw,34px)!important;}
.fg-checkout-shell #customer_details,.fg-checkout-shell #order_review,.fg-checkout-shell #order_review_heading{min-width:0!important;max-width:100%!important;box-sizing:border-box!important;}
.fg-checkout-shell .woocommerce-checkout-payment,.fg-checkout-shell #payment{width:100%!important;max-width:100%!important;box-sizing:border-box!important;overflow:visible!important;}
.fg-checkout-shell #payment ul.payment_methods{padding:0!important;margin:0!important;border:0!important;}
.fg-checkout-shell #payment ul.payment_methods li{list-style:none!important;margin:0 0 12px!important;padding:0!important;border:1px solid rgba(11,99,246,.12)!important;border-radius:20px!important;background:#fff!important;overflow:hidden!important;}
.fg-checkout-shell #payment ul.payment_methods li>label{display:flex!important;align-items:center!important;gap:10px!important;padding:16px!important;margin:0!important;}
.fg-checkout-shell #payment div.payment_box{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:16px!important;border-radius:0 0 20px 20px!important;box-sizing:border-box!important;overflow-wrap:anywhere!important;word-break:normal!important;line-height:1.55!important;}
.fg-checkout-shell #payment div.payment_box *{max-width:100%!important;box-sizing:border-box!important;}
.fg-checkout-shell #payment div.payment_box input,.fg-checkout-shell #payment div.payment_box textarea,.fg-checkout-shell #payment div.payment_box select{max-width:100%!important;width:100%!important;}
.fg-checkout-shell #payment div.payment_box table{width:100%!important;table-layout:fixed!important;}
.fg-checkout-shell #payment div.payment_box a,.fg-checkout-shell #payment div.payment_box button{white-space:normal!important;}
@media(max-width:900px){
  .woocommerce-checkout .fg-page-generic.fg-commerce-page{padding:20px 10px 48px!important;}
  .woocommerce-checkout .fg-commerce-hero{margin-bottom:14px!important;}
  .woocommerce-checkout .fg-commerce-hero h1{font-size:38px!important;}
  .woocommerce-checkout .fg-commerce-hero p{font-size:15px!important;line-height:1.5!important;}
  .woocommerce-checkout .fg-commerce-shell{padding:12px!important;border-radius:24px!important;width:100%!important;max-width:100%!important;}
  .fg-checkout-shell form.checkout{display:block!important;width:100%!important;}
  .fg-checkout-shell .col2-set .col-1,.fg-checkout-shell .col2-set .col-2,.fg-checkout-shell #order_review{padding:16px!important;border-radius:22px!important;width:100%!important;}
  .fg-checkout-shell #order_review_heading{padding:18px 16px 0!important;width:100%!important;}
  .fg-checkout-shell #payment div.payment_box{padding:14px!important;font-size:13px!important;}
}
@media(max-width:420px){
  .woocommerce-checkout .fg-page-generic.fg-commerce-page{padding-left:8px!important;padding-right:8px!important;}
  .woocommerce-checkout .fg-commerce-shell{padding:10px!important;border-radius:20px!important;}
  .fg-checkout-shell .col2-set .col-1,.fg-checkout-shell .col2-set .col-2,.fg-checkout-shell #order_review{padding:14px!important;border-radius:18px!important;}
  .fg-checkout-shell #payment div.payment_box{padding:12px!important;}
}

/* =========================================================
   v4.0.7 Final client feedback polish pass
   ========================================================= */

/* Archive/category: remove top trust cards and tighten entry spacing */
.fg-catalog-archive .fg-shop-trust-bar{display:none!important;}
.fg-catalog-archive .fg-shop-header{padding-bottom:20px!important;margin-bottom:0!important;}
.fg-catalog-archive .fg-shop-header h1{margin-bottom:12px!important;}
.fg-catalog-archive .fg-catalog-panel{margin-top:18px!important;}
@media(max-width:767px){
  .fg-catalog-archive .fg-shop-header{padding-top:38px!important;padding-bottom:14px!important;}
  .fg-catalog-archive .fg-catalog-panel{margin-top:10px!important;}
}

/* Homepage workflow cards: prevent image bleed and give stronger branded look */
.fg-assurance-card{overflow:hidden!important;isolation:isolate!important;position:relative!important;}
.fg-assurance-card .fg-assurance-card-img,
.fg-assurance-card img{display:block!important;max-width:100%!important;object-fit:contain!important;object-position:center!important;}
.fg-assurance-card-visual{overflow:hidden!important;border-radius:24px!important;background:linear-gradient(135deg,#eef8ff 0%,#effffb 100%)!important;}
@media(max-width:767px){
  .fg-assurance-card{border-radius:26px!important;padding:24px!important;}
  .fg-assurance-card-visual{height:220px!important;display:flex!important;align-items:center!important;justify-content:center!important;}
  .fg-assurance-card-visual img{max-height:210px!important;width:auto!important;}
}

/* Research pathways stack: isolate each card so mobile images never overlap next card */
.fg-stack-card{overflow:hidden!important;isolation:isolate!important;contain:paint!important;}
.fg-stack-card-visual{overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.fg-stack-card-visual img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;display:block!important;}
@media(min-width:901px){
  .fg-stack-card{grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr)!important;}
  .fg-stack-card-visual{height:auto!important;min-height:100%!important;margin:-1px -1px -1px 0!important;border-radius:0 30px 30px 0!important;}
}
@media(max-width:900px){
  .fg-stack-card{display:flex!important;flex-direction:column!important;gap:26px!important;}
  .fg-stack-card-content{order:1!important;}
  .fg-stack-card-visual{order:2!important;height:280px!important;min-height:0!important;border-radius:24px!important;margin-top:4px!important;}
  .fg-stack-card-visual img{height:100%!important;max-height:100%!important;object-fit:cover!important;object-position:center!important;}
}
@media(max-width:520px){
  .fg-stack-card{padding:26px 22px!important;border-radius:30px!important;}
  .fg-stack-card-visual{height:230px!important;}
  .fg-stack-card h3{font-size:clamp(38px,12vw,54px)!important;line-height:.95!important;}
  .fg-stack-card p{font-size:16px!important;line-height:1.55!important;}
  .fg-stack-card-pills{gap:8px!important;}
  .fg-stack-pill{font-size:11px!important;padding:9px 12px!important;}
}

/* Product/shop catalog redesign: more original tab-strip and card shell */
.fg-catalog-panel{background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%)!important;border:1px solid rgba(11,99,246,.14)!important;box-shadow:0 24px 70px rgba(10,50,88,.07)!important;}
.fg-catalog-filter-row{background:#fff!important;border:1px solid rgba(11,99,246,.12)!important;border-radius:24px!important;padding:10px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;}
.fg-catalog-filter-row .fg-filter-item{border-radius:18px!important;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%)!important;border:1px solid rgba(15,35,70,.08)!important;box-shadow:0 6px 18px rgba(10,50,88,.035)!important;}
.fg-catalog-filter-row .fg-filter-item.active{background:linear-gradient(135deg,#0b63f6 0%,#17c5b4 100%)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 12px 30px rgba(11,99,246,.18)!important;}
.fg-catalog-tools{background:transparent!important;}
.fg-catalog-search input,.fg-catalog-sort select{background:#fff!important;border:1px solid rgba(11,99,246,.14)!important;box-shadow:0 8px 22px rgba(10,50,88,.035)!important;}
@media(max-width:767px){
  .fg-catalog-filter-row{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
  .fg-catalog-filter-row .fg-filter-item{min-height:54px!important;padding:14px 16px!important;}
  .fg-catalog-tools{gap:12px!important;}
}

/* Pagination: hard reset WooCommerce odd borders/vertical layout */
.woocommerce-pagination{display:flex!important;justify-content:center!important;align-items:center!important;width:100%!important;margin:34px auto 20px!important;clear:both!important;}
.woocommerce-pagination ul.page-numbers{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;list-style:none!important;margin:0 auto!important;padding:9px!important;border:1px solid rgba(11,99,246,.12)!important;border-radius:999px!important;background:#fff!important;box-shadow:0 14px 38px rgba(10,50,88,.06)!important;}
.woocommerce-pagination ul.page-numbers li{display:block!important;margin:0!important;padding:0!important;border:0!important;float:none!important;}
.woocommerce-pagination ul.page-numbers>li>.page-numbers{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;min-width:42px!important;height:42px!important;padding:0 14px!important;margin:0!important;border:0!important;border-radius:999px!important;background:transparent!important;color:#0b1220!important;font-weight:900!important;text-decoration:none!important;line-height:1!important;box-shadow:none!important;}
.woocommerce-pagination ul.page-numbers>li>.current{background:linear-gradient(135deg,#0b63f6,#18c6b3)!important;color:#fff!important;box-shadow:0 8px 18px rgba(11,99,246,.22)!important;}
.woocommerce-pagination ul.page-numbers>li>a:hover{background:#edf7ff!important;color:#0b63f6!important;}
@media(max-width:520px){.woocommerce-pagination{margin:24px auto 16px!important}.woocommerce-pagination ul.page-numbers{gap:6px;padding:8px}.woocommerce-pagination ul.page-numbers>li>.page-numbers{min-width:40px;height:40px;padding:0 12px;font-size:14px}}

/* Product page purchase/trust: separate cards, all four trust badges */
.fg-purchase-card{background:#fff!important;border:1px solid rgba(11,99,246,.13)!important;border-radius:30px!important;padding:24px!important;box-shadow:0 20px 54px rgba(10,50,88,.08)!important;}
.fg-product-trust-card{margin-top:16px!important;background:#fff!important;border:1px solid rgba(11,99,246,.13)!important;border-radius:28px!important;padding:16px!important;box-shadow:0 16px 46px rgba(10,50,88,.06)!important;}
.fg-product-trust-after-cart{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;margin:0!important;}
.fg-product-trust-after-cart .fg-trust-mini-item{background:linear-gradient(180deg,#fff 0%,#f8fbff 100%)!important;border:1px solid rgba(11,99,246,.11)!important;border-radius:18px!important;padding:14px!important;min-width:0!important;}
.fg-product-trust-after-cart .fg-trust-mini-icon{width:42px!important;height:42px!important;border-radius:14px!important;}
@media(max-width:767px){
  .fg-purchase-card{padding:18px!important;border-radius:26px!important;}
  .fg-product-trust-card{padding:14px!important;border-radius:24px!important;}
  .fg-product-trust-after-cart{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
  .fg-product-trust-after-cart .fg-trust-mini-item{padding:12px!important;grid-template-columns:36px minmax(0,1fr)!important;}
  .fg-product-trust-after-cart .fg-trust-mini-icon{width:36px!important;height:36px!important;}
}

/* Product documentation: move visually clean, mobile 2-col callouts */
@media(max-width:900px){
  .fg-product-doc-visual{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important;}
  .fg-product-doc-visual .fg-doc-bottle,
  .fg-product-doc-visual .fg-doc-bottle-placeholder{grid-column:1 / -1!important;}
  .fg-doc-callout{justify-content:flex-start!important;min-height:58px!important;}
}
@media(max-width:460px){.fg-doc-callout{font-size:13px!important;padding:11px 10px!important}.fg-doc-callout span{width:9px!important;height:9px!important}}

/* Homepage COA CTA removal safety */
.fg-coa-section .fg-btn[href="#"],.fg-coa-section .fg-btn:empty{display:none!important;}

/* Cart drawer: stronger savings/subtotal and more left reveal on mobile */
.fg-cart-modern-footer{gap:10px!important;}
.fg-cart-savings-row{order:2!important;margin-top:4px!important;padding:12px 0!important;border-top:1px solid rgba(16,185,129,.16)!important;color:#059669!important;}
.fg-cart-savings-row span,.fg-cart-savings-row strong{color:#059669!important;font-weight:950!important;}
.fg-cart-subtotal-row{order:1!important;color:#0b1220!important;}
.fg-cart-subtotal-row span,.fg-cart-subtotal-row strong{color:#0b1220!important;font-weight:950!important;}
.fg-checkout-btn{order:3!important;background:linear-gradient(135deg,#0b63f6 0%,#18c6b3 100%)!important;}
.fg-cart-secure-text{order:4!important;}
.fg-cart-continue{order:5!important;}
.fg-cart-disclaimer{order:6!important;}
@media(max-width:560px){
  .fg-cart-drawer,.fg-cart-drawer-modern{width:calc(100vw - 38px)!important;max-width:calc(100vw - 38px)!important;}
}

/* Checkout page: prevent narrow, shrinking payment boxes */
.fg-checkout-shell{max-width:1320px!important;margin-inline:auto!important;}
.fg-checkout-shell form.checkout{gap:34px!important;}
.fg-checkout-shell #order_review{overflow:visible!important;}
.fg-checkout-shell .woocommerce-checkout-payment{width:100%!important;max-width:100%!important;box-sizing:border-box!important;overflow:visible!important;}
.fg-checkout-shell .wc_payment_methods,.fg-checkout-shell .wc_payment_method,.fg-checkout-shell .payment_box{width:100%!important;max-width:100%!important;box-sizing:border-box!important;overflow:visible!important;}
.fg-checkout-shell .payment_box,.fg-checkout-shell .payment_box *{max-width:100%!important;box-sizing:border-box!important;word-break:normal!important;overflow-wrap:anywhere!important;}
.fg-checkout-shell .payment_box input,.fg-checkout-shell .payment_box textarea{width:100%!important;max-width:100%!important;}
.fg-checkout-shell .payment_box table{width:100%!important;max-width:100%!important;table-layout:auto!important;}
.fg-checkout-shell .payment_box [style*="width"]{max-width:100%!important;}
@media(max-width:900px){
  .fg-commerce-page{padding-top:26px!important;}
  .fg-page-hero.fg-commerce-hero{padding:18px 18px 8px!important;margin-bottom:10px!important;}
  .fg-commerce-page h1{font-size:34px!important;line-height:1!important;}
  .fg-commerce-shell{padding:14px!important;border-radius:24px!important;max-width:100%!important;}
  .fg-checkout-shell .col2-set .col-1,.fg-checkout-shell .col2-set .col-2{padding:18px!important;border-radius:22px!important;margin-bottom:16px!important;}
  .fg-checkout-shell #order_review_heading{margin-top:16px!important;border-radius:22px 22px 0 0!important;padding:20px 18px 0!important;}
  .fg-checkout-shell #order_review{padding:22px 18px 18px!important;border-radius:0 0 22px 22px!important;}
  .fg-checkout-shell .woocommerce-checkout-payment{padding:14px!important;border-radius:20px!important;}
}
@media(max-width:430px){
  .fg-checkout-shell .payment_box{padding:12px!important;font-size:13px!important;line-height:1.45!important;}
  .fg-checkout-shell .payment_box input{font-size:13px!important;padding:10px!important;}
  .fg-checkout-shell .payment_box button,.fg-checkout-shell .payment_box a{white-space:normal!important;}
}


/* v4.0.8 final feedback cleanup: cart drawer, checkout, coupon, calculator */
.fg-cart-assurance-grid,
.fg-cart-assurance-scroll,
.fg-cart-subtotal-row,
.fg-cart-disclaimer{display:none!important;}
.fg-cart-modern-footer{gap:10px!important;padding-top:16px!important;}
.fg-cart-savings-row{order:1!important;margin:0 0 10px!important;padding:14px 16px!important;border:1px solid rgba(20,198,179,.25)!important;border-radius:18px!important;background:linear-gradient(135deg,rgba(20,198,179,.12),rgba(20,117,255,.06))!important;color:#057567!important;}
.fg-cart-savings-row span,.fg-cart-savings-row strong{color:#057567!important;font-weight:950!important;}
.fg-checkout-btn{order:2!important;}
.fg-cart-secure-text{order:3!important;margin:8px 0 0!important;}
.fg-cart-continue{order:4!important;margin:0!important;}
.fg-cart-upsell-card{margin-bottom:6px!important;}
@media(max-width:767px){
  .fg-cart-drawer{right:10px!important;width:calc(100vw - 52px)!important;max-width:calc(100vw - 52px)!important;border-radius:24px 0 0 24px!important;}
  .fg-cart-drawer-footer{padding:14px 18px 18px!important;}
}

/* Checkout polish: remove duplicate label, tighten spacing, keep Zelle/Noramp readable */
.fg-commerce-page{padding-top:24px!important;}
.fg-commerce-hero{margin:0 0 18px!important;padding:0!important;}
.fg-commerce-hero .fg-section-label{display:none!important;}
.fg-commerce-hero h1{font-size:clamp(42px,7vw,72px)!important;line-height:.95!important;margin:0 0 12px!important;}
.fg-commerce-hero p{margin:0!important;max-width:760px!important;}
.fg-checkout-shell{padding:clamp(16px,3vw,32px)!important;}
.fg-checkout-shell form.checkout{gap:clamp(16px,2.5vw,28px)!important;align-items:start!important;}
.fg-checkout-shell .woocommerce-form-coupon-toggle .woocommerce-info a.showcoupon{font-weight:inherit!important;color:inherit!important;text-decoration:none!important;}
.fg-checkout-shell .checkout_coupon.woocommerce-form-coupon{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;}
.fg-checkout-shell #order_review,
.fg-checkout-shell .woocommerce-checkout-review-order,
.fg-checkout-shell .woocommerce-checkout-payment,
.fg-checkout-shell #payment{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;}
.fg-checkout-shell #payment ul.payment_methods,
.fg-checkout-shell #payment li.wc_payment_method{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;overflow:hidden!important;}
.fg-checkout-shell #payment div.payment_box,
.fg-checkout-shell .payment_box{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;margin:14px 0 0!important;padding:16px!important;border-radius:18px!important;overflow-x:hidden!important;overflow-wrap:anywhere!important;word-break:break-word!important;line-height:1.55!important;}
.fg-checkout-shell .payment_box *,
.fg-checkout-shell #payment *{max-width:100%!important;box-sizing:border-box!important;}
.fg-checkout-shell .payment_box input,
.fg-checkout-shell .payment_box textarea,
.fg-checkout-shell .payment_box select{width:100%!important;min-width:0!important;}
.fg-checkout-shell .payment_box table,
.fg-checkout-shell .payment_box tbody,
.fg-checkout-shell .payment_box tr,
.fg-checkout-shell .payment_box td{display:block!important;width:100%!important;max-width:100%!important;}
.fg-checkout-shell .payment_box button,
.fg-checkout-shell .payment_box .button{max-width:100%!important;white-space:normal!important;}
@media(max-width:767px){
  .fg-commerce-page{padding:18px 12px 0!important;}
  .fg-commerce-hero{margin-bottom:14px!important;}
  .fg-commerce-hero h1{font-size:44px!important;}
  .fg-commerce-hero p{font-size:17px!important;line-height:1.45!important;}
  .fg-checkout-shell{padding:12px!important;border-radius:22px!important;}
  .fg-checkout-shell .woocommerce-billing-fields,
  .fg-checkout-shell .woocommerce-shipping-fields,
  .fg-checkout-shell #order_review{padding:18px!important;border-radius:22px!important;}
  .fg-checkout-shell #payment div.payment_box,
  .fg-checkout-shell .payment_box{padding:12px!important;font-size:14px!important;}
}

/* v4.1.0: product card quick-add buttons removed per client feedback. */
.fg-product-card-quick,.fg-card-quick-add{display:none!important;}


/* v4.1.2: Product FAQ title accent + mobile pathway card overlap fix */
.fg-product-accordion-item summary,
.fg-product-accordion-item summary span,
.fg-product-accordion-item summary strong{
  color:#0b63f6!important;
}
.fg-product-accordion-item[open] summary,
.fg-product-accordion-item summary:hover{
  color:#0a55d8!important;
}
@media(max-width:767px){
  .fg-categories .fg-stack-container{
    display:block!important;
    overflow:visible!important;
  }
  .fg-categories .fg-stack-card,
  .fg-categories .fg-stack-card:nth-child(n){
    position:relative!important;
    top:auto!important;
    z-index:auto!important;
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    height:auto!important;
    margin:0 0 36px!important;
    overflow:hidden!important;
    isolation:isolate!important;
    transform:none!important;
  }
  .fg-categories .fg-stack-card-content{
    position:relative!important;
    z-index:2!important;
    flex:0 0 auto!important;
  }
  .fg-categories .fg-stack-card-visual{
    position:relative!important;
    z-index:1!important;
    flex:0 0 auto!important;
    width:100%!important;
    min-height:245px!important;
    max-height:none!important;
    margin:0!important;
    overflow:hidden!important;
    border-radius:22px!important;
  }
  .fg-categories .fg-stack-card-visual img{
    display:block!important;
    width:100%!important;
    height:245px!important;
    max-height:245px!important;
    object-fit:contain!important;
    object-position:center!important;
    margin:0 auto!important;
  }
  .fg-categories .fg-stack-card + .fg-stack-card{
    clear:both!important;
  }
}

/* v4.1.3 final header, mobile mega, FAQ, CTA, and cart quantity stepper fixes */
.fg-navbar{
  position:sticky!important;
  top:0!important;
  z-index:1000!important;
}
.admin-bar .fg-navbar{top:32px!important;}
.fg-announcement{position:relative!important;z-index:1001!important;}
.fg-product-accordion-item summary,
.fg-product-accordion-item summary span,
.fg-product-accordion-item summary strong{
  color:#0b63f6!important;
}
.fg-product-accordion-item[open] summary,
.fg-product-accordion-item summary:hover,
.fg-product-accordion-item[open] summary span,
.fg-product-accordion-item summary:hover span{
  color:#0a55d8!important;
}
.fg-cart-product-controls-qty{display:grid!important;grid-template-columns:minmax(0,1fr) 36px!important;gap:10px!important;align-items:center!important;}
.fg-cart-qty-stepper{height:42px;border:1px solid #dce8f6;border-radius:999px;background:#fff;display:grid;grid-template-columns:42px 1fr 42px;align-items:center;overflow:hidden;box-shadow:0 6px 16px rgba(9,42,82,.04);}
.fg-cart-qty-btn{height:42px;width:42px;border:0;background:transparent;color:#0b1220;font-size:20px;font-weight:900;display:flex;align-items:center;justify-content:center;cursor:pointer;line-height:1;}
.fg-cart-qty-btn:hover,.fg-cart-qty-btn:focus-visible{background:linear-gradient(135deg,rgba(11,99,246,.10),rgba(16,191,166,.10));color:#0b63f6;}
.fg-cart-qty-current{text-align:center;font-size:15px;font-weight:900;color:#0b1220;min-width:32px;}
@media(max-width:782px){
  .admin-bar .fg-navbar{top:46px!important;}
  body.fg-mobile-nav-open .fg-nav-links{max-height:calc(100dvh - var(--fg-mobile-nav-top, 120px) - 12px)!important;overflow:auto!important;}
  body.fg-mobile-nav-open .fg-nav-link.mobile-mega-open .fg-mega-menu,
  body.fg-mobile-nav-open .fg-nav-link.mobile-mega-open .fg-mega-menu-v2{display:block!important;}
  .fg-mega-menu-v2{max-height:calc(100dvh - var(--fg-mobile-nav-top, 120px) - 110px)!important;overflow:auto!important;}
  .fg-cart-qty-stepper{height:40px;grid-template-columns:40px 1fr 40px;}
  .fg-cart-qty-btn{height:40px;width:40px;}
}

/* v4.1.4 cart drawer variant + quantity stepper refinement */
.fg-cart-product-variant{
  display:block;
  margin:3px 0 0 18px;
  font-size:13px;
  line-height:1.3;
  color:#6b7280;
  font-weight:700;
}
.fg-cart-product-controls-qty{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin-top:8px!important;
}
.fg-cart-qty-stepper{
  width:auto!important;
  min-width:116px!important;
  flex:0 0 auto!important;
  height:40px!important;
  border:1px solid #d7dce8!important;
  border-radius:8px!important;
  background:#fff!important;
  display:grid!important;
  grid-template-columns:36px 42px 36px!important;
  align-items:center!important;
  overflow:hidden!important;
  box-shadow:none!important;
}
.fg-cart-qty-btn{
  height:40px!important;
  width:36px!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  color:#0b1220!important;
  font-size:22px!important;
  font-weight:900!important;
  line-height:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.fg-cart-qty-btn + .fg-cart-qty-current,
.fg-cart-qty-current + .fg-cart-qty-btn{border-left:1px solid #d7dce8!important;}
.fg-cart-qty-current{
  height:40px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:17px!important;
  font-weight:800!important;
  color:#0b1220!important;
  min-width:42px!important;
}
.fg-cart-remove{margin-left:auto!important;}
@media(max-width:560px){
  .fg-cart-product-variant{font-size:12px!important;margin-left:18px!important;margin-top:2px!important;}
  .fg-cart-product-controls-qty{justify-content:space-between!important;}
  .fg-cart-qty-stepper{min-width:112px!important;grid-template-columns:34px 42px 34px!important;height:38px!important;}
  .fg-cart-qty-btn{width:34px!important;height:38px!important;}
  .fg-cart-qty-current{height:38px!important;}
}

/* v4.2.1 - Product title meta placement */
.fg-product-identity-meta{
  display:grid;
  gap:8px;
  margin:8px 0 14px;
  max-width:760px;
}
.fg-product-identity-row{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:baseline;
  font-size:14px;
  line-height:1.45;
  color:var(--fg-text-secondary,#475569);
}
.fg-product-identity-row span{
  font-weight:800;
  color:var(--fg-text,#0b1220);
}
.fg-product-identity-row strong{
  font-weight:600;
  color:var(--fg-text-secondary,#475569);
}
.fg-product-identity-row:last-child strong{
  font-family:var(--fg-font-mono,monospace);
  letter-spacing:.01em;
}
@media(max-width:900px){
  .fg-product-mobile-intro .fg-product-identity-meta{margin:8px 0 14px;}
  .fg-product-mobile-intro .fg-product-identity-row{font-size:13px;}
}

/* v4.3.1: static full-background homepage hero + activation/category cleanup */
.fg-hero-static-bg{
    min-height:100vh!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    overflow:hidden!important;
    background-image:linear-gradient(90deg,rgba(1,14,34,.62) 0%,rgba(4,20,48,.44) 36%,rgba(4,20,48,.18) 58%,rgba(4,20,48,.06) 100%),var(--fg-hero-bg-desktop)!important;
    background-size:cover!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
}
.fg-hero-static-bg:before,
.fg-hero-static-bg .fg-hero-particles{
    display:none!important;
}
.fg-hero-static-bg .fg-container{
    width:100%!important;
    max-width:1280px!important;
}
.fg-hero-static-bg .fg-hero-inner{
    min-height:100vh!important;
    display:grid!important;
    grid-template-columns:minmax(0,520px) minmax(0,1fr)!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:clamp(32px,5vw,88px)!important;
    width:100%!important;
}
.fg-hero-static-bg .fg-hero-content{
    max-width:520px!important;
    text-align:left!important;
    justify-self:start!important;
    padding:clamp(110px,10vh,150px) 0 clamp(70px,8vh,110px)!important;
}
.fg-hero-static-bg .fg-hero-visual{
    display:none!important;
}
.fg-hero-static-bg .fg-hero-label{
    display:inline-flex!important;
    align-items:center!important;
    width:auto!important;
    color:#fff!important;
    background:rgba(255,255,255,.14)!important;
    border:1px solid rgba(255,255,255,.26)!important;
    box-shadow:0 14px 34px rgba(0,0,0,.12)!important;
    backdrop-filter:blur(10px)!important;
}
.fg-hero-static-bg h1{
    max-width:520px!important;
    font-size:clamp(44px,4.35vw,66px)!important;
    line-height:.92!important;
    letter-spacing:-.06em!important;
    color:#fff!important;
    text-align:left!important;
    margin:22px 0 18px!important;
    text-shadow:0 18px 44px rgba(0,0,0,.22)!important;
}
.fg-hero-static-bg h1 em{
    color:transparent!important;
    background:linear-gradient(90deg,#39a3ff 0%,#20e0b7 100%)!important;
    -webkit-background-clip:text!important;
    background-clip:text!important;
}
.fg-hero-static-bg .fg-hero-desc{
    max-width:500px!important;
    color:rgba(255,255,255,.92)!important;
    font-size:clamp(16px,1.2vw,18px)!important;
    line-height:1.62!important;
    text-align:left!important;
    text-shadow:0 10px 28px rgba(0,0,0,.22)!important;
}
.fg-hero-static-bg .fg-hero-btns{
    justify-content:flex-start!important;
    margin-top:26px!important;
}
.fg-hero-static-bg .fg-btn-primary{
    min-height:52px!important;
    padding:0 26px!important;
}
@media(max-width:900px){
    .fg-hero-static-bg{
        min-height:100vh!important;
        align-items:flex-start!important;
        background-image:linear-gradient(180deg,rgba(2,13,32,.68) 0%,rgba(2,13,32,.42) 38%,rgba(2,13,32,.08) 72%),var(--fg-hero-bg-mobile)!important;
        background-position:center center!important;
        background-size:cover!important;
    }
    .fg-hero-static-bg .fg-container{
        max-width:100%!important;
    }
    .fg-hero-static-bg .fg-hero-inner{
        min-height:100vh!important;
        display:flex!important;
        align-items:flex-start!important;
        justify-content:flex-start!important;
        padding:0 20px!important;
    }
    .fg-hero-static-bg .fg-hero-content{
        max-width:100%!important;
        width:100%!important;
        text-align:center!important;
        justify-self:center!important;
        padding:clamp(104px,15vh,150px) 0 0!important;
        margin:0 auto!important;
    }
    .fg-hero-static-bg h1,
    .fg-hero-static-bg .fg-hero-desc{
        text-align:center!important;
        margin-left:auto!important;
        margin-right:auto!important;
    }
    .fg-hero-static-bg h1{
        font-size:clamp(40px,12vw,58px)!important;
        max-width:360px!important;
    }
    .fg-hero-static-bg .fg-hero-desc{
        max-width:340px!important;
        font-size:16px!important;
        line-height:1.55!important;
    }
    .fg-hero-static-bg .fg-hero-btns{
        justify-content:center!important;
    }
}

/* v4.5.6: remove colored image well around product images on catalog/archive cards. */
.fg-catalog-grid .fg-product-card-image-wrap,
.fg-products-home .fg-product-card-image-wrap,
.woocommerce-shop .fg-product-card-image-wrap,
.tax-product_cat .fg-product-card-image-wrap,
.post-type-archive-product .fg-product-card-image-wrap {
  padding: 16px 16px 0 !important;
}
.fg-catalog-grid .fg-product-card-image,
.fg-products-home .fg-product-card-image,
.woocommerce-shop .fg-product-card-image,
.tax-product_cat .fg-product-card-image,
.post-type-archive-product .fg-product-card-image {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  border-radius: 20px !important;
  overflow: hidden !important;
}
.fg-catalog-grid .fg-product-card-image img,
.fg-products-home .fg-product-card-image img,
.woocommerce-shop .fg-product-card-image img,
.tax-product_cat .fg-product-card-image img,
.post-type-archive-product .fg-product-card-image img {
  display: block !important;
  margin: auto !important;
  border-radius: 18px !important;
  object-fit: contain !important;
  object-position: center center !important;
}
@media (max-width: 767px) {
  .fg-catalog-grid .fg-product-card-image-wrap,
  .fg-products-home .fg-product-card-image-wrap,
  .woocommerce-shop .fg-product-card-image-wrap,
  .tax-product_cat .fg-product-card-image-wrap,
  .post-type-archive-product .fg-product-card-image-wrap {
    padding: 8px 8px 0 !important;
  }
}


/* v4.5.7: remove product card image container padding and make images fill the visual area. */
.fg-product-card .fg-product-card-image-wrap,
.fg-catalog-grid .fg-product-card-image-wrap,
.fg-products-home .fg-product-card-image-wrap,
.fg-home-product-grid .fg-product-card-image-wrap,
.woocommerce-shop .fg-product-card-image-wrap,
.tax-product_cat .fg-product-card-image-wrap,
.post-type-archive-product .fg-product-card-image-wrap {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  line-height: 0 !important;
}
.fg-product-card .fg-product-card-image,
.fg-catalog-grid .fg-product-card-image,
.fg-products-home .fg-product-card-image,
.fg-home-product-grid .fg-product-card-image,
.woocommerce-shop .fg-product-card-image,
.tax-product_cat .fg-product-card-image,
.post-type-archive-product .fg-product-card-image {
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border-radius: 24px 24px 0 0 !important;
  overflow: hidden !important;
}
.fg-product-card .fg-product-card-image img,
.fg-catalog-grid .fg-product-card-image img,
.fg-products-home .fg-product-card-image img,
.fg-home-product-grid .fg-product-card-image img,
.woocommerce-shop .fg-product-card-image img,
.tax-product_cat .fg-product-card-image img,
.post-type-archive-product .fg-product-card-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  border-radius: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
}
@media (max-width: 767px) {
  .fg-product-card .fg-product-card-image-wrap,
  .fg-catalog-grid .fg-product-card-image-wrap,
  .fg-products-home .fg-product-card-image-wrap,
  .fg-home-product-grid .fg-product-card-image-wrap,
  .woocommerce-shop .fg-product-card-image-wrap,
  .tax-product_cat .fg-product-card-image-wrap,
  .post-type-archive-product .fg-product-card-image-wrap {
    padding: 0 !important;
  }
  .fg-product-card .fg-product-card-image,
  .fg-catalog-grid .fg-product-card-image,
  .fg-products-home .fg-product-card-image,
  .fg-home-product-grid .fg-product-card-image,
  .woocommerce-shop .fg-product-card-image,
  .tax-product_cat .fg-product-card-image,
  .post-type-archive-product .fg-product-card-image {
    border-radius: 20px 20px 0 0 !important;
  }
}

/* v4.5.8: add 20px radius directly to product card images on home/catalog/archive grids. */
.fg-product-card .fg-product-card-image,
.fg-catalog-grid .fg-product-card-image,
.fg-products-home .fg-product-card-image,
.fg-home-product-grid .fg-product-card-image,
.woocommerce-shop .fg-product-card-image,
.tax-product_cat .fg-product-card-image,
.post-type-archive-product .fg-product-card-image,
.fg-product-card .fg-product-card-image img,
.fg-catalog-grid .fg-product-card-image img,
.fg-products-home .fg-product-card-image img,
.fg-home-product-grid .fg-product-card-image img,
.woocommerce-shop .fg-product-card-image img,
.tax-product_cat .fg-product-card-image img,
.post-type-archive-product .fg-product-card-image img {
  border-radius: 20px !important;
}

/* FG v4.5.9: direct homepage product image radius override */
.home .fg-home-product-grid .fg-product-card-image img {
    border-radius: 20px !important;
}

/* =========================================================
   FG v4.7.2 Shop page reference alignment
   ========================================================= */
.fg-shop-modern .fg-shop-header-centered {
  text-align: center !important;
  max-width: 900px !important;
  margin: 0 auto clamp(34px, 5vw, 56px) !important;
}
.fg-shop-modern .fg-shop-header-centered .fg-label {
  justify-content: center !important;
  display: inline-flex !important;
  margin-bottom: 16px !important;
}
.fg-shop-modern .fg-shop-header-centered h1 {
  font-family: Georgia, 'Times New Roman', serif !important;
  text-transform: uppercase !important;
  letter-spacing: .025em !important;
  font-weight: 500 !important;
  font-size: clamp(42px, 5.3vw, 76px) !important;
  line-height: 1 !important;
  margin: 0 0 18px !important;
  color: #05070c !important;
}
.fg-shop-modern .fg-shop-header-centered p {
  color: #0b1220 !important;
  font-size: clamp(16px, 1.45vw, 19px) !important;
  line-height: 1.55 !important;
  margin: 0 auto !important;
  max-width: 680px !important;
}
.fg-shop-modern .fg-catalog-panel {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
}
.fg-shop-modern .fg-catalog-tools {
  max-width: 1040px !important;
  margin: 0 auto clamp(28px, 3.5vw, 42px) !important;
}
.fg-shop-modern .fg-catalog-grid.fg-products-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(24px, 3vw, 36px) !important;
  align-items: stretch !important;
}
.fg-shop-modern .fg-shop-product-card-wrap {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}
.fg-shop-modern .fg-shop-product-card-wrap .fg-product-card {
  flex: 1 1 auto !important;
}
.fg-shop-modern .fg-shop-card-add {
  width: 100% !important;
  justify-content: center !important;
  margin-top: 14px !important;
  min-height: 46px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  box-shadow: 0 14px 28px rgba(11,99,246,.16) !important;
}
.fg-shop-modern .fg-product-card-price,
.fg-shop-modern .fg-product-card-price * {
  color: #05070c !important;
}
.fg-shop-trusted {
  text-align: center !important;
  padding: clamp(62px, 8vw, 104px) 0 clamp(44px, 6vw, 76px) !important;
}
.fg-shop-trusted h2 {
  max-width: 540px !important;
  margin: 0 auto 28px !important;
  font-family: var(--fg-font-body) !important;
  font-size: clamp(18px, 1.6vw, 24px) !important;
  line-height: 1.35 !important;
  letter-spacing: -.02em !important;
  font-weight: 800 !important;
  color: #05070c !important;
}
.fg-shop-trusted-logos {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: clamp(24px, 4vw, 54px) !important;
}
.fg-shop-trusted-logo-img {
  display: block !important;
  width: auto !important;
  max-width: 156px !important;
  max-height: 44px !important;
  height: auto !important;
  object-fit: contain !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
.fg-wholesale-reference {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: clamp(54px, 8vw, 104px) 20px clamp(56px, 8vw, 98px) !important;
  margin: 0 auto !important;
  max-width: 880px !important;
  gap: 0 !important;
}
.fg-wholesale-reference h3 {
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: clamp(46px, 5.5vw, 76px) !important;
  line-height: .94 !important;
  letter-spacing: -.03em !important;
  font-weight: 500 !important;
  color: #05070c !important;
  max-width: 640px !important;
  margin: 0 auto 28px !important;
}
.fg-wholesale-reference p {
  color: #0b1220 !important;
  font-size: clamp(16px, 1.35vw, 19px) !important;
  line-height: 1.55 !important;
  margin: 0 auto 30px !important;
  max-width: 720px !important;
}
.fg-wholesale-reference .fg-btn {
  min-width: 132px !important;
  justify-content: center !important;
  padding: 13px 26px !important;
}
.fg-shop-modern .fg-ruo-box {
  margin-top: 0 !important;
}
@media (max-width: 1180px) {
  .fg-shop-modern .fg-catalog-grid.fg-products-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 820px) {
  .fg-shop-modern .fg-catalog-grid.fg-products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }
  .fg-shop-modern .fg-catalog-tools {
    grid-template-columns: 1fr !important;
  }
  .fg-shop-trusted {
    padding: 48px 0 34px !important;
  }
  .fg-shop-trusted-logos {
    gap: 20px 28px !important;
  }
  .fg-shop-trusted-logo-img {
    max-width: 128px !important;
    max-height: 38px !important;
  }
}
@media (max-width: 520px) {
  .fg-shop-modern .fg-shop-header-centered h1 {
    font-size: clamp(34px, 12vw, 48px) !important;
  }
  .fg-shop-modern .fg-catalog-grid.fg-products-grid {
    grid-template-columns: 1fr !important;
  }
  .fg-wholesale-reference h3 {
    font-size: clamp(38px, 13vw, 54px) !important;
  }
}


/* =========================================================
   v4.7.3 Shop mobile image + bottom spacing fixes
   ========================================================= */
@media (max-width: 767px) {
  .woocommerce-shop .fg-shop-modern .fg-product-card-image-wrap,
  .post-type-archive-product .fg-shop-modern .fg-product-card-image-wrap,
  .tax-product_cat .fg-shop-modern .fg-product-card-image-wrap,
  .fg-shop-modern .fg-catalog-grid .fg-product-card-image-wrap {
    line-height: normal !important;
    overflow: visible !important;
    border-radius: 20px !important;
  }

  .woocommerce-shop .fg-shop-modern .fg-product-card-image,
  .post-type-archive-product .fg-shop-modern .fg-product-card-image,
  .tax-product_cat .fg-shop-modern .fg-product-card-image,
  .fg-shop-modern .fg-catalog-grid .fg-product-card-image {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    display: block !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 20px !important;
  }

  .woocommerce-shop .fg-shop-modern .fg-product-card-image img,
  .post-type-archive-product .fg-shop-modern .fg-product-card-image img,
  .tax-product_cat .fg-shop-modern .fg-product-card-image img,
  .fg-shop-modern .fg-catalog-grid .fg-product-card-image img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    border-radius: 20px !important;
  }
}

.fg-catalog-section.fg-catalog-archive.fg-shop-modern {
  padding-bottom: 10px !important;
}

.fg-catalog-section.fg-catalog-archive.fg-shop-modern .fg-catalog-container > .fg-ruo-box {
  margin: clamp(22px, 3vw, 36px) auto 0 !important;
}

@media (max-width: 767px) {
  .fg-catalog-section.fg-catalog-archive.fg-shop-modern {
    padding-bottom: 10px !important;
  }
  .fg-catalog-section.fg-catalog-archive.fg-shop-modern .fg-catalog-container > .fg-ruo-box {
    margin: 24px auto 0 !important;
  }
}


/* =========================================================
   v4.7.4 Mobile shop two-column grid
   ========================================================= */
@media (max-width: 767px) {
  body.woocommerce-shop .fg-shop-modern .fg-catalog-grid.fg-products-grid,
  body.post-type-archive-product .fg-shop-modern .fg-catalog-grid.fg-products-grid,
  body.tax-product_cat .fg-shop-modern .fg-catalog-grid.fg-products-grid,
  .fg-shop-modern .fg-catalog-grid.fg-products-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    align-items: start !important;
  }

  body.woocommerce-shop .fg-shop-modern .fg-catalog-grid.fg-products-grid > *,
  body.post-type-archive-product .fg-shop-modern .fg-catalog-grid.fg-products-grid > *,
  body.tax-product_cat .fg-shop-modern .fg-catalog-grid.fg-products-grid > *,
  .fg-shop-modern .fg-catalog-grid.fg-products-grid > *,
  .fg-shop-modern .fg-shop-product-card-wrap,
  .fg-shop-modern .fg-shop-product-card-wrap .fg-product-card {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .fg-shop-modern .fg-catalog-grid .fg-product-card-image,
  .fg-shop-modern .fg-catalog-grid .fg-product-card-image-wrap {
    width: 100% !important;
  }

  .fg-shop-modern .fg-catalog-grid .fg-product-card-image img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }

  .fg-shop-modern .fg-catalog-grid .fg-product-card-info {
    padding: 12px 10px 14px !important;
  }

  .fg-shop-modern .fg-catalog-grid .fg-product-card-cat {
    font-size: 9px !important;
    letter-spacing: .11em !important;
    gap: 5px !important;
    margin-bottom: 6px !important;
  }

  .fg-shop-modern .fg-catalog-grid .fg-product-card-name {
    font-size: 13px !important;
    line-height: 1.22 !important;
    margin-bottom: 4px !important;
  }

  .fg-shop-modern .fg-catalog-grid .fg-product-card-price {
    font-size: 13px !important;
    line-height: 1.2 !important;
  }

  .fg-shop-modern .fg-shop-card-add {
    min-height: 40px !important;
    padding: 10px 8px !important;
    font-size: 11px !important;
    border-radius: 14px !important;
    margin-top: 10px !important;
  }
}

@media (max-width: 360px) {
  body.woocommerce-shop .fg-shop-modern .fg-catalog-grid.fg-products-grid,
  body.post-type-archive-product .fg-shop-modern .fg-catalog-grid.fg-products-grid,
  body.tax-product_cat .fg-shop-modern .fg-catalog-grid.fg-products-grid,
  .fg-shop-modern .fg-catalog-grid.fg-products-grid {
    gap: 10px !important;
  }
}

/* =========================================================
   v4.7.5 Single Product Page Figma-aligned polish pass
   ========================================================= */
.single-product .fg-single-product{
  padding-top:clamp(22px,3vw,44px)!important;
  padding-bottom:24px!important;
}
.single-product .fg-breadcrumbs{
  max-width:1180px!important;
  margin:0 auto clamp(18px,2vw,28px)!important;
  padding:0 clamp(14px,2vw,24px)!important;
  font-size:12px!important;
  letter-spacing:.01em!important;
}
.single-product .fg-product-top{
  max-width:1180px!important;
  margin:0 auto clamp(56px,6vw,96px)!important;
  padding:0 clamp(14px,2vw,24px)!important;
  display:grid!important;
  grid-template-columns:minmax(0,0.92fr) minmax(380px,0.82fr)!important;
  gap:clamp(34px,5vw,72px)!important;
  align-items:start!important;
}
.single-product .fg-product-details{
  min-width:0!important;
  padding-top:clamp(8px,1vw,16px)!important;
}
.single-product .fg-product-details-header .fg-label,
.single-product .fg-product-mobile-intro .fg-label{
  color:#0b63f6!important;
  font-size:11px!important;
  line-height:1!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  font-weight:900!important;
  margin-bottom:12px!important;
}
.single-product .fg-product-title{
  font-family:var(--fg-font-display)!important;
  font-size:clamp(40px,4.5vw,70px)!important;
  line-height:.93!important;
  letter-spacing:-.065em!important;
  color:#0a1222!important;
  margin:0 0 14px!important;
  max-width:780px!important;
}
.single-product .fg-product-price-top{
  display:flex!important;
  align-items:baseline!important;
  gap:10px!important;
  margin:0 0 16px!important;
  color:#0a1222!important;
  font-weight:900!important;
  font-size:clamp(24px,2.2vw,34px)!important;
  letter-spacing:-.035em!important;
}
.single-product .fg-product-price-top .amount,
.single-product .fg-product-price-top ins,
.single-product .fg-product-price-top bdi{
  color:#0a1222!important;
  font-weight:900!important;
  text-decoration:none!important;
}
.single-product .fg-product-price-top del{
  color:#8994a7!important;
  font-size:.72em!important;
  font-weight:800!important;
  opacity:1!important;
}
.single-product .fg-product-desktop-short-description{
  display:block!important;
  max-width:640px!important;
  margin:0 0 20px!important;
  color:#314057!important;
  font-size:clamp(16px,1.2vw,18px)!important;
  line-height:1.62!important;
  font-weight:500!important;
}
.single-product .fg-product-desktop-short-description p{margin:0 0 10px!important;}
.single-product .fg-product-details > .fg-product-badges{
  display:none!important;
}
.single-product .fg-product-ruo{
  background:#f5f9ff!important;
  border:1px solid rgba(11,99,246,.14)!important;
  color:#35506e!important;
  padding:8px 14px!important;
  border-radius:999px!important;
  margin:0 0 20px!important;
  box-shadow:0 8px 24px rgba(10,50,88,.04)!important;
}
.single-product .fg-product-identity-meta{
  display:grid!important;
  gap:8px!important;
  margin:0 0 18px!important;
  max-width:680px!important;
}
.single-product .fg-product-identity-row{
  display:flex!important;
  gap:10px!important;
  align-items:baseline!important;
  color:#5e6b7f!important;
  font-size:14px!important;
  line-height:1.45!important;
}
.single-product .fg-product-identity-row span{
  font-weight:800!important;
  color:#26364e!important;
}
.single-product .fg-product-identity-row strong{
  color:#0b63f6!important;
  font-weight:900!important;
}
.single-product .fg-product-meta{
  display:flex!important;
  gap:clamp(14px,2vw,28px)!important;
  flex-wrap:wrap!important;
  margin:0 0 24px!important;
  color:#5a6678!important;
  font-family:var(--fg-font-body)!important;
  font-size:clamp(15px,1.1vw,18px)!important;
  line-height:1.35!important;
}
.single-product .fg-product-meta span{white-space:nowrap!important;}
.single-product .fg-product-meta strong{
  color:#0b63f6!important;
  font-weight:900!important;
}
.single-product .fg-product-gallery{
  position:sticky!important;
  top:92px!important;
  min-width:0!important;
}
.single-product .fg-product-main-img{
  border-radius:30px!important;
  border:1px solid rgba(11,99,246,.12)!important;
  background:linear-gradient(145deg,#f6fbff 0%,#edf6ff 100%)!important;
  padding:clamp(16px,2.2vw,34px)!important;
  min-height:clamp(360px,36vw,540px)!important;
  box-shadow:0 28px 80px rgba(10,50,88,.075)!important;
  overflow:hidden!important;
}
.single-product .fg-product-main-img img{
  width:100%!important;
  height:auto!important;
  max-height:clamp(330px,33vw,500px)!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:22px!important;
  display:block!important;
}
.single-product .fg-product-thumbnails{
  gap:10px!important;
  margin-top:14px!important;
  overflow-x:auto!important;
  -webkit-overflow-scrolling:touch!important;
  padding-bottom:2px!important;
}
.single-product .fg-thumb-btn{
  flex:0 0 auto!important;
  border:0!important;
  background:transparent!important;
  padding:0!important;
}
.single-product .fg-product-thumbnails img{
  width:58px!important;
  height:58px!important;
  padding:6px!important;
  border-radius:14px!important;
  background:#fff!important;
  border:1px solid rgba(11,99,246,.14)!important;
}
.single-product .fg-product-thumbnails img.active{
  border-color:#0b63f6!important;
  box-shadow:0 0 0 3px rgba(11,99,246,.12)!important;
}
.single-product .fg-purchase-card,
.single-product .fg-product-add-to-cart{
  margin-top:18px!important;
  margin-bottom:0!important;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)!important;
  border:1px solid rgba(11,99,246,.13)!important;
  border-radius:30px!important;
  padding:clamp(18px,2vw,26px)!important;
  box-shadow:0 22px 58px rgba(10,50,88,.075)!important;
}
.single-product .fg-product-variants{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin:0 0 18px!important;
}
.single-product .fg-variant-btn{
  min-width:86px!important;
  min-height:52px!important;
  padding:12px 22px!important;
  border:2px solid rgba(11,99,246,.2)!important;
  border-radius:18px!important;
  background:#fff!important;
  color:#0b63f6!important;
  font-size:16px!important;
  font-weight:900!important;
  box-shadow:0 8px 22px rgba(10,50,88,.035)!important;
}
.single-product .fg-variant-btn.active,
.single-product .fg-variant-btn:hover{
  color:#fff!important;
  border-color:transparent!important;
  background:linear-gradient(135deg,#0b63f6 0%,#18c6b3 100%)!important;
  box-shadow:0 14px 32px rgba(11,99,246,.22)!important;
}
.single-product .fg-add-to-cart-btn{
  min-height:62px!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,#0b63f6 0%,#18c6b3 100%)!important;
  box-shadow:0 18px 42px rgba(11,99,246,.23)!important;
  font-size:16px!important;
  letter-spacing:.01em!important;
  text-transform:uppercase!important;
}
.single-product .fg-add-to-cart-btn:hover{
  background:linear-gradient(135deg,#0757de 0%,#13b7a5 100%)!important;
}
.single-product .fg-lab-results-below-cart{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:58px!important;
  border-radius:18px!important;
  margin-top:14px!important;
  background:#fff!important;
  color:#0b63f6!important;
  border:1px solid rgba(11,99,246,.15)!important;
  box-shadow:0 14px 32px rgba(10,50,88,.055)!important;
  font-weight:900!important;
  text-transform:uppercase!important;
}
.single-product .fg-product-trust-card{
  margin-top:16px!important;
  background:rgba(255,255,255,.92)!important;
  border:1px solid rgba(11,99,246,.13)!important;
  border-radius:28px!important;
  padding:16px!important;
  box-shadow:0 18px 52px rgba(10,50,88,.06)!important;
}
.single-product .fg-product-trust-after-cart{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
.single-product .fg-product-trust-after-cart .fg-trust-mini-item{
  min-height:82px!important;
  padding:14px!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#fff 0%,#f8fbff 100%)!important;
  border:1px solid rgba(11,99,246,.12)!important;
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr)!important;
}
.single-product .fg-product-trust-after-cart .fg-trust-mini-icon{
  width:44px!important;
  height:44px!important;
  border-radius:15px!important;
  background:#f1f7ff!important;
}
.single-product .fg-product-trust-after-cart .fg-trust-mini-copy strong{
  font-size:15px!important;
  line-height:1.12!important;
  color:#111827!important;
}
.single-product .fg-product-trust-after-cart .fg-trust-mini-copy small{
  margin-top:4px!important;
  font-size:13px!important;
  line-height:1.28!important;
  color:#607083!important;
}
.single-product .fg-product-promo-banner-wrap{
  margin:22px 0 28px!important;
  max-width:680px!important;
}
.single-product .fg-product-promo-banner,
.single-product .fg-product-promo-banner-img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  border-radius:24px!important;
}
.single-product .fg-product-promo-banner{
  overflow:hidden!important;
  border:1px solid rgba(11,99,246,.13)!important;
  box-shadow:0 18px 45px rgba(10,50,88,.07)!important;
}
.single-product .fg-product-section{
  padding:clamp(26px,3vw,42px) 0!important;
  border-top:1px solid rgba(11,99,246,.12)!important;
  max-width:760px!important;
}
.single-product .fg-product-section-title{
  color:#7c8799!important;
  letter-spacing:.18em!important;
  font-size:12px!important;
  margin-bottom:14px!important;
}
.single-product .fg-product-section p,
.single-product .fg-product-description-content,
.single-product .fg-product-description-content p{
  color:#344155!important;
  font-size:clamp(16px,1.1vw,18px)!important;
  line-height:1.72!important;
}
.single-product .fg-product-main-description .fg-product-description-content > :first-child{
  margin-top:0!important;
}
.single-product .fg-product-supplies-upsell,
.single-product .fg-product-doc-panel,
.single-product .fg-product-accordion-panel,
.single-product .fg-dose-calculator,
.single-product .fg-product-reviews-panel,
.single-product .fg-product-related,
.single-product .fg-single-ruo-bottom{
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.single-product .fg-product-supplies-upsell{
  padding:clamp(56px,7vw,96px) clamp(14px,2vw,24px) clamp(36px,5vw,70px)!important;
}
.single-product .fg-product-supplies-upsell h2,
.single-product .fg-product-related h2,
.single-product .fg-product-doc-copy h2,
.single-product .fg-product-accordion-head h2,
.single-product .fg-product-reviews-head h2,
.single-product .fg-dose-calc-header h2{
  font-family:var(--fg-font-display)!important;
  color:#0a1222!important;
  letter-spacing:-.055em!important;
}
.single-product .fg-supplies-grid{
  margin-top:24px!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:clamp(16px,2vw,24px)!important;
}
.single-product .fg-supplies-grid .fg-product-card,
.single-product .fg-product-related .fg-product-card{
  border-radius:24px!important;
  box-shadow:0 18px 50px rgba(10,50,88,.06)!important;
}
.single-product .fg-product-doc-panel{
  margin-top:clamp(34px,5vw,70px)!important;
  margin-bottom:clamp(34px,5vw,70px)!important;
  padding:clamp(36px,5vw,64px)!important;
  border-radius:34px!important;
  background:linear-gradient(180deg,#f7fbff 0%,#eef7ff 100%)!important;
  border:1px solid rgba(11,99,246,.13)!important;
  box-shadow:0 26px 80px rgba(10,50,88,.07)!important;
}
.single-product .fg-product-doc-copy{
  text-align:center!important;
  max-width:720px!important;
  margin:0 auto 30px!important;
}
.single-product .fg-doc-eyebrow{
  color:#0b63f6!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  font-weight:900!important;
  font-size:12px!important;
}
.single-product .fg-product-doc-copy h2{
  font-size:clamp(36px,4.5vw,64px)!important;
  line-height:1!important;
  margin:8px 0 12px!important;
}
.single-product .fg-product-doc-visual{
  max-width:760px!important;
  margin:0 auto!important;
  border-radius:22px!important;
  overflow:hidden!important;
}
.single-product .fg-doc-bottle{
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  border-radius:16px!important;
}
.single-product .fg-product-reviews-panel,
.single-product .fg-product-accordion-panel,
.single-product .fg-dose-calculator,
.single-product .fg-product-related{
  padding-left:clamp(14px,2vw,24px)!important;
  padding-right:clamp(14px,2vw,24px)!important;
}
.single-product .fg-product-reviews-panel{
  margin-top:clamp(36px,5vw,72px)!important;
  margin-bottom:clamp(36px,5vw,72px)!important;
  padding-top:clamp(36px,5vw,62px)!important;
  padding-bottom:clamp(36px,5vw,62px)!important;
  border-radius:34px!important;
  background:rgba(255,255,255,.72)!important;
  border:1px solid rgba(11,99,246,.12)!important;
  box-shadow:0 22px 70px rgba(10,50,88,.055)!important;
}
.single-product .fg-product-reviews-head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-end!important;
  gap:24px!important;
  border-bottom:1px solid rgba(11,99,246,.12)!important;
  padding-bottom:20px!important;
  margin-bottom:24px!important;
}
.single-product .comment-respond,
.single-product #review_form_wrapper{
  border-radius:28px!important;
  background:#fff!important;
  border:1px solid rgba(11,99,246,.12)!important;
  box-shadow:0 18px 54px rgba(10,50,88,.055)!important;
  padding:clamp(20px,3vw,34px)!important;
}
.single-product .comment-form input,
.single-product .comment-form textarea{
  border-radius:18px!important;
  border:1px solid rgba(11,99,246,.13)!important;
  background:#fff!important;
  min-height:52px!important;
}
.single-product .fg-dose-calculator{
  margin-top:clamp(42px,6vw,86px)!important;
  margin-bottom:clamp(42px,6vw,86px)!important;
  border-radius:34px!important;
  box-shadow:0 24px 72px rgba(10,50,88,.065)!important;
}
.single-product .fg-product-accordion-panel{
  max-width:980px!important;
  margin-top:clamp(42px,6vw,86px)!important;
  margin-bottom:clamp(34px,5vw,70px)!important;
}
.single-product .fg-product-accordion-head{
  text-align:center!important;
  max-width:720px!important;
  margin:0 auto 24px!important;
}
.single-product .fg-product-accordion-head h2{
  font-size:clamp(34px,4vw,58px)!important;
  line-height:1!important;
}
.single-product .fg-product-accordion-list details,
.single-product .fg-product-accordion-list .fg-accordion-item{
  border-color:rgba(11,99,246,.12)!important;
}
.single-product .fg-single-ruo-bottom{
  margin-top:clamp(30px,4vw,48px)!important;
  margin-bottom:10px!important;
  padding:clamp(22px,3vw,34px)!important;
  border-radius:28px!important;
  background:rgba(255,255,255,.72)!important;
  border:1px solid rgba(11,99,246,.12)!important;
}
.single-product .fg-single-ruo-bottom .fg-ruo-box-title{
  letter-spacing:.16em!important;
  font-weight:900!important;
  color:#0a1222!important;
}
.single-product .fg-single-ruo-bottom p{
  margin:10px 0 0!important;
  color:#59677a!important;
  font-size:15px!important;
  line-height:1.7!important;
}
@media(max-width:1100px){
  .single-product .fg-product-top{
    grid-template-columns:minmax(0,1fr) minmax(330px,.82fr)!important;
    gap:34px!important;
  }
  .single-product .fg-product-trust-after-cart .fg-trust-mini-copy strong{font-size:13px!important;}
  .single-product .fg-product-trust-after-cart .fg-trust-mini-copy small{font-size:11.5px!important;}
}
@media(max-width:900px){
  .single-product .fg-single-product{padding-top:18px!important;}
  .single-product .fg-breadcrumbs{margin-bottom:14px!important;padding:0 12px!important;}
  .single-product .fg-product-mobile-intro{display:block!important;max-width:100%!important;margin:14px 0 16px!important;padding:0 12px!important;}
  .single-product .fg-product-mobile-intro .fg-product-title{
    font-size:clamp(36px,11vw,54px)!important;
    line-height:.96!important;
    letter-spacing:-.06em!important;
    margin:10px 0 12px!important;
  }
  .single-product .fg-product-mobile-intro .fg-product-identity-meta{margin-bottom:12px!important;}
  .single-product .fg-product-mobile-intro .fg-product-ruo{font-size:12px!important;}
  .single-product .fg-product-top{
    max-width:100%!important;
    padding:0 12px!important;
    display:flex!important;
    flex-direction:column!important;
    gap:18px!important;
    margin-bottom:52px!important;
  }
  .single-product .fg-product-gallery{order:-1!important;position:static!important;margin-top:0!important;width:100%!important;}
  .single-product .fg-product-details{order:1!important;width:100%!important;}
  .single-product .fg-product-details>.fg-product-details-header,
  .single-product .fg-product-details>.fg-product-ruo,
  .single-product .fg-product-details>.fg-product-badges,
  .single-product .fg-product-details>.fg-product-meta,
  .single-product .fg-product-desktop-short-description{display:none!important;}
  .single-product .fg-product-main-img{
    min-height:0!important;
    padding:12px!important;
    border-radius:26px!important;
  }
  .single-product .fg-product-main-img img{
    max-height:390px!important;
    width:100%!important;
    object-fit:contain!important;
    border-radius:20px!important;
  }
  .single-product .fg-product-thumbnails{
    justify-content:flex-start!important;
    gap:8px!important;
  }
  .single-product .fg-product-thumbnails img{
    width:52px!important;
    height:52px!important;
  }
  .single-product .fg-product-mobile-meta-wrap{
    display:block!important;
    margin:16px 0 0!important;
  }
  .single-product .fg-product-mobile-meta-wrap .fg-product-short-description{
    display:block!important;
    color:#26364e!important;
    font-size:16px!important;
    line-height:1.65!important;
    margin:0 0 14px!important;
    font-weight:600!important;
  }
  .single-product .fg-product-mobile-meta-wrap .fg-product-meta{
    display:flex!important;
    gap:10px 14px!important;
    margin:0!important;
    font-size:14px!important;
  }
  .single-product .fg-purchase-card,
  .single-product .fg-product-add-to-cart{
    margin-top:16px!important;
    padding:18px!important;
    border-radius:26px!important;
  }
  .single-product .fg-variant-btn{
    flex:1 1 calc(50% - 8px)!important;
    min-width:0!important;
    min-height:50px!important;
    font-size:15px!important;
  }
  .single-product .fg-add-to-cart-btn{min-height:60px!important;font-size:15px!important;}
  .single-product .fg-lab-results-below-cart{min-height:56px!important;}
  .single-product .fg-product-trust-card{padding:14px!important;border-radius:24px!important;}
  .single-product .fg-product-trust-after-cart{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
  .single-product .fg-product-trust-after-cart .fg-trust-mini-item{
    min-height:78px!important;
    grid-template-columns:38px minmax(0,1fr)!important;
    padding:12px!important;
  }
  .single-product .fg-product-trust-after-cart .fg-trust-mini-icon{width:38px!important;height:38px!important;}
  .single-product .fg-product-trust-after-cart .fg-trust-mini-copy strong{font-size:13px!important;}
  .single-product .fg-product-trust-after-cart .fg-trust-mini-copy small{font-size:11px!important;}
  .single-product .fg-product-promo-banner-wrap{margin:18px 0 24px!important;}
  .single-product .fg-product-section{max-width:100%!important;padding:26px 0!important;}
  .single-product .fg-product-section p,
  .single-product .fg-product-description-content,
  .single-product .fg-product-description-content p{font-size:16px!important;line-height:1.72!important;}
  .single-product .fg-supplies-grid,
  .single-product .fg-product-related .fg-products-grid{
    display:flex!important;
    overflow-x:auto!important;
    gap:14px!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    padding-bottom:10px!important;
  }
  .single-product .fg-supplies-grid .fg-product-card,
  .single-product .fg-product-related .fg-product-card{
    flex:0 0 72%!important;
    scroll-snap-align:start!important;
  }
  .single-product .fg-product-doc-panel{
    margin-left:12px!important;
    margin-right:12px!important;
    padding:26px 18px!important;
    border-radius:28px!important;
  }
  .single-product .fg-product-doc-copy h2{font-size:clamp(34px,10vw,48px)!important;}
  .single-product .fg-product-reviews-head{display:block!important;}
  .single-product .fg-product-reviews-panel,
  .single-product .fg-dose-calculator,
  .single-product .fg-product-accordion-panel,
  .single-product .fg-product-related,
  .single-product .fg-product-supplies-upsell{padding-left:12px!important;padding-right:12px!important;}
  .single-product .fg-product-reviews-panel{border-radius:28px!important;}
  .single-product .fg-dose-calculator{border-radius:28px!important;margin-left:12px!important;margin-right:12px!important;}
  .single-product .fg-single-ruo-bottom{margin-left:12px!important;margin-right:12px!important;border-radius:24px!important;}
}
@media(max-width:520px){
  .single-product .fg-product-mobile-intro .fg-product-title{font-size:clamp(34px,13vw,48px)!important;}
  .single-product .fg-product-main-img img{max-height:330px!important;}
  .single-product .fg-product-trust-after-cart .fg-trust-mini-item{
    grid-template-columns:34px minmax(0,1fr)!important;
    gap:8px!important;
    padding:10px!important;
  }
  .single-product .fg-product-trust-after-cart .fg-trust-mini-icon{width:34px!important;height:34px!important;}
  .single-product .fg-product-trust-after-cart .fg-trust-mini-copy strong{font-size:12px!important;}
  .single-product .fg-product-trust-after-cart .fg-trust-mini-copy small{font-size:10.5px!important;}
  .single-product .fg-supplies-grid .fg-product-card,
  .single-product .fg-product-related .fg-product-card{flex-basis:78%!important;}
}


/* =========================================================
   v4.7.6 Single product top: 50/50 columns + price reviews
   ========================================================= */
@media (min-width: 901px){
  .single-product .fg-product-top{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:clamp(40px,5vw,76px)!important;
  }
}
.single-product .fg-product-price-review-row{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  margin:0 0 18px!important;
}
.single-product .fg-product-price-review-row .fg-product-price-top{
  margin:0!important;
  flex:0 0 auto!important;
}
.single-product .fg-product-review-inline{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  color:#0a1222!important;
  font-size:clamp(14px,1vw,16px)!important;
  line-height:1.2!important;
  font-weight:400!important;
  white-space:nowrap!important;
}
.single-product .fg-product-review-inline::before{
  content:"";
  display:inline-block;
  width:1px;
  height:24px;
  background:rgba(10,18,34,.28);
  margin:0 4px 0 2px;
}
.single-product .fg-product-review-stars{
  color:#0a1222!important;
  font-size:clamp(15px,1.08vw,18px)!important;
  letter-spacing:.08em!important;
  font-weight:700!important;
}
.single-product .fg-product-review-text{
  color:#2f3b4f!important;
  font-weight:400!important;
}
.single-product .fg-product-desktop-short-description,
.single-product .fg-product-desktop-short-description p,
.single-product .fg-product-identity-row,
.single-product .fg-product-identity-row span,
.single-product .fg-product-identity-row strong,
.single-product .fg-product-meta,
.single-product .fg-product-meta strong,
.single-product .fg-product-ruo{
  font-weight:400!important;
}
.single-product .fg-product-identity-row strong,
.single-product .fg-product-meta strong{
  color:#0b63f6!important;
}
.single-product .fg-product-identity-row span{
  color:#26364e!important;
}
@media (max-width: 900px){
  .single-product .fg-product-price-review-row{
    gap:8px!important;
    margin-bottom:14px!important;
  }
  .single-product .fg-product-review-inline{
    width:100%!important;
    white-space:normal!important;
    font-size:13px!important;
  }
  .single-product .fg-product-review-inline::before{
    display:none!important;
  }
}


/* =========================================================
   v4.7.7 Product purchase flow, gallery, and promo sizing
   ========================================================= */
@media (min-width: 901px){
  .single-product .fg-product-top{
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    gap: clamp(40px,5vw,76px) !important;
    align-items:start !important;
  }
  .single-product .fg-product-gallery{
    max-width:none !important;
    justify-self:stretch !important;
    width:100% !important;
  }
}
.single-product .fg-product-left-purchase{
  margin-top:18px !important;
  margin-bottom:16px !important;
}
.single-product .fg-product-main-img{
  padding:0 !important;
  min-height:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:hidden !important;
  line-height:0 !important;
}
.single-product .fg-product-main-img img,
.single-product #fgMainProductImg{
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center !important;
  border-radius:28px !important;
}
.single-product .fg-product-thumbnails{
  margin-top:16px !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
}
.single-product .fg-thumb-btn.is-active img,
.single-product .fg-product-thumbnails img.active{
  border-color:#0b63f6 !important;
  box-shadow:0 0 0 3px rgba(11,99,246,.15) !important;
}
.single-product .fg-product-promo-banner-wrap{
  width:min(100%,520px) !important;
  max-width:82% !important;
  margin:20px 0 26px !important;
}
.single-product .fg-product-promo-banner-img{
  width:100% !important;
  height:auto !important;
}
.single-product .fg-product-identity-row,
.single-product .fg-product-identity-row span,
.single-product .fg-product-identity-row strong{
  font-weight:400 !important;
}
.single-product .fg-product-identity-row strong,
.single-product .fg-product-meta strong{
  font-weight:700 !important;
}
.single-product .fg-product-short-description,
.single-product .fg-product-desktop-short-description,
.single-product .fg-product-ruo,
.single-product .fg-product-meta{
  font-weight:400 !important;
}
.single-product .fg-product-review-divider{
  color:#8aa0b8 !important;
  margin:0 10px !important;
}
@media (max-width: 900px){
  .single-product .fg-product-left-purchase{
    margin-top:16px !important;
  }
  .single-product .fg-product-main-img{
    padding:0 !important;
    min-height:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }
  .single-product .fg-product-main-img img,
  .single-product #fgMainProductImg{
    max-height:none !important;
    height:auto !important;
    object-fit:cover !important;
    border-radius:22px !important;
  }
  .single-product .fg-product-promo-banner-wrap{
    width:100% !important;
    max-width:100% !important;
  }
}

/* ===========================
   CONTACT PAGE V2 - Figma aligned
   =========================== */
.fg-contact-v2 {
  background: #f1f7ff;
  color: #071225;
}
.fg-contact-v2 .fg-container {
  max-width: 1240px;
}
.fg-contact-hero {
  padding: clamp(78px, 9vw, 132px) 0 clamp(64px, 8vw, 112px);
  text-align: center;
  background: #f8fbff;
}
.fg-contact-hero h1,
.fg-contact-locations h2,
.fg-contact-faq h2,
.fg-contact-cta-mini h2 {
  font-family: var(--fg-font-heading);
  font-weight: 500;
  letter-spacing: -0.035em;
  color: #090f1f;
}
.fg-contact-hero h1 {
  font-size: clamp(48px, 6vw, 82px);
  line-height: 0.95;
  margin: 0 0 24px;
}
.fg-contact-hero p {
  max-width: 650px;
  margin: 0 auto;
  font-size: 18px;
  line-height: 1.7;
  color: #1b2a3d;
}
.fg-contact-main {
  padding: clamp(70px, 7vw, 120px) 0;
  background: #f1f7ff;
}
.fg-contact-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.15fr);
  gap: clamp(60px, 8vw, 140px);
  align-items: start;
}
.fg-contact-eyebrow {
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: #0b1629;
  margin-bottom: 20px;
}
.fg-contact-direct h2 {
  font-family: var(--fg-font-heading);
  font-size: clamp(38px, 4vw, 58px);
  line-height: 0.95;
  font-weight: 500;
  letter-spacing: -0.035em;
  margin: 0 0 28px;
  color: #090f1f;
}
.fg-contact-direct p {
  max-width: 430px;
  font-size: 17px;
  line-height: 1.75;
  margin: 0 0 36px;
  color: #142236;
}
.fg-contact-methods {
  display: grid;
  gap: 16px;
}
.fg-contact-methods a,
.fg-contact-methods span {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #0a1628;
  font-size: 15px;
  text-decoration: none;
}
.fg-contact-methods span span,
.fg-contact-methods a span {
  width: 18px;
  flex: 0 0 18px;
  color: #0b1629;
  justify-content: center;
}
.fg-contact-form-wrap {
  width: 100%;
}
.fg-contact-notice {
  padding: 14px 18px;
  margin-bottom: 18px;
  border: 1px solid rgba(35, 132, 252, 0.25);
  border-radius: 14px;
  background: #fff;
  color: #071225;
  font-weight: 700;
}
.fg-contact-form-v2 {
  display: grid;
  gap: 22px;
}
.fg-contact-form-v2 .fg-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.fg-contact-form-v2 label,
.fg-contact-persona legend {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: #17243a;
}
.fg-contact-form-v2 input[type="text"],
.fg-contact-form-v2 input[type="email"],
.fg-contact-form-v2 input[type="tel"],
.fg-contact-form-v2 select,
.fg-contact-form-v2 textarea {
  display: block;
  width: 100%;
  min-height: 46px;
  margin-top: 8px;
  padding: 12px 16px;
  border: 1px solid #d6e1f0;
  border-radius: 12px;
  background: rgba(255,255,255,0.68);
  color: #071225;
  font-size: 15px;
  font-family: var(--fg-font-body);
  box-shadow: none;
}
.fg-contact-form-v2 textarea {
  min-height: 190px;
  resize: vertical;
}
.fg-contact-form-v2 input:focus,
.fg-contact-form-v2 select:focus,
.fg-contact-form-v2 textarea:focus {
  outline: none;
  border-color: #2e79ff;
  box-shadow: 0 0 0 4px rgba(46, 121, 255, 0.1);
}
.fg-contact-persona {
  border: 0;
  padding: 0;
  margin: 0;
}
.fg-contact-persona legend {
  margin-bottom: 12px;
}
.fg-contact-persona {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 28px;
}
.fg-contact-persona label,
.fg-contact-terms {
  display: flex !important;
  align-items: center;
  gap: 10px;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #34445b !important;
}
.fg-contact-persona input,
.fg-contact-terms input {
  width: 16px;
  height: 16px;
  min-height: 0;
  margin: 0;
  accent-color: #2377ff;
}
.fg-contact-submit {
  width: fit-content;
  min-width: 104px;
  min-height: 46px;
  border: 0;
  border-radius: 999px;
  padding: 0 24px;
  background: linear-gradient(135deg, #176fff, #b9ddff);
  color: #fff;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 18px 34px rgba(46,121,255,.18);
}
.fg-contact-locations {
  padding: clamp(76px, 8vw, 130px) 0;
  background: #e9f1ff;
}
.fg-contact-locations-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(54px, 8vw, 132px);
  align-items: center;
}
.fg-contact-locations h2,
.fg-contact-faq h2 {
  font-size: clamp(36px, 4vw, 62px);
  line-height: 1;
  margin: 0 0 26px;
}
.fg-contact-section-desc,
.fg-contact-faq-head p {
  font-size: 16px;
  line-height: 1.7;
  color: #17243a;
  margin: 0 0 48px;
}
.fg-contact-office-list {
  display: grid;
  gap: 34px;
}
.fg-contact-office {
  padding-left: 26px;
  border-left: 2px solid transparent;
}
.fg-contact-office.is-active {
  border-left-color: #80a9ff;
}
.fg-contact-office h3 {
  font-family: var(--fg-font-heading);
  font-size: 28px;
  line-height: 1.05;
  font-weight: 500;
  letter-spacing: -0.02em;
  margin: 0 0 12px;
  color: #101827;
}
.fg-contact-office p {
  margin: 0 0 14px;
  color: #25354a;
  font-size: 15px;
}
.fg-contact-office a {
  font-weight: 800;
  color: #101827;
  text-decoration: none;
  font-size: 14px;
}
.fg-contact-map-card {
  min-height: 420px;
  border-radius: 14px;
  overflow: hidden;
  background: #d8d8d8;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fg-contact-map-card iframe,
.fg-contact-map-card img {
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
  border: 0;
  display: block;
}
.fg-contact-map-placeholder {
  width: 96px;
  height: 96px;
  border-radius: 14px;
  background: #c7c7c7;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 54px;
}
.fg-contact-faq {
  padding: clamp(86px, 9vw, 150px) 0 clamp(92px, 9vw, 150px);
  background: #f1f7ff;
}
.fg-contact-faq-head {
  text-align: center;
  max-width: 780px;
  margin: 0 auto clamp(56px, 6vw, 84px);
}
.fg-contact-faq-head p {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0;
}
.fg-contact-faq-list {
  max-width: 850px;
  margin: 0 auto;
  display: grid;
  gap: 34px;
}
.fg-contact-faq-list article h3 {
  font-size: 18px;
  line-height: 1.35;
  margin: 0 0 12px;
  font-weight: 900;
  color: #0a1428;
}
.fg-contact-faq-list article p {
  font-size: 16px;
  line-height: 1.72;
  color: #14233a;
  margin: 0;
}
.fg-contact-cta-mini {
  max-width: 640px;
  margin: clamp(70px, 7vw, 110px) auto 0;
  text-align: center;
}
.fg-contact-cta-mini h2 {
  font-size: clamp(28px, 3vw, 44px);
  margin: 0 0 18px;
}
.fg-contact-cta-mini p {
  font-size: 16px;
  margin: 0 0 24px;
  color: #17243a;
}
.fg-contact-cta-mini a {
  display: inline-flex;
  min-width: 108px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border: 1px solid #ced9e8;
  border-radius: 999px;
  color: #0d1726;
  text-decoration: none;
  font-weight: 700;
  background: #fff;
}
@media (max-width: 900px) {
  .fg-contact-hero { padding: 150px 0 96px; }
  .fg-contact-hero h1 { font-size: clamp(42px, 10vw, 62px); }
  .fg-contact-hero p { font-size: 15px; max-width: 320px; }
  .fg-contact-main-grid,
  .fg-contact-locations-grid { grid-template-columns: 1fr; gap: 48px; }
  .fg-contact-main { padding: 70px 0 78px; }
  .fg-contact-direct h2 { font-size: 40px; }
  .fg-contact-direct p { font-size: 15px; max-width: none; }
  .fg-contact-form-v2 .fg-form-row { grid-template-columns: 1fr 1fr; gap: 12px; }
  .fg-contact-persona { grid-template-columns: 1fr; }
  .fg-contact-locations { padding: 70px 0 76px; }
  .fg-contact-locations h2,
  .fg-contact-faq h2 { font-size: 38px; }
  .fg-contact-map-card,
  .fg-contact-map-card iframe,
  .fg-contact-map-card img { min-height: 260px; }
  .fg-contact-faq { padding: 70px 0 82px; }
  .fg-contact-faq-list { gap: 28px; }
}
@media (max-width: 520px) {
  .fg-contact-v2 .fg-container { padding-left: 22px; padding-right: 22px; }
  .fg-contact-hero { padding-top: 170px; }
  .fg-contact-main-grid { gap: 34px; }
  .fg-contact-form-v2 .fg-form-row { grid-template-columns: 1fr 1fr; }
  .fg-contact-form-v2 input[type="text"],
  .fg-contact-form-v2 input[type="email"],
  .fg-contact-form-v2 input[type="tel"],
  .fg-contact-form-v2 select { min-height: 42px; padding: 10px 12px; }
  .fg-contact-form-v2 textarea { min-height: 156px; }
  .fg-contact-office { padding-left: 18px; }
  .fg-contact-office h3 { font-size: 24px; }
}

/* Testing & Transparency FAQ spacing fix */
.fg-testing-page .fg-tt-questions,
.fg-testing-page .fg-tt-questions .fg-tt-faq-list {
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.fg-testing-page .fg-tt-faq-list details,
.fg-testing-page .fg-tt-faq-list summary,
.fg-testing-page .fg-tt-faq-list details > div {
  margin-left: 0 !important;
  padding-left: 0 !important;
}
.fg-testing-page .fg-tt-faq-list summary {
  display: flex !important;
  justify-content: space-between !important;
  gap: 24px !important;
}

/* v4.8.4 Global typography normalization
   Keep one consistent font family across all theme pages/components. */
:root {
  --fg-font-display: 'Montserrat', 'Avenir Next', 'Helvetica Neue', Arial, sans-serif !important;
  --fg-font-heading: 'Montserrat', 'Avenir Next', 'Helvetica Neue', Arial, sans-serif !important;
  --fg-font-body: 'Montserrat', 'Avenir Next', 'Helvetica Neue', Arial, sans-serif !important;
  --fg-font-mono: 'Montserrat', 'Avenir Next', 'Helvetica Neue', Arial, sans-serif !important;
}
html,
body,
button,
input,
textarea,
select,
option,
label,
legend,
table,
th,
td,
a,
p,
span,
div,
li,
blockquote,
figcaption,
.wp-block,
.woocommerce,
.woocommerce-page,
.woocommerce-page input,
.woocommerce-page textarea,
.woocommerce-page select,
.woocommerce-page button {
  font-family: var(--fg-font-body) !important;
}
h1,
h2,
h3,
h4,
h5,
h6,
.fg-heading,
.fg-section-title,
.fg-page-title,
.fg-hero-title,
.fg-home-hero h1,
.fg-product-title,
.fg-product-summary h1,
.fg-shop-title,
.fg-contact-hero h1,
.fg-testing-hero h1,
.fg-testing-page h1,
.fg-testing-page h2,
.fg-testing-page h3,
.fg-contact-page h1,
.fg-contact-page h2,
.fg-contact-page h3 {
  font-family: var(--fg-font-heading) !important;
}
.fg-label,
.fg-eyebrow,
.fg-kicker,
.fg-product-category,
.fg-bulk-section-title,
[class*="label"],
[class*="eyebrow"] {
  font-family: var(--fg-font-body) !important;
}
/* Override older serif/Georgia design fragments so typography stays unified. */
.home [style*="Georgia"],
.single-product [style*="Georgia"],
.page [style*="Georgia"],
.fg-contact-page [style*="Georgia"],
.fg-testing-page [style*="Georgia"] {
  font-family: var(--fg-font-body) !important;
}
@media (max-width: 900px) {
  body.fg-mobile-nav-open {
    overflow: hidden !important;
  }

  body.fg-mobile-nav-open #fgNavLinks {
    top: 75px !important;
}
}


/* FG v4.9.0 final feedback batch */
@media (max-width: 900px){
  body.fg-mobile-nav-open{overflow:hidden!important;touch-action:none!important;}
  body.fg-mobile-nav-open #fgNavLinks {
    top: 75px !important;
}
  body.fg-mobile-nav-open #fgNavLinks a{display:flex!important;width:100%!important;min-height:54px!important;align-items:center!important;padding:0 16px!important;margin:0 0 10px!important;border-radius:16px!important;background:rgba(255,255,255,.84)!important;color:#071426!important;}
}
.home .fg-home-hero-cta{margin-top:clamp(18px,3.8vw,34px)!important;}
@media(max-width:700px){.home .fg-home-hero-trust{margin-bottom:18px!important}.home .fg-home-hero-cta{margin-top:22px!important}}
.single-product .fg-product-supplies-upsell{padding:clamp(34px,6vw,76px) clamp(18px,3vw,34px)!important;margin-top:clamp(42px,7vw,84px)!important;margin-bottom:clamp(42px,7vw,84px)!important;overflow:hidden!important;}
.single-product .fg-supplies-grid{align-items:stretch!important;}
.single-product .fg-supplies-grid .fg-product-card{height:100%!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;}
.single-product .fg-supplies-grid .fg-product-card-image-wrap{padding:0!important;margin:0!important;}
.single-product .fg-supplies-grid .fg-product-card-image{aspect-ratio:1/1!important;height:auto!important;min-height:0!important;width:100%!important;border-radius:22px!important;overflow:hidden!important;display:block!important;}
.single-product .fg-supplies-grid .fg-product-card-image img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;border-radius:22px!important;display:block!important;}
.single-product .fg-supplies-grid .fg-product-card-info{padding:18px 18px 20px!important;display:flex!important;flex-direction:column!important;gap:9px!important;flex:1 1 auto!important;}
.single-product .fg-supplies-grid .fg-product-card-name{margin:0!important;line-height:1.15!important;}
.single-product .fg-supplies-grid .fg-product-card-price{margin-top:auto!important;color:#0b1220!important;font-weight:900!important;}
@media(max-width:900px){
  .single-product .fg-product-supplies-upsell{padding:28px 18px 34px!important;border-radius:28px!important;margin-left:12px!important;margin-right:12px!important;}
  .single-product .fg-supplies-grid{display:flex!important;overflow-x:auto!important;gap:16px!important;scroll-snap-type:x mandatory!important;padding:0 2px 16px!important;}
  .single-product .fg-supplies-grid .fg-product-card{flex:0 0 82%!important;scroll-snap-align:start!important;}
  .single-product .fg-supplies-grid .fg-product-card-image{aspect-ratio:1/1!important;}
}
@media(max-width:520px){.single-product .fg-supplies-grid .fg-product-card{flex-basis:78%!important}.single-product .fg-product-supplies-upsell h2{font-size:clamp(34px,10vw,48px)!important;}}



/* FG v4.9.1 - definitive mobile menu no-gap overlay + footer/shop fixes */
@media (max-width: 900px){
  body.fg-mobile-nav-open{
    overflow:hidden!important;
    touch-action:none!important;
  }
  body.fg-mobile-nav-open #fgNavLinks {
    top: 75px !important;
}
  body.fg-mobile-nav-open #fgNavLinks a{
    display:flex!important;
    width:100%!important;
    min-height:54px!important;
    align-items:center!important;
    padding:0 16px!important;
    margin:10px 0 0!important;
    border-radius:16px!important;
    background:rgba(255,255,255,.86)!important;
    color:#071426!important;
  }
  body.fg-mobile-nav-open #fgNavLinks a:first-child{
    margin-top:12px!important;
  }
}

/* v4.9.2 cart drawer upsell variation selector */
.fg-cart-upsell-card{
  border-radius:24px;
  align-items:center;
}
.fg-cart-upsell-info{
  flex:1;
  min-width:0;
}
.fg-cart-upsell-options{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.fg-cart-upsell-option{
  appearance:none;
  border:1px solid #d7ddeb;
  background:#fff;
  color:var(--fg-text);
  border-radius:999px;
  padding:8px 12px;
  font-size:12px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.fg-cart-upsell-option:hover,
.fg-cart-upsell-option.is-active{
  background:var(--fg-purple);
  border-color:var(--fg-purple);
  color:#fff;
  box-shadow:0 8px 20px rgba(108,92,231,.18);
  transform:translateY(-1px);
}
.fg-cart-quick-add.needs-selection{
  border-color:#f0c36d;
  background:#fff7df;
  color:#8a5a00;
}
.fg-cart-quick-add:disabled:not(.is-adding){
  cursor:not-allowed;
  opacity:.7;
}
@media(max-width:560px){
  .fg-cart-upsell-card{gap:12px;}
  .fg-cart-upsell-options{width:100%;}
  .fg-cart-upsell-option{flex:1 1 calc(33.333% - 8px);text-align:center;}
}
