/* Homepage district explorer. Uses the existing NaturFreunde fonts and public data. */
.nfe-dx{--dx-ink:#123d2b;--dx-lime:#dce97b;background:#edf2e8;color:var(--dx-ink);padding:76px 0 48px;scroll-margin-top:90px}
.nfe-dx *, .nfe-dx *:before,.nfe-dx *:after{box-sizing:border-box}
.nfe-dx [hidden]{display:none!important}.nfe-dx .nfe-dx-js{display:none}.nfe-dx.has-js .nfe-dx-js{display:flex}
.nfe-dx button,.nfe-dx input{font:inherit}.nfe-dx button,.nfe-dx a{touch-action:manipulation}.nfe-dx button{cursor:pointer}
.nfe-dx :is(button,a,input):focus-visible{outline:3px solid #e87c22;outline-offset:4px}.nfe-dx a{color:inherit}
.nfe-dx-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:35px}
.nfe-dx-kicker{display:block;font-size:11px;font-weight:800;letter-spacing:.12em;line-height:1.4}
.nfe-dx .nfe-dx-heading h2{font-size:clamp(38px,4.5vw,62px);line-height:1.02;letter-spacing:-.045em;color:var(--dx-ink);margin:15px 0 0;font-weight:800}
.nfe-dx-heading>p{max-width:330px;font-size:16px;line-height:1.6;margin:0 0 4px;color:#4a6354}
.nfe-dx-tools{align-items:flex-end;justify-content:space-between;gap:25px;border-top:1px solid #cfdac9;padding-top:28px}
.nfe-dx-filters{display:flex;align-items:center;gap:5px;flex-wrap:wrap;background:#dfe8d9;border-radius:12px;padding:5px}
.nfe-dx-filters button{display:flex;gap:10px;align-items:center;border:0;border-radius:8px;padding:12px 15px;background:transparent;color:var(--dx-ink);font-size:13px;font-weight:700;min-height:46px}
.nfe-dx-filters button[aria-pressed=true]{background:#fff;box-shadow:0 3px 12px #163f2910}.nfe-dx-filters button span{font-size:11px;min-width:22px;height:22px;display:grid;place-content:center;background:#edf2e8;border-radius:50%;font-weight:800}
.nfe-dx-search{width:min(370px,100%)}.nfe-dx-search>label{display:block;font-size:12px;font-weight:700;margin-bottom:7px}
.nfe-dx-search>div{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #b5c7b1;border-radius:10px;padding:0 12px;min-height:49px}
.nfe-dx-search input{border:0!important;box-shadow:none!important;background:transparent!important;min-width:0;width:100%;height:47px;color:var(--dx-ink);font-size:14px;padding:0!important}.nfe-dx-search input:focus{outline:0}.nfe-dx-search>div:focus-within{outline:2px solid var(--dx-ink);outline-offset:3px}.nfe-dx-search input::-webkit-search-cancel-button{display:none}
.nfe-dx-search button{border:0;background:none;color:var(--dx-ink);font-size:25px;min-width:36px;min-height:44px;padding:0}
.nfe-dx-status{align-items:center;min-height:38px;color:#526653;font-size:12px;margin:10px 0 14px}
.nfe-dx-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:18px}
.nfe-dx-card{position:relative;display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #d3dece;border-radius:17px;overflow:hidden;transition:box-shadow .18s ease,transform .18s ease;box-shadow:0 6px 16px #183b2406}
.nfe-dx-card.is-active-group{background:#173f2e;border-color:#173f2e;color:#fff}.nfe-dx-card.is-selected{outline:3px solid #c7dd55;outline-offset:3px}.nfe-dx-card:hover{box-shadow:0 14px 30px #153b2918;transform:translateY(-3px)}
.nfe-dx-card-main{position:relative;display:flex;flex:1;flex-direction:column;min-width:0;width:100%;min-height:300px;gap:0;overflow:hidden;padding:23px 23px 19px;border:0;background:none;color:inherit;text-align:left;border-radius:16px 16px 0 0;isolation:isolate}
.nfe-dx-card-main:disabled{opacity:1;cursor:default}.nfe-dx-card-main:focus-visible{outline-offset:-5px}
.nfe-dx-card-top{display:flex;gap:6px;justify-content:space-between;align-items:center;width:100%;font-size:9px;font-weight:700;letter-spacing:.04em}
.nfe-dx-badge{font-size:9px;letter-spacing:0;background:#edf2e8;color:#46603f;border-radius:30px;padding:5px 8px;white-space:nowrap}.is-active-group .nfe-dx-badge{background:#294e3c;color:#e5f098}
.nfe-dx-roman{position:absolute;z-index:-1;right:10px;top:24px;font-size:155px;line-height:1.1;font-weight:800;letter-spacing:-.08em;color:#e9efe4;pointer-events:none}.is-active-group .nfe-dx-roman{color:#28533e}
.nfe-dx-card-name{display:block;position:relative;margin:61px 0 16px;font-size:clamp(30px,3.1vw,43px);line-height:1.02;font-weight:800;letter-spacing:-.045em}.nfe-dx-card-name.is-long{font-size:clamp(27px,2.7vw,37px)}
.nfe-dx-card-parts{position:relative;max-width:280px;font-size:13px;line-height:1.6;color:#4a6251}.is-active-group .nfe-dx-card-parts{color:#d5e3d6}.nfe-dx-card-parts>span{display:block;font-size:11px;margin-top:3px;opacity:.85}
.nfe-dx-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:9px;width:100%;margin-top:auto;padding-top:27px;font-size:10px;color:#4c634b}.is-active-group .nfe-dx-card-bottom{color:#d5e3d6}.nfe-dx-preview-label{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:12px;font-weight:700}.nfe-dx-preview-label i{font-style:normal;font-size:20px;line-height:1}
.nfe-dx-card-link{display:flex;justify-content:space-between;align-items:center;min-height:58px;padding:15px 23px;border-top:1px solid #dce4d6;text-decoration:none;font-size:13px;font-weight:800}.nfe-dx-card-link span{font-size:20px;font-weight:400}.is-active-group .nfe-dx-card-link{background:var(--dx-lime);border-color:transparent;color:#183b24}.nfe-dx-card-link:hover{text-decoration:underline}.nfe-dx-card-link:focus-visible{outline-offset:-5px}
.nfe-dx-panel{grid-column:1/-1;position:relative;background:#fff;border:1px solid #cbdac1;border-radius:18px;padding:32px;scroll-margin-top:95px;box-shadow:0 10px 24px #1e3e2308;margin:7px 0}.nfe-dx-panel-content{display:grid;grid-template-columns:1fr 1.2fr;gap:55px}.nfe-dx-panel-intro{min-width:0}
.nfe-dx .nfe-dx-panel h3{font-size:39px;line-height:1.1;letter-spacing:-.03em;margin:12px 0;color:var(--dx-ink)}.nfe-dx-panel-intro>p{font-size:14px;line-height:1.6;color:#516350;max-width:390px;margin:0 0 17px}.nfe-dx-panel h3:focus{outline:none}
.nfe-dx-parts{display:flex;flex-wrap:wrap;gap:6px;list-style:none!important;padding:0!important;margin:0 0 24px!important}.nfe-dx-parts li{font-size:11px;line-height:1.5;border-radius:6px;background:#edf2e8;padding:5px 9px;margin:0!important}
.nfe-dx-primary{display:inline-flex;gap:25px;align-items:center;padding:13px 17px;min-height:46px;border-radius:8px;background:#183f2c;color:#fff!important;text-decoration:none;font-size:13px;font-weight:800}
.nfe-dx-close{position:absolute;right:12px;top:10px;border:0;border-radius:50%;background:#f0f4eb;color:#173e2b;min-width:42px;min-height:42px;font-size:25px;line-height:1}
.nfe-dx-panel-info{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-content:start;padding-top:10px;min-width:0}.nfe-dx .nfe-dx-info-block h4{font-size:11px;text-transform:uppercase;letter-spacing:.07em;line-height:1.4;margin:0 0 12px;color:#526a4f}.nfe-dx-info-block>p{font-size:13px;line-height:1.6;color:#526653;margin:0 0 10px}
.nfe-dx-person,.nfe-dx-event{display:flex;justify-content:space-between;align-items:center;gap:8px;text-decoration:none;border-bottom:1px solid #dfe7d8;min-height:43px;padding:9px 0;font-size:13px}.nfe-dx-event small{display:block;font-size:10px;margin-bottom:5px;color:#5c7059}.nfe-dx-event strong{font-size:13px;font-weight:700}.nfe-dx-text-link{font-size:12px;text-underline-offset:4px}.nfe-dx-person:hover,.nfe-dx-event:hover{text-decoration:underline}
.nfe-dx-projects{grid-column:1/-1}.nfe-dx-projects a{display:inline-flex;gap:15px;align-items:center;padding:9px 12px;margin:0 6px 6px 0;border:1px solid #cad9bf;border-radius:8px;min-height:40px;font-size:12px;font-weight:700;text-decoration:none}.nfe-dx-projects a:hover{background:#e9f1dc}
.nfe-dx-empty{text-align:center;padding:35px;background:#fff;border:1px dashed #adc19e;border-radius:14px}.nfe-dx .nfe-dx-empty h3{font-size:24px;color:var(--dx-ink);margin:0 0 10px}.nfe-dx-empty p{font-size:14px}.nfe-dx-empty button{padding:13px 17px;border:0;border-radius:8px;background:var(--dx-ink);color:#fff;font-size:13px}
.nfe-dx-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #d0ddc8;margin-top:28px;padding-top:22px}.nfe-dx-footer p{font-size:12px;color:#50694c;margin:0}.nfe-dx-footer>div{display:flex;gap:22px;flex-wrap:wrap}.nfe-dx-footer a{font-size:12px;font-weight:700;text-decoration:none;border-bottom:1px solid #a6bc99;padding:9px 0}
@media(max-width:1050px){.nfe-dx-tools{align-items:stretch;flex-direction:column;gap:16px}.nfe-dx-search{width:100%}.nfe-dx-filters{align-self:flex-start}.nfe-dx-grid{gap:12px}.nfe-dx-card-main{padding:19px 16px}.nfe-dx-card-top{flex-wrap:wrap}.nfe-dx-card-name{font-size:35px}.nfe-dx-card-name.is-long{font-size:29px}.nfe-dx-card-link{padding:14px 16px}.nfe-dx-panel-content{gap:30px;grid-template-columns:1fr 1fr}.nfe-dx-panel-info{grid-template-columns:1fr}.nfe-dx-card-bottom{align-items:flex-start;flex-direction:column;gap:12px}}
@media(max-width:760px){.nfe-dx{padding:45px 0 30px}.nfe-dx-heading{display:block;margin-bottom:24px}.nfe-dx-heading>p{margin-top:18px;max-width:450px;font-size:14px}.nfe-dx-grid{grid-template-columns:1fr}.nfe-dx-card-main{min-height:255px;padding:22px}.nfe-dx-card-name,.nfe-dx-card-name.is-long{font-size:38px;margin-top:37px}.nfe-dx-card-top{flex-wrap:nowrap}.nfe-dx-roman{font-size:170px;top:25px;right:24px}.nfe-dx-card-parts{max-width:85%}.nfe-dx-card-bottom{flex-direction:row;align-items:center;padding-top:24px}.nfe-dx-card-link{padding:15px 22px}.nfe-dx-filters{width:100%}.nfe-dx-filters button{flex:1;justify-content:center;padding:11px 8px;font-size:12px;gap:6px}.nfe-dx-search input{font-size:16px}.nfe-dx-status{font-size:11px;line-height:1.5;min-height:40px}.nfe-dx-panel{padding:27px 22px}.nfe-dx-panel-content{grid-template-columns:1fr;gap:24px}.nfe-dx-panel-info{grid-template-columns:1fr;gap:20px}.nfe-dx .nfe-dx-panel h3{font-size:33px;max-width:85%}.nfe-dx-footer{display:block}.nfe-dx-footer>div{gap:20px;margin-top:10px}}
@media(max-width:365px){.nfe-dx-filters{flex-direction:column}.nfe-dx-filters button{width:100%}.nfe-dx-card-name,.nfe-dx-card-name.is-long{font-size:34px}.nfe-dx-badge{font-size:8px}.nfe-dx-card-top{gap:3px}}
@media(prefers-reduced-motion:reduce){.nfe-dx-card{transition:none}.nfe-dx-card:hover{transform:none}}
