@import url('https://fonts.googleapis.com/css2?family=Catamaran:wght@400;500;600;700;800&family=Crimson+Pro:wght@400;500;600;700&display=swap');

:root {
  --color-accent: #1833ec;
  --color-accent-2: #e8297f;
  --color-accent-3: #bee408;
  --color-accent-warm: #e55409;
  --color-accent-soft: #e3e5f1;
  --color-accent-2-soft: #f1e4e9;
  --color-accent-3-soft: #eff2e3;
  --color-accent-warm-soft: #f2e8e3;
  --color-bg: #fafefd;
  --color-bg-2: #f0f7f6;
  --color-bg-white: #ffffff;
  --color-text: #0b1f1d;
  --color-text-secondary: #475a57;
  --color-text-muted: #7a8b89;
  --color-border: #d8e6e3;
  --color-border-light: #e8f0ee;
  --font-heading: 'Catamaran', 'Helvetica Neue', sans-serif;
  --font-body: 'Catamaran', -apple-system, sans-serif;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --shadow-sm: 0 1px 3px rgba(13, 148, 136, 0.06), 0 1px 2px rgba(0,0,0,0.04);
  --shadow-md: 0 4px 12px rgba(13, 148, 136, 0.08), 0 2px 4px rgba(0,0,0,0.04);
  --shadow-lg: 0 12px 28px rgba(13, 148, 136, 0.12), 0 4px 10px rgba(0,0,0,0.04);
  --shadow-xl: 0 24px 48px rgba(13, 148, 136, 0.14), 0 8px 16px rgba(0,0,0,0.05);
}

body {
  background:
    linear-gradient(180deg, #fafefd 0%, #f0f7f6 100%);
  background-attachment: fixed;
}

/* Mountain contour lines decorative layer */
.hero {
  background:
    linear-gradient(180deg, #ffffff 0%, #ecf6f4 100%);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 400' preserveAspectRatio='none'><path d='M0,320 L120,280 L240,300 L360,220 L480,260 L600,180 L720,240 L840,160 L960,210 L1080,140 L1200,200 L1200,400 L0,400 Z' fill='none' stroke='%230d9488' stroke-width='1.2' opacity='0.18'/><path d='M0,360 L150,320 L300,340 L450,270 L600,310 L750,240 L900,290 L1050,210 L1200,260 L1200,400 L0,400 Z' fill='none' stroke='%230d9488' stroke-width='1' opacity='0.12'/><path d='M0,380 L100,355 L220,365 L340,305 L460,335 L580,275 L700,315 L820,245 L940,285 L1060,225 L1200,275' fill='none' stroke='%230f766e' stroke-width='0.8' opacity='0.1'/></svg>");
  background-position: bottom center;
  background-size: 100% 70%;
  background-repeat: no-repeat;
  pointer-events: none;
  z-index: 0;
}

.hero-content { position: relative; z-index: 1; text-align: center; }
.hero-actions { justify-content: center; }
.hero-subtitle { max-width: 540px; margin-left: auto; margin-right: auto; }

.hero-badge {
  font-family: 'Crimson Pro', serif;
  letter-spacing: 2px;
  background: #ffffff;
  color: #0d9488;
  border: 1px solid #0d9488;
  box-shadow: 0 2px 8px rgba(13, 148, 136, 0.12);
}

.hero-title {
  font-family: 'Catamaran', sans-serif;
  font-weight: 800;
  letter-spacing: -1.5px;
}

.hero-title em,
.hero-title-accent {
  font-family: 'Crimson Pro', serif;
  font-style: italic;
  font-weight: 500;
  color: #0d9488;
}

.announcement-bar {
  background: #0b1f1d;
}
.announcement-bar strong { color: #5eead4; }

.site-header {
  border-bottom: 1px solid #d8e6e3;
}

.nav-link.active {
  color: #0d9488;
  background: rgba(13, 148, 136, 0.08);
}

.btn-primary {
  background: #0d9488;
  box-shadow: 0 4px 14px rgba(13, 148, 136, 0.28);
}
.btn-primary:hover {
  background: #0f766e;
  filter: none;
  box-shadow: 0 8px 20px rgba(13, 148, 136, 0.35);
}

.btn-outline {
  border: 1.5px solid #0d9488;
  color: #0d9488;
  background: #ffffff;
}
.btn-outline:hover {
  background: rgba(13, 148, 136, 0.08);
  color: #0f766e;
}

.btn-cta {
  background: #0d9488;
  box-shadow: 0 2px 8px rgba(13, 148, 136, 0.22);
}
.btn-cta:hover {
  background: #0f766e;
  filter: none;
}

.section-title {
  font-family: 'Catamaran', sans-serif;
  font-weight: 700;
  letter-spacing: -0.5px;
}

.section-title em {
  font-family: 'Crimson Pro', serif;
  font-style: italic;
  font-weight: 500;
  color: #0d9488;
}

.product-card {
  display: flex !important;
  flex-direction: column !important;
  border: 1px solid #d8e6e3;
  background: #ffffff;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.product-card:hover {
  transform: translateY(-6px);
  border-color: #0d9488;
  box-shadow: 0 16px 36px rgba(13, 148, 136, 0.15);
}
.card-body {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}
.card-body .btn-cta { margin-top: auto !important; }

.card-brand { color: #0d9488; }

.category-card {
  background: #ffffff;
  border: 1px solid #d8e6e3;
  transition: all var(--transition);
}
.category-card:hover {
  border-color: #0d9488;
  box-shadow: 0 12px 28px rgba(13, 148, 136, 0.14);
  transform: translateY(-4px);
}
.category-icon {
  background: rgba(13, 148, 136, 0.1);
  color: #0d9488;
}

.categories-section,
.faq-section,
.testimonials-section,
.top-picks-section {
  position: relative;
}

.faq-section {
  background: linear-gradient(180deg, #f0f7f6 0%, #fafefd 100%);
}
.faq-item[open] { border-color: #0d9488; }
.faq-item[open] .faq-question::after { color: #0d9488; }

.testimonials-section {
  background: linear-gradient(180deg, #ecf6f4 0%, #fafefd 100%);
}

.top-picks-section {
  background: linear-gradient(180deg, #fafefd 0%, #f0f7f6 100%);
}
.top-pick-rank { color: #0d9488; }
.top-pick-item:hover { border-color: #0d9488; }
.top-pick-tag {
  background: rgba(13, 148, 136, 0.1);
  color: #0d9488;
}

.guide-card:hover { border-color: #0d9488; }
.guide-number {
  background: #0d9488;
}

.stats-section {
  background: linear-gradient(135deg, #0d9488 0%, #0f766e 100%);
  position: relative;
  overflow: hidden;
}
.stats-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 200' preserveAspectRatio='none'><path d='M0,160 L150,110 L300,140 L450,70 L600,110 L750,50 L900,90 L1050,40 L1200,80 L1200,200 L0,200 Z' fill='none' stroke='%23ffffff' stroke-width='1' opacity='0.18'/><path d='M0,180 L120,150 L260,165 L400,115 L540,145 L680,95 L820,125 L960,80 L1100,110 L1200,90' fill='none' stroke='%23ffffff' stroke-width='0.8' opacity='0.12'/></svg>");
  background-size: cover;
  background-position: center;
  pointer-events: none;
}
.stats-grid { position: relative; z-index: 1; }
.stat-number {
  font-family: 'Catamaran', sans-serif;
  font-weight: 800;
}

.newsletter-section {
  background: #ecf6f4;
  border-top: 1px solid #d8e6e3;
  border-bottom: 1px solid #d8e6e3;
}
.newsletter-form input:focus { border-color: #0d9488; }
.newsletter-form button {
  background: #0d9488;
}
.newsletter-form button:hover {
  background: #0f766e;
  transform: translateY(-1px);
}

.trust-item svg { color: #0d9488; }

.site-footer {
  background: #0b1f1d;
  color: #d4e9e6;
  position: relative;
  overflow: hidden;
}
.site-footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 80px;
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 80' preserveAspectRatio='none'><path d='M0,60 L150,30 L300,50 L450,15 L600,40 L750,10 L900,35 L1050,5 L1200,25 L1200,0 L0,0 Z' fill='%230d9488' opacity='0.15'/></svg>");
  background-size: cover;
  pointer-events: none;
}
.footer-grid { position: relative; z-index: 1; }
.social-links a:hover {
  background: #0d9488;
  border-color: #0d9488;
}

.cookie-banner button {
  background: #0d9488;
}

/* Search overlay */
.search-input:focus {
  border-color: #0d9488;
  box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.12);
}

/* Widgets */
.price-history-section,
.user-reviews-section {
  background: #ffffff;
  border: 1px solid #d8e6e3;
  box-shadow: 0 4px 16px rgba(13, 148, 136, 0.06);
  position: relative;
  overflow: hidden;
}
.price-history-section::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 200px;
  height: 100%;
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><path d='M0,150 L40,120 L80,135 L120,90 L160,115 L200,80' fill='none' stroke='%230d9488' stroke-width='1' opacity='0.15'/><path d='M0,170 L40,145 L80,155 L120,115 L160,140 L200,105' fill='none' stroke='%230d9488' stroke-width='0.8' opacity='0.1'/></svg>");
  background-size: cover;
  pointer-events: none;
}
.chart-bar {
  background: linear-gradient(180deg, rgba(13, 148, 136, 0.2) 0%, #0d9488 100%);
}
.chart-bar-current {
  background: linear-gradient(180deg, #14b8a6 0%, #0d9488 100%);
  box-shadow: 0 0 16px rgba(13, 148, 136, 0.4);
}
.chart-note {
  background: rgba(13, 148, 136, 0.08);
  color: #0d9488;
}

.pros-cons-widget {
  background: #f0f7f6;
  border: 1px solid #d8e6e3;
}
.pros-cons-widget h3 {
  font-family: 'Catamaran', sans-serif;
  font-weight: 700;
}

.delivery-widget {
  background: #f0f7f6;
  border: 1px solid #d8e6e3;
}
.delivery-item svg { color: #0d9488; }

.social-proof-popup {
  background: #ffffff;
  border: 1px solid #d8e6e3;
  box-shadow: 0 12px 32px rgba(13, 148, 136, 0.18);
}
.popup-icon { background: #0d9488; }

.review-avatar { background: #0d9488; }

.reviews-summary { border-bottom-color: #d8e6e3; }

.brand-initial {
  background: linear-gradient(135deg, #0d9488 0%, #0f766e 100%);
}

.trending-rank { color: #0d9488; }
.trending-item:hover { background: #ecf6f4; }

/* Subtle alpine ridge animation accent */
@keyframes alpine-drift {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(-8px); }
}

.hero-badge::before {
  content: '▲';
  font-size: 10px;
  margin-right: 2px;
  display: inline-block;
  animation: alpine-drift 6s ease-in-out infinite;
}

@media (max-width: 768px) {
  .hero::before { background-size: 100% 50%; opacity: 0.6; }
  .price-history-section::after { display: none; }
}