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

:root {
  /* Warm neutral base anchored on #57534e (stone/taupe) */
  --color-bg: #f7f4f0;
  --color-bg-2: #efe9e2;
  --color-bg-white: #fffdfb;
  --color-bg-rgb: 247, 244, 240;
  --color-bg-white-rgb: 255, 253, 251;
  --color-surface: rgba(87,83,78,0.03);
  --color-surface-hover: rgba(87,83,78,0.06);

  --color-text: #2b2724;
  --color-text-secondary: #57534e;
  --color-text-muted: #9c948c;

  --color-border: #e6ddd3;
  --color-border-light: #f0e9e1;

  /* Mandatory accent palette — 4 distinct hues */
  --color-accent: #e631b1;
  --color-accent-2: #ede610;
  --color-accent-3: #0be78d;
  --color-accent-warm: #e4c33a;
  --color-accent-soft: #f1e4ed;
  --color-accent-2-soft: #f1f1e3;
  --color-accent-3-soft: #e3f1eb;
  --color-accent-warm-soft: #f0eee4;

  --color-star: #e4c33a;
  --color-success: #0ba86a;
  --color-badge: #e631b1;
  --color-info: #57534e;

  /* Footer — warm deep stone */
  --color-footer-bg: #3a3531;
  --color-footer-text: #f3ede6;
  --color-footer-muted: #a8998c;
  --color-footer-link: #d8ccc0;
  --color-footer-border: rgba(255,255,255,0.08);
  --color-footer-social-bg: rgba(255,255,255,0.07);
  --color-footer-social-border: rgba(255,255,255,0.12);

  --font-heading: 'Fraunces', 'Georgia', serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;

  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px;

  --shadow-xs: 0 1px 2px rgba(87,83,78,0.05);
  --shadow-sm: 0 2px 6px rgba(87,83,78,0.07);
  --shadow-md: 0 6px 16px rgba(87,83,78,0.09);
  --shadow-lg: 0 14px 34px rgba(87,83,78,0.12);
  --shadow-xl: 0 24px 50px rgba(87,83,78,0.16);
}

/* ── Hero: centered, warm layered glow ─────────────────────────────── */
.hero {
  text-align: center;
  background: linear-gradient(180deg, #fffdfb 0%, #f2ece4 100%);
}
.hero-content { text-align: center; margin-left: auto; margin-right: auto; }
.hero::before {
  content: '';
  position: absolute;
  top: -40%; left: -20%;
  width: 140%; height: 120%;
  background:
    radial-gradient(ellipse at 30% 20%, rgba(230,49,177,0.07) 0%, transparent 55%),
    radial-gradient(ellipse at 75% 30%, rgba(11,231,141,0.06) 0%, transparent 55%);
  pointer-events: none;
}
.hero-subtitle { max-width: 520px; margin-left: auto; margin-right: auto; }
.hero-actions { justify-content: center; }
.hero-badge {
  background: rgba(230,49,177,0.10);
  border: 1px solid rgba(230,49,177,0.28);
  color: #b8248c;
  backdrop-filter: blur(6px);
}

/* ── Glassy translucent header ─────────────────────────────────────── */
.site-header {
  background: rgba(255,253,251,0.72);
  backdrop-filter: blur(18px) saturate(180%);
  -webkit-backdrop-filter: blur(18px) saturate(180%);
}

/* ── Gradient-tinted CTA buttons ───────────────────────────────────── */
.btn-primary {
  background: linear-gradient(135deg, #e631b1 0%, #b8248c 100%);
  box-shadow: 0 6px 18px rgba(230,49,177,0.28);
}
.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(230,49,177,0.34);
  filter: brightness(1.03);
}
.btn-cta {
  background: linear-gradient(135deg, #e631b1 0%, #c9299a 100%);
  box-shadow: 0 4px 12px rgba(230,49,177,0.24);
}
.btn-cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(230,49,177,0.30);
  filter: brightness(1.04);
}
.btn-outline {
  border-color: #0ba86a;
  color: #0a8f5c;
}
.btn-outline:hover { background: var(--color-accent-3-soft); border-color: #0ba86a; }

/* ── Glassmorphism product cards with soft blur ────────────────────── */
.product-card {
  display: flex;
  flex-direction: column;
  background: rgba(255,253,251,0.66);
  backdrop-filter: blur(12px) saturate(140%);
  -webkit-backdrop-filter: blur(12px) saturate(140%);
  border: 1px solid rgba(230,221,211,0.7);
  box-shadow: var(--shadow-sm);
}
.product-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 40px rgba(230,49,177,0.10);
  border-color: rgba(230,49,177,0.28);
}
.card-body { flex: 1; display: flex; flex-direction: column; }
.card-body .btn-cta { margin-top: auto; }
.card-brand { color: var(--color-accent); }

/* Rounded pill badges */
.hero-badge, .card-badge, .card-quick-view,
.filter-btn, .nav-link, .top-pick-tag, .verified-badge {
  border-radius: 50px;
}
.card-badge {
  background: linear-gradient(135deg, #e631b1, #b8248c);
}

/* ── Category cards — glassy, teal-green accent ────────────────────── */
.category-card {
  background: rgba(255,253,251,0.6);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.category-card:hover { border-color: var(--color-accent-3); }
.category-icon {
  background: var(--color-accent-3-soft);
  color: #0a8f5c;
}

/* ── Newsletter (accent-2) ─────────────────────────────────────────── */
.newsletter-form button {
  background: linear-gradient(135deg, #cabf0a, #a89e08);
  color: #2b2724;
}
.newsletter-form button:hover { background: linear-gradient(135deg, #b8ae09, #968c07); transform: translateY(-1px); }
.faq-item[open] .faq-question::after { color: #a89e08; }

/* ── New widgets: glassy warm surfaces ─────────────────────────────── */
.price-history-section,
.user-reviews-section {
  background: rgba(255,253,251,0.7);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(230,221,211,0.7);
}
.pros-cons-widget,
.delivery-widget {
  background: rgba(239,233,226,0.55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid var(--color-border);
}
.delivery-item svg { color: var(--color-accent); }
.chart-bar {
  background: linear-gradient(180deg, rgba(230,49,177,0.25) 0%, #e631b1 100%);
}
.review-avatar {
  background: linear-gradient(135deg, #e631b1, #b8248c);
}
.social-proof-popup {
  background: rgba(255,253,251,0.85);
  backdrop-filter: blur(16px) saturate(160%);
  -webkit-backdrop-filter: blur(16px) saturate(160%);
  border: 1px solid rgba(230,221,211,0.8);
}
.popup-icon { background: var(--color-success); }

/* ── Decorative accent bar under section titles ────────────────────── */
.section-header .section-title {
  position: relative;
  padding-bottom: 14px;
}
.section-header .section-title::after {
  content: '';
  position: absolute;
  bottom: 0; left: 50%;
  transform: translateX(-50%);
  width: 56px; height: 3px;
  border-radius: 50px;
  background: linear-gradient(90deg, #e631b1, #e4c33a, #0be78d);
}

/* ── Warm airy body texture ────────────────────────────────────────── */
body {
  background:
    radial-gradient(circle at 12% 8%, rgba(228,195,58,0.05) 0%, transparent 40%),
    radial-gradient(circle at 88% 92%, rgba(11,231,141,0.04) 0%, transparent 42%),
    var(--color-bg);
}

/* ── Top picks / stars warm gold ───────────────────────────────────── */
.top-pick-rank, .stars, .stars-large, .testimonial-stars, .review-stars { color: #d4a017; }

/* Mobile: keep hero centered, lighten pseudo layers */
@media (max-width: 768px) {
  .hero { text-align: center; }
  .hero::before { opacity: 0.6; }
}