/*
 Theme Name:   O-Age Astra Child
 Theme URI:    https://o-age.com
 Description:  O-Age LED Light Therapy Mask – Astra Child Theme
 Author:       O-Age
 Author URI:   https://o-age.com
 Template:     astra
 Version:      2.1.0
 License:      GNU General Public License v2 or later
 License URI:  https://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  o-age
*/

/* ═══════════════════════════════════════════════════════════
   O-AGE COMPLETE STYLES — v2.1 — LARGE & CLEAR
   ═══════════════════════════════════════════════════════════ */

:root {
  --violet-deep: #2D1B4E;
  --violet-mid: #5B3A8C;
  --violet-light: #8B6BBF;
  --violet-pale: #C4ACE8;
  --coral: #FF6B6B;
  --coral-light: #FF8E8E;
  --coral-glow: #FF4D6D;
  --cream: #FFF8F2;
  --cream-dim: #F5EDE4;
  --gold: #D4A853;
  --gold-light: #E8C97A;
  --text-dark: #1A0F2E;
  --text-mid: #4A3666;
  --text-light: #8B7BA0;
  --white: #FFFFFF;
}

/* ═══════════════════════════════════════════
   GLOBAL BODY RESET
   ═══════════════════════════════════════════ */
body.page-template-template-homepage {
  font-family: 'Outfit', sans-serif !important;
  background: var(--cream) !important;
  color: var(--text-dark) !important;
  overflow-x: hidden !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}

body.page-template-template-homepage *,
body.page-template-template-homepage *::before,
body.page-template-template-homepage *::after {
  box-sizing: border-box !important;
}

/* Hide Astra header & footer on homepage */
body.page-template-template-homepage .site-header,
body.page-template-template-homepage #ast-desktop-header,
body.page-template-template-homepage .ast-mobile-header-wrap,
body.page-template-template-homepage .site-footer,
body.page-template-template-homepage .ast-small-footer,
body.page-template-template-homepage .site-below-footer-wrap,
body.page-template-template-homepage .ast-footer-overlay {
  display: none !important;
}

body.page-template-template-homepage #page > .ast-container,
body.page-template-template-homepage .site-content .ast-container {
  max-width: 100% !important;
  padding: 0 !important;
}

body.page-template-template-homepage .entry-content {
  margin: 0 !important;
  padding: 0 !important;
}

body.page-template-template-homepage #content,
body.page-template-template-homepage .site-content {
  padding-top: 0 !important;
}

body.page-template-template-homepage .entry-header {
  display: none !important;
}

/* ═══════════════════════════════════════════
   NAVIGATION
   ═══════════════════════════════════════════ */
.oage-nav {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 99999 !important;
  padding: 1.5rem 5rem !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  transition: background 0.4s, backdrop-filter 0.4s, box-shadow 0.4s !important;
}

.oage-nav.scrolled {
  background: rgba(255, 248, 242, 0.9) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  box-shadow: 0 1px 24px rgba(45, 27, 78, 0.08) !important;
}

.oage-logo {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 2.2rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  color: var(--violet-deep) !important;
  text-decoration: none !important;
}

.oage-logo span {
  color: var(--coral) !important;
}

.oage-nav-links {
  display: flex !important;
  gap: 2.5rem !important;
  list-style: none !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

.oage-nav-links li {
  list-style: none !important;
}

.oage-nav-links a {
  text-decoration: none !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--text-mid) !important;
  transition: color 0.3s !important;
  position: relative !important;
}

.oage-nav-links a::after {
  content: '' !important;
  position: absolute !important;
  bottom: -4px !important;
  left: 0 !important;
  width: 0 !important;
  height: 2px !important;
  background: var(--coral) !important;
  transition: width 0.3s !important;
}

.oage-nav-links a:hover {
  color: var(--violet-deep) !important;
}

.oage-nav-links a:hover::after {
  width: 100% !important;
}

.oage-nav-cta {
  background: var(--violet-deep) !important;
  color: var(--white) !important;
  padding: 0.75rem 2rem !important;
  border-radius: 100px !important;
  font-size: 0.9rem !important;
  letter-spacing: 0.1em !important;
  transition: background 0.3s, transform 0.3s !important;
}

.oage-nav-cta:hover {
  background: var(--violet-mid) !important;
  transform: translateY(-1px) !important;
  color: var(--white) !important;
}

.oage-nav-cta::after {
  display: none !important;
}

.oage-menu-toggle {
  display: none !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  padding: 0.5rem !important;
}

.oage-menu-toggle span {
  display: block !important;
  width: 26px !important;
  height: 2px !important;
  background: var(--violet-deep) !important;
  margin: 6px 0 !important;
  transition: all 0.3s !important;
}

/* ═══════════════════════════════════════════
   HERO SECTION
   ═══════════════════════════════════════════ */
.oage-hero {
  min-height: 100vh !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  align-items: center !important;
  padding: 9rem 6rem 6rem !important;
  position: relative !important;
  overflow: hidden !important;
  gap: 2rem !important;
}

.oage-hero::before {
  content: '' !important;
  position: absolute !important;
  top: -30% !important;
  right: -15% !important;
  width: 70vw !important;
  height: 70vw !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(139, 107, 191, 0.12) 0%, rgba(196, 172, 232, 0.05) 50%, transparent 70%) !important;
  pointer-events: none !important;
  animation: oageHeroOrb 18s ease-in-out infinite !important;
}

.oage-hero::after {
  content: '' !important;
  position: absolute !important;
  bottom: -20% !important;
  left: -10% !important;
  width: 50vw !important;
  height: 50vw !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(255, 107, 107, 0.08) 0%, transparent 60%) !important;
  pointer-events: none !important;
  animation: oageHeroOrb 22s ease-in-out infinite reverse !important;
}

@keyframes oageHeroOrb {
  0%, 100% { transform: translate(0, 0) scale(1); }
  33% { transform: translate(3%, 5%) scale(1.05); }
  66% { transform: translate(-2%, -3%) scale(0.97); }
}

.oage-hero-content {
  position: relative !important;
  z-index: 2 !important;
  max-width: 640px !important;
}

.oage-hero-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.6rem !important;
  background: rgba(91, 58, 140, 0.08) !important;
  border: 1px solid rgba(91, 58, 140, 0.12) !important;
  padding: 0.55rem 1.3rem !important;
  border-radius: 100px !important;
  font-size: 0.88rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--violet-mid) !important;
  margin-bottom: 2rem !important;
  animation: oageFadeUp 0.8s ease-out both !important;
}

.oage-hero-tag .dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: var(--coral) !important;
  animation: oagePulse 2s ease-in-out infinite !important;
}

@keyframes oagePulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(1.4); }
}

.oage-hero h1 {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 5rem !important;
  font-weight: 300 !important;
  line-height: 1.05 !important;
  color: var(--text-dark) !important;
  margin-bottom: 2rem !important;
  animation: oageFadeUp 0.8s ease-out 0.15s both !important;
  letter-spacing: -0.01em !important;
}

.oage-hero h1 em {
  font-style: italic !important;
  color: var(--violet-mid) !important;
}

.oage-hero h1 .coral {
  color: var(--coral) !important;
  font-weight: 400 !important;
}

.oage-hero-desc {
  font-size: 1.25rem !important;
  font-weight: 300 !important;
  line-height: 1.8 !important;
  color: var(--text-light) !important;
  margin-bottom: 2.75rem !important;
  max-width: 520px !important;
  animation: oageFadeUp 0.8s ease-out 0.3s both !important;
}

.oage-hero-actions {
  display: flex !important;
  gap: 1.25rem !important;
  align-items: center !important;
  margin-bottom: 3.5rem !important;
  animation: oageFadeUp 0.8s ease-out 0.45s both !important;
}

/* ─── BUTTONS ─── */
.oage-btn-primary {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.7rem !important;
  background: var(--coral) !important;
  color: var(--white) !important;
  padding: 1.15rem 2.75rem !important;
  border-radius: 100px !important;
  text-decoration: none !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  transition: all 0.35s !important;
  box-shadow: 0 4px 24px rgba(255, 107, 107, 0.25) !important;
  border: none !important;
  cursor: pointer !important;
}

.oage-btn-primary:hover {
  background: var(--coral-glow) !important;
  color: var(--white) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 32px rgba(255, 107, 107, 0.35) !important;
  text-decoration: none !important;
}

.oage-btn-primary svg {
  width: 20px !important;
  height: 20px !important;
  transition: transform 0.3s !important;
}

.oage-btn-primary:hover svg {
  transform: translateX(3px) !important;
}

.oage-btn-secondary {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  color: var(--text-mid) !important;
  text-decoration: none !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  transition: color 0.3s !important;
}

.oage-btn-secondary:hover {
  color: var(--violet-deep) !important;
  text-decoration: none !important;
}

/* ─── HERO STATS ─── */
.oage-hero-stats {
  display: flex !important;
  gap: 3.5rem !important;
  animation: oageFadeUp 0.8s ease-out 0.6s both !important;
}

.oage-stat {
  position: relative !important;
}

.oage-stat::after {
  content: '' !important;
  position: absolute !important;
  right: -1.75rem !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 1px !important;
  height: 44px !important;
  background: rgba(45, 27, 78, 0.1) !important;
}

.oage-stat:last-child::after {
  display: none !important;
}

.oage-stat-val {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 2.8rem !important;
  font-weight: 500 !important;
  color: var(--violet-deep) !important;
  line-height: 1.1 !important;
}

.oage-stat-label {
  font-size: 0.85rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--text-light) !important;
  margin-top: 0.3rem !important;
}

/* ─── HERO VISUAL / IMAGE ─── */
.oage-hero-visual {
  position: relative !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  z-index: 2 !important;
  animation: oageFadeUp 1s ease-out 0.3s both !important;
}

.oage-mask-showcase {
  position: relative !important;
  width: 600px !important;
  height: 640px !important;
}

.oage-mask-glow {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 450px !important;
  height: 450px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(255, 107, 107, 0.15) 0%, rgba(139, 107, 191, 0.08) 50%, transparent 70%) !important;
  animation: oageGlowPulse 4s ease-in-out infinite !important;
}

@keyframes oageGlowPulse {
  0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.8; }
  50% { transform: translate(-50%, -50%) scale(1.12); opacity: 1; }
}

.oage-mask-img-wrap {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 500px !important;
  height: 540px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.oage-mask-img-wrap img {
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 20px 50px rgba(45, 27, 78, 0.15)) !important;
}

.oage-mask-placeholder {
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(160deg, var(--cream-dim) 0%, rgba(196, 172, 232, 0.15) 100%) !important;
  border-radius: 48% 52% 55% 45% / 50% 45% 55% 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow: 0 20px 80px rgba(45, 27, 78, 0.08), inset 0 0 60px rgba(255, 255, 255, 0.4) !important;
}

.oage-mask-placeholder::before {
  content: '' !important;
  position: absolute !important;
  top: -20% !important;
  left: -20% !important;
  width: 140% !important;
  height: 140% !important;
  background: conic-gradient(from 0deg, transparent 0%, rgba(255, 107, 107, 0.06) 25%, transparent 50%, rgba(139, 107, 191, 0.06) 75%, transparent 100%) !important;
  animation: oageRotate 12s linear infinite !important;
}

@keyframes oageRotate {
  to { transform: rotate(360deg); }
}

.oage-mask-placeholder .placeholder-text {
  position: relative !important;
  z-index: 2 !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--text-light) !important;
  text-align: center !important;
  padding: 1.5rem !important;
}

/* Floating badges */
.oage-float-badge {
  position: absolute !important;
  background: var(--white) !important;
  border-radius: 20px !important;
  padding: 1rem 1.35rem !important;
  box-shadow: 0 6px 28px rgba(45, 27, 78, 0.1) !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  z-index: 5 !important;
}

.oage-float-badge .badge-icon {
  width: 46px !important;
  height: 46px !important;
  border-radius: 13px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.3rem !important;
}

.oage-float-badge .badge-text {
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  color: var(--text-dark) !important;
  line-height: 1.3 !important;
}

.oage-float-badge .badge-sub {
  font-size: 0.75rem !important;
  font-weight: 300 !important;
  color: var(--text-light) !important;
}

.oage-badge-weight {
  top: 8% !important;
  right: 2% !important;
  animation: oageFloat 6s ease-in-out infinite !important;
}

.oage-badge-weight .badge-icon {
  background: rgba(255, 107, 107, 0.1) !important;
}

.oage-badge-waterproof {
  bottom: 18% !important;
  left: 0% !important;
  animation: oageFloat 6s ease-in-out 1.5s infinite !important;
}

.oage-badge-waterproof .badge-icon {
  background: rgba(91, 58, 140, 0.1) !important;
}

.oage-badge-light {
  bottom: 5% !important;
  right: 8% !important;
  animation: oageFloat 6s ease-in-out 3s infinite !important;
}

.oage-badge-light .badge-icon {
  background: rgba(212, 168, 83, 0.12) !important;
}

@keyframes oageFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

@keyframes oageFadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ═══════════════════════════════════════════
   FEATURES STRIP
   ═══════════════════════════════════════════ */
.oage-features-strip {
  background: var(--violet-deep) !important;
  padding: 5.5rem 6rem !important;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 3rem !important;
  position: relative !important;
  overflow: hidden !important;
}

.oage-features-strip::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: radial-gradient(ellipse at 30% 50%, rgba(139, 107, 191, 0.15) 0%, transparent 60%), radial-gradient(ellipse at 80% 50%, rgba(255, 107, 107, 0.08) 0%, transparent 50%) !important;
  pointer-events: none !important;
}

.oage-feature-item {
  text-align: center !important;
  position: relative !important;
  z-index: 2 !important;
  padding: 2rem 1.25rem !important;
}

.oage-feature-icon {
  width: 68px !important;
  height: 68px !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 1.5rem !important;
  font-size: 1.8rem !important;
  transition: all 0.35s !important;
}

.oage-feature-item:hover .oage-feature-icon {
  background: rgba(255, 107, 107, 0.15) !important;
  border-color: rgba(255, 107, 107, 0.2) !important;
  transform: translateY(-3px) !important;
}

.oage-feature-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.5rem !important;
  font-weight: 400 !important;
  color: var(--white) !important;
  margin-bottom: 0.75rem !important;
}

.oage-feature-desc {
  font-size: 1rem !important;
  font-weight: 300 !important;
  line-height: 1.7 !important;
  color: rgba(255, 255, 255, 0.55) !important;
}

/* ═══════════════════════════════════════════
   PRODUCT SECTION
   ═══════════════════════════════════════════ */
.oage-product-section {
  padding: 8rem 6rem !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 5rem !important;
  align-items: center !important;
  max-width: 1440px !important;
  margin: 0 auto !important;
}

.oage-product-card {
  background: linear-gradient(145deg, var(--white) 0%, var(--cream-dim) 100%) !important;
  border-radius: 36px !important;
  padding: 3.5rem !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow: 0 12px 48px rgba(45, 27, 78, 0.06) !important;
}

.oage-product-card::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(135deg, transparent 40%, rgba(255, 107, 107, 0.04) 100%) !important;
  pointer-events: none !important;
}

.oage-light-modes {
  display: flex !important;
  gap: 1rem !important;
  margin-bottom: 2.5rem !important;
  position: relative !important;
  z-index: 2 !important;
}

.oage-light-mode {
  flex: 1 !important;
  padding: 1.25rem 1rem !important;
  border-radius: 20px !important;
  text-align: center !important;
  border: 1.5px solid transparent !important;
  cursor: pointer !important;
  transition: all 0.3s !important;
  background: rgba(255, 255, 255, 0.6) !important;
}

.oage-light-mode:hover {
  transform: translateY(-2px) !important;
}

.oage-light-mode.active-red {
  border-color: rgba(255, 107, 107, 0.3) !important;
  background: rgba(255, 107, 107, 0.06) !important;
}

.oage-light-mode.active-blue {
  border-color: rgba(100, 149, 237, 0.3) !important;
  background: rgba(100, 149, 237, 0.06) !important;
}

.oage-light-mode.active-yellow {
  border-color: rgba(212, 168, 83, 0.3) !important;
  background: rgba(212, 168, 83, 0.06) !important;
}

.oage-mode-dot {
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  margin: 0 auto 0.65rem !important;
}

.oage-mode-dot.red {
  background: linear-gradient(135deg, #FF6B6B, #FF4D6D) !important;
  box-shadow: 0 3px 18px rgba(255, 107, 107, 0.4) !important;
}

.oage-mode-dot.blue {
  background: linear-gradient(135deg, #6495ED, #4169E1) !important;
  box-shadow: 0 3px 18px rgba(100, 149, 237, 0.4) !important;
}

.oage-mode-dot.yellow {
  background: linear-gradient(135deg, #E8C97A, #D4A853) !important;
  box-shadow: 0 3px 18px rgba(212, 168, 83, 0.4) !important;
}

.oage-mode-name {
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--text-mid) !important;
  margin-bottom: 0.25rem !important;
}

.oage-mode-wave {
  font-size: 0.75rem !important;
  font-weight: 300 !important;
  color: var(--text-light) !important;
}

.oage-product-image-area {
  height: 380px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  z-index: 2 !important;
}

.oage-product-image-area img {
  max-height: 360px !important;
  width: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 12px 32px rgba(45, 27, 78, 0.1)) !important;
}

/* Product details */
.oage-product-details {
  position: relative !important;
  z-index: 2 !important;
}

.oage-product-tag {
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--coral) !important;
  margin-bottom: 1rem !important;
}

.oage-product-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 3.4rem !important;
  font-weight: 300 !important;
  line-height: 1.12 !important;
  color: var(--text-dark) !important;
  margin-bottom: 1.75rem !important;
}

.oage-product-title strong {
  font-weight: 500 !important;
  color: var(--violet-mid) !important;
}

.oage-product-desc {
  font-size: 1.15rem !important;
  font-weight: 300 !important;
  line-height: 1.85 !important;
  color: var(--text-light) !important;
  margin-bottom: 2.75rem !important;
  max-width: 500px !important;
}

.oage-benefits-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 1.25rem !important;
  margin-bottom: 3rem !important;
}

.oage-benefit {
  display: flex !important;
  align-items: flex-start !important;
  gap: 0.75rem !important;
  padding: 0.85rem !important;
  border-radius: 14px !important;
  transition: background 0.3s !important;
}

.oage-benefit:hover {
  background: rgba(91, 58, 140, 0.04) !important;
}

.oage-benefit-check {
  width: 26px !important;
  height: 26px !important;
  min-width: 26px !important;
  border-radius: 8px !important;
  background: rgba(255, 107, 107, 0.1) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 2px !important;
}

.oage-benefit-check svg {
  width: 14px !important;
  height: 14px !important;
  color: var(--coral) !important;
}

.oage-benefit-text {
  font-size: 1.02rem !important;
  font-weight: 400 !important;
  color: var(--text-mid) !important;
  line-height: 1.45 !important;
}

.oage-price-row {
  display: flex !important;
  align-items: baseline !important;
  gap: 1.25rem !important;
  margin-bottom: 2rem !important;
}

.oage-price {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 3.2rem !important;
  font-weight: 500 !important;
  color: var(--text-dark) !important;
}

.oage-price-note {
  font-size: 0.92rem !important;
  font-weight: 300 !important;
  color: var(--text-light) !important;
}

.oage-product-actions {
  display: flex !important;
  gap: 1.25rem !important;
  align-items: center !important;
}

/* ═══════════════════════════════════════════
   LIGHT THERAPY SECTION
   ═══════════════════════════════════════════ */
.oage-therapy-section {
  background: linear-gradient(180deg, var(--cream) 0%, var(--cream-dim) 100%) !important;
  padding: 8rem 6rem !important;
  text-align: center !important;
}

.oage-section-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--violet-mid) !important;
  margin-bottom: 1.25rem !important;
}

.oage-section-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 3.4rem !important;
  font-weight: 300 !important;
  color: var(--text-dark) !important;
  margin-bottom: 1.25rem !important;
  max-width: 650px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  line-height: 1.12 !important;
}

.oage-section-subtitle {
  font-size: 1.15rem !important;
  font-weight: 300 !important;
  line-height: 1.8 !important;
  color: var(--text-light) !important;
  max-width: 580px !important;
  margin: 0 auto 4.5rem !important;
}

.oage-therapy-cards {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 2rem !important;
  max-width: 1140px !important;
  margin: 0 auto !important;
}

.oage-therapy-card {
  background: var(--white) !important;
  border-radius: 28px !important;
  padding: 3rem 2.25rem !important;
  text-align: left !important;
  position: relative !important;
  overflow: hidden !important;
  transition: transform 0.35s, box-shadow 0.35s !important;
  border: 1px solid rgba(45, 27, 78, 0.04) !important;
}

.oage-therapy-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 16px 56px rgba(45, 27, 78, 0.1) !important;
}

.oage-therapy-card::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 4px !important;
}

.oage-therapy-card.red::before {
  background: linear-gradient(90deg, #FF6B6B, #FF8E8E) !important;
}

.oage-therapy-card.blue::before {
  background: linear-gradient(90deg, #6495ED, #87CEEB) !important;
}

.oage-therapy-card.yellow::before {
  background: linear-gradient(90deg, #D4A853, #E8C97A) !important;
}

.oage-therapy-wavelength {
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  margin-bottom: 1.25rem !important;
}

.oage-therapy-card.red .oage-therapy-wavelength {
  color: var(--coral) !important;
}

.oage-therapy-card.blue .oage-therapy-wavelength {
  color: #6495ED !important;
}

.oage-therapy-card.yellow .oage-therapy-wavelength {
  color: var(--gold) !important;
}

.oage-therapy-name {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 2rem !important;
  font-weight: 400 !important;
  color: var(--text-dark) !important;
  margin-bottom: 1rem !important;
  line-height: 1.2 !important;
}

.oage-therapy-desc {
  font-size: 1rem !important;
  font-weight: 300 !important;
  line-height: 1.7 !important;
  color: var(--text-light) !important;
}

.oage-therapy-benefits {
  margin-top: 1.5rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.55rem !important;
}

.oage-therapy-benefit-item {
  font-size: 0.95rem !important;
  font-weight: 400 !important;
  color: var(--text-mid) !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
}

.oage-therapy-benefit-item::before {
  content: '→' !important;
  font-size: 0.75rem !important;
  color: var(--text-light) !important;
}

/* ═══════════════════════════════════════════
   CTA BANNER
   ═══════════════════════════════════════════ */
.oage-cta-banner {
  background: linear-gradient(135deg, var(--violet-deep) 0%, #3D2566 50%, var(--violet-mid) 100%) !important;
  padding: 7rem 6rem !important;
  text-align: center !important;
  position: relative !important;
  overflow: hidden !important;
}

.oage-cta-banner::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: radial-gradient(ellipse at 50% 120%, rgba(255, 107, 107, 0.12) 0%, transparent 60%) !important;
  pointer-events: none !important;
}

.oage-cta-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 3.8rem !important;
  font-weight: 300 !important;
  color: var(--white) !important;
  margin-bottom: 1.25rem !important;
  position: relative !important;
  z-index: 2 !important;
  line-height: 1.1 !important;
}

.oage-cta-title em {
  font-style: italic !important;
  color: var(--coral-light) !important;
}

.oage-cta-sub {
  font-size: 1.2rem !important;
  font-weight: 300 !important;
  color: rgba(255, 255, 255, 0.55) !important;
  margin-bottom: 3rem !important;
  position: relative !important;
  z-index: 2 !important;
}

/* ═══════════════════════════════════════════
   WHY O-AGE SHOWCASE
   ═══════════════════════════════════════════ */
.oage-showcase {
  padding: 7rem 6rem !important;
  background: var(--white) !important;
  overflow: hidden !important;
}

.oage-showcase-header {
  text-align: center !important;
  margin-bottom: 5rem !important;
}

.oage-showcase-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 5rem !important;
  align-items: center !important;
  max-width: 1300px !important;
  margin: 0 auto 5rem !important;
}

.oage-showcase-row:last-child {
  margin-bottom: 0 !important;
}

.oage-showcase-row-reverse {
  direction: rtl !important;
}

.oage-showcase-row-reverse > * {
  direction: ltr !important;
}

.oage-showcase-img {
  position: relative !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  box-shadow: 0 16px 60px rgba(45, 27, 78, 0.08) !important;
  background: var(--cream-dim) !important;
}

.oage-showcase-img img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  object-fit: cover !important;
  min-height: 400px !important;
  max-height: 550px !important;
}

.oage-showcase-placeholder {
  width: 100% !important;
  min-height: 400px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0.88rem !important;
  color: var(--text-light) !important;
  text-align: center !important;
  padding: 2rem !important;
  letter-spacing: 0.05em !important;
}

.oage-showcase-text {
  padding: 1rem 0 !important;
}

.oage-showcase-number {
  display: inline-block !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  color: var(--coral) !important;
  letter-spacing: 0.1em !important;
  margin-bottom: 1.25rem !important;
  padding-bottom: 0.75rem !important;
  border-bottom: 2px solid rgba(255, 107, 107, 0.2) !important;
}

.oage-showcase-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 2.8rem !important;
  font-weight: 400 !important;
  color: var(--text-dark) !important;
  line-height: 1.15 !important;
  margin-bottom: 1.5rem !important;
}

.oage-showcase-desc {
  font-size: 1.12rem !important;
  font-weight: 300 !important;
  line-height: 1.85 !important;
  color: var(--text-light) !important;
  margin-bottom: 2rem !important;
  max-width: 480px !important;
}

.oage-showcase-stat {
  display: flex !important;
  align-items: baseline !important;
  gap: 1rem !important;
  padding: 1.25rem 1.5rem !important;
  background: rgba(91, 58, 140, 0.04) !important;
  border-radius: 16px !important;
  border-left: 3px solid var(--coral) !important;
}

.oage-showcase-stat-val {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 2.2rem !important;
  font-weight: 600 !important;
  color: var(--violet-deep) !important;
  line-height: 1 !important;
}

.oage-showcase-stat-label {
  font-size: 0.95rem !important;
  font-weight: 400 !important;
  color: var(--text-mid) !important;
}

/* ═══════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════ */
.oage-footer {
  background: var(--text-dark) !important;
  padding: 3.5rem 6rem 2.5rem !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 1.25rem !important;
}

.oage-footer-logo {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.8rem !important;
  font-weight: 600 !important;
  color: var(--white) !important;
  letter-spacing: 0.08em !important;
}

.oage-footer-logo span {
  color: var(--coral) !important;
}

.oage-footer-links {
  display: flex !important;
  gap: 2rem !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.oage-footer-links li {
  list-style: none !important;
}

.oage-footer-links a {
  text-decoration: none !important;
  font-size: 0.92rem !important;
  font-weight: 400 !important;
  color: rgba(255, 255, 255, 0.45) !important;
  transition: color 0.3s !important;
}

.oage-footer-links a:hover {
  color: var(--coral-light) !important;
}

.oage-footer-copy {
  font-size: 0.82rem !important;
  font-weight: 300 !important;
  color: rgba(255, 255, 255, 0.35) !important;
}

/* ═══════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════ */
@media (max-width: 1200px) {
  .oage-hero {
    padding: 8rem 3.5rem 5rem !important;
  }

  .oage-hero h1 {
    font-size: 4rem !important;
  }

  .oage-mask-showcase {
    width: 480px !important;
    height: 520px !important;
  }

  .oage-mask-img-wrap {
    width: 400px !important;
    height: 440px !important;
  }

  .oage-features-strip,
  .oage-product-section,
  .oage-therapy-section,
  .oage-cta-banner,
  .oage-footer {
    padding-left: 3.5rem !important;
    padding-right: 3.5rem !important;
  }
}

@media (max-width: 900px) {
  .oage-nav {
    padding: 1rem 1.5rem !important;
  }

  .oage-nav-links {
    display: none !important;
  }

  .oage-menu-toggle {
    display: block !important;
  }

  .oage-hero {
    grid-template-columns: 1fr !important;
    padding: 7rem 1.5rem 3rem !important;
    text-align: center !important;
    min-height: auto !important;
  }

  .oage-hero h1 {
    font-size: 2.8rem !important;
  }

  .oage-hero-desc {
    font-size: 1.1rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .oage-hero-content {
    max-width: 100% !important;
  }

  .oage-hero-actions {
    justify-content: center !important;
  }

  .oage-hero-stats {
    justify-content: center !important;
  }

  .oage-hero-visual {
    margin-top: 2rem !important;
  }

  .oage-mask-showcase {
    width: 340px !important;
    height: 380px !important;
  }

  .oage-mask-img-wrap {
    width: 300px !important;
    height: 340px !important;
  }

  .oage-float-badge {
    display: none !important;
  }

  .oage-features-strip {
    grid-template-columns: repeat(2, 1fr) !important;
    padding: 3rem 1.5rem !important;
  }

  .oage-product-section {
    grid-template-columns: 1fr !important;
    padding: 4rem 1.5rem !important;
  }

  .oage-product-title {
    font-size: 2.4rem !important;
  }

  .oage-therapy-cards {
    grid-template-columns: 1fr !important;
  }

  .oage-therapy-section {
    padding: 4rem 1.5rem !important;
  }

  .oage-section-title {
    font-size: 2.4rem !important;
  }

  .oage-cta-banner {
    padding: 4rem 1.5rem !important;
  }

  .oage-cta-title {
    font-size: 2.4rem !important;
  }

  .oage-footer {
    padding: 2.5rem 1.5rem !important;
    flex-direction: column !important;
    text-align: center !important;
  }

  .oage-benefits-grid {
    grid-template-columns: 1fr !important;
  }

  .oage-showcase {
    padding: 4rem 1.5rem !important;
  }

  .oage-showcase-row {
    grid-template-columns: 1fr !important;
    gap: 2.5rem !important;
    margin-bottom: 4rem !important;
  }

  .oage-showcase-row-reverse {
    direction: ltr !important;
  }

  .oage-showcase-title {
    font-size: 2.2rem !important;
  }

  .oage-showcase-desc {
    font-size: 1.05rem !important;
  }

  .oage-showcase-img img {
    min-height: 300px !important;
    max-height: 400px !important;
  }
}

@media (max-width: 480px) {
  .oage-features-strip {
    grid-template-columns: 1fr !important;
  }

  .oage-hero-stats {
    flex-wrap: wrap !important;
    gap: 1.5rem !important;
  }

  .oage-hero h1 {
    font-size: 2.2rem !important;
  }

  .oage-stat-val {
    font-size: 2.2rem !important;
  }

  .oage-price {
    font-size: 2.6rem !important;
  }

  .oage-mask-showcase {
    width: 280px !important;
    height: 320px !important;
  }

  .oage-mask-img-wrap {
    width: 240px !important;
    height: 280px !important;
  }
}


/* ═══════════════════════════════════════════════════════════
   O-AGE PRODUCT PAGE — CONVERSION OPTIMIZED v3.0
   ═══════════════════════════════════════════════════════════ */

/* ─── ANNOUNCEMENT BAR ─── */
.oage-announce {
  background: var(--violet-deep, #2D1B4E) !important;
  color: #fff !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  padding: 0.55rem 0 !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.06em !important;
}

.oage-announce-track {
  display: inline-flex !important;
  gap: 1.5rem !important;
  animation: oageScroll 40s linear infinite !important;
}

.oage-announce-dot {
  color: rgba(255,255,255,0.3) !important;
  font-size: 0.5rem !important;
}

@keyframes oageScroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* ─── MINI NAV ─── */
.oage-pnav {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 0.85rem 3rem !important;
  border-bottom: 1px solid rgba(45,27,78,0.06) !important;
  background: var(--cream, #FFF8F2) !important;
}

.oage-pnav-logo {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.8rem !important;
  font-weight: 600 !important;
  color: var(--violet-deep, #2D1B4E) !important;
  text-decoration: none !important;
  letter-spacing: 0.06em !important;
}

.oage-pnav-logo span { color: var(--coral, #FF6B6B) !important; }

.oage-pnav-right {
  display: flex !important;
  align-items: center !important;
  gap: 1.5rem !important;
}

.oage-pnav-link {
  font-size: 0.85rem !important;
  color: var(--text-mid, #4A3666) !important;
  text-decoration: none !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

.oage-pnav-cart {
  font-size: 1.1rem !important;
  text-decoration: none !important;
  position: relative !important;
}

.oage-cart-count {
  font-size: 0.6rem !important;
  background: var(--coral, #FF6B6B) !important;
  color: #fff !important;
  border-radius: 50% !important;
  width: 16px !important;
  height: 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: absolute !important;
  top: -6px !important;
  right: -8px !important;
}

/* ─── HERO PRODUCT SECTION ─── */
.oage-hero-product {
  background: var(--cream, #FFF8F2) !important;
  padding: 2.5rem 0 3.5rem !important;
}

.oage-hp-inner {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 3rem !important;
  display: grid !important;
  grid-template-columns: 1.15fr 1fr !important;
  gap: 3.5rem !important;
  align-items: start !important;
}

/* Gallery */
.oage-hp-gallery {
  position: sticky !important;
  top: 20px !important;
}

.oage-hp-main-wrap {
  position: relative !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 0 4px 28px rgba(45,27,78,0.05) !important;
  margin-bottom: 0.75rem !important;
  aspect-ratio: 1 / 1 !important;
}

.oage-hp-main-img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
}

/* Legacy video-wrap — no longer used, safe override */
.oage-hp-video-wrap {
  display: none !important;
}

.oage-hp-sale-badge {
  position: absolute !important;
  top: 16px !important;
  left: 16px !important;
  background: var(--coral, #FF6B6B) !important;
  color: #fff !important;
  padding: 0.4rem 0.9rem !important;
  border-radius: 8px !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  z-index: 3 !important;
}

/* Thumbs */
.oage-hp-thumbs {
  display: flex !important;
  gap: 0.45rem !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding-bottom: 4px !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
}

.oage-hp-thumbs::-webkit-scrollbar {
  display: none !important;
}

.oage-hp-thumb {
  width: 60px !important;
  height: 60px !important;
  min-width: 60px !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  border: 2.5px solid transparent !important;
  cursor: pointer !important;
  background: #fff !important;
  padding: 0 !important;
  transition: border-color 0.25s, transform 0.2s !important;
}

.oage-hp-thumb:hover { transform: translateY(-2px) !important; }
.oage-hp-thumb.active { border-color: var(--coral, #FF6B6B) !important; }

.oage-hp-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.oage-hp-thumb-vid {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--violet-deep, #2D1B4E) !important;
  gap: 0.15rem !important;
}

.oage-hp-play { font-size: 1.1rem !important; color: #fff !important; }
.oage-hp-thumb-vid span:last-child { font-size: 0.5rem !important; color: rgba(255,255,255,0.65) !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; }

/* Product Info */
.oage-hp-info {
  padding-top: 0.25rem !important;
}

.oage-hp-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 2.6rem !important;
  font-weight: 400 !important;
  color: var(--text-dark, #1A0F2E) !important;
  line-height: 1.15 !important;
  margin-bottom: 1rem !important;
}

.oage-hp-subtitle {
  font-size: 1.05rem !important;
  font-weight: 300 !important;
  line-height: 1.7 !important;
  color: var(--text-light, #8B7BA0) !important;
  margin-bottom: 1.5rem !important;
}

.oage-hp-subtitle p { margin: 0 0 0.5rem !important; }
.oage-hp-subtitle strong { font-weight: 500 !important; color: var(--text-dark, #1A0F2E) !important; }

/* Bullets */
.oage-hp-bullets {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.65rem !important;
  margin-bottom: 1.75rem !important;
}

.oage-hp-bullet {
  font-size: 0.95rem !important;
  color: var(--text-mid, #4A3666) !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.6rem !important;
  line-height: 1.5 !important;
}

.oage-hp-bullet-icon { font-size: 1rem !important; }

/* Price */
.oage-hp-price-block {
  margin-bottom: 1rem !important;
  padding: 1.25rem !important;
  background: rgba(91,58,140,0.03) !important;
  border-radius: 14px !important;
  border: 1px solid rgba(91,58,140,0.06) !important;
}

.oage-hp-price-sale {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  flex-wrap: wrap !important;
}

.oage-hp-price-current {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 2.6rem !important;
  font-weight: 600 !important;
  color: var(--text-dark, #1A0F2E) !important;
}

.oage-hp-price-was {
  font-size: 1.3rem !important;
  color: var(--text-light, #8B7BA0) !important;
  text-decoration: line-through !important;
}

.oage-hp-price-save {
  background: var(--coral, #FF6B6B) !important;
  color: #fff !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  padding: 0.3rem 0.65rem !important;
  border-radius: 6px !important;
}

.oage-hp-price-sub {
  font-size: 0.82rem !important;
  color: var(--text-light, #8B7BA0) !important;
  margin-top: 0.5rem !important;
}

/* Urgency */
.oage-hp-urgency {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  color: var(--coral, #FF6B6B) !important;
  margin-bottom: 1.25rem !important;
}

.oage-hp-urgency-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: var(--coral, #FF6B6B) !important;
  animation: oagePulse 1.5s ease-in-out infinite !important;
}

@keyframes oagePulse {
  0%,100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(1.5); }
}

/* Add to Cart */
.oage-hp-atc { margin-bottom: 1.25rem !important; }

.oage-hp-atc-btn {
  display: block !important;
  width: 100% !important;
  background: var(--coral, #FF6B6B) !important;
  color: #fff !important;
  text-align: center !important;
  padding: 1.15rem 2rem !important;
  border-radius: 14px !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-decoration: none !important;
  transition: all 0.3s !important;
  box-shadow: 0 6px 24px rgba(255,107,107,0.3) !important;
  cursor: pointer !important;
  border: none !important;
}

.oage-hp-atc-btn:hover {
  background: #FF4D6D !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 32px rgba(255,107,107,0.4) !important;
}

/* Trust */
.oage-hp-trust {
  display: flex !important;
  gap: 1.25rem !important;
  padding: 1rem 0 !important;
  border-top: 1px solid rgba(45,27,78,0.06) !important;
  margin-bottom: 0.75rem !important;
}

.oage-hp-trust-item {
  font-size: 0.78rem !important;
  color: var(--text-light, #8B7BA0) !important;
}

.oage-hp-payments {
  display: flex !important;
  gap: 0.75rem !important;
}

.oage-hp-payments span {
  font-size: 0.65rem !important;
  padding: 0.25rem 0.5rem !important;
  border: 1px solid rgba(45,27,78,0.1) !important;
  border-radius: 4px !important;
  color: var(--text-light, #8B7BA0) !important;
  letter-spacing: 0.03em !important;
}

/* ─── REVIEWS ─── */
.oage-reviews {
  padding: 4.5rem 3rem !important;
  background: #fff !important;
  text-align: center !important;
}

.oage-reviews-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 2.4rem !important;
  font-weight: 400 !important;
  color: var(--text-dark, #1A0F2E) !important;
  margin-bottom: 2.5rem !important;
}

.oage-reviews-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.5rem !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
}

.oage-review-card {
  background: var(--cream, #FFF8F2) !important;
  border-radius: 18px !important;
  padding: 2rem 1.75rem !important;
  text-align: left !important;
  border: 1px solid rgba(45,27,78,0.04) !important;
}

.oage-review-stars {
  color: #F5A623 !important;
  font-size: 1.1rem !important;
  margin-bottom: 0.75rem !important;
  letter-spacing: 0.1em !important;
}

.oage-review-text {
  font-size: 0.95rem !important;
  font-weight: 300 !important;
  line-height: 1.7 !important;
  color: var(--text-mid, #4A3666) !important;
  margin-bottom: 1.25rem !important;
  font-style: italic !important;
}

.oage-review-bottom {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

.oage-review-name {
  font-weight: 600 !important;
  font-size: 0.88rem !important;
  color: var(--text-dark, #1A0F2E) !important;
}

.oage-review-tag {
  font-size: 0.7rem !important;
  color: #4CAF50 !important;
  font-weight: 500 !important;
}

/* ─── PROBLEM SECTION ─── */
.oage-problem {
  padding: 4.5rem 3rem !important;
  background: linear-gradient(135deg, #f8f4f0 0%, #f0eae4 100%) !important;
}

.oage-problem-inner {
  max-width: 800px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

.oage-problem-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 2.4rem !important;
  font-weight: 400 !important;
  color: var(--text-dark, #1A0F2E) !important;
  margin-bottom: 1.25rem !important;
}

.oage-problem-desc {
  font-size: 1.05rem !important;
  font-weight: 300 !important;
  line-height: 1.8 !important;
  color: var(--text-light, #8B7BA0) !important;
  margin-bottom: 2rem !important;
}

.oage-problem-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.65rem !important;
  text-align: left !important;
  max-width: 520px !important;
  margin: 0 auto !important;
}

.oage-problem-item {
  font-size: 1rem !important;
  color: var(--text-mid, #4A3666) !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.65rem !important;
}

.oage-x {
  color: #e74c3c !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  min-width: 20px !important;
}

/* ─── SOLUTION SHOWCASE ─── */
.oage-solution {
  padding: 4.5rem 3rem !important;
  background: #fff !important;
}

.oage-solution-header {
  text-align: center !important;
  margin-bottom: 3.5rem !important;
}

.oage-solution-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 2.4rem !important;
  font-weight: 400 !important;
  color: var(--text-dark, #1A0F2E) !important;
  max-width: 650px !important;
  margin: 0 auto !important;
}

.oage-sol-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 4rem !important;
  align-items: center !important;
  max-width: 1150px !important;
  margin: 0 auto 4rem !important;
}

.oage-sol-row:last-child { margin-bottom: 0 !important; }

.oage-sol-row-rev { direction: rtl !important; }
.oage-sol-row-rev > * { direction: ltr !important; }

.oage-sol-img {
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 36px rgba(45,27,78,0.06) !important;
  background: var(--cream-dim, #F5EDE4) !important;
}

.oage-sol-img img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  object-fit: cover !important;
  min-height: 350px !important;
  max-height: 450px !important;
}

.oage-sol-placeholder {
  min-height: 350px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--text-light) !important;
  font-size: 0.82rem !important;
  padding: 2rem !important;
  text-align: center !important;
}

.oage-sol-badge {
  display: inline-block !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  color: var(--coral, #FF6B6B) !important;
  margin-bottom: 0.75rem !important;
}

.oage-sol-text h3 {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 2.1rem !important;
  font-weight: 400 !important;
  color: var(--text-dark, #1A0F2E) !important;
  line-height: 1.2 !important;
  margin-bottom: 1rem !important;
}

.oage-sol-text p {
  font-size: 1rem !important;
  font-weight: 300 !important;
  line-height: 1.8 !important;
  color: var(--text-light, #8B7BA0) !important;
  margin-bottom: 1.5rem !important;
}

.oage-sol-stat {
  display: flex !important;
  align-items: center !important;
  gap: 0.85rem !important;
  padding: 1rem 1.25rem !important;
  background: rgba(91,58,140,0.04) !important;
  border-radius: 12px !important;
  border-left: 3px solid var(--coral, #FF6B6B) !important;
}

.oage-sol-stat-num {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 2rem !important;
  font-weight: 600 !important;
  color: var(--violet-deep, #2D1B4E) !important;
}

.oage-sol-stat span:last-child {
  font-size: 0.88rem !important;
  color: var(--text-mid, #4A3666) !important;
}

/* ─── WAVELENGTHS ─── */
.oage-wavelengths {
  padding: 4.5rem 3rem !important;
  background: var(--cream, #FFF8F2) !important;
  text-align: center !important;
}

.oage-wave-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 2.4rem !important;
  font-weight: 400 !important;
  color: var(--text-dark, #1A0F2E) !important;
  margin-bottom: 0.5rem !important;
}

.oage-wave-sub {
  font-size: 1rem !important;
  color: var(--text-light, #8B7BA0) !important;
  margin-bottom: 2.5rem !important;
}

.oage-wave-cards {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.5rem !important;
  max-width: 960px !important;
  margin: 0 auto !important;
}

.oage-wave-card {
  background: #fff !important;
  border-radius: 20px !important;
  padding: 2.25rem 1.75rem !important;
  text-align: left !important;
  box-shadow: 0 4px 20px rgba(45,27,78,0.04) !important;
  border: 1px solid rgba(45,27,78,0.03) !important;
}

.oage-wave-dot {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  margin-bottom: 1rem !important;
}

.oage-wave-card h3 {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.5rem !important;
  font-weight: 500 !important;
  color: var(--text-dark, #1A0F2E) !important;
  margin-bottom: 0.25rem !important;
}

.oage-wave-nm {
  font-size: 0.72rem !important;
  color: var(--text-light, #8B7BA0) !important;
  letter-spacing: 0.08em !important;
  display: block !important;
  margin-bottom: 0.75rem !important;
}

.oage-wave-card p {
  font-size: 0.92rem !important;
  font-weight: 300 !important;
  line-height: 1.7 !important;
  color: var(--text-light, #8B7BA0) !important;
  margin: 0 !important;
}

/* ─── COMPARISON TABLE ─── */
.oage-vs {
  padding: 4.5rem 3rem !important;
  background: #fff !important;
  text-align: center !important;
}

.oage-vs-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 2.4rem !important;
  font-weight: 400 !important;
  color: var(--text-dark, #1A0F2E) !important;
  margin-bottom: 0.5rem !important;
}

.oage-vs-sub {
  font-size: 1rem !important;
  color: var(--text-light, #8B7BA0) !important;
  margin-bottom: 2.5rem !important;
}

.oage-vs-table {
  max-width: 700px !important;
  margin: 0 auto !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 24px rgba(45,27,78,0.05) !important;
}

.oage-vs-header {
  display: grid !important;
  grid-template-columns: 1.5fr 1fr 1fr !important;
  background: var(--violet-deep, #2D1B4E) !important;
  color: #fff !important;
  padding: 1rem 1.5rem !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  text-align: center !important;
}

.oage-vs-header .oage-vs-feat { text-align: left !important; }

.oage-vs-row {
  display: grid !important;
  grid-template-columns: 1.5fr 1fr 1fr !important;
  padding: 0.85rem 1.5rem !important;
  border-bottom: 1px solid rgba(45,27,78,0.04) !important;
  background: #fff !important;
  font-size: 0.92rem !important;
  text-align: center !important;
  transition: background 0.2s !important;
}

.oage-vs-row:hover { background: rgba(91,58,140,0.02) !important; }
.oage-vs-row:last-child { border-bottom: none !important; }
.oage-vs-row .oage-vs-feat { text-align: left !important; color: var(--text-mid, #4A3666) !important; }
.oage-vs-check { color: var(--coral, #FF6B6B) !important; font-size: 1.2rem !important; font-weight: 700 !important; }
.oage-vs-cross { color: #ccc !important; font-size: 1.2rem !important; }

/* ─── GUARANTEE ─── */
.oage-guarantee {
  padding: 4rem 3rem !important;
  background: linear-gradient(135deg, var(--violet-deep, #2D1B4E) 0%, #3D2566 100%) !important;
  text-align: center !important;
}

.oage-guarantee-inner {
  max-width: 650px !important;
  margin: 0 auto !important;
}

.oage-guarantee-icon { font-size: 3rem !important; margin-bottom: 1rem !important; }

.oage-guarantee h2 {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 2.2rem !important;
  font-weight: 400 !important;
  color: #fff !important;
  margin-bottom: 1rem !important;
}

.oage-guarantee p {
  font-size: 1rem !important;
  font-weight: 300 !important;
  line-height: 1.8 !important;
  color: rgba(255,255,255,0.6) !important;
}

/* ─── WHAT'S IN THE BOX ─── */
.oage-inbox {
  padding: 4.5rem 3rem !important;
  background: var(--cream, #FFF8F2) !important;
  text-align: center !important;
}

.oage-inbox-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 2.2rem !important;
  font-weight: 400 !important;
  color: var(--text-dark, #1A0F2E) !important;
  margin-bottom: 2.5rem !important;
}

.oage-inbox-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.25rem !important;
  max-width: 900px !important;
  margin: 0 auto !important;
}

.oage-inbox-item {
  background: #fff !important;
  border-radius: 16px !important;
  padding: 1.75rem 1.25rem !important;
  text-align: center !important;
  border: 1px solid rgba(45,27,78,0.04) !important;
  font-size: 0.88rem !important;
  color: var(--text-light, #8B7BA0) !important;
  line-height: 1.6 !important;
}

.oage-inbox-item span { font-size: 1.6rem !important; display: block !important; margin-bottom: 0.75rem !important; }
.oage-inbox-item strong { color: var(--text-dark, #1A0F2E) !important; font-weight: 500 !important; font-size: 0.92rem !important; }

/* ─── FAQ ─── */
.oage-faq {
  padding: 4.5rem 3rem !important;
  max-width: 780px !important;
  margin: 0 auto !important;
}

.oage-faq-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 2.2rem !important;
  font-weight: 400 !important;
  color: var(--text-dark, #1A0F2E) !important;
  text-align: center !important;
  margin-bottom: 2rem !important;
}

.oage-faq-item { border-bottom: 1px solid rgba(45,27,78,0.07) !important; }

.oage-faq-q {
  width: 100% !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 1.15rem 0 !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  font-size: 1.02rem !important;
  font-weight: 400 !important;
  color: var(--text-dark, #1A0F2E) !important;
  text-align: left !important;
  font-family: 'Outfit', sans-serif !important;
  gap: 1rem !important;
}

.oage-faq-icon {
  font-size: 1.4rem !important;
  color: var(--coral, #FF6B6B) !important;
  transition: transform 0.3s !important;
  min-width: 24px !important;
  text-align: center !important;
  font-weight: 300 !important;
}

.oage-faq-item.open .oage-faq-icon { transform: rotate(45deg) !important; }

.oage-faq-a {
  max-height: 0 !important;
  overflow: hidden !important;
  transition: max-height 0.35s ease, padding 0.35s ease !important;
}

.oage-faq-item.open .oage-faq-a {
  max-height: 400px !important;
  padding-bottom: 1.15rem !important;
}

.oage-faq-a p {
  font-size: 0.92rem !important;
  font-weight: 300 !important;
  line-height: 1.75 !important;
  color: var(--text-light, #8B7BA0) !important;
  margin: 0 !important;
}

/* ─── FINAL CTA ─── */
.oage-final-cta {
  background: linear-gradient(135deg, var(--violet-deep, #2D1B4E) 0%, #3D2566 60%, #5B3A8C 100%) !important;
  padding: 5rem 3rem !important;
  text-align: center !important;
}

.oage-final-cta h2 {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 2.8rem !important;
  font-weight: 300 !important;
  color: #fff !important;
  margin-bottom: 0.75rem !important;
}

.oage-final-cta h2 em { font-style: italic !important; color: #FF8E8E !important; }

.oage-final-cta p {
  font-size: 1rem !important;
  color: rgba(255,255,255,0.5) !important;
  margin-bottom: 2rem !important;
}

.oage-final-cta-btn {
  display: inline-block !important;
  background: var(--coral, #FF6B6B) !important;
  color: #fff !important;
  padding: 1.15rem 3.5rem !important;
  border-radius: 14px !important;
  font-size: 1.15rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.3s !important;
  box-shadow: 0 6px 24px rgba(255,107,107,0.35) !important;
}

.oage-final-cta-btn:hover {
  background: #FF4D6D !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
}

.oage-final-cta-btn small { font-size: 0.85rem !important; opacity: 0.7 !important; }

.oage-final-cta-sub {
  font-size: 0.8rem !important;
  color: rgba(255,255,255,0.4) !important;
  margin-top: 1rem !important;
}

/* ─── STICKY MOBILE CTA ─── */
.oage-sticky-mobile {
  display: none !important;
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 99999 !important;
  background: rgba(255,248,242,0.97) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  box-shadow: 0 -2px 20px rgba(45,27,78,0.08) !important;
  padding: 0.75rem 1rem !important;
  transform: translateY(100%) !important;
  transition: transform 0.35s ease !important;
}

.oage-sticky-mobile.visible {
  transform: translateY(0) !important;
}

.oage-sticky-mobile-inner {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  max-width: 600px !important;
  margin: 0 auto !important;
}

.oage-sticky-mobile-name {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  color: var(--text-dark, #1A0F2E) !important;
}

.oage-sticky-mobile-price {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--coral, #FF6B6B) !important;
}

.oage-sticky-mobile-btn {
  background: var(--coral, #FF6B6B) !important;
  color: #fff !important;
  padding: 0.65rem 1.5rem !important;
  border-radius: 10px !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

/* ─── FOOTER ─── */
.oage-pfooter {
  background: var(--text-dark, #1A0F2E) !important;
  padding: 2.5rem 3rem !important;
  text-align: center !important;
}

.oage-pfooter-logo {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.6rem !important;
  font-weight: 600 !important;
  color: #fff !important;
  letter-spacing: 0.06em !important;
  margin-bottom: 1rem !important;
}

.oage-pfooter-logo span { color: var(--coral, #FF6B6B) !important; }

.oage-pfooter-links {
  display: flex !important;
  justify-content: center !important;
  gap: 2rem !important;
  margin-bottom: 1.25rem !important;
}

.oage-pfooter-links a {
  font-size: 0.82rem !important;
  color: rgba(255,255,255,0.4) !important;
  text-decoration: none !important;
  transition: color 0.3s !important;
}

.oage-pfooter-links a:hover { color: #FF8E8E !important; }

.oage-pfooter-copy {
  font-size: 0.75rem !important;
  color: rgba(255,255,255,0.25) !important;
}

/* ─── RESPONSIVE ─── */
@media (max-width: 900px) {
  .oage-hp-inner {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
    padding: 0 1.25rem !important;
  }

  .oage-hp-gallery { position: static !important; }
  .oage-hp-title { font-size: 2rem !important; }
  .oage-pnav { padding: 0.75rem 1.25rem !important; }
  .oage-reviews-grid { grid-template-columns: 1fr !important; }
  .oage-sol-row, .oage-sol-row-rev { grid-template-columns: 1fr !important; gap: 2rem !important; direction: ltr !important; }
  .oage-wave-cards { grid-template-columns: 1fr !important; }
  .oage-inbox-grid { grid-template-columns: repeat(2, 1fr) !important; }

  .oage-reviews, .oage-problem, .oage-solution, .oage-wavelengths,
  .oage-vs, .oage-guarantee, .oage-inbox, .oage-faq, .oage-final-cta, .oage-pfooter {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }

  .oage-vs-header, .oage-vs-row { font-size: 0.78rem !important; padding: 0.7rem 0.75rem !important; }
  .oage-hp-trust { flex-wrap: wrap !important; gap: 0.75rem !important; }

  .oage-sticky-mobile { display: block !important; }

  .oage-final-cta h2 { font-size: 2rem !important; }
}

@media (max-width: 480px) {
  .oage-hp-title { font-size: 1.7rem !important; }
  .oage-hp-price-current { font-size: 2rem !important; }
  .oage-inbox-grid { grid-template-columns: 1fr !important; }
  .oage-hp-payments { flex-wrap: wrap !important; }
}

/* ─── HIDE ASTRA DEFAULTS ON PRODUCT PAGE ─── */
body.oage-product-page .site-header,
body.oage-product-page #ast-desktop-header,
body.oage-product-page .ast-mobile-header-wrap,
body.oage-product-page .site-footer,
body.oage-product-page .ast-small-footer,
body.oage-product-page .site-below-footer-wrap,
body.oage-product-page .entry-header,
body.oage-product-page .ast-footer-overlay {
  display: none !important;
}

body.oage-product-page #page > .ast-container,
body.oage-product-page .site-content .ast-container {
  max-width: 100% !important;
  padding: 0 !important;
}

body.oage-product-page .entry-content { margin: 0 !important; padding: 0 !important; }
body.oage-product-page #content, body.oage-product-page .site-content { padding-top: 0 !important; }


/* ═══════════════════════════════════════════════════════════
   CONTACT PAGE
   ═══════════════════════════════════════════════════════════ */

.oage-contact-hero {
  background: linear-gradient(135deg, var(--violet-deep, #2D1B4E) 0%, #3D2566 100%) !important;
  padding: 5rem 3rem 3.5rem !important;
  text-align: center !important;
}

.oage-contact-hero h1 {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 3rem !important;
  font-weight: 300 !important;
  color: #fff !important;
  margin-bottom: 0.75rem !important;
}

.oage-contact-hero p {
  font-size: 1.1rem !important;
  color: rgba(255,255,255,0.55) !important;
  font-weight: 300 !important;
}

.oage-contact-content {
  padding: 4rem 3rem !important;
  background: var(--cream, #FFF8F2) !important;
}

.oage-contact-inner {
  max-width: 1100px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1.4fr 1fr !important;
  gap: 3.5rem !important;
  align-items: start !important;
}

/* Form */
.oage-contact-form-wrap {
  background: #fff !important;
  border-radius: 24px !important;
  padding: 2.75rem !important;
  box-shadow: 0 4px 28px rgba(45,27,78,0.04) !important;
}

.oage-contact-form-wrap h2 {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 2rem !important;
  font-weight: 400 !important;
  color: var(--text-dark, #1A0F2E) !important;
  margin-bottom: 2rem !important;
}

.oage-contact-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.25rem !important;
}

.oage-cf-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 1.25rem !important;
}

.oage-cf-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.4rem !important;
}

.oage-cf-field label {
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  color: var(--text-mid, #4A3666) !important;
  letter-spacing: 0.04em !important;
}

.oage-cf-field input,
.oage-cf-field select,
.oage-cf-field textarea {
  font-family: 'Outfit', sans-serif !important;
  font-size: 0.95rem !important;
  padding: 0.85rem 1rem !important;
  border: 1.5px solid rgba(45,27,78,0.1) !important;
  border-radius: 12px !important;
  background: var(--cream, #FFF8F2) !important;
  color: var(--text-dark, #1A0F2E) !important;
  transition: border-color 0.3s !important;
  outline: none !important;
  width: 100% !important;
}

.oage-cf-field input:focus,
.oage-cf-field select:focus,
.oage-cf-field textarea:focus {
  border-color: var(--violet-mid, #5B3A8C) !important;
}

.oage-cf-field textarea {
  resize: vertical !important;
  min-height: 120px !important;
}

.oage-cf-submit {
  background: var(--coral, #FF6B6B) !important;
  color: #fff !important;
  border: none !important;
  padding: 1.05rem 2.5rem !important;
  border-radius: 12px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: all 0.3s !important;
  box-shadow: 0 4px 18px rgba(255,107,107,0.25) !important;
  align-self: flex-start !important;
}

.oage-cf-submit:hover {
  background: #FF4D6D !important;
  transform: translateY(-2px) !important;
}

/* CF7 styling override */
.oage-contact-form-wrap .wpcf7-form input[type="text"],
.oage-contact-form-wrap .wpcf7-form input[type="email"],
.oage-contact-form-wrap .wpcf7-form textarea,
.oage-contact-form-wrap .wpcf7-form select {
  font-family: 'Outfit', sans-serif !important;
  font-size: 0.95rem !important;
  padding: 0.85rem 1rem !important;
  border: 1.5px solid rgba(45,27,78,0.1) !important;
  border-radius: 12px !important;
  background: var(--cream, #FFF8F2) !important;
  width: 100% !important;
}

.oage-contact-form-wrap .wpcf7-form input[type="submit"] {
  background: var(--coral, #FF6B6B) !important;
  color: #fff !important;
  border: none !important;
  padding: 1.05rem 2.5rem !important;
  border-radius: 12px !important;
  font-size: 1rem !important;
  cursor: pointer !important;
}

/* Info sidebar */
.oage-contact-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.25rem !important;
}

.oage-ci-card {
  background: #fff !important;
  border-radius: 18px !important;
  padding: 1.75rem !important;
  border: 1px solid rgba(45,27,78,0.04) !important;
}

.oage-ci-icon {
  font-size: 1.5rem !important;
  display: block !important;
  margin-bottom: 0.65rem !important;
}

.oage-ci-card h3 {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.3rem !important;
  font-weight: 500 !important;
  color: var(--text-dark, #1A0F2E) !important;
  margin-bottom: 0.4rem !important;
}

.oage-ci-card p {
  font-size: 0.9rem !important;
  color: var(--text-light, #8B7BA0) !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

.oage-ci-card a {
  color: var(--coral, #FF6B6B) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
}

.oage-ci-note {
  font-size: 0.78rem !important;
  margin-top: 0.3rem !important;
}

/* Contact responsive */
@media (max-width: 900px) {
  .oage-contact-inner {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }

  .oage-contact-content { padding: 2.5rem 1.25rem !important; }
  .oage-contact-hero { padding: 3.5rem 1.25rem 2.5rem !important; }
  .oage-contact-hero h1 { font-size: 2.2rem !important; }
  .oage-cf-row { grid-template-columns: 1fr !important; }
}

/* ═══════════════════════════════════════════════════════════
   GLOBAL ASTRA OVERRIDE — BRAND ALL PAGES
   ═══════════════════════════════════════════════════════════ */

/* Hide Astra defaults on contact page */
body.oage-contact-page .site-header,
body.oage-contact-page #ast-desktop-header,
body.oage-contact-page .ast-mobile-header-wrap,
body.oage-contact-page .site-footer,
body.oage-contact-page .ast-small-footer,
body.oage-contact-page .site-below-footer-wrap,
body.oage-contact-page .entry-header,
body.oage-contact-page .ast-footer-overlay {
  display: none !important;
}

body.oage-contact-page #page > .ast-container,
body.oage-contact-page .site-content .ast-container {
  max-width: 100% !important;
  padding: 0 !important;
}

body.oage-contact-page .entry-content { margin: 0 !important; padding: 0 !important; }
body.oage-contact-page #content { padding-top: 0 !important; }

/* ─── Global Astra branding for Cart, Checkout, My Account ─── */
.site-header,
#ast-desktop-header {
  background: var(--cream, #FFF8F2) !important;
  border-bottom: 1px solid rgba(45,27,78,0.06) !important;
}

.ast-site-identity .site-title a,
.ast-site-identity .site-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.8rem !important;
  font-weight: 600 !important;
  color: var(--violet-deep, #2D1B4E) !important;
}

.main-header-menu a,
.ast-header-break-point .main-header-menu a {
  font-family: 'Outfit', sans-serif !important;
  font-size: 0.88rem !important;
  color: var(--text-mid, #4A3666) !important;
  letter-spacing: 0.04em !important;
}

/* Global body font */
body {
  font-family: 'Outfit', sans-serif !important;
  color: var(--text-dark, #1A0F2E) !important;
}

/* Footer branding */
.site-footer,
.ast-small-footer {
  background: var(--text-dark, #1A0F2E) !important;
  color: rgba(255,255,255,0.5) !important;
}

.site-footer a,
.ast-small-footer a {
  color: rgba(255,255,255,0.6) !important;
}

/* Hide "Powered by Astra" */
.ast-small-footer .ast-footer-copyright,
.site-below-footer-wrap {
  display: none !important;
}

/* WooCommerce button styling globally */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  background: var(--coral, #FF6B6B) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 500 !important;
  padding: 0.85rem 1.75rem !important;
  transition: all 0.3s !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
  background: #FF4D6D !important;
  color: #fff !important;
}

/* WooCommerce table/cart styling */
.woocommerce table.shop_table {
  border-radius: 16px !important;
  overflow: hidden !important;
  border: 1px solid rgba(45,27,78,0.06) !important;
}

.woocommerce table.shop_table th {
  background: var(--cream, #FFF8F2) !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 500 !important;
  color: var(--text-mid, #4A3666) !important;
}

/* ═══════════════════════════════════════════
   FIX: NUMBERS USE ARIAL, NOT DECORATIVE FONT
   ═══════════════════════════════════════════ */
.oage-stat-val,
.oage-price,
.oage-hp-price-current,
.oage-hp-price-was,
.oage-hp-price-save,
.oage-sol-stat-num,
.oage-showcase-stat-val,
.oage-sticky-mobile-price,
.oage-sticky-price,
.oage-pinfo-price,
.woocommerce .price,
.woocommerce .amount,
.oage-wave-nm {
  font-family: Arial, Helvetica, sans-serif !important;
}

/* ═══════════════════════════════════════════
   FIX: LOGO — O-AGE BLACK ALL CAPS
   ═══════════════════════════════════════════ */
.oage-logo,
.oage-pnav-logo,
.oage-footer-logo,
.oage-pfooter-logo {
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 800 !important;
  color: #000 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

.oage-logo span,
.oage-pnav-logo span,
.oage-footer-logo span,
.oage-pfooter-logo span {
  color: #000 !important;
}

/* ═══════════════════════════════════════════
   FIX: NAV — SHOP NOW → SHOP (plain text, no pill)
   ═══════════════════════════════════════════ */
.oage-nav-cta {
  background: none !important;
  color: var(--text-mid, #4A3666) !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 0.92rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

.oage-nav-cta:hover {
  background: none !important;
  color: var(--violet-deep, #2D1B4E) !important;
  transform: none !important;
}

.oage-nav-link-shop {
  text-decoration: none !important;
  font-size: 0.92rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--text-mid, #4A3666) !important;
  transition: color 0.3s !important;
  position: relative !important;
}

.oage-nav-link-shop::after {
  content: '' !important;
  position: absolute !important;
  bottom: -4px !important;
  left: 0 !important;
  width: 0 !important;
  height: 2px !important;
  background: var(--coral, #FF6B6B) !important;
  transition: width 0.3s !important;
}

.oage-nav-link-shop:hover {
  color: var(--violet-deep, #2D1B4E) !important;
}

.oage-nav-link-shop:hover::after {
  width: 100% !important;
}

/* ═══════════════════════════════════════════
   FIX: PAYMENT ICONS — SVG LOGOS
   ═══════════════════════════════════════════ */
.oage-hp-payments {
  display: flex !important;
  gap: 0.5rem !important;
  align-items: center !important;
  flex-wrap: wrap !important;
}

.oage-hp-payments svg {
  border: 1px solid rgba(45,27,78,0.1) !important;
  border-radius: 4px !important;
  display: block !important;
}

.oage-hp-payments span {
  display: none !important;
}

/* ═══════════════════════════════════════════
   UPDATE: LOGO — MONTSERRAT LIGHT, REFINED
   ═══════════════════════════════════════════ */
.oage-logo,
.oage-pnav-logo,
.oage-footer-logo,
.oage-pfooter-logo {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 200 !important;
  color: #000 !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  font-size: 1.6rem !important;
}

/* ═══════════════════════════════════════════
   UPDATE: DARK HEADER — HOMEPAGE NAV
   ═══════════════════════════════════════════ */
.oage-nav {
  background: #1A0F2E !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}

.oage-nav .oage-logo {
  color: #fff !important;
}

.oage-nav-links a {
  color: rgba(255,255,255,0.7) !important;
}

.oage-nav-links a:hover {
  color: #fff !important;
}

.oage-nav-links a::after {
  background: var(--coral, #FF6B6B) !important;
}

.oage-nav-link-shop {
  color: rgba(255,255,255,0.7) !important;
}

.oage-nav-link-shop:hover {
  color: #fff !important;
}

.oage-nav-link-shop::after {
  background: var(--coral, #FF6B6B) !important;
}

.oage-nav-cta {
  color: rgba(255,255,255,0.7) !important;
}

.oage-nav-cta:hover {
  color: #fff !important;
}

/* Hamburger menu on mobile — white */
.oage-menu-toggle span {
  background: #fff !important;
}

/* Mobile nav overlay */
@media (max-width: 900px) {
  .oage-nav-links {
    background: #1A0F2E !important;
  }

  .oage-nav-links a {
    color: rgba(255,255,255,0.8) !important;
  }
}

/* Scrolled nav stays dark */
.oage-nav.scrolled {
  background: rgba(26, 15, 46, 0.97) !important;
  backdrop-filter: blur(14px) !important;
}

/* ═══════════════════════════════════════════
   UPDATE: DARK HEADER — PRODUCT PAGE NAV
   ═══════════════════════════════════════════ */
.oage-pnav {
  background: #1A0F2E !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}

.oage-pnav-logo {
  color: #fff !important;
}

.oage-pnav-link {
  color: rgba(255,255,255,0.7) !important;
}

.oage-pnav-link:hover {
  color: #fff !important;
}

.oage-pnav-cart {
  color: rgba(255,255,255,0.8) !important;
}

/* ═══════════════════════════════════════════
   UPDATE: ANNOUNCEMENT BAR — SLIGHTLY LIGHTER
   ═══════════════════════════════════════════ */
.oage-announce {
  background: #0D0818 !important;
}

/* ═══════════════════════════════════════════
   UPDATE: MULTI-COLUMN FOOTER WITH CUSTOMER CARE
   ═══════════════════════════════════════════ */
.oage-footer,
.oage-pfooter {
  background: #0D0818 !important;
  padding: 3.5rem 3rem 0 !important;
}

.oage-footer-inner {
  max-width: 1100px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1.5fr 1fr 1fr !important;
  gap: 3rem !important;
  padding-bottom: 2.5rem !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}

.oage-footer-col .oage-footer-logo,
.oage-footer-col .oage-pfooter-logo {
  color: #fff !important;
  font-size: 1.4rem !important;
  margin-bottom: 0.75rem !important;
}

.oage-footer-tagline {
  font-size: 0.85rem !important;
  color: rgba(255,255,255,0.35) !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

.oage-footer-heading {
  font-family: 'Outfit', sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.5) !important;
  margin-bottom: 1rem !important;
}

.oage-footer-links {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.55rem !important;
}

.oage-footer-links li {
  list-style: none !important;
}

.oage-footer-links a {
  font-size: 0.88rem !important;
  color: rgba(255,255,255,0.4) !important;
  text-decoration: none !important;
  transition: color 0.3s !important;
}

.oage-footer-links a:hover {
  color: #FF8E8E !important;
}

.oage-footer-bottom {
  text-align: center !important;
  padding: 1.25rem 0 !important;
  font-size: 0.75rem !important;
  color: rgba(255,255,255,0.2) !important;
}

/* Footer responsive */
@media (max-width: 900px) {
  .oage-footer-inner {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
    text-align: center !important;
  }

  .oage-footer-links {
    align-items: center !important;
  }

  .oage-footer,
  .oage-pfooter {
    padding: 2.5rem 1.25rem 0 !important;
  }
}

/* Old footer overrides — hide previous single-row styles */
.oage-pfooter-inner,
.oage-pfooter-links,
.oage-pfooter-copy,
.oage-footer-copy {
  display: none !important;
}

/* ═══════════════════════════════════════════
   POLICY PAGE TEMPLATE
   ═══════════════════════════════════════════ */
.oage-page-hero {
  background: linear-gradient(135deg, #1A0F2E 0%, #2D1B4E 100%) !important;
  padding: 4.5rem 3rem 3rem !important;
  text-align: center !important;
}

.oage-page-hero h1 {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 2.8rem !important;
  font-weight: 300 !important;
  color: #fff !important;
  margin: 0 !important;
}

.oage-page-content {
  padding: 3.5rem 3rem !important;
  background: var(--cream, #FFF8F2) !important;
}

.oage-page-inner {
  max-width: 780px !important;
  margin: 0 auto !important;
  font-size: 1rem !important;
  line-height: 1.85 !important;
  color: var(--text-mid, #4A3666) !important;
}

.oage-page-inner h2,
.oage-page-inner h3 {
  font-family: 'Cormorant Garamond', serif !important;
  color: var(--text-dark, #1A0F2E) !important;
  margin-top: 2rem !important;
  margin-bottom: 0.75rem !important;
}

.oage-page-inner h2 { font-size: 1.8rem !important; font-weight: 400 !important; }
.oage-page-inner h3 { font-size: 1.4rem !important; font-weight: 400 !important; }

.oage-page-inner p { margin-bottom: 1.25rem !important; }

.oage-page-inner ul, .oage-page-inner ol {
  padding-left: 1.5rem !important;
  margin-bottom: 1.25rem !important;
}

.oage-page-inner li { margin-bottom: 0.4rem !important; }

.oage-page-inner table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 1.5rem 0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

.oage-page-inner th {
  background: #1A0F2E !important;
  color: #fff !important;
  font-weight: 500 !important;
  padding: 0.85rem 1.25rem !important;
  text-align: left !important;
  font-size: 0.9rem !important;
}

.oage-page-inner td {
  padding: 0.75rem 1.25rem !important;
  border-bottom: 1px solid rgba(45,27,78,0.06) !important;
  font-size: 0.92rem !important;
}

.oage-page-inner tr:hover td {
  background: rgba(91,58,140,0.02) !important;
}

.oage-page-inner a {
  color: var(--coral, #FF6B6B) !important;
  text-decoration: none !important;
}

/* Hide Astra defaults on policy pages */
body.oage-policy-page .site-header,
body.oage-policy-page #ast-desktop-header,
body.oage-policy-page .ast-mobile-header-wrap,
body.oage-policy-page .site-footer,
body.oage-policy-page .ast-small-footer,
body.oage-policy-page .site-below-footer-wrap,
body.oage-policy-page .entry-header,
body.oage-policy-page .ast-footer-overlay {
  display: none !important;
}

body.oage-policy-page #page > .ast-container,
body.oage-policy-page .site-content .ast-container {
  max-width: 100% !important;
  padding: 0 !important;
}

body.oage-policy-page .entry-content { margin: 0 !important; padding: 0 !important; }
body.oage-policy-page #content { padding-top: 0 !important; }

@media (max-width: 900px) {
  .oage-page-hero { padding: 3rem 1.25rem 2rem !important; }
  .oage-page-hero h1 { font-size: 2rem !important; }
  .oage-page-content { padding: 2.5rem 1.25rem !important; }
}

/* ═══════════════════════════════════════════
   OFFER BOXES — 1x / 2x SELECTABLE
   ═══════════════════════════════════════════ */
.oage-offers {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.65rem !important;
  margin-bottom: 1rem !important;
}

.oage-offer {
  display: flex !important;
  align-items: center !important;
  gap: 0.85rem !important;
  padding: 1rem 1.25rem !important;
  border: 2px solid rgba(45,27,78,0.08) !important;
  border-radius: 14px !important;
  cursor: pointer !important;
  transition: all 0.25s !important;
  background: #fff !important;
  position: relative !important;
}

.oage-offer:hover {
  border-color: rgba(91,58,140,0.2) !important;
}

.oage-offer.active {
  border-color: var(--coral, #FF6B6B) !important;
  background: rgba(255,107,107,0.03) !important;
  box-shadow: 0 0 0 1px var(--coral, #FF6B6B) !important;
}

.oage-offer input[type="radio"] {
  display: none !important;
}

.oage-offer-radio {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  border-radius: 50% !important;
  border: 2px solid rgba(45,27,78,0.15) !important;
  transition: all 0.25s !important;
  position: relative !important;
}

.oage-offer.active .oage-offer-radio {
  border-color: var(--coral, #FF6B6B) !important;
}

.oage-offer.active .oage-offer-radio::after {
  content: '' !important;
  position: absolute !important;
  top: 3px !important;
  left: 3px !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background: var(--coral, #FF6B6B) !important;
}

.oage-offer-details {
  flex: 1 !important;
}

.oage-offer-name {
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  color: var(--text-dark, #1A0F2E) !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  flex-wrap: wrap !important;
}

.oage-offer-save-tag {
  display: inline-block !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  padding: 0.2rem 0.55rem !important;
  border-radius: 6px !important;
  background: var(--coral, #FF6B6B) !important;
  color: #fff !important;
}

.oage-offer-best {
  background: #4CAF50 !important;
}

.oage-offer-ship {
  font-size: 0.78rem !important;
  color: var(--text-light, #8B7BA0) !important;
  margin-top: 0.15rem !important;
}

.oage-offer-pricing {
  text-align: right !important;
  min-width: 100px !important;
}

.oage-offer-price {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  color: var(--coral, #FF6B6B) !important;
}

.oage-offer-orig {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 0.82rem !important;
  color: var(--text-light, #8B7BA0) !important;
  text-decoration: line-through !important;
}

/* ═══════════════════════════════════════════
   EXPRESS CHECKOUT SECTION
   ═══════════════════════════════════════════ */
.oage-express-checkout {
  margin-bottom: 1.25rem !important;
}

.oage-express-divider {
  display: flex !important;
  align-items: center !important;
  text-align: center !important;
  margin-bottom: 0.85rem !important;
}

.oage-express-divider::before,
.oage-express-divider::after {
  content: '' !important;
  flex: 1 !important;
  height: 1px !important;
  background: rgba(45,27,78,0.08) !important;
}

.oage-express-divider span {
  padding: 0 0.75rem !important;
  font-size: 0.78rem !important;
  color: var(--text-light, #8B7BA0) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  white-space: nowrap !important;
}

.oage-express-note {
  text-align: center !important;
  font-size: 0.75rem !important;
  color: var(--text-light, #8B7BA0) !important;
  margin-top: 0.5rem !important;
}

/* Style any WooCommerce express buttons that render */
.oage-express-checkout .wc-stripe-payment-request-wrapper,
.oage-express-checkout .woocommerce-proceed-to-checkout {
  margin: 0 !important;
}

@media (max-width: 480px) {
  .oage-offer {
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
  }
  .oage-offer-pricing {
    text-align: left !important;
    width: 100% !important;
    padding-left: 2.8rem !important;
  }
}

/* ═══════════════════════════════════════════
   PRODUCT VIDEO — GALLERY ITEM (SAME FRAME AS IMAGES)
   ═══════════════════════════════════════════ */
.oage-hp-main-wrap {
  position: relative !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 0 4px 28px rgba(45,27,78,0.05) !important;
  margin-bottom: 0.75rem !important;
  aspect-ratio: 1 / 1 !important;
}

.oage-hp-main-img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
}

.oage-hp-video-slot {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: #000 !important;
  z-index: 2 !important;
}

.oage-hp-video-slot video {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* Sound toggle — small pill, bottom-right */
.oage-vid-sound {
  position: absolute !important;
  bottom: 12px !important;
  right: 12px !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: rgba(0,0,0,0.5) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0.8rem !important;
  transition: all 0.2s !important;
  z-index: 5 !important;
  padding: 0 !important;
}

.oage-vid-sound:hover {
  background: rgba(0,0,0,0.7) !important;
}

/* Sale badge stays on top */
.oage-hp-sale-badge {
  z-index: 3 !important;
}

/* Video thumb in gallery row */
.oage-hp-thumb-vid {
  background: var(--violet-deep, #2D1B4E) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.1rem !important;
}

.oage-hp-thumb-vid.active {
  border-color: var(--coral, #FF6B6B) !important;
}


/* ═══════════════════════════════════════════════════════════
   CRITICAL FIX v3: PRODUCT PAGE MOBILE — FULL-WIDTH LAYOUT
   Fixes shrunken sections below checkout WITHOUT affecting gallery.
   ═══════════════════════════════════════════════════════════ */

/* ── 1. VIEWPORT LOCK — prevent horizontal overflow ── */
html {
  overflow-x: hidden !important;
}

body.oage-product-page,
body.single-product {
  max-width: 100vw !important;
  overflow-x: hidden !important;
  -webkit-text-size-adjust: 100% !important;
}

/* ── 2. BOX-SIZING for product page (was missing) ── */
body.oage-product-page *,
body.oage-product-page *::before,
body.oage-product-page *::after {
  box-sizing: border-box !important;
}

/* ── 3. NUKE ASTRA WRAPPERS — but NOT our own layout containers ── */
body.oage-product-page .ast-container,
body.oage-product-page .site-content .ast-container,
body.oage-product-page #page > .ast-container,
body.oage-product-page #page,
body.oage-product-page #primary,
body.oage-product-page #main,
body.oage-product-page .site-main,
body.oage-product-page .site-content,
body.oage-product-page #content,
body.oage-product-page .ast-woocommerce-container,
body.oage-product-page .ast-separate-container,
body.oage-product-page .ast-article-single,
body.oage-product-page .ast-single-post,
body.oage-product-page .ast-plain-container,
body.oage-product-page .ast-page-builder-template {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  float: none !important;
}

/* Also entry-content but keep it safe */
body.oage-product-page .entry-content,
body.oage-product-page article {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

/* ── 4. PROTECT GALLERY: Restore .oage-hp-inner padding ──
   The wrapper nuke above may cascade into our grid; re-assert it here. */
body.oage-product-page .oage-hp-inner {
  padding: 0 3rem !important;
}

body.oage-product-page .oage-hp-gallery {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

body.oage-product-page .oage-hp-main-wrap {
  aspect-ratio: 1 / 1 !important;
  width: 100% !important;
  max-width: 100% !important;
}

body.oage-product-page .oage-hp-main-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* ── 5. MOBILE ≤ 900px ── */
@media (max-width: 900px) {

  /* Restore gallery grid padding on mobile */
  body.oage-product-page .oage-hp-inner {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
    padding: 0 1.25rem !important;
  }

  body.oage-product-page .oage-hp-gallery {
    position: static !important;
    width: 100% !important;
  }

  /* ── Break content sections out of any parent constraint ── */
  body.oage-product-page .oage-reviews,
  body.oage-product-page .oage-problem,
  body.oage-product-page .oage-solution,
  body.oage-product-page .oage-wavelengths,
  body.oage-product-page .oage-vs,
  body.oage-product-page .oage-guarantee,
  body.oage-product-page .oage-inbox,
  body.oage-product-page .oage-faq,
  body.oage-product-page .oage-final-cta,
  body.oage-product-page .oage-pfooter {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }

  /* Offers */
  .oage-offers { width: 100% !important; }
  .oage-offer { padding: 1rem !important; font-size: 1rem !important; width: 100% !important; }
  .oage-offer-name { font-size: 1.05rem !important; }
  .oage-offer-price { font-size: 1.25rem !important; }
  .oage-offer-orig { font-size: 0.85rem !important; }
  .oage-offer-save-tag { font-size: 0.72rem !important; padding: 0.25rem 0.6rem !important; }
  .oage-offer-ship { font-size: 0.82rem !important; }

  /* Urgency */
  .oage-hp-urgency { font-size: 0.9rem !important; }

  /* ATC */
  .oage-hp-atc { width: 100% !important; }
  .oage-hp-atc-btn { font-size: 1.15rem !important; padding: 1.15rem 2rem !important; width: 100% !important; }

  /* Express checkout */
  .oage-express-checkout { width: 100% !important; }
  .oage-express-divider span { font-size: 0.82rem !important; }
  .oage-express-note { font-size: 0.82rem !important; }

  /* Trust + payments */
  .oage-hp-trust { width: 100% !important; }
  .oage-hp-trust-item { font-size: 0.85rem !important; }
  .oage-hp-payments { width: 100% !important; }
  .oage-hp-payments svg { width: 42px !important; height: 28px !important; }

  /* Reviews */
  .oage-reviews-title { font-size: 1.9rem !important; }
  .oage-reviews-grid { max-width: 100% !important; width: 100% !important; grid-template-columns: 1fr !important; }
  .oage-review-card { padding: 1.5rem 1.25rem !important; width: 100% !important; max-width: 100% !important; }
  .oage-review-stars { font-size: 1.15rem !important; }
  .oage-review-text { font-size: 1rem !important; line-height: 1.7 !important; }
  .oage-review-name { font-size: 0.95rem !important; }
  .oage-review-tag { font-size: 0.78rem !important; }

  /* Problem */
  .oage-problem-inner { max-width: 100% !important; width: 100% !important; }
  .oage-problem-title { font-size: 1.9rem !important; }
  .oage-problem-desc { font-size: 1rem !important; line-height: 1.7 !important; }
  .oage-problem-item { font-size: 1rem !important; }

  /* Solution */
  .oage-solution-title { font-size: 1.8rem !important; }
  .oage-sol-row, .oage-sol-row-rev { width: 100% !important; grid-template-columns: 1fr !important; }
  .oage-sol-text h3 { font-size: 1.5rem !important; }
  .oage-sol-text p { font-size: 1rem !important; line-height: 1.7 !important; }
  .oage-sol-img { width: 100% !important; }
  .oage-sol-img img { width: 100% !important; max-width: 100% !important; height: auto !important; }

  /* Wavelengths */
  .oage-wave-title { font-size: 1.8rem !important; }
  .oage-wave-cards { width: 100% !important; max-width: 100% !important; grid-template-columns: 1fr !important; }
  .oage-wave-card { width: 100% !important; padding: 1.5rem !important; }
  .oage-wave-card h3 { font-size: 1.2rem !important; }
  .oage-wave-card p { font-size: 1rem !important; }

  /* Comparison */
  .oage-vs-title { font-size: 1.8rem !important; }
  .oage-vs-table { width: 100% !important; max-width: 100% !important; }
  .oage-vs-header, .oage-vs-row { font-size: 0.85rem !important; width: 100% !important; }

  /* Guarantee */
  .oage-guarantee-inner { max-width: 100% !important; width: 100% !important; }
  .oage-guarantee-inner h2 { font-size: 1.7rem !important; }
  .oage-guarantee-inner p { font-size: 1rem !important; line-height: 1.7 !important; }

  /* In the box */
  .oage-inbox-title { font-size: 1.8rem !important; }
  .oage-inbox-grid { width: 100% !important; max-width: 100% !important; }
  .oage-inbox-item { font-size: 0.95rem !important; padding: 1.25rem !important; }

  /* FAQ */
  .oage-faq-title { font-size: 1.8rem !important; }
  .oage-faq-list { width: 100% !important; max-width: 100% !important; }
  .oage-faq-q { font-size: 1rem !important; padding: 1.1rem 1rem !important; width: 100% !important; }
  .oage-faq-a p { font-size: 0.95rem !important; line-height: 1.7 !important; }

  /* Final CTA */
  .oage-final-cta p { font-size: 0.95rem !important; }
  .oage-final-cta-btn { font-size: 1.1rem !important; padding: 1.1rem 2rem !important; width: 100% !important; max-width: 100% !important; }

  /* Sticky mobile */
  .oage-sticky-mobile-inner { width: 100% !important; }
  .oage-sticky-mobile-name { font-size: 0.88rem !important; }
  .oage-sticky-mobile-price { font-size: 1rem !important; }
  .oage-sticky-mobile-btn { font-size: 0.95rem !important; padding: 0.75rem 1.5rem !important; }

  /* Footer */
  .oage-footer-inner { width: 100% !important; max-width: 100% !important; }
}

/* ── 6. EXTRA SMALL ≤ 480px ── */
@media (max-width: 480px) {
  .oage-offer { padding: 0.85rem !important; }
  .oage-offer-name { font-size: 1rem !important; }
  .oage-offer-price { font-size: 1.15rem !important; }

  .oage-reviews-title, .oage-problem-title, .oage-solution-title,
  .oage-wave-title, .oage-vs-title, .oage-inbox-title, .oage-faq-title {
    font-size: 1.6rem !important;
  }

  .oage-guarantee-inner h2, .oage-final-cta h2 { font-size: 1.5rem !important; }
  .oage-hp-atc-btn { font-size: 1.1rem !important; padding: 1rem 1.5rem !important; }
  .oage-final-cta-btn { font-size: 1rem !important; padding: 1rem 1.5rem !important; }
  .oage-vs-header, .oage-vs-row { font-size: 0.8rem !important; padding: 0.65rem 0.5rem !important; }
}

/* ═══════════════════════════════════════════
   HIDE COUPON — NUCLEAR APPROACH
   ═══════════════════════════════════════════ */
.showcoupon,
a.showcoupon,
.woocommerce-form-coupon-toggle,
.woocommerce-form-coupon,
.checkout_coupon,
p.form-row-first.showcoupon,
p:has(.showcoupon),
.woocommerce-info:has(.showcoupon),
body.oage-product-page .woocommerce-mini-cart__buttons .coupon,
body.oage-product-page .widget_shopping_cart .coupon,
body.oage-product-page .woocommerce .showcoupon,
body.oage-product-page .woocommerce a.showcoupon,
body.oage-product-page .woocommerce-checkout .showcoupon,
body.oage-product-page .woocommerce .woocommerce-form-coupon-toggle,
body.single-product .showcoupon,
body.single-product a.showcoupon,
body.single-product .woocommerce-form-coupon-toggle,
body.single-product .woocommerce-form-coupon,
body.single-product .checkout_coupon {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
}
