:root {
  --accent: #c2a232;
  --beige: #f5ede0;
  --beige-light: #faf4ec;
  --beige-lighter: #fdf9f4;
}

html { scroll-behavior: smooth; overflow-x: hidden; }
body { font-family: 'Source Sans 3', sans-serif; overflow-x: hidden; max-width: 100%; }
.font-display { font-family: 'Cormorant Garamond', serif !important; line-height: 1.15 !important; }
.font-sans { font-family: 'Source Sans 3', sans-serif; }
.bg-accent { background-color: var(--accent) !important; }
.text-accent { color: var(--accent) !important; }

/* ── Header ─────────────────────────────────────────────────────────────── */
#site-header.is-dark {
  background-color: rgba(10, 10, 10, 0.82);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
#mobile-drawer-overlay.open { opacity: 1; pointer-events: auto; }
#mobile-drawer.open { transform: translateX(0); }
#menu-toggle.open .menu-bar:nth-child(1) { transform: rotate(45deg) translateY(8px); }
#menu-toggle.open .menu-bar:nth-child(2) { opacity: 0; }
#menu-toggle.open .menu-bar:nth-child(3) { transform: rotate(-45deg) translateY(-8px); }

/* ── Fade-in (IntersectionObserver-gestützt, entspricht useFadeIn) ────────── */
.fade-in,
.fade-in-x-left,
.fade-in-x-right {
  opacity: 0;
  transition: opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1), transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
}
.fade-in { transform: translateY(32px); }
.fade-in-x-left { transform: translateX(-40px); }
.fade-in-x-right { transform: translateX(40px); }
.fade-in.is-visible,
.fade-in-x-left.is-visible,
.fade-in-x-right.is-visible {
  opacity: 1;
  transform: translate(0, 0);
}

/* ── Hero wave-in ───────────────────────────────────────────────────────── */
.hero-wave-word {
  opacity: 0;
  animation: heroWaveIn 0.9s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
@keyframes heroWaveIn {
  0% { opacity: 0; transform: translateY(60px); }
  60% { opacity: 1; }
  100% { opacity: 1; transform: translateY(0); }
}

/* ── Word reveal ────────────────────────────────────────────────────────── */
.word-reveal-word { color: #e8dcc8; transition: color 0.6s; }
.word-reveal-word.is-revealed { color: #1a1a1a; }

/* ── Marquee (Reviews) ──────────────────────────────────────────────────── */
@keyframes marquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.marquee-track { animation: marquee 40s linear infinite; }
.marquee-track:hover { animation-play-state: paused; }
.marquee-fade {
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
}

/* ── Danke-Seite Checkmark ──────────────────────────────────────────────── */
@keyframes circleIn { to { stroke-dashoffset: 0; } }
@keyframes checkIn { to { stroke-dashoffset: 0; } }

/* ── FAQ ─────────────────────────────────────────────────────────────────── */
.faq-item.open .faq-icon { color: var(--accent); transform: rotate(45deg); }
.faq-item .faq-answer { max-height: 0; opacity: 0; }
.faq-item.open .faq-answer { opacity: 1; }

/* ── Quiz-Karten ────────────────────────────────────────────────────────── */
.quiz-card {
  border: 1px solid #e8d9c0;
  background-color: #fdf9f4;
  padding: 11px 18px;
  cursor: pointer;
  transition: all 0.15s;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 10px;
  user-select: none;
  width: 100%;
  max-width: 20rem;
}
.quiz-card.tier-1 { background-color: #f6e8c9; border-color: #ecdaad; }
.quiz-card.tier-2 { background-color: #f1e4c8; border-color: #e6d4a8; }
.quiz-card.tier-3 { background-color: #ecdcb8; border-color: #dfcb9a; }
.quiz-card.active { border: 1.5px solid #c2a232; background-color: #fef6e4; }
.quiz-card .quiz-card-icon { color: #8a7a5c; flex-shrink: 0; }
.quiz-card.active .quiz-card-icon { color: #c2a232; }
.quiz-card .quiz-card-label { font-family: 'Cormorant Garamond', serif; font-size: 15px; color: #3a3226; font-weight: 400; }
.quiz-card.active .quiz-card-label { color: #c2a232; font-weight: 600; }

.quiz-input {
  width: 100%;
  border: 1px solid #e8d9c0;
  padding: 12px 16px;
  color: #55493a;
  font-size: 14px;
  text-align: center;
  background-color: #fff;
  outline: none;
  transition: border-color 0.15s;
}
.quiz-input:focus { border-color: #c2a232; }
.quiz-input::placeholder { text-align: center; color: #ab9c82; }

.quiz-btn-accent {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 20px; border-radius: 999px; font-weight: 600;
  font-size: 14px; letter-spacing: 0.02em; white-space: nowrap;
  background-color: #c2a232; color: #fff; transition: all .2s; border: none; cursor: pointer;
}
.quiz-btn-accent:hover:not(:disabled) { background-color: #a88a28; box-shadow: 0 4px 12px rgba(0,0,0,.15); transform: scale(1.03); }
.quiz-btn-accent:disabled { opacity: .5; cursor: not-allowed; }
.quiz-back-btn {
  display: inline-flex; align-items: center; gap: 4px; font-size: 14px; color: #ab9c82;
  background: none; border: none; cursor: pointer; transition: color .2s;
  font-family: 'Cormorant Garamond', serif; letter-spacing: .02em;
}
.quiz-back-btn:hover { color: #c2a232; }
.quiz-skip-link {
  color: #c2a232; font-size: 14px; text-decoration: underline; text-underline-offset: 3px;
  font-family: 'Cormorant Garamond', serif; letter-spacing: .02em; background: none; border: none; cursor: pointer;
  transition: opacity .2s;
}
.quiz-skip-link:hover { opacity: .7; }

.quiz-dropdown-btn {
  width: 100%; display: flex; align-items: center; justify-content: space-between;
  padding: 7px 12px; background-color: #fff; border: 1px solid #d4c4a8; cursor: pointer;
  font-family: 'Cormorant Garamond', serif; font-size: 15px; color: #1a1a1a; letter-spacing: .03em;
  transition: border-color .15s; user-select: none;
}
.quiz-dropdown-btn.open { border-color: #c2a232; }
.quiz-dropdown-list {
  position: absolute; top: calc(100% + 2px); left: 0; right: 0; background: #fff;
  border: 1px solid #c2a232; z-index: 100; max-height: 200px; overflow-y: auto;
  box-shadow: 0 8px 24px rgba(0,0,0,.10);
}
.quiz-dropdown-item {
  width: 100%; text-align: left; padding: 8px 12px; font-family: 'Cormorant Garamond', serif;
  font-size: 14px; letter-spacing: .02em; color: #1a1a1a; background: #fff; font-weight: 400;
  border: none; cursor: pointer; transition: background-color .1s;
}
.quiz-dropdown-item:hover { background-color: #faf4ec; }
.quiz-dropdown-item.active { color: #c2a232; background-color: #fdf9f4; font-weight: 600; }

.quiz-calendar-day {
  width: 30px; height: 30px; font-size: 12px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; margin: 0 auto;
  border: 1px solid transparent; cursor: pointer; transition: all .15s; background: transparent; color: #3a3a3a;
}
.quiz-calendar-day:hover:not(.past):not(.selected) { border-color: #c2a232; }
.quiz-calendar-day.past { color: #d1c8bc; cursor: default; }
.quiz-calendar-day.selected { background-color: #c2a232; color: #fff; font-weight: 600; }

@keyframes pulse { 0%,100% { opacity: 1; } 50% { opacity: .5; } }

/* Spinner */
.quiz-spinner {
  width: 48px; height: 48px; border-radius: 50%;
  border: 2px solid #e8d9c0; border-top-color: #c2a232;
  animation: spin 0.8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }
