.dl-list{
    list-style:none;
    margin:0;
    padding:0;
}
.dl-row{
    display:flex;
    align-items:center;
    gap:22px;
    padding:22px 12px;
    border-bottom:1px solid #e4e4e4;
}
.dl-row:first-child{border-top:1px solid #e4e4e4;}
.dl-row__icon{color:#1c3f94;line-height:0;flex:0 0 auto;}
.dl-row__title{
    flex:1 1 auto;
    font-size:1.05rem;
    letter-spacing:.02em;
    text-transform:uppercase;
}
.dl-row__meta{
    margin-left:8px;
    color:#888;
    font-size:.8rem;
    text-transform:none;
}
/* Grupo por marca: la marca es el título común; debajo cuelgan sus PDFs */
.dl-group{margin:0 0 36px;}
.dl-group__title{
    margin:0 0 10px;
    padding:0 12px;
    color:#1c3f94;
    font-size:1rem;
    font-weight:700;
    letter-spacing:.05em;
    text-transform:uppercase;
}

/* Contenedor del widget: aire superior para separarlo del header. En móvil
   añadimos también padding horizontal para que las tarjetas no peguen al
   borde de la pantalla (mismo margen visual que el input de búsqueda). */
.dl-widget{padding-top:56px;}
@media (max-width:767.98px){
    .dl-widget{ padding-left:16px; padding-right:16px; }
    .dl-search{ margin-left:0; margin-right:0; }
}

/* Título visible (editable por categoría) */
.dl-widget__heading{
    margin:0 0 48px;
    text-align:center;
    font-size:1.4rem;
    font-weight:400;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:#1a1a1a;
}

/* Buscador de marca */
.dl-search{margin:0 8px 40px;}
.dl-search__input{
    width:100%;
    box-sizing:border-box;
    padding:10px 14px;
    border:1px solid #d6d6d6;
    border-radius:6px;
    font:inherit;
    color:#1a1a1a;
    background:#fff;
}
.dl-search__input:focus{
    outline:none;
    border-color:#1c3f94;
    box-shadow:0 0 0 2px rgba(28,63,148,.15);
}
.dl-noresults{padding:14px 8px;}
.dl-row__action{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    gap:6px;
    background:none;
    border:0;
    padding:0;
    font:inherit;
    font-weight:700;
    color:#1a1a1a;
    cursor:pointer;
    text-decoration:none;
}
.dl-row__action:hover{color:#1c3f94;}
.dl-row__arrow{font-weight:400;}
.dl-empty{padding:12px 0;}

/* =========================================================================
   Modo cuadrícula: una tarjeta por marca.
   Logo SVG arriba (caja cuadrada al ancho de la tarjeta), nombre de marca
   en medio, lista de enlaces de descarga.
   Responsive: 5 columnas en desktop, baja escalonadamente hasta 1 en móvil.
   ========================================================================= */
/* Usamos flex en vez de grid para que la última fila incompleta quede
   centrada (CSS Grid no centra huérfanos sin hacks). El flex-basis fija
   N por fila restando los gaps. */
.dl-grid{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:15px 15px;
    margin:0 8px 48px;
}
/* PRUEBA TEMPORAL: 6 por fila en desktop (revertir a 5 si no convence).
   El restando del calc DEBE coincidir con el gap horizontal de .dl-grid
   (ahora 15px). Si cambias el gap, actualiza aquí. */
.dl-grid .dl-card{ flex:0 0 calc((100% - 15px * 5) / 6); max-width:calc((100% - 15px * 5) / 6); }
@media (max-width:1399.98px){ .dl-grid .dl-card{ flex-basis:calc((100% - 15px * 4) / 5); max-width:calc((100% - 15px * 4) / 5); } }
@media (max-width:1199.98px){ .dl-grid .dl-card{ flex-basis:calc((100% - 15px * 3) / 4); max-width:calc((100% - 15px * 3) / 4); } }
@media (max-width:991.98px) { .dl-grid .dl-card{ flex-basis:calc((100% - 15px * 2) / 3); max-width:calc((100% - 15px * 2) / 3); } }
@media (max-width:767.98px) { .dl-grid .dl-card{ flex-basis:calc((100% - 15px) / 2);     max-width:calc((100% - 15px) / 2); } }
@media (max-width:479.98px) { .dl-grid .dl-card{ flex-basis:100%;                         max-width:100%; } }

.dl-card{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    padding:15px 15px 15px;
    border:1px solid #e4e4e4;
    border-radius:8px;
    background:#fff;
    transition:box-shadow .15s ease, border-color .15s ease;
}
.dl-card:hover{
    border-color:#1c3f94;
    box-shadow:0 4px 14px rgba(0,0,0,.06);
}
.dl-card__logo{
    width:100%;
    aspect-ratio:1/1;
    max-width:200px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 22px;
    padding:14px;
    box-sizing:border-box;
    background:#fff;
}
.dl-card__logo img,
.dl-card__logo svg{
    max-width:100%;
    max-height:100%;
    width:auto;
    height:auto;
    object-fit:contain;
    display:block;
    image-rendering:-webkit-optimize-contrast;
}
.dl-card__logo-fallback{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:64px;
    height:64px;
    border-radius:50%;
    background:#1c3f94;
    color:#fff;
    font-weight:700;
    font-size:1.4rem;
    letter-spacing:.05em;
}
.dl-card__title{
    margin:0 0 20px;
    color:#1c3f94;
    font-size:1rem;
    font-weight:700;
    letter-spacing:.05em;
    text-transform:uppercase;
}
.dl-card__list,
.dl-card__list li{
    list-style:none !important;
    list-style-type:none !important;
}
.dl-card__list{
    margin:0;
    padding:0;
    width:100%;
    display:flex;
    flex-direction:column;
    gap:10px;
}
.dl-card__item{
    margin:0;
    padding:0;
}
.dl-card__item::marker,
.dl-card__item::before{
    content:none !important;
    display:none !important;
}
.dl-card__action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    width:100%;
    padding:7px 10px;
    background:none;
    border:1px solid #d6d6d6;
    border-radius:4px;
    font:inherit;
    font-size:.82rem;
    font-weight:600;
    line-height:1.2;
    color:#1a1a1a;
    cursor:pointer;
    text-decoration:none;
    transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.dl-card__action:hover{
    background:#1c3f94;
    border-color:#1c3f94;
    color:#fff;
}
.dl-card__action-label{flex:0 1 auto;}
.dl-card__arrow{font-weight:400;}
