/* =====================================================================
   Seguidores Brasil — Loja / Categorias de produto
   Layout moderno, independente do Elementor (que foi removido).
   Sobrescreve o layout quebrado do WooCommerce default.
   ===================================================================== */

:root{
  --sb-bg:#eaf0fb;
  --sb-card:#ffffff;
  --sb-ink:#0e1730;
  --sb-muted:#5c6a88;
  --sb-line:rgba(14,23,48,.08);
  --sb-blue:#1a5cff;
  --sb-violet:#6a3cff;
  --sb-grad:linear-gradient(135deg,#1a5cff 0%,#6a3cff 100%);
  --sb-grad-soft:linear-gradient(135deg,#eef3ff 0%,#f3eeff 100%);
  --sb-sale:linear-gradient(135deg,#ff4d6d 0%,#ff8a4b 100%);
  --sb-gold:#ffb400;
  --sb-green:#12b886;
  --sb-shadow:0 12px 30px -14px rgba(14,23,48,.28);
  --sb-shadow-hover:0 26px 52px -18px rgba(26,92,255,.42);
  --sb-radius:22px;
  --sb-fdisplay:'Sora',ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --sb-fbody:'Manrope',ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}

/* ---- fundo geral do arquivo de produtos ---- */
body.archive.woocommerce,
body.tax-product_cat,
body.post-type-archive-product{
  background:
    radial-gradient(1100px 520px at 12% -8%, rgba(26,92,255,.10), transparent 60%),
    radial-gradient(900px 480px at 100% 0%, rgba(106,60,255,.10), transparent 55%),
    var(--sb-bg) !important;
}
body.tax-product_cat .site-main,
body.archive.woocommerce .site-main,
body.post-type-archive-product .site-main{ background:transparent !important; }

/* container central */
.woocommerce-products-header,
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering,
.woocommerce-page ul.products,
.woocommerce ul.products,
.woocommerce nav.woocommerce-pagination{
  font-family:var(--sb-fbody);
}

/* =====================================================================
   HERO / cabeçalho da categoria
   ===================================================================== */
.woocommerce-products-header{
  position:relative;
  max-width:1220px;
  margin:44px auto 6px !important;
  padding:54px 40px 48px !important;
  border-radius:26px;
  background:var(--sb-grad);
  color:#fff;
  overflow:hidden;
  box-shadow:0 24px 60px -26px rgba(26,92,255,.6);
  isolation:isolate;
}
.woocommerce-products-header::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:
    radial-gradient(420px 220px at 88% 12%, rgba(255,255,255,.28), transparent 60%),
    radial-gradient(360px 220px at 8% 120%, rgba(255,255,255,.14), transparent 60%);
}
.woocommerce-products-header::after{
  content:"";position:absolute;inset:0;z-index:-1;opacity:.5;
  background-image:radial-gradient(rgba(255,255,255,.22) 1px, transparent 1.4px);
  background-size:22px 22px;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 78%);
          mask-image:linear-gradient(180deg,#000,transparent 78%);
}
.woocommerce-products-header__title.page-title{
  font-family:var(--sb-fdisplay);
  font-weight:800;
  font-size:clamp(2rem,4.4vw,3.15rem);
  line-height:1.04;
  letter-spacing:-.02em;
  margin:0 !important;
  padding:0 !important;
  color:#fff !important;
  text-shadow:0 2px 20px rgba(6,16,52,.25);
}
/* eyebrow removido: o tema hello-elementor bloqueia .page-title::before */
.woocommerce-products-header .term-description{
  margin:16px 0 0;
  max-width:640px;
  font-size:1.02rem;
  line-height:1.6;
  color:rgba(255,255,255,.9);
}
.woocommerce-products-header .term-description p{margin:0 0 .5em;}

/* selo de confiança no hero */
.woocommerce-products-header__title.page-title::after{
  content:"⚡ Entrega imediata  ·  🔒 Pagamento seguro  ·  🇧🇷 Suporte BR";
  display:block;
  font-family:var(--sb-fbody);
  font-weight:600;
  font-size:.8rem;
  letter-spacing:.01em;
  opacity:.9;
  margin-top:18px;
}

/* =====================================================================
   BARRA de resultado + ordenação
   ===================================================================== */
.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count{
  max-width:1220px;
  margin:26px auto 0;
  padding:0 6px;
  color:var(--sb-muted);
  font-weight:600;
  font-size:.92rem;
  float:none;
}
.woocommerce .woocommerce-ordering,
.woocommerce-page .woocommerce-ordering{
  max-width:1220px;
  margin:-30px auto 0;
  padding:0 6px;
  float:none;
  display:flex;
  justify-content:flex-end;
}
.woocommerce .woocommerce-ordering select{
  font-family:var(--sb-fbody);
  font-weight:600;
  font-size:.9rem;
  color:var(--sb-ink);
  background:var(--sb-card);
  border:1px solid var(--sb-line);
  border-radius:14px;
  padding:12px 40px 12px 16px;
  box-shadow:var(--sb-shadow);
  cursor:pointer;
  outline:none;
  -webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%231a5cff' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 15px center;
  transition:border-color .2s, box-shadow .2s;
}
.woocommerce .woocommerce-ordering select:hover{border-color:rgba(26,92,255,.4);}

/* =====================================================================
   GRID de produtos
   ===================================================================== */
.woocommerce ul.products,
.woocommerce-page ul.products{
  max-width:1220px;
  margin:22px auto 10px !important;
  padding:0 6px !important;
  display:grid !important;
  grid-template-columns:repeat(4,1fr);
  gap:26px;
  list-style:none;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after{content:none !important;display:none !important;}

/* ---- CARD ---- */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  width:auto !important;
  float:none !important;
  margin:0 !important;
  padding:0 !important;
  background:var(--sb-card);
  border:1px solid var(--sb-line);
  border-radius:var(--sb-radius);
  box-shadow:var(--sb-shadow);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  position:relative;
  isolation:isolate;
  transition:transform .32s cubic-bezier(.2,.7,.3,1), box-shadow .32s;
  animation:sbUp .6s both;
}
.woocommerce ul.products li.product:hover{
  transform:translateY(-8px);
  box-shadow:var(--sb-shadow-hover);
  border-color:rgba(26,92,255,.28);
}
/* entrada escalonada */
.woocommerce ul.products li.product:nth-child(1){animation-delay:.02s}
.woocommerce ul.products li.product:nth-child(2){animation-delay:.08s}
.woocommerce ul.products li.product:nth-child(3){animation-delay:.14s}
.woocommerce ul.products li.product:nth-child(4){animation-delay:.20s}
.woocommerce ul.products li.product:nth-child(5){animation-delay:.26s}
.woocommerce ul.products li.product:nth-child(6){animation-delay:.32s}
.woocommerce ul.products li.product:nth-child(7){animation-delay:.36s}
.woocommerce ul.products li.product:nth-child(8){animation-delay:.40s}
@keyframes sbUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}

/* ---- link/conteúdo topo ---- */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce ul.products li.product a.woocommerce-loop-product__link{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  text-decoration:none;
  color:inherit;
}

/* imagem */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product img{
  width:100% !important;
  aspect-ratio:1/1;
  object-fit:cover;
  margin:0 !important;
  display:block;
  background:var(--sb-grad-soft);
  color:transparent;            /* esconde ícone de imagem quebrada / alt */
  border-radius:0;
  transition:transform .5s cubic-bezier(.2,.7,.3,1);
}
.woocommerce ul.products li.product:hover a img{transform:scale(1.06);}

/* moldura arredondada da imagem */
.woocommerce ul.products li.product a.woocommerce-loop-product__link::before,
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;z-index:2;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);
}

/* selo Oferta */
.woocommerce ul.products li.product .onsale{
  position:absolute;
  top:14px;left:14px;
  z-index:3;
  margin:0;
  min-height:0;min-width:0;
  padding:7px 14px;
  font-family:var(--sb-fdisplay);
  font-weight:700;
  font-size:.72rem;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#fff;
  background:var(--sb-sale);
  border:none;
  border-radius:999px;
  line-height:1;
  box-shadow:0 8px 18px -6px rgba(255,77,109,.6);
}

/* título */
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--sb-fbody);
  font-weight:700;
  font-size:1.02rem;
  line-height:1.32;
  color:var(--sb-ink);
  padding:18px 18px 0 !important;
  margin:0 !important;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:2.9em;
}

/* estrelas */
.woocommerce ul.products li.product .star-rating{
  margin:12px 18px 0 !important;
  font-size:.92em;
  color:var(--sb-gold);
  width:6.4em;
}
.woocommerce ul.products li.product .star-rating::before{color:rgba(14,23,48,.16);}
.woocommerce ul.products li.product .star-rating span::before{color:var(--sb-gold);}

/* preço */
.woocommerce ul.products li.product .price{
  font-family:var(--sb-fdisplay);
  font-weight:700;
  color:var(--sb-ink) !important;
  font-size:1.12rem;
  padding:12px 18px 0 !important;
  margin:0 !important;
  margin-top:auto !important;
  line-height:1.25;
}
.woocommerce ul.products li.product .price del{
  color:var(--sb-muted) !important;
  font-weight:600;
  font-size:.82rem;
  opacity:.7;
  margin-right:6px;
}
.woocommerce ul.products li.product .price ins{
  text-decoration:none;
  color:var(--sb-blue) !important;
  background:transparent;
}
.woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol{
  font-weight:600;opacity:.7;font-size:.82em;
}

/* botão comprar / ver opções */
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product a.add_to_cart_button,
.woocommerce ul.products li.product a.product_type_variable{
  font-family:var(--sb-fdisplay);
  font-weight:700;
  font-size:.92rem;
  letter-spacing:.01em;
  text-align:center;
  color:#fff !important;
  background:var(--sb-grad) !important;
  border:none;
  border-radius:14px;
  padding:14px 18px !important;
  margin:16px 18px 18px !important;
  box-shadow:0 12px 24px -12px rgba(26,92,255,.7);
  transition:transform .2s, box-shadow .2s, filter .2s;
  position:relative;
  overflow:hidden;
}
.woocommerce ul.products li.product a.button::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);
  transform:translateX(-120%);transition:transform .6s;
}
.woocommerce ul.products li.product a.button:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 30px -12px rgba(26,92,255,.8);
  filter:saturate(1.08);
}
.woocommerce ul.products li.product a.button:hover::after{transform:translateX(120%);}
.woocommerce ul.products li.product a.button.loading,
.woocommerce ul.products li.product a.button.added{opacity:.85;}
.woocommerce ul.products li.product a.added_to_cart{
  display:block;text-align:center;margin:-6px 18px 16px !important;
  color:var(--sb-green) !important;font-weight:700;font-size:.85rem;text-decoration:none;
}

/* =====================================================================
   PAGINAÇÃO
   ===================================================================== */
.woocommerce nav.woocommerce-pagination{
  max-width:1220px;margin:14px auto 40px;text-align:center;border:none;
}
.woocommerce nav.woocommerce-pagination ul{border:none;display:inline-flex;gap:8px;}
.woocommerce nav.woocommerce-pagination ul li{border:none;margin:0;}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  font-family:var(--sb-fdisplay);font-weight:700;
  min-width:44px;height:44px;line-height:44px;padding:0 8px;
  border-radius:12px;background:var(--sb-card);color:var(--sb-ink);
  border:1px solid var(--sb-line);box-shadow:var(--sb-shadow);
  transition:transform .2s,background .2s,color .2s;
}
.woocommerce nav.woocommerce-pagination ul li a:hover{transform:translateY(-2px);}
.woocommerce nav.woocommerce-pagination ul li span.current{
  background:var(--sb-grad);color:#fff;border-color:transparent;
}

/* mensagem "nenhum produto" */
.woocommerce-info,.woocommerce-no-products-found{
  max-width:1220px;margin:24px auto;border-radius:16px;
  background:var(--sb-card);border-left:4px solid var(--sb-blue);
  box-shadow:var(--sb-shadow);
}

/* =====================================================================
   RESPONSIVO
   ===================================================================== */
@media(max-width:1100px){
  .woocommerce ul.products{grid-template-columns:repeat(3,1fr);gap:22px;}
}
@media(max-width:820px){
  .woocommerce ul.products{grid-template-columns:repeat(2,1fr);gap:16px;}
  .woocommerce-products-header{margin:76px 12px 0 !important;padding:36px 24px 34px !important;border-radius:22px;}
  .woocommerce-products-header__title.page-title{font-size:2rem;}
  .woocommerce .woocommerce-result-count,
  .woocommerce .woocommerce-ordering{padding:0 14px;}
}
@media(max-width:520px){
  .woocommerce ul.products{grid-template-columns:1fr;gap:16px;padding:0 14px !important;}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{min-height:0;}
  .woocommerce .woocommerce-ordering{margin-top:12px;justify-content:stretch;}
  .woocommerce .woocommerce-ordering select{width:100%;}
  .woocommerce-products-header__title.page-title::after{font-size:.72rem;}
}

/* acessibilidade: sem animação se o usuário preferir */
@media(prefers-reduced-motion:reduce){
  .woocommerce ul.products li.product{animation:none;}
  .woocommerce ul.products li.product,
  .woocommerce ul.products li.product a img,
  .woocommerce ul.products li.product a.button{transition:none;}
}
