/*
Theme Name: Above Ground Pool Installation
Theme URI: https://example.com/local-business-service-area
Author: OpenAI
Description: Responsive local-business WordPress theme for above-ground swimming pool installation, with editable homepage sections, quote form, service areas, and sticky header.
Version: 3.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: local-business-service-area
*/
:root{--clg-primary:#087eae;--clg-dark:#082f49;--clg-text:#334155;--clg-light:#eff8fc;--clg-white:#fff;--clg-radius:12px;--clg-width:1160px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--clg-text);line-height:1.65;background:#fff}a{color:var(--clg-primary);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto} .clg-container{width:min(var(--clg-width),calc(100% - 40px));margin-inline:auto}.clg-topbar{background:var(--clg-dark);color:#fff;font-size:.9rem;padding:8px 0}.clg-topbar .clg-container{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.clg-header{background:#fff;position:relative;z-index:10;box-shadow:0 2px 12px #17212b0d}.clg-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:82px}.clg-brand{display:flex;align-items:center;gap:12px;color:var(--clg-dark);font-weight:800;font-size:1.25rem;line-height:1.2}.clg-brand img{max-height:58px;width:auto}.clg-brand-tagline{display:block;font-size:.72rem;color:#6b7280;font-weight:500;margin-top:4px}.clg-nav ul{list-style:none;display:flex;align-items:center;gap:22px;margin:0;padding:0}.clg-nav li{position:relative}.clg-nav ul ul{display:none;position:absolute;top:100%;left:0;z-index:30;min-width:230px;padding:9px 0;background:#fff;border:1px solid #e8eaed;border-radius:8px;box-shadow:0 12px 28px #17212b1a;gap:0;align-items:stretch;flex-direction:column}.clg-nav ul ul a{display:block;padding:10px 16px;white-space:nowrap}.clg-nav li:hover>ul,.clg-nav li:focus-within>ul{display:flex}.clg-nav a{color:var(--clg-dark);font-weight:650;font-size:.94rem}.clg-nav .current-menu-item>a,.clg-nav .current-menu-ancestor>a{color:var(--clg-primary)}.clg-nav .menu-item-has-children>a:after{content:none;display:none}.clg-nav ul ul .menu-item-has-children>a:after{content:none;display:none}.clg-menu-toggle{display:none;background:var(--clg-dark);color:#fff;border:0;padding:10px 13px;border-radius:6px}.clg-button{display:inline-flex;align-items:center;justify-content:center;background:var(--clg-primary);color:#fff;padding:13px 21px;border-radius:7px;font-weight:750;border:2px solid var(--clg-primary);transition:.2s}.clg-button:hover{background:transparent;color:var(--clg-primary);text-decoration:none}.clg-button--outline{background:transparent;color:#fff;border-color:#ffffffb5}.clg-button--outline:hover{background:#fff;color:var(--clg-dark)}.clg-hero{position:relative;background:var(--clg-dark);color:#fff;min-height:540px;display:flex;align-items:center;background-size:cover;background-position:center}.clg-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,30,48,.88),rgba(3,50,75,.58) 58%,rgba(3,50,75,.18))}.clg-hero-content{position:relative;padding:84px 0;max-width:760px}.clg-eyebrow{font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:#9de8f7;font-weight:800}.clg-hero h1{font-size:clamp(2.3rem,5vw,4.4rem);line-height:1.08;letter-spacing:-.035em;margin:14px 0 20px;color:#fff}.clg-hero p{font-size:1.13rem;max-width:650px;color:#f1f3f5;margin:0 0 28px}.clg-actions{display:flex;gap:12px;flex-wrap:wrap}.clg-trustbar{background:#075985;color:#fff;padding:17px 0}.clg-trustbar .clg-container{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-weight:750}.clg-section{padding:78px 0}.clg-section--soft{background:var(--clg-light)}.clg-section-heading{text-align:center;max-width:760px;margin:0 auto 38px}.clg-section-heading .clg-eyebrow{color:var(--clg-primary)}.clg-section-heading h2{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.18;color:var(--clg-dark);letter-spacing:-.025em;margin:10px 0 14px}.clg-section-heading p{margin:0;color:#65707c}.clg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.clg-card{background:#fff;border:1px solid #e8eaed;border-radius:16px;overflow:hidden;box-shadow:0 12px 32px #082f4912}.clg-card img{width:100%;height:205px;object-fit:cover;display:block}.clg-card-body{padding:24px}.clg-card h3{margin:0 0 10px;color:var(--clg-dark);font-size:1.25rem;line-height:1.3}.clg-card p{margin:0 0 15px;color:#68727d}.clg-text-link{font-weight:800}.clg-why{background:#fff}.clg-why-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.clg-why-card{padding:26px 22px;background:var(--clg-light);border:1px solid #e8eaed;border-radius:var(--clg-radius)}.clg-why-number{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--clg-primary);color:#fff;font-weight:850;margin-bottom:16px}.clg-why-card h3{color:var(--clg-dark);font-size:1.15rem;line-height:1.3;margin:0 0 9px}.clg-why-card p{margin:0;color:#68727d;font-size:.96rem}.clg-two-col{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}.clg-two-col h2{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.18;color:var(--clg-dark);margin:10px 0 18px}.clg-feature-image{border-radius:var(--clg-radius);width:100%;max-height:520px;object-fit:cover}.clg-check-list{padding:0;list-style:none;margin:22px 0}.clg-check-list li{padding:7px 0 7px 30px;position:relative}.clg-check-list li:before{content:"✓";position:absolute;left:0;top:7px;background:#e8f4ec;color:#207b46;width:21px;height:21px;display:grid;place-items:center;border-radius:50%;font-weight:900;font-size:.8rem}.clg-cta-band{background:linear-gradient(115deg,#082f49,#075985);color:#fff;padding:56px 0}.clg-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}.clg-cta-inner h2{color:#fff;font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.2;margin:0 0 8px}.clg-cta-inner p{color:#d7dde2;margin:0}.clg-map{height:380px;background:#e5e7eb}.clg-map iframe{width:100%;height:100%;border:0;display:block}.clg-map-placeholder{height:100%;display:grid;place-items:center;text-align:center;padding:24px;color:#4b5563}.clg-footer{background:#101820;color:#d5dbe0;padding:54px 0 22px}.clg-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px}.clg-footer h3,.clg-footer h4{color:#fff;margin-top:0}.clg-footer a{color:#e8edf1}.clg-footer ul{list-style:none;padding:0;margin:0}.clg-footer li{margin:7px 0}.clg-footer-bottom{border-top:1px solid #ffffff20;margin-top:34px;padding-top:18px;font-size:.88rem;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.clg-page-header{background:var(--clg-light);padding:48px 0}.clg-page-header h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.15;color:var(--clg-dark);margin:0}.clg-content{padding:58px 0}.clg-content-inner{max-width:850px;margin:auto}.clg-content-inner h2,.clg-content-inner h3{color:var(--clg-dark)}.clg-content-inner img{border-radius:8px}.clg-pagination{margin-top:30px}.clg-pagination .nav-links{display:flex;gap:8px}.clg-pagination a,.clg-pagination span{padding:8px 12px;border:1px solid #ddd;border-radius:5px}.clg-form-note{font-size:.88rem;color:#6b7280}.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);height:1px;width:1px;overflow:hidden}.alignwide{max-width:1100px;margin-inline:auto}.alignfull{width:100%;max-width:none}.wp-block-button__link{background:var(--clg-primary);color:#fff;border-radius:6px}.widget{margin-bottom:24px}
@media(max-width:900px){.clg-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:18px 22px;box-shadow:0 10px 18px #0001}.clg-nav.is-open{display:block}.clg-nav ul{align-items:stretch;flex-direction:column;gap:0}.clg-nav>ul>li>a{display:block;padding:8px 0}.clg-nav ul ul{display:flex;position:static;min-width:0;padding:0 0 0 16px;border:0;border-radius:0;box-shadow:none;background:transparent}.clg-nav ul ul a{white-space:normal;padding:7px 0}.clg-menu-toggle{display:block}.clg-header-inner>.clg-header-cta{display:none}.clg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.clg-why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.clg-two-col{gap:30px}.clg-footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.clg-container{width:min(var(--clg-width),calc(100% - 30px))}.clg-hero{min-height:500px}.clg-hero-content{padding:66px 0}.clg-grid,.clg-why-grid,.clg-two-col,.clg-footer-grid{grid-template-columns:1fr}.clg-section{padding:56px 0}.clg-cta-inner{align-items:flex-start;flex-direction:column}.clg-card img{height:190px}.clg-trustbar .clg-container{display:grid;grid-template-columns:1fr 1fr;font-size:.9rem}}

/* Accessible Services dropdown: hover, keyboard focus, and explicit toggle. */
.clg-nav li.menu-item-has-children{position:relative}
.clg-nav li.menu-item-has-children>.clg-submenu-toggle{display:inline-flex;align-items:center;justify-content:center;margin-left:4px;padding:2px 6px;border:0;background:transparent;color:var(--clg-dark);cursor:pointer;font:inherit;border-radius:4px}
.clg-nav li.menu-item-has-children>.clg-submenu-toggle:focus-visible{outline:2px solid var(--clg-primary);outline-offset:2px}
.clg-nav li.menu-item-has-children>ul{display:none}
.clg-nav li.menu-item-has-children:hover>ul,.clg-nav li.menu-item-has-children:focus-within>ul,.clg-nav li.menu-item-has-children.clg-submenu-open>ul{display:flex}
.clg-nav ul ul{top:100%;left:0;margin-top:0}
.clg-nav ul ul li{width:100%}
.clg-nav ul ul a{display:block;padding:10px 16px}
.clg-nav ul ul a:hover,.clg-nav ul ul a:focus{background:#f5f6f7;text-decoration:none}
@media(max-width:900px){.clg-nav li.menu-item-has-children>.clg-submenu-toggle{float:right;margin-top:4px}.clg-nav li.menu-item-has-children>ul{display:none;position:static}.clg-nav li.menu-item-has-children.clg-submenu-open>ul,.clg-nav li.menu-item-has-children:focus-within>ul{display:flex}.clg-nav ul ul{padding-left:16px}.clg-nav ul ul a{padding:7px 0}}

/* Dropdown layout correction for existing installs with a crowded navigation. */
.clg-header-inner{gap:20px}
.clg-nav{flex:1;min-width:0}
.clg-nav>div>ul,.clg-nav>ul{justify-content:center;gap:clamp(12px,1.6vw,24px)}
.clg-nav ul ul{display:none;flex-direction:column;align-items:stretch}
.clg-nav li.menu-item-has-children:hover>ul,
.clg-nav li.menu-item-has-children:focus-within>ul,
.clg-nav li.menu-item-has-children.clg-submenu-open>ul{display:flex}
.clg-nav ul ul li{display:block;width:100%}
.clg-nav ul ul a{white-space:normal;line-height:1.4}
@media(max-width:1100px) and (min-width:901px){
 .clg-header-inner{gap:12px}
 .clg-nav>div>ul,.clg-nav>ul{gap:10px}
 .clg-nav a{font-size:.88rem}
 .clg-header-cta{padding:10px 12px}
}

/* Ensure only one Services dropdown indicator is visible. */
.primary-navigation .menu-item-has-children > a::after,
.clg-nav .menu-item-has-children > a::after,
.clg-nav .menu-item-has-children > a:after {
  content: none !important;
  display: none !important;
}

/* Customizer-controlled typography sizes */
body{font-size:var(--clg-body-size,16px)}
.clg-brand{font-size:var(--clg-brand-size,20px)}
.clg-nav a{font-size:var(--clg-nav-size,15px)}
.clg-hero h1{font-size:clamp(28px,5vw,var(--clg-hero-size,56px))}
.clg-section-heading h2,.clg-two-col h2{font-size:clamp(22px,3vw,var(--clg-section-size,36px))}
/* Homepage opt-in form */
.clg-optin-section{background:#fff}
.clg-optin-card{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center;padding:38px;background:var(--clg-light);border:1px solid #e4e7eb;border-radius:14px}
.clg-optin-copy h2{font-size:clamp(24px,3vw,36px);line-height:1.2;color:var(--clg-dark);margin:10px 0 12px}
.clg-optin-copy p{color:#5f6b76}
.clg-optin-form{display:flex;flex-direction:column;gap:10px}
.clg-optin-form>label{font-weight:700;color:var(--clg-dark)}
.clg-optin-form input[type=email]{width:100%;padding:13px 14px;border:1px solid #cbd1d8;border-radius:6px;font:inherit;background:#fff}
.clg-optin-consent{display:flex;align-items:flex-start;gap:8px;font-size:.88rem;font-weight:400!important;line-height:1.45}
.clg-optin-consent input{margin-top:5px}
.clg-optin-form .clg-button{align-self:flex-start;cursor:pointer;font:inherit}
.clg-optin-message{padding:10px 12px;border-left:4px solid var(--clg-primary);background:#fff}
.clg-honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
@media(max-width:700px){.clg-optin-card{grid-template-columns:1fr;padding:24px;gap:20px}}

/* Request a Free Quote form in the homepage hero */
.clg-hero-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:42px;align-items:center;padding-top:30px;padding-bottom:30px}
.clg-hero-layout .clg-hero-content{padding:54px 0;max-width:none}
.clg-quote-card{position:relative;z-index:2;background:#fff;color:#111;padding:28px;border:10px solid #e8ddcf;border-radius:3px;box-shadow:0 15px 38px #0002}
.clg-quote-card h2{text-align:center;font-size:clamp(26px,2.4vw,36px);line-height:1.2;margin:0 0 22px;color:#080808;letter-spacing:-.025em}
.clg-quote-form{display:flex;flex-direction:column;gap:12px}
.clg-quote-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.clg-quote-field label{font-size:.95rem;color:#111;font-weight:500}
.clg-quote-field input,.clg-quote-field select,.clg-quote-field textarea{display:block;width:100%;min-height:44px;padding:10px 12px;border:1px solid #b8b8b8;border-radius:5px;background:#fff;color:#111;font:inherit}
.clg-quote-field textarea{resize:vertical}
.clg-quote-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.clg-quote-form .clg-button{width:100%;cursor:pointer;font:inherit;margin-top:4px}
.clg-quote-form .clg-form-note{font-size:.78rem;line-height:1.4;margin:0;color:#68727d}
.clg-quote-message{background:#f1f8f2;border-left:4px solid #26834a;padding:10px 12px}
.clg-quote-honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
@media(max-width:900px){.clg-hero-layout{grid-template-columns:1fr;gap:12px}.clg-hero-layout .clg-hero-content{padding:55px 0 20px}.clg-quote-card{max-width:620px;margin:0 auto 28px;width:100%}}
@media(max-width:520px){.clg-quote-card{padding:20px;border-width:6px}.clg-quote-row{grid-template-columns:1fr;gap:12px}}

/* v1.2.1: Explicitly lock the quote form into the homepage hero's right column. */
.clg-hero{display:block!important;min-height:0!important}
.clg-hero>.clg-hero-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)!important;
  align-items:center!important;
  gap:clamp(28px,4vw,58px)!important;
  padding-top:34px!important;
  padding-bottom:34px!important;
  min-height:540px;
}
.clg-hero-layout>.clg-hero-content{width:100%;max-width:760px;padding:60px 0!important}
.clg-hero-layout>.clg-quote-card{align-self:center;width:100%;max-width:540px;justify-self:end;margin:0!important}
@media(max-width:900px){
 .clg-hero>.clg-hero-layout{grid-template-columns:minmax(0,1fr)!important;gap:8px!important;padding-top:16px!important;padding-bottom:26px!important}
 .clg-hero-layout>.clg-hero-content{padding:44px 0 20px!important}
 .clg-hero-layout>.clg-quote-card{justify-self:center;max-width:620px}
}

/* Version 1.3.0: introductory section directly below the hero/trust bar. */
.clg-intro-section{background:#fff;padding:58px 0 62px}
.clg-intro-inner{max-width:940px;text-align:center}
.clg-intro-inner>.clg-eyebrow{color:var(--clg-primary)}
.clg-intro-inner h2{font-size:clamp(26px,3.2vw,var(--clg-section-size,36px));line-height:1.2;letter-spacing:-.025em;color:var(--clg-dark);margin:12px 0 18px}
.clg-intro-copy{max-width:820px;margin:0 auto 24px;color:#5e6974;font-size:1.04em}
.clg-intro-copy p{margin:0 0 12px}

/* Map iframe sizing and stacking fix */
#service-area .clg-map{position:relative;display:block;width:100%;height:380px;min-height:300px;overflow:hidden;background:#eef1f3}
#service-area .clg-map iframe{position:relative;display:block;width:100%;height:100%;min-height:300px;border:0;visibility:visible;opacity:1}
#service-area .clg-map-placeholder{width:100%;min-height:300px;height:100%;display:grid;place-items:center;text-align:center;padding:32px;background:#e9edf0;color:#263746}
#service-area .clg-map-placeholder p{max-width:680px;margin:12px auto 0}
@media(max-width:600px){#service-area .clg-map{height:300px}}

/* Service detail pages: richer two-column layout with quote request and related services. */
.clg-service-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:42px;align-items:start}
.clg-service-layout .clg-content-inner{max-width:none;min-width:0;margin:0}
.clg-service-layout .clg-page-article{font-size:1.04rem;line-height:1.8}
.clg-service-layout .clg-page-article h2{font-size:clamp(1.55rem,2.5vw,2.1rem);line-height:1.25;margin:30px 0 12px}
.clg-service-layout .clg-page-article h3{font-size:1.3rem;line-height:1.3;margin:25px 0 10px}
.clg-service-featured-image{margin:0 0 28px}
.clg-service-featured-image img{display:block;width:100%;max-height:420px;object-fit:cover;border-radius:12px}
.clg-service-quote{background:#fff;border:1px solid #e2e5e8;border-top:5px solid var(--clg-primary);border-radius:12px;padding:25px;box-shadow:0 12px 32px #17212b12}
.clg-service-kicker{display:block;font-size:.72rem;letter-spacing:.12em;font-weight:850;color:var(--clg-primary);margin-bottom:7px}
.clg-service-quote h2,.clg-related-services h2{color:var(--clg-dark);font-size:1.55rem;line-height:1.2;margin:0 0 10px}
.clg-service-quote>p{font-size:.94rem;color:#68727d;margin:0 0 18px}
.clg-service-quote-form .clg-quote-field{margin:0 0 13px}
.clg-service-quote-form label{display:block;font-size:.86rem;font-weight:750;color:#25313b;margin-bottom:5px}
.clg-service-quote-form input,.clg-service-quote-form select,.clg-service-quote-form textarea{width:100%;min-width:0;padding:11px 12px;border:1px solid #d7dce0;border-radius:6px;background:#fff;color:#17212b;font:inherit;font-size:.94rem}
.clg-service-quote-form textarea{resize:vertical}
.clg-service-quote-form .clg-button{width:100%;cursor:pointer}
.clg-service-quote-form .clg-form-note{margin:10px 0 0;line-height:1.45;font-size:.78rem}
.clg-related-services{margin-top:22px;padding:23px;background:#f5f6f7;border:1px solid #e5e8eb;border-radius:12px}
.clg-related-services h2{font-size:1.25rem;margin-bottom:13px}
.clg-related-services ul{list-style:none;padding:0;margin:0}
.clg-related-services li{border-top:1px solid #e0e4e7}
.clg-related-services li a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;color:#293743;font-weight:700;font-size:.94rem}
.clg-related-services li a span{color:var(--clg-primary);font-size:1.1rem}
.clg-related-all{display:inline-block;margin-top:13px;font-weight:800}
.clg-service-inline-cta{margin-top:34px;padding:25px;background:#f5f6f7;border-left:4px solid var(--clg-primary);border-radius:8px}
.clg-service-inline-cta h2{margin:0 0 8px!important}
.clg-service-inline-cta p{margin:0 0 15px}
@media(max-width:980px){.clg-service-layout{grid-template-columns:minmax(0,1fr) 310px;gap:26px}.clg-service-quote{padding:20px}}
@media(max-width:760px){.clg-service-layout{grid-template-columns:1fr;gap:30px}.clg-service-sidebar{display:grid;grid-template-columns:1fr;gap:20px}.clg-related-services{margin-top:0}.clg-service-quote{max-width:none}}


/* Service-page quote card: CTA only, no embedded form. */
.clg-service-contact-card{margin:34px 0 0;padding:28px;background:linear-gradient(135deg,#eff8fc,#fff);border:1px solid #e2e5e8;border-left:5px solid var(--clg-primary);border-radius:12px;box-shadow:0 10px 28px #17212b0b}
.clg-service-contact-card h2{color:var(--clg-dark);font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.2;margin:0 0 10px}
.clg-service-contact-card p{color:#68727d;margin:0 0 18px;max-width:680px}
.clg-service-contact-card .clg-button{display:inline-flex}
@media(max-width:620px){.clg-service-contact-card{padding:22px;margin-top:26px}}

/* Optional sticky header and reusable local service-area section */
.clg-header--sticky{position:sticky;top:0;z-index:1000}
body.admin-bar .clg-header--sticky{top:32px}
.clg-service-area-section{background:#f0f8fc}
.clg-service-area-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:58px;align-items:center}
/* Keep the service-area photo on the left and its details on the right on desktop. */
.clg-service-area-visual{grid-column:1;grid-row:1;min-width:0}
.clg-service-area-copy{grid-column:2;grid-row:1;min-width:0}
.clg-service-area-visual .clg-feature-image{display:block;width:100%;height:480px;max-height:none;object-fit:cover;border:1px solid #d5e8f1;border-radius:5px}
.clg-service-area-placeholder{display:grid;place-items:center;text-align:center;padding:28px;background:linear-gradient(135deg,#d6d9dc,#89939b);color:#fff;font-weight:800;font-size:1.5rem}
.clg-service-area-copy .clg-eyebrow{color:#087eae;letter-spacing:.08em}
.clg-service-area-copy h2{font-size:clamp(2rem,3.4vw,3rem);line-height:1.15;letter-spacing:-.025em;color:#082f49;margin:10px 0 16px}
.clg-service-area-copy>p{font-size:1.08rem;color:#5f626a;margin:0 0 24px}
.clg-service-area-note{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border:1px solid #d5e8f1;background:#fff;border-radius:5px;margin:0 0 28px}
.clg-service-area-note>span,.clg-area-chip>span{color:#087eae;font-size:1.35rem;line-height:1.3}
.clg-service-area-note p{margin:0;color:#62666e}
.clg-area-list-title{font-size:1.05rem;text-transform:uppercase;letter-spacing:.04em;color:#334155;margin:0 0 16px}
.clg-area-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.clg-area-chip{display:flex;gap:9px;align-items:center;padding:13px 12px;background:#fff;border:1px solid #d5e8f1;border-radius:3px;color:#334155;min-height:52px}
.clg-services-directory{margin-top:38px}
.clg-services-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}
.clg-services-directory-card{border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;background:#fff}
.clg-services-directory-card>img{width:100%;height:170px;object-fit:cover;display:block}
.clg-services-directory-card>div{padding:18px}
.clg-services-directory-card h3{margin:0 0 8px}
.clg-services-directory-card p{margin:0 0 12px;color:#68727d}
@media(max-width:760px){body.admin-bar .clg-header--sticky{top:46px}.clg-service-area-layout{grid-template-columns:1fr;gap:28px}.clg-service-area-visual,.clg-service-area-copy{grid-column:1;grid-row:auto}.clg-service-area-visual .clg-feature-image{height:300px}.clg-area-list{grid-template-columns:repeat(2,minmax(0,1fr))}.clg-services-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.clg-area-list,.clg-services-directory-grid{grid-template-columns:1fr}}


/* Service Area section: replace the former partner/about-style block with the requested image + location cards layout. */
#service-area.clg-service-area-section{background:#f0f8fc!important;padding-top:76px;padding-bottom:76px}
#service-area .clg-service-area-layout{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:58px!important;align-items:center!important}
#service-area .clg-service-area-visual{grid-column:1!important;grid-row:1!important;min-width:0!important}
#service-area .clg-service-area-copy{grid-column:2!important;grid-row:1!important;min-width:0!important}
#service-area .clg-service-area-visual .clg-feature-image{display:block!important;width:100%!important;height:480px!important;max-height:none!important;object-fit:cover!important;border:1px solid #d5e8f1!important;border-radius:5px!important}
#service-area .clg-service-area-copy>.clg-eyebrow{color:#087eae;font-weight:800;letter-spacing:.07em}
#service-area .clg-service-area-copy h2{font-size:clamp(2rem,3.2vw,3rem);line-height:1.15;color:#082f49;margin:12px 0 22px}
#service-area .clg-service-area-copy>p{color:#62666e;font-size:1.08rem;line-height:1.65;margin-bottom:26px}
#service-area .clg-service-area-note{display:flex;align-items:flex-start;gap:16px;background:#fff;border:1px solid #d5e8f1;border-radius:5px;padding:22px 24px;margin:0 0 34px}
#service-area .clg-area-list-title{font-size:1.05rem;text-transform:uppercase;letter-spacing:.04em;color:#334155;margin:0 0 16px}
#service-area .clg-area-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
#service-area .clg-area-chip{display:flex!important;gap:10px;align-items:center;padding:13px 14px;background:#fff;border:1px solid #d5e8f1;border-radius:3px;color:#334155;min-height:58px;overflow-wrap:anywhere}
#service-area .clg-area-chip>span:first-child{color:#087eae;font-size:1.25rem;flex:0 0 auto}
#service-area .clg-area-chip .clg-area-name{color:#334155}
@media(max-width:900px){#service-area .clg-service-area-layout{grid-template-columns:1fr!important;gap:32px!important}#service-area .clg-service-area-visual,#service-area .clg-service-area-copy{grid-column:1!important;grid-row:auto!important}#service-area .clg-service-area-visual .clg-feature-image{height:360px!important}#service-area .clg-area-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:560px){#service-area.clg-service-area-section{padding-top:48px;padding-bottom:48px}#service-area .clg-service-area-visual .clg-feature-image{height:260px!important}#service-area .clg-area-list{grid-template-columns:1fr!important}}

/* v2: ensure the requested Service Area section is the replacement for legacy partner/about blocks. */
body.home .clg-about-section,
body.home #about.clg-two-col,
body.home .clg-partner-section,
body.home .clg-solid-partner-section{display:none!important}
body.home #service-area{display:block!important;visibility:visible!important;}
body.home #service-area .clg-area-chip{box-shadow:none!important}

/* Compact service-area cards: nine locations in a tidy 3x3 desktop grid. */
#service-area .clg-area-list{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
#service-area .clg-area-chip{min-height:48px!important;padding:9px 11px!important;gap:8px!important;font-size:.92rem!important;line-height:1.3!important;overflow-wrap:normal!important;word-break:normal!important}
#service-area .clg-area-chip .clg-area-name{display:block;min-width:0;overflow-wrap:break-word;word-break:normal;hyphens:none}
#service-area .clg-area-chip>span:first-child{font-size:1rem!important}
.clg-faq-list{max-width:900px;margin:0 auto;display:grid;gap:12px}
.clg-faq-item{background:#fff;border:1px solid #e2e5e8;border-radius:8px;padding:18px 22px}
.clg-faq-item h3{font-size:1.08rem;line-height:1.4;margin:0 0 8px;color:var(--clg-dark)}
.clg-faq-item p{margin:0;color:#5e6873}
@media(max-width:900px){#service-area .clg-area-list{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:650px){#service-area .clg-area-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:420px){#service-area .clg-area-list{grid-template-columns:1fr!important}}

/* v4: compact service-area cards and accessible click-to-expand FAQ accordion. */
#service-area .clg-area-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;align-items:stretch!important}
#service-area .clg-area-chip{box-sizing:border-box!important;min-width:0!important;min-height:0!important;height:auto!important;padding:8px 10px!important;gap:7px!important;font-size:14px!important;line-height:1.25!important;align-items:center!important;overflow-wrap:normal!important;word-break:normal!important}
#service-area .clg-area-chip .clg-area-name{min-width:0!important;display:block!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;hyphens:none!important}
#service-area .clg-area-chip>span:first-child{font-size:15px!important;line-height:1!important;flex:0 0 auto!important}
.clg-faq-list{max-width:900px;margin:0 auto;display:grid;gap:10px}
.clg-faq-item{box-sizing:border-box;background:#fff;border:1px solid #e2e5e8;border-radius:8px;padding:0 18px}
.clg-faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;padding:17px 0;font-size:1.05rem;line-height:1.4;font-weight:700;color:var(--clg-dark)}
.clg-faq-item summary::-webkit-details-marker{display:none}
.clg-faq-item summary::after{content:'+';flex:0 0 auto;font-size:1.35rem;font-weight:400;color:var(--clg-primary,#087eae)}
.clg-faq-item[open] summary::after{content:'−'}
.clg-faq-item p{margin:0;padding:0 0 17px;color:#5e6873}
@media(max-width:900px){#service-area .clg-area-list{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:650px){#service-area .clg-area-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:420px){#service-area .clg-area-list{grid-template-columns:1fr!important}}


/* v5: enforce genuinely compact service-area location cards. Scoped to the
   location-card grid only, not the separate map section which also uses an id. */
body.home #service-area .clg-service-area-copy .clg-area-list {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:7px !important;
  align-items:stretch !important;
}
body.home #service-area .clg-service-area-copy .clg-area-list .clg-area-chip {
  display:flex !important;
  box-sizing:border-box !important;
  align-items:center !important;
  justify-content:flex-start !important;
  min-width:0 !important;
  min-height:44px !important;
  height:auto !important;
  padding:7px 8px !important;
  gap:6px !important;
  font-size:13px !important;
  line-height:1.2 !important;
  border-radius:3px !important;
  overflow:hidden !important;
}
body.home #service-area .clg-service-area-copy .clg-area-list .clg-area-chip > span:first-child {
  flex:0 0 13px !important;
  width:13px !important;
  font-size:13px !important;
  line-height:1 !important;
}
body.home #service-area .clg-service-area-copy .clg-area-list .clg-area-chip .clg-area-name {
  flex:1 1 auto !important;
  min-width:0 !important;
  font-size:13px !important;
  line-height:1.2 !important;
  white-space:normal !important;
  overflow-wrap:break-word !important;
  word-break:normal !important;
  hyphens:none !important;
}
@media (max-width:650px) {
  body.home #service-area .clg-service-area-copy .clg-area-list { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width:420px) {
  body.home #service-area .clg-service-area-copy .clg-area-list { grid-template-columns:1fr !important; }
}


/* v6: final compact location cards. Cache-busted stylesheet enqueued via filemtime. */
body.home #service-area .clg-area-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 7px !important;
  align-items: stretch !important;
}
body.home #service-area .clg-area-list > .clg-area-chip {
  display: flex !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
  min-height: 42px !important;
  height: auto !important;
  padding: 6px 8px !important;
  gap: 6px !important;
  align-items: center !important;
  border-radius: 3px !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  overflow: hidden !important;
}
body.home #service-area .clg-area-list > .clg-area-chip > span:first-child {
  flex: 0 0 12px !important;
  width: 12px !important;
  font-size: 12px !important;
  line-height: 1 !important;
}
body.home #service-area .clg-area-list > .clg-area-chip > .clg-area-name {
  display: block !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}
@media (max-width: 650px) {
  body.home #service-area .clg-area-list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 420px) {
  body.home #service-area .clg-area-list { grid-template-columns: 1fr !important; }
}


/* v8: keep the map inside the centered site container and style optional links below it. */
#service-area .clg-map-container{width:min(var(--clg-width),calc(100% - 40px));max-width:var(--clg-width);margin:0 auto;}
#service-area .clg-map{width:100%;height:360px;min-height:260px;overflow:hidden;border-radius:8px;background:#e5e7eb;}
#service-area .clg-map iframe{display:block;width:100%;height:100%;min-height:260px;border:0;}
#service-area .clg-map-placeholder{min-height:260px;height:100%;padding:24px;border-radius:8px;}
#service-area .clg-map-external-links{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px 24px;margin:18px auto 0;padding:0;}
#service-area .clg-map-external-links a{display:inline-flex;align-items:center;gap:7px;font-weight:700;text-decoration:underline;text-underline-offset:3px;}
@media(max-width:620px){#service-area .clg-map-container{width:calc(100% - 30px)}#service-area .clg-map{height:300px}}

/* v9 requested layout updates: links heading, Contact page form/map, and Services sidebar quote card. */
.clg-map-links-heading{margin:18px 0 8px;text-align:center;font-weight:700;color:var(--clg-dark);}
.clg-services-index-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:38px;align-items:start;}
.clg-services-index-layout .clg-services-directory-card>img{display:none!important;}
.clg-services-index-layout .clg-services-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.clg-services-index-layout .clg-services-directory-card>div{padding:16px;}
.clg-services-quote-card{position:sticky;top:110px;padding:24px;background:#fff;border:1px solid #e1e5e9;border-radius:12px;box-shadow:0 8px 26px rgba(23,33,43,.08);}
.clg-services-quote-card h2,.clg-contact-quote-section h2,.clg-contact-map-section h2{margin-top:0;color:var(--clg-dark);}
.clg-services-quote-card>p,.clg-contact-quote-section>p,.clg-contact-map-section>p{color:#68727d;}
.clg-services-quote-card .clg-quote-row{grid-template-columns:1fr;}
.clg-contact-quote-section{margin:34px 0;padding:26px;background:#f8f9fa;border:1px solid #e3e7eb;border-radius:12px;}
.clg-contact-quote-section .clg-quote-row{grid-template-columns:repeat(2,minmax(0,1fr));}
.clg-contact-map-section{margin:36px 0;}
.clg-contact-map-section .clg-map-container{width:100%;max-width:var(--clg-width);margin:18px 0 0;}
.clg-contact-map-section .clg-map{width:100%;height:360px;overflow:hidden;border-radius:8px;background:#e5e7eb;}
.clg-contact-map-section .clg-map iframe{display:block;width:100%;height:100%;min-height:260px;border:0;}
.clg-contact-map-section .clg-map-placeholder{min-height:260px;padding:24px;border-radius:8px;}
@media(max-width:900px){.clg-services-index-layout{grid-template-columns:minmax(0,1fr) 300px;gap:24px;}.clg-services-index-layout .clg-services-directory-grid{grid-template-columns:1fr;}}
@media(max-width:760px){.clg-services-index-layout{grid-template-columns:1fr;}.clg-services-quote-card{position:static;}.clg-contact-quote-section .clg-quote-row{grid-template-columns:1fr;}}

/* Services index: compact text-only service links and a clickable quote card. */
.clg-services-index-layout .clg-services-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.clg-services-index-layout .clg-services-directory-card{min-height:0;border-radius:7px;}
.clg-services-index-layout .clg-services-directory-card>div{padding:10px 12px;}
.clg-services-index-layout .clg-services-directory-card h3{font-size:1rem;line-height:1.3;margin:0 0 5px;}
.clg-services-index-layout .clg-services-directory-card .clg-text-link{font-size:.82rem;line-height:1.2;}
.clg-services-quote-card{display:block;color:inherit;text-decoration:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease;}
.clg-services-quote-card:hover,.clg-services-quote-card:focus-visible{transform:translateY(-2px);box-shadow:0 12px 30px rgba(23,33,43,.13);text-decoration:none;}
.clg-services-quote-card-kicker{display:block;color:var(--clg-primary);font-size:.72rem;font-weight:800;letter-spacing:.08em;margin-bottom:10px;}
.clg-services-quote-card h2{font-size:1.35rem;line-height:1.2;margin:0 0 10px;}
.clg-services-quote-card p{margin:0 0 18px;color:#68727d;}
.clg-services-quote-card-action{display:flex;justify-content:space-between;align-items:center;font-weight:800;color:var(--clg-primary);border-top:1px solid #e5e8eb;padding-top:13px;}
@media(max-width:520px){.clg-services-index-layout .clg-services-directory-grid{grid-template-columns:1fr;}}

/* Keep the Services dropdown connected to its parent so the pointer can travel into it. */
.clg-nav li.menu-item-has-children::after{content:"";position:absolute;left:0;right:0;top:100%;height:8px;display:none}
.clg-nav li.menu-item-has-children:hover::after,.clg-nav li.menu-item-has-children:focus-within::after,.clg-nav li.menu-item-has-children.clg-submenu-open::after{display:block}
.clg-nav li.menu-item-has-children>ul{z-index:9999}

/* Reliable desktop Services dropdown: open on hover and keep the pointer path continuous. */
@media (min-width:901px){
  .clg-header{z-index:10000}
  .clg-header.clg-header--sticky{position:-webkit-sticky;position:sticky;top:0}
  body.admin-bar .clg-header.clg-header--sticky{top:32px}
  @media(max-width:782px){body.admin-bar .clg-header.clg-header--sticky{top:46px}}
  .clg-header-inner,.clg-nav,.clg-nav>div{overflow:visible!important}
  .clg-nav li.menu-item-has-children{position:relative;isolation:auto}
  .clg-nav li.menu-item-has-children>ul,
  .clg-nav li.menu-item-has-children>.sub-menu{
    display:none;position:absolute;top:100%;left:0;margin:0!important;padding:8px 0;min-width:240px;
    background:#fff;border:1px solid #e8eaed;border-radius:8px;box-shadow:0 12px 28px #17212b24;
    z-index:10001;flex-direction:column;align-items:stretch;gap:0;pointer-events:auto;
  }
  .clg-nav li.menu-item-has-children:hover>ul,
  .clg-nav li.menu-item-has-children:hover>.sub-menu,
  .clg-nav li.menu-item-has-children:focus-within>ul,
  .clg-nav li.menu-item-has-children:focus-within>.sub-menu,
  .clg-nav li.menu-item-has-children.clg-submenu-open>ul,
  .clg-nav li.menu-item-has-children.clg-submenu-open>.sub-menu{display:flex!important}
  .clg-nav li.menu-item-has-children>ul:before,
  .clg-nav li.menu-item-has-children>.sub-menu:before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
  .clg-nav ul ul li{position:relative;width:100%;margin:0}
  .clg-nav ul ul a{display:block;padding:10px 16px;white-space:normal}
}

/* Pool-installation refinements */
.clg-hero{min-height:620px;background-position:center 55%}.clg-hero-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.75fr);align-items:center;gap:42px;width:min(var(--clg-width),calc(100% - 40px))}.clg-hero-content{max-width:720px}.clg-quote-card{position:relative;z-index:1;background:#fff;color:#334155;padding:28px;border-radius:18px;box-shadow:0 24px 60px #001e3380}.clg-quote-card h2{color:#082f49;margin:0 0 18px;font-size:1.55rem}.clg-quote-form input,.clg-quote-form select,.clg-quote-form textarea{border:1px solid #cbd5e1;border-radius:8px;padding:12px;width:100%;font:inherit}.clg-quote-form label{display:block;font-weight:700;font-size:.88rem;margin-bottom:5px}.clg-quote-form .clg-button{width:100%;cursor:pointer}.clg-quote-form .clg-form-note{font-size:.78rem;color:#64748b;margin:10px 0 0}.clg-trustbar{background:#075985}.clg-eyebrow{color:#0b83ad}.clg-hero .clg-eyebrow{color:#9de8f7}.clg-area-chip{background:#e8f6fb;border:1px solid #cceaf4}.clg-service-area-placeholder{background:linear-gradient(135deg,#0e7490,#082f49)}
@media(max-width:900px){.clg-hero-layout{grid-template-columns:1fr;gap:0;padding-bottom:42px}.clg-hero-content{padding:70px 0 34px}.clg-quote-card{max-width:620px;width:100%;margin:0 auto 20px}.clg-hero{min-height:0}}
