/* © Fernando Martínez Marín · VEOVIRTUAL® · veovirtual.com */

/* Entrada */
body .vve-entrada__cuerpo {
max-width:860px;
padding-top:clamp(28px, 4vw, 52px);
padding-bottom:clamp(28px, 4vw, 52px);
}
body .vve-entrada__texto figure {
margin:1.6em 0;
}
body .vve-entrada__texto figure img {
display:block;
width:100%;
}
body .vve-entrada__texto figcaption {
margin-top:8px;
font-size:0.9rem;
opacity:0.7;
}
body .vve-entrada__texto blockquote {
margin:1.6em 0;
padding:4px 0 4px 20px;
border-left:4px solid var(--vv-acento, #3d7f8f);
font-size:1.12rem;
font-style:italic;
}
body .vve-entrada__texto a {
color:var(--vv-acento, #3d7f8f);
text-decoration:underline;
text-underline-offset:3px;
}
body .vve-entrada__texto iframe {
width:100%;
aspect-ratio:16 / 9;
height:auto;
border:0;
border-radius:var(--vv-radio, 16px);
}
body .vve-entrada__datos {
max-width:860px;
padding-top:clamp(24px, 3vw, 40px);
}
body .vve-entrada__meta {
margin:0;
color:var(--vv-texto, #44423f);
font-size:0.95rem;
letter-spacing:0.02em;
opacity:0.8;
}
body .vve-entrada--sin-cabecera .vve-entrada__cuerpo {
padding-top:clamp(16px, 2vw, 24px);
}
body .vve-entrada__cabecera .vvf-cabecera__titulo {
max-width:28ch;
}

/* Foto destacada en el texto */
body .vve-entrada__portada {
margin:0 0 clamp(24px, 3vw, 36px) !important;
overflow:hidden;
border-radius:var(--vv-radio, 16px);
}
body .vve-entrada__portada img {
display:block;
width:100%;
height:auto;
}

/* Autoría */
body .vve-firma {
display:flex;
align-items:center;
gap:12px;
margin:18px 0 0;
}
body .vve-firma__foto,
body .vve-autor__foto {
flex:none;
display:grid;
place-items:center;
overflow:hidden;
border-radius:50%;
background-color:var(--vv-acento, #3d7f8f);
color:#ffffff;
font-weight:700;
}
body .vve-firma__foto {
width:46px;
height:46px;
border:2px solid rgba(255,255,255,0.8);
font-size:0.95rem;
}
body .vve-firma__foto img,
body .vve-autor__foto img {
display:block;
width:100%;
height:100%;
object-fit:cover;
}
body .vve-firma__txt {
display:flex;
flex-direction:column;
line-height:1.3;
}
body .vve-firma__cargo {
font-size:0.88rem;
opacity:0.85;
}
body .vve-autor {
display:flex;
align-items:flex-start;
gap:20px;
margin-top:clamp(28px, 4vw, 44px);
padding:clamp(20px, 3vw, 28px);
border-radius:var(--vv-radio, 16px);
background-color:var(--vv-claro, #f4f1ec);
}
body .vve-autor__foto {
width:84px;
height:84px;
font-size:1.5rem;
}
body .vve-autor__txt p {
margin:0;
}
body .vve-autor__ante {
font-size:0.8rem;
font-weight:700;
letter-spacing:0.08em;
text-transform:uppercase;
opacity:0.75;
}
body .vve-autor__nombre {
font-family:var(--vv-fuente-titulos, inherit);
font-size:1.3rem;
font-weight:700;
}
body .vve-autor__cargo {
font-size:0.95rem;
opacity:0.85;
}
body .vve-autor__bio {
margin-top:10px !important;
}
body .vve-autor__mas {
margin-top:10px !important;
font-weight:700;
}
@media only screen and (max-width:560px) {
body .vve-autor {
flex-direction:column;
}
}

/* Compartir */
body .vve-compartir {
display:flex;
flex-wrap:wrap;
align-items:center;
gap:10px;
margin-top:clamp(28px, 4vw, 44px);
padding-top:24px;
border-top:1px solid color-mix(in srgb, var(--vv-oscuro, #1f2429) 12%, transparent);
}
body .vve-compartir__txt {
margin-right:6px;
font-weight:700;
}
body .vve-compartir .vvf-boton {
min-height:42px;
padding:8px 16px;
}
body .vve-mas__todas {
margin:clamp(20px, 3vw, 32px) 0 0;
text-align:center;
}

/* Título sin cabecera */
body .vve-entrada__ante {
margin:0 0 8px;
color:var(--vv-acento, #3d7f8f);
font-size:.75rem;
font-weight:700;
letter-spacing:.2em;
text-transform:uppercase;
}
body .vve-entrada__titulo {
margin:0 0 12px;
color:var(--vv-oscuro, #1f2a2e);
font-size:clamp(1.6rem, 1.2rem + 1.6vw, 2.4rem);
line-height:1.15;
text-wrap:balance;
}

/* Columna lateral */
body .vve-columnas {
display:grid;
grid-template-columns:minmax(200px, 260px) minmax(0, 1fr);
gap:clamp(24px, 4vw, 56px);
align-items:start;
}
body .vve-columnas .vvf-caja {
max-width:none;
margin:0;
padding-left:0;
padding-right:0;
}
body .vve-lateral {
position:sticky;
top:24px;
padding-top:clamp(24px, 3vw, 40px);
font-size:.9rem;
}
body .vve-lateral__buscar {
display:flex;
margin:0 0 24px;
border:1px solid color-mix(in srgb, var(--vv-texto, #44423f) 20%, transparent);
border-radius:var(--vv-radio, 8px);
overflow:hidden;
background-color:#ffffff;
}
body .vve-lateral__buscar input {
flex:1;
min-width:0;
padding:10px 12px;
border:0;
background:none;
font:inherit;
}
body .vve-lateral__buscar button {
display:grid;
place-items:center;
width:42px;
padding:0;
border:0;
background:none;
color:inherit;
cursor:pointer;
}
body .vve-lateral__titulo {
margin:0 0 12px;
font-weight:700;
}
body .vve-lateral__lista {
margin:0;
padding:0;
list-style:none;
}
body .vve-lateral__lista li {
margin:0 0 12px;
}
body .vve-lateral__item {
display:flex;
align-items:center;
gap:10px;
color:inherit;
text-decoration:none;
}
body .vve-lateral__foto {
flex:none;
width:56px;
height:56px;
overflow:hidden;
border-radius:calc(var(--vv-radio, 8px) * .6);
}
body .vve-lateral__foto img {
display:block;
width:100%;
height:100%;
object-fit:cover;
}
body .vve-lateral__txt {
display:flex;
flex-direction:column;
gap:2px;
line-height:1.3;
}
body .vve-lateral__nombre {
font-weight:600;
}
body .vve-lateral__item:hover .vve-lateral__nombre {
color:var(--vv-acento, #3d7f8f);
}
body .vve-lateral time {
font-size:.8rem;
opacity:.7;
}
body .vve-lateral__todas {
margin:16px 0 0;
}
body .vve-lateral__todas .vvf-boton {
width:100%;
justify-content:center;
}
@media (max-width:959px) {
body .vve-columnas {
grid-template-columns:minmax(0, 1fr);
}
body .vve-lateral {
position:static;
order:2;
padding-top:0;
}
}
