/* WellnessWorkz — Shop redesign (managed by Claude). Loaded only on shop / product-category archives.
   Palette 2026-08-09: brand maroon #69203a (from the header logo), lift #8a284b, hairline #f0d6df,
   wash #fbeff3, shadows rgba(105,32,58,a). Replaced the #046bd2 blue system. Backup: ww-shop-backup-2026-08-09.css */

.post-type-archive-product,
.tax-product_cat{
  --ww-accent:#69203a;
  --ww-accent-lift:#8a284b;
  --ww-ink:#1e293b;
  --ww-muted:#64748b;
  --ww-line:#e6edf5;
  --ww-radius:16px;
  --ww-card-shadow:0 1px 2px rgba(15,23,42,.05),0 22px 42px -30px rgba(15,23,42,.4);
}

/* Hide the plain default archive title — the hero leads instead. Breadcrumb stays. */
.post-type-archive-product .woocommerce-products-header__title,
.post-type-archive-product h1.page-title,
.post-type-archive-product .ast-archive-title{ display:none !important; }
.post-type-archive-product .woocommerce-products-header{ margin-bottom:0; padding-bottom:0; min-height:0; }

/* ---------- Hero (scoped to the PHP wrapper .ww-hero-wrap) ---------- */
.ww-hero-wrap{
  margin:6px 0 34px;
  background:linear-gradient(158deg,#ffffff 0%,#fbeff3 100%);
  border:1px solid var(--ww-line);
  border-radius:22px;
  box-shadow:0 1px 2px rgba(15,23,42,.04),0 34px 60px -44px rgba(105,32,58,.28);
  overflow:hidden;
}
.ww-hero-wrap .ww-eyebrow .elementor-heading-title{
  color:var(--ww-accent) !important;
  font-size:13px !important; font-weight:700 !important;
  letter-spacing:.2em !important; text-transform:uppercase !important;
  margin:0 0 14px !important;
}
.ww-hero-wrap .ww-hero-title .elementor-heading-title{
  color:var(--ww-ink) !important; font-weight:800 !important;
  letter-spacing:-.02em !important; line-height:1.08 !important;
  font-size:clamp(30px,5vw,48px) !important; margin:0 0 16px !important;
}
.ww-hero-wrap .ww-hero-sub{ max-width:600px; margin-left:auto !important; margin-right:auto !important; }
.ww-hero-wrap .ww-hero-sub *{
  color:var(--ww-muted) !important; margin-bottom:0 !important;
  font-size:clamp(15px,2.3vw,19px) !important; line-height:1.6 !important;
}
.ww-hero-wrap .ww-hero-btn{ margin-top:28px !important; }
.ww-hero-wrap .ww-hero-btn .elementor-button{
  background:linear-gradient(180deg,#8a284b,var(--ww-accent)) !important;
  color:#fff !important; border:none !important; border-radius:12px !important;
  font-weight:700 !important; padding:15px 32px !important; font-size:15px !important;
  box-shadow:0 16px 28px -14px rgba(105,32,58,.45) !important;
  transition:transform .15s ease, box-shadow .25s ease !important;
}
.ww-hero-wrap .ww-hero-btn .elementor-button:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 34px -14px rgba(105,32,58,.5) !important;
}
.ww-hero-wrap .e-con .e-con{ margin-top:26px !important; }
.ww-hero-wrap .ww-pill .elementor-button{
  background:#fff !important; color:var(--ww-accent) !important;
  border:1px solid #f0d6df !important; border-radius:999px !important;
  font-weight:600 !important; padding:10px 22px !important; font-size:14px !important;
  box-shadow:0 8px 18px -14px rgba(15,23,42,.55) !important;
  transition:transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease !important;
}
.ww-hero-wrap .ww-pill .elementor-button:hover{
  background:var(--ww-accent) !important; color:#fff !important;
  border-color:var(--ww-accent) !important; transform:translateY(-2px);
}
.ww-anchor{ display:block; height:0; scroll-margin-top:110px; }

/* Hero entrance animations (CSS-driven; wrappers animate, inner buttons keep hover transforms) */
@keyframes wwHeroUp{ from{opacity:0; transform:translateY(16px)} to{opacity:1; transform:none} }
.ww-hero-wrap .ww-eyebrow,
.ww-hero-wrap .ww-hero-title,
.ww-hero-wrap .ww-hero-sub,
.ww-hero-wrap .ww-hero-btn,
.ww-hero-wrap .ww-pill{ animation:wwHeroUp .6s cubic-bezier(.2,.8,.2,1) both; }
.ww-hero-wrap .ww-eyebrow{ animation-delay:.05s }
.ww-hero-wrap .ww-hero-title{ animation-delay:.15s }
.ww-hero-wrap .ww-hero-sub{ animation-delay:.28s }
.ww-hero-wrap .ww-hero-btn{ animation-delay:.4s }
.ww-hero-wrap .ww-pill:nth-child(1){ animation-delay:.5s }
.ww-hero-wrap .ww-pill:nth-child(2){ animation-delay:.58s }
.ww-hero-wrap .ww-pill:nth-child(3){ animation-delay:.66s }

/* ---------- Product cards ---------- */
.post-type-archive-product ul.products li.product,
.tax-product_cat ul.products li.product{
  background:#fff;
  border:1px solid var(--ww-line);
  border-radius:var(--ww-radius);
  padding:14px 14px 22px;
  box-shadow:var(--ww-card-shadow);
  text-align:center;
  transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease, border-color .35s ease;
  animation:wwCardIn .55s ease both;
}
.post-type-archive-product ul.products li.product:hover,
.tax-product_cat ul.products li.product:hover{
  transform:translateY(-8px);
  box-shadow:0 1px 2px rgba(15,23,42,.06),0 36px 60px -32px rgba(105,32,58,.28);
  border-color:#f0d6df;
}
.post-type-archive-product ul.products li.product a img,
.tax-product_cat ul.products li.product a img{
  display:block; width:100%; height:auto;
  aspect-ratio:1/1; object-fit:cover;
  border-radius:12px; margin:0 0 16px;
  transition:transform .6s cubic-bezier(.2,.8,.2,1);
}
.post-type-archive-product ul.products li.product:hover a img,
.tax-product_cat ul.products li.product:hover a img{ transform:scale(1.06); }
.post-type-archive-product ul.products li.product .ast-woo-product-category,
.tax-product_cat ul.products li.product .ast-woo-product-category{
  color:var(--ww-muted); font-size:.72rem; font-weight:600;
  text-transform:uppercase; letter-spacing:.08em; margin-bottom:4px;
}
.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
.tax-product_cat ul.products li.product .woocommerce-loop-product__title{
  color:var(--ww-ink); font-size:1.06rem; font-weight:700;
  letter-spacing:-.01em; line-height:1.3; padding:0 0 6px;
}
.post-type-archive-product ul.products li.product .price,
.tax-product_cat ul.products li.product .price{
  color:var(--ww-ink) !important; font-weight:800; font-size:1.05rem;
}
.post-type-archive-product ul.products li.product .price del{ color:var(--ww-muted) !important; font-weight:500; opacity:.7; }
.post-type-archive-product ul.products li.product .price ins{ color:var(--ww-accent) !important; text-decoration:none; }
.post-type-archive-product ul.products li.product a.button,
.tax-product_cat ul.products li.product a.button{
  display:inline-block; margin-top:14px;
  background:var(--ww-accent); color:#fff; border:none;
  border-radius:999px; padding:11px 24px; font-weight:600; font-size:.9rem;
  box-shadow:0 12px 22px -14px rgba(105,32,58,.45);
  transition:transform .2s ease, background .2s ease, opacity .3s ease;
}
.post-type-archive-product ul.products li.product a.button:hover,
.tax-product_cat ul.products li.product a.button:hover{
  background:var(--ww-accent-lift); transform:translateY(-2px);
}
.post-type-archive-product ul.products li.product a.added_to_cart{
  display:inline-block; margin-top:8px; font-weight:600; color:var(--ww-accent);
}
@media (hover:hover) and (pointer:fine){
  .post-type-archive-product ul.products li.product a.button{ opacity:0; transform:translateY(8px); }
  .post-type-archive-product ul.products li.product:hover a.button{ opacity:1; transform:translateY(0); }
}
.post-type-archive-product ul.products li.product span.onsale,
.tax-product_cat ul.products li.product span.onsale{
  background:var(--ww-accent) !important; color:#fff !important;
  border-radius:999px !important; min-height:0 !important; min-width:0 !important;
  padding:6px 14px !important; line-height:1 !important;
  font-size:.72rem !important; font-weight:700; letter-spacing:.04em;
  top:20px !important; left:20px !important; right:auto !important; margin:0 !important;
  box-shadow:0 10px 20px -10px rgba(105,32,58,.36);
}
.post-type-archive-product .woocommerce-result-count,
.tax-product_cat .woocommerce-result-count{ color:var(--ww-muted); }
.post-type-archive-product .woocommerce-ordering select,
.post-type-archive-product select.orderby,
.tax-product_cat select.orderby{
  border:1px solid var(--ww-line); border-radius:10px; padding:10px 14px;
  background:#fff; color:var(--ww-ink); font-weight:600;
}
@keyframes wwCardIn{ from{opacity:0} to{opacity:1} }
.post-type-archive-product ul.products li.product:nth-child(1){ animation-delay:.05s }
.post-type-archive-product ul.products li.product:nth-child(2){ animation-delay:.12s }
.post-type-archive-product ul.products li.product:nth-child(3){ animation-delay:.19s }
.post-type-archive-product ul.products li.product:nth-child(4){ animation-delay:.26s }
.post-type-archive-product ul.products li.product:nth-child(5){ animation-delay:.33s }
.post-type-archive-product ul.products li.product:nth-child(6){ animation-delay:.40s }
.post-type-archive-product ul.products li.product:nth-child(7){ animation-delay:.47s }
.post-type-archive-product ul.products li.product:nth-child(8){ animation-delay:.54s }

/* ---------- Trust band ---------- */
.ww-trust{
  display:flex; flex-wrap:wrap; justify-content:center; gap:16px 34px;
  margin:44px 0 8px; padding:28px 20px; border-top:1px solid var(--ww-line);
}
.ww-trust-item{ display:flex; align-items:center; gap:13px; }
.ww-trust-ic{
  width:46px; height:46px; flex:0 0 46px; border-radius:13px;
  display:grid; place-items:center; background:#fbeff3; color:var(--ww-accent);
}
.ww-trust-ic svg{ width:23px; height:23px; }
.ww-trust-tx b{ display:block; color:var(--ww-ink); font-weight:700; font-size:.98rem; line-height:1.2; }
.ww-trust-tx span{ color:var(--ww-muted); font-size:.85rem; }

@media (max-width:600px){
  .ww-hero-wrap{ border-radius:18px; }
  .ww-trust-item{ width:100%; justify-content:center; }
}
@media (prefers-reduced-motion:reduce){
  .post-type-archive-product ul.products li.product,
  .tax-product_cat ul.products li.product,
  .ww-hero-wrap .ww-eyebrow,
  .ww-hero-wrap .ww-hero-title,
  .ww-hero-wrap .ww-hero-sub,
  .ww-hero-wrap .ww-hero-btn,
  .ww-hero-wrap .ww-pill{ animation:none !important; opacity:1 !important; transform:none !important; }
  .post-type-archive-product ul.products li.product a.button{ opacity:1 !important; transform:none !important; }
}
