/* Lista de resultados de la Home (tarjetas, requisitos, afinar). Mismo lenguaje visual que el resto: tarjetas blancas, borde suave, morado de Subvenciones. */
.resultados h2 { font-size: 24px; font-weight: 800; margin: 0 0 18px; text-align: center; letter-spacing: -.4px; }
.resultados h2 strong { color: #4f46e5; }
.loading, .vacio, .error { text-align: center; padding: 40px; color: #64748b; font-size: 16px; }
.error { color: #dc2626; }
.empresa-validada { background: #ecfdf5; color: #065f46; padding: 12px 16px; border-radius: 10px; font-size: 14px; font-weight: 600; margin-bottom: 16px; text-align: center; }
.aviso-estimativo { background: #fffbeb; color: #92400e; padding: 12px 16px; border-radius: 10px; font-size: 14px; font-weight: 500; margin-bottom: 16px; text-align: center; }

.tarjetas { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; }
.tarjeta { flex: 1 1 440px; max-width: 640px; min-width: 0; background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; padding: 22px; box-shadow: 0 4px 20px rgba(79, 70, 229, .07); display: flex; flex-direction: column; transition: transform .15s, box-shadow .15s; }
.tarjeta:hover { transform: translateY(-2px); box-shadow: 0 12px 30px -10px rgba(79, 70, 229, .25); }
.tarjeta-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; margin-bottom: 10px; }
.encaje { font-size: 12.5px; font-weight: 700; color: #065f46; background: #ecfdf5; border-radius: 999px; padding: 4px 10px; }
.organismo { font-size: 12px; color: #64748b; font-weight: 500; text-align: right; max-width: 55%; }
.tarjeta h3 { font-size: 17px; font-weight: 700; line-height: 1.35; margin: 0 0 14px; color: #0f172a; }
.tarjeta-footer { display: flex; gap: 28px; font-size: 13px; color: #64748b; padding-top: 14px; border-top: 1px solid #f1f5f9; }
.tarjeta-footer strong { color: #0f172a; font-size: 16px; font-weight: 700; display: block; }
.requisitos { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 6px; }
.req { display: grid; grid-template-columns: 30px 130px 1fr; gap: 10px; align-items: center; padding: 7px 10px; border-radius: 8px; font-size: 13px; background: #f8fafc; }
.req.ok { background: #ecfdf5; } .req.ko { background: #fef2f2; } .req.duda { background: #fffbeb; } .req.na { background: #f1f5f9; }
.req-icono { display: flex; align-items: center; justify-content: center; width: 26px; height: 20px; border-radius: 6px; font-weight: 800; font-size: 11px; color: #fff; }
.req.ok .req-icono { background: #10b981; } .req.ko .req-icono { background: #dc2626; } .req.duda .req-icono { background: #f59e0b; } .req.na .req-icono { background: #94a3b8; }
.req-nombre { font-weight: 600; color: #334155; } .req-detalle { color: #64748b; font-size: 12px; }
.badge { display: inline-block; margin-top: 12px; padding: 4px 10px; border-radius: 6px; font-size: 12px; font-weight: 600; align-self: flex-start; }
.badge.competitiva { background: #eff6ff; color: #1d4ed8; } .badge.revisar { background: #fef3c7; color: #b45309; }
.aviso-cierra { margin: 10px 0 0; font-size: 13px; font-weight: 700; color: #7f1d1d; }
.aviso-bases { margin: 10px 0 0; font-size: 11.5px; color: #64748b; }
.btn-aplicar-card { display: block; margin-top: 14px; padding: 12px 18px; border-radius: 10px; font-size: 14px; font-weight: 700; text-align: center; color: #fff; background: linear-gradient(135deg, #4f46e5, #7c3aed); box-shadow: 0 4px 14px rgba(79, 70, 229, .28); }
.btn-aplicar-card:hover { transform: translateY(-1px); }
.tarjeta .btn-aplicar-card { margin-top: auto; }
.tarjeta .aviso-bases { margin-bottom: 14px; }
@media (max-width: 900px) { .tarjeta { flex-basis: 100%; max-width: none; } .req { grid-template-columns: 26px 1fr; } .req-detalle { grid-column: 2; } .resultados h2 { font-size: 20px; } }
