/* ===========================================================================
   planificaciones.css — sección planificaciones/ (la arma
   herramientas/generar-planificaciones.js).
   =========================================================================== */

.pl-ante{margin:0 0 8px;font-family:var(--dato);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#C2185B}

/* ---------- puerta ---------- */
.pl-puerta-cabeza{position:relative}
.pl-puerta-cabeza h1 span{display:inline-block;background:var(--limon);padding:0 .14em .04em;border:var(--borde);border-radius:12px;transform:rotate(-2deg)}
.pl-puerta-cabeza img{position:absolute;right:24px;bottom:0;height:clamp(140px,15vw,190px);width:auto}
@media (max-width:860px){.pl-puerta-cabeza img{display:none}}

.pl-paso{margin:0 0 34px}
.pl-paso h2{display:flex;align-items:center;gap:12px;font-family:var(--titular);font-weight:800;font-size:clamp(1.4rem,3vw,1.9rem);letter-spacing:-.03em;margin:0 0 16px}
.pl-paso h2 span{display:grid;place-items:center;width:40px;height:40px;border:var(--borde);border-radius:50%;background:var(--limon);font-size:1.1rem}
.pl-cursos{display:grid;gap:14px;padding:20px 22px;border:var(--borde);border-radius:var(--radio);background:#fff;box-shadow:6px 6px 0 var(--tinta)}
.pl-grupo{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pl-grupo p{flex:0 0 100%;margin:0 0 2px;font-family:var(--dato);font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tenue)}
.pl-curso{
  padding:9px 15px;border:2px solid var(--tinta);border-radius:999px;background:var(--papel);color:var(--tinta);
  font-weight:700;text-decoration:none;transition:transform .12s,background .12s;
}
.pl-curso:hover{transform:translateY(-2px);background:var(--limon)}
.pl-curso[aria-current="true"]{background:var(--tinta);color:#fff;box-shadow:3px 3px 0 var(--chicle)}
.pl-elige{margin:0;padding:18px;border:2px dashed var(--linea);border-radius:14px;color:var(--tenue);text-align:center}
.pl-nivel h3{font-family:var(--titular);font-weight:800;font-size:1.3rem;margin:0 0 12px}
.pl-nivel + .pl-nivel{margin-top:26px}
.pl-asignaturas{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}
.pl-asignaturas a{
  display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;padding:14px 12px 16px;text-align:center;
  border:var(--borde);border-radius:16px;background:#fff;color:var(--tinta);text-decoration:none;font-weight:700;line-height:1.25;
  box-shadow:4px 4px 0 var(--tinta);transition:transform .15s,box-shadow .15s,background .15s;
}
.pl-asignaturas a:hover,.pl-asignaturas a:focus-visible{transform:translate(-2px,-3px);box-shadow:7px 7px 0 var(--tinta);background:#F4FBE3}
.pl-asignaturas img{width:auto;height:84px;object-fit:contain}

/* ---------- página de asignatura ---------- */
.pl-migas{margin:44px 0 0;font-size:.88rem;color:var(--tenue)}
.pl-migas a{color:var(--azul);font-weight:700}
.pl-cabeza{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px 30px;align-items:end;padding:16px 0 26px}
.pl-cabeza h1{font-family:var(--titular);font-weight:800;font-size:clamp(2.2rem,5.4vw,3.6rem);letter-spacing:-.04em;line-height:1.02;margin:0}
.pl-cabeza h1 span{display:inline-block;margin-top:6px;background:var(--limon);padding:0 .14em .04em;border:var(--borde);border-radius:12px;transform:rotate(-1.5deg)}
.pl-bajada{margin:14px 0 0;max-width:60ch;font-size:1.05rem;line-height:1.55;color:var(--tenue)}
.pl-datos{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0;padding:0}
.pl-datos li{padding:8px 14px;border:2px solid var(--tinta);border-radius:12px;background:#fff;font-size:.92rem}
.pl-datos b{font-family:var(--titular);font-size:1.2rem;margin-right:4px}
.pl-profe{margin:0;text-align:center}
.pl-profe img{height:clamp(140px,16vw,200px);width:auto}
.pl-profe figcaption{font-family:var(--dato);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tenue)}
@media (max-width:700px){.pl-cabeza{grid-template-columns:1fr}.pl-profe{display:none}}

.pl-llamado{
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px 26px;align-items:center;margin:8px 0 40px;padding:22px 28px;
  border:var(--borde);border-radius:var(--radio);background:var(--tinta);color:#fff;box-shadow:8px 8px 0 var(--chicle);
}
.pl-llamado img{height:120px;width:auto}
.pl-llamado .pl-ante{color:var(--limon)}
.pl-llamado h2{font-family:var(--titular);font-weight:800;font-size:clamp(1.3rem,2.8vw,1.8rem);letter-spacing:-.03em;margin:0 0 8px}
.pl-llamado p{margin:0;color:#C9D4F0;line-height:1.55;max-width:62ch}
.pl-llamado-botones{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:16px}
.pl-boton{
  display:inline-flex;align-items:center;gap:9px;padding:12px 20px;border-radius:999px;border:var(--borde);
  background:var(--limon);color:var(--tinta);font-family:var(--titular);font-weight:800;text-decoration:none;box-shadow:4px 4px 0 var(--cielo);
}
.pl-boton:hover,.pl-boton:focus-visible{background:var(--cielo)}
.pl-enlace{color:var(--limon);font-weight:700}
@media (max-width:640px){.pl-llamado{grid-template-columns:1fr}.pl-llamado img{height:90px}}

.pl-seccion{margin:0 0 36px}
.pl-seccion > h2{font-family:var(--titular);font-weight:800;font-size:clamp(1.6rem,3.6vw,2.2rem);letter-spacing:-.03em;margin:0 0 16px}

/* Línea del año: una franja por unidad, del ancho de sus horas. */
.pl-anio{display:flex;gap:4px;margin:0 0 6px}
.pl-tramo{
  min-width:56px;display:flex;flex-direction:column;justify-content:center;padding:10px 12px;border:2px solid var(--tinta);border-radius:10px;
  color:var(--tinta);text-decoration:none;line-height:1.15;
}
.pl-tramo b{font-family:var(--titular);font-size:1.05rem}
.pl-tramo span{font-family:var(--dato);font-size:.7rem}
.pl-tramo.c0{background:var(--limon)} .pl-tramo.c1{background:var(--cielo)} .pl-tramo.c2{background:#FF8CC4}
.pl-tramo.c3{background:#FFA477} .pl-tramo.c4{background:#C6B5FF}
.pl-tramo:hover{transform:translateY(-2px)}
.pl-anio-leyenda{margin:0 0 18px;font-size:.8rem;color:var(--tenue)}

.pl-unidades{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
@media (max-width:820px){.pl-unidades{grid-template-columns:1fr}}
.pl-unidad{padding:18px 20px;border:var(--borde);border-radius:16px;background:#fff;box-shadow:5px 5px 0 var(--tinta);scroll-margin-top:110px}
.pl-unidad-n{margin:0;font-family:var(--dato);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--azul)}
.pl-unidad h3{font-family:var(--titular);font-weight:800;font-size:1.25rem;letter-spacing:-.02em;line-height:1.15;margin:6px 0 4px}
.pl-ejes{margin:0 0 8px;font-weight:700;font-size:.88rem;color:var(--tenue)}
.pl-unidad > p{margin:6px 0 0;font-size:.93rem;line-height:1.55;color:#414A75}
.pl-claves{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0;padding:0}
.pl-claves li{padding:3px 9px;border:2px solid var(--tinta);border-radius:999px;font-size:.74rem;font-weight:700;background:var(--papel)}
.pl-unidad details,.pl-nucleo{margin-top:14px}
.pl-unidad summary,.pl-nucleo summary{cursor:pointer;font-weight:700;color:var(--azul)}
.pl-nucleo{padding:12px 16px;border:2px solid var(--tinta);border-radius:12px;background:#fff}
.pl-nucleo summary span{margin-left:6px;font-family:var(--dato);font-size:.72rem;color:var(--tenue)}
.pl-oa{margin:10px 0 0;padding-left:18px;display:grid;gap:8px;font-size:.9rem;line-height:1.5}
.pl-oa b{color:var(--tinta)}
.pl-oa ul{margin:4px 0 0;padding-left:18px}

.pl-fuente{margin:0 0 30px;font-size:.84rem;color:var(--tenue)}
.pl-fuente a{color:var(--azul);font-weight:700}
.pl-relacion{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0 0 40px;padding:20px 24px;border:2px dashed var(--tinta);border-radius:var(--radio)}
.pl-relacion h3{font-family:var(--titular);font-weight:800;font-size:1.05rem;margin:0 0 8px}
.pl-relacion ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px}
.pl-relacion a{color:var(--azul);font-weight:700;font-size:.9rem}
@media (max-width:700px){.pl-relacion{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.pl-curso,.pl-asignaturas a{transition:none}}

/* ---------- descargas ---------- */
.pl-descarga{background:#fff;color:var(--tinta);box-shadow:8px 8px 0 var(--limon)}
.pl-descarga h2{color:var(--tinta)}
.pl-descarga p{color:#414A75}
.pl-descarga .pl-ante{color:#C2185B}
.pl-descarga .pl-boton{box-shadow:4px 4px 0 var(--tinta)}
.pl-boton small{font-family:var(--dato);font-size:.7rem;font-weight:500;opacity:.75}
.pl-agenda{margin-top:16px !important;padding-top:12px;border-top:2px dashed #C3D6F5;font-size:.92rem}
.pl-agenda a{color:var(--azul);font-weight:700}
.pl-zips{display:flex;flex-wrap:wrap;gap:10px;margin:-4px 0 16px}
.pl-zip{
  display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:2px solid var(--tinta);border-radius:999px;
  background:var(--limon);color:var(--tinta);font-weight:700;text-decoration:none;box-shadow:3px 3px 0 var(--tinta);transition:transform .12s;
}
.pl-zip::before{content:"\2193";font-weight:800}
.pl-zip small{font-family:var(--dato);font-size:.7rem;font-weight:500;opacity:.75}
.pl-zip:hover,.pl-zip:focus-visible{transform:translate(-1px,-2px);background:var(--cielo)}
@media (prefers-reduced-motion:reduce){.pl-zip{transition:none}}
