.abckt { --abckt-green: var(--aa-green, #0d4d2b); --abckt-ink: var(--aa-ink, #171a18); --abckt-muted: var(--aa-muted, #626863); --abckt-line: var(--aa-line, #d8e1db); --abckt-soft: var(--aa-soft, #f1f6f3); font: inherit; color: var(--abckt-ink); }
.abckt-shell { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem; }
.abckt-card { padding: 2rem; border: 1px solid var(--abckt-line); border-radius: .75rem; background: #fff; }
.abckt-card__number { color: var(--abckt-green); font-weight: 700; }
.abckt-card__intro, .abckt-booking__privacy, .abckt-form__note { color: var(--abckt-muted); }
.abckt-booking__privacy { padding: 1rem; margin: 1.25rem 0; background: var(--abckt-soft); }
.abckt-booking__actions { display: flex; flex-wrap: wrap; gap: .8rem; align-items: center; }
.abckt-booking__frame { margin-top: 1.25rem; overflow: hidden; }
.abckt-booking__frame:empty { display: none; }
.abckt-booking__frame .meetings-iframe-container { min-height: 670px; }
.abckt-button { min-height: 3rem; padding: .65rem 1.15rem; border: 0; border-radius: .5rem; color: #fff; background: var(--abckt-green); font: inherit; font-weight: 650; cursor: pointer; }
.abckt-form { display: grid; gap: 1rem; margin-top: 1.25rem; }
.abckt-form__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.abckt-field { display: grid; gap: .4rem; }
.abckt-field label, .abckt-fieldset legend { font-weight: 650; }
.abckt-field input, .abckt-field select, .abckt-field textarea { width: 100%; padding: .7rem .8rem; border: 1px solid #aebbb2; border-radius: .45rem; font: inherit; }
.abckt-field textarea { min-height: 9rem; resize: vertical; }
.abckt-fieldset { padding: 0; border: 0; }
.abckt-radio-group { display: flex; gap: 1rem; margin-top: .4rem; }
.abckt-consent { display: flex; gap: .6rem; align-items: flex-start; }
.abckt-alert { padding: 1rem; margin-bottom: 1.2rem; border-left: 4px solid var(--abckt-green); background: var(--abckt-soft); }
.abckt-alert--error { border-left-color: #a53b32; background: #fff7f6; }
.abckt-hp { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
@media (max-width: 900px) { .abckt-shell { grid-template-columns: 1fr; } }
@media (max-width: 620px) { .abckt-card { padding: 1.4rem; } .abckt-form__row { grid-template-columns: 1fr; } }

/* =====================================================================
   Runde 1b 2026-10-27: Terminplaner (HubSpot) auf dem Handy, Link „In neuem Fenster öffnen“, Zeile „Du fragst an zu“
   Rückbau: diesen ganzen Block bis „Ende Runde 1b 2026-10-27“ löschen.
   ===================================================================== */

/* Runde 1b 2026-10-27 · C: Link „In neuem Fenster öffnen“ als gut treffbare Fläche (mind. 44 px hoch) */
.aa-kontaktmodul .abckt .abckt-link,
.abckt .abckt-booking .abckt-link { display: inline-flex; align-items: center; justify-content: center; gap: 0.4em; min-height: 48px; padding: 0.625rem 1.25rem; border: 1.5px solid currentColor; border-radius: 999px; font-size: 1rem; font-weight: 600; line-height: 1.2; text-decoration: underline; text-underline-offset: 0.2em; box-sizing: border-box; }
.aa-kontaktmodul .abckt .abckt-link:hover,
.aa-kontaktmodul .abckt .abckt-link:focus-visible { background: rgba(255, 255, 255, .12); }

/* Runde 1b 2026-10-27 · B: Zeile „Du fragst an zu: …“ über dem Kalender */
.abckt .abckt-booking__kurs { margin: 0; padding: 0.75rem 1rem; border-radius: 0.5rem; background: rgba(255, 255, 255, .12); font-size: 1rem; line-height: 1.45; }
.abckt .abckt-booking__kurs strong { font-weight: 700; }

/* Runde 1b 2026-10-27 · C: Handy (bis 600 px) – gestapelte Fassung von HubSpot bleibt, Box schmaler gerahmt, Rahmen hoch genug */
@media (max-width: 600px) {
	.aa-kontaktmodul .abckt .abckt-booking { padding: 1.5rem 0.75rem; }
	.aa-kontaktmodul .abckt .abckt-booking > :not(.abckt-booking__frame) { margin-inline: 0.5rem; }
	.aa-kontaktmodul .abckt .abckt-booking__actions { flex-direction: column; align-items: stretch; gap: 0.75rem; }
	.aa-kontaktmodul .abckt .abckt-booking__actions .abckt-button,
	.aa-kontaktmodul .abckt .abckt-booking__actions .abckt-link { width: 100%; }
	.aa-kontaktmodul .abckt .abckt-booking__frame { margin-inline: 0; border-radius: 12px; }
	.aa-kontaktmodul .abckt .abckt-booking__frame .meetings-iframe-container { min-height: 0; }
	/* Mindesthöhe als Sicherheitsnetz; die genaue Höhe setzt contact.js nach der Meldung von HubSpot */
	.aa-kontaktmodul .abckt .abckt-booking__frame iframe { width: 100% !important; min-height: 900px; }
}
/* Ende Runde 1b 2026-10-27 */

/* Runde 1b 2026-10-27 · Nachtrag Rahmenhöhe (Handy): HubSpot setzt Höhe und Mindesthöhe als Inline-Stil (756 px / 615 px), deshalb !important.
   Rückbau: diesen Absatz bis „Ende Nachtrag Rahmenhöhe“ löschen. */
@media (max-width: 600px) {
	.aa-kontaktmodul .abckt .abckt-booking__frame iframe { height: 820px !important; min-height: 820px !important; }
}
/* Ende Nachtrag Rahmenhöhe */

/* Handy-Hilfe 2026-10-27: „Anderes Datum wählen“ und „In neuem Fenster öffnen“ unter dem Terminrahmen, nur bis 600 px.
   Sichtbar erst, wenn contact.js den geladenen Rahmen meldet (Attribut hidden entfällt).
   Rückbau: diesen Absatz bis „Ende Handy-Hilfe 2026-10-27“ löschen. */
.abckt .abckt-booking__hilfe { display: none; }
@media (max-width: 600px) {
	.aa-kontaktmodul .abckt .abckt-booking__hilfe:not([hidden]),
	.abckt .abckt-booking .abckt-booking__hilfe:not([hidden]) { display: flex; flex-direction: column; align-items: stretch; gap: 0.75rem; margin-top: 1rem; }
	.abckt .abckt-booking__hilfe .abckt-button,
	.abckt .abckt-booking__hilfe .abckt-link { width: 100%; min-height: 48px; }
	.abckt .abckt-booking__hilfe .abckt-button:focus-visible,
	.abckt .abckt-booking__hilfe .abckt-link:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
}
/* Ende Handy-Hilfe 2026-10-27 */
