/* =============================================================================
   landing.css — estilos exclusivos da landing (index.php)
   Consome tokens/primitivos de base.css. Mobile-first, coluna única.
   ============================================================================= */

/* espaço no fim p/ não ficar atrás da barra fixa de compra */
body{padding-bottom:5.5rem;}

/* ---------------- Marquee (barra de anúncio) ---------------- */
.marquee{background:var(--primary);color:var(--primary-foreground);
  padding:.5rem 0;overflow:hidden;white-space:nowrap;}
.marquee__track{display:inline-block;padding-left:100%;
  animation:marquee 22s linear infinite;}
.marquee__track span{font-size:.72rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.08em;}
.marquee__sep{opacity:.6;padding:0 .8rem;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-100%);}}
@media (prefers-reduced-motion:reduce){
  .marquee__track{animation:none;padding-left:0;text-align:center;white-space:normal;}
}

/* ---------------- Header sticky ---------------- */
.hdr{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.95);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--border);}
.hdr__row{display:flex;align-items:center;justify-content:space-between;
  padding:.25rem 1rem;}
.hdr__ico{color:var(--primary);background:none;border:none;padding:.4rem;
  display:inline-flex;border-radius:9999px;}
.hdr__logo{height:7.5rem;width:auto;object-fit:contain;}
.hdr__actions{display:flex;align-items:center;gap:.25rem;}
.hdr__cart{position:relative;}
.hdr__badge{position:absolute;top:0;right:0;background:var(--accent);
  color:var(--accent-foreground);font-size:.6rem;font-weight:800;
  min-width:1rem;height:1rem;border-radius:9999px;display:flex;
  align-items:center;justify-content:center;padding:0 .2rem;}
@media (min-width:640px){.hdr__logo{height:4rem;}}

/* ---------------- Hero / galeria ---------------- */
.hero{background:rgba(251,240,228,.4);}
.gallery__main{position:relative;aspect-ratio:1/1;width:100%;background:var(--card);}
.gallery__main img{width:100%;height:100%;object-fit:cover;}
.gallery__fav{position:absolute;top:.75rem;right:.75rem;background:rgba(255,255,255,.9);
  color:var(--accent);border:none;border-radius:9999px;width:2.5rem;height:2.5rem;
  display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-soft);}
.gallery__thumbs{display:flex;gap:.5rem;overflow-x:auto;padding:.75rem 1rem;
  scrollbar-width:none;}
.gallery__thumbs::-webkit-scrollbar{display:none;}
.thumb{height:4rem;width:4rem;flex:0 0 auto;border-radius:.5rem;overflow:hidden;
  border:2px solid transparent;opacity:.7;background:var(--card);padding:0;
  transition:opacity .15s,border-color .15s;}
.thumb img{width:100%;height:100%;object-fit:cover;}
.thumb.is-active{border-color:var(--accent);opacity:1;}

/* ---------------- Bloco de oferta ---------------- */
.offer{background:var(--card);padding:1.25rem 1rem;}
.offer__status{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;
  margin-bottom:.75rem;}
.offer__sku{font-size:.72rem;color:var(--muted-foreground);font-weight:700;}
.offer__h1{font-size:1.5rem;font-weight:800;color:var(--foreground);
  margin:.6rem 0 .9rem;line-height:1.25;}

/* card promoção relâmpago */
.flash{border:1px solid rgba(148,149,35,.4);border-radius:1rem;padding:.85rem;
  background:linear-gradient(135deg,rgba(148,149,35,.10),rgba(148,149,35,.04),rgba(148,149,35,.10));}
.flash__head{display:flex;align-items:center;gap:.4rem;color:var(--accent);
  font-family:var(--font-display);font-weight:800;text-transform:uppercase;
  letter-spacing:.05em;font-size:.8rem;}
.flash__txt{font-size:.9rem;margin:.4rem 0 .7rem;color:var(--secondary-foreground);}
.flash__txt b{color:var(--accent);}
.flash__timer{display:flex;align-items:center;gap:.5rem;}
.flash__timer .lbl{display:inline-flex;align-items:center;gap:.35rem;
  font-size:.78rem;font-weight:700;color:var(--secondary-foreground);}
.clock{display:flex;gap:.3rem;}
.clock b{background:var(--accent);color:var(--accent-foreground);
  font-family:var(--font-display);font-weight:800;font-variant-numeric:tabular-nums;
  padding:.25rem .5rem;border-radius:.5rem;font-size:1rem;min-width:2ch;text-align:center;}

/* rating inline */
.rating{display:flex;align-items:center;gap:.4rem;margin:1rem 0;}
.stars{display:inline-flex;gap:.1rem;color:var(--accent);}
.stars .ic{fill:var(--accent);}
.rating__num{font-weight:800;}
.rating__count{color:var(--muted-foreground);font-size:.85rem;}

/* card de preço */
.price{background:rgba(251,240,228,.5);border-radius:1rem;padding:1rem;}
.price__row1{display:flex;align-items:center;gap:.6rem;}
.price__de{text-decoration:line-through;color:var(--muted-foreground);font-size:.95rem;}
.price__por{font-family:var(--font-display);font-size:2.25rem;font-weight:800;
  color:var(--primary);line-height:1.1;margin:.15rem 0;}
.price__pix{color:var(--green-pix);font-weight:800;font-size:.95rem;}
.price__parc{color:var(--muted-foreground);font-size:.85rem;margin-top:.15rem;}

/* seletor de quantidade */
.qty{display:flex;align-items:center;justify-content:space-between;margin:1.1rem 0;}
.qty__label{font-weight:700;}
.qty__ctrl{display:flex;align-items:center;gap:.9rem;border:1px solid var(--border);
  border-radius:9999px;padding:.3rem .5rem;}
.qty__btn{width:2rem;height:2rem;border-radius:9999px;border:none;
  background:var(--secondary);color:var(--primary);font-size:1.2rem;font-weight:800;
  display:flex;align-items:center;justify-content:center;line-height:1;}
.qty__btn:disabled{opacity:.4;}
.qty__val{min-width:1.5rem;text-align:center;font-weight:800;font-size:1.05rem;
  font-variant-numeric:tabular-nums;}

/* CTAs */
.offer__ctas{display:flex;flex-direction:column;gap:.6rem;margin-top:.4rem;}

/* selos de confiança */
.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:1.1rem;}
.trust__item{background:rgba(251,240,228,.5);border-radius:.9rem;padding:.8rem .4rem;
  text-align:center;display:flex;flex-direction:column;align-items:center;gap:.35rem;}
.trust__item .ic{color:var(--accent);}
.trust__item span{font-size:.72rem;font-weight:700;color:var(--secondary-foreground);}

/* ---------------- Descrição ---------------- */
.sec{background:var(--card);padding:1.5rem 1rem;margin-top:.5rem;}
.sec__h2{font-size:1.15rem;color:var(--primary);font-weight:800;margin-bottom:.7rem;}
.desc__p{font-size:.95rem;color:var(--secondary-foreground);margin:0 0 1rem;}
.desc__p b{color:var(--primary);}
.desc__img{border-radius:1rem;overflow:hidden;margin:1rem 0;}
.desc__img img{width:100%;}

.benefits{display:flex;flex-direction:column;gap:.6rem;margin:1.1rem 0;}
.benefit{display:flex;align-items:center;gap:.8rem;border:1px solid var(--border);
  background:rgba(251,240,228,.3);border-radius:1rem;padding:.8rem;}
.benefit__ic{width:2.5rem;height:2.5rem;flex:0 0 auto;border-radius:9999px;
  background:var(--primary);color:var(--primary-foreground);display:flex;
  align-items:center;justify-content:center;}
.benefit__t{font-weight:800;font-size:.92rem;color:var(--foreground);}
.benefit__d{font-size:.82rem;color:var(--muted-foreground);}

.sec__h3{font-size:1rem;color:var(--primary);font-weight:800;margin:1.3rem 0 .7rem;}
.ingredients{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;}
.ingredient{display:flex;align-items:center;gap:.45rem;background:rgba(251,240,228,.5);
  border-radius:.6rem;padding:.55rem .7rem;font-size:.85rem;font-weight:600;}
.ingredient .ic{color:var(--accent);}

/* ---------------- Avaliações ---------------- */
.reviews__head{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap;margin-bottom:.9rem;}
.reviews__count{color:var(--muted-foreground);font-size:.85rem;}
.reviews__summary{background:rgba(251,240,228,.4);border-radius:1rem;padding:1rem;
  display:flex;gap:1rem;align-items:center;margin-bottom:1.1rem;}
.reviews__big{font-family:var(--font-display);font-size:2.5rem;font-weight:800;
  color:var(--primary);line-height:1;}
.reviews__big .stars{display:flex;justify-content:center;margin-top:.3rem;}
.histo{flex:1;display:flex;flex-direction:column;gap:.3rem;min-width:0;}
.histo__row{display:flex;align-items:center;gap:.5rem;font-size:.72rem;
  color:var(--muted-foreground);}
.histo__row .lab{width:1.6rem;flex:0 0 auto;font-weight:700;}
.histo__bar{flex:1;height:.5rem;background:var(--border);border-radius:9999px;overflow:hidden;}
.histo__bar i{display:block;height:100%;background:var(--accent);border-radius:9999px;}
.histo__row .pct{width:2.2rem;text-align:right;flex:0 0 auto;}

.review{border:1px solid var(--border);border-radius:1rem;padding:1rem;margin-bottom:.7rem;}
.review__top{display:flex;align-items:center;gap:.7rem;margin-bottom:.5rem;}
.review__ava{width:2.5rem;height:2.5rem;flex:0 0 auto;border-radius:9999px;
  background:var(--primary);color:var(--primary-foreground);display:flex;
  align-items:center;justify-content:center;font-weight:800;font-family:var(--font-display);}
.review__meta{display:flex;flex-direction:column;line-height:1.2;}
.review__name{font-weight:800;font-size:.9rem;}
.review__date{color:var(--muted-foreground);font-size:.72rem;}
.review__stars{margin-left:auto;}
.review__stars .stars .ic{width:.9rem;height:.9rem;}
.review__txt{font-size:.88rem;color:var(--secondary-foreground);margin:0;}
.review.is-hidden{display:none;}
#moreReviews{margin-top:.4rem;}

/* ---------------- Footer ---------------- */
.foot{background:var(--primary);color:var(--primary-foreground);
  padding:2rem 1rem 7rem;margin-top:.5rem;}
.foot__brand{font-family:var(--font-display);font-size:1.15rem;font-weight:800;}
.foot__tag{opacity:.85;font-size:.88rem;margin:.4rem 0 1.2rem;}
.foot__links{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1rem;
  font-size:.88rem;margin-bottom:1.3rem;}
.foot__links a{opacity:.9;}
.foot__block{border-top:1px solid rgba(251,248,241,.15);padding-top:.9rem;
  margin-top:.9rem;font-size:.82rem;opacity:.85;}
.foot__block strong{display:block;opacity:1;margin-bottom:.2rem;font-weight:800;
  font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;}
.foot__copy{font-size:.75rem;opacity:.7;margin-top:1.2rem;line-height:1.6;}

/* ---------------- Barra fixa de compra ---------------- */
.buybar{position:fixed;inset-inline:0;bottom:0;z-index:40;
  background:rgba(255,255,255,.96);backdrop-filter:blur(8px);
  border-top:1px solid var(--border);}
.buybar__in{display:flex;align-items:center;gap:.8rem;padding:.6rem 1rem;}
.buybar__price{display:flex;flex-direction:column;line-height:1.1;flex:0 0 auto;}
.buybar__de{font-size:.72rem;text-decoration:line-through;color:var(--muted-foreground);}
.buybar__por{font-size:1.1rem;font-weight:800;color:var(--primary);
  font-family:var(--font-display);}
.buybar__btn{flex:1;}
