body { 
  font-family: 'Poppins', sans-serif; 
  margin:0; 
  background:#fff; 
  color:#222; 
}

.container { 
  max-width:1200px; 
  margin:0 auto; 
  padding:0 15px; 
}

h1,h2,h3 { 
  font-weight:600; 
  margin:0 0 15px; 
}

/* ===== HERO ===== */
.home-hero {
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 120px 20px;
  color: #fff;
  border-radius: 0 0 30px 30px;
  overflow: hidden;
}

.home-hero .overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.35); /* oscurece un poquito */
  z-index: 1;
}

.hero-inner {
  position: relative;
  z-index: 2; /* texto por encima de overlay */
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 25px;
  max-width: 900px;
}

.hero-text h1 {
  font-size: 2.8rem;
  margin-bottom: 15px;
  color: #fff;
  text-shadow: 0 3px 8px rgba(0,0,0,0.6);
}
.hero-text h1 .break::after {
  content: "\A"; /* salto de línea */
  white-space: pre; 
}

.hero-text p {
  font-size: 1.3rem;
  margin-bottom: 25px;
  text-shadow: 0 2px 6px rgba(0,0,0,0.6);
}

.hero-ctas {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
}

.btn-primary,.btn-secondary { 
  padding:12px 20px; 
  border-radius:30px; 
  text-decoration:none; 
  font-weight:600; 
  transition:.3s; 
}
.btn-primary { background:#ff4081; color:#fff; }
.btn-primary:hover { background:#e73370; }
.btn-secondary { background:transparent; border:2px solid #ff4081; color:#ff4081; }
.btn-secondary:hover { background:#ff4081; color:#fff; }

/* ===== BENEFICIOS ===== */
.benefits {
  background: #111; /* negro elegante como la navbar */
  color: #fff;
  padding: 40px 20px;
  margin-top: -20px; /* se pega más al hero */
}

.benefits-grid {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px,1fr));
  gap: 30px;
  text-align: center;
}

.benefit {
  padding: 20px;
  transition: transform 0.3s, color 0.3s;
}

.benefit i {
  font-size: 2.5rem;
  color: #ff4081;
  margin-bottom: 15px;
}

.benefit h3 {
  font-size: 1.2rem;
  margin-bottom: 10px;
  color: #fff;
}

.benefit p {
  font-size: 0.95rem;
  color: #ccc;
}

.benefit:hover {
  transform: translateY(-6px);
}

.benefit:hover i {
  color: #e73370; /* efecto hover para el icono */
}


/* ===== MUÑECAS ===== */
.featured { padding:60px 20px; }
.section-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:25px; }
.cards-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:30px; margin-top:20px; }
.card { background:#fff; border-radius:15px; box-shadow:0 6px 16px rgba(0,0,0,0.08); overflow:hidden; text-align:center; transition:.3s; }
.card:hover { transform:translateY(-6px); }
.card-img { width:100%; height:320px; object-fit:contain; border-bottom:1px solid #eee; background:#fafafa; }
.card-info { padding:15px; }
.card-title { font-size:1.2rem; margin-bottom:5px; }
.card-universo { font-size:.9rem; color:#777; margin-bottom:10px; }
.card-precios { font-size:1rem; font-weight:600; }
.price-original { text-decoration:line-through; color:#999; margin-right:8px; }
.price-discount { color:#ff4081; }
.price-normal { color:#111; }

/* ===== UNIVERSOS ===== */
.universos-preview {
  padding: 60px 20px;
  background: #111;
  color: #fff;
  margin-top: 40px;
}

.universos-preview .section-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 25px;
  text-align: center;
}

.universos-desc {
  font-size: 1rem;
  color: #ccc;
  margin-top: 10px;
  max-width: 800px;
  line-height: 1.5;
}

.universos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
  margin-top: 30px;
}

.universo-card {
  position: relative;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 6px 16px rgba(0,0,0,0.3);
  transition: transform .3s, border .3s;
  border: 2px solid transparent;
}

.universo-card:hover {
  transform: scale(1.05);
  border: 2px solid #ff4081;
}

.universo-card img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}

.u-info {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,0.5);
  transition: background .3s;
}

.universo-card h3 {
  font-size: 1.4rem;
  color: #fff;
  transition: color .3s;
}

.universo-card:hover img {
  transform: scale(1.1);
}

.universo-card:hover .u-info {
  background: rgba(0,0,0,0.65);
}

.universo-card:hover h3 {
  color: #ff4081;
}

.universos-seo {
  font-size: 0.95rem;
  color: #bbb;
  text-align: center;
  margin-top: 20px;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.universos-cta {
  text-align: center;
  margin-top: 40px;
}


/* ===== SEO BLOCK LIGHT ===== */
.seo-block-light {
  background:#fafafa; /* fondo claro, elegante */
  color:#222;
  padding:80px 20px;
  margin:60px 0;
}
.seo-block-light h2 {
  text-align:center;
  font-size:2rem;
  margin-bottom:50px;
  color:#111;
}
.seo-inner {
  max-width:1200px;
  margin:0 auto;
}
.seo-columns {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:40px;
}
.seo-col {
  background:#fff;
  border-radius:15px;
  padding:30px 20px;
  text-align:center;
  box-shadow:0 6px 16px rgba(0,0,0,0.06);
  transition:transform .3s, box-shadow .3s;
}
.seo-col:hover {
  transform:translateY(-6px);
  box-shadow:0 8px 20px rgba(0,0,0,0.1);
}
.seo-col i {
  font-size:2.5rem;
  margin-bottom:15px;
  color:#ff4081;
}
.seo-col h3 {
  font-size:1.3rem;
  margin-bottom:10px;
  color:#111;
}
.seo-col p {
  font-size:0.95rem;
  color:#555;
}
.seo-col a {
  color:#ff4081;
  font-weight:600;
}
.seo-col a:hover {
  color:#e73370;
}

/* ===== BLOG TEASER ===== */
.blog-teaser {
  background:#fafafa;
  padding:60px 20px;
}
.blog-inner {
  max-width:1200px;
  margin:0 auto;
}
.blog-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px,1fr));
  gap:30px;
  margin-top:30px;
}
.blog-card {
  background:#fff;
  border-radius:15px;
  overflow:hidden;
  box-shadow:0 6px 16px rgba(0,0,0,0.08);
  transition:transform .3s, box-shadow .3s;
}
.blog-card:hover {
  transform:translateY(-6px);
  box-shadow:0 10px 20px rgba(0,0,0,0.12);
}
.blog-card img {
  width:100%;
  height:180px;
  object-fit:cover;
}
.blog-content {
  padding:20px;
}
.blog-content h3 {
  margin-bottom:10px;
  font-size:1.2rem;
  color:#111;
}
.link-more {
  font-size:0.9rem;
  font-weight:600;
  color:#ff4081;
  text-decoration:none;
}

/* ===== Reveal Anim ===== */
.reveal { opacity:0; transform:translateY(40px) scale(0.98); transition:.6s; padding-bottom:30px; }
.reveal.revealed { opacity:1; transform:translateY(0) scale(1); }


/* ===== Responsive ===== */
@media(max-width:768px){
  .hero-inner{flex-direction:column;text-align:center;align-items:center;}
  .hero-text h1{font-size:2rem;}
  .hero-img{max-width:100%;}
}

/* === GLOBAL FIX === */
section {
  margin-bottom: 60px;
}

/* ===== RESET ENLACES ===== */
a {
  color: inherit;
  text-decoration: none;
}

a:hover {
  text-decoration: none; /* por si acaso */
}

.seo-footer {
  background: #111;
  color: #fff;
  padding: 40px 20px;
  margin-top: 60px;
  border-top: 2px solid #ff4081;
}

.seo-footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}

.seo-toggle {
  background: none;
  border: 2px solid #ff4081;
  padding: 10px 20px;
  color: #ff4081;
  font-weight: 600;
  border-radius: 25px;
  cursor: pointer;
  transition: 0.3s;
}

.seo-toggle:hover {
  background: #ff4081;
  color: #fff;
}

.seo-hidden {
  display: none;
  margin-top: 20px;
  text-align: left;
  line-height: 1.6;
  font-size: 0.95rem;
  color: #ddd;
}

.seo-hidden.open {
  display: block;
}
