/*
Theme Name: Twenty Twenty-Four Aerials Atherstone
Theme URI: https://aerials-atherstone.co.uk/
Template: twentytwentyfour
Author: Helios Web Design
Description: Lightweight child theme for the Aerials Atherstone local service website.
Version: 1.0.0
*/

@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700;800&display=swap");

:root {
	--helios-red: #8B1E2D;
	--helios-gold: #D8A23A;
	--helios-cream: #F8F3E8;
	--helios-charcoal: #222222;
	--helios-grey: #6F6F6F;
}

html {
	scroll-behavior: smooth;
}

body {
	color: var(--helios-charcoal);
	background: #fff;
}

a {
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.18em;
}

a:focus-visible,
button:focus-visible,
.wp-block-button__link:focus-visible,
summary:focus-visible {
	outline: 3px solid var(--helios-gold);
	outline-offset: 3px;
}

body :where(h1, h2, h3, h4, h5, h6),
body .wp-block-heading {
	font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-weight: 700;
	letter-spacing: 0;
}

.wp-site-blocks {
	padding-top: 0;
	padding-bottom: 0;
}

.wp-site-blocks > header + main,
.wp-site-blocks > header + .wp-block-post-content {
	margin-block-start: 0 !important;
}

.wp-site-blocks > main + footer,
.wp-site-blocks > .wp-block-post-content + footer,
.wp-site-blocks > footer.wp-block-template-part {
	margin-block-start: 0 !important;
}

.helios-site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: #fff;
	box-shadow: 0 2px 14px rgba(34, 34, 34, 0.08);
}

.helios-top-bar {
	background: var(--helios-red);
	color: #fff;
	font-size: 1rem;
	font-weight: 600;
}

.helios-top-bar a {
	color: var(--helios-gold);
	font-size: 1.12rem;
	font-weight: 800;
	text-decoration: none;
}

.helios-header-main {
	min-height: 86px;
}

.helios-header-actions {
	align-items: center;
	display: flex;
	gap: clamp(2rem, 4vw, 4.5rem);
	justify-content: flex-end;
}

.helios-header-main .wp-block-navigation__container {
	gap: clamp(1.6rem, 3vw, 3.25rem);
}

.helios-header-main .wp-block-navigation-item__content {
	font-size: clamp(1rem, 1.35vw, 1.2rem);
	font-weight: 700;
}

.helios-header-main .wp-block-site-logo img {
	height: auto;
	max-width: min(290px, 64vw);
}

.helios-quote-button .wp-block-button__link,
.wp-block-button__link {
	border-radius: 6px;
	font-weight: 800;
}

.helios-hero .wp-block-cover__inner-container {
	max-width: 1300px;
}

.helios-hero .helios-hero-eyebrow {
	color: var(--helios-gold) !important;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 1.08rem;
	font-weight: 900;
	line-height: 1.2;
	margin-bottom: 1.8rem;
	text-transform: uppercase;
}

.helios-hero h1 {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 6.2rem;
	font-weight: 900;
	line-height: 1;
	margin-bottom: 1.25rem;
	max-width: 860px;
}

.helios-hero p {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 1.35rem;
	line-height: 1.55;
	max-width: 820px;
}

.helios-hero .wp-block-buttons {
	margin-top: 1.7rem;
}

.helios-hero .wp-block-button__link {
	font-size: 1.02rem;
	min-height: 54px;
	padding: 0.95rem 1.45rem;
}

.helios-trust-points {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin-top: 1.25rem;
	padding: 0;
	list-style: none;
}

.helios-trust-points li {
	background: rgba(255, 255, 255, 0.92);
	border-left: 4px solid var(--helios-gold);
	border-radius: 6px;
	color: var(--helios-charcoal);
	font-weight: 800;
	padding: 0.55rem 0.75rem;
}

.helios-card-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 1.5rem;
}

.helios-feature-card {
	background: #fff;
	border: 1px solid rgba(34, 34, 34, 0.1);
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(34, 34, 34, 0.06);
	padding: 1.2rem;
}

.helios-feature-card-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
}

.helios-feature-card-title {
	font-size: 1.12rem;
	line-height: 1.25;
	margin: 0;
}

.helios-feature-card-copy {
	color: var(--helios-grey);
	margin-bottom: 0;
}

.helios-feature-card-icon {
	align-items: center;
	background: var(--helios-cream);
	border-radius: 999px;
	color: var(--helios-red);
	display: inline-flex;
	flex: 0 0 auto;
	height: 42px;
	justify-content: center;
	width: 42px;
}

.helios-feature-card-icon svg {
	fill: none;
	height: 23px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
	width: 23px;
}

.helios-home-quote-form,
.helios-contact-band {
	color: #fff;
	background: var(--helios-red);
}

.helios-intro-support-image {
	margin-top: 2rem;
}

.helios-intro-support-image img {
	border-radius: 8px;
	box-shadow: 0 16px 34px rgba(34, 34, 34, 0.12);
	display: block;
	height: 540px;
	object-fit: cover;
	object-position: top center;
	width: 100%;
}

.helios-side-image-column {
	display: flex;
}

.helios-side-image-fill {
	display: flex;
	flex: 1 1 auto;
	margin: 0;
	min-height: 100%;
	width: 100%;
}

.helios-side-image-fill img {
	border-radius: 8px;
	box-shadow: 0 16px 34px rgba(34, 34, 34, 0.1);
	display: block;
	flex: 1 1 auto;
	height: 100%;
	min-height: 460px;
	object-fit: cover;
	width: 100%;
}

.helios-home-quote-form a,
.helios-contact-band a {
	color: #fff;
	font-weight: 800;
	text-decoration: underline;
}

.helios-contact-copy {
	display: grid;
	gap: 1rem;
}

.helios-contact-copy p {
	margin-bottom: 0;
}

.helios-contact-benefits {
	display: grid;
	gap: 0.65rem;
	list-style: none;
	margin: 1.25rem 0 0;
	padding: 0;
}

.helios-contact-benefits li {
	border-left: 4px solid var(--helios-gold);
	background: rgba(255, 255, 255, 0.09);
	border-radius: 6px;
	color: #fff;
	font-weight: 800;
	padding: 0.7rem 0.85rem;
}

.helios-contact-band .wpforms-container,
.helios-contact-band .wpforms-form {
	max-width: 720px;
	width: 100%;
}

.helios-contact-band .wpforms-container .wpforms-field {
	box-sizing: border-box;
	max-width: 100% !important;
	width: 100% !important;
}

.helios-contact-band .wpforms-container .wpforms-field-row {
	display: grid !important;
	gap: 1rem !important;
	grid-template-columns: 1fr !important;
	max-width: 100% !important;
	width: 100% !important;
}

.helios-contact-band .wpforms-container .wpforms-field-row-block,
.helios-contact-band .wpforms-container .wpforms-one-half,
.helios-contact-band .wpforms-container .wpforms-first {
	float: none !important;
	margin-left: 0 !important;
	max-width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: 100% !important;
}

.helios-home-quote-form label,
.helios-home-quote-form legend,
.helios-home-quote-form .wpforms-container .wpforms-field-label,
.helios-home-quote-form .wpforms-container .wpforms-field-sublabel,
.helios-home-quote-form .wpforms-container .wpforms-field-description,
.helios-home-quote-form .wpforms-container .wpforms-field-label-inline,
.helios-home-quote-form .wpforms-container .wpforms-required-label,
.helios-contact-band label,
.helios-contact-band legend,
.helios-contact-band .wpforms-container .wpforms-field-label,
.helios-contact-band .wpforms-container .wpforms-field-sublabel,
.helios-contact-band .wpforms-container .wpforms-field-description,
.helios-contact-band .wpforms-container .wpforms-field-label-inline,
.helios-contact-band .wpforms-container .wpforms-required-label {
	color: #fff !important;
}

.helios-home-quote-form .wpforms-container .wpforms-required-label,
.helios-contact-band .wpforms-container .wpforms-required-label {
	color: #ffd88a !important;
}

.helios-home-quote-form .wpforms-container .wpforms-error,
.helios-home-quote-form .wpforms-container label.wpforms-error,
.helios-contact-band .wpforms-container .wpforms-error,
.helios-contact-band .wpforms-container label.wpforms-error {
	color: #ffe1e1 !important;
}

.helios-home-quote-form input,
.helios-home-quote-form select,
.helios-home-quote-form textarea,
.helios-contact-band input,
.helios-contact-band select,
.helios-contact-band textarea {
	background: #fff;
	border: 2px solid transparent;
	border-radius: 6px;
	box-sizing: border-box;
	color: var(--helios-charcoal);
	min-height: 44px;
	max-width: 100% !important;
	width: 100% !important;
}

.helios-home-quote-form button[type="submit"],
.helios-home-quote-form .wpforms-submit,
.helios-contact-band button[type="submit"],
.helios-contact-band .wpforms-submit {
	background: var(--helios-gold) !important;
	border-radius: 6px !important;
	color: var(--helios-charcoal) !important;
	font-weight: 800 !important;
	min-height: 48px;
}

.helios-service-area-list {
	columns: 2;
	column-gap: 2rem;
	list-style: none;
	padding: 0;
}

.helios-service-area-list li {
	border-bottom: 1px solid rgba(34, 34, 34, 0.14);
	break-inside: avoid;
	padding: 0.55rem 0;
}

.helios-service-area-list a {
	color: var(--helios-charcoal);
	display: block;
	font-weight: 700;
	text-decoration: none;
}

.helios-service-area-list a:hover,
.helios-service-area-list a:focus-visible {
	color: var(--helios-red);
	text-decoration: underline;
}

.helios-home-map {
	left: 50%;
	margin-top: 2rem;
	margin-left: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	position: relative;
	transform: translateX(-50%);
	width: 100%;
	max-width: 1300px !important;
	width: min(1300px, calc(100vw - 2rem)) !important;
}

.helios-home-map iframe {
	border-radius: 8px;
	display: block;
	min-height: 430px;
	width: 100%;
}

.helios-signal-disclaimer {
	border-left: 4px solid var(--helios-gold);
	color: var(--helios-grey);
	font-size: 0.95rem;
	margin-top: 1.25rem;
	padding-left: 1rem;
}

.helios-footer-main {
	background: var(--helios-charcoal);
	color: #fff;
}

.helios-footer-main a {
	color: #fff;
}

.helios-footer-logo img {
	height: auto;
	max-width: min(340px, 100%);
}

.helios-whatsapp-button {
	background: #128C7E;
	border-radius: 6px;
	color: #fff;
	display: inline-block;
	font-weight: 800;
	padding: 0.75rem 1rem;
	text-decoration: none;
}

.wp-block-details {
	border-bottom: 1px solid rgba(34, 34, 34, 0.14);
	padding: 0.85rem 0;
}

.wp-block-details summary {
	cursor: pointer;
	font-weight: 800;
}

.wp-block-media-text__media img,
.wp-block-image img,
.wp-block-cover img {
	border-radius: 8px;
}

.wp-block-cover img {
	border-radius: 0;
}

@media (max-width: 900px) {
	.helios-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.helios-hero h1 {
		font-size: 4.7rem;
		max-width: 700px;
	}

	.helios-hero p {
		font-size: 1.2rem;
	}

	.helios-header-main {
		min-height: 72px;
	}

	.helios-header-actions {
		gap: 1.25rem;
		justify-content: center;
		width: 100%;
	}
}

@media (max-width: 680px) {
	.helios-top-bar .wp-block-group {
		justify-content: center !important;
		text-align: center;
	}

	.helios-card-grid,
	.helios-service-area-list {
		columns: 1;
		grid-template-columns: 1fr;
	}

	.helios-trust-points {
		display: grid;
		grid-template-columns: 1fr;
	}

	.helios-feature-card {
		padding: 1rem;
	}

	.helios-intro-support-image img {
		height: 320px;
	}

	.helios-side-image-fill img {
		min-height: 260px;
	}

	.helios-hero h1 {
		font-size: 3.2rem;
	}

	.helios-hero p {
		font-size: 1.08rem;
	}

	.helios-hero .helios-hero-eyebrow {
		font-size: 0.92rem;
		margin-bottom: 1rem;
	}

	.helios-hero .wp-block-button__link {
		min-height: 48px;
		padding: 0.8rem 1rem;
	}
}
