/**
 * Pacific ADU Builders — homepage sections (loaded on front page only)
 * Sections map 1:1 to template-parts/home/*.php
 */

/* ---------- HERO ---------- */
.pab-hero { position: relative; color: #fff; overflow: hidden; }
.pab-hero__bg { position: absolute; inset: 0; z-index: 0; }
.pab-hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.pab-hero__bg::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(90deg, rgba(30,34,28,.82) 0%, rgba(30,34,28,.55) 45%, rgba(30,34,28,.15) 100%);
}
.pab-hero__inner { position: relative; z-index: 1; padding-block: clamp(4rem, 8vw, 7.5rem); }
.pab-hero__content { max-width: 620px; }
.pab-hero h1 { color: #fff; font-size: var(--pab-h1); margin-bottom: 1.25rem; }
.pab-hero__sub { color: rgba(255,255,255,.88); font-size: var(--pab-body-xl); max-width: 30rem; margin-bottom: 2rem; }
.pab-hero__buttons { display: flex; flex-wrap: wrap; gap: .875rem; }
.pab-btn--on-dark { color: #fff; border-color: rgba(255,255,255,.55); }
.pab-btn--on-dark:hover { color: var(--pab-green); background: #fff; border-color: #fff; }
@media (max-width: 560px) { .pab-hero__buttons .pab-btn { width: 100%; } }

/* ---------- WHY CHOOSE US ---------- */
.pab-why__head { text-align: center; margin-bottom: 2.5rem; }
.pab-feature-card { background: #fff; border: 1px solid var(--pab-border); border-radius: var(--pab-radius-lg); padding: 1.75rem; transition: box-shadow var(--pab-transition), transform var(--pab-transition); }
.pab-feature-card:hover { box-shadow: var(--pab-shadow); transform: translateY(-2px); }
.pab-feature-card h3 { font-family: var(--pab-font-sans); font-weight: 600; font-size: 1rem; margin-bottom: .5rem; }
.pab-feature-card p { font-size: var(--pab-body-sm); line-height: 1.55; }

/* ---------- REVIEWS ---------- */
.pab-reviews__head { margin-bottom: 2.5rem; }
.pab-stars-row { display: flex; align-items: center; gap: .75rem; margin-bottom: .75rem; }
.pab-stars { color: #E0A93B; letter-spacing: 2px; font-size: 1.125rem; }
.pab-stars-meta { font-size: var(--pab-body-sm); color: var(--pab-text-secondary); }
.pab-review-card { background: var(--pab-review-bg); border: 1px solid var(--pab-border); border-radius: var(--pab-radius-lg); padding: 2rem; display: flex; flex-direction: column; gap: 1.5rem; }
.pab-review-card__quote-mark { display: inline-flex; }
.pab-review-card__quote-mark svg { width: 42px; height: 42px; }
.pab-review-card__text { font-size: var(--pab-body); line-height: 1.6; color: var(--pab-text); }
.pab-review-card__meta { margin-top: auto; }
.pab-review-card__name { font-weight: 600; font-size: var(--pab-body-sm); color: var(--pab-text); }
.pab-review-card__loc { font-size: 0.8125rem; color: var(--pab-text-secondary); }
.pab-review-card__loc a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.pab-review-card__loc a:hover { color: var(--pab-green); }

/* ---------- PROCESS ---------- */
.pab-process__head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 2.5rem; }
.pab-process__total { font-size: var(--pab-body-sm); color: var(--pab-text-secondary); }
.pab-process__total b { color: var(--pab-text); }
.pab-process__grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1rem; }
.pab-step { background: #fff; border: 1px solid var(--pab-border); border-radius: var(--pab-radius-lg); padding: 1.5rem 1.25rem; display: flex; flex-direction: column; }
.pab-step__num { font-family: var(--pab-font-serif); font-size: 1.875rem; color: var(--pab-green); line-height: 1; margin-bottom: 1rem; }
.pab-step__title { font-family: var(--pab-font-sans); font-weight: 600; font-size: 0.9375rem; margin-bottom: .625rem; }
.pab-step__badge { align-self: flex-start; font-size: 0.75rem; font-weight: 500; color: #fff; background: var(--pab-green-light); border-radius: var(--pab-radius-pill); padding: .3125rem .625rem; margin-bottom: 1rem; }
.pab-step__desc { font-size: 0.8125rem; line-height: 1.5; color: var(--pab-muted); margin-bottom: 1rem; }
.pab-step__receive { font-size: 0.8125rem; font-weight: 500; line-height: 1.5; color: var(--pab-green); padding-top: 1rem; border-top: 1px solid var(--pab-border); margin-top: auto; }
.pab-step--highlight { background: var(--pab-green); border-color: var(--pab-green); }
.pab-step--highlight .pab-step__num, .pab-step--highlight .pab-step__title { color: #fff; }
.pab-step--highlight .pab-step__desc { color: rgba(255,255,255,.75); }
.pab-step--highlight .pab-step__receive { color: rgba(255,255,255,.9); border-top-color: rgba(255,255,255,.2); }
@media (max-width: 1080px) { .pab-process__grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 720px) { .pab-process__grid { grid-template-columns: 1fr; } }

