/* EKBC Site Fixes — global sections.
   Palette sampled from the live Inverna build: #00194C navy, #C2481B burnt orange. */

/* Section 10 — no phone contact.
   The Inverna off-canvas menu template prints a "Call us:" label and an empty
   <a href="tel:"> on every page even when no number is configured, because the
   markup is hard-coded in the theme rather than driven by the setting. The company
   takes enquiries through the quote form, so the whole row goes. Editing the theme
   template instead would be lost on the next Inverna update. */
.information-menu-mobile li:has(a[href="tel:"]),
.information-menu-mobile li:has(a[href^="tel:"]:empty),
.group-infor-header li:has(a[href="tel:"]) {
	display: none;
}

.ekbc-quote {
	--ekbc-navy: #00194c;
	--ekbc-orange: #c2481b;
	--ekbc-ink: #10192e;
	--ekbc-muted: #5b6577;
	--ekbc-line: rgba(0, 25, 76, 0.12);

	margin: 0 0 3.5rem;
	padding: clamp(2rem, 4vw, 3.25rem) clamp(1.1rem, 4vw, 3rem);
	border-radius: 18px;
	background: #f4f6fa;
	scroll-margin-top: 120px;
}

.ekbc-quote--hero {
	margin-top: clamp(1.5rem, 3vw, 2.5rem);
}

.ekbc-quote--deep {
	background: var(--ekbc-navy);
	color: #fff;
}

.ekbc-quote__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
	gap: clamp(1.5rem, 4vw, 3.5rem);
	align-items: start;
	max-width: 1140px;
	margin: 0 auto;
}

@media (max-width: 900px) {
	.ekbc-quote__inner {
		grid-template-columns: minmax(0, 1fr);
	}
}

.ekbc-quote__eyebrow {
	margin: 0 0 0.5rem;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ekbc-orange);
}

.ekbc-quote--deep .ekbc-quote__eyebrow {
	color: #ff8d5e;
}

.ekbc-quote__heading {
	margin: 0 0 0.75rem;
	font-size: clamp(1.5rem, 2.6vw, 2.1rem);
	line-height: 1.18;
	letter-spacing: -0.015em;
	color: var(--ekbc-navy);
}

.ekbc-quote--deep .ekbc-quote__heading {
	color: #fff;
}

.ekbc-quote__sub {
	margin: 0 0 1.25rem;
	font-size: 1rem;
	line-height: 1.65;
	color: var(--ekbc-muted);
}

.ekbc-quote--deep .ekbc-quote__sub {
	color: rgba(255, 255, 255, 0.76);
}

.ekbc-quote__points {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.6rem;
}

.ekbc-quote__points li {
	position: relative;
	padding-left: 1.85rem;
	font-size: 0.95rem;
	line-height: 1.5;
	color: var(--ekbc-ink);
}

.ekbc-quote--deep .ekbc-quote__points li {
	color: rgba(255, 255, 255, 0.9);
}

.ekbc-quote__points li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.28em;
	width: 1.1rem;
	height: 1.1rem;
	border-radius: 50%;
	background: var(--ekbc-orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.4l3 3 6-6.8'/%3E%3C/svg%3E") center / 0.7rem no-repeat;
}

/* The form itself — Contact Form 7 output, restyled to sit in the panel. */
.ekbc-quote__form {
	padding: clamp(1.15rem, 2.5vw, 1.9rem);
	border-radius: 14px;
	background: #fff;
	border: 1px solid var(--ekbc-line);
	box-shadow: 0 24px 48px -34px rgba(0, 25, 76, 0.55);
}

.ekbc-quote__form label {
	display: block;
	margin-bottom: 0.85rem;
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	color: var(--ekbc-navy);
}

.ekbc-quote__form input[type="text"],
.ekbc-quote__form input[type="tel"],
.ekbc-quote__form input[type="email"],
.ekbc-quote__form select,
.ekbc-quote__form textarea {
	width: 100%;
	margin-top: 0.35rem;
	padding: 0.8rem 0.95rem;
	font-size: 1rem; /* 16px keeps iOS from zooming on focus */
	font-family: inherit;
	color: var(--ekbc-ink);
	background: #fff;
	border: 1px solid var(--ekbc-line);
	border-radius: 9px;
	transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.ekbc-quote__form textarea {
	min-height: 104px;
	resize: vertical;
}

.ekbc-quote__form input:focus,
.ekbc-quote__form select:focus,
.ekbc-quote__form textarea:focus {
	outline: none;
	border-color: var(--ekbc-orange);
	box-shadow: 0 0 0 3px rgba(194, 72, 27, 0.16);
}

.ekbc-quote__form input[type="submit"] {
	width: 100%;
	margin-top: 0.35rem;
	padding: 1rem 1.5rem;
	font-size: 1rem;
	font-weight: 700;
	color: #fff;
	background: var(--ekbc-orange);
	border: 0;
	border-radius: 50px;
	cursor: pointer;
	transition: filter 0.2s ease, transform 0.2s ease;
}

.ekbc-quote__form input[type="submit"]:hover {
	filter: brightness(1.08);
	transform: translateY(-1px);
}

.ekbc-quote__form input[type="submit"]:focus-visible {
	outline: 3px solid var(--ekbc-navy);
	outline-offset: 2px;
}

/* CF7 validation and response messages */
.ekbc-quote__form .wpcf7-not-valid-tip {
	margin-top: 0.3rem;
	font-size: 0.82rem;
	color: #c0392b;
}

.ekbc-quote__form .wpcf7-response-output {
	margin: 1rem 0 0;
	padding: 0.85rem 1rem;
	font-size: 0.9rem;
	line-height: 1.5;
	border-radius: 9px;
	border-width: 1px;
}

.ekbc-quote__form .wpcf7-spinner {
	display: block;
	margin: 0.75rem auto 0;
}

/* Keep the sticky CTA from covering the last field on small screens. */
@media (max-width: 781px) {
	.ekbc-quote {
		padding-bottom: 5.5rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ekbc-quote__form input[type="submit"] {
		transition: none;
	}
}
