/* Immer wieder neu: Kurse. Farben und Schriften aus dem Theme, alle Abfragen fluchten an derselben linken Kante. */

.iwn-kursinhalt > *, .iwn-lektionskopf, .iwn-lektionsfuss { max-width: 46rem; }
body .iwn-kursinhalt > * { margin-block: 0; }
body .iwn-kursinhalt > * + * { margin-block-start: 20px; }
body .iwn-kursinhalt > h2:not(:first-child) { margin-block-start: 44px; }
.iwn-kursinhalt > .iwn-kursuebersicht { max-width: none; }

/* ---------- Stand der Lektion ---------- */
.iwn-lektionskopf__stand { margin: 0 0 8px; font-weight: 500; color: var(--iwn-pflaume); }
.iwn-fortschrittsband { height: 8px; border-radius: 4px; background: var(--iwn-linie); overflow: hidden; }
.iwn-fortschrittsband span { display: block; width: 0; height: 100%; background: linear-gradient(90deg, var(--iwn-magenta), #F4874B, var(--iwn-gold)); transition: width .4s ease; }

/* ---------- Abfragen: Zahl, Links oder Rechts, Raster, Säule ---------- */
.iwn-abfrage, .iwn-hausaufgabe, .iwn-barometer, .iwn-atem, .iwn-stille { padding: clamp(18px, 4vw, 28px); border-radius: 8px; box-sizing: border-box; }
.iwn-abfrage { background: var(--iwn-nacht); color: var(--iwn-hell); }
.iwn-abfrage h3, .iwn-abfrage h4 { color: inherit; font-family: var(--iwn-titelschrift); }
.iwn-abfrage > h3 { font-size: clamp(1.5rem, 3.4vw, 1.875rem); line-height: 1.15; }
body .iwn-abfrage > * { margin-block: 0; }
body .iwn-abfrage > * + * { margin-block-start: 14px; }
.iwn-abfrage__knoepfe { display: flex; flex-wrap: wrap; gap: 8px; }
.iwn-abfrage__schritt { flex: 1 1 100%; margin: 0; font-weight: 500; }
.iwn-abfrage__karte { flex: 1 1 100%; margin: 6px 0 0; }

.iwn-zahlknopf { min-width: 48px; min-height: 48px; padding: 0 10px; border: 1px solid var(--iwn-mauve); border-radius: 50%; background: transparent; color: inherit; font-family: var(--iwn-titelschrift); font-weight: 700; font-size: 1.25rem; cursor: pointer; transition: transform .15s ease, background .15s ease, color .15s ease; }
.iwn-zahlknopf--breit { border-radius: 24px; font-family: inherit; font-size: 1rem; font-weight: 500; }
.iwn-zahlknopf:hover { transform: translateY(-2px); background: var(--iwn-gold); color: var(--iwn-nacht); border-color: var(--iwn-gold); }
.iwn-zahlknopf[aria-pressed="true"] { background: var(--iwn-gold); color: var(--iwn-nacht); border-color: var(--iwn-gold); }

.iwn-abfrage__knoepfe--seite, .iwn-abfrage__knoepfe--raster { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.iwn-abfrage__knoepfe--raster:has(.iwn-zahlknopf) { display: flex; }
.iwn-seitenknopf { gap: .35em; min-height: 92px; border: 1px solid var(--iwn-mauve); border-radius: 8px; background: transparent; color: inherit; font-family: var(--iwn-titelschrift); font-weight: 700; font-size: 1.625rem; cursor: pointer; transition: transform .15s ease, background .15s ease, color .15s ease; }
.iwn-seitenknopf--links::before { content: "← "; }
.iwn-seitenknopf--rechts::after { content: " →"; }
.iwn-seitenknopf:hover { transform: translateY(-2px); background: var(--iwn-gold); color: var(--iwn-nacht); border-color: var(--iwn-gold); }
.iwn-abfrage__karte, .iwn-abfrage__knoepfe--raster > .iwn-abfrage__karte { grid-column: 1 / -1; }
.iwn-textknopf--leise { color: inherit; font-weight: 400; min-height: 32px; border: 0; padding: 4px 0; }

.iwn-abfrage.ist-aktiv > .iwn-kurswahl { display: none; }
.iwn-abfrage.ist-aktiv > .iwn-kurswahl.ist-offen { display: block; padding: 20px; border-radius: 6px; background: var(--iwn-papier); color: var(--iwn-tinte); animation: iwn-aufdecken .45s ease both; transform-origin: top center; }
.iwn-abfrage .iwn-kurswahl h4 { margin: 0 0 8px; font-size: 1.5rem; line-height: 1.15; color: var(--iwn-magenta); outline: none; }
.iwn-abfrage:not(.ist-aktiv) .iwn-kurswahl h4 { color: var(--iwn-gold); }
.iwn-abfrage .iwn-kurswahl p { margin: 8px 0 0; }
.iwn-abfrage__neu { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; font-weight: 500; }
.iwn-abfrage__neu[hidden], .iwn-abfrage__knoepfe[hidden] { display: none; }
body .iwn-kursinhalt .iwn-abfrage__neu .iwn-knopf--leise { color: inherit; border-color: var(--iwn-mauve); }
@keyframes iwn-aufdecken { from { opacity: 0; transform: rotateX(-40deg) translateY(-6px); } to { opacity: 1; transform: none; } }

/* Säule der sieben: Sie wird nur gelesen, von unten nach oben. */
.iwn-abfrage__knoepfe--saeule { flex-direction: column-reverse; align-items: stretch; gap: 6px; }
.iwn-saeulenknopf { display: flex; justify-content: flex-start; align-items: center; gap: 12px; min-height: 46px; padding: 0 14px; border: 0; border-radius: 6px; background: rgba(246, 238, 244, .08); color: inherit; font: inherit; font-weight: 500; text-align: left; cursor: pointer; }
.iwn-saeulenknopf::before { content: ""; flex: 0 0 18px; height: 18px; border-radius: 50%; background: var(--iwn-punkt, var(--iwn-gold)); }
.iwn-saeulenknopf:hover, .iwn-saeulenknopf[aria-pressed="true"] { background: rgba(246, 238, 244, .2); }
.iwn-saeulenknopf--1 { --iwn-punkt: #C8352F; } .iwn-saeulenknopf--2 { --iwn-punkt: #E67E22; } .iwn-saeulenknopf--3 { --iwn-punkt: #F2C230; } .iwn-saeulenknopf--4 { --iwn-punkt: #3FA65A; } .iwn-saeulenknopf--5 { --iwn-punkt: #3A9BD9; } .iwn-saeulenknopf--6 { --iwn-punkt: #4B55B8; } .iwn-saeulenknopf--7 { --iwn-punkt: #9457C4; }

/* ---------- Aufgedeckt: Wissen ohne Wertung ---------- */
.iwn-abfrage--aufdecken { background: var(--iwn-pflaume); }

/* ---------- Hausaufgabe ---------- */
.iwn-hausaufgabe { background: #FFF6E2; color: var(--iwn-tinte); border: 1px solid var(--iwn-gold); }
.iwn-hausaufgabe h3 { font-family: var(--iwn-titelschrift); font-size: clamp(1.5rem, 3.4vw, 1.875rem); line-height: 1.15; }
.iwn-hausaufgabe h3::before { content: "✎ "; color: var(--iwn-magenta); }
body .iwn-hausaufgabe > * { margin-block: 0; }
body .iwn-hausaufgabe > * + * { margin-block-start: 12px; }
.iwn-hausaufgabe ul { padding-left: 1.1em; }
.iwn-hausaufgabe.ist-aktiv ul { list-style: none; padding-left: 0; }
.iwn-hausaufgabe li + li { margin-top: 8px; }
.iwn-hausaufgabe__punkt { display: grid; grid-template-columns: 24px minmax(0, 1fr); column-gap: 10px; align-items: start; cursor: pointer; }
.iwn-hausaufgabe__punkt input { width: 22px; height: 22px; margin: 2px 0 0; accent-color: var(--iwn-magenta); }
.iwn-hausaufgabe__stand { font-size: 1rem; color: var(--iwn-grau); }
.iwn-hausaufgabe.ist-fertig { background: #F3EEDB; }
.iwn-woche { display: grid; gap: 10px; justify-items: start; padding-top: 12px; border-top: 1px dashed var(--iwn-kante); }
.iwn-woche__frage { margin: 0; font-weight: 500; }
.iwn-woche .iwn-zahlknopf { border-color: var(--iwn-pflaume); }
.iwn-woche__tage { display: flex; flex-wrap: wrap; gap: 8px; }
.iwn-tag { width: 48px; min-height: 48px; padding: 0; border: 1px solid var(--iwn-pflaume); border-radius: 50%; background: transparent; color: var(--iwn-pflaume); font-weight: 700; cursor: pointer; }
.iwn-tag.ist-an { background: var(--iwn-magenta); border-color: var(--iwn-magenta); color: #FFFFFF; }

/* ---------- Barometer, Atem, Stille ---------- */
.iwn-barometer, .iwn-atem, .iwn-stille { background: var(--iwn-malve); color: var(--iwn-tinte); }
.iwn-barometer h3, .iwn-atem h3, .iwn-stille h3 { font-family: var(--iwn-titelschrift); font-size: clamp(1.375rem, 3vw, 1.625rem); line-height: 1.15; }
body .iwn-barometer > *, body .iwn-atem > *, body .iwn-stille > * { margin-block: 0; }
body .iwn-barometer > * + *, body .iwn-atem > * + *, body .iwn-stille > * + * { margin-block-start: 12px; }
.iwn-barometer .iwn-zahlknopf, .iwn-atem .iwn-zahlknopf { border-color: var(--iwn-pflaume); color: var(--iwn-pflaume); }
.iwn-barometer .iwn-zahlknopf[aria-pressed="true"], .iwn-atem .iwn-zahlknopf[aria-pressed="true"] { background: var(--iwn-pflaume); color: #FFFFFF; border-color: var(--iwn-pflaume); }
.iwn-atem__buehne { display: grid; justify-items: center; gap: 8px; padding-block: 12px; }
.iwn-atem__kreis { width: 90px; height: 90px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, var(--iwn-gold), var(--iwn-magenta)); transition: transform 4s ease-in-out; }
.iwn-atem__kreis.ist-weit { transform: scale(1.9); }
.iwn-atem__wort { margin: 44px 0 0; font-family: var(--iwn-titelschrift); font-size: 1.5rem; font-weight: 500; color: var(--iwn-pflaume); text-align: center; }
.iwn-stille__zeit { font-family: var(--iwn-titelschrift); font-weight: 700; font-size: 3rem; line-height: 1; color: var(--iwn-pflaume); }
.iwn-atem .iwn-reihe, .iwn-stille .iwn-reihe { margin-top: 12px; }
.iwn-kursinhalt .iwn-knopf--leise, .iwn-kursinhalt .iwn-knopf--dunkel { min-height: 44px; padding: 0 16px; border-radius: 6px; font-size: 1rem; cursor: pointer; }
.iwn-kursinhalt .iwn-knopf--leise { background: transparent; border: 1px solid var(--iwn-kante); color: var(--iwn-pflaume); }
.iwn-kursinhalt .iwn-knopf--dunkel { background: var(--iwn-pflaume); color: #FFFFFF; border: 0; font-weight: 700; }

/* ---------- Stimmen: Mathilde und Bianca sprechen ---------- */
.iwn-sprecher { position: relative; box-sizing: border-box; min-height: 68px; margin: 0; padding: 16px 18px 16px 66px; border-radius: 8px; background: var(--iwn-malve); font-size: 1.0625rem; }
.iwn-sprecher::before { position: absolute; left: 14px; top: 14px; width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; color: #FFFFFF; font-family: var(--iwn-titelschrift); font-weight: 700; font-size: 1.25rem; }
.iwn-sprecher--mathilde::before { content: "M"; background: var(--iwn-pflaume); }
.iwn-sprecher--bianca::before { content: "B"; background: var(--iwn-magenta); }

/* ---------- Video und Ton: Stempel wie bei Podcasts und Videos ---------- */
.iwn-medien { position: relative; overflow: hidden; }
body .iwn-medien > * { margin-block: 0; }
.iwn-medien__kacheln { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 12px; opacity: .5; }
body .iwn-medien__kacheln > * { margin: 0; }
.iwn-medien__kachel { display: grid; grid-template-rows: subgrid; grid-row: span 2; row-gap: 6px; padding: 18px; border-radius: 6px; background: var(--iwn-linie); }
.iwn-medien__kachel > * { margin: 0; }
.iwn-medien__kachel h4 { font-family: var(--iwn-titelschrift); font-size: 1.25rem; line-height: 1.15; }
.iwn-medien__kachel h4::before { content: "▶ "; color: var(--iwn-magenta); }
body .iwn-medien > .iwn-medien__hinweis { margin-block-start: 8px; }

/* ---------- Kursseite ---------- */
.iwn-karten--5 > .iwn-karte { grid-row: span 5; }
.iwn-karten--7 > .iwn-karte { grid-row: span 7; }
.iwn-karten--8 > .iwn-karte { grid-row: span 8; }
.iwn-karten--stufen > .iwn-karte, .iwn-karten--7 > .iwn-karte { background: var(--iwn-malve); padding: 22px; border-radius: 14px; }
.iwn-band--malve .iwn-karten--7 > .iwn-karte { background: var(--iwn-papier); }
.iwn-karten--stufen > .iwn-karte { box-shadow: inset 0 3px 0 var(--iwn-gold); }
.iwn-karte .iwn-kicker { font-size: 1.5rem; }
.iwn-karte h3 a { color: inherit; text-decoration: none; }
.iwn-karte h3 a:hover { color: var(--iwn-magenta); }
.iwn-preiszeile { font-size: 1rem; line-height: 1.35; color: var(--iwn-grau); }
.iwn-lektionsliste { margin: 0; padding-left: 1.3em; }
.iwn-lektionsliste li + li { margin-top: 6px; }
.iwn-lektionsliste li.ist-fertig a { text-decoration: line-through; text-decoration-color: var(--iwn-magenta); }
.iwn-marke-frei { display: inline-block; padding: 0 .45em; border-radius: 3px; background: var(--iwn-gold); color: var(--iwn-nacht); font-size: .8em; font-weight: 700; }
.iwn-paket { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px 32px; align-items: center; margin-top: 28px; padding: 28px; border-radius: 14px; background: radial-gradient(90% 180% at 100% 50%, #5B2A4E, var(--iwn-nacht) 70%); color: var(--iwn-hell); }
.iwn-paket h3 { margin: 0 0 6px; color: inherit; font-family: var(--iwn-titelschrift); font-size: clamp(1.5rem, 3vw, 1.875rem); }
.iwn-paket p { margin: 0; }
.iwn-kursuebersicht { margin-top: 32px; }
.iwn-fortschritt-text { margin-bottom: 12px; font-weight: 500; color: var(--iwn-pflaume); }
.iwn-fortschritt-text:empty { display: none; }

/* ---------- Fuß der Lektion ---------- */
.iwn-lektionsfuss { margin-top: 36px; padding-top: 24px; border-top: 1px solid var(--iwn-kante); }
body .iwn-lektionsfuss > * { margin-block: 0; }
body .iwn-lektionsfuss > * + * { margin-block-start: 16px; }
.iwn-fertigknopf { width: 100%; min-height: 54px; padding: 8px 16px; border: 2px solid var(--iwn-magenta); border-radius: 6px; background: transparent; color: var(--iwn-magenta); font: inherit; font-weight: 700; cursor: pointer; }
.iwn-fertigknopf[aria-pressed="true"] { background: var(--iwn-magenta); color: #FFFFFF; }
.iwn-lektionsnav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; font-weight: 500; }
.iwn-lektionsnav > :nth-child(2) { text-align: center; }
.iwn-lektionsnav > :nth-child(3) { text-align: right; }
.iwn-lektionsfuss .iwn-textknopf { display: inline; padding: 0; font-size: inherit; color: var(--iwn-pflaume); background: none; border: 0; text-decoration: underline; cursor: pointer; text-align: left; }

/* ---------- Schritt 8 und Zusatzfragen ---------- */
.iwn-ursachen, .iwn-notiz { box-sizing: border-box; padding: clamp(18px, 4vw, 28px); border-radius: 8px; }
.iwn-ursachen { background: var(--iwn-nacht); color: var(--iwn-hell); }
.iwn-ursachen h3 { margin: 0 0 8px; color: inherit; font-family: var(--iwn-titelschrift); font-size: clamp(1.375rem, 3vw, 1.75rem); line-height: 1.2; outline: none; }
.iwn-ursachen__hinweis { margin: 0 0 14px; }
.iwn-ursachen__eingabe { box-sizing: border-box; width: 100%; margin-bottom: 12px; padding: 12px; border: 1px solid var(--iwn-kante); border-radius: 6px; font: inherit; }
.iwn-ursachen .iwn-knopf-rand { color: inherit; }
.iwn-ursachen .iwn-knopf-voll { background: var(--iwn-gold); color: var(--iwn-nacht); }
.iwn-ursachen .iwn-ursachen__wahl { min-height: 64px; padding: 8px 16px; font-size: 1.125rem; flex: 1 1 200px; }
.iwn-ursachen .iwn-ursachen__wahl::before, .iwn-ursachen .iwn-ursachen__wahl::after { content: none; }
.iwn-ursachen__zurueck { display: block; margin-top: 12px; background: none; border: 0; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; }
.iwn-ursachen__bisher { margin-top: 16px; }
.iwn-ursachen__bisher pre, .iwn-ursachen__ergebnis { margin: 8px 0 12px; white-space: pre-wrap; font: inherit; }
.iwn-notiz { background: var(--iwn-malve); color: var(--iwn-tinte); }
.iwn-notiz h3 { font-family: var(--iwn-titelschrift); font-size: clamp(1.375rem, 3vw, 1.625rem); line-height: 1.15; }
body .iwn-notiz > * { margin-block: 0; }
body .iwn-notiz > * + * { margin-block-start: 10px; }
.iwn-notiz__feld { box-sizing: border-box; width: 100%; padding: 12px; border: 1px solid var(--iwn-kante); border-radius: 6px; font: inherit; }

/* ---------- Anmeldung, Mein Bereich ---------- */
.iwn-anmeldung, .iwn-anmeldeform { box-sizing: border-box; max-width: 46rem; padding: clamp(18px, 4vw, 28px); border-radius: 14px; background: var(--iwn-malve); }
.iwn-anmeldung { margin-top: 28px; }
.iwn-anmeldung .iwn-anmeldeform { padding: 0; background: none; }
.iwn-anmeldeform { display: grid; gap: 14px; justify-items: start; }
.iwn-anmeldeform h3 { margin: 0; font-family: var(--iwn-titelschrift); font-size: clamp(1.5rem, 3.4vw, 1.875rem); }
.iwn-anmeldeform p { margin: 0; }
.iwn-anmeldeform label { display: block; width: 100%; }
/* Kein Raster: Ein Link im Text wäre sonst eine eigene Spalte. */
.iwn-anmeldeform label:has(> input[type="checkbox"]) { position: relative; padding-left: 34px; }
.iwn-anmeldeform input[type="checkbox"] { position: absolute; left: 0; top: 2px; width: 22px; height: 22px; margin: 0; accent-color: var(--iwn-magenta); }
.iwn-anmeldeform textarea { box-sizing: border-box; width: 100%; padding: 12px; border: 1px solid var(--iwn-kante); border-radius: 6px; font: inherit; }
.iwn-ortwahl { width: 100%; margin: 0; padding: 0; border: 0; display: grid; gap: 8px; }
.iwn-ortwahl legend { padding: 0; margin-bottom: 8px; font-weight: 700; }
.iwn-anmeldeform .iwn-ortwahl label { display: grid; grid-template-columns: 24px minmax(0, 1fr); column-gap: 10px; align-items: center; }
.iwn-ortwahl input[type="radio"] { width: 20px; height: 20px; margin: 0; accent-color: var(--iwn-magenta); }
.iwn-uebergabe { margin-top: 28px; border: 2px solid var(--iwn-gold); }
.iwn-uebergabe[hidden] { display: none; }
[data-iwn-uebergabe-noch] { margin-top: 20px; }
.iwn-knopf-voll, .iwn-knopf-rand { min-height: 52px; padding: 8px 24px; border-radius: 999px; font: inherit; font-weight: 700; cursor: pointer; }
.iwn-knopf-voll { border: 0; background: var(--iwn-pflaume); color: #FFFFFF; }
.iwn-knopf-rand { border: 1px solid currentColor; background: transparent; color: var(--iwn-pflaume); font-weight: 500; }
.iwn-terminangaben { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); gap: 12px 24px; margin: 0 0 16px; }
.iwn-terminangaben dt { font-size: 1rem; color: var(--iwn-grau); }
.iwn-terminangaben dd { margin: 0; font-weight: 700; color: var(--iwn-pflaume); }
.iwn-hinweis-ok { padding: 12px 16px; border-radius: 6px; background: #E5F4E4; color: var(--iwn-tinte); }
.iwn-meinbereich { max-width: 46rem; }
body .iwn-meinbereich > * { margin-block: 0; }
body .iwn-meinbereich > * + * { margin-block-start: 16px; }
body .iwn-meinbereich > h2:not(:first-child) { margin-block-start: 40px; }
.iwn-meineliste { padding-left: 1.2em; }
.iwn-meineintrag { padding: 14px 16px; border-left: 4px solid var(--iwn-kante); background: var(--iwn-malve); }
.iwn-meineintrag p { margin: 0; }
.iwn-meineintrag p + p { margin-top: 6px; }
.iwn-meinbereich .iwn-textknopf { display: inline; padding: 0; font: inherit; color: var(--iwn-pflaume); background: none; border: 0; text-decoration: underline; cursor: pointer; text-align: left; }

@media (max-width: 640px) {
	.iwn-paket { grid-template-columns: minmax(0, 1fr); }
	.iwn-karten--stufen, .iwn-karten--7, .iwn-karten--8 { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
	.iwn-abfrage.ist-aktiv > .iwn-kurswahl.ist-offen { animation: none; }
	.iwn-zahlknopf, .iwn-seitenknopf { transition: none; }
	.iwn-atem__kreis { transition: none; }
}
@media print {
	.iwn-abfrage.ist-aktiv > .iwn-kurswahl { display: block; }
	.iwn-abfrage__knoepfe, .iwn-abfrage__neu, .iwn-fortschrittsband, .iwn-lektionsnav, .iwn-fertigknopf { display: none; }
}

/* Phönix-Programm: Mathildes Abfragen mit mehreren Wahlen, Wort aus der Tabelle, ihre fortlaufenden Texte und das Lebensthema. */
.iwn-abfrage.ist-aktiv > .iwn-kurswahl.ist-offen ~ .iwn-kurswahl.ist-offen { margin-block-start: 10px; }
.iwn-wortknopf { min-height: 44px; padding: 6px 16px; border: 1px solid var(--iwn-mauve); border-radius: 22px; background: transparent; color: inherit; font-family: inherit; font-size: 1rem; font-weight: 500; cursor: pointer; transition: background .15s ease, color .15s ease; }
.iwn-wortknopf:hover { background: var(--iwn-gold); color: var(--iwn-nacht); border-color: var(--iwn-gold); }
.iwn-listentext { padding: clamp(18px, 4vw, 28px); border-radius: 8px; background: var(--iwn-malve); box-sizing: border-box; }
body .iwn-listentext > * { margin-block: 0; }
body .iwn-listentext > * + * { margin-block-start: 12px; }
.iwn-listentext__kopf { font-weight: 700; }
.iwn-listentext__nr { display: inline-block; min-width: 2.6em; font-weight: 700; color: var(--iwn-magenta); }
.iwn-listentext__punkt.ist-einsetzstelle { padding-inline-start: 12px; border-inline-start: 3px solid var(--iwn-gold); }
.iwn-dein-thema { padding: 10px 16px; border-inline-start: 3px solid var(--iwn-gold); font-weight: 500; }

/* Bilder in einer Lektion: gemeinsame Zeilen, Bilder und Texte fluchten. */
.iwn-tafeln { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: auto auto; gap: 0 16px; margin: 24px 0; }
.iwn-tafeln figure { display: grid; grid-row: span 2; grid-template-rows: subgrid; row-gap: 8px; min-width: 0; margin: 0; }
.iwn-tafeln img { display: block; width: 100%; height: 220px; object-fit: contain; border-radius: 8px; background: #FFFFFF; }
.iwn-tafeln figcaption { font-size: 15px; line-height: 1.4; }
@media (max-width: 640px) {
	.iwn-tafeln { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; row-gap: 16px; }
	.iwn-tafeln figure { grid-row: auto; grid-template-rows: none; }
}
