/* =============================================================================
   WP-ImmoMakler Child-Skin — YOOtheme (Boekhoff) brand match
   Loaded AFTER the bootstrap3 parent skin + bundled Bootstrap CSS, so these
   rules win. Scoped to .immomakler-archive / .immomakler-single / .immomakler.

   Brand tokens
     blue (text/links) .......... #0B4C9E
     secondary blue ............. #074284
     accent yellow .............. #FFDD00  (black text, 2px border)
     muted background ........... #FDFAE6
     fonts ...................... Hind (body, 18px), Oswald (headings)
   ========================================================================== */

.immomakler {
	--im-blue: #0B4C9E;
	--im-blue-dark: #074284;
	--im-yellow: #FFDD00;
	--im-muted: #FDFAE6;
	--im-border: rgba(11, 76, 158, 0.14);
}

/* ---- base typography ---------------------------------------------------- */
.immomakler-archive,
.immomakler-single {
	font-family: "Hind", -apple-system, "Helvetica Neue", Arial, sans-serif;
	font-size: 18px;
	line-height: 1.6;
	color: var(--im-blue);
}

.immomakler-archive h1, .immomakler-archive h2, .immomakler-archive h3, .immomakler-archive h4,
.immomakler-single h1, .immomakler-single h2, .immomakler-single h3, .immomakler-single h4 {
	font-family: "Oswald", "Hind", sans-serif;
	color: var(--im-blue);
	line-height: 1.2;
}

.immomakler-archive a,
.immomakler-single a {
	color: var(--im-blue);
	text-decoration: none;
}
.immomakler-archive a:hover,
.immomakler-single a:hover {
	color: var(--im-blue-dark);
}

/* ---- neutralize leftover Bootstrap + parent-skin chrome ----------------- */
.immomakler .panel,
.immomakler .panel-default,
.immomakler .panel-heading,
.immomakler .panel-body,
.immomakler .list-group,
.immomakler .list-group-item,
.immomakler .thumbnail {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	border-radius: 0;
}
.immomakler .thumbnail { display: block; }

/* contain floats from inherited Bootstrap partials (.row uses col-sm floats) so
   they don't push our flex/BFC containers sideways */
.immomakler .row {
	display: flow-root;
	margin-left: 0;
	margin-right: 0;
}

/* the parent skin floats .property-container children for its column layout */
.immomakler-archive .property,
.immomakler-archive .property-container {
	float: none;
	width: auto;
	padding: 0;
	margin: 0;
	border: 0;
	background: none;
	box-shadow: none;
}
.immomakler-archive .property-container::after { content: none; }

/* ===========================================================================
   ARCHIVE — responsive vertical-card grid
   Self-contained: layout + colors are set explicitly here (no reliance on
   UIkit grid classes or inherited theme text colors).
   ========================================================================== */
.immomakler-archive .properties.immomakler-archive-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(min(330px, 100%), 1fr));
	gap: 34px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.immomakler-archive .properties.immomakler-archive-grid > .property {
	margin: 0;
	padding: 0;
	float: none;
	width: auto;
}

/* Shortcode-embedded grids (homepage Kauf/Miete sections, listing pages):
   use centered flex-wrap so sparse sections (e.g. a single rental) stay
   balanced instead of stuck to the left with empty space. */
.immomakler-shortcode-archive .properties.immomakler-archive-grid {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: center;
	gap: 34px;
}
.immomakler-shortcode-archive .properties.immomakler-archive-grid > .property {
	flex: 1 1 340px;
	max-width: 460px;
	min-width: 0;
}

/* the card — flat (no radius/shadow), white with a hairline border so it reads
   as a clean card on white or coloured section backgrounds. */
.immomakler-archive .im-card.property-container {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid #e4e7ec;
	border-radius: 0;
	box-shadow: none;
	height: 100%;
}

/* card image (fixed aspect ratio, fills width) — flat, no radius */
.immomakler-archive .im-card-media {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	background: #eef1f5;
	border-radius: 0;
	overflow: hidden;
}
.immomakler-archive .im-card-media .thumbnail,
.immomakler-archive .im-card-media > a {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
}
.immomakler-archive .im-card-media img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 0;
	border-radius: 0;
	object-fit: cover;
}

/* card body — padded inside the card; actions pinned to the bottom so the
   buttons line up across a row of unequal-height cards */
.immomakler-archive .im-card-body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	gap: .35rem;
	padding: 18px 20px 20px;
}
.immomakler-archive .im-card-title {
	font-family: "Oswald", "Hind", sans-serif;
	font-size: 1.3rem;
	font-weight: 500;
	line-height: 1.25;
	margin: 0;
}
.immomakler-archive .im-card-title a {
	color: #0B4C9E !important;
	text-decoration: none;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.immomakler-archive .im-card-title a:hover { color: #074284 !important; }
.immomakler-archive .im-card-location {
	color: #5a6b80 !important;
	font-size: .92rem;
}
.immomakler-archive .im-card-price {
	font-family: "Oswald", "Hind", sans-serif;
	font-weight: 500;
	font-size: 1.2rem;
	color: #074284 !important;
	margin: .1rem 0 .2rem;
}
.immomakler-archive .im-card-facts {
	display: flex;
	flex-wrap: wrap;
	gap: .35rem .9rem;
	list-style: none;
	margin: 0;
	padding: 0;
	color: #33404f !important;
	font-size: .92rem;
}
.immomakler-archive .im-card-facts .im-fact {
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
}
.immomakler-archive .im-card-facts .im-fact::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	margin-right: .45rem;
	border-radius: 0;
	background: #FFDD00;
}
.immomakler-archive .im-card-excerpt {
	color: #5b6470 !important;
	font-size: .95rem;
	line-height: 1.5;
	margin: .3rem 0 0;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 4.5em; /* reserve ~3 lines so buttons sit consistently across cards */
}
.immomakler-archive .im-card-actions {
	/* parent skin (.immomakler-boxed .property-container .property-actions) sets
	   position:relative; left:15px; float:left — undo it so the button lines up
	   with the rest of the card content */
	position: static !important;
	left: auto !important;
	float: none !important;
	margin: auto 0 0 0 !important;
	padding: 1rem 0 0 0 !important;
}
.immomakler-archive .im-card-actions .uk-button {
	display: inline-block;
	width: auto;
	margin: 0;
}

/* card status badge */
.immomakler-archive .property-status-bar {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}
.immomakler .property-status {
	display: inline-block;
	background: #0B4C9E;
	color: #fff !important;
	font-family: "Oswald", "Hind", sans-serif;
	font-size: .78rem;
	letter-spacing: .02em;
	padding: .25rem .6rem;
	border-radius: 0;
}
.immomakler .property-status-reserviert { background: #FFDD00; color: #000 !important; }
.immomakler .property-status-verkauft,
.immomakler .property-status-vermietet { background: #074284; }

/* ===========================================================================
   SINGLE — detail page
   ========================================================================== */
.immomakler-single .property-title {
	font-size: 2.2rem;
	font-weight: 600;
	margin-bottom: .25rem;
}
.immomakler-single .property-subtitle {
	color: var(--im-blue-dark);
	font-family: "Oswald", "Hind", sans-serif;
	font-weight: 400;
	margin-top: 0;
}

/* action bar (Zur Übersicht / PDF / Direktanfrage) — flat brand buttons */
.immomakler-single .im-single-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin-bottom: 1.75rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid var(--im-border);
}
.immomakler-single .im-single-actions .btn {
	float: none;
	display: inline-flex;
	align-items: center;
	margin: 0;
	font-family: "Hind", sans-serif;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	padding: .55rem 1.1rem;
	border: 2px solid var(--im-blue-dark);
	border-radius: 0;
	background: #fff;
	color: var(--im-blue-dark) !important;
	text-decoration: none;
	transition: background-color .15s ease, color .15s ease;
}
.immomakler-single .im-single-actions .btn:hover {
	background: var(--im-blue-dark);
	color: #fff !important;
}
.immomakler-single .im-single-actions .btn-primary {
	background: var(--im-blue-dark);
	color: #fff !important;
}
.immomakler-single .im-single-actions .btn-primary:hover {
	background: var(--im-blue);
	border-color: var(--im-blue);
}
.immomakler-single .im-single-actions .btn .glyphicon {
	margin-right: .4rem;
}

/* next/prev result navigation — pushed to the right, centered icons/text */
.immomakler-single .im-single-actions .property-navigation {
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: .5rem;
	float: none;
}
.immomakler-single .im-single-actions .property-navigation .listnumber {
	color: var(--im-blue-dark);
	font-family: "Hind", sans-serif;
	font-size: 14px;
	white-space: nowrap;
}
.immomakler-single .im-single-actions .property-navigation .btn {
	justify-content: center;
	min-width: 44px;
	padding: .55rem .6rem;
}
.immomakler-single .im-single-actions .property-navigation .btn .glyphicon {
	margin-right: 0;
}
.immomakler-single .im-single-actions .property-navigation .btn.disabled {
	opacity: .4;
	pointer-events: none;
}

.immomakler-single .im-single-sidebar > * {
	margin-bottom: 1.75rem;
}
.immomakler-single .im-single-main > * {
	margin-bottom: 1.75rem;
}
.immomakler-single .immomakler-gallery,
.immomakler-single .im-single-gallery-full {
	margin-bottom: 1.75rem;
}

/* Objektdaten panel */
.immomakler-single .im-objektdaten {
	background: var(--im-muted);
	border: 0;
	border-radius: 0;
	padding: 1.5rem 1.75rem;
}
.immomakler-single .im-objektdaten-title {
	font-size: 1.4rem;
	margin: 0 0 1rem;
	padding-bottom: .6rem;
	border-bottom: 2px solid var(--im-yellow);
}
.immomakler-single .im-data-list {
	margin: 0;
}
.immomakler-single .im-data-row {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 1rem;
	align-items: baseline;
	padding: .55rem 0;
	border-bottom: 1px solid var(--im-border);
}
.immomakler-single .im-data-row:last-child {
	border-bottom: 0;
}
.immomakler-single .im-data-list dt {
	font-weight: 600;
	color: var(--im-blue-dark);
	margin: 0;
}
.immomakler-single .im-data-list dd {
	margin: 0;
	text-align: right;
}
.immomakler-single .im-data-row.price dt,
.immomakler-single .im-data-row.price dd {
	font-family: "Oswald", "Hind", sans-serif;
	font-weight: 600;
	color: var(--im-blue-dark);
	font-size: 1.1rem;
}

/* status badge (single) */
.immomakler-single .property-status-bar {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 1rem;
}

/* sidebar panels: features + energy pass share the Objektdaten cream look */
.immomakler-single .property-features,
.immomakler-single .property-epass {
	background: var(--im-muted);
	border: 0;
	border-radius: 0;
	padding: 1.5rem 1.75rem;
}
.immomakler-single .property-features .panel-heading,
.immomakler-single .property-epass .panel-heading {
	background: none;
	border: 0;
	padding: 0;
	margin: 0 0 1rem;
}
.immomakler-single .property-features .panel-heading h2,
.immomakler-single .property-epass .panel-heading h2 {
	font-size: 1.4rem;
	margin: 0;
	padding-bottom: .6rem;
	border-bottom: 2px solid var(--im-yellow);
}
.immomakler-single .property-features .panel-body,
.immomakler-single .property-epass .panel-body {
	padding: 0;
}

/* features: single-column list (full sidebar width) so long German compound
   feature names wrap cleanly without mid-word breaks */
.immomakler-single .property-features .list-group {
	display: grid;
	grid-template-columns: 1fr;
	gap: .15rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.immomakler-single .property-features .list-group-item {
	display: flex;
	align-items: baseline;
	gap: .45rem;
	background: none;
	border: 0;
	padding: .3rem 0;
	color: var(--im-blue);
	font-size: .95rem;
}
.immomakler-single .property-features .list-group-item::before {
	content: "\2713";
	flex: 0 0 auto;
	color: #074284;
	font-weight: 700;
}
.immomakler-single .property-features .im-feature-text {
	min-width: 0;
}

/* Bootstrap adds .row::before/::after clearfix pseudo-elements; under
   display:flex they become phantom flex items that push the real label/value
   toward the centre. Remove them for the flexed label/value rows. */
.immomakler-single .property-epass .row::before,
.immomakler-single .property-epass .row::after,
.immomakler-single .property-contact .row::before,
.immomakler-single .property-contact .row::after {
	content: none;
}

/* energy pass: flat label/value rows (override Bootstrap col-sm floats) */
.immomakler-single .property-epass .list-group {
	margin: 0;
	padding: 0;
}
.immomakler-single .property-epass .list-group-item {
	background: none;
	border: 0;
	border-bottom: 1px solid var(--im-border);
	padding: .5rem 0;
}
.immomakler-single .property-epass .list-group-item:last-child {
	border-bottom: 0;
}
.immomakler-single .property-epass .row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	margin: 0;
}
.immomakler-single .property-epass .dt,
.immomakler-single .property-epass .dd {
	float: none;
	width: auto;
	padding: 0;
}
.immomakler-single .property-epass .dt {
	font-weight: 600;
	color: var(--im-blue-dark);
}
.immomakler-single .property-epass .dd {
	text-align: right;
	color: var(--im-blue);
}
.immomakler-single .property-epass .epass-diagram-container {
	margin-top: 1rem;
}

/* all single-page section panels (description, contact, features, epass):
   flat heading with a yellow underline, no gray Bootstrap header bar */
.immomakler-single .panel > .panel-heading {
	background: none !important;
	border: 0;
	padding: 0;
	margin: 0 0 1rem;
}
.immomakler-single .panel > .panel-heading h2 {
	font-size: 1.4rem;
	margin: 0;
	padding-bottom: .6rem;
	border-bottom: 2px solid var(--im-yellow);
}
.immomakler-single .panel > .panel-body {
	padding: 0;
}
.immomakler-single .property-description h3 {
	font-size: 1.1rem;
	margin: 1.25rem 0 .4rem;
	color: var(--im-blue-dark);
}

/* Kontaktdaten: flat label/value rows (override Bootstrap col-sm floats) */
.immomakler-single .property-contact .list-group-item {
	background: none;
	border: 0;
	border-bottom: 1px solid var(--im-border);
	padding: .5rem 0;
}
.immomakler-single .property-contact .list-group-item:last-child {
	border-bottom: 0;
}
.immomakler-single .property-contact .row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	margin: 0;
}
.immomakler-single .property-contact .dt,
.immomakler-single .property-contact .dd {
	float: none;
	width: auto;
	padding: 0;
}
.immomakler-single .property-contact .dt {
	font-weight: 600;
	color: var(--im-blue-dark);
}
.immomakler-single .property-contact .dd {
	text-align: right;
	color: var(--im-blue);
}
.immomakler-single .property-contact .list-group-item.hidden-print {
	border-bottom: 0;
	padding-top: 1rem;
}
/* The form is directly below the contact details; hide the redundant jump CTA. */
.immomakler-single .property-contact .property-contact-form-cta-button.btn {
	display: none;
}

/* "Direktanfrage" / contact form CTA — flat brand button */
.immomakler-single .property-contact-form-cta-button.btn {
	display: block;
	width: 100%;
	margin: 0;
	padding: .7rem 1rem;
	background: var(--im-blue-dark);
	color: #fff !important;
	border: 0;
	border-radius: 0;
	font-family: "Hind", sans-serif;
	font-weight: 500;
	font-size: 16px;
	text-align: center;
	text-decoration: none;
}
.immomakler-single .property-contact-form-cta-button.btn:hover {
	background: var(--im-blue);
}

/* excerpt lead — flat, yellow accent (no gray box) */
.immomakler-single .immomakler-property-excerpt {
	background: none;
	border: 0;
	border-left: 4px solid var(--im-yellow);
	border-radius: 0;
	padding: .15rem 0 .15rem 1rem;
	margin: 0 0 1.5rem;
	font-size: 1.15rem;
	line-height: 1.5;
	color: var(--im-blue);
}

/* description */
.immomakler-single .property-description h2,
.immomakler-single .description h2 {
	font-size: 1.5rem;
	margin-bottom: .75rem;
}

/* inquiry form — flush with the main content (no inset box / extra spacing) */
.immomakler-single .property-contactform,
.immomakler-single .contactform {
	background: none;
	border: 0;
	border-radius: 0;
	padding: 0;
}
.immomakler-single .property-contactform input[type="text"],
.immomakler-single .property-contactform input[type="email"],
.immomakler-single .property-contactform input[type="tel"],
.immomakler-single .property-contactform textarea,
.immomakler-single .contactform input,
.immomakler-single .contactform textarea {
	width: 100%;
	padding: .6rem .8rem;
	border: 1px solid var(--im-border);
	border-radius: 0;
	font-family: inherit;
	margin-bottom: .75rem;
}

/* "Weitere Objekte" on the single page */
.immomakler-single .im-weitere-objekte {
	margin-top: 3.5rem;
	padding-top: 2.5rem;
	border-top: 3px solid var(--im-yellow);
}
.immomakler-single .im-weitere-title {
	font-size: 1.9rem;
	text-align: center;
	margin: 0 0 1.75rem;
}

/* ===========================================================================
   OVERVIEW (/immobilien/) — header, search controls, filters, sort
   ========================================================================== */
/* Verkaufsobjekte/Vermietung pages embed the native archive UI as their full
   page body; hide the normal YOOtheme page title so they match /immobilien/. */
.page-id-360 .uk-article-title,
.page-id-364 .uk-article-title {
	display: none;
}

/* header */
.immomakler-archive .archive-title {
	font-size: 2.4rem;
	font-weight: 600;
	margin: 0 0 .1rem;
}
.immomakler-archive .archive-subtitle {
	font-family: "Oswald", "Hind", sans-serif;
	font-weight: 400;
	font-size: 1.1rem;
	color: var(--im-blue-dark);
	margin: 0 0 1.5rem;
	padding-bottom: .75rem;
	border-bottom: 2px solid var(--im-yellow);
}

/* the search form is wrapped in a Bootstrap panel — flatten & unstyle it so all
   controls sit cleanly on the page (no boxed/cream split) */
.immomakler-archive #immomakler-search-advanced.panel,
.immomakler-archive #immomakler-search .panel {
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	margin: 0 0 1rem;
}
.immomakler-archive #immomakler-search .panel > .panel-heading {
	background: none !important;
	border: 0;
	padding: 0;
}
.immomakler-archive #immomakler-search .panel > .panel-body {
	padding: 0;
}
.immomakler-archive #immomakler-search .search-actions.row {
	margin: 0;
}
/* the search <form> has 10px padding that insets the filters — remove it and
   offset the dropdown gutter so filters line up with the page content/cards */
.immomakler-archive #immomakler-search > form,
.immomakler-archive #immomakler-search form {
	padding-left: 0;
	padding-right: 0;
}
.immomakler-archive #immomakler-search .search-taxonomies.row {
	margin-left: -5px;
	margin-right: -5px;
}

/* select dropdowns (bootstrap-select) */
.immomakler-archive #immomakler-search .bootstrap-select > .dropdown-toggle,
.immomakler-archive #immomakler-search select.form-control {
	background: #fff;
	border: 1px solid #cdd6e2;
	border-radius: 0;
	box-shadow: none;
	color: var(--im-blue);
	font-family: "Hind", sans-serif;
	height: auto;
	padding: .6rem .9rem;
}
.immomakler-archive #immomakler-search .bootstrap-select > .dropdown-toggle:focus {
	outline: none;
	border-color: var(--im-blue);
}
.immomakler-archive #immomakler-search .bootstrap-select .filter-option {
	color: var(--im-blue);
}

/* submit "X Treffer anzeigen" */
.immomakler-archive #immomakler-search .immomakler-submit.btn,
.immomakler-archive #immomakler-search .btn-primary {
	background: var(--im-blue-dark);
	border: 0;
	border-radius: 0;
	color: #fff;
	font-family: "Hind", sans-serif;
	font-weight: 500;
	padding: .65rem 1.3rem;
}
.immomakler-archive #immomakler-search .immomakler-submit.btn:hover {
	background: var(--im-blue);
}
.immomakler-archive #immomakler-search .immomakler-submit .glyphicon {
	margin-right: .4rem;
}

/* reset link */
.immomakler-archive #immomakler-search-reset.btn,
.immomakler-archive #immomakler-search-reset {
	background: none;
	border: 0;
	color: var(--im-blue);
	text-decoration: underline;
	padding: .65rem .5rem;
}
.immomakler-archive #immomakler-search-reset:hover {
	color: var(--im-blue-dark);
}

/* Objekt-ID search */
.immomakler-archive #immomakler-search .search-for-id .form-control {
	border: 1px solid #cdd6e2;
	border-radius: 0;
	box-shadow: none;
	padding: .6rem .9rem;
	height: auto;
}
.immomakler-archive #immomakler-search .search-for-id .input-group-btn .btn,
.immomakler-archive #immomakler-search .search-for-id .btn {
	background: var(--im-blue-dark);
	border: 0;
	border-radius: 0;
	color: #fff;
}

/* "Suchprofil" / saved-search panel — one cohesive flat cream block
   (toggle bar + expanded form) */
.immomakler-archive #immomakler-search-agents-panel.panel {
	background: var(--im-muted);
	border: 0;
	border-left: 4px solid var(--im-yellow);
	border-radius: 0;
	box-shadow: none;
	margin: 0 0 1rem;
}
.immomakler-archive #immomakler-search-agents-panel .panel-heading {
	background: none !important;
	border: 0;
	padding: 0;
}
.immomakler-archive .immomakler-search-agents-panel-toggle {
	display: flex;
	align-items: center;
	gap: .6rem;
	background: none;
	border: 0;
	border-radius: 0;
	color: var(--im-blue-dark);
	padding: .85rem 1.1rem;
	margin: 0;
	cursor: pointer;
}
.immomakler-archive .immomakler-search-agents-panel-toggle .searchagent-icon,
.immomakler-archive .immomakler-search-agents-panel-toggle .searchagent-icon-open {
	color: var(--im-blue-dark);
}
.immomakler-archive .immomakler-search-agents-panel-toggle .searchagent-icon-open {
	margin-left: auto;
}
/* expanded form */
.immomakler-archive #immomakler-search-agents-panel .panel-body {
	background: none;
	border: 0;
	padding: 0 1.1rem 1.25rem;
}
.immomakler-archive #immomakler-search-agents {
	color: var(--im-blue-dark);
}
.immomakler-archive #immomakler-search-agents > .col-sm-12:first-child {
	margin-bottom: .9rem;
}
.immomakler-archive #immomakler-search-agents .checkbox {
	margin: .35rem 0;
}
.immomakler-archive .immomakler-searchagents-email {
	margin: .9rem 0;
}
.immomakler-archive .immomakler-searchagents-email .input-group-addon {
	background: #fff;
	border: 1px solid #cdd6e2;
	border-radius: 0;
	color: var(--im-blue-dark);
}
.immomakler-archive .immomakler-searchagents-email .form-control {
	border: 1px solid #cdd6e2;
	border-radius: 0;
	box-shadow: none;
	padding: .6rem .9rem;
	height: auto;
}
.immomakler-archive #immomakler-search-agents-panel .panel-body .btn {
	background: var(--im-blue-dark);
	border: 0;
	border-radius: 0;
	color: #fff;
	font-family: "Hind", sans-serif;
	font-weight: 500;
	padding: .6rem 1.2rem;
}
.immomakler-archive #immomakler-search-agents-panel .panel-body .btn:hover {
	background: var(--im-blue);
}

/* select dropdown menus (bootstrap-select popup) — brand hover/active */
.immomakler-archive #immomakler-search .bootstrap-select .dropdown-menu {
	border: 1px solid #cdd6e2;
	border-radius: 0;
	box-shadow: 0 6px 18px rgba(11, 76, 158, 0.12);
}
.immomakler-archive #immomakler-search .bootstrap-select .dropdown-menu li a {
	color: var(--im-blue);
}
.immomakler-archive #immomakler-search .bootstrap-select .dropdown-menu li a:hover,
.immomakler-archive #immomakler-search .bootstrap-select .dropdown-menu li.selected a,
.immomakler-archive #immomakler-search .bootstrap-select .dropdown-menu li.active a {
	background: var(--im-blue-dark);
	color: #fff;
}

/* result count + sort bar */
.immomakler-archive .immomakler-orderby .dropdown-toggle,
.immomakler-archive .immomakler-pagination .dropdown-toggle {
	color: var(--im-blue-dark);
	font-family: "Hind", sans-serif;
	cursor: pointer;
	text-decoration: none;
}

/* ===========================================================================
   BUTTONS — match YOOtheme uk-button styles
   ========================================================================== */
.immomakler .uk-button {
	display: inline-block;
	font-family: "Hind", sans-serif;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.2;
	text-transform: none;
	text-decoration: none;
	border: 2px solid transparent;
	border-radius: 0;
	padding: .65rem 1.4rem;
	cursor: pointer;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.immomakler .uk-button-large {
	font-size: 19px;
	padding: .8rem 1.8rem;
}
.immomakler .uk-button-secondary {
	background: var(--im-blue-dark);
	color: #fff;
	border-color: var(--im-blue-dark);
}
.immomakler .uk-button-secondary:hover,
.immomakler .uk-button-secondary:focus {
	background: var(--im-blue);
	border-color: var(--im-blue);
	color: #fff;
}
.immomakler .uk-button-primary {
	background: var(--im-yellow);
	color: #000;
	border-color: #000;
}
.immomakler .uk-button-primary:hover,
.immomakler .uk-button-primary:focus {
	background: #efd000;
	color: #000;
	border-color: #000;
}

/* ---- responsive ---------------------------------------------------------- */
@media (max-width: 639px) {
	.immomakler-archive .property-details {
		padding: 18px 18px 22px;
	}
	.immomakler-single .im-data-row {
		grid-template-columns: 1fr;
		gap: .15rem;
	}
	.immomakler-single .im-data-list dd {
		text-align: left;
	}
	.immomakler-single .property-features ul,
	.immomakler-single .features ul {
		columns: 1;
	}
}

/* ---- homepage "Objekt finden" quick filter ------------------------------- *
 * Matches the original YOOtheme search box: transparent fields with a 2px
 * yellow outline + white text, sitting on the brand-blue hero band. The native
 * UIkit `uk-select` only draws a bottom border, so we restyle it to the boxed
 * outline of the original text inputs and keep our own dropdown chevron. */
.boekhoff-objekt-finden select.uk-select {
	height: 55px;
	padding: 10px 40px 10px 14px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: transparent;
	border: 2px solid #FFDD00 !important;
	border-radius: 0;
	color: #FFDD00 !important;
	font-size: 20px;
	line-height: 1.2;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3e%3cpolyline points='4,6 8,10 12,6' fill='none' stroke='%23FFDD00' stroke-width='1.5'/%3e%3c/svg%3e") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
}
.boekhoff-objekt-finden select.uk-select:focus {
	border-color: #fff;
	outline: none;
}
.boekhoff-objekt-finden select.uk-select option {
	color: #000;
}
.boekhoff-objekt-finden .uk-button-primary {
	height: 55px;
	font-size: 18px;
	font-weight: 500;
}

/* ---- nav mega-menu featured property tile -------------------------------- *
 * The tile is rendered by the [boekhoff-featured-property] shortcode inside a
 * YOOtheme column. With the row set to match-height the column stretches, so we
 * flatten the wrapper chain (column flex child -> text panel -> tile -> uk-tile)
 * to 100% height and drop the tile's intrinsic padding-driven gap, so the photo
 * fills the whole dropdown height like the original. Text sits white on the
 * darkened photo for both Kauf (secondary) and Miete (primary) tiles. */
.uk-navbar-dropdown .uk-grid > div:has(> .uk-panel > .boekhoff-featured-tile) {
	display: flex;
}
.uk-navbar-dropdown .uk-panel:has(> .boekhoff-featured-tile) {
	display: flex;
	width: 100%;
}
.boekhoff-featured-tile {
	width: 100%;
}
.boekhoff-featured-tile > .uk-tile {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
}
.boekhoff-featured-tile,
.boekhoff-featured-tile h2,
.boekhoff-featured-tile .el-meta,
.boekhoff-featured-tile .el-content,
.boekhoff-featured-tile .uk-button-text {
	color: #fff;
}
.boekhoff-featured-tile .uk-button-text:hover {
	color: #FFDD00;
}
