/* ===================== SITE CHROME (banner + navbar) ===================== */
.site-chrome{
  position:fixed;
  top:0;left:0;right:0;
  z-index:1200;
  transition:transform .4s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}
.site-chrome.is-hidden{
  transform:translateY(-100%);
  pointer-events:none;
}
.site-chrome.is-menu-open{
  transform:none !important;
  pointer-events:auto;
}

/* ===================== NAVBAR ===================== */
.navbar{
  position:relative;
  top:auto;left:auto;right:auto;
  z-index:1000;
  padding:14px 0;
  background:#fff;
  transition:padding .4s var(--ease), background .4s var(--ease), box-shadow .4s var(--ease);
}
.page-with-banner{
  --banner-height:40px;
  --navbar-height:80px;
  padding-top:0;
}
.page-home{
  --banner-height:40px;
  --navbar-height:72px;
  padding-top:0;
}
.page-home.page-with-banner{
  --banner-height:40px;
}
.page-home .nav-buy{
  padding:11px 20px;
  border-radius:var(--radius-pill);
  font-family:var(--font);
  font-size:0.78rem;
  font-weight:700;
  letter-spacing:0.06em;
  text-transform:uppercase;
  background:var(--orange);
  color:#fff;
  box-shadow:none;
}
.page-home .nav-buy:hover{
  background:var(--orange-hover);
  box-shadow:none;
  transform:none;
}
.page-home .nav-cart-icon{
  display:block;
  width:22px;
  height:22px;
  object-fit:contain;
  pointer-events:none;
}
.nav-cart-icon{
  display:block;
  width:22px;
  height:22px;
  object-fit:contain;
  pointer-events:none;
}
/* Cart — blue pill + orange count badge (matches Buy Now radius) */
.icon-btn.cart-icon-link,
.nav-cta .icon-btn.cart-icon-link{
  background:#082d54;
  border-radius:var(--radius-pill);
  border:none;
  box-shadow:0 1px 4px rgba(8,45,84,0.2);
  overflow:visible;
}
.icon-btn.cart-icon-link:hover,
.nav-cta .icon-btn.cart-icon-link:hover{
  background:#0a3a6b;
  border:none;
  box-shadow:0 2px 8px rgba(8,45,84,0.28);
  transform:translateY(-1px);
}
.icon-btn.cart-icon-link .nav-cart-icon{
  filter:brightness(0) invert(1);
}
.nav-lang-icon{
  display:block;
  width:22px;
  height:22px;
  object-fit:contain;
  pointer-events:none;
}
.page-home .nav-lang-icon{
  width:22px;
  height:22px;
}
.lang-btn{
  padding:0;
  border:0;
  cursor:pointer;
}
.lang-switcher{
  position:relative;
  display:inline-flex;
  align-items:center;
  z-index:1200;
}
.lang-menu{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  min-width:10.5rem;
  margin:0;
  padding:6px;
  list-style:none;
  background:#fff;
  border:1px solid rgba(17,24,39,0.08);
  border-radius:14px;
  box-shadow:0 16px 40px rgba(17,24,39,0.14);
}
.lang-menu[hidden]{display:none;}
.lang-menu button{
  width:100%;
  display:block;
  text-align:left;
  padding:10px 12px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:var(--heading, #111827);
  font-family:var(--font);
  font-size:0.92rem;
  font-weight:600;
  line-height:1.3;
  white-space:nowrap;
  cursor:pointer;
}
.lang-menu button:hover,
.lang-menu button:focus-visible{
  background:rgba(250,115,21,0.1);
  outline:none;
}
.lang-menu button.is-active{
  background:rgba(250,115,21,0.14);
  color:var(--orange, #FA7315);
}
.nav-buy,
.nav-links a{
  white-space:nowrap;
}
.nav-buy{
  min-width:max-content;
  padding-inline:clamp(14px, 2vw, 22px);
}
.footer-col a,
.footer-trust-item span,
.footer-trust-item strong,
.footer-brand p{
  overflow-wrap:anywhere;
}
.mobile-sticky-buy__cta,
.floating-buy span{
  white-space:nowrap;
  min-width:max-content;
}
.top-banner{
  position:relative;
  inset:auto;
  height:var(--banner-height, 40px);
  z-index:1100;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:0 16px;
  background:#FA7315;
  color:#fff;
  font-size:0.84rem;
  font-weight:700;
  letter-spacing:0.1em;
  text-transform:uppercase;
  overflow:hidden;
}
.top-banner::before{
  content:'';
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:2px;
  background:#5fc8cf;
  pointer-events:none;
}
.navbar .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
}

/* Scrolling marquee inside the top banner */
.banner-viewport{
  flex:1 1 auto;
  height:100%;
  display:flex;
  align-items:center;
  overflow:hidden;
  margin:0 8px;
}
.banner-track{
  display:inline-flex;
  height:100%;
  align-items:center;
  gap:18px;
  white-space:nowrap;
  will-change:transform;
  animation:marquee-left 22s linear infinite;
}
.banner-message{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#fff;
  font-weight:700;
  line-height:1;
  letter-spacing:0.1em;
}
.banner-tick{
  display:block;
  width:14px;
  height:14px;
  flex:0 0 14px;
  object-fit:contain;
  object-position:center;
  pointer-events:none;
}
.banner-message-text{
  color:#fff;
  font-weight:700;
  line-height:1;
}
.banner-sep{
  display:inline-flex;
  align-items:center;
  height:100%;
  color:#fff;
  font-weight:700;
  line-height:1;
  opacity:0.95;
  padding:0 2px;
}
@keyframes marquee-left{
  0%{transform:translateX(0%);} /* start with first copy visible */
  100%{transform:translateX(-50%);} /* shift left by half so second copy appears */
}

/* Make sure the duplicated messages form a seamless continuous loop */
.navbar.on-dark{color:var(--heading);}
.navbar .logo{
  font-size:1.35rem;
  font-weight:700;
  letter-spacing:0.02em;
  color:var(--heading);
  display:flex;align-items:center;gap:2px;
}
.navbar.on-dark .logo{color:var(--heading);}
.logo .dot{color:var(--orange);}

.nav-links{
  display:flex;
  align-items:center;
  gap:clamp(18px,2.4vw,44px);
}
.nav-links a{
  font-size:0.94rem;
  font-weight:500;
  color:var(--heading);
  position:relative;
  padding:4px 0;
}
.navbar.on-dark .nav-links a{color:var(--heading);}
.nav-links a::after{
  content:'';
  position:absolute;left:0;bottom:-2px;
  width:0;height:2px;
  background:var(--orange);
  transition:width .3s var(--ease);
}
.nav-links a:hover::after,
.nav-links a.active::after{width:100%;}
.nav-links a.active{color:var(--orange);}
.navbar.on-dark .nav-links a.active{color:var(--orange);}

.navbar.scrolled{
  padding:10px 0;
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(14px);
  box-shadow:0 1px 0 rgba(17,24,39,0.06);
}
.navbar.scrolled .logo{color:var(--heading);}
.navbar.scrolled .nav-links a{color:var(--heading);}

.nav-cta{display:flex;align-items:center;gap:18px;}
.nav-buy{padding:12px 26px;font-size:0.9rem;}

/* small circular icon buttons used for account/cart */
.icon-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:999px;
  background:transparent;
  color:var(--heading);
  font-size:1.05rem;
  transition:background .18s ease, transform .18s ease;
}
.icon-btn i{pointer-events:none;}
.navbar.on-dark .icon-btn{color:var(--heading);}
.navbar.scrolled .icon-btn{color:var(--heading);}
.icon-btn:hover{background:rgba(17,24,39,0.06);transform:translateY(-2px);}

@media (max-width:940px){
  .page-with-banner{--navbar-height:68px;}
  .page-home{--navbar-height:62px;}
  .navbar{padding:12px 0;}
  .navbar.scrolled{padding:8px 0;}
  .navbar .container{gap:12px;}
  .nav-cta{gap:8px;margin-left:auto;}
  .icon-btn{
    display:inline-flex;
    width:36px;
    height:36px;
    font-size:0.92rem;
    flex:0 0 36px;
  }

  /* Keep every page header as one clean row on tablet too */
  .navbar .container{
    display:flex;
    align-items:center;
    gap:12px;
  }
  .nav-toggle{
    display:flex;
    flex:0 0 auto;
    width:24px;
    height:22px;
    margin:0;
    padding:0;
    border-radius:0;
    background:transparent;
    gap:5px;
  }
  .nav-cta{
    margin-left:auto;
    gap:10px;
  }
  .nav-buy{display:inline-flex;}
}

.nav-toggle{
  display:none;
  flex-direction:column;
  gap:5px;
  width:26px;
  z-index:1100;
}
.nav-toggle span{
  height:2px;width:100%;
  background:currentColor;
  border-radius:2px;
  transition:transform .3s var(--ease), opacity .3s var(--ease);
}

html.menu-open,
body.menu-open{
  overflow:hidden;
  overscroll-behavior:none;
}
body.menu-open{
  position:fixed;
  left:0;
  right:0;
  width:100%;
}
@media (max-width:940px){
  /* Keep viewport-fixed drawer children independent from scrolled blur/GSAP containment. */
  .navbar.menu-active{
    transform:none !important;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  body.menu-open .site-chrome{
    z-index:1400;
  }
  body.menu-open .top-banner{
    position:relative;
    z-index:1420;
  }
  body.menu-open .navbar{
    position:relative;
    z-index:1410;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    /* Let taps pass through empty navbar chrome to the overlay */
    pointer-events:none;
  }

  /* Full-screen dim layer — above page, under the drawer */
  .nav-drawer-overlay{
    position:fixed;
    inset:0;
    z-index:1405;
    display:block;
    width:100%;
    height:100vh;
    height:100dvh;
    border:0;
    padding:0;
    margin:0;
    cursor:pointer;
    background:rgba(0,0,0,0.55);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .4s ease, visibility .4s ease;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
  .nav-drawer-overlay.is-visible{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }

  /* Hide navbar chrome so icons/cart never show through the overlay */
  body.menu-open .navbar .logo,
  body.menu-open .nav-cta{
    visibility:hidden;
    pointer-events:none;
  }
  .nav-links{
    position:fixed;
    top:var(--banner-height, 52px);
    left:0;
    bottom:0;
    right:auto;
    width:min(70vw, 300px);
    height:calc(100vh - var(--banner-height, 52px));
    height:calc(100dvh - var(--banner-height, 52px));
    max-height:calc(100dvh - var(--banner-height, 52px));
    background:#fff;
    flex-direction:column;
    justify-content:flex-start;
    align-items:stretch;
    gap:0;
    padding:0 0 calc(28px + env(safe-area-inset-bottom, 0px));
    transform:translateX(-105%);
    transition:transform .45s cubic-bezier(0.22, 0.61, 0.36, 1);
    border-radius:0 22px 22px 0;
    box-shadow:18px 0 48px rgba(8,18,28,0.28);
    overflow-y:auto;
    overflow-x:hidden;
    z-index:1415;
    scroll-behavior:smooth;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    /* Keep drawer crisp — never blur menu content */
    filter:none;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
    pointer-events:auto;
  }
  .nav-links.open{transform:translateX(0); pointer-events:auto;}
  .nav-links a,
  .nav-drawer-close,
  .nav-drawer-header{
    filter:none;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
    pointer-events:auto;
  }

  .nav-drawer-header{
    position:sticky;
    top:0;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-shrink:0;
    padding:16px 18px 8px 22px;
    background:#fff;
    pointer-events:auto;
  }
  .nav-drawer-close{
    position:relative;
    top:auto;
    right:auto;
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border:0;
    border-radius:50%;
    background:#f3f4f6;
    color:var(--heading);
    font-size:1.15rem;
    cursor:pointer;
    pointer-events:auto;
    transition:background .2s ease, transform .2s ease;
  }
  .nav-drawer-close:hover{background:#e5e7eb;transform:scale(1.04);}
  .nav-drawer-close:active{transform:scale(0.96);}

  .nav-links a{
    position:relative;
    z-index:1;
    color:var(--heading) !important;
    font-size:1.05rem;
    font-weight:700;
    display:block;
    text-align:center;
    padding:12px 28px;
    margin:0;
    line-height:1.3;
    pointer-events:auto;
    cursor:pointer;
    -webkit-tap-highlight-color:rgba(0,0,0,0.06);
  }
  .nav-links a + a{margin-top:2px;}
  .nav-links a::after{display:none; pointer-events:none;}

  .nav-toggle{display:flex;position:relative;}
  .navbar.on-dark .nav-toggle{color:var(--heading);}
  .navbar.scrolled .nav-toggle{color:var(--heading);}
  body.menu-open .nav-toggle.active{color:#fff;}
  .nav-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-toggle.active span:nth-child(2){opacity:0;}
  .nav-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  /* Same mobile CTA row on every page: language + Order Now + cart */
  .nav-buy{
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  .nav-links::before{display:none;}
}

.nav-drawer-overlay,.nav-drawer-close,.nav-drawer-header{display:none;}
.nav-scroll-indicator{display:none;}

@media (max-width:940px){
  .nav-drawer-overlay{display:block;}
  .nav-drawer-header{display:flex;}
  .nav-drawer-close{display:grid;}
  .nav-scroll-indicator{
    position:fixed;
    left:0;
    right:auto;
    bottom:0;
    width:min(70vw, 300px);
    z-index:1411;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:46px 20px 16px;
    background:linear-gradient(to bottom, rgba(255,255,255,0), #fff 70%);
    color:var(--body);
    font-size:0.72rem;
    font-weight:600;
    letter-spacing:0.08em;
    text-transform:uppercase;
    pointer-events:none;
    opacity:0;
    visibility:hidden;
    transform:translateY(8px);
    transition:opacity .28s ease, transform .28s ease, visibility .28s;
  }
  body.menu-open .nav-scroll-indicator.is-visible{
    opacity:0.82;
    visibility:visible;
    transform:translateY(0);
  }
  .nav-scroll-indicator i{animation:menu-scroll-cue 1.8s ease-in-out infinite;}
}

@keyframes menu-scroll-cue{
  0%,100%{transform:translateY(-1px);opacity:0.55;}
  50%{transform:translateY(4px);opacity:1;}
}
@media (max-width:600px){
  .page-with-banner{--banner-height:36px;--navbar-height:58px;}
  .page-home,
  .page-home.page-with-banner{--banner-height:36px;--navbar-height:52px;}
  .top-banner{height:var(--banner-height);gap:8px;padding:0 10px;font-size:0.68rem;letter-spacing:0.07em;}
  .banner-viewport{margin:0 4px;}
  .banner-track{gap:12px;animation-duration:20s;}
  .banner-message{gap:6px;}
  .banner-tick{width:12px;height:12px;flex-basis:12px;}
  .navbar{padding:12px 0;}
  .navbar .container{padding-inline:14px;gap:6px;}
  .navbar .logo{font-size:1.08rem;white-space:nowrap;}
  .nav-cta{gap:4px;}
  .icon-btn{width:32px;height:32px;flex-basis:32px;font-size:0.84rem;}
  .nav-toggle{width:23px;margin-left:5px;}
}

@media (max-width:360px){
  .navbar .container{padding-inline:10px;}
  .navbar .logo{font-size:0.98rem;}
  .nav-cta{gap:2px;}
  .icon-btn{width:29px;height:29px;flex-basis:29px;}
  .nav-toggle{width:21px;margin-left:3px;}
}
@media (max-width:768px){
  .navbar,
  .navbar.scrolled{
    padding:8px 0;
    background:#fff;
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  /* While the drawer is open: no blur on chrome — solid dim overlay only */
  body.menu-open .navbar,
  body.menu-open .navbar.scrolled{
    background:transparent;
    box-shadow:none;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    pointer-events:none;
  }
  body.menu-open .nav-links,
  body.menu-open .nav-links a,
  body.menu-open .nav-drawer-close,
  body.menu-open .nav-drawer-header{
    pointer-events:auto !important;
  }
  body.menu-open .nav-drawer-overlay{
    background:rgba(0,0,0,0.55);
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }

  /* All pages mobile: [menu] [logo] ····· [lang] [ORDER NOW] [cart] */
  .navbar .container{
    position:relative;
    display:flex;
    align-items:center;
    gap:10px;
    min-height:38px;
    padding-inline:14px;
  }
  .navbar .logo{
    position:static;
    top:auto;
    left:auto;
    z-index:2;
    margin:0;
    transform:none;
    flex:0 1 auto;
    height:32px;
    max-width:min(42vw, 148px);
    min-width:0;
    color:var(--heading);
    font-size:clamp(0.98rem,4vw,1.15rem);
    white-space:nowrap;
  }
  .navbar .logo:hover{
    transform:scale(1.03);
  }
  .navbar .logo img{
    width:auto;
    height:100%;
    max-width:100%;
    object-fit:contain;
  }
  .nav-toggle{
    display:flex;
    flex:0 0 auto;
    width:24px;
    height:22px;
    margin:0;
    padding:0;
    border-radius:0;
    background:transparent;
    gap:5px;
    color:var(--heading);
  }
  .nav-toggle span{
    height:2px;
    width:100%;
    background:currentColor;
    border-radius:1px;
  }
  .nav-toggle:hover,
  .nav-toggle:active{
    background:transparent;
    box-shadow:none;
    transform:none;
  }
  .nav-cta{
    position:static;
    top:auto;
    left:auto;
    right:auto;
    transform:none;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    margin:0 0 0 auto;
    width:auto;
    pointer-events:auto;
  }
  .nav-cta>*{pointer-events:auto;}
  .nav-cta .lang-switcher{
    position:relative;
    display:inline-flex;
    align-items:center;
    flex:0 0 auto;
    z-index:1200;
  }
  .nav-buy{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    margin:0;
    padding:10px 14px;
    border-radius:var(--radius-pill);
    font-family:var(--font);
    font-size:0.68rem;
    font-weight:700;
    letter-spacing:0.04em;
    line-height:1;
    text-transform:uppercase;
    white-space:nowrap;
    background:var(--orange);
    color:#fff;
    box-shadow:none;
  }
  .nav-buy:hover{
    background:var(--orange-hover);
    box-shadow:none;
    transform:none;
  }
  .nav-cta .icon-btn{
    display:inline-flex;
    width:34px;
    height:34px;
    flex:0 0 34px;
    padding:0;
    border-radius:0;
    background:transparent;
    color:var(--heading);
    font-size:1.1rem;
    transition:background .2s ease,transform .2s ease,box-shadow .2s ease;
  }
  .nav-cta .icon-btn.cart-icon-link{
    background:#082d54;
    border-radius:var(--radius-pill);
    border:none;
    box-shadow:0 1px 4px rgba(8,45,84,0.2);
  }
  .nav-cta .icon-btn:hover,
  .nav-cta .icon-btn:active{
    background:transparent;
    box-shadow:none;
    transform:none;
  }
  .nav-cta .icon-btn.cart-icon-link:hover,
  .nav-cta .icon-btn.cart-icon-link:active{
    background:#0a3a6b;
    border:none;
    box-shadow:0 2px 8px rgba(8,45,84,0.28);
    transform:none;
  }
  .nav-cart-icon{
    width:22px;
    height:22px;
  }
  .nav-lang-icon{
    width:22px;
    height:22px;
  }
  .cart-badge{
    top:-4px;
    right:-4px;
    width:16px;
    min-width:16px;
    height:16px;
    padding:0;
    background:var(--orange);
    border:none;
    border-radius:3.5px;
    font-size:0.6rem;
  }
  body.menu-open .nav-toggle{
    visibility:visible;
    pointer-events:auto;
    position:relative;
    z-index:1420;
    color:#fff;
  }
  body.menu-open .nav-toggle.active{
    color:#fff;
    background:transparent;
    box-shadow:none;
  }
}

@media (min-width:941px) and (max-width:1180px){
  .nav-links{gap:18px;}
  .nav-links a{font-size:.82rem;}
  .nav-cta{gap:10px;}
  .nav-buy{padding:11px 18px;font-size:.82rem;}
}
/* ===================== DESKTOP FLOATING BUY (bottom-right) ===================== */
.floating-buy{
  display:none;
}
@media (min-width:769px){
  body.menu-open .floating-buy{display:none;}
  .floating-buy{
    display:flex;
    position:fixed;
    right:26px;
    bottom:26px;
    z-index:1200;
    background:var(--orange);
    background-color:var(--orange);
    color:#fff;
    padding:16px 26px;
    border-radius:var(--radius-pill);
    font-weight:700;
    font-size:0.95rem;
    align-items:center;
    gap:10px;
    box-shadow:none;
    text-decoration:none;
    transition:transform .3s var(--ease), background .25s ease;
  }
  .floating-buy:hover{
    background:var(--orange-hover);
    background-color:var(--orange-hover);
    color:#fff;
    box-shadow:none;
    transform:translateY(-3px);
  }
  .floating-buy::before{
    content:'';
    position:absolute;
    inset:0;
    border-radius:var(--radius-pill);
    border:2px solid var(--orange);
    animation:pulse-ring 2.8s ease-out infinite;
    pointer-events:none;
  }
}
@keyframes pulse-ring{
  0%{transform:scale(1);opacity:0.6;}
  80%{transform:scale(1.35);opacity:0;}
  100%{opacity:0;}
}

/* ===================== MOBILE STICKY BUY BAR ===================== */
.mobile-sticky-buy{
  display:none;
}
@media (max-width:768px){
  .mobile-sticky-buy{
    display:block;
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    width:100%;
    z-index:1200;
    pointer-events:none;
    opacity:0;
    transform:translate3d(0,110%,0);
    transition:opacity .45s ease, transform .5s cubic-bezier(.22,1,.36,1);
    will-change:transform,opacity;
    background-color:#FFFFFF;
  }
  .mobile-sticky-buy.is-visible{
    opacity:1;
    transform:translate3d(0,0,0);
    pointer-events:auto;
  }
  body.menu-open .mobile-sticky-buy{
    opacity:0;
    pointer-events:none;
    transform:translate3d(0,110%,0);
  }
  body.mobile-sticky-buy-visible{
    padding-bottom:calc(64px + env(safe-area-inset-bottom,0px));
  }
  .mobile-sticky-buy__inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:64px;
    padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));
    background-color:#FFFFFF;
    background:#FFFFFF;
    border-top:1.5px solid rgba(255,107,26,0.35);
    border-radius:16px 16px 0 0;
    box-shadow:0 -4px 12px rgba(0,0,0,0.08);
  }
  .mobile-sticky-buy__info{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
    flex:1 1 auto;
  }
  .mobile-sticky-buy__logo{
    flex:0 0 auto;
    width:auto;
    height:20px;
    object-fit:contain;
  }
  .mobile-sticky-buy__copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:1px;
  }
  .mobile-sticky-buy__price{
    display:flex;
    align-items:baseline;
    gap:6px;
    line-height:1.15;
  }
  .mobile-sticky-buy__amount{
    font-family:var(--font);
    font-size:1.05rem;
    font-weight:700;
    color:#0A2D63;
    letter-spacing:-0.01em;
  }
  .mobile-sticky-buy__mrp{
    font-size:0.68rem;
    font-weight:600;
    color:rgba(17,24,39,0.45);
    text-transform:uppercase;
    letter-spacing:0.04em;
  }
  .mobile-sticky-buy__sub{
    margin:0;
    font-size:0.68rem;
    line-height:1.2;
    color:rgba(17,24,39,0.5);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .mobile-sticky-buy__cta{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:12px 18px;
    border-radius:var(--radius-pill);
    background:#FF6B1A;
    background-color:#FF6B1A;
    color:#fff;
    font-family:var(--font);
    font-size:0.78rem;
    font-weight:700;
    letter-spacing:0.04em;
    text-transform:uppercase;
    text-decoration:none;
    white-space:nowrap;
    box-shadow:none;
    transform:none;
  }
  .mobile-sticky-buy__cta:hover{
    background:var(--orange-hover);
    background-color:var(--orange-hover);
    color:#fff;
    transform:none;
    box-shadow:none;
  }
}
@media (max-width:768px) and (prefers-reduced-motion:reduce){
  .mobile-sticky-buy{
    transition:none;
  }
}

/* ===================== FOOTER ===================== */
.site-footer{
  --footer-bg:#050e1c;
  --footer-teal:#36C7D6;
  --footer-text:rgba(255,255,255,.78);
  --footer-muted:rgba(255,255,255,.55);
  --footer-line:rgba(255,255,255,.14);
  background:var(--footer-bg);
  color:var(--footer-text);
  padding:56px 0 24px;
}
.footer-top{
  display:grid;
  grid-template-columns:minmax(200px,1.15fr) minmax(0,2.4fr);
  gap:clamp(32px, 4.5vw, 64px);
  align-items:start;
  padding-bottom:36px;
  border-bottom:1px solid var(--footer-line);
}
.footer-brand .logo{
  display:block;
  margin-bottom:16px;
  line-height:0;
  width:fit-content;
}
.footer-brand .logo img{
  display:block;
  height:56px;
  width:auto;
  max-width:min(260px, 100%);
  object-fit:contain;
  object-position:left center;
}
.footer-brand p{
  max-width:300px;
  margin:0;
  font-size:0.92rem;
  line-height:1.55;
  color:var(--footer-text);
}
.footer-cols{
  display:grid;
  /* Extra width for Product column (long product-name links) */
  grid-template-columns:minmax(0, 0.85fr) minmax(0, 1.45fr) minmax(0, 0.9fr);
  gap:clamp(24px, 3vw, 48px);
  align-items:start;
  justify-content:stretch;
  width:100%;
}
.footer-col h4,
.footer-follow-label{
  position:relative;
  display:inline-block;
  margin:0 0 18px;
  color:var(--footer-teal);
  font-size:0.82rem;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
}
.footer-col h4::after{
  content:'';
  display:block;
  width:28px;
  height:2px;
  margin-top:8px;
  border-radius:2px;
  background:var(--footer-teal);
}
.footer-col a{
  display:block;
  margin:0 0 12px;
  font-size:0.92rem;
  color:#fff;
  transition:color .2s ease;
}
.footer-col a:last-of-type{margin-bottom:0;}
.footer-col a:hover{color:var(--orange);}
/* Product column: keep “Tel-Aqua pH & Temp 2-in-1” links on one line */
.footer-cols > .footer-col:nth-child(2) a{
  white-space:nowrap;
}
/* Desktop: Legal + Follow Us share one column (natural vertical flow) */
.footer-col-stack--legal{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:18px;
}
.footer-follow{
  margin:0;
}
.footer-follow-label{
  margin:0 0 12px;
}
.footer-follow-label::after{display:none;}
.footer-social{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:10px;
}
.footer-social a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  margin:0;
  border:1.5px solid var(--footer-teal);
  border-radius:50%;
  color:var(--footer-teal);
  font-size:0.95rem;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.footer-social a:hover{
  background:var(--footer-teal);
  color:#041018;
  border-color:var(--footer-teal);
}
.footer-trust{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:flex-start;
  gap:0;
  width:100%;
  max-width:100%;
  margin-inline:auto;
  padding:28px 0 22px;
  border-bottom:1px solid var(--footer-line);
}
.footer-trust-item{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:4px clamp(16px, 2.5vw, 28px);
  min-width:0;
  flex:0 1 auto;
}
.footer-trust-item:first-child{padding-left:0;}
.footer-trust-item:last-child{padding-right:0;}
.footer-trust-item + .footer-trust-item{
  border-left:1px solid var(--footer-line);
}
.footer-trust-item i{
  flex:0 0 auto;
  margin-top:2px;
  color:var(--footer-teal);
  font-size:1.35rem;
}
.footer-trust-item strong{
  display:block;
  margin:0 0 4px;
  color:#fff;
  font-size:0.78rem;
  font-weight:700;
  letter-spacing:0.06em;
  text-transform:uppercase;
}
.footer-trust-item span{
  display:block;
  font-size:0.84rem;
  line-height:1.4;
  color:var(--footer-text);
}
.footer-bottom{
  padding-top:22px;
  display:flex;
  justify-content:center;
  text-align:center;
  font-size:0.82rem;
  color:var(--footer-muted);
}

@media (max-width:1024px){
  .footer-top{
    grid-template-columns:1fr;
    gap:36px;
  }
  .footer-cols{
    grid-template-columns:repeat(3, minmax(0, 1fr));
    justify-content:stretch;
    gap:28px 24px;
  }
}

@media (max-width:768px){
  .site-footer{padding:44px 0 20px;}
  .footer-brand .logo img{height:48px;max-width:min(220px, 88vw);}
  .footer-top{
    gap:28px;
    padding-bottom:28px;
  }
  .footer-brand,
  .footer-follow,
  .footer-trust,
  .footer-bottom{
    padding-inline:4px;
  }
  /*
   * Mobile link grid (balanced heights):
   *   Col 1 = Company + Follow Us
   *   Col 2 = Product + Legal
   */
  .footer-cols{
    grid-template-columns:1fr 1fr;
    gap:24px 16px;
    padding-top:22px;
    border-top:1px solid var(--footer-line);
  }
  /* Flatten Legal stack so Legal + Follow can place independently in the grid */
  .footer-col-stack--legal{
    display:contents;
  }
  .footer-col{
    padding-top:0;
    border-top:0;
    padding-inline:0;
  }
  .footer-cols > .footer-col:nth-child(1){
    grid-column:1;
    grid-row:1;
  }
  .footer-cols > .footer-col:nth-child(2){
    grid-column:2;
    grid-row:1;
  }
  .footer-col--legal{
    grid-column:2;
    grid-row:2;
  }
  .footer-col h4,
  .footer-follow-label{
    margin-bottom:12px;
    font-size:0.78rem;
    letter-spacing:0.07em;
  }
  .footer-col h4::after{
    width:22px;
    margin-top:6px;
  }
  .footer-col a{
    margin-bottom:10px;
    font-size:0.88rem;
    line-height:1.35;
    min-height:22px;
  }
  .footer-follow{
    grid-column:1;
    grid-row:2;
    margin-top:0;
    padding-top:0;
    border-top:0;
    align-self:start;
  }
  .footer-follow-label{
    margin-bottom:12px;
  }
  .footer-social{
    padding-bottom:0;
    gap:8px;
  }
  .footer-social a{
    width:34px;
    height:34px;
    font-size:0.88rem;
  }
  .footer-trust{
    flex-direction:column;
    align-items:center;
    gap:18px;
    padding:22px 4px 0;
    border-top:1px solid var(--footer-line);
  }
  .footer-trust-item,
  .footer-trust-item:first-child,
  .footer-trust-item:last-child{
    padding:0;
  }
  .footer-trust-item + .footer-trust-item{
    border-left:0;
    padding-top:18px;
    border-top:1px solid var(--footer-line);
  }
  .footer-trust-item{
    gap:12px;
    align-items:flex-start;
  }
  .footer-trust-item strong{
    margin-bottom:3px;
  }
  .footer-bottom{
    padding-top:18px;
    margin-top:18px;
    border-top:1px solid var(--footer-line);
    justify-content:center;
    text-align:center;
  }
}

/* Responsive image logo — preserves the existing navbar alignment. */
.navbar{padding-block:12px;}
.page-home .navbar{padding-block:10px;}
.navbar .logo{height:52px;width:auto;flex:0 0 auto;line-height:0;transition:transform .3s ease;}
.page-home .navbar .logo{height:48px;}
.navbar .logo img{display:block;width:auto;height:100%;max-width:100%;object-fit:contain;object-position:center;}
.navbar .logo:hover{transform:scale(1.04);}
@media (min-width:941px) and (max-width:1024px){
  .page-with-banner{--navbar-height:74px;}
  .page-home{--navbar-height:68px;}
  .navbar .logo{height:46px;}
  .page-home .navbar .logo{height:44px;}
}
@media (min-width:769px) and (max-width:940px){
  .page-with-banner{--navbar-height:70px;}
  .page-home{--navbar-height:64px;}
  .navbar .logo{height:46px;}
  .page-home .navbar .logo{height:42px;}
}
@media (max-width:768px){
  .page-with-banner{--navbar-height:48px;}
  .page-home{--navbar-height:48px;}
  .navbar .logo{height:32px;max-width:min(42vw,148px);}
  .navbar .logo:hover{transform:scale(1.03);}
}
@media (max-width:380px){
  .navbar .container{gap:8px;padding-inline:12px;}
  .navbar .logo{height:28px;max-width:36vw;}
  .nav-buy{padding:8px 11px;font-size:0.62rem;letter-spacing:0.03em;border-radius:var(--radius-pill);}
  .nav-cta{gap:4px;}
  .nav-cta .icon-btn{width:30px;height:30px;flex-basis:30px;font-size:1rem;}
  .nav-cart-icon{width:20px;height:20px;}
  .nav-lang-icon{width:20px;height:20px;}
}
@media (prefers-reduced-motion:reduce){.navbar .logo{transition:none;}}
