/* © Fernando Martínez Marín · VEOVIRTUAL® · veovirtual.com */
/* ---------- Texto legal ---------- */
body.vvlg-pagina .vv-titulo-pagina{display:none}
.vvlg{max-width:78ch;margin:0 auto;padding:clamp(32px,6vw,72px) 0;line-height:1.7}
.vvlg__titulo{margin:0 0 .8em;font-size:clamp(2rem,4vw,3rem);line-height:1.1}
.vvlg h2{margin:2em 0 .6em;font-size:clamp(1.3rem,2.4vw,1.7rem);line-height:1.2}
.vvlg h3{margin:1.4em 0 .4em;font-size:1.1rem}
.vvlg ul{margin:0 0 1em;padding-left:1.3em}
.vvlg li{margin:.3em 0}
.vvlg a{overflow-wrap:anywhere}
.vvlg blockquote{margin:1em 0;padding:1em 1.2em;border-left:3px solid var(--vv-acento,currentColor);background:color-mix(in srgb,currentColor 4%,transparent)}
.vvlg__fecha{margin-top:2.5em;font-size:.9em;opacity:.75}
.vvlg-aviso{padding:.8em 1em;border-left:4px solid #dba617;background:#fcf9e8;color:#3c3c3c}
.vvlg mark.vvlg-falta{background:#ffe066;color:#000;padding:0 .2em}
.vvlg-gestor{display:inline-flex;align-items:center;min-height:44px;padding:.7em 1.3em;border:1px solid currentColor;border-radius:var(--vv-radio,4px);background:transparent;color:inherit;font:inherit;cursor:pointer}
.vvlg-gestor:hover,.vvlg-gestor:focus-visible{background:var(--vv-acento,#333);border-color:var(--vv-acento,#333);color:var(--vv-oscuro,#fff)}

/* ---------- Tablas ---------- */
.vvlg table,.vvlg .vv-cookies-lista table{width:100%;margin:1em 0;border-collapse:collapse;font-size:.92em}
.vvlg caption{padding:.4em 0;font-weight:600;text-align:left}
.vvlg th,.vvlg td{padding:.6em .8em;border:1px solid color-mix(in srgb,currentColor 18%,transparent);text-align:left;vertical-align:top}
.vvlg-basica{width:100%;border-collapse:collapse;font-size:.85em}
.vvlg-basica th{width:28%;white-space:nowrap}
@media (max-width:640px){
.vvlg-basica th{white-space:normal}
}

/* ---------- Menú lateral ---------- */
.vvlg-marco{display:grid;grid-template-columns:minmax(200px,250px) minmax(0,78ch);gap:clamp(32px,5vw,80px);justify-content:center;align-items:start;width:min(100% - 40px,1240px);margin:0 auto;padding:clamp(32px,6vw,72px) 0}
.vvlg-marco>.vvlg{max-width:none;margin:0;padding:0}
.vvlg-menu{position:sticky;top:calc(var(--vv-arriba-alto,0px) + 24px);max-height:calc(100vh - var(--vv-arriba-alto,0px) - 48px);overflow:auto;font-size:.95rem;line-height:1.35}
.vvlg-menu__titulo{margin:0 0 .5em;font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;opacity:.75}
.vvlg-menu__lista{margin:0 0 1.8em;padding:0;list-style:none;border-left:1px solid color-mix(in srgb,currentColor 20%,transparent)}
.vvlg-menu__lista li{margin:0}
body .vvlg-marco nav.vvlg-menu a,body .vvlg-marco nav.vvlg-menu button{display:flex;align-items:center;width:100%;min-height:44px;margin:0 0 0 -1px;padding:.45em .5em .45em 1.1em;border:0;border-left:2px solid transparent;background:none;color:inherit;font:inherit;text-align:left;text-decoration:none;cursor:pointer}
body .vvlg-marco nav.vvlg-menu a:hover,body .vvlg-marco nav.vvlg-menu button:hover{border-left-color:var(--vv-acento,currentColor);text-decoration:underline;text-underline-offset:.2em}
body .vvlg-marco nav.vvlg-menu a:focus-visible,body .vvlg-marco nav.vvlg-menu button:focus-visible{outline:2px solid var(--vv-foco,currentColor);outline-offset:2px}
body .vvlg-marco nav.vvlg-menu a[aria-current="page"]{border-left-color:currentColor;font-weight:600}
body .vvlg-marco nav.vvlg-menu button[aria-pressed="true"]{border-left-color:var(--vv-acento,currentColor)}
html.vv-accesible body .vvlg-marco nav.vvlg-menu a,html.vv-a11y-subrayar body .vvlg-marco nav.vvlg-menu a{text-decoration:underline;text-underline-offset:.2em}
@media (max-width:900px){
.vvlg-marco{grid-template-columns:minmax(0,1fr);gap:28px;width:min(100% - 32px,78ch)}
.vvlg-menu{position:static;max-height:none;overflow:visible;padding:0 0 20px;border-bottom:1px solid color-mix(in srgb,currentColor 18%,transparent)}
.vvlg-menu__lista{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:1.2em;border:0}
.vvlg-menu__lista:last-child{margin-bottom:0}
body .vvlg-marco nav.vvlg-menu a,body .vvlg-marco nav.vvlg-menu button{width:auto;margin:0;padding:.4em 1em;border:1px solid color-mix(in srgb,currentColor 30%,transparent);border-radius:999px;font-size:.9rem}
body .vvlg-marco nav.vvlg-menu a:hover,body .vvlg-marco nav.vvlg-menu button:hover{border-color:var(--vv-acento,currentColor)}
body .vvlg-marco nav.vvlg-menu a[aria-current="page"]{border-color:currentColor;background:color-mix(in srgb,currentColor 10%,transparent)}
}
@media print{
.vvlg-menu{display:none}
.vvlg-marco{display:block}
}
