/* QuizPoL · «Unirme a una academia» (ventana emergente, js/academia-solicitar.js) */
.qps{--ink:#012a3c;--ink2:#4b5f72;--line:#e3e8ef;--card:#fff;--soft:#f5f7fa;--ease:cubic-bezier(.22,1,.36,1);
  position:fixed;inset:0;z-index:10080;background:rgba(15,23,42,.55);backdrop-filter:blur(5px);display:grid;place-items:center;padding:16px;
  opacity:0;pointer-events:none;transition:opacity .25s;font-family:inherit}
body.dark-version .qps{--ink:#fff;--ink2:rgba(255,255,255,.65);--line:rgba(255,255,255,.1);--card:#202940;--soft:#1a2035}
.qps.on{opacity:1;pointer-events:auto}
html.qps-abierta{overflow:hidden}
.qps *,.qps *::before,.qps *::after{box-sizing:border-box}
.qps-box{position:relative;width:100%;max-width:720px;max-height:92vh;overflow:auto;background:var(--card);color:var(--ink);border-radius:24px;
  box-shadow:0 30px 70px -20px rgba(0,0,0,.5);transform:scale(.9) translateY(24px);transition:transform .45s var(--ease);overscroll-behavior:contain}
.qps.on .qps-box{transform:none}
.qps-body{padding:0 22px 22px}
.qps-x{position:absolute;top:14px;right:14px;z-index:3;width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.2);color:#fff;font-size:1.4rem;line-height:1;cursor:pointer;transition:.25s}
.qps-x:hover{background:rgba(255,255,255,.35);transform:rotate(90deg)}
.qps-body>.qps-volver{margin-top:20px}
.qps-box.sin-hero .qps-x{background:var(--soft);color:var(--ink2)}

/* cabecera */
.qps-hero{position:relative;overflow:hidden;margin:0 -22px 18px;padding:26px 60px 24px 22px;color:#fff;display:flex;gap:16px;align-items:center;
  background:linear-gradient(120deg,#012a3c,var(--c2) 55%,var(--c1));border-radius:24px 24px 0 0}
.qps-hero h3{margin:0;font-size:1.25rem;font-weight:800;color:#fff}
.qps-hero p{margin:4px 0 0;font-size:.86rem;color:rgba(255,255,255,.85);line-height:1.45}
.qps-hero-ic{width:56px;height:56px;border-radius:18px;flex-shrink:0;display:grid;place-items:center;font-size:1.4rem;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);
  animation:qps-pop .6s var(--ease) both}
.qps-pz{position:absolute;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-weight:900;font-size:.85rem;opacity:.16;animation:qps-bob 7s ease-in-out infinite;pointer-events:none}
.qps-pz.a{background:#3dad02;right:22%;top:14%}.qps-pz.b{background:#01a1df;right:9%;bottom:12%;animation-delay:-2s}
.qps-pz.c{background:#f61831;right:36%;bottom:8%;animation-delay:-4s}.qps-pz.d{background:#feac02;right:3%;top:30%;animation-delay:-5s}
@keyframes qps-bob{50%{transform:translateY(-10px) rotate(8deg)}}
@keyframes qps-pop{from{opacity:0;transform:scale(.6) rotate(-10deg)}to{opacity:1;transform:none}}

/* buscador y tarjetas */
.qps-buscar{position:relative;margin-bottom:14px}
.qps-buscar i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#94a3b8}
.qps-buscar input{width:100%;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:14px;padding:12px 14px 12px 42px;font:inherit;font-size:.9rem;outline:none;transition:.2s}
.qps-buscar input:focus{border-color:#01a1df;box-shadow:0 0 0 4px rgba(1,161,223,.15)}
.qps-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.qps-card{display:flex;gap:12px;align-items:center;text-align:left;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:16px;padding:12px;cursor:pointer;
  font:inherit;min-width:0;transition:transform .3s var(--ease),border-color .3s,box-shadow .3s;animation:qps-in .45s var(--ease) both}
.qps-card:hover{transform:translateY(-3px);border-color:rgba(1,161,223,.45);box-shadow:0 14px 26px -16px rgba(1,42,60,.45)}
@keyframes qps-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.qps-card-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.qps-card-t b{font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qps-card-t small{font-size:.72rem;color:var(--ink2)}
.qps-card-t em{font-size:.74rem;color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qps-mini{display:flex;gap:4px;margin-top:4px}
.qps-mini i{width:20px;height:20px;border-radius:6px;display:grid;place-items:center;font-size:.62rem;color:#fff;background:linear-gradient(135deg,var(--c1),var(--c2))}
.qps-flecha{color:#94a3b8;transition:transform .25s}
.qps-card:hover .qps-flecha{transform:translateX(4px);color:#01a1df}
.qps-logo{position:relative;width:52px;height:52px;border-radius:15px;flex-shrink:0;display:grid;place-items:center;overflow:hidden;color:#fff;font-weight:800;
  background:linear-gradient(135deg,var(--c1),var(--c2));box-shadow:0 8px 16px -10px var(--c2)}
.qps-logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff;padding:5px}
.qps-logo.md{width:60px;height:60px}
.qps-logo.lg{width:76px;height:76px;border-radius:20px;font-size:1.3rem}

/* ficha */
.qps-volver{border:0;background:none;color:#01a1df;font:inherit;font-weight:800;font-size:.84rem;cursor:pointer;padding:0;display:inline-flex;gap:7px;align-items:center}
.qps-volver:hover i{transform:translateX(-3px)} .qps-volver i{transition:transform .2s}
.qps-ficha{margin-top:12px;border-radius:20px;padding:18px;color:#fff;position:relative;overflow:hidden;
  background:linear-gradient(120deg,#012a3c,#144684 45%,#1d5fa8);box-shadow:0 18px 36px -18px rgba(1,42,60,.8);animation:qps-in .5s var(--ease)}
.qps-ficha::after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:#01a1df;filter:blur(50px);opacity:.35;top:-90px;right:-40px;pointer-events:none}
.qps-ficha-top{display:flex;gap:14px;align-items:center;position:relative;z-index:1}
.qps-kicker{font-size:.66rem;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:#ffd27a}
.qps-ficha h3{margin:2px 0 0;font-size:1.3rem;font-weight:800;color:#fff}
.qps-ficha em{font-size:.86rem;color:rgba(255,255,255,.9)}
.qps-ficha p{position:relative;z-index:1;margin:12px 0 0;font-size:.86rem;color:rgba(255,255,255,.85);line-height:1.5}
.qps-info{position:relative;z-index:1;display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;font-size:.8rem;color:rgba(255,255,255,.85)}
.qps-info i{color:#ffd27a;margin-right:3px}
.qps-lbl{display:block;margin:16px 0 8px;font-size:.72rem;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--ink2)}
.qps-lbl small{text-transform:none;letter-spacing:0;font-weight:600}
.qps-redes{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}
.qps-red{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:14px;border:1px solid var(--line);background:var(--card);color:var(--ink)!important;text-decoration:none!important;
  transition:transform .25s var(--ease),border-color .25s,box-shadow .25s;animation:qps-in .45s var(--ease) both;min-width:0}
.qps-red:hover{transform:translateY(-3px);border-color:var(--c2);box-shadow:0 12px 22px -14px var(--c2)}
.qps-red>i:first-child{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;flex-shrink:0;color:#fff;background:linear-gradient(135deg,var(--c1),var(--c2));font-size:1rem}
.qps-red span{min-width:0;flex:1}
.qps-red b{display:block;font-size:.82rem}
.qps-red small{display:block;font-size:.7rem;color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qps-ext{color:#94a3b8;font-size:.72rem}
.qps textarea{width:100%;min-height:96px;resize:vertical;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:14px;padding:11px 13px;font:inherit;font-size:.88rem;outline:none}
.qps textarea:focus{border-color:#01a1df;box-shadow:0 0 0 4px rgba(1,161,223,.15)}
.qps-sugs{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.qps-sugs button{border:1px solid var(--line);background:var(--soft);color:var(--ink2);border-radius:999px;padding:5px 11px;font:inherit;font-size:.74rem;font-weight:700;cursor:pointer}
.qps-sugs button:hover{border-color:#01a1df;color:#01a1df}

/* botones y estados */
.qps-pie{display:flex;gap:10px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap}
.qps-btn{border:0;border-radius:13px;padding:11px 18px;font:inherit;font-weight:800;font-size:.86rem;cursor:pointer;background:rgba(148,163,184,.18);color:var(--ink2);text-decoration:none!important;display:inline-flex;gap:8px;align-items:center}
.qps-btn.pri{background:linear-gradient(135deg,#ffbe2e,#f08c00);color:#fff!important;box-shadow:0 10px 20px -10px #f08c00;transition:transform .2s}
.qps-btn.pri:hover{transform:translateY(-2px)}
.qps-btn:disabled{opacity:.6}
.qps-estado{display:flex;gap:14px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:14px}
.qps-estado>div{flex:1;min-width:0}
.qps-estado b{display:block;font-size:.95rem}
.qps-estado span{font-size:.76rem;color:var(--ink2)}
.qps-estado p{margin:6px 0 0;font-size:.8rem;color:var(--ink2);font-style:italic}
.qps-badge{padding:5px 11px;border-radius:999px;font-size:.72rem;font-weight:800;white-space:nowrap}
.qps-badge.pend{background:#fff2d6;color:#a86a00}
.qps-badge.pend i{animation:qps-gira 2.4s linear infinite}
@keyframes qps-gira{to{transform:rotate(360deg)}}
body.dark-version .qps-badge.pend{background:rgba(254,172,2,.18);color:#ffc94d}
.qps-motivo{border-radius:14px;padding:12px 14px;background:rgba(246,24,49,.08);border:1px solid rgba(246,24,49,.25)}
.qps-motivo b{color:#d90f25;font-size:.84rem}
.qps-motivo p{margin:6px 0 0;font-size:.86rem;white-space:pre-line}
.qps-motivo small{display:block;margin-top:6px;color:var(--ink2);font-size:.72rem}
.qps-txt{font-size:.84rem;color:var(--ink2);margin:12px 0 0}
.qps-ok{text-align:center;padding:10px 10px 6px}
.qps-ok p{color:var(--ink2);font-size:.9rem;max-width:420px;margin:12px auto 18px}
.qps-check{width:74px;height:74px;margin:6px auto 0;border-radius:50%;display:grid;place-items:center;font-size:2rem;color:#fff;background:linear-gradient(135deg,#4cc40a,#2b8a00);
  box-shadow:0 0 0 0 rgba(61,173,2,.5);animation:qps-pop .6s var(--ease) both,qps-onda 1.8s ease-out .6s 2}
@keyframes qps-onda{to{box-shadow:0 0 0 22px rgba(61,173,2,0)}}
.qps-cargando,.qps-vacio{text-align:center;padding:60px 16px;color:var(--ink2);font-size:.9rem}
.qps-vacio{grid-column:1/-1;padding:30px 16px}
.qps-vacio i{font-size:2rem;color:#01a1df;display:block;margin-bottom:8px}
.qps-spin{width:38px;height:38px;margin:0 auto 12px;border-radius:50%;border:4px solid var(--line);border-top-color:#01a1df;animation:qps-gira .8s linear infinite}

@media (max-width:640px){
  .qps{padding:0;place-items:end center}
  .qps-box{max-height:94vh;border-radius:24px 24px 0 0}
  .qps-body{padding:0 16px 18px}
  .qps-hero{margin:0 -16px 16px;padding:22px 54px 20px 16px}
  .qps-hero-ic{width:46px;height:46px;border-radius:14px;font-size:1.15rem}
  .qps-grid{grid-template-columns:1fr}
  .qps-pie .qps-btn{flex:1;justify-content:center}
}
@media (prefers-reduced-motion:reduce){ .qps *,.qps-box{animation:none!important;transition:none!important} }
