/* =============================================================
   Anlagewerkstatt Altersvorsorgedepot-Rechner — Scoped Styles
   Präfix avd-, wirkt nur innerhalb .avd-nav (siehe templates/rechner.php)
   Struktur bewusst identisch zum Schwesterprojekt "RINCA Sachwerte-
   Navigator" (assets/rinca-navigator.css) aufgebaut: CSS-Variablen am
   Wurzel-Container, keine :root-Nutzung, Modal-/Hidden-Klassen nach
   demselben Muster.
   ============================================================= */
.avd-nav {
  --avd-color-primary: #0b3556;
  --avd-color-primary-dark: #082639;
  --avd-color-secondary: #0f7a6c;
  --avd-color-accent: #c8952a;
  --avd-color-text: #1f2933;
  --avd-color-text-muted: #5b6875;
  --avd-color-bg: #ffffff;
  --avd-color-bg-alt: #f5f8fa;
  --avd-color-border: #dde3e8;
  --avd-color-success-bg: #eef7f2;
  --avd-color-success-text: #135c45;
  --avd-color-warning-bg: #fdf3e0;
  --avd-color-warning-text: #7a5310;
  --avd-color-error-bg: #fbeceb;
  --avd-color-error-text: #9c2a22;
  --avd-max-width: 1180px;
  --avd-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --avd-radius-lg: 16px;
  --avd-radius: 12px;
  --avd-radius-sm: 8px;
  --avd-shadow: 0 2px 16px rgba(11,53,86,0.08);
  --avd-shadow-sm: 0 1px 4px rgba(11,53,86,0.08);

  font-family: var(--avd-font-family);
  color: var(--avd-color-text);
  background: var(--avd-color-bg);
  line-height: 1.55;
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
}
.avd-nav *,
.avd-nav *::before,
.avd-nav *::after { box-sizing: inherit; }

.avd-nav img { max-width: 100%; display: block; }

.avd-nav .avd-container {
  max-width: var(--avd-max-width);
  margin: 0 auto;
  padding: 0 20px;
}

.avd-nav .avd-section { padding: 64px 0; border-bottom: 1px solid var(--avd-color-border); }
.avd-nav .avd-section:last-of-type { border-bottom: none; }
.avd-nav .avd-section-alt { background: var(--avd-color-bg-alt); }

.avd-nav .avd-eyebrow {
  display: inline-block; font-size: 13px; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase; color: var(--avd-color-secondary); margin: 0 0 10px;
}
.avd-nav .avd-h2 {
  font-size: clamp(24px, 3vw, 32px); line-height: 1.25; margin: 0 0 16px; color: var(--avd-color-primary); font-weight: 700;
}
.avd-nav .avd-h3 {
  font-size: clamp(18px, 2.2vw, 21px); line-height: 1.3; margin: 0 0 10px; color: var(--avd-color-primary-dark); font-weight: 700;
}
.avd-nav .avd-lead {
  font-size: 17px; color: var(--avd-color-text-muted); max-width: 760px; margin: 0 0 28px;
}
.avd-nav p { margin: 0 0 14px; }
.avd-nav ul, .avd-nav ol { margin: 0 0 14px; padding-left: 22px; }
.avd-nav li { margin-bottom: 6px; }
.avd-nav a { color: var(--avd-color-secondary); }
.avd-nav a:focus-visible,
.avd-nav button:focus-visible,
.avd-nav input:focus-visible,
.avd-nav select:focus-visible,
.avd-nav summary:focus-visible,
.avd-nav [tabindex]:focus-visible {
  outline: 3px solid var(--avd-color-accent); outline-offset: 2px;
}

/* --- Hero --- */
.avd-nav .avd-hero {
  background: linear-gradient(160deg, var(--avd-color-primary) 0%, var(--avd-color-primary-dark) 100%);
  color: #fff; padding: 72px 0 56px;
}
.avd-nav .avd-hero h1 {
  font-size: clamp(28px, 4.2vw, 44px); line-height: 1.15; margin: 0 0 16px; font-weight: 800; color: #fff;
}
.avd-nav .avd-hero-sub {
  font-size: 18px; max-width: 700px; color: #dbe6ee; margin: 0 0 28px;
}
.avd-nav .avd-hero-points {
  display: flex; flex-wrap: wrap; gap: 12px; padding: 0; margin: 0 0 30px; list-style: none;
}
.avd-nav .avd-hero-points li {
  background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.22);
  border-radius: 999px; padding: 8px 16px; font-size: 14px; font-weight: 600; margin: 0; color: #eef4f8;
}
.avd-nav .avd-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 26px; }
.avd-nav .avd-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  font-size: 15px; font-weight: 700; padding: 13px 24px; border-radius: 999px;
  border: 2px solid transparent; cursor: pointer; text-decoration: none; line-height: 1.2;
  transition: transform .12s ease, background-color .12s ease, border-color .12s ease;
  font-family: inherit;
}
.avd-nav .avd-btn-primary { background: var(--avd-color-accent); color: #2b1c02; }
.avd-nav .avd-btn-primary:hover { background: #d9a53c; }
.avd-nav .avd-btn-secondary { background: transparent; color: #fff; border-color: rgba(255,255,255,0.55); }
.avd-nav .avd-btn-secondary:hover { border-color: #fff; }
.avd-nav .avd-btn-outline { background: transparent; color: var(--avd-color-primary); border-color: var(--avd-color-primary); }
.avd-nav .avd-btn-outline:hover { background: var(--avd-color-primary); color: #fff; }
.avd-nav .avd-btn-ghost { background: transparent; color: var(--avd-color-text-muted); border-color: transparent; }
.avd-nav .avd-btn-ghost:hover { color: var(--avd-color-primary); }
/* Innerhalb heller Sektionen (nicht Hero/CTA) sollen Primary/Secondary auf hellem Grund lesbar sein */
.avd-nav .avd-section .avd-btn-secondary,
.avd-nav .avd-cta-inline .avd-btn-secondary { background: #fff; color: var(--avd-color-primary); border-color: var(--avd-color-border); }
.avd-nav .avd-section .avd-btn-secondary:hover { border-color: var(--avd-color-primary); background: var(--avd-color-bg-alt); }
@media (prefers-reduced-motion: reduce) {
  .avd-nav .avd-btn { transition: none; }
}

.avd-nav .avd-hero-notice {
  display: flex; gap: 12px; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.25);
  border-radius: var(--avd-radius); padding: 16px 18px; font-size: 14.5px; color: #eaf1f6; max-width: 720px;
}
.avd-nav .avd-hero-notice strong { color: #fff; }
.avd-nav .avd-notice-icon { flex: 0 0 auto; font-size: 18px; line-height: 1.4; }

.avd-nav .avd-cta-inline { margin-top: 18px; }

/* --- Status: beschlossen / offen --- */
.avd-nav .avd-status-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 8px; }
.avd-nav .avd-status-card {
  background: #fff; border: 1px solid var(--avd-color-border); border-radius: var(--avd-radius-lg);
  padding: 26px 26px 20px; box-shadow: var(--avd-shadow-sm);
}
.avd-nav .avd-status-card.is-done { border-top: 4px solid var(--avd-color-secondary); }
.avd-nav .avd-status-card.is-open { border-top: 4px solid var(--avd-color-accent); }
.avd-nav .avd-status-title { display:flex; align-items:center; gap:10px; margin-bottom: 14px; }
.avd-nav .avd-status-badge {
  width: 26px; height: 26px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  font-size: 15px; font-weight: 800; color: #fff; flex: 0 0 auto;
}
.avd-nav .is-done .avd-status-badge { background: var(--avd-color-secondary); }
.avd-nav .is-open .avd-status-badge { background: var(--avd-color-accent); }
.avd-nav .avd-status-card ul { padding-left: 20px; }
.avd-nav .avd-status-card li { font-size: 15px; }

/* --- Zeitstrahl --- */
.avd-nav .avd-timeline { list-style: none; margin: 8px 0 0; padding: 0; position: relative; }
.avd-nav .avd-timeline::before {
  content: ""; position: absolute; left: 15px; top: 6px; bottom: 6px; width: 2px; background: var(--avd-color-border);
}
.avd-nav .avd-timeline-item { position: relative; padding: 0 0 30px 46px; }
.avd-nav .avd-timeline-item:last-child { padding-bottom: 0; }
.avd-nav .avd-timeline-dot {
  position: absolute; left: 6px; top: 2px; width: 20px; height: 20px; border-radius: 50%;
  background: #fff; border: 3px solid var(--avd-color-secondary);
}
.avd-nav .avd-timeline-item.is-future .avd-timeline-dot { border-color: var(--avd-color-accent); }
.avd-nav .avd-timeline-date { font-weight: 800; color: var(--avd-color-primary); font-size: 14.5px; }
.avd-nav .avd-timeline-title { font-weight: 700; margin: 2px 0 4px; }
.avd-nav .avd-timeline-text { color: var(--avd-color-text-muted); font-size: 14.5px; margin: 0; }
@media (min-width: 760px) {
  .avd-nav .avd-timeline { display: grid; grid-template-columns: repeat(7,1fr); gap: 14px; }
  .avd-nav .avd-timeline::before { left: 0; right: 0; top: 15px; bottom: auto; width: auto; height: 2px; }
  .avd-nav .avd-timeline-item { padding: 40px 6px 0; }
  .avd-nav .avd-timeline-dot { left: 50%; top: 6px; transform: translateX(-50%); }
  .avd-nav .avd-timeline-date,
  .avd-nav .avd-timeline-title,
  .avd-nav .avd-timeline-text { text-align: center; }
}

/* --- Vergleichstabelle --- */
.avd-nav .avd-table-wrap { overflow-x: auto; border: 1px solid var(--avd-color-border); border-radius: var(--avd-radius); }
.avd-nav table.avd-compare-table { width: 100%; border-collapse: collapse; min-width: 720px; background: #fff; }
.avd-nav table.avd-compare-table caption { text-align: left; padding: 14px 18px 0; font-size: 13px; color: var(--avd-color-text-muted); }
.avd-nav table.avd-compare-table th, .avd-nav table.avd-compare-table td {
  padding: 13px 16px; text-align: left; border-bottom: 1px solid var(--avd-color-border); font-size: 14.5px; vertical-align: top;
}
.avd-nav table.avd-compare-table thead th {
  background: var(--avd-color-primary); color: #fff; position: sticky; top: 0; font-weight: 700;
}
.avd-nav table.avd-compare-table tbody tr:nth-child(even) { background: var(--avd-color-bg-alt); }
.avd-nav table.avd-compare-table td:first-child { font-weight: 700; color: var(--avd-color-primary-dark); white-space: nowrap; }
.avd-nav .avd-compare-hint {
  margin-top: 18px; background: var(--avd-color-warning-bg); color: var(--avd-color-warning-text);
  border: 1px solid #efd8a5; border-radius: var(--avd-radius); padding: 14px 18px; font-size: 14.5px;
}
@media (max-width: 640px) {
  .avd-nav table.avd-compare-table { min-width: 0; }
  .avd-nav table.avd-compare-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .avd-nav table.avd-compare-table,
  .avd-nav table.avd-compare-table tbody,
  .avd-nav table.avd-compare-table tr,
  .avd-nav table.avd-compare-table td { display: block; width: 100%; }
  .avd-nav table.avd-compare-table tr { border: 1px solid var(--avd-color-border); border-radius: var(--avd-radius-sm); margin-bottom: 12px; padding: 6px 4px; }
  .avd-nav table.avd-compare-table td { border-bottom: none; padding: 8px 12px; display: flex; gap: 10px; justify-content: space-between; }
  .avd-nav table.avd-compare-table td::before { content: attr(data-label); font-weight: 700; color: var(--avd-color-text-muted); flex: 0 0 44%; }
  .avd-nav table.avd-compare-table td:first-child { background: var(--avd-color-bg-alt); border-radius: var(--avd-radius-sm) var(--avd-radius-sm) 0 0; }
  .avd-nav table.avd-compare-table td:first-child::before { content: ""; }
}

/* --- Formularelemente Rechner --- */
.avd-nav .avd-calc-grid { display: grid; grid-template-columns: 1fr; gap: 28px; }
@media (min-width: 980px) {
  .avd-nav .avd-calc-grid { grid-template-columns: 420px 1fr; align-items: start; }
}
.avd-nav .avd-panel {
  background: #fff; border: 1px solid var(--avd-color-border); border-radius: var(--avd-radius-lg);
  box-shadow: var(--avd-shadow-sm); padding: 24px;
}
.avd-nav .avd-form-group { margin-bottom: 20px; }
.avd-nav .avd-fieldset-title {
  font-weight: 700; color: var(--avd-color-primary); font-size: 15px; margin-bottom: 12px; padding: 0;
}
.avd-nav fieldset.avd-fieldset {
  border: 1px solid var(--avd-color-border); border-radius: var(--avd-radius); padding: 16px 16px 4px; margin: 0 0 20px;
}
.avd-nav .avd-field { margin-bottom: 14px; }
.avd-nav .avd-field label { display: block; font-size: 13.5px; font-weight: 600; margin-bottom: 5px; color: var(--avd-color-text); }
.avd-nav .avd-field .avd-hint { display: block; font-size: 12.5px; color: var(--avd-color-text-muted); margin-top: 4px; }
.avd-nav .avd-row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.avd-nav input[type="number"],
.avd-nav input[type="text"],
.avd-nav input[type="email"],
.avd-nav input[type="tel"],
.avd-nav input[type="date"],
.avd-nav select {
  width: 100%; padding: 10px 12px; border: 1.5px solid var(--avd-color-border); border-radius: var(--avd-radius-sm);
  font-size: 15px; font-family: inherit; color: var(--avd-color-text); background: #fff;
}
.avd-nav input[type="number"]:focus,
.avd-nav input:focus,
.avd-nav select:focus { border-color: var(--avd-color-secondary); }
.avd-nav .avd-field.has-error input,
.avd-nav .avd-field.has-error select { border-color: var(--avd-color-error-text); background: #fffaf9; }
.avd-nav .avd-error-text {
  display: none; color: var(--avd-color-error-text); font-size: 12.5px; margin-top: 4px; font-weight: 600;
}
.avd-nav .avd-field.has-error .avd-error-text { display: block; }
.avd-nav .avd-checkbox-row { display: flex; align-items: flex-start; gap: 8px; font-size: 14px; margin-bottom: 8px; }
.avd-nav .avd-checkbox-row input { width: auto; margin-top: 3px; }
.avd-nav .avd-toggle-tabs { display: flex; gap: 8px; margin-bottom: 14px; flex-wrap: wrap; }
.avd-nav .avd-toggle-btn {
  flex: 1 1 auto; padding: 9px 10px; border-radius: var(--avd-radius-sm); border: 1.5px solid var(--avd-color-border);
  background: #fff; font-size: 13.5px; font-weight: 600; cursor: pointer; color: var(--avd-color-text-muted); font-family: inherit;
}
.avd-nav .avd-toggle-btn[aria-pressed="true"] {
  background: var(--avd-color-primary); border-color: var(--avd-color-primary); color: #fff;
}
.avd-nav .avd-sub-panel { display: none; }
.avd-nav .avd-sub-panel.is-active { display: block; }

/* --- Ergebnisbereich --- */
.avd-nav .avd-results-summary {
  background: var(--avd-color-primary); color: #fff; border-radius: var(--avd-radius-lg); padding: 22px 24px; margin-bottom: 22px;
}
.avd-nav .avd-results-summary h3 { color: #fff; }
.avd-nav .avd-hero-figure { font-size: clamp(26px,3.4vw,36px); font-weight: 800; margin: 4px 0; }
.avd-nav .avd-hero-figure small { font-size: 14px; font-weight: 500; display: block; color: #cfe0ea; }

.avd-nav .avd-cards-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; margin-bottom: 22px; }
@media (min-width: 640px) { .avd-nav .avd-cards-grid { grid-template-columns: repeat(3,1fr); } }
@media (min-width: 980px) { .avd-nav .avd-cards-grid { grid-template-columns: repeat(4,1fr); } }
.avd-nav .avd-result-card {
  background: #fff; border: 1px solid var(--avd-color-border); border-radius: var(--avd-radius); padding: 14px 16px;
}
.avd-nav .avd-result-card .avd-rc-label { font-size: 12.5px; color: var(--avd-color-text-muted); font-weight: 600; margin-bottom: 4px; }
.avd-nav .avd-result-card .avd-rc-value { font-size: 19px; font-weight: 800; color: var(--avd-color-primary-dark); }
.avd-nav .avd-result-card.is-accent { border-color: var(--avd-color-secondary); background: var(--avd-color-success-bg); }
.avd-nav .avd-result-card.is-accent .avd-rc-value { color: var(--avd-color-success-text); }

.avd-nav .avd-chart-block { margin-bottom: 26px; }
.avd-nav .avd-chart-legend { display: flex; flex-wrap: wrap; gap: 14px; margin: 10px 0 4px; font-size: 13px; }
.avd-nav .avd-legend-item { display: flex; align-items: center; gap: 6px; }
.avd-nav .avd-legend-swatch { width: 12px; height: 12px; border-radius: 3px; display: inline-block; }
.avd-nav svg.avd-svg { width: 100%; height: auto; display: block; }
.avd-nav .avd-svg text { font-family: var(--avd-font-family); }

.avd-nav .avd-scenario-table-wrap { overflow-x: auto; }
.avd-nav table.avd-scenario-table { width: 100%; border-collapse: collapse; min-width: 560px; }
.avd-nav table.avd-scenario-table th, .avd-nav table.avd-scenario-table td {
  padding: 10px 12px; border-bottom: 1px solid var(--avd-color-border); font-size: 14px; text-align: left;
}
.avd-nav table.avd-scenario-table thead th { background: var(--avd-color-bg-alt); font-weight: 700; }
.avd-nav table.avd-scenario-table input[type="number"] { width: 76px; padding: 5px 6px; font-size: 13.5px; }

.avd-nav details.avd-details {
  background: var(--avd-color-bg-alt); border: 1px solid var(--avd-color-border); border-radius: var(--avd-radius); padding: 4px 18px; margin-top: 4px;
}
.avd-nav details.avd-details summary {
  cursor: pointer; font-weight: 700; padding: 14px 0; color: var(--avd-color-primary); list-style: none; display: flex; align-items: center; justify-content: space-between;
}
.avd-nav details.avd-details summary::-webkit-details-marker { display: none; }
.avd-nav details.avd-details summary::after { content: "+"; font-size: 20px; font-weight: 400; margin-left: 12px; }
.avd-nav details.avd-details[open] summary::after { content: "–"; }
.avd-nav .avd-calc-steps { padding: 0 0 16px; font-size: 14px; }
.avd-nav .avd-calc-steps ol { padding-left: 20px; }
.avd-nav .avd-calc-steps li { margin-bottom: 10px; }
.avd-nav code.avd-code { background: #fff; border: 1px solid var(--avd-color-border); border-radius: 5px; padding: 1px 6px; font-size: 13px; }

.avd-nav .avd-result-cta { margin-top: 22px; text-align: center; }

.avd-nav .avd-alert { border-radius: var(--avd-radius); padding: 14px 16px; font-size: 14px; margin-bottom: 14px; border: 1px solid; }
.avd-nav .avd-alert-warning { background: var(--avd-color-warning-bg); border-color: #efd8a5; color: var(--avd-color-warning-text); }
.avd-nav .avd-alert-error { background: var(--avd-color-error-bg); border-color: #f0c4c0; color: var(--avd-color-error-text); }
.avd-nav .avd-alert-info { background: #eaf2f8; border-color: #c7dcec; color: var(--avd-color-primary-dark); }
.avd-nav [hidden] { display: none !important; }
.avd-nav .hidden { display: none !important; }

.avd-nav .avd-disclaimer-box {
  background: var(--avd-color-bg-alt); border-left: 4px solid var(--avd-color-primary); border-radius: 0 var(--avd-radius) var(--avd-radius) 0;
  padding: 14px 18px; font-size: 13.5px; color: var(--avd-color-text-muted); margin-top: 20px;
}

/* --- Beispiele --- */
.avd-nav .avd-example-grid { display: grid; grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 860px) { .avd-nav .avd-example-grid { grid-template-columns: repeat(3,1fr); } }
.avd-nav .avd-example-card {
  background: #fff; border: 1px solid var(--avd-color-border); border-radius: var(--avd-radius-lg); padding: 22px; box-shadow: var(--avd-shadow-sm);
}
.avd-nav .avd-example-card h4 { margin: 0 0 6px; color: var(--avd-color-primary); font-size: 17px; }
.avd-nav .avd-example-card .avd-example-meta { font-size: 13px; color: var(--avd-color-text-muted); margin-bottom: 14px; }
.avd-nav .avd-example-figures { list-style: none; padding: 0; margin: 0 0 14px; font-size: 14px; }
.avd-nav .avd-example-figures li { display: flex; justify-content: space-between; padding: 6px 0; border-bottom: 1px dashed var(--avd-color-border); }
.avd-nav .avd-example-figures li strong { color: var(--avd-color-primary-dark); }

/* --- Chancen/Risiken --- */
.avd-nav .avd-opp-grid { display: grid; grid-template-columns: 1fr; gap: 24px; }
@media (min-width: 760px) { .avd-nav .avd-opp-grid { grid-template-columns: 1fr 1fr; } }
.avd-nav .avd-opp-card { border-radius: var(--avd-radius-lg); padding: 24px; }
.avd-nav .avd-opp-card.avd-chances { background: var(--avd-color-success-bg); border: 1px solid #cfe8dc; }
.avd-nav .avd-opp-card.avd-risks { background: #fbeeee; border: 1px solid #f0c9c5; }
.avd-nav .avd-opp-card h3 { margin-top: 0; }

/* --- Riester-Bestand --- */
.avd-nav .avd-highlight-box {
  background: #fff4e0; border: 1px solid #edcf94; border-radius: var(--avd-radius); padding: 18px 20px; font-weight: 600; color: #6b4a10; margin-top: 10px;
}

/* --- FAQ --- */
.avd-nav .avd-faq-item {
  border: 1px solid var(--avd-color-border); border-radius: var(--avd-radius); margin-bottom: 10px; background: #fff;
}
.avd-nav .avd-faq-item summary {
  cursor: pointer; padding: 16px 18px; font-weight: 700; color: var(--avd-color-primary-dark); list-style: none;
  display: flex; justify-content: space-between; gap: 12px; align-items: center;
}
.avd-nav .avd-faq-item summary::-webkit-details-marker { display: none; }
.avd-nav .avd-faq-item summary::after { content: "+"; font-size: 22px; font-weight: 400; color: var(--avd-color-secondary); flex: 0 0 auto; }
.avd-nav .avd-faq-item[open] summary::after { content: "–"; }
.avd-nav .avd-faq-item .avd-faq-a { padding: 0 18px 18px; color: var(--avd-color-text); font-size: 14.5px; }

/* --- CTA --- */
.avd-nav .avd-cta {
  background: linear-gradient(160deg, var(--avd-color-secondary) 0%, #0b5148 100%); color: #fff; border-radius: var(--avd-radius-lg);
  padding: 40px 36px; text-align: center;
}
.avd-nav .avd-cta h2 { color: #fff; }
.avd-nav .avd-cta p { color: #dff0ea; max-width: 640px; margin-left: auto; margin-right: auto; }
.avd-nav .avd-cta-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 18px; }
.avd-nav .avd-cta .avd-btn-primary { background: #fff; color: var(--avd-color-secondary); }
.avd-nav .avd-cta .avd-btn-primary:hover { background: #eef7f4; }
.avd-nav .avd-cta .avd-btn-secondary { background: transparent; color: #fff; border-color: rgba(255,255,255,0.55); }

/* --- Legal --- */
.avd-nav .avd-legal-block { font-size: 13.5px; color: var(--avd-color-text-muted); }
.avd-nav .avd-legal-block h3 { color: var(--avd-color-primary-dark); font-size: 16px; }
.avd-nav .avd-sources-list { font-size: 13px; padding-left: 18px; }
.avd-nav .avd-sources-list li { margin-bottom: 8px; }
.avd-nav .avd-info-stand {
  display: inline-block; background: var(--avd-color-bg-alt); border: 1px solid var(--avd-color-border); border-radius: 999px;
  padding: 6px 14px; font-size: 12.5px; font-weight: 700; color: var(--avd-color-primary); margin-bottom: 18px;
}

/* =============================================================
   MODAL — gemeinsam für alle Anfrage-Arten (Beratung / Riester / PDF)
   Struktur identisch zum Schwesterprojekt RINCA Sachwerte-Navigator
   ============================================================= */
.avd-nav .avd-modal-backdrop {
  display: none; position: fixed; inset: 0; background: rgba(8,38,57,0.55); z-index: 999999;
  align-items: center; justify-content: center; padding: 20px; overflow-y: auto;
}
.avd-nav .avd-modal-backdrop.open { display: flex; }
.avd-nav .avd-modal {
  background: #fff; border-radius: var(--avd-radius-lg); padding: 28px; max-width: 480px; width: 100%;
  max-height: 90vh; overflow-y: auto; box-shadow: 0 20px 60px rgba(8,38,57,0.35);
}
.avd-nav .avd-modal h3 { color: var(--avd-color-primary); margin: 0 0 4px; font-size: 20px; }
.avd-nav .avd-modal label { display: block; font-size: 13px; font-weight: 700; margin: 12px 0 5px; color: var(--avd-color-text); text-transform: uppercase; letter-spacing: .3px; }
.avd-nav .avd-modal .avd-req { color: var(--avd-color-error-text); margin-left: 2px; }
.avd-nav .avd-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 6px; }
@media (max-width: 540px) { .avd-nav .avd-form-row { grid-template-columns: 1fr; } }
.avd-nav .avd-phone-wrap { display: grid; grid-template-columns: 120px 1fr; gap: 6px; }
@media (max-width: 380px) { .avd-nav .avd-phone-wrap { grid-template-columns: 1fr 1fr; } }
.avd-nav .avd-time-wrap { display: flex; align-items: center; gap: 6px; }
.avd-nav .avd-time-wrap select { width: auto; }
.avd-nav .avd-time-sep, .avd-nav .avd-time-unit { color: var(--avd-color-text-muted); font-size: 14px; }
.avd-nav .avd-errortext { display: none; color: var(--avd-color-error-text); font-size: 12.5px; margin-top: 4px; }
.avd-nav .avd-errortext.show { display: block; }
.avd-nav .avd-section-divider { border: none; border-top: 1px solid var(--avd-color-border); margin: 16px 0; }
.avd-nav .avd-check { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; font-weight: 400; text-transform: none; letter-spacing: 0; margin-top: 14px; color: var(--avd-color-text); }
.avd-nav .avd-check input { width: auto; margin-top: 3px; }
.avd-nav .avd-privacy-note { font-size: 12px; color: var(--avd-color-text-muted); margin-top: 10px; }
.avd-nav .avd-modal-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; }
.avd-nav .avd-submit-msg { margin-top: 14px; padding: 12px 14px; border-radius: 8px; font-size: 14px; display: none; }
.avd-nav .avd-submit-msg.ok { display: block; background: var(--avd-color-success-bg); border: 1px solid #cfe8dc; color: var(--avd-color-success-text); }
.avd-nav .avd-submit-msg.err { display: block; background: var(--avd-color-error-bg); border: 1px solid #f0c4c0; color: var(--avd-color-error-text); }

html.avd-nav-lock,
html.avd-nav-lock body { overflow: hidden !important; touch-action: none !important; }

.avd-nav .avd-visually-hidden {
  position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; padding: 0; margin: -1px;
}

@media (max-width: 760px) {
  .avd-nav .avd-section { padding: 44px 0; }
  .avd-nav .avd-status-grid { grid-template-columns: 1fr; }
  .avd-nav .avd-row-2 { grid-template-columns: 1fr; }
  .avd-nav .avd-cta { padding: 32px 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .avd-nav * { animation: none !important; transition: none !important; }
}
