#suggest-new{border:0;background:transparent;text-decoration:underline;padding:4px 0;min-height:44px}
#proposal-dialog{box-sizing:border-box;width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:hidden;border:1px solid var(--line,#c3c9c0);border-radius:18px;padding:0;background:var(--ivory);color:var(--green)}
#proposal-dialog::backdrop{background:rgb(12 44 37 / 65%)}
#proposal-form{display:flex;flex-direction:column;max-height:calc(100dvh - 32px);min-height:0}#proposal-form>.sheet-heading,#proposal-form>.sheet-actions{flex-shrink:0}#proposal-form>.sheet-scroll{display:grid;gap:16px;flex:1;min-height:0;overflow:auto}#proposal-form label{display:flex;flex-direction:column;gap:6px;min-width:0}#proposal-form label[hidden]{display:none}
#proposal-form :is(input,textarea,select){box-sizing:border-box;width:100%;min-height:44px;padding:10px 12px;border:1px solid #c3c9c0;border-radius:9px;font:inherit;color:inherit;background:#fffdf8}#proposal-form textarea{min-height:100px}
#proposal-form p{margin:0;line-height:1.5}#proposal-form .sheet-actions{position:static;flex-wrap:wrap}.detail-foot{display:flex;flex-wrap:wrap;gap:8px}.detail-foot button{flex:1}
@media(max-width:599px){#proposal-dialog{position:fixed;top:auto;bottom:0;left:0;right:0;margin:0 auto;width:100%;max-width:100%;max-height:85dvh;border-radius:18px 18px 0 0;border-bottom:0}#proposal-form{max-height:85dvh}.detail-foot{flex-direction:column}}
.atlas-qa-large-text #proposal-dialog :is(p,label,input,select,textarea,button){font-size:32px;line-height:1.5}.atlas-qa-large-text #proposal-dialog h2{font-size:56px;overflow-wrap:anywhere}.atlas-qa-large-text #proposal-dialog .sheet-heading{align-items:flex-start}
/* Ausgewählte Designvariante 1: Kontaktkarte */
.contact-card svg{width:20px;height:20px;flex:none;vertical-align:middle}.contact-card .detail-heading{background:var(--green);color:var(--ivory);padding:22px 20px 20px}.contact-card .detail-heading>div{min-width:0}.contact-card .detail-heading h2{font-size:32px}.contact-card .detail-heading button{background:#ffffff12;color:var(--ivory);border-color:#ffffff30}.contact-card .detail-heading button:focus-visible{outline-color:var(--gold)}.contact-card .eyebrow{display:flex;align-items:center;gap:8px}.contact-code{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:9px;background:var(--ivory);color:var(--green);font-size:10px}.contact-city{display:flex;align-items:center;gap:7px}.contact-actions{display:flex;gap:8px;margin-bottom:20px}.contact-card a.contact-action{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:76px;padding:12px 4px;border:1px solid var(--line);border-radius:9px;background:var(--secondary);text-decoration:none;font-size:13px}.contact-card a.contact-gold{background:var(--gold);border-color:var(--gold)}.contact-address{display:flex;gap:12px;padding:0 0 15px;border-bottom:1px solid var(--line)}.contact-address>div{min-width:0}.contact-address strong{display:block;font-size:13px;margin-bottom:3px}.contact-online{display:flex;flex-wrap:wrap;gap:8px 18px}.contact-online a{padding:12px 0;min-height:44px}.contact-card .contact-missing{margin:16px 0}.contact-trust{font-size:12px;color:var(--muted);margin-top:16px!important}.contact-details{border-top:1px solid var(--line)}.contact-details summary{cursor:pointer;font-size:14px;font-weight:600;padding:14px 0;min-height:48px}.contact-details summary:focus-visible{outline:3px solid var(--green);outline-offset:2px}.contact-details p{font-size:13px}.contact-details a{display:inline-block;min-height:44px;padding:10px 0}.contact-card .detail-foot button{background:transparent}.contact-card .detail-scroll{padding:20px}@media(max-width:599px){.contact-card .detail-heading{padding:18px;max-height:180px}.contact-card .detail-heading h2{font-size:28px}.contact-card .detail-scroll{padding:18px}}
@media(max-width:599px){.contact-card:not(.expanded){max-height:calc(100dvh - var(--detail-top,120px) - var(--detail-bottom,32px) - 16px)}.contact-card:not(.expanded) .detail-heading{flex-shrink:1}.contact-card .detail-preview{flex-shrink:0}}

#proposal-form .sheet-scroll{min-width:0;overflow-x:hidden}#proposal-form .sheet-scroll>*{min-width:0;max-width:100%;overflow-wrap:anywhere}
#proposal-form a{color:var(--green);text-decoration:underline;overflow-wrap:anywhere}
#proposal-form .sheet-heading h2{overflow-wrap:anywhere}#proposal-form .sheet-actions button{min-width:0;white-space:normal;overflow-wrap:anywhere}

@media(max-width:599px){
 #proposal-form>.sheet-heading{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px}
 #proposal-form>.sheet-heading h2{grid-column:1/-1;grid-row:2;min-width:0;max-width:100%;hyphens:auto;overflow-wrap:break-word;margin-top:0}
 #proposal-close{grid-column:2;grid-row:1;width:44px;min-width:44px;min-height:44px}
 #proposal-form>.sheet-actions{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
 #proposal-form>.sheet-actions button{width:100%;hyphens:auto;word-break:normal;overflow-wrap:break-word}
}

/* Design-Ladezustaende-2026-11-02: compact, non-blocking, separate states. */
.atlas-load-status{position:absolute;z-index:710;top:16px;right:16px;width:360px;max-width:calc(100% - 416px);display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--ivory);box-shadow:0 3px 12px rgb(12 44 37 / 16%);font-size:14px;line-height:1.5}
.atlas-load-status:not(:has(> :not([hidden]))){display:none}
.atlas-loading-state,.atlas-load-status .map-error{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;margin:0;padding:0;border:0;background:transparent;font:inherit}
.atlas-loading-state>span:not(.atlas-spinner),.atlas-load-status .map-error>span{flex:1 1 140px;min-width:0;overflow-wrap:anywhere}
.atlas-load-status button{min-height:44px;white-space:normal;overflow-wrap:anywhere}
.atlas-spinner{width:16px;height:16px;flex:0 0 16px;border:2px solid var(--line);border-top-color:var(--green);border-radius:50%;animation:atlas-spin 1s linear infinite}
@keyframes atlas-spin{to{transform:rotate(360deg)}}
.atlas-load-status .map-error{position:static;transform:none;max-width:none;box-shadow:none;border-radius:0}
@media(min-width:1100px){.has-detail .atlas-load-status{right:420px;max-width:calc(100% - 820px)}}
@media(min-width:600px) and (max-width:1099px){.atlas-load-status{max-width:calc(100% - 384px)}.has-detail .atlas-load-status{left:16px;right:auto;max-width:calc(100% - 416px)}}
@media(max-width:599px){.atlas-load-status{left:16px;right:76px;top:12px;width:auto;max-width:calc(100% - 92px)}main{overflow-y:auto}.map-stage{min-height:240px;flex:1 0 240px}.atlas-load-status button{width:100%}}
@media(prefers-reduced-motion:reduce){.atlas-spinner{animation:none}}

/* Mobile overlapping-pin choices use normal scrollable flow, leaving map status and zoom free. */
@media(max-width:599px){main>.cluster-list{position:relative;left:auto;top:auto;transform:none;width:auto;max-height:min(40dvh,320px);margin:8px 16px;flex:0 0 auto;z-index:auto}}

/* Long provider names remain readable at narrow widths and large text. */
.cluster-list{min-width:0}.cluster-list h2,.cluster-list button{min-width:0;max-width:100%;overflow-wrap:anywhere;hyphens:auto}

/* Search field grows with its font; large text moves the action to the next row. */
.search-row input{flex-basis:12em}

.contact-review-note{display:flex;align-items:flex-start;gap:10px;padding:12px;margin:0 0 16px;border:1px solid var(--line);border-radius:9px;background:var(--secondary);color:var(--green);font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.contact-review-note svg{flex:0 0 20px;margin-top:1px}.contact-review-note strong{font-weight:600}.contact-review-note p{margin:5px 0 0!important;font-size:14px}.detail-preview .contact-review-note{margin:0 0 10px}.detail-preview .contact-review-note p{display:none}
#proposal-form small{font-weight:400;line-height:1.45}#proposal-form input:invalid:not(:placeholder-shown){box-shadow:none}

/* Route action retains its original layout. */


.term-label{display:block;margin-top:14px}.optional{font-weight:400;color:var(--muted)}
.location-row input{flex-basis:100%}
@media(max-width:599px){.search-card{max-height:none;overflow:visible}.search-card .help{margin-bottom:8px}}

#suggestions{position:static;flex-shrink:0;width:100%;max-height:160px}

/* Progressive entry links retain existing controls and pin geometry. */
.contact-card .detail-close{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid #ffffff30;border-radius:9px;background:#ffffff12;color:var(--ivory);text-decoration:none}.contact-card .detail-close:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.pin-link{display:block;width:100%;height:100%;color:inherit;text-decoration:none}.pin-link:focus-visible{outline:3px solid var(--green);outline-offset:3px;border-radius:9px}
a.entry-link{font:inherit;color:var(--green);text-decoration:none;border:1px solid var(--line);border-radius:9px;background:var(--secondary);min-height:44px;padding:10px;cursor:pointer}
#suggestions a.entry-link{display:block;width:100%;text-align:left;background:transparent;border:0;border-radius:0;padding:10px 12px}#suggestions a.entry-link:hover{background:var(--secondary)}
.cluster-list a.entry-link{display:block;width:100%;text-align:left;margin-top:8px;overflow-wrap:anywhere;hyphens:auto}
