/* ==========================================================================
   WagglyPetMania — nosotros.css
   --------------------------------------------------------------------------
   Estilos específicos de la página institucional "Nosotros".
   El banner superior (.page-hero) se comparte desde productos.css.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. NUESTRA HISTORIA
   -------------------------------------------------------------------------- */
.story { background: var(--surface); }

.story-grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  align-items: center;
  gap: 3.5rem;
}

.story-media { position: relative; }

.story-media img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
}

.story-badge {
  position: absolute;
  right: -1.5rem;
  bottom: 2rem;
  display: flex;
  align-items: center;
  gap: 0.9rem;
  background: var(--accent);
  color: var(--white);
  border-radius: var(--radius-lg);
  padding: 1.2rem 1.6rem;
  box-shadow: 0 18px 40px rgba(114, 47, 55, 0.4);
  animation: float 5s ease-in-out infinite;
}

.story-badge strong {
  font-family: var(--font-display);
  font-size: 2rem;
  line-height: 1;
}

.story-badge span { font-size: 0.82rem; line-height: 1.3; }

.story-content h2 { margin-bottom: 1.1rem; }

.story-content p {
  margin-bottom: 1rem;
  max-width: 56ch;
}

.story-checks {
  margin: 1.4rem 0 2rem;
  display: grid;
  gap: 0.7rem;
  color: var(--text);
  font-weight: 500;
}

.story-checks .check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--accent-100);
  color: var(--accent-800);
  font-size: 0.72rem;
  margin-right: 0.5rem;
}

/* --------------------------------------------------------------------------
   2. MISIÓN / VISIÓN / VALORES
   -------------------------------------------------------------------------- */
.values-section { background: var(--bg); }

.values-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.6rem;
}

.value-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 2.2rem 1.8rem;
  text-align: center;
  transition: transform var(--transition), box-shadow var(--transition);
}

.value-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-md);
}

.value-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  margin: 0 auto 1.2rem;
  border-radius: 50%;
  background: var(--accent-100);
  color: var(--accent-800);
}

.value-icon svg { width: 28px; height: 28px; }

.value-card h3 { margin-bottom: 0.7rem; }
.value-card p { font-size: 0.95rem; }

/* --------------------------------------------------------------------------
   3. ESTADÍSTICAS (banda oscura con contadores animados)
   -------------------------------------------------------------------------- */
.stats-section {
  background:
    radial-gradient(600px 320px at 15% 120%, rgba(114, 47, 55, 0.25), transparent 60%),
    linear-gradient(135deg, var(--primary-900), var(--primary));
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  text-align: center;
}

.stat strong {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(2.2rem, 4vw, 3rem);
  font-weight: 800;
  color: var(--accent);
  line-height: 1;
  margin-bottom: 0.6rem;
}

.stat span {
  color: #b9c9da;
  font-size: 0.95rem;
  font-weight: 500;
}

/* --------------------------------------------------------------------------
   4. CTA FINAL
   -------------------------------------------------------------------------- */
.cta-banner { background: linear-gradient(135deg, var(--accent-600), var(--accent)); }

.cta-inner { text-align: center; }

.cta-inner h2 { color: var(--white); margin-bottom: 0.75rem; }
.cta-inner p { color: rgba(255, 255, 255, 0.88); margin-bottom: 2rem; font-size: 1.05rem; }

.cta-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
}

.cta-outline {
  background: transparent;
  color: var(--white);
  border-color: rgba(255, 255, 255, 0.6);
}
.cta-outline:hover { background: var(--white); color: var(--accent-800); }

/* --------------------------------------------------------------------------
   5. RESPONSIVE
   -------------------------------------------------------------------------- */
@media (max-width: 992px) {
  .story-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .story-media { max-width: 540px; margin-inline: auto; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  .values-grid { grid-template-columns: 1fr; }
  .story-badge { right: 0.5rem; bottom: 1rem; padding: 1rem 1.2rem; }
}
