/* GS Mega Menu PRO - styles */
.gs-has-mega{ position:relative; }
.gs-el-menu{ list-style:none; margin:0; padding:0; display:flex; gap: var(--gs-gap,18px); align-items:center; }
.gs-el-menu > li{ list-style:none; }
.gs-el-menu .sub-menu{ display:none; list-style:none; margin:0; padding:10px 0; }

@media (hover:hover) and (pointer:fine){
  .gs-el-menu li:not(.gs-has-mega):hover > .sub-menu{
    display:block; position:absolute; left:0; top:100%;
    min-width:220px; background:#fff; box-shadow:0 10px 30px rgba(0,0,0,.12);
    border-radius:12px; padding:10px; z-index:999999;
  }
  .gs-el-menu li:not(.gs-has-mega){ position:relative; }
}

.gs-el-menu > li > a{
  display:inline-flex; align-items:center; gap:8px;
  border-radius: var(--gs-link-radius,12px);
  transition: transform .14s ease, background-color .14s ease, color .14s ease;
  will-change: transform;
}
.gs-el-menu > li:hover > a{
  background: var(--gs-link-hover-bg, rgba(0,0,0,.06));
  transform: translateY(-1px);
}

.gs-el-nav.gs-underline .gs-el-menu > li > a{
  background-image: linear-gradient(var(--gs-underline, currentColor), var(--gs-underline, currentColor));
  background-repeat:no-repeat; background-size:0% 2px; background-position:0 100%;
  padding-bottom:2px;
}
.gs-el-nav.gs-underline .gs-el-menu > li:hover > a{ background-size:100% 2px; }

.gs-mega-caret{ font-size:.9em; opacity:.75; transition: transform .18s ease, opacity .18s ease; }
.gs-el-nav.gs-no-caret .gs-mega-caret{ display:none; }
@media (hover:hover) and (pointer:fine){
  .gs-has-mega:hover > a .gs-mega-caret{ transform: rotate(180deg); opacity:1; }
}

.gs-mega-panel{
  display:none; position:absolute;
  top: calc(100% + var(--gs-panel-offset-y, 10px));
  width: var(--gs-panel-width, min(1100px, 92vw));
  background: var(--gs-panel-bg, #fff);
  border: var(--gs-panel-border-w, 1px) solid var(--gs-panel-border, rgba(0,0,0,.08));
  border-radius: var(--gs-panel-radius, 16px);
  padding: var(--gs-panel-padding, 18px);
  z-index: var(--gs-panel-z, 999999);
  box-shadow: 0 18px 55px rgba(0,0,0,.18);
  backdrop-filter: blur(var(--gs-panel-blur, 12px));
  -webkit-backdrop-filter: blur(var(--gs-panel-blur, 12px));
  overflow:hidden;
}

.gs-el-nav.gs-align-left .gs-has-mega > .gs-mega-panel{ left:0; transform:none; }
.gs-el-nav.gs-align-center .gs-has-mega > .gs-mega-panel{ left:50%; transform: translateX(-50%); }
.gs-el-nav.gs-align-right .gs-has-mega > .gs-mega-panel{ right:0; left:auto; transform:none; }

@media (hover:hover) and (pointer:fine){
  .gs-has-mega > .gs-mega-panel:before{
    content:""; position:absolute; top:-8px; width:14px; height:14px;
    background: var(--gs-panel-bg, #fff);
    border-left: var(--gs-panel-border-w,1px) solid var(--gs-panel-border, rgba(0,0,0,.08));
    border-top: var(--gs-panel-border-w,1px) solid var(--gs-panel-border, rgba(0,0,0,.08));
    transform: rotate(45deg);
  }
  .gs-el-nav.gs-align-left .gs-has-mega > .gs-mega-panel:before{ left:24px; }
  .gs-el-nav.gs-align-center .gs-has-mega > .gs-mega-panel:before{ left:50%; margin-left:-7px; }
  .gs-el-nav.gs-align-right .gs-has-mega > .gs-mega-panel:before{ right:24px; left:auto; }

  .gs-has-mega:hover > .gs-mega-panel{ display:block; }

  .gs-el-nav.gs-anim-fade .gs-mega-panel{ opacity:0; transform: translateY(6px); transition: opacity .18s ease, transform .18s ease; }
  .gs-el-nav.gs-anim-fade.gs-align-center .gs-mega-panel{ transform: translateX(-50%) translateY(6px); }
  .gs-el-nav.gs-anim-fade .gs-has-mega:hover > .gs-mega-panel{ opacity:1; transform: translateY(0); }
  .gs-el-nav.gs-anim-fade.gs-align-center .gs-has-mega:hover > .gs-mega-panel{ transform: translateX(-50%) translateY(0); }

  .gs-el-nav.gs-anim-slide .gs-mega-panel{ opacity:0; transform: translateY(12px); transition: opacity .22s ease, transform .22s ease; }
  .gs-el-nav.gs-anim-slide.gs-align-center .gs-mega-panel{ transform: translateX(-50%) translateY(12px); }
  .gs-el-nav.gs-anim-slide .gs-has-mega:hover > .gs-mega-panel{ opacity:1; transform: translateY(0); }
  .gs-el-nav.gs-anim-slide.gs-align-center .gs-has-mega:hover > .gs-mega-panel{ transform: translateX(-50%) translateY(0); }
}

.gs-el-nav.gs-panel-full .gs-has-mega > .gs-mega-panel{
  left:50%; transform: translateX(-50%); width:100vw; max-width:100vw; border-radius:0;
}

/* Mobile accordion */
@media (hover:none) and (pointer:coarse){
  .gs-mega-panel{ position:static; width:100%; max-width:100%; box-shadow:none; border-radius:0; transform:none!important; backdrop-filter:none; -webkit-backdrop-filter:none; padding:12px 0; border-left:0; border-right:0; }
  .gs-has-mega > a{ display:flex; align-items:center; justify-content:space-between; }
}

/* Woo Dynamic Mega */
.gs-mm-woo{ display:grid; grid-template-columns: 220px 1fr 260px; gap:18px; align-items:start; }
@media (max-width:1024px){ .gs-mm-woo{ grid-template-columns:1fr; } .gs-mm-woo__hero{ display:none; } }
.gs-mm-woo__brands{ background: rgba(0,0,0,.03); border:1px solid rgba(0,0,0,.06); border-radius:14px; padding:10px; overflow:auto; max-height:52vh; }
.gs-mm-brand{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:10px; border:0; background:transparent; text-align:left; padding:10px; border-radius:12px; cursor:pointer; transition: background .14s ease, transform .14s ease, opacity .14s ease; opacity:.78; }
.gs-mm-brand:hover{ opacity:1; transform: translateX(2px); }
.gs-mm-brand.is-active{ background: rgba(0,0,0,.06); opacity:1; }
.gs-mm-brand__count{ font-size:12px; opacity:.7; background: rgba(0,0,0,.06); padding:2px 8px; border-radius:999px; }

.gs-mm-center-panel{ display:none; }
.gs-mm-center-panel.is-active{ display:block; }

.gs-mm-cats{ display:grid; grid-template-columns: repeat(var(--gs-mm-cat-cols,2), minmax(0,1fr)); gap:10px; margin-bottom:14px; }
.gs-mm-cat{ display:flex; align-items:baseline; justify-content:space-between; gap:10px; padding:10px 12px; border-radius:12px; border:1px solid rgba(0,0,0,.06); background: rgba(255,255,255,.65); transition: transform .14s ease, box-shadow .14s ease, background .14s ease; }
.gs-mm-cat:hover{ transform: translateY(-2px); box-shadow:0 12px 30px rgba(0,0,0,.12); background: rgba(255,255,255,.9); }
.gs-mm-cat__meta{ font-size:12px; opacity:.65; }

.gs-mm-products{ display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:12px; }
@media (max-width:1200px){ .gs-mm-products{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
.gs-mm-product{ display:grid; grid-template-columns: 56px 1fr; gap:10px; align-items:center; padding:10px 12px; border-radius:14px; border:1px solid rgba(0,0,0,.06); background: rgba(255,255,255,.7); transition: transform .14s ease, box-shadow .14s ease, background .14s ease; }
.gs-mm-product:hover{ transform: translateY(-2px); box-shadow:0 14px 40px rgba(0,0,0,.16); background: rgba(255,255,255,.95); }
.gs-mm-product__img img{ width:56px; height:56px; object-fit:contain; border-radius:10px; background: rgba(0,0,0,.03); }
.gs-mm-product__title{ font-size:13px; line-height:1.25; opacity:.92; }
.gs-mm-product__price{ grid-column:2 / -1; font-size:12px; opacity:.8; }

.gs-mm-hero-card{ border-radius:16px; border:1px solid rgba(0,0,0,.06); background: rgba(255,255,255,.65); padding:16px; }
.gs-mm-hero-title{ font-weight:700; margin-bottom:6px; }
.gs-mm-hero-text{ font-size:13px; opacity:.75; margin-bottom:12px; }
.gs-mm-hero-btn{ display:inline-flex; align-items:center; justify-content:center; padding:10px 12px; border-radius:12px; border:1px solid rgba(0,0,0,.08); background: rgba(0,0,0,.06); transition: transform .14s ease, background .14s ease; }
.gs-mm-hero-btn:hover{ transform: translateY(-1px); background: rgba(0,0,0,.09); }
