/* cohesion-fix pestdominion: icon fonts from CDN (local/waybacked font files unavailable) */
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css");
@import url("https://cdn.jsdelivr.net/npm/@elementor/icons@latest/css/elementor-icons.css");
/* Elementor eicons fallback via jsdelivr package path */
@font-face{font-family:eicons;src:url(https://cdn.jsdelivr.net/gh/elementor/elementor@3.18.0/assets/lib/eicons/fonts/eicons.woff2) format("woff2");font-weight:normal;font-style:normal;}
.eicon,[class^="eicon-"],[class*=" eicon-"]{font-family:eicons!important;}
i[class^="fas"],i[class*=" fas"],.fas{font-family:"Font Awesome 6 Free"!important;font-weight:900!important;}
i[class^="fab"],i[class*=" fab"],.fab{font-family:"Font Awesome 6 Brands"!important;}
i[class^="far"],i[class*=" far"],.far{font-family:"Font Awesome 6 Free"!important;font-weight:400!important;}
/* hide imgs that failed (unrecoverable) */
img[src=""]{display:none!important;}

/* ===== structural repair: hb-bundle CSS (layout) is unrecoverable — rebuild Elementor grid ===== */
.elementor-section .elementor-container{display:flex;flex-wrap:wrap;margin:0 auto;max-width:1140px;gap:0 24px;align-items:stretch;}
.elementor-column{flex:1 1 280px;min-width:0;}
/* kill giant empty voids: cap section padding, remove min-heights that had bg-images */
.elementor-section{min-height:0!important;padding-top:24px;padding-bottom:24px;}
.elementor-widget{margin-bottom:14px;}
.elementor-widget-container>*{max-width:100%;}
/* service cards: keep tidy */
.elementor-widget-image img{width:100%;height:auto;object-fit:cover;}
h1,h2,h3{overflow-wrap:break-word;}
/* ===== footer: center everything ===== */
.elementor-location-footer .elementor-container{justify-content:center;text-align:center;}
.elementor-location-footer .elementor-column{flex:0 1 320px;}
.elementor-location-footer .elementor-widget{margin-left:auto;margin-right:auto;}
.elementor-location-footer ul{list-style:none;padding:0;}
.elementor-location-footer .elementor-social-icons-wrapper{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}

/* frontend.min.css re-introduced entrance-animation hiding — force-reveal (static, no JS) */
.elementor-invisible{visibility:visible!important;opacity:1!important;}
[data-settings*="animation"]{opacity:1!important;visibility:visible!important;}
.animated{opacity:1!important;visibility:visible!important;}
/* lazyload placeholders */
img.lazyload,img[data-src]{opacity:1!important;}

/* ===== Elementor flex/grid containers (e-con): per-page grid vars lived in dead hb bundles.
   Rebuild: boxed containers centered; e-grid inner = responsive card grid; image-box compact. ===== */
.e-con{max-width:1140px;margin-left:auto!important;margin-right:auto!important;}
.e-con-boxed>.e-con-inner{max-width:1140px;margin:0 auto;}
.e-grid>.e-con-inner{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:26px;align-items:stretch;}
.e-grid .elementor-element{min-height:0!important;height:auto!important;}
.elementor-image-box-wrapper{height:auto!important;display:flex;flex-direction:column;gap:10px;background:rgba(255,255,255,.04);border-radius:8px;padding:18px;}
.elementor-image-box-img{max-height:220px;overflow:hidden;border-radius:6px;}
.elementor-image-box-img img{width:100%;height:220px;object-fit:cover;}
.elementor-image-box-title{font-size:22px;margin:6px 0 2px;}
.elementor-image-box-description{font-size:15px;opacity:.9;}
/* non-grid flex containers: wrap nicely */
.e-con:not(.e-grid)>.e-con-inner{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;}
.e-con:not(.e-grid)>.e-con-inner>.e-con,.e-con:not(.e-grid)>.e-con-inner>.elementor-element{flex:1 1 300px;min-width:0;}

/* footer polish: center address/text blocks, kill leftover empty widget gaps, center bottom bar */
.elementor-location-footer{text-align:center;}
.elementor-location-footer .elementor-widget-text-editor,.elementor-location-footer .elementor-widget-heading,
.elementor-location-footer .elementor-icon-list-items,.elementor-location-footer address{text-align:center!important;}
.elementor-location-footer .elementor-icon-list-item{justify-content:center;}
.elementor-location-footer .elementor-widget:empty,.elementor-location-footer .e-con:empty{display:none!important;}
.elementor-location-footer img[src=""]{display:none!important;}
.elementor-location-footer .e-con{padding-top:8px;padding-bottom:8px;}
/* bottom red bar: single centered row */
.elementor-location-footer .e-con:last-child>.e-con-inner{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 28px;align-items:center;}

/* footer final: all top-level footer columns in ONE centered row, aligned top */
.elementor-location-footer>.e-con>.e-con-inner,
.elementor-location-footer .e-con-full>.e-con-inner{display:flex!important;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:24px 48px;}
.elementor-location-footer>.e-con>.e-con-inner>.e-con,
.elementor-location-footer>.e-con>.e-con-inner>.elementor-element{flex:0 1 300px;margin:0;}
.elementor-location-footer .elementor-widget-image{min-height:0;}
.elementor-location-footer p{margin:4px 0;}

/* footer compact: kill empty logo widgets, collapse column heights, trim row gaps */
.elementor-location-footer .elementor-widget-image{display:none!important;}
.elementor-location-footer .elementor-element,.elementor-location-footer .elementor-column,
.elementor-location-footer .elementor-widget-wrap{height:auto!important;min-height:0!important;}
.elementor-location-footer .elementor-section,.elementor-location-footer .e-con{padding-top:10px!important;padding-bottom:10px!important;margin:0 auto!important;}
.elementor-location-footer .elementor-widget{margin-bottom:8px;}
.elementor-location-footer .elementor-social-icons-wrapper{margin:0;}
/* hide truly content-less footer columns (whitespace only) so the company card centers */
.elementor-location-footer .elementor-column:not(:has(.elementor-widget)){display:none!important;}
.elementor-location-footer .elementor-column:has(> .elementor-widget-wrap:empty){display:none!important;}
/* center nested e-con blocks that sit alone in a wider inner (company card etc.) */
.e-con-inner>.e-con{margin-left:auto!important;margin-right:auto!important;}
.e-con-inner{justify-content:center;}
/* e-con default flex-direction is COLUMN → horizontal centering is align-items */
.e-con:not(.e-grid)>.e-con-inner{align-items:center;}
.e-con-inner>.elementor-element{margin-left:auto!important;margin-right:auto!important;}

/* ===== HEADER repair: exempt header from global centering, restore row layout ===== */
.elementor-location-header .e-con-inner{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;justify-content:space-between!important;gap:10px 24px;}
.elementor-location-header .e-con-inner>.elementor-element{margin-left:0!important;margin-right:0!important;flex:0 1 auto!important;}
.elementor-location-header .elementor-widget{margin-bottom:0!important;}
.elementor-location-header .e-con{padding-top:6px;padding-bottom:6px;}
/* nav row inline */
.elementor-location-header .elementor-nav-menu{display:flex;flex-wrap:wrap;gap:2px 18px;align-items:center;}
/* phones block: normal size inline */
.elementor-location-header .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:4px 18px;}
.elementor-location-header .elementor-icon-list-item{justify-content:flex-start;}
/* top red bar: keep one row */
.elementor-location-header .elementor-social-icons-wrapper{display:flex;gap:10px;justify-content:flex-end;margin:0;}

/* ===== service cards: collapse empty image slots, readable text on dark bg ===== */
.elementor-image-box-img:not(:has(img)){display:none!important;}
.elementor-image-box-img:has(img[style*="display: none"]){display:none!important;}
.elementor-image-box-img:has(img[src=""]){display:none!important;}
.elementor-image-box-title,.elementor-image-box-title a{color:#ffffff!important;}
.elementor-image-box-description{color:#d9ddf2!important;opacity:1!important;}

/* ===== top-bar social icons: crisp centered circles ===== */
.elementor-social-icons-wrapper{display:flex!important;gap:12px;align-items:center;justify-content:flex-end;}
.elementor-social-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:40px;height:40px;border-radius:50%;padding:0!important;}
.elementor-social-icon i{font-size:17px;line-height:1;color:#fff;margin:0;}

/* ===== header nav: single-row top level + hover dropdowns ===== */
.elementor-location-header .elementor-widget-nav-menu,.elementor-location-header [class*="nav-menu"]{flex:1 1 auto!important;min-width:0;}
.elementor-location-header nav>ul,.elementor-location-header ul.elementor-nav-menu{display:flex!important;flex-wrap:nowrap!important;gap:0 26px;align-items:center;justify-content:flex-end;list-style:none;margin:0;padding:0;}
.elementor-location-header ul.elementor-nav-menu>li{white-space:nowrap;position:relative;}
.elementor-location-header ul.elementor-nav-menu ul{display:none!important;position:absolute;top:100%;left:0;z-index:1000;min-width:16em;background:#122a68;box-shadow:0 8px 20px rgba(0,0,0,.28);padding:6px 0;border-radius:6px;}
.elementor-location-header ul.elementor-nav-menu li:hover>ul{display:block!important;}
.elementor-location-header ul.elementor-nav-menu ul li{display:block;white-space:normal;}
.elementor-location-header ul.elementor-nav-menu ul a{display:block;padding:8px 14px;color:#fff!important;font-size:14px;}
.elementor-location-header ul.elementor-nav-menu ul a:hover{background:rgba(255,255,255,.12);}
.elementor-location-header ul.elementor-nav-menu ul ul{top:0;left:100%;}

/* ===== header buttons: neat side-by-side pills ===== */
.elementor-location-header .elementor-widget-button{display:inline-block!important;margin:0!important;}
.elementor-location-header .elementor-button{display:inline-flex!important;align-items:center;justify-content:center;padding:10px 20px!important;border-radius:8px!important;font-size:14px!important;line-height:1.2!important;}
.elementor-location-header .e-con:has(.elementor-button)>.e-con-inner{display:flex!important;flex-direction:row!important;gap:12px;align-items:center;justify-content:flex-end;}
/* header buttons side-by-side: legacy widget-wrap row + auto width buttons */
.elementor-location-header .elementor-widget-wrap{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:10px;align-items:center;justify-content:flex-end;}
.elementor-location-header .elementor-widget-wrap>.elementor-widget-button{width:auto!important;}

/* Elementor renders a hidden MOBILE clone of each nav menu; unstyled it doubles every menu.
   Kill dropdown clones + hamburger toggles site-wide (desktop nav is the styled one). */
.elementor-nav-menu--dropdown,.elementor-menu-toggle,nav[aria-hidden="true"]{display:none!important;}
