/* Ergänzungen Redaktionsbaukasten (29.10.2026): Rechtstexte, Bild-Text-Modul, Hinweisflächen. Handgepflegt. */
.legal-text{max-width:760px;padding-top:10px}
.legal-text h2{font-family:var(--display);font-size:24px;line-height:1.3;margin:42px 0 14px;letter-spacing:-.3px}
.legal-text h3{font-family:var(--display);font-size:17px;margin:28px 0 10px}
.legal-text p{font-size:15px;line-height:1.85;color:var(--muted);margin:0 0 16px;overflow-wrap:anywhere}
.legal-text a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.application-story.image-right .application-image{order:2}
.form-status[data-state="success"]{color:var(--ink);font-weight:600}
.form-status[data-state="error"]{color:#b4231b}
.inquiry-success{padding:36px 0 10px}
.inquiry-success h2{font-family:var(--display);font-size:28px;line-height:1.2;margin:0 0 14px}
.inquiry-success p{font-size:15px;line-height:1.8;color:var(--muted);margin:0 0 10px}
.inquiry-success .text-link{margin-top:14px;display:inline-block}
.preview-banner{position:fixed;left:16px;bottom:16px;z-index:60;background:#282828;color:#fff;padding:10px 14px;border-radius:8px;font:600 12px/1.4 var(--display);box-shadow:0 10px 30px rgba(0,0,0,.25);display:flex;gap:12px;align-items:center}
.preview-banner a{color:var(--yellow);text-decoration:none}
/* Aufklappmenü „Über uns“ (Referenzen, Showroom, Aktionen) */
.nav-dropdown .dropdown-panel{width:min(360px,94vw);left:auto;padding:10px;display:flex;flex-direction:column;gap:2px}
.picture-nav .dropdown-item{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center;justify-items:start;text-align:left;padding:11px 14px;border-radius:9px;text-decoration:none;color:inherit;white-space:normal;transition:background .15s}
.dropdown-item:hover,.dropdown-item:focus-visible{background:#f0f0ec}
.picture-nav .dropdown-item strong{grid-column:1;font-size:14px;font-weight:600}
.picture-nav .dropdown-item small{grid-column:1;font-size:12px;color:#6f6f6f;line-height:1.4}
.picture-nav .dropdown-item .mega-arrow{grid-column:2;grid-row:1/3}
[data-theme="dark"] .dropdown-item:hover,[data-theme="dark"] .dropdown-item:focus-visible{background:#2c2c2c}
[data-theme="dark"] .dropdown-item small{color:#a9a9a9}
@media(max-width:1240px){.nav-dropdown .dropdown-panel{width:auto;padding:0 0 14px}.dropdown-item{padding:10px 0}}
/* Aktionsleiste: auffällig, solange eine Aktion läuft (has-campaign); sonst ruhige Standardleiste */
html[data-theme] .campaign-bar.has-campaign{box-shadow:none}
html[data-theme] .campaign-bar.has-campaign>a{min-height:0;height:100%;font-size:14px;overflow:hidden}
html[data-theme] .campaign-bar.has-campaign .campaign-kicker{display:inline-flex;align-items:center;font-weight:700;font-size:10px;letter-spacing:.14em;padding:5px 10px;border-radius:4px}
html[data-theme] .campaign-bar.has-campaign .campaign-message strong{font-weight:700;font-size:15px}
html[data-theme] .campaign-bar.has-campaign .campaign-expiry{font-size:12px}
html[data-theme] .campaign-bar.has-campaign .campaign-action{padding:8px 14px;border-radius:24px;font-weight:700;font-size:12px;gap:10px;transition:background .15s}
html[data-theme] .campaign-bar.has-campaign .campaign-action b{font-size:15px}
html[data-theme="light"] .campaign-bar.has-campaign{background:#282828;color:#fff;border-color:#282828}
html[data-theme="light"] .campaign-bar.has-campaign>a:hover{background:#333;color:#fff}
html[data-theme="light"] .campaign-bar.has-campaign .campaign-kicker{background:var(--yellow);color:#1f1f1f}
html[data-theme="light"] .campaign-bar.has-campaign .campaign-message strong{color:var(--yellow)}
html[data-theme="light"] .campaign-bar.has-campaign .campaign-additional{color:#f3f3f3}
html[data-theme="light"] .campaign-bar.has-campaign .campaign-expiry{color:#bdbdbd}
html[data-theme="light"] .campaign-bar.has-campaign .campaign-action{color:#1f1f1f;background:var(--yellow)}
html[data-theme="light"] .campaign-bar.has-campaign>a:hover .campaign-action{background:#f1c300}
html[data-theme="light"] .campaign-bar.has-campaign .theme-controls>button{color:#e7e7e7}
html[data-theme="dark"] .campaign-bar.has-campaign{background:var(--yellow);color:#1f1f1f;border-color:#e3b800}
html[data-theme="dark"] .campaign-bar.has-campaign>a:hover{background:#f6c800;color:#1f1f1f}
html[data-theme="dark"] .campaign-bar.has-campaign .campaign-kicker{background:#1f1f1f;color:var(--yellow)}
html[data-theme="dark"] .campaign-bar.has-campaign .campaign-message strong{color:#1f1f1f}
html[data-theme="dark"] .campaign-bar.has-campaign .campaign-additional{color:#2c2c2c}
html[data-theme="dark"] .campaign-bar.has-campaign .campaign-expiry{color:#4a4a4a}
html[data-theme="dark"] .campaign-bar.has-campaign .campaign-action{background:#1f1f1f;color:var(--yellow)}
html[data-theme="dark"] .campaign-bar.has-campaign>a:hover .campaign-action{background:#333}
@media(max-width:900px){html[data-theme] .campaign-bar.has-campaign .campaign-kicker{display:inline-flex}html[data-theme] .campaign-bar.has-campaign .campaign-expiry{display:none}html[data-theme] .campaign-bar.has-campaign .campaign-action{padding:6px 10px;font-size:11px}}
@media(max-width:660px){html[data-theme] .campaign-bar.has-campaign .campaign-kicker{display:none}html[data-theme] .campaign-bar.has-campaign .campaign-message strong{font-size:13px}}
/* Hell/Dunkel: zurückhaltend als zwei kleine Symbol-Schalter (Beschriftung nur für Screenreader) */
html[data-theme] .campaign-bar .theme-controls{background:transparent;border:0;padding:0;gap:2px}
html[data-theme] .campaign-bar .theme-controls>button{min-height:30px;width:30px;padding:0;border-radius:50%;background:transparent;color:inherit;opacity:.55;transition:opacity .15s,background .15s}
html[data-theme] .campaign-bar .theme-controls>button:hover{opacity:1;background:transparent}
html[data-theme] .campaign-bar .theme-controls>button[aria-pressed="true"]{opacity:1;background:#00000014}
html[data-theme="dark"] .campaign-bar .theme-controls>button[aria-pressed="true"]{background:#ffffff1f}
html[data-theme="dark"] .campaign-bar.has-campaign .theme-controls>button[aria-pressed="true"]{background:#0000001f}
html[data-theme="light"] .campaign-bar.has-campaign .theme-controls>button[aria-pressed="true"]{background:#ffffff26}
html[data-theme] .campaign-bar .theme-controls svg{width:15px;height:15px}
html[data-theme] .campaign-bar .theme-controls>button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* Mobil: Prozent-Zeilenabstände in einspaltigen Rastern lassen Inhalte überlaufen (Chrome/Safari). Feste Abstände, Desktop unverändert. */
@media(max-width:820px){html .intro-grid{row-gap:22px}html .process-head{row-gap:18px}}
@media(max-width:600px){html .intro-grid{row-gap:21px}}
/* Modelle/Ausführungen mit Beispielbild (Produktseiten). Karten ohne Bild behalten die bisherige Darstellung. */
.model-list[data-count="2"],.model-list[data-count="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.model-list>article.has-image{padding:0;overflow:hidden;border-radius:3px}
.model-figure{position:relative;margin:0;aspect-ratio:4/3;overflow:hidden;background:#1f1f1f}
.model-figure>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.model-list>article.has-image:hover .model-figure>img{transform:scale(1.035)}
.model-figure>.model-number{position:absolute;top:14px;left:14px;padding:6px 9px;background:#141414d9;color:#ffd200;font-size:10px;letter-spacing:.14em;line-height:1;border-radius:2px}
.model-list>article.has-image>.model-body{padding:24px 28px 28px;display:flex;flex-direction:column;flex:1}
.model-label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#d8bd48;margin:0 0 8px}
.model-list>article.has-image h3{margin-top:0}
.model-list>article.has-image .model-body>p:not(.model-label){margin-top:12px;margin-bottom:20px}
html[data-theme="light"] .model-figure>.model-number{color:#ffd200}
html[data-theme="light"] .model-label{color:#796000}
@media(prefers-reduced-motion:reduce){.model-figure>img{transition:none}.model-list>article.has-image:hover .model-figure>img{transform:none}}
@media(max-width:820px){.model-list[data-count="4"]{grid-template-columns:1fr 1fr}.model-list>article.has-image>.model-body{padding:20px 22px 24px}}
@media(max-width:600px){.model-list[data-count="2"],.model-list[data-count="4"]{grid-template-columns:1fr}.model-figure{aspect-ratio:16/11}}
/* Barrierefreiheit: Kontrast kleiner Grautexte in der hellen Ansicht auf mindestens 4,5:1. */
html[data-theme="light"] .product-row .product-index{color:#5f5f5f}
html[data-theme="light"] .customer-voices>div>p:not(.eyebrow),html[data-theme="light"] .voice-list small{color:#595959}
/* Mobil, Bereichsauswahl: Kleinsttexte auf lesbare 12 px (Lesbarkeit auf Telefonen, Lighthouse „legible font sizes“). Desktop unverändert. */
@media(max-width:600px){body[data-page="intro"] .intro-header>span,body[data-page="intro"] .hero-eyebrow,body[data-page="intro"] .panel-number,body[data-page="intro"] .intro-foot>span,body[data-page="intro"] .intro-foot a{font-size:12px}body[data-page="intro"] .hero-pretitle,body[data-page="intro"] .hero-link{font-size:13px}body[data-page="intro"] .intro-header>span{letter-spacing:.1em}}
/* Barrierefreiheit: inaktive Schritte der Anfrage-Fortschrittsanzeige mit ausreichendem Kontrast (4,5:1). */
html[data-theme] .inquiry-progress{color:#6b6b6b}
/* Überschriften-Hierarchie: Auf der Anwendungsübersicht (direkt nach der H1) und bei Produkten ohne Modelle sind die Kacheln/der Ausstattungstitel H2 – optisch wie bisher H3. */
html .application-index .use-case h2{font-family:var(--display);font-weight:500;font-size:30px;line-height:1.25;letter-spacing:-.035em}
html .equipment-options>h2{font-family:var(--display);font-weight:500;font-size:31px;line-height:1.25;letter-spacing:-.035em}
@media(max-width:600px){html .application-index .use-case h2{font-size:23px}html .equipment-options>h2{font-size:29px}}
/* Ladezeit: CSS-Hintergrundbilder aus den WebP-Varianten statt der großen JPGs (gleiche Motive, gleiche Position). */
html[data-theme] .closing{background-image:linear-gradient(90deg,#181818ed,#202020d9),url('/assets/hero-private-1600.webp')}
html[data-theme] .quick-services a:first-child{background-image:linear-gradient(90deg,#272727f5,#2727278a),url('/assets/detail-roof-900.webp')}
html[data-theme="light"] .quick-services a:first-child{background-image:linear-gradient(90deg,#fffffffa,#ffffffd9),url('/assets/detail-roof-900.webp')}
@media(max-width:820px){html[data-theme] .closing{background-image:linear-gradient(90deg,#181818ed,#202020d9),url('/assets/hero-private-1000.webp')}}
/* Newsletter-Anmeldung (Double-Opt-in) im Newsletter-Streifen */
.newsletter-form{margin-top:16px}
.newsletter-row{display:flex;gap:10px;align-items:stretch}
.newsletter-row input[type=email]{flex:1;min-width:0;border:1px solid #5a5a5a;background:#2a2a2a;color:#fff;border-radius:2px;padding:12px 14px;font-size:14px;min-height:46px;line-height:1.4}
.newsletter-row input[type=email]::placeholder{color:#9a9a9a}
.newsletter-row input[type=email]:focus{outline:2px solid var(--yellow);outline-offset:1px;border-color:var(--yellow)}
.newsletter-row .button{white-space:nowrap;min-height:46px;padding:12px 18px;font-size:12px}
.newsletter-form .honeypot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.newsletter-consent{display:flex;gap:9px;align-items:start;font-size:11px;line-height:1.7;color:#c4c4c4;margin-top:12px}
.newsletter-consent input{margin:4px 0 0;accent-color:var(--yellow);width:15px;height:15px;flex:none}
.newsletter-consent a{text-decoration:underline;text-underline-offset:2px}
.newsletter-status{font-size:12px;margin-top:10px;min-height:1em;color:#e8e8e8}
.newsletter-status[data-state=error]{color:#ffb0b0}
.newsletter-status[data-state=ok]{color:#ffd84d}
html[data-theme="light"] .newsletter-row input[type=email]{background:#fff;color:var(--ink);border-color:#c8c8c8}
html[data-theme="light"] .newsletter-row input[type=email]::placeholder{color:#777}
html[data-theme="light"] .newsletter-consent{color:#555}
html[data-theme="light"] .newsletter-status{color:#333}
html[data-theme="light"] .newsletter-status[data-state=error]{color:#a81d1d}
html[data-theme="light"] .newsletter-status[data-state=ok]{color:#6b5a00}
@media(max-width:600px){.newsletter-row{flex-direction:column}.newsletter-row .button{width:100%;justify-content:center}}
