/* Blå Diamant visual tuning — 2026-09-20
   Presentation-only overrides. No booking, pricing, tracking or shop logic is changed. */

body.home-page,
body.prices-page {
  --text-muted: #b2c6dc;
  --text-dim: #879fba;
}

body.home-page #bg-canvas,
body.prices-page #bg-canvas {
  opacity: .72;
}

body.home-page section[id] {
  scroll-margin-top: 88px;
}

body.home-page .logo img,
body.prices-page .logo img {
  height: 60px;
  width: auto;
}

/* Bring the value proposition and calls-to-action into the first desktop view. */
body.home-page .hero {
  min-height: auto;
  padding: 76px 0 48px;
}

body.home-page .hero-diamond {
  margin-bottom: 18px;
}

body.home-page .hero-diamond .diamond-wrap {
  width: min(330px, 78vw);
  height: min(248px, 58.5vw);
}

body.home-page .hero-meta {
  margin-bottom: 14px;
}

body.home-page .hero h1 {
  font-size: clamp(3rem, 5.4vw, 4.35rem);
  margin-bottom: 14px;
}

body.home-page .hero-sub {
  margin-bottom: 22px;
  color: var(--text-muted);
}

body.home-page .hero-trust {
  margin-top: 26px;
}

body.home-page .hero-stats {
  margin-top: 32px;
}

body.home-page .stat-item {
  padding: 18px 16px;
}

body.home-page .stat-label,
body.home-page .platform-badge,
body.home-page .footer-bottom p,
body.home-page .footer-bottom a,
body.home-page .disclaimer {
  color: var(--text-dim);
}

body.home-page .reviews-section,
body.home-page .showcase,
body.home-page .hydrogel {
  padding-top: 76px;
  padding-bottom: 76px;
}

/* Images remain visible even if a reveal observer is delayed during a fast scroll. */
body.home-page .showcase-item.reveal {
  opacity: 1;
  transform: none;
}

/* Make the pricing page denser and clarify intentionally variable prices. */
body.prices-page .page-hero {
  padding: 118px 0 54px;
}

body.prices-page .section {
  padding-top: 42px;
}

body.prices-page .price-table td:nth-child(2):empty::after {
  content: "Kontakt os";
  color: var(--text-muted);
  font-size: .82rem;
  font-weight: 600;
  white-space: nowrap;
}

@media (max-width: 768px) {
  body.home-page .logo img,
  body.prices-page .logo img {
    height: 54px;
  }

  body.home-page .hero {
    padding: 82px 0 42px;
  }

  body.home-page .hero-diamond .diamond-wrap {
    width: min(88vw, 390px);
    height: min(66vw, 292px);
  }

  body.home-page .hero h1 {
    font-size: clamp(2.4rem, 11.5vw, 3rem);
  }

  body.home-page .hero-sub {
    margin-bottom: 22px;
  }

  body.home-page .hero-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(100%, 430px);
  }

  body.home-page .stat-item {
    min-width: 0;
    padding: 17px 8px;
  }

  body.home-page .stat-num {
    font-size: 1.75rem;
  }

  body.home-page .reviews-slider-container {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding: 0 24px 12px;
    scrollbar-width: none;
  }

  body.home-page .reviews-slider-container::-webkit-scrollbar {
    display: none;
  }

  body.home-page .reviews-track {
    animation: none;
  }

  body.home-page .review-card {
    width: min(82vw, 320px);
    scroll-snap-align: center;
  }

  body.home-page .reviews-section,
  body.home-page .showcase,
  body.home-page .hydrogel {
    padding-top: 58px;
    padding-bottom: 58px;
  }

  body.prices-page .page-hero {
    padding: 104px 20px 34px;
  }

  body.prices-page .section {
    padding-top: 24px;
  }

  body.prices-page .floating-actions {
    right: 12px;
    bottom: 14px;
    gap: 10px;
  }

  body.prices-page .fab-btn {
    width: 46px;
    height: 46px;
    font-size: 1.25rem;
  }

  body.prices-page .price-table th:nth-child(2),
  body.prices-page .price-table td:nth-child(2) {
    padding-right: 56px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home-page .diamond-hero-img,
  body.home-page .hero-aurora::before,
  body.home-page .hero-aurora::after {
    animation: none !important;
  }
}
