/* Search Form */

#shortcode-immomakler-search-form,
#immomakler-search-form {
    padding: 0 10px;
}

#shortcode-immomakler-search-advanced,
#immomakler-search-advanced {
    margin-left: -10px;
    margin-right: -10px;
}

#shortcode-immomakler-search-advanced .panel-heading,
#immomakler-search-advanced .panel-heading {
    padding: 0px 0px;
    background: none;
}

#shortcode-immomakler-search-advanced,
#shortcode-immomakler-search-advanced .panel-heading,
#shortcode-immomakler-search-advanced .panel-body,
#immomakler-search-advanced,
#immomakler-search-advanced .panel-heading,
#immomakler-search-advanced .panel-body {
    border: none;
}

#shortcode-immomakler-search-advanced .immomakler-submit,
#immomakler-search-advanced .immomakler-submit {
    margin-right: 15px;
}

.immomakler-elementor #shortcode-immomakler-search-advanced,
.immomakler-elementor #immomakler-search-advanced {
	margin-left: 5px;
	margin-right: 5px;
}

#immomakler-search fieldset,
#shortcode-immomakler-search fieldset {
    padding: 0px 20px;
    margin: 0px;
    border: none;
}

#immomakler-search .range-label,
#shortcode-immomakler-search .range-label {
    font-weight: bold;
    margin-bottom: 10px;
}
#immomakler-search .immomakler-search-range-text .range-label,
#shortcode-immomakler-search .immomakler-search-range-text .range-label {
    margin-bottom: 0px;
}

.immomakler .noUi-handle,
.immomakler .noUi-target {
    border-radius: 10px;
    box-shadow: none;
    border-color: #cccccc;
}
.immomakler .noUi-connect {
    background: #bbbbbb;
    box-shadow: none;
}
.noUi-horizontal .noUi-handle {
	width: 20px;
	height: 20px;
	left: -3px;
	top: -8px;
	border-color: #999999;
}
.immomakler .noUi-target,
.immomakler .noUi-background {
	border: none;
	background-color: #dddddd;
	box-shadow: none;
}
.noUi-horizontal {
	height: 5px;
}
.noUi-handle:before, .noUi-handle:after {
	display: none;
}

#immomakler-search-for-id #immomakler-search-id {
    width: 70px;
    float: right;
}

#immomakler-search .search-for-id,
#shortcode-immomakler-search .search-for-id {
    width: 25%;
    min-width: 180px;
    float: right;
}

#immomakler-search .search-for-id input[type=text],
#shortcode-immomakler-search .search-for-id input[type=text] {
    margin-left: 7px;
    margin-bottom: 0px;
}

@media (max-width: 767px) {
    #immomakler-search .search-for-id input[type=text],
    #shortcode-immomakler-search .search-for-id input[type=text] {
        margin-left: 0px;
    }
}

#immomakler-search .search-actions.row {
    margin-left: 0px;
    margin-right: 0px;
}

#immomakler-search .search-actions button,
#immomakler-search .search-actions a.btn {
    margin-bottom: 7px;
}

@media (max-width: 767px) {
    .immomakler .search-actions .btn,
    #immomakler-search .search-for-id,
    #shortcode-immomakler-search .search-for-id {
        width: 100%;
    }
}

#immomakler-search .form-control,
#shortcode-immomakler-search .form-control {
    border-radius: 0px;
}

#immomakler-search .bootstrap-select.btn-group,
#shortcode-immomakler-search .bootstrap-select.btn-group {
    float: left;
}
.immomakler .bootstrap-select>.dropdown-toggle.bs-placeholder,
.immomakler .bootstrap-select>.dropdown-toggle.bs-placeholder:active,
.immomakler .bootstrap-select>.dropdown-toggle.bs-placeholder:focus,
.immomakler .bootstrap-select>.dropdown-toggle.bs-placeholder:hover {
    color: inherit;
}
.immomakler .bootstrap-select:not(.input-group-btn),
.immomakler .bootstrap-select[class*=col-] {
    float: left;
}

.immomakler-search-taxonomy {
    padding-right: 5px !important;
    padding-left: 5px !important;
}
.immomakler-search-radius,
.immomakler-search-center {
    padding-right: 0px !important;
    padding-left: 0px !important;
}

.immomakler-search-center input[type=text] {
    width: calc(100% - 100px);
    height: 34px;
    float: left;
    color: #333;
}
.immomakler-search-radius button.btn-default {
    border-left: none;
}
.immomakler-search-radius .btn.disabled {
    opacity: 1;
}
.immomakler .search-taxonomies select,
.immomakler .search-radius select {
    border: 1px solid #ccc;
    background-color: #ffffff;
    padding: 6px 9pt;
}
.immomakler .search-taxonomies select {
    margin: 0px 5px;
}
.immomakler .search-radius select {
    width: 100px;
}

@media (min-width: 768px) {
    .immomakler .search-taxonomies select.col-sm-3 {
        width: calc(25% - 10px);
    }
    .immomakler .search-taxonomies select.col-sm-4 {
        width: calc(33.33% - 10px);
    }
}

.immomakler-search-center input[type=text].input-wide {
    width: 100%;
}
#immomakler-search .immomakler-search-radius.bootstrap-select.btn-group,
#shortcode-immomakler-search .immomakler-search-radius.bootstrap-select.btn-group,
#immomakler-search .immomakler-search-radius.bootstrap-select.bs3,
#shortcode-immomakler-search .immomakler-search-radius.bootstrap-select.bs3,
#searchagent-form .immomakler-search-radius.bs3 {
    width: 100px;
    float: right;
    padding: 0px 0px;
}
.immomakler .open>.dropdown-menu,
.immomakler .open>.dropdown-menu .inner.open {
    min-height: 0px !important;
}
.immomakler-search-center input.radius-error::placeholder {
    color: #ff0000;
}
.immomakler-search-center input.radius-error:-ms-input-placeholder {
    color: #ff0000;
}
.immomakler-search-center input.radius-error::-ms-input-placeholder {
    color: #ff0000;
}

.search-ranges {
    display: block;
}

.immomakler-search-range-text {
    margin-top: 15px;
    margin-bottom: 10px;
}

.immomakler-search-range-slider {
    padding-right: 10px;
}

.immomakler .search-taxonomies.row,
.immomakler .search-radius.row {
    margin-bottom: 10px;
}
.immomakler .search-radius.row {
    padding-left: 5px;
    padding-right: 5px;
}
.immomakler .search-taxonomies {
    min-height: 34px;
}
.immomakler .search-radius {
    min-height: 44px;
}
.immomakler .search-radius {
    min-height: 44px;
}
#immomakler-search-advanced {
    min-height: 42px;
}
.immomakler-search-range {
    font-size: 14px;
}
.immomakler-search-range label {
    padding: 6px 0px;
}
.elementor-widget-immomakler-archive-search-form #shortcode-immomakler-search-advanced,
.elementor-widget-immomakler-archive-search-form #immomakler-search-advanced {
	margin-left: 5px;
	margin-right: 5px;
}

.immomakler .dropdown-menu>.active>a,
.immomakler .dropdown-menu>.active>a:focus,
.immomakler .dropdown-menu>.active>a:hover {
    background-color: #ccc;
}
.immomakler a:focus,
.immomakler .bootstrap-select .dropdown-toggle:focus,
.immomakler .bootstrap-select>select.mobile-device:focus+.dropdown-toggle {
    outline: thin dotted #333!important;
}

.immomakler .immomakler-map-infowindow a:focus {
	outline: none !important;
}

/* Cart */

.immomakler-cart-link {
    display: block;
}

.immomakler-cart-item,
.immomakler-cart-item.row {
    margin: 0px;
    margin-top: 15px;
}

.immomakler-cart-item-thumbnail {
    padding-right: 0px !important;
}

.immomakler-cart-item-details {
    line-height: 1em;
}

.immomakler-cart-item-price {
    font-weight: bold;
}

.immomakler-cart-item .immobilie-cart-addremove {
    border: none;
    background: none;
}
.immomakler-archive .property-container.immomakler-archive-item-layout-condensed .immomakler-archive-actions {
	height: 0;
	width: 100%;
	text-align: right;
}
.immomakler-archive .property-container.immomakler-archive-item-layout-condensed .immobilie-cart-addremove {
	top: 0px;
	right: 0px;
	position: relative;
	z-index: 1;
}
.immomakler-archive .property-container.immomakler-archive-item-layout-condensed .immobilie-cart-addremove .in-cart {
	opacity: 1;
	padding: 15px;
	transition: transform .2s;
}
.immomakler-archive .property-container.immomakler-archive-item-layout-condensed .immobilie-cart-addremove .in-cart.is-favorite,
.immomakler-archive .property-container.immomakler-archive-item-layout-condensed .immobilie-cart-addremove .in-cart:hover {
	transform: scale(1.2);
}
.immomakler-archive .property-container.immomakler-archive-item-layout-condensed .immobilie-cart-addremove .in-cart.not-favorite {
	opacity: .6;
}
.immomakler-elementor.immomakler-cart-indicator a.btn.btn-default.immomakler-cart-button {
	border: none;
	padding-left: 5px;
	padding-right: 5px;
}

.immomakler-archive .btn.back-to-archive {
    margin-bottom: 15px;
}


/* Search Agents */

#immomakler-search-agents form {
    margin: 0;
}
#immomakler-search-agents .input-group.immomakler-searchagents-email {
    margin: 10px 0px;
}


#immomakler-search-agents-panel {
    border: 3px solid #ddd;
    width: 100%;
}
#immomakler-search-agents-panel .panel-heading {
    border-bottom: none;
    padding: 0px;
    background-color: #ffffff;
    font-weight: 600;
    font-size: 16px;
}

#immomakler-search-agents-panel .panel-body {
    border-top: 1px solid;
    border-color: #ddd;
}
#immomakler-search-agents-panel .panel-heading a,
#immomakler-search-agents-panel .panel-heading div.immomakler-search-agents-panel-toggle {
    display: block;
    padding: 8px 15px;
}

.immomakler-searchagent-form .form-group.has-error .form-control,
.immomakler-searchagent-form .form-check.has-error label {
    border: 1px solid #a94442 !important;
}

.immomakler-searchagent-form .form-group {
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 0px;
}

.immomakler-searchagent-form .search-radius.row {
    margin: 0px;
}
.immomakler-searchagent-form .searchagents-radius{
    margin: 25px 0px 10px 0px;
}
.immomakler-searchagent-form .searchagents-sliders {
    margin: 10px 0px 25px 0px;
}

.immomakler-searchagent-form .bootstrap-select.btn-group:not(.input-group-btn),
.immomakler-searchagent-form .bootstrap-select.btn-group[class*=col-] {
    float: left;
}
.immomakler .dropdown-toggle::after {
    display: none;
}

#immomakler-create-search-agent input[type="email"] {
    margin-bottom: 0px;
}

#immomakler-search-agents-panel a,
#searchagent-settings-panel a,
#immomakler-search-agents-panel div.immomakler-search-agents-panel-toggle,
#searchagent-settings-panel div.immomakler-search-agents-panel-toggle {
    cursor: pointer;
}

#immomakler-search-agents-panel span.searchagent-icon {
    padding-top: 4px;
    float: left;
    margin-right: 15px;
}
#immomakler-search-agents-panel span.searchagent-icon-open {
    font-size: 1em;
    float: right;
    top: 5px;
}

#immomakler-search-agents form {
    padding-left: 0px;
    padding-top: 1em;
}

.immomakler-searchagents-email {
    max-width: 600px;
}

.immomakler .notification-plaintext label {
    font-weight: normal;
}


/* Featured Object Widget */

.immomakler-featured-post-description {
    margin-top: 1em;
}

.immomakler-featured-post-thumbnail img {
    width: 100%;
}


/* Energieausweis */

.immomakler .property-epass .list-group-item>.row>.col-sm-12 {
    padding-left: 0px;
}

.epass {
    width: 100%;
    max-width: 600px;
    display: block;
}

.epass .arrow {
    background-repeat: no-repeat;
    background-size: auto 100%;
    height: 30px;
}

.epass .overlayarrowtop {
    height: 20px;
}

.epass .value-text {
    line-height: 1.1em;
    font-size: 13px;
    width: 100%;
}

.epass .value-text .endenergie_label {
    font-weight: bold;
}

.epass .value-text.move-right {
    width: 45%;
    margin-left: 55%;
}

.epass-diagram {
    height: 51px;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    border-radius: 15px;
    color: #000000;
}

.epass-diagram .classes {
    top: 0px;
    width: 100%;
    height: 20px;
    line-height: 20px;
    font-size: 12px;
}

.epass-diagram .classes span {
    float: left;
    text-align: center;
    border-right: 1px solid #000000;
}

.epass-diagram .classes span:last-child {
    border-right: none;
}

.epass-diagram .classes .a {
    width: 7.27%;
}

.epass-diagram .classes .b,
.epass-diagram .classes .c {
    width: 9.09%;
}

.epass-diagram .classes .aplus {
    width: 11.91%;
}

.epass-diagram .classes .d,
.epass-diagram .classes .e {
    width: 10.91%;
}

.epass-diagram .classes .f {
    width: 14.52%;
}

.epass-diagram .classes .g {
    width: 18.18%;
}

.epass-diagram .classes .h {
    width: 7%;
}

.epass-diagram .classes .active {
    font-weight: bold;
    font-size: 1.5em;
}

.epass-diagram .scala {
    top: 20px;
    width: 100%;
    height: 12px;
    background-color: #ffffff;
}

.epass-diagram .scala span {
    font-size: 12px;
    height: 12px;
    line-height: 12px;
    float: left;
    text-align: left;
    white-space: nowrap;
}

.epass-diagram .alt span {
    width: 11.1%;
}

.epass-diagram .neu span {
    width: 9.05%;
}

.epass-diagram .scala span:first-child {
    padding-left: 1%;
}

.epass-diagram .scala span:last-child {
    width: 8%;
    padding-left: 1%;
}

.epass-diagram-at {
    width: 100%;
    max-width: 450px;
}

.epass-diagram-container {
    padding: 15px;
    max-width: 500px;
}

/* Map */

.immomakler .archive-map {
    padding-bottom: 20px;
    width: 100%;
}

.immomakler.immomakler-map {
    width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.immomakler-map-iframe-gmaps #BorlabsCookieBox,
.immomakler-map-iframe-gmaps #BorlabsCookieBoxWrap {
    display: none;
}

.immomakler .bc-bct-google-maps .bc-thumbnail {
    max-height: 500px;
}

#immomakler-shortcode-map {
    width: 100%;
    height: 100vh;
    border: none;
}

.immomakler .markerwithlabel {
    font-weight: bold;
    color: #000000;
    font-size: 13px;
}

.immomakler-map-infowindow {
    width: 400px;
    max-width: 100%;
    height: 200px;
}

.immomakler-map-infowindow.long {
    height: 300px;
}

.immomakler-map-infowindow .property {
    clear: both;
    display: inline-block;
    margin-bottom: 15px;
    padding-bottom: 10px;
}

.immomakler-map-infowindow.long .property {
    border-bottom: 1px solid #AAAAAA;
}

.immomakler-map-infowindow .property-title {
    width: 100%;
    font-weight: bolder;
    font-size: 1.4em;
    display: inline-block;
    margin-bottom: 7px;
}

.immomakler-map-infowindow.long .property-title {
	font-size: 1.2em;
}

.immomakler-map-infowindow .property-subtitle {
    width: 100%;
    display: inline-block;
    font-weight: bolder;
    margin-bottom: 7px;
}

.immomakler-map-infowindow .property-thumbnail {
    width: 200px;
    float: left;
    margin: 0px;
    margin-right: 7px;
    padding: 0px;
    display: inline-block;
    margin-bottom: 5px;
}

.immomakler-map-infowindow .property-thumbnail img {
    margin: 0px;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 170px;
}

.immomakler-map-infowindow.long .property-thumbnail {
	width: 150px;
}
.immomakler-map-infowindow.long .property-thumbnail img {
	max-height: 95px;
}

.immomakler-map-infowindow .property-data {
    width: 190px;
    display: inline-block;
    float: right;
}

.immomakler-map-infowindow.long .property-data {
	width: 240px;
	max-height: 95px;
	overflow: hidden;
}

.immomakler-map-infowindow .property-type {
    font-weight: bolder;
}

.immomakler .immomakler-map-infowindow .property-data-item {
    margin-left: 0px;
    margin-right: 0px;
    margin-bottom: 0.3em;
    margin-top: 0px;
}

.immomakler-map-infowindow .details-link {
    margin-top: 7px;
}

.immomakler .immomakler-map-infowindow a:focus {
    outline: none;
}

.immomakler .immomakler-map-infowindow h3 {
    font-size: 1.2em;
    line-height: 1.1em;
    border-bottom: 1px solid #AAAAAA;
}

.immomakler img[src*="gstatic.com/"],
.immomakler img[src*="googleapis.com/"] {
    max-width: none !important;
}


/* Flexslider */

.immomakler-flexslider-property-thumbnail {
    height: 150px;
    overflow: hidden;
    margin-bottom: 1em;
}

.immomakler-flexslider .slides>li {
    margin: 0 7px;
}

.immomakler-flexslider-property-title {
    font-weight: bolder;
}
.immomakler-flexslider-property-title a {
    text-decoration: none;
}

.immomakler-flexslider {
    background-color: transparent;
    border: none;
    box-shadow: none;
}

.immomakler-flexslider ul {
    padding: 0px !important;
    line-height: inherit !important;
    list-style-type: none !important;
}

.textwidget .immomakler a.btn {
    padding: 8px 9pt !important;
}

.immomakler .btn .rating {
    text-align: left;
}

/* OWL Carousel */

.immomakler-carousel .item {
    font-size: 12px;
    padding-bottom: 5px;
}

.immomakler-carousel .carousel-property-container {
    background-color: #ffffff;
    box-shadow: 0 0 5px 0 #00000040;
    min-height: 350px;
}

.immomakler-carousel .property-status {
    position: absolute;
    top: 20px;
    width: 65%;
    min-width: 140px;
    max-width: 170px;
    padding-left: 10px;
    line-height: 1.8em;
    text-transform: uppercase;
    font-weight: bold;
    background-color: #CC3300;
    color: #FFFFFF;
}

.immomakler-carousel .carousel-property-thumbnail {
    height: 150px;
}

.immomakler-carousel .carousel-property-thumbnail a.thumbnail {
    height: 100%;
    width: 100%;
}

.immomakler-carousel .carousel-property-details {
    padding: 15px;
}

.immomakler-carousel .property-title {
    font-size: 18px;
    height: 2em;
    line-height: 1.2em;
}

.immomakler-carousel .property-subtitle {
    margin: 0px 0px 15px 0px;
    font-size: 14px;
    height: 2em;
    line-height: 1.2em;
}

.immomakler-carousel .property-price {
    position: absolute;
    bottom: 0px;
    width: 100%;
    padding: 15px;
}

.immomakler-carousel .property-price hr.price-divider {
    border: 1px solid #dadada;
    margin: 1em 0px;
}

.immomakler-carousel .property-price .property-price-label {
    float: left;
    font-size: 15px;
    position: absolute;
    padding-bottom: 13px;
    bottom: 0px;
}

.immomakler-carousel .property-price .property-price-value {
    float: right;
    font-size: 19px;
    line-height: 24px;
}

.immomakler button.btn.immomakler-load-more-btn {
    display: block;
    margin: 0px auto 25px auto;
}

.immomakler .row-additional-fields {
    border-top: 1px solid #ddd;
    padding-top: 15px;
    margin-top: 15px;
}

.immomakler .immomakler-searchagent-form .form-group>label {
    margin-top: 15px;
}

#immomakler-searchagent-form-submit {
    margin-top: 15px;
}

.immomakler-archive .properties {
	transition: opacity 0.25s;
}

/* archive slider (Swiper) */
.immomakler-archive .immomakler-archive-slider,
.immomakler-archive .immomakler-archive-slider .swiper {
	overflow: hidden;
}
/*
 * Height flows UP from the image: each slide image is full-width with its
 * aspect ratio set either by the Customizer (functions.php inline CSS) or by
 * the intrinsic width/height attributes wp_get_attachment_image() emits. The
 * slide, wrapper and `.swiper` then size to that content (no fixed height to
 * collapse against), and Swiper stretches all slides to the tallest via the
 * flex wrapper.
 */
.immomakler-archive .immomakler-archive-slider .swiper-slide > a,
.immomakler-archive .immomakler-archive-slider .swiper-slide .property-thumbnail-preview-container {
	display: block;
}
/*
 * Image sizing is keyed off the `immomakler-archive-thumbnail-image` class
 * (set in thumbnail-slider-property.php) rather than the wrapper structure, so
 * it applies identically to the single-image (no-Swiper) and multi-image
 * (Swiper) renderings, boxed or not.
 */
.immomakler-archive .property-container .thumbnail img.immomakler-archive-thumbnail-image {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
	object-position: center;
}
/*
 * Nav arrows — styled to match the single-property gallery's prev/next buttons
 * (see assets/css/gallery/preset-horizontal-thumbs.css): a wide invisible
 * click zone with a centered round button (::before) carrying the primary
 * colour and a CSS-masked white chevron (::after). Hidden until the card is
 * hovered, like the gallery. The `--immomakler-gallery-*` variables default
 * here and are overridden from the customer's link colour by the skin's inline
 * CSS (functions.php) — same mechanism the gallery uses.
 */
.immomakler-archive .immomakler-archive-slider {
	--immomakler-gallery-primary-color: #555555;
	--immomakler-gallery-primary-color-inverted: #ffffff;
	--immomakler-gallery-nav-opacity: 0.8;
	--immomakler-gallery-nav-button-size: 30px;
	--immomakler-gallery-nav-clickarea-width: 45px;
}
.immomakler-archive .immomakler-archive-slider .swiper-button-prev,
.immomakler-archive .immomakler-archive-slider .swiper-button-next {
	width: var(--immomakler-gallery-nav-clickarea-width);
	height: 100%;
	top: 0;
	margin-top: 0;
	background: transparent;
	border-radius: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	visibility: hidden;
}
.immomakler-archive .immomakler-archive-slider .swiper-button-prev {
	left: 0;
	right: auto;
}
.immomakler-archive .immomakler-archive-slider .swiper-button-next {
	right: 0;
	left: auto;
}
/* Suppress Swiper's own arrow glyph — replaced by the masked chevron below. */
.immomakler-archive .immomakler-archive-slider .swiper-navigation-icon {
	display: none;
}
/* Visible round button. */
.immomakler-archive .immomakler-archive-slider .swiper-button-prev::before,
.immomakler-archive .immomakler-archive-slider .swiper-button-next::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: var(--immomakler-gallery-nav-button-size);
	height: var(--immomakler-gallery-nav-button-size);
	background-color: var(--immomakler-gallery-primary-color);
	border-radius: 50%;
	opacity: var(--immomakler-gallery-nav-opacity);
	transition: opacity 200ms ease, background-color 200ms ease;
}
/* Chevron — CSS-masked SVG, centered on the circle. */
.immomakler-archive .immomakler-archive-slider .swiper-button-prev::after,
.immomakler-archive .immomakler-archive-slider .swiper-button-next::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
	width: var(--immomakler-gallery-nav-button-size);
	height: var(--immomakler-gallery-nav-button-size);
	transform: translate(-50%, -50%);
	background-color: var(--immomakler-gallery-primary-color-inverted);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: 42% 42%;
	mask-size: 42% 42%;
}
.immomakler-archive .immomakler-archive-slider .swiper-button-prev::after {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M15%204L7%2012l8%208'%20fill='none'%20stroke='%23000'%20stroke-width='2.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M15%204L7%2012l8%208'%20fill='none'%20stroke='%23000'%20stroke-width='2.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E");
}
.immomakler-archive .immomakler-archive-slider .swiper-button-next::after {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M9%204l8%208-8%208'%20fill='none'%20stroke='%23000'%20stroke-width='2.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M9%204l8%208-8%208'%20fill='none'%20stroke='%23000'%20stroke-width='2.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E");
}
/* Disabled (only with loop off and rewind off): grey circle, still visible. */
.immomakler-archive .immomakler-archive-slider .swiper-button-disabled {
	opacity: 1;
}
.immomakler-archive .immomakler-archive-slider .swiper-button-disabled::before {
	background-color: #666;
}
/*
 * Focus ring. Swiper's a11y module makes the nav buttons focusable
 * (tabindex=0, role=button), so clicking one focuses it — and several browsers
 * (notably macOS Safari/Chrome) then paint the focus outline on mouse click,
 * not just keyboard. Because the click zone is a tall, full-height strip pinned
 * to the slider edge, that outline shows as a vertical line at its inner edge.
 * Drop the outline on the zone itself and put a keyboard-only focus ring on the
 * round button instead, so keyboard users keep a visible indicator.
 */
.immomakler-archive .immomakler-archive-slider .swiper-button-prev:focus,
.immomakler-archive .immomakler-archive-slider .swiper-button-next:focus {
	outline: none;
}
.immomakler-archive .immomakler-archive-slider .swiper-button-prev:focus-visible::before,
.immomakler-archive .immomakler-archive-slider .swiper-button-next:focus-visible::before {
	outline: 2px solid var(--immomakler-gallery-primary-color-inverted);
	outline-offset: 2px;
}
/* Reveal on card hover / keyboard focus, like the gallery. */
.immomakler-archive .property-container .thumbnail:hover .immomakler-archive-slider .swiper-button-prev,
.immomakler-archive .property-container .thumbnail:hover .immomakler-archive-slider .swiper-button-next,
.immomakler-archive .property-container .thumbnail:focus .immomakler-archive-slider .swiper-button-prev,
.immomakler-archive .property-container .thumbnail:focus .immomakler-archive-slider .swiper-button-next {
	visibility: visible;
}
/*
 * Pagination — a SEGMENTED PROGRESS BAR rather than one fixed-width bar per
 * photo. The container is a fixed-width flex track; each photo's bar is a flex
 * item (`flex: 1 1 0`) that divides the track equally. With a few photos the
 * segments are wide; with many they shrink — so the indicator always stays on a
 * single line and never wraps, no matter the photo count. Hidden until the card
 * is hovered, like before. The active segment is highlighted to show position.
 */
.immomakler-archive .property-container .thumbnail .immomakler-archive-slider .swiper-pagination {
	display: flex;
	flex-wrap: nowrap;
	gap: 3px;
	align-items: center;
	/* Fixed, centered track so `flex: 1 1 0` segments have a width to divide. */
	left: 0;
	right: 0;
	width: min(80%, 240px);
	margin: 0 auto;
	bottom: 8px;
	opacity: 0;
	transition: opacity .15s;
}
.immomakler-archive .property-container .thumbnail:hover .immomakler-archive-slider .swiper-pagination,
.immomakler-archive .property-container .thumbnail:focus .immomakler-archive-slider .swiper-pagination {
	opacity: 1;
}
.immomakler-archive .immomakler-archive-slider .swiper-pagination-bullet {
	flex: 1 1 0;
	min-width: 0;
	width: auto;
	height: 3px;
	margin: 0;
	border-radius: 1px;
	background: #fff;
	opacity: 0.55;
	/* Keep the white segments legible over any image, like the gallery dots. */
	box-shadow: 0 0 3px rgba(0, 0, 0, 0.45);
	transition: opacity 150ms ease, background-color 150ms ease;
}
.immomakler-archive .immomakler-archive-slider .swiper-pagination-bullet-active {
	background: var(--immomakler-gallery-primary-color);
	opacity: 1;
}
/* Touch devices have no hover — keep the nav buttons visible. */
@media (max-width: 767px) {
	.immomakler-archive .immomakler-archive-slider .swiper-button-prev,
	.immomakler-archive .immomakler-archive-slider .swiper-button-next {
		visibility: visible;
	}
}

.immomakler-shortcode-archive-actions {
	display: inline-block;
	width: 100%;
}
/* Propstack */

.propstack-suchprofil .form-group .col-xs-12,
.propstack-suchprofil .form-group .col-xs-6 {
    padding-left: 0px;
    padding-right: 5px;
}
.propstack-suchprofil .form-group .col-xs-6:last-child {
    padding-left: 5px;
    padding-right: 0px;
}

/* Virtual Tours */
.immomakler-single .property-virtual-tours .player {
	padding: 0px 0px 5px 0px;
}
.immomakler-single .property-virtual-tours .player:last-child {
	padding-bottom: 0px;
}
.immomakler-single .property-virtual-tours .player iframe {
	width: 100% !important;
	aspect-ratio: 4/3;
	height: auto;
	border: none;
}
.immomakler-tour-icon {
	width: var( --immomakler-tour-icon-size, 50px);
	position: relative;
	bottom: calc( var( --immomakler-tour-icon-size, 50px) + 10px );
	height: 0;
	margin-left: calc(100% - var( --immomakler-tour-icon-size, 50px) - 10px);
}
.immomakler .immomakler-tour-icon-round-arrow {
	fill: var( --immomakler-primary-color );
}

/* Places autocomplete styles moved to assets-plus/css/places-autocomplete.css
   so they ship with the public library and apply outside the radius-search
   context. Enqueued via Places_Autocomplete_Bootstrap. */

/* Archive search "ajaxify" loading indicator. This is a Plus-only feature
   (the overlay is rendered by classes/plus/class-immomakler-search.php), so
   the rules live here rather than in immomakler.css. The shared spinner
   primitive (.immomakler-spinner / @keyframes immomakler-spinner) stays in
   immomakler.css because the map loading spinner uses it in Basic too. */
.properties.immomakler-properties-blurred {
	filter: blur(1px) saturate(0.55);
	pointer-events: none;
	user-select: none;
	transition: filter .2s ease;
}
/* Compound selector (the element always carries both classes) so position:
   fixed out-specifies the base .immomakler-spinner { position: relative } in
   immomakler.css regardless of which stylesheet the cascade sees last — the
   map renderer can inject the two sheets in either order. */
.immomakler-filter-loading.immomakler-spinner {
	display: flex;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	box-sizing: border-box;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	width: fit-content;
	min-width: 9em;
	max-width: calc(100vw - 2em);
	min-height: 4em;
	padding: 3.5em 1.75em 1.25em;
	background-color: rgba(255, 255, 255, 0.95);
	border-radius: 8px;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.18);
	text-align: center;
	z-index: 9999;
}
.immomakler-filter-loading.immomakler-spinner:before {
	top: 1.4em;
}

