.thch-if{max-width:var(--thch-container-width);margin-inline:auto;padding-inline:var(--thch-gutter);padding-top:3rem;padding-bottom:3rem;width:100%}.thch-if--loading .thch-if__map{opacity:.6;pointer-events:none}.thch-if__search-wrap{position:relative;margin-bottom:2rem}.thch-if__search-label{display:block;font-family:var(--thch-font-heading);font-weight:600;font-size:var(--thch-text-base,1.125rem);color:var(--thch-color-primary);margin-bottom:.625rem}.thch-if__input-row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.thch-if__input-group{position:relative;flex:1 1 320px;max-width:480px}.thch-if__input-icon{position:absolute;left:1.125rem;top:50%;transform:translateY(-50%);width:1.125rem;height:1.125rem;color:#999;pointer-events:none}.thch-if__search-input{width:100%;padding:.875rem 2.75rem .875rem 3rem;border:1px solid var(--thch-color-neutral,#EAECF0);border-radius:1.875rem;font-size:1rem;font-family:var(--thch-font-body);background:#fff;color:var(--thch-color-black);transition:border-color 0.2s,box-shadow 0.2s}.thch-if__search-input::placeholder{color:#999}.thch-if__search-input:focus{outline:none;border-color:var(--thch-color-accent,#0066FF);box-shadow:0 0 0 3px rgba(0,102,255,.12)}.thch-if__clear-btn{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);width:1.5rem;height:1.5rem;padding:0;border:none;background:var(--thch-color-neutral,#EAECF0);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#666;transition:background 0.15s,color 0.15s}.thch-if__clear-btn svg{width:.75rem;height:.75rem}.thch-if__clear-btn:hover{background:var(--thch-color-primary);color:#fff}.thch-if__geoloc-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border:1px solid var(--thch-color-neutral,#EAECF0);border-radius:1.875rem;background:#fff;font-family:var(--thch-font-body);font-size:.9375rem;color:var(--thch-color-primary);cursor:pointer;white-space:nowrap;transition:border-color 0.2s,background 0.2s,color 0.2s}.thch-if__geoloc-btn svg{width:1.125rem;height:1.125rem;color:var(--thch-color-accent,#0066FF)}.thch-if__geoloc-btn:hover{border-color:var(--thch-color-accent,#0066FF);background:rgba(0,102,255,.04)}.thch-if__geoloc-btn:disabled{opacity:.5;cursor:wait}.thch-if__suggestions{position:absolute;top:calc(100% + 0.25rem);left:0;right:0;max-width:480px;z-index:10000;list-style:none;margin:0;padding:.375rem 0;background:#fff;border:1px solid var(--thch-color-neutral,#EAECF0);border-radius:1rem;box-shadow:0 12px 32px rgba(23,27,55,.08);max-height:320px;overflow-y:auto}.thch-if__suggestions li{display:flex;align-items:center;gap:.625rem;padding:.625rem 1.25rem;cursor:pointer;font-size:.9375rem;font-family:var(--thch-font-body);color:var(--thch-color-black);transition:background 0.15s}.thch-if__suggestions li:hover,.thch-if__suggestions li:focus,.thch-if__suggestions li.is-active{background:var(--thch-color-neutral,#EAECF0)}.thch-if__suggestion-icon{flex-shrink:0;width:1rem;height:1rem;color:var(--thch-color-accent,#0066FF)}.thch-if__map{position:relative;z-index:0;width:100%;height:520px;border-radius:1.25rem;overflow:hidden;margin-bottom:2rem;box-shadow:0 2px 8px rgba(0,0,0,.08)}.thch-if__map .leaflet-control-zoom a{width:44px;height:44px;line-height:44px;font-size:1.25rem}.thch-if__map--locked::after{content:'Zum Bewegen der Karte antippen';position:absolute;inset:0 0 auto 0;z-index:500;padding:.5rem;text-align:center;font-size:.8125rem;color:#fff;background:rgba(29,36,93,.85);pointer-events:none}.thch-if__map .leaflet-bottom.leaflet-right{max-width:100%}.thch-if__map .leaflet-control-attribution,.thch-if__map .leaflet-control-attribution a,.thch-if__map .leaflet-control-attribution span{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.625rem;padding:0 .4rem}@media (max-width:768px){.thch-if__map{height:min(60vh, 460px);min-height:360px;border-radius:1rem}.thch-if__geoloc-btn span{display:none}}.thch-if__results{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem}.thch-if__result-card{background:#fff;border-radius:1.25rem;padding:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.08);border-left:3px solid var(--thch-color-accent,#0066FF);transition:box-shadow 0.25s ease,transform 0.25s ease;cursor:pointer}.thch-if__result-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.12);transform:translateY(-2px)}.thch-if__result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.thch-if__result-name{font-family:var(--thch-font-heading);font-weight:700;font-size:var(--thch-text-base,1.125rem);color:var(--thch-color-primary);margin-bottom:.5rem;flex:1 1 auto;min-width:0}.thch-if__result-actions{display:none}.thch-if__result-address{font-size:.9375rem;color:var(--thch-color-black);margin-bottom:.75rem;line-height:1.5}.thch-if__result-meta{display:flex;flex-direction:column;gap:.375rem;font-size:.9375rem;line-height:1.5}.thch-if__result-meta-row{display:flex;align-items:center;gap:.5rem;word-break:break-word}.thch-if__result-meta-row svg{flex-shrink:0;width:1rem;height:1rem;color:var(--thch-color-accent,#0066FF)}.thch-if__result-meta a{color:var(--thch-color-primary);text-decoration:none}.thch-if__result-meta a:hover{color:var(--thch-color-accent,#0066FF);text-decoration:underline}.thch-if__result-distance{display:inline-flex;align-items:center;gap:.375rem;margin-top:.75rem;padding:.25rem .75rem;font-size:.8125rem;font-weight:600;color:var(--thch-color-accent,#0066FF);background:rgba(0,102,255,.08);border-radius:999px}.thch-if__result-distance svg{width:.875rem;height:.875rem}.thch-if__no-results{grid-column:1 / -1;text-align:center;color:#666;padding:2rem 0;font-family:var(--thch-font-body)}.thch-if__pin{position:relative;background:none;border:0;cursor:pointer}.thch-if__pin svg{display:block;filter:drop-shadow(0 2px 4px rgba(12,15,39,.35));transition:transform 0.15s ease}.thch-if__pin svg path{fill:var(--thch-color-primary,#1D245D)}.thch-if__pin svg circle{fill:#fff}.thch-if__pin::before{content:'';position:absolute;left:50%;bottom:0;width:44px;height:44px;transform:translateX(-50%)}.thch-if__pin:hover svg,.thch-if__pin:focus-visible svg{transform:translateY(-2px) scale(1.06)}.thch-if__pin:focus-visible{outline:2px solid var(--thch-color-accent,#0066FF);outline-offset:2px}.leaflet-marker-icon.thch-if__pin--active svg path,.thch-if__pin--active svg path{fill:var(--thch-color-accent,#0066FF)}@media (prefers-reduced-motion:reduce){.thch-if__pin svg{transition:none}}.thch-if__popup-wrap .leaflet-popup-content-wrapper{border-radius:.75rem;box-shadow:0 8px 28px rgba(12,15,39,.22);padding:0}.thch-if__popup-wrap .leaflet-popup-content{margin:0;font-family:var(--thch-font-body,'Aptos',system-ui,sans-serif)}.thch-if__popup{display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.15rem;font-size:.9375rem;line-height:1.45;color:var(--thch-color-primary,#1D245D)}.thch-if__popup-name{font-family:var(--thch-font-heading,'Aptos',system-ui,sans-serif);font-size:1.0625rem;line-height:1.25}.thch-if__popup-addr{color:rgba(29,36,93,.75)}.thch-if__popup-link{display:flex;align-items:center;margin-top:-.35rem;text-decoration:none;word-break:break-word}.thch-if__popup-link:hover{text-decoration:underline}.thch-if__popup-dist{margin-top:.15rem;font-size:.8125rem;color:var(--thch-color-tertiary-700,#7B7767)}.thch-if__popup--laedt{color:rgba(29,36,93,.6)}.thch-if__cluster{display:flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-family:var(--thch-font-heading,'Aptos',system-ui,sans-serif);font-weight:700;background:var(--thch-color-primary,#1D245D);box-shadow:0 0 0 4px rgba(29,36,93,.25);transition:box-shadow 0.2s}.thch-if__cluster--sm{width:34px;height:34px;font-size:.8125rem}.thch-if__cluster--md{width:42px;height:42px;font-size:.9375rem}.thch-if__cluster--lg{width:52px;height:52px;font-size:1rem;background:var(--thch-color-accent,#0066FF);box-shadow:0 0 0 5px rgba(0,102,255,.25)}.thch-if__cluster:hover,.thch-if__cluster:focus-visible{box-shadow:0 0 0 7px rgba(29,36,93,.3)}@media (prefers-reduced-motion:reduce){.thch-if__cluster{transition:none}}.thch-if__reset-btn{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.75rem 1.25rem;border:1px solid var(--thch-color-primary,#1D245D);border-radius:1.875rem;background:var(--thch-color-primary,#1D245D);font-family:var(--thch-font-body,'Aptos',system-ui,sans-serif);font-size:.9375rem;color:#fff;cursor:pointer;white-space:nowrap;transition:background 0.2s,color 0.2s}.thch-if__reset-btn svg{width:1.125rem;height:1.125rem;flex-shrink:0}.thch-if__reset-btn:hover{background:#fff;color:var(--thch-color-primary,#1D245D)}.thch-if__reset-btn:focus-visible{outline:2px solid var(--thch-color-accent,#0066FF);outline-offset:2px}.thch-if__reset-btn[hidden]{display:none}@media (prefers-reduced-motion:reduce){.thch-if__reset-btn{transition:none}}@media (max-width:40rem){.thch-if__reset-btn{width:100%;justify-content:center}}@media (max-width:39.9375rem){.thch-if__result-actions{display:flex;flex:0 0 auto;gap:.5rem}.thch-if__result-action{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;flex:0 0 auto;border:1px solid var(--thch-color-tertiary-300,#C8C4B5);border-radius:999px;background:#fff;color:var(--thch-color-primary);text-decoration:none;transition:background-color 0.15s ease,border-color 0.15s ease,color 0.15s ease}.thch-if__result-action svg{width:1.25rem;height:1.25rem}@media (hover:hover){.thch-if__result-action:hover{background:var(--thch-color-primary);border-color:var(--thch-color-primary);color:#fff}}.thch-if__result-action:active{background:var(--thch-color-primary-dark,#161B37);border-color:var(--thch-color-primary-dark,#161B37);color:#fff;transition:none}.thch-if__result-action:focus-visible{outline:3px solid var(--thch-color-accent,#0066FF);outline-offset:2px}.thch-if__result-meta-row--tel,.thch-if__result-meta-row--mail{display:none}.thch-if__result-card{padding:1.25rem}.thch-if__result-address{margin-bottom:0}.thch-if__result-meta:has(.thch-if__result-meta-row--web),.thch-if__result-meta:has(.thch-if__result-meta-row--fallback){margin-top:.75rem}}@media (prefers-reduced-motion:reduce){.thch-if__result-action{transition:none}}