/* Ficha de curso - estilos. Subir a /visor/ficha.css */
  #ficha-app{max-width:1100px;margin:40px auto;padding:20px;background:#fff;color:#2c3e50;line-height:1.6;box-sizing:border-box;font-family:system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif}
  #ficha-app *{box-sizing:border-box}
  #ficha-app .f-cab{border-bottom:2px solid #0d6d69;padding-bottom:20px;margin-bottom:24px}
  #ficha-app .f-logo{max-height:45px;width:auto;display:block;margin-bottom:20px}
  #ficha-app .f-badge{display:inline-block;background:#e6f4f3;color:#0a5551;padding:6px 12px;border-radius:4px;font-size:.85em;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
  #ficha-app h1{color:#1a365d;font-size:2.2em;margin:15px 0 10px;line-height:1.2}
  #ficha-app h1:focus{outline:none}
  #ficha-app .f-meta{color:#555;font-size:1.1em;margin:0}
  #ficha-app .f-sep{color:#94a3b8;padding:0 6px}
  #ficha-app a{color:#0a5551}
  #ficha-app a:focus-visible,#ficha-app button:focus-visible,#ficha-app select:focus-visible,#ficha-app summary:focus-visible,#ficha-app input:focus-visible,#ficha-app textarea:focus-visible{outline:3px solid #b45309;outline-offset:2px}
  #ficha-app .f-selector{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;padding:12px 16px;margin-bottom:24px}
  #ficha-app .f-selector label{font-weight:700;color:#1a365d}
  #ficha-app .f-selector select{flex:1 1 320px;min-width:0;padding:10px;border:1px solid #94a3b8;border-radius:4px;background:#fff;color:#1e293b;font-size:1em}
  #ficha-app .f-aviso{background:#fef3c7;border:1px solid #b45309;color:#78350f;border-radius:6px;padding:10px 14px;margin-bottom:18px}
  #ficha-app .f-grid{display:grid;grid-template-columns:2fr 1fr;gap:30px;align-items:start;margin-bottom:40px}
  #ficha-app .f-ilus{margin:0 0 20px;border-radius:8px;overflow:hidden;border:1px solid #e2e8f0;background:#f8f9fa}
  #ficha-app .f-ilus img{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover}
  #ficha-app h3{color:#1a365d;font-size:1.15em;margin:25px 0 8px}
  #ficha-app ul.f-lista{padding-left:20px;margin:0 0 20px}
  #ficha-app ul.f-lista li{margin-bottom:8px}
  #ficha-app .f-unidades{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:10px}
  #ficha-app .f-unidades a{display:flex;justify-content:space-between;gap:12px;align-items:baseline;border:1px solid #cbd5e1;border-radius:6px;padding:12px 14px;text-decoration:none;color:#1e293b;background:#fff}
  #ficha-app .f-unidades a:hover{border-color:#0d6d69;background:#f0fdfa}
  #ficha-app .f-unidades b{color:#0a5551}
  #ficha-app .f-unidades li > ul{list-style:none;margin:6px 0 0 14px;padding:0;display:grid;gap:6px}
  #ficha-app .f-unidades li > ul a{padding:8px 12px;font-size:.92em;background:#f8fafc}
  #ficha-app .f-unidades small{white-space:nowrap;color:#475569}
  #ficha-app .f-acciones{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:25px;box-shadow:0 4px 6px rgba(0,0,0,.02);position:sticky;top:20px}
  #ficha-app .f-acciones h3{margin-top:0;font-size:1.2em;text-align:center}
  #ficha-app .f-acciones p{font-size:.9em;color:#555;text-align:center;margin:0 0 20px}
  #ficha-app .f-btn{display:block;text-align:center;padding:12px 20px;border-radius:6px;text-decoration:none;font-weight:700;font-size:.95em;color:#fff!important;margin-bottom:15px}
  #ficha-app .f-btn.verde{background:#0d6d69}
  #ficha-app .f-btn.azul{background:#1a365d;margin-bottom:0}
  #ficha-app .f-btn.borde{background:#fff;color:#0a5551!important;border:2px solid #0d6d69}
  #ficha-app .f-mini{font-size:.92em;color:#475569;margin:0 0 8px}
  #ficha-app .f-nota{font-size:.85em;color:#475569;text-align:center;margin:0 0 15px}
  #ficha-app .f-garantias{margin:40px 0;border:1px solid #e0e0e0;border-radius:8px;padding:30px}
  #ficha-app .f-garantias h3.t{color:#0a5551;margin-top:0;font-size:1.3em;border-bottom:2px solid #0d6d69;padding-bottom:10px}
  #ficha-app details{margin-bottom:12px;border:1px solid #ddd;border-radius:6px;padding:14px;background:#fafafa}
  #ficha-app summary{font-weight:700;cursor:pointer;color:#2c3e50}
  #ficha-app details div{margin:12px 0 0;font-size:.9em;color:#555}
  #ficha-app .f-descarga{margin-top:30px;padding-top:20px;border-top:1px dashed #ccc;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}
  #ficha-app .f-descarga .f-btn{margin:0;display:inline-block;padding:10px 20px;font-size:.9em}
  #ficha-app #contacto-form{scroll-margin-top:100px;background:#f1f5f9;border:2px solid #0d6d69;border-radius:8px;padding:35px;margin-top:40px}
  #ficha-app #contacto-form h3{margin-top:0;font-size:1.4em;text-align:center}
  #ficha-app .f-tarjeta{background:#fff;border:1px solid #0d6d69;padding:18px;border-radius:6px;margin-bottom:20px}
  #ficha-app .f-fila{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:15px;margin-bottom:15px}
  #ficha-app form label.c{display:block;font-size:.85em;font-weight:700;margin-bottom:5px}
  #ficha-app form input[type=text],#ficha-app form input[type=email],#ficha-app form input[type=tel],#ficha-app form select,#ficha-app form textarea{width:100%;padding:10px;border:1px solid #94a3b8;border-radius:4px;background:#fff;color:#2c3e50;font-size:1em}
  #ficha-app form button[type=submit]{width:100%;background:#1a365d;color:#fff;border:0;padding:14px;font-size:1em;font-weight:700;border-radius:6px;cursor:pointer}
  #ficha-app .oculto{display:none!important}
  #ficha-app[data-estado="cargando"] .f-meta,#ficha-app[data-estado="error"] .f-meta,
  #ficha-app:not([data-estado="ok"]) .f-selector,#ficha-app:not([data-estado="ok"]) .f-grid,
  #ficha-app:not([data-estado="ok"]) .f-garantias,#ficha-app:not([data-estado="ok"]) #contacto-form{display:none!important}
  #ficha-app .f-aviso small{display:block;margin-top:6px;color:#92400e;word-break:break-word}
  #ficha-app .f-grid>div{min-width:0}
  #ficha-app *::before,#ficha-app *::after{box-sizing:border-box}
  #ficha-app h1,#ficha-app h2,#ficha-app h3{border:0;text-decoration:none;background:none;float:none;clear:none}
  #ficha-app h1::before,#ficha-app h1::after,#ficha-app h2::before,#ficha-app h2::after,#ficha-app h3::before,#ficha-app h3::after{content:none!important;display:none!important}
  #ficha-app .f-garantias h3.t{border-bottom:2px solid #0d6d69}
  #ficha-app .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  @media (max-width:820px){
    #ficha-app{padding:14px;margin:16px auto}
    #ficha-app h1{font-size:1.7em}
    #ficha-app .f-grid{grid-template-columns:1fr}
    #ficha-app .f-acciones{position:static}
    #ficha-app #contacto-form,#ficha-app .f-garantias{padding:20px}
  }
  #ficha-app .f-unidades .f-u{display:flex;justify-content:space-between;gap:12px;align-items:baseline;border:1px solid #cbd5e1;border-radius:6px;padding:12px 14px;color:#1e293b;background:#fff}
  #ficha-app .f-biblio{margin:40px 0;border:1px solid #e0e0e0;border-radius:8px;padding:30px}
  #ficha-app .f-biblio h3.t{color:#0a5551;margin-top:0;font-size:1.3em;border-bottom:2px solid #0d6d69;padding-bottom:10px}
  #ficha-app .f-biblio-lista{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:10px}
  #ficha-app .f-biblio-lista li{border:1px solid #cbd5e1;border-radius:6px;padding:12px 14px;background:#fff}
  #ficha-app .f-biblio-lista li p{margin:6px 0 0;font-size:.95em;color:#334155}
  @media (max-width:640px){#ficha-app .f-biblio{padding:20px}}

  #ficha-app .f-biblio-cta{display:inline-block;margin:20px 0 0}
