/* G Willard Construction: area pages for Tenterden, Hawkhurst and Crowborough (8 Oct 2026).
   Loaded only by those three pages, after style.css. Built from the theme's own pieces
   (Italiana headings, Lato text, white rows, white bordered dark boxes, the silver call band). */

.gw-area h1,
.gw-area h2,
.gw-area h3 {
	text-wrap: balance;
}

/* banner: the H1 plus one short line under it */
.gw-area .home-parallax h1 {
	margin-bottom: 12px;
}

.gw-banner-sub {
	text-wrap: balance;
	max-width: 760px;
	margin: 0 auto;
	font-size: 19px;
	line-height: 29px;
	color: #000;
	text-shadow: 0 0 10px rgba(255, 255, 255, 0.95), 0 0 3px rgba(255, 255, 255, 0.9);
}

/* body links, the same bold underline the site already uses */
.gw-area a.gw-link {
	font-weight: 700;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

/* every photo the same shape, so rows line up */
.gw-photo {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

/* buttons */
.gw-actions,
.gw-cta-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 16px;
	margin-top: 26px;
}

.gw-cta-actions {
	justify-content: center;
}

.gw-actions .about_btn,
.gw-cta-actions .about_btn2 {
	margin-top: 0;
	padding: 14px 34px;
}

.gw-cta-text {
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
	font-family: 'Italiana';
	font-size: 30px;
	line-height: 40px;
}

/* lists inside rows */
.gw-list li {
	padding-bottom: 8px;
}

.gw-area .list2.text-black li {
	color: #000;
}

/* at a glance */
.gw-facts {
	margin: 22px 0 0;
	border-top: 1px solid rgba(0, 0, 0, 0.16);
}

.gw-fact {
	display: grid;
	grid-template-columns: 190px 1fr;
	gap: 4px 22px;
	padding: 11px 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.16);
}

.gw-fact dt {
	font-weight: 700;
	font-size: 13px;
	line-height: 24px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #000;
}

.gw-fact dd {
	margin: 0;
	color: #000;
	line-height: 24px;
}

/* services: the site's white bordered boxes in an even grid */
.gw-lead {
	max-width: 900px;
	margin-bottom: 30px;
}

.gw-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 26px;
}

.gw-cards .gw-card {
	height: 100%;
}

.gw-card h3 {
	font-size: 28px;
	line-height: 34px;
	margin-bottom: 12px;
}

/* villages and postcodes: hairline rows in columns */
.gw-villages {
	columns: 3;
	column-gap: 48px;
	margin: 6px 0 0;
	padding: 0;
	list-style: none;
}

.gw-villages li {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 10px 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.16);
	color: #000;
	break-inside: avoid;
}

.gw-villages li span:last-child {
	font-weight: 700;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.gw-note {
	margin: 20px 0 0;
}

/* why choose us */
.gw-points {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 30px 56px;
}

.gw-point {
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, 0.45);
}

.gw-point h3 {
	font-size: 28px;
	line-height: 34px;
	margin-bottom: 10px;
}

/* FAQ drop downs: heading on the left, questions on the right */
.gw-faq-head {
	position: sticky;
	top: 130px;
	padding-right: 24px;
}

.gw-faq-list {
	border-top: 1px solid rgba(0, 0, 0, 0.18);
	margin-top: 8px;
}

.gw-faq-item {
	border-bottom: 1px solid rgba(0, 0, 0, 0.18);
}

.gw-faq-item h3 {
	margin: 0;
	font-family: 'Lato';
	font-size: 18px;
	line-height: 27px;
}

.gw-faq-item button {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
	width: 100%;
	padding: 17px 0;
	border: 0;
	background: none;
	color: #000;
	font: inherit;
	font-weight: 700;
	text-align: left;
	cursor: pointer;
}

.gw-faq-item button::after {
	content: '+';
	flex: 0 0 auto;
	font-weight: 300;
	font-size: 30px;
	line-height: 26px;
}

.gw-faq-item button[aria-expanded="true"]::after {
	content: '\2212';
}

.gw-faq-item button:focus-visible {
	outline: 2px solid #000;
	outline-offset: 4px;
}

.gw-faq-a {
	padding: 0 48px 20px 0;
	color: #000;
}

.gw-faq-a p {
	margin: 0;
}

@media (max-width: 1199px) {
	.gw-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 991px) {
	.gw-faq-head {
		position: static;
		padding-right: 0;
		margin-bottom: 10px;
	}

	.gw-villages {
		columns: 2;
	}
}

@media (max-width: 767px) {
	.gw-banner-sub {
		font-size: 15px;
		line-height: 22px;
	}

	.gw-points {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 575px) {
	.gw-cta-text {
		font-size: 26px;
		line-height: 36px;
	}

	.gw-cards {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
	}

	.gw-card h3,
	.gw-point h3 {
		font-size: 24px;
		line-height: 30px;
	}

	.gw-villages {
		columns: 1;
	}

	.gw-fact {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
	}

	.gw-actions .about_btn,
	.gw-cta-actions .about_btn2 {
		width: 100%;
		text-align: center;
	}

	.gw-faq-a {
		padding-right: 0;
	}
}
