/* Shared, traditional styling for the comparison and inquiry pages. */
:root {
  --blue: #243b50;
  --blue-dark: #172b3c;
  --blue-light: #edf0f1;
  --blue-mid: #496175;
  --green: #355d4e;
  --green-dark: #28483c;
  --green-light: #edf2ee;
  --orange: #806334;
  --orange-light: #f4efe4;
  --gold: #a58a56;
  --gold-light: #f4efe4;
  --purple: #243b50;
  --purple-light: #edf0f1;
  --gray-50: #faf9f6;
  --gray-100: #f3f1eb;
  --gray-200: #e0dcd2;
  --gray-300: #c7c1b5;
  --gray-400: #77756f;
  --gray-500: #686963;
  --gray-600: #555b59;
  --gray-700: #3f494b;
  --gray-800: #2b383f;
  --gray-900: #1c2f3e;
  --shadow-sm: 0 1px 2px rgba(28, 47, 62, .03);
  --shadow: 0 2px 6px rgba(28, 47, 62, .04);
  --shadow-md: 0 3px 12px rgba(28, 47, 62, .05);
  --shadow-lg: 0 6px 20px rgba(28, 47, 62, .06);
  --shadow-xl: 0 8px 28px rgba(28, 47, 62, .06);
  --radius-sm: 2px;
  --radius: 3px;
  --radius-md: 4px;
  --radius-lg: 4px;
  --radius-xl: 4px;
  --transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}

body { background: #f7f5f0; color: var(--gray-800); }
button, input, select { font-family: inherit; }
:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; }

.logo-text, .footer-logo-text, .hero-title, .page-title,
.section-title, .fc-title, .tc-title, .usp-title, .info-card h3 {
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 400;
  letter-spacing: -.015em;
}
.logo-text { font-size: 23px; }
.logo-text span { color: #806334; }
.header { background: #fffefa; backdrop-filter: none; box-shadow: none; }
.header-inner { height: 80px; }
.logo-mark {
  background: var(--blue);
  border: 1px solid #a58a56;
  border-radius: 2px;
  box-shadow: none;
}
.header-cta, .hcta { box-shadow: none; font-weight: 500; }
.header-cta:hover, .hcta:hover { box-shadow: none; transform: none; }

.hero, .page-hero {
  background: #243b50;
  border-bottom: 3px solid #a58a56;
  color: #fffefa;
}
.hero { padding: 64px 0; }
.page-hero { padding: 44px 0; }
.hero::before, .hero::after, .page-hero::before, .page-hero::after { display: none; }
.hero-title, .page-title { line-height: 1.18; }
.hero-title em, .page-title span {
  background: none;
  -webkit-text-fill-color: #e2d2af;
  color: #e2d2af;
}
.hero-sub, .page-sub { color: #e1e5e5; }
.hero-badge {
  background: transparent;
  border-color: #8c9a9f;
  border-radius: 2px;
  font-weight: 400;
  letter-spacing: .04em;
  backdrop-filter: none;
}
.hero-badge-dot { background: #d5c299; animation: none; }
.hero-switch {
  background: transparent;
  border: 1px solid #82919c;
  border-radius: 3px;
}
.hero-switch:hover, .hero-switch.active {
  background: rgba(255, 255, 255, .08);
  border-color: #d5c299;
  box-shadow: none;
  transform: none;
}
.hs-icon { background: transparent; border-radius: 2px; }
.hero-stats { background: transparent; border-color: #82919c; backdrop-filter: none; }
.hero-stat { border-color: #82919c; }
.hero-stat-val, .ps-val, .rate-big, .osc-rate, .calc-res-val {
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 400;
  letter-spacing: -.02em;
  font-variant-numeric: lining-nums tabular-nums;
}
.hero-stat-lbl, .hs-sub, .ps-lbl { color: #d3dadd; }
.page-stat { background: transparent; border-color: #82919c; }

.section-tag, .dur-btn, .preset, .chip { border-radius: 2px; }
.section-tag { background: transparent; padding-left: 0; letter-spacing: .12em; }
.section-title { font-size: clamp(28px, 3vw, 36px); }
.offer-card { border-width: 1px; }
.offer-card:hover, .usp-card:hover { box-shadow: var(--shadow-md); transform: none; }
.offer-card.featured { border-color: #a58a56; box-shadow: var(--shadow); }
.offer-card.featured::before { background: #a58a56; height: 2px; }
.offer-rank, .bank-type, .partner-chip, .offer-badge, .rate-promo,
.rate-dur-badge, .footer-trust-chip { border-radius: 2px; }
.rank-1, .partner-chip, .offer-badge {
  color: #71572c;
  background: #f4efe4;
  border-color: #d6c6a4;
}
.rank-3 { color: #68543f; background: #f3eee7; border-color: #d6c8b8; }
.cta-btn, .btn-submit {
  background: var(--blue);
  box-shadow: none;
  font-weight: 600;
}
.cta-btn:hover, .btn-submit:hover {
  background: var(--blue-dark);
  box-shadow: none;
  transform: none;
}
.dur-btn.active, .type-btn.active { box-shadow: none; }
.update-dot { animation: none; }
.fade-in { animation: none; }
.info-box { background: #f1f0ea; border-color: var(--gray-200); }
.calc-section { background: #eeebe3; border-block: 1px solid var(--gray-200); }
.calc-res.primary { border-color: #b7c3c8; }
.calc-input-wrap:focus-within, .fg-input:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 2px rgba(36, 59, 80, .12);
}

.antrag-wrap { padding-top: 36px; }
.antrag-layout { grid-template-columns: minmax(0, 1fr) 320px; gap: 32px; }
.antrag-layout > *, .fg-group, .fg-input, .type-btn { min-width: 0; }
.offer-summary-card {
  background: #fffefa;
  border: 1px solid #c8ba9b;
  box-shadow: var(--shadow-sm);
}
.offer-summary-card::before { width: 3px; background: #a58a56; }
.form-card { padding: 36px; box-shadow: var(--shadow-md); }
.fc-title { font-size: 28px; line-height: 1.25; }
.fc-subtitle { line-height: 1.7; }
.form-sec-title { font-weight: 600; letter-spacing: .08em; }
.fg-label { font-weight: 500; }
.fg-label .req { color: #806334; }
.fg-input { border-width: 1px; }
.fg-input::placeholder { color: #77756f; }
.type-btn { border-width: 1px; padding: 12px; }
.chip { font-family: inherit; }
.minimum-investment {
  margin: 0 0 22px;
  padding: 12px 16px;
  border-left: 3px solid #a58a56;
  background: #f4efe4;
  color: #574627;
  font-size: 14px;
  line-height: 1.6;
}
.minimum-investment strong { font-weight: 600; white-space: nowrap; }
.tc-title { font-size: 21px; }
.ti-icon { border-radius: 2px; }
.advisor-pill { background: #f4efe4; border-color: #d6c6a4; color: #574627; }

.footer { background: #1c2f3e; border-top: 2px solid #a58a56; }
.footer-logo-text span, .cookie-text a { color: #e2d2af; }
.footer-col h4, .footer-disc, .footer-copy { color: #b7c2c6; }
.footer-col ul a { color: #d3dadd; }
.cookie { border: 1px solid #a58a56; animation: none; }

@media (max-width: 860px) {
  .antrag-layout { grid-template-columns: minmax(0, 1fr); }
  .form-card { padding: 28px 22px; }
}
@media (max-width: 480px) {
  .header-inner { height: 72px; }
  .logo-text { font-size: 21px; }
  .hero, .page-hero { padding: 36px 0; }
  .hero-title { font-size: 34px; }
  .form-card { padding: 24px 18px; }
  .fc-title { font-size: 25px; }
  .calc-card { padding: 24px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .partners-track { animation-play-state: paused; }
}
