:root{--gcl-nav-ink:#0f172a;--gcl-nav-copy:#526078;--gcl-nav-green:#168a45;--gcl-nav-line:#dbe4ee;--gcl-nav-soft:#f5f8fb}
.gcl-icon{display:inline-block;flex:0 0 auto;background-color:currentColor;-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat}
.gcl-icon--chevron-down{-webkit-mask-image:url("icons/bootstrap-chevron-down.svg");mask-image:url("icons/bootstrap-chevron-down.svg")}
.gcl-icon--chevron-right{-webkit-mask-image:url("icons/bootstrap-chevron-right.svg");mask-image:url("icons/bootstrap-chevron-right.svg")}
.gcl-icon--arrow-right{-webkit-mask-image:url("icons/bootstrap-arrow-right.svg");mask-image:url("icons/bootstrap-arrow-right.svg")}

/* Desktop commerce row */
.gcl-header-upgraded #header [data-device=desktop] [data-row=bottom]{position:relative;z-index:30;background:#fff!important;border-top:1px solid #edf1f5;border-bottom:1px solid var(--gcl-nav-line)}
.gcl-header-upgraded #header [data-device=desktop] [data-row=bottom]>.ct-container{width:100%;max-width:1900px;padding-inline:30px}
.gcl-header-upgraded #header [data-device=desktop] [data-row=bottom] [data-column=end],.gcl-header-upgraded #header [data-device=desktop] #header-menu-2{width:100%}
.gcl-navbar{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;min-height:58px;color:var(--gcl-nav-ink);font-family:"Manrope",sans-serif}
.gcl-navbar__menus{display:flex;align-items:stretch;height:58px}
.gcl-mega-item{position:relative;display:flex;align-items:stretch}
.gcl-mega-trigger{display:flex;align-items:center;gap:9px;height:58px;padding:0 20px;border:0;background:transparent;color:var(--gcl-nav-ink);font:675 14.5px/1 "Manrope",sans-serif;letter-spacing:-.012em;cursor:pointer;white-space:nowrap}
.gcl-mega-trigger>.gcl-icon{width:12px;height:12px;transition:transform .18s ease}
.gcl-mega-item:hover .gcl-mega-trigger,.gcl-mega-item:focus-within .gcl-mega-trigger,.gcl-mega-item.is-open .gcl-mega-trigger{color:var(--gcl-nav-green);background:#f4faf6}
.gcl-mega-item:hover .gcl-mega-trigger>.gcl-icon,.gcl-mega-item:focus-within .gcl-mega-trigger>.gcl-icon,.gcl-mega-item.is-open .gcl-mega-trigger>.gcl-icon{transform:rotate(180deg)}
.gcl-mega{position:absolute;top:100%;left:0;display:grid;grid-template-columns:minmax(490px,1fr) 275px;gap:18px;width:min(830px,calc(100vw - 48px));padding:22px;border:1px solid #d9e3ec;border-top:2px solid var(--gcl-nav-green);border-radius:0 0 20px 20px;background:#f8fafc;box-shadow:0 28px 64px rgba(15,23,42,.2),0 4px 12px rgba(15,23,42,.06);opacity:0;visibility:hidden;transform:translate(var(--gcl-mega-shift,0px),8px);transition:opacity .16s ease,transform .16s ease,visibility .16s;pointer-events:none}
.gcl-mega-item.is-right .gcl-mega{left:0;right:auto}
.gcl-mega-item:hover .gcl-mega,.gcl-mega-item:focus-within .gcl-mega,.gcl-mega-item.is-open .gcl-mega{opacity:1;visibility:visible;transform:translate(var(--gcl-mega-shift,0px),0);pointer-events:auto}
.gcl-mega__links{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.gcl-mega__link{position:relative;display:flex;flex-direction:column;justify-content:center;gap:6px;min-height:100px;padding:18px 46px 18px 18px;border:1px solid #dfe7ef;border-radius:13px;background:#fff;text-decoration:none!important;transition:.16s ease}
.gcl-mega__link::before{content:"";position:absolute;top:15px;right:14px;width:24px;height:24px;border-radius:50%;background:#eff7f1;transition:.16s ease}
.gcl-mega__link::after{content:"";position:absolute;top:21px;right:20px;width:12px;height:12px;background-color:var(--gcl-nav-green);-webkit-mask:url("icons/bootstrap-arrow-right.svg") center/contain no-repeat;mask:url("icons/bootstrap-arrow-right.svg") center/contain no-repeat;transition:.16s ease}
.gcl-mega__link strong{color:var(--gcl-nav-ink);font-size:15.5px;line-height:1.24;letter-spacing:-.02em}
.gcl-mega__link span{color:var(--gcl-nav-copy);font-size:13px;line-height:1.45}
.gcl-mega__link:hover{border-color:#9fd2b0;background:#fff;box-shadow:0 8px 18px rgba(15,23,42,.07);transform:translateY(-2px)}
.gcl-mega__link:hover strong{color:var(--gcl-nav-green)}
.gcl-mega__link:hover::before{background:var(--gcl-nav-green)}
.gcl-mega__link:hover::after{background-color:#fff;transform:translateX(2px)}
.gcl-mega__feature{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:211px;padding:26px;border-radius:15px;background:linear-gradient(145deg,#0f172a,#18243a);color:#fff!important;text-decoration:none!important;overflow:hidden}
.gcl-mega__feature::before,.gcl-mega__feature::after{content:"";position:absolute;border:1px solid rgba(255,255,255,.14);border-radius:50%;width:150px;height:150px;right:-55px;top:-55px}
.gcl-mega__feature::after{top:auto;bottom:-95px;right:-15px;width:190px;height:190px}
.gcl-mega__feature small,.gcl-mega__feature strong,.gcl-mega__feature span{position:relative;z-index:1}
.gcl-mega__feature small{margin-bottom:auto;color:#86efac;font-size:10.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.gcl-mega__feature strong{font-size:22px;line-height:1.16;letter-spacing:-.032em}
.gcl-mega__feature span{display:inline-flex;align-items:center;align-self:flex-start;gap:7px;margin-top:18px;padding:8px 11px;border-radius:8px;background:rgba(134,239,172,.1);color:#9af2b6;font-size:12px;font-weight:800}
.gcl-mega__feature .gcl-icon{width:13px;height:13px}
.gcl-navbar__support{display:flex;align-items:center;gap:28px;margin-left:auto;padding-left:26px;border-left:1px solid #e5ebf1}
.gcl-navbar__support a{display:flex;flex-direction:column;gap:2px;color:var(--gcl-nav-ink)!important;font-size:13px;font-weight:750;line-height:1.25;letter-spacing:-.01em;text-decoration:none!important;white-space:nowrap}
.gcl-navbar__support small{color:var(--gcl-nav-green);font-size:9.5px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}

/* Compact mobile drawer */
#offcanvas .ct-panel-inner{max-height:100dvh;background:#fff!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
#offcanvas .ct-panel-content[data-device=mobile]{min-height:0;overflow-y:visible!important}
#offcanvas .ct-panel-content[data-device=mobile] .ct-panel-content-inner{min-height:max-content;overflow:visible!important}
/* Mobile drawer (v1.7.0): same language as the shop filter sidebar. Plain rows on
   hairline dividers, chevron to expand, a drawn dash before each inner link.
   No icon tiles, no cards, no green fills, no hover underlines. */
#offcanvas .gcl-mobile-nav{padding:2px 0 22px;color:var(--gcl-nav-ink);font-family:"Manrope",sans-serif}
.gcl-mobile-nav a,.gcl-mobile-nav a:hover,.gcl-mobile-nav a:focus{text-decoration:none!important}
.gcl-mobile-nav__head{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;min-height:48px;margin:0 0 6px;padding:2px 0;background:#fff}
.gcl-mobile-nav__head strong{color:#526078;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.gcl-mobile-nav__head button{display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:none;color:var(--gcl-nav-ink);cursor:pointer}
.gcl-mobile-nav__head button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.gcl-mobile-nav__search{position:relative;margin:0 0 10px}
.gcl-mobile-nav__search input{width:100%;height:46px;padding:0 48px 0 14px;border:1px solid #dfe5ec;border-radius:10px;background:#fff;color:#0f172a!important;-webkit-text-fill-color:#0f172a!important;caret-color:#0f172a!important;font:500 15px/1.2 "Manrope",sans-serif!important;opacity:1!important;box-sizing:border-box}
.gcl-mobile-nav__search input:focus{outline:none;border-color:#0f172a}
.gcl-mobile-nav__search input::placeholder{color:#8490a3!important;-webkit-text-fill-color:#8490a3!important;opacity:1!important;font-weight:500!important}
.gcl-mobile-nav__search button{position:absolute;top:5px;right:5px;display:flex;align-items:center;justify-content:center;width:36px;height:36px!important;min-height:36px!important;max-height:36px!important;margin:0!important;padding:0!important;border:0;border-radius:8px;background:#0f172a;color:#fff;font-size:0;line-height:0;box-sizing:border-box;transform:none!important;cursor:pointer}
.gcl-mobile-nav__search button svg{display:block;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.gcl-mobile-nav__groups{display:block}
.gcl-mobile-nav__group,.gcl-mobile-nav__row{border-bottom:1px solid #edf1f5}
.gcl-mobile-nav__group summary,.gcl-mobile-nav__row{display:flex;align-items:center;gap:10px;min-height:52px;padding:0;color:var(--gcl-nav-ink)!important;font-size:15.5px;font-weight:700;letter-spacing:-.01em;list-style:none;cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none}
.gcl-mobile-nav__group summary::-webkit-details-marker{display:none}
.gcl-mobile-nav__group summary::marker{content:none}
.gcl-mobile-nav__group[open]>summary{font-weight:800}
.gcl-mobile-nav__chev{width:17px;height:17px;margin-left:auto;fill:none;stroke:#526078;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transform:rotate(-90deg);transition:transform .18s ease}
.gcl-mobile-nav__group[open] .gcl-mobile-nav__chev{transform:none}
.gcl-mobile-nav__links{display:grid;margin:-4px 0 10px 4px}
.gcl-mobile-nav__links a{display:flex;align-items:center;gap:10px;min-height:40px;color:#1e293b!important;font-size:14.5px;font-weight:500;line-height:1.3}
.gcl-mobile-nav__links a::before{content:"";flex:none;width:8px;height:1.5px;border-radius:1px;background:#0f172a}
.gcl-mobile-nav__links a[aria-current=page],.gcl-mobile-nav__row[aria-current=page]{font-weight:800}
.gcl-mobile-nav__group summary:focus-visible,.gcl-mobile-nav a:focus-visible{outline:2px solid #0f172a;outline-offset:2px;border-radius:4px}
.gcl-mobile-nav__foot{display:flex;flex-direction:column;gap:4px;margin:20px 0 0;color:#6b7686;font-size:13px;font-weight:500;line-height:1.4}
.gcl-mobile-nav__foot a{color:var(--gcl-nav-ink)!important;font-weight:700}
@media (prefers-reduced-motion:reduce){.gcl-mobile-nav__chev{transition:none}}
#offcanvas [data-id=offcanvas-logo]{display:none!important}

/* Homepage support / contact close */
.gcl-contact-band{width:100%;padding:64px 30px;background:#f4f8f6;color:var(--gcl-nav-ink);font-family:"Manrope",sans-serif}
.gcl-contact-band__inner{display:grid;grid-template-columns:minmax(320px,1fr) minmax(560px,1.55fr) minmax(260px,.72fr);width:100%;max-width:1900px;margin:0 auto;border:1px solid var(--gcl-nav-line);border-radius:20px;background:#fff;box-shadow:0 18px 45px rgba(15,23,42,.08);overflow:hidden}
.gcl-contact-band__intro{padding:40px}
.gcl-contact-band__kicker{margin:0 0 8px!important;color:var(--gcl-nav-green)!important;font-size:11px!important;font-weight:850!important;letter-spacing:.12em;text-transform:uppercase}
.gcl-contact-band__intro h2{margin:0;font-size:clamp(30px,2.45vw,42px);line-height:1.06;letter-spacing:-.04em;font-weight:800}
.gcl-contact-band__intro>p:last-child{margin:17px 0 0;max-width:46ch;color:var(--gcl-nav-copy);font-size:15px;line-height:1.65}
.gcl-contact-band__options{display:grid;grid-template-columns:1fr 1fr;align-content:center;gap:13px;padding:32px;border-left:1px solid #edf1f5}
.gcl-contact-band__options>a{display:flex;align-items:center;gap:12px;min-width:0;padding:15px;border:1px solid #e7edf3;border-radius:12px;color:var(--gcl-nav-ink)!important;text-decoration:none!important;transition:.16s ease}
.gcl-contact-band__options>a:hover{border-color:#a9d8b9;background:#f4faf6;transform:translateY(-1px)}
.gcl-contact-band__options>a>span:last-child{display:flex;min-width:0;flex-direction:column}
.gcl-contact-band__options small{color:var(--gcl-nav-copy);font-size:11px;font-weight:500}
.gcl-contact-band__options strong{overflow-wrap:anywhere;font-size:14px;line-height:1.35;letter-spacing:-.015em}
.gcl-contact-band__icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:#eaf7ee;color:var(--gcl-nav-green);font-size:16px;font-weight:850}
.gcl-contact-band__icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gcl-contact-band__cta{position:relative;display:flex;flex-direction:column;justify-content:center;padding:40px;background:var(--gcl-nav-green);color:#fff!important;text-decoration:none!important;overflow:hidden}
.gcl-contact-band__cta::before,.gcl-contact-band__cta::after{content:"";position:absolute;width:190px;height:190px;border:1px solid rgba(255,255,255,.2);border-radius:50%;right:-80px;top:-95px}
.gcl-contact-band__cta::after{top:auto;bottom:-120px;right:-25px;width:230px;height:230px}
.gcl-contact-band__cta>span,.gcl-contact-band__cta>strong{position:relative;z-index:1}
.gcl-contact-band__cta>span:first-child{font-size:12.5px;font-weight:650;opacity:.86}
.gcl-contact-band__cta>strong{margin-top:7px;max-width:220px;font-size:29px;line-height:1.06;letter-spacing:-.035em}
.gcl-contact-band__arrow{display:grid;place-items:center;width:42px;height:42px;margin-top:30px;border-radius:50%;background:var(--gcl-nav-ink);font-size:18px}

@media(max-width:1250px){.gcl-mega-trigger{padding-inline:12px}.gcl-navbar__support a:last-child{display:none}.gcl-contact-band__inner{grid-template-columns:1fr 1.35fr 230px}.gcl-contact-band__options{grid-template-columns:1fr}}
@media(max-width:1050px){.gcl-navbar__support{display:none}.gcl-navbar__menus{margin-inline:auto}.gcl-contact-band__inner{grid-template-columns:1fr 1.3fr}.gcl-contact-band__cta{grid-column:1/-1;min-height:170px}.gcl-contact-band__arrow{position:absolute;right:30px;bottom:30px}}
@media(max-width:689px){.gcl-contact-band{padding:46px 15px}.gcl-contact-band__inner{display:block;border-radius:16px}.gcl-contact-band__intro{padding:25px 22px}.gcl-contact-band__options{grid-template-columns:1fr;padding:0 22px 24px;border:0}.gcl-contact-band__cta{min-height:170px;padding:26px 22px}.gcl-contact-band__cta>strong{font-size:22px}}
@media(prefers-reduced-motion:reduce){.gcl-mega,.gcl-mega__link,.gcl-contact-band__options>a{transition:none!important}}

/* Clean closing contact band: full viewport rhythm, no nested card treatment. */
.gcl-contact-band{padding:0 30px;background:#f5f7f6;border-top:1px solid #e3e8e6}
.gcl-contact-band__inner{display:flex;align-items:center;justify-content:space-between;gap:48px;width:100%;max-width:1900px;min-height:184px;margin:0 auto;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
.gcl-contact-band__intro{flex:1 1 440px;padding:34px 0}
.gcl-contact-band__intro h2{font-size:clamp(25px,2vw,34px);line-height:1.1;letter-spacing:-.035em}
.gcl-contact-band__intro>p:last-child{margin-top:10px;max-width:55ch;font-size:14.5px;line-height:1.6}
.gcl-contact-band__options{display:flex;flex:0 1 auto;grid-template-columns:none;align-items:center;gap:38px;padding:34px 0;border:0}
.gcl-contact-band__options>a{min-width:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.gcl-contact-band__options>a:hover{border:0;background:transparent;box-shadow:none;transform:none}
.gcl-contact-band__options strong{font-size:13.5px}

/* Replace the old small widget footer with the full information architecture. */
#footer.ct-footer{display:none!important}
.gcl-site-footer{position:relative;width:100%;padding:0 30px;background:#0d1729;color:#9cabc0;font-family:"Manrope",sans-serif}
.gcl-site-footer::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#168a45,#31c768 42%,#168a45)}
.gcl-site-footer__inner{width:100%;max-width:1900px;margin:0 auto}
.gcl-site-footer__lead{display:flex;align-items:center;justify-content:space-between;gap:50px;padding:54px 0 42px;border-bottom:1px solid rgba(255,255,255,.1)}
.gcl-site-footer__brand{max-width:610px}
.gcl-site-footer__brand img{width:230px;height:auto;filter:brightness(0) invert(1);opacity:.96}
.gcl-site-footer__brand p{max-width:58ch;margin:20px 0 0;color:#a9b6c9;font-size:15px;line-height:1.7}
.gcl-site-footer__help{display:grid;grid-template-columns:auto auto;gap:6px 28px;align-items:center;padding:20px 24px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.045)}
.gcl-site-footer__help span{grid-column:1/-1;color:#fff;font-size:14px;font-weight:750}
.gcl-site-footer__help a{color:#9ee8b6!important;font-size:13px;font-weight:700;text-decoration:none!important}
.gcl-site-footer__help a:hover{color:#fff!important}
.gcl-site-footer__grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:42px;padding:52px 0 58px}
.gcl-site-footer__grid h2{margin:0 0 20px;color:#fff;font-size:13px;line-height:1.2;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.gcl-site-footer__grid a{display:block;margin:0 0 11px;color:#9cabc0!important;font-size:13.5px;line-height:1.45;font-weight:500;text-decoration:none!important;transition:color .16s ease,transform .16s ease}
.gcl-site-footer__grid a:hover{color:#78e19a!important;transform:translateX(3px)}
.gcl-site-footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0 26px;border-top:1px solid rgba(255,255,255,.1)}
.gcl-site-footer__bottom p{margin:0;color:#718096;font-size:12px}
.gcl-site-footer__bottom p:last-child{color:#8ddaa6;font-weight:700}

@media(max-width:1280px){.gcl-site-footer__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 56px}.gcl-contact-band__options{gap:24px}}
@media(max-width:900px){.gcl-contact-band__inner{align-items:flex-start;flex-direction:column;gap:0;padding:30px 0}.gcl-contact-band__intro{flex:auto;padding:0 0 24px}.gcl-contact-band__options{width:100%;padding:0;justify-content:space-between}.gcl-site-footer__lead{align-items:flex-start;flex-direction:column}.gcl-site-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:689px){.gcl-contact-band{padding:0 16px}.gcl-contact-band__inner{min-height:0}.gcl-contact-band__intro h2{font-size:25px}.gcl-contact-band__options{display:grid;gap:17px}.gcl-contact-band__options>a{padding:0}.gcl-site-footer{padding-inline:20px}.gcl-site-footer__lead{gap:28px;padding:42px 0 34px}.gcl-site-footer__brand img{width:205px}.gcl-site-footer__help{grid-template-columns:1fr;width:100%;gap:8px}.gcl-site-footer__help span{grid-column:auto;margin-bottom:4px}.gcl-site-footer__grid{gap:36px 24px;padding:40px 0 46px}.gcl-site-footer__grid h2{font-size:11.5px}.gcl-site-footer__grid a{font-size:12.5px}.gcl-site-footer__bottom{align-items:flex-start;flex-direction:column;gap:7px}}

/* Blocksy distributes mobile header children with large implicit margins.
   Keep desktop spacing, but make the three mobile actions one compact cluster. */
@media(max-width:999px){
  #header [data-device=mobile] [data-column=end] [data-items=primary]{
    display:flex!important;align-items:center!important;justify-content:flex-end!important;
    width:auto!important;gap:8px!important;--items-spacing:8px!important;
  }
  #header [data-device=mobile] [data-column=end] [data-items=primary]>*{
    margin-inline:0!important;
  }
}

/* Outer desktop edges use a normal site gutter. Spacing is reserved for
   links inside the navigation, not added outside the logo and final action. */
@media(min-width:1000px){
  #header [data-device=desktop] [data-row=middle]>.ct-container,
  #header [data-device=desktop] [data-row=bottom]>.ct-container{
    width:100%!important;max-width:none!important;padding-inline:16px!important;box-sizing:border-box!important;
  }
  #header [data-device=desktop]>.ct-sticky-container{
    position:relative!important;z-index:80!important;
  }
  #header [data-device=desktop] [data-column=end] .ct-header-account{
    margin-inline:18px 0!important;
  }
  #header [data-device=desktop] [data-column=end] .ct-header-cart{
    margin-inline:12px 0!important;
  }
  #header [data-device=desktop] .ct-header-cart .ct-cart-content{
    z-index:1000!important;
  }
}

.ct-drawer-canvas,#account-modal{z-index:100000!important}

.gcl-header-upgraded #header [data-device=desktop] #header-menu-2,
.gcl-header-upgraded #header [data-device=desktop] .gcl-navbar{
  width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;
}
.gcl-header-upgraded #header [data-device=desktop] .gcl-navbar__support{
  flex:0 0 auto!important;margin-left:auto!important;margin-right:0!important;padding-right:0!important;
}

/* Mobile quick-navigation dock. */
.gcl-mobile-dock{display:none}
@media(max-width:999px){
  :root{--gcl-mobile-dock-height:68px}
  body{padding-bottom:calc(var(--gcl-mobile-dock-height) + env(safe-area-inset-bottom))!important}
  #header [data-device=mobile] .ct-header-account{display:none!important}
  #header [data-device=mobile] [data-column=end] [data-items=primary] > .ct-header-cart{margin-inline-end:6px!important}
  .gcl-mobile-dock{
    position:fixed;z-index:9200;left:0;right:0;bottom:0;
    display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;
    height:calc(var(--gcl-mobile-dock-height) + env(safe-area-inset-bottom));
    padding:5px 8px env(safe-area-inset-bottom);box-sizing:border-box;
    border-top:1px solid #dce4ec;background:rgba(255,255,255,.97);
    box-shadow:0 -10px 30px rgba(15,23,42,.1);backdrop-filter:blur(14px) saturate(1.35);
    font-family:"Manrope",sans-serif;
    transition:opacity .18s ease,visibility .18s ease;
  }
  .gcl-mobile-dock>a{
    position:relative;display:flex;min-width:0;height:57px;flex-direction:column;
    align-items:center;justify-content:center;gap:4px;border-radius:12px;
    color:#64748b!important;text-decoration:none!important;font-size:10px;font-weight:700;line-height:1;
  }
  .gcl-mobile-dock>a>svg{
    width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
  }
  .gcl-mobile-dock>a.is-active{color:#15803d!important;background:#f0f9f3}
  .gcl-dock{
    bottom:calc(var(--gcl-mobile-dock-height) + env(safe-area-inset-bottom))!important;
    z-index:9100!important;padding-bottom:0!important;
  }
  .gcl-dock-open .gcl-pdp{padding-bottom:calc(164px + env(safe-area-inset-bottom))!important}
  body.gcl-mobile-menu-visible .gcl-mobile-dock,
  body.gcl-mobile-menu-visible .gcl-dock{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
}
@media(max-width:480px){
  .gcl-dock__text{display:none!important}
  .gcl-dock__inner{justify-content:flex-end!important;padding-inline:12px!important}
  .gcl-dock__price{margin-right:auto!important;max-width:29vw!important;font-size:15px!important}
  .gcl-dock__add{min-height:44px!important;padding-inline:14px!important;font-size:13px!important}
  .gcl-dock__top{width:42px!important;height:42px!important}
}

/* ==========================================================================
   HEADER ROW 1 - inline search field and end-item breathing room.
   Blocksy's free header search renders only a modal toggle button and has no
   Customizer option for an inline field, so navigation.js swaps that button
   for .gcl-header-search and this styles it.
   ========================================================================== */
.gcl-header-search-slot{display:flex;align-items:center;min-width:0;flex:1 1 340px;max-width:420px;margin-left:24px}
.gcl-header-search{position:relative;display:flex;align-items:center;width:100%;font-family:"Manrope",sans-serif}
.gcl-header-search__icon{position:absolute;left:14px;display:flex;align-items:center;justify-content:center;width:17px;height:17px;color:#94a3b8;pointer-events:none}
.gcl-header-search__icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round}
.gcl-header-search input{width:100%;height:44px;padding:0 92px 0 40px;border:1px solid var(--gcl-nav-line,#e2e8f0);border-radius:11px;background:var(--gcl-nav-soft,#f6f8fa);color:#0f172a!important;-webkit-text-fill-color:#0f172a!important;caret-color:#168a45;font:600 14px/1.2 "Manrope",sans-serif!important;opacity:1!important;box-sizing:border-box;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}
.gcl-header-search input::placeholder{color:#7d8ba0!important;-webkit-text-fill-color:#7d8ba0!important;opacity:1!important;font-weight:500!important}
.gcl-header-search input:focus{outline:none;border-color:#86c79c;background:#fff;box-shadow:0 0 0 3px rgba(22,163,74,.13)}
.gcl-header-search input::-webkit-search-cancel-button{-webkit-appearance:none}
.gcl-header-search button{position:absolute;top:5px;right:5px;display:flex;align-items:center;justify-content:center;height:34px!important;min-height:34px!important;padding:0 15px!important;margin:0!important;border:0;border-radius:8px;background:var(--gcl-nav-green,#16a34a);color:#fff;font:800 12.5px/1 "Manrope",sans-serif;letter-spacing:.01em;box-shadow:none;transform:none!important;cursor:pointer;transition:background-color .16s ease}
.gcl-header-search button:hover{background:#12813b}

/* Row 1 gutter and end-item spacing: the middle row only had 16px of side
   padding while the mega row below it has 30px, so the cart sat hard against
   the viewport edge. Match the rows and space the account/cart icons out. */
.gcl-header-upgraded #header [data-device=desktop] [data-row=middle]>.ct-container{padding-inline:30px}
.gcl-header-upgraded #header [data-device=desktop] [data-row=middle] [data-column=end]{gap:4px}
.gcl-header-upgraded #header [data-device=desktop] [data-id=account],
.gcl-header-upgraded #header [data-device=desktop] [data-id=cart]{margin-left:14px}
.gcl-header-upgraded #header [data-device=desktop] [data-id=menu]{margin-right:10px}

@media(max-width:1350px){.gcl-header-search-slot{flex-basis:260px;max-width:300px;margin-left:16px}}
@media(max-width:1150px){.gcl-header-search-slot{display:none}}

/* --------------------------------------------------------------------------
   Header refinements (v1.4.1)
   -------------------------------------------------------------------------- */

/* Search focus: no green glow, just the caret. */
.gcl-header-search input:focus{outline:none;border-color:var(--gcl-nav-line,#e2e8f0);background:#fff;box-shadow:none}

/* Row gutters. Blocksy sizes both header rows off --theme-container-edge-spacing
   (92vw), which left only ~16px of gutter, so the cart sat on the viewport edge
   and the row-2 phone/email block did too. Widen the gutter on both rows. */
.gcl-header-upgraded #header [data-device=desktop] [data-row=middle]>.ct-container,
.gcl-header-upgraded #header [data-device=desktop] [data-row=bottom]>.ct-container{
  --theme-container-edge-spacing:100%;
  max-width:none;
  padding-inline:38px!important;
  box-sizing:border-box;
}

/* Account carries a hardcoded --margin:0 30px !important from the Customizer;
   trim it so account and cart sit as an evenly spaced pair. */
.gcl-header-upgraded #header [data-device=desktop] [data-id=account]{--margin:0 18px 0 10px!important}
.gcl-header-upgraded #header [data-device=desktop] [data-id=cart]{margin-left:0}
.gcl-header-upgraded #header [data-device=desktop] [data-row=middle] [data-column=end]{gap:0}

/* Row 2 call/email block: the hero and main nav read well because they are set
   in Manrope with tight tracking and a clear size step. Match that here instead
   of the cramped 9.5px/13px pairing. */
.gcl-navbar__support{gap:0;margin-left:auto;padding-left:0;border-left:0}
.gcl-navbar__support a{
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:6px 0 6px 26px;
  margin-left:26px;
  border-left:1px solid #e8edf2;
  font-size:14.5px!important;
  font-weight:700!important;
  line-height:1.25!important;
  letter-spacing:-.017em!important;
  color:#0f172a!important;
}
.gcl-navbar__support a:first-child{border-left:0;margin-left:0;padding-left:0}
.gcl-navbar__support small{
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.14em!important;
  text-transform:uppercase;
  color:#7d8ba0!important;
}
.gcl-navbar__support a:hover{color:var(--gcl-nav-green,#16a34a)!important}

/* --------------------------------------------------------------------------
   Header refinements (v1.4.2) - reclaim menu width so CONTACT stops
   collapsing into Blocksy's "MORE" overflow, and separate account/cart.
   -------------------------------------------------------------------------- */
.gcl-header-search-slot{flex:0 1 300px;max-width:320px;margin-left:20px;margin-right:14px}
.gcl-header-upgraded #header [data-device=desktop] [data-id=menu]{--menu-items-spacing:30px;margin-right:16px}
.gcl-header-upgraded #header [data-device=desktop] [data-id=account]{--margin:0 22px 0 6px!important}
@media(max-width:1500px){.gcl-header-upgraded #header [data-device=desktop] [data-id=menu]{--menu-items-spacing:22px}}
@media(max-width:1340px){.gcl-header-search-slot{flex-basis:230px;max-width:250px;margin-left:14px}}
@media(max-width:1150px){.gcl-header-search-slot{display:none}}

/* Footer identity row: ships-from, registered entity, phone, email. Added 2026-09-19. */
.gcl-site-footer__identity {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 18px;
	margin-top: 34px;
	padding-top: 24px;
	border-top: 1px solid rgba(255, 255, 255, 0.10);
	font-size: 13.5px;
	line-height: 1.6;
	color: #94a3b8;
}
.gcl-site-footer__identity b { color: #cbd5e1; font-weight: 700; }
.gcl-site-footer__identity a { color: #94a3b8; text-decoration: none; }
.gcl-site-footer__identity a:hover { color: #22c55e; }
.gcl-site-footer__dot { color: rgba(255, 255, 255, 0.20); }
@media (max-width: 767px) {
	.gcl-site-footer__identity { flex-direction: column; align-items: flex-start; gap: 7px; }
	.gcl-site-footer__dot { display: none; }
}

/* Footer contact row: phone, email, registered address. Replaces the homepage
   contact band and the "Need help choosing a part" box. Added 2026-09-19. */
.gcl-site-footer__contact {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 26px 40px;
	margin-top: 34px;
	padding-top: 30px;
	border-top: 1px solid rgba(255, 255, 255, 0.10);
}
.gcl-site-footer__contact-item {
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
	color: #9cabc0 !important;
	text-decoration: none !important;
}
a.gcl-site-footer__contact-item:hover .gcl-site-footer__contact-text strong { color: #78e19a; }
a.gcl-site-footer__contact-item:hover .gcl-site-footer__contact-icon { background: rgba(49, 199, 104, 0.18); border-color: rgba(49, 199, 104, 0.45); }
.gcl-site-footer__contact-icon {
	display: grid;
	place-items: center;
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.05);
	color: #31c768;
	transition: background .16s ease, border-color .16s ease;
}
.gcl-site-footer__contact-icon svg {
	width: 19px;
	height: 19px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.gcl-site-footer__contact-text { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.gcl-site-footer__contact-text small { color: #718096; font-size: 11.5px; font-weight: 600; letter-spacing: .04em; }
.gcl-site-footer__contact-text strong { overflow-wrap: anywhere; color: #fff; font-size: 14px; font-weight: 700; line-height: 1.4; letter-spacing: -.01em; transition: color .16s ease; }
@media (max-width: 1024px) {
	.gcl-site-footer__contact { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 30px; }
}
@media (max-width: 689px) {
	.gcl-site-footer__contact { grid-template-columns: 1fr; gap: 18px; margin-top: 28px; padding-top: 26px; }
	.gcl-site-footer__contact-icon { flex-basis: 38px; width: 38px; height: 38px; }
}

/* 2026-09-19 (rev 3): contact card stays in the lead row beside the logo but
   lays its three items out HORIZONTALLY, one row of three columns, with the
   ships-from line beneath. Supersedes the rev 2 vertical stack. */
.gcl-site-footer__lead { align-items: center; gap: 40px; }
.gcl-site-footer__brand { flex: 0 1 auto; max-width: 430px; }
.gcl-site-footer__contact {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	flex: 0 1 980px;
	gap: 16px 24px;
	width: min(100%, 980px);
	max-width: 980px;
	margin: 0 0 0 auto;
	padding: 24px 28px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.045);
}
.gcl-site-footer__contact-text strong { font-size: 14px; }
.gcl-site-footer__ships {
	grid-column: 1 / -1;
	margin-top: 2px;
	padding-top: 15px;
	border-top: 1px solid rgba(255, 255, 255, 0.10);
	color: #94a3b8;
	font-size: 12.5px;
	line-height: 1.55;
	word-spacing: .28em;
}
.gcl-site-footer__ships b { margin-right: 2px; color: #cbd5e1; font-weight: 700; word-spacing: normal; }
@media (max-width: 1080px) {
	.gcl-site-footer__lead { align-items: flex-start; flex-direction: column; gap: 30px; }
	.gcl-site-footer__brand { max-width: 620px; }
	.gcl-site-footer__contact { flex: 0 1 auto; width: 100%; max-width: none; margin-left: 0; }
}
@media (max-width: 900px) {
	.gcl-site-footer__contact { grid-template-columns: repeat(2, auto); gap: 18px 26px; }
}
@media (max-width: 689px) {
	.gcl-site-footer__contact { grid-template-columns: 1fr; gap: 16px; padding: 20px 18px; }
	.gcl-site-footer__ships { font-size: clamp(10px, 2.8vw, 11px); word-spacing: .08em; white-space: nowrap; }
}
/* 2026-09-27: owner asked for the footer contact card and fitment checker link
   to drop their boxes. Contact info sits directly on the footer; the fitment
   checker renders as a normal footer link (subtitle hidden). */
.gcl-site-footer__contact { padding: 0; border: 0; border-radius: 0; background: none; }
@media (max-width: 689px) { .gcl-site-footer__contact { padding: 0; } }
.gcl-site-footer__grid a.gcl-site-footer__fitment span { display: none; }

/* Mobile drawer width (v1.7.2): Blocksy's panel column is align-items:flex-start,
   which shrink-wrapped the menu to its content width. Stretch it edge to edge. */
#offcanvas .ct-panel-content-inner>.ct-header-text:has(.gcl-mobile-nav){align-self:stretch;width:100%;max-width:none}
#offcanvas .ct-header-text:has(.gcl-mobile-nav)>.entry-content{flex:1 1 auto;width:100%;max-width:none}
#offcanvas .gcl-mobile-nav{width:100%;box-sizing:border-box}

/* Intent menus (v1.8.0): six or eight cards go dense; tool blocks carry one line of reasoning; drawer tool tag. */
.gcl-mega__links.is-dense{gap:9px}
.gcl-mega__links.is-dense .gcl-mega__link{min-height:74px;gap:4px;padding:13px 44px 13px 16px;border-radius:12px}
.gcl-mega__links.is-dense .gcl-mega__link::before{top:13px;right:12px}
.gcl-mega__links.is-dense .gcl-mega__link::after{top:19px;right:18px}
.gcl-mega__links.is-dense .gcl-mega__link strong{font-size:14.5px}
.gcl-mega__links.is-dense .gcl-mega__link span{font-size:12.5px;line-height:1.4}
.gcl-mega__feature p{position:relative;z-index:1;margin:10px 0 0;color:rgba(255,255,255,.74);font-size:13.5px;font-weight:500;line-height:1.5}
.gcl-mobile-nav__links a.is-tool{font-weight:700}
.gcl-mobile-nav__links a.is-tool em{margin-left:auto;padding:3px 8px;border-radius:999px;background:#ecfdf3;color:#15803d;font-size:10px;font-style:normal;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
/* Six menus + call + email need ~1380px; below that the email steps out (footer and drawer still carry it). */
@media(max-width:1380px){.gcl-navbar__support a:last-child{display:none}}

/* v1.8.1 CLS fix. gcl-header-upgraded is now set in <head> (gcl-navigation-upgrade.php), so the header has its final layout at first paint. navigation.js still fills the bar and the search box later: reserve their space here so nothing moves when they arrive. */
#header [data-device=desktop] [data-row=bottom]{min-height:60px;box-sizing:border-box}
#header [data-device=desktop] [data-row=bottom]>.ct-container{min-height:58px}
#header [data-device=desktop] #header-menu-2>.menu{visibility:hidden}
.gcl-header-upgraded #header [data-device=desktop] button.ct-header-search[data-id=search]{visibility:hidden;flex:0 1 300px;width:auto;max-width:320px;min-width:0;margin-left:20px;margin-right:14px}
@media(max-width:1350px){.gcl-header-upgraded #header [data-device=desktop] button.ct-header-search[data-id=search]{flex-basis:230px;max-width:250px;margin-left:14px}}
@media(max-width:1150px){.gcl-header-upgraded #header [data-device=desktop] button.ct-header-search[data-id=search]{display:none}}
