/* Lumina Play Kids · Cuentos donde tú eres el protagonista
   Diseño "¡WOW!": MUCHO color, brillanticos, llamativo — un cuento infantil
   que enamore desde el primer segundo. Móvil primero. */
:root{
  --sage:#5f7052; --sage-dark:#42513a; --sage-deep:#33402d; --sage-light:#9db48c;
  --gold:#f5a623; --gold-dark:#c77f0a; --gold-light:#ffe9a8;
  --pink:#ff5d8f; --pink-dark:#d6336c; --pink-light:#ffd6e7;
  --violet:#8b5cf6; --violet-dark:#6d28d9; --violet-light:#e9dfff;
  --coral:#ff6b5e; --coral-dark:#e04a3a;
  --sky:#38bdf8; --sky-dark:#0284c7; --sky-light:#d6f2ff;
  --sun:#ffc531; --sun-light:#fff3bf;
  --mint:#2ec4b6; --mint-dark:#0f766e;
  --cream:#fff6e8; --paper:#fffdf8; --ink:#43301f; --muted:#97836c;
  --line:#f0c9a8;
  --radius:22px;
  --font-head:'Baloo 2',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-body:'Nunito',system-ui,-apple-system,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;font-family:var(--font-body);color:var(--ink);line-height:1.55;
  background-color:var(--cream);
  background-image:
    radial-gradient(#ffd6e7 2px, transparent 2.4px),
    radial-gradient(#d6f2ff 2px, transparent 2.4px),
    radial-gradient(#fff3bf 2.2px, transparent 2.6px);
  background-size:34px 34px, 46px 46px, 58px 58px;
  background-position:0 0, 14px 20px, 26px 10px;
}
h1,h2,h3{font-family:var(--font-head);line-height:1.2;color:var(--sage-dark)}
.wrap{max-width:680px;margin:0 auto;padding:14px 16px 8px}
img{max-width:100%;height:auto}

/* ---------- Cinta arcoíris ---------- */
.rainbow-bar{
  height:9px;
  background:linear-gradient(90deg,#ff5d8f,#ff9f43,#ffd93d,#6bcb77,#4fc3f7,#8b5cf6);
}

/* ---------- Header ---------- */
header.top{
  background:linear-gradient(135deg,#6d28d9 0%,#ff5d8f 55%,#ff7a59 100%);
  color:#fff;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;
  position:sticky;top:0;z-index:20;border-bottom:5px solid var(--sun);
}
header.top a.brand{color:#fff;text-decoration:none;font-family:var(--font-head);font-weight:800;font-size:1.1rem;line-height:1.15;text-shadow:0 2px 4px rgba(0,0,0,.2)}
header.top .tag{font-family:var(--font-body);font-size:.72rem;opacity:.95;font-weight:600}
.lang-switch{display:flex;background:rgba(255,255,255,.2);border-radius:999px;padding:3px;gap:2px}
.lang-switch a{
  color:#fff;text-decoration:none;font-weight:800;font-size:.8rem;
  padding:7px 13px;border-radius:999px;min-height:36px;display:flex;align-items:center;
}
.lang-switch a.active{background:var(--sun);color:#5c3a00;box-shadow:0 2px 0 rgba(0,0,0,.15)}

/* ---------- Hero ¡WOW! ---------- */
.hero{
  position:relative;text-align:center;margin:18px 0 8px;padding:26px 18px 30px;
  background:linear-gradient(135deg,#ffe3f1 0%,#fff3bf 35%,#d6f2ff 70%,#e3ffe9 100%);
  border:4px solid #fff;border-radius:28px;
  outline:3px solid var(--pink);
  box-shadow:0 2px 0 #fff,0 8px 0 rgba(255,93,143,.18),0 16px 34px rgba(255,93,143,.3);
  overflow:hidden;
  animation:popIn .6s cubic-bezier(.34,1.56,.64,1) both;
}
/* Efecto pop-up: las cosas entran saltando como en un libro pop-up */
@keyframes popIn{0%{transform:scale(.88) translateY(14px);opacity:0}70%{transform:scale(1.03) translateY(-2px);opacity:1}100%{transform:scale(1) translateY(0);opacity:1}}
.hero-badge{
  display:inline-block;background:#fff;color:var(--pink-dark);
  font-weight:800;font-size:.82rem;border:2px solid var(--pink);
  border-radius:999px;padding:7px 16px;margin-bottom:12px;
  box-shadow:0 3px 10px rgba(214,51,108,.25);
  transform:rotate(-2deg);
}
.hero h1{
  font-size:2rem;margin:10px 0 8px;
  background:linear-gradient(90deg,#d6336c,#8b5cf6 50%,#0284c7);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero p{margin:0 auto 18px;max-width:46ch;color:#5c4a38}
.hero-art{
  width:100%;border-radius:22px;border:4px solid #fff;
  box-shadow:0 2px 0 #fff,0 8px 0 rgba(255,197,49,.5),0 14px 26px rgba(67,48,31,.22);margin:6px 0 4px;
  outline:3px solid var(--sun);
  transform:rotate(-.6deg);
  animation:popIn .7s cubic-bezier(.34,1.56,.64,1) .1s both;
}
.float-bee{
  position:absolute;bottom:16px;right:14px;top:auto;width:74px;height:74px;object-fit:cover;
  border-radius:50%;border:3px solid #fff;box-shadow:0 4px 10px rgba(67,48,31,.2);
  animation:floaty 3.6s ease-in-out infinite;z-index:2;
}
.hero-stars{font-size:1.3rem;letter-spacing:.35em;margin-top:10px;animation:twinkle 2.8s ease-in-out infinite}
/* Brillanticos flotando */
.sparkle{position:absolute;font-size:1.5rem;animation:sparkle 2.2s ease-in-out infinite;pointer-events:none;z-index:2}
.sparkle.s1{top:10px;left:14px;animation-delay:0s}
.sparkle.s2{top:70px;right:10px;font-size:1.2rem;animation-delay:.5s}
.sparkle.s3{bottom:118px;left:8px;font-size:1.1rem;animation-delay:1s}
.sparkle.s4{top:38%;right:18px;animation-delay:1.4s}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-10px) rotate(6deg)}}
@keyframes twinkle{0%,100%{opacity:1}50%{opacity:.55}}
@keyframes sparkle{0%,100%{transform:scale(1) rotate(0deg);opacity:1}50%{transform:scale(1.4) rotate(22deg);opacity:.55}}

/* ---------- Botones divertidos ---------- */
.btn{
  display:inline-block;font-family:var(--font-head);font-weight:800;
  background:linear-gradient(90deg,#ff9f43,#ff5d8f);
  color:#fff;border:3px solid var(--coral-dark);border-radius:999px;
  padding:13px 30px;font-size:1.12rem;text-decoration:none;cursor:pointer;min-height:52px;
  box-shadow:0 5px 0 var(--coral-dark),0 10px 18px rgba(255,93,143,.35);
  transition:transform .08s ease, box-shadow .08s ease;
  position:relative;overflow:hidden;
}
.btn::after{
  content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);
  transform:skewX(-20deg);animation:shine 2.8s ease-in-out infinite;
}
@keyframes shine{0%{left:-60%}60%,100%{left:130%}}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(4px);box-shadow:0 1px 0 var(--coral-dark)}
.btn-big{font-size:1.3rem;padding:15px 36px}
.btn-secondary{
  background:#fff;border:3px solid var(--sky);color:var(--sky-dark);
  box-shadow:0 5px 0 var(--sky-dark),0 8px 14px rgba(2,132,199,.2);
}
.btn-secondary:active{box-shadow:0 1px 0 var(--sky-dark)}
.btn-block{width:100%;text-align:center}
.btn-pink{
  background:linear-gradient(90deg,#8b5cf6,#ff5d8f);
  border-color:var(--violet-dark);color:#fff;
  box-shadow:0 5px 0 var(--violet-dark),0 10px 18px rgba(139,92,246,.35);
}
.btn-pink:active{box-shadow:0 1px 0 var(--violet-dark)}

/* ---------- Tarjetas de colores (efecto papel pop-up) ---------- */
.card{
  background:var(--paper);border:3px solid var(--line);border-radius:var(--radius);
  padding:20px;margin:16px 0;
  box-shadow:0 2px 0 #fff,0 6px 0 rgba(67,48,31,.06),0 10px 22px rgba(67,48,31,.12);
  transition:transform .15s ease;
}
.card:hover{transform:translateY(-3px) rotate(-.4deg)}
.card h2{margin:0 0 8px;font-size:1.45rem}
.card h2 .doodle{color:var(--pink-dark)}
.card-sky{background:linear-gradient(180deg,#f0faff,#ddf3ff);border-color:var(--sky)}
.card-pink{background:linear-gradient(180deg,#fff0f6,#ffe0ee);border-color:var(--pink)}
.card-sun{background:linear-gradient(180deg,#fffbe0,#fff0ad);border-color:var(--sun)}

/* Títulos de sección con subrayado arcoíris */
.section-title{position:relative;display:inline-block;margin-bottom:6px}
.section-title::after{
  content:"";display:block;height:10px;margin-top:2px;border-radius:999px;
  background:linear-gradient(90deg,#ff5d8f,#ffc531,#4fc3f7,#8b5cf6);
}

/* Pasos: cada uno de un color */
.step{display:flex;gap:14px;margin:16px 0;align-items:flex-start}
.step .n{
  font-family:var(--font-head);font-weight:800;border-radius:50%;
  width:44px;height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0;
  font-size:1.25rem;
}
.step:nth-of-type(1) .n{background:linear-gradient(180deg,#ffe9a8,#ffc531);color:#4a3413;border:3px solid var(--gold-dark);box-shadow:0 0 0 3px #fff,0 3px 0 var(--gold-dark)}
.step:nth-of-type(2) .n{background:linear-gradient(180deg,#ffd6e7,#ff5d8f);color:#fff;border:3px solid var(--pink-dark);box-shadow:0 0 0 3px #fff,0 3px 0 var(--pink-dark)}
.step:nth-of-type(3) .n{background:linear-gradient(180deg,#e9dfff,#8b5cf6);color:#fff;border:3px solid var(--violet-dark);box-shadow:0 0 0 3px #fff,0 3px 0 var(--violet-dark)}
.step strong{font-family:var(--font-head);color:var(--sage-dark);font-size:1.05rem}
.how-art{border-radius:18px;border:3px solid #fff;outline:3px solid var(--sun);box-shadow:0 8px 18px rgba(67,48,31,.16);margin:4px 0 10px}

/* Precio */
.price-card{
  text-align:center;border:4px solid var(--sun);
  background:linear-gradient(180deg,#fffbe0,#ffe98a);
  position:relative;overflow:hidden;
  box-shadow:0 2px 0 #fff,0 8px 0 rgba(245,166,35,.35),0 14px 30px rgba(245,166,35,.4);
  animation:popIn .7s cubic-bezier(.34,1.56,.64,1) .2s both;
}
.price-card .amount{
  font-family:var(--font-head);font-size:3rem;font-weight:800;line-height:1;
  background:linear-gradient(90deg,#ff6b5e,#d6336c);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.price-card .mascot{width:84px;height:84px;object-fit:cover;border-radius:50%;border:3px solid #fff;box-shadow:0 4px 10px rgba(67,48,31,.18);margin-bottom:6px;animation:floaty 3.6s ease-in-out infinite}

/* Regla de oro */
.golden{
  background:linear-gradient(135deg,#ffe0ee,#e9dfff);
  border:3px dashed var(--violet);border-radius:var(--radius);
  padding:18px;margin:18px 0;box-shadow:0 8px 20px rgba(139,92,246,.2);
}
.golden strong{font-family:var(--font-head);color:var(--pink-dark);font-size:1.15rem}

/* Cinta de beneficios: cada uno de un color */
.perks{display:flex;gap:10px;overflow-x:auto;margin:14px 0;padding:4px 2px 10px}
.perk{
  flex:0 0 auto;border-radius:16px;
  padding:10px 14px;font-weight:800;font-size:.88rem;
  box-shadow:0 3px 0 rgba(67,48,31,.15);white-space:nowrap;
}
.perk:nth-child(1){background:#ffe0ee;border:2px solid #ff5d8f;color:#a4133c;transform:rotate(-1deg)}
.perk:nth-child(2){background:#d6f2ff;border:2px solid #38bdf8;color:#075985;transform:rotate(1deg)}
.perk:nth-child(3){background:#fff3bf;border:2px solid #ffc531;color:#7c4a03;transform:rotate(-1deg)}
.perk:nth-child(4){background:#d8fff4;border:2px solid #2ec4b6;color:#0f766e;transform:rotate(1deg)}

/* ---------- Formularios ---------- */
label{display:block;font-weight:700;margin:16px 0 6px;color:var(--sage-deep)}
input[type=text],input[type=email],input[type=number],select,textarea{
  width:100%;padding:13px 14px;border:2.5px solid var(--line);border-radius:14px;
  font-size:1rem;font-family:var(--font-body);background:#fff;min-height:52px;color:var(--ink);
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--pink);box-shadow:0 0 0 4px var(--pink-light)}
textarea{min-height:96px;resize:vertical}
input[type=file]{margin:8px 0;font-size:.95rem}
.hint{font-size:.86rem;color:var(--muted)}
.radio-card{
  border:2.5px solid var(--line);border-radius:14px;padding:13px;margin:10px 0;
  display:flex;gap:12px;align-items:flex-start;background:#fff;cursor:pointer;
}
.radio-card input{margin-top:5px;transform:scale(1.4);accent-color:var(--pink-dark)}
.stub{
  border:2px dashed var(--gold-dark);background:#fff8e6;border-radius:12px;
  padding:10px 14px;font-size:.85rem;margin:12px 0;
}

/* ---------- Stepper del tablero ---------- */
.stepper{display:flex;overflow-x:auto;gap:4px;margin:14px 0;padding:10px 2px}
.stepper .s{flex:1;min-width:66px;text-align:center;font-size:.68rem;color:var(--muted);font-weight:700}
.stepper .s .dot{
  width:30px;height:30px;border-radius:50%;background:#e8dcc4;margin:0 auto 5px;
  display:flex;align-items:center;justify-content:center;font-size:.75rem;color:#fff;
  border:2px solid #d9c9a8;
}
.stepper .s.done{color:var(--sage-dark)}
.stepper .s.done .dot{background:var(--sage);border-color:var(--sage-dark)}
.stepper .s.now{color:var(--pink-dark)}
.stepper .s.now .dot{background:var(--pink);border-color:var(--pink-dark);animation:twinkle 2s infinite}

/* ---------- Opciones ---------- */
.option{
  border:3px solid var(--gold);border-radius:var(--radius);padding:18px;margin:16px 0;
  background:#fff;box-shadow:0 6px 16px rgba(169,122,36,.12);position:relative;overflow:hidden;
}
.option:nth-of-type(2){border-color:var(--pink)}
.option h3{margin:0 0 6px;font-size:1.3rem}
.option .hook{font-style:italic;color:var(--muted);margin-bottom:10px}
.pages3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}
.page-thumb{
  background:linear-gradient(180deg,#fff8ec,#fbeed3);border:2px dashed #cbb894;border-radius:12px;
  aspect-ratio:1;display:flex;align-items:center;justify-content:center;
  font-size:.72rem;color:var(--muted);text-align:center;padding:6px;font-weight:700;
}
.badge{
  display:inline-block;background:linear-gradient(90deg,#ff9f43,#ff5d8f);
  color:#fff;font-size:.72rem;font-weight:800;border-radius:999px;
  padding:4px 12px;margin-bottom:8px;border:2px solid var(--coral-dark);
}
.opt-num{
  position:absolute;top:-6px;right:14px;font-family:var(--font-head);font-size:3.2rem;
  color:var(--gold-light);font-weight:800;opacity:.9;
}

/* ---------- Admin ---------- */
.page-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:10px 0}
.admin-bar{position:sticky;bottom:0;background:var(--paper);padding:12px;border-top:3px solid var(--gold);display:flex;gap:10px;border-radius:16px 16px 0 0}
.admin-bar .btn{flex:1;padding:12px;font-size:.95rem}
.admin-head{display:flex;align-items:center;gap:12px}
.admin-head img{width:64px;height:64px;object-fit:cover;border-radius:50%;border:3px solid #fff;box-shadow:0 4px 10px rgba(67,48,31,.18)}

/* ---------- Footer ---------- */
footer{margin:34px 0 0;text-align:center;color:#fff;font-size:.88rem}
.foot-inner{
  background:linear-gradient(135deg,#6d28d9,#ff5d8f 65%,#ff7a59);border-radius:24px 24px 0 0;
  padding:26px 18px 20px;border-top:4px solid var(--sun);
}
.seal-line{border-top:2px solid rgba(255,255,255,.25);margin-top:14px;padding-top:12px;font-size:.82rem;opacity:.95}
.foot-bee{font-size:1.6rem;animation:floaty 3.6s ease-in-out infinite;display:inline-block}

/* ---------- Utilidades ---------- */
.center{text-align:center}
.mt{margin-top:18px}
.divider-stars{
  text-align:center;letter-spacing:.4em;margin:20px 0;font-size:1.4rem;
  background:linear-gradient(90deg,#ff5d8f,#ff9f43,#ffd93d,#6bcb77,#4fc3f7,#8b5cf6);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

@media (min-width:560px){
  .hero h1{font-size:2.4rem}
  .float-bee{width:92px;height:92px}
}
@media (min-width:760px){
  .wrap{max-width:720px}
}
@media (prefers-reduced-motion:reduce){
  .float-bee,.hero-stars,.foot-bee,.stepper .s.now .dot,.sparkle,.price-card .mascot{animation:none}
  .btn::after{animation:none}
  .hero,.hero-art,.price-card{animation:none}
}
