/*
 * 113 Group – shared header, footer and WhatsApp button (all pages).
 * Every class starts with "g-" and every rule is scoped, so the old theme CSS
 * that the inner pages still load (Bootstrap, Cleanu, Elementor) cannot clash.
 */
:root{
  --g-blue:#173EA0;
  --g-blue-d:#102F82;
  --g-navy:#0B2470;
  --g-green:#25AF3F;
  --g-green-d:#1E9634;
  --g-light:#EEF0F6;
  --g-ink:#151C3B;
  --g-line:#DFE3EE;
  --g-wrap:1400px;
}
html{overflow-x:clip}
body{overflow-x:clip}

/* Reset inside the shared parts */
.g-topbar,.g-header,.g-footer,.g-wa{font-family:'Outfit',system-ui,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased;box-sizing:border-box}
.g-topbar *,.g-header *,.g-footer *,.g-wa *{box-sizing:border-box;margin:0;padding:0}
.g-topbar a,.g-header a,.g-footer a,.g-wa,.g-topbar a:hover,.g-header a:hover,.g-footer a:hover,.g-wa:hover{color:inherit;text-decoration:none;background-color:transparent}
.g-header ul,.g-footer ul{list-style:none}
.g-header img,.g-footer img{max-width:100%;height:auto;display:block;border:0}
.g-header button{font-family:inherit;border-radius:0}
.g-wrap{width:min(var(--g-wrap),92%);margin:0 auto}
.g-skip{position:absolute;left:16px;top:-60px;z-index:100;background:var(--g-blue);color:#fff!important;padding:10px 18px;border-radius:10px;font:600 15px 'Outfit',sans-serif}
.g-skip:focus{top:12px}
.g-topbar :focus-visible,.g-header :focus-visible,.g-footer :focus-visible,.g-wa:focus-visible{outline:3px solid var(--g-green);outline-offset:3px}

/* Inner pages (old theme): line their content up with the header and footer.
   Bootstrap containers have 15px side padding, Elementor's default gap 10px. */
main .container{width:calc(min(var(--g-wrap),92%) + 30px);max-width:100%!important}
main .elementor-section.elementor-section-boxed>.elementor-container{max-width:min(var(--g-wrap),92%)!important}
main .elementor-section.elementor-section-boxed>.elementor-container.elementor-column-gap-default{max-width:calc(min(var(--g-wrap),92%) + 20px)!important}

/* No dash-style divider lines under or before headings on the inner pages. */
main .devider,main .sidebar h2::before,main .sidebar h2::after,main .sidebar .title::before,main .sidebar .title::after{display:none!important}

/* Top bar */
.g-topbar{background:var(--g-navy);color:#C9D3F2;font-size:14px}
.g-topbar .g-wrap{display:flex;justify-content:space-between;align-items:center;height:44px}
.g-topbar .g-contact{display:flex;gap:28px}
.g-topbar a{display:inline-flex;align-items:center;gap:8px;transition:color .2s}
.g-topbar a:hover{color:#fff}
.g-topbar svg{width:15px;height:15px;color:var(--g-green)}
.g-social{display:flex;gap:6px}
.g-topbar .g-social a{width:30px;height:30px;border-radius:50%;justify-content:center;background:rgba(255,255,255,.08)}
.g-topbar .g-social a:hover{background:var(--g-green)}
.g-social svg{width:13px;height:13px;color:#fff}

/* Header */
.g-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:box-shadow .3s,border-color .3s}
.g-header.scrolled{box-shadow:0 8px 30px rgba(15,35,110,.08);border-color:var(--g-line)}
.g-header .g-wrap{display:flex;align-items:center;justify-content:space-between;height:86px}
.g-header .g-logo img{height:52px;width:auto}
.g-nav ul{display:flex;gap:6px;align-items:center;margin:0}
.g-header .g-nav a{display:block;font-weight:500;font-size:15px;line-height:1.65;padding:10px 16px;border-radius:999px;color:var(--g-ink);transition:all .2s}
.g-header .g-nav a:hover{color:var(--g-blue);background:var(--g-light)}
.g-header .g-nav a.active{color:var(--g-blue);font-weight:600}

/* Button (header CTA) */
.g-header .g-nav a.g-btn{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:14px;letter-spacing:.06em;text-transform:uppercase;padding:13px 24px;margin-left:10px;border-radius:999px;background:var(--g-blue);color:#fff;white-space:nowrap}
.g-header .g-nav a.g-btn:hover{background:var(--g-navy);color:#fff}

.g-burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;border-radius:10px}
.g-burger span{display:block;width:24px;height:2px;background:var(--g-ink);margin:5px auto;border-radius:2px;transition:transform .3s,opacity .3s}
.g-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.g-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.g-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Page banner (every page except home): photo + blue gradient, title, breadcrumb, green wave.
   .g-overlap leaves extra room for content that rises over the wave (Services cards). */
.g-phero{position:relative;overflow:hidden;background:var(--g-blue);color:#fff;font-family:'Outfit',system-ui,sans-serif;line-height:1.65;text-align:left}
.g-phero *{box-sizing:border-box;margin:0;padding:0}
.g-phero-bg{position:absolute;inset:0;background:url(img/hero.jpg) center/cover no-repeat}
.g-phero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(16,47,130,.98) 0%,rgba(23,62,160,.92) 45%,rgba(23,62,160,.55) 100%)}
.g-phero .g-wrap{position:relative;margin:0 auto;padding:120px 0 170px}
.g-phero.g-overlap .g-wrap{padding-bottom:200px}
.g-phero h1{font-family:inherit;font-size:clamp(46px,6.4vw,84px);line-height:1.02;font-weight:800;letter-spacing:-.03em;color:#fff;margin-bottom:26px;text-transform:none}
.g-crumbs{display:inline-flex;align-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:9px 20px;font-size:15px;font-weight:500;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.g-crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:10px;list-style:none}
.g-crumbs li{display:flex;align-items:center;gap:10px;line-height:inherit;min-height:0;height:auto}
.g-crumbs li+li::before{content:"";width:7px;height:7px;border-top:2px solid var(--g-green);border-right:2px solid var(--g-green);transform:rotate(45deg)}
.g-phero .g-crumbs a{color:#C9D3F2;text-decoration:none;transition:color .2s}
.g-phero .g-crumbs a:hover{color:#fff;text-decoration:none}
.g-crumbs [aria-current]{color:#fff;font-weight:600}
.g-phero-wave{position:absolute;left:0;right:0;bottom:-1px;line-height:0}
.g-phero-wave svg{display:block;width:100%;height:120px}

/* Custom dropdown for form selects (built by site.js; the native <select> stays hidden in the form). */
.g-select{position:relative;font-family:'Outfit',system-ui,sans-serif}
.g-select .g-select-native{position:absolute!important;inset:0;width:100%!important;height:100%!important;opacity:0!important;pointer-events:none!important;margin:0!important}
.field.has-gselect::after{display:none}
.g-select-btn{position:relative;width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;font-family:inherit;font-size:16px;line-height:1.4;text-align:left;color:var(--g-ink);background:#F5F6FA;border:1.5px solid transparent;border-radius:12px;padding:14px 18px;padding-right:18px!important;cursor:pointer;transition:border-color .2s,background-color .2s,box-shadow .2s}
/* The old theme styles every form button (Request a pickup page); undo that here. */
form .g-select .g-select-btn{color:var(--g-ink);font-weight:400;text-transform:none;letter-spacing:normal;box-shadow:none;height:auto;width:100%;margin:0;overflow:visible}
form .g-select .g-select-btn::before,form .g-select .g-select-btn::after{content:none!important;display:none!important}
.g-select-btn.is-placeholder .g-select-text{color:#8A90A8}
.g-select-btn svg{flex:none;width:18px;height:18px;color:#5D6482;transition:transform .25s,color .2s}
.g-select-btn:hover{border-color:#C9D1E6}
.g-select-btn:focus-visible,.g-select.open .g-select-btn{outline:none;border-color:var(--g-blue);background-color:#fff!important;box-shadow:0 0 0 4px rgba(23,62,160,.1)}
.g-select.open .g-select-btn svg{transform:rotate(180deg);color:var(--g-blue)}
.field.invalid .g-select-btn{border-color:#D93A3A;background-color:#fff!important}
.g-select-list{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:60;list-style:none;margin:0;padding:6px;background:#fff;border:1px solid var(--g-line);border-radius:14px;box-shadow:0 22px 48px rgba(15,35,110,.18);max-height:300px;overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s,transform .18s,visibility .18s}
.g-select.open .g-select-list{opacity:1;visibility:visible;transform:none}
.g-select-list li{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:11px 14px;border-radius:10px;font-size:15.5px;font-weight:500;line-height:1.35;color:var(--g-ink);cursor:pointer;list-style:none}
.g-select-list li::before{display:none!important}
.g-select-list li.active{background:var(--g-light);color:var(--g-blue)}
.g-select-list li.selected{color:var(--g-blue);font-weight:600}
.g-select-list li.selected::after{content:"";flex:none;width:12px;height:7px;border-left:2.4px solid var(--g-green);border-bottom:2.4px solid var(--g-green);transform:rotate(-45deg) translate(2px,-2px)}
@media (prefers-reduced-motion:reduce){.g-select-list,.g-select-btn svg{transition:none}}

/* Footer */
/* The top band of the footer is transparent and holds the van, so the section
   above can never cover it; the blue starts at the green line the van stands on. */
.g-footer{--van:560px;--lift:calc(var(--van) * .375);position:relative;z-index:1;clear:both;background:linear-gradient(transparent var(--lift),var(--g-blue) var(--lift));color:#D4DCF5;margin-top:30px;padding-top:var(--lift);font-size:16px}
.g-footer::before{content:"";position:absolute;left:0;right:0;top:var(--lift);height:6px;background:var(--g-green)}
.g-footer .g-van{position:absolute;right:max(4%,calc((100% - var(--g-wrap))/2));top:0;width:var(--van);height:auto;z-index:2;filter:drop-shadow(0 20px 25px rgba(0,0,0,.18));pointer-events:none;animation:g-drive 10s ease-in-out infinite}
@keyframes g-drive{0%,100%{transform:translateX(0)}50%{transform:translateX(-60px)}}
.g-footer .g-cols{display:grid;grid-template-columns:1.6fr .8fr 1fr;gap:70px;padding:110px 0 70px}
.g-footer .g-flogo{height:99px;width:auto;margin-bottom:26px}
.g-footer p{font-size:16px;line-height:1.65;color:#D4DCF5;margin-bottom:14px}
.g-footer .g-lic{display:inline-flex;flex-wrap:wrap;gap:4px 8px;align-items:center;background:rgba(255,255,255,.08);border-radius:10px;padding:10px 16px;margin-top:6px;font-size:16px}
.g-footer .g-lic b{color:#fff}
.g-footer .g-fhead{color:#fff;font-family:inherit;font-size:20px;font-weight:600;line-height:1.3;margin-bottom:24px}
.g-footer li{margin-bottom:12px}
.g-footer ul a{font-size:16px;display:inline-flex;align-items:center;gap:8px;transition:color .2s,transform .2s}
.g-footer ul a::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--g-green)}
.g-footer ul a:hover{color:#fff;transform:translateX(4px)}
.g-fcontact{display:flex;gap:16px;margin-bottom:24px}
.g-fcontact i{flex:none;width:46px;height:46px;border-radius:12px;background:rgba(255,255,255,.1);display:grid;place-items:center;color:var(--g-green)}
.g-fcontact i svg{width:20px;height:20px}
.g-fcontact small{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:600;color:#fff;margin-bottom:2px}
.g-footer .g-fcontact a{display:block;font-size:16px;transition:color .2s}
.g-footer .g-fcontact a:hover{color:#fff}
.g-footer a.g-fbtn{display:inline-flex;align-items:center;gap:10px;margin-top:6px;padding:15px 28px;border-radius:999px;background:var(--g-green);color:#fff;font-weight:600;font-size:14px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;transition:background .25s}
.g-footer a.g-fbtn:hover{background:var(--g-green-d);color:#fff}
.g-fbtn svg{width:16px;height:16px;transition:transform .25s}
.g-fbtn:hover svg{transform:translateX(3px)}
.g-copy{border-top:1px solid rgba(255,255,255,.12);background:var(--g-blue-d)}
.g-copy .g-wrap{display:flex;justify-content:space-between;flex-wrap:wrap;padding:22px 0;gap:8px 20px;font-size:16px}
/* Keep the credit clear of the fixed WhatsApp button (bottom right). */
.g-copy .g-wrap{padding-right:max(0px,calc(220px - (100% - min(var(--g-wrap),92%)) / 2))}
.g-copy b{color:#fff}
.g-footer .g-copy a:hover b{color:var(--g-green)}
.g-heart{color:#ff5a5f}

/* WhatsApp */
.g-wa{position:fixed;right:22px;bottom:22px;z-index:900;display:flex;flex-direction:row-reverse;align-items:center;gap:10px}
.g-wa i{width:56px;height:56px;border-radius:50%;background:#49E670;display:grid;place-items:center;box-shadow:0 10px 26px rgba(73,230,112,.45);position:relative}
.g-wa i::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #49E670;animation:g-pulse 2.2s ease-out infinite}
.g-wa svg{width:28px;height:28px;color:#fff}
.g-wa span{background:#fff;color:var(--g-ink);font-size:14px;font-weight:500;padding:7px 14px;border-radius:10px;box-shadow:0 8px 22px rgba(0,0,0,.12)}
@keyframes g-pulse{from{transform:scale(1);opacity:.8}to{transform:scale(1.6);opacity:0}}

@media (prefers-reduced-motion:reduce){
  .g-footer .g-van,.g-wa i::after{animation:none}
}

/* Responsive */
@media (max-width:1080px){
  .g-footer .g-cols{grid-template-columns:1fr 1fr;gap:50px}
  .g-footer .g-cols>div:first-child{grid-column:1/-1;max-width:720px}
  .g-footer{--van:420px}
}
@media (max-width:1180px) and (min-width:901px){
  .g-header .g-nav a{padding:10px 11px;font-size:14.5px}
  .g-header .g-nav a.g-btn{margin-left:4px;padding:12px 18px}
}
@media (max-width:900px){
  .g-nav{position:absolute;left:0;right:0;top:100%;background:#fff;padding:16px 4% 22px;box-shadow:0 20px 40px rgba(0,0,0,.1);border-top:1px solid var(--g-line);transform:translateY(-12px);opacity:0;visibility:hidden;transition:transform .3s,opacity .3s,visibility .3s;max-height:calc(100vh - 86px);overflow-y:auto}
  .g-nav.open{transform:none;opacity:1;visibility:visible}
  .g-nav ul{flex-direction:column;align-items:stretch;gap:2px}
  .g-header .g-nav a{padding:13px 16px;font-size:16px;border-radius:12px}
  .g-header .g-nav a.g-btn{display:flex;margin:12px 0 0;justify-content:center;padding:15px}
  .g-burger{display:block}
}
@media (max-width:640px){
  .g-topbar .g-contact a:last-child{display:none}
  .g-header .g-wrap{height:72px}
  .g-nav{max-height:calc(100vh - 72px)}
  .g-header .g-logo img{height:42px}
  .g-phero .g-wrap{padding:70px 0 130px}
  .g-phero.g-overlap .g-wrap{padding-bottom:160px}
  .g-phero-wave svg{height:80px}
  .g-footer .g-cols{grid-template-columns:1fr;gap:40px;padding:90px 0 50px}
  .g-copy .g-wrap{flex-direction:column;align-items:center;text-align:center;padding:22px 0 88px}
  .g-footer{--van:250px}
  @keyframes g-drive{0%,100%{transform:translateX(0)}50%{transform:translateX(-24px)}}
  .g-wa{right:16px;bottom:16px}
  .g-wa i{width:52px;height:52px}
  .g-wa span{display:none}
}
@media (max-width:380px){
  .g-social{display:none}
}
