/* Inquire-formulier popup — mobile-first, responsive */
html, body {
	margin: 0;
	padding: 0;
	background: #ffffff;
	overflow-x: hidden;
	min-height: 100vh;
}
body {
	font-family: 'Montserrat', sans-serif;
	padding: 20px;
	color: #333;
	font-size: 14px;
	line-height: 1.5;
}

h1, h2, h3 {
	font-family: 'Montserrat', sans-serif;
	font-weight: 500;
	color: #002F6D;
	margin-top: 0;
}

/* Neutralize Bootstrap form-horizontal grid — stack labels above inputs */
.form-horizontal .form-group {
	margin-left: 0;
	margin-right: 0;
}
.form-group {
	margin-bottom: 16px;
}
.form-group .control-label,
.form-group [class*="col-lg-"],
.form-group [class*="col-md-"],
.form-group [class*="col-sm-"] {
	width: 100%;
	float: none;
	padding-left: 0;
	padding-right: 0;
	text-align: left;
}
.form-group label {
	display: block;
	width: auto;
	margin-bottom: 6px;
	padding-top: 0;
	font-size: 13px;
	font-weight: 500;
	color: #555;
	float: none;
}
.form-group .required { color: #DC1C2E; }

.form-group input[type="text"],
.form-group input[type="email"],
.form-group input[type="tel"],
.form-group textarea,
.form-group select,
.form-group .form-control {
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	height: auto;
	padding: 10px 12px;
	font-family: inherit;
	font-size: 15px;
	color: #333;
	border: 1px solid #ccc;
	border-radius: 4px;
	background: #fff;
	transition: border-color 150ms;
	-webkit-appearance: none;
}
.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus,
.form-group .form-control:focus {
	outline: none;
	border-color: #002F6D;
	box-shadow: 0 0 0 2px rgba(0,47,109,0.15);
}
.form-group textarea { min-height: 100px; resize: vertical; }

/* Honeypot stays hidden */
.form-group.fax { display: none; }

/* Hide empty placeholder label before submit button */
.form-group:has(> div > button[type="submit"]) > label,
.form-group:has(> button[type="submit"]) > label { display: none; }

/* Submit button — RE/MAX donkere blauw */
.btn-primary,
button[type="submit"],
input[type="submit"] {
	display: inline-block;
	width: 100%;
	padding: 14px 20px;
	background: #002F6D;
	color: #fff;
	border: 0;
	border-radius: 4px;
	font-family: inherit;
	font-size: 15px;
	font-weight: 500;
	cursor: pointer;
	min-height: 48px;
	transition: background 150ms;
}
.btn-primary:hover,
.btn-primary:focus,
button[type="submit"]:hover,
button[type="submit"]:focus {
	background: #001F4D;
	color: #fff;
	outline: none;
}

/* Alerts */
.alert {
	padding: 12px 14px;
	margin-bottom: 16px;
	border-radius: 4px;
	font-size: 14px;
}
.alert-danger {
	background: #fdebed;
	color: #DC1C2E;
	border-left: 3px solid #DC1C2E;
}
.alert-success {
	background: #e8f4e8;
	color: #2c7a2c;
	border-left: 3px solid #2c7a2c;
}
.alert .close {
	float: right;
	background: transparent;
	border: 0;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	color: inherit;
	opacity: 0.6;
}
.alert .close:hover { opacity: 1; }

/* Wider viewport: cap width and center */
@media (min-width: 600px) {
	body {
		max-width: 540px;
		margin: 30px auto;
		padding: 30px;
	}
}
