/* Erftstadt opt-in; geometry from accepted RM pilot, no shared component typography override. */
/* Same accepted highlight spacing as Bruehl, Wuelfrath and Erftstadt. */
body:has(#erftstadt-intro) .hero-section h1{line-height:1.65!important}
#main-content .rm-erftstadt{padding:72px 0!important}
.rm-erftstadt .rm-pilot-wrap{max-width:1184px;padding:0 28px}
.rm-erftstadt .rm-pilot-block{min-width:0}
.rm-erftstadt .rm-pilot-block p,.rm-erftstadt .rm-pilot-block li{max-width:75ch}
.rm-erftstadt h2,.rm-erftstadt h3{overflow-wrap:break-word}
.rm-erftstadt-reading{max-width:900px}
.rm-erftstadt-intro-copy{text-align:left;min-width:0}
.rm-erftstadt-intro-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:64px;align-items:start}
.rm-erftstadt-intro-grid>aside{width:100%;max-width:380px;margin:0 auto}
.rm-erftstadt-image-band{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:start;margin-top:30px}
.rm-erftstadt-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:36px;align-items:start}
.rm-erftstadt-detail-grid>article{min-width:0;margin:0}
.rm-erftstadt-detail-grid>article:last-child:nth-child(odd){grid-column:1/-1}
.rm-erftstadt-editorial-photo{position:relative;margin:8px 0 0;min-width:0}
.rm-erftstadt-editorial-photo img{display:block;width:100%;height:auto;object-fit:contain}
.rm-erftstadt-editorial-photo .rm-pilot-frame{position:relative;overflow:visible}
.rm-erftstadt-project-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start;margin:36px 0}
.rm-erftstadt-project-pair img{aspect-ratio:4/3;object-fit:contain}
body:has(#erftstadt-intro) #kontaktformular{scroll-margin-top:110px}
body:has(#erftstadt-intro) .rm-widget-fullbleed{margin-bottom:0}
@media(max-width:1023px){.rm-erftstadt-intro-grid{gap:36px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}
@media(max-width:900px){.rm-erftstadt-image-band{grid-template-columns:1fr;gap:28px}.rm-erftstadt-editorial-photo{width:100%;max-width:650px;margin:8px auto 0}}
@media(max-width:767px){#main-content .rm-erftstadt{padding:48px 0!important}.rm-erftstadt .rm-pilot-wrap{padding-left:24px;padding-right:24px}.rm-erftstadt-intro-grid,.rm-erftstadt-detail-grid,.rm-erftstadt-project-pair{grid-template-columns:1fr;gap:30px}.rm-erftstadt-intro-grid>aside{max-width:360px;margin:8px auto 0}.rm-erftstadt-intro-lead{margin-bottom:30px}.rm-erftstadt-detail-grid>article:last-child:nth-child(odd){grid-column:auto}}
/* Mira source-bound composition: long sections get structured groups, not uniform cards. */
.rm-erftstadt.rm-pilot--tint{background:#f4f9ec}
.rm-erftstadt .rm-pilot-heading{max-width:950px}
.rm-erftstadt-intro-copy h2{margin-top:0}
.rm-erftstadt-intro-copy p{max-width:64ch}
.rm-erftstadt-intro-grid>aside .rm-pilot-photo{margin-top:0}
.rm-erftstadt-image-band>.rm-erftstadt-editorial-photo{position:sticky;top:120px}
.rm-erftstadt-feature{max-width:none;margin:34px 0;padding:28px 32px;border:1px solid rgba(90,139,20,.18);border-left:4px solid #5a8b14;border-radius:16px;background:linear-gradient(110deg,#f4f9ec,#fff)}
.rm-erftstadt-feature h3{margin-top:0}
.rm-erftstadt-feature .rm-pilot-block:last-child p{margin-bottom:0}
.rm-erftstadt-factors ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0;padding:0;list-style:none}
.rm-erftstadt-factors li{margin:0!important;padding:20px!important;border:1px solid rgba(90,139,20,.14);border-radius:12px;background:#fff;font-size:16px;line-height:1.7}
.rm-erftstadt-factors li:before{display:none!important}
.rm-erftstadt-factors li strong{display:block;margin-bottom:6px;color:#416310}
#erftstadt-process .rm-erftstadt-detail-grid{align-items:stretch}
#erftstadt-process .rm-pilot-card{height:100%;border-top:3px solid #ffce02}
#erftstadt-municipal .rm-pilot-card{border-top:3px solid #5a8b14}
#erftstadt-local .rm-erftstadt-reading{padding-left:26px;border-left:3px solid #5a8b14}
.rm-erftstadt .rm-pilot-block a{overflow-wrap:anywhere}
@media(max-width:900px){.rm-erftstadt-image-band>.rm-erftstadt-editorial-photo{position:static}.rm-erftstadt-factors ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.rm-erftstadt-feature{padding:22px}.rm-erftstadt-factors ul{grid-template-columns:1fr}.rm-erftstadt-factors li{font-size:16px}#erftstadt-local .rm-erftstadt-reading{padding-left:18px}.rm-erftstadt-intro-copy h2{font-size:clamp(26px,6vw,32px)}}

/* Real before/after control, Erftstadt only. Without JS both complete photographs remain visible. */
.rm-erftstadt-project{padding:72px 0;background:linear-gradient(180deg,#fff,#f4f9ec 80px);border-top:3px solid #ffce02;border-bottom:3px solid #ffce02;color:#1a2810}
.rm-erftstadt-project-inner{max-width:1184px;margin:auto;padding:0 28px}
.rm-erftstadt-project-header{max-width:800px;margin:0 auto 36px;text-align:center}
.rm-erftstadt-project-header h2{font-size:clamp(28px,3vw,38px);line-height:1.25;font-weight:800;margin:12px 0 18px}
.rm-erftstadt-project-header p{line-height:1.8;color:#46523e}
.rm-erftstadt-compare{--before:50%;max-width:900px;margin:auto;border:1px solid #dce6cd;border-radius:20px;overflow:hidden;background:white;box-shadow:0 16px 40px rgba(26,40,16,.1)}
.rm-erftstadt-compare-images{display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden}
.rm-erftstadt-compare-images figure{position:relative;margin:0;min-width:0}
.rm-erftstadt-compare-images img{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none}
.rm-erftstadt-compare-images figcaption{position:absolute;top:16px;padding:8px 14px;background:#1a2810;color:#fff;border-radius:8px;font-size:14px;font-weight:700;z-index:3}
.rm-erftstadt-compare-before figcaption{left:16px}.rm-erftstadt-compare-after figcaption{right:16px}
.rm-erftstadt-compare-divider{display:none}
.rm-erftstadt-compare.is-enhanced{max-width:520px}
.rm-erftstadt-compare.is-enhanced .rm-erftstadt-compare-images{display:block;aspect-ratio:3/4;touch-action:pan-y;cursor:ew-resize}
.rm-erftstadt-compare.is-enhanced .rm-erftstadt-compare-images figure{position:absolute;inset:0}
.rm-erftstadt-compare.is-enhanced .rm-erftstadt-compare-images img{width:100%;height:100%;object-fit:contain}
.rm-erftstadt-compare.is-enhanced .rm-erftstadt-compare-before{z-index:2;clip-path:inset(0 calc(100% - var(--before)) 0 0)}
.rm-erftstadt-compare.is-enhanced .rm-erftstadt-compare-after{z-index:1}
.rm-erftstadt-compare.is-enhanced .rm-erftstadt-compare-divider{display:block;position:absolute;left:var(--before);top:0;bottom:0;width:3px;background:#ffce02;z-index:3;transform:translateX(-50%);pointer-events:none}
.rm-erftstadt-compare-divider:after{content:'↔';display:grid;place-items:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;background:#ffce02;color:#1a2810;font-size:24px;box-shadow:0 2px 14px rgba(0,0,0,.25)}
.rm-erftstadt-compare-caption{margin:0;padding:18px 24px;background:#1a2810;color:white;font-weight:700;text-align:center}
.rm-erftstadt-compare-controls{padding:20px 24px}.rm-erftstadt-compare-controls[hidden]{display:none}
.rm-erftstadt-compare-controls label{display:block;font-weight:700}.rm-erftstadt-compare-controls p{font-size:14px;line-height:1.6;margin:8px 0;color:#46523e}
.rm-erftstadt-compare-controls input{display:block;width:100%;min-height:48px;margin:8px 0;accent-color:#5a8b14;cursor:ew-resize}
.rm-erftstadt-compare-controls input:focus-visible,.rm-erftstadt-compare-controls button:focus-visible{outline:3px solid #5a8b14;outline-offset:4px}
.rm-erftstadt-compare-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rm-erftstadt-compare-buttons button{min-height:48px;padding:10px;border:1px solid #5a8b14;border-radius:8px;background:#f4f9ec;color:#1a2810;font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.rm-erftstadt-compare-buttons button[aria-pressed=true]{background:#ffce02}
@media(max-width:767px){.rm-erftstadt-project{padding:48px 0}.rm-erftstadt-project-inner{padding:0 24px}.rm-erftstadt-project-header{text-align:left}.rm-erftstadt-compare-controls{padding:18px}.rm-erftstadt-compare-buttons{gap:8px}}
