/* ============================================================================
   buscador-cursos.css — Buscador universal de cursos (F2, 2026-10-30)
   Vive en /cursos (explorador), en la ficha y en el paso 1 de la inscripción.
   Usa las variables del contexto (.expl o .insc) con fallbacks a los tokens de
   marca: tinta #1A0B4E, naranja #FF8A00, fondo #FAFAF7.
   ============================================================================ */
.bus{--b-acc:var(--accent,#FF8A00);--b-acc-ink:var(--accent-ink,#B85600);--b-ink:var(--text,#1E1E22);--b-mute:var(--mute,#5F5F66);
  --b-card:var(--card,#fff);--b-rule:var(--rule,#E5E5E8);--b-sunk:var(--sunk,#F5F5F6);--b-mono:var(--f-mono,'JetBrains Mono',ui-monospace,monospace);
  font-family:var(--f-body,'Source Sans 3',system-ui,sans-serif);color:var(--b-ink);margin-top:18px;max-width:860px}
.bus *{box-sizing:border-box}
.bus-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.bus-titulo{font-family:var(--f-display,'Manrope',system-ui,sans-serif);font-size:21px;font-weight:800;margin:0 0 12px}
.bus-caja{display:flex;align-items:center;gap:10px;padding:6px 6px 6px 16px;border:2px solid var(--b-rule);border-radius:16px;background:var(--b-card);box-shadow:0 10px 30px -22px rgba(20,20,30,.5);transition:border-color .15s}
.bus-caja:focus-within{border-color:var(--b-acc)}
.bus-caja svg{flex:0 0 22px;width:22px;height:22px;stroke:var(--b-mute);fill:none;stroke-width:2.2;stroke-linecap:round}
.bus-q{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:18px;padding:10px 0;color:inherit;outline:none}
.bus-q::placeholder{color:var(--b-mute);opacity:.8}
.bus-q::-webkit-search-cancel-button{-webkit-appearance:none}
.bus-ir{border:0;border-radius:11px;background:var(--b-acc);color:#1A1205;font:inherit;font-weight:800;font-size:15px;padding:11px 18px;cursor:pointer}
.bus-ir:hover{filter:brightness(1.05)}
.bus-fila{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin-top:10px;font-size:14px}
.bus-ent{display:flex;align-items:center;gap:8px;color:var(--b-mute)}
.bus-ent select{font:inherit;font-size:14px;padding:6px 10px;border-radius:9px;border:1px solid var(--b-rule);background:var(--b-card);color:var(--b-ink)}
.bus-atajos{display:flex;flex-wrap:wrap;gap:8px}
.bus-atajos button,.bus-atajos a{font:inherit;font-size:13.5px;font-weight:600;padding:6px 12px;border-radius:999px;border:1px solid var(--b-rule);background:var(--b-sunk);color:var(--b-ink);cursor:pointer;text-decoration:none}
.bus-atajos button:hover,.bus-atajos a:hover,.bus-atajos button[aria-pressed="true"]{border-color:var(--b-acc);color:var(--b-acc-ink)}
.bus-res{margin-top:14px}
.bus-res[aria-busy="true"]{opacity:.6}
.bus-n{margin:0 0 8px;font-size:13.5px;color:var(--b-mute)}
.bus-vacio{margin:0;padding:18px 20px;border:1px dashed var(--b-rule);border-radius:14px;color:var(--b-mute)}
.bus-puertas{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.bus-puerta{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--b-rule);border-radius:14px;background:var(--b-card);text-decoration:none;color:var(--b-ink)}
.bus-puerta:hover{border-color:var(--b-acc)}
.bus-puerta strong{font-family:var(--f-display,'Manrope',system-ui,sans-serif);font-size:16px}
.bus-puerta span{font-size:13.5px;color:var(--b-mute)}
.bus-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.bus-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"cod main precio" "cod main cta";gap:2px 14px;align-items:center;padding:12px 14px;border:1px solid var(--b-rule);border-radius:14px;background:var(--b-card);color:var(--b-ink);text-decoration:none;transition:border-color .15s,box-shadow .15s}
.bus-item:hover,.bus-item[aria-selected="true"]{border-color:var(--b-acc);box-shadow:0 8px 24px -18px rgba(20,20,30,.5)}
.bus-item[aria-selected="true"]{outline:2px solid var(--b-acc);outline-offset:1px}
.bus-cod{grid-area:cod;font-family:var(--b-mono);font-size:12.5px;font-weight:700;letter-spacing:.02em;padding:6px 9px;border-radius:9px;background:var(--b-sunk);border:1px solid var(--b-rule);color:var(--b-ink);white-space:nowrap;align-self:start}
.bus-main{grid-area:main;display:flex;flex-direction:column;gap:1px;min-width:0}
.bus-ceja{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--b-acc-ink)}
.bus-main strong{font-family:var(--f-display,'Manrope',system-ui,sans-serif);font-size:16px;line-height:1.25}
.bus-niv{font-size:13px;color:var(--b-mute)}
.bus-curso{font-size:13.5px;color:var(--b-mute)}
.bus-precio{grid-area:precio;display:flex;gap:8px;align-items:baseline;justify-content:flex-end;white-space:nowrap}
.bus-precio s{color:var(--b-mute);font-size:13px}
.bus-precio b{font-family:var(--f-display,'Manrope',system-ui,sans-serif);font-size:17px}
.bus-cta{grid-area:cta;justify-self:end;font-size:13px;font-weight:800;color:#1A1205;background:var(--b-acc);border-radius:9px;padding:6px 11px}
.bus-item.no-insc .bus-cta{background:var(--b-sunk);color:var(--b-mute);border:1px solid var(--b-rule)}
.bus-compacto .bus-caja{padding-left:12px}
.bus-compacto .bus-q{font-size:16px;padding:8px 0}
@media (max-width:640px){
  .bus-item{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"cod main" "precio precio" "cta cta"}
  .bus-precio{justify-content:flex-start;margin-top:6px}
  .bus-cta{justify-self:stretch;text-align:center}
  .bus-ir{padding:10px 12px}
}
