/* ==========================================================================
   site.css — restored base layer
   Replaces the dead wpo-minify combined bundle (Astra theme + Elementor +
   ElementsKit + Swiper CSS). The page already ships an extensive custom
   design system inline (#gcg-v2-styles / #gcg-pe-styles / #wp-custom-css) —
   this file only rebuilds the structural chrome those styles assume exists:
   header/navigation, Elementor flex containers, ElementsKit widgets, the
   testimonials/partners carousels, WP core blocks and buttons.
   ========================================================================== */

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:'Cairo',Tahoma,Arial,sans-serif;color:var(--gcg-ink,#1a1a1a);background:#fff;line-height:1.65;overflow-x:hidden}
img{max-width:100%;height:auto;border:0;vertical-align:middle}
img[src=""]{visibility:hidden}
a{color:inherit}
ul,ol{margin:0;padding:0}
button,input,select,textarea{font-family:inherit}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.skip-link{position:fixed;top:-60px;right:12px;z-index:100000;background:var(--gcg-navy,#0a1e3a);color:#fff;padding:10px 18px;border-radius:0 0 10px 10px;transition:top .2s}
.skip-link:focus{top:0}
.ast-container{max-width:1200px;margin:0 auto;padding:0 20px}

/* ---------- Header ---------- */
.site-header{background:#fff;box-shadow:0 2px 14px rgba(10,30,58,.06);position:sticky;top:0;z-index:999}
#ast-desktop-header .ast-container,
#ast-mobile-header .ast-container{max-width:1200px;margin:0 auto;padding:0 20px}
.ast-primary-header-bar{padding:14px 0}
.ast-builder-grid-row{display:flex;align-items:center;justify-content:space-between;gap:20px}
.site-branding{display:flex;align-items:center}
.custom-logo-link{display:inline-flex}
.custom-logo{width:150px;height:auto}
@media(min-width:768px){.custom-logo{width:190px}}
.main-header-menu{list-style:none;display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.main-header-menu>.menu-item{position:relative}
.main-header-menu .menu-link{display:flex;align-items:center;gap:4px;padding:10px 14px;font-weight:700;font-size:15px;color:var(--gcg-navy,#0a1e3a);text-decoration:none;border-radius:10px;transition:background .15s,color .15s}
.main-header-menu>.menu-item:hover>.menu-link,
.main-header-menu .menu-item.current-menu-item>.menu-link{background:rgba(37,211,102,.1);color:var(--gcg-green-dark,#128c4a)}
.ast-icon.icon-arrow{display:inline-flex;width:9px}
.ast-arrow-svg{width:9px;height:9px;fill:currentColor;transition:transform .18s}
.menu-item.menu-item-has-children:hover>a>.dropdown-menu-toggle .ast-arrow-svg{transform:rotate(180deg)}
.ast-menu-toggle{display:none}
.sub-menu{list-style:none;position:absolute;top:100%;right:0;min-width:280px;background:#fff;border-radius:14px;box-shadow:0 20px 50px -10px rgba(10,30,58,.25);padding:8px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .18s,transform .18s,visibility .18s;z-index:50}
.menu-item.menu-item-has-children:hover>.sub-menu,
.menu-item.menu-item-has-children.gcg-open>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.sub-menu .menu-link{padding:10px 14px;font-size:14px;font-weight:600;border-radius:8px;display:flex;align-items:center;gap:8px}
.sub-menu .menu-link:hover{background:rgba(10,30,58,.06)}
.sub-menu .menu-link .ast-icon.icon-arrow{transform:rotate(90deg);opacity:.4}
.header-widget-area .wp-block-button__link{background:linear-gradient(135deg,var(--gcg-green,#25D366),var(--gcg-green-dark,#128c4a));color:#fff!important;padding:11px 22px;border-radius:12px;font-weight:800;text-decoration:none!important;display:inline-block;box-shadow:0 6px 16px -4px rgba(18,140,74,.4)}

/* mobile header row (branding + hamburger), hidden on desktop */
#ast-mobile-header{display:none}
.menu-toggle{background:none;border:none;cursor:pointer;padding:8px;color:var(--gcg-navy,#0a1e3a);display:flex}
.ast-mobile-svg.ast-close-svg{display:none}
body.gcg-nav-open .ast-mobile-svg.ast-menu-svg{display:none}
body.gcg-nav-open .ast-mobile-svg.ast-close-svg{display:block}

/* mobile nav panel is a clone of the desktop menu, injected by site.js —
   only ever shown below the Astra mobile breakpoint (921px) */
.gcg-mobile-nav,.gcg-mobile-nav__overlay{display:none}

@media(max-width:921px){
  #ast-desktop-header{display:none}
  #ast-mobile-header{display:block;padding:12px 0}
  #ast-mobile-header .ast-builder-grid-row{justify-content:space-between}
  .gcg-mobile-nav{display:block;position:fixed;inset:0 0 0 auto;width:min(320px,86vw);background:#fff;z-index:10000;transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);overflow-y:auto;box-shadow:-10px 0 40px rgba(0,0,0,.2);padding:18px}
  body.gcg-nav-open .gcg-mobile-nav{transform:translateX(0)}
  .gcg-mobile-nav__overlay{display:block;position:fixed;inset:0;background:rgba(8,18,36,.55);z-index:9999;opacity:0;visibility:hidden;transition:opacity .28s}
  body.gcg-nav-open .gcg-mobile-nav__overlay{opacity:1;visibility:visible}
  .gcg-mobile-nav__close{display:flex;justify-content:flex-end;margin-bottom:10px}
  .gcg-mobile-nav .main-header-menu{flex-direction:column;align-items:stretch;gap:2px}
  .gcg-mobile-nav .menu-link{width:100%;padding:13px 14px}
  .gcg-mobile-nav .sub-menu{position:static;box-shadow:none;opacity:1;visibility:visible;transform:none;display:none;max-width:100%;min-width:0;background:rgba(10,30,58,.04);margin:2px 0 6px}
  .gcg-mobile-nav .menu-item.gcg-open>.sub-menu{display:block}
  .gcg-mobile-nav .dropdown-menu-toggle{margin-right:auto;padding:6px}
  .gcg-mobile-nav .menu-item.gcg-open>a .dropdown-menu-toggle .ast-arrow-svg{transform:rotate(180deg)}
}

/* ---------- Elementor layout primitives ---------- */
.elementor{width:100%}
.e-con-boxed{max-width:1200px;margin:0 auto;padding:0 20px}
.e-con,.e-con-inner{display:flex;flex-wrap:wrap}
.e-con-full{width:100%}
.e-con.e-parent{padding:36px 0}
.e-con.e-child{gap:18px}
.elementor-widget{margin-bottom:0}
[data-element_type="container"]{flex-direction:column}
.e-con-inner>[data-element_type="container"],
.e-con>[data-element_type="widget"]{width:100%}

/* Elementor "Grid" containers (class e-grid) — used for the service/pest-icon
   card rows. Elementor's own combined CSS defined the column math per
   element; we approximate it with a responsive auto-fit grid. */
.e-con.e-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;align-items:stretch}
.e-con.e-grid>.elementor-widget{width:auto}
.e-con.e-grid .elementskit-infobox{height:100%}

/* ---------- ElementsKit: heading ---------- */
.ekit-heading{margin-bottom:22px}
.elementskit-section-subtitle{display:inline-block;font-size:13px;font-weight:800;letter-spacing:1.2px;color:var(--gcg-green-dark,#128c4a);background:rgba(37,211,102,.1);padding:6px 16px;border-radius:999px;margin-bottom:12px}
.ekit-heading--title.elementskit-section-title{font-size:26px;font-weight:900;color:var(--gcg-navy,#0a1e3a);line-height:1.3;margin:0 0 10px;text-decoration:none;display:block}
@media(min-width:768px){.ekit-heading--title.elementskit-section-title{font-size:34px}}
.ekit-heading__description p{font-size:15px;color:#6b7280;line-height:1.8;margin:0}
.ekit-heading.text_right,.ekit-heading.text_right *{text-align:right}
.ekit-heading.text_center,.ekit-heading.text_center *{text-align:center;margin-left:auto;margin-right:auto}

/* ---------- ElementsKit: dual button ---------- */
.ekit-btn-wraper{display:flex;flex-wrap:wrap;gap:14px}
.ekit-btn,.elementskit-btn{display:inline-flex;align-items:center;gap:8px;padding:15px 28px;border-radius:14px;font-weight:800;font-size:15px;text-decoration:none!important;cursor:pointer;border:none;transition:transform .18s,box-shadow .18s}
.ekit-btn:hover,.elementskit-btn:hover{transform:translateY(-2px)}
.ekit-btn-primary,.elementskit-btn-primary{background:linear-gradient(135deg,var(--gcg-green,#25D366),var(--gcg-green-dark,#128c4a));color:#fff!important;box-shadow:0 10px 24px -6px rgba(18,140,74,.45)}
.ekit-btn-secondary,.elementskit-btn-secondary{background:linear-gradient(135deg,var(--gcg-navy,#0a1e3a),var(--gcg-navy-dark,#061229));color:#fff!important;box-shadow:0 10px 24px -6px rgba(10,30,58,.35)}

/* ---------- ElementsKit: icon widget ---------- */
.elementor-icon-wrapper{display:flex}
.elementor-icon{width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,var(--gcg-amber,#f5b50a),#d99b00);color:var(--gcg-navy,#0a1e3a);display:flex;align-items:center;justify-content:center;font-size:26px}
.icon.icon-quote::before{content:"\275D"}

/* ---------- ElementsKit "funfact" (stats counter) widget ---------- */
.elementskit-funfact{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:26px 16px;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:18px;height:100%}
.funfact-icon{width:60px;height:60px;border-radius:16px;background:linear-gradient(135deg,var(--gcg-navy,#0a1e3a),var(--gcg-navy-dark,#061229));display:flex;align-items:center;justify-content:center}
.number-percentage-wraper{font-size:34px;font-weight:900;color:var(--gcg-navy,#0a1e3a);line-height:1;display:flex;align-items:baseline;justify-content:center;gap:2px;flex-wrap:wrap;direction:ltr}
.funfact-title{font-size:14px;font-weight:700;color:#6b7280;margin:0}

/* The ElementsKit icon font is unavailable — substitute mask-based SVG icons
   for the handful of glyphs actually used on this page. */
.elementskit-funfact-icon{display:inline-block;width:28px;height:28px;background:#fff;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
.icon-customer-service{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a8 8 0 0 0-8 8v6a3 3 0 0 0 3 3h1v-7H5v-2a7 7 0 0 1 14 0v2h-3v7h1a3 3 0 0 0 3-3v-1h1v-5h-1a8 8 0 0 0-8-8Zm-4 12h1v5H8a2 2 0 0 1-2-2v-3Zm10 0v3a2 2 0 0 1-2 2h-1v-5Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a8 8 0 0 0-8 8v6a3 3 0 0 0 3 3h1v-7H5v-2a7 7 0 0 1 14 0v2h-3v7h1a3 3 0 0 0 3-3v-1h1v-5h-1a8 8 0 0 0-8-8Zm-4 12h1v5H8a2 2 0 0 1-2-2v-3Zm10 0v3a2 2 0 0 1-2 2h-1v-5Z'/%3E%3C/svg%3E")}
.icon-review{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3.09 6.26L22 9.27l-5 4.87L18.18 21 12 17.77 5.82 21 7 14.14 2 9.27l6.91-1.01L12 2Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3.09 6.26L22 9.27l-5 4.87L18.18 21 12 17.77 5.82 21 7 14.14 2 9.27l6.91-1.01L12 2Z'/%3E%3C/svg%3E")}
.icon-protected-content-v2{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 4 5v6c0 5.25 3.4 9.74 8 11 4.6-1.26 8-5.75 8-11V5l-8-3Zm-1.2 13.4L7 11.6l1.4-1.4 2.4 2.4 4.8-4.8L17 9.2l-6.2 6.2Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 4 5v6c0 5.25 3.4 9.74 8 11 4.6-1.26 8-5.75 8-11V5l-8-3Zm-1.2 13.4L7 11.6l1.4-1.4 2.4 2.4 4.8-4.8L17 9.2l-6.2 6.2Z'/%3E%3C/svg%3E")}
.icon-trophy1{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18 3h3v3a4 4 0 0 1-4 4h-.28A6 6 0 0 1 13 13.9V17h3v2H8v-2h3v-3.1A6 6 0 0 1 7.28 10H7a4 4 0 0 1-4-4V3h3V2h12v1Zm-13 2H4v1a2 2 0 0 0 2 2h.06A8.6 8.6 0 0 1 6 6.5V5Zm14 0h-1v1.5c0 .6-.03 1-.06 1.5H18a2 2 0 0 0 2-2V5Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18 3h3v3a4 4 0 0 1-4 4h-.28A6 6 0 0 1 13 13.9V17h3v2H8v-2h3v-3.1A6 6 0 0 1 7.28 10H7a4 4 0 0 1-4-4V3h3V2h12v1Zm-13 2H4v1a2 2 0 0 0 2 2h.06A8.6 8.6 0 0 1 6 6.5V5Zm14 0h-1v1.5c0 .6-.03 1-.06 1.5H18a2 2 0 0 0 2-2V5Z'/%3E%3C/svg%3E")}

/* ---------- ElementsKit: info box grid ---------- */
.elementskit-infobox{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:18px;padding:26px 20px;height:100%;transition:transform .2s,box-shadow .2s,border-color .2s}
.elementskit-infobox:hover{transform:translateY(-5px);border-color:var(--gcg-navy,#0a1e3a);box-shadow:0 18px 40px -14px rgba(10,30,58,.22)}
.elementskit-info-box-icon{width:84px;height:84px;margin:0 auto 16px;border-radius:20px;background:var(--gcg-soft,#f5f7fa);display:flex;align-items:center;justify-content:center;overflow:hidden}
.elementskit-info-box-icon img{width:56px;height:56px;object-fit:contain}
.elementskit-info-box-title{font-size:17px;font-weight:800;color:var(--gcg-navy,#0a1e3a);text-align:center;margin:0 0 6px}
.box-body p{text-align:center;color:#6b7280;font-size:13.5px;line-height:1.7;margin:0}
.ekit_global_links{text-decoration:none;display:block;color:inherit}

.elementskit-stars{list-style:none;display:flex;gap:3px;margin:0 0 10px;padding:0}
.elementskit-stars li a{display:block}
.elementskit-stars svg{width:16px;height:16px;fill:var(--gcg-amber,#f5b50a)}

/* ---------- Swiper (testimonials / partners) — CSS-only carousel ---------- */
.swiper-container,.swiper{overflow:hidden;position:relative}
.swiper-wrapper{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding:6px 2px 22px;list-style:none;scrollbar-width:thin}
.swiper-wrapper::-webkit-scrollbar{height:6px}
.swiper-wrapper::-webkit-scrollbar-thumb{background:rgba(10,30,58,.18);border-radius:99px}
.swiper-slide{flex:0 0 auto;scroll-snap-align:start;width:280px}
.swiper-slide-inner{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:18px;padding:22px;height:100%}
.swiper-button-next,.swiper-button-prev{display:none}

/* partner logos row */
.elementor-widget-image-carousel .swiper-slide,
[class*="partner"] .swiper-slide{width:150px;display:flex;align-items:center;justify-content:center}
[class*="partner"] .swiper-slide img{filter:grayscale(1);opacity:.7;transition:filter .2s,opacity .2s}
[class*="partner"] .swiper-slide img:hover{filter:grayscale(0);opacity:1}

/* ---------- Buttons / forms (WP core + Elementor generic) ---------- */
.wp-element-button,.elementor-button{background:var(--gcg-green,#25D366);color:#fff;border:none;border-radius:12px;padding:13px 24px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-block}
.wp-block-buttons{display:flex;gap:10px;flex-wrap:wrap;list-style:none}

/* ---------- Footer navigation link (kept for SEO if gcg-footer JS hasn't run yet) ---------- */
.footer-bar-navigation .ast-nav-menu{list-style:none;display:flex;flex-wrap:wrap;gap:14px;padding:0}
.footer-bar-navigation .menu-link{color:rgba(255,255,255,.7);text-decoration:none;font-size:13px}

/* ---------- WP core blocks: generic spacing so content never looks unstyled ---------- */
.wp-block-group,.wp-block-columns{margin:0}
.wp-block-column{min-width:0}
.wp-block-heading{margin:0 0 12px;font-weight:900;color:var(--gcg-navy,#0a1e3a)}

/* ---------- Utility ---------- */
.gcg-hidden{display:none!important}
