/* ============================================================
   GreenWorld Wellness - Homepage v1.2.0
   Hero carousel, category grid, featured scroller, health
   tri-section, scan booking band, product-grid alignment fix.
   Scoped classes; safe to load site-wide.
   ============================================================ */

:root{
  --gw-ink:#0B3F2E;
  --gw-ink-2:#093B28;
  --gw-gold:#C8A15A;
  --gw-radius:18px;
  --gw-shadow:0 18px 40px -24px rgba(11,63,46,.45);
}

/* ---------- Hero carousel ---------- */
.gw-herocar{position:relative;overflow:hidden;isolation:isolate;background:var(--gw-ink);}
.gw-herocar__track{position:relative;display:grid;}
.gw-herocar__slide{grid-area:1/1;position:relative;min-height:clamp(420px,56vh,640px);display:flex;align-items:center;background-size:cover;background-position:center;opacity:0;visibility:hidden;transform:scale(1.04);transition:opacity .7s ease,transform 6s ease,visibility .7s ease;}
.gw-herocar__slide.is-active{opacity:1;visibility:visible;transform:scale(1);z-index:2;}
.gw-herocar__inner{width:100%;}
.gw-herocar .gw-hero__copy{max-width:640px;color:#fff;padding:2.5rem 0;}
.gw-herocar .gw-hero__eyebrow{display:inline-block;letter-spacing:.14em;text-transform:uppercase;font-size:.74rem;font-weight:700;color:var(--gw-gold);margin-bottom:1rem;}
.gw-herocar .gw-hero__title{color:#fff;font-size:clamp(2rem,4.6vw,3.4rem);line-height:1.08;margin:0 0 1rem;font-weight:800;letter-spacing:-.01em;}
.gw-herocar .gw-hero__sub{color:rgba(255,255,255,.9);font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.55;margin:0 0 1.6rem;max-width:44ch;}
.gw-herocar .gw-hero__cta{display:flex;flex-wrap:wrap;gap:.75rem;}
.gw-herocar__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:46px;height:46px;border-radius:50%;border:0;cursor:pointer;background:rgba(255,255,255,.16);color:#fff;font-size:1.6rem;line-height:1;display:grid;place-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .2s ease;}
.gw-herocar__nav:hover{background:rgba(255,255,255,.32);}
.gw-herocar__nav--prev{left:clamp(.5rem,2vw,1.5rem);}
.gw-herocar__nav--next{right:clamp(.5rem,2vw,1.5rem);}
.gw-herocar__dots{position:absolute;left:0;right:0;bottom:1.1rem;z-index:5;display:flex;justify-content:center;gap:.5rem;}
.gw-herocar__dot{width:9px;height:9px;padding:0;border:0;border-radius:50%;cursor:pointer;background:rgba(255,255,255,.45);transition:all .25s ease;}
.gw-herocar__dot.is-active{background:var(--gw-gold);width:26px;border-radius:6px;}
@media (max-width:640px){
  .gw-herocar__nav{display:none;}
  .gw-herocar .gw-hero__copy{padding:1.75rem 0;}
}
@media (prefers-reduced-motion:reduce){
  .gw-herocar__slide{transition:opacity .01s;transform:none;}
}

/* ---------- Category grid (10, 2x5) ---------- */
.gw-cats__grid--5{display:grid;grid-template-columns:repeat(5,1fr);gap:1.1rem;}
.gw-cat-card{display:flex;flex-direction:column;border-radius:var(--gw-radius);overflow:hidden;background:#fff;box-shadow:var(--gw-shadow);text-decoration:none;color:var(--gw-ink);transition:transform .22s ease,box-shadow .22s ease;}
.gw-cat-card:hover{transform:translateY(-4px);box-shadow:0 24px 48px -22px rgba(11,63,46,.5);}
.gw-cat-card__media{position:relative;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(135deg,#e8f0ea,#d6e6db);}
.gw-cat-card__img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease;}
.gw-cat-card:hover .gw-cat-card__img{transform:scale(1.06);}
.gw-cat-card__body{padding:.85rem .95rem 1rem;display:flex;flex-direction:column;gap:.15rem;}
.gw-cat-card__name{font-weight:700;font-size:.98rem;line-height:1.25;}
.gw-cat-card__count{font-size:.8rem;color:#6b7d73;}
.gw-cat-card__media .gw-ph{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(135deg,var(--gw-ink),#1b6b4e);}
.gw-cat-card__media .gw-ph>span{font-size:2rem;font-weight:800;color:rgba(255,255,255,.9);}
@media (max-width:1024px){.gw-cats__grid--5{grid-template-columns:repeat(3,1fr);}}
@media (max-width:640px){.gw-cats__grid--5{grid-template-columns:repeat(2,1fr);gap:.75rem;}}

/* ---------- Featured single-row scroller ---------- */
.gw-scroller{position:relative;}
.gw-scroller .products,
.gw-featured ul.products{display:flex!important;grid-template-columns:none!important;flex-wrap:nowrap!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:1.1rem;margin:0!important;padding:.35rem .1rem 1rem!important;list-style:none;scrollbar-width:thin;-webkit-overflow-scrolling:touch;}
.gw-scroller .products::-webkit-scrollbar{height:8px;}
.gw-scroller .products::-webkit-scrollbar-thumb{background:rgba(11,63,46,.25);border-radius:4px;}
.gw-scroller .products li.product,
.gw-featured ul.products li.product{flex:0 0 clamp(200px,22vw,248px)!important;width:auto!important;margin:0!important;float:none!important;scroll-snap-align:start;}
.gw-scroller__nav{position:absolute;top:38%;transform:translateY(-50%);z-index:4;width:44px;height:44px;border-radius:50%;border:1px solid rgba(11,63,46,.12);cursor:pointer;background:#fff;color:var(--gw-ink);font-size:1.5rem;line-height:1;display:grid;place-items:center;box-shadow:var(--gw-shadow);transition:transform .2s ease;}
.gw-scroller__nav:hover{transform:translateY(-50%) scale(1.06);}
.gw-scroller__nav--prev{left:-10px;}
.gw-scroller__nav--next{right:-10px;}
@media (max-width:640px){.gw-scroller__nav{display:none;}}

/* ---------- Health tri-section (Men/Women/General) ---------- */
.gw-focus__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;}
.gw-focus__card{position:relative;display:flex;align-items:flex-end;min-height:300px;border-radius:var(--gw-radius);overflow:hidden;background-size:cover;background-position:center;text-decoration:none;box-shadow:var(--gw-shadow);transition:transform .25s ease;}
.gw-focus__card:hover{transform:translateY(-4px);}
.gw-focus__body{padding:1.4rem;color:#fff;display:flex;flex-direction:column;gap:.35rem;}
.gw-focus__name{font-size:1.35rem;font-weight:800;}
.gw-focus__text{font-size:.95rem;color:rgba(255,255,255,.88);max-width:26ch;}
.gw-focus__link{margin-top:.4rem;font-weight:700;color:var(--gw-gold);}
@media (max-width:820px){.gw-focus__grid{grid-template-columns:1fr;}}

/* ---------- Full body scan booking band ---------- */
.gw-scanband{background:linear-gradient(120deg,var(--gw-ink),#12563c);color:#fff;}
.gw-scanband__inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;}
.gw-scanband__copy{max-width:640px;}
.gw-scanband__copy .gw-eyebrow{color:var(--gw-gold);}
.gw-scanband__copy h2{color:#fff;font-size:clamp(1.5rem,3vw,2.1rem);margin:.35rem 0 .6rem;}
.gw-scanband__copy p{color:rgba(255,255,255,.9);margin:0 0 1.2rem;line-height:1.55;}
.gw-scanband__price{text-align:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:var(--gw-radius);padding:1.3rem 1.8rem;min-width:180px;}
.gw-scanband__from{display:block;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.72);}
.gw-scanband__amount{display:block;font-size:2.3rem;font-weight:800;color:var(--gw-gold);line-height:1.1;}
.gw-scanband__per{display:block;font-size:.85rem;color:rgba(255,255,255,.72);}
@media (max-width:640px){.gw-scanband__inner{flex-direction:column;align-items:flex-start;}.gw-scanband__price{align-self:stretch;}}

/* ---------- Product grid alignment fix (shop / archives) ---------- */
.woocommerce ul.products,
ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin:0 0 1.75rem;padding:0;list-style:none;}
.woocommerce ul.products li.product,
ul.products li.product{width:auto!important;margin:0!important;float:none!important;clear:none!important;}
.woocommerce ul.products li.product::before,
ul.products li.product::before{display:none!important;content:none!important;}
.gw-wc--shop ul.products,
.woocommerce.columns-3 ul.products{grid-template-columns:repeat(3,1fr);}
@media (max-width:1024px){.woocommerce ul.products,ul.products{grid-template-columns:repeat(3,1fr);}}
@media (max-width:640px){.woocommerce ul.products,ul.products{grid-template-columns:repeat(2,1fr);gap:.85rem;}}

/* Scroller must override the product-grid rule above */
.gw-scroller .products,
.gw-featured ul.products{grid-template-columns:none!important;}
