/* Metamorfosis Edu · una sola página. Colores del kit de marca en Canva (rosa, morado, azul, amarillo, naranja, lima).
   Los tonos "-t" son versiones más oscuras para texto: los colores del kit no se leen bien sobre blanco. */
:root{
  --fondo:#ffffff; --vidrio:rgba(255,255,255,.7); --suave:#fff3f8; --tinta:#2a2140; --gris:#5c5470; --linea:#f1d6e3; --blanco:#fff;
  --rosa:#ff7cae; --rosa-f:#fd68a4; --morado-m:#af63e7; --azul:#019cde; --celeste:#38b6ff; --amarillo:#ffc603; --naranja-m:#ff7b15; --lima:#c0df17;
  --verde:#7b34b5; --naranja:#c2306f; --morado:#7b34b5; --azul-t:#0273a6;
  --titulo:"Fredoka","Trebuchet MS",Verdana,sans-serif;
  --texto:"Nunito Sans","Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--rosa);color:var(--tinta);font:400 1.06rem/1.6 var(--texto)}
.wrap{max-width:1080px;margin:0 auto;padding-inline:20px}
h1,h2,h3{font-family:var(--titulo);line-height:1.15;margin:0;text-wrap:balance}
h1{font-size:clamp(2rem,5vw,3.1rem);font-weight:700}
h2{font-size:clamp(1.5rem,3.4vw,2.1rem);font-weight:600}
h3{font-size:1.12rem;font-weight:600}
p{margin:0}
a{color:var(--verde)}
a:focus-visible,.btn:focus-visible{outline:3px solid var(--morado);outline-offset:3px}
.skip{position:absolute;left:-999px}
.skip:focus{left:12px;top:12px;background:var(--blanco);padding:8px 12px;z-index:9}

.top{position:sticky;top:0;background:rgba(255,255,255,.8);backdrop-filter:blur(8px);border-bottom:1px solid var(--linea);z-index:5}
.top__in{display:flex;align-items:center;gap:16px;padding-block:10px}
.logo{display:flex;align-items:center;margin-right:auto}
.logo img{display:block;height:56px;width:auto}
@media (max-width:520px){.logo img{height:44px}}
.nav{display:flex;gap:20px}
.nav a{color:var(--tinta);text-decoration:none;font-weight:600}
.nav a:hover{color:var(--verde);text-decoration:underline}
@media (max-width:720px){.nav{display:none}}

.btn{display:inline-block;background:var(--rosa);color:var(--tinta);font:700 1rem var(--texto);text-decoration:none;padding:13px 22px;border-radius:999px}
.btn:hover{background:var(--amarillo)}
.btn--sm{padding:9px 16px;font-size:.92rem}
.link{font-weight:700}

.hero{padding-block:40px 12px}
.hero__in,.sec>.wrap{background:var(--vidrio);backdrop-filter:blur(7px);border-radius:28px;padding:32px;box-shadow:0 10px 40px rgba(42,33,64,.18)}
@media (max-width:560px){.hero__in,.sec>.wrap{padding:22px 18px;border-radius:22px}}
.hero__in{display:grid;grid-template-columns:1.5fr 1fr;gap:36px;align-items:center}
@media (max-width:820px){.hero__in{grid-template-columns:1fr}}
.eyebrow{font:700 .82rem var(--texto);letter-spacing:.08em;text-transform:uppercase;color:var(--morado);margin-bottom:12px}
.lead{font-size:1.15rem;color:var(--tinta);margin-top:16px;max-width:56ch}
.cta{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;margin-top:24px}
.datos{list-style:none;margin:0;padding:0;display:grid;gap:12px}
@media (max-width:820px){.datos{grid-template-columns:repeat(3,1fr)}}
@media (max-width:520px){.datos{grid-template-columns:1fr}}
.datos li{background:rgba(255,255,255,.6);border:1px solid var(--linea);border-radius:16px;padding:14px 18px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.datos b{font:700 2rem var(--titulo);color:var(--naranja);font-variant-numeric:tabular-nums}
.datos li:nth-child(2) b{color:var(--azul-t)}
.datos li:nth-child(3) b{color:var(--morado)}
.datos span{color:var(--gris)}
.fuente{font-size:.85rem;color:var(--tinta);margin-top:14px;background:var(--vidrio);border-radius:999px;padding:4px 14px;width:fit-content}

.sec{padding-block:22px}
.wrap.fuente{margin-inline:max(20px,calc((100% - 1080px)/2 + 20px))}
.sub{color:var(--tinta);margin-top:6px}
.grid{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.card{display:flex}
.card__btn{all:unset;box-sizing:border-box;width:100%;background:rgba(255,255,255,.6);border:2px solid rgba(255,255,255,.9);border-top:8px solid var(--c,var(--rosa));border-radius:18px;padding:12px;display:flex;flex-direction:column;gap:6px;transition:transform .18s,box-shadow .18s,background .18s}
.card__btn img{display:block;width:100%;height:auto;border-radius:12px;margin-bottom:4px}
.card__btn:hover,.card__btn:focus-visible{transform:translateY(-6px) rotate(-1deg);box-shadow:0 14px 28px rgba(42,33,64,.22);background:rgba(255,255,255,.9)}
.card__btn:focus-visible{outline:3px solid var(--morado);outline-offset:3px}
.card__d{font:700 clamp(1.1rem,1.9vw,1.35rem)/1.15 var(--titulo);color:var(--tinta);hyphens:auto;overflow-wrap:break-word}
.card__t{font:600 .95rem/1.3 var(--texto);color:var(--gris)}
.card__p{font-size:.88rem;color:var(--tinta)}
.card__ver{font:700 .88rem var(--texto);color:var(--morado)}
.filtros{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.filtro{font:700 .92rem var(--texto);color:var(--tinta);background:rgba(255,255,255,.7);border:2px solid var(--linea);border-radius:999px;padding:8px 16px}
.filtro:hover{border-color:var(--rosa)}
.filtro[aria-pressed="true"]{background:var(--tinta);color:#fff;border-color:var(--tinta)}
.filtro:focus-visible{outline:3px solid var(--morado);outline-offset:3px}
.grupo{margin-top:30px}
.grupo[hidden]{display:none}
.grupo__t{font-size:1.3rem;display:flex;align-items:center;gap:10px}
.grupo__t::before{content:"";width:16px;height:16px;border-radius:50%;background:var(--c);flex:none}
.grupo__d{color:var(--tinta);margin-top:4px}
.grupo .grid{margin-top:14px}
.grupo--motor{--c:var(--rosa)}.grupo--escritura{--c:var(--amarillo)}.grupo--lectura{--c:var(--morado-m)}.grupo--mate{--c:var(--celeste)}.grupo--entorno{--c:var(--lima)}.grupo--integral{--c:var(--naranja-m)}
@media (prefers-reduced-motion:reduce){.card__btn{transition:none}.card__btn:hover{transform:none}}
.tag{font:700 .78rem var(--texto);letter-spacing:.04em;text-transform:uppercase;color:var(--morado)}
.precio{margin-top:auto;font:700 1.25rem var(--titulo);color:var(--azul-t);font-variant-numeric:tabular-nums}
.centro{text-align:center;margin-top:30px}

.grados{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:22px}
.grados article{background:rgba(255,255,255,.6);border-radius:16px;padding:20px;border-top:5px solid var(--rosa)}
.grados article:nth-child(2){border-top-color:var(--amarillo)}
.grados article:nth-child(3){border-top-color:var(--celeste)}
.grados p{color:var(--gris);margin-top:8px}
.h2--esp{margin-top:40px}
.chips{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips li{background:rgba(255,255,255,.6);border:1px solid var(--linea);border-radius:999px;padding:6px 14px;font-weight:600}

.sobre{display:grid;grid-template-columns:1.4fr 1fr;gap:36px;align-items:start}
@media (max-width:820px){.sobre{grid-template-columns:1fr}}
.sobre p{margin-top:14px;max-width:60ch}
.nota{background:rgba(255,243,248,.6);border-radius:20px;padding:24px}
.nota ol{margin:12px 0 20px;padding-left:20px}
.nota li{margin-top:6px}

.pie{background:var(--tinta);color:#efe8f7;border-top:6px solid var(--lima);padding-block:24px;font-size:.92rem}
.pie__in{display:flex;flex-wrap:wrap;gap:6px 24px;justify-content:space-between}

/* Fondo: collage de portadas que se mueve despacio, teñido con los colores de la marca. */
.fondo{position:fixed;inset:0;z-index:-1;overflow:hidden;background:#fff}
.fondo::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,124,174,.5),rgba(175,99,231,.44) 35%,rgba(56,182,255,.44) 65%,rgba(255,198,3,.44))}
.fila{display:flex;width:max-content;transform-origin:center;animation:correr 90s linear infinite}
.fila{align-items:center;gap:54px;margin-bottom:40px}
.fila .it{flex:none;display:block}
.fila .tx{font:700 110px/1 var(--titulo)}
.fila .pz{display:block;width:44px;height:110px}
.fila--b{animation-direction:reverse;animation-duration:110s}
.fondo{display:flex;flex-direction:column;justify-content:center;rotate:-7deg;scale:1.35}
@keyframes correr{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 27px))}}
@media (max-width:560px){.fila{gap:34px;margin-bottom:26px}.fila .tx{font-size:66px}.fila .pz{width:28px;height:70px}}
@media (prefers-reduced-motion:reduce){.fila{animation:none}}

.visor{--c:var(--rosa);border:5px solid #fff;border-radius:28px;padding:0;max-width:min(860px,92vw);width:100%;overflow:hidden;background:radial-gradient(circle at 12% 18%,rgba(255,255,255,.75) 0 60px,transparent 61px),radial-gradient(circle at 88% 82%,rgba(255,255,255,.5) 0 90px,transparent 91px),linear-gradient(140deg,var(--c),#fff3f8 62%,#fff);color:var(--tinta);box-shadow:0 30px 80px rgba(42,33,64,.5)}
.visor[open]{display:grid;grid-template-columns:1fr 1fr;align-items:center;animation:abrir .45s cubic-bezier(.2,1.4,.4,1)}
@keyframes abrir{from{transform:scale(.55) rotate(-7deg);opacity:0}to{transform:none;opacity:1}}
.visor__m{padding:26px;perspective:700px}
.visor__m img{border-radius:18px;border:5px solid #fff;box-shadow:0 18px 40px rgba(42,33,64,.35);transition:transform .15s ease-out;animation:flotar 3.2s ease-in-out infinite}
@keyframes flotar{50%{translate:0 -8px}}
.visor__d{background:rgba(255,255,255,.72);border-radius:20px;margin:22px 22px 22px 0}
.visor::backdrop{background:rgba(42,33,64,.6);backdrop-filter:blur(3px)}
.visor img{width:100%;height:auto;display:block}
.visor__d{padding:28px 24px;display:flex;flex-direction:column;gap:12px;justify-content:center;align-items:flex-start}
.visor__x{position:absolute;top:10px;right:12px;width:40px;height:40px;border-radius:50%;border:0;background:var(--tinta);color:#fff;font-size:1.5rem;line-height:1}
@media (max-width:640px){.visor[open]{grid-template-columns:1fr}}
.sec,.hero{scroll-margin-top:84px}
@media (max-width:560px){.grid{grid-template-columns:repeat(2,1fr);gap:10px}.card__btn{padding:8px}.card__t{font-size:.95rem}.tag{font-size:.68rem}}
.visor__d{padding:34px 28px}
.visor__dest{font:700 2rem/1.1 var(--titulo);color:var(--naranja)}
.visor h2{font-size:1.15rem}

/* Cursor: lápiz amarillo con mariposa. Barra de desplazamiento: manzana (Chrome, Edge y Safari). */
/* 32 px: Chrome quita los cursores más grandes cerca de los bordes de la ventana. */
html,html *,dialog::backdrop{cursor:url("data:image/png;base64,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") 3 3,auto}
html::-webkit-scrollbar{width:30px}
html::-webkit-scrollbar-track{background:rgba(255,255,255,.55)}
html::-webkit-scrollbar-thumb{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='32' viewBox='0 0 28 32'%3E%3Cpath d='M14 10C9 6 1 8 1 17c0 7 5 14 9 14 2 0 2-1 4-1s2 1 4 1c4 0 9-7 9-14 0-9-8-11-13-7Z' fill='%23e3312d' stroke='%23a3211e' stroke-width='1'/%3E%3Cpath d='M14 11c0-4 1-7 4-9' fill='none' stroke='%237a4a22' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M13 6C10 1 5 1 3 2c1 4 5 6 10 4Z' fill='%23c0df17' stroke='%238fae00' stroke-width='.8'/%3E%3Cellipse cx='8' cy='16' rx='2' ry='3.5' fill='%23fff' opacity='.35'/%3E%3C/svg%3E") center/26px 30px no-repeat,rgba(255,124,174,.35);border-radius:15px;min-height:56px;border:1px solid rgba(255,255,255,.8)}
html::-webkit-scrollbar-thumb:hover{background-color:rgba(255,124,174,.6)}

/* --- Efectos y celular --- */
.mari{position:fixed;left:0;top:0;width:46px;height:38px;margin:-19px 0 0 -23px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-12 -10 24 20'%3E%3Cpath d='M0 0C-2-7-9-8-10-4c-1 3 2 6 6 5-4 1-5 5-3 7 3 2 7-2 7-8Z' fill='%23af63e7' stroke='%23fff' stroke-width='1'/%3E%3Cpath d='M0 0C2-7 9-8 10-4c1 3-2 6-6 5 4 1 5 5 3 7-3 2-7-2-7-8Z' fill='%23af63e7' stroke='%23fff' stroke-width='1'/%3E%3Ccircle cx='-5.5' cy='-2.5' r='1.6' fill='%23ffc603'/%3E%3Ccircle cx='5.5' cy='-2.5' r='1.6' fill='%23ffc603'/%3E%3Ccircle cx='-3.5' cy='4' r='1.1' fill='%23ffc603'/%3E%3Ccircle cx='3.5' cy='4' r='1.1' fill='%23ffc603'/%3E%3C/svg%3E") center/contain no-repeat;pointer-events:none;z-index:99;animation:volar 1s ease-out forwards}
.mari::after{content:""}
@keyframes volar{0%{transform:translate(var(--x),var(--y)) scale(.3,.3);opacity:0}15%{transform:translate(var(--x),calc(var(--y) - 8px)) scale(1,1);opacity:1}30%{transform:translate(calc(var(--x) + 6px),calc(var(--y) - 22px)) scale(.35,1)}45%{transform:translate(calc(var(--x) - 4px),calc(var(--y) - 36px)) scale(1,1)}60%{transform:translate(calc(var(--x) + 8px),calc(var(--y) - 52px)) scale(.35,1)}78%{transform:translate(calc(var(--x) + 2px),calc(var(--y) - 68px)) scale(1,1);opacity:.9}100%{transform:translate(calc(var(--x) + 12px),calc(var(--y) - 92px)) scale(.4,.9);opacity:0}}
.js .card{opacity:0;transform:translateY(18px);transition:opacity .45s,transform .45s}
.js .card.ver{opacity:1;transform:none}
.manzana,.abajo{display:none}
.filtro,.btn{min-height:44px;box-sizing:border-box;display:inline-flex;align-items:center}
.visor__x{width:44px;height:44px}
@media (prefers-reduced-motion:reduce){.js .card{opacity:1;transform:none;transition:none}}
@media (max-width:720px){
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
  .top__in{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
  .filtros{flex-wrap:nowrap;overflow-x:auto;position:sticky;top:64px;z-index:4;margin-inline:-18px;padding:8px 18px;background:rgba(255,255,255,.86);backdrop-filter:blur(8px);scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .filtros::-webkit-scrollbar{display:none}
  .filtro{flex:none;white-space:nowrap}
  .abajo{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:6;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-top:1px solid var(--linea);padding:6px max(8px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-right));gap:6px}
  .abajo a{flex:1;min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center;font:700 .82rem var(--texto);color:var(--tinta);text-decoration:none;border-radius:14px}
  .abajo a.tienda{background:var(--rosa)}
  .manzana{display:block;position:fixed;right:4px;top:76px;width:26px;height:30px;z-index:5;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='32' viewBox='0 0 28 32'%3E%3Cpath d='M14 10C9 6 1 8 1 17c0 7 5 14 9 14 2 0 2-1 4-1s2 1 4 1c4 0 9-7 9-14 0-9-8-11-13-7Z' fill='%23e3312d' stroke='%23a3211e' stroke-width='1'/%3E%3Cpath d='M14 11c0-4 1-7 4-9' fill='none' stroke='%237a4a22' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M13 6C10 1 5 1 3 2c1 4 5 6 10 4Z' fill='%23c0df17' stroke='%238fae00' stroke-width='.8'/%3E%3Cellipse cx='8' cy='16' rx='2' ry='3.5' fill='%23fff' opacity='.35'/%3E%3C/svg%3E") center/contain no-repeat;pointer-events:none;filter:drop-shadow(0 2px 4px rgba(42,33,64,.35));will-change:transform}
  .fila:nth-child(4){display:none}
  .visor{margin:auto 0 0;max-width:100%;width:100%;border-radius:26px 26px 0 0;padding-bottom:env(safe-area-inset-bottom)}
  .visor[open]{animation:subir .28s ease-out}
  .visor[open]{grid-template-columns:1fr}
  .visor::before{content:"";display:block;width:44px;height:5px;border-radius:3px;background:var(--linea);margin:10px auto 0}
  .visor__m{padding:14px 14px 0;text-align:center}
  .visor img{width:auto;max-width:62%;max-height:32vh;margin:0 auto}
  .visor__d{margin:12px}
  .visor__d{padding-top:14px}
  .pie{padding-bottom:28px}
}
@keyframes subir{from{transform:translateY(100%)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.visor[open]{animation:none}.visor__m img{animation:none}.mari{display:none}}
.busca{margin-top:18px}
.busca__l{display:block;font:700 .92rem var(--texto);margin-bottom:6px}
.busca__f{display:flex;gap:8px;flex-wrap:wrap}
.busca input{flex:1 1 220px;min-height:48px;box-sizing:border-box;font:600 16px var(--texto);color:var(--tinta);background:rgba(255,255,255,.85);border:2px solid var(--linea);border-radius:999px;padding:0 20px}
.busca input::placeholder::placeholder{color:var(--gris)}
.busca input:focus:focus{outline:3px solid var(--morado);outline-offset:2px;border-color:var(--rosa)}
.busca__n{font-size:.9rem;margin-top:6px;min-height:1.4em}
.card[hidden]{display:none}
.grupo.vacio{display:none}

/* Suscripción */
.sus{display:grid;grid-template-columns:1fr 1.1fr;gap:32px;align-items:start}
@media (max-width:820px){.sus{grid-template-columns:1fr;gap:20px}}
.sus__pts{margin:16px 0 0;padding-left:20px}
.sus__pts li{margin-top:6px}
.sus__f{background:rgba(255,255,255,.62);border:2px solid rgba(255,255,255,.9);border-radius:22px;padding:20px;display:flex;flex-direction:column;gap:16px}
.sus fieldset{border:0;margin:0;padding:0;min-width:0}
.sus legend,.campo label{font:700 1rem var(--titulo);padding:0;margin-bottom:8px;display:block}
.regalos{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
@media (max-width:560px){.regalos{grid-template-columns:1fr}}
.regalo input,.rol input{position:absolute;opacity:0;width:1px;height:1px}
.regalo__c{display:flex;flex-direction:column;gap:2px;height:100%;box-sizing:border-box;background:rgba(255,255,255,.75);border:3px solid var(--linea);border-top:8px solid var(--c);border-radius:16px;padding:12px;transition:transform .15s,box-shadow .15s}
.regalo__c b{font:700 1.05rem var(--titulo)}
.regalo__c span{font-size:.86rem;color:var(--tinta)}
.regalo input:checked+.regalo__c{border-color:var(--c);background:#fff;box-shadow:0 8px 18px rgba(42,33,64,.18);transform:translateY(-3px)}
.regalo input:focus-visible+.regalo__c,.rol input:focus-visible+span{outline:3px solid var(--morado);outline-offset:2px}
.roles{display:flex;flex-wrap:wrap;gap:8px}
.rol span{display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box;font:700 .9rem var(--texto);background:rgba(255,255,255,.75);border:2px solid var(--linea);border-radius:999px;padding:0 16px}
.rol input:checked+span{background:var(--tinta);color:#fff;border-color:var(--tinta)}
.campo input{width:100%;min-height:50px;box-sizing:border-box;font:600 16px var(--texto);color:var(--tinta);background:#fff;border:2px solid var(--linea);border-radius:14px;padding:0 16px}
.campo input:focus{outline:3px solid var(--morado);outline-offset:2px;border-color:var(--rosa)}
.campo input[aria-invalid="true"]{border-color:#c22}
.campo__e{color:#a3181d;font:600 .9rem var(--texto);min-height:1.3em;margin-top:4px}
.sus__b{justify-content:center;font-size:1.05rem}
.sus__n{font-size:.84rem;color:var(--tinta)}
.sus__ok{background:var(--tinta);color:#fff;border-radius:14px;padding:12px 14px;font-weight:600}
.sus__ok[hidden]{display:none}
@media (prefers-reduced-motion:reduce){.regalo__c{transition:none}.regalo input:checked+.regalo__c{transform:none}}

/* Ayuda: diccionario con la mariposa de espejuelos */
.ayuda{display:grid;grid-template-columns:250px 1fr;gap:28px;align-items:start}
@media (max-width:720px){.ayuda{grid-template-columns:1fr;gap:8px}.ayuda__m{text-align:center}.mascota{width:130px}}
.mascota{width:240px;height:auto;display:block;margin:0 auto;animation:flotar 3.2s ease-in-out infinite;filter:drop-shadow(0 10px 14px rgba(42,33,64,.25))}
.ala{transform-origin:100px 92px;animation:aletear 1.6s ease-in-out infinite}
.ala--d{animation-name:aletear2}
@keyframes aletear{50%{transform:scaleX(.72)}}
@keyframes aletear2{50%{transform:scaleX(.72)}}
.mascota.salta{animation:saltar .6s ease-out,flotar 3.2s ease-in-out .6s infinite}
@keyframes saltar{30%{translate:0 -22px;rotate:-6deg}60%{translate:0 0;rotate:5deg}}
.dic{margin-top:16px}
.globo{position:relative;margin-top:18px;background:#fff;border:3px solid var(--morado-m);border-radius:20px;padding:16px 18px;font-size:1.05rem;min-height:4.6em}
.globo::before{content:"";position:absolute;left:-14px;top:26px;width:22px;height:22px;background:#fff;border-left:3px solid var(--morado-m);border-bottom:3px solid var(--morado-m);rotate:45deg}
@media (max-width:720px){.globo::before{left:50%;top:-14px;margin-left:-11px;rotate:135deg}}
.chips2{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.chips2 .filtro{min-height:40px;font-size:.84rem;padding:6px 12px}
@media (prefers-reduced-motion:reduce){.mascota,.ala,.mascota.salta{animation:none}}
.globo{margin-top:10px}
@media (min-width:721px){.ayuda__c .chips2{max-height:none}}

/* Créditos de artistas */
.artistas{list-style:none;margin:20px 0 14px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.artista{background:rgba(255,255,255,.66);border:2px solid rgba(255,255,255,.9);border-top:8px solid var(--morado-m);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:8px}
.artista h3{font-size:1.3rem}
.artista__c{font:700 1rem var(--titulo);background:#fff;border:2px dashed var(--morado-m);border-radius:12px;padding:8px 12px;width:fit-content}
.artista__e{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin-top:4px}
.pie a{color:#fff}

/* Las 131 tarjetas: cada categoría muestra 8 y un botón para ver el resto */
.grupo.cerrado .card.extra{display:none}
#recursos.buscando .grupo.cerrado .card.extra:not([hidden]){display:flex}
#recursos.buscando .mas{display:none}
.mas{margin-top:14px}
.grupo__n{font:700 .8rem var(--texto);background:var(--tinta);color:#fff;border-radius:999px;padding:2px 10px}
.grupo--salon{--c:var(--azul)}
.precio.gratis{color:#1c7a3b}
.regalo__c img{display:block;width:100%;height:auto;border-radius:10px;margin-bottom:6px}
@media (max-width:560px){.regalo__c{display:grid;grid-template-columns:84px 1fr;column-gap:12px;align-items:center}.regalo__c img{grid-row:span 2;margin:0}.regalo__c b{align-self:end}.regalo__c span{align-self:start}}
.sus__ok a{color:#ffe07a;font-weight:700}
.sus__v{display:block;margin-top:6px;font-weight:400;font-size:.86rem;opacity:.9}

/* Categorías en la página principal: una ficha por categoría. Los recursos se abren al tocarla. */
.cats{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:980px){.cats{grid-template-columns:repeat(3,1fr)}}
@media (max-width:680px){.cats{grid-template-columns:repeat(2,1fr);gap:10px}}
.cats[hidden],.volver[hidden]{display:none}
.cats li{display:flex}
.cat{all:unset;box-sizing:border-box;width:100%;display:flex;flex-direction:column;gap:4px;background:rgba(255,255,255,.66);border:2px solid rgba(255,255,255,.9);border-top:8px solid var(--c,var(--rosa));border-radius:18px;padding:12px;transition:transform .18s,box-shadow .18s,background .18s}
.cat img{display:block;width:96px;height:96px;object-fit:cover;border-radius:14px;margin-bottom:6px}
.cat__t{font:700 1.08rem/1.2 var(--titulo);color:var(--tinta)}
.cat__d{font-size:.86rem;color:var(--tinta);line-height:1.35}
.cat__n{font:700 .8rem var(--texto);color:var(--morado);margin-top:auto;padding-top:6px}
.cat:hover,.cat:focus-visible{transform:translateY(-4px);box-shadow:0 12px 24px rgba(42,33,64,.2);background:rgba(255,255,255,.92)}
.cat:focus-visible{outline:3px solid var(--morado);outline-offset:3px}
@media (max-width:680px){.cat{padding:10px}.cat img{width:72px;height:72px}.cat__t{font-size:.98rem}.cat__d{font-size:.8rem}}
.grupo--gratis{--c:var(--verde-m,#7ac943)}
.volver{margin-top:18px}
.btn--claro{background:rgba(255,255,255,.85);color:var(--tinta);border:2px solid var(--linea)}
.grupo__t:focus{outline:none}
.grupo{scroll-margin-top:84px}
/* Recursos dentro de una categoría: tarjetas más pequeñas */
.grupo .grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.grupo .card__btn{padding:10px;gap:4px;border-top-width:6px;border-radius:16px}
.grupo .card__btn img{width:100%;max-width:132px;border-radius:10px}
.grupo .card__d{font-size:1rem}
.grupo .card__t{font-size:.86rem}
.grupo .card__p{font-size:.8rem}
@media (max-width:560px){.grupo .grid{grid-template-columns:repeat(2,1fr);gap:8px}.grupo .card__btn img{max-width:96px}}
/* Regalos exclusivos: tres espacios reservados */
.exclu{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.exclu__i{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;min-height:132px;background:rgba(255,255,255,.55);border:3px dashed var(--c);border-radius:16px;padding:12px}
.exclu__n{font:700 1.5rem var(--titulo);width:44px;height:44px;border-radius:50%;background:var(--c);color:var(--tinta);display:grid;place-items:center;margin-bottom:4px}
.exclu__i b{font:700 .98rem var(--titulo)}
.exclu__i span:last-child{font-size:.84rem;color:var(--tinta)}
@media (max-width:560px){.exclu{gap:6px}.exclu__i{min-height:108px;padding:8px}.exclu__i b{font-size:.86rem}}
.sus__f .sus__pts{margin-top:0}
/* Títulos de categoría: la misma letra y los mismos colores de las letras del fondo, más grandes.
   El color se oscurece un poco para que se lea sobre el cuadro blanco. */
.cat__t,.grupo__t{color:var(--tinta);color:color-mix(in srgb,var(--c) 58%,var(--tinta))}
.cat__t{font:700 1.6rem/1.08 var(--titulo);letter-spacing:.005em;hyphens:auto;overflow-wrap:break-word;margin-bottom:2px}
.grupo__t{font-size:1.9rem}
.cat__d{font-size:.92rem}
@media (max-width:680px){.cat__t{font-size:1.28rem}.grupo__t{font-size:1.5rem}.cat__d{font-size:.84rem}}
.cats li{min-width:0}
@media (max-width:420px){.cat__t{font-size:1.14rem}}
/* Fichas de categoría: portada centrada y grande. */
.cat{align-items:center;text-align:center;padding:14px}
.cat img{width:100%;max-width:210px;height:auto;aspect-ratio:1;margin:0 auto 8px}
.cat__n{align-self:center}
@media (max-width:680px){.cat img{width:100%;max-width:none;height:auto}}
/* Dentro de una categoría: recursos centrados y portada hasta el margen del cuadro. */
.grupo .grid{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.grupo .card{flex:0 1 208px;min-width:0}
.grupo .card__btn{align-items:stretch;text-align:center;padding:8px 8px 12px}
.grupo .card__btn img{width:100%;max-width:none;height:auto;aspect-ratio:1;object-fit:cover;margin:0 0 6px}
.grupo .card__btn .precio{margin-top:auto}
@media (max-width:560px){.grupo .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.grupo .card{flex:none}.grupo .card__btn{padding:6px 6px 10px}.grupo .card__btn img{max-width:none}}

/* Texto solo para lectores de pantalla (no se ve) */
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Productos para maestros (2026-10-14). Cada ficha toma el color de la categoría que acompaña (--c). */
.prods{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:980px){.prods{grid-template-columns:repeat(2,1fr)}}
@media (max-width:420px){.prods{grid-template-columns:1fr}}
.prod{position:relative;display:flex;flex-direction:column;gap:6px;min-width:0;background:rgba(255,255,255,.66);border:2px solid rgba(255,255,255,.9);border-top:8px solid var(--c,var(--rosa));border-radius:18px;padding:16px 14px 14px;transition:transform .18s,box-shadow .18s,background .18s}
.prod:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(42,33,64,.18);background:rgba(255,255,255,.92)}
.prod__ic{font-size:1.9rem;line-height:1;width:56px;height:56px;display:grid;place-items:center;border-radius:16px;background:color-mix(in srgb,var(--c) 22%,#fff)}
.prod__tipo{font:700 .74rem var(--texto);letter-spacing:.06em;text-transform:uppercase;color:var(--morado)}
.prod h3{font-size:1.14rem;color:color-mix(in srgb,var(--c) 50%,var(--tinta))}
.prod p{font-size:.9rem;line-height:1.4;color:var(--tinta)}
.prod__va{all:unset;box-sizing:border-box;margin-top:auto;min-height:44px;display:flex;align-items:center;font:700 .86rem var(--texto);color:var(--verde);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.prod__va:hover{color:var(--tinta)}
.prod__va:focus-visible{outline:3px solid var(--morado);outline-offset:2px;border-radius:6px}
.prod__est{position:absolute;top:12px;right:12px;font:700 .72rem var(--texto);background:var(--tinta);color:#fff;border-radius:999px;padding:4px 10px}
.prods__pie{margin-top:18px;font-weight:600}
@media (prefers-reduced-motion:reduce){.prod{transition:none}.prod:hover{transform:none}}

/* Arreglo: a 320 px la sección Regalo se salía de la pantalla. */
.sus>*{min-width:0}
@media (max-width:360px){.exclu{grid-template-columns:1fr}.exclu__i{min-height:0;flex-direction:row;gap:10px;justify-content:flex-start}.exclu__n{margin:0}}
/* Menú del celular con 6 botones: en pantallas muy pequeñas se esconde «Por grado» (la sección está justo debajo de Productos). */
@media (max-width:400px){.abajo{gap:4px}.abajo a{font-size:.76rem}.abajo a.abajo__opc{display:none}}
