:root{--immo-ci-color:#b8a98e;--immo-ci-color-hover:#a49273;--immo-ci-color-dark:#8a7a5f;--immo-image-aspect-ratio:16/9;--immo-image-height:250px;--immo-filter-width:1200px;--immo-results-width:1200px;--immo-map-width:100%;--immo-padding-top:80px;--immo-padding-bottom:80px}.immo-map-fullscreen{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;padding-top:var(--header-height,170px)}.immo-map-fullscreen .immo-map-container{max-width:100%;margin:0}.immo-search-page{max-width:var(--immo-results-width);margin:0 auto;padding:2rem 1.25rem 0.5rem}@media (min-width:768px){.immo-search-page{padding:2rem 3.125rem 0.5rem}}.immo-filter-toggle{display:none;align-items:center;justify-content:center;gap:0.625rem;width:100%;padding:0.875rem 1.25rem;background:#fff;border:1px solid #aaa;border-radius:3px;font-size:1rem;font-weight:500;color:var(--color-text-dark,#1a1a1a);font-family:inherit;cursor:pointer;margin-bottom:1rem}.immo-filter-toggle:hover{border-color:var(--immo-ci-color)}.immo-filter-toggle svg{flex-shrink:0}.immo-search-filter-container{margin:0 0 2rem}.immo-search-form{display:flex;flex-direction:column;gap:1rem}.filter-row{display:grid;grid-template-columns:repeat(8,1fr);gap:1.25rem;align-items:end}.filter-group[data-filter="objektart"],.filter-group[data-filter="vermarktungsart"],.filter-group[data-filter="location"],.filter-group[data-filter="radius"]{grid-column:span 2}.filter-group[data-filter="area"],.filter-group[data-filter="rooms"],.filter-group[data-filter="price"],.filter-group[data-filter="objektnummer"],.search-button-group{grid-column:span 1}.filter-group{position:relative}.filter-group input[type="text"],.filter-group input[type="number"],.select-wrapper select{width:100%;height:3rem;padding:0 1rem;border:1px solid #aaa;border-radius:3px;font-size:0.875rem;font-family:inherit;font-weight:400;background:#fff;color:#333;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.select-wrapper select{padding-right:2.5rem;cursor:pointer}.filter-group input:focus,.select-wrapper select:focus{outline:none;border-color:var(--immo-ci-color)}.filter-group input::placeholder,.select-wrapper select option[value=""],.select-wrapper select:invalid{color:#666;font-family:inherit;font-size:0.875rem;font-weight:400}.select-wrapper{position:relative;width:100%}.select-arrow{position:absolute;right:0.875rem;top:50%;transform:translateY(-50%);pointer-events:none}.location-input-wrapper{position:relative;width:100%}.search-button{width:100%;height:3rem;padding:0 1.5rem;background:var(--immo-ci-color);border:1px solid var(--immo-ci-color);border-radius:0;color:#fff;font-size:0.875rem;font-weight:500;letter-spacing:0.5px;cursor:pointer;text-transform:uppercase;transition:background 0.2s ease;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.search-button:hover{background:var(--immo-ci-color-hover);border-color:var(--immo-ci-color-hover);color:#fff}.immo-search-results{margin:0}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem 0;border-bottom:1px solid #eee}.results-info{display:flex;align-items:center;gap:0.5rem}.results-count{font-size:1.125rem;font-weight:600;color:#333}.results-controls{display:flex;align-items:center;gap:1rem}.sorting-wrapper{min-width:12rem}.sorting-wrapper select{height:2.5rem;font-size:0.875rem}.results-container{display:grid;gap:2.5rem;margin-bottom:0}.layout-grid{grid-template-columns:repeat(3,1fr)}.layout-list{grid-template-columns:1fr}.result-item{background:#fff;border:1px solid #ddd;overflow:hidden;box-shadow:0 2px 4px rgba(0,0,0,0.1);display:flex;flex-direction:column;min-height:550px;animation:immoFadeIn 0.3s ease-out}@keyframes immoFadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.result-image{position:relative;overflow:hidden;aspect-ratio:var(--immo-image-aspect-ratio,16/9)}.result-image__link{display:block;width:100%;height:100%;text-decoration:none;transition:opacity 0.3s ease}.result-image__link:hover{opacity:0.9}.result-image img{width:100%;height:100%;object-fit:cover;display:block}.result-placeholder{width:100%;height:100%;background:#f8f9fa;display:flex;align-items:center;justify-content:center;color:#999}.result-badge{position:absolute;top:0.75rem;left:0.75rem;display:flex;flex-direction:row;gap:0.25rem}.objektart-badge,.vermarktungsart-badge{background:var(--immo-ci-color);color:#fff;padding:0.25rem 0.5rem;font-size:0.75rem;font-weight:500}.result-objektnummer-badge{position:absolute;bottom:0.5rem;right:0.5rem;background:rgba(0,0,0,0.7);color:#fff;padding:0.25rem 0.5rem;font-size:0.75rem;font-weight:500}.status-ribbon{position:absolute;top:37px;right:-47px;width:200px;padding:0.5rem 0 0.375rem 0;background:#8B0000;color:#fff;text-align:center;font-size:0.75rem;font-weight:600;text-transform:uppercase;transform:rotate(45deg);box-shadow:0 2px 6px rgba(0,0,0,0.3);z-index:10;letter-spacing:0.5px}.status-ribbon.verkauft{background:var(--ribbon-verkauft,#8B0000)}.status-ribbon.vermietet{background:var(--ribbon-vermietet,#8B0000)}.status-ribbon.reserviert{background:var(--ribbon-reserviert,#006400)}.status-ribbon.vorbereitung{background:var(--ribbon-vorbereitung,var(--immo-ci-color))}.status-ribbon.preisreduziert{background:var(--ribbon-preisreduziert,#00008B)}.result-content{display:flex;flex-direction:column;flex:1;min-height:0;padding:2.5rem 3.4375rem}.result-location{font-size:1rem;font-family:var(--font-body,'Montserrat',sans-serif);color:#666;margin-bottom:0.25rem}.result-title,h3.result-title{min-height:90px;margin:0;color:var(--color-text-dark,#1a1a1a);display:flex;align-items:start}.result-title a{color:inherit;text-decoration:none}.result-title a:hover{color:var(--immo-ci-color)}.result-props-grid{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:1.875rem;margin-top:auto;padding-top:1rem;border-top:1px solid #eee}.prop-col{display:flex;flex-direction:column;align-items:flex-start;flex-shrink:0}.prop-col-button{margin-left:auto}.r2go4-prop-value{font-size:1.2em;font-weight:500;text-align:left;color:var(--color-text-dark,#1a1a1a);white-space:nowrap}.r2go4-prop-label{display:block;font-size:0.75em;text-align:left;margin-top:-5px;color:#666;white-space:nowrap}.details-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;width:2.5rem;height:2.5rem;padding:0;color:#fff;background:var(--immo-ci-color);border:none;border-radius:50%;cursor:pointer;transition:background 0.2s ease,transform 0.2s ease}.details-button:hover{background:var(--immo-ci-color-dark);transform:scale(1.05);color:#fff}.details-button svg{width:0.75rem;height:0.75rem}.no-results{grid-column:1 / -1;text-align:center;padding:3.75rem 1.25rem;color:#666}.no-results-icon{margin-bottom:1.5rem;opacity:0.5}.no-results h3{margin:0 0 0.75rem 0;font-size:1.5rem;color:#333}.results-pagination{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 0;border-top:1px solid #eee}.load-more-button{display:flex;align-items:center;justify-content:center;gap:0.5rem;height:3rem;padding:0 1.5rem;background:var(--immo-ci-color);color:#fff;border:none;cursor:pointer;font-size:0.875rem;font-weight:700;letter-spacing:0.5px;text-transform:uppercase;transition:background 0.2s ease,transform 0.2s ease}.load-more-button:hover{background:var(--immo-ci-color-dark);color:#fff;transform:scale(1.02)}.pagination-info{color:#666;font-size:0.875rem}.immo-map-container{position:relative;max-width:var(--immo-map-width);margin:0 auto 0;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,0.1);z-index:1}.immo-map-wrapper{position:relative}.immo-map{position:relative;min-height:400px;background:#f8f9fa;width:100%;z-index:1}.immo-map-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;background:rgba(255,255,255,0.95);padding:1.25rem;box-shadow:0 2px 8px rgba(0,0,0,0.1);display:flex;align-items:center;gap:0.75rem;font-size:0.875rem;color:#333}.immo-map-spinner{width:1.25rem;height:1.25rem;border:2px solid #ddd;border-top:2px solid var(--immo-ci-color);border-radius:50%;animation:immoMapSpin 1s linear infinite}@keyframes immoMapSpin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.immo-map-error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;background:#f8d7da;color:#721c24;padding:1.25rem;border:1px solid #f5c6cb;max-width:300px;text-align:center}.immo-map-error h4{margin:0 0 0.5rem 0;color:#721c24}.immo-map-error-button{margin-top:0.625rem;padding:0.5rem 1rem;background:var(--immo-ci-color);color:#fff;border:none;cursor:pointer;font-size:0.875rem}.immo-map-noscript{padding:2.5rem;text-align:center;background:#f8f9fa;border:1px solid #ddd}.immo-map__empty{text-align:center;padding:1rem;color:var(--color-text-light,#999);font-size:0.9rem}.immo-map-legend{position:absolute;bottom:1rem;left:1rem;background:rgba(255,255,255,0.95);backdrop-filter:blur(10px);padding:0.75rem;box-shadow:0 2px 8px rgba(0,0,0,0.1);z-index:1000}.legend-item{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.5rem;font-size:0.75rem;color:#333}.legend-item:last-child{margin-bottom:0}.legend-marker{width:1rem;height:1rem;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,0.3)}.legend-marker-exact{background:var(--immo-ci-color)}.legend-marker-approximate{background:var(--immo-ci-color);opacity:0.6}.immo-marker{border-radius:50%;border:3px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,0.3);cursor:pointer;transition:all 0.2s ease;display:flex;align-items:center;justify-content:center;font-weight:bold;font-size:0.75rem;color:#fff;width:24px;height:24px}.immo-marker:hover{transform:scale(1.1);z-index:1000}.immo-marker.exact{background-color:var(--immo-ci-color)}.immo-marker.approximate{background-color:var(--immo-ci-color);opacity:0.6}.immo-map .leaflet-popup-content-wrapper{border-radius:0;box-shadow:0 4px 12px rgba(0,0,0,0.15);padding:0;overflow:hidden;min-width:420px;max-width:500px}.immo-map .leaflet-popup-content{margin:0;padding:0;width:100%}.leaflet-container a.leaflet-popup-close-button{top:0.5rem;right:0.375rem;width:1.875rem;height:1.875rem;font:24px/24px Tahoma,Verdana,sans-serif;color:#757575}.immo-popup-container{display:flex;min-width:420px;max-width:500px;background:#fff}.immo-popup-left{width:140px;flex-shrink:0;overflow:hidden;align-self:stretch}.immo-popup-left img{width:140px;height:100%;min-height:100%;object-fit:cover;object-position:center;display:block}.immo-popup-right{flex:1;padding:0.8125rem 1.0625rem;background:#fff;display:flex;flex-direction:column}.immo-popup-location{font-size:0.8125rem;color:#666;margin-bottom:0.25rem}.immo-popup-title{margin:0 0 auto 0;font-size:0.875rem;font-weight:600;color:#333;line-height:1.3}.immo-popup-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:0.625rem}.immo-popup-price{font-size:1.1875rem;font-weight:700;color:var(--immo-ci-color);line-height:1}.immo-popup-link{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;background:var(--immo-ci-color);text-decoration:none;transition:background 0.2s ease;flex-shrink:0}.immo-popup-link:hover{background:var(--immo-ci-color-hover)}.immo-popup-link svg{width:10px;height:10px;transform:rotate(-90deg)}.immo-map-scroll-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.4);opacity:0;visibility:hidden;transition:opacity 0.3s ease,visibility 0.3s ease;z-index:1000;pointer-events:none}.immo-map-scroll-overlay.visible{opacity:1;visibility:visible}.immo-map-scroll-overlay span{background:rgba(0,0,0,0.75);color:#fff;padding:0.625rem 1.25rem;border-radius:6px;font-size:0.875rem;font-weight:500;white-space:nowrap}.marker-cluster{background-color:var(--immo-ci-color);opacity:0.8;border-radius:50%;text-align:center;color:#fff;font-weight:bold;font-size:0.75rem;line-height:40px;box-shadow:0 2px 6px rgba(0,0,0,0.3);border:2px solid #fff}.marker-cluster div{background-color:var(--immo-ci-color);opacity:0.9;border-radius:50%;text-align:center;color:#fff;font-weight:bold;line-height:36px;width:36px;height:36px;margin:2px}.marker-cluster-small{background-color:var(--immo-ci-color);opacity:0.8}.marker-cluster-small div{background-color:var(--immo-ci-color);opacity:0.9}.marker-cluster-medium{background-color:var(--immo-ci-color);opacity:0.85}.marker-cluster-medium div{background-color:var(--immo-ci-color);opacity:0.95}.marker-cluster-large{background-color:var(--immo-ci-color);opacity:0.7}.marker-cluster-large div{background-color:var(--immo-ci-color);opacity:0.75}.leaflet-control-attribution{display:none}.leaflet-container{background:#ddd}.leaflet-tile{max-width:none}.leaflet-tile-pane{z-index:2}.leaflet-objects-pane{z-index:3}.leaflet-popup{z-index:1010}@media (min-width:769px) and (max-width:1400px){.layout-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:769px) and (max-width:1024px){.result-content{padding:1.875rem 2.1875rem}.result-props-grid{flex-wrap:wrap;gap:0.5rem 0.9375rem}.result-props-grid .prop-col{flex:0 0 auto}.result-props-grid .prop-col-button{margin-left:auto}}@media (min-width:768px) and (max-width:1300px){.result-props-grid{gap:1.25rem}}@media (max-width:1200px){.filter-row{grid-template-columns:repeat(4,1fr)}.filter-group[data-filter="objektart"],.filter-group[data-filter="vermarktungsart"],.filter-group[data-filter="location"],.filter-group[data-filter="radius"]{grid-column:span 2}.filter-group[data-filter="area"],.filter-group[data-filter="rooms"],.filter-group[data-filter="price"],.filter-group[data-filter="objektnummer"],.search-button-group{grid-column:span 1}}@media (max-width:768px){.immo-filter-toggle{display:inline-flex}.immo-search-form{display:none}.immo-search-filter-container.is-open .immo-search-form{display:flex}.filter-row{grid-template-columns:repeat(2,1fr);gap:0.75rem}.filter-row .filter-group{grid-column:span 1}.filter-row .search-button-group{grid-column:span 2}.filter-group input,.select-wrapper select,.search-button{height:3rem;font-size:1rem}.filter-group input::placeholder,.select-wrapper select option[value=""],.select-wrapper select:invalid{font-size:1rem;color:#666;font-family:inherit;font-weight:400}.result-content{padding:1.5rem 1.5rem 1.75rem}.result-title,h3.result-title{min-height:0;margin-bottom:0.625rem}.result-location{font-size:1rem;margin-bottom:0.5rem}.results-header{flex-direction:column;gap:1rem;align-items:stretch}.results-controls{flex-direction:column;gap:0.75rem}.layout-grid{grid-template-columns:1fr}.results-pagination{flex-direction:column;gap:0.75rem}.result-props-grid{flex-wrap:wrap;gap:0.75rem 1.25rem}.prop-col-button{margin-left:auto}.immo-map-legend{display:none}.immo-marker{width:20px;height:20px;font-size:10px}.immo-popup-left{display:none}.immo-map .leaflet-popup-content-wrapper{min-width:280px;max-width:320px}.immo-popup-container{min-width:280px;max-width:320px}.immo-popup-right{width:100%;padding:0.875rem 1rem}}@media (max-width:479px){.result-props-grid{flex-wrap:wrap;gap:0.75rem 1.25rem}}@media (max-width:768px){.result-props-grid{margin-top:0}.result-item{min-height:0}}@media (max-width:768px){.immo-compact-mobile .results-container{display:flex;flex-direction:column;gap:1.875rem}.immo-compact-mobile .result-item{display:flex;flex-direction:row;width:100%;height:auto;border:none;overflow:visible;background:transparent;box-shadow:none}.immo-compact-mobile .result-image{width:7.5rem;height:7.5rem;flex-shrink:0;margin-right:1rem}.immo-compact-mobile .result-badge,.immo-compact-mobile .result-objektnummer-badge,.immo-compact-mobile .status-ribbon{display:none}.immo-compact-mobile .result-content{flex:1;padding:0;display:flex;flex-direction:column;gap:0.25rem;min-width:0}.immo-compact-mobile .result-location{font-size:0.875rem;color:#666;margin:0 0 0.0625rem 0;order:-2}.immo-compact-mobile .result-title,.immo-compact-mobile h3.result-title{font-size:1.125rem;line-height:1.35;margin:0 0 0.5rem 0;min-height:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-height:none;order:-1}.immo-compact-mobile .result-props-grid{border-top:none;padding-top:0;gap:0.25rem 1rem;flex-wrap:wrap}.immo-compact-mobile .prop-col-button,.immo-compact-mobile .details-button{display:none}.immo-compact-mobile .prop-col{display:inline-flex;flex-direction:row;align-items:baseline;gap:0.25rem;line-height:1.3}.immo-compact-mobile .r2go4-prop-value{font-size:0.9375rem;font-weight:600;color:var(--color-text-dark,#1a1a1a)}.immo-compact-mobile .r2go4-prop-label{display:none}.immo-compact-mobile .r2go4-prop-label-short{display:inline;font-size:0.8125rem;color:#666;font-weight:400}}.r2go4-prop-label-short{display:none}.immo-search-headline{text-align:center;margin-bottom:2.5rem}.immo-search-headline h2{margin:0 0 0.75rem}.immo-search-subline{font-size:1rem;color:#666;line-height:1.6;margin:0 auto}.immo-search-subline a{color:var(--immo-ci-color);text-decoration:underline}.immo-search-subline a:hover{color:var(--immo-ci-color-hover)}.r2go4-adtile{background:white;border:1px solid #ddd;border-radius:0;overflow:hidden;box-shadow:0 2px 4px rgba(0,0,0,0.1);display:flex;flex-direction:column;height:100%;position:relative}.r2go4-adtile-overlay-link{display:none;position:absolute;inset:0;z-index:2;text-decoration:none}.r2go4-adtile-header{padding:2.5rem 3.4375rem;text-align:center;aspect-ratio:var(--immo-image-aspect-ratio,16/9);display:flex;flex-direction:column;justify-content:center;align-items:center}.r2go4-adtile-mini-headline{font-size:0.6875rem;font-weight:400;text-transform:uppercase;letter-spacing:0.1875rem;margin-bottom:1rem;opacity:0.9}.r2go4-adtile-main-headline{color:inherit;font-size:var(--h2-size,2.55em);font-weight:400;line-height:var(--h2-line-height,1.2);margin:0;font-family:var(--font-heading,'Marcellus',serif)}.r2go4-adtile-body{background:#fff;padding:40px 55px 45px;text-align:center;display:flex;flex-direction:column;flex:1}.r2go4-adtile-text{margin:0;line-height:1.6;color:#333}.r2go4-adtile-body .r2go4-adtile-button{align-self:center;margin-top:auto;color:#fff;text-decoration:none;white-space:nowrap}@media (min-width:769px) and (max-width:1240px){.r2go4-adtile-header{padding:30px 30px}.r2go4-adtile-body{padding:30px 35px}.r2go4-adtile-main-headline{font-size:1.8em}}@media (max-width:768px){.immo-compact-mobile .result-item.r2go4-adtile{flex-direction:column;width:100%;background:#fff;border:1px solid #ddd;box-shadow:0 2px 4px rgba(0,0,0,0.1);overflow:hidden}.r2go4-adtile{height:auto}.r2go4-adtile-overlay-link{display:block}.r2go4-adtile-header{padding:2.5rem 1.5rem;aspect-ratio:auto;min-height:0}.r2go4-adtile-mini-headline{font-family:var(--font-body);font-size:0.6875rem;font-weight:400;letter-spacing:0.1875rem;margin-bottom:1rem;text-transform:uppercase;opacity:1}.r2go4-adtile-main-headline{font-size:1.6rem;line-height:var(--h3-line-height,1.3)}.r2go4-adtile-body{display:none}}