/* Profi-Abo T24 (Roadmap 9.10): oeffentliche Seiten "Vertraege hier kuendigen" und
   "Vertrag widerrufen" - ohne Login, gut lesbar, Handy ohne waagerechtes Scrollen. */
.profi-erklaerung { max-width: 720px; }
.profi-erklaerung h1 { font-size: 1.6rem; margin-bottom: .5rem; }
.profi-erklaerung .profi-schritt { color: var(--text-secondary); margin-bottom: 1.25rem; }
.profi-erklaerung form { display: grid; gap: 1rem; }
.profi-erklaerung .profi-feld { display: grid; gap: .3rem; }
.profi-erklaerung label, .profi-erklaerung legend { font-weight: 600; }
.profi-erklaerung input[type="text"], .profi-erklaerung input[type="email"], .profi-erklaerung input[type="date"],
.profi-erklaerung textarea {
    width: 100%; max-width: 100%; box-sizing: border-box; padding: .6rem .7rem; font: inherit;
    border: 1px solid var(--border-color, #c7ccd6); border-radius: 8px; background: #fff; color: #1d2330;
}
.profi-erklaerung textarea { min-height: 6rem; resize: vertical; }
.profi-erklaerung fieldset { border: 1px solid var(--border-color, #c7ccd6); border-radius: 8px; padding: .75rem 1rem; }
.profi-erklaerung .profi-wahl { display: flex; gap: .5rem; align-items: flex-start; margin: .35rem 0; font-weight: 400; }
.profi-erklaerung .profi-hilfe { font-size: .9rem; color: var(--text-secondary); }
.profi-erklaerung .profi-fehler-text { color: #b42318; font-size: .9rem; }
.profi-erklaerung [aria-invalid="true"] { border-color: #b42318; }
.profi-erklaerung .profi-meldung { padding: .75rem 1rem; border-radius: 8px; background: #fef3f2; color: #7a271a; }
.profi-erklaerung .profi-meldung.erfolg { background: #ecfdf3; color: #05603a; }
.profi-erklaerung .profi-knopf {
    display: inline-block; padding: .7rem 1.2rem; border-radius: 8px; border: 0; font: inherit; font-weight: 700;
    background: #1d4ed8; color: #fff; cursor: pointer; text-decoration: none;
}
.profi-erklaerung .profi-knopf.leise { background: transparent; color: inherit; border: 1px solid currentColor; font-weight: 600; }
.profi-erklaerung .profi-knopf:focus-visible, .profi-erklaerung a:focus-visible,
.profi-erklaerung input:focus-visible, .profi-erklaerung textarea:focus-visible { outline: 3px solid #f59e0b; outline-offset: 2px; }
.profi-erklaerung .profi-aktionen { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.profi-erklaerung dl { display: grid; grid-template-columns: minmax(0, 12rem) minmax(0, 1fr); gap: .4rem 1rem; }
.profi-erklaerung dt { font-weight: 600; }
.profi-erklaerung dd { margin: 0; overflow-wrap: anywhere; white-space: pre-line; }
.profi-erklaerung .profi-lockfeld { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.profi-erklaerung .profi-eingang { font-size: 1.1rem; font-weight: 700; }
@media (max-width: 560px) {
    .profi-erklaerung dl { grid-template-columns: minmax(0, 1fr); }
    .profi-erklaerung .profi-aktionen { flex-direction: column; align-items: stretch; }
}
