/* ===== Postu · licitaciones abiertas por rubro (/licitaciones/) =====
   Se carga DESPUÉS de /compra-agil/buscador.css: las páginas de rubro usan el
   mismo buscador (.ca-*) y aquí va solo lo propio de las licitaciones.
   OJO: todo con prefijo .lic- (con guion). La clase .lic a secas ya existe en
   styles.css (tarjetas de la demo de la portada, display:flex) y rompía el buscador.
   Textos chicos en --text-soft y lima de texto en #5B780A, como en Compra Ágil
   (contraste medido con PageSpeed el 29-oct-2026). Sin animaciones por cuadro. */

/* Hub: un rubro por tarjeta, con cuántas hay abiertas hoy */
.lic-grilla{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.lic-rubro{display:flex;flex-direction:column;gap:2px;height:100%;padding:15px 17px 14px;border-radius:16px;background:var(--paper-2);border:1px solid var(--line);box-shadow:var(--sh-sm);text-decoration:none;color:var(--text);transition:border-color .15s,transform .15s}
.lic-rubro:hover{border-color:var(--lime-600);transform:translateY(-1px)}
.lic-rubro:focus-visible{outline:2px solid var(--lime-700);outline-offset:2px}
.lic-rubro__n{font-family:var(--f-display);font-size:clamp(24px,3vw,30px);font-weight:600;letter-spacing:-.025em;line-height:1.1;color:#5B780A}
.lic-rubro__t{font-size:15.5px;font-weight:650;line-height:1.3}
.lic-rubro__t::after{content:" →";color:var(--text-soft);font-weight:500}
.lic-rubro__d{font-family:var(--f-mono);font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--text-soft)}

/* Filtros: el hub (rubro oficial) y municipalidades (comuna) tienen un selector más */
.lic-sel--ancho{grid-column:span 4}
.lic-filtros:has(.lic-sel--ancho) .ca-sel:not(:first-child):not(.lic-sel--ancho){grid-column:span 3}

/* Hub: rubros oficiales en un desplegable con grupos y casillas, como Filtros Radar
   de la app (MultiDropdown de dashboard/radar/ui.tsx). */
.lic-multi{position:relative}
.lic-multi__btn{display:flex;align-items:center;width:100%;height:44px;border:1.5px solid var(--line-2);border-radius:12px;background:var(--paper-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23586173' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 13px center/10px 6px;padding:0 32px 0 12px;font:inherit;font-size:14.5px;color:var(--text);text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.lic-multi__btn:focus-visible{outline:none;border-color:var(--lime-700);box-shadow:0 0 0 3px rgba(198,242,78,.45)}
.lic-multi__btn.is-activo{border-color:var(--lime-600);background-color:rgba(198,242,78,.12);color:#5B780A;font-weight:600}
.lic-multi__txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lic-multi__panel{position:absolute;z-index:40;top:calc(100% + 4px);left:0;right:0;max-height:330px;overflow-y:auto;overscroll-behavior:contain;padding:8px;border:1px solid var(--line);border-radius:14px;background:var(--paper-2);box-shadow:var(--sh-lg)}
.lic-multi__panel[hidden]{display:none}
.lic-multi__panel label{display:flex;align-items:center;gap:9px;border-radius:9px;cursor:pointer}
.lic-multi__panel label:hover{background:var(--paper-3)}
.lic-multi__panel input{flex:none;width:16px;height:16px;margin:0;accent-color:var(--lime-600);cursor:pointer}
.lic-multi__todas{padding:7px 8px;font-size:14px;font-weight:600;color:var(--text)}
.lic-multi__todas+.lic-multi__grupo{margin-top:6px;padding-top:6px;border-top:1px solid var(--line)}
.lic-multi__grupo{margin-bottom:4px}
.lic-multi__g{padding:6px 8px 3px;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft)}
.lic-multi__g input{width:14px;height:14px}
.lic-multi__op{padding:5px 8px 5px 31px;font-size:14px;line-height:1.3;color:var(--text)}
.lic-multi__op span{flex:1;min-width:0}
.lic-multi__op b{flex:none;font-family:var(--f-mono);font-size:11.5px;font-weight:600;color:var(--text-soft)}
.lic-multi__op.is-cero span,.lic-multi__op.is-cero b{opacity:.55}
.lic-multi__chips{display:flex;flex-wrap:wrap;gap:5px}
.lic-multi__chips:empty{display:none}
.lic-multi__chip{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:999px;border:1px solid var(--line-2);background:var(--paper-3);font:inherit;font-size:12px;color:var(--text-soft);cursor:pointer;transition:border-color .15s,color .15s}
.lic-multi__chip:hover,.lic-multi__chip:focus-visible{outline:none;border-color:#B42318;color:#B42318}

/* Etiquetas de la tarjeta */
.lic-tag--ser{background:rgba(242,179,61,.16);color:#8A5A00;box-shadow:inset 0 0 0 1px rgba(242,179,61,.42)}
.lic-tag--cero{background:rgba(198,242,78,.24);color:#5B780A;box-shadow:inset 0 0 0 1px rgba(127,166,15,.38)}
.ca-monto--no{font-style:italic}

/* Nota bajo la tabla de cifras */
.lic-nota{margin:10px 0 0}

@media (max-width:760px){
  /* Compacta: que el buscador asome sin tener que recorrer nueve tarjetas altas. */
  .lic-grilla{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:14px}
  .lic-rubro{padding:9px 11px 8px;border-radius:12px;gap:1px}
  .lic-rubro__n{font-size:19px}
  .lic-rubro__t{font-size:13.5px;line-height:1.25}
  .lic-rubro__t::after{content:none}  /* la tarjeta entera es el enlace; la flecha se iba sola a otra línea */
  .lic-rubro__d{font-size:10px;letter-spacing:0}
  .lic-sel--ancho,.lic-filtros:has(.lic-sel--ancho) .ca-sel:not(:first-child):not(.lic-sel--ancho){grid-column:span 1}
  .lic-sel--ancho{grid-column:span 2}
}
@media (prefers-reduced-motion:reduce){
  .lic-rubro,.lic-multi__btn,.lic-multi__chip{transition:none}
}
