.voll-postcodecheck {
	width: 100%;
	max-width: var(--voll-width, 900px);
	padding: 0;
	background: var(--voll-bg, #EAE9E4);
	font-family: "Sora", Sans-serif;
	color: var(--voll-text, #292929);
}
.voll-postcodecheck, .voll-postcodecheck * { box-sizing: border-box; }
.voll-intro-title {
	margin: 0 0 7px;
	font-family: "Sora", Sans-serif;
	font-size: 28px;
	line-height: 1.25;
	font-weight: 700;
	color: var(--voll-text, #292929);
}
.voll-intro-text {
	margin: 0 0 27px;
	font-family: "Sora", Sans-serif;
	font-size: 18px;
	line-height: 1.55;
	font-weight: 400;
	color: var(--voll-muted, #55504C);
	max-width: 850px;
}
.voll-postcode-label {
	display: block;
	margin: 0 0 9px;
	font-family: "Sora", Sans-serif;
	font-size: 18px;
	line-height: 1.4;
	font-weight: 400;
	color: var(--voll-text, #292929);
}
.voll-postcode-row {
	display: flex;
	align-items: stretch;
	gap: 9px;
}
.voll-postcode-input {
	width: 100%;
	height: 67px;
	min-width: 0;
	padding: 0 24px;
	border: 1px solid #777;
	outline: none;
	border-radius: 5px;
	background: var(--voll-input, #FFFFFF);
	font-family: "Sora", Sans-serif;
	font-size: 22px;
	font-weight: 400;
	color: var(--voll-text, #292929);
	box-shadow: none;
}
.voll-postcode-input:focus {
	outline: none;
	border-color: var(--voll-primary, #DB652B);
	box-shadow: 0 0 0 2px rgba(219,101,43,.15);
}
.voll-postcode-button, .voll-result-button {
	border: 0;
	border-radius: 5px;
	background: var(--voll-primary, #DB652B);
	color: #fff;
	font-family: "Sora", Sans-serif;
	font-size: 17px;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
	transition: background .15s ease, transform .1s ease;
}
.voll-postcode-button {
	width: 264px;
	height: 67px;
	flex: 0 0 264px;
}
.voll-postcode-button:hover, .voll-result-button:hover {
	background: var(--voll-hover, #C85823);
	color: #fff;
}
.voll-postcode-button:active, .voll-result-button:active { transform: translateY(1px); }
.voll-postcode-button:disabled { opacity: .65; cursor: wait; }
.voll-error {
	margin-top: 8px;
	font-family: "Sora", Sans-serif;
	font-size: 15px;
	line-height: 1.4;
	color: var(--voll-error, #B94C20);
}
.voll-error[hidden] { display: none !important; }

/* There is deliberately no result card in the initial HTML.
   This rule is an extra safeguard if another script adds [hidden]. */
.voll-result[hidden] { display: none !important; }

.voll-result {
	width: 100%;
	min-height: 152px;
	margin-top: 28px;
	padding: 30px;
	display: flex;
	align-items: flex-start;
	background: var(--voll-card, #FFFFFF);
	border-radius: var(--voll-radius, 8px);
}
.voll-result-icon {
	flex: 0 0 52px;
	width: 52px;
	height: 52px;
	margin-right: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--voll-icon, #FAF7F3);
	color: var(--voll-primary, #DB652B);
	font-family: "Sora", Sans-serif;
	font-size: 30px;
	line-height: 1;
}
.voll-result-content { flex: 1; min-width: 0; }
.voll-result-title {
	margin: 0;
	font-family: "Sora", Sans-serif;
	font-size: 21px;
	line-height: 1.35;
	font-weight: 700;
	color: var(--voll-text, #292929);
}
.voll-result-text {
	margin: 8px 0 0;
	font-family: "Sora", Sans-serif;
	font-size: 15px;
	line-height: 1.55;
	font-weight: 400;
	color: var(--voll-muted, #55504C);
}
.voll-result-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	margin-top: 15px;
	padding: 0 18px;
}
@media (max-width: 700px) {
	.voll-intro-title { font-size: 24px; }
	.voll-intro-text { font-size: 16px; margin-bottom: 20px; }
	.voll-postcode-label { font-size: 16px; }
	.voll-postcode-row { flex-direction: column; }
	.voll-postcode-input { height: 56px; font-size: 18px; }
	.voll-postcode-button { width: 100%; height: 56px; flex-basis: 56px; }
	.voll-result { padding: 20px; }
}

.voll-contact-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 15px;
}
.voll-contact-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 18px;
	border-radius: 5px;
	background: var(--voll-primary, #DB652B);
	color: #fff !important;
	font-family: "Sora", Sans-serif;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none !important;
	transition: background .15s ease, transform .1s ease;
}
.voll-contact-link:hover {
	background: var(--voll-hover, #C85823);
	color: #fff !important;
}
@media (max-width: 700px) {
	.voll-contact-links { flex-direction: column; align-items: stretch; }
	.voll-contact-link { width: 100%; }
}


/* Explicit contact-link styling; prevents Elementor/theme rules from collapsing the labels. */
.voll-postcodecheck .voll-contact-links {
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	margin-top: 15px !important;
}
.voll-postcodecheck .voll-contact-link {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	min-width: 0 !important;
	min-height: 42px !important;
	height: 42px !important;
	padding: 0 18px !important;
	margin: 0 !important;
	background: var(--voll-primary, #DB652B) !important;
	color: #fff !important;
	font-family: "Sora", Sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	text-align: center !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	border: 0 !important;
	border-radius: 5px !important;
	opacity: 1 !important;
	visibility: visible !important;
}
.voll-postcodecheck .voll-contact-link:hover,
.voll-postcodecheck .voll-contact-link:focus {
	background: var(--voll-hover, #C85823) !important;
	color: #fff !important;
}
