/*
Theme Name: Guru Customs Premium
Theme URI: https://customguru.webzee.com.au/
Author: Webzee Australia
Description: Premium automotive customisation website theme for Guru Customs.
Version: 1.1.1
Text Domain: guru-customs
*/
:root{--gc-black:#060A0E;--gc-blue:#009EFF;--gc-blue-dark:#0B7ABE;--gc-white:#f8fbff;--gc-text:#d5e0e9;--gc-font:'Inter',Arial,sans-serif}
html{scroll-behavior:smooth}body{font-family:var(--gc-font);background:var(--gc-black)}
/* Keep the homepage header and footer design consistent across all WordPress pages. */
header.nav.home-nav{position:relative;z-index:1000;background:#060A0E!important}
header.nav.home-nav .logo{position:relative;z-index:1005;display:flex;align-items:center;flex-shrink:0}
header.nav.home-nav .logo img{display:block;width:118px;height:auto;max-height:100px;object-fit:contain;position:relative;z-index:1006}
.topbar{position:relative;z-index:1001}
.gc-footer{background:#060A0E!important}
.gc-footer .footer-logo{width:150px;height:auto;object-fit:contain}
.gc-trustindex-section{background:#060A0E!important}
@media(max-width:900px){header.nav.home-nav .logo img{width:92px;max-height:82px}}


/* WordPress routing and requested typography/spacing refinements */
.gc-footer h3,.footer h3,.gc-footer-column h3{font-size:24px!important;font-weight:600!important;line-height:1.2!important;margin:6px 0 16px!important}
.gc-footer h3:after,.footer h3:after{margin-top:9px!important}
.service-copy h3,.service-card h3,.detail-card-copy h3,.service-detail-grid .detail-card h3{font-size:26px!important;font-weight:600!important;line-height:1.2!important;color:#f4f9ff!important}
.gc-trustindex-section{min-height:0!important;padding:0!important;overflow:hidden!important}
.gc-trustindex-layout{min-height:420px!important;align-items:stretch!important}
.gc-trustindex-photo,.gc-trustindex-photo img{min-height:420px!important;height:420px!important}
.gc-trustindex-content{min-height:420px!important;padding-top:38px!important;padding-bottom:38px!important;gap:18px!important}
.gc-trustindex-widget{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}
.gc-trustindex-widget iframe{width:100%!important;max-width:100%!important}
.gc-trustindex-widget .ti-widget,.gc-trustindex-widget .ti-widget-container,.gc-trustindex-widget .ti-reviews-container-wrapper{min-height:0!important;height:auto!important}
@media(max-width:900px){.gc-trustindex-layout{min-height:0!important}.gc-trustindex-photo,.gc-trustindex-photo img{min-height:280px!important;height:280px!important}.gc-trustindex-content{min-height:0!important;padding:32px 22px!important}}
@media(max-width:760px){.gc-footer h3,.footer h3,.gc-footer-column h3{font-size:20px!important}.service-copy h3,.service-card h3,.detail-card-copy h3,.service-detail-grid .detail-card h3{font-size:23px!important}}


/* Guru Customs final layout corrections */
.site-footer h2, .site-footer h3, .footer h2, .footer h3, .footer-title { font-size: 24px; line-height: 1.3; }
.detail-card-copy h3, .service-card h3, .service-detail-grid .detail-card h3 { font-size: 26px; line-height: 1.25; color: #f5f8fb; }
.gc-reviews, .testimonials, .testimonial-grid { min-height: 0; }
.gc-reviews-content, .testimonial-content { min-height: 0; }
@media (max-width: 767px) { .detail-card-copy h3, .service-card h3, .service-detail-grid .detail-card h3 { font-size: 26px; } }

/* About Us page: keep the hero title prominent, while standard section/card headings are 24px. */
body.page .about-values .section-title,
body.page .about-process .section-title,
body.page .about-values h3,
body.page .about-process h3,
body.page .inner-content .inner-copy h2,
body.page .inner-dark .section-title,
body.page .about-values .about-value-card h3,
body.page .about-process .about-process-card h3 {
  font-size: 24px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
}
body.page .about-values .section-subtitle,
body.page .about-process .section-subtitle {
  line-height: 1.65;
}


/* Floating call action, animated quote popup and mobile contact bar */
.gc-floating-call{position:fixed!important;right:12px!important;top:48%!important;z-index:99990!important;box-sizing:border-box!important;width:max-content!important;max-width:calc(100vw - 24px)!important;display:flex!important;align-items:center!important;gap:11px!important;padding:10px 15px 10px 10px!important;border:1px solid rgba(0,158,255,.65)!important;border-radius:999px!important;background:linear-gradient(135deg,#009EFF,#0B7ABE)!important;color:#fff!important;text-decoration:none!important;box-shadow:0 10px 30px rgba(0,158,255,.28)!important;transform:translateX(calc(100% - 58px));transition:transform .28s ease,box-shadow .28s ease!important;animation:gcCallPulse 3s ease-in-out infinite}
.gc-floating-call:hover,.gc-floating-call:focus-visible{transform:translateX(0)!important;box-shadow:0 14px 34px rgba(0,158,255,.42)!important;animation:none}.gc-floating-call-label{opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease}.gc-floating-call:hover .gc-floating-call-label,.gc-floating-call:focus-visible .gc-floating-call-label{opacity:1;visibility:visible}
.gc-float-call-icon{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:50%;background:rgba(255,255,255,.18)}
.gc-float-call-icon svg{width:20px;height:20px}.gc-floating-call-label{display:flex;flex-direction:column;gap:2px;white-space:nowrap}.gc-floating-call-label small{font-size:10px;opacity:.88}.gc-floating-call-label strong{font-size:13px;font-weight:700}
@keyframes gcCallPulse{0%,100%{box-shadow:0 10px 30px rgba(0,158,255,.25)}50%{box-shadow:0 10px 30px rgba(0,158,255,.25),0 0 0 7px rgba(0,158,255,.09)}}
.gc-mobile-action-bar{display:none}
.gc-quote-modal{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:20px;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .25s ease,visibility .25s ease}
.gc-quote-modal.is-open{visibility:visible;opacity:1;pointer-events:auto}
.gc-quote-backdrop{position:absolute;inset:0;background:rgba(0,5,10,.78);backdrop-filter:blur(7px)}
.gc-quote-dialog{position:relative;z-index:1;width:min(100%,560px);max-height:min(90vh,820px);overflow:auto;padding:32px;border:1px solid rgba(0,158,255,.35);border-radius:22px;background:linear-gradient(145deg,#101a24,#060A0E 72%);color:#f7fbff;box-shadow:0 25px 80px rgba(0,0,0,.5);transform:translateY(18px) scale(.97);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.gc-quote-modal.is-open .gc-quote-dialog{transform:translateY(0) scale(1)}
.gc-quote-close{position:absolute;top:12px;right:14px;width:38px;height:38px;border:1px solid #31404d;border-radius:50%;background:#121d27;color:#fff;font-size:27px;line-height:1;cursor:pointer;transition:background .2s,transform .2s}.gc-quote-close:hover{background:#009EFF;transform:rotate(90deg)}
.gc-quote-eyebrow{display:block;margin-bottom:8px;color:#00b8ff;font-size:11px;font-weight:800;letter-spacing:1.7px}.gc-quote-dialog h2{margin:0 42px 8px 0;color:#fff;font-size:30px;line-height:1.2;font-weight:700}.gc-quote-dialog p{margin:0 0 22px;color:#aebdca;font-size:14px;line-height:1.6}
.gc-quote-popup-form,.gc-quote-popup-form label{display:flex;flex-direction:column;gap:7px}.gc-quote-popup-form{gap:14px}.gc-quote-popup-form label{color:#dce8f2;font-size:12px;font-weight:600}.gc-quote-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gc-quote-popup-form input,.gc-quote-popup-form select,.gc-quote-popup-form textarea{box-sizing:border-box;width:100%;min-width:0;border:1px solid #344451;border-radius:10px;background:#0a1118;color:#f7fbff;padding:13px 14px;font:500 14px 'Inter',Arial,sans-serif;outline:none;transition:border-color .2s,box-shadow .2s}.gc-quote-popup-form input:focus,.gc-quote-popup-form select:focus,.gc-quote-popup-form textarea:focus{border-color:#009EFF;box-shadow:0 0 0 3px rgba(0,158,255,.13)}.gc-quote-popup-form input::placeholder,.gc-quote-popup-form textarea::placeholder{color:#778896}.gc-quote-popup-form select{color-scheme:dark}.gc-quote-submit{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:15px 18px;border:0;border-radius:11px;background:linear-gradient(100deg,#009EFF,#0B7ABE);color:#fff;font:700 14px 'Inter',Arial,sans-serif;cursor:pointer;box-shadow:0 8px 22px rgba(0,158,255,.2);transition:transform .2s,box-shadow .2s,filter .2s}.gc-quote-submit:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,158,255,.32);filter:brightness(1.08)}.gc-quote-note{color:#8193a2;font-size:11px;text-align:center;line-height:1.5}
@media(max-width:767px){body{padding-bottom:76px}.gc-floating-call{display:none}.gc-mobile-action-bar{position:fixed;z-index:9995;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px max(12px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:rgba(6,10,14,.96);border-top:1px solid rgba(0,158,255,.28);box-shadow:0 -8px 28px rgba(0,0,0,.28);backdrop-filter:blur(14px)}.gc-mobile-call,.gc-mobile-quote{min-height:48px;display:flex;align-items:center;justify-content:center;gap:9px;border-radius:12px;text-decoration:none!important;font-family:'Inter',Arial,sans-serif;transition:transform .2s,filter .2s,box-shadow .2s}.gc-mobile-call{border:1px solid #263d4e;background:#111c26;color:#fff!important}.gc-mobile-call svg{width:20px;height:20px;color:#00b8ff;flex:0 0 auto}.gc-mobile-call span{display:flex;flex-direction:column;gap:2px}.gc-mobile-call small{font-size:10px;color:#aebdca}.gc-mobile-call strong{font-size:12px;color:#fff}.gc-mobile-quote{border:1px solid #17aaff;background:linear-gradient(100deg,#009EFF,#0B7ABE);color:#fff;font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 5px 18px rgba(0,158,255,.22)}.gc-mobile-quote b{font-size:19px;transition:transform .2s}.gc-mobile-call:hover,.gc-mobile-quote:hover{transform:translateY(-2px);filter:brightness(1.08)}.gc-mobile-quote:hover b{transform:translate(2px,-2px)}.gc-quote-dialog{padding:26px 20px 22px;border-radius:18px;max-height:calc(100dvh - 30px)}.gc-quote-dialog h2{font-size:26px}.gc-quote-fields{grid-template-columns:1fr;gap:14px}.gc-quote-modal{padding:12px}}
@media(prefers-reduced-motion:reduce){.gc-floating-call,.gc-quote-dialog,.gc-quote-modal,.gc-mobile-call,.gc-mobile-quote{animation:none!important;transition:none!important}}


/* v1.1.0: accessible, animated quick-contact actions */
.gc-floating-call{will-change:transform;outline-offset:4px;right:12px!important;max-width:calc(100vw - 24px)!important;box-sizing:border-box!important}.gc-floating-call-label{opacity:0!important;visibility:hidden!important;transition:opacity .18s ease,visibility .18s ease!important}.gc-floating-call:hover .gc-floating-call-label,.gc-floating-call:focus-visible .gc-floating-call-label{opacity:1!important;visibility:visible!important}
.gc-floating-call:focus-visible{transform:translateX(0);outline:2px solid #f8fbff}
.gc-mobile-call:focus-visible,.gc-mobile-quote:focus-visible{outline:2px solid #f8fbff;outline-offset:3px;box-shadow:0 0 0 5px rgba(0,158,255,.24)}
.gc-mobile-quote{position:relative;overflow:hidden}
.gc-mobile-quote:before{content:"";position:absolute;inset:0;transform:translateX(-120%);background:linear-gradient(110deg,transparent,rgba(255,255,255,.22),transparent);transition:transform .55s ease;pointer-events:none}
.gc-mobile-quote:hover:before,.gc-mobile-quote:focus-visible:before{transform:translateX(120%)}
.gc-mobile-quote span,.gc-mobile-quote b{position:relative;z-index:1}
@media(hover:none){.gc-floating-call{transform:translateX(0)}.gc-mobile-call:active,.gc-mobile-quote:active{transform:scale(.98)}}

/* v1.2.0: enforce the homepage header layout consistently on every page template */
body .topbar{height:40px!important;min-height:40px!important;position:relative!important;top:auto!important;left:auto!important;right:auto!important;z-index:10001!important;box-sizing:border-box!important}
body .topbar-inner{height:100%!important;min-height:40px!important;display:flex!important;align-items:center!important}
body header.nav.home-nav{position:relative!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;width:100%!important;height:86px!important;min-height:86px!important;max-height:86px!important;margin:0!important;padding:0!important;z-index:10000!important;box-sizing:border-box!important;overflow:visible!important;background:#060A0E!important}
body header.nav.home-nav.sticky{position:fixed!important;top:0!important;left:0!important;right:0!important;height:86px!important;min-height:86px!important;max-height:86px!important;z-index:10000!important}
body header.nav.home-nav .nav-inner{width:min(1240px,92%)!important;height:86px!important;min-height:86px!important;max-height:86px!important;margin:0 auto!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:22px!important;position:relative!important;box-sizing:border-box!important}
body header.nav.home-nav .logo{width:120px!important;min-width:120px!important;height:86px!important;max-height:86px!important;margin:0!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;position:relative!important;z-index:10006!important;flex:0 0 120px!important;overflow:visible!important}
body header.nav.home-nav .logo img{display:block!important;width:120px!important;min-width:120px!important;height:auto!important;max-height:82px!important;object-fit:contain!important;object-position:left center!important;margin:0!important;position:relative!important;z-index:10007!important}
body header.nav.home-nav .nav-links{position:relative!important;inset:auto!important;transform:none!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:clamp(18px,2.1vw,32px)!important;margin:0 auto 0 0!important;padding:0!important;flex:0 1 auto!important;opacity:1;visibility:visible}
body header.nav.home-nav .nav-links a{font-size:16px!important;line-height:1.2!important;white-space:nowrap!important}
body header.nav.home-nav .quote-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;min-height:50px!important;margin:0!important;padding:15px 24px!important;font-size:13px!important;line-height:1.2!important;white-space:nowrap!important}
body header.nav.home-nav .menu-toggle{flex:0 0 auto!important}
@media(max-width:1000px){body header.nav.home-nav .nav-inner{gap:14px!important}body header.nav.home-nav .logo{width:100px!important;min-width:100px!important;flex-basis:100px!important}body header.nav.home-nav .logo img{width:100px!important;min-width:100px!important}body header.nav.home-nav .nav-links{gap:15px!important}body header.nav.home-nav .nav-links a{font-size:14px!important}body header.nav.home-nav .quote-btn{padding:13px 15px!important;font-size:11px!important}}
@media(max-width:760px){body header.nav.home-nav:not(.sticky){height:68px!important;min-height:68px!important;max-height:68px!important}body header.nav.home-nav .nav-inner{height:68px!important;min-height:68px!important;max-height:68px!important;gap:10px!important}body header.nav.home-nav .logo{width:78px!important;min-width:78px!important;height:68px!important;flex-basis:78px!important}body header.nav.home-nav .logo img{width:78px!important;min-width:78px!important;max-height:62px!important}body header.nav.home-nav .nav-links{position:absolute!important;left:0!important;right:0!important;top:100%!important;height:auto!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:3px!important;margin:0!important;padding:12px 4% 18px!important;background:#07090cf7!important;border-bottom:1px solid #009eff66!important;box-shadow:0 16px 30px #0004!important;opacity:0!important;visibility:hidden!important;transform:translateY(-8px)!important;z-index:10008!important}body header.nav.home-nav .nav-links.open{opacity:1!important;visibility:visible!important;transform:none!important}body header.nav.home-nav .nav-links a{font-size:14px!important;padding:12px!important}body header.nav.home-nav .quote-btn{min-height:42px!important;padding:11px 10px!important;font-size:10px!important;margin-left:auto!important}body header.nav.home-nav .menu-toggle{display:grid!important;place-items:center!important;margin-left:0!important}}


/* V10: enforce the exact two-row homepage header on every inner page.
   The logo intentionally spans the topbar and navigation rows without being clipped. */
body:not(.home):not(.front-page) .topbar,
body.home .topbar,
body.front-page .topbar {
  position: relative !important;
  z-index: 1400 !important;
  height: 38px !important;
  min-height: 38px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  background: #0b1118 !important;
}
body:not(.home):not(.front-page) .topbar-inner,
body.home .topbar-inner,
body.front-page .topbar-inner {
  min-height: 38px !important;
  height: 38px !important;
  box-sizing: border-box !important;
}
body:not(.home):not(.front-page) header.nav.home-nav,
body.home header.nav.home-nav,
body.front-page header.nav.home-nav {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  z-index: 1300 !important;
  height: 86px !important;
  min-height: 86px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: #060a0e !important;
  border-bottom: 1px solid rgba(0,158,255,.28) !important;
  box-sizing: border-box !important;
}
header.nav.home-nav .nav-inner {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: clamp(18px, 2.1vw, 32px) !important;
  height: 86px !important;
  min-height: 86px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}
header.nav.home-nav .logo,
header.nav.home-nav.sticky .logo {
  position: absolute !important;
  left: 0 !important;
  top: -38px !important;
  bottom: auto !important;
  z-index: 1410 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 145px !important;
  min-width: 145px !important;
  max-width: 145px !important;
  height: 124px !important;
  min-height: 124px !important;
  max-height: 124px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  transform: none !important;
  flex: 0 0 145px !important;
}
header.nav.home-nav .logo img,
header.nav.home-nav.sticky .logo img {
  position: relative !important;
  z-index: 1411 !important;
  display: block !important;
  width: 145px !important;
  min-width: 145px !important;
  max-width: 145px !important;
  height: 124px !important;
  min-height: 124px !important;
  max-height: 124px !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
  margin: 0 !important;
}
header.nav.home-nav .nav-links {
  position: static !important;
  inset: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(18px, 2.1vw, 32px) !important;
  margin: 0 auto 0 165px !important;
  padding: 0 !important;
  transform: none !important;
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  overflow: visible !important;
}
header.nav.home-nav .nav-links > a,
header.nav.home-nav .nav-dropdown-trigger {
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
}
header.nav.home-nav .quote-btn {
  position: relative !important;
  z-index: 1310 !important;
  flex: 0 0 auto !important;
  min-width: 205px !important;
  height: 52px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  box-sizing: border-box !important;
  padding: 0 22px !important;
  font-size: 14px !important;
  line-height: 1 !important;
}
header.nav.home-nav .menu-toggle { z-index: 1420 !important; }
/* Sticky state must retain the same logo position and navigation geometry. */
header.nav.home-nav.sticky {
  position: sticky !important;
  top: 32px !important;
  height: 86px !important;
  min-height: 86px !important;
}
header.nav.home-nav.sticky .nav-inner { height: 86px !important; min-height: 86px !important; }
@media (max-width: 980px) {
  header.nav.home-nav .logo,
  header.nav.home-nav.sticky .logo { width: 118px !important; min-width: 118px !important; max-width: 118px !important; left: 0 !important; }
  header.nav.home-nav .logo img,
  header.nav.home-nav.sticky .logo img { width: 118px !important; min-width: 118px !important; max-width: 118px !important; }
  header.nav.home-nav .nav-links { margin-left: 128px !important; gap: 13px !important; }
  header.nav.home-nav .nav-links > a, header.nav.home-nav .nav-dropdown-trigger { font-size: 13px !important; }
  header.nav.home-nav .quote-btn { min-width: 150px !important; padding: 0 12px !important; font-size: 12px !important; }
}
@media (max-width: 760px) {
  body .topbar { height: 36px !important; min-height: 36px !important; }
  body .topbar-inner { height: 36px !important; min-height: 36px !important; padding-left: 76px !important; }
  body header.nav.home-nav,
  body header.nav.home-nav.sticky { height: 72px !important; min-height: 72px !important; top: 0 !important; }
  body header.nav.home-nav .nav-inner,
  body header.nav.home-nav.sticky .nav-inner { height: 72px !important; min-height: 72px !important; }
  body header.nav.home-nav .logo,
  body header.nav.home-nav.sticky .logo { top: -36px !important; width: 78px !important; min-width: 78px !important; max-width: 78px !important; height: 108px !important; min-height: 108px !important; max-height: 108px !important; }
  body header.nav.home-nav .logo img,
  body header.nav.home-nav.sticky .logo img { width: 78px !important; min-width: 78px !important; max-width: 78px !important; height: 108px !important; min-height: 108px !important; max-height: 108px !important; }
  body header.nav.home-nav .nav-links { position: absolute !important; left: 0 !important; right: 0 !important; top: 100% !important; margin: 0 !important; display: none !important; flex-direction: column !important; align-items: stretch !important; gap: 4px !important; padding: 14px !important; background: #060a0e !important; border: 1px solid rgba(0,158,255,.3) !important; border-radius: 0 0 14px 14px !important; }
  body header.nav.home-nav .nav-links.open { display: flex !important; }
  body header.nav.home-nav .quote-btn { margin-left: auto !important; min-width: 0 !important; height: 42px !important; padding: 0 10px !important; font-size: 10px !important; }
  body header.nav.home-nav .menu-toggle { display: inline-flex !important; align-items: center !important; justify-content: center !important; }
}


/* V11 FIX: Make the shared header render identically on homepage and inner pages.
   The logo intentionally overlaps the topbar/navigation boundary; keep the header
   stacking context above the topbar so the logo is never hidden or clipped. */
body .topbar,
body.home .topbar,
body.front-page .topbar,
body:not(.home):not(.front-page) .topbar {
  position: relative !important;
  z-index: 1200 !important;
  overflow: visible !important;
}
body header.nav.home-nav,
body.home header.nav.home-nav,
body.front-page header.nav.home-nav,
body:not(.home):not(.front-page) header.nav.home-nav {
  position: relative !important;
  z-index: 1300 !important;
  overflow: visible !important;
}
body header.nav.home-nav .logo,
body header.nav.home-nav .logo img {
  visibility: visible !important;
  opacity: 1 !important;
  overflow: visible !important;
}
body header.nav.home-nav .logo {
  top: -38px !important;
}
body header.nav.home-nav .nav-inner {
  overflow: visible !important;
}
body header.nav.home-nav .quote-btn {
  position: relative !important;
  z-index: 1320 !important;
}
@media (max-width: 760px) {
  body header.nav.home-nav .logo {
    top: -36px !important;
  }
}


/* V12 HEADER ALIGNMENT FIX
   Keep the quote CTA vertically centered inside the navigation row instead of
   dropping into the hero. Apply the same shared-header geometry on every page. */
body #siteNav.nav.home-nav .nav-inner > .quote-btn,
body #siteNav.nav.home-nav.sticky .nav-inner > .quote-btn {
  position: relative !important;
  inset: auto !important;
  top: -26px !important;
  bottom: auto !important;
  align-self: center !important;
  transform: none !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  z-index: 1510 !important;
}
body #siteNav.nav.home-nav,
body #siteNav.nav.home-nav.sticky {
  z-index: 1501 !important;
  isolation: isolate !important;
  overflow: visible !important;
}
body #siteNav.nav.home-nav .nav-inner {
  align-items: center !important;
  overflow: visible !important;
}
@media (max-width: 760px) {
  body #siteNav.nav.home-nav .nav-inner > .quote-btn,
  body #siteNav.nav.home-nav.sticky .nav-inner > .quote-btn {
    top: 0 !important;
    align-self: center !important;
  }
}


/* V13: FINAL DESKTOP QUOTE BUTTON ALIGNMENT CORRECTION */
@media (min-width: 761px) {
  body #siteNav.nav.home-nav .nav-inner > .quote-btn,
  body #siteNav.nav.home-nav.sticky .nav-inner > .quote-btn {
    top: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    align-self: center !important;
  }
}


/* RESPONSIVE UPDATE 2026-10: centered desktop menu, mobile clean header, responsive footer */

/* Desktop/tablet header: logo stays left, menu is centered in the viewport,
   and the quote CTA stays on the right. */
@media (min-width: 761px) {
  body #siteNav.nav.home-nav,
  body #siteNav.nav.home-nav.sticky {
    position: relative !important;
    overflow: visible !important;
  }
  body #siteNav.nav.home-nav .nav-inner,
  body #siteNav.nav.home-nav.sticky .nav-inner {
    position: relative !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
  }
  body #siteNav.nav.home-nav .nav-links,
  body #siteNav.nav.home-nav.sticky .nav-links {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    width: max-content !important;
    max-width: calc(100% - 390px) !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: clamp(14px, 1.7vw, 28px) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
  }
  body #siteNav.nav.home-nav .quote-btn,
  body #siteNav.nav.home-nav.sticky .quote-btn {
    position: relative !important;
    top: 0 !important;
    right: auto !important;
    margin: 0 0 0 auto !important;
    transform: none !important;
    flex: 0 0 auto !important;
  }
  body #siteNav.nav.home-nav .menu-toggle,
  body #siteNav.nav.home-nav.sticky .menu-toggle {
    display: none !important;
  }
}

/* Smaller laptop/tablet widths: shrink the menu and keep all header items separate. */
@media (min-width: 761px) and (max-width: 1050px) {
  body #siteNav.nav.home-nav .logo,
  body #siteNav.nav.home-nav .logo img { width: 100px !important; min-width: 100px !important; max-width: 100px !important; }
  body #siteNav.nav.home-nav .nav-links,
  body #siteNav.nav.home-nav.sticky .nav-links {
    max-width: calc(100% - 300px) !important;
    gap: 11px !important;
  }
  body #siteNav.nav.home-nav .nav-links > a,
  body #siteNav.nav.home-nav .nav-dropdown-trigger { font-size: 12px !important; }
  body #siteNav.nav.home-nav .quote-btn { min-width: 130px !important; padding: 0 10px !important; font-size: 11px !important; }
}

/* Mobile: hide top contact/social strip and desktop quote button.
   Keep the logo and hamburger, with the mobile menu opening below the header. */
@media (max-width: 760px) {
  body .topbar,
  body.home .topbar,
  body.front-page .topbar,
  body:not(.home):not(.front-page) .topbar {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }
  body #siteNav.nav.home-nav,
  body #siteNav.nav.home-nav.sticky {
    height: 72px !important;
    min-height: 72px !important;
    top: 0 !important;
    margin-top: 0 !important;
  }
  body #siteNav.nav.home-nav .nav-inner,
  body #siteNav.nav.home-nav.sticky .nav-inner {
    height: 72px !important;
    min-height: 72px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 12px !important;
  }
  body #siteNav.nav.home-nav .logo,
  body #siteNav.nav.home-nav.sticky .logo {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 76px !important;
    min-width: 76px !important;
    max-width: 76px !important;
    height: 66px !important;
    min-height: 66px !important;
    max-height: 66px !important;
    margin: 0 auto 0 0 !important;
    flex: 0 0 76px !important;
  }
  body #siteNav.nav.home-nav .logo img,
  body #siteNav.nav.home-nav.sticky .logo img {
    width: 76px !important;
    min-width: 76px !important;
    max-width: 76px !important;
    height: 66px !important;
    min-height: 66px !important;
    max-height: 66px !important;
    object-fit: contain !important;
  }
  body #siteNav.nav.home-nav .quote-btn,
  body #siteNav.nav.home-nav.sticky .quote-btn {
    display: none !important;
  }
  body #siteNav.nav.home-nav .menu-toggle,
  body #siteNav.nav.home-nav.sticky .menu-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    margin: 0 0 0 auto !important;
    padding: 10px !important;
    border: 1px solid rgba(0,158,255,.45) !important;
    border-radius: 10px !important;
    background: #101820 !important;
    color: #fff !important;
  }
  body #siteNav.nav.home-nav .nav-links,
  body #siteNav.nav.home-nav.sticky .nav-links {
    position: absolute !important;
    left: 12px !important;
    right: 12px !important;
    top: 100% !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 12px !important;
    display: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 4px !important;
    transform: none !important;
    background: #070b10 !important;
    border: 1px solid rgba(0,158,255,.35) !important;
    border-radius: 0 0 14px 14px !important;
    box-shadow: 0 16px 35px rgba(0,0,0,.35) !important;
    z-index: 10020 !important;
  }
  body #siteNav.nav.home-nav .nav-links.open,
  body #siteNav.nav.home-nav.sticky .nav-links.open {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  body #siteNav.nav.home-nav .nav-links > a,
  body #siteNav.nav.home-nav .nav-dropdown-trigger,
  body #siteNav.nav.home-nav.sticky .nav-links > a,
  body #siteNav.nav.home-nav.sticky .nav-dropdown-trigger {
    display: flex !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 12px 14px !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
  }
  body #siteNav.nav.home-nav .nav-dropdown,
  body #siteNav.nav.home-nav.sticky .nav-dropdown { width: 100% !important; }
  body #siteNav.nav.home-nav .dropdown-menu,
  body #siteNav.nav.home-nav.sticky .dropdown-menu {
    position: static !important;
    display: none !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
  }
  body #siteNav.nav.home-nav .nav-dropdown:focus-within .dropdown-menu,
  body #siteNav.nav.home-nav .nav-dropdown:hover .dropdown-menu,
  body #siteNav.nav.home-nav.sticky .nav-dropdown:focus-within .dropdown-menu,
  body #siteNav.nav.home-nav.sticky .nav-dropdown:hover .dropdown-menu {
    display: block !important;
  }
}

/* Footer: adapt to desktop, tablet and narrow mobile widths without overflow. */
body .gc-footer,
body .footer {
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}
body .gc-footer .container,
body .footer .container { width: min(100% - 40px, 1200px); margin-left: auto; margin-right: auto; }
body .gc-footer-grid,
body .footer-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.25fr) repeat(2, minmax(0, 1fr)) minmax(0, 1.2fr) !important;
  gap: clamp(18px, 2.5vw, 36px) !important;
}
body .gc-footer-grid > *,
body .footer-grid > * { min-width: 0 !important; }
body .gc-footer-column,
body .footer-contact,
body .gc-footer-contact { min-width: 0 !important; overflow-wrap: anywhere; }
body .gc-footer-column ul,
body .footer ul { min-width: 0; }
body .gc-footer-column a,
body .footer a { overflow-wrap: anywhere; }
body .gc-footer-contact li,
body .footer-contact li { align-items: flex-start; min-width: 0; overflow-wrap: anywhere; }
body .gc-footer-contact li > span:last-child,
body .footer-contact li > span:last-child { min-width: 0; overflow-wrap: anywhere; }
body .gc-footer-socials { display: flex; flex-wrap: wrap; gap: 10px; }
@media (max-width: 1000px) {
  body .gc-footer-grid,
  body .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px 24px !important;
  }
}
@media (max-width: 600px) {
  body .gc-footer .container,
  body .footer .container { width: calc(100% - 32px) !important; }
  body .gc-footer-grid,
  body .footer-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
    padding-bottom: 26px !important;
  }
  body .gc-footer-about p { max-width: none !important; }
  body .gc-footer .footer-logo,
  body .footer .footer-logo { width: 100px !important; max-width: 100% !important; }
  body .gc-footer h3,
  body .footer h3 { margin-bottom: 12px !important; font-size: 18px !important; }
  body .gc-footer li,
  body .gc-footer li a,
  body .footer li,
  body .footer li a { font-size: 13px !important; line-height: 1.6 !important; }
  body .gc-footer-bottom,
  body .footer-bottom { padding: 16px 4px !important; font-size: 10px !important; line-height: 1.6 !important; overflow-wrap: anywhere; }
}


/* LOGO POSITION + LARGER MOBILE LOGO */
@media (min-width: 761px) {
  body #siteNav.nav.home-nav .nav-inner > a.logo,
  body #siteNav.nav.home-nav.sticky .nav-inner > a.logo {
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 124px !important;
    min-width: 124px !important;
    max-width: 124px !important;
    height: 104px !important;
    min-height: 104px !important;
    max-height: 104px !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 1520 !important;
  }
  body #siteNav.nav.home-nav .nav-inner > a.logo > img,
  body #siteNav.nav.home-nav.sticky .nav-inner > a.logo > img {
    display: block !important;
    width: 124px !important;
    min-width: 124px !important;
    max-width: 124px !important;
    height: 104px !important;
    min-height: 104px !important;
    max-height: 104px !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 !important;
  }
  body #siteNav.nav.home-nav .nav-links,
  body #siteNav.nav.home-nav.sticky .nav-links {
    left: 50% !important;
    max-width: calc(100% - 390px) !important;
  }
}
@media (min-width: 761px) and (max-width: 1050px) {
  body #siteNav.nav.home-nav .nav-inner > a.logo,
  body #siteNav.nav.home-nav.sticky .nav-inner > a.logo {
    width: 100px !important;
    min-width: 100px !important;
    max-width: 100px !important;
    height: 88px !important;
    min-height: 88px !important;
    max-height: 88px !important;
  }
  body #siteNav.nav.home-nav .nav-inner > a.logo > img,
  body #siteNav.nav.home-nav.sticky .nav-inner > a.logo > img {
    width: 100px !important;
    min-width: 100px !important;
    max-width: 100px !important;
    height: 88px !important;
    min-height: 88px !important;
    max-height: 88px !important;
  }
}
@media (max-width: 760px) {
  body #siteNav.nav.home-nav,
  body #siteNav.nav.home-nav.sticky {
    height: 86px !important;
    min-height: 86px !important;
  }
  body #siteNav.nav.home-nav .nav-inner,
  body #siteNav.nav.home-nav.sticky .nav-inner {
    height: 86px !important;
    min-height: 86px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    align-items: center !important;
  }
  body #siteNav.nav.home-nav .nav-inner > a.logo,
  body #siteNav.nav.home-nav.sticky .nav-inner > a.logo {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: 108px !important;
    min-width: 108px !important;
    max-width: 108px !important;
    height: 80px !important;
    min-height: 80px !important;
    max-height: 80px !important;
    flex: 0 0 108px !important;
    margin: 0 auto 0 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  body #siteNav.nav.home-nav .nav-inner > a.logo > img,
  body #siteNav.nav.home-nav.sticky .nav-inner > a.logo > img {
    width: 108px !important;
    min-width: 108px !important;
    max-width: 108px !important;
    height: 80px !important;
    min-height: 80px !important;
    max-height: 80px !important;
    object-fit: contain !important;
    object-position: center !important;
  }
}
@media (max-width: 380px) {
  body #siteNav.nav.home-nav .nav-inner > a.logo,
  body #siteNav.nav.home-nav.sticky .nav-inner > a.logo {
    width: 96px !important;
    min-width: 96px !important;
    max-width: 96px !important;
    flex-basis: 96px !important;
  }
  body #siteNav.nav.home-nav .nav-inner > a.logo > img,
  body #siteNav.nav.home-nav.sticky .nav-inner > a.logo > img {
    width: 96px !important;
    min-width: 96px !important;
    max-width: 96px !important;
  }
}
