/* UT1 · RA1: piezas propias (descargas, ideas clave, casos, actividades e impresión). */
:root{--ok-bg:#d7eee5;--ok-ink:#175341;--mal-bg:#fbe4e2;--mal-ink:#8b2f2f}
:root[data-theme="dark"]{--ok-bg:#123a2e;--ok-ink:#a6e6cf;--mal-bg:#3a1716;--mal-ink:#f3b7b1}

/* Descargas */
.descargas{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:20px 0}
.descarga{display:flex;flex-direction:column;gap:4px;padding:14px 16px 16px;border-top:4px solid var(--ink);background:var(--wash);color:var(--ink);text-decoration:none;min-height:44px}
.descarga:hover{background:var(--light)}
.descarga b{font-size:1.0625rem}
.descarga span{color:var(--muted);font-size:.9375rem}
.descarga .d-tipo{font:800 .75rem/1.3 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--navy)}

/* Idea clave y caso */
.clave{border:4px solid var(--ink);padding:18px 20px;margin:22px 0}
.clave p{font-size:1.1875rem;margin:4px 0 0;max-width:none}
.caso{background:var(--warn-bg);border-left:6px solid var(--warn-line);padding:16px 20px;margin:24px 0}
.caso h3{margin-top:4px}
.card.no{border-top-color:var(--warn-line)}
.card.no h3::before{content:"✕ ";color:var(--warn-line)}
.tres{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:18px 0;border:3px solid var(--ink)}
.tres span{padding:14px 10px;text-align:center;font:400 clamp(1.2rem,3vw,1.8rem)/1.1 var(--head);text-transform:uppercase;color:var(--ink)}
.tres span:first-child{background:var(--navy);color:var(--on-navy)}
.tres span+span{border-left:3px solid var(--ink)}
#educativa .tres span:first-child,#social .tres span:first-child{background:none;color:var(--ink)}
.glosario{display:grid;grid-template-columns:minmax(120px,max-content) 1fr;gap:0;margin:0}
.glosario dt{font-weight:800;color:var(--navy);padding:9px 14px 9px 0;border-top:1px solid var(--line)}
.glosario dd{margin:0;padding:9px 0;border-top:1px solid var(--line)}
table.comparar th[scope],table.comparar tbody th{width:9rem}
table.rubrica td,table.rubrica th{font-size:.9375rem}
td ul{margin:0;padding-left:18px}

/* Actividades */
.act{border-top:3px solid var(--navy);padding-top:6px;margin-top:10px}
.act .item{padding:12px 0;border-bottom:1px solid var(--line)}
.act .item p.enun{font-weight:700;margin:0 0 8px;color:var(--ink)}
.act .ops{display:flex;flex-wrap:wrap;gap:8px}
.act .ops label{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:6px 12px;border:2px solid var(--line);font-weight:600;margin:0;cursor:pointer;background:var(--paper);color:var(--ink)}
.act .ops.col{flex-direction:column}
.act .ops label:has(input:checked){border-color:var(--navy);background:var(--light)}
.act .ops input{accent-color:var(--navy);width:20px;height:20px;flex:none}
.act .item.ok .ops label:has(input:checked){border-color:var(--ok-ink);background:var(--ok-bg);color:var(--ok-ink)}
.act .item.mal .ops label:has(input:checked){border-color:var(--mal-ink);background:var(--mal-bg);color:var(--mal-ink)}
.act .expl{margin:8px 0 0;padding:9px 12px;background:var(--wash);border-left:4px solid var(--navy);font-size:.9375rem}
.act .item.ok .expl{border-left-color:var(--ok-ink)}
.act .item.mal .expl{border-left-color:var(--mal-ink)}
.act .expl b{color:var(--ink)}
.act select{max-width:320px}
.act textarea{min-height:110px}
.act .fila{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,260px);gap:12px;align-items:center}
.act .controls{margin-top:16px}
.act .result{font-size:1.0625rem}
.act .lineas{display:none}
.hecho::after{content:" ✓";color:var(--ok-ink)}

/* Progreso */
#progreso .barra-prog{height:14px;background:var(--wash);border:2px solid var(--ink);margin:10px 0}
#progreso .barra-prog span{display:block;height:100%;background:var(--navy);width:0;transition:width .4s}
#progreso ul{list-style:none;padding:0;margin:8px 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 18px}
#progreso li a{display:flex;justify-content:space-between;gap:8px;min-height:40px;align-items:center;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:600}
#progreso li a .est{font-size:.8125rem;color:var(--muted);font-weight:700}
#progreso li a .est.si{color:var(--ok-ink)}

@media (max-width:680px){
  .act .fila{grid-template-columns:1fr}
  .tres span{font-size:1.05rem;padding:10px 4px}
  .glosario{grid-template-columns:1fr}
  .glosario dd{border-top:0;padding-top:0}
}

/* Impresión: también para el PDF de estudio (?imprimir) */
@media print{
  @page{size:A4;margin:16mm 15mm 18mm}
  body{font-size:10.5pt;color:#000;background:#fff}
  :root{--ink:#000;--text:#111;--navy:#21557d;--wash:#f1f4f7;--paper:#fff;--line:#bbb}
  .cab{display:block!important;padding:0;margin:0 0 14px}
  .cab img{display:block!important;width:100%;max-height:62mm;object-fit:cover;filter:none!important}
  .cab-txt{margin-top:8px}
  .cab-txt h2{font-size:24pt!important}
  main>section>h2{font-size:24pt}
  .hero h1{font-size:34pt}
  .foto{display:block!important;margin-top:14px}
  .foto img{max-height:80mm;object-fit:cover}
  .foto::after{display:none}
  .act .controls,.act .result,.act .expl,.btn,#progreso,.descargas,.skip{display:none!important}
  .act .ops label{border:1px solid #888;min-height:0;padding:3px 8px}
  .act textarea,.act select,.act input[type=text]{display:none!important}
  .act .lineas{display:block;height:var(--h,26mm);background:repeating-linear-gradient(transparent 0 7.6mm,#999 7.6mm 7.9mm);margin-top:4px}
  .act .item{break-inside:avoid}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:8pt;color:#444;word-break:break-all}
  .footer{display:block}
}
.imprimir-todo .act .controls{display:none}
/* Ficha de una hoja (?imprimir&solo=sala) */
.ficha [data-act],.ficha h3:has(+ [data-act]),.ficha h3:has(+ p + [data-act]),.ficha p:has(+ [data-act]),.ficha .footer{display:none!important}
@media print{
  .ficha body{font-size:9.5pt}
  .ficha .cab img{max-height:40mm}
  .ficha main>section>h2,.ficha .cab-txt h2{font-size:20pt!important}
  .ficha table{font-size:9pt}
  .ficha th,.ficha td{padding:5px 7px}
  .ficha h3{margin:12px 0 6px}
}
@media print{
  .ficha .hero,.ficha .hero[hidden]{display:none!important}
  .ficha main>section{break-before:auto!important}
  .ficha main{padding:0}
  .ficha .cab{margin-bottom:8px}
  .ficha a[href^="http"]::after{content:none}
  .ficha p,.ficha li{margin:4px 0}
}
@media print{.ficha .cab img{max-height:30mm}.ficha body{font-size:9pt}.ficha .soft{padding:8px 12px}}
@media print{.ficha .cab img{display:none!important}}
