/* IRMÖ IT v2 | Rechtstexte, Kontakt, Formularmeldungen, Datenschutz-Dialog */

/* Navigation: Kontakt-Schaltfläche, Zusatzpunkte im mobilen Menü */
.menu a.m-only{display:none}
.nav.on-dark .pill.solid{background:#fff;color:var(--ink);border-color:#fff}
.nav.on-dark .pill.solid:hover{background:var(--signal);border-color:var(--signal)}
@media (max-width:1279px){.menu a.m-only{display:block}}

/* Fuß: Schaltfläche im Stil der Links */
.foot .linkbtn{display:block;padding:4px 0;opacity:.75;background:none;border:0;font:inherit;color:inherit;cursor:pointer;text-align:left}
.foot .linkbtn:hover{opacity:1}

/* Rechtsseiten */
.legal-head{padding-block:150px 40px}
.legal-head .crumb{display:flex;gap:10px;align-items:center;margin-bottom:24px;font-size:.88rem;color:var(--steel)}
.legal-head .crumb a{opacity:.7}.legal-head .crumb a:hover{opacity:1}
.legal-head h1{font-size:clamp(2rem,4.4vw,3.6rem);line-height:1.04;letter-spacing:-.03em;font-weight:700;max-width:24ch;overflow-wrap:break-word}
.legal-head .stand{margin-top:16px;color:var(--steel);font-size:.95rem}
.doc{max-width:72ch;margin:0 auto 0 0;padding-bottom:var(--sec)}
.legal-wrap{padding-bottom:0}
.doc h2{font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.2;letter-spacing:-.02em;font-weight:600;margin:2.6em 0 .7em;padding-top:1.4em;border-top:1px solid var(--line)}
.doc h2:first-of-type{margin-top:1.2em;border-top:0;padding-top:0}
.doc h3{font-size:1.08rem;font-weight:600;margin:1.7em 0 .5em}
.doc p,.doc li{max-width:72ch;color:var(--graphite)}
.doc p{margin-top:.8em}
.doc ul,.doc ol{margin:.8em 0 0 1.3em}
.doc li{margin-top:.4em}
.doc a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--fog)}
.doc a:hover{text-decoration-color:var(--ink)}
.doc address{font-style:normal;margin-top:.8em;line-height:1.6}
.doc .toc{margin:1.4em 0 0;padding:18px 22px;background:var(--white);border:1px solid var(--line);border-radius:12px;list-style:none}
.doc .toc li{margin:.25em 0;font-size:.95rem}
.doc .toc a{text-decoration:none}
.doc .toc a:hover{text-decoration:underline}
.doc h2[id],.doc h3[id]{scroll-margin-top:96px}
/* AGB: nummerierte Paragrafen und Absätze */
.doc.agb h2{font-size:1.2rem}
.doc.agb ol{margin-left:1.6em}
.doc.agb ol>li{padding-left:.3em}
.doc.agb p{text-align:left}

/* Kontaktseite */
.p-hero.slim{min-height:0;padding-block:150px 56px}
.contact-cards{display:grid;gap:14px}
.contact-cards .cc{border:1px solid var(--line);background:var(--white);border-radius:14px;padding:20px 22px}
.contact-cards b{display:block;font-weight:600;margin-bottom:4px}
.contact-cards p,.contact-cards a{color:var(--steel)}
.contact-cards a:hover{color:var(--ink)}
.kontakt-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:64px;align-items:start}
@media (max-width:980px){.kontakt-grid{grid-template-columns:1fr;gap:32px}.legal-head,.p-hero.slim{padding-block:120px 32px}}

/* Formulare: Fehlermeldungen, Falle gegen Spam, Hinweise */
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.form .err{color:#B42318;font-size:.85rem;font-weight:500}
.form [aria-invalid=true]{border-color:#B42318}
.form-err{padding:16px 18px;border-radius:12px;border:1px solid #B42318;background:#FEF3F2;color:#7A271A;margin-bottom:18px}
.form-err:focus{outline:2px solid var(--signal);outline-offset:2px}
.form .note a,.note a{text-decoration:underline;text-underline-offset:3px}
.form select{appearance:auto}

/* Datenschutz-Dialog */
.pv-dialog{border:1px solid var(--line);border-radius:16px;padding:28px;max-width:min(520px,calc(100vw - 32px));width:100%;background:var(--white);color:var(--ink);margin:auto}
.pv-dialog::backdrop{background:rgba(15,20,25,.55)}
.pv-dialog h2{font-size:1.35rem;letter-spacing:-.02em;font-weight:600;margin-bottom:12px}
.pv-dialog p{margin-top:12px;color:var(--steel);font-size:.97rem}
.pv-dialog a{text-decoration:underline;text-underline-offset:3px;color:var(--ink)}
.pv-actions{margin-top:22px;display:flex;justify-content:flex-end}
.pv-dialog:not([open]){display:none}

/* Danke-Seite */
.danke{min-height:70svh;display:flex;align-items:center;padding-block:150px 80px}
.danke h1{font-size:clamp(2rem,4.4vw,3.6rem);line-height:1.04;letter-spacing:-.03em;font-weight:700}
.danke p{margin-top:18px;color:var(--steel);font-size:1.1rem}
.danke .row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
