/* Eigene CSS-Angaben für WP-ImmoMakler.
Wird nach dem mitgelieferten Plugin-CSS geladen,
Sie können somit die CSS-Angaben überschreiben oder ergänzen */



/* Abstand oben/unten für die gesamte Archivansicht */

/* --------------------------------------------------------------------------
   Objekt Single: No auto-translate for Objekt-ID and address/street
   These elements get class "notranslate" and translate="no" in templates.
   Selectors for translation plugins / exclusions:
   - .property-details .data-objektnr_extern  (Objekt-ID)
   - .property-details .data-adresse          (Adresse/Straße in Objektdaten)
   - .property-subtitle                       (Adresse/Straße in der Kopfzeile)
   -------------------------------------------------------------------------- */
.single-immomakler_object .property-details .data-objektnr_extern,
.single-immomakler_object .property-details .data-adresse,
.single-immomakler_object .property-subtitle {
	/* Marked in template with notranslate + translate="no" */
}




  .immomakler.immomakler-map{
	margin-top: 0 !important;
	padding-top: 0 !important;
}
/* Archive: map at top without spacing */
  .immomakler .archive-map,
  .immomakler .immomakler-map,
  .immomakler iframe.immomakler-map-iframe,
  .immomakler .immomakler-map-iframe{
	margin-top: 0 !important;
	padding-top: 0 !important;
}

  .immomakler .archive-title{
	text-transform: uppercase;
}

/* Titel-Abstände */
  .archive-title { margin: 0 0 10px; }
  .archive-subtitle{
	display:none;
   }

/* Glyphicon file icon: ensure font is used (Bootstrap 3 Glyphicons Halflings) */
.immomakler .glyphicon-file:before {
	content: "\e022";
	font-family: "Glyphicons Halflings", sans-serif;
}

/* Hide property status bar in archive/listing */
.immomakler .property-status-bar {
	display: none !important;
}

/* Archive search: hide Suchagenten panel */
#immomakler-search-agents-panel,
.immomakler [id$="immomakler-search-agents-panel"] {
	display: none !important;
}

/* Hide taxonomy row (no "Alle Orte" dropdown) */
.immomakler .search-taxonomies.row {
	display: none !important;
}
.immomakler .search-radius.row {
	display: none !important;
}

/* ======================================================================
   Archive filter bar redesign
   ====================================================================== */

/* Module container */
  .immomakler [id$="immomakler-search-advanced"].panel-default {
	background: #fff;
	border: 1px solid rgba(15, 23, 42, 0.12);
	border-radius: 12px;
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
	padding: 12px;
	position: relative;
}

/* Reorder: header (wishlist) -> filters -> CTA row */
  .immomakler [id$="immomakler-search-advanced"] {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
  .immomakler [id$="immomakler-search-advanced"] > .hr-filter-header { order: 0; }
  .immomakler [id$="immomakler-search-advanced"] > .panel-collapse { order: 1; }
  .immomakler [id$="immomakler-search-advanced"] > .panel-heading { order: 2; }

/* Header: wishlist moved here by hr-filterbar.js — hidden (no Merkliste) */
  .immomakler .hr-filter-header {
	display: none !important;
}
  .immomakler .hr-filter-header .hr-wishlist {
	background: transparent;
	border: 1px solid rgba(15, 23, 42, 0.12);
	border-radius: 10px;
	padding: 8px 10px;
	color: rgba(15, 23, 42, 0.9);
}

/* Filters grid */
 .immomakler .panel-collapse {
	border: 0;
}
  .immomakler .panel-body {
	padding: 0;
}
  .immomakler .search-ranges.row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 12px;
	margin: 0;
}
  .immomakler .search-ranges.row:before{
	content: "";
	display: none;
}
@media (max-width: 767px) {
	  .immomakler .search-ranges.row {
		grid-template-columns: 1fr;
	}
}

/* Fields */
  .immomakler .hr-filter-field {
	border: 1px solid rgba(15, 23, 42, 0.10);
	border-radius: 10px;
	padding: 10px;
	margin: 0;
	min-width: 0;
}
  .immomakler .hr-filter-bezirk {
	grid-column: auto;
}
  .immomakler .hr-filter-field .range-label {
	display: block;
	font-weight: 600;
	margin-bottom: 8px;
}
  .immomakler .hr-minmax {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}
/* Single-input fields (Suche) must not use the 2-column layout */
  .immomakler .hr-filter-objektid .hr-minmax {
	grid-template-columns: 1fr;
}
  .immomakler .hr-filter-field .form-control {
	height: 44px;
	border-radius: 10px;
	box-shadow: none;
}
  .immomakler .hr-filter-field .form-control:focus {
	border-color: #445D83;
	box-shadow: 0 0 0 3px rgba(68, 93, 131, 0.25);
}
  .immomakler .immomakler-search-rooms .bootstrap-select {
	width: 100% !important;
}
  .immomakler .immomakler-search-rooms .bootstrap-select > .dropdown-toggle {
	height: 44px;
}
  .immomakler .hr-filter-bezirk .bootstrap-select,
  .immomakler .hr-filter-stellplatz-typ .bootstrap-select {
	width: 100% !important;
}
  .immomakler .hr-filter-bezirk .bootstrap-select > .dropdown-toggle,
  .immomakler .hr-filter-stellplatz-typ .bootstrap-select > .dropdown-toggle {
	height: 44px;
}

/* Secondary actions (reset link) */
  .immomakler .hr-filter-secondary {
	display: flex;
	justify-content: flex-end;
	padding-top: 6px;
}
  .immomakler .hr-reset-link {
	color: rgba(15, 23, 42, 0.65);
	text-decoration: underline;
}
  .immomakler .hr-reset-link:hover {
	color: rgba(15, 23, 42, 0.85);
}

/* CTA row: only primary button, right-aligned */
  .immomakler [id$="immomakler-search-advanced"] > .panel-heading {
	border: 0;
	background: transparent;
	padding: 0;
	margin: 0;
}
  .immomakler .search-actions.row {
	margin: 0;
	display: flex;
	justify-content: flex-start;
	gap: 20px;
	align-items: center;
}
/* Merkliste button in search form (WP-ImmoMakler Plus cart) */
  .immomakler .search-actions.row .immomakler-cart-button,
  .immomakler .search-actions.row a.immomakler-cart-link {
	display: none !important;
}
  .immomakler .search-actions.row .hr-reset-link {
	color: rgba(15, 23, 42, 0.65);
	text-decoration: underline;
	padding: 0;
	border: 0;
	background: transparent;
}
  .immomakler .search-actions.row .hr-reset-link:hover {
	color: rgba(15, 23, 42, 0.85);
}

  .immomakler .immomakler-submit .glyphicon {
	display: none;
}

/* Hide the advanced toggle button (always visible filters) */
  .immomakler .immomakler-more-options {
	display: none !important;
}

/* Rooms dropdown: show a "checkbox" icon for every option line */
  .immomakler .bootstrap-select .dropdown-menu li a .check-mark {
	display: inline-block !important;
	opacity: 0.25;
}
  .immomakler .bootstrap-select .dropdown-menu li.selected a .check-mark {
	opacity: 1;
    position: relative;
    right: 0px;
    top: 0px;
}

/* Dropdown checkbox icon: override global glyphicon hearts */
  .immomakler .bootstrap-select .dropdown-menu li a .check-mark.glyphicon-check:before {
	content: "\2610"; /* ☐ */
	font-size:20px;
}
  .immomakler .bootstrap-select .dropdown-menu li.selected a .check-mark.glyphicon-check:before {
	content: "\2611"; /* ☑ */
	font-size:20px;
}

/* Dropdown option layout: checkbox left, label right, no jumping */
  .immomakler .bootstrap-select .dropdown-menu li a {
	display: flex;
	align-items: center;
}
  .immomakler .bootstrap-select .dropdown-menu li a .check-mark {
	flex: 0 0 1.25em;
	width: 1.25em;
	margin-right: 8px;
	text-align: center;
}
  .immomakler .bootstrap-select .dropdown-menu li a .text {
	flex: 1 1 auto;
}

/* Mehrspalten: gleiche Kartenhöhe; Text darf schrumpfen */
.immomakler-archive .property-container.hr-archive-property-item {
	min-width: 0;
	flex: 1;
	display: flex;
	flex-direction: column;
}

/* Bootstrap-3-Zeile: Flex → Karten in einer Reihe gleich hoch */
.immomakler-archive .properties > .row {
	display: flex;
	flex-wrap: wrap;
}
.immomakler-archive .properties > .row > .property {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

/* CSS-Grid-Archiv (loop-grid) */
.immomakler-archive .properties.immomakler-archive-grid > .property {
	display: flex;
	flex-direction: column;
	min-height: 0;
	min-width: 0;
}

.immomakler-archive .property-thumbnail {
	flex: 0 0 auto;
}

/* ======================================================================
   Archive-Karten: gleiche Zeilen für Titel / Adresse / Aktionen
   ====================================================================== */

/*
 * Fester Titel-Block (3 Zeilen) + fester Adress-Block (3 Zeilen) → gleiche
 * Startlinien. .property-data wächst; .property-actions mit margin-top:auto
 * klebt die Buttons unten bündig.
 */
.immomakler-archive .property-details {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
	min-height: 0;
}
.immomakler-archive .property-details .property-data {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-height: 0;
}

/* Titel: 3 Zeilen fest, längere Texte mit … */
.immomakler-archive .property-title {
	font-size: 1.2em;
	line-height: 1.35;
	margin: 0;
	padding: 0;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}
.immomakler-archive .property-title a {
	color: inherit;
}

/* Adresse: bis zu 3 Zeilen, gleiche Kastenhöhe */
.immomakler-archive .property-subtitle {
	font-size: 1em;
	font-weight: normal;
	line-height: 1.35;
	margin: 0;
	padding: 0;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}

/* Datenzeilen (Zimmer, Fläche, Preis …): Trennlinie + kompaktes Padding */
.immomakler-archive .property-data > .row {
	margin-top: 0;
	margin-bottom: 0;
	border-bottom: 1px solid #E9DCC9;
	padding: 3px;
}

/* Unten bündig mit den Nachbar-Karten */
.immomakler-archive .property-details .property-actions {
	margin-top: auto;
	clear: none;
	width: 100%;
	flex-shrink: 0;
}
.immomakler-archive .property-details .property-actions .btn-group {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	gap: 6px;
	float: none;
}
.immomakler-archive .property-details .property-actions .btn-group > .btn,
.immomakler-archive .property-details .property-actions .btn-group > a {
	float: none;
}

@media (max-width: 1024px) {
	  .immomakler .search-ranges.row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 767px) {
	.immomakler-archive .property-title {
		font-size: inherit;
		min-height: calc(1em * 1.35 * 3);
		max-height: calc(1em * 1.35 * 3);
	}
	.immomakler-archive .property-subtitle {
		min-height: calc(1.35em * 3);
		max-height: calc(1.35em * 3);
	}
}

/* Child-skin OrderBy placement under titles */
  .immomakler-child-orderby {
	margin: 10px 0 20px;
	display: flex;
	justify-content: flex-end;
}
  .immomakler-child-orderby .immomakler-order-by {
	display: inline-block;
}

/* ======================================================================
   Single: property-details panel
   ====================================================================== */

.single-immomakler_object .property-details {
	font-family: "Montserrat", sans-serif;
}

.single-immomakler_object  .panel-heading {
	
	border-bottom: 2px solid #000;
	text-transform: uppercase;
	background-color: transparent;
}

.single-immomakler_object  .panel-heading h2 {
	margin: 0;
}

.single-immomakler_object .property-details .dt,
.single-immomakler_object .property-details .dd {
	font-family: "Montserrat", sans-serif;
	font-weight: 400;
	
}
.immomakler .checkbox label, .immomakler .radio label{
	list-style: inherit;
}

/* Single: mobile responsive details list */
@media (max-width: 767px) {
	/* Requested mobile spacing */
	.single-immomakler_object .immomakler-single.immomakler{
		margin: 4em 1.5em 0;
	}
	  .immomakler-archive{
		margin: 0 1.5em 0;
	}
	  #immomakler-search-advanced{
		padding:0px;
		margin-top:0px;
	}

	.single-immomakler_object .property-actions.btn-group .btn{
		padding:7px;
	}
	.single-immomakler_object .immomakler-single .property-navigation{
		float:left;
		margin:0px 0px 0px 10px;	
		
	}
	.single-immomakler_objec .immomakler .panel-body{
		padding: 0px;
	}
	.single-immomakler_object .property-gallery-static-with-thumbs{
		margin-top: 2em;
	}
	/* Keep label/value in two columns on phones */
	.single-immomakler_object .property-details .list-group-item .row{
		display: flex;
		flex-wrap: nowrap;
		align-items: flex-start;
		margin-left: 0;
		margin-right: 0;
	}
	.single-immomakler_object .property-details .dt,
	.single-immomakler_object .property-details .dd{
		padding-left: 0;
		padding-right: 0;
		font-size: 14px;
		line-height: 1.35;
	}
	.single-immomakler_object .property-details .dt{
		flex: 0 0 44%;
		max-width: 44%;
		padding-right: 10px;
	}
	.single-immomakler_object .property-details .dd{
		flex: 1 1 56%;
		max-width: 56%;
	}
	.single-immomakler_object .property-details .dd{
		word-break: break-word;
		overflow-wrap: anywhere;
	}
	.single-immomakler_object .property-details .list-group-item{
		padding: 6px 5px;
	}
	.single-immomakler_object .immomakler-single .panel-heading h2{
		font-size: 1.4rem;
	}
	.immomakler .panel-heading{
		padding: 0px;
	}
}
.single-immomakler_object .property-gallery-static-with-thumbs{
	margin-top: 4em;
}
	


/* ======================================================================
   Single: property-actions buttons
   ====================================================================== */

   .single-immomakler_object .immomakler-single.immomakler {
	max-width: 1200px;
	margin: 6em auto;
   }

   .immomakler-single h2.property-subtitle{
	margin-bottom: 2em;
   }
 

.single-immomakler_object .property-actions.btn-group .btn {
	background-color: rgba(255, 255, 255, 0);
	border-color: #000;
	border-style: solid;
	border-radius: 0;
	box-shadow: none;
	box-sizing: border-box;
	color: #000;
	fill: rgb(255, 255, 255);
	cursor: pointer;
	display: inline-block;
	font-family: "Montserrat", sans-serif;
	height: auto;
	text-align: center;
	margin-right: 11px;
}

/* Primary contact button: filled in primary color, text white */
.single-immomakler_object .property-actions.btn-group .btn.btn-primary, .immomakler .btn-primary {
	color: #fff;
    background-color: #445D83;
    border-color: #445D83;
    text-transform: uppercase;
    font-weight: 400 !important;
}


/* Direktanfrage as last row inside Objektdaten list */
.single-immomakler_object .property-details .property-details-direktanfrage-row {
	border-top: 1px solid rgba(15, 23, 42, 0.08);
	padding-top: 1em;
	padding-bottom: 0.5em;
}

/* Large Direktanfrage button at bottom of property-details */
.single-immomakler_object .property-details-direktanfrage {
	margin-top: 0;
	padding: 0;
}
.single-immomakler_object .property-details .btn-direktanfrage {
	display: block;
	width: 100%;
	padding: 1em 1.5em;
	font-size: 1.25rem;
	font-weight: 600;
	text-align: center;
	text-decoration: none;
	border-radius: 0;
}
.single-immomakler_object .property-details .btn-direktanfrage:hover,
.single-immomakler_object .property-details .btn-direktanfrage:focus {
	text-decoration: none;
	color: #fff;
}



  .immomakler-archive {
	margin: 0 2em;
	padding-bottom: 0;
}
/* ======================================================================
   Panels
   ====================================================================== */

.immomakler .panel-default {
	border: none;
}

.immomakler .panel-default>.panel-heading {
	border-bottom: 2px solid #000;
	background: transparent;
	margin-bottom: 20px;
}

.immomakler-single .panel-heading h2 {
	font-size: 2rem;
	padding: 0;
	font-weight: 400;
	text-transform: uppercase;
}
.immomakler label{
	font-weight:400;
}

/* ======================================================================
   Icons (Glyphicons): use Unicode so they work without Bootstrap 3 icon font
   ====================================================================== */

.immomakler .glyphicon-list:before {
	content: "\2630";
}

.immomakler .glyphicon-menu-left:before {
	content: "\2039";
}
.immomakler .glyphicon-menu-right:before {
	content: "\203A";
}
.immomakler .glyphicon-unchecked:before {
	content: "\2661"; /* ♡ */
}
.immomakler .glyphicon-check:before {
	content: "\2665"; /* ♥ */
}
  
  /* map marker */
  .immomakler .glyphicon-map-marker:before {
	content: none; /* 📍 */
  }
  
  /* lock */
  .immomakler .glyphicon-lock:before {
	content: "\1F512"; /* 🔒 */
  }
  .immomakler .glyphicon-search:before {
  content: "\003F"; /* ? */
}

.immomakler .glyphicon-search:before {
  content: "\2315"; /* ⌕ */
}