.area-section{padding:100px 0 88px;background:#f6f7f2;scroll-margin-top:90px}
.area-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:32px}
.area-heading .section-label{margin:0 0 14px}.area-heading h2{font-size:clamp(30px,3.2vw,46px);line-height:1.15;letter-spacing:-1.2px;max-width:580px;margin:0;color:#173d2b}
.area-heading>p{max-width:390px;margin:0 0 3px;color:#5d685d;line-height:1.75;font-size:16px}
.area-map-shell{border:1px solid #d9dfd5;border-radius:20px;overflow:hidden;background:#e9ede4;box-shadow:0 10px 34px #1a382a0b}
#area-static-map{width:100%;height:570px;background:#e7ecdf}
.area-marker{z-index:2}.area-marker:hover,.area-marker:focus-within{z-index:5}
.area-marker-link{display:flex;flex-direction:column-reverse;align-items:center;gap:5px;text-decoration:none;color:#243c30;outline-offset:6px}
.area-marker-dot{display:block;width:13px;height:13px;border-radius:50%;background:#d94a3a;border:3px solid white;box-shadow:0 1px 4px #243c3040}
.area-marker-label{display:block;background:#fffffff0;box-shadow:0 2px 8px #243c301a;border:1px solid #dae1d4;border-radius:6px;padding:5px 9px;font:600 13px/1.25 Arial,sans-serif;white-space:nowrap;transition:transform .18s,font-weight .18s,color .18s;transform-origin:center bottom}
.area-marker-link:hover .area-marker-label,.area-marker-link:focus-visible .area-marker-label,.area-marker-link.is-match .area-marker-label{transform:scale(1.12);font-weight:800;color:#173d2b;background:white;box-shadow:0 4px 15px #243c3030}
.area-marker-link:hover .area-marker-dot,.area-marker-link.is-match .area-marker-dot{background:#478739}
.area-map-hint{margin:14px 0 26px;color:#677364;font-size:13px}
.area-postal{margin-bottom:24px;display:flex;flex-wrap:wrap;gap:16px 30px;justify-content:space-between;align-items:center;background:white;border:1px solid #dde4d7;border-radius:16px;padding:26px 30px}
.area-postal label{font-size:20px;font-weight:700;color:#173d2b}.area-postal p{margin:7px 0 0;font-size:14px;color:#63705f}
.area-postal-controls{display:flex;gap:10px}.area-postal input{width:260px;min-width:0;min-height:64px;box-sizing:border-box;padding:18px 20px;font-size:18px;border:1px solid #cbd5c6;border-radius:8px;font-family:inherit;background:#fafbf8}.area-postal input:focus{outline:2px solid #639f49;outline-offset:2px}.area-postal input[aria-invalid=true]{border-color:#b83d32}
.area-postal button{border:0;cursor:pointer}.area-postal #area-postal-result{flex-basis:100%;margin:0;line-height:1.6}.area-postal #area-postal-result:empty{display:none}.area-postal-result a,#area-postal-result a{color:#315d28;font-weight:700;text-decoration:underline}
.area-success{position:fixed;inset:0;margin:auto;max-width:490px;width:calc(100% - 32px);box-sizing:border-box;padding:42px 32px 30px;border:0;border-radius:22px;text-align:center;color:#25402c;box-shadow:0 24px 90px #0003}.area-success::backdrop{background:#11251dc2;backdrop-filter:blur(4px)}.area-success:not([open]){display:none}
.area-success-close{position:absolute;right:16px;top:10px;border:0;background:none;font-size:30px;color:#71806b;cursor:pointer}.area-success-check{display:grid;place-items:center;width:65px;height:65px;border-radius:50%;margin:0 auto 24px;color:#4a8538;background:#edf5e8;font-size:36px}.area-success h2{font-size:36px;letter-spacing:-1px;margin:12px 0}.area-success p{line-height:1.6}.area-success .section-label{font-size:10px}.area-availability{font-weight:650;margin:22px 0}.area-success .btn-primary{display:flex;justify-content:center;gap:18px}.area-success .area-success-note{font-size:12px;color:#71806b;margin:18px 0 0}
.area-map-fallback{padding:25px;display:flex;gap:20px;align-content:center;justify-content:center;flex-wrap:wrap}.area-map-fallback>p{width:100%;text-align:center}
@media(max-width:760px){.area-section{padding:64px 0}.area-heading{display:block;margin-bottom:24px}.area-heading>p{margin-top:18px;font-size:15px}.area-map-shell{border-radius:15px}#area-static-map{height:510px}.area-heading h2{letter-spacing:-.7px}.area-postal{padding:22px;display:block}.area-postal label{font-size:19px}.area-postal-controls{margin-top:20px}.area-postal input{width:100%}.area-postal button{white-space:nowrap;padding:14px}.area-postal #area-postal-result{margin-top:15px}.area-marker-label{font-size:11px;padding:4px 6px}.area-marker-link[data-place=garbsen] .area-marker-label{transform:translateY(46px)}.area-marker-link[data-place=garbsen]:hover .area-marker-label,.area-marker-link[data-place=garbsen]:focus-visible .area-marker-label{transform:translateY(46px) scale(1.12)}}
@media(prefers-reduced-motion:reduce){.area-marker-label{transition:none}}

/* Zentrierter Standortbereich */
.area-heading{display:block;text-align:center}
.area-heading h2{margin-left:auto;margin-right:auto}
.area-heading .section-label{justify-content:center}
.area-postal{flex-direction:column;justify-content:center;text-align:center;gap:20px}
.area-postal-controls{justify-content:center}
.area-postal #area-postal-result{flex-basis:auto;width:100%}
.area-map-hint{text-align:center}
@media(max-width:760px){.area-postal-controls{display:flex}.area-postal input{width:100%;max-width:260px}}

.area-map-shell{max-width:960px;margin-left:auto;margin-right:auto}

.area-postal{max-width:960px;box-sizing:border-box;margin-left:auto;margin-right:auto}

.area-map-source{max-width:960px;margin:8px auto 0;text-align:right;font-size:10px;line-height:1.5;color:#687364}.area-map-source a{color:inherit;text-decoration:none}
