/* Summit Comfort HVAC demo: styles for Divi 5 sections built by build-pages.php.
   Brand colors come from --brand-primary / --brand-secondary (set in functions.php). */

:root {
	--hvac-ink: #0f172a;
	--hvac-muted: #475569;
	--hvac-line: #e2e8f0;
	--hvac-soft: #f4f7fb;
	--hvac-radius: 14px;
	--hvac-shadow: 0 10px 30px rgba(11, 37, 69, .10);
	--hvac-primary-90: color-mix(in srgb, var(--brand-primary) 88%, #000);
	--hvac-secondary-90: color-mix(in srgb, var(--brand-secondary) 88%, #000);
}

/* ---------- Base inside our sections ---------- */
[class*="hvac-"] .et_pb_text_inner,
[class*="hvac-"] .et_pb_code_inner { color: var(--hvac-muted); font-size: 16px; line-height: 1.65; }
[class*="hvac-"] h1, [class*="hvac-"] h2, [class*="hvac-"] h3 { color: var(--hvac-ink); font-weight: 800; line-height: 1.15; padding-bottom: 0; letter-spacing: -.01em; }
[class*="hvac-"] h1 { font-size: clamp(34px, 4.4vw, 54px); margin-bottom: 18px; }
[class*="hvac-"] h2 { font-size: clamp(26px, 3vw, 38px); margin-bottom: 14px; }
[class*="hvac-"] h3 { font-size: 20px; margin-bottom: 10px; }
[class*="hvac-"] p { padding-bottom: 0; margin-bottom: 14px; }
.et_pb_section[class*="hvac-"] { padding: clamp(56px, 7vw, 96px) 0; background: #fff; }
.et_pb_section[class*="hvac-"] { gap: 36px; }
.et_pb_section[class*="hvac-"] .et_pb_row { width: min(1160px, calc(100% - 40px)); max-width: none; padding: 0; }
/* Divi sizes flex columns from --horizontal-gap-parent, so the gap must be set through it. */
.hvac-row { --hvac-gap: 28px; column-gap: var(--hvac-gap) !important; row-gap: 28px !important; flex-wrap: wrap !important; }
.hvac-row > .et_pb_column { --horizontal-gap-parent: var(--hvac-gap); }
.hvac-hero-row, .hvac-split, .hvac-cta-row { --hvac-gap: clamp(28px, 5vw, 64px); }
.hvac-eyebrow { color: var(--brand-secondary) !important; font-size: 13px !important; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 10px !important; }
.hvac-lead { font-size: 18px !important; max-width: 680px; }
.hvac-heading .et_pb_text_inner { text-align: center; }
.hvac-heading .hvac-lead { margin-inline: auto; }
.hvac-checks, .hvac-stats, .hvac-trust-list, .hvac-areas { list-style: none !important; }
.hvac-ico { width: 24px; height: 24px; flex: none; vertical-align: middle; }
.hvac-small { font-size: 14px; }

/* ---------- Buttons ---------- */
.hvac-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 24px; border-radius: 10px; font-weight: 800; font-size: 16px; text-decoration: none; transition: transform .15s, background .15s, box-shadow .15s; border: 2px solid transparent; cursor: pointer; line-height: 1.2; }
.hvac-btn:hover { transform: translateY(-1px); }
.hvac-btn .hvac-ico { width: 20px; height: 20px; }
.hvac-btn--accent { background: var(--brand-secondary); color: #fff !important; box-shadow: 0 8px 20px color-mix(in srgb, var(--brand-secondary) 35%, transparent); }
.hvac-btn--accent:hover { background: var(--hvac-secondary-90); }
.hvac-btn--ghost { border-color: rgba(255,255,255,.4); color: #fff !important; }
.hvac-btn--ghost:hover { border-color: #fff; }
.hvac-btn--ghost-dark { border-color: var(--hvac-line); color: var(--brand-primary) !important; background: #fff; }
.hvac-btn--block { width: 100%; }
.hvac-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.hvac-link { color: var(--brand-secondary); font-weight: 800; text-decoration: none; }

/* ---------- Check lists ---------- */
.hvac-checks { list-style: none; padding: 0 !important; margin: 18px 0 0; display: grid; gap: 10px; }
.hvac-checks li { display: flex; gap: 10px; align-items: flex-start; padding: 0; }
.hvac-checks .hvac-ico { width: 22px; height: 22px; color: var(--brand-secondary); margin-top: 1px; }
.hvac-checks--2col { grid-template-columns: 1fr 1fr; }

/* ---------- Hero (asymmetric split) ---------- */
.hvac-hero { background:
	radial-gradient(900px 500px at 85% 10%, color-mix(in srgb, var(--brand-secondary) 22%, transparent), transparent 60%),
	linear-gradient(135deg, var(--brand-primary), var(--hvac-primary-90)) !important; }
.hvac-hero-row { align-items: center; }
.hvac-hero h1 { color: #fff; }
.hvac-hero .et_pb_text_inner, .hvac-hero .hvac-lead { color: rgba(255,255,255,.82); }
.hvac-hero .hvac-checks li { color: #fff; font-weight: 600; }
.hvac-badge { display: inline-flex !important; align-items: center; gap: 10px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.22); color: #fff !important; padding: 8px 16px; border-radius: 999px; font-size: 14px; font-weight: 700; margin-bottom: 22px !important; }
.hvac-pulse { width: 10px; height: 10px; border-radius: 50%; background: var(--brand-secondary); box-shadow: 0 0 0 0 var(--brand-secondary); animation: hvac-pulse 1.8s infinite; }
@keyframes hvac-pulse { 70% { box-shadow: 0 0 0 10px transparent; } 100% { box-shadow: 0 0 0 0 transparent; } }
@media (prefers-reduced-motion: reduce) { .hvac-pulse { animation: none; } }

/* ---------- Lead form ---------- */
.hvac-form { background: #fff; border-radius: var(--hvac-radius); padding: clamp(22px, 3vw, 32px); box-shadow: 0 24px 60px rgba(0,0,0,.25); border-top: 5px solid var(--brand-secondary); display: grid; gap: 12px; }
.hvac-contact-form .hvac-form { box-shadow: var(--hvac-shadow); border: 1px solid var(--hvac-line); border-top: 5px solid var(--brand-secondary); }
.hvac-form-title { margin: 0 !important; }
.hvac-form-sub { margin: -6px 0 4px !important; font-size: 15px; }
.hvac-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.hvac-form label { display: grid; gap: 5px; font-size: 13px; font-weight: 700; color: var(--hvac-ink); }
.hvac-form input, .hvac-form select, .hvac-form textarea { width: 100%; padding: 12px 14px; border: 1.5px solid var(--hvac-line); border-radius: 8px; font: inherit; font-size: 15px; font-weight: 400; color: var(--hvac-ink); background: #fff; }
.hvac-form input:focus, .hvac-form select:focus, .hvac-form textarea:focus { outline: none; border-color: var(--brand-secondary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-secondary) 20%, transparent); }
.hvac-form-note { display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 13px; margin: 0 !important; }
.hvac-form-note .hvac-ico { width: 16px; height: 16px; color: var(--brand-secondary); }
.hvac-form-ok { background: #ecfdf5; color: #065f46 !important; border-radius: 8px; padding: 12px 14px; font-weight: 700; margin: 0 !important; }
.hvac-hp { position: absolute; left: -9999px; }

/* ---------- Trust bar ---------- */
.et_pb_section.hvac-trust { padding: 22px 0; background: var(--hvac-soft); border-bottom: 1px solid var(--hvac-line); }
.hvac-trust-list { list-style: none; padding: 0 !important; margin: 0; display: flex; flex-wrap: wrap; justify-content: space-around; gap: 14px 28px; }
.hvac-trust-list li { font-size: 15px; }
.hvac-trust-list strong { color: var(--brand-primary); font-size: 20px; margin-right: 6px; }

/* ---------- Cards / grids ---------- */
.hvac-grid-3, .hvac-grid-4 { --hvac-gap: 24px; }
.hvac-card { height: 100%; background: #fff; border: 1px solid var(--hvac-line); border-radius: var(--hvac-radius); padding: 30px; box-shadow: 0 2px 6px rgba(15,23,42,.04); transition: transform .2s, box-shadow .2s; }
.hvac-card:hover { transform: translateY(-4px); box-shadow: var(--hvac-shadow); }
.hvac-card .hvac-ico { width: 52px; height: 52px; padding: 13px; border-radius: 12px; color: var(--brand-secondary); background: color-mix(in srgb, var(--brand-secondary) 12%, #fff); margin-bottom: 18px; display: block; }
.hvac-services, .hvac-values, .hvac-services-more { background: var(--hvac-soft) !important; }

.hvac-process { background: var(--brand-primary) !important; }
.hvac-process .hvac-heading h2 { color: #fff; }
.hvac-card--step { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.14); }
.hvac-card--step h3 { color: #fff !important; }
.hvac-card--step .et_pb_text_inner { color: rgba(255,255,255,.75) !important; }
.hvac-step { display: inline-block; font-size: 42px; font-weight: 900; line-height: 1; color: var(--brand-secondary); margin-bottom: 14px; }

.hvac-stars { color: #f59e0b !important; font-size: 20px; letter-spacing: 2px; margin-bottom: 10px !important; }
.hvac-card--review blockquote { border: 0; padding: 0; margin: 0 0 18px; font-size: 16px; color: var(--hvac-ink); font-style: normal; }
.hvac-reviewer { margin: 0 !important; font-size: 14px; }

/* ---------- CTA banner ---------- */
.hvac-cta { background: linear-gradient(110deg, var(--brand-primary) 0%, var(--brand-primary) 55%, var(--hvac-primary-90) 100%) !important; border-top: 6px solid var(--brand-secondary); }
.hvac-cta-row { align-items: center; }
.hvac-cta h2 { color: #fff; }
.hvac-cta .et_pb_text_inner { color: rgba(255,255,255,.8); }
.hvac-call { display: flex; align-items: center; gap: 16px; background: var(--brand-secondary); color: #fff !important; text-decoration: none; padding: 22px 26px; border-radius: 16px; font-size: clamp(24px, 2.6vw, 32px); font-weight: 900; line-height: 1.1; box-shadow: 0 16px 36px color-mix(in srgb, var(--brand-secondary) 45%, transparent); transition: transform .15s; }
.hvac-call:hover { transform: scale(1.02); }
.hvac-call small { display: block; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; opacity: .9; margin-bottom: 4px; }
.hvac-call .hvac-ico { width: 46px; height: 46px; padding: 10px; border-radius: 50%; background: rgba(255,255,255,.18); }
.hvac-cta-alt { text-align: center; margin-top: 12px !important; color: rgba(255,255,255,.75) !important; }
.hvac-cta-alt a { color: #fff; text-decoration: underline; }

/* ---------- Inner pages ---------- */
.hvac-page-hero { background: linear-gradient(135deg, var(--brand-primary), var(--hvac-primary-90)) !important; text-align: center; }
.hvac-page-hero h1 { color: #fff; }
.hvac-page-hero .et_pb_text_inner { color: rgba(255,255,255,.82); text-align: center; }
.hvac-page-hero .hvac-lead { margin-inline: auto; }
.hvac-page-hero a { color: #fff; text-decoration: underline; }
.hvac-split { align-items: center; }

.hvac-stats-card { background: var(--brand-primary); border-radius: var(--hvac-radius); padding: 30px; }
.hvac-stats { list-style: none; padding: 0 !important; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.hvac-stats strong { display: block; font-size: 36px; font-weight: 900; color: var(--brand-secondary); line-height: 1.1; }
.hvac-stats span { color: rgba(255,255,255,.8); font-size: 14px; }
.hvac-credentials { border-top: 1px solid var(--hvac-line); }

.hvac-service--alt { background: var(--hvac-soft) !important; }
.hvac-service .hvac-split, .hvac-service .hvac-row { align-items: flex-start; }
.hvac-price-card { background: #fff; border: 1px solid var(--hvac-line); border-top: 5px solid var(--brand-secondary); border-radius: var(--hvac-radius); padding: 30px; box-shadow: var(--hvac-shadow); text-align: center; }
.hvac-price-label { font-weight: 800; text-transform: uppercase; letter-spacing: .08em; font-size: 13px; color: var(--brand-primary) !important; margin-bottom: 4px !important; }
.hvac-price { font-size: 56px; font-weight: 900; color: var(--brand-primary) !important; line-height: 1; margin-bottom: 6px !important; }
.hvac-price small { font-size: 18px; color: var(--hvac-muted); }
.hvac-price-note { font-size: 14px; margin-bottom: 20px !important; }
.hvac-price-card p { margin-bottom: 10px; }

.hvac-narrow { width: min(860px, calc(100% - 40px)) !important; }
.hvac-faq-title { font-size: 24px !important; border-left: 5px solid var(--brand-secondary); padding-left: 14px !important; margin-bottom: 18px !important; }
.hvac-accordion .et_pb_toggle { border: 1px solid var(--hvac-line); border-radius: 10px; padding: 18px 22px; margin-bottom: 10px; background: #fff; }
.hvac-accordion .et_pb_toggle_open { border-color: color-mix(in srgb, var(--brand-secondary) 50%, var(--hvac-line)); box-shadow: var(--hvac-shadow); }
.hvac-accordion .et_pb_toggle_title { font-size: 17px; font-weight: 700; color: var(--hvac-ink); padding-right: 30px; }
.hvac-accordion .et_pb_toggle_title:before { color: var(--brand-secondary); }
.hvac-accordion .et_pb_toggle_content { color: var(--hvac-muted); padding-top: 12px; }

.hvac-contact-card { background: var(--hvac-soft); border-radius: var(--hvac-radius); padding: 30px; }
.hvac-contact-card h3 { display: flex; align-items: center; gap: 8px; margin-top: 20px; }
.hvac-contact-card h3:first-child { margin-top: 0; }
.hvac-contact-line { display: flex; gap: 12px; align-items: flex-start; }
.hvac-contact-line .hvac-ico { color: var(--brand-secondary); }
.hvac-contact-line a { color: var(--brand-primary); font-weight: 700; }
.hvac-hours { width: 100%; border-collapse: collapse; font-size: 15px; border: 0; }
.hvac-hours th, .hvac-hours td { padding: 9px 0; border: 0; border-bottom: 1px solid var(--hvac-line); text-align: left; font-weight: 600; color: var(--hvac-ink); }
.hvac-hours td { text-align: right; font-weight: 400; color: var(--hvac-muted); }
.hvac-hours-em th, .hvac-hours-em td { color: var(--brand-secondary) !important; font-weight: 800; border-bottom: 0; }
.hvac-area { background: var(--hvac-soft) !important; }
.hvac-map { min-height: 360px; border-radius: var(--hvac-radius); display: grid; place-content: center; text-align: center; gap: 12px; border: 2px dashed color-mix(in srgb, var(--brand-primary) 30%, transparent);
	background: repeating-linear-gradient(0deg, transparent 0 39px, rgba(11,37,69,.06) 39px 40px), repeating-linear-gradient(90deg, transparent 0 39px, rgba(11,37,69,.06) 39px 40px), #eaf0f7; }
.hvac-map-pin { justify-self: center; width: 60px; height: 60px; border-radius: 50%; background: var(--brand-secondary); color: #fff; display: grid; place-items: center; box-shadow: var(--hvac-shadow); }
.hvac-map p { margin: 0; color: var(--brand-primary); }
.hvac-areas { list-style: none; padding: 0 !important; margin: 0 0 16px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.hvac-areas li { background: #fff; border: 1px solid var(--hvac-line); border-radius: 8px; padding: 8px 10px; font-size: 14px; font-weight: 600; color: var(--hvac-ink); }
.hvac-areas li:before { content: "●"; color: var(--brand-secondary); font-size: 9px; margin-right: 7px; vertical-align: 2px; }

/* ---------- Responsive ---------- */
@media (max-width: 980px) {
	.hvac-card--step, .hvac-card--review { height: auto; }
}
@media (max-width: 640px) {
	.hvac-form-grid, .hvac-checks--2col, .hvac-stats { grid-template-columns: 1fr; }
	.hvac-areas { grid-template-columns: 1fr 1fr; }
	.hvac-actions .hvac-btn { width: 100%; }
	.hvac-card, .hvac-price-card, .hvac-contact-card, .hvac-stats-card { padding: 24px; }
}
