/* =========================================================
   KADALGAMING PUBLIC HEADER UPDATE
   Menu: Home / Shopping / Blog / About Us / Contact
   Clean desktop alignment + professional mobile navigation.
========================================================= */
.site-header{
  position:sticky;
  top:0;
  z-index:80;
  background:linear-gradient(180deg,rgba(3,8,10,.985),rgba(3,8,10,.94));
  border-bottom:1px solid rgba(183,255,57,.12);
  box-shadow:0 12px 34px rgba(0,0,0,.24);
  backdrop-filter:blur(12px);
}
.site-header.is-scrolled{
  background:linear-gradient(180deg,rgba(3,8,10,.98),rgba(3,8,10,.90));
  box-shadow:0 18px 46px rgba(0,0,0,.32);
}
.site-header .nav-wrap{
  min-height:92px;
  display:grid;
  grid-template-columns:minmax(150px,220px) minmax(0,1fr) minmax(150px,220px);
  align-items:center;
  gap:24px;
  padding:12px 0;
}
.site-header .brand{
  display:inline-flex;
  align-items:center;
  justify-self:start;
  min-width:0;
}
.site-header .brand img{
  width:auto;
  height:clamp(42px,3.1vw,56px);
  max-width:190px;
  object-fit:contain;
  filter:drop-shadow(0 0 16px rgba(183,255,57,.18));
}
.site-header .nav-balance{
  width:100%;
  min-height:1px;
}
.site-header .main-nav{
  justify-self:center;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(26px,3.1vw,48px);
}
.site-header .main-nav a{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 1px;
  color:#f2f7f4;
  font-size:15px;
  line-height:1;
  font-weight:950;
  letter-spacing:-.02em;
  white-space:nowrap;
  text-decoration:none;
  transition:color .22s ease, transform .22s ease, text-shadow .22s ease;
}
.site-header .main-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:1px;
  height:4px;
  background:#b7ff39;
  border-radius:999px;
  box-shadow:0 0 18px rgba(183,255,57,.72);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .22s ease;
}
.site-header .main-nav a:hover,
.site-header .main-nav a.is-active{
  color:#b7ff39;
  transform:translateY(-1px);
  text-shadow:0 0 18px rgba(183,255,57,.18);
}
.site-header .main-nav a:hover::after,
.site-header .main-nav a.is-active::after{
  transform:scaleX(1);
}
.site-header .nav-toggle{
  display:none;
  width:52px;
  height:52px;
  justify-self:end;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:4px;
  border:0;
  cursor:pointer;
  color:#f7fff9;
  background:linear-gradient(180deg,rgba(17,24,29,.98),rgba(8,12,15,.98));
  clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);
  box-shadow:inset 0 0 0 1px rgba(183,255,57,.18),0 14px 30px rgba(0,0,0,.22);
  transition:transform .22s ease, box-shadow .22s ease;
}
.site-header .nav-toggle:hover{
  transform:translateY(-2px);
  box-shadow:inset 0 0 0 1px rgba(183,255,57,.30),0 18px 40px rgba(0,0,0,.30),0 0 24px rgba(183,255,57,.10);
}
.site-header .nav-toggle span{
  display:block;
  width:21px;
  height:2px;
  border-radius:99px;
  background:currentColor;
  transform-origin:center;
  transition:transform .22s ease, opacity .22s ease;
}
body.menu-open .site-header .nav-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg);} 
body.menu-open .site-header .nav-toggle span:nth-child(2){opacity:0;transform:scaleX(.2);} 
body.menu-open .site-header .nav-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg);} 
.site-header .main-nav a:focus-visible,
.site-header .nav-toggle:focus-visible{
  outline:3px solid rgba(183,255,57,.50);
  outline-offset:4px;
}
@media (max-width:1180px){
  .site-header .nav-wrap{grid-template-columns:minmax(130px,180px) minmax(0,1fr) minmax(130px,180px);gap:18px;}
  .site-header .main-nav{gap:clamp(18px,2.4vw,32px);}
  .site-header .main-nav a{font-size:14px;}
}
@media (max-width:860px){
  .site-header .nav-wrap{
    width:min(100% - 28px,1180px);
    min-height:76px;
    grid-template-columns:auto 1fr auto;
    grid-template-areas:
      "brand spacer toggle"
      "menu menu menu";
    gap:12px;
    padding:11px 0;
  }
  .site-header .brand{grid-area:brand;}
  .site-header .brand img{height:42px;max-width:158px;}
  .site-header .nav-balance{grid-area:spacer;}
  .site-header .nav-toggle{grid-area:toggle;display:inline-flex;}
  .site-header .main-nav{
    grid-area:menu;
    width:100%;
    max-height:0;
    overflow:hidden;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    padding:0;
    transition:max-height .28s ease, padding .28s ease;
  }
  body.menu-open .site-header .main-nav{
    max-height:360px;
    padding:6px 0 4px;
  }
  .site-header .main-nav a{
    min-height:48px;
    padding:0 12px;
    justify-content:flex-start;
    font-size:13px;
    background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
    border:1px solid rgba(183,255,57,.13);
    clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);
  }
  .site-header .main-nav a::after{left:12px;right:auto;width:34px;bottom:8px;height:2px;}
  .site-header .main-nav a.is-active,
  .site-header .main-nav a:hover{
    background:linear-gradient(135deg,rgba(183,255,57,.18),rgba(183,255,57,.04));
    border-color:rgba(183,255,57,.25);
  }
}
@media (max-width:520px){
  .site-header .nav-wrap{width:min(100% - 22px,1180px);}
  .site-header .main-nav{grid-template-columns:1fr;}
  .site-header .brand img{height:38px;max-width:148px;}
  .site-header .nav-toggle{width:48px;height:48px;}
}

/* =========================================================
   MOBILE HEADER FINAL POLISH — ALL PUBLIC PAGES
   Fixes older style.css mobile menu overrides, including catalog-page
   !important rules. Keeps desktop unchanged.
========================================================= */
@media (max-width: 860px){
  html,
  body{
    overflow-x:hidden;
  }

  .promo-bar{
    position:relative!important;
    z-index:140!important;
    min-height:34px!important;
    height:auto!important;
    padding:8px 14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    font-size:11px!important;
    line-height:1.35!important;
    letter-spacing:.08em!important;
  }

  .site-header,
  body.catalog-page .site-header{
    position:sticky!important;
    top:0!important;
    z-index:130!important;
    overflow:visible!important;
    background:linear-gradient(180deg,rgba(3,8,10,.985),rgba(3,8,10,.955))!important;
    border-bottom:1px solid rgba(183,255,57,.14)!important;
    box-shadow:0 14px 36px rgba(0,0,0,.30)!important;
  }

  .site-header .nav-wrap,
  body.catalog-page .nav-wrap{
    width:min(100% - 28px,1180px)!important;
    height:auto!important;
    min-height:76px!important;
    padding:12px 0!important;
    display:grid!important;
    grid-template-columns:minmax(126px,1fr) auto!important;
    grid-template-areas:
      "brand toggle"
      "menu menu"!important;
    align-items:center!important;
    gap:10px 14px!important;
    position:relative!important;
  }

  .site-header .brand,
  body.catalog-page .brand{
    grid-area:brand!important;
    justify-self:start!important;
    display:inline-flex!important;
    align-items:center!important;
    min-width:0!important;
  }

  .site-header .brand img,
  body.catalog-page .brand img{
    height:clamp(38px,10vw,46px)!important;
    max-height:46px!important;
    max-width:168px!important;
    width:auto!important;
    object-fit:contain!important;
    filter:drop-shadow(0 0 14px rgba(183,255,57,.20))!important;
  }

  .site-header .nav-balance{
    display:none!important;
  }

  .site-header .nav-toggle,
  body.catalog-page .nav-toggle{
    grid-area:toggle!important;
    display:inline-flex!important;
    justify-self:end!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:5px!important;
    width:50px!important;
    height:50px!important;
    padding:0!important;
    margin:0!important;
    position:relative!important;
    border:1px solid rgba(183,255,57,.28)!important;
    border-radius:0!important;
    background:
      radial-gradient(circle at 35% 15%,rgba(183,255,57,.16),transparent 36%),
      linear-gradient(180deg,rgba(17,25,26,.98),rgba(6,11,13,.98))!important;
    clip-path:polygon(13px 0,100% 0,100% calc(100% - 13px),calc(100% - 13px) 100%,0 100%,0 13px)!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.045),0 12px 28px rgba(0,0,0,.30)!important;
    cursor:pointer!important;
    -webkit-tap-highlight-color:transparent!important;
  }

  .site-header .nav-toggle span,
  body.catalog-page .nav-toggle span{
    display:block!important;
    width:22px!important;
    height:2px!important;
    margin:0!important;
    border-radius:999px!important;
    background:#f6fff8!important;
    box-shadow:0 0 10px rgba(183,255,57,.20)!important;
    transform-origin:center!important;
  }

  body.menu-open .site-header .nav-toggle,
  body.menu-open.catalog-page .nav-toggle{
    border-color:rgba(183,255,57,.44)!important;
    background:linear-gradient(135deg,rgba(183,255,57,.22),rgba(7,13,15,.98) 52%,rgba(7,13,15,.98))!important;
  }

  .site-header .main-nav,
  body.catalog-page .main-nav{
    grid-area:menu!important;
    position:static!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    max-height:0!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    align-items:stretch!important;
    justify-content:stretch!important;
    gap:10px!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    transform:translateY(-8px)!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    transition:max-height .26s ease, padding .26s ease, opacity .20s ease, transform .22s ease!important;
  }

  body.menu-open .site-header .main-nav,
  body.menu-open.catalog-page .main-nav{
    max-height:230px!important;
    padding:10px 0 2px!important;
    opacity:1!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
  }

  .site-header .main-nav a,
  body.catalog-page .main-nav a{
    width:100%!important;
    min-height:46px!important;
    height:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 14px!important;
    margin:0!important;
    position:relative!important;
    color:#f5fbf7!important;
    text-align:center!important;
    font-size:14px!important;
    font-weight:950!important;
    line-height:1!important;
    letter-spacing:-.015em!important;
    white-space:nowrap!important;
    text-decoration:none!important;
    background:
      linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018)),
      rgba(5,10,12,.92)!important;
    border:1px solid rgba(183,255,57,.14)!important;
    border-radius:0!important;
    clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px)!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.028),0 12px 26px rgba(0,0,0,.18)!important;
    transform:none!important;
  }

  .site-header .main-nav a:nth-child(5),
  body.catalog-page .main-nav a:nth-child(5){
    grid-column:1 / -1!important;
  }

  .site-header .main-nav a::after,
  body.catalog-page .main-nav a::after{
    content:""!important;
    position:absolute!important;
    left:50%!important;
    right:auto!important;
    bottom:7px!important;
    width:30px!important;
    height:2px!important;
    border-radius:999px!important;
    background:#b7ff39!important;
    box-shadow:0 0 14px rgba(183,255,57,.55)!important;
    transform:translateX(-50%) scaleX(0)!important;
    transform-origin:center!important;
    display:block!important;
  }

  .site-header .main-nav a.is-active,
  .site-header .main-nav a:hover,
  body.catalog-page .main-nav a.is-active,
  body.catalog-page .main-nav a:hover{
    color:#b7ff39!important;
    border-color:rgba(183,255,57,.30)!important;
    background:
      radial-gradient(circle at 18% 0,rgba(183,255,57,.20),transparent 42%),
      linear-gradient(180deg,rgba(183,255,57,.10),rgba(255,255,255,.02)),
      rgba(5,10,12,.96)!important;
    text-shadow:0 0 16px rgba(183,255,57,.18)!important;
  }

  .site-header .main-nav a.is-active::after,
  .site-header .main-nav a:hover::after,
  body.catalog-page .main-nav a.is-active::after,
  body.catalog-page .main-nav a:hover::after{
    transform:translateX(-50%) scaleX(1)!important;
  }
}

@media (max-width: 430px){
  .promo-bar{
    font-size:10px!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }

  .site-header .nav-wrap,
  body.catalog-page .nav-wrap{
    width:min(100% - 22px,1180px)!important;
    min-height:72px!important;
    padding:10px 0!important;
  }

  .site-header .brand img,
  body.catalog-page .brand img{
    height:38px!important;
    max-width:150px!important;
  }

  .site-header .nav-toggle,
  body.catalog-page .nav-toggle{
    width:46px!important;
    height:46px!important;
  }

  .site-header .main-nav,
  body.catalog-page .main-nav{
    gap:8px!important;
  }

  body.menu-open .site-header .main-nav,
  body.menu-open.catalog-page .main-nav{
    max-height:220px!important;
    padding-top:9px!important;
  }

  .site-header .main-nav a,
  body.catalog-page .main-nav a{
    min-height:43px!important;
    padding:0 10px!important;
    font-size:13px!important;
  }
}
