/* =========================
   GRID DE AUTORES
========================= */

.autores-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:30px;
    margin:30px 0;
    align-items:start;
}

/* =========================
   TARJETA
========================= */

.autor-grid-item{
    background:#fff;
    border:1px solid #e6e6e6;
    border-radius:14px;
    overflow:hidden;
    height:100%;
    transition:.3s;
}

.autor-grid-item:hover{
    box-shadow:0 10px 25px rgba(0,0,0,.08);
}

.autor-card{
    padding:25px;
    text-align:center;
}

/* =========================
   FOTO
========================= */

.autor-foto{
    margin-bottom:15px;
    text-align:center;
}

.autor-foto img,
.autor-foto img.avatar{
    width:120px !important;
    height:120px !important;
    min-width:120px !important;
    min-height:120px !important;
    max-width:120px !important;
    max-height:120px !important;

    border-radius:50% !important;

    object-fit:cover !important;
    aspect-ratio:1 / 1;

    display:block;
    margin:0 auto;

    overflow:hidden;
}

/* =========================
   NOMBRE
========================= */

.autor-nombre{
    margin:15px 0 10px;
    font-size:32px;
    line-height:1.2;
}

.autor-nombre a{
    text-decoration:none;
    color:#111;
}

.autor-nombre a:hover{
    color:#0a84d0;
}

/* =========================
   EMAIL
========================= */

.autor-email{
    margin-bottom:15px;
    font-size:14px;
}

.autor-email a{
    text-decoration:none;
}

/* =========================
   BIOGRAFÍA
========================= */

.autor-bio{
    margin:15px 0;
    line-height:1.6;
    color:#555;
    max-height:95px;
    overflow:hidden;
}

/* =========================
   REDES
========================= */

.autor-redes{
    display:flex;
    justify-content:center;
    gap:12px;
    margin-top:15px;
}

.autor-redes a{
    width:40px;
    height:40px;
    border-radius:50%;
    background:#f2f2f2;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    color:#333;
    transition:.3s;
}

.autor-redes a:hover{
    background:#0a84d0;
    color:#fff;
}

/* =========================
   ARTÍCULOS
========================= */

.autor-articulos{
    border-top:1px solid #eee;
    padding:20px;
    text-align:left;
}

.autor-articulos h4{
    margin:0 0 15px;
    font-size:18px;
}

.autor-articulo{
    display:flex;
    gap:12px;
    align-items:flex-start;
    margin-bottom:12px;
}

.autor-articulo:last-child{
    margin-bottom:0;
}

.autor-articulo-thumb{
    flex-shrink:0;
}

.autor-articulo-thumb img{
    width:70px;
    height:70px;
    object-fit:cover;
    border-radius:6px;
}

.autor-articulo-titulo{
    flex:1;
}

.autor-articulo-titulo a{
    text-decoration:none;
    font-size:14px;
    line-height:1.4;
    color:#222;
    font-weight:600;
}

.autor-articulo-titulo a:hover{
    color:#0a84d0;
}

/* =========================
   TARJETA COMPACTA
========================= */

.autor-mini-card{
    background:#fff;
    border:1px solid #e5e5e5;
    border-radius:10px;
    padding:15px;
    text-align:center;
}

.autor-mini-foto{
    text-align:center;
    margin-bottom:10px;
}

.autor-mini-foto img,
.autor-mini-foto img.avatar{
    width:90px !important;
    height:90px !important;
    min-width:90px !important;
    min-height:90px !important;
    max-width:90px !important;
    max-height:90px !important;

    border-radius:50% !important;

    object-fit:cover !important;
    aspect-ratio:1 / 1;

    display:block;
    margin:0 auto;

    overflow:hidden;
}

.autor-mini-nombre{
    margin:10px 0 8px;
    font-size:18px;
    line-height:1.2;
}

.autor-mini-nombre a{
    color:#111;
    text-decoration:none;

    display:block;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.autor-mini-articulo{
    font-size:13px;
    line-height:1.4;
}

.autor-mini-articulo a{
    text-decoration:none;
    color:#0a84d0;
}

/* =========================
   PROTECCIÓN EXTRA
========================= */

.autor-foto img.avatar,
.autor-mini-foto img.avatar{
    border-radius:50% !important;
    overflow:hidden !important;
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width:1024px){

    .autores-grid{
        grid-template-columns:1fr;
    }

}

@media (max-width:768px){

    .autor-card{
        padding:20px;
    }

    .autor-nombre{
        font-size:24px;
    }

    .autor-foto img,
    .autor-foto img.avatar{
        width:100px !important;
        height:100px !important;
    }

}