/*
Theme Name: GeneratePress Child GGC
Theme URI: https://goldengreens.example
Description: Child theme for GeneratePress using the exact markup/styles from the provided full HTML.
Author: GGC
Template: generatepress
Version: 1.0.0
*/

/* =========================================
   1. DESIGN TOKENS / GLOBAL VARIABLES
   ========================================= */
:root{
  /* Layout knobs */
  --container-pad-x: 16px;
  --header-pad-x: 20px;
  --badge-x-offset: 18%;
  --search-top-margin: .2rem;
  --hero-top-gap: .10rem;
  --eyebrow-top-gap: .8rem;
  --service-grid-top-gap: .5rem;
  --service-grid-bottom-gap: .6rem;
  --edge-inset: 12px;

  /* Header/search spacing */
  --header-search-gap-top-desktop: -.1rem;
  --header-search-gap-bottom-desktop: .22rem;
  --header-search-gap-top-mobile: .08rem;
  --header-search-gap-bottom-mobile: .18rem;
  --header-row-gap-mobile: .15rem;
  --header-search-pad-y: .42rem;
  --header-search-pad-x: .7rem;

  /* Theme colors */
  --ggc-neon: #39ff14;
  --ggc-neon-600: #2de20f;
  --ggc-neon-700: #25c30d;
  --ggc-gold: #d4af37;
  --bg: #000;
  --surface: #0d0d0d;
  --line: #2a2a2a;

  /* Sizing */
  --max-w: 1200px;
  --radius: 14px;
  --ggc-sticky-top: 140px;

  /* Bee product filters */
  --bees-plugins-product-filters-panel-bg: var(--surface);
  --bees-plugins-product-filters-border: rgba(57,255,20,.18);
  --bees-plugins-product-filters-gap: 24px;
  --bees-plugins-product-filters-sticky-top: calc(var(--ggc-sticky-top) + var(--wp-admin--admin-bar--height, 0px));
}

/* =========================================
   2. BASE / RESET
   ========================================= */
html,
body{
  margin: 0;
  padding: 0;
  background: var(--bg);
  color: var(--ggc-neon);
  font-family: Arial, Helvetica, sans-serif;
}

img{
  max-width: 100%;
  display: block;
}

a{
  color: var(--ggc-neon);
  text-decoration: none;
}

section{
  padding: 1.8rem 0;
}

.container{
  max-width: var(--max-w);
  margin-inline: auto;
  padding: 0 var(--container-pad-x);
}

.icon-stroke{
  stroke: var(--ggc-neon);
}

/* =========================================
   3. REUSABLE UI / COMPONENTS
   ========================================= */
.btn{
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  border: 1px solid var(--ggc-neon);
  background: var(--ggc-neon);
  color: #000;
  padding: .8rem 1rem;
  border-radius: 10px;
  font-weight: 700;
  transition: transform .15s ease, background .2s ease;
}

.btn:hover{
  background: var(--ggc-neon-600);
  transform: translateY(-1px);
}

.btn--ghost{
  background: transparent;
  color: var(--ggc-neon);
  border: 1px solid var(--ggc-neon);
}

/* Main homepage CTA button with glow + shimmer */
.btn--primary-cta{
  position: relative;
  overflow: hidden;
  border: 1px solid var(--ggc-gold);
  box-shadow:
    0 0 0 1px rgba(212,175,55,.20),
    0 0 10px rgba(57,255,20,.18);
  transition: all .25s ease;
  animation: ctaPulse 3.5s ease-in-out infinite;
}

.btn--primary-cta:hover{
  transform: translateY(-2px) scale(1.04);
  box-shadow:
    0 0 14px rgba(57,255,20,.6),
    0 0 30px rgba(57,255,20,.25);
}

.btn--primary-cta:active{
  transform: scale(.97);
  box-shadow: 0 0 8px rgba(57,255,20,.4);
}

.btn--primary-cta::after{
  content: "";
  position: absolute;
  top: 0;
  left: -140%;
  width: 60%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
  transform: skewX(-20deg);
  animation: ctaShimmer 5s ease-in-out infinite;
}

.badge{
  display: inline-grid;
  place-items: center;
  min-width: 18px;
  height: 18px;
  border-radius: 999px;
  background: var(--ggc-gold);
  color: #000;
  font-size: .72rem;
  font-weight: 800;
  transform: translate(var(--badge-x-offset), -30%);
}

.grid{
  display: grid;
  gap: 1rem;
}

.grid--4{
  grid-template-columns: 1fr;
}

.card{
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--surface);
}

.card__img{
  aspect-ratio: 4 / 3;
  background: #1a1a1a;
}

.card__body{
  padding: 1rem;
}

.price{
  font-weight: 800;
  color: var(--ggc-gold);
}

.sec__head{
  display: flex;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 1rem;
}

.sec__title{
  font-size: 1.3rem;
}


/* =========================================
   4. HEADER / PRIMARY NAV / SEARCH
   ========================================= */
.header{
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--bg);
  border-bottom: 1px solid var(--line);
  overflow: visible;
}

.header > .container{
  padding-left: var(--header-pad-x);
  padding-right: var(--header-pad-x);
  overflow: visible;
}

.header__row{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .5rem 0;
  overflow: visible;
}

.brand{
  display: flex;
  align-items: center;
  gap: .55rem;
}

.brand__logo{
  width: 64px;
  height: auto;
}

.tools{
  display: flex;
  align-items: center;
  gap: .6rem;
}

.tool{
  position: relative;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: var(--surface);
}

.tool:hover{
  border-color: #3a3a3a;
}

/* Search bar */
.search-wrap{
  margin-top: var(--search-top-margin);
}

.srch,
.header .srch,
.ggc-search .srch{
  display: flex;
  align-items: center;
  gap: .45rem;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: .5rem .7rem;
  background: var(--surface);
}

.srch input,
.srch input[type="search"],
.header .srch input,
.header .srch input[type="search"],
.search-field,
input.search-field{
  border: 0 !important;
  outline: 0 !important;
  width: 100%;
  font: inherit;
  background: transparent !important;
  background-color: transparent !important;
  color: var(--ggc-neon) !important;
  -webkit-text-fill-color: var(--ggc-neon) !important;
  text-align: center;
  box-shadow: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  caret-color: var(--ggc-gold);
}

.srch input::placeholder,
.srch input[type="search"]::placeholder,
.search-field::placeholder,
input.search-field::placeholder{
  color: #9fa59f !important;
  opacity: 1 !important;
}

/* Remove native WebKit search UI */
.srch input[type="search"]::-webkit-search-decoration,
.srch input[type="search"]::-webkit-search-cancel-button,
.srch input[type="search"]::-webkit-search-results-button,
.srch input[type="search"]::-webkit-search-results-decoration,
.search-field::-webkit-search-decoration,
.search-field::-webkit-search-cancel-button,
.search-field::-webkit-search-results-button,
.search-field::-webkit-search-results-decoration{
  -webkit-appearance: none !important;
  appearance: none !important;
}

/* Search placed under the header row inside the header */
.header .search-wrap{
  order: 4;
  flex: 0 0 100%;
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: var(--header-search-gap-top-desktop);
  margin-bottom: var(--header-search-gap-bottom-desktop);
}

.header .srch{
  width: clamp(280px, 60%, 540px);
}

/* Desktop top-level nav */
.nav{
  display: none;
  gap: 1rem;
  font-weight: 700;
  align-items: center;
  overflow: visible;
}

.nav > ul,
.nav .menu{
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.header .nav ul,
.header .nav li{
  margin: 0;
  padding: 0;
  list-style: none;
}

.header .nav li::marker,
.header .nav li::before,
.header .nav a::before{
  content: none !important;
}

.nav a{
  color: var(--ggc-neon);
  font-size: .95rem;
  padding: .3rem .9rem;
  border-radius: 4px;
}

.nav a:hover,
.nav a:focus-visible,
.nav a:active{
  color: var(--ggc-gold);
  background: rgba(212,175,55,.12);
}

/* GeneratePress submenu toggle cleanup */
.nav .nav-submenu-toggle{
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  -webkit-appearance: none;
  appearance: none;
}

/* Desktop dropdowns */
.nav .menu-item{
  position: relative;
}

.nav .sub-menu{
  position: absolute;
  top: 100%;
  left: -99999px;
  min-width: 220px;
  margin: 0;
  padding: .5rem 0;
  list-style: none;
  background: #050505;
  border-radius: 10px;
  box-shadow: 0 18px 45px rgba(0,0,0,.7);
  display: block !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 9999;
}

.nav .sub-menu .sub-menu{
  top: 0;
  left: -99999px;
  margin-left: 0;
}

.nav .sub-menu > li{
  position: relative;
}

/* Hover bridge for easier flyout aiming */
.nav .sub-menu > li::after{
  content: "";
  position: absolute;
  top: 0;
  right: -18px;
  width: 18px;
  height: 100%;
}

.nav .sub-menu a{
  display: block;
  padding: .45rem 1.25rem .45rem 1rem;
  white-space: nowrap;
  text-decoration: none;
  color: var(--ggc-gold);
  font-size: .92rem;
  background: transparent;
}

.nav .sub-menu a:hover,
.nav .sub-menu a:focus-visible,
.nav .sub-menu a:active{
  background: #111;
  color: var(--ggc-neon);
}

.nav .menu-item-has-children > a{
  display: inline-flex;
  align-items: center;
  gap: .25rem;
}

/* Mobile hamburger */
.hamburger{
  display: flex;
  align-items: center;
}

.hamburger summary{
  list-style: none;
  display: flex;
  align-items: center;
  gap: .5rem;
  font-weight: 800;
  cursor: pointer;
  padding: .5rem .6rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
}

.hamburger summary::-webkit-details-marker{
  display: none;
}

.hamburger__panel{
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--surface);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.hamburger__closebar{
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  justify-content: flex-end;
  padding: 6px 12px;
  min-height: 40px;
  background: var(--surface);
  border-bottom: 1px solid var(--line);
}

.hamburger__closebtn{
  position: relative;
  width: 48px;
  height: 48px;
  border: 0;
  background: transparent;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hamburger__closebtn::before,
.hamburger__closebtn::after{
  content: "";
  position: absolute;
  width: 20px;
  height: 2px;
  background: var(--ggc-neon);
  box-shadow: 0 0 8px rgba(57,255,20,.7);
}

.hamburger__closebtn::before{
  transform: rotate(45deg);
}

.hamburger__closebtn::after{
  transform: rotate(-45deg);
}

.hamburger__closebtn:hover::before,
.hamburger__closebtn:hover::after{
  background: var(--ggc-neon);
  box-shadow: 0 0 12px rgba(57,255,20,.9);
}

.hamburger__closebtn:focus-visible{
  outline: 2px solid var(--ggc-gold);
  outline-offset: 3px;
}

.hamburger__links{
  display: block;
  padding: 10px 16px 96px;
}

.hamburger__links ul,
.hamburger__links li{
  margin: 0;
  padding: 0;
  list-style: none;
}

.hamburger__links li::marker{
  content: "";
}

.hamburger__links li::before,
.hamburger__links a::before{
  content: none !important;
}

/* Consistent separators */
.hamburger__links ul > li{
  border-bottom: 1px dashed #222;
}

.hamburger__links ul > li:last-child{
  border-bottom: 0;
}

.hamburger__links a{
  display: block;
  padding: .7rem .9rem;
  text-decoration: none;
  color: var(--ggc-neon);
}

.hamburger__links a:visited{
  color: var(--ggc-neon);
}

.hamburger__links a:hover,
.hamburger__links a:focus-visible,
.hamburger__links a:active{
  color: var(--ggc-gold);
  background: rgba(212,175,55,.12);
}

/* Keep submenu rows clean and tappable */
.hamburger__links .menu-item-has-children{
  position: relative;
}

.hamburger__links .menu-item-has-children > a{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .4rem;
  padding-right: 56px;
  -webkit-tap-highlight-color: transparent;
}

/* Fallback arrow when no real toggle button exists */
.hamburger__links .menu-item-has-children > a::after{
  content: "▾";
  font-size: 1rem;
  color: var(--ggc-neon);
  opacity: .95;
  transform: translateY(1px);
}

/* Hide other theme toggles we do not want */
.hamburger__links .dropdown-menu-toggle,
.hamburger__links .sub-menu-toggle,
.hamburger__links .submenu-toggle{
  display: none !important;
}

/* Real toggle button support: custom button OR GP nav-submenu-toggle */
.hamburger__links .hamburger-submenu-toggle,
.hamburger__links .nav-submenu-toggle{
  position: absolute;
  right: 4px;
  top: 4px;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 0;
  background: transparent;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-appearance: none;
  appearance: none;
  z-index: 2;
  -webkit-tap-highlight-color: transparent;
}

.hamburger__links .hamburger-submenu-toggle .caret,
.hamburger__links .nav-submenu-toggle::before{
  content: "";
  width: 10px;
  height: 10px;
  border-right: 2px solid var(--ggc-neon);
  border-bottom: 2px solid var(--ggc-neon);
  transform: rotate(45deg);
  transition: transform .2s ease;
  display: block;
}

.hamburger__links .menu-item.is-open > .hamburger-submenu-toggle .caret,
.hamburger__links .nav-submenu-toggle[aria-expanded="true"]::before{
  transform: rotate(-135deg);
}

/* Hide fallback arrow when a real button exists */
@supports(selector(:has(*))){
  .hamburger__links .menu-item-has-children:has(> .hamburger-submenu-toggle) > a::after,
  .hamburger__links .menu-item-has-children:has(> .nav-submenu-toggle) > a::after{
    content: none !important;
  }
}

/* JS-controlled submenu visibility */
html.js .hamburger__links .sub-menu{
  display: none;
  padding-left: 14px;
  border: 0;
}

html.js .hamburger__links li.is-open > .sub-menu,
html.js .hamburger__links li.is-open > ul.sub-menu,
html.js .hamburger__links .nav-submenu-toggle[aria-expanded="true"] + .sub-menu{
  display: block;
}


/* =========================================
   5. HERO / EYEBROW / CTA / SERVICE CARDS
   ========================================= */
.hero{
  background: var(--bg);
}

.hero__wrap{
  display: grid;
  gap: .7rem;
  align-items: center;
  padding: var(--hero-top-gap) 0 2rem;
  text-align: center;
}

.hero .brand__logo{
  width: 200px;
  margin: -1.2rem auto .4rem;
}

.hero h1{
  font-size: clamp(1.6rem, 6vw, 2rem);
  line-height: 1.15;
  margin: .3rem 0 .35rem;
}

.hero p{
  font-size: 1rem;
  max-width: 56ch;
  margin-inline: auto;
}

.cta--hero{
  margin: .7rem auto 0;
  max-width: 720px;
  display: block;
  background: var(--surface);
  color: var(--ggc-neon);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  text-align: center;
}

.cta--hero .inner{
  padding: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.cta--hero h3,
.cta--hero p,
.cta--hero a{
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.cta--hero p{
  margin: .5rem 0;
}

/* Eyebrow promo strip
   Supports both the older inline text markup (.ew-line / .ew-amp)
   and the newer stacked list markup (.ew-list / .ew-item). */
.eyebrow{
  position: relative;
  display: block;
  max-width: 520px;
  margin: var(--eyebrow-top-gap) auto .6rem;
  padding: 14px 16px;
  background: rgba(57,255,20,.12);
  color: #b7ffb1;
  border: 1px solid rgba(57,255,20,.35);
  border-radius: var(--radius);
  text-align: center;
  box-shadow:
    0 0 0 1px rgba(57,255,20,.15) inset,
    0 0 14px rgba(57,255,20,.35),
    0 0 32px rgba(57,255,20,.25),
    0 0 60px rgba(57,255,20,.18);
  animation: eyebrowGlow 1.6s ease-in-out infinite alternate;
}

.eyebrow::after{
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  pointer-events: none;
  box-shadow:
    0 0 20px rgba(57,255,20,.35),
    0 0 50px rgba(57,255,20,.25);
  opacity: .7;
}

.ew{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: .3rem;
}

.ew-title{
  font-weight: 900;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: .6px;
  margin-bottom: 8px;
}

.ew-line{
  text-transform: none;
  font-weight: 800;
}

.ew-amp{
  font-weight: 900;
  margin: .2rem 0;
}

.ew-list{
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.ew-item{
  font-size: 13px;
  line-height: 1.3;
  opacity: .95;
}

/* Service cards */
.service-grid{
  margin: var(--service-grid-top-gap) auto var(--service-grid-bottom-gap);
  padding: 0 var(--container-pad-x);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  max-width: var(--max-w);
  align-items: stretch;
  justify-content: center;
}

.service-card{
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 6px;
  height: 100%;
  transition: transform .12s ease, border-color .12s ease, box-shadow .12s ease;
}

.service-card:hover{
  transform: translateY(-1px);
  border-color: var(--ggc-neon);
  box-shadow: 0 0 0 2px rgba(57,255,20,.18);
}

.svc-hidden{
  display: none !important;
}

.svc-ico{
  width: 28px;
  height: 28px;
  color: var(--ggc-neon);
}

.svc-title,
.svc-copy{
  margin: 0;
  color: var(--ggc-neon);
}

.svc-copy{
  font-size: .88rem;
  line-height: 1.3;
}

/* Reduce the gap between hero cards and the following section */
.hero + section{
  padding-top: .6rem;
}

/* =========================================
   6. FOOTER
   ========================================= */
.footer{
  background: var(--bg);
  color: var(--ggc-neon);
}

.footer a{
  color: var(--ggc-gold);
}

.footer__top{
  padding: 1.6rem 0;
  border-top: 2px solid rgba(57,255,20,.35);
  border-bottom: 1px solid var(--line);
}

.footer__cols{
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.4rem;
}

.footer h4{
  margin: 0 0 .6rem;
  color: var(--ggc-gold);
}

.footer .u-underline{
  text-decoration: underline;
}

.footer__bottom{
  padding: 1rem 0;
  font-size: .9rem;
  color: #b7ffb1;
}

.footer__brandline{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .6rem;
}

.footer__logo--small{
  width: 28px;
  height: auto;
  filter: drop-shadow(0 0 0 transparent);
}

/* Support nav in footer stays neon, hover gold */
.footer nav a{
  color: var(--ggc-neon) !important;
  font-weight: 400;
  transition: color .2s ease;
}

.footer nav a:hover,
.footer nav a:focus{
  color: var(--ggc-gold) !important;
}

/* =========================================
   7. GLOBAL SIDEBAR / SHOP ARCHIVE LAYOUT
   ========================================= */
.ggc-sidebar-nav{
  border: 1px solid var(--line, #2a2a2a);
  border-radius: var(--radius, 14px);
  background: var(--surface, #0d0d0d);
  padding: 12px;
  margin-bottom: 16px;
}

.ggc-sidebar-menu,
.ggc-sidebar-menu ul{
  list-style: none;
  margin: 0;
  padding: 0;
}

.ggc-sidebar-menu > li{
  border-bottom: 1px dashed rgba(255,255,255,.08);
}

.ggc-sidebar-menu > li:last-child{
  border-bottom: 0;
}

.ggc-sidebar-menu a{
  display: block;
  padding: 10px;
  font-weight: 700;
  text-decoration: none;
  color: var(--ggc-neon, #39ff14);
}

.ggc-sidebar-menu a:hover{
  color: var(--ggc-gold, #d4af37);
}

.ggc-sidebar-menu li ul a{
  padding-left: 18px;
}

/* Desktop archive layout + sticky sidebar */
@media (min-width: 1024px){
  .ggc-archive-two-col{
    display: grid;
    grid-template-columns: 232px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
  }

  aside.ggc-archive-left{
    position: sticky !important;
    top: calc(var(--ggc-sticky-top) + var(--wp-admin--admin-bar--height, 0px)) !important;
    align-self: start !important;
    height: fit-content;
    z-index: 5;
  }

  .ggc-archive-right{
    min-width: 0;
  }

  .ggc-archive-two-col,
  .ggc-shop-menu-strip,
  .ggc-sidebar-nav{
    overflow: visible !important;
    transform: none !important;
    filter: none !important;
    perspective: none !important;
  }

  /* Keep Woo's controls tidy inside the right column */
  .ggc-archive-right .woocommerce-result-count{
    float: left !important;
    margin: 0 0 12px !important;
  }

  .ggc-archive-right .woocommerce-ordering{
    float: right !important;
    margin: 0 0 12px !important;
  }

  .ggc-archive-right ul.products,
  .ggc-archive-right nav.woocommerce-pagination{
    clear: both;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .ggc-archive-right ul.products{
    margin-top: 0 !important;
  }

  /* Sidebar accordion layout */
  .ggc-sidebar-menu li.menu-item-has-children{
    display: grid !important;
    grid-template-columns: 1fr 32px !important;
    grid-template-rows: auto auto !important;
    align-items: center !important;
    position: relative;
  }

  .ggc-sidebar-menu li.menu-item-has-children > a{
    grid-column: 1 !important;
    grid-row: 1 !important;
    padding-right: 0 !important;
  }

  .ggc-sidebar-menu li.menu-item-has-children > ul.sub-menu{
    display: none;
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    margin: .25rem 0 .25rem .75rem !important;
    padding: 0;
    list-style: none;
  }

  .ggc-sidebar-menu li.menu-item-has-children.is-open > ul.sub-menu{
    display: block;
  }

  /* Hide theme-provided arrows/toggles in the sidebar */
  .ggc-sidebar-menu li.menu-item-has-children > a::after,
  .ggc-sidebar-menu li.menu-item-has-children > a::before,
  .ggc-sidebar-menu li.menu-item-has-children .dropdown-menu-toggle,
  .ggc-sidebar-menu li.menu-item-has-children .menu-item-arrow,
  .ggc-sidebar-menu li.menu-item-has-children .submenu-toggle{
    display: none !important;
    content: none !important;
  }

  .ggc-sidebar-menu .ggc-side-caret{
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    align-self: center !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    cursor: pointer;
  }

  .ggc-sidebar-menu .ggc-side-caret::after{
    content: "" !important;
    width: 8px !important;
    height: 8px !important;
    border-right: 2px solid var(--ggc-neon, #39ff14) !important;
    border-bottom: 2px solid var(--ggc-neon, #39ff14) !important;
    transform: rotate(45deg) !important;
    transition: transform .15s ease;
    display: block !important;
  }

  .ggc-sidebar-menu li.is-open > .ggc-side-caret::after{
    transform: rotate(225deg) !important;
  }
}

/* Hide category sidebar on mobile/tablet so the layout stays simple */
@media (max-width: 1023px){
  aside.ggc-archive-left{
    display: none !important;
  }
}

/* Prevent horizontal scroll on Woo archives */
body.woocommerce.archive{
  overflow-x: hidden;
}

/* =========================================
   8. SEARCH AUTOCOMPLETE
   ========================================= */
.ggc-search{
  position: relative;
}

.ggc-sr-panel{
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 10px);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: 0 18px 42px rgba(0,0,0,.55);
  z-index: 9999;
  padding: 6px;
  max-height: min(60vh, 380px);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.ggc-sr-item{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 12px;
  border-radius: 12px;
  text-decoration: none;
  text-align: left;
}

.ggc-sr-item + .ggc-sr-item{
  margin-top: 6px;
}

.ggc-sr-item:hover,
.ggc-sr-item:focus-visible,
.ggc-sr-item.is-active{
  background: rgba(57,255,20,.09);
  outline: none;
}

.ggc-sr-thumb{
  width: 44px;
  height: 44px;
  border-radius: 12px;
  object-fit: cover;
  background: #0b0b0b;
  border: 1px solid rgba(255,255,255,.08);
  flex: 0 0 auto;
}

.ggc-sr-meta{
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
  flex: 1;
}

.ggc-sr-name{
  font-weight: 900;
  color: var(--ggc-neon);
  line-height: 1.15;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ggc-sr-price{
  font-size: .92rem;
  font-weight: 900;
  color: var(--ggc-gold);
}

.ggc-sr-all{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px;
  border-radius: 12px;
  border: 1px dashed rgba(57,255,20,.25);
  color: var(--ggc-neon);
  font-weight: 900;
}

.ggc-sr-all:hover,
.ggc-sr-all.is-active{
  background: rgba(57,255,20,.08);
}

.ggc-sr-status{
  padding: 12px;
  border-radius: 12px;
  color: #b7ffb1;
  font-weight: 800;
  opacity: .9;
}

/* =========================================
   9. SHOP / ARCHIVE / HOMEPAGE PRODUCT GRID
   ========================================= */
@media (max-width: 640px){
  .woocommerce-products-header__title,
  .woocommerce .page-title{
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }
}

.woocommerce .woocommerce-result-count{
  margin-right: 12px;
  margin-bottom: 14px !important;
}

.woocommerce .woocommerce-ordering{
  margin-left: auto;
  margin-bottom: 14px !important;
}

.woocommerce ul.products{
  margin-top: 10px !important;
}

@media (max-width: 640px){
  .woocommerce .woocommerce-result-count{
    margin-left: 14px;
  }

  .woocommerce .woocommerce-ordering{
    margin-right: 14px;
  }
}

/* Homepage Featured + New Arrivals grid */
.homepage-products__grid.woocommerce ul.products{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
}

.homepage-products__grid.woocommerce ul.products li.product{
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  clear: none !important;
}

.homepage-products__grid.woocommerce ul.products::before,
.homepage-products__grid.woocommerce ul.products::after{
  content: none !important;
  display: none !important;
}

/* =========================================
   10. FAQ / MODAL / DELIVERY CONTENT
   ========================================= */
.faq{
  padding: 3rem 0;
}

.faq__title{
  text-align: center;
  margin-bottom: 2rem;
}

.faq__item{
  border-bottom: 1px solid rgba(255,255,255,0.15);
  padding: 1rem 0;
}

.faq__item summary{
  cursor: pointer;
  font-weight: 600;
  list-style: none;
  position: relative;
  padding-right: 2rem;
}

.faq__item summary::-webkit-details-marker{
  display: none;
}

.faq__item summary::after{
  content: "+";
  position: absolute;
  right: 0;
  top: 0;
  font-size: 1.5rem;
  transition: transform .2s ease;
}

.faq__item[open] summary::after{
  content: "–";
}

.faq__content{
  padding-top: .75rem;
  opacity: .9;
  line-height: 1.6;
}

.faq__heading{
  margin: 2.5rem 0 1rem;
  font-size: 1.25rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  opacity: .85;
}

#faq{
  scroll-margin-top: 90px;
}

.modal{
  position: fixed;
  inset: 0;
  display: none;
  z-index: 999;
}

.modal[aria-hidden="false"]{
  display: block;
}

.modal__overlay{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.75);
}

.modal__panel{
  position: relative;
  background: var(--surface);
  color: var(--ggc-neon);
  max-width: 720px;
  margin: 5vh auto;
  padding: 1.4rem;
  border-radius: var(--radius);
  border: 1px solid var(--ggc-neon);
  max-height: 90vh;
  overflow: auto;
}

.modal__close{
  position: absolute;
  top: .6rem;
  right: .6rem;
  background: transparent;
  color: var(--ggc-neon);
  border: 1px solid var(--line);
  border-radius: 8px;
  font-size: 1rem;
  padding: .25rem .55rem;
  cursor: pointer;
}

.modal__section img{
  width: 100%;
  height: auto;
  border-radius: 12px;
  border: 1px solid var(--line);
}

.hours-list{
  padding-left: 1rem;
}

.highlight{
  background: rgba(57,255,20,.08);
  border: 1px dashed rgba(57,255,20,.4);
  padding: .8rem;
  border-radius: 10px;
}

.delivery-map{
  display: block;
  width: 100%;
  height: auto;
  max-height: 60vh;
  object-fit: contain;
}

/* =========================================
   11. INFINITE SCROLL / PAGINATION HELPERS
   ========================================= */
html.ggc-infscroll-on .woocommerce-pagination{
  display: none;
}

ul.products .ggc-page-block{
  display: contents;
}

.ggc-infscroll-sentinel{
  width: 100%;
  height: 1px;
}

.ggc-infscroll-loader{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 0;
  font-weight: 600;
  opacity: .7;
}

.ggc-infscroll-end{
  text-align: center;
  padding: 22px 0;
  opacity: .85;
}

.ggc-infscroll-end span{
  display: block;
  margin-bottom: 10px;
  font-weight: 600;
}

.ggc-back-to-top{
  background: none;
  border: 0;
  color: inherit;
  font-weight: 700;
  cursor: pointer;
  text-decoration: underline;
}

.ggc-spinner{
  width: 14px;
  height: 14px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: ggc-spin .8s linear infinite;
}

.ggc-loader-text{
  line-height: 1;
}


/* =========================================
   12. SINGLE PRODUCT
   ========================================= */

/* Hide extra description metadata in cart/checkout blocks */
.wc-block-cart .wc-block-components-product-metadata__description,
.wc-block-checkout .wc-block-components-product-metadata__description{
  display: none !important;
}

.single-product .product_meta{
  display: none !important;
}

/* Keep single-product summaries in a predictable order so price/stock/cart
   stay near the top regardless of product type. Specific simple/tiered
   layouts below override the generic cart row as needed. */
@media (min-width: 768px){
  .single-product div.product .summary,
  .single-product div.product .entry-summary{
    display: flex;
    flex-direction: column;
  }

  .single-product div.product .product_title{
    order: 1;
    margin-bottom: 12px;
  }

  .single-product div.product p.price,
  .single-product div.product span.price,
  .single-product div.product .price{
    order: 2;
    margin-bottom: 8px;
  }

  .single-product div.product .stock,
  .single-product div.product p.stock{
    order: 3;
    margin-top: 0;
    margin-bottom: 10px;
  }

  .single-product div.product form.cart,
  .single-product div.product .cart{
    order: 4;
    margin-top: 0;
    margin-bottom: 18px;
  }

  .single-product div.product .woocommerce-product-details__short-description{
    order: 10;
  }

  .single-product div.product form.variations_form table.variations,
  .single-product div.product form.variations_form .variations{
    margin-bottom: 12px;
  }

  .single-product div.product form.cart{
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
  }

  .single-product div.product form.cart .quantity{
    margin: 0 !important;
    flex: 0 0 auto;
  }

  .single-product div.product form.cart .quantity .qty{
    width: 58px;
    min-width: 58px;
    height: 44px;
    border-radius: 4px;
    border: 1px solid #b8b8b8;
    background: #ffffff;
    color: #000000;
    text-align: center;
  }
}

@media (max-width: 767px){
  .single-product div.product .summary,
  .single-product div.product .entry-summary{
    display: flex;
    flex-direction: column;
  }

  .single-product div.product p.price,
  .single-product div.product span.price,
  .single-product div.product .price{
    order: 8;
    margin-bottom: 8px;
  }

  .single-product div.product .stock,
  .single-product div.product p.stock{
    order: 9;
    margin-top: 0;
    margin-bottom: 10px;
  }

  .single-product div.product form.cart,
  .single-product div.product .cart{
    order: 10;
    margin-top: 0;
    margin-bottom: 14px;
  }

  .single-product div.product .woocommerce-product-details__short-description,
  .single-product div.product .product_title,
  .single-product div.product .woocommerce-product-rating,
  .single-product div.product .variations_form .single_variation_wrap{
    order: 20;
  }

  .single-product div.product form.cart{
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
  }

  .single-product div.product form.cart .quantity{
    margin: 0 !important;
    flex: 0 0 auto;
  }

  .single-product div.product form.cart .quantity .qty{
    width: 52px;
    min-width: 52px;
    height: 44px;
    background: #fff;
    color: #000;
    border: 1px solid #cfcfcf;
    border-radius: 4px;
    text-align: center;
  }

  .single-product div.product form.variations_form table.variations,
  .single-product div.product form.variations_form .variations{
    margin-bottom: 10px;
  }
}

/* Canonical add-to-cart button styling for product pages.
   This keeps the product-page CTA aligned with the neon product-card CTA. */
.single-product div.product form.cart .single_add_to_cart_button,
.single-product div.product form.cart button.single_add_to_cart_button,
.single-product .woocommerce button.single_add_to_cart_button{
  background: #39ff14 !important;
  color: #000 !important;
  border: 0 !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  font-weight: 800 !important;
  min-height: 44px !important;
  padding: 0 22px !important;
  line-height: 44px !important;
  text-transform: none !important;
}

.single-product div.product form.cart .single_add_to_cart_button:hover,
.single-product div.product form.cart button.single_add_to_cart_button:hover,
.single-product .woocommerce button.single_add_to_cart_button:hover{
  background: #39ff14 !important;
  color: #000 !important;
  filter: brightness(0.97);
  box-shadow: none !important;
  transform: none !important;
}

.single-product div.product form.cart .single_add_to_cart_button:focus,
.single-product div.product form.cart button.single_add_to_cart_button:focus,
.single-product .woocommerce button.single_add_to_cart_button:focus{
  outline: none;
  box-shadow: 0 0 0 2px rgba(57,255,20,.28) !important;
}

.single-product div.product form.cart .single_add_to_cart_button:disabled,
.single-product div.product form.cart button.single_add_to_cart_button:disabled,
.single-product .woocommerce button.single_add_to_cart_button:disabled{
  opacity: .6;
  cursor: not-allowed;
  transform: none;
}

/* Common variation / attribute pills */
.single-product form.variations_form .variable-items-wrapper .variable-item,
.single-product form.variations_form .variable-items-wrapper .variable-item.button-variable-item,
.single-product .woocommerce div.product form.cart .variations .value button,
.single-product .woocommerce div.product form.cart .variations .value a,
.single-product .woocommerce div.product form.cart .variations .value .button{
  background: transparent !important;
  color: #39ff14 !important;
  border: 2px solid #39ff14 !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  font-weight: 800 !important;
}

.single-product form.variations_form .variable-items-wrapper .variable-item:hover,
.single-product form.variations_form .variable-items-wrapper .variable-item.button-variable-item:hover,
.single-product .woocommerce div.product form.cart .variations .value button:hover,
.single-product .woocommerce div.product form.cart .variations .value a:hover,
.single-product .woocommerce div.product form.cart .variations .value .button:hover{
  background: #39ff14 !important;
  color: #000000 !important;
  border-color: #39ff14 !important;
}

.single-product form.variations_form .variable-items-wrapper .variable-item.selected,
.single-product form.variations_form .variable-items-wrapper .variable-item.button-variable-item.selected,
.single-product form.variations_form .variable-items-wrapper .variable-item[aria-checked="true"],
.single-product .woocommerce div.product form.cart .variations .value .selected{
  background: #39ff14 !important;
  color: #000000 !important;
  border-color: #39ff14 !important;
  box-shadow: none !important;
}

.single-product form.variations_form .variable-items-wrapper .variable-item *{
  color: inherit !important;
}

/* ---- Simple products using the custom qty bar ----
   PHP injects .ggc-simple-cta-row / .ggc-simple-qtybar only for simple,
   non-Bee-tiered products. All hidden-native-qty rules stay scoped to that
   injected markup so variation/tiered/native qty fields are left untouched. */
.single-product div.product form.cart:has(.ggc-simple-qtybar){
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}

.single-product div.product form.cart .ggc-simple-cta-row{
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

.single-product div.product form.cart .ggc-simple-qtybar{
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.single-product div.product form.cart:has(.ggc-simple-qtybar) .quantity{
  margin: 0 !important;
}

.single-product div.product form.cart:has(.ggc-simple-qtybar) .quantity input.qty{
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.single-product div.product form.cart .ggc-qty-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  min-width: 42px;
  height: 42px;
  border: 2px solid #39ff14 !important;
  border-radius: 12px !important;
  background: transparent !important;
  color: #39ff14 !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  cursor: pointer;
  padding: 0 !important;
}

.single-product div.product form.cart .ggc-qty-btn:hover{
  background: #39ff14 !important;
  color: #000 !important;
  transform: none !important;
}

.single-product div.product form.cart .ggc-simple-qtybar .single_add_to_cart_button,
.single-product div.product form.cart .ggc-simple-qtybar button.single_add_to_cart_button{
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 42px !important;
  height: 42px !important;
  padding: 0 18px !important;
  line-height: 42px !important;
  margin: 0 !important;
  width: auto !important;
}

.single-product div.product form.cart .ggc-simple-qtybar.ggc-tiered-cleaned{
  display: inline-flex;
  align-items: center;
  gap: 0;
}

.single-product div.product form.cart .ggc-simple-qtybar.ggc-tiered-cleaned .single_add_to_cart_button{
  margin: 0 !important;
}

@media (min-width: 768px){
  .single-product div.product form.cart:has(.ggc-simple-qtybar) .ggc-simple-qtybar{
    justify-content: flex-start;
  }
}

@media (max-width: 767px){
  .single-product div.product form.cart:has(.ggc-simple-qtybar) .ggc-simple-qtybar{
    justify-content: flex-start;
    flex-wrap: nowrap;
  }

  .single-product div.product form.cart:has(.ggc-simple-qtybar) .ggc-qty-btn{
    width: 40px;
    min-width: 40px;
    height: 40px;
    font-size: 22px !important;
  }

  .single-product div.product form.cart:has(.ggc-simple-qtybar) .single_add_to_cart_button{
    min-height: 40px !important;
    height: 40px !important;
    line-height: 40px !important;
    padding: 0 16px !important;
    font-size: 15px !important;
  }
}

/* ---- Bee tiered pricing widget ----
   This is the current tiered-product UI and should remain the canonical
   layout/styling path. */
.single-product .summary .bp-tp-widget{
  margin: 0 !important;
  padding: 0 !important;
}

.single-product .summary .bp-tp-label{
  display: block;
  margin: 0 0 10px 0 !important;
  padding: 0 !important;
  color: #39ff14 !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  text-align: left;
}

.single-product .summary .bp-tp-buttons{
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center !important;
  justify-content: flex-start !important;
  margin: 0 !important;
  padding: 0 !important;
}

.single-product .summary .bp-tp-btn{
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 18px !important;
  border-radius: 14px !important;
  border: 1px solid #39ff14 !important;
  background: transparent !important;
  color: #39ff14 !important;
  font-weight: 800 !important;
  font-size: 15px !important;
  line-height: 1 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  margin: 0 !important;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.single-product .summary .bp-tp-btn *,
.single-product .summary .bp-tp-btn .bp-tp-sep{
  color: inherit !important;
}

.single-product .summary .bp-tp-btn:hover{
  background: rgba(57, 255, 20, 0.12) !important;
  color: #39ff14 !important;
  border-color: #39ff14 !important;
}

.single-product .summary .bp-tp-btn.is-active,
.single-product .summary .bp-tp-btn[aria-pressed="true"]{
  background: #39ff14 !important;
  color: #000 !important;
  border-color: #39ff14 !important;
  box-shadow: none !important;
}

@media (min-width: 768px){
  .single-product .summary .price,
  .single-product .summary .stock,
  .single-product .summary .bp-tp-widget,
  .single-product .summary .bp-tp-label,
  .single-product .summary .bp-tp-buttons{
    margin-left: 0 !important;
    padding-left: 0 !important;
  }

  .single-product .summary form.cart:has(.bp-tp-widget){
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start !important;
    justify-content: flex-start;
    gap: 12px 14px;
  }

  .single-product .summary form.cart:has(.bp-tp-widget) .bp-tp-widget{
    width: 100%;
    margin: 0 !important;
  }

  .single-product .summary form.cart:has(.bp-tp-widget) .single_add_to_cart_button{
    margin: 0 !important;
    align-self: center !important;
    position: relative;
    top: 0 !important;
  }
}

@media (max-width: 767px){
  .single-product .summary form.cart:has(.bp-tp-widget){
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .single-product .summary .bp-tp-widget{
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
  }

  .single-product .summary .bp-tp-label{
    margin: 0 0 8px 0 !important;
  }

  .single-product .summary .bp-tp-buttons{
    flex-wrap: nowrap !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    width: 100%;
    gap: 8px;
  }

  .single-product .summary .bp-tp-btn{
    flex: 0 0 auto;
    min-height: 42px;
    padding: 0 16px !important;
    font-size: 14px !important;
  }

  .single-product .summary form.cart:has(.bp-tp-widget) .single_add_to_cart_button{
    margin: 0 !important;
    align-self: flex-start !important;
    min-width: 140px;
  }
}

/* ---- Legacy tiered-pricing compatibility ----
   These selectors support any remaining older tier-pricing markup without
   duplicating the newer Bee widget rules above. */
.single-product div.product .summary .tiered-pricing-table,
.single-product div.product .summary .tpt__wrapper,
.single-product div.product .summary .tpt-quantity-wrap,
.single-product div.product .summary .tiered-pricing-wrapper{
  margin-left: 0 !important;
  padding-left: 0 !important;
}

.single-product div.product .summary .tiered-pricing-table h2,
.single-product div.product .summary .tiered-pricing-table h3,
.single-product div.product .summary .tiered-pricing-table .label,
.single-product div.product .summary .tpt__heading,
.single-product div.product .summary .tpt-quantity-label,
.single-product div.product .summary .quantity-label{
  margin-left: 0 !important;
  padding-left: 0 !important;
}

@media (min-width: 768px){
  .single-product div.product form.cart.tiered-pricing-fixed-quantity-form,
  .single-product div.product form.cart.variations_form{
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start !important;
    justify-content: flex-start;
    gap: 12px 14px;
  }

  .single-product div.product .summary .tiered-pricing-wrapper,
  .single-product div.product .summary .tpt__wrapper,
  .single-product div.product .summary .tpt-quantity-wrap,
  .single-product div.product .summary .quantity-options,
  .single-product div.product .summary .variable-items-wrapper{
    flex: 0 1 auto;
    margin: 0 !important;
    padding: 0 !important;
  }

  .single-product div.product .summary .tiered-pricing-wrapper ul,
  .single-product div.product .summary .tpt__wrapper ul,
  .single-product div.product .summary .variable-items-wrapper{
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: 0 !important;
    padding: 0 !important;
  }

  .single-product div.product .summary form.cart .single_add_to_cart_button{
    align-self: center;
    margin: 0 !important;
  }
}

@media (max-width: 767px){
  .single-product div.product form.cart.tiered-pricing-fixed-quantity-form,
  .single-product div.product form.cart.variations_form{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .single-product div.product .summary .tiered-pricing-table h2,
  .single-product div.product .summary .tiered-pricing-table h3,
  .single-product div.product .summary .label,
  .single-product div.product .summary .tpt__heading,
  .single-product div.product .summary .tpt-quantity-label,
  .single-product div.product .summary .quantity-label{
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
  }

  .single-product div.product .summary .tiered-pricing-wrapper ul,
  .single-product div.product .summary .tpt__wrapper ul,
  .single-product div.product .summary .variable-items-wrapper,
  .single-product div.product .summary .quantity-options{
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 10px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 0 !important;
    padding: 0 !important;
    width: 100%;
  }

  .single-product div.product .summary .tiered-pricing-wrapper li,
  .single-product div.product .summary .tpt__wrapper li,
  .single-product div.product .summary .variable-items-wrapper > *,
  .single-product div.product .summary .quantity-options > *{
    flex: 0 0 auto;
  }

  .single-product div.product .summary form.cart .single_add_to_cart_button{
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    width: auto !important;
    min-width: 150px;
  }
}

.single-product div.product{
  display: flow-root;
}


/* =========================================
   13. CHECKOUT / COUPON / NOTICES
   ========================================= */
/* Always show the coupon form and hide the extra toggle bar */
.woocommerce-form-coupon-toggle{
  display: none !important;
}

form.checkout_coupon{
  display: block !important;
}

/* Coupon form wrapper */
form.checkout_coupon.woocommerce-form-coupon{
  background: linear-gradient(180deg, #080808 0%, #000000 100%) !important;
  border: 1px solid rgba(212,175,55,.35) !important;
  border-radius: 16px !important;
  padding: 22px !important;
  box-shadow:
    0 12px 30px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.03) !important;
}

form.checkout_coupon.woocommerce-form-coupon p{
  color: #d8d8d8 !important;
}

/* Coupon field + Woo blocks text input */
form.checkout_coupon input[type="text"],
form.checkout_coupon input.input-text,
.wc-block-components-text-input input{
  background: #111111 !important;
  color: #39ff14 !important;
  -webkit-text-fill-color: #39ff14 !important;
  caret-color: #d4af37 !important;
  border: 1px solid rgba(57,255,20,.55) !important;
  border-radius: 12px !important;
  min-height: 48px !important;
  padding: 0 14px !important;
  box-shadow:
    inset 0 1px 2px rgba(0,0,0,.45),
    0 0 0 1px rgba(57,255,20,.04) !important;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

form.checkout_coupon input::placeholder,
.wc-block-components-text-input input::placeholder{
  color: rgba(212,175,55,.7) !important;
  opacity: 1 !important;
  transition: opacity .2s ease;
}

form.checkout_coupon input:focus,
form.checkout_coupon input.input-text:focus,
.wc-block-components-text-input input:focus{
  background: #0d0d0d !important;
  color: #39ff14 !important;
  -webkit-text-fill-color: #39ff14 !important;
  border-color: #d4af37 !important;
  box-shadow:
    0 0 0 2px rgba(212,175,55,.18),
    0 0 14px rgba(212,175,55,.08) !important;
  outline: none !important;
}

form.checkout_coupon input:focus::placeholder,
form.checkout_coupon input:not(:placeholder-shown)::placeholder{
  opacity: 0 !important;
}

/* Woo blocks floating label */
.wc-block-components-text-input label{
  color: rgba(212,175,55,.7) !important;
  transition: all .2s ease;
}

.wc-block-components-text-input.has-value label,
.wc-block-components-text-input input:focus + label{
  opacity: 0 !important;
  transform: translateY(-5px);
}

/* Autofill fix */
form.checkout_coupon.woocommerce-form-coupon input:-webkit-autofill,
form.checkout_coupon.woocommerce-form-coupon input:-webkit-autofill:hover,
form.checkout_coupon.woocommerce-form-coupon input:-webkit-autofill:focus{
  -webkit-text-fill-color: #39ff14 !important;
  box-shadow: 0 0 0 1000px #0d0d0d inset !important;
  transition: background-color 9999s ease-in-out 0s;
}

/* Coupon apply button + Woo blocks CTA buttons */
form.checkout_coupon.woocommerce-form-coupon button.button,
form.checkout_coupon.woocommerce-form-coupon .button,
.wc-block-components-button{
  background: linear-gradient(180deg, #39ff14 0%, #24d60a 100%) !important;
  color: #000000 !important;
  border: 1px solid #39ff14 !important;
  border-radius: 12px !important;
  min-height: 48px !important;
  padding: 0 18px !important;
  font-weight: 800 !important;
  letter-spacing: .2px;
  box-shadow:
    0 8px 18px rgba(57,255,20,.16),
    inset 0 1px 0 rgba(255,255,255,.2) !important;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}

form.checkout_coupon.woocommerce-form-coupon button.button:hover,
form.checkout_coupon.woocommerce-form-coupon .button:hover,
.wc-block-components-button:hover{
  background: linear-gradient(180deg, #e0bc4a 0%, #c89d24 100%) !important;
  border-color: #d4af37 !important;
  color: #000 !important;
  box-shadow:
    0 10px 22px rgba(212,175,55,.2),
    inset 0 1px 0 rgba(255,255,255,.18) !important;
  transform: translateY(-1px);
}

form.checkout_coupon.woocommerce-form-coupon button.button:active,
form.checkout_coupon.woocommerce-form-coupon .button:active,
.wc-block-components-button:active{
  transform: translateY(0);
}

/* Order review + payment panels */
.woocommerce-checkout #order_review,
.woocommerce-checkout #payment{
  background: linear-gradient(180deg, #0d0d0d 0%, #111111 100%);
  border: 1px solid rgba(57,255,20,.22);
  border-radius: 16px;
  box-shadow:
    0 0 0 1px rgba(57,255,20,.06),
    0 14px 34px rgba(0,0,0,.45);
  overflow: hidden;
}

.woocommerce-checkout #order_review .shop_table,
.woocommerce-checkout #payment .wc_payment_methods,
.woocommerce-checkout #payment .place-order{
  background: transparent;
  color: #39ff14;
}

.woocommerce-checkout #order_review table th,
.woocommerce-checkout #order_review table td,
.woocommerce-checkout #payment div.payment_box,
.woocommerce-checkout #payment ul.payment_methods li{
  border-color: rgba(212,175,55,.16) !important;
}

.woocommerce-checkout .order-total th,
.woocommerce-checkout .order-total td,
.woocommerce-checkout .order-total .amount{
  color: #d4af37 !important;
  font-weight: 800;
}

.woocommerce-checkout #payment label,
.woocommerce-checkout #payment p,
.woocommerce-checkout #payment small,
.woocommerce-checkout #payment .payment_method_cod label,
.woocommerce-checkout #payment .payment_method_bacs label{
  color: #39ff14;
}

/* Place order CTA */
.woocommerce-checkout #payment #place_order,
.woocommerce-checkout #payment .button.alt,
.wc-block-components-checkout-place-order-button{
  position: relative;
  width: 100%;
  border: 1px solid #39ff14 !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, #39ff14 0%, #2de20f 100%) !important;
  color: #000 !important;
  font-weight: 800 !important;
  font-size: 1rem !important;
  letter-spacing: .3px;
  padding: .95rem 1.2rem !important;
  box-shadow:
    0 0 0 1px rgba(57,255,20,.22),
    0 0 18px rgba(57,255,20,.18),
    0 10px 24px rgba(57,255,20,.12);
  transition: transform .18s ease, box-shadow .22s ease, filter .22s ease;
  animation: ggcPlaceOrderPulse 2.2s ease-in-out infinite;
}

.woocommerce-checkout #payment #place_order:hover,
.woocommerce-checkout #payment .button.alt:hover,
.wc-block-components-checkout-place-order-button:hover,
.woocommerce-checkout #payment #place_order:focus,
.woocommerce-checkout #payment .button.alt:focus,
.wc-block-components-checkout-place-order-button:focus{
  transform: translateY(-2px);
  filter: brightness(1.05);
  box-shadow:
    0 0 0 1px rgba(57,255,20,.45),
    0 0 34px rgba(57,255,20,.55),
    0 0 70px rgba(57,255,20,.35),
    0 20px 40px rgba(57,255,20,.20);
}

.woocommerce-checkout #payment #place_order::before,
.woocommerce-checkout #payment .button.alt::before,
.wc-block-components-checkout-place-order-button::before{
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: inherit;
  background: radial-gradient(circle, rgba(57,255,20,.25) 0%, rgba(57,255,20,.12) 40%, transparent 70%);
  opacity: .6;
  z-index: -1;
  filter: blur(8px);
}

.woocommerce-checkout #payment div.payment_box{
  background: linear-gradient(180deg, #0d0d0d 0%, #111111 100%) !important;
  color: #39ff14 !important;
  border: 1px solid rgba(57,255,20,.22) !important;
  border-radius: 12px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.02);
}

.woocommerce-checkout #payment div.payment_box::before{
  border-bottom-color: #0d0d0d !important;
  display: none !important;
  content: none !important;
}

/* Checkout / billing / shipping fields */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout textarea,
.woocommerce-checkout select{
  background: linear-gradient(180deg, #0f0f0f 0%, #111111 100%) !important;
  color: #39ff14 !important;
  border: 1px solid rgba(57,255,20,.35) !important;
  border-radius: 10px !important;
  box-shadow:
    inset 0 1px 2px rgba(0,0,0,.45),
    0 0 0 1px rgba(57,255,20,.04) !important;
  min-height: 46px;
  padding: 0 12px !important;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.woocommerce-checkout .form-row textarea,
.woocommerce-checkout textarea{
  min-height: 110px;
  padding: 12px !important;
  resize: vertical;
}

.woocommerce-checkout .form-row input.input-text::placeholder,
.woocommerce-checkout .form-row textarea::placeholder,
.woocommerce-checkout input::placeholder,
.woocommerce-checkout textarea::placeholder{
  color: rgba(212,175,55,.72) !important;
  opacity: 1 !important;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout input[type="text"]:focus,
.woocommerce-checkout input[type="tel"]:focus,
.woocommerce-checkout input[type="email"]:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus{
  background: #0b0b0b !important;
  color: #39ff14 !important;
  border-color: #d4af37 !important;
  box-shadow:
    0 0 0 2px rgba(212,175,55,.18),
    0 0 16px rgba(57,255,20,.08) !important;
  outline: none !important;
}

.woocommerce-checkout .form-row label,
.woocommerce-checkout label{
  color: #39ff14 !important;
  font-weight: 700;
}

.woocommerce-checkout .woocommerce-input-wrapper,
.woocommerce-checkout .optional,
.woocommerce-checkout .description{
  color: rgba(212,175,55,.82) !important;
}

.woocommerce-checkout select{
  appearance: none;
  -webkit-appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, #d4af37 50%),
    linear-gradient(135deg, #d4af37 50%, transparent 50%);
  background-position:
    calc(100% - 18px) calc(50% - 3px),
    calc(100% - 12px) calc(50% - 3px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  padding-right: 36px !important;
}

.woocommerce-checkout input:-webkit-autofill,
.woocommerce-checkout input:-webkit-autofill:hover,
.woocommerce-checkout input:-webkit-autofill:focus,
.woocommerce-checkout textarea:-webkit-autofill,
.woocommerce-checkout select:-webkit-autofill{
  -webkit-text-fill-color: #39ff14 !important;
  box-shadow: 0 0 0 1000px #111111 inset !important;
  transition: background-color 9999s ease-in-out 0s;
  border: 1px solid rgba(57,255,20,.35) !important;
}

.woocommerce-checkout #order_comments{
  background: linear-gradient(180deg, #0f0f0f 0%, #111111 100%) !important;
  color: #39ff14 !important;
  border: 1px solid rgba(57,255,20,.35) !important;
  border-radius: 10px !important;
}

/* Select2 fallback */
.woocommerce-checkout .select2-container--default .select2-selection--single{
  background: linear-gradient(180deg, #0f0f0f 0%, #111111 100%) !important;
  border: 1px solid rgba(57,255,20,.35) !important;
  border-radius: 10px !important;
  height: 46px !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{
  color: #39ff14 !important;
  line-height: 44px !important;
  padding-left: 12px !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{
  height: 44px !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow b{
  border-color: #d4af37 transparent transparent transparent !important;
}

.select2-dropdown{
  background: #111111 !important;
  border: 1px solid rgba(57,255,20,.35) !important;
  color: #39ff14 !important;
}

.select2-search--dropdown .select2-search__field{
  background: #0d0d0d !important;
  color: #39ff14 !important;
  border: 1px solid rgba(57,255,20,.3) !important;
}

.select2-results__option{
  color: #39ff14 !important;
  background: #111111 !important;
}

.select2-results__option--highlighted[aria-selected],
.select2-results__option--highlighted[data-selected]{
  background: rgba(57,255,20,.12) !important;
  color: #d4af37 !important;
}

/* Unified Woo notices
   This replaces the old duplicated global vs product-page notice stacks. */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner{
  background: #0b0b0b !important;
  border: 1px solid rgba(212,175,55,.35) !important;
  border-radius: 14px !important;
  padding: 14px 18px !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.3) !important;
  position: relative;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before,
.wc-block-components-notice-banner::before{
  display: none !important;
  content: none !important;
}

.woocommerce-message,
.wc-block-components-notice-banner.is-success{
  color: #39ff14 !important;
  border-left: 4px solid #39ff14 !important;
}

.woocommerce-info,
.wc-block-components-notice-banner.is-info{
  color: #d4af37 !important;
  border-left: 4px solid #d4af37 !important;
}

.woocommerce-error,
.wc-block-components-notice-banner.is-error{
  color: #ff6b6b !important;
  border-left: 4px solid #ff6b6b !important;
}

.woocommerce-message,
.woocommerce-error,
.woocommerce-info,
.woocommerce-message *:not(.button),
.woocommerce-error *:not(.button),
.woocommerce-info *:not(.button){
  color: inherit !important;
}

.woocommerce-message a:not(.button),
.woocommerce-error a:not(.button),
.woocommerce-info a:not(.button){
  color: #d4af37 !important;
  text-decoration: none;
  font-weight: 700;
}

.woocommerce-message a:not(.button):hover,
.woocommerce-error a:not(.button):hover,
.woocommerce-info a:not(.button):hover{
  color: #ffd978 !important;
}

.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button{
  background: #39ff14 !important;
  color: #000 !important;
  border: 0 !important;
  border-radius: 12px !important;
  font-weight: 800 !important;
  box-shadow: none !important;
  padding: 10px 16px !important;
  line-height: 1.2 !important;
  text-transform: none !important;
}

.woocommerce-message .button:hover,
.woocommerce-info .button:hover,
.woocommerce-error .button:hover{
  background: #39ff14 !important;
  color: #000 !important;
  filter: brightness(0.97);
  transform: none !important;
}

.woocommerce-notices-wrapper > * + *{
  margin-top: 10px !important;
}

.single-product .woocommerce-notices-wrapper{
  margin-bottom: 14px;
}

.single-product .woocommerce-notices-wrapper .woocommerce-message,
.single-product .woocommerce-notices-wrapper .woocommerce-error,
.single-product .woocommerce-notices-wrapper .woocommerce-info{
  margin-top: 0 !important;
}

/* Return to cart button */
.woocommerce-cart .wc-backward,
.woocommerce-checkout .wc-backward,
.woocommerce a.button.wc-backward{
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: var(--ggc-neon);
  color: #000 !important;
  border: 1px solid var(--ggc-neon);
  border-radius: 10px;
  padding: .8rem 1rem;
  font-weight: 700;
  text-decoration: none;
  box-shadow: none;
  transition: transform .15s ease, background .2s ease, border-color .2s ease;
}

.woocommerce-cart .wc-backward:hover,
.woocommerce-checkout .wc-backward:hover,
.woocommerce a.button.wc-backward:hover{
  background: var(--ggc-neon-600);
  color: #000 !important;
  border-color: var(--ggc-neon-600);
  transform: translateY(-1px);
}

.woocommerce-cart .wc-backward:focus,
.woocommerce-checkout .wc-backward:focus,
.woocommerce a.button.wc-backward:focus{
  outline: 2px solid var(--ggc-gold);
  outline-offset: 2px;
}


/* =========================================
   14. BREAKPOINTS / RESPONSIVE TUNING
   ========================================= */
@media (max-width: 900px){
  .hamburger__panel{
    max-height: calc(100vh - 140px);
    max-height: calc(100dvh - 140px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }

  .header__row{
    align-items: center;
    gap: .6rem;
  }

  .brand{
    order: 1;
  }

  .hamburger{
    order: 2;
    margin-left: 8px;
  }

  .tools{
    order: 3;
    margin-left: auto;
  }

  .header .search-wrap{
    order: 4;
    width: 100%;
    margin-top: var(--header-search-gap-top-mobile) !important;
    margin-bottom: var(--header-search-gap-bottom-mobile) !important;
  }

  .header .header__row{
    row-gap: var(--header-row-gap-mobile);
  }

  .header .srch{
    padding: var(--header-search-pad-y) var(--header-search-pad-x);
  }

  .tool{
    width: 38px;
    height: 38px;
  }

  .hamburger__links{
    padding-top: 8px;
  }
}

@media (max-width: 639px){
  .eyebrow,
  .cta--hero{
    margin-left: var(--edge-inset);
    margin-right: var(--edge-inset);
  }

  .ew-title,
  .ew-amp,
  .ew-line{
    display: block;
  }
}

@media (max-width: 559px){
  .hero .brand__logo{
    display: block;
    width: 132px;
    max-width: 42vw;
    margin: -.35rem auto .35rem;
  }
}

@media (max-width: 520px){
  .ggc-sr-panel{
    top: calc(100% + 8px);
    max-height: min(65vh, 460px);
    border-radius: 18px;
  }

  .ggc-sr-thumb{
    width: 38px;
    height: 38px;
    border-radius: 11px;
  }

  .ggc-sr-item{
    padding: 12px;
  }
}

@media (min-width: 560px){
  .brand__logo{
    width: 92px;
  }

  .hero .brand__logo{
    width: 260px;
    margin: -2rem auto .8rem;
  }

  .hero h1{
    font-size: clamp(2rem, 4.5vw, 2.4rem);
  }

  .grid--4{
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 640px){
  .service-grid{
    grid-template-columns: repeat(auto-fit, minmax(260px, 340px));
  }
}

@media (min-width: 900px){
  .nav{
    display: flex;
  }

  .hamburger{
    display: none;
  }

  .nav .nav-submenu-toggle{
    display: none !important;
  }

  .nav > .menu-item-has-children > a::after,
  .nav > ul > .menu-item-has-children > a::after,
  .nav .menu > .menu-item-has-children > a::after{
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-left: 6px;
    border-right: 2px solid var(--ggc-neon);
    border-bottom: 2px solid var(--ggc-neon);
    transform: rotate(45deg);
    transition: transform .18s ease;
  }

  .nav > .menu-item-has-children:hover > a::after,
  .nav > .menu-item-has-children:focus-within > a::after,
  .nav > ul > .menu-item-has-children:hover > a::after,
  .nav > ul > .menu-item-has-children:focus-within > a::after,
  .nav .menu > .menu-item-has-children:hover > a::after,
  .nav .menu > .menu-item-has-children:focus-within > a::after{
    transform: rotate(-135deg);
  }

  .nav .sub-menu .menu-item-has-children > a::after{
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-left: 6px;
    border-right: 2px solid var(--ggc-neon);
    border-bottom: 2px solid var(--ggc-neon);
    transform: rotate(-45deg);
    transition: transform .18s ease;
  }

  .nav .sub-menu .menu-item-has-children:hover > a::after,
  .nav .sub-menu .menu-item-has-children:focus-within > a::after{
    transform: rotate(45deg);
  }

  .nav .menu-item:hover > .sub-menu,
  .nav .menu-item:focus-within > .sub-menu{
    left: 0;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .nav .sub-menu li:hover > .sub-menu,
  .nav .sub-menu li:focus-within > .sub-menu{
    left: 100%;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .homepage-products__grid.woocommerce ul.products{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 1000px){
  .container{
    padding: 0 var(--container-pad-x);
  }

  .hero .brand__logo{
    width: 500px;
    margin: -5rem auto 1rem;
  }

  .hero__wrap{
    gap: 2rem;
    padding: 3.2rem 0;
  }

  .grid--4{
    grid-template-columns: repeat(4, 1fr);
  }

  .footer__cols{
    grid-template-columns: 2fr 1fr;
    gap: 2rem;
  }
}

/* Mobile-specific checkout polish */
@media (max-width: 768px){
  .woocommerce-checkout #order_review,
  .woocommerce-checkout #payment{
    border-radius: 14px;
  }

  .woocommerce-checkout #payment #place_order,
  .woocommerce-checkout #payment .button.alt,
  .wc-block-components-checkout-place-order-button{
    font-size: .98rem !important;
    padding: .9rem 1rem !important;
  }
}

/* Modal spacing on small screens */
@media (max-width: 640px){
  .modal__panel{
    margin: 3vh 12px;
  }
}

/* =========================================
   15. BEE'S PLUGINS - PRODUCT FILTERS
   ========================================= */

/* Layout polish */
.bees-plugins-product-filters-layout{
  margin-block-end: 1.5rem;
}

.bees-plugins-product-filters-results{
  min-width: 0;
}

/* Panel shell */
.bees-plugins-product-filters-panel{
  background: linear-gradient(180deg, #0d0d0d 0%, #080808 100%) !important;
  color: var(--ggc-neon);
  border: 1px solid rgba(212,175,55,.22) !important;
  border-radius: var(--radius);
  box-shadow:
    0 10px 24px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.02);
  overflow: hidden;
}

.bees-plugins-product-filters-panel__inner{
  gap: 1rem;
  padding: 1rem;
}

.bees-plugins-product-filters-panel__header{
  padding-bottom: .15rem;
  border-bottom: 1px solid rgba(212,175,55,.14);
}

.bees-plugins-product-filters-panel__title{
  margin: 0;
  color: var(--ggc-gold);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: .02em;
}

.bees-plugins-product-filters-panel__close{
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: var(--ggc-neon);
  border: 1px solid rgba(57,255,20,.24);
  border-radius: 10px;
  transition: border-color .18s ease, color .18s ease, background .18s ease;
}

.bees-plugins-product-filters-panel__close:hover,
.bees-plugins-product-filters-panel__close:focus-visible{
  color: var(--ggc-gold);
  border-color: rgba(212,175,55,.45);
  background: rgba(212,175,55,.08);
  outline: none;
}

/* Mobile actions */
.bees-plugins-product-filters-mobile-actions{
  gap: .75rem;
  margin-block-end: 1rem;
}

/* Buttons / links */
.bees-plugins-product-filters-toggle,
.bees-plugins-product-filters-apply,
.bees-plugins-product-filters-clear-link{
  min-height: 44px;
  border-radius: 10px;
  font-weight: 800;
  transition:
    transform .15s ease,
    background .2s ease,
    border-color .2s ease,
    color .2s ease,
    box-shadow .2s ease;
}

.bees-plugins-product-filters-toggle{
  background: transparent;
  color: var(--ggc-neon);
  border-color: rgba(57,255,20,.45);
}

.bees-plugins-product-filters-toggle:hover,
.bees-plugins-product-filters-toggle:focus-visible{
  background: rgba(57,255,20,.10);
  color: var(--ggc-gold);
  border-color: rgba(212,175,55,.45);
  outline: none;
}

.bees-plugins-product-filters-apply{
  background: var(--ggc-neon);
  color: #000;
  border-color: var(--ggc-neon);
  box-shadow:
    0 8px 18px rgba(57,255,20,.14),
    inset 0 1px 0 rgba(255,255,255,.18);
}

.bees-plugins-product-filters-apply:hover,
.bees-plugins-product-filters-apply:focus-visible{
  background: var(--ggc-gold);
  color: #000;
  border-color: var(--ggc-gold);
  transform: translateY(-1px);
  outline: none;
}

.bees-plugins-product-filters-clear-link{
  background: transparent;
  color: var(--ggc-gold);
  border-color: rgba(212,175,55,.42);
}

.bees-plugins-product-filters-clear-link:hover,
.bees-plugins-product-filters-clear-link:focus-visible{
  background: rgba(212,175,55,.10);
  color: #ffd978;
  border-color: rgba(212,175,55,.62);
  outline: none;
}

/* Sections */
.bees-plugins-product-filters-section{
  border-top: 1px solid rgba(212,175,55,.14) !important;
  padding-top: .95rem;
}

.bees-plugins-product-filters-section__summary{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding-right: 1.2rem;
  color: var(--ggc-gold);
  font-weight: 800;
  font-size: .96rem;
  letter-spacing: .01em;
}

.bees-plugins-product-filters-section__summary::after{
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 8px;
  height: 8px;
  border-right: 2px solid var(--ggc-neon);
  border-bottom: 2px solid var(--ggc-neon);
  transform: translateY(-65%) rotate(45deg);
  transition: transform .18s ease;
}

.bees-plugins-product-filters-section[open] .bees-plugins-product-filters-section__summary::after{
  transform: translateY(-35%) rotate(225deg);
}

/* Option rows */
.bees-plugins-product-filters-options{
  gap: .7rem;
}

.bees-plugins-product-filters-option{
  color: var(--ggc-neon);
  padding: .1rem 0;
}

.bees-plugins-product-filters-option__label{
  font-size: .95rem;
  line-height: 1.25;
}

.bees-plugins-product-filters-option__count{
  color: #b7ffb1;
  opacity: .92;
  font-weight: 700;
  font-size: .88rem;
}

/* Native checkbox/radio styling */
.bees-plugins-product-filters-option input[type="checkbox"],
.bees-plugins-product-filters-option input[type="radio"]{
  width: 18px;
  height: 18px;
  accent-color: var(--ggc-neon);
  cursor: pointer;
}

/* Numeric fields */
.bees-plugins-product-filters-range{
  gap: .85rem;
}

.bees-plugins-product-filters-range__label{
  color: var(--ggc-gold);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .01em;
}

.bees-plugins-product-filters-range__field input{
  background: #111111 !important;
  color: var(--ggc-neon) !important;
  border: 1px solid rgba(57,255,20,.35) !important;
  border-radius: 10px !important;
  min-height: 44px;
  padding: 0 12px !important;
  box-shadow:
    inset 0 1px 2px rgba(0,0,0,.45),
    0 0 0 1px rgba(57,255,20,.04) !important;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.bees-plugins-product-filters-range__field input:focus{
  background: #0d0d0d !important;
  color: var(--ggc-neon) !important;
  border-color: var(--ggc-gold) !important;
  box-shadow:
    0 0 0 2px rgba(212,175,55,.18),
    0 0 14px rgba(212,175,55,.08) !important;
  outline: none !important;
}

.bees-plugins-product-filters-range__unit{
  color: rgba(212,175,55,.86);
  opacity: 1;
  font-weight: 700;
}

/* Active chips */
.bees-plugins-product-filters-chips{
  gap: .55rem;
  margin-block-end: 1rem;
}

.bees-plugins-product-filters-chips__label{
  color: var(--ggc-gold);
  font-weight: 800;
}

.bees-plugins-product-filters-chip{
  background: rgba(57,255,20,.08);
  border: 1px solid rgba(57,255,20,.26);
  border-radius: 999px;
  color: var(--ggc-neon);
  padding: .55rem .8rem;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.02);
  transition:
    background .18s ease,
    border-color .18s ease,
    color .18s ease,
    transform .15s ease;
}

.bees-plugins-product-filters-chip:hover,
.bees-plugins-product-filters-chip:focus-visible{
  background: rgba(212,175,55,.12);
  border-color: rgba(212,175,55,.5);
  color: var(--ggc-gold);
  transform: translateY(-1px);
  outline: none;
}

.bees-plugins-product-filters-chip__remove{
  font-weight: 800;
}

/* Empty state */
.bees-plugins-product-filters-empty{
  margin: 0;
  color: rgba(212,175,55,.84);
  font-size: .92rem;
}

/* Price slider */
.bees-plugins-product-filters-price-slider{
  display: grid;
  gap: .75rem;
}

.bees-plugins-product-filters-price-slider__controls{
  position: relative;
  height: 22px;
}

.bees-plugins-product-filters-price-slider__track{
  position: absolute;
  top: 8px;
  left: 0;
  right: 0;
  height: 6px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  overflow: hidden;
}

.bees-plugins-product-filters-price-slider__range{
  position: absolute;
  top: 0;
  bottom: 0;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--ggc-neon) 0%, var(--ggc-gold) 100%);
}

.bees-plugins-product-filters-price-slider__input{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 22px;
  margin: 0;
  background: transparent;
  pointer-events: none;
  appearance: none;
  -webkit-appearance: none;
}

.bees-plugins-product-filters-price-slider__input::-webkit-slider-runnable-track{
  height: 6px;
  background: transparent;
}

.bees-plugins-product-filters-price-slider__input::-moz-range-track{
  height: 6px;
  background: transparent;
}

.bees-plugins-product-filters-price-slider__input::-webkit-slider-thumb{
  appearance: none;
  -webkit-appearance: none;
  pointer-events: auto;
  width: 18px;
  height: 18px;
  margin-top: -6px;
  border: 2px solid #000;
  border-radius: 50%;
  background: var(--ggc-neon);
  box-shadow:
    0 0 0 1px rgba(57,255,20,.3),
    0 0 12px rgba(57,255,20,.24);
  cursor: pointer;
}

.bees-plugins-product-filters-price-slider__input::-moz-range-thumb{
  pointer-events: auto;
  width: 18px;
  height: 18px;
  border: 2px solid #000;
  border-radius: 50%;
  background: var(--ggc-neon);
  box-shadow:
    0 0 0 1px rgba(57,255,20,.3),
    0 0 12px rgba(57,255,20,.24);
  cursor: pointer;
}

.bees-plugins-product-filters-price-slider__bounds{
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  color: var(--ggc-gold);
  font-size: .82rem;
  font-weight: 700;
}

/* Overlay */
.bees-plugins-product-filters-overlay{
  background: rgba(0,0,0,.72) !important;
}

/* Mobile shell */
@media (max-width: 991px){
  .bees-plugins-product-filters-mobile-actions{
    justify-content: space-between;
  }

  .bees-plugins-product-filters-toggle{
    flex: 1 1 auto;
  }

  .bees-plugins-product-filters-panel{
    max-width: min(88vw, 24rem);
    border-radius: 0 18px 18px 0;
  }
}

/* Desktop shell */
@media (min-width: 992px){
  .bees-plugins-product-filters-panel{
    top: var(--bees-plugins-product-filters-sticky-top);
  }

  .bees-plugins-product-filters-form__actions{
    padding-top: .25rem;
  }
}


/* =========================================
   16. GGC MOBILE CATEGORY DRAWER
   ========================================= */
.ggc-mobile-sidebar-toggle{
  display: none;
}

body.ggc-mobile-sidebar-open{
  overflow: hidden;
}

@media (max-width: 1023px){
  .ggc-archive-two-col{
    display: block;
  }

  .ggc-mobile-sidebar-toggle{
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin: 0 0 14px 0;
    min-height: 44px;
  }

  .ggc-mobile-sidebar{
    position: fixed;
    inset: 0;
    z-index: 9998;
    display: block;
    pointer-events: none;
  }

  .ggc-mobile-sidebar[hidden]{
    display: none !important;
  }

  .ggc-mobile-sidebar.is-open{
    pointer-events: auto;
  }

  .ggc-mobile-sidebar__overlay{
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.72);
    opacity: 0;
    transition: opacity .22s ease;
  }

  .ggc-mobile-sidebar__panel{
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(86vw, 320px);
    background: linear-gradient(180deg, #0d0d0d 0%, #080808 100%);
    border-right: 1px solid rgba(212,175,55,.22);
    box-shadow: 0 18px 42px rgba(0,0,0,.55);
    transform: translateX(-100%);
    transition: transform .24s ease;
    display: flex;
    flex-direction: column;
    outline: none;
  }

  .ggc-mobile-sidebar.is-open .ggc-mobile-sidebar__overlay{
    opacity: 1;
  }

  .ggc-mobile-sidebar.is-open .ggc-mobile-sidebar__panel{
    transform: translateX(0);
  }

  .ggc-mobile-sidebar__header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    border-bottom: 1px solid rgba(212,175,55,.14);
  }

  .ggc-mobile-sidebar__title{
    margin: 0;
    font-size: 1rem;
    line-height: 1.2;
    color: var(--ggc-gold);
    font-weight: 800;
  }

  .ggc-mobile-sidebar__close{
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: var(--ggc-neon);
    border: 1px solid rgba(57,255,20,.24);
    border-radius: 10px;
    font-size: 1.3rem;
    line-height: 1;
    cursor: pointer;
    transition: border-color .18s ease, color .18s ease, background .18s ease;
  }

  .ggc-mobile-sidebar__close:hover,
  .ggc-mobile-sidebar__close:focus-visible{
    color: var(--ggc-gold);
    border-color: rgba(212,175,55,.45);
    background: rgba(212,175,55,.08);
    outline: none;
  }

  .ggc-mobile-sidebar__body{
    flex: 1 1 auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 14px 16px 18px;
  }

  .ggc-mobile-sidebar__body .ggc-sidebar-nav{
    margin: 0;
  }

  /* Mobile accordion styling inside the drawer */
  .ggc-mobile-sidebar .ggc-sidebar-menu li.menu-item-has-children{
    display: grid;
    grid-template-columns: 1fr 32px;
    grid-template-rows: auto auto;
    align-items: center;
    position: relative;
  }

  .ggc-mobile-sidebar .ggc-sidebar-menu li.menu-item-has-children > a{
    grid-column: 1;
    grid-row: 1;
    padding-right: 0;
  }

  .ggc-mobile-sidebar .ggc-sidebar-menu li.menu-item-has-children > ul.sub-menu{
    display: none;
    grid-column: 1 / -1;
    grid-row: 2;
    margin: .25rem 0 .25rem .75rem;
    padding: 0;
    list-style: none;
  }

  .ggc-mobile-sidebar .ggc-sidebar-menu li.menu-item-has-children.is-open > ul.sub-menu{
    display: block;
  }

  .ggc-mobile-sidebar .ggc-sidebar-menu li.menu-item-has-children > a::after,
  .ggc-mobile-sidebar .ggc-sidebar-menu li.menu-item-has-children > a::before,
  .ggc-mobile-sidebar .ggc-sidebar-menu li.menu-item-has-children .dropdown-menu-toggle,
  .ggc-mobile-sidebar .ggc-sidebar-menu li.menu-item-has-children .menu-item-arrow,
  .ggc-mobile-sidebar .ggc-sidebar-menu li.menu-item-has-children .submenu-toggle,
  .ggc-mobile-sidebar .ggc-sidebar-menu li.menu-item-has-children .nav-submenu-toggle{
    display: none !important;
    content: none !important;
  }

  .ggc-mobile-sidebar .ggc-sidebar-menu .ggc-side-caret{
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    align-self: center;
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    border: 0;
    padding: 0;
    width: 28px;
    height: 28px;
    box-shadow: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    cursor: pointer;
  }

  .ggc-mobile-sidebar .ggc-sidebar-menu .ggc-side-caret::after{
    content: "";
    width: 8px;
    height: 8px;
    border-right: 2px solid var(--ggc-neon, #39ff14);
    border-bottom: 2px solid var(--ggc-neon, #39ff14);
    transform: rotate(45deg);
    transition: transform .15s ease;
    display: block;
  }

  .ggc-mobile-sidebar .ggc-sidebar-menu li.is-open > .ggc-side-caret::after{
    transform: rotate(225deg);
  }
}

/* =========================================
   17. MOTION / ACCESSIBILITY
   ========================================= */
@keyframes ggc-spin{
  to{
    transform: rotate(360deg);
  }
}

@keyframes eyebrowGlow{
  from{
    box-shadow:
      0 0 0 1px rgba(57,255,20,.12) inset,
      0 0 12px rgba(57,255,20,.25),
      0 0 26px rgba(57,255,20,.18),
      0 0 45px rgba(57,255,20,.12);
  }
  to{
    box-shadow:
      0 0 0 1px rgba(57,255,20,.25) inset,
      0 0 22px rgba(57,255,20,.55),
      0 0 48px rgba(57,255,20,.35),
      0 0 80px rgba(57,255,20,.25);
  }
}

@keyframes ctaPulse{
  0%,
  100%{
    box-shadow:
      0 0 0 1px rgba(212,175,55,.20),
      0 0 10px rgba(57,255,20,.18);
  }
  50%{
    box-shadow:
      0 0 0 1px rgba(212,175,55,.28),
      0 0 16px rgba(57,255,20,.28),
      0 0 28px rgba(57,255,20,.12);
  }
}

@keyframes ctaShimmer{
  0%,
  75%,
  100%{
    left: -140%;
  }
  85%{
    left: 140%;
  }
}

@keyframes ggcPlaceOrderPulse{
  0%,
  100%{
    box-shadow:
      0 0 0 1px rgba(57,255,20,.18),
      0 0 16px rgba(57,255,20,.14),
      0 10px 24px rgba(57,255,20,.10);
  }
  50%{
    box-shadow:
      0 0 0 1px rgba(57,255,20,.28),
      0 0 26px rgba(57,255,20,.26),
      0 12px 28px rgba(57,255,20,.16);
  }
}

@media (prefers-reduced-motion: reduce){
  .eyebrow,
  .btn--primary-cta,
  .woocommerce-checkout #payment #place_order,
  .woocommerce-checkout #payment .button.alt,
  .wc-block-components-checkout-place-order-button{
    animation: none;
  }

  .bees-plugins-product-filters-toggle,
  .bees-plugins-product-filters-apply,
  .bees-plugins-product-filters-clear-link,
  .bees-plugins-product-filters-chip,
  .bees-plugins-product-filters-panel__close,
  .bees-plugins-product-filters-section__summary::after{
    transition: none !important;
  }
}

/* =========================================
   18. MY ACCOUNT / LOGIN / REGISTER
   ========================================= */

/* ---------- Keep default Woo layout intact ---------- */
.woocommerce-account .u-columns::after{
  content: "";
  display: table;
  clear: both;
}

/* ---------- Column cards ---------- */
.woocommerce-account .u-column1,
.woocommerce-account .u-column2{
  background: #050505;
  border: 1px solid rgba(212,175,55,.45);
  border-radius: 12px;
  padding: 20px;
  box-sizing: border-box;
  box-shadow: 0 0 18px rgba(57,255,20,.04);
}

/* ---------- Headings ---------- */
.woocommerce-account .u-column1 h2,
.woocommerce-account .u-column2 h2{
  color: var(--ggc-gold);
  margin-bottom: 18px;
}

/* ---------- Remove Woo inner white card ---------- */
.woocommerce-account .woocommerce form.login,
.woocommerce-account .woocommerce form.register{
  background: transparent;
  border: 0;
  margin: 0;
  padding: 0;
  box-shadow: none;
}

/* ---------- Labels / helper text / links ---------- */
.woocommerce-account form label,
.woocommerce-account .woocommerce-form__label,
.woocommerce-account .lost_password a,
.woocommerce-account .woocommerce-privacy-policy-text,
.woocommerce-account .woocommerce-form-login p,
.woocommerce-account .woocommerce-form-register p{
  color: var(--ggc-neon);
}

/* ---------- Shared field shell ---------- */
.woocommerce-account .woocommerce form.login input[type="text"],
.woocommerce-account .woocommerce form.login input[type="email"],
.woocommerce-account .woocommerce form.login input[type="password"],
.woocommerce-account .woocommerce form.register input[type="text"],
.woocommerce-account .woocommerce form.register input[type="email"],
.woocommerce-account .woocommerce form.register input[type="password"],
.woocommerce-account .woocommerce form.register input[type="tel"],
.woocommerce-account .woocommerce form.register input[type="date"],
.woocommerce-account .woocommerce form.register input[type="number"],
.woocommerce-account .woocommerce form.register textarea,
.woocommerce-account .woocommerce form.register select,
.woocommerce-account .woocommerce-EditAccountForm input[type="text"],
.woocommerce-account .woocommerce-EditAccountForm input[type="email"],
.woocommerce-account .woocommerce-EditAccountForm input[type="password"],
.woocommerce-account .woocommerce-EditAccountForm input[type="tel"],
.woocommerce-account .woocommerce-EditAccountForm input[type="date"],
.woocommerce-account .woocommerce-EditAccountForm textarea,
.woocommerce-account .woocommerce-address-fields input[type="text"],
.woocommerce-account .woocommerce-address-fields input[type="email"],
.woocommerce-account .woocommerce-address-fields input[type="tel"],
.woocommerce-account .woocommerce-address-fields textarea,
.woocommerce-account .woocommerce-address-fields select{
  width: 100%;
  min-height: 46px;
  padding: 12px 14px;
  background: #101010 !important;
  color: #f5f5f5 !important;
  border: 1px solid rgba(57,255,20,.65) !important;
  border-radius: 8px;
  box-sizing: border-box;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
  -webkit-appearance: none;
  appearance: none;
}

.woocommerce-account .woocommerce form input::placeholder,
.woocommerce-account .woocommerce form textarea::placeholder,
.woocommerce-account .woocommerce-EditAccountForm input::placeholder,
.woocommerce-account .woocommerce-EditAccountForm textarea::placeholder,
.woocommerce-account .woocommerce-address-fields input::placeholder,
.woocommerce-account .woocommerce-address-fields textarea::placeholder{
  color: rgba(255,255,255,.45) !important;
}

.woocommerce-account .woocommerce form input:focus,
.woocommerce-account .woocommerce form textarea:focus,
.woocommerce-account .woocommerce form select:focus,
.woocommerce-account .woocommerce-EditAccountForm input:focus,
.woocommerce-account .woocommerce-EditAccountForm textarea:focus,
.woocommerce-account .woocommerce-EditAccountForm select:focus,
.woocommerce-account .woocommerce-address-fields input:focus,
.woocommerce-account .woocommerce-address-fields textarea:focus,
.woocommerce-account .woocommerce-address-fields select:focus{
  outline: none;
  background: #151515 !important;
  border-color: var(--ggc-neon) !important;
  box-shadow: 0 0 0 1px var(--ggc-neon), 0 0 12px rgba(57,255,20,.16);
}

/* ---------- Native password eye: account edit only ---------- */
.woocommerce-account .password-input{
  width: 100%;
}

.woocommerce-account .woocommerce-EditAccountForm .password-input input[type="password"],
.woocommerce-account .woocommerce-EditAccountForm .password-input input[type="text"]{
  padding-right: 42px !important;
}

.woocommerce-account .woocommerce-EditAccountForm .show-password-input{
  color: var(--ggc-gold) !important;
  opacity: 1 !important;
}

.woocommerce-account .woocommerce-EditAccountForm .show-password-input::after{
  color: var(--ggc-gold) !important;
  opacity: 1 !important;
}

.woocommerce-account .woocommerce-EditAccountForm .show-password-input:hover,
.woocommerce-account .woocommerce-EditAccountForm .show-password-input:hover::after{
  color: var(--ggc-neon) !important;
}

/* ---------- Checkbox ---------- */
.woocommerce-account input[type="checkbox"]{
  accent-color: var(--ggc-neon);
}

/* ---------- Shared buttons (exclude Register CTA) ---------- */
.woocommerce-account .woocommerce button.button:not([name="register"]),
.woocommerce-account .woocommerce input.button:not([name="register"]),
.woocommerce-account .woocommerce a.button:not([name="register"]),
.woocommerce-account .woocommerce .button:not([name="register"]){
  background: linear-gradient(180deg, var(--ggc-gold) 0%, #b89328 100%);
  color: #050505;
  border: 1px solid var(--ggc-gold);
  border-radius: 8px;
  padding: 11px 18px;
  font-weight: 700;
  box-shadow: none;
}

.woocommerce-account .woocommerce button.button:not([name="register"]):hover,
.woocommerce-account .woocommerce input.button:not([name="register"]):hover,
.woocommerce-account .woocommerce a.button:not([name="register"]):hover,
.woocommerce-account .woocommerce .button:not([name="register"]):hover{
  filter: brightness(1.04);
}

/* ---------- Notices ---------- */
.woocommerce-account .woocommerce-error,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-message{
  background: #111111;
  color: #f5f5f5;
  border-top: 3px solid var(--ggc-neon);
  border-radius: 8px;
}

/* ---------- reCAPTCHA wrapper ---------- */
.woocommerce-account .g-recaptcha,
.woocommerce-account div[id*="g-recaptcha"],
.woocommerce-account div[class*="recaptcha"]{
  display: inline-block;
  padding: 8px;
  background: #0d0d0d;
  border: 1px solid rgba(57,255,20,.45);
  border-radius: 10px;
  box-shadow: 0 0 12px rgba(57,255,20,.05);
}

.woocommerce-account .g-recaptcha iframe{
  border-radius: 6px;
  overflow: hidden;
}

/* ---------- Spacing ---------- */
.woocommerce-account .woocommerce form .form-row{
  margin-bottom: 14px;
}

/* =========================================
   Login + register password UI
   ========================================= */

/* Typed text */
.woocommerce-account .woocommerce form.login input[type="text"],
.woocommerce-account .woocommerce form.login input[type="email"],
.woocommerce-account .woocommerce form.login input[type="password"],
.woocommerce-account .woocommerce form.register input[type="text"],
.woocommerce-account .woocommerce form.register input[type="email"],
.woocommerce-account .woocommerce form.register input[type="password"],
.woocommerce-account .woocommerce form.register input[type="tel"],
.woocommerce-account .woocommerce form.register input[type="date"],
.woocommerce-account .woocommerce form.register input[type="number"],
.woocommerce-account .woocommerce form.register textarea,
.woocommerce-account .woocommerce form.register select{
  color: #e0c54f !important;
  -webkit-text-fill-color: #e0c54f !important;
  caret-color: var(--ggc-neon);
}

.woocommerce-account .woocommerce form.login input::placeholder,
.woocommerce-account .woocommerce form.register input::placeholder,
.woocommerce-account .woocommerce form.register textarea::placeholder{
  color: rgba(224,197,79,.55) !important;
  -webkit-text-fill-color: rgba(224,197,79,.55) !important;
}

.woocommerce-account .woocommerce form.login input:-webkit-autofill,
.woocommerce-account .woocommerce form.login input:-webkit-autofill:hover,
.woocommerce-account .woocommerce form.login input:-webkit-autofill:focus,
.woocommerce-account .woocommerce form.register input:-webkit-autofill,
.woocommerce-account .woocommerce form.register input:-webkit-autofill:hover,
.woocommerce-account .woocommerce form.register input:-webkit-autofill:focus{
  -webkit-text-fill-color: #e0c54f !important;
  box-shadow: 0 0 0 1000px #101010 inset !important;
  transition: background-color 99999s ease-in-out 0s;
}

/* Hide Woo native eye on login + register; custom GG eye handles it */
.woocommerce-account .woocommerce form.login .password-input .show-password-input,
.woocommerce-account .woocommerce form.register .password-input .show-password-input{
  display: none !important;
}

/* Login + register password rows */
.woocommerce-account .woocommerce form.login .ggc-password-row,
.woocommerce-account .woocommerce form.register .ggc-password-row{
  position: relative;
}

.woocommerce-account .woocommerce form.login .ggc-password-row input[type="password"],
.woocommerce-account .woocommerce form.login .ggc-password-row input[type="text"],
.woocommerce-account .woocommerce form.register .ggc-password-row input[type="password"],
.woocommerce-account .woocommerce form.register .ggc-password-row input[type="text"]{
  padding-right: 96px !important;
}

/* Custom GG eye */
.woocommerce-account .woocommerce form.login .ggc-password-toggle,
.woocommerce-account .woocommerce form.register .ggc-password-toggle{
  position: absolute;
  right: 56px;
  width: 28px;
  height: 28px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  transform: translateY(-50%);
  cursor: pointer;
  z-index: 7;
}

.woocommerce-account .woocommerce form.login .ggc-password-toggle::before,
.woocommerce-account .woocommerce form.register .ggc-password-toggle::before{
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  margin: 4px auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px 20px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e0c54f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7S1 12 1 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
}

.woocommerce-account .woocommerce form.login .ggc-password-toggle.is-visible::before,
.woocommerce-account .woocommerce form.login .ggc-password-toggle:hover::before,
.woocommerce-account .woocommerce form.login .ggc-password-toggle:focus::before,
.woocommerce-account .woocommerce form.register .ggc-password-toggle.is-visible::before,
.woocommerce-account .woocommerce form.register .ggc-password-toggle:hover::before,
.woocommerce-account .woocommerce form.register .ggc-password-toggle:focus::before{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2339ff14' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.94 17.94A10.94 10.94 0 0 1 12 19c-7 0-11-7-11-7a21.77 21.77 0 0 1 5.06-5.94'/%3E%3Cpath d='M9.9 4.24A10.94 10.94 0 0 1 12 4c7 0 11 7 11 7a21.77 21.77 0 0 1-2.17 3.19'/%3E%3Cpath d='M1 1l22 22'/%3E%3Cpath d='M9.53 9.53A3 3 0 0 0 14.47 14.47'/%3E%3C/svg%3E");
}

/* Password strength */
.woocommerce-account .woocommerce form.register .woocommerce-password-strength{
  margin-top: 10px;
  padding: 11px 14px;
  border-radius: 10px;
  font-weight: 700;
  line-height: 1.35;
  border: 1px solid transparent;
}

.woocommerce-account .woocommerce form.register .woocommerce-password-strength.short,
.woocommerce-account .woocommerce form.register .woocommerce-password-strength.bad{
  background: #2a0b0b !important;
  color: #ff4d4f !important;
  border-color: #ff4d4f !important;
}

.woocommerce-account .woocommerce form.register .woocommerce-password-strength.good{
  background: #201907 !important;
  color: #e0c54f !important;
  border-color: #e0c54f !important;
}

.woocommerce-account .woocommerce form.register .woocommerce-password-strength.strong{
  background: #0f260f !important;
  color: var(--ggc-neon) !important;
  border-color: var(--ggc-neon) !important;
  box-shadow: 0 0 14px rgba(57,255,20,.18) inset;
}

/* Password hint */
.woocommerce-account .woocommerce form.register .woocommerce-password-hint{
  margin-top: 10px;
  padding: 11px 14px;
  background: #111111 !important;
  color: #e0c54f !important;
  border: 1px solid rgba(224,197,79,.35) !important;
  border-radius: 10px;
  line-height: 1.45;
}

/* Live password-match note */
.woocommerce-account .woocommerce form.register .ggc-password-match-note{
  display: none;
  margin-top: 10px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
}

.woocommerce-account .woocommerce form.register .ggc-password-match-note.is-match{
  display: block;
  color: var(--ggc-neon);
}

.woocommerce-account .woocommerce form.register .ggc-password-match-note.is-mismatch{
  display: block;
  color: #ff4d4f;
}

.woocommerce-account .woocommerce form.register .ggc-password-match-note.is-pending{
  display: block;
  color: #e0c54f;
}

/* Register CTA */
.woocommerce-account .woocommerce form.register button[name="register"],
.woocommerce-account .woocommerce form.register input[name="register"],
.woocommerce-account .woocommerce form.register .woocommerce-button[name="register"]{
  background: var(--ggc-neon) !important;
  color: #050505 !important;
  border: 1px solid var(--ggc-neon) !important;
  border-radius: 10px;
  font-weight: 800;
  padding: 12px 22px;
  box-shadow: 0 0 14px rgba(57,255,20,.35), 0 0 28px rgba(57,255,20,.18);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}

.woocommerce-account .woocommerce form.register button[name="register"]:hover,
.woocommerce-account .woocommerce form.register input[name="register"]:hover,
.woocommerce-account .woocommerce form.register .woocommerce-button[name="register"]:hover{
  filter: brightness(1.05);
  transform: translateY(-1px);
  box-shadow: 0 0 18px rgba(57,255,20,.45), 0 0 36px rgba(57,255,20,.22);
}

.woocommerce-account .woocommerce form.register button[name="register"][disabled],
.woocommerce-account .woocommerce form.register input[name="register"][disabled],
.woocommerce-account .woocommerce form.register .woocommerce-button[name="register"][disabled]{
  background: rgba(57,255,20,.45) !important;
  color: #050505 !important;
  border-color: rgba(57,255,20,.45) !important;
  box-shadow: none !important;
  opacity: .75;
  cursor: not-allowed;
  pointer-events: none;
}

/* =========================================
GGC CHECKOUT – BACK TO CART BUTTON
========================================= */

.ggc-checkout-back-wrap {
margin: 0 0 18px 0;
}

.ggc-checkout-back-btn {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 10px 16px;
border-radius: 12px;
border: 1px solid rgba(57,255,20,.35);
background: linear-gradient(180deg, #0d0d0d 0%, #111111 100%);
color: #39ff14 !important;
font-weight: 800;
text-decoration: none !important;
box-shadow:
0 0 0 1px rgba(57,255,20,.05),
0 8px 20px rgba(0,0,0,.28);
transition:
transform .18s ease,
border-color .18s ease,
box-shadow .18s ease,
color .18s ease,
background .18s ease;
}

.ggc-checkout-back-btn:hover,
.ggc-checkout-back-btn:focus {
color: #d4af37 !important;
border-color: rgba(212,175,55,.45);
background: linear-gradient(180deg, #111111 0%, #151515 100%);
box-shadow:
0 0 0 1px rgba(212,175,55,.08),
0 0 14px rgba(57,255,20,.08),
0 10px 24px rgba(0,0,0,.34);
transform: translateY(-1px);
text-decoration: none !important;
}

.ggc-checkout-back-btn:focus-visible {
outline: none;
box-shadow:
0 0 0 2px #000,
0 0 0 4px rgba(212,175,55,.22),
0 10px 24px rgba(0,0,0,.34);
}

@media (max-width: 768px) {
.ggc-checkout-back-btn {
width: 100%;
justify-content: center;
}
}

/* =========================================
GGC CHECKOUT – PAYMENT HEADING SPACING FIX
========================================= */

.bee-dr-payment-method-heading {
margin-top: 14px !important;
margin-bottom: 12px !important;
padding-left: 14px !important;
}

/* =========================================
   GGC CART – CONTINUE SHOPPING (TOP)
   ========================================= */

.ggc-cart-top-actions {
  margin: 0 0 14px 0;
}

.ggc-cart-continue-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  border-radius: 10px;
  border: 1px solid rgba(57,255,20,.35);
  background: linear-gradient(180deg, #0d0d0d 0%, #111111 100%);
  color: #39ff14 !important;
  font-weight: 700;
  text-decoration: none !important;
  transition: all 0.18s ease;
}

.ggc-cart-continue-btn:hover {
  color: #d4af37 !important;
  border-color: rgba(212,175,55,.45);
  background: #111;
  transform: translateY(-1px);
}

@media (max-width: 768px) {
  .ggc-cart-continue-btn {
    width: 100%;
    justify-content: center;
  }
}