/* ==========================================================================
   WENDE Makelaardij — Design tokens & shared styles
   Source: Figma file pcpAVuNZtp6AW13XW9q8qc ("wendemakelaardij-Designs")
   ========================================================================== */
:root {
	/* Colors — warm, earthy "quiet luxury" palette */
	--color-bg: #fff8f3;
	--color-bg-alt: #f8ecde;
	--color-bg-soft: #f3ece3;
	--color-bg-soft-2: #efe6da;
	--color-bg-soft-3: #fef2e3;
	--color-olive-dark: #525733;
	--color-olive: #6a6f49;
	--color-olive-2: #6b704a;
	--color-accent: #e07a5f;
	--color-accent-2: #e07b60;
	--color-text: #201b12;
	--color-text-body: #47473d;
	--color-text-muted: #78786c;
	--color-white: #ffffff;
	--color-border: #e5e7eb;
	/* Typography */
	--font-sans: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--font-serif: 'Playfair Display', Georgia, serif;
	--font-serif-alt: 'DM Serif Text', Georgia, serif;
	/* Layout */
	--container-max: 1280px;
	--container-pad: 80px;
	--radius-sm: 4px;
	--radius-md: 8px;
	--radius-lg: 12px;
	--radius-xl: 16px;
	--shadow-card: 0px 40px 80px -20px rgba(106, 111, 73, 0.15);
}
/* ---------- Reset ---------- */
*,
*::before,
*::after {
	box-sizing: border-box;
}
html {
	scroll-behavior: smooth;
}
body {
	margin: 0;
	background: var(--color-bg);
	color: var(--color-text-body);
	font-family: var(--font-sans);
	font-size: 16px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}
img {
	max-width: 100%;
	display: block;
}
a {
	color: inherit;
	text-decoration: none;
}
button {
	font: inherit;
	cursor: pointer;
	border: none;
	background: none;
}
ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
h1,
h2,
h3,
h4,
p {
	margin: 0;
}
.container {
	max-width: var(--container-max);
	margin: 0 auto;
	padding-left: var(--container-pad);
	padding-right: var(--container-pad);
}
@media (max-width: 900px) {
	.container {
		padding-left: 20px;
		padding-right: 20px;
	}
}
/* ---------- Type scale ---------- */
body section .eyebrow {
	font-family: var(--font-sans);
	font-weight: 500;
	font-size: 12px;
	line-height: 20px;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: var(--color-accent);
}
h1,
.h1 {
	font-family: var(--font-serif);
	font-weight: 700;
	font-size: 56px;
	line-height: 1.15;
	color: var(--color-text);
}
h2,
.h2 {
	font-family: var(--font-serif);
	font-weight: 600;
	font-size: 40px;
	line-height: 1.2;
	color: var(--color-text);
}
h3,
.h3 {
	font-family: var(--font-serif);
	font-weight: 600;
	font-size: 24px;
	line-height: 1.3;
	color: var(--color-text);
}
h4,
.h4 {
	font-family: var(--font-sans);
	font-weight: 400;
	font-size: 14px;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.75);
}
@media (max-width: 700px) {
	h1,
	.h1 {
		font-size: 28px !important;
		line-height: 1.4 !important;
	}
	h2,
	.h2 {
		font-size: 30px !important;
		line-height: 1.4 !important;
	}
}
/* ---------- Buttons ---------- */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 21px 40px;
	min-width: 220px;
	border-radius: var(--radius-lg);
	font-family: var(--font-sans);
	font-weight: 600;
	font-size: 14px;
	letter-spacing: 0.7px;
	text-align: center;
	box-shadow: var(--shadow-card);
	transition: opacity 0.15s ease, transform 0.15s ease;
}
.btn:hover {
	opacity: 0.92;
}
.btn-primary {
	background: var(--color-accent);
	color: var(--color-white);
}
.btn-sm {
	padding: 12px 24px;
	min-width: 0;
}
.btn-link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-weight: 500;
	font-size: 14px;
	color: var(--color-text);
	box-shadow: none;
	min-width: 0;
	padding: 0;
}
/* ==========================================================================
   Site Header / TopNavBar
   ========================================================================== */
.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: #fff;
	backdrop-filter: blur(6px);
	border-bottom: 1px solid var(--color-border);
}
.site-header .container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 7px;
	padding-bottom: 7px;
	padding-left: 40px;
	padding-right: 40px;
}
.site-header__logo img {
	width: 91px;
	height: 91px;
	object-fit: contain;
}
.nav-links {
	display: flex;
	align-items: center;
	gap: 32px;
}
.nav-links a {
	font-family: var(--font-sans);
	font-weight: 500;
	font-size: 14px;
	letter-spacing: 0.7px;
	color: var(--color-text-body);
	white-space: nowrap;
}
.nav-links a:hover {
	color: var(--color-accent);
}
.nav-toggle {
	display: none;
}
header.site-header > .container > nav > a.btn {
	display: none;
}
section.insights-hero.error-page {
    max-width: 1160px;
    margin: auto;
    padding: 80px 20px;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 24px;
}
@media (max-width: 1200px) {
	.nav-links {
		display: none;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
		background: var(--color-white);
		border-bottom: 1px solid var(--color-border);
		padding: 8px 24px 24px;
	}
	.nav-links.is-open {
		display: flex;
	}
	.nav-links a {
		padding: 12px 0;
		width: 100%;
	}
	.nav-links .btn {
		margin-top: 8px;
		width: 100%;
	}
	.nav-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		height: 40px;
		z-index: 999;
	}
	.nav-toggle span,
	.nav-toggle span::before,
	.nav-toggle span::after {
		content: '';
		display: block;
		width: 22px;
		height: 2px;
		background: var(--color-text);
		position: relative;
		transition: transform 0.15s ease;
	}
	.nav-toggle span::before {
		position: absolute;
		top: -7px;
	}
	.nav-toggle span::after {
		position: absolute;
		top: 7px;
	}
	.site-header .container {
		gap: 12px;
		justify-content: end;
	}
	header.site-header > .container > a.btn {
		padding: 8px 12px;
	}
	a.custom-logo-link {
		flex: 1;
	}
	button#navToggle {
		order: 2;
	}
	header.site-header > .container > nav > a.btn {
		display: inline-block;
		padding-left: 20px;
		padding-right: 20px;
		width: auto;
		margin-top: 40px;
	}
	.nav-links {
		padding: 32px;
	}
	nav#navLinks a.custom-logo-link {
		display: block !important;
	}
}
/* ==========================================================================
   Site Footer
   ========================================================================== */
.site-footer {
	background: var(--color-olive-dark);
	border-top: 1px solid var(--color-olive-2);
	padding: 80px 40px;
	color: var(--color-white);
}
.site-footer .footer-inner {
	max-width: 1152px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	align-items: flex-start;
	justify-content: center;
}
.footer-brand {
	flex: 1 1 240px;
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.footer-brand img {
	width: 91px;
	height: 91px;
	object-fit: contain;
}
.footer-tagline {
	font-family: var(--font-sans);
	font-weight: 700;
	font-size: 14px;
	color: rgba(255, 248, 243, 0.8);
}
.footer-copy {
	font-family: var(--font-sans);
	font-size: 12px;
	color: rgba(255, 248, 243, 0.7);
}
.footer-col {
	flex: 0 0 185px;
	padding-bottom: 56px;
}
.footer-col h4 {
	padding-bottom: 8px;
}
.footer-col ul {
	display: flex;
	flex-direction: column;
}
.footer-col li {
	padding-top: 12px;
}
.footer-col a {
	font-family: var(--font-sans);
	font-weight: 500;
	font-size: 12px;
	color: var(--color-white);
}
.footer-col a:hover {
	color: var(--color-accent);
}
.footer-contact {
	flex: 1 1 220px;
	padding-bottom: 56px;
}
.footer-contact .contact-line {
	display: flex;
	align-items: center;
	gap: 8px;
	padding-top: 12px;
	font-family: var(--font-sans);
	font-weight: 500;
	font-size: 12px;
}
.footer-contact .contact-line img {
	width: 16px;
	height: 16px;
}
.footer-contact .contact-line a.underline {
	text-decoration: underline;
  word-wrap: anywhere;
}
.footer-social {
	display: flex;
	gap: 8px;
	padding-top: 16px;
}
.footer-social a {
	width: 24px;
	height: 24px;
	background: var(--color-white);
	border-radius: var(--radius-sm);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 4px;
}
.footer-social img {
	width: 16px;
	height: 16px;
}
nav#navLinks a.custom-logo-link {
	display: none;
}
.exprop-search-btn:hover{
  border: 1px solid #E07A5F;
  color: #E07A5F;
}
@media (max-width: 900px) {
	.site-footer {
		padding: 48px 20px 40px;
	} 
	.site-footer .footer-inner {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
	}
	.footer-col,
	.footer-contact {
		padding-bottom: 0px;
		flex: auto;
	}
	.nav-toggle {
		width: auto;
		padding: 0;
	}
	.contact-form-card input[type="text"], .contact-form-card input[type="email"], .contact-form-card input[type="tel"], .contact-form-card textarea {
    padding: 12px 14px !important;
    font-size: 12px !important;
}
.contact-form-card .form-field {
    margin-bottom: 6px !important;
}
.contact-form-card .form-row .form-field {
    margin-bottom: 6px !important;
}
.contact-form-card .form-row {
    margin-bottom: 4px !important;
}
.contact-form-card textarea{
	height: 80px !important;
}
}
@media (max-width: 767px) {
	.about-copy .about-phone-label{
		text-align: center;
	}
	.about-copy p.about-phone{
		    text-align: center;
	}
}
@media (max-width: 500px) {
	.site-footer .footer-inner {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 32px 16px;
	}
	.footer-brand {
		grid-column: span 2;
	}
	a.custom-logo-link img {
		max-width: 48px;
	}
	.nav-links.is-open a.custom-logo-link img {
		width: 91px;
		max-width: 91px;
	}
	.nav-links.is-open a.custom-logo-link {
		padding: 0;
		margin-bottom: 40px;
	}
	header.site-header > .container > a.btn {
		padding: 8px 12px;
		font-size: 12px;
		line-height: 2;
		letter-spacing: 0.7px;
		font-weight: 600;
		border-radius: 8px;
	}
  .footer-inner > div {
    min-width: 50%;
}
}
