/* ===== Variables de color (las plantillas de programas las definen en otro contenedor) ===== */
.efn-agencies-wrap {
    --efn-blue: #4a5fa8;
    --efn-blue-dark: #37448a;
    --efn-bg: #eef0f5;
    --efn-border: #e2e4ec;
    width: 100%;
    max-width: none;
    margin: 0;
}

/* ===== Buscador: ocupa todo el ancho del contenido (como el párrafo de arriba) y en una sola fila ===== */
.efn-agencies-wrap .efn-filters { width: 100%; box-sizing: border-box; }
.efn-agencies-wrap .efa-filters-row {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-end;
    gap: 20px;
    margin-bottom: 0;
}
.efn-agencies-wrap .efa-filters-row .efn-filter-field { flex: 1 1 0; min-width: 0; }
.efn-agencies-wrap .efa-filters-row .efn-filter-field select { width: 100%; min-width: 0; max-width: 100%; text-overflow: ellipsis; }
.efn-agencies-wrap .efa-filters-row .efn-filter-buttons { flex: 0 0 auto; }
.efn-agencies-wrap .efk-filters-row .efn-filter-field:first-child { flex: 2 1 0; } /* Domain: el doble que los otros */

/* ===== Cuadrícula: se mantiene centrada, en 3 columnas ===== */
.efn-agencies-wrap .efn-grid { max-width: 1100px; margin-left: auto; margin-right: auto; }

/* ===== Tarjetas (aspecto del diseño original) ===== */
.efn-agencies-wrap .efa-card {
    background: #fff;
    border-radius: 3px;
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.08);
    border-bottom: 4px solid #7f98cc;
    padding: 34px 22px 28px;
    text-align: center;
    overflow: visible;
}
.efn-agencies-wrap .efa-card .efn-card-image {
    height: auto;
    min-height: 90px;
    overflow: visible;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 20px;
}
.efn-agencies-wrap .efa-card .efn-card-image a { display: flex; align-items: center; justify-content: center; }
.efn-agencies-wrap .efa-card .efn-card-image img {
    width: auto;
    height: auto;
    max-width: 78%;
    max-height: 90px;
    object-fit: contain;
}
.efn-agencies-wrap .efa-card .efn-card-title {
    background: none;
    padding: 0;
    margin: 0 0 10px;
    font-size: 1.02rem;
    line-height: 1.3;
}
.efn-agencies-wrap .efa-card .efn-card-title a,
.efn-agencies-wrap .efa-card .efn-card-title a:hover,
.efn-agencies-wrap .efa-card .efn-card-title a:visited,
.efn-agencies-wrap .efa-card .efn-card-title a:focus {
    color: #2b4a9b;
    font-weight: 700;
    text-decoration: none;
}
.efn-agencies-wrap .efa-card .efn-card-body { padding: 0; flex: 0 0 auto; }
.efa-meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 12px; font-size: 0.8rem; font-weight: 700; color: #555; line-height: 1.35; }
.efa-meta-line { width: 100%; text-align: center; }
.efa-meta-item { display: inline-block; }
.efa-ico { display: inline-block; width: 13px; height: 13px; margin-right: 4px; vertical-align: -2px; color: #555; }
.efa-ico svg { display: block; width: 100%; height: 100%; }
.efa-meta-item a { color: #2b4a9b; text-decoration: none; }
.efa-meta-item a .efa-ico { color: #2b4a9b; }
.efa-meta-item a:hover { text-decoration: underline; }
.efn-agencies-wrap .efa-card .efn-card-footer { padding: 0; margin-top: 16px; }
.efn-agencies-wrap .efa-card .efn-card-footer .efn-btn {
    background: #6f8fc9;
    color: #fff;
    padding: 8px 26px;
    font-size: 0.82rem;
    font-weight: 500;
    border-radius: 3px;
}
.efn-agencies-wrap .efa-card .efn-card-footer .efn-btn:hover { background: #5575b3; }

/* ===== Fichas ===== */
body.single-agency,
body.single-agency-skills { background: #f0f0f2; }

/* ===== Móvil: los filtros vuelven a apilarse ===== */
@media (max-width: 768px) {
    .efn-agencies-wrap .efa-filters-row { flex-wrap: wrap; }
    .efn-agencies-wrap .efa-filters-row .efn-filter-field,
    .efn-agencies-wrap .efk-filters-row .efn-filter-field:first-child { flex: 1 1 100%; }
    .efn-agencies-wrap .efa-filters-row .efn-filter-buttons { flex: 1 1 100%; }
}
