/* SCL Solarclean Lehrmann – Ergänzungen zu theme.json */
:root{--scl-r-sm:3px;--scl-r-md:6px;--scl-r-lg:10px;--scl-gap:clamp(1rem,2.5vw,2rem);--c-modul:var(--wp--preset--color--modul);--c-sonne:var(--wp--preset--color--sonne);--c-line:var(--wp--preset--color--line);--c-muted:var(--wp--preset--color--ink-muted)}
html{scroll-padding-top:88px}
body{-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
:where(.wp-site-blocks)>*{margin-block-start:0}
.scl-main{padding:0!important}
.scl-main>.wp-block-post-content{margin-block-start:0}
.scl-main>.wp-block-post-content>.alignfull:first-child{margin-block-start:0}
.scl-page{padding-block:clamp(2.5rem,6vw,4.5rem)!important;padding-inline:var(--wp--style--root--padding-left)!important}
.scl-page__title{margin-bottom:1.5rem}

/* Header */
.scl-header{position:sticky;top:0;z-index:50;background:var(--wp--preset--color--surface-raised);border-bottom:1px solid transparent;transition:border-color .2s,box-shadow .2s}
.admin-bar .scl-header{top:32px}
@media (max-width:782px){.admin-bar .scl-header{top:46px}}
.scl-header.is-scrolled{border-color:var(--c-line);box-shadow:0 6px 20px -12px #0f1b2d40}
.scl-header__inner{min-height:72px;gap:1.5rem}
.scl-header__nav{gap:1.5rem}
.scl-logo{display:block;line-height:0}
.scl-logo img{height:44px;width:auto}
.scl-header .wp-block-navigation a{text-decoration:none;color:var(--wp--preset--color--ink)}
.scl-header .wp-block-navigation a:hover{color:var(--wp--preset--color--sonne-text)}
.scl-header__cta .wp-block-button__link{padding:.7rem 1.1rem;font-size:.9375rem}
@media (max-width:600px){.scl-logo img{height:36px}.scl-header__cta{display:none}}

/* Abschnitte */
.scl-section{padding-block:clamp(3rem,7vw,5rem)!important}
.scl-section--tight{padding-block:clamp(2.5rem,5vw,4rem)!important}
.scl-section__head{margin-bottom:clamp(1.5rem,3vw,2.5rem)}
.scl-section__head>*{margin-block:0}
.scl-section__head>*+*{margin-top:.75rem!important}
.scl-eyebrow{font-size:.8125rem!important;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--wp--preset--color--sonne-text);margin-bottom:.5rem!important}
.has-modul-background-color .scl-eyebrow{color:var(--c-sonne)}
.scl-lead{font-size:var(--wp--preset--font-size--l)!important;line-height:1.55}
.scl-small{font-size:var(--wp--preset--font-size--s)!important;color:var(--c-muted)}
.scl-muted{color:var(--wp--preset--color--on-modul-muted)}
.scl-section--dark h2,.scl-section--dark h3,.scl-hero h1,.scl-cta h2,.scl-footer h3{color:var(--wp--preset--color--on-modul)}
.scl-split{gap:clamp(2rem,5vw,4.5rem)!important}

/* Hero */
.scl-hero{padding-block:clamp(3rem,8vw,6rem)!important;position:relative;overflow:hidden}
.scl-hero::after{content:"";position:absolute;inset:auto -6% -40% auto;width:52%;aspect-ratio:1;background-image:radial-gradient(circle at 1px 1px,#ffffff14 1.2px,transparent 1.4px);background-size:22px 22px;pointer-events:none}
.scl-hero__cols{position:relative;z-index:1;gap:clamp(2rem,5vw,4rem)!important}
.scl-display{font-family:var(--wp--preset--font-family--display)!important;font-size:var(--wp--preset--font-size--display)!important;font-weight:800!important;line-height:1.04!important;letter-spacing:-.02em;margin-block:.25rem 1.25rem!important}
.scl-accent{color:var(--c-sonne)}
.scl-hero .scl-lead{color:var(--wp--preset--color--on-modul-muted)}
.scl-hero__buttons{margin-top:2rem!important;gap:.75rem}
.scl-btn-lg .wp-block-button__link{padding:1.05rem 1.6rem;font-size:1.0625rem}
.is-style-scl-hell .wp-block-button__link{background:transparent!important;color:var(--wp--preset--color--on-modul)!important;border-color:var(--wp--preset--color--on-modul)!important}
.is-style-scl-hell .wp-block-button__link:hover{background:var(--wp--preset--color--modul-hell)!important}
.is-style-outline .wp-block-button__link{background:transparent!important;color:var(--wp--preset--color--ink)!important;border-color:var(--wp--preset--color--ink)!important}
.is-style-outline .wp-block-button__link:hover{background:var(--wp--preset--color--surface-sunken)!important}
.scl-facts{list-style:none;padding:0;margin-top:2rem!important;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;font-size:.9375rem;color:var(--wp--preset--color--on-modul-muted)}
.scl-facts li{display:flex;align-items:center;gap:.5rem}
.scl-facts li::before{content:"";width:10px;height:10px;border-radius:2px;background:var(--c-sonne);flex:none}

/* Bild-Platzhalter (bis echte Fotos da sind) */
.scl-ph{position:relative;display:flex;align-items:flex-end;aspect-ratio:3/2;border-radius:var(--scl-r-lg);overflow:hidden;background-color:var(--wp--preset--color--surface-sunken);background-image:linear-gradient(var(--c-line) 1.5px,transparent 1.5px),linear-gradient(90deg,var(--c-line) 1.5px,transparent 1.5px);background-size:28px 28px;padding:1rem!important}
.scl-ph p{margin:0;font-size:.8125rem;line-height:1.35;color:var(--c-muted);background:var(--wp--preset--color--surface-raised);padding:.35rem .6rem;border-radius:var(--scl-r-sm)}
.scl-ph--hero{aspect-ratio:4/3;background-color:var(--wp--preset--color--modul-hell);background-image:linear-gradient(#ffffff1f 1.5px,transparent 1.5px),linear-gradient(90deg,#ffffff1f 1.5px,transparent 1.5px)}
.scl-ph--dark{background-color:var(--wp--preset--color--modul-hell);background-image:linear-gradient(#ffffff1f 1.5px,transparent 1.5px),linear-gradient(90deg,#ffffff1f 1.5px,transparent 1.5px)}
.scl-ph--hero p,.scl-ph--dark p{background:var(--c-modul);color:var(--wp--preset--color--on-modul-muted)}
.scl-ph--tall{aspect-ratio:4/5}
.scl-ph--square{aspect-ratio:1}
.scl-ph--card{aspect-ratio:3/2;border-radius:0}
.scl-tag{position:absolute;top:.75rem;left:.75rem;background:var(--c-modul)!important;color:#fff!important;font-weight:600;font-size:.8125rem!important}
.wp-block-image.scl-rounded img,.scl-rounded img{border-radius:var(--scl-r-lg)}

/* Karten */
.scl-cards{gap:var(--scl-gap)!important}
.scl-card{background:var(--wp--preset--color--surface-raised);border:1px solid var(--c-line);border-radius:var(--scl-r-lg);overflow:hidden;display:flex;flex-direction:column}
.scl-card__body{padding:1.25rem 1.25rem 1.5rem;gap:.5rem!important;align-items:flex-start!important}
.scl-card__body h3,.scl-card__body p{margin:0}
.scl-card__body p{color:var(--c-muted);font-size:.9375rem}
.scl-icon{margin:0 0 .25rem!important}
.scl-icon img{display:block}
.is-style-scl-karte{background:var(--wp--preset--color--surface-raised);border:1px solid var(--c-line);border-radius:var(--scl-r-lg);padding:clamp(1.25rem,3vw,2rem)!important}
.is-style-scl-karte>*{margin-block-start:0}
.is-style-scl-karte>*+*{margin-block-start:.75rem}
@media (min-width:782px) and (max-width:1100px){.scl-cards{flex-wrap:wrap!important}.scl-cards>.wp-block-column{flex-basis:calc(50% - var(--scl-gap))!important}}

/* Listen */
.is-style-scl-haken{list-style:none;padding:0}
.is-style-scl-haken li{position:relative;padding-left:1.9rem;margin:.5rem 0}
.is-style-scl-haken li::before{content:"";position:absolute;left:0;top:.2em;width:1.25rem;height:1.25rem;border-radius:50%;background:var(--wp--preset--color--erfolg-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A7045' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5l10 -10'/%3E%3C/svg%3E") center/12px no-repeat}
.scl-regions{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.5rem 1.5rem}
.scl-regions li{padding:.6rem 0;border-bottom:1px solid var(--c-line);font-weight:500}

/* Beispielrechnung */
.scl-calc h3{margin-bottom:.25rem}
.scl-table{margin:1.25rem 0 0!important}
.scl-table table{border-collapse:collapse;width:100%}
.scl-table th,.scl-table td{border:0!important;border-bottom:1px solid var(--c-line)!important;padding:.7rem .6rem!important;text-align:right}
.scl-table th:first-child,.scl-table td:first-child{text-align:left}
.scl-table thead th{font-weight:600;font-size:.8125rem;color:var(--c-muted);border-bottom:2px solid var(--wp--preset--color--ink)!important;vertical-align:bottom}
.scl-table tbody td{font-variant-numeric:tabular-nums}
.scl-table tbody td:first-child{font-weight:600}
.scl-table tbody tr:nth-child(2){background:var(--wp--preset--color--sonne-soft)}
.scl-table figcaption{text-align:left;margin-top:.75rem;font-size:.8125rem}
@media (max-width:600px){.scl-table th,.scl-table td{padding:.6rem .35rem!important;font-size:.875rem}}

/* Technik */
.scl-features{gap:2rem 2.5rem!important;margin-top:1.5rem!important}
.scl-feature>*{margin-block:0}
.scl-feature h3{margin:.5rem 0 .35rem!important;font-size:1.125rem!important}
.scl-feature p{color:var(--wp--preset--color--on-modul-muted);font-size:.9375rem}

/* Ablauf */
.scl-steps{counter-reset:step;gap:1.5rem!important}
.scl-step{counter-increment:step;border-top:3px solid var(--wp--preset--color--ink);padding-top:1.25rem!important}
.scl-step:last-child{border-top-color:var(--c-sonne)}
.scl-step::before{content:counter(step,decimal-leading-zero);display:block;font-family:var(--wp--preset--font-family--display);font-weight:700;font-size:1.75rem;line-height:1;color:var(--wp--preset--color--ink);margin-bottom:.75rem}
.scl-step>*{margin-block:0}
.scl-step h3{font-size:1.125rem!important;margin-bottom:.35rem!important}
.scl-step p{color:var(--c-muted);font-size:.9375rem}

/* Vorher/Nachher */
.scl-vn{gap:var(--scl-gap)!important}
.scl-vn__pair{gap:.5rem!important;margin-bottom:.5rem!important}
.scl-vn .scl-ph{aspect-ratio:1}

/* Karte Einsatzgebiet */
.scl-map{background:var(--wp--preset--color--surface);border:1px solid var(--c-line);border-radius:var(--scl-r-lg);padding:1rem;overflow:hidden}
.scl-map svg{display:block;width:100%;height:auto}
.scl-map__ring{fill:none;stroke:var(--wp--preset--color--line-strong);stroke-width:1;stroke-dasharray:3 5}
.scl-map__home{fill:var(--c-sonne)}
.scl-map__pt{fill:var(--wp--preset--color--ink)}
.scl-map__label{font:700 15px var(--wp--preset--font-family--heading);fill:var(--wp--preset--color--ink)}
.scl-map__city{font:500 13px var(--wp--preset--font-family--body);fill:var(--c-muted)}
.scl-map__note{margin:.5rem 0 0;font-size:.8125rem;color:var(--c-muted)}

/* FAQ */
.scl-faq{border-top:1px solid var(--c-line)}
.scl-faq__item{margin:0!important;padding:0!important;border-bottom:1px solid var(--c-line)}
.scl-faq__item summary{cursor:pointer;list-style:none;padding:1.1rem 2.5rem 1.1rem 0;position:relative;font-weight:600;font-size:1.0625rem}
.scl-faq__item summary::-webkit-details-marker{display:none}
.scl-faq__item summary::after{content:"";position:absolute;right:.5rem;top:50%;width:10px;height:10px;border-right:2px solid var(--wp--preset--color--ink);border-bottom:2px solid var(--wp--preset--color--ink);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.scl-faq__item[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.scl-faq__item summary:hover{color:var(--wp--preset--color--sonne-text)}
.scl-faq__item p{margin:0 0 1.25rem;color:var(--c-muted);max-width:65ch}

/* CTA */
.scl-cta{padding-block:clamp(2.5rem,6vw,4rem)!important}
.scl-cta__inner{gap:1.5rem 3rem!important}
.scl-cta__text>*{margin-block:0}
.scl-cta__text>*+*{margin-top:.5rem!important}
.scl-cta h2{font-size:clamp(1.5rem,3vw,2rem)!important}

/* Kontakt */
.scl-contact{gap:1.25rem!important;margin-top:2rem!important}

/* Footer */
.scl-footer{padding-block:clamp(3rem,6vw,4rem) 1.5rem!important;font-size:.9375rem}
.scl-footer a{color:var(--wp--preset--color--on-modul);text-decoration:none}
.scl-footer a:hover{color:var(--c-sonne);text-decoration:underline}
.scl-footer .scl-logo img{height:52px}
.scl-footer__title{font-size:.8125rem!important;letter-spacing:.12em;text-transform:uppercase;color:var(--wp--preset--color--on-modul-muted)!important;margin-bottom:.75rem!important}
.scl-footer p{line-height:1.8}
.scl-footer__copy{margin-top:2.5rem!important;padding-top:1.25rem;border-top:1px solid #ffffff1f;font-size:.8125rem;color:var(--wp--preset--color--on-modul-muted)}

:focus-visible{outline:2px solid var(--wp--preset--color--wasser);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Abschnitte ohne Lücke aneinander */
.wp-block-post-content>.alignfull{margin-block-start:0!important;margin-block-end:0!important}
@media (min-width:1000px){.scl-steps{grid-template-columns:repeat(5,minmax(0,1fr))!important}}
@media (max-width:999px) and (min-width:560px){.scl-steps{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:559px){.scl-steps{grid-template-columns:1fr!important}.scl-features{grid-template-columns:1fr!important}}

/* Illustrationen / Bilder */
.scl-illu{margin:0!important}
.scl-illu img{display:block;width:100%;height:100%;object-fit:cover;border-radius:var(--scl-r-lg)}
.scl-illu--hero img{aspect-ratio:4/3}
.scl-illu--card img{aspect-ratio:3/2;border-radius:0}
.scl-illu--tall img{aspect-ratio:4/5}
.scl-illu--square img{aspect-ratio:1}
.scl-media{position:relative;padding:0!important}
.scl-media>.scl-tag{margin:0!important;padding:.3rem .55rem;border-radius:var(--scl-r-sm)}
.scl-card>.scl-illu{border-bottom:1px solid var(--c-line)}

/* Noch auszufüllende Angaben in Rechtstexten */
mark.scl-todo{background:var(--wp--preset--color--sonne-soft);color:var(--wp--preset--color--sonne-text);padding:0 .25em;border-radius:2px;font-weight:600}
.scl-page h2{font-size:1.375rem!important;margin-top:2.25rem}
.scl-page h3{font-size:1.125rem!important;margin-top:1.75rem}

/* Mobilmenü */
.scl-burger{display:none;width:46px;height:46px;flex:none;border:1.5px solid var(--wp--preset--color--line);border-radius:var(--scl-r-md);background:var(--wp--preset--color--surface-raised);cursor:pointer;padding:0;position:relative}
.scl-burger span{position:absolute;left:12px;right:12px;height:2px;border-radius:2px;background:var(--wp--preset--color--ink);transition:transform .2s,opacity .2s}
.scl-burger span:nth-child(1){top:15px}.scl-burger span:nth-child(2){top:21px}.scl-burger span:nth-child(3){top:27px}
.scl-burger[aria-expanded="true"]{background:var(--c-modul);border-color:var(--c-modul)}
.scl-burger[aria-expanded="true"] span{background:#fff}
.scl-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.scl-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.scl-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.scl-drawer{position:fixed;left:0;right:0;bottom:0;top:var(--scl-header-bottom,72px);z-index:49;background:var(--c-modul);color:var(--wp--preset--color--on-modul);overflow-y:auto;padding:1rem 1.25rem calc(1.5rem + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:1.5rem}
.scl-drawer[hidden]{display:none}
.scl-drawer__nav{display:flex;flex-direction:column}
.scl-drawer__nav a{display:flex;align-items:center;justify-content:space-between;padding:1rem .25rem;border-bottom:1px solid #ffffff1f;color:#fff;text-decoration:none;font-family:var(--wp--preset--font-family--heading);font-weight:600;font-size:1.3rem}
.scl-drawer__nav a::after{content:"";width:9px;height:9px;border-top:2px solid var(--c-sonne);border-right:2px solid var(--c-sonne);transform:rotate(45deg)}
.scl-drawer__nav a:active,.scl-drawer__nav a:hover{color:var(--c-sonne)}
.scl-drawer__cta{display:flex;align-items:center;justify-content:center;min-height:56px;border-radius:var(--scl-r-md);background:var(--c-sonne);color:var(--c-modul)!important;font-weight:600;font-size:1.0625rem;text-decoration:none}
.scl-drawer__contact{display:flex;flex-direction:column;gap:.25rem;font-size:.9375rem;color:var(--wp--preset--color--on-modul-muted)}
.scl-drawer__contact a{color:#fff;font-weight:600;font-size:1.0625rem}
.scl-drawer__legal{margin-top:auto;display:flex;gap:1.5rem;padding-top:1rem;border-top:1px solid #ffffff1f}
.scl-drawer__legal a{color:var(--wp--preset--color--on-modul-muted);font-size:.9375rem}
html.scl-menu-open,html.scl-menu-open body{overflow:hidden}
@media (max-width:1023px){
  .scl-nav-desktop{display:none!important}
  .scl-burger{display:block}
  .scl-header__nav{gap:.5rem!important}
  .scl-header .scl-header__cta{display:block!important}
}
@media (max-width:380px){.scl-header__cta .wp-block-button__link{padding:.65rem .8rem;font-size:.875rem}.scl-logo img{height:32px}}

/* Rechtliches in der Fußzeile */
.scl-footer__copy{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem}
.scl-footer__legal{display:flex;gap:1.25rem}
.scl-footer__legal a{color:var(--wp--preset--color--on-modul)!important;text-decoration:underline!important;text-underline-offset:3px}

/* Nach oben */
.scl-totop{position:fixed;right:max(1rem,env(safe-area-inset-right,0px));bottom:calc(1rem + env(safe-area-inset-bottom,0px));z-index:40;width:48px;height:48px;border-radius:50%;border:0;background:var(--c-modul);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 24px -8px #0f1b2d66;transition:background-color .15s,transform .15s}
.scl-totop[hidden]{display:none}
.scl-totop:hover{background:var(--c-sonne);color:var(--c-modul);transform:translateY(-2px)}
.scl-totop:focus-visible{outline:2px solid var(--wp--preset--color--wasser);outline-offset:3px}

/* Kopfzeile wirklich fixieren: sticky muss am äußeren Template-Teil sitzen */
.wp-site-blocks>header.wp-block-template-part{position:sticky;top:0;z-index:50}
.admin-bar .wp-site-blocks>header.wp-block-template-part{top:32px}
@media (max-width:782px){.admin-bar .wp-site-blocks>header.wp-block-template-part{top:46px}}
@media (max-width:600px){.admin-bar .wp-site-blocks>header.wp-block-template-part{top:0}}
.wp-site-blocks>header.wp-block-template-part .scl-header{position:relative;top:auto}
