/* (c) 2026 ibis acam Bildungs GmbH — AQUA-Kostenrechner, Stile */
#ia-aqua {
  /* --- Farbtokens: ibis acam Markenwelt, TalentLink-Leitfarbe Magenta --- */
  --iaq-magenta:      #E6007E;
  --iaq-magenta-tief: #A8005C;
  --iaq-blau:         #0058A2;
  --iaq-petrol:       #005F6A;
  --iaq-gelb:         #FCC700;

  --iaq-grund:        #F5F8FB;
  --iaq-flaeche:      #FFFFFF;
  --iaq-flaeche-2:    #EDF4FA;
  --iaq-linie:        #E3EAF2;
  --iaq-linie-stark:  #C9D6E4;
  --iaq-text:         #1F2937;
  --iaq-text-leise:   #4B5563;
  --iaq-auf-farbe:    #FFFFFF;
  --iaq-schatten:     0 1px 2px rgba(28,18,25,.05), 0 12px 32px -12px rgba(28,18,25,.18);
  --iaq-schatten-tief:0 2px 4px rgba(28,18,25,.06), 0 30px 70px -22px rgba(168,0,92,.35);

  --iaq-radius:       24px;
  --iaq-radius-klein: 14px;
  --iaq-radius-feld:  8px;
  --iaq-ease:         cubic-bezier(.22,.9,.24,1);
  --iaq-karte:        linear-gradient(168deg, #FCFDFF 0%, #F4F8FC 56%, #ECF3FA 100%);
  --iaq-s1:           0 1px 0 #fff inset, 0 1px 2px rgba(0,61,113,.05), 0 6px 16px -6px rgba(0,61,113,.12);
  --iaq-s2:           0 1px 0 #fff inset, 0 2px 6px rgba(0,61,113,.06), 0 18px 38px -24px rgba(0,61,113,.34);
  --iaq-s3:           0 1px 0 #fff inset, 0 4px 12px rgba(0,61,113,.08), 0 28px 56px -18px rgba(0,61,113,.30);
  --iaq-s-magenta:    0 18px 36px -18px #E6007E;

  --iaq-display: "Montserrat", "Trebuchet MS", system-ui, sans-serif;
  --iaq-body:    "Mulish", "Trebuchet MS", system-ui, sans-serif;

  box-sizing: border-box;
  max-width: 1120px;
  margin: 0 auto;
  padding-block: 28px 40px;
  padding-inline: 16px;
  background: transparent;
  color: var(--iaq-text);
  font-family: var(--iaq-body);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

:root[data-theme="dark"] #ia-aqua {
  --iaq-magenta:      #FF3D9E;
  --iaq-magenta-tief: #C4187A;
  --iaq-blau:         #4F9BE0;
  --iaq-petrol:       #3FA9B6;
  --iaq-gelb:         #FFD540;
  --iaq-grund:        #151014;
  --iaq-flaeche:      #1F1821;
  --iaq-flaeche-2:    #2A2029;
  --iaq-linie:        #372B34;
  --iaq-linie-stark:  #52414D;
  --iaq-text:         #F6EFF3;
  --iaq-text-leise:   #B09BA8;
  --iaq-auf-farbe:    #151014;
  --iaq-schatten:     0 1px 2px rgba(0,0,0,.4), 0 12px 32px -12px rgba(0,0,0,.6);
  --iaq-schatten-tief:0 2px 4px rgba(0,0,0,.4), 0 30px 70px -22px rgba(255,61,158,.3);
  --iaq-karte:        linear-gradient(168deg, #241C24 0%, #1F1821 56%, #1A1319 100%);
  --iaq-s1:           0 1px 0 rgba(255,255,255,.04) inset, 0 6px 16px -6px rgba(0,0,0,.5);
  --iaq-s2:           0 1px 0 rgba(255,255,255,.05) inset, 0 18px 38px -24px rgba(0,0,0,.7);
  --iaq-s3:           0 1px 0 rgba(255,255,255,.05) inset, 0 28px 56px -18px rgba(0,0,0,.75);
}

#ia-aqua *, #ia-aqua *::before, #ia-aqua *::after { box-sizing: border-box; }
#ia-aqua p, #ia-aqua h1, #ia-aqua h2, #ia-aqua h3, #ia-aqua ul, #ia-aqua li, #ia-aqua figure { margin: 0; }
#ia-aqua ul { list-style: none; padding: 0; }
#ia-aqua :focus-visible { outline: 3px solid var(--iaq-magenta); outline-offset: 3px; border-radius: 6px; }
#ia-aqua .iaq-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }

/* ---------- Icon-Plättchen wie auf der Startseite: abgerundetes Quadrat,
   Verlauf der Bereichsfarbe, weißes Icon, Innenkante, farbiger Schatten ---------- */
#ia-aqua .iaq-icon {
  --iaq-ton: var(--iaq-magenta);
  display: inline-flex; align-items: center; justify-content: center; flex: none;
  width: 40px; height: 40px; border-radius: 14px; color: #FFFFFF;
  background: var(--iaq-ton);
  background: linear-gradient(160deg, color-mix(in srgb, var(--iaq-ton) 72%, #fff), var(--iaq-ton));
  box-shadow: 0 1px 0 rgba(255,255,255,.45) inset, 0 10px 20px -10px var(--iaq-ton);
  transition: transform .35s var(--iaq-ease), box-shadow .35s var(--iaq-ease);
}
#ia-aqua .iaq-icon svg { width: 20px; height: 20px; fill: currentColor; display: block; }
#ia-aqua .iaq-icon[data-ton="blau"]   { --iaq-ton: var(--iaq-blau); }
#ia-aqua .iaq-icon[data-ton="petrol"] { --iaq-ton: var(--iaq-petrol); }
#ia-aqua .iaq-icon[data-ton="gelb"]   { --iaq-ton: var(--iaq-gelb); color: #1F2937; }
#ia-aqua .iaq-icon[data-ton="weiss"]  { background: rgba(255,255,255,.22); border: 1.5px solid rgba(255,255,255,.42); box-shadow: none; backdrop-filter: blur(8px); }
#ia-aqua .iaq-icon.iaq-icon-klein { width: 30px; height: 30px; border-radius: 10px; }
#ia-aqua .iaq-icon.iaq-icon-klein svg { width: 15px; height: 15px; }
#ia-aqua .iaq-kennzahl:hover .iaq-icon, #ia-aqua .iaq-zeile:hover .iaq-icon { transform: translateY(-2px) scale(1.05); }
#ia-aqua .iaq-gruen svg { fill: currentColor; }

/* ---------- Kopf ---------- */
#ia-aqua .iaq-kopf { display: flex; flex-direction: column; gap: 10px; margin-bottom: 22px; }
#ia-aqua .iaq-chip {
  align-self: flex-start; display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--iaq-body); font-weight: 800; font-size: 11.5px;
  letter-spacing: .17em; text-transform: uppercase;
  color: var(--iaq-auf-farbe); background: var(--iaq-magenta);
  padding: 7px 14px 7px 9px; border-radius: 999px;
}
#ia-aqua .iaq-chip .iaq-icon { width: 22px; height: 22px; border-radius: 7px; color: #fff; background: rgba(255,255,255,.22); border: 1px solid rgba(255,255,255,.42); box-shadow: none; }
#ia-aqua .iaq-chip .iaq-icon svg { width: 12px; height: 12px; }
#ia-aqua h1 {
  font-family: var(--iaq-display); font-weight: 900;
  font-size: clamp(28px, 4.6vw, 42px); line-height: 1.08;
  letter-spacing: -.028em; text-wrap: balance; max-width: 19ch;
}
#ia-aqua .iaq-lead { color: var(--iaq-text-leise); max-width: 62ch; font-size: 16px; line-height: 1.45; }
#ia-aqua .iaq-schritte { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 2px 0 6px; padding: 0; font-size: 14.5px; font-weight: 600; color: var(--iaq-text); }
#ia-aqua .iaq-schritte li { display: inline-flex; align-items: center; gap: 9px; }
#ia-aqua .iaq-schritt-z {
  width: 26px; height: 26px; border-radius: 50%; flex: none; display: inline-flex; align-items: center; justify-content: center;
  background: var(--iaq-gelb); color: #003D71; font-family: var(--iaq-display); font-weight: 900; font-size: 12.5px;
}

#ia-aqua .iaq-kennzahlen { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin-top: 8px; }
#ia-aqua .iaq-kennzahl {
  position: relative; overflow: hidden; isolation: isolate;
  display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; align-items: center;
  background: var(--iaq-karte); border: 1px solid var(--iaq-linie);
  border-radius: var(--iaq-radius-klein); padding: 14px 16px; box-shadow: var(--iaq-s1); min-width: 0;
  transition: transform .45s var(--iaq-ease), box-shadow .45s var(--iaq-ease);
}
#ia-aqua .iaq-kennzahl::after {
  content: ""; position: absolute; right: -28px; top: -28px; width: 110px; height: 110px; border-radius: 50%; z-index: -1;
  background: transparent;
  background: radial-gradient(closest-side, color-mix(in srgb, var(--iaq-akz, var(--iaq-magenta)) 22%, transparent), transparent); pointer-events: none;
}
#ia-aqua .iaq-kennzahl[data-k="aqua"]    { --iaq-akz: var(--iaq-blau); }
#ia-aqua .iaq-kennzahl[data-k="theorie"] { --iaq-akz: var(--iaq-petrol); }
#ia-aqua .iaq-kennzahl[data-k="fahrt"]   { --iaq-akz: #B98F00; }
#ia-aqua .iaq-kennzahl .iaq-icon { grid-row: 1 / 4; }
#ia-aqua .iaq-kennzahl-label { font-weight: 800; font-size: 10.5px; letter-spacing: .17em; text-transform: uppercase; color: var(--iaq-text-leise); }
#ia-aqua .iaq-kennzahl-wert { font-family: var(--iaq-display); font-weight: 800; font-size: 20px; color: var(--iaq-akz, var(--iaq-magenta)); overflow-wrap: anywhere; hyphens: auto; line-height: 1.15; letter-spacing: -.015em; font-variant-numeric: tabular-nums; }
#ia-aqua .iaq-kennzahl-sub { font-size: 12.5px; color: var(--iaq-text-leise); }
#ia-aqua .iaq-umbenennung { display: block; margin-top: 7px; font-size: 12.5px; color: var(--iaq-text-leise); opacity: .85; }
#ia-aqua .iaq-etiketten { display: block; margin-top: 9px; }
#ia-aqua .iaq-etiketten .iaq-gruen { margin-left: 0; }
#ia-aqua .iaq-gruen {
  display: inline-flex; align-items: center; gap: 5px; margin: 6px 0 0 6px; vertical-align: 2px;
  font-size: 10.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
  color: var(--iaq-petrol); border: 1.3px solid var(--iaq-petrol); border-radius: 999px; padding: 2px 8px 2px 5px; white-space: nowrap;
}
#ia-aqua .iaq-gruen svg { width: 11px; height: 11px; fill: currentColor; }
#ia-aqua .iaq-info {
  display: inline-flex; align-items: center; gap: 2px; margin-left: 5px; padding-left: 5px;
  border-left: 1px solid currentColor; opacity: .85; cursor: help; letter-spacing: .02em; font-size: 10px;
}
#ia-aqua .iaq-info svg { width: 12px; height: 12px; }
#ia-aqua .iaq-gruen-nur-info .iaq-info { margin-left: 0; padding-left: 0; border-left: 0; }

/* ---------- Eingabe ---------- */
#ia-aqua .iaq-panel {
  background: var(--iaq-karte); border: 1px solid var(--iaq-linie);
  border-radius: var(--iaq-radius); box-shadow: var(--iaq-s2);
  padding: 22px; margin-bottom: 18px;
}
#ia-aqua .iaq-felder { display: grid; grid-template-columns: repeat(auto-fit, minmax(186px, 1fr)); gap: 20px 20px; }
#ia-aqua .iaq-leer { margin: 0; padding: 22px 8px; text-align: center; font-size: 15px; color: var(--iaq-text-leise); }
#ia-aqua[data-leer="1"] .iaq-hero-block-2 { opacity: .6; }
#ia-aqua[data-leer="1"] .iaq-voting { visibility: hidden; }
#ia-aqua .iaq-schalter-klein { margin-top: 4px; }
#ia-aqua .iaq-schalter-klein button { padding: 7px 12px; font-size: 13px; }
#ia-aqua .iaq-quelle { font-size: 12px; margin-top: -4px; }
#ia-aqua .iaq-quelle a { color: var(--iaq-petrol); text-decoration: underline; text-underline-offset: 2px; }
#ia-aqua .iaq-feld { display: flex; flex-direction: column; gap: 9px; min-width: 0; }
#ia-aqua .iaq-label {
  display: flex; align-items: center; gap: 9px;
  font-weight: 800; font-size: 11.5px; letter-spacing: .12em;
  text-transform: uppercase; color: var(--iaq-text-leise);
}
#ia-aqua select {
  font-family: var(--iaq-body); font-size: 16px; font-weight: 600;
  color: var(--iaq-text); background-color: var(--iaq-flaeche);
  border: 1px solid var(--iaq-linie); border-radius: var(--iaq-radius-feld);
  padding: 15px 36px 15px 13px; width: 100%; appearance: none; cursor: pointer;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23E6007E' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 10px center; background-size: 18px;
  box-shadow: var(--iaq-s1); transition: border-color .2s, box-shadow .2s;
}
#ia-aqua select:hover { border-color: var(--iaq-magenta); }
#ia-aqua select:focus-visible { outline: none; border-color: var(--iaq-blau); box-shadow: 0 0 0 4px rgba(0,88,162,.16); }
#ia-aqua .iaq-schalter { display: flex; flex-wrap: wrap; gap: 8px; }
#ia-aqua .iaq-schalter button {
  font-family: var(--iaq-body); font-size: 14.5px; font-weight: 700;
  color: var(--iaq-text); background: var(--iaq-flaeche);
  border: 1px solid var(--iaq-linie); border-radius: var(--iaq-radius-klein);
  padding: 11px 17px; box-shadow: var(--iaq-s1); cursor: pointer; transition: background-color .2s, color .2s, border-color .2s, transform .3s var(--iaq-ease), box-shadow .3s;
}
#ia-aqua .iaq-schalter button:hover { border-color: var(--iaq-magenta); transform: translateY(-3px); }
#ia-aqua .iaq-schalter button[aria-pressed="true"] {
  background: var(--iaq-magenta); border-color: var(--iaq-magenta); color: var(--iaq-auf-farbe);
  box-shadow: var(--iaq-s-magenta);
}
#ia-aqua .iaq-hinweis-feld { font-size: 13.5px; color: var(--iaq-text-leise); }
#ia-aqua .iaq-regler { display: grid; grid-template-columns: 1fr auto; gap: 8px 14px; align-items: center; }
#ia-aqua .iaq-regler-wert {
  font-family: var(--iaq-display); font-weight: 800; font-size: 22px; letter-spacing: -.02em;
  color: var(--iaq-magenta); font-variant-numeric: tabular-nums; white-space: nowrap; min-width: 6ch; text-align: right;
}
#ia-aqua .iaq-regler-wert small { display: block; font-family: var(--iaq-body); font-weight: 700; font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--iaq-text-leise); }
#ia-aqua input[type="range"] {
  -webkit-appearance: none; appearance: none; width: 100%; height: 34px; background: transparent; cursor: pointer; margin: 0;
}
#ia-aqua input[type="range"]::-webkit-slider-runnable-track { height: 8px; border-radius: 999px; background: linear-gradient(90deg, var(--iaq-magenta) 0 var(--iaq-anteil, 50%), var(--iaq-flaeche-2) var(--iaq-anteil, 50%) 100%); border: 1px solid var(--iaq-linie); }
#ia-aqua input[type="range"]::-moz-range-track { height: 8px; border-radius: 999px; background: var(--iaq-flaeche-2); border: 1px solid var(--iaq-linie); }
#ia-aqua input[type="range"]::-moz-range-progress { height: 8px; border-radius: 999px; background: var(--iaq-magenta); }
#ia-aqua input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none; width: 26px; height: 26px; margin-top: -10px; border-radius: 50%;
  background: #fff; border: 3px solid var(--iaq-magenta); box-shadow: var(--iaq-s-magenta); transition: transform .2s var(--iaq-ease);
}
#ia-aqua input[type="range"]::-moz-range-thumb { width: 20px; height: 20px; border-radius: 50%; background: #fff; border: 3px solid var(--iaq-magenta); box-shadow: var(--iaq-s-magenta); }
#ia-aqua input[type="range"]:hover::-webkit-slider-thumb { transform: scale(1.12); }
#ia-aqua input[type="range"]:focus-visible { outline: none; }
#ia-aqua input[type="range"]:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 5px rgba(230,0,126,.22); }
#ia-aqua .iaq-skala { display: flex; justify-content: space-between; font-size: 11.5px; font-weight: 700; color: var(--iaq-text-leise); margin-top: -6px; padding: 0 4px; }

/* ---------- Hero mit Voting-Balken ---------- */
#ia-aqua .iaq-hero {
  background: linear-gradient(135deg, #5C0036 0%, #98004F 52%, #C2006A 100%);
  border-radius: var(--iaq-radius); box-shadow: 0 1px 0 rgba(255,255,255,.18) inset, 0 30px 70px -22px rgba(92,0,54,.6);
  padding: 28px 26px 30px; color: #FFFFFF; position: relative; overflow: hidden;
  margin-bottom: 18px;
}
#ia-aqua .iaq-hero-welle { position: absolute; left: 0; right: 0; bottom: -1px; width: 100%; height: 40px; display: block; opacity: .2; pointer-events: none; }
#ia-aqua .iaq-hero-inner { position: relative; }
#ia-aqua .iaq-hero-zahlen { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 18px 40px; margin-bottom: 22px; }
#ia-aqua .iaq-hero-block { display: grid; grid-template-columns: auto 1fr; gap: 2px 14px; align-items: center; min-width: 0; }
#ia-aqua .iaq-hero-block .iaq-icon { grid-row: 1 / 3; width: 44px; height: 44px; }
#ia-aqua .iaq-hero-block .iaq-icon svg { width: 22px; height: 22px; }
#ia-aqua .iaq-hero-label { font-weight: 800; font-size: 11.5px; letter-spacing: .17em; text-transform: uppercase; color: rgba(255,255,255,.82); display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
#ia-aqua .iaq-hero-zahl {
  font-family: var(--iaq-display); font-weight: 800;
  font-size: clamp(30px, 5.6vw, 52px); line-height: 1.02; letter-spacing: -.03em;
  font-variant-numeric: tabular-nums; color: #FFFFFF; white-space: nowrap;
}
#ia-aqua .iaq-hero-zahl.iaq-warn { color: var(--iaq-gelb); }
#ia-aqua .iaq-prozent {
  display: inline-block; font-family: var(--iaq-display); font-weight: 800; font-size: 12.5px; letter-spacing: 0;
  background: #FFFFFF; color: #98004F; border-radius: 999px; padding: 3px 10px; text-transform: none;
}
#ia-aqua .iaq-prozent.iaq-warn { background: var(--iaq-gelb); color: #1C1219; }

/* Der Balken: links wächst AQUA, rechts steht die Linie "ohne AQUA". */
#ia-aqua .iaq-voting { position: relative; padding-top: 42px; }
#ia-aqua .iaq-voting-spur {
  position: relative; height: 38px; border-radius: 999px;
  background: rgba(0,0,0,.22); box-shadow: inset 0 2px 6px rgba(0,0,0,.25); overflow: visible;
}
#ia-aqua .iaq-voting-fuell {
  position: absolute; left: 0; top: 0; height: 100%; border-radius: 999px;
  background: linear-gradient(90deg, #FFFFFF 0%, #FFE6F3 100%);
  box-shadow: 0 0 0 2px rgba(255,255,255,.35), 0 6px 18px -6px rgba(0,0,0,.4);
  transition: width .7s cubic-bezier(.22,.9,.3,1); min-width: 14px;
}
#ia-aqua .iaq-voting-fuell.iaq-warn { background: linear-gradient(90deg, #FFFFFF 0%, var(--iaq-gelb) 100%); }
#ia-aqua .iaq-voting-unscharf {
  position: absolute; left: 0; top: 0; height: 100%; border-radius: 999px;
  background: rgba(255,255,255,.28); transition: width .7s cubic-bezier(.22,.9,.3,1);
}
#ia-aqua .iaq-voting-wert {
  position: absolute; top: 50%; transform: translate(-100%, -50%); padding: 0 14px;
  font-family: var(--iaq-display); font-weight: 800; font-size: 15px; color: #5C0036;
  white-space: nowrap; transition: left .7s cubic-bezier(.22,.9,.3,1); font-variant-numeric: tabular-nums;
}
#ia-aqua .iaq-voting-wert.iaq-aussen { transform: translate(0, -50%); color: #FFFFFF; }
#ia-aqua .iaq-voting-linie {
  position: absolute; top: -8px; bottom: -8px; width: 3px; margin-left: -1.5px; border-radius: 2px;
  background: #FFFFFF; box-shadow: 0 0 0 3px rgba(92,0,54,.5);
  transition: left .7s cubic-bezier(.22,.9,.3,1);
}
#ia-aqua .iaq-voting-linie::after {
  content: ""; position: absolute; left: 50%; top: -9px; width: 12px; height: 12px;
  margin-left: -6px; background: #FFFFFF; border-radius: 50%; box-shadow: 0 0 0 3px rgba(92,0,54,.5);
}
#ia-aqua .iaq-voting-marke {
  position: absolute; top: 2px; transform: translateX(-100%);
  display: inline-flex; align-items: center; gap: 7px; white-space: nowrap;
  font-weight: 800; font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.9);
  transition: left .7s cubic-bezier(.22,.9,.3,1);
}
#ia-aqua .iaq-voting-marke strong { font-family: var(--iaq-display); font-size: 14px; letter-spacing: 0; text-transform: none; color: #fff; font-variant-numeric: tabular-nums; }
#ia-aqua .iaq-voting-marke.iaq-links { transform: none; }
#ia-aqua .iaq-voting-fuss { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 16px; margin-top: 12px; font-size: 13px; color: rgba(255,255,255,.85); }
#ia-aqua .iaq-voting-fuss span { display: inline-flex; align-items: center; gap: 7px; }
#ia-aqua .iaq-voting-fuss .iaq-icon { width: 24px; height: 24px; }
#ia-aqua .iaq-voting-fuss .iaq-icon svg { width: 13px; height: 13px; }

/* Puls, wenn sich ein Wert ändert */
@keyframes iaqPuls { 0% { transform: scale(1); } 35% { transform: scale(1.035); } 100% { transform: scale(1); } }
#ia-aqua .iaq-puls { animation: iaqPuls .55s cubic-bezier(.22,.9,.3,1); }
@keyframes iaqGlow { 0% { box-shadow: 0 0 0 0 rgba(230,0,126,.45); } 100% { box-shadow: 0 0 0 14px rgba(230,0,126,0); } }
#ia-aqua .iaq-kennzahl.iaq-puls { animation: iaqPuls .55s cubic-bezier(.22,.9,.3,1), iaqGlow .8s ease-out; }

/* ---------- Vergleichsbalken ---------- */
#ia-aqua .iaq-vergleich { display: flex; flex-direction: column; gap: 18px; }
#ia-aqua .iaq-zeile { display: grid; grid-template-columns: auto 1fr; gap: 6px 14px; align-items: center; }
#ia-aqua .iaq-zeile .iaq-icon { grid-row: 1 / 4; align-self: start; margin-top: 2px; }
#ia-aqua .iaq-zeile-kopf { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 14px; }
#ia-aqua .iaq-zeile-name { font-family: var(--iaq-display); font-weight: 800; font-size: 17px; letter-spacing: -.01em; }
#ia-aqua .iaq-zeile-wert { font-family: var(--iaq-display); font-weight: 800; font-size: 19px; font-variant-numeric: tabular-nums; letter-spacing: -.015em; white-space: nowrap; }
#ia-aqua .iaq-spur { height: 26px; background: var(--iaq-flaeche-2); border: 1px solid var(--iaq-linie); border-radius: 999px; overflow: hidden; position: relative; }
#ia-aqua .iaq-balken { display: block; height: 100%; border-radius: 999px; transition: width .6s cubic-bezier(.22,.9,.3,1); min-width: 4px; position: relative; z-index: 1; }
#ia-aqua .iaq-balken-unscharf { display: block; height: 100%; border-radius: 999px; position: absolute; top: 0; left: 0; transition: width .6s cubic-bezier(.22,.9,.3,1); opacity: .32; }
#ia-aqua .iaq-zeile-fuss { font-size: 13.5px; color: var(--iaq-text-leise); }
#ia-aqua .iaq-zeile[data-ton="aqua"] .iaq-zeile-wert { color: var(--iaq-magenta); }
#ia-aqua .iaq-zeile[data-ton="aqua"] .iaq-balken, #ia-aqua .iaq-zeile[data-ton="aqua"] .iaq-balken-unscharf { background: var(--iaq-magenta); }
#ia-aqua .iaq-zeile[data-ton="lehre"] .iaq-balken { background: var(--iaq-blau); }
#ia-aqua .iaq-zeile[data-ton="fachkraft"] .iaq-balken { background: var(--iaq-petrol); }

@media (hover: hover) and (pointer: fine) {
  #ia-aqua .iaq-kipp { will-change: transform; }
  #ia-aqua .iaq-kennzahl:hover, #ia-aqua .iaq-karte:hover, #ia-aqua .iaq-cta:hover { box-shadow: var(--iaq-s2); }
}
@media (prefers-reduced-motion: reduce) {
  #ia-aqua .iaq-kipp { transform: none !important; }
  #ia-aqua .iaq-balken, #ia-aqua .iaq-balken-unscharf, #ia-aqua .iaq-voting-fuell, #ia-aqua .iaq-voting-unscharf,
  #ia-aqua .iaq-voting-linie, #ia-aqua .iaq-voting-marke, #ia-aqua .iaq-voting-wert { transition: none; }
  #ia-aqua .iaq-puls, #ia-aqua .iaq-kennzahl.iaq-puls { animation: none; }
}

/* ---------- Detailbereich ---------- */
#ia-aqua details.iaq-detail { margin-top: 18px; }
#ia-aqua summary.iaq-summary {
  list-style: none; cursor: pointer; display: flex; align-items: center; gap: 12px;
  font-family: var(--iaq-display); font-weight: 800; font-size: 15.5px;
  padding: 13px 20px 13px 14px; background: var(--iaq-karte); color: var(--iaq-text);
  border: 1px solid var(--iaq-linie); border-radius: var(--iaq-radius); box-shadow: var(--iaq-s1);
}
#ia-aqua summary.iaq-summary::-webkit-details-marker { display: none; }
#ia-aqua summary.iaq-summary::after {
  content: ""; width: 11px; height: 11px; flex: none; margin-left: auto;
  border-right: 2.6px solid var(--iaq-magenta); border-bottom: 2.6px solid var(--iaq-magenta);
  transform: rotate(45deg) translate(-2px, -2px); transition: transform .2s;
}
#ia-aqua details[open] > summary.iaq-summary::after { transform: rotate(-135deg) translate(-2px, -2px); }
#ia-aqua .iaq-detail-body { margin-top: 14px; display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
#ia-aqua .iaq-karte { background: var(--iaq-karte); border: 1px solid var(--iaq-linie); border-radius: var(--iaq-radius); padding: 20px; min-width: 0; box-shadow: var(--iaq-s1); transition: transform .45s var(--iaq-ease), box-shadow .45s var(--iaq-ease); }
#ia-aqua .iaq-karte-kopf {
  font-family: var(--iaq-display); font-weight: 800; font-size: 15px;
  padding-bottom: 12px; margin-bottom: 10px; border-bottom: 2px solid var(--iaq-linie);
  display: flex; align-items: center; gap: 11px;
}
#ia-aqua .iaq-posten { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; padding: 7px 0; font-size: 14.5px; }
#ia-aqua .iaq-posten + .iaq-posten { border-top: 1px dashed var(--iaq-linie); }
#ia-aqua .iaq-posten-name { color: var(--iaq-text-leise); min-width: 0; }
#ia-aqua .iaq-posten-name small { display: block; font-size: 12px; line-height: 1.4; opacity: .82; }
#ia-aqua .iaq-posten-wert { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
#ia-aqua .iaq-posten.iaq-summe { border-top: 2px solid var(--iaq-linie-stark); margin-top: 6px; padding-top: 11px; font-size: 15.5px; }
#ia-aqua .iaq-posten.iaq-summe .iaq-posten-name { color: var(--iaq-text); font-weight: 800; }
#ia-aqua .iaq-posten.iaq-abzug .iaq-posten-wert { color: var(--iaq-petrol); }
#ia-aqua .iaq-karte-fuss { margin-top: 13px; font-size: 12.5px; line-height: 1.5; color: var(--iaq-text-leise); }
#ia-aqua .iaq-marke {
  display: inline-block; font-size: 10.5px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase;
  padding: 2px 7px; border-radius: 5px; margin-right: 5px;
  background: var(--iaq-flaeche-2); color: var(--iaq-text-leise); border: 1px solid var(--iaq-linie);
}
#ia-aqua .iaq-marke[data-art="belegt"] { color: var(--iaq-petrol); border-color: var(--iaq-petrol); }
#ia-aqua .iaq-marke[data-art="annahme"] { color: var(--iaq-magenta); border-color: var(--iaq-magenta); }

/* ---------- Abschluss ---------- */
#ia-aqua .iaq-cta {
  margin-top: 18px; background: var(--iaq-karte); border: 1px solid var(--iaq-linie);
  border-left: 5px solid var(--iaq-magenta); border-radius: var(--iaq-radius);
  padding: 20px 22px; box-shadow: var(--iaq-s2);
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px;
}
#ia-aqua .iaq-cta-text { display: grid; grid-template-columns: auto 1fr; gap: 2px 14px; align-items: center; min-width: 0; }
#ia-aqua .iaq-cta-text .iaq-icon { grid-row: 1 / 3; width: 42px; height: 42px; }
#ia-aqua .iaq-cta-titel { font-family: var(--iaq-display); font-weight: 800; font-size: 19px; letter-spacing: -.012em; }
#ia-aqua .iaq-cta-sub { color: var(--iaq-text-leise); font-size: 15px; }
#ia-aqua .iaq-knopf {
  font-family: var(--iaq-body); font-weight: 800; font-size: 15.5px;
  background: var(--iaq-magenta); color: var(--iaq-auf-farbe);
  text-decoration: none; padding: 14px 24px; border-radius: 999px;
  white-space: nowrap; transition: transform .3s var(--iaq-ease), box-shadow .3s;
  box-shadow: var(--iaq-s-magenta);
}
#ia-aqua .iaq-knopf:hover { transform: translateY(-3px); box-shadow: 0 24px 40px -18px #E6007E; }
/* ---------- Anfrage-Dialog ---------- */
#ia-aqua .iaq-knopf { border: 0; cursor: pointer; }
#ia-aqua .iaq-knopf-linie { background: var(--iaq-flaeche); color: var(--iaq-magenta); border: 2px solid var(--iaq-magenta); box-shadow: none; }
#ia-aqua .iaq-dialog { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; padding: 16px; }
#ia-aqua .iaq-dialog[hidden] { display: none; }
#ia-aqua .iaq-dialog-hintergrund { position: absolute; inset: 0; background: rgba(31,41,55,.55); backdrop-filter: blur(6px); }
#ia-aqua .iaq-dialog-karte {
  position: relative; width: min(640px, 100%); max-height: calc(100vh - 32px); overflow: auto;
  background: var(--iaq-karte); border: 1px solid var(--iaq-linie); border-radius: var(--iaq-radius);
  box-shadow: var(--iaq-s3); padding: 26px 24px 24px; animation: iaqAuf .35s var(--iaq-ease);
}
@keyframes iaqAuf { from { opacity: 0; transform: translateY(12px) scale(.985); } to { opacity: 1; transform: none; } }
#ia-aqua .iaq-dialog-zu {
  position: absolute; right: 14px; top: 14px; width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--iaq-linie);
  background: var(--iaq-flaeche); color: var(--iaq-text-leise); font-size: 22px; line-height: 1; cursor: pointer; transition: transform .2s var(--iaq-ease);
}
#ia-aqua .iaq-dialog-zu:hover { transform: rotate(90deg); color: var(--iaq-magenta); }
#ia-aqua .iaq-dialog-kopf { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; padding-right: 40px; }
#ia-aqua .iaq-dialog-titel { font-family: var(--iaq-display); font-weight: 800; font-size: 21px; letter-spacing: -.02em; line-height: 1.15; }
#ia-aqua .iaq-dialog-sub { color: var(--iaq-text-leise); font-size: 14.5px; margin-top: 2px; }
#ia-aqua .iaq-auswahl { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
#ia-aqua .iaq-auswahl span {
  display: inline-flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 700; padding: 7px 12px 7px 9px;
  border-radius: var(--iaq-radius-klein); background: var(--iaq-flaeche-2); border: 1px solid var(--iaq-linie); color: var(--iaq-text);
}
#ia-aqua .iaq-auswahl span svg { width: 14px; height: 14px; fill: var(--iaq-magenta); flex: none; }
#ia-aqua .iaq-form-felder { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
#ia-aqua .iaq-form-feld { display: flex; flex-direction: column; gap: 6px; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--iaq-text-leise); }
#ia-aqua .iaq-form-feld b { color: var(--iaq-magenta); }
#ia-aqua .iaq-form-feld input {
  font-family: var(--iaq-body); font-size: 16px; font-weight: 600; color: var(--iaq-text); letter-spacing: 0; text-transform: none;
  background: var(--iaq-flaeche); border: 1px solid var(--iaq-linie); border-radius: var(--iaq-radius-feld); padding: 13px 14px; width: 100%;
  box-shadow: var(--iaq-s1); transition: border-color .2s, box-shadow .2s;
}
#ia-aqua .iaq-form-feld input:focus-visible { outline: none; border-color: var(--iaq-blau); box-shadow: 0 0 0 4px rgba(0,88,162,.16); }
#ia-aqua .iaq-form-feld input[aria-invalid="true"] { border-color: var(--iaq-magenta); }
#ia-aqua .iaq-form-frage { margin-top: 14px; max-width: 320px; }
#ia-aqua .iaq-falle { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
#ia-aqua .iaq-zustimmung { display: flex; align-items: flex-start; gap: 12px; margin-top: 16px; padding: 14px 16px; border-radius: var(--iaq-radius-klein); background: var(--iaq-flaeche-2); border: 1px solid var(--iaq-linie); font-size: 14px; line-height: 1.45; cursor: pointer; }
#ia-aqua .iaq-zustimmung input { width: 24px; height: 24px; flex: none; margin: 0; accent-color: var(--iaq-magenta); cursor: pointer; }
#ia-aqua .iaq-zustimmung b { color: var(--iaq-magenta); }
#ia-aqua .iaq-zustimmung a, #ia-aqua .iaq-form-hinweis a { color: var(--iaq-blau); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
#ia-aqua .iaq-form-fehler { margin-top: 12px; padding: 10px 14px; border-radius: var(--iaq-radius-feld); background: rgba(230,0,126,.08); color: var(--iaq-magenta-tief); font-size: 14px; font-weight: 600; }
#ia-aqua .iaq-form-fuss { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: 18px; }
#ia-aqua .iaq-form-hinweis { font-size: 12.5px; color: var(--iaq-text-leise); max-width: 40ch; line-height: 1.45; }
#ia-aqua .iaq-knopf[disabled] { opacity: .6; cursor: wait; transform: none; }
#ia-aqua .iaq-danke { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 8px 0 4px; }
#ia-aqua .iaq-danke[hidden] { display: none; }
#ia-aqua .iaq-danke .iaq-icon { width: 52px; height: 52px; border-radius: 17px; margin-bottom: 4px; }
#ia-aqua .iaq-danke .iaq-icon svg { width: 26px; height: 26px; }
#ia-aqua .iaq-danke-zu { font-size: 12.5px; color: var(--iaq-text-leise); margin-top: 6px; }

/* WPForms im Anfrage-Fenster: Felder im Hausstil */
#ia-aqua .iaq-wpforms:empty { display: none; }
#ia-aqua .iaq-wpforms .wpforms-container { margin: 0; }
#ia-aqua .iaq-wpforms .wpforms-field { padding: 0 0 14px; }
#ia-aqua .iaq-wpforms .wpforms-field-label { font-family: var(--iaq-body); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--iaq-text-leise); margin: 0 0 6px; }
#ia-aqua .iaq-wpforms .wpforms-required-label { color: var(--iaq-magenta); }
#ia-aqua .iaq-wpforms input[type="text"], #ia-aqua .iaq-wpforms input[type="email"], #ia-aqua .iaq-wpforms input[type="tel"],
#ia-aqua .iaq-wpforms input[type="number"], #ia-aqua .iaq-wpforms select, #ia-aqua .iaq-wpforms textarea {
  font-family: var(--iaq-body); font-size: 16px; font-weight: 600; color: var(--iaq-text); width: 100%; max-width: none;
  background: var(--iaq-flaeche); border: 1px solid var(--iaq-linie); border-radius: var(--iaq-radius-feld); padding: 13px 14px;
  box-shadow: var(--iaq-s1); transition: border-color .2s, box-shadow .2s;
}
#ia-aqua .iaq-wpforms input:focus-visible, #ia-aqua .iaq-wpforms select:focus-visible, #ia-aqua .iaq-wpforms textarea:focus-visible { outline: none; border-color: var(--iaq-blau); box-shadow: 0 0 0 4px rgba(0,88,162,.16); }
#ia-aqua .iaq-wpforms .wpforms-field-checkbox ul, #ia-aqua .iaq-wpforms .wpforms-field-gdpr-checkbox ul { list-style: none; padding: 0; margin: 0; }
#ia-aqua .iaq-wpforms .wpforms-field-checkbox li, #ia-aqua .iaq-wpforms .wpforms-field-gdpr-checkbox li {
  display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; border-radius: var(--iaq-radius-klein);
  background: var(--iaq-flaeche-2); border: 1px solid var(--iaq-linie); font-size: 14px; line-height: 1.45;
}
#ia-aqua .iaq-wpforms input[type="checkbox"] { width: 24px; height: 24px; flex: none; margin: 0; accent-color: var(--iaq-magenta); }
#ia-aqua .iaq-wpforms .wpforms-field-checkbox label, #ia-aqua .iaq-wpforms .wpforms-field-gdpr-checkbox label { font-size: 14px; font-weight: 500; text-transform: none; letter-spacing: 0; color: var(--iaq-text); }
#ia-aqua .iaq-wpforms a { color: var(--iaq-blau); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
#ia-aqua .iaq-wpforms .wpforms-submit, #ia-aqua .iaq-wpforms button[type="submit"] {
  font-family: var(--iaq-body); font-weight: 800; font-size: 15.5px; background: var(--iaq-magenta); color: #fff; border: 0;
  padding: 14px 24px; border-radius: 999px; cursor: pointer; box-shadow: var(--iaq-s-magenta); transition: transform .3s var(--iaq-ease), box-shadow .3s;
}
#ia-aqua .iaq-wpforms .wpforms-submit:hover { transform: translateY(-3px); box-shadow: 0 24px 40px -18px #E6007E; }
#ia-aqua .iaq-wpforms .wpforms-error { color: var(--iaq-magenta-tief); font-size: 13px; font-weight: 600; margin-top: 5px; }
#ia-aqua .iaq-wpforms .wpforms-field-hidden { display: none; }
#ia-aqua .iaq-vorschau-hinweis { margin: 0 0 14px; padding: 10px 14px; border-radius: var(--iaq-radius-feld); background: rgba(0,88,162,.08); color: var(--iaq-blau); font-size: 13px; font-weight: 600; }

#ia-aqua .iaq-rechtlich { margin-top: 20px; font-size: 12.5px; line-height: 1.6; color: var(--iaq-text-leise); max-width: 78ch; }

@media (max-width: 560px) {
  #ia-aqua .iaq-cta { flex-direction: column; align-items: stretch; }
  #ia-aqua .iaq-knopf { text-align: center; }
  #ia-aqua .iaq-hero-zahlen { flex-direction: column; gap: 16px; }
  #ia-aqua .iaq-hero-zahl { white-space: normal; font-size: 27px; line-height: 1.1; }
  #ia-aqua .iaq-voting-marke strong { display: none; }
}

/* Abkürzungen: gepunktet unterstrichen, beim Überfahren/Fokussieren erscheint die Langform. */
.iaq-abk { position: relative; text-decoration: underline dotted currentColor; text-underline-offset: 3px; text-decoration-thickness: 1px; cursor: help; border: 0; }
.iaq-abk:focus-visible { outline: 2px solid var(--iaq-magenta); outline-offset: 2px; border-radius: 3px; }
.iaq-abk::after {
  content: attr(data-erkl); position: absolute; left: 50%; bottom: calc(100% + 8px); transform: translateX(-50%) translateY(4px);
  background: var(--iaq-text); color: var(--iaq-grund); font: 500 12px/1.3 var(--iaq-body); letter-spacing: 0; text-transform: none;
  padding: 6px 10px; border-radius: 8px; white-space: nowrap; box-shadow: var(--iaq-s2);
  opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .18s var(--iaq-ease), transform .18s var(--iaq-ease); z-index: 20;
}
.iaq-abk:hover::after, .iaq-abk:focus-visible::after { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.iaq-schalter button .iaq-abk { text-decoration-color: currentColor; }
@media (prefers-reduced-motion: reduce) { .iaq-abk::after { transition: none; } }

/* Führung im Leerzustand: das noch fehlende Feld bekommt einen weichen Magenta-Ring und "Bitte wählen". */
#ia-aqua .iaq-feld.iaq-fehlt > select, #ia-aqua .iaq-feld.iaq-fehlt > .iaq-schalter button { box-shadow: 0 0 0 3px rgba(230,0,126,.22); }
#ia-aqua .iaq-fehlt-hinweis { color: var(--iaq-magenta); font-weight: 700; }

/* Fußzeile: Einordnung von AQUA als AMS-Instrument, immer sichtbar. */
#ia-aqua .iaq-fuss { margin: 28px 0 0; padding-top: 18px; border-top: 1px solid var(--iaq-linie); font-size: 14.5px; line-height: 1.6; color: var(--iaq-text-leise); }
#ia-aqua .iaq-fuss a { color: var(--iaq-magenta); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
#ia-aqua .iaq-fuss a:hover { color: var(--iaq-magenta-tief); }
