/* ============ Hero ============ */
.hero{
  position:relative;
  padding:72px 0 100px;
  overflow:hidden;
  background:
    radial-gradient(circle at 85% 15%, rgba(240,180,41,.18), transparent 45%),
    radial-gradient(circle at 10% 90%, rgba(95,168,41,.15), transparent 45%);
}
.hero-inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:center;
}
.hero-copy h1{
  font-size:clamp(2.2rem,4.4vw,3.4rem);
  margin:18px 0 18px;
  color:var(--carbon);
}
.text-naranja{ color:var(--naranja); }
.hero-sub{
  font-size:1.05rem;
  color:var(--azul-gris);
  max-width:480px;
  line-height:1.6;
  margin-bottom:30px;
}
.hero-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:44px; }
.hero-stats{ display:flex; gap:36px; }
.hero-stats div{ display:flex; flex-direction:column; }
.hero-stats strong{ font-family:'Fredoka',sans-serif; font-size:1.4rem; color:var(--verde-fuerte); }
.hero-stats span{ font-size:.82rem; color:var(--azul-gris); }

.hero-art{ position:relative; display:flex; align-items:center; justify-content:center; min-height:420px; }
.hero-blob{
  position:absolute; width:420px; height:420px; border-radius:50%;
  background:linear-gradient(155deg,#DCF0C6,#B9E08D);
  filter:blur(2px);
}
.hero-bear{
  position:relative; z-index:2; width:320px; max-width:80%;
  filter:drop-shadow(0 30px 40px rgba(38,49,43,.18));
  animation:float 5s ease-in-out infinite;
}
@keyframes float{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-14px);} }
.hero-chip{
  position:absolute;
  background:#fff; padding:10px 18px; border-radius:var(--radius-pill);
  box-shadow:var(--shadow-md); font-weight:600; font-size:.85rem; z-index:3;
}
.hero-chip--1{ top:8%; left:2%; }
.hero-chip--2{ bottom:12%; left:0%; }
.hero-chip--3{ top:14%; right:0%; }

@media (max-width:900px){
  .hero-inner{ grid-template-columns:1fr; text-align:center; }
  .hero-sub{ margin-left:auto; margin-right:auto; }
  .hero-actions{ justify-content:center; }
  .hero-stats{ justify-content:center; }
  .hero-art{ order:-1; min-height:320px; }
  .hero-chip--1, .hero-chip--2, .hero-chip--3{ display:none; }
}

/* ============ Categorías ============ */
.cat-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:18px;
}
.cat-card{
  border-radius:var(--radius-lg);
  padding:28px 14px;
  display:flex; flex-direction:column; align-items:center; gap:12px;
  text-align:center;
  transition:transform .2s ease, box-shadow .2s ease;
  box-shadow:var(--shadow-sm);
}
.cat-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-md); }
.cat-emoji{ font-size:2.4rem; }
.cat-name{ font-weight:600; font-family:'Fredoka',sans-serif; color:var(--carbon); }
@media (max-width:980px){ .cat-grid{ grid-template-columns:repeat(3,1fr);} }
@media (max-width:560px){ .cat-grid{ grid-template-columns:repeat(2,1fr);} }

/* ============ Sección alterna ============ */
.section--alt{ background:var(--crema-2); }

/* ============ Beneficios ============ */
.benefits-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}
.benefit-card{
  background:var(--blanco);
  border-radius:var(--radius-lg);
  padding:32px 26px;
  box-shadow:var(--shadow-sm);
  transition:transform .25s ease, box-shadow .25s ease;
  position:relative;
  overflow:hidden;
}
.benefit-card::after{
  content:"";
  position:absolute; top:-40px; right:-40px;
  width:110px; height:110px; border-radius:50%;
  background:radial-gradient(circle, rgba(95,168,41,.08), transparent 70%);
}
.benefit-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-md); }
.benefit-badge{
  width:56px; height:56px; border-radius:16px;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:20px;
  color:#fff;
  position:relative; z-index:1;
}
.benefit-badge svg{ width:26px; height:26px; }
.benefit-badge--verde{ background:linear-gradient(150deg,var(--verde),var(--verde-fuerte)); }
.benefit-badge--amarillo{ background:linear-gradient(150deg,var(--amarillo),#D99A12); }
.benefit-badge--naranja{ background:linear-gradient(150deg,var(--naranja),var(--naranja-fuerte)); }
.benefit-badge--verde-oscuro{ background:linear-gradient(150deg,var(--verde-oscuro),#076B38); }
.benefit-card h4{ font-size:1.05rem; margin-bottom:8px; position:relative; z-index:1; }
.benefit-card p{ font-size:.88rem; color:var(--azul-gris); line-height:1.5; position:relative; z-index:1; }
@media (max-width:900px){ .benefits-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .benefits-grid{ grid-template-columns:1fr; } }

.benefits{ padding-bottom:24px; }
.section--promo{ padding-top:24px; }

/* ============ Promo banner ============ */
.promo-banner{
  background:linear-gradient(120deg,#0B8A4A,#5FA829);
  border-radius:var(--radius-lg);
  padding:56px 60px;
  display:flex; align-items:center; justify-content:space-between; gap:30px;
  color:#fff;
  overflow:hidden;
  position:relative;
}
.promo-banner h2{ color:#fff; font-size:clamp(1.5rem,3vw,2rem); margin:14px 0 10px; max-width:480px; }
.promo-banner p{ color:rgba(255,255,255,.85); margin-bottom:22px; }
.promo-emoji{ font-size:5rem; filter:drop-shadow(0 10px 20px rgba(0,0,0,.15)); }
@media (max-width:760px){
  .promo-banner{ flex-direction:column; text-align:center; padding:40px 28px; }
}

/* ============ Testimonios ============ */
.testi-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.testi-card{
  background:#fff; border-radius:var(--radius-lg); padding:28px; box-shadow:var(--shadow-sm);
}
.stars{ color:var(--amarillo); letter-spacing:2px; margin-bottom:14px; }
.testi-card p{ color:var(--carbon); line-height:1.6; margin-bottom:16px; }
.testi-who{ font-weight:600; color:var(--verde-fuerte); font-size:.9rem; }
@media (max-width:900px){ .testi-grid{ grid-template-columns:1fr; } }
