/*
* Description: Custom CSS Additions Go Here
* Template: twentyseventeen
* Version: 1.0
* Author: VDS
*/

/* vars vars vars vars vars vars vars vars vars vars vars vars vars vars  */

:root {

/* These vars do not require values as they get set automatically in options-page-stylesheet.php
 * They are mainly here so they show up as autocomplete suggestions in code editors if desired.
*/

@property --accent1 { syntax: '*'; inherits: true; }
@property --accent2 { syntax: '*'; inherits: true; }
@property --accent3 { syntax: '*'; inherits: true; }
@property --dark1   { syntax: '*'; inherits: true; }
@property --dark2   { syntax: '*'; inherits: true; }
@property --dark3   { syntax: '*'; inherits: true; }
@property --light1  { syntax: '*'; inherits: true; }
@property --light2  { syntax: '*'; inherits: true; }
@property --light3  { syntax: '*'; inherits: true; }
@property --uihover { syntax: '*'; inherits: true; }
@property --white   { syntax: '*'; inherits: true; }
@property --black   { syntax: '*'; inherits: true; }

/* font family vars */
/*--bodyfont:;*/
/*--headingfont:;*/
/* 	--DunbarMed: 'DunbarTall-Medium', sans-serif; */
/* 	--MontReg: 'Montserrat-Regular', sans-serif; */
/* 	--MontB: 'Montserrat-Bold', sans-serif; */

}

/* /vars /vars /vars /vars /vars /vars /vars /vars /vars /vars /vars  */

/* General */

/*header#header {
	display: none !important;
    color: var(--);
}*/

/* Top Anchor + Recaptcha */

a.topbutton {
    background-color: var(--accent1);
    transition: all 0.3s ease-in-out;
    border: 2px solid var(--light1);
    text-decoration: none;
    border-radius: 7px;
    bottom: 148px;
    right: 10px;
}
a.topbutton:hover {
	border-color: var(--accent2);
}
a.topbutton i.icon-angle-up {
	justify-content: center;
	align-items: center;
	display: flex;
}
a.topbutton i.icon-angle-up:before {
	transition: all 0.3s ease-in-out;
    margin: 0 !important;
    color: var(--light1);
    position: relative;
    font-size: 48px;
    line-height: 1;
    top: -4.5px;
}
a.topbutton:hover i:before {
	transition: all 0.3s ease-in-out;
	color: var(--accent2);
}
div.grecaptcha-badge {
    bottom: 70px !important;
}

/* END Top Anchor + Recaptcha */

.top-widget .widget a:link {
    color: var(--accent2);
}
/* === Page: home === 2026-08-10 === */
/* ===== EHI HOME — shared vars fallback (theme options should already provide --accent1-5/--dark1-5/--light1-5/--black/--white) ===== */

/* HERO */
.bakery .ehi-hero-section {
	background: linear-gradient(125deg,rgba(12,46,82,.82) 0%, rgba(18,64,110,.55) 45%, rgba(42,179,192,.18) 100%), url('/wp-content/uploads/2026/08/Canva-Stock-Photo_Family-on-Porch_EDITED2-scaled.jpg');
	background-position: center;
	background-size: cover;
}
.bakery .ehi-hero-section.service-areas-hero {
	background: linear-gradient(125deg,rgba(12,46,82,.82) 0%, rgba(18,64,110,.55) 45%, rgba(42,179,192,.18) 100%), url('/wp-content/uploads/2026/08/hero1.webp');
	background-position: center;
	background-size: cover;
}
.bakery .ehi-hero-row{align-items:center;padding:60px 0 70px;}
body #content .ehi-hero-copy-col h1{color:#fff !important;font-size:46px !important;line-height:1.07 !important;font-weight:900 !important;letter-spacing:-1px !important;margin-bottom:16px !important;}
body #content .ehi-hero-sub{color:#fff !important;font-size:18px !important;max-width:520px;margin-bottom:22px !important;}
.bakery .ehi-trustline{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin-bottom:28px;}
body #content .ehi-chip{font-family:Poppins-SemiBold, sans-serif !important;font-weight:700 !important;font-size:14px !important;color:#fff !important;background:rgba(255,255,255,.12);padding:7px 13px;border-radius:30px;display:inline-flex;align-items:center;gap:7px;}
body #content .ehi-stars{color:#ffd23f !important;letter-spacing:1px;}
.bakery .ehi-hero-cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
body #content .ehi-hero-or{color:#fff !important;font-size:14px !important;}
@font-face{font-family:'Poppins-Black-Raw';src:url('https://expohomeimprovement.vmgagencysites.com/wp-content/themes/vds/fonts/poppins/Poppins-Black.ttf') format('truetype');font-weight:normal;font-style:normal;}
body #content .bakery .ehi-hero-callbig{font-family:'Poppins-Black-Raw', sans-serif !important;font-weight:900 !important;color:#fff !important;font-size:18px !important;text-decoration:none !important;}

/* HERO FORM CARD (custom html block) */
.bakery .ehi-formcard{background:var(--light1);color:var(--dark3);border-radius:14px;box-shadow:0 10px 30px rgba(12,46,82,.13);overflow:hidden;}
.bakery .ehi-formcard-head{padding:20px 24px 0;}
body #content .ehi-formcard-head h3{font-size:20px !important;font-weight:800 !important;}
body #content .ehi-formcard-head p{font-size:13.5px !important;color:var(--dark3) !important;margin-top:2px !important;}
.bakery .ehi-progress{height:6px;background:var(--light4);border-radius:30px;margin:16px 24px 0;overflow:hidden;}
.bakery .ehi-progress span{display:block;height:100%;background:#1f9d55;width:0;transition:width .35s;}
body #content .ehi-steplabel{font-size:12px !important;font-weight:700 !important;color:var(--dark3) !important;margin:10px 24px 0 !important;text-transform:uppercase;letter-spacing:.5px;}
.bakery .ehi-formbody{padding:14px 24px 24px;}
.bakery .ehi-step{display:none;}
.bakery .ehi-step.active{display:block;}
body #content .ehi-stepq{font-weight:700 !important;margin-top:4px !important;}
body #content .ehi-stepsub{font-size:13px !important;color:var(--dark3) !important;margin-top:4px !important;}
.bakery .ehi-typegrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px;}
.bakery .ehi-typecard{border:2px solid var(--light4);border-radius:12px;padding:16px 12px;text-align:center;cursor:pointer;font-weight:700;font-size:15px;background:#fbfdff;}
.bakery .ehi-typecard.sel{border-color:var(--accent1);background:var(--light4);}
.bakery .ehi-typecard .ehi-ic{display:block;margin:0 auto 6px;font-size:26px;}
.bakery .ehi-fld{display:block;margin-top:14px;font-size:13px;font-weight:700;}
.bakery .ehi-fld input{width:100%;margin-top:6px;padding:13px 14px;border:1.5px solid var(--light4);border-radius:10px;font-size:15px;}
body #content .ehi-zipnote{font-size:12.5px !important;margin-top:10px !important;display:none;}
body #content .ehi-zipnote.ok{display:block;color:#1f9d55 !important;font-weight:700 !important;}
.bakery .ehi-consent,.bakery .ehi-sms-consent{margin-top:14px;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:12px;font-size:11.5px;}
body #content .ehi-sms-consent strong{display:block !important;margin-bottom:4px !important;font-size:12px !important;}
.bakery .ehi-sms-label{display:flex;gap:9px;align-items:flex-start;cursor:pointer;}
.bakery .ehi-appt-slots{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;}
.bakery .ehi-appt-slot{border:2px solid var(--light4);border-radius:10px;padding:12px 10px;text-align:center;cursor:pointer;font-weight:700;font-size:13px;background:#fbfdff;}
.bakery .ehi-appt-slot.sel{border-color:var(--accent1);background:var(--light4);}
.bakery .ehi-appt-slot .ehi-day{font-size:11px;margin-bottom:2px;}
.bakery .ehi-formnav{display:flex;gap:10px;margin-top:18px;}
body #content .ehi-back{background:none !important;border:0 !important;color:var(--dark3) !important;font-weight:700 !important;cursor:pointer;font-size:14px !important;padding:12px 6px !important;}
.bakery .ehi-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;border-radius:50px;cursor:pointer;border:0;font-size:15px;padding:13px 28px;}
.bakery .ehi-btn-blue{background:var(--accent1);color:#fff;}
.bakery .ehi-btn-accent{background:var(--accent3);color:var(--accent1);}
.bakery .ehi-btn-block{width:100%;}
.bakery .ehi-done{text-align:center;padding:10px 4px;}
.bakery .ehi-done-big{font-size:40px;}
body #content .ehi-done h4{font-size:20px !important;font-weight:800 !important;margin:8px 0 4px !important;}

/* MONTHLY OFFER (cta-section) */
.bakery .ehi-location-radius-row,.bakery .ehi-offer-section{background:linear-gradient(180deg,var(--accent2) 0%,var(--accent1) 100%);}
.bakery .ehi-offer-row{align-items:center;}
body #content .ehi-offer-badge{display:inline-block !important;background:rgba(255,255,255,.15) !important;border-radius:50px;padding:6px 18px;font-weight:800 !important;font-size:13px !important;margin-bottom:14px !important;letter-spacing:1px;text-transform:uppercase;color:#fff !important;}
body #content .ehi-offer-copy-col p{color:rgba(255,255,255,.85) !important;font-size:16px !important;margin-top:10px !important;max-width:420px;}
.bakery .ehi-offer-btns{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap;}
.bakery .ehi-offer-visual{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:30px;text-align:center;}
body #content .ehi-offer-big{font-size:72px !important;font-weight:900 !important;line-height:1 !important;letter-spacing:-2px;color:var(--accent3) !important;}
body #content .ehi-offer-sub{font-size:18px !important;font-weight:700 !important;margin-top:6px !important;color:#fff !important;}
body #content .ehi-offer-extra{font-size:15px !important;font-weight:700 !important;margin-top:14px !important;color:#fff !important;}
body #content .ehi-offer-extra2{font-size:14px !important;color:#fff !important;}
body #content .ehi-offer-fine{font-size:12px !important;color:rgba(255,255,255,.6) !important;margin-top:8px !important;}

/* SERVICES ROWS (reused sitewide — fifty-section/inline-fifty pattern) */
.bakery .ehi-services-section{background:var(--light1);}
.bakery .ehi-svc-row{display:grid;grid-template-columns:1fr 1fr;min-height:300px;}
.bakery .ehi-svc-img{background-size:cover;background-position:center;position:relative;min-height:240px;height:100%;border-radius:16px;overflow:hidden;}
.bakery .ehi-svc-img-overlay{position:absolute;inset:0;background:rgba(12,46,82,.15);}
body #content .ehi-svc-body-col .ehi-eyebrow{margin-bottom:6px !important;}
body #content .ehi-svc-body-col h3{font-size:24px !important;font-weight:900 !important;color:var(--accent1) !important;letter-spacing:-.5px;line-height:1.1 !important;margin-bottom:8px !important;}
body #content .ehi-svc-body-col p{font-size:15px !important;color:var(--dark3) !important;line-height:1.55 !important;margin-bottom:14px !important;max-width:520px;}
.bakery .ehi-svc-features{list-style:none;margin-bottom:16px;display:flex;flex-direction:column;gap:6px;padding:0;}
body #content .ehi-svc-features li{display:flex;align-items:center;gap:10px;font-size:14px !important;font-weight:700 !important;color:var(--dark3) !important;}
.bakery .ehi-svc-features li::before{content:"✓";width:20px;height:20px;border-radius:50%;background:var(--light5);color:var(--accent2);font-weight:900;font-size:11px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
@media(max-width:979px){
  .bakery .ehi-svc-row{grid-template-columns:1fr;}
  .bakery .ehi-svc-img{min-height:200px;}
  .bakery .ehi-svc-row.reverse .container{display:flex !important;flex-direction:column-reverse !important;}
}

/* INLINE FIFTY */
section.fifty-section .wpb_row.inline-fifty {
	padding: 60px 0 !important;
}
section.fifty-section .wpb_row.inline-fifty h3 {
	margin-bottom: 12px;
}

@media (min-width: 980px) {
	.vertical-align {
		align-items: center;
		display: flex;
	}
}

@media (max-width: 979px) {
	section.fifty-section .wpb_row.inline-fifty.reverse .container {
		flex-direction: column-reverse;
		display: flex;
	}
}

/* WHY / STATS */
.bakery .ehi-why-section{background:linear-gradient(rgba(225,243,246,.94),rgba(225,243,246,.97)),url('https://www.expohomeimprovement.com/wp-content/uploads/2026/07/Stats-Content-Block_Background_1920.png');background-position:bottom right;background-size:cover;background-repeat:no-repeat;}
body #content .ehi-whygrid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:38px;}
.bakery .ehi-whycard{text-align:center;}
.bakery .ehi-whycard-ic{width:62px;height:62px;border-radius:12px;background:var(--light1);display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 14px;}

.bakery section.ehi-why-row-section.light2 .ehi-whycard-ic {
	background:var(--light1);
}

body #content .ehi-whycard h3{font-size:17px !important;font-weight:800 !important;margin-bottom:6px !important;color:var(--accent1) !important;text-align:center !important;}
body #content .ehi-whycard p{font-size:14px !important;color:var(--dark3) !important;text-align:center !important;}
.bakery .ehi-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:48px;padding-top:40px;border-top:1px solid var(--dark2);}
.bakery .ehi-stat{text-align:center;padding:8px;}
body #content .ehi-stat-num{font-size:40px !important;font-weight:900 !important;color:var(--accent1) !important;letter-spacing:-1px;line-height:1 !important;}
body #content .ehi-stat-lbl{font-size:14px !important;color:var(--dark3) !important;font-weight:600 !important;margin-top:6px !important;}
.bakery .ehi-badges-slick{margin-top:32px;max-width:1100px;margin-left:auto;margin-right:auto;}
body #content .ehi-badge{background:var(--light1) !important;border:1px solid var(--light4);border-radius:12px;padding:14px 20px;font-weight:800 !important;font-size:14px !important;color:var(--dark3) !important;box-shadow:0 4px 16px rgba(12,46,82,.08);display:inline-block;}

/* COMMUNITY IMPACT */
body #content .ehi-impact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:38px;}
@media(max-width:980px){body #content .ehi-impact-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){body #content .ehi-impact-grid{grid-template-columns:1fr;}}
.bakery .ehi-impact-card{border-radius:14px;overflow:hidden;box-shadow:0 4px 16px rgba(12,46,82,.08);background:var(--light2);}
.bakery .ehi-impact-ph{height:160px;background-size:cover;background-position:center;}
.bakery .ehi-impact-body{padding:18px;}
body #content .ehi-impact-body h3{font-size:17px !important;font-weight:800 !important;margin-bottom:6px !important;color:var(--accent1) !important;}
body #content .ehi-impact-body p{font-size:14px !important;color:var(--dark3) !important;}

/* BEFORE / AFTER (custom html block) */
.bakery .ehi-ba-section{padding-bottom:64px;}
.bakery .ehi-ba-lob-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:22px;}
.bakery .ehi-ba-lob-btn{padding:9px 20px;font-size:14px;font-weight:700;border-radius:50px;border:2px solid var(--accent1);background:transparent;color:var(--accent1);cursor:pointer;}
.bakery .ehi-ba-lob-btn.active{background:var(--accent1);color:#fff;}
.bakery .ehi-ba{position:relative;max-width:480px;margin:38px auto 0;border-radius:14px;overflow:hidden;box-shadow:0 10px 30px rgba(12,46,82,.13);aspect-ratio:4/5;}
.bakery .ehi-ba-img{position:absolute;inset:0;background-size:cover;background-position:center;}
.bakery .ehi-ba-before{clip-path:inset(0 50% 0 0);}
.bakery .ehi-ba-tag{position:absolute;top:14px;padding:5px 12px;border-radius:30px;font-weight:800;font-size:12px;color:#fff;background:rgba(7,58,107,.8);text-transform:uppercase;letter-spacing:.5px;}
.bakery .ehi-ba-tag-b{left:14px;}
.bakery .ehi-ba-tag-a{right:14px;}
.bakery .ehi-ba-handle{position:absolute;top:0;bottom:0;left:50%;width:3px;background:#fff;box-shadow:0 0 8px rgba(0,0,0,.4);cursor:ew-resize;}
.bakery .ehi-ba-knob{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;font-weight:900;color:var(--accent1);}
body #content .ehi-bacap{text-align:center !important;color:var(--dark3) !important;font-weight:700 !important;margin-top:14px !important;font-size:14px !important;}

/* PROCESS */
.bakery .ehi-pstep-col{text-align:center;}
.bakery .ehi-pstep-n{width:68px;height:68px;border-radius:50%;background:var(--light1);border:3px solid var(--accent3);color:var(--accent1);font-weight:900;font-size:26px;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;box-shadow:0 6px 18px rgba(12,46,82,.15);}
body #content .ehi-pstep-col h3{font-size:19px !important;font-weight:800 !important;margin-bottom:6px !important;color:var(--accent1) !important;text-align:center !important;}
body #content .ehi-pstep-col p{font-size:14px !important;color:var(--dark3) !important;max-width:280px;margin:0 auto !important;text-align:center !important;}

/* TESTIMONIALS (custom html block) */
.bakery .ehi-tcarousel{max-width:720px;margin:34px auto 0;position:relative;}
.bakery .ehi-tslide{display:none;background:var(--light1);border-radius:14px;padding:34px 36px;box-shadow:0 4px 16px rgba(12,46,82,.08);text-align:center;}
.bakery .ehi-tslide.active{display:block;}
body #content .ehi-tstars{color:#ffb400 !important;font-size:24px !important;letter-spacing:3px;margin-bottom:8px !important;}
body #content .ehi-tq{font-size:19px !important;font-style:italic;color:var(--dark3) !important;line-height:1.6 !important;}
body #content .ehi-twho{margin-top:18px !important;font-weight:800 !important;}
body #content .ehi-tmeta{color:var(--dark3) !important;font-size:13px !important;}
.bakery .ehi-tcontrols{display:flex;gap:12px;justify-content:center;margin-top:20px;align-items:center;}
.bakery .ehi-tarrow{width:40px;height:40px;border-radius:50%;border:2px solid var(--accent1);background:transparent;color:var(--accent1);cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;font-weight:900;}
.bakery .ehi-tarrow:hover{background:var(--accent1);color:#fff;}
.bakery .ehi-tdots{display:flex;gap:9px;justify-content:center;}
.bakery .ehi-tdot{width:10px;height:10px;padding:0 !important;border-radius:50%;background:var(--accent2);border:0;cursor:pointer;flex-shrink:0;}
.bakery .ehi-tdot.on{background:var(--accent1);}

/* TEXAS SECTION */
body #content .ehi-texas-copy-col p{color:#cfe0f0 !important;font-size:16px !important;margin-top:10px !important;max-width:420px;}
.bakery .ehi-loc-heading{font-size:12px;font-weight:800;letter-spacing:1px;text-transform:uppercase;margin:22px 0 10px;}
body #content .ehi-loc-heading{color:var(--light5) !important;}
.bakery .ehi-locations{display:grid;grid-template-columns:1fr 1fr;gap:0px 18px;}
body #content .ehi-loc{font-weight:600 !important;font-size:14px !important;color:#cfe0f0 !important;}
body #content .ehi-texas-owned{display:inline-flex !important;align-items:center;gap:8px;background:rgba(255,255,255,.1) !important;border-radius:50px;padding:8px 18px;font-weight:800 !important;font-size:14px !important;margin-top:18px !important;color:#fff !important;}
.bakery .ehi-texas-map-visual{background:rgba(255,255,255,.07);border-radius:20px;padding:0;overflow:hidden;min-height:360px;}

/* 20 YEARS */
.bakery .ehi-milestone-visual{background:var(--accent1);border-radius:20px;padding:40px;text-align:center;color:#fff;}
body #content .ehi-milestone-num{font-size:96px !important;font-weight:900 !important;line-height:1 !important;letter-spacing:-4px;color:var(--accent3) !important;}
body #content .ehi-milestone-label{font-size:22px !important;font-weight:700 !important;margin-top:4px !important;color:#fff !important;}
body #content .ehi-milestone-sub{font-size:15px !important;color:#cfe0f0 !important;margin-top:8px !important;}

/* EXPO HOME HEROES */
.bakery .ehi-heroes-section{background:linear-gradient(180deg,var(--accent2) 0%,var(--accent1) 100%);}
body #content .ehi-heroes-copy-col p{color:rgba(255,255,255,.85) !important;font-size:16px !important;margin-top:10px !important;line-height:1.65 !important;}
body #content .ehi-eyebrow.ehi-eyebrow-accent{color:var(--accent3) !important;letter-spacing:2px;}
.bakery .ehi-heroes-ribbon{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.15);border-radius:12px;padding:10px 20px;margin-bottom:16px;font-weight:700;font-size:14px;}
.bakery .ehi-heroes-visual{position:relative;border-radius:20px;overflow:hidden;min-height:420px;background-image:url('https://expohomeimprovement.vmgagencysites.com/wp-content/uploads/2026/08/expo-home-heroes-2025-recipient-scaled.jpeg');background-size:cover;background-position:center;box-shadow:0 10px 30px rgba(0,0,0,.35);}
.bakery .ehi-heroes-visual-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,46,82,.05) 0%,rgba(12,46,82,.92) 100%);}
.bakery .ehi-heroes-visual-content{position:absolute;left:0;right:0;bottom:0;padding:28px;z-index:1;}
body #content .ehi-heroes-visual-content h4{font-size:21px !important;font-weight:900 !important;color:#fff !important;margin-bottom:6px !important;}
body #content .ehi-heroes-visual-content p{color:rgba(255,255,255,.85) !important;font-size:14px !important;line-height:1.5 !important;}

/* FINANCING */
.bakery .ehi-fin-options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px;}
.bakery .ehi-fin-opt{background:var(--light1);border-radius:12px;padding:16px;box-shadow:0 4px 16px rgba(12,46,82,.08);}
body #content .ehi-fin-label{font-size:12px !important;font-weight:800 !important;color:var(--accent2) !important;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px !important;}
body #content .ehi-fin-val{font-size:20px !important;font-weight:900 !important;color:var(--accent1) !important;}
body #content .ehi-fin-opt p{font-size:13px !important;color:var(--dark3) !important;margin-top:2px !important;}
.bakery .ehi-fin-visual{background:var(--accent1);border-radius:20px;padding:32px;color:#fff;text-align:center;}
body #content .ehi-fin-visual-big{font-size:56px !important;font-weight:900 !important;color:var(--accent3) !important;}
body #content .ehi-fin-visual p{color:#cfe0f0 !important;margin-top:6px !important;font-size:15px !important;}
.bakery .ehi-fin-visual-sub{margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.2);}
body #content .ehi-fin-visual-amt{font-size:28px !important;font-weight:900 !important;color:var(--accent3) !important;}

/* CONTACT / REACH US */
body #content .ehi-contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px;}
@media(max-width:880px){body #content .ehi-contact-grid{grid-template-columns:1fr;}}
.bakery .ehi-contact-card{background:var(--light2);border-radius:14px;padding:30px 24px;text-align:center;box-shadow:0 4px 16px rgba(12,46,82,.08);}
.bakery .ehi-contact-ic{width:64px;height:64px;border-radius:50%;background:var(--light4);display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 16px;}

.bakery section.light1 .ehi-contact-card .ehi-contact-ic {
	background:var(--light1);
}

body #content .ehi-contact-card h3{font-size:18px !important;font-weight:800 !important;margin-bottom:8px !important;color:var(--accent1) !important;}
body #content .ehi-contact-card p{font-size:14px !important;color:var(--dark3) !important;margin-bottom:16px !important;}
body #content .ehi-contact-hours{font-size:12px !important;font-weight:700 !important;color:var(--accent1) !important;margin:6px 0 16px !important;}

/* RESOURCES */
body #content .ehi-resgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px;text-align:left;}
@media(max-width:880px){body #content .ehi-resgrid{grid-template-columns:1fr;}}
.bakery .ehi-res-card{background:var(--light1);border-radius:14px;overflow:hidden;box-shadow:0 4px 16px rgba(12,46,82,.08);}
.bakery .ehi-res-ph{height:140px;background-size:cover;background-position:center;}
.bakery .ehi-res-body{padding:18px;}
body #content .ehi-res-cat{font-size:12px !important;font-weight:800 !important;color:var(--accent3) !important;text-transform:uppercase;letter-spacing:.5px;}
body #content .ehi-res-body h3{font-size:16px !important;font-weight:800 !important;margin:6px 0 8px !important;line-height:1.3 !important;color:var(--accent1) !important;}
body #content .ehi-res-body a{color:var(--accent1) !important;font-weight:800 !important;font-size:14px !important;}

/* CTA BAND */
.bakery .ehi-ctaband-section.bottom-cta.accent1 {background: var(--accent2);}
body #content .ehi-ctaband-col p{color:#cfe0f0 !important;max-width:580px;margin:10px auto 28px !important;font-size:17px !important;}
.bakery .ehi-ctaband-row-inner{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;align-items:center;}
body #content .ehi-ctaband-or{color:#cfe0f0 !important;font-size:15px !important;}
body #content .ehi-ctaband-callbig{font-size:22px !important;font-weight:900 !important;color:#fff !important;}

/* SHARED — two-column margin resets */
.bakery .mb0-desktop{margin-bottom:0;}
.bakery .mb0{margin-bottom:0;}
@media(max-width:979px){
  .bakery .mb0-desktop{margin-bottom:35px;}
}


/* PATCH: theme's .btn-bt skin system only wires .default(accent1)/.alternate(accent2) —
   .accent3/.light1 modifiers used on this page have no theme-provided styling at all,
   leaving buttons as unstyled block-level text. Add explicit self-contained skins. */
body #content .bakery a.btn-bt.accent3{display:inline-flex !important;align-items:center;justify-content:center;gap:8px;background:var(--accent3) !important;color:var(--dark3) !important;border-radius:50px !important;font-weight:800 !important;white-space:nowrap !important;padding:14px 28px !important;transition:all 0.3s ease-in-out;box-shadow:0 6px 20px rgba(245,166,35,.3) !important;}
body #content .bakery a.btn-bt.accent3:hover{background:var(--light3) !important;color:var(--dark3) !important;}
body #content .bakery a.btn-bt.light1{display:inline-flex !important;align-items:center;justify-content:center;gap:8px;background:var(--light1) !important;color:var(--accent1) !important;border-radius:50px !important;font-weight:800 !important;white-space:nowrap !important;padding:13px 28px !important;font-size:15px !important;box-shadow:0 4px 14px rgba(0,0,0,.15) !important;transition:all 0.3s ease-in-out;}
body #content .bakery a.btn-bt.light1:hover{background:var(--light2) !important;color:var(--accent1) !important;}


/* PATCH: base .ehi-eyebrow had no color rule at all — fell back to theme default (pink/coral) instead of teal per comp */
body #content .ehi-eyebrow{color:var(--accent2) !important;font-weight:800 !important;letter-spacing:1.5px;text-transform:uppercase;font-size:13px !important;}


/* PATCH: real Gravity Form (id 2) replaces the old fake multi-step HTML form.
   Hidden by default until a project-type bubble is clicked (see hero JS),
   then styled to look like the same white card the bubble step used. */
#gform_wrapper_2{background:var(--light1) !important;border-radius:14px;box-shadow:0 10px 30px rgba(12,46,82,.13);padding:24px;max-width:100%;}
body #content #gform_wrapper_2 .gform_heading{display:none;}
body #content #gform_wrapper_2 .gfield_label{font-weight:700 !important;font-size:13px !important;color:var(--dark3) !important;margin-bottom:6px !important;}
/* select#input_2_17 {
    pointer-events: none;
    cursor: not-allowed !important;
    color: #9f9f9f;
} */
select#input_2_17,
body #content #gform_wrapper_2 input[type=text],
body #content #gform_wrapper_2 input[type=email],
body #content #gform_wrapper_2 input[type=tel]{width:100% !important;padding:13px 14px !important;border:1.5px solid var(--light4) !important;border-radius:10px !important;font-size:15px !important;font-family:inherit !important;}
body #content #gform_wrapper_2 .gform_footer{padding:16px 0 0 !important;margin:0 !important;display:flex;gap:10px;}
body #content #gform_wrapper_2 .gform_button,
body #content #gform_wrapper_2 .gform_next_button,
body #content #gform_wrapper_2 .gform_previous_button{display:inline-flex !important;align-items:center;justify-content:center;background:var(--accent1) !important;color:var(--light1) !important;border:0 !important;border-radius:50px !important;font-weight:800 !important;padding:14px 28px !important;font-size:15px !important;cursor:pointer;width:100%;}
body #content #gform_wrapper_2 .gform_previous_button{background:transparent !important;color:var(--dark3) !important;border:1.5px solid var(--light4) !important;width:auto !important;}
body #content #gform_wrapper_2 .gfield_radio{display:grid;grid-template-columns:1fr 1fr;gap:10px;}

body #content #gform_wrapper_2 .gfield_radio input[type=radio]{margin-right:6px;}
body #content #gform_wrapper_2 .gf_progressbar{background:var(--light4) !important;border-radius:30px;height:6px;overflow:hidden;margin-bottom:0;}
body #content #gform_wrapper_2 .gf_progressbar_percentage{background:#1f9d55 !important;height:100%;}
body #content #gform_wrapper_2 .gform_page_footer{display:flex;gap:10px;justify-content:space-between;}


/* PATCH: step-1 project-type radio choices — real icons from comp, matching
   .typecard style exactly (bordered card, 40x40 icon, hidden native radio,
   :has() selected-state highlight). Replaces the earlier emoji placeholders. */
body #content #gform_wrapper_2 .gfield_radio{display:grid !important;grid-template-columns:1fr 1fr !important;gap:12px !important;list-style:none !important;padding:0 !important;margin:6px 0 0 !important;}
body #content #gform_wrapper_2 .gfield_radio .gchoice{border:2px solid var(--light4) !important;border-radius:12px !important;padding:16px 12px !important;text-align:center !important;cursor:pointer;transition:all .12s;background:#fbfdff !important;position:relative;margin:0 !important;}
body #content #gform_wrapper_2 .gfield_radio .gchoice input[type=radio]{position:absolute;opacity:0;width:100%;height:100%;top:0;left:0;margin:0;cursor:pointer;}
body #content #gform_wrapper_2 .gfield_radio .gchoice label{display:block !important;font-weight:700 !important;font-size:15px !important;line-height: 1.1;max-width: 130px;cursor:pointer;margin:0 auto !important;}
body #content #gform_wrapper_2 .gfield_radio .gchoice label::before{content:"";display:block;width:40px;height:40px;margin:0 auto 6px;background-size:contain;background-position:center;background-repeat:no-repeat;}
body #content #gform_wrapper_2 label[for="choice_2_10_0"]::before{background-image:url("https://expohomeimprovement.vmgagencysites.com/wp-content/uploads/2026/08/bathroom-remdeling-form-icon.png");}
body #content #gform_wrapper_2 label[for="choice_2_10_1"]::before{background-image:url("https://expohomeimprovement.vmgagencysites.com/wp-content/uploads/2026/08/window-replacement-form-icon.png");}
body #content #gform_wrapper_2 label[for="choice_2_10_2"]::before{background-image:url("https://expohomeimprovement.vmgagencysites.com/wp-content/uploads/2026/08/kitchen-cabinet-refacing-form-icon.png");}
body #content #gform_wrapper_2 label[for="choice_2_10_3"]::before{background-image:url("https://expohomeimprovement.vmgagencysites.com/wp-content/uploads/2026/08/door-replacement-form-icon.png");}
body #content #gform_wrapper_2 .gfield_radio .gchoice:hover{border-color:var(--accent1) !important;background:var(--light4) !important;}
body #content #gform_wrapper_2 .gfield_radio .gchoice:has(input:checked){border-color:var(--accent1) !important;background:var(--light4) !important;box-shadow:0 0 0 3px rgba(10,77,140,.15) !important;}
body #content #gform_wrapper_2 .gfield_radio .gchoice:has(input:checked) label{color:var(--accent1) !important;}


/* PATCH: match comp typography for the GF form heading/description/step label,
   which GF renders with its own default (much larger/different) styles. */
body #content #gform_wrapper_2{padding:20px 24px 24px !important;}
body #content #gform_wrapper_2 .gform_heading{display:block !important;text-align:left !important;margin-bottom:0 !important;}
body #content #gform_wrapper_2 .gform_title{font-size:20px !important;font-weight:800 !important;color:var(--dark3) !important;margin:0 !important;}
body #content #gform_wrapper_2 .gform_description{font-size:13.5px !important;color:var(--dark3) !important;margin-top:2px !important;}
body #content #gform_wrapper_2 .gf_progressbar_wrapper{margin-top:16px !important;}
body #content #gform_wrapper_2 .gf_progressbar_title{font-family:Poppins-Regular, sans-serif !important;font-size:12px !important;font-weight:700 !important;text-transform:uppercase !important;letter-spacing:.5px !important;color:var(--dark3) !important;margin:10px 0 0 !important;text-shadow:none !important;}
body #content #gform_wrapper_2 .gf_step_page_name{display:none !important;}
body #content #gform_wrapper_2 .gf_progressbar{height:6px !important;border-radius:30px !important;background:var(--light4) !important;overflow:hidden;margin-top:0 !important;}
body #content #gform_wrapper_2 .gf_progressbar_percentage{height:100% !important;background:#1f9d55 !important;}
body #content #gform_wrapper_2 .gf_progressbar_percentage span{display:none !important;}
body #content #gform_wrapper_2 .gform_body{margin-top:14px !important;}
body #content #gform_wrapper_2 .gfield_label{font-size:15px !important;font-weight:700 !important;color:var(--dark3) !important;margin-top:4px !important;}


/* PATCH: swap progress-bar/step-label visual order to match comp (bar then
   caption below it, not caption then bar), and hide required asterisks —
   comp's fake fields never showed them. */
body #content #gform_wrapper_2 .gf_progressbar_wrapper{display:flex !important;flex-direction:column-reverse !important;}
body #content #gform_wrapper_2 .gf_progressbar_title{margin-top:8px !important;}
body #content #gform_wrapper_2 .gfield_required{display:none !important;}

body #content #gform_wrapper_2 .gf_step_current_page,
body #content #gform_wrapper_2 .gf_step_page_count{font-family:Poppins-Regular, sans-serif !important;font-size:12px !important;font-weight:700 !important;}


/* PATCH: field 4 changed from hardcoded date/time slot radios to a real
   Date field (dynamic/sustainable, no stale hardcoded dates) + field 12
   (dynamic time-of-day radio, styled like the old slot cards). */
body #content #gform_wrapper_2 #field_2_4 input[type=text]{background:#fbfdff url('data:image/svg+xml;utf8,') no-repeat right 14px center !important;background-size:18px !important;cursor:pointer;}
body #content #gform_wrapper_2 .gfield_radio .gchoice:has(input:checked) label{border-color:var(--accent1) !important;background:var(--light4) !important;}


/* PATCH: submission-error heading — lighter weight Poppins, not the heavy
   default heading font (this is a validation message, not a display heading). */
body #content h2.gform_submission_error.hide_summary{line-height:1.2 !important;font-size:16px !important;font-family:Poppins-Regular, sans-serif !important;font-weight:500 !important;}

body #content #gform_wrapper_2 .gf_progressbar_title{opacity:1 !important;}

body #content .ehi-hero-copy-col{padding-right:24px !important;}
body #content .ehi-hero-form-col{padding-left:24px !important;}

body #content .ehi-hero-copy-col .vc_column-inner{height:100% !important;display:flex !important;flex-direction:column !important;justify-content:center !important;}

body #content #gform_wrapper_2.gform_legacy_markup_wrapper ul li.gfield{margin-top:0 !important;}

body #content #gform_wrapper_2.gform_legacy_markup_wrapper .gf_progressbar_wrapper{padding-bottom:0 !important;}

body #content .ehi-hero-cta-row a.btn-bt{padding:15px 30px !important;font-size:16px !important;}

.bakery .ehi-svc-body-col{padding:50px !important;}
@media(max-width:880px){.bakery .ehi-svc-body-col{padding:30px !important;}}

body #content .ehi-ctaband-section h2{font-size:36px !important;font-weight:900 !important;letter-spacing:-.6px !important;}

/* PATCH: every plain section-title h2 was inheriting the theme's raw 48px/800
   default instead of the comp's .secttitle style (32px/900/-.6px/1.12 line-height).
   General rule kept low-specificity (no body/#content prefix) so the
   body #content-prefixed per-section exceptions below still win. */
.bakery h2 {
	font-size: 32px;
	font-weight: 900;
	letter-spacing: -.6px;
	line-height: 1.12;
	margin: 8px 0 14px;
}
body #content .ehi-offer-copy-col h2{font-size:36px !important;font-weight:900 !important;line-height:1.1 !important;letter-spacing:-.5px !important;}
body #content .ehi-twentyyears-copy-col h2{font-size:36px !important;font-weight:900 !important;letter-spacing:-.6px !important;line-height:1.12 !important;}

/* PATCH: 85 elements sitewide (every custom .ehi-* div/label that never got
   its own font-family) were falling through to a WP core theme rule serving
   Literata serif instead of inheriting the page's Poppins body font. Blanket
   base fix + real-bold-file exceptions for the handful of big numeric displays
   that need true 900 weight (font-weight is a no-op on static font files). */
body #content .bakery div{font-family:Poppins-SemiBold, sans-serif !important;}
body #content .bakery a{font-family:Poppins-SemiBold, sans-serif !important;}

body #content .bakery h3 a {
	font-family: Poppins-ExtraBold, sans-serif !important;
}

body #content .bakery .ehi-stat-num,
body #content .bakery .ehi-milestone-num,
body #content .bakery .ehi-offer-big,
body #content .bakery .ehi-fin-visual-big,
body #content .bakery .ehi-fin-visual-amt,
body #content .bakery .ehi-ctaband-callbig{font-family:'Poppins-Black-Raw', sans-serif !important;}
body #content .ehi-tmeta{font-family:Poppins-Regular, sans-serif !important;font-weight:400 !important;}

/* PATCH: comp's .secttitle base color is var(--blue), .sectintro is var(--muted)
   #222222 — both were rendering pure #000 (unstyled default) sitewide. No
   !important on the h2 rule so texas-section/heroes-section's inline
   style="color:#fff" (white on dark bg) still correctly wins. */
.bakery h2,
.bakery h3 {
	color:var(--accent1);
}
.bakery section.accent1 h3,
.bakery section.accent2 h3 {
	color:var(--light1);
}
body #content .ehi-sectintro {
	color: var(--dark3) !important;
}
body #content .service-areas-hero .ehi-sectintro {
	color: var(--light1) !important;
}
body #content .service-areas-hero .ehi-eyebrow {
    color: var(--accent3) !important;
}
body #content .bakery a{text-decoration:none !important;}
body #content #gform_wrapper_2 label{color:var(--dark3) !important;}

body #content .ehi-twentyyears-copy-col p{color:var(--dark3) !important;font-size:16px !important;margin-top:10px !important;line-height:1.65 !important;}

/* PATCH: full-bleed service-row images as real column backgrounds (per our
   own convention — placeholder bg-image on the column itself, not a nested
   div), since the earlier div-based approach never reached true edge-to-edge. */
.bakery .ehi-svc-img-col{background-size:cover;background-position:center;min-height:240px;position:relative;}
.bakery .ehi-svc-img-col::before{content:"";position:absolute;inset:0;background:rgba(12,46,82,.15);}
.bakery .ehi-svc-img-bathroom{background-image:url('https://expohomeimprovement.vmgagencysites.com/wp-content/uploads/2026/08/svc-Shower-scaled.jpg');}
.bakery .ehi-svc-img-kitchen{background-image:url('https://expohomeimprovement.vmgagencysites.com/wp-content/uploads/2026/08/svc-kitchen.jpg');}
.bakery .ehi-svc-img-window{background-image:url('https://expohomeimprovement.vmgagencysites.com/wp-content/uploads/2026/08/svc-window.jpg');}
.bakery .ehi-svc-img-door{background-image:url('https://expohomeimprovement.vmgagencysites.com/wp-content/uploads/2026/08/svc-door-scaled.jpg');}
@media(max-width:880px){.bakery .ehi-svc-img-col{min-height:200px;}}

/* PATCH: texas-section background — removed the "dark3" utility class
   (resolved to near-black #222, not comp's navy blue-dark). */
body #content .ehi-texas-section{background:#182c4d !important;}

/* PATCH: location pin dots — markup was missing the pin element entirely. */
.bakery .ehi-loc{display:flex !important;align-items:center;gap:10px;}
.bakery .ehi-loc-pin{width:8px;height:8px;border-radius:50%;background:var(--accent3);flex-shrink:0;display:inline-block;margin-top:11px;}

/* PATCH: testimonial name was inheriting a stray pink from somewhere (same
   class of leak as the earlier Literata issue) instead of the theme ink color. */
body #content .ehi-twho{margin-top:18px !important;font-weight:800 !important;color:var(--dark3) !important;}

/* PATCH: comp's svc-row sits OUTSIDE the .wrap max-width container entirely
   (full viewport width), but our WPBakery row wraps both columns in the
   theme's .container (max-width:1200px), so the "full-bleed" image never
   actually reached the true edge. Strip the container constraint for these
   rows only; text column still has its own padding/max-width on . */
body #content .ehi-svc-row > .container{max-width:none !important;width:100% !important;padding-left:0 !important;padding-right:0 !important;}

/* PATCH: comp alternates svc-body background via :nth-child(even) counted
   among ALL section children (intro block is child 1), landing on Bathroom
   (child 2) and Windows (child 4) — not "2nd and 4th service" as I assumed.
   Kitchen/Doors correctly stay white/transparent. */
/* body #content .ehi-svc-bathrooms .ehi-svc-body-col,
body #content .ehi-svc-windows .ehi-svc-body-col{background:var(--light2) !important;} */

/* PATCH: checkmark/feature lists had 32px default browser ul padding. */
.bakery ul:not(.social){padding-left:0px;}

/* PATCH: blue/default .btn-bt buttons had zero border-radius (theme never
   set one for .default/.accent1) and needed to explicitly guarantee white text. */
body #content .bakery a.btn-bt.default,
body #content .bakery a.btn-bt.accent1{border-radius:50px !important;color:var(--light1) !important;}

body #content .bakery ul:not(.social){padding-left:0px !important;}
body #content .bakery a.btn-bt.default,
body #content .bakery a.btn-bt.accent1{border-radius:50px !important;color:var(--light1) !important;}

/* PATCH: .btn-bt.accent2/.alternate theme skin sets color:var(--dark2)
   (light gray) on a teal background — nearly invisible. Also missing
   border-radius (same gap accent1/accent3 had before). Fix accent2 + the
   plain unmodified .btn-bt (referral "Learn More" link). */
body #content .bakery a.btn-bt.accent2{border-radius:50px !important;color:var(--light1) !important;}
body #content .bakery a.btn-bt.accent2:hover{color:var(--light1) !important;}
body #content .bakery a.btn-bt:not(.accent1):not(.accent2):not(.accent3):not(.light1){border-radius:50px !important;background:var(--accent1) !important;color:var(--light1) !important;}

body #content .ehi-services-section{padding-bottom:0 !important;}

/* PATCH: comp's 1/2+1/2 rows all use align-items:center on the row wrapper,
   but WPBakery forces equal-height columns (height:100%), which just
   stretches the shorter column's outer box without centering its actual
   content inside it — same root issue the hero had. Apply the same
   flex-center fix to every two-column row's columns. */
body #content .ehi-offer-copy-col .vc_column-inner,
body #content .ehi-offer-visual-col .vc_column-inner,
body #content .ehi-texas-copy-col .vc_column-inner,
body #content .ehi-texas-map-col .vc_column-inner,
body #content .ehi-milestone-col .vc_column-inner,
body #content .ehi-twentyyears-copy-col .vc_column-inner,
body #content .ehi-heroes-copy-col .vc_column-inner,
body #content .ehi-heroes-visual-col .vc_column-inner,
body #content .ehi-financing-copy-col .vc_column-inner,
body #content .ehi-financing-visual-col .vc_column-inner {
  height:100% !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}

/* PATCH: "light4" el_class does nothing — slots 4/5 were deliberately left
   as CSS vars only (no .wpb_row.light4 utility class), so these 4 sections
   need the background applied directly via var(--light4). */
body #content .ehi-ba-section,
body #content .ehi-financing-section{background:var(--light4) !important;}

/* PATCH: eyebrow labels inherit Poppins-SemiBold (~600 real weight) from the
   blanket div rule, which beats this by specificity — font-weight:800 was a
   no-op on that static file. Use the real ExtraBold file, already wired
   site-wide for headings, with a .bakery-boosted selector to win. */
body #content .bakery .ehi-eyebrow{font-family:Poppins-ExtraBold, sans-serif !important;}

.bakery .ehi-badges-slick .slick-slide{text-align:center;}
.bakery .ehi-badges-slick .ehi-badge-slide{padding:0 7px;box-sizing:border-box;}
body #content .ehi-badge{background:var(--light1) !important;border:1px solid var(--dark2);border-radius:12px;padding:20px 26px;box-shadow:0 4px 16px rgba(12,46,82,.08);display:flex !important;align-items:center;justify-content:center;width:100% !important;height:100%;box-sizing:border-box;}
.bakery .ehi-badge img{max-height:60px;max-width:190px;width:auto;height:auto;display:block;}

body #content .bakery .ehi-texas-copy-col .ehi-eyebrow{color:var(--light5) !important;}
.bakery .ehi-fivestar-logo{height:88px;width:auto;margin:0 auto 16px;display:block;}




/* PATCH: process-line via column pseudo-elements (not vc_row, so no clearfix specificity fight) */
.bakery .ehi-pstep-col{position:relative}
.bakery .ehi-pstep-col:not(:first-child)::before{content:"";position:absolute;top:34px;left:-50%;width:100%;height:2px;background:repeating-linear-gradient(90deg,var(--accent1) 0 10px,transparent 10px 20px);z-index:0}
.bakery .ehi-pstep-col .ehi-pstep-n{position:relative;z-index:1}
@media(max-width:880px){.bakery .ehi-pstep-col:not(:first-child)::before{display:none}}

/* PATCH: batch fixes — heroes ribbon color, heroes/referral outline buttons, loc pins, community image gradient */
.bakery .ehi-heroes-ribbon{color:#fff !important}
.bakery a.ehi-btn-heroes{display:inline-flex;align-items:center;gap:8px;background:transparent;color:#fff;border:2px solid rgba(255,255,255,.7);border-radius:50px;padding:13px 28px;font-weight:800;font-size:15px;text-decoration:none;transition:all .15s ease-in-out}
.bakery a.ehi-btn-heroes:hover{background:rgba(255,255,255,.15);color:#fff}
.bakery a.ehi-btn-outline-blue{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--accent1);border:2px solid var(--accent1);border-radius:50px;padding:13px 28px;font-weight:800;font-size:15px;text-decoration:none;transition:all .15s ease-in-out}
.bakery a.ehi-btn-outline-blue:hover{background:var(--accent1);color:#fff}
.bakery .ehi-loc-pin{background:var(--accent3)}
.bakery .ehi-service-areas .ehi-loc-pin{background:var(--accent2)}
.bakery .ehi-impact-ph{position:relative}
.bakery .ehi-impact-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(7,58,107,.7))}

/* PATCH: fix button text color (body #content a is ID-specificity, needs !important) + fin-label/val real bold font-file */
.bakery a.ehi-btn-heroes{color:#fff !important}
.bakery a.ehi-btn-heroes:hover{color:#fff !important}
.bakery a.ehi-btn-outline-blue{color:var(--accent1) !important}
.bakery a.ehi-btn-outline-blue:hover{color:#fff !important}
body #content .bakery .ehi-fin-label{font-family:'Poppins-ExtraBold',sans-serif !important}
body #content .bakery .ehi-fin-val{font-family:'Poppins-ExtraBold',sans-serif !important}

/* PATCH: whygrid/stats — full single-column wrap at 979px (per explicit instruction, not staged comp breakpoints) */
@media(max-width:979px){
  body #content .ehi-whygrid{grid-template-columns:1fr !important}
  body #content .ehi-stats{grid-template-columns:1fr !important}
}

/* PATCH: header/footer build — left-right-header nav left-align, phone+hours next to button, utility bar left-only */
.bakery .top-widget .span6.right,
body #content ~ .top-widget .span6.right,
header .top-widget .span6.right{display:none !important}
header .top-widget .span6.left{width:100% !important}
header .top-widget .container{justify-content:flex-start !important}
.left-right-header .nav-and-button{justify-content:space-between !important;width:100%}
.left-right-header .navigation-top{width:auto !important;flex:1}
.left-right-header .header-button{display:flex;align-items:center;gap:18px}
.ehi-header-phone{font-family:'Poppins-ExtraBold',sans-serif !important;color:var(--accent1);font-size:17px;white-space:nowrap;text-decoration:none;display:block;line-height:1.2}
.ehi-header-phone small{font-family:'Poppins-SemiBold',sans-serif !important;display:block;font-size:11px;color:var(--dark3);text-transform:none}

/* PATCH: promo strip (top1 widget) styling — matches comp .promo */
header .top-widget{background:var(--accent1) !important}
.ehi-promo-strip{color:#fff;font-weight:600;font-size:14px;display:flex;align-items:center;justify-content:center;gap:14px;padding:10px 22px;text-align:center;width:100%}
.ehi-promo-strip a{color:#fff;text-decoration:underline;font-weight:800}

/* PATCH: prevent primary nav from flex-shrinking/wrapping to 2 lines */
.left-right-header .primary-navigation{flex-shrink:0}
.left-right-header .menu-wrapper{flex-wrap:nowrap !important}
.left-right-header .header-button{flex-shrink:0}

/* PATCH: footer-1 widget spacing (classes, no inline margins) */
.ehi-footer-address{margin-top:12px}
.ehi-footer-contact{margin-top:8px}

/* PATCH: promo strip font leak fix (Literata serif bug, same pattern as earlier page fixes) */
.ehi-promo-strip{font-family:'Poppins-SemiBold',sans-serif !important}
.ehi-promo-strip strong{font-family:'Poppins-ExtraBold',sans-serif !important;color:var(--accent3) !important}
.ehi-promo-strip a{font-family:'Poppins-ExtraBold',sans-serif !important;color:#fff !important;text-decoration:underline !important}

/* PATCH: footer colors — match comp's dark navy footer (was theme default white/black) */
footer#footer{background:var(--accent1) !important;color:#aebed0}
footer#footer h2.widget-title,footer#footer h4{color:#fff !important}
footer#footer a{color:#aebed0 !important;text-decoration:none}
footer#footer a:hover{color:#fff !important}
footer#footer strong,footer#footer b{color:#fff !important}
.row.copyright{background:#0c2538 !important;border-top:1px solid rgba(255,255,255,.1)}
.row.copyright #copyright-p,.row.copyright .copyright-links,.row.copyright .copyright-links a{color:#aebed0 !important}
.row.copyright .copyright-links a:hover{color:#fff !important}

/* PATCH: footer-1 additions — financing line, social icons, BBB seal */
.ehi-footer-financing{margin-top:8px;font-size:13px;color:#7a9ab0}
.ehi-footer-financing a{color:#7a9ab0;text-decoration:underline;display:inline}
footer#footer .ehi-footer-logo ~ ul.social.top-widget-socials{display:flex;gap:10px;margin-top:14px;list-style:none;padding:0}
footer#footer ul.social.top-widget-socials li{margin:0}
footer#footer ul.social.top-widget-socials a{width:34px;height:34px;border-radius:8px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;padding:0;font-size:15px;color:#fff !important}
footer#footer ul.social.top-widget-socials a i{color:#fff !important}
footer#footer ul.social.top-widget-socials a:hover{background:var(--accent1)}
.ehi-footer-bbb{margin-top:16px}

/* PATCH: tagline white, footer nav bullets removed + spaced, widget titles uppercase */
.ehi-footer-tagline{color:#fff !important}
footer#footer h2.widget-title{text-transform:uppercase}
footer#footer .menu li{list-style:none;margin-bottom:8px}
footer#footer .menu{list-style:none;padding-left:0;margin:0}


/* PATCH: privacy/terms links no underline */
.row.copyright .copyright-links a{text-decoration:none !important}

/* PATCH: header CTA button — lives outside .bakery, my earlier btn-bt skins never reached it */
.left-right-header .header-button a.btn-bt.default{background:var(--accent2) !important;color:#fff !important;border-radius:50px !important;font-weight:800 !important;box-shadow:0 6px 20px rgba(51,141,169,.3)}
.left-right-header .header-button a.btn-bt.default:hover{background:var(--accent1) !important}


/* QA #1 (2026-08-06): main nav pushed right +100px, more space from logo, desktop only */
@media(min-width:980px){
.left-right-header .navigation-top{margin-left:100px !important;}
}






/* Icon fixes 2026-08-07 v3 - real uploaded SVG files (short url()), NOT inline data-URIs.
   Inline data-URI attempt (v1/v2) broke the custom-css REST endpoint: overly long single-line
   url() values caused the plugin's block-replace regex to silently wipe the whole home block
   (reported success, byte counts even matched, but GET afterward showed the block empty).
   Restored from backup once, confirmed root cause, switched to this approach. Keep url()s short
   going forward for this endpoint - no inline SVG/data-URI content in custom-css POSTs. */
.bakery .ehi-whygrid .ehi-whycard:nth-child(1) .ehi-whycard-ic{background-image:url("https://expohomeimprovement.vmgagencysites.com/wp-content/uploads/2026/08/ehi-icon-tool.svg");background-repeat:no-repeat;background-position:center;background-size:28px 28px;}
.bakery .ehi-whygrid .ehi-whycard:nth-child(2) .ehi-whycard-ic{background-image:url("https://expohomeimprovement.vmgagencysites.com/wp-content/uploads/2026/08/ehi-icon-award.svg");background-repeat:no-repeat;background-position:center;background-size:28px 28px;}
.bakery .ehi-whygrid .ehi-whycard:nth-child(3) .ehi-whycard-ic{background-image:url("https://expohomeimprovement.vmgagencysites.com/wp-content/uploads/2026/08/ehi-icon-shield.svg");background-repeat:no-repeat;background-position:center;background-size:28px 28px;}
.bakery .ehi-whygrid .ehi-whycard:nth-child(4) .ehi-whycard-ic{background-image:url("https://expohomeimprovement.vmgagencysites.com/wp-content/uploads/2026/08/ehi-icon-clock.svg");background-repeat:no-repeat;background-position:center;background-size:28px 28px;}
.bakery .ehi-pstep-col:nth-child(1) .ehi-pstep-n{background-image:url("https://expohomeimprovement.vmgagencysites.com/wp-content/uploads/2026/08/ehi-icon-calendar.svg");background-repeat:no-repeat;background-position:center;background-size:28px 28px;}
.bakery .ehi-pstep-col:nth-child(2) .ehi-pstep-n{background-image:url("https://expohomeimprovement.vmgagencysites.com/wp-content/uploads/2026/08/ehi-icon-gear.svg");background-repeat:no-repeat;background-position:center;background-size:28px 28px;}
.bakery .ehi-pstep-col:nth-child(3) .ehi-pstep-n{background-image:url("https://expohomeimprovement.vmgagencysites.com/wp-content/uploads/2026/08/ehi-icon-check.svg");background-repeat:no-repeat;background-position:center;background-size:28px 28px;}
.bakery .ehi-contact-grid .ehi-contact-card:nth-child(1) .ehi-contact-ic{background-image:url("https://expohomeimprovement.vmgagencysites.com/wp-content/uploads/2026/08/ehi-icon-clipboard.svg");background-repeat:no-repeat;background-position:center;background-size:28px 28px;}
.bakery .ehi-contact-grid .ehi-contact-card:nth-child(2) .ehi-contact-ic{background-image:url("https://expohomeimprovement.vmgagencysites.com/wp-content/uploads/2026/08/ehi-icon-phone.svg");background-repeat:no-repeat;background-position:center;background-size:28px 28px;}
.bakery .ehi-contact-grid .ehi-contact-card:nth-child(3) .ehi-contact-ic{background-image:url("https://expohomeimprovement.vmgagencysites.com/wp-content/uploads/2026/08/ehi-icon-users.svg");background-repeat:no-repeat;background-position:center;background-size:28px 28px;}

/* Reviews section - fixed-height-with-truncation 2026-08-07 (client approved) */
/* .bakery .ehi-tcarousel{min-height:300px;} */
.bakery .ehi-tslide {
    justify-content: center;
    flex-direction: column;
    box-sizing: border-box;
    min-height: 350px;
    display: none;
    height: 100%;
}

/* @media (max-width: 1440px) { .bakery .ehi-tslide { min-height: 350px; }}
@media (max-width: 1024px) { .bakery .ehi-tslide { min-height: 350px; }}
@media (max-width: 979px)  { .bakery .ehi-tslide { min-height: 350px; }}
@media (max-width: 768px)  { .bakery .ehi-tslide { min-height: 350px; }}
@media (max-width: 480px)  { .bakery .ehi-tslide { min-height: 350px; }}
@media (max-width: 440px)  { .bakery .ehi-tslide { min-height: 350px; }} */

.bakery .ehi-tslide.active{display:flex;}
body #content .ehi-tq{display:-webkit-box !important;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;max-width:560px;margin-left:auto !important;margin-right:auto !important;}



/* Datepicker disabled-day styling 2026-08-07 - visually distinguish the
   next-7-days-only restriction now that the min/max date fix actually works
   (see code-snippets id 7 fix: minDate/maxDate needed plain integers, not
   '+1'/'+7' strings, for the new GF datepicker). Without this, restricted
   and selectable days looked identical. */
body #content .gform_legacy_markup_wrapper .gform-datepicker-calendar table.calendar td.disabled span{
    border-color:#8a94a3 !important;
    color:#8a94a3 !important;
    opacity:.45;
    cursor:not-allowed;
}
body #content .gform_legacy_markup_wrapper .gform-datepicker-calendar table.calendar td.disabled{
    cursor:not-allowed;
}

/* Datepicker hover + selected-day styling 2026-08-07 */
body #content .gform_legacy_markup_wrapper .gform-datepicker-calendar table.calendar td.day:not(.disabled):hover span,
body #content .gform_legacy_markup_wrapper .gform-datepicker-calendar table.calendar td.day.selected span{
    background:#f7b400 !important;
    border-color:#f7b400 !important;
    color:#0c2e52 !important;
}

/* Trust badges carousel — real logos vary wildly in native aspect ratio; fixed box gives every slide the same footprint (same fix applied on Windows page's copy of this component) */
.bakery.home .ehi-badges-slick .ehi-badge{height:72px !important;}
.bakery.home .ehi-badges-slick .ehi-badge img{max-height:48px;max-width:140px;width:auto;height:auto;object-fit:contain;}

/* === Page: windows === 2026-08-11 === */
/* HERO — reuses .ehi-hero-section/.ehi-hero-row/.ehi-hero-copy-col layout from Home; real comp photo (screenshotted off the rendered comp, gradient baked in already) */
.bakery.windows .ehi-hero-section{background-image:linear-gradient(125deg,rgba(12,46,82,.82) 0%,rgba(18,64,110,.55) 45%,rgba(42,179,192,.18) 100%),url('https://expohomeimprovement.vmgagencysites.com/wp-content/uploads/2026/07/windows-hero-real.jpg');background-size:cover;background-position:center;}
@media(min-width:980px){.bakery.windows .ehi-hero-section{min-height:600px;}}

/* SECTION INTRO WIDTH — comp's .sectintro is capped at max-width:620px, margin:0 auto, which is what gives blurb rows their tight/narrow editorial look. Home's reused .ehi-sectintro carries color only, no width constraint, so it stretched full-width on every heading+intro row on this page. */
body #content .ehi-sectintro:not(.wider) {
	max-width: 820px;
	margin: 0 auto !important;
}
/* Hero trustline chips + hero form reuse Home's real .ehi-trustline/.ehi-chip raw_html block and real [gravityform id=2] embed verbatim — no page-specific CSS needed. */
/* Trust badges row reuses Home's real .ehi-badges-slick component verbatim (Slick carousel, real logos) + one added Energy Star placeholder slide — no page-specific CSS needed beyond the text-only slide, which inherits .ehi-badge's flex centering already. */

/* MINI CTA BAND — solid accent1 via color class; button is accent3 (yellow) per comp, not light1 */
.bakery .windows-minicta-section{padding:36px 0 !important;}

/* BENEFITS GRID — 3-col modifier + white card background per comp (.benefits-grid .impact-card{background:white}) */
body #content .ehi-impact-grid.benefits-grid{grid-template-columns:repeat(3,1fr);}
@media(max-width:980px){body #content .ehi-impact-grid.benefits-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){body #content .ehi-impact-grid.benefits-grid{grid-template-columns:1fr;}}
.bakery .ehi-impact-grid.benefits-grid .ehi-impact-card{background:var(--light1) !important;}
/* Comp's impact photos never carry the sitewide bottom-gradient (::after on .ehi-impact-ph) outside Our Work's overlay-caption pattern — turn it off for Benefits/Options cards */
.bakery.windows .windows-benefits-section .ehi-impact-ph::after,
.bakery.windows .windows-options-section .ehi-impact-ph::after{background:none;}

/* OPTIONS GRID — comp uses flexbox (not grid) so a leftover row of 3 under 4 columns centers instead of left-aligning; also reset h3's inherited theme line-height */
body #content .ehi-impact-grid.window-types-grid{display:flex !important;flex-wrap:wrap;justify-content:center;}
body #content .ehi-impact-grid.window-types-grid .ehi-impact-card{flex:0 0 calc(25% - 16.5px) !important;max-width:calc(25% - 16.5px) !important;}
@media(max-width:980px){body #content .ehi-impact-grid.window-types-grid .ehi-impact-card{flex:0 0 calc(50% - 11px) !important;max-width:calc(50% - 11px) !important;}}
@media(max-width:560px){body #content .ehi-impact-grid.window-types-grid .ehi-impact-card{flex:0 0 100% !important;max-width:100% !important;}}
body #content .ehi-impact-body h3{line-height:1.2 !important;}

/* PROMO BAND — solid accent2 via color class; decorative heart SVG per comp, absolutely positioned behind the text */
.bakery .windows-promo-section{padding:44px 0 !important;position:relative;overflow:hidden;}
.bakery .ehi-promo-heart{position:absolute;right:-40px;top:50%;transform:translateY(-50%);width:260px;height:260px;opacity:.14;pointer-events:none;}
.bakery .ehi-promo-text{position:relative;z-index:1;}

/* OUR WORK — real proj-grid/proj-card/proj-overlay/proj-cap (image + white bottom-left caption over gradient), matches comp 1:1 */
.bakery .windows-work-section:not(.light1) {
	background:#E5F2F7;
}
.bakery .ehi-proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px;}
@media(max-width:768px){.bakery .ehi-proj-grid{grid-template-columns:1fr;}}
.bakery .ehi-proj-card{position:relative;border-radius:14px;overflow:hidden;box-shadow:0 4px 16px rgba(12,46,82,.08);aspect-ratio:3/4;background-size:cover;background-position:center;}
.bakery .ehi-proj-overlay{position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(7,20,35,.75));}
body #content .ehi-proj-cap{position:absolute;left:16px;bottom:14px;color:#fff !important;font-weight:800 !important;font-size:15px !important;z-index:1;}

/* OUR PROCESS BAND — real comp photo + bordered pb-frame + real SVG icons (calendar/gear/check) */
.bakery .our-process-section{background:linear-gradient(rgba(8,18,30,.6),rgba(8,18,30,.6)),url('https://expohomeimprovement.vmgagencysites.com/wp-content/uploads/2026/07/windows-process-bg.png');background-size:cover;background-position:center;padding:70px 22px;}
body #content .windows-process-eyebrow{color:var(--accent3) !important;}
.bakery .ehi-pb-frame{position:relative;max-width:1280px;margin:0 auto;border:1px solid rgba(255,255,255,.5);border-radius:16px;padding:46px 40px;text-align:center;}
.bakery .ehi-process-steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:34px;text-align:center;}
@media(max-width:980px){.bakery .ehi-process-steps3{grid-template-columns:1fr;}}
.bakery .ehi-process-icon{width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.1);border:2px solid var(--accent3);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;}
body #content .ehi-process-step h3{color:#fff !important;font-size:19px !important;font-weight:800 !important;margin-bottom:8px !important;}
body #content .ehi-process-step p{color:rgba(255,255,255,.85) !important;font-size:15px !important;line-height:1.55 !important;max-width:290px;margin:0 auto !important;}

/* TEAM SECTION — real comp photo, eyebrow, FAQ heading, native details/summary matching comp's faq-item pattern */
.bakery .windows-team-photo{width:100%;height:100%;min-height:340px;object-fit:cover;border-radius:16px;display:block;}
.bakery .windows-team-img-col .vc_column-inner{height:100%;}
.bakery .windows-team-img-col .wpb_wrapper{height:100%;}
body #content .windows-team-copy-col h3{font-size:20px !important;font-weight:800 !important;color:var(--accent1) !important;margin-top:20px !important;}
.bakery .ehi-faq-item{border-bottom:1px solid var(--dark2);padding:13px 0;}
body #content .ehi-faq-item summary{cursor:pointer;font-weight:700 !important;color:var(--dark3) !important;list-style:none;font-size:15px !important;}
.bakery .ehi-faq-item summary::-webkit-details-marker{display:none;}
.bakery .ehi-faq-item summary::before{content:"+  ";color:var(--accent2);font-weight:900;}
.bakery .ehi-faq-item[open] summary::before{content:"–  ";}
body #content .ehi-faq-item p{margin-top:8px !important;color:var(--dark3) !important;font-size:14px !important;line-height:1.6 !important;padding-left:20px;}

/* FINAL CTA — reuses .ehi-ctaband-section/.ehi-ctaband-row-inner/.ehi-ctaband-callbig verbatim from Home; button swapped to accent3 in content, "or" removed */
body #content .ehi-ctaband-phone-icon{color:var(--accent3) !important;margin-right:6px;}

@media(max-width:979px){
.bakery.windows .ehi-hero-copy-col,.bakery.windows .ehi-hero-form-col{padding:0 !important;}
}

/* SITEWIDE HEADER FIX (not page-scoped — header renders outside .bakery on every page) — mobile header-button (phone/hours + CTA) overflowed the viewport by 138px below 979px, causing horizontal scroll site-wide. Comp hides this cluster on mobile in favor of the hamburger menu. */
@media(max-width:979px){
.left-right-header .header-button{display:none !important;}
/* hiding header-button left the hamburger as the only visible child in .nav-and-button's flex row, collapsing it to the left where header-button used to sit — force it back to the right edge */
.left-right-header .nav-and-button{justify-content:flex-end !important;}
}

/* MOBILE NAV CONTRAST FIX (sitewide, not page-scoped) — theme's own options-page-stylesheet.php sets the mobile nav panel to background:var(--dark2) with text:var(--light1) (white). On this site's actual palette, --dark2 (#d0d1d3) is a LIGHT grey, not dark — so it renders as near-white text on light grey, unreadable. Comp shows black text on white. */
@media(max-width:979px){
header .left-right-mobile-nav > div > ul,
.main-navigation.display-small-desktop ul,
.js .top-header .main-navigation > div > ul{background-color:var(--light1) !important;}
header .left-right-mobile-nav ul#top-menu li a,
.left-logo-right-mobile-nav ul li a{color:var(--dark3) !important;}
header .left-right-mobile-nav ul#top-menu li a:hover,
.left-logo-right-mobile-nav ul li a:hover{color:var(--accent1) !important;}
header .left-right-mobile-nav ul#top-menu li{border-bottom-color:var(--light4) !important;}
}

/* MOBILE NAV — phone + full-width CTA button, added as real menu items (display-small-desktop class, so hidden on desktop) per comp */
@media(max-width:979px){
.ehi-mobile-nav-phone > a{font-weight:800 !important;color:var(--accent1) !important;}
.ehi-mobile-nav-cta{padding:16px !important;}
.ehi-mobile-nav-cta > a{display:block;text-align:center;background:#296F86;color:var(--light1) !important;font-weight:800 !important;border-radius:50px;padding:14px !important;}
header .left-right-mobile-nav ul#top-menu li.ehi-mobile-nav-cta a{color:var(--light1) !important;}
}

/* SITEWIDE FOOTER FIX (not page-scoped — footer renders outside .bakery on every page) — footer-col-1/2/3/4 stack to full-width below 979px (this theme's actual stack breakpoint, not Bootstrap's default 767px) but content stayed left-aligned; center everything when stacked. */
@media(max-width:979px){
.site-footer [class*="footer-col-"] .sidebar{text-align:center;}
.site-footer [class*="footer-col-"] .sidebar ul.menu{padding:0;}
.site-footer [class*="footer-col-"] .sidebar ul.social{justify-content:center;}
.site-footer .ehi-footer-bbb{display:flex;justify-content:center;}
}

/* PROMO STRIP PADDING (sitewide, not page-scoped) — remove the 10px/22px padding so the strip sits flush */
.ehi-promo-strip{padding:0 !important;}

/* PROMO STRIP */
@media (max-width: 768px) {
	.ehi-promo-strip {
		display: block;
	}
	.ehi-promo-strip,
	.ehi-promo-strip-detail,
	.ehi-promo-strip-detail strong,
	.ehi-promo-strip-detail span,
	.ehi-promo-strip-detail a {
		line-height: 16px;
		font-size: 12px;
	}
}

/* HEADER COMPRESSION (sitewide, not page-scoped) — between the mobile-nav switch (979px) and 1300px, the desktop nav+logo+header-button never shrink and force ~290px of horizontal overflow (menu-wrapper stays nowrap, header-button stays flex-shrink:0). Compress everything just enough to fit; reverts to normal outside this range. */
@media(min-width:980px) and (max-width:1300px){
.left-right-header .logo img{max-height:36px !important;height:36px !important;}
.left-right-header .menu-wrapper > li{padding:38px 1px !important;}
.left-right-header .menu-wrapper > li > a{padding-right:8px !important;font-size:13px !important;}
.left-right-header .menu-wrapper > li.menu-item-has-children > a{padding-right:18px !important;}
.left-right-header .menu-wrapper li.menu-item-has-children > a::after{font-size:13px !important;}
.left-right-header .menu-wrapper > li.menu-item-has-children{margin-right:6px !important;}
.left-right-header .header-button{gap:8px !important;}
.ehi-header-phone{font-size:13px !important;}
.ehi-header-phone small{display:none !important;}
.left-right-header .header-button a.btn-bt.default{padding:8px 12px !important;font-size:13px !important;}
}

/* GF hero form — remove GF's default top/bottom margin so it sits flush inside the form card */
.gform_legacy_markup_wrapper{margin-top:0 !important;margin-bottom:0 !important;}
button#datepicker_toggle_input_2_4 {
    border: 2px solid var(--dark3);
    background-color: #ccc;
    border-radius: 8px;
    position: absolute;
    padding: 15px;
    left: 11px;
    top: 9px;
}
body #content input#input_2_4[type=text] {
    padding-left: 60px !important;
}
tr.yearSelector {
    display: none !important;
}
div.monthMessage,
div#DC4X1786136258357 {
    display: none !important;
}
div#gform_confirmation_message_2 {
    border: 4px solid var(--accent1);
    color: var(--accent1);
    border-radius: 24px;
    text-align: center;
    background: #FFF;
    padding: 24px;
}
body #content .gform_legacy_markup_wrapper .gform-datepicker-calendar table.calendar td span {
    align-items: center;
    background: 0 0;
    border: 2px solid #f7b400;
    border-radius: 8px;
    box-shadow: none;
    color: #ffffff;
}
.gform_legacy_markup_wrapper .gform-datepicker-calendar table.calendar th span {
    font-weight: 600 !important;
    color: #FFF !important;
}
.ginput_container.ginput_container_consent {
    line-height: 1.1;
}
label.gfield_consent_label,
label.gfield_consent_label span.gform-field-label__text {
    font-size: 12px;
    line-height: 12px;
}
body #content .gform_legacy_markup_wrapper .top_label div.ginput_container {
    margin-top: -1px;
    margin-bottom: 12px;
}
body #content .gform_legacy_markup_wrapper .gform-datepicker-calendar {
    background: var(--accent1);
    border: .0625rem solid #d0d1d3;
    border-radius: 24px;
}
@media (max-width: 480px) {
  div#gform_confirmation_message_2 {
    font-size: 16px !important;
  }
}

/* STICKY HEADER (sitewide, not page-scoped) — uses the existing .scrolling class already toggled by my-script.js at scrollTop>50. .top-widget (promo strip) collapses via max-height/opacity instead of display:none so it animates instead of snapping.
   Sticky is applied to .site-header itself, not just .top-header — .site-header has a fixed height, which becomes the sticky element's containing block; a child stuck inside a short fixed-height parent detaches as soon as you scroll past that parent's box. Since .top-widget collapses to 0 the instant .scrolling is added, stickying the whole header looks identical but actually works. */
.top-widget{overflow:hidden;max-height:120px;opacity:1;transition:max-height .35s ease,opacity .25s ease,padding .25s ease;}
.site-header{transition:box-shadow .3s ease;}
body{--ehi-admin-bar-offset:0px;}
body.admin-bar{--ehi-admin-bar-offset:32px;}
/* This theme hides #wpadminbar and resets margin-top:0 at max-width:979px (shell-styles.css) — not WP core's default 782px — so the offset must zero out at the same breakpoint or a gap opens above the sticky header once .top-widget collapses. */
@media(max-width:979px){body.admin-bar{--ehi-admin-bar-offset:0px;}}
header.scrolling{position:sticky !important;top:var(--ehi-admin-bar-offset) !important;z-index:500 !important;height:auto !important;box-shadow:0 4px 12px rgba(0,0,0,.08);}
header.scrolling .top-widget{max-height:0 !important;opacity:0 !important;padding-top:0 !important;padding-bottom:0 !important;}

/* SCROLL-ANCHORING FIX — the browser's scroll anchoring feature actively fights .top-widget's flow-height collapse right at the scrollTop>50 threshold: content above the viewport shrinking makes the browser auto-correct scroll position to compensate, which re-crosses the 50px threshold and toggles .scrolling again — a feedback loop, worst at slow scroll speeds where you linger in that reactive zone. Scoping the fix to just the header/widget wasn't enough — the anchor node the browser picks isn't necessarily the element that resized, so disable anchoring document-wide (the standard fix for this class of bug). */
html{overflow-anchor:none;}

/* MOBILE NAV DROPDOWN — #mobile-site-navigation is a static in-flow child of .site-header. Once .site-header goes position:sticky, an expanded dropdown (in-flow, potentially taller than the viewport with submenus open) has its lower portion render past the sticky box's visible area — sticky elements don't scroll independently, so that overflow is simply unreachable. Fix: take it out of the sticky flow entirely with its own fixed position + scroll. */
/* PATCH: my-script.js only toggles the "toggled" class on the inner ul.mobile-menu, never on this nav wrapper — so top:140px+bottom:0 gave the wrapper an explicit full-viewport box AT ALL TIMES, even menu-closed, silently blocking every click on the page below the header. Gate the hit area to only exist while the menu is actually open. */
@media(max-width:979px){
#mobile-site-navigation{position:fixed !important;left:0;right:0;top:140px;overflow-y:auto;z-index:499;-webkit-overflow-scrolling:touch;bottom:auto;height:0;pointer-events:none;}
#mobile-site-navigation:has(ul.mobile-menu.toggled){bottom:0;height:auto;pointer-events:auto;}
.site-header.scrolling #mobile-site-navigation{top:100px;}
}




/* PATCH: promo heart hugs section edge, not the collapsed WPBakery column (wpb_column position:relative on the heart's own zero-height row/column was intercepting the top:50%/right:-40 containing block ahead of the section) */
.windows-promo-section > .vc_row:not(.windows-promo-row) .wpb_column{position:static;}




/* OUR PROCESS — icons were never set (empty circles); reuse Home's calendar/gear/check SVGs, same 3-step semantics (Schedule/Installation/Satisfaction) */
.bakery .our-process-col .ehi-process-step:nth-child(1) .ehi-process-icon{background-image:url("https://expohomeimprovement.vmgagencysites.com/wp-content/uploads/2026/08/ehi-icon-calendar.svg");background-repeat:no-repeat;background-position:center;background-size:28px 28px;}
.bakery .our-process-col .ehi-process-step:nth-child(2) .ehi-process-icon{background-image:url("https://expohomeimprovement.vmgagencysites.com/wp-content/uploads/2026/08/ehi-icon-gear.svg");background-repeat:no-repeat;background-position:center;background-size:28px 28px;}
.bakery .our-process-col .ehi-process-step:nth-child(3) .ehi-process-icon{background-image:url("https://expohomeimprovement.vmgagencysites.com/wp-content/uploads/2026/08/ehi-icon-check.svg");background-repeat:no-repeat;background-position:center;background-size:28px 28px;}




/* HERO H1 — fix letter overlap per client */
body #content .bakery.windows .ehi-hero-section h1{line-height:1.3 !important;letter-spacing:0px !important;}

/* Trust badges carousel — real logos vary wildly in native aspect ratio (near-square vs wide wordmarks); fixed height on the badge box gives every slide the same footprint regardless of source image shape */
.bakery.windows .ehi-badges-slick .ehi-badge{height:72px !important;}
.bakery.windows .ehi-badges-slick .ehi-badge img{max-height:48px;max-width:140px;width:auto;height:auto;object-fit:contain;}








/* === Page: legal-pages === 2026-08-07 === */
/* LEGAL PAGES (Privacy Policy / Terms & Conditions) — real client copy, prose-width constraint for readability */
.bakery .ehi-legal-content{max-width:820px;margin:0 auto;}
body #content .ehi-legal-content h1{font-size:38px !important;font-weight:900 !important;margin-bottom:24px !important;color:var(--accent1) !important;}
body #content .ehi-legal-content h2{font-size:24px !important;font-weight:800 !important;margin-top:32px !important;margin-bottom:10px !important;color:var(--accent1) !important;}
body #content .ehi-legal-content p{font-size:15px !important;line-height:1.7 !important;color:var(--dark3) !important;margin-bottom:14px !important;}
body #content .ehi-legal-content ul{margin-bottom:14px !important;padding-left:22px !important;}
body #content .ehi-legal-content li{font-size:15px !important;line-height:1.6 !important;color:var(--dark3) !important;margin-bottom:6px !important;}
body #content .ehi-legal-content a{color:var(--accent2) !important;text-decoration:underline !important;}

/* === Page: locations-shared === 2026-08-11 === */
/* LOCATION PAGES — shared component styling for all 146 service-area pages (Carrollton template + batch). Kept in its own named block since every location page reuses these classes identically; avoids duplicating this CSS 146 times. */
.bakery .ehi-location-blurbs-row h2{margin-bottom:8px;}
.bakery .ehi-location-blurbs-row .wpb_column > .wpb_wrapper > .wpb_text_column{margin-bottom:28px;}
/* RADIUS SECTION REDESIGN — was a flat white section with 50+ pill bubbles wrapping unstructured; replaced with a real section background + a floating card containing a dense, readable grid instead of a wrapped pill cloud. */
.bakery .ehi-location-radius-row{padding:64px 0;}
body #content .bakery .ehi-location-radius-row h3{color:#fff !important;text-align:center;font-size:28px !important;font-weight:900 !important;letter-spacing:-.4px;margin-bottom:10px !important;}
body #content .bakery .ehi-location-radius-row > .vc_row > .wpb_column > .wpb_wrapper > .wpb_text_column > p{color:rgba(255,255,255,.8) !important;text-align:center;max-width:640px;margin:0 auto !important;}
.bakery .ehi-location-radius-card{background:#fff;border-radius:18px;padding:30px 34px;margin:32px auto 0;max-width:1015px;box-shadow:0 12px 34px rgba(6,20,38,.28);}

@media (max-width: 480px) {
	.bakery section.showrooms-section .ehi-location-radius-card {
		padding: 24px 20px !important;
		min-height: unset !important;
	}
}

ul.ehi-location-radius-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:4px 20px;list-style:none;padding:0;margin:0;text-align:left;}
ul.ehi-location-radius-list li{display:flex;align-items:center;gap:8px;padding:7px 0;font-size:14px;font-weight:700;color:var(--dark3);border-bottom:1px solid var(--light4);}
ul.ehi-location-radius-list li::before{font-family:"Font Awesome 6 Free";font-weight:900;content:"\f3c5";font-size:11px;color:var(--accent2);flex-shrink:0;}
@media(max-width:767px){
  .bakery .ehi-location-radius-card{padding:24px 20px;}
  ul.ehi-location-radius-list{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));}
}
section.blurb-section a.btn-bt,
section.fifty-section a.btn-bt {
    margin-top: 24px;
}
section.fifty-section .ehi-svc-img-col .vc_column-inner {
    height: 100%;
}

/* fontawesome.css only maps .fa-solid/.fas classes to the "Font Awesome 6 Free" family — it never declares an @font-face for it (only Brands has one, via brands.css). The woff2 file exists on the server already, just unregistered. Fixes solid-icon rendering sitewide, not just the radius-list pin. */
@font-face {
    font-family: 'Font Awesome 6 Free';
    font-style: normal;
    font-weight: 900;
    font-display: block;
    src: url("/wp-content/themes/vds/fa/fa_6.4.2/webfonts/fa-solid-900.woff2") format("woff2"), url("/wp-content/themes/vds/fa/fa_6.4.2/webfonts/fa-solid-900.ttf") format("truetype");
}

section.vc_section.ehi-location-radius-row p {
    color: var(--light1);
}

body #content .blurb-row h3 {
		color: var(--accent1) !important;
}

@media (max-width: 480px) {
	body #content .ehi-hero-form-col {
	    padding-left: 0px !important;
	}
	body #content .ehi-hero-copy-col h1 {
	    letter-spacing: 0px !important;
	    margin-bottom: 12px !important;
	    line-height: 1.3 !important;
	    font-size: 28px !important;
	}
	.bakery section.service-area-hero .ehi-hero-cta-row {
		flex-direction: column;
		flex-wrap: unset;
		gap: 5px;
	}
	section.fifty-section .ehi-svc-img-col .vc_column-inner {
	    height: 270px;
	}
	body #content .blurb-row h3 {
		color: var(--accent1) !important;
		margin-bottom: 8px !important;
		font-weight: 900 !important;
		line-height: 1.1 !important;
		font-size: 24px !important;
		letter-spacing: -.5px;
	}
	body #content .bakery .ehi-location-radius-row h3 {
	    margin-bottom: 12px !important;
	    font-size: 24px !important;
	    letter-spacing: -.5px;
    	line-height: 1.3;
	}
	body #content .ehi-ctaband-section h2 {
		letter-spacing: -.5px !important;
		font-size: 24px !important;
		line-height: 1.3;
	}
	ul.ehi-location-radius-list {
		flex-wrap: wrap;
		display: flex;
		gap: 5px;
	}
	ul.ehi-location-radius-list li {
	    font-size: 12px;
	    width: 49%;
	}
	.bakery .ehi-location-radius-card {
        padding: 24px 20px;
    }
	.ehi-hero-cta-row,
	.bottom-cta .ehi-ctaband-row-inner {
		flex-direction: column;
		gap: 4px !important;
		flex-wrap: unset;
	}
	body a.btn-bt,
	body a.btn-bt.default,
	body a.btn-bt.alternate,
	body form .gform_footer input[type="submit"] {
		padding: 14px 26px;
	}
	body .showroom-card h3 {
    	font-size: 24px;
    	line-height: 1.3;
	}
}

/* === Page: contact-us === 2026-08-12 === */
#contact-page .ehi-location-radius-card h3{font-size:20px;line-height:36px;}
#contact-page .ehi-location-radius-card{min-height:450px;}

/* === Page: showroom-shared === 2026-08-12 === */
.showroom-hero-section{background: linear-gradient(180deg, var(--accent2) 0%, var(--accent1) 100%);}
body #content .showroom-hero-section .ehi-eyebrow{color:#fff !important;}
.showroom-hero-section h1{color:#fff;}
body #content .showroom-hero-section .ehi-sectintro{color:#fff !important;}
.showroom-card{margin-top:0 !important;}

/* === Page: legal-header-gradient === 2026-08-14 === */
.page-id-1617 .default-header,
.page-id-2816 .default-header,
.page-id-1627 .default-header,
.page-id-1615 .default-header{background: linear-gradient(180deg, var(--accent2) 0%, var(--accent1) 100%) !important;}
.page-id-1617 .default-header h1,
.page-id-2816 .default-header h1,
.page-id-1627 .default-header h1,
.page-id-1615 .default-header h1{color:#fff !important;}


/* === Page: system-template-header-gradient === 2026-08-14 === */
body.error404 .default-header,
body.search .default-header{background: linear-gradient(180deg, var(--accent2) 0%, var(--accent1) 100%) !important;}
body.error404 .default-header h1,
body.search .default-header h1{color:#fff !important;}

/* === Page: ehi-svc-img-col-mobile-fix === 2026-08-14 === */
@media(max-width:979px){
.bakery .ehi-svc-img-col{min-height:280px !important;}
section.fifty-section .ehi-svc-img-col .vc_column-inner{min-height:280px !important;}
}


/* === Page: ehi-impact-card-heading-links === 2026-08-14 === */
.bakery .ehi-impact-body h3 a:hover{color:var(--accent2) !important;text-decoration:underline !important;}


/* === Page: ehi-impact-grid-center === 2026-08-14 === */
.bakery .ehi-impact-grid{display:flex !important;flex-wrap:wrap;justify-content:center;}
.bakery .ehi-impact-grid .ehi-impact-card{flex:0 0 calc(25% - 16.5px);max-width:calc(25% - 16.5px);}
@media(max-width:980px){.bakery .ehi-impact-grid .ehi-impact-card{flex:0 0 calc(50% - 11px) !important;max-width:calc(50% - 11px) !important;}}
@media(max-width:560px){.bakery .ehi-impact-grid .ehi-impact-card{flex:0 0 100% !important;max-width:100% !important;}}


/* === Page: ehi-proj-grid-center === 2026-08-14 === */
.bakery .ehi-proj-grid{display:flex !important;flex-wrap:wrap;justify-content:center;}
.bakery .ehi-proj-grid .ehi-proj-card{flex:0 0 calc(33.333% - 14.667px);max-width:calc(33.333% - 14.667px);}
@media(max-width:768px){.bakery .ehi-proj-grid .ehi-proj-card{flex:0 0 100% !important;max-width:100% !important;}}


/* === Page: windows-icon-ph === 2026-08-14 === */
.bakery .windows-icon-ph{background:var(--accent1) !important;display:flex !important;align-items:center;justify-content:center;}


/* === Page: ehi-promo-heart-override === 2026-08-14 === */
.bakery .ehi-promo-heart{height:auto !important;opacity:1 !important;}


/* === Page: location-radius-list-480-padding === 2026-08-14 === */
@media(max-width:480px){ul.ehi-location-radius-list li{padding:0 !important;}}


/* === Page: service-area-hero-overlay === 2026-08-14 === */
.bakery .ehi-service-area-hero-overlay{position:relative;}
.bakery .ehi-service-area-hero-overlay::before{content:"";position:absolute;inset:0;background:linear-gradient(125deg,rgba(12,46,82,.82) 0%,rgba(18,64,110,.55) 45%,rgba(42,179,192,.18) 100%);}


/* === Page: fix-missing-light4-light5-classes === 2026-08-18 === */
/* === Page: fix-missing-light4-light5-classes === */
section.light4, .wpb_row.light4, .vc_inner.light4, .wpb_column.light4 { background: var(--light4); }
section.light5, .wpb_row.light5, .vc_inner.light5, .wpb_column.light5 { background: var(--light5); }


/* === Page: util-mt0 === 2026-08-18 === */
/* === Page: util-mt0 === */
body #content .mt0 { margin-top: 0 !important; }

/* === Page: fix-light2-card-contrast === 2026-08-18 === */
/* === Page: fix-light2-card-contrast === */
.light2 .ehi-impact-card, .light4 .ehi-impact-card{background:var(--light1) !important;}

/* === Page: fix-light2-card-contrast === */
.light2 .ehi-impact-card{background:var(--light1) !important;}


/* === Page: fix-radius-card-max-width === 2026-08-18 === */
/* === Page: fix-radius-card-max-width === */
.bakery .ehi-location-radius-card { max-width: 1100px; }


/* === Page: fix-ctaband-p-white === 2026-08-18 === */
/* === Page: fix-ctaband-p-white === */
body #content .ehi-ctaband-col p{color:#fff !important;}

/* === Page: blog-design === 2026-08-18 === */
/* ---------- Archive grid: card treatment ---------- */

.blog:not(.single) #primary article {
    background: var(--light1);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(34, 60, 105, 0.08);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    display: flex;
    flex-direction: column;
}

.blog:not(.single) #primary article:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(34, 60, 105, 0.14);
}

.blog:not(.single) #primary article .post-image-wrap {
    margin-bottom: 0;
    border-radius: 0;
}

.blog:not(.single) #primary .post-text-wrap {
    padding: 24px 24px 0;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}

.blog:not(.single) #primary .archive-post-title {
    margin-bottom: 10px;
    font-size: 22px;
    line-height: 1.25;
}

.blog:not(.single) #primary .archive-post-title-link {
    color: var(--accent1);
    text-decoration: none;
}

.blog:not(.single) #primary .archive-post-title-link:hover {
    color: var(--accent3);
}

.blog:not(.single) #primary .archive-post-excerpt {
    color: var(--dark3);
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 20px;
    flex: 1 1 auto;
}

.blog:not(.single) #primary .post-read-more-wrap {
    padding: 0 24px 24px;
}

.blog:not(.single) #primary .post-read-more-wrap .archive-btn {
    display: inline-block;
    font-size: 14px;
    font-family: 'Poppins-SemiBold', sans-serif !important;
    font-weight: 800 !important;
}

/* pagination row */

.blog:not(.single) #primary #pagination {
    grid-column: 1 / -1;
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
    padding-top: 24px;
    border-top: 1px solid var(--light4);
    font-family: 'Poppins-Regular', sans-serif !important;
}

.blog:not(.single) #pagination a {
    color: var(--accent1) !important;
    font-family: 'Poppins-SemiBold', sans-serif !important;
    font-weight: 700;
    text-decoration: none;
}

.blog:not(.single) #pagination a:hover {
    color: var(--accent3);
}

/* ---------- Sidebar (archive + single share #secondary) ---------- */

aside#secondary {
    background: var(--light2) !important;
    border-radius: 24px;
}

aside#secondary .widget:last-child {
    margin-bottom: 0 !important;
}

aside#secondary .widget-content {
    background: var(--light1);
    border-radius: 16px;
    padding: 28px 24px;
    margin-bottom: 32px;
    box-shadow: 0 2px 10px rgba(34, 60, 105, 0.06);
}

aside#secondary .widget-title {
    font-size: 18px;
    color: var(--accent1);
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--accent3);
}

aside#secondary .widget-content ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

aside#secondary .widget-content ul li {
    padding: 10px 0;
    border-bottom: 1px solid var(--light4);
}

aside#secondary .widget-content ul li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

aside#secondary .widget-content ul li a {
    color: var(--dark3);
    text-decoration: none;
    font-size: 15px;
    line-height: 1.4;
}

aside#secondary .widget-content ul li a:hover {
    color: var(--accent1);
}

/* ---------- Single post ---------- */

.single .wrap {
    align-items: flex-start;
}

.single .single-post-feat-img-wrap {
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 28px;
    box-shadow: 0 6px 20px rgba(34, 60, 105, 0.12);
}

.single .single-post-feat-img-wrap img.feat-img {
    width: 100%;
    max-height: 460px;
    object-fit: cover;
    display: block;
}

.single .single-post-title-wrap {
    margin-bottom: 28px;
}

.single .single-post-title {
    color: var(--accent1);
    margin-bottom: 14px;
    line-height: 1.15;
}

.single .single-post-meta-wrap {
    border-top: 1px solid var(--light4);
    border-bottom: 1px solid var(--light4);
    padding: 14px 0;
}

.single .single-post-meta {
    display: flex;
    gap: 24px;
    margin: 0;
    color: var(--dark4);
    font-size: 14px;
}

.single .single-post-meta i {
    color: var(--accent3);
    margin-right: 6px;
}

.single .single-post-meta a {
    color: var(--dark4);
    text-decoration: none;
}

.single .single-post-meta a:hover {
    color: var(--accent1);
}

.single .single-post-content {
    font-size: 17px;
    line-height: 1.75;
    color: var(--dark3);
}

.single .single-post-content h2 {
    color: var(--accent1);
    margin-top: 1.6em;
    margin-bottom: 0.6em;
    font-size: 30px;
}

.single .single-post-content h3 {
    color: var(--accent1);
    margin-top: 1.4em;
    margin-bottom: 0.5em;
    font-size: 24px;
}

.single .single-post-content ul,
.single .single-post-content ol {
    margin: 1em 0;
    padding-left: 1.4em;
}

.single .single-post-content li {
    margin-bottom: 0.5em;
}

.single .single-post-content img {
    border-radius: 12px;
    height: auto;
    max-width: 100%;
}

.single .single-post-content a {
    color: var(--accent2);
    text-decoration: underline;
}

.single .single-post-content a:hover {
    color: var(--accent1);
}

#single-pagination {
    display: flex;
    justify-content: space-between;
    margin-top: 40px;
    padding-top: 24px;
    border-top: 1px solid var(--light4);
    gap: 20px;
    font-family: 'Poppins-Regular', sans-serif !important;
}

#single-pagination .single-pagination-link {
    color: var(--accent1) !important;
}

#single-pagination a {
    color: var(--accent1) !important;
    font-family: 'Poppins-SemiBold', sans-serif !important;
    font-weight: 700;
    text-decoration: none;
}

#single-pagination a:hover {
    color: var(--accent3) !important;
}

#single-pagination .single-pagination-link.next {
    text-align: right;
    margin-left: auto;
}

@media (max-width: 979px) {

    .single .single-post-feat-img-wrap img.feat-img {
        max-height: 280px;
    }

    .single .single-post-title {
        font-size: 32px;
    }

    .single .single-post-meta {
        flex-wrap: wrap;
        gap: 12px;
    }

}

body.single .single-post-content p {
    margin-bottom: 12px;
}
body.single .single-post-content h2 {
    margin-bottom: 12px;
    line-height: 1.25;
    margin-top: 16px;
}
body.single .single-post-content h3 {
    color: var(--accent1);
    margin-top: 16px;
    margin-bottom: 12px;
    font-size: 24px;
    line-height: 1.25;
}



/* === Page: blog-header-gradient === 2026-08-18 === */
.page-id-1054 .default-header{background: linear-gradient(180deg, var(--accent2) 0%, var(--accent1) 100%) !important;}
.page-id-1054 .default-header h1{color:#fff !important;}

@media (max-width: 480px) {
	body h1 {
    	line-height: 1.3;
    	font-size: 28px;
	}
}

/* ==========================================================================
   Apply hero-form (#gform_wrapper_2) styling to all OTHER Gravity Forms
   site-wide. Append-only — does not touch existing #gform_wrapper_2 rules.
   ========================================================================== */

body #content .gform_wrapper:not(#gform_wrapper_2) {
    background: var(--light1) !important;
    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(12,46,82,.13);
    padding: 20px 24px 24px !important;
    max-width: 100%;
}

body #content .gform_wrapper:not(#gform_wrapper_2) .gform_heading {
    display: block !important;
    text-align: left !important;
    margin-bottom: 0 !important;
}
body #content .gform_wrapper:not(#gform_wrapper_2) .gform_title {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: var(--dark3) !important;
    margin: 0 !important;
}
body #content .gform_wrapper:not(#gform_wrapper_2) .gform_description {
    font-size: 13.5px !important;
    color: var(--dark3) !important;
    margin-top: 2px !important;
}

body #content .gform_wrapper:not(#gform_wrapper_2) .gform_body {
    margin-top: 14px !important;
}

body #content .gform_wrapper:not(#gform_wrapper_2) .gfield_label {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--dark3) !important;
    margin-top: 4px !important;
    margin-bottom: 6px !important;
}
body #content .gform_wrapper:not(#gform_wrapper_2) label {
    color: var(--dark3) !important;
}

/* body #content .gform_wrapper:not(#gform_wrapper_2) .gfield_required {
    display: none !important;
} */

body #content .gform_wrapper:not(#gform_wrapper_2) input[type=text],
body #content .gform_wrapper:not(#gform_wrapper_2) input[type=email],
body #content .gform_wrapper:not(#gform_wrapper_2) input[type=tel] {
    width: 100% !important;
    padding: 13px 14px !important;
    border: 1.5px solid #c7d2da !important;
    border-radius: 15px !important;
    font-size: 15px !important;
    font-family: inherit !important;
}

body #content .gform_wrapper:not(#gform_wrapper_2) select {
    width: 100% !important;
    padding: 13px 14px !important;
    border: 1.5px solid #c7d2da !important;
    border-radius: 15px !important;
    font-size: 15px !important;
    font-family: inherit !important;
    background-color: #fff !important;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%23223c69' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 12px 8px;
    cursor: pointer;
}

body #content .gform_wrapper.gform_legacy_markup_wrapper:not(#gform_wrapper_2) ul li.gfield {
    margin-top: 0 !important;
}
body #content .gform_wrapper:not(#gform_wrapper_2) .gform_footer {
    padding: 16px 0 0 !important;
    margin: 0 !important;
    display: flex;
    gap: 10px;
}
body #content .gform_wrapper:not(#gform_wrapper_2) .gform_button,
body #content .gform_wrapper:not(#gform_wrapper_2) .gform_next_button,
body #content .gform_wrapper:not(#gform_wrapper_2) .gform_previous_button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    background: var(--accent1) !important;
    color: var(--light1) !important;
    border: 0 !important;
    border-radius: 50px !important;
    font-weight: 800 !important;
    padding: 14px 28px !important;
    font-size: 15px !important;
    cursor: pointer;
    width: 100%;
}
body #content .gform_wrapper:not(#gform_wrapper_2) .gform_previous_button {
    background: transparent !important;
    color: var(--dark3) !important;
    border: 1.5px solid #c7d2da !important;
    width: auto !important;
}

body #content .gform_wrapper:not(#gform_wrapper_2) .gfield_radio {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 6px 0 0 !important;
}
body #content .gform_wrapper:not(#gform_wrapper_2) .gfield_radio input[type=radio] {
    margin-right: 6px;
}
body #content .gform_wrapper:not(#gform_wrapper_2) .gfield_radio .gchoice {
    border: 2px solid #c7d2da !important;
    border-radius: 12px !important;
    padding: 16px 12px !important;
    text-align: center !important;
    cursor: pointer;
    transition: all .12s;
    background: #fbfdff !important;
    position: relative;
    margin: 0 !important;
}
body #content .gform_wrapper:not(#gform_wrapper_2) .gfield_radio .gchoice input[type=radio] {
    position: absolute;
    opacity: 0;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    margin: 0;
    cursor: pointer;
}
body #content .gform_wrapper:not(#gform_wrapper_2) .gfield_radio .gchoice label {
    display: block !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    line-height: 1.1;
    max-width: 130px;
    cursor: pointer;
    margin: 0 auto !important;
}
body #content .gform_wrapper:not(#gform_wrapper_2) .gfield_radio .gchoice:hover {
    border-color: var(--accent1) !important;
    background: var(--light4) !important;
}
body #content .gform_wrapper:not(#gform_wrapper_2) .gfield_radio .gchoice:has(input:checked) {
    border-color: var(--accent1) !important;
    background: var(--light4) !important;
    box-shadow: 0 0 0 3px rgba(10,77,140,.15) !important;
}
body #content .gform_wrapper:not(#gform_wrapper_2) .gfield_radio .gchoice:has(input:checked) label {
    color: var(--accent1) !important;
}

body #content .gform_wrapper:not(#gform_wrapper_2) .gf_progressbar_wrapper {
    display: flex !important;
    flex-direction: column-reverse !important;
    margin-top: 16px !important;
}
body #content .gform_wrapper:not(#gform_wrapper_2) .gf_progressbar {
    height: 6px !important;
    border-radius: 30px !important;
    background: var(--light4) !important;
    overflow: hidden;
    margin-top: 0 !important;
}
body #content .gform_wrapper:not(#gform_wrapper_2) .gf_progressbar_percentage {
    height: 100% !important;
    background: #1f9d55 !important;
}
body #content .gform_wrapper:not(#gform_wrapper_2) .gf_progressbar_percentage span {
    display: none !important;
}
body #content .gform_wrapper:not(#gform_wrapper_2) .gf_progressbar_title {
    font-family: Poppins-Regular, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .5px !important;
    color: var(--dark3) !important;
    margin: 10px 0 0 !important;
    text-shadow: none !important;
    opacity: 1 !important;
}
body #content .gform_wrapper:not(#gform_wrapper_2) .gf_step_page_name {
    display: none !important;
}
body #content .gform_wrapper:not(#gform_wrapper_2) .gf_step_current_page,
body #content .gform_wrapper:not(#gform_wrapper_2) .gf_step_page_count {
    font-family: Poppins-Regular, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}
body #content .gform_wrapper:not(#gform_wrapper_2) .gform_page_footer {
    display: flex;
    gap: 10px;
    justify-content: space-between;
}

body #content .gform_wrapper:not(#gform_wrapper_2) textarea {
    width: 100% !important;
    padding: 13px 14px !important;
    border: 1.5px solid #c7d2da !important;
    border-radius: 15px !important;
    font-size: 15px !important;
    font-family: inherit !important;
    resize: vertical;
}

body #content .gform_wrapper:not(#gform_wrapper_2) .gfield_description,
body #content .gform_wrapper:not(#gform_wrapper_2) .gfield_html,
body #content .gform_wrapper:not(#gform_wrapper_2) .gform_fileupload_rules {
    color: var(--dark3) !important;
	font-size: 14px;
}

body #content .gform_wrapper:not(#gform_wrapper_2) input[type=file] {
    color: var(--dark3) !important;
}
body #content .bakery a.card-lm {
	text-decoration: underline !important;
    margin-top: 8px !important;
	width: fit-content;
    display: block;
}
body #content .bakery a.card-lm:hover {
	text-decoration: none !important;
}
.top-header.left-right-header ul#top-menu li {
    padding: 5px 10px;
}

@media (max-width: 979px) {
	#top-menu.mobile-menu .sub-menu-toggle::after {
		font-size: 18px;
	}
	#top-menu.mobile-menu li.menu-item-has-children button.sub-menu-toggle {
		border-radius: 4px;
		height: 28px;
		width: 28px;
		top: 13px;
	}
	ul#top-menu.mobile-menu ul.sub-menu li {
		padding: 8px 0;
	}
	#top-menu.mobile-menu li.menu-item-has-children ul li button.sub-menu-toggle {
        top: 6.5px;
    }
}


/* QA changes - RL */

@media (max-width: 480px) {
	.bakery .ehi-ba-lob-btn{padding:5px 8px;font-size:14px;font-weight:700;border-radius:50px;border:2px solid var(--accent1);background:transparent;color:var(--accent1);cursor:pointer;}

}

@media (min-width: 481px) {
	
}

.page-template-blog .default-header {
    background: linear-gradient(125deg, rgba(12, 46, 82, .82) 0%, rgba(18, 64, 110, .55) 45%, rgba(42, 179, 192, .18) 100%), url(/wp-content/uploads/2026/08/hero1.webp) !important;
    background-position: center !important;
    background-size: cover !important;
}

section.vc_section.showroom-hero-section {
    background: linear-gradient(125deg, rgba(12, 46, 82, .82) 0%, rgba(18, 64, 110, .55) 45%, rgba(42, 179, 192, .18) 100%), url(/wp-content/uploads/2026/08/hero1.webp);
    background-position: center;
    background-size: cover;
}

/* @media(max-width:768px){.bakery .ehi-proj-grid{grid-template-columns:1fr;}}
with:
@media(max-width:768px){
      .bakery .ehi-proj-grid.slick-initialized{
              display:block;
              grid-template-columns:none;
      }
      .bakery .ehi-proj-grid .slick-track{display:flex;}
      .bakery .ehi-proj-grid .slick-slide{height:auto;padding:0 8px;}
      .bakery .ehi-proj-grid .ehi-proj-card{width:100%;max-width:none;flex:none;}
      .bakery .ehi-proj-grid .slick-dots{position:static;margin-top:14px;}
}

@media(max-width:768px){
      .bakery .ehi-proj-grid .slick-slide{padding:0 8px;}
      .bakery .ehi-proj-grid .slick-list{margin:0 -8px;}
} */

/* Adjustments for Product Pages - RL */
/* Commented out 2026-09-17: forced these sections to white, which is what
   the "add light-blue variance" requests on Showers/Bathtubs/etc. are
   asking to undo. Left here (not deleted) in case it needs to come back.
section.vc_section.light4.bathtubs.before-and-after {
    background-color: var(--light1) !important;
}

section.vc_section.pad.light2.bathtub-team-section {
    background-color: var(--light1);
}
*/

.exit-image img {
    width: 90%;
}

body #content .why-3-col .ehi-whygrid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 26px;
	margin-top: 38px;
}

.partial_entry_warning.gform-theme__no-reset--children {
    font-size: 13.5px !important;
    color: var(--dark3) !important;
    margin-top: 2px !important;
}

.look-for-signs .ehi-location-radius-card {
    min-height: 220px;
}
@media (min-width: 980px) {
    /* 1. Shrink flex/grid gaps on the parent row */
    .look-for-signs .bakery .vc_row {
        gap: 1% !important; 
    }
    
    /* 2. Strip standard column padding */
    .look-for-signs .bakery .vc_col-sm-6 {
        padding-left: 0.5% !important;
        padding-right: 0.5% !important;
    }
    
    /* 3. Kill hidden margins on the inner elements */
    .look-for-signs .bakery .vc_column-inner,
    .look-for-signs .bakery .wpb_wrapper {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

.page-id-2754 .our-process h2 {
    color: var(--accent3) !important;
}

/* Cabinet refacing page */


.refacing-benefits .refacing-benefits-row .ehi-whygrid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important; 
    gap: 30px !important; 
}

.refacing-benefits .refacing-benefits-row .ehi-whycard {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    display: block !important;
    box-sizing: border-box !important;
}

@media screen and (max-width: 991px) {
    .refacing-benefits .refacing-benefits-row .ehi-whygrid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media screen and (max-width: 767px) {
    .refacing-benefits .refacing-benefits-row .ehi-whygrid {
        grid-template-columns: 1fr !important;
    }
}

/* End refacing */

/* MODULAR SNIPPETS */
.bakery section.modular-snippet-section {
	padding: 0 !important;
}
.bakery section.modular-snippet-section .wpb_row {
	padding: 0 !important;
}
.bakery section.modular-snippet-section .wpb_row .container {
	max-width: unset;
	width: 100%;	
}
.bakery section.modular-snippet-section .wpb_column {
	padding: 0 !important;
}
.bakery section.modular-snippet-section .wpb_content_element {
	margin-bottom: 0 !important;
}
.bakery section.modular-snippet-section .wpb_content_element p:not(:last-child) {
    margin-bottom: unset;
}
/* monthly offer */
#MODULAR_MONTHLY_OFFER {
	padding: 44px 0 !important;
	background: var(--accent2);
    position: relative;
    overflow: hidden;	
}
#MODULAR_MONTHLY_OFFER h3,
#MODULAR_MONTHLY_OFFER p {
	color: var(--white);
}
#MODULAR_MONTHLY_OFFER p {
	margin-bottom: 14px;
}

/* limited offer */
#MODULAR_LIMITED_OFFER {
	padding: 60px 0 !important;
	background: linear-gradient(180deg, var(--accent2) 0%, var(--accent1) 100%);
    position: relative;
    overflow: hidden;	
}
#MODULAR_LIMITED_OFFER h2 {
	color: var(--white);
}
/* before & after */
#BEFORE_AND_AFTER {
	padding: 56px 0 !important;
    position: relative;
    overflow: hidden;
}
.modular-container {
	max-width: 1200px;
	margin: 0 auto;
	width: 92%;
}

@media (min-width: 980px) {
	.modular-container {
		justify-content: center;
		align-items: center;
		display: flex;
	}
	.modular-column-half:nth-child(1) {
        padding-right: 2.5%;
		width: 50%;
    }
	.modular-column-half:nth-child(2) {
        padding-left: 2.5%;
		width: 50%;
    }
}

@media(max-width: 979px) {
	.modular-column-half:nth-child(1) {
		margin-bottom: 35px;
    }
}

/* before & after tabbed module */
/* Container to stack panels cleanly for smooth fading */
.ehi-ba-panels-container {
  position: relative;
  width: 100%;
}
/* Panel transition defaults */
.ehi-ba-panel {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.35s ease-in-out, visibility 0.35s ease-in-out;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  pointer-events: none;
}
/* Active visible state */
.ehi-ba-panel.active {
  opacity: 1;
  visibility: visible;
  position: relative;
  pointer-events: auto;
}

/* === Form-less hero uniform sizing === 2026-09-17 === QA punch list === */
/* Heroes with NO quote form rendered only ~288-306px tall, so background-size:cover cropped the
   photography down to a thin unreadable slice. Form-bearing heroes (Home, About Us, LOB pages)
   measure 706px and must NOT be affected — hence the page-specific selector below rather than a
   blanket .ehi-hero-section rule, which would blow out every hero on the site.
   Service Areas: content is 176px, so 150/155 padding lands the section at ~481px.
   Specificity here is 0-4-0, which beats the base .bakery .ehi-hero-row (0-2-0) rule, so no
   !important is needed. Extend this block one page at a time as each page is signed off. */
/* Service Areas. Locked with min-height rather than padding so it matches Blog EXACTLY.
   Padding alone gave 604px live vs Blog's 611px — a padded box's height is content-dependent,
   so it cannot hold an exact number as fonts/copy render slightly differently. The section
   carries vc_section's own 60px/60px padding, so row min-height 491 => 60+491+60 = 611 total.
   .ehi-hero-row is ALREADY display:flex with align-items:center, so the copy centres inside
   that 491px box with no display change needed (verified via computed styles). */
.bakery .ehi-hero-section.service-areas-hero .ehi-hero-row{min-height:491px;padding:60px 0;}
@media(max-width:979px){
	/* Phone/tablet: keep a smaller floor and let the 4-line h1 + intro drive height (~629px). */
	.bakery .ehi-hero-section.service-areas-hero .ehi-hero-row{min-height:300px;padding:80px 0 85px;}
}

/* Blog (page 1054 — the ONLY page on the blog.php template, verified across all 207 pages, so
   .page-template-blog is effectively page-specific). Its hero is a THEME template header
   (div.default-header), NOT a vc_section, and it is sized by a fixed `height:300px` in
   option-page-styles.css — there is no padding to grow. min-height wins over that (0-2-0 beats
   0-1-0, and min-height beats height when larger), landing it at 611px to match Service Areas.
   The theme already flex-centres .default-header, so the <h1>Blog</h1> stays centred.
   Mobile is intentionally shorter than Service Areas' ~629px: the heading here is a single word,
   so a 611px band would be mostly empty photo on a phone. */
.page-template-blog .default-header{min-height:611px;}
@media(max-width:979px){
	.page-template-blog .default-header{min-height:380px;}
}

/* Careers (2767). HERO: `showroom-hero-section` is SHARED BY 6 PAGES — 3013/3014/3015
   showrooms, 3016 houston-warehouse, 2738 community-outreach and 2767 careers — so styling
   that class directly would change 5 pages that are NOT on the punch list. Scoped instead to
   `.careers-heading-row`, which a REST search confirms exists ONLY on page 2767, plus a
   .page-id-2767 guard. Section contributes its own 60px/60px padding, so row min-height 491
   => 60+491+60 = 611, matching Service Areas and Blog. The row is already display:flex with
   align-items:center (verified by computed-style probe), so the copy centres by itself. */
.page-id-2767 .showroom-hero-section .careers-heading-row{min-height:491px;}
@media(max-width:979px){
	.page-id-2767 .showroom-hero-section .careers-heading-row{min-height:300px;}
}

/* Careers two-column blocks. Cabinet Refacing zeroes its fifty-section padding with a
   per-post `vc_custom_*` class, which WPBakery only emits into CR's OWN page head — copying
   that css= attribute to another page applies a class with no rule behind it, so the padding
   is done here in the stylesheet instead. `.careers-fifty` is a Careers-only el_class. */
.page-id-2767 .fifty-section.careers-fifty{padding-top:0 !important;padding-bottom:0 !important;}
/* End form-less hero sizing */


/* === Section background alternation === 2026-09-17 === QA punch list ===
   "Standardize section background alternation (white/light blue)". Most of this
   was done by swapping light2/light4 -> light1 on the page itself. Three sections
   could NOT be fixed that way because their background is set by a CSS rule with
   !important, which a class swap cannot beat:
     - .ehi-ba-section / .ehi-financing-section are forced to var(--light4) by the
       "light4 el_class does nothing" patch earlier in this file (~L603).
     - the Customer Reviews modular snippet paints its own .ehi-reviews-section,
       so it has no page-level class to swap at all.
   Scoped per page-id so no other page's rhythm changes. !important is required
   here only to beat the existing !important rule; specificity alone cannot.  */
body.page-id-2756 #content .ehi-ba-section,
body.page-id-2733 #content .ehi-ba-section{background:var(--light1) !important;}
.page-id-2731 .modular-snippet-section .ehi-reviews-section{background:var(--light1) !important;}
/* End section background alternation */
