/* ==========================================================================
   Comfort Heating & Cooling: homepage styles
   Applies only to blocks with the "chc" class, so the rest of your
   theme is left untouched. To change the brand colors, edit the
   values below.
   ========================================================================== */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@700;800&display=swap");

body .chc {
	--chc-navy: #2257c7;      /* main blue (a lighter take on the Comfort logo blue) */
	--chc-navy-dark: #1a449f; /* deeper blue for headings + gradients */
	--chc-sky: #2d9bea;       /* sky blue accent from the old site */
	--chc-amber: #f6b221;     /* gold button color (matches banner + Best of the Burg) */
	--chc-green: #1f9d72;     /* indoor air quality accent */
	--chc-cream: #f1f3f6;     /* slight gray page background */
	--chc-ink: #1d2433;
	--chc-muted: #5a6273;
	--chc-line: #e1e5eb;
	--chc-radius: 18px;

	box-sizing: border-box;
	color: var(--chc-ink);
	font-size: 17px;
	line-height: 1.6;
	/* Full width: each section stretches edge to edge, content stays centered */
	background: var(--chc-cream);
	border-radius: 0;
	margin: 0 calc(50% - 50vw) !important;
	max-width: 100vw;
	padding: clamp(56px, 7vw, 96px) max(20px, calc((100vw - 1180px) / 2)) !important;
	width: 100vw;
}
html { overflow-x: clip; } /* stops a sideways scrollbar from full-width sections */
body .chc + .chc { border-top: 1px solid var(--chc-line); }
body .chc *, body .chc *::before, body .chc *::after { box-sizing: border-box; }
body .chc > :first-child { margin-top: 0; }
body .chc > :last-child { margin-bottom: 0; }

/* Type ------------------------------------------------------------------ */
body .chc h1, body .chc h2, body .chc h3 {
	color: var(--chc-navy-dark);
	font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	font-weight: 800;
	letter-spacing: -0.01em;
	line-height: 1.15;
	margin: 0 0 16px;
	text-transform: none;
}
body .chc h1 { font-size: clamp(34px, 5.2vw, 56px); max-width: 16ch; }
body .chc h2 { font-size: clamp(28px, 3.6vw, 40px); }
body .chc h3 { font-size: 21px; margin-bottom: 8px; }
body .chc p { margin: 0 0 16px; }
body .chc .chc-lead { font-size: clamp(18px, 1.6vw, 20px); color: var(--chc-muted); max-width: 60ch; }
body .chc .chc-eyebrow {
	color: var(--chc-navy);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.12em;
	margin-bottom: 10px;
	text-transform: uppercase;
}
body .chc .chc-fine { color: var(--chc-muted); font-size: 14px; }
body .chc .chc-tag {
	background: var(--chc-cream);
	border-radius: 999px;
	color: var(--chc-navy);
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin-bottom: 14px;
	padding: 4px 12px;
	text-transform: uppercase;
}

/* Buttons --------------------------------------------------------------- */
body .chc .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0 0; }
body .chc .wp-block-button { margin: 0; }
body .chc .wp-block-button__link {
	border: 2px solid transparent;
	border-radius: 999px;
	display: inline-block;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	padding: 14px 26px;
	text-decoration: none !important;
	transition: transform .15s ease, background-color .15s ease, color .15s ease;
}
body .chc .wp-block-button__link:hover { transform: translateY(-1px); }
body .chc .chc-btn-primary .wp-block-button__link { background: var(--chc-amber); color: var(--chc-navy-dark); }
body .chc .chc-btn-primary .wp-block-button__link:hover { background: #ffb938; }
body .chc .is-style-outline .wp-block-button__link { background: transparent; border-color: var(--chc-navy); color: var(--chc-navy); }
body .chc .is-style-outline .wp-block-button__link:hover { background: var(--chc-navy); color: #fff; }
body .chc .chc-btn-download .wp-block-button__link { font-size: 15px; padding: 11px 20px; }
body .chc .chc-btn-download .wp-block-button__link::before { content: "\2193\00a0"; }

/* Hero ------------------------------------------------------------------ */
body .chc-hero {
	background:
		radial-gradient(circle at 92% 12%, rgba(45, 155, 234, .55), transparent 45%),
		radial-gradient(circle at 8% 100%, rgba(246, 178, 33, .22), transparent 40%),
		linear-gradient(135deg, var(--chc-navy-dark), var(--chc-navy));
	padding-bottom: clamp(40px, 8vw, 96px) !important;
	padding-top: clamp(40px, 8vw, 96px) !important;
}
body .chc-hero h1 { color: #fff; }
body .chc-hero .chc-eyebrow { color: #8fd0ff; }
body .chc-hero .chc-lead { color: rgba(255, 255, 255, .85); }
body .chc-hero .chc-btn-ghost .wp-block-button__link { border-color: rgba(255, 255, 255, .7); color: #fff; }
body .chc-hero .chc-btn-ghost .wp-block-button__link:hover { background: #fff; color: var(--chc-navy-dark); }

/* Offer ----------------------------------------------------------------- */
body .chc-offer { background: var(--chc-cream); }
body .chc-offer .wp-block-columns { gap: clamp(24px, 4vw, 56px); margin: 0; }
body .chc-offer .chc-banner { margin: 0; }
body .chc-offer .chc-banner img {
	border-radius: 14px;
	box-shadow: 0 18px 40px rgba(10, 33, 82, .18);
	display: block;
	height: auto;
	width: 100%;
}

/* Check lists ----------------------------------------------------------- */
body .chc ul.chc-checks { list-style: none; margin: 0 0 16px; padding: 0; }
body .chc ul.chc-checks li { margin: 0 0 8px; padding-left: 30px; position: relative; }
body .chc ul.chc-checks li::before {
	background: var(--chc-navy);
	border-radius: 50%;
	color: #fff;
	content: "\2713";
	font-size: 12px;
	font-weight: 700;
	height: 20px;
	left: 0;
	line-height: 20px;
	position: absolute;
	text-align: center;
	top: 3px;
	width: 20px;
}

/* Card grids (services + products) ------------------------------------- */
body .chc-services, body .chc-products { background: var(--chc-cream); }
body .chc .chc-grid { gap: 20px; margin: 28px 0 0; }
body .chc .chc-grid + .chc-grid { margin-top: 20px; }
body .chc .chc-card {
	background: #fff;
	border: 1px solid var(--chc-line);
	border-radius: 14px;
	padding: 26px;
}
body .chc-services .chc-card { border-top: 4px solid var(--chc-amber); }
body .chc-services .chc-card p { color: var(--chc-muted); margin: 0; }

body .chc .chc-product { display: flex; flex-direction: column; }
body .chc .chc-product > .wp-block-buttons:last-child { margin-top: auto; padding-top: 8px; }
body .chc .chc-product .chc-tag { align-self: flex-start; }
body .chc .chc-qr { margin: 20px 0 0; }
body .chc .chc-qr img { border: 1px solid var(--chc-line); border-radius: 8px; display: block; height: auto; }
body .chc .chc-qr figcaption { color: var(--chc-muted); font-size: 13px; margin: 6px 0 0; text-align: left; }

/* Hero photo + trust line -------------------------------------------- */
body .chc-hero .wp-block-columns { gap: clamp(24px, 4vw, 56px); margin: 0; }
body .chc .chc-photo { margin: 0; }
body .chc .chc-photo img { border-radius: 14px; box-shadow: 0 18px 40px rgba(10, 33, 82, .25); display: block; height: auto; width: 100%; }
body .chc .chc-photo figcaption { color: var(--chc-muted); font-size: 14px; margin-top: 10px; text-align: left; }
body .chc-hero .chc-trust { color: rgba(255, 255, 255, .7); font-size: 14px; margin: 22px 0 0; }

/* Gallery -------------------------------------------------------------- */

body .chc .wp-block-gallery.chc-gallery { display: grid !important; gap: 12px; grid-template-columns: repeat(3, 1fr); margin: 24px 0 0; }
body .chc .chc-gallery .wp-block-image { margin: 0 !important; width: auto !important; }
body .chc .chc-gallery img { aspect-ratio: 4 / 3; border-radius: 10px; display: block; height: 100% !important; object-fit: cover; width: 100% !important; }
@media (max-width: 781px) { .chc .wp-block-gallery.chc-gallery { grid-template-columns: repeat(2, 1fr); gap: 8px; } }

/* About ---------------------------------------------------------------- */
body .chc-about { background: var(--chc-cream); }
body .chc-about .wp-block-columns { gap: clamp(24px, 4vw, 56px); margin: 0; }
body .chc .chc-promise {
	background: #fff;
	border: 0;
	border-left: 4px solid var(--chc-amber);
	border-radius: 0 12px 12px 0;
	font-size: 16px;
	font-style: normal;
	margin: 22px 0;
	padding: 16px 20px;
}
body .chc .chc-promise p { margin: 0; }
body .chc .chc-badges { align-items: center; display: flex; flex-wrap: wrap; gap: 24px; margin-top: 8px; }
body .chc .chc-badges figure { margin: 0; }
body .chc .chc-badges img { display: block; width: auto; }

/* Contact -------------------------------------------------------------- */
body .chc-contact { background: var(--chc-navy-dark); color: rgba(255, 255, 255, .85); }
body .chc-contact .wp-block-columns { gap: clamp(24px, 4vw, 56px); margin: 0; }
body .chc-contact h2 { color: #fff; }
body .chc-contact .chc-eyebrow { color: var(--chc-amber); }
body .chc-contact a { color: #fff; }
body .chc-contact .chc-phone { font-size: clamp(36px, 5vw, 54px); font-weight: 800; letter-spacing: -0.02em; line-height: 1.1; margin: 4px 0 20px; }
body .chc-contact .chc-phone a { color: var(--chc-amber); text-decoration: none; }
body .chc .chc-hours { margin: 8px 0 16px; }
body .chc .chc-hours table { border-collapse: collapse; width: 100%; }
body .chc .chc-hours td { border: 0; border-top: 1px solid rgba(255, 255, 255, .15); padding: 10px 0; }
body .chc .chc-hours td:last-child { color: #fff; font-weight: 600; text-align: right; }
body .chc .chc-social { font-weight: 600; }
body .chc .chc-form { background: #fff; border-radius: 14px; color: var(--chc-ink); padding: clamp(20px, 3vw, 32px); }
body .chc .chc-form input:not([type=submit]), body .chc .chc-form textarea {
	border: 1px solid var(--chc-line); border-radius: 10px; font: inherit; padding: 12px 14px; width: 100%;
}
body .chc .chc-form textarea { max-height: 180px; }
body .chc .chc-form input[type=submit] {
	background: var(--chc-amber); border: 0; border-radius: 999px; color: var(--chc-navy-dark);
	cursor: pointer; font: inherit; font-weight: 700; padding: 14px 28px;
}
body .chc .chc-form label { display: block; font-size: 15px; font-weight: 600; }
body .chc .chc-form p { margin-bottom: 14px; }

/* Phones ---------------------------------------------------------------- */
@media (max-width: 781px) {
	
	body .chc .wp-block-columns { flex-direction: column; }
	body .chc .wp-block-column { flex-basis: 100% !important; }
}

/* Value Menu ----------------------------------------------------------- */
body .chc .chc-menu-card { margin: 0 0 20px; }
body .chc .wp-block-column > .chc-menu-card:last-child { margin-bottom: 0; }
body .chc .chc-menu-card h3 { margin-bottom: 4px; }
body .chc .chc-menu { margin: 0; }
body .chc .chc-menu table { border-collapse: collapse; width: 100%; }
body .chc .chc-menu td {
	border: 0;
	border-top: 1px solid var(--chc-line);
	color: var(--chc-muted);
	font-size: 15px;
	line-height: 1.5;
	padding: 14px 0;
	vertical-align: top;
}
body .chc .chc-menu tr:first-child td { border-top: 0; }
body .chc .chc-menu td strong { color: var(--chc-ink); font-size: 16px; }
body .chc .chc-menu td:last-child {
	color: var(--chc-navy-dark);
	font-size: 18px;
	font-weight: 800;
	padding-left: 16px;
	text-align: right;
	white-space: nowrap;
}
body .chc .chc-menu .chc-spec { color: var(--chc-navy); display: inline-block; font-size: 14px; font-weight: 700; margin-top: 6px; text-decoration: none; }
body .chc .chc-menu .chc-spec::before { content: "\2193\00a0"; }
body .chc .chc-menu .chc-spec[href^="http"]::before { content: "\2197\00a0"; }
body .chc .chc-menu .chc-spec:hover { text-decoration: underline; }
body .chc .chc-menu-card .chc-qr { margin-top: 4px; }
body .chc-products > .chc-fine { margin-top: 24px; }
body .chc .chc-feature { margin-top: 20px; }
body .chc .chc-feature .wp-block-columns { gap: 24px; margin: 0; }
body .chc .chc-feature h3 { font-size: 22px; }
body .chc .chc-feature .chc-price { color: var(--chc-navy); font-weight: 800; margin-left: 8px; white-space: nowrap; }
body .chc .chc-feature .wp-block-buttons { margin-top: 8px; }
body .chc .chc-feature .chc-qr { margin: 0; }
body .chc .chc-feature .chc-qr figcaption { text-align: center; }
body .chc .chc-qr-col .chc-qr a { display: block; margin: 0 auto; width: 120px; }
body .chc .chc-btn-download .wp-block-button__link[href^="http"]::before { content: "\2197\00a0"; }

/* Brand strip ---------------------------------------------------------- */
body .chc .chc-brands {
	align-items: center;
	background: var(--chc-cream);
	border-radius: 14px;
	color: var(--chc-muted);
	display: flex;
	flex-wrap: wrap;
	gap: 6px 10px;
	margin: 20px 0 0;
	padding: 18px 24px;
}
body .chc .chc-brands strong { color: var(--chc-navy-dark); font-size: 20px; font-weight: 800; letter-spacing: -0.01em; }
body .chc .chc-brands span { color: var(--chc-amber); font-size: 20px; font-weight: 800; }
body .chc .chc-brands strong:last-of-type { margin-right: 8px; }


/* More color ----------------------------------------------------------- */
body .chc ul.chc-checks li::before { background: var(--chc-sky); }
body .chc .chc-eyebrow { color: var(--chc-sky); }
body .chc .chc-tag { background: #e3f1fc; color: var(--chc-navy-dark); }
body .chc-services .chc-card { border-top-color: var(--chc-sky); }
body .chc-services .chc-card:nth-child(2) { border-top-color: var(--chc-amber); }
body .chc .chc-brands { background: linear-gradient(90deg, #e3f1fc, #fff6df); }

/* Gallery on royal blue, like the old site */
body .chc-gallery-section { background: linear-gradient(160deg, var(--chc-navy), var(--chc-navy-dark)); border-top: 0 !important; }
body .chc-gallery-section h2 { color: #fff; }
body .chc-gallery-section .chc-eyebrow { color: #8fd0ff; }
body .chc-gallery-section .chc-gallery img { box-shadow: 0 6px 18px rgba(0, 0, 0, .25); }

/* Value Menu category colors */
body .chc .chc-accent-sky   { border-top: 5px solid var(--chc-sky); }
body .chc .chc-accent-amber { border-top: 5px solid var(--chc-amber); }
body .chc .chc-accent-green { border-top: 5px solid var(--chc-green); }
body .chc .chc-accent-royal { border-top: 5px solid var(--chc-navy); }
body .chc .chc-accent-sky .chc-tag   { background: #e3f1fc; color: #0f5f9c; }
body .chc .chc-accent-amber .chc-tag { background: #fff1cf; color: #8a5a00; }
body .chc .chc-accent-green .chc-tag { background: #ddf3ea; color: #12684a; }
body .chc .chc-accent-royal .chc-tag { background: #e4e6fb; color: var(--chc-navy); }
body .chc .chc-menu td:last-child { color: var(--chc-navy); }

/* About: looping video + three cards */
body .chc .chc-video {
	aspect-ratio: 16 / 9;
	background: #000;
	border-radius: 16px;
	box-shadow: 0 18px 40px rgba(11, 18, 112, .25);
	margin: 8px 0 24px;
	overflow: hidden;
	position: relative;
}
body .chc .chc-video iframe { border: 0; display: block; height: 100%; inset: 0; position: absolute; width: 100%; }
body .chc .chc-about-grid { margin-top: 0; }
body .chc-about .chc-card { border-top: 5px solid var(--chc-sky); }
body .chc-about .chc-card:nth-child(2) { border-top-color: var(--chc-amber); }
body .chc-about .chc-card:nth-child(3) { border-top-color: var(--chc-navy); }
body .chc-about .chc-card p { color: var(--chc-muted); margin: 0; }
body .chc-about .chc-badges { justify-content: center; margin-top: 28px; }

/* Contact on royal blue */
body .chc-contact { background: linear-gradient(150deg, var(--chc-navy-dark), var(--chc-navy)); border-top: 0 !important; }
body .chc-hero + .chc { border-top: 0; }
body .chc-contact .chc-eyebrow { color: #8fd0ff; }
body .chc .chc-hours td:last-child { color: #8fd0ff; }
body .chc .chc-gallery .wp-block-image { position: relative; }
body .chc .chc-gallery figcaption {
	background: linear-gradient(transparent, rgba(0, 0, 0, .7));
	border-radius: 0 0 10px 10px;
	bottom: 0;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	left: 0;
	margin: 0;
	padding: 28px 12px 10px;
	position: absolute;
	right: 0;
	text-align: left;
}

/* Tablets + phones ------------------------------------------------------ */
@media (max-width: 1024px) {
	body .chc .chc-about-grid { flex-wrap: wrap !important; }
	body .chc .chc-about-grid > .wp-block-column { flex-basis: calc(50% - 10px) !important; flex-grow: 1; }
}
@media (max-width: 781px) {
	body .chc .chc-gallery .wp-block-image:first-child { grid-column: 1 / -1; }
	body .chc .chc-about-grid > .wp-block-column { flex-basis: 100% !important; }
	body .chc .chc-menu td:last-child { font-size: 16px; }
}

/* ======================================================================
   Fit with the OnePagePro theme
   ====================================================================== */
/* Remove the theme's white padding above/below the page (fixes the gap before the footer) */
.onepagepro-content-area:has(.chc),
.onepagepro-content-container:has(.chc),
.onepagepro-sidebar-center:has(.chc),
.onepagepro-page-wrapper:has(.chc),
.onepagepro-outer-content-wrap:has(.chc) { margin-bottom: 0 !important; margin-top: 0 !important; padding-bottom: 0 !important; padding-top: 0 !important; }

/* Hide the theme's placeholder "One Page Pro" logo (set your real logo in Theme Options) */
.onepagepro-logo img[src*="/themes/onepagepro/images/logo.png"] { display: none !important; }

/* Shield logo in the hero */
body .chc .chc-hero-logo { margin: 0 0 18px; }
body .chc .chc-hero-logo img { display: block; filter: drop-shadow(0 6px 14px rgba(0, 0, 0, .3)); height: auto; }
@media (max-width: 781px) { .chc .chc-hero-logo img { width: 72px !important; } }

/* Layout safety net: column/button/image basics, so the layout holds even if
   the theme doesn't load WordPress's block styles. */
body .chc .wp-block-columns { align-items: normal; display: flex; flex-wrap: nowrap; }
body .chc .wp-block-columns.are-vertically-aligned-center { align-items: center; }
body .chc .wp-block-column { flex-basis: 0; flex-grow: 1; min-width: 0; word-break: normal; }
body .chc .wp-block-column[style*="flex-basis"] { flex-grow: 0; }
body .chc .wp-block-column.is-vertically-aligned-center { align-self: center; }
body .chc .wp-block-image img { height: auto; max-width: 100%; }
body .chc .wp-block-image.is-resized img { max-width: none; }
@media (max-width: 781px) {
	body .chc .wp-block-columns { flex-wrap: wrap !important; }
	body .chc .wp-block-column { flex-basis: 100% !important; flex-grow: 1; }
}

/* Override the theme's striped table styling inside these sections */
body .chc table, body .chc table tr, body .chc table tr:nth-child(odd), body .chc table tr:nth-child(even), body .chc table td, body .chc table th {
	background: transparent !important;
}
body .chc .chc-hours td, body .chc .chc-menu td { text-align: left; }
body .chc .chc-hours td { padding: 10px 0 !important; color: rgba(255, 255, 255, .85); }
body .chc .chc-hours td:last-child, body .chc .chc-menu td:last-child { text-align: right; }
body .chc .chc-menu td { padding: 14px 0 !important; }
body .chc .chc-menu td:last-child { padding-left: 16px !important; }
body .chc table { border: 0 !important; margin: 0; }

/* On tablets/phones the theme's mobile header already shows the logo */
@media (max-width: 1140px) {
	body:has(.onepagepro-mobile-header) .chc .chc-hero-logo { display: none; }
}

/* ======================================================================
   Theme fixes v1.3: everything below only applies on pages that use
   these sections (body:has(.chc-hero)).
   ====================================================================== */

/* -- No gaps: zero spacing on every wrapper around the sections -------- */
body:has(.chc-hero) #onepagepro-page-wrapper,
body:has(.chc-hero) #onepagepro-page-wrapper *:has(.chc) {
	border-bottom: 0 !important;
	margin-bottom: 0 !important;
	margin-top: 0 !important;
	padding-bottom: 0 !important;
	padding-top: 0 !important;
}
body:has(.chc-hero) .onepagepro-comments-area,
body:has(.chc-hero) .onepagepro-page-title-wrap { display: none !important; }
/* The theme's footer widget area is empty, so hide it (copyright bar stays) */
body:has(.chc-hero) .onepagepro-footer-wrapper:not(:has(.widget)) { display: none !important; }

/* -- Solid white header with blue menu (always readable) --------------- */
body:has(.chc-hero) .onepagepro-header-background-transparent { position: relative !important; }
body:has(.chc-hero) .onepagepro-header-wrap,
body:has(.chc-hero) .onepagepro-header-background,
body:has(.chc-hero) .onepagepro-sticky-menu-placeholder,
body:has(.chc-hero) .onepagepro-top-bar-background,
body:has(.chc-hero) .onepagepro-mobile-header { background: #fff !important; }
body:has(.chc-hero) .onepagepro-header-wrap { border-bottom: 1px solid #e1e5eb !important; box-shadow: 0 2px 12px rgba(26, 68, 159, .08); }
body:has(.chc-hero) .onepagepro-top-bar { border-bottom: 1px solid #eef1f5 !important; }
body:has(.chc-hero) .onepagepro-top-bar a, body:has(.chc-hero) .onepagepro-top-bar i,
body:has(.chc-hero) .onepagepro-top-bar { color: #1a449f !important; }
body:has(.chc-hero) .onepagepro-navigation .sf-menu > li > a { color: #1a449f !important; font-weight: 700; }
body:has(.chc-hero) .onepagepro-navigation .sf-menu > li > a:hover,
body:has(.chc-hero) .onepagepro-navigation .sf-menu > li.current-menu-item > a { color: #2d9bea !important; }
body:has(.chc-hero) .onepagepro-mobile-button-hamburger:before,
body:has(.chc-hero) .onepagepro-mobile-button-hamburger:after,
body:has(.chc-hero) .onepagepro-mobile-button-hamburger span { background: #1a449f !important; }

/* -- Text on blue sections: always white -------------------------------- */
body .chc-hero h1, body .chc-contact h2, body .chc-gallery-section h2 { color: #fff !important; }
body .chc-hero .chc-lead, body .chc-hero p, body .chc-contact p, body .chc-contact td { color: rgba(255, 255, 255, .92) !important; }
body .chc-hero .chc-trust { color: rgba(255, 255, 255, .78) !important; }
body .chc-hero .chc-eyebrow, body .chc-contact .chc-eyebrow, body .chc-gallery-section .chc-eyebrow { color: #a9dcff !important; }
body .chc-contact a, body .chc-contact a:hover { color: #fff !important; }
body .chc-contact .chc-phone a { color: #f6b221 !important; }
body .chc-contact .chc-hours td:last-child { color: #a9dcff !important; font-weight: 700; }
body .chc-contact .chc-hours td { border-top: 1px solid rgba(255, 255, 255, .2) !important; }
/* The form card inside Contact keeps dark text on white */
body .chc-contact .chc-form h3 { color: #1a449f !important; }
body .chc-contact .chc-form p, body .chc-contact .chc-form label, body .chc-contact .chc-form span { color: #1d2433 !important; }
body .chc-contact .chc-form a { color: #2257c7 !important; }
body .chc-contact .chc-form input:not([type=submit]), body .chc-contact .chc-form textarea { background: #fff !important; color: #1d2433 !important; }
body .chc .chc-form input[type=submit] { background: #f6b221 !important; color: #1a449f !important; }
/* Buttons keep their colors against the theme's link color */
body .chc .chc-btn-primary .wp-block-button__link { color: #1a449f !important; }
body .chc-hero .chc-btn-ghost .wp-block-button__link { color: #fff !important; }
body .chc-hero .chc-btn-ghost .wp-block-button__link:hover { color: #1a449f !important; }
body .chc .is-style-outline:not(.chc-btn-ghost) .wp-block-button__link { color: #2257c7; }
body .chc .is-style-outline:not(.chc-btn-ghost) .wp-block-button__link:hover { color: #fff; }
body .chc .chc-menu .chc-spec { color: #2257c7 !important; }

/* Hide the theme's thin top bar (social icons) on this page: Facebook +
   Instagram links are in the Contact section, and it keeps the header compact */
body:has(.chc-hero) .onepagepro-top-bar { display: none !important; }

/* ======================================================================
   v1.4: the plugin's own site header (logo + menu), like the preview.
   The theme's header is hidden on this page only.
   ====================================================================== */
body:has(.chc-nav) .onepagepro-header-background-transparent,
body:has(.chc-nav) .onepagepro-header-wrap,
body:has(.chc-nav) .onepagepro-sticky-menu-placeholder,
body:has(.chc-nav) .onepagepro-mobile-header-wrap,
body:has(.chc-nav) .onepagepro-mobile-header,
body:has(.chc-nav) .onepagepro-top-bar { display: none !important; }
body:has(.chc-nav) .chc-hero-logo { display: none !important; }
html:has(.chc-nav) { scroll-behavior: smooth; scroll-padding-top: 84px; }

body .chc-nav {
	background: #fff;
	border-bottom: 1px solid #e1e5eb;
	box-shadow: 0 2px 14px rgba(26, 68, 159, .08);
	box-sizing: border-box;
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	line-height: 1.3;
	margin: 0 calc(50% - 50vw) !important;
	max-width: 100vw;
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	width: 100vw;
	z-index: 999;
}
body .chc-nav *, body .chc-nav *::before, body .chc-nav *::after { box-sizing: border-box; }
body .chc-nav .chc-nav-inner {
	align-items: center;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 1180px;
	min-height: 72px;
	padding: 8px 20px;
}
body .chc-nav .chc-nav-brand { align-items: center; color: #1a449f !important; display: flex; gap: 10px; text-decoration: none !important; }
body .chc-nav .chc-nav-brand img { display: block; height: 48px; width: auto; }
body .chc-nav .chc-nav-brand span { font-family: "Montserrat", system-ui, sans-serif; font-size: 17px; font-weight: 800; letter-spacing: -0.01em; white-space: nowrap; }
body .chc-nav .chc-nav-links { align-items: center; display: flex; flex-wrap: wrap; gap: 4px 2px; list-style: none; margin: 0; padding: 0; }
body .chc-nav .chc-nav-links li { list-style: none; margin: 0; padding: 0; }
body .chc-nav .chc-nav-links li::before { content: none; }
body .chc-nav .chc-nav-links a {
	border-radius: 999px;
	color: #1a449f !important;
	display: block;
	font-size: 15px;
	font-weight: 600;
	padding: 8px 11px;
	text-decoration: none !important;
	white-space: nowrap;
}
body .chc-nav .chc-nav-links a:hover { background: #e9f0fc; color: #2257c7 !important; }
body .chc-nav .chc-nav-links .chc-nav-call { background: #f6b221; color: #1a449f !important; font-weight: 700; margin-left: 8px; padding: 10px 18px; }
body .chc-nav .chc-nav-links .chc-nav-call:hover { background: #ffc444; }
body .chc-nav .chc-nav-toggle { display: none; }
body .chc-nav .chc-nav-burger { display: none; }

/* Tablets + phones: tap-to-open menu */
@media (max-width: 1100px) {
	body .chc-nav .chc-nav-inner { flex-wrap: wrap; min-height: 64px; }
	body .chc-nav .chc-nav-brand img { height: 42px; }
	body .chc-nav .chc-nav-burger {
		align-items: center; border: 1px solid #d6dce8; border-radius: 10px; cursor: pointer;
		display: flex; height: 44px; justify-content: center; margin: 0; width: 48px;
	}
	body .chc-nav .chc-nav-burger span,
	body .chc-nav .chc-nav-burger span::before,
	body .chc-nav .chc-nav-burger span::after { background: #1a449f; border-radius: 2px; content: ""; display: block; height: 2px; position: relative; width: 22px; }
	body .chc-nav .chc-nav-burger span::before { position: absolute; top: -7px; }
	body .chc-nav .chc-nav-burger span::after { position: absolute; top: 7px; }
	body .chc-nav .chc-nav-links { display: none; flex-basis: 100%; flex-direction: column; align-items: stretch; gap: 0; padding: 6px 0 12px; }
	body .chc-nav .chc-nav-toggle:checked ~ .chc-nav-links { display: flex; }
	body .chc-nav .chc-nav-links a { border-radius: 10px; font-size: 17px; padding: 12px 12px; }
	body .chc-nav .chc-nav-links .chc-nav-call { margin: 8px 0 0; text-align: center; }
}
@media (max-width: 420px) {
	body .chc-nav .chc-nav-brand span { font-size: 15px; }
}
/* Let the header stay at the top while scrolling (the theme's slide-out
   menu wrapper hides overflow, which blocks "sticky") */
body:has(.chc-nav) .onepagepro-body-outer-wrapper,
body:has(.chc-nav) .mm-page,
body:has(.chc-nav) .onepagepro-body-wrapper { overflow: visible !important; overflow-x: clip !important; }
body:has(.chc-nav) { overflow: visible !important; overflow-x: clip !important; }

/* Header: Facebook + Instagram buttons -------------------------------- */
body .chc-nav .chc-nav-brand { order: 0; }
body .chc-nav .chc-nav-links { order: 1; }
body .chc-nav .chc-nav-social { order: 2; }
body .chc-nav .chc-nav-burger { order: 3; }
body .chc-nav .chc-nav-social { align-items: center; display: flex; gap: 8px; }
body .chc-nav .chc-nav-social a {
	align-items: center;
	border-radius: 50%;
	color: #fff !important;
	display: inline-flex;
	height: 38px;
	justify-content: center;
	text-decoration: none !important;
	transition: transform .15s ease, box-shadow .15s ease;
	width: 38px;
}
body .chc-nav .chc-nav-social a:hover { box-shadow: 0 4px 12px rgba(0, 0, 0, .18); transform: translateY(-1px); }
body .chc-nav .chc-nav-social svg { display: block; }
body .chc-nav .chc-social-fb { background: #1877f2; }
body .chc-nav .chc-social-ig { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%); }
/* Desktop: a little tighter so everything fits on one line */
@media (min-width: 1101px) {
	body .chc-nav .chc-nav-inner { gap: 12px; }
	body .chc-nav .chc-nav-links a { padding: 8px 9px; }
	body .chc-nav .chc-nav-links .chc-nav-call { margin-left: 6px; }
}
@media (min-width: 1101px) and (max-width: 1260px) {
	body .chc-nav .chc-nav-brand span { display: none; } /* logo only, to make room */
}
/* Tablets + phones: logo left, social + menu button right, menu drops below */
@media (max-width: 1100px) {
	body .chc-nav .chc-nav-social { margin-left: auto; }
	body .chc-nav .chc-nav-links { order: 4; }
	body .chc-nav .chc-nav-social a { height: 40px; width: 40px; }
}
@media (max-width: 400px) {
	body .chc-nav .chc-nav-brand span { display: none; }
}
@media (min-width: 1101px) {
	body .chc-nav .chc-nav-inner { max-width: 1320px; }
	body .chc-nav .chc-nav-links { flex-wrap: nowrap; flex-shrink: 0; }
	body .chc-nav .chc-nav-brand { flex-shrink: 0; }
}
@media (min-width: 1101px) and (max-width: 1380px) {
	body .chc-nav .chc-nav-brand span { display: none; }
}
@media (max-width: 560px) {
	body .chc-nav .chc-nav-brand span { display: none; }
}

/* v1.6: 12-photo gallery = 4 across on desktop, 3 on tablets, 2 on phones */
body .chc .wp-block-gallery.chc-gallery { grid-template-columns: repeat(4, 1fr); }
body .chc .chc-gallery img { object-position: center 45%; }
@media (max-width: 1024px) { body .chc .wp-block-gallery.chc-gallery { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 781px) {
	body .chc .wp-block-gallery.chc-gallery { grid-template-columns: repeat(2, 1fr); }
	body .chc .chc-gallery .wp-block-image:first-child { grid-column: auto; }
}

/* v1.6: brand strip with the Carrier + Amana logos */
body .chc .chc-brands {
	align-items: center;
	background: #fff;
	border: 1px solid var(--chc-line);
	gap: 16px 28px;
	padding: 18px 28px;
}
body .chc .chc-brands .chc-brand-logo { margin: 0; }
body .chc .chc-brands .chc-brand-logo img { display: block; max-width: 100%; width: auto; }
body .chc .chc-brands .chc-brands-text { color: var(--chc-muted); flex: 1 1 260px; font-size: 16px; margin: 0; }
body .chc .chc-brands .chc-brands-text strong { color: var(--chc-navy-dark); font-size: inherit; }
@media (max-width: 781px) {
	body .chc .chc-brands { justify-content: center; text-align: center; }
}
