/*
 * rebuild-supplement.css
 *
 * Reconstructed rules — not part of the original stylesheet set.
 *
 * Every other file in /css/ is genuine site CSS. This file covers markup that
 * was added to the site after the last recoverable asset snapshot, whose real
 * definitions existed only inside the minify bundle that no longer exists.
 *
 * Keep any future reconstructed rules here rather than editing the recovered
 * files, so the original/rebuilt boundary stays obvious.
 */

/* ==========================================================================
   Area + service page content blocks

   These wrappers sit directly inside `.container-fluid.p-0`, so without a
   width and gutters here the copy runs edge to edge. Reconstructed to match
   the site's own Bootstrap container width and its `py-50` rhythm.

   Used by: /bay-oaks/ /brookwood/ /clear-lake-forest/ /friendswood-heritage-park/
   /greenbriar/ /kings-mill/ /magnolia-creek/ /parkwood/ /walnut-creek/
   ========================================================================== */

.unique-content,
.services-content,
.choose-us-content,
.contact-us-content {
	max-width: 1320px;
	margin-inline: auto;
	padding: 25px 15px;
}

.unique-content {
	padding-top: 50px;
}

.contact-us-content {
	padding-bottom: 50px;
}

.unique-content > *:first-child,
.services-content > *:first-child,
.choose-us-content > *:first-child,
.contact-us-content > *:first-child {
	margin-top: 0;
}

/* These headings carry inch-based inline margins from a word-processor export
   (`class="western"`, `MsoNormal`), which leaves huge gaps without this. */
.services-content h2.western,
.choose-us-content h2.western,
.contact-us-content h2.western {
	margin-top: 0.5rem !important;
}

/* ==========================================================================
   Comment form

   WordPress prints the comment block outside any `.container`, so on the pages
   that have comments open it also ran edge to edge.
   ========================================================================== */

.comments-area {
	max-width: 1320px;
	margin-inline: auto;
	padding: 25px 15px 50px;
}

.comments-area .form-submit .submit {
	display: inline-block;
	padding: 10px 24px;
	border: 0;
	border-radius: 4px;
	background: var(--primary-color);
	color: var(--white-color);
	cursor: pointer;
}

/* ==========================================================================
   Screen-reader utilities

   `.screen-reader-text` is emitted by WordPress core; the theme's own rule for
   it lived in the lost bundle. Without this, hidden labels render as visible
   stray text.
   ========================================================================== */

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus {
	position: fixed !important;
	top: 0.5rem;
	left: 0.5rem;
	z-index: 100000;
	width: auto;
	height: auto;
	padding: 0.75rem 1.25rem;
	margin: 0;
	overflow: visible;
	clip: auto;
	background: #fff;
	color: #000;
}

/* ==========================================================================
   Accessibility
   ========================================================================== */

/* The theme's green button colour rendered white text at 4.40:1, just under
   the WCAG AA 4.5:1 minimum for normal-size text. Darkened a shade to 4.83:1;
   visually all but identical. */
:root {
	--theme-color: #35804d;
}

/* The theme sets `outline: none` on .theme-btn and `* { outline: none }`,
   which leaves keyboard users with no visible focus indicator anywhere. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible,
.theme-btn:focus-visible,
.btn:focus-visible {
	outline: 3px solid #1a5fb4 !important;
	outline-offset: 2px !important;
	box-shadow: none;
}

/* ==========================================================================
   Quote request form
   ========================================================================== */

.fs-quote-form {
	max-width: 420px;
	margin: 0 auto;
	padding: 24px;
	border: 1px solid #d6d6d6;
	border-radius: 6px;
	background: #fff;
	text-align: left;
}

.fs-quote-form__intro {
	margin: 0 0 18px;
	font-size: 0.95rem;
	line-height: 1.45;
}

.fs-field {
	margin-bottom: 14px;
}

.fs-field label {
	display: block;
	margin-bottom: 4px;
	font-weight: 600;
	font-size: 0.9rem;
	color: #1c1c1c;
}

.fs-field input,
.fs-field select,
.fs-field textarea {
	display: block;
	width: 100%;
	padding: 9px 11px;
	border: 1px solid #9a9a9a;
	border-radius: 4px;
	background: #fff;
	color: #1c1c1c;
	font: inherit;
	font-size: 1rem;
}

.fs-field textarea {
	resize: vertical;
}

.fs-quote-form__submit {
	display: block;
	width: 100%;
	margin-top: 6px;
	padding: 12px 20px;
	border: 0;
	border-radius: 4px;
	background: var(--theme-color);
	color: #fff;
	font: inherit;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	cursor: pointer;
}

.fs-quote-form__submit:hover {
	background: #2b6a40;
}
