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

/* Base */
:root {
--vv-ancho:1240px;
--vv-fondo:#ffffff;
--vv-texto:#222222;
--vv-acento:#555555;
--vv-oscuro:#111111;
--vv-claro:#ffffff;
--vv-foco:#1a73e8;
--vv-arriba-alto:80px;
--vv-barra-alto:0px;
--vv-cab-fondo:#ffffff;
--vv-cab-texto:#111111;
--vv-pie-fondo:#111111;
--vv-pie-texto:rgba(255,255,255,.7);
--vv-barra-fondo:rgba(17,17,17,.96);
--vv-radio:14px;
--vv-fuente-titulos:Georgia,serif;
--vv-fuente-textos:system-ui,-apple-system,"Segoe UI",sans-serif;
}
html {
scroll-padding-top:calc(var(--vv-arriba-alto) + 12px);
-webkit-text-size-adjust:100%;
}
body.vv {
margin:0;
background:var(--vv-fondo);
color:var(--vv-texto);
font-family:var(--vv-fuente-textos);
overflow-x:clip;
}
body.vv *,
body.vv *::before,
body.vv *::after {
box-sizing:border-box;
}
body .vv-contenido img,
body .vv-pie img {
max-width:100%;
height:auto;
}
body.vv :focus-visible {
outline:3px solid var(--vv-foco);
outline-offset:3px;
}
@media (prefers-reduced-motion:no-preference) {
html {
scroll-behavior:smooth;
}
}
body .vv-oculto {
position:absolute !important;
width:1px;
height:1px;
padding:0;
margin:-1px;
overflow:hidden;
clip:rect(0,0,0,0);
white-space:nowrap;
border:0;
}
body .vv-saltar {
position:fixed;
top:10px;
left:10px;
z-index:100000;
padding:12px 18px;
border:0;
border-radius:8px;
background:var(--vv-oscuro);
color:var(--vv-claro);
font:600 15px/1.2 var(--vv-fuente-textos);
text-decoration:none;
cursor:pointer;
transform:translateY(-200%);
}
body .vv-saltar:focus,
body .vv-saltar:focus-visible {
transform:none;
}
body .vv-saltar--acc {
left:auto;
right:10px;
}
body .vv-contenido {
display:block;
outline:none;
}
body .vv-contenido:focus {
outline:none;
}

/* Cabecera */
body .vv-arriba {
position:fixed;
top:0;
left:0;
right:0;
z-index:9000;
}
body.admin-bar .vv-arriba {
top:32px;
}
body .vv-arriba-espacio {
height:var(--vv-arriba-alto);
}
body .vv-cabecera {
background:var(--vv-cab-fondo);
color:var(--vv-cab-texto);
transition:box-shadow .3s ease,background-color .3s ease;
}
html.vv-scroll body .vv-cabecera {
box-shadow:0 6px 24px rgba(0,0,0,.08);
}
body .vv-cabecera__caja {
display:flex;
align-items:center;
justify-content:space-between;
gap:24px;
max-width:var(--vv-ancho);
margin:0 auto;
padding:14px 3%;
}
body .vv-cabecera__marca {
display:flex;
align-items:center;
flex-shrink:0;
color:inherit;
text-decoration:none;
}
body .vv-cabecera__logo {
display:block;
width:auto;
height:60px;
transition:height .3s ease;
}
html.vv-scroll body .vv-cabecera__logo {
height:50px;
}
body .vv-cabecera__logo--texto {
font:600 1.4rem/1 var(--vv-fuente-titulos);
}
body .vv-nav__lista {
display:flex;
align-items:center;
gap:6px;
margin:0;
padding:0;
list-style:none;
}
body .vv-nav__item {
margin:0;
}
body .vv-nav__enlace {
display:inline-flex;
align-items:center;
gap:7px;
min-height:44px;
padding:8px 12px;
color:inherit;
text-decoration:none;
}
body .vv-nav__ico {
display:inline-flex;
}
body .vv-nav__ico svg,
body .vv-menu-movil__ico svg,
body .vv-barra__ico svg {
display:block;
width:18px;
height:18px;
}
body .vv-cabecera__menu {
display:none;
align-items:center;
gap:10px;
min-height:44px;
padding:8px 18px;
border:1px solid currentColor;
border-radius:999px;
background:transparent;
color:inherit;
font:600 14px/1 var(--vv-fuente-textos);
cursor:pointer;
}
body .vv-cabecera__hamb {
position:relative;
display:block;
width:22px;
height:14px;
}
body .vv-cabecera__hamb::before,
body .vv-cabecera__hamb::after,
body .vv-cabecera__hamb span {
content:"";
position:absolute;
left:0;
right:0;
height:2px;
border-radius:2px;
background:currentColor;
}
body .vv-cabecera__hamb::before {
top:0;
}
body .vv-cabecera__hamb span {
top:6px;
}
body .vv-cabecera__hamb::after {
bottom:0;
}
@media only screen and (max-width:1100px) {
body .vv-nav {
display:none;
}
body .vv-cabecera__menu {
display:inline-flex;
}
}
@media only screen and (max-width:767px) {
body.admin-bar .vv-arriba {
top:0;
}
body .vv-cabecera__caja {
padding:10px 5%;
}
body .vv-cabecera__logo,
html.vv-scroll body .vv-cabecera__logo {
height:44px;
}
body .vv-cabecera__menu {
padding:0;
width:48px;
height:48px;
justify-content:center;
border:0;
}
body .vv-cabecera__menu-txt {
position:absolute;
width:1px;
height:1px;
overflow:hidden;
clip:rect(0,0,0,0);
}
}

/* Menú móvil */
body .vv-menu-movil {
position:fixed;
inset:0;
z-index:10050;
}
body .vv-menu-movil[hidden] {
display:none;
}
body .vv-menu-movil__fondo {
position:absolute;
inset:0;
background:rgba(0,0,0,.55);
opacity:0;
transition:opacity .3s ease;
}
body .vv-menu-movil__panel {
position:absolute;
top:0;
right:0;
bottom:0;
display:flex;
flex-direction:column;
width:min(88vw,400px);
overflow-y:auto;
overscroll-behavior:contain;
background:var(--vv-oscuro);
color:var(--vv-claro);
transform:translateX(100%);
transition:transform .35s cubic-bezier(.32,.72,.35,1);
}
body .vv-menu-movil.is-abierto .vv-menu-movil__fondo {
opacity:1;
}
body .vv-menu-movil.is-abierto .vv-menu-movil__panel {
transform:none;
}
body .vv-menu-movil__cab {
display:flex;
align-items:center;
justify-content:space-between;
gap:16px;
padding:22px 24px;
}
body .vv-menu-movil__logo {
display:block;
width:auto;
height:52px;
}
body .vv-menu-movil__cerrar {
display:flex;
align-items:center;
justify-content:center;
width:44px;
height:44px;
padding:0;
border:1px solid rgba(255,255,255,.25);
border-radius:50%;
background:transparent;
color:inherit;
font-size:26px;
line-height:1;
cursor:pointer;
}
body .vv-menu-movil__lista {
margin:0;
padding:8px 24px;
list-style:none;
}
body .vv-menu-movil__enlace {
display:flex;
align-items:center;
gap:14px;
min-height:52px;
padding:12px 0;
border-bottom:1px solid rgba(255,255,255,.1);
color:inherit;
text-decoration:none;
}
body .vv-menu-movil__pie {
margin-top:auto;
padding:24px;
}
html.vv-menu-abierto,
html.vv-menu-abierto body {
overflow:hidden;
}

/* Barra inferior */
body .vv-barra {
position:fixed;
left:0;
right:0;
bottom:0;
z-index:8900;
padding-bottom:env(safe-area-inset-bottom);
background:var(--vv-barra-fondo);
color:var(--vv-claro);
}
body .vv-barra__caja {
display:flex;
align-items:center;
max-width:var(--vv-ancho);
margin:0 auto;
padding:8px 3%;
}
body .vv-barra__grupo {
display:flex;
align-items:center;
gap:12px;
flex:1 1 auto;
min-width:0;
}
body .vv-barra__grupo:last-child {
justify-content:flex-end;
}
body .vv-barra__botones {
display:flex;
align-items:center;
gap:8px;
}
body .vv-barra__btn {
display:inline-flex;
align-items:center;
justify-content:center;
gap:8px;
min-height:40px;
padding:8px 14px;
border-radius:999px;
color:inherit;
text-decoration:none;
white-space:nowrap;
}
body .vv-barra__etiqueta-movil {
display:none;
}
body .vv-barra__separador {
flex:0 0 1px;
align-self:stretch;
margin:4px 20px;
background:rgba(255,255,255,.2);
}
@media only screen and (max-width:767px) {
body .vv-barra__caja {
padding:6px 3%;
}
body .vv-barra__etiqueta {
display:none;
}
body .vv-barra__etiqueta-movil {
display:block;
}
body .vv-barra__txt {
position:absolute;
width:1px;
height:1px;
overflow:hidden;
clip:rect(0,0,0,0);
white-space:nowrap;
}
body .vv-barra__btn {
width:44px;
height:44px;
min-height:44px;
padding:0;
}
body .vv-barra__separador {
margin:4px 8px;
}
body .vv-barra__grupo {
gap:6px;
}
body .vv-barra__botones {
gap:4px;
}
}

/* Pie */
body .vv-pie {
padding-bottom:var(--vv-barra-alto);
background:var(--vv-pie-fondo);
color:var(--vv-pie-texto);
}
body .vv-pie__caja {
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:48px;
max-width:var(--vv-ancho);
margin:0 auto;
padding:72px 3% 56px;
}
body .vv-pie a {
color:inherit;
}
body .vv-pie__legal-caja {
display:flex;
flex-wrap:wrap;
align-items:center;
justify-content:space-between;
gap:10px 24px;
max-width:var(--vv-ancho);
margin:0 auto;
padding:20px 3%;
}
body .vv-pie__legales {
display:flex;
flex-wrap:wrap;
gap:6px 18px;
margin:0;
padding:0;
list-style:none;
}
body .vv-pie__boton {
padding:0;
border:0;
background:none;
color:inherit;
font:inherit;
text-decoration:underline;
text-underline-offset:3px;
cursor:pointer;
}
body .vv-pie__dato {
display:flex;
align-items:flex-start;
gap:12px;
margin:0 0 14px;
line-height:1.5;
}
body .vv-pie__ico {
flex:none;
width:1.2em;
height:1.2em;
margin-top:.15em;
}
body .vv-pie__dato a {
overflow-wrap:anywhere;
}
body .vv-horario--compacto,
body .vv-pie .vv-pie__dato .vv-horario--compacto {
display:flex;
flex-direction:column;
align-items:flex-start;
gap:2px;
text-align:left;
}
:where(.vv-contenido,.vv-pie) a {
color:inherit;
text-decoration-color:var(--vv-acento,currentColor);
text-underline-offset:3px;
}
body .vv-pie__copy,
body .vv-pie__credito {
margin:0;
}
@media only screen and (max-width:959px) {
body .vv-pie__caja {
grid-template-columns:1fr;
gap:40px;
padding:56px 6% 40px;
text-align:center;
}
body .vv-pie__dato {
justify-content:center;
}
body .vv-pie__legal-caja {
flex-direction:column;
text-align:center;
}
body .vv-pie__legales {
justify-content:center;
}
}

/* Mapa */
body .vv-mapa {
position:relative;
width:100%;
height:var(--vv-mapa-alto,460px);
overflow:hidden;
border-radius:var(--vv-radio);
background:#e9e6e1;
}
body .vv-mapa iframe {
display:block;
width:100%;
height:100%;
border:0;
}
body .vv-mapa iframe[data-vv-src] {
visibility:hidden;
}
body .vv-mapa__aviso {
position:absolute;
inset:0;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:6px;
padding:24px;
text-align:center;
}
body .vv-mapa.is-cargado .vv-mapa__aviso {
display:none;
}
body .vv-mapa__botones {
display:flex;
flex-wrap:wrap;
align-items:center;
justify-content:center;
gap:10px 18px;
}
body .vv-mapa__btn {
min-height:44px;
padding:10px 22px;
border:0;
border-radius:999px;
background:var(--vv-oscuro);
color:var(--vv-claro);
font:600 14px/1.2 var(--vv-fuente-textos);
cursor:pointer;
}

/* Cookies */
body .vv-cookies {
position:fixed;
left:0;
right:0;
bottom:var(--vv-barra-alto);
z-index:9500;
padding:18px 3%;
background:#ffffff;
color:#222222;
box-shadow:0 -10px 40px rgba(0,0,0,.18);
visibility:hidden;
transform:translateY(calc(100% + var(--vv-barra-alto, 0px) + 40px));
transition:transform .35s ease,visibility 0s linear .35s;
}
body .vv-cookies.is-visible {
visibility:visible;
transform:none;
transition:transform .35s ease,visibility 0s linear 0s;
}
body .vv-cookies__caja {
display:flex;
flex-wrap:wrap;
align-items:center;
gap:14px 28px;
max-width:var(--vv-ancho);
margin:0 auto;
}
body .vv-cookies__texto {
flex:1 1 420px;
margin:0;
font-size:14px;
line-height:1.55;
}
body .vv-cookies__titulo {
display:block;
margin-bottom:2px;
font-size:15px;
font-weight:700;
}
body .vv-cookies__botones {
display:flex;
flex-wrap:wrap;
gap:10px;
}
body .vv-cookies__btn {
min-width:150px;
min-height:44px;
padding:10px 20px;
border:2px solid var(--vv-oscuro);
border-radius:999px;
background:var(--vv-oscuro);
color:var(--vv-claro);
font:700 14px/1.2 var(--vv-fuente-textos);
cursor:pointer;
}
body .vv-dialogo {
position:fixed;
inset:0;
z-index:10100;
display:flex;
align-items:center;
justify-content:center;
padding:16px;
}
body .vv-dialogo[hidden] {
display:none;
}
body .vv-dialogo__fondo {
position:absolute;
inset:0;
background:rgba(0,0,0,.55);
}
body .vv-dialogo__caja {
position:relative;
width:min(620px,100%);
max-height:calc(100dvh - 32px);
overflow-y:auto;
padding:28px;
border-radius:var(--vv-radio);
background:#ffffff;
color:#222222;
}
body .vv-dialogo__titulo {
margin:0 0 8px;
font-size:22px;
}
body .vv-dialogo__cerrar {
position:absolute;
top:14px;
right:14px;
width:44px;
height:44px;
border:0;
border-radius:50%;
background:#f1f1f1;
font-size:24px;
cursor:pointer;
}
body .vv-cat {
padding:14px 0;
border-top:1px solid #e6e6e6;
}
body .vv-cat__cab {
display:flex;
align-items:center;
justify-content:space-between;
gap:16px;
}
body .vv-cat__nombre {
font-weight:700;
}
body .vv-cat__texto {
margin:6px 0 0;
font-size:14px;
line-height:1.5;
}
body .vv-interruptor {
position:relative;
flex-shrink:0;
width:52px;
height:30px;
}
body .vv-interruptor input {
position:absolute;
inset:0;
width:100%;
height:100%;
margin:0;
opacity:0;
cursor:pointer;
}
body .vv-interruptor span {
position:absolute;
inset:0;
border-radius:30px;
background:#bdbdbd;
transition:background-color .2s ease;
pointer-events:none;
}
body .vv-interruptor span::after {
content:"";
position:absolute;
top:3px;
left:3px;
width:24px;
height:24px;
border-radius:50%;
background:#ffffff;
transition:transform .2s ease;
}
body .vv-interruptor input:checked + span {
background:var(--vv-oscuro);
}
body .vv-interruptor input:checked + span::after {
transform:translateX(22px);
}
body .vv-interruptor input:disabled + span {
opacity:.6;
}
body .vv-interruptor input:focus-visible + span {
outline:3px solid var(--vv-foco);
outline-offset:3px;
}
body .vv-dialogo__botones {
display:flex;
flex-wrap:wrap;
gap:10px;
margin-top:18px;
}
body .vv-cookies-lista__tabla {
overflow-x:auto;
}
body .vv-cookies-lista table {
width:100%;
border-collapse:collapse;
font-size:14px;
}
body .vv-cookies-lista th,
body .vv-cookies-lista td {
padding:8px 10px;
border-bottom:1px solid rgba(0,0,0,.12);
text-align:left;
vertical-align:top;
}
@media only screen and (max-width:767px) {
body .vv-cookies__btn {
flex:1 1 100%;
}
body .vv-cookies-lista thead {
display:none;
}
body .vv-cookies-lista tr,
body .vv-cookies-lista td {
display:block;
}
body .vv-cookies-lista tr {
padding:8px 0;
border-bottom:1px solid rgba(0,0,0,.12);
}
body .vv-cookies-lista td {
border:0;
padding:3px 0;
}
body .vv-cookies-lista td::before {
content:attr(data-l) ": ";
font-weight:700;
}
}

/* 404 y título de página */
body .vv-404 {
padding:120px 6%;
text-align:center;
}
body .vv-404__caja {
max-width:640px;
margin:0 auto;
}
body .vv-titulo-pagina {
max-width:var(--vv-ancho);
margin:0 auto;
padding:56px 3% 8px;
}

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

/* Variables */
:root {
--vv-ancho:1240px;
--vv-fondo:#fbf7ee;
--vv-texto:#33362a;
--vv-acento:#616c36;
--vv-oscuro:#2a361c;
--vv-claro:#f2ead8;
--vv-foco:#c1620f;
--vv-arriba-alto:84px;
--vv-barra-alto:0px;
--vv-cab-fondo:rgba(251,247,238,.92);
--vv-cab-texto:#2a361c;
--vv-pie-fondo:#2a361c;
--vv-pie-texto:rgba(247,241,227,.8);
--vv-barra-fondo:rgba(36,47,19,.97);
--vv-radio:18px;
--vv-fuente-titulos:"Fraunces",Georgia,"Times New Roman",serif;
--vv-fuente-textos:"Nunito",system-ui,-apple-system,"Segoe UI",sans-serif;
--le-oscuro:#2a361c;
--le-oscuro-2:#222c12;
--le-olivo:#616c36;
--le-olivo-claro:#9aa45f;
--le-salvia:#c9cfa6;
--le-ocre:#d5a05a;
--le-ocre-claro:#e7bf85;
--le-ocre-osc:#8f5e1f;
--le-crema:#f7f1e3;
--le-sillar:#eee3cb;
--le-piedra:#d8c49c;
--le-teja:#c8693a;
--le-sombra:0 1px 2px rgba(42,54,23,.06),0 14px 34px -16px rgba(42,54,23,.35);
--le-curva:cubic-bezier(.22,1,.36,1);
}

/* Fotos de tarjetas */
body.le .vv-contenido :is(.vvf-tarjeta__img,.vvl-tarjeta__img,.vvf-cabecera__img,.vvl-ficha__fondo-img),
body.le .vv-contenido .le-castillo__foto img {
height:100%;
}

/* Fuentes */
@font-face {
font-family:"Fraunces";
font-style:normal;
font-weight:600 900;
font-display:swap;
src:url(https://recursos.veovirtual.net/comun/fuentes/fraunces-latin.woff2) format("woff2");
}
@font-face {
font-family:"Nunito";
font-style:normal;
font-weight:400 900;
font-display:swap;
src:url(https://recursos.veovirtual.net/comun/fuentes/nunito-latin.woff2) format("woff2");
}
@font-face {
font-family:"Nunito";
font-style:italic;
font-weight:400 700;
font-display:swap;
src:url(https://recursos.veovirtual.net/comun/fuentes/nunito-italic-latin.woff2) format("woff2");
}

/* Tipografía y básicos */
body.le {
font-size:17px;
line-height:1.65;
background-color:var(--vv-fondo);
}
body.le h1,
body.le h2,
body.le h3,
body.le h4 {
color:var(--le-oscuro);
font-family:var(--vv-fuente-titulos);
font-weight:700;
line-height:1.15;
letter-spacing:-.01em;
font-variation-settings:"SOFT" 50,"WONK" 0;
}
:where(body.le) a {
color:var(--le-olivo);
text-underline-offset:3px;
}
body.le ::selection {
background-color:var(--le-ocre-claro);
color:var(--le-oscuro);
}
body .le-ico {
display:block;
width:24px;
height:24px;
fill:none;
stroke:currentColor;
stroke-width:1.6;
stroke-linecap:round;
stroke-linejoin:round;
}
body .vv-contenido > :where(p,h2,h3,h4,ul,ol,blockquote,figure,table,.wp-block-buttons,.wp-block-columns,.wp-block-image,.wp-block-list,.wp-block-quote,.wp-block-table,.wp-block-separator) {
max-width:820px;
margin-left:auto;
margin-right:auto;
padding-left:clamp(16px,4vw,32px);
padding-right:clamp(16px,4vw,32px);
}
body .vv-contenido > p:last-child,
body .vv-contenido > ul:last-child,
body .vv-contenido > ol:last-child {
margin-bottom:clamp(48px,7vw,96px);
}
body .vv-contenido > h2 {
margin-top:1.6em;
font-size:clamp(1.5rem,3vw,2.1rem);
}
body .vv-contenido > h3 {
margin-top:1.4em;
font-size:clamp(1.2rem,2.2vw,1.5rem);
}

/* Botones */
body .le-boton,
body.le .vvf-boton {
position:relative;
display:inline-flex;
align-items:center;
justify-content:center;
gap:10px;
min-height:52px;
padding:12px 26px;
border:2px solid var(--le-oscuro);
border-radius:999px;
background-color:transparent;
color:var(--le-oscuro);
font:800 16px/1.2 var(--vv-fuente-textos);
letter-spacing:.01em;
text-decoration:none;
cursor:pointer;
transition:transform .25s var(--le-curva),background-color .25s ease,color .25s ease,box-shadow .25s ease;
}
body .le-boton svg,
body.le .vvf-boton svg {
width:22px;
height:22px;
transition:transform .3s var(--le-curva);
}
body .le-boton:hover,
body .le-boton:focus-visible,
body.le .vvf-boton:hover,
body.le .vvf-boton:focus-visible {
background-color:var(--le-oscuro);
color:var(--le-crema);
transform:translateY(-2px);
}
body .le-boton:hover svg,
body.le .vvf-boton:hover svg {
transform:translateX(3px) rotate(-6deg);
}
body .le-boton--principal,
body.le .vvf-boton--principal {
border-color:var(--le-ocre);
background-color:var(--le-ocre);
color:var(--le-oscuro);
box-shadow:0 10px 24px -12px rgba(143,94,31,.8);
}
body .le-boton--principal:hover,
body .le-boton--principal:focus-visible,
body.le .vvf-boton--principal:hover,
body.le .vvf-boton--principal:focus-visible {
border-color:var(--le-oscuro);
background-color:var(--le-oscuro);
color:var(--le-ocre-claro);
}
body .le-boton--claro {
border-color:rgba(247,241,227,.7);
color:var(--le-crema);
}
body .le-boton--claro:hover,
body .le-boton--claro:focus-visible {
border-color:var(--le-crema);
background-color:var(--le-crema);
color:var(--le-oscuro);
}
body .le-boton--wa {
border-color:#1f8d4e;
background-color:#1f8d4e;
color:#ffffff;
}
body .le-boton--wa:hover,
body .le-boton--wa:focus-visible {
border-color:#166b3a;
background-color:#166b3a;
color:#ffffff;
}
body .le-mas {
display:inline-flex;
align-items:center;
gap:8px;
color:var(--le-olivo);
font-weight:800;
text-decoration:none;
}
body .le-mas svg {
width:20px;
height:20px;
transition:transform .3s var(--le-curva);
}
body .le-mas:hover svg {
transform:translateX(4px);
}

/* Cabecera */
body .vv-cabecera {
-webkit-backdrop-filter:saturate(1.4) blur(12px);
backdrop-filter:saturate(1.4) blur(12px);
}
html.vv-scroll body .vv-cabecera {
box-shadow:0 8px 28px -12px rgba(42,54,23,.3);
}
body .vv-cabecera::after {
content:"";
position:absolute;
left:0;
right:0;
bottom:-10px;
height:10px;
background:linear-gradient(90deg,var(--le-olivo) 0 50%,transparent 50%) 0 0/24px 10px repeat-x;
opacity:0;
transition:opacity .3s ease;
-webkit-mask:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent);
mask:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent);
}
html.vv-scroll body .vv-cabecera::after {
opacity:.18;
}
body .vv-cabecera {
position:relative;
}
body .vv-cabecera__caja {
position:relative;
justify-content:flex-start;
gap:14px;
max-width:1360px;
padding:10px clamp(16px,3vw,32px);
}
body .vv-nav {
margin-left:auto;
}
body .vv-cabecera__logo {
height:clamp(84px,7.6vw,106px);
}
html.vv-scroll body .vv-cabecera__logo {
height:58px;
}
body .vv-nav__lista {
gap:2px;
}
body .vv-nav__enlace {
position:relative;
gap:5px;
padding:8px 8px;
white-space:nowrap;
border-radius:999px;
color:var(--le-oscuro);
font-size:14.5px;
font-weight:700;
transition:background-color .2s ease,color .2s ease;
}
body .vv-nav__ico {
color:var(--le-olivo);
transition:transform .35s var(--le-curva);
}
body .vv-nav__ico svg {
width:20px;
height:20px;
}
body .vv-nav__enlace:hover,
body .vv-nav__enlace:focus-visible {
background-color:rgba(97,108,54,.1);
}
body .vv-nav__enlace:hover .vv-nav__ico {
transform:translateY(-2px) rotate(-8deg);
}
body .vv-nav__item.is-actual .vv-nav__enlace {
background-color:rgba(213,160,90,.22);
}
body .vv-nav__item--destacado .vv-nav__enlace {
margin-left:8px;
padding:10px 20px;
background-color:var(--le-ocre);
color:var(--le-oscuro);
box-shadow:0 8px 18px -10px rgba(143,94,31,.9);
}
body .vv-nav__item--destacado .vv-nav__ico {
color:var(--le-oscuro);
}
body .vv-nav__item--destacado .vv-nav__enlace:hover,
body .vv-nav__item--destacado .vv-nav__enlace:focus-visible {
background-color:var(--le-oscuro);
color:var(--le-ocre-claro);
}
body .vv-nav__item--destacado .vv-nav__enlace:hover .vv-nav__ico {
color:var(--le-ocre-claro);
}
body .vv-cabecera__menu {
border:2px solid var(--le-oscuro);
color:var(--le-oscuro);
font-weight:800;
}
@media only screen and (max-width:1279px) {
body .vv-nav {
display:none;
}
body .vv-cabecera__menu {
display:inline-flex;
}
}
@media only screen and (min-width:768px) and (max-width:959px) {
body .vv-cabecera__menu {
position:absolute;
top:50%;
left:50%;
translate:-50% -50%;
}
}
@media only screen and (min-width:768px) and (max-width:1279px) {
body .vv-cabecera__menu {
padding:10px 22px;
background-color:var(--le-oscuro);
color:var(--le-crema);
}
}
@media only screen and (max-width:767px) {
body .vv-cabecera__caja {
padding:8px 14px;
}
body .vv-cabecera__logo {
height:72px;
}
html.vv-scroll body .vv-cabecera__logo {
height:52px;
}
body .vv-cabecera__menu {
width:50px;
height:50px;
border:0;
border-radius:50%;
background-color:var(--le-oscuro);
color:var(--le-crema);
}
}

/* Franja de contacto */
body .le-franja {
display:none;
background-color:var(--le-oscuro);
color:var(--le-crema);
font-size:13.5px;
font-weight:700;
line-height:1.2;
}
body .le-franja__caja {
display:flex;
align-items:center;
justify-content:space-between;
gap:18px;
max-width:1360px;
margin:0 auto;
padding:4px clamp(16px,3vw,32px);
}
body .le-franja__datos {
display:flex;
flex-wrap:wrap;
align-items:center;
gap:6px 22px;
margin:0;
}
body .le-franja__dato {
display:inline-flex;
align-items:center;
gap:8px;
}
body .le-franja__ico {
width:18px;
height:18px;
color:var(--le-ocre-claro);
}
body .le-franja__enlace {
display:inline-flex;
align-items:center;
min-height:32px;
color:var(--le-crema);
text-decoration:none;
}
body .le-franja__enlace.is-principal {
font-weight:800;
}
body .le-franja__enlace:hover,
body .le-franja__enlace:focus-visible {
color:var(--le-ocre-claro);
text-decoration:underline;
}
body .le-franja__sep {
opacity:.5;
}
body .le-franja__redes {
display:flex;
align-items:center;
gap:4px;
}
body .le-franja__siguenos {
margin-right:6px;
color:var(--le-ocre-claro);
font-size:12px;
letter-spacing:.08em;
text-transform:uppercase;
}
body .le-franja__red {
display:grid;
place-items:center;
width:32px;
height:32px;
border-radius:50%;
color:var(--le-crema);
transition:background-color .2s ease,color .2s ease,transform .25s var(--le-curva);
}
body .le-franja__red .le-ico {
width:19px;
height:19px;
}
body .le-franja__red:hover,
body .le-franja__red:focus-visible {
background-color:var(--le-ocre);
color:var(--le-oscuro);
transform:translateY(-1px);
}
@media only screen and (min-width:960px) {
body .le-franja {
display:block;
}
}

/* Mega menú de rutas */
body .le-mega-li {
display:flex;
align-items:center;
}
body .le-mega__abrir {
display:grid;
place-items:center;
width:26px;
height:26px;
margin-left:-6px;
padding:0;
border:0;
border-radius:50%;
background:none;
color:var(--le-olivo);
cursor:pointer;
}
body .le-mega__abrir .le-ico {
width:16px;
height:16px;
transition:transform .3s var(--le-curva);
}
body .le-mega-li.is-mega .le-mega__abrir .le-ico {
transform:rotate(180deg);
}
body .le-mega {
position:fixed;
z-index:60;
padding-top:10px;
opacity:0;
transform:translateY(-8px);
transition:opacity .22s ease,transform .22s var(--le-curva);
}
body .le-mega-li.is-mega .le-mega {
opacity:1;
transform:none;
}
body .le-mega[hidden] {
display:none;
}
body .le-mega__caja {
display:grid;
grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
gap:10px;
padding:12px;
border:1px solid rgba(42,54,23,.08);
border-radius:24px 24px 24px 8px;
background-color:#fffdf7;
box-shadow:0 30px 60px -24px rgba(42,54,23,.45);
}
body .le-mega__lista {
display:grid;
gap:4px;
margin:0;
padding:0;
list-style:none;
}
body .le-mega__item {
display:flex;
align-items:center;
gap:14px;
padding:12px 14px;
border-radius:16px;
color:var(--le-oscuro);
text-decoration:none;
transition:background-color .2s ease;
}
body .le-mega__ico {
display:grid;
flex:none;
place-items:center;
width:48px;
height:48px;
border-radius:16px 16px 16px 5px;
background-color:rgba(97,108,54,.12);
color:var(--le-olivo);
transition:background-color .25s ease,color .25s ease,transform .35s var(--le-curva);
}
body .le-mega__ico .le-ico {
width:26px;
height:26px;
}
body .le-mega__txt {
display:flex;
flex:1;
flex-direction:column;
gap:2px;
min-width:0;
}
body .le-mega__txt strong {
font-family:var(--vv-fuente-titulos);
font-size:19px;
font-weight:700;
line-height:1.2;
}
body .le-mega__txt span {
color:rgba(42,54,23,.72);
font-size:14px;
line-height:1.35;
}
body .le-mega__flecha {
flex:none;
width:20px;
height:20px;
color:var(--le-ocre-osc);
opacity:0;
transform:translateX(-6px);
transition:opacity .2s ease,transform .3s var(--le-curva);
}
body .le-mega__item.is-activo {
background-color:var(--le-crema);
}
body .le-mega__item.is-activo .le-mega__ico {
background-color:var(--le-ocre);
color:var(--le-oscuro);
transform:rotate(-6deg);
}
body .le-mega__item.is-activo .le-mega__flecha {
opacity:1;
transform:none;
}
body .le-mega__foto {
position:relative;
min-height:300px;
overflow:hidden;
border-radius:18px 18px 18px 6px;
background-color:var(--le-sillar);
}
body .le-mega__img {
position:absolute;
inset:0;
width:100%;
height:100%;
object-fit:cover;
opacity:0;
transform:scale(1.06);
transition:opacity .45s ease,transform 1.2s var(--le-curva);
}
body .le-mega__img.is-activo {
opacity:1;
transform:none;
}
body .le-mega__pie {
position:absolute;
left:14px;
bottom:14px;
padding:7px 14px;
border-radius:999px;
background-color:rgba(42,54,23,.82);
color:var(--le-crema);
font-size:14px;
font-weight:800;
}
body .le-sub-li {
display:flex;
flex-wrap:wrap;
align-items:center;
}
body .le-sub-li > .vv-menu-movil__enlace {
flex:1;
}
body .le-sub__abrir {
display:grid;
place-items:center;
width:44px;
height:44px;
padding:0;
border:1px solid rgba(247,241,227,.25);
border-radius:50%;
background:none;
color:var(--le-ocre-claro);
cursor:pointer;
}
body .le-sub__abrir .le-ico {
width:20px;
height:20px;
transition:transform .3s var(--le-curva);
}
body .le-sub-li.is-abierto .le-sub__abrir .le-ico {
transform:rotate(180deg);
}
body .le-sub {
display:grid;
grid-template-rows:0fr;
flex-basis:100%;
transition:grid-template-rows .35s var(--le-curva);
}
body .le-sub-li.is-abierto .le-sub {
grid-template-rows:1fr;
}
body .le-sub__lista {
min-height:0;
margin:0;
padding:0 0 0 22px;
overflow:hidden;
list-style:none;
}
body .le-sub__enlace {
display:flex;
align-items:center;
gap:12px;
min-height:48px;
padding:6px 8px;
border-bottom:1px dashed rgba(247,241,227,.1);
color:var(--le-crema);
font-size:16px;
font-weight:700;
text-decoration:none;
}
body .le-sub__enlace .le-ico {
width:22px;
height:22px;
color:var(--le-ocre-claro);
}
body .le-sub__enlace:hover,
body .le-sub__enlace:focus-visible {
color:var(--le-ocre-claro);
}

/* Idiomas */
body .le-idioma {
position:relative;
flex:none;
margin-left:auto;
}
@media only screen and (min-width:1280px) {
body .vv-nav + .le-idioma {
margin-left:4px;
}
}
body .le-idioma__btn {
display:inline-flex;
align-items:center;
gap:6px;
min-height:44px;
padding:6px 12px;
border:1px solid rgba(42,54,23,.2);
border-radius:999px;
background-color:rgba(255,255,255,.6);
color:var(--le-oscuro);
font:800 13px/1 var(--vv-fuente-textos);
cursor:pointer;
}
body .le-idioma__btn .le-ico {
width:20px;
height:20px;
}
body .le-idioma__menu {
position:absolute;
top:calc(100% + 8px);
right:0;
z-index:20;
min-width:170px;
margin:0;
padding:6px;
border-radius:16px;
background-color:#ffffff;
box-shadow:0 18px 40px -16px rgba(42,54,23,.45);
list-style:none;
}
body .le-idioma__menu[hidden] {
display:none;
}
body .le-idioma__menu button {
display:block;
width:100%;
min-height:44px;
padding:8px 14px;
border:0;
border-radius:10px;
background:none;
color:var(--le-oscuro);
font:700 15px/1.2 var(--vv-fuente-textos);
text-align:left;
cursor:pointer;
}
body .le-idioma__menu button:hover,
body .le-idioma__menu button:focus-visible {
background-color:var(--le-crema);
}
body .le-idioma__menu button[aria-current] {
background-color:var(--le-ocre);
}
body > .skiptranslate,
body .goog-te-banner-frame,
#goog-gt-tt,
.goog-te-balloon-frame {
display:none !important;
}
body {
top:0 !important;
}
body .goog-text-highlight {
background:none !important;
box-shadow:none !important;
}
@media only screen and (max-width:767px) {
body .le-idioma__btn {
min-height:44px;
padding:6px 10px;
}
}

/* Menú móvil */
body .vv-menu-movil__fondo {
background:rgba(34,44,18,.55);
-webkit-backdrop-filter:blur(3px);
backdrop-filter:blur(3px);
}
body .vv-menu-movil__panel {
width:min(90vw,420px);
background-color:var(--le-oscuro);
background-image:radial-gradient(120% 60% at 100% 0%,rgba(213,160,90,.22),transparent 60%),linear-gradient(180deg,var(--le-oscuro),var(--le-oscuro-2));
color:var(--le-crema);
isolation:isolate;
}
body .vv-menu-movil__panel::before {
content:"";
position:absolute;
left:-12%;
right:-12%;
bottom:-4%;
z-index:-1;
height:56%;
background:url(https://recursos.veovirtual.net/c/laencina/logo/marca-la-encina-blanco-2.svg) center bottom/contain no-repeat;
opacity:.09;
filter:blur(2.5px);
pointer-events:none;
}
body .vv-menu-movil__cab {
padding:18px 20px 10px;
}
body .vv-menu-movil__logo {
height:64px;
}
body .vv-menu-movil__cerrar {
border-color:rgba(247,241,227,.3);
color:var(--le-crema);
}
body .vv-menu-movil__lista {
padding:6px 18px 12px;
}
body .vv-menu-movil__enlace {
gap:14px;
min-height:56px;
padding:8px 6px;
border-bottom:1px dashed rgba(247,241,227,.14);
font-size:17px;
font-weight:700;
}
body .vv-menu-movil__ico {
display:grid;
place-items:center;
flex:none;
width:42px;
height:42px;
border-radius:14px 14px 14px 4px;
background-color:rgba(213,160,90,.16);
color:var(--le-ocre-claro);
transition:transform .35s var(--le-curva),background-color .2s ease;
}
body .vv-menu-movil__ico svg {
width:24px;
height:24px;
}
body .vv-menu-movil__item.is-actual .vv-menu-movil__ico,
body .vv-menu-movil__enlace:hover .vv-menu-movil__ico {
background-color:var(--le-ocre);
color:var(--le-oscuro);
transform:rotate(-6deg);
}
body .vv-menu-movil__item--destacado .vv-menu-movil__enlace {
margin-top:12px;
padding:8px 14px;
border:0;
border-radius:999px;
background-color:var(--le-ocre);
color:var(--le-oscuro);
}
body .vv-menu-movil__item--destacado .vv-menu-movil__ico {
background-color:transparent;
color:var(--le-oscuro);
}
body .vv-menu-movil.is-abierto .vv-menu-movil__item {
animation:le-entra-menu .5s var(--le-curva) both;
}
body .vv-menu-movil.is-abierto .vv-menu-movil__item:nth-child(2) { animation-delay:.04s; }
body .vv-menu-movil.is-abierto .vv-menu-movil__item:nth-child(3) { animation-delay:.08s; }
body .vv-menu-movil.is-abierto .vv-menu-movil__item:nth-child(4) { animation-delay:.12s; }
body .vv-menu-movil.is-abierto .vv-menu-movil__item:nth-child(5) { animation-delay:.16s; }
body .vv-menu-movil.is-abierto .vv-menu-movil__item:nth-child(6) { animation-delay:.2s; }
body .vv-menu-movil.is-abierto .vv-menu-movil__item:nth-child(7) { animation-delay:.24s; }
body .vv-menu-movil.is-abierto .vv-menu-movil__item:nth-child(8) { animation-delay:.28s; }
body .vv-menu-movil.is-abierto .vv-menu-movil__item:nth-child(9) { animation-delay:.32s; }
@keyframes le-entra-menu {
from {
opacity:0;
transform:translateX(24px);
}
to {
opacity:1;
transform:none;
}
}
body .vv-menu-movil__pie {
display:flex;
flex-direction:column;
gap:14px;
padding:22px 24px 28px;
font-weight:700;
}
body .vv-menu-movil__pie a {
color:var(--le-ocre-claro);
}

body .vv-menu-movil__pie .le-menu-tel,
body .vv-menu-movil__pie .le-menu-correo {
display:inline-flex;
align-items:center;
gap:10px;
color:var(--le-ocre-claro);
text-decoration:none;
}
body .vv-menu-movil__pie .le-ico {
width:22px;
height:22px;
flex:none;
}
body .vv-menu-movil__redes {
display:flex;
flex-wrap:wrap;
gap:8px;
}
body .vv-menu-movil__redes .le-red {
display:grid;
place-items:center;
width:44px;
height:44px;
border:1px solid rgba(247,241,227,.25);
border-radius:50%;
color:var(--le-crema);
}
body .vv-menu-movil__redes .le-red:hover,
body .vv-menu-movil__redes .le-red:focus-visible {
background-color:var(--le-ocre);
color:var(--le-oscuro);
}

/* Barra inferior */
body .vv-barra {
background:var(--vv-barra-fondo);
box-shadow:0 -10px 30px -12px rgba(0,0,0,.35);
}
body .vv-barra__caja {
padding:4px 6px;
}
body .vv-barra__grupo {
justify-content:space-around;
}
body .vv-barra__botones {
flex:1;
justify-content:space-around;
gap:0;
}
body .vv-barra__etiqueta,
body .vv-barra__etiqueta-movil,
body .vv-barra__separador {
display:none !important;
}
body .vv-barra__btn,
body .vv-barra__btn:visited {
position:relative;
flex-direction:column;
gap:2px;
width:auto !important;
min-width:62px;
height:auto !important;
min-height:56px !important;
padding:6px 4px !important;
border-radius:14px;
color:var(--le-crema);
font-size:11px;
font-weight:800;
line-height:1.1;
}
body .vv-barra__txt {
position:static !important;
width:auto !important;
height:auto !important;
overflow:visible !important;
clip:auto !important;
white-space:nowrap;
}
body .vv-barra__ico svg {
width:25px;
height:25px;
}
body .vv-barra__btn.is-actual {
color:var(--le-ocre-claro);
}
body .vv-barra__btn.is-actual::after {
content:"";
position:absolute;
top:2px;
left:50%;
width:18px;
height:3px;
border-radius:3px;
background-color:var(--le-ocre);
translate:-50% 0;
}
body .vv-barra__btn--destacado {
z-index:2;
margin-top:-22px;
color:var(--le-oscuro) !important;
}
body .vv-barra__btn--destacado .vv-barra__ico {
display:grid;
place-items:center;
width:58px;
height:58px;
border:4px solid var(--le-oscuro);
border-radius:50%;
background-color:var(--le-ocre);
color:var(--le-oscuro);
box-shadow:0 8px 20px -6px rgba(0,0,0,.45);
animation:le-latido 3.2s ease-in-out 2s 3;
}
body .vv-barra__btn--destacado .vv-barra__txt {
color:var(--le-ocre-claro);
}
@keyframes le-latido {
0%,100% {
transform:scale(1);
}
8% {
transform:scale(1.12) rotate(-6deg);
}
16% {
transform:scale(1);
}
}
body .vv-barra__btn--wa .vv-barra__ico {
color:#7ee0a3;
}
@media only screen and (min-width:960px) {
body .vv-barra {
display:none;
}
}

/* Botón del core */
body .vv-boton {
display:inline-flex;
align-items:center;
justify-content:center;
min-height:52px;
padding:12px 26px;
border-radius:999px;
background-color:var(--le-ocre);
color:var(--le-oscuro);
font-weight:800;
text-decoration:none;
}

/* Hero de portada */
body .le-hero {
position:relative;
display:flex;
flex-direction:column;
justify-content:space-between;
min-height:max(620px,calc(100svh - var(--vv-arriba-alto)));
overflow:hidden;
background:linear-gradient(180deg,#f9f3e4 0%,#f6e9cc 52%,#efd9ae 100%);
isolation:isolate;
}
body .le-hero::before {
content:"";
position:absolute;
inset:0;
z-index:-1;
background:url(https://recursos.veovirtual.net/c/laencina/texturas/sillares.svg) center top/220px auto repeat;
opacity:.35;
-webkit-mask:linear-gradient(180deg,#000,transparent 55%);
mask:linear-gradient(180deg,#000,transparent 55%);
}
body .le-hero__caja {
position:relative;
z-index:3;
width:100%;
max-width:980px;
margin:0 auto;
padding:clamp(24px,4.5vh,56px) clamp(18px,4vw,32px) 0;
text-align:center;
}
body .le-hero__ante {
display:inline-flex;
align-items:center;
gap:10px;
margin:0 0 14px;
padding:6px 16px 6px 8px;
border-radius:999px;
background-color:rgba(255,255,255,.7);
color:var(--le-olivo);
font-size:14px;
font-weight:800;
letter-spacing:.06em;
text-transform:uppercase;
box-shadow:0 6px 16px -10px rgba(42,54,23,.4);
}
body .le-hero__ante svg {
width:28px;
height:28px;
padding:4px;
border-radius:50%;
background-color:var(--le-ocre);
color:var(--le-oscuro);
}
body .le-hero__titulo {
margin:0 auto;
max-width:16ch;
color:var(--le-oscuro);
font-size:clamp(2.3rem,5.4vw,4.4rem);
font-weight:800;
line-height:1.02;
letter-spacing:-.02em;
}
body .le-hero__titulo em {
position:relative;
display:inline-block;
color:var(--le-olivo);
font-style:italic;
font-weight:700;
}
body .le-hero__titulo em::after {
content:"";
position:absolute;
left:2%;
right:2%;
bottom:.02em;
z-index:-1;
height:.32em;
border-radius:.2em;
background-color:var(--le-ocre-claro);
opacity:.65;
transform-origin:left center;
animation:le-subraya 1.1s var(--le-curva) .9s both;
}
@keyframes le-subraya {
from {
transform:scaleX(0);
}
to {
transform:scaleX(1);
}
}
body .le-hero__texto {
max-width:640px;
margin:18px auto 0;
color:#4a4c3c;
font-size:clamp(1.02rem,1.8vw,1.22rem);
}
body .le-hero__botones {
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:12px;
margin-top:26px;
}
body .le-hero__escena {
position:relative;
z-index:1;
flex:none;
width:100%;
height:calc(100vw * .294);
max-height:470px;
margin-top:clamp(12px,2vw,28px);
pointer-events:none;
}
body .le-hero__svg {
position:absolute;
left:0;
right:0;
bottom:0;
width:100%;
height:100%;
overflow:visible;
}
body .le-hero__pausa {
position:absolute;
right:clamp(12px,2vw,24px);
bottom:clamp(12px,2vw,24px);
z-index:4;
display:grid;
place-items:center;
width:40px;
height:40px;
padding:0;
border:0;
border-radius:50%;
background-color:rgba(42,54,23,.7);
color:var(--le-crema);
cursor:pointer;
}
body .le-hero__pausa svg {
width:18px;
height:18px;
}
body .le-hero__pausa .le-ico-play,
body .le-hero.is-pausa .le-hero__pausa .le-ico-pausa {
display:none;
}
body .le-hero.is-pausa .le-hero__pausa .le-ico-play {
display:block;
}
body .le-hero__svg .le-traza {
fill:none;
stroke:var(--le-oscuro);
stroke-width:3;
stroke-linecap:round;
stroke-linejoin:round;
stroke-dasharray:1;
stroke-dashoffset:1;
fill-opacity:0;
animation:le-traza 2.4s var(--le-curva) forwards,le-relleno 1.2s ease forwards;
}
body .le-hero__svg .le-cerro {
fill:#a6ad6f;
animation-delay:.1s,1.3s;
}
body .le-hero__svg .le-piedra {
fill:#f4e8cd;
animation-delay:.5s,2s;
}
body .le-hero__svg .le-detalle {
stroke-width:2.4;
animation-delay:1.4s,2.4s;
}
body .le-hero__svg .le-casa {
fill:#fffaf0;
stroke-width:2.4;
animation-delay:1s,2.2s;
}
body .le-hero__svg .le-tejado {
stroke:var(--le-teja);
stroke-width:5;
animation-delay:1.6s,2.6s;
}
body .le-hero__svg .le-aspa {
stroke-width:3;
animation-delay:1.8s,2.4s;
}
body .le-hero__svg .le-prado {
fill:var(--le-olivo);
stroke:var(--le-oscuro);
animation-delay:.2s,1s;
}
body .le-hero__svg .le-tronco {
stroke:var(--le-oscuro);
stroke-width:5;
animation-delay:.8s,1.6s;
}
body .le-hero__svg .le-copa {
fill:#3d4a1f;
animation-delay:1s,1.8s;
}
body .le-hero__svg .le-vela {
fill:#f4e8cd;
stroke:var(--le-oscuro);
stroke-width:2;
opacity:0;
animation:le-aparece .8s ease 2.6s forwards;
}
body .le-hero__svg .le-eje {
fill:var(--le-oscuro);
}
body .le-hero__svg .le-sierra--1 {
fill:#d5d7ae;
}
body .le-hero__svg .le-sierra--2 {
fill:#bcc28d;
}
body .le-hero__svg .le-sol__disco {
fill:#f0c27a;
}
body .le-hero__svg .le-sol__rayos {
stroke:#e8b064;
stroke-width:6;
stroke-linecap:round;
transform-box:fill-box;
transform-origin:center;
animation:le-gira 40s linear infinite;
}
body .le-hero__svg .le-nube path {
fill:#ffffff;
opacity:.85;
}
body .le-hero__svg .le-nube {
animation:le-nube 26s ease-in-out infinite alternate;
}
body .le-hero__svg .le-nube--1 {
animation-duration:34s;
}
body .le-hero__svg .le-nube--2 {
animation-duration:30s;
animation-delay:-8s;
}
body .le-hero__svg .le-nube--3 {
animation-duration:38s;
animation-delay:-14s;
}
body .le-hero__svg .le-pajaro {
fill:none;
stroke:var(--le-oscuro);
stroke-width:2.6;
stroke-linecap:round;
transform-box:fill-box;
transform-origin:center;
animation:le-aleteo 1.1s ease-in-out infinite,le-planea 18s ease-in-out infinite alternate;
}
body .le-hero__svg .le-pajaro--1 {
animation-delay:-.4s,-6s;
}
body .le-hero__svg .le-pajaro--2 {
animation-delay:-.7s,-11s;
}
body .le-hero__svg .le-aspas {
transform-box:view-box;
animation:le-gira 9s linear infinite;
transform-origin:0 -14px;
}
body .le-hero__svg .le-camino {
fill:none;
stroke:#efe2c2;
stroke-width:16;
stroke-linecap:round;
stroke-dasharray:2 26;
opacity:0;
animation:le-aparece 1s ease 2s forwards;
}
body .le-hero__svg .le-flor {
fill:var(--le-ocre);
stroke:var(--le-oscuro);
stroke-width:2;
}
body .le-hero__svg .le-caminantes {
opacity:0;
animation:le-aparece .8s ease 2.6s forwards;
}
body .le-hero__svg .le-figura {
fill:var(--le-oscuro);
}
body .le-hero__svg .le-palo {
stroke:var(--le-oscuro);
stroke-width:3;
stroke-linecap:round;
}
body .le-hero__svg .le-bandera {
fill:var(--le-teja);
transform-box:fill-box;
transform-origin:left center;
animation:le-ondea 1.4s ease-in-out infinite alternate;
}
body .le-hero__svg .le-nino {
animation:le-paso .6s ease-in-out infinite alternate;
}
body .le-hero__svg .le-nino--1 {
animation-delay:-.2s;
}
body .le-hero__svg .le-nino--2 {
animation-delay:-.4s;
}
body .le-hero__svg .le-agua {
fill:#a9cbc4;
}
body .le-hero__svg .le-ola {
fill:none;
stroke:#ffffff;
stroke-width:2.6;
stroke-linecap:round;
opacity:.25;
animation:le-ola 4.5s ease-in-out infinite alternate;
}
body .le-hero__svg .le-ola--1 {
animation-delay:-1.5s;
}
body .le-hero__svg .le-ola--2 {
animation-delay:-3s;
}
body .le-hero__svg .le-kayak {
animation:le-kayak 22s ease-in-out infinite alternate;
}
body .le-hero__svg .le-kayak__casco {
fill:var(--le-teja);
stroke:var(--le-oscuro);
stroke-width:2;
}
body .le-hero__svg .le-kayak__remo {
stroke:var(--le-oscuro);
stroke-width:2.4;
stroke-linecap:round;
transform-box:fill-box;
transform-origin:center;
animation:le-rema 1.6s ease-in-out infinite alternate;
}
body .le-hero__svg .le-pinaculo {
fill:#fffaf0;
stroke-width:2;
animation-delay:1.8s,2.6s;
}
body .le-hero__svg .le-reloj {
fill:#fffaf0;
stroke:var(--le-oscuro);
stroke-width:1.8;
opacity:0;
animation:le-aparece .8s ease 2.4s forwards;
}
body .le-hero__svg .le-estandarte {
opacity:0;
animation:le-aparece .8s ease 2.4s forwards;
}
@keyframes le-ola {
to {
opacity:.9;
translate:10px 0;
}
}
@keyframes le-kayak {
from {
translate:-46px 0;
}
to {
translate:40px 0;
}
}
@keyframes le-rema {
from {
transform:rotate(-14deg);
}
to {
transform:rotate(30deg);
}
}
body .le-hero.is-fuera *,
body .le-hero.is-pausa *,
body .le-hero.is-pausa *::before,
body .le-hero.is-pausa *::after {
animation-play-state:paused !important;
}
@keyframes le-traza {
to {
stroke-dashoffset:0;
}
}
@keyframes le-relleno {
to {
fill-opacity:1;
}
}
@keyframes le-aparece {
to {
opacity:1;
}
}
@keyframes le-gira {
to {
transform:rotate(360deg);
}
}
@keyframes le-nube {
from {
translate:-40px 0;
}
to {
translate:60px 0;
}
}
@keyframes le-aleteo {
50% {
transform:scaleY(.4);
}
}
@keyframes le-planea {
from {
translate:-30px 6px;
}
to {
translate:120px -18px;
}
}
@keyframes le-ondea {
to {
transform:skewY(8deg) scaleX(.86);
}
}
@keyframes le-paso {
to {
translate:0 -3px;
}
}
@media only screen and (max-width:767px) {
body .le-hero {
min-height:calc(100svh - var(--vv-arriba-alto));
}
body .le-hero__ante {
font-size:11.5px;
letter-spacing:.04em;
}
body .le-hero__caja {
padding-top:28px;
}
body .le-hero__titulo {
font-size:clamp(2.1rem,10.4vw,3rem);
}
body .le-hero__texto {
font-size:1rem;
}
body .le-hero__botones {
flex-direction:column;
align-items:stretch;
max-width:340px;
margin-left:auto;
margin-right:auto;
}
body .le-hero {
padding-bottom:var(--vv-barra-alto,72px);
}
body .le-hero__escena {
height:calc(100vw * .5);
margin-top:18px;
}
}

/* Cabeceras de sección */
body .le-seccion {
position:relative;
overflow-x:clip;
padding:clamp(64px,9vw,120px) 0;
isolation:isolate;
}
body .le-caja {
position:relative;
z-index:2;
max-width:var(--vv-ancho);
margin:0 auto;
padding:0 clamp(16px,4vw,32px);
}
body .le-cab {
max-width:760px;
margin:0 auto clamp(32px,4vw,52px);
text-align:center;
}
body .le-cab--izq {
margin-left:0;
text-align:left;
}
body .le-ante {
display:block;
margin:0 0 10px;
color:var(--le-ocre-osc);
font-size:14px;
font-weight:900;
letter-spacing:.16em;
text-transform:uppercase;
}
body .le-cab .le-ante::after {
content:"";
display:block;
width:58px;
height:10px;
margin:10px auto 0;
background:linear-gradient(90deg,currentColor 0 50%,transparent 50%) 0 0/14.5px 10px repeat-x;
opacity:.7;
}
body .le-cab--izq .le-ante::after {
margin-left:0;
}
body .le-titulo {
margin:0;
font-size:clamp(1.9rem,4.4vw,3.2rem);
font-weight:800;
}
body .le-titulo em {
color:var(--le-olivo);
font-style:italic;
font-weight:700;
}
body .le-texto {
margin:14px 0 0;
color:#55584a;
font-size:clamp(1rem,1.6vw,1.12rem);
}
body .le-pie-seccion {
margin-top:clamp(28px,4vw,44px);
text-align:center;
}
body .le-seccion--sillar {
background-color:var(--le-sillar);
}
body .le-seccion--sillar::before {
content:"";
position:absolute;
inset:0;
z-index:-1;
background:url(https://recursos.veovirtual.net/c/laencina/texturas/sillares.svg) center/240px auto repeat;
opacity:.55;
}
body .le-seccion--crema {
background-color:var(--le-crema);
}
body .le-seccion--oscuro {
background-color:var(--le-oscuro);
background-image:radial-gradient(70% 60% at 85% 0%,rgba(213,160,90,.18),transparent 70%);
color:rgba(247,241,227,.86);
}
body .le-seccion--oscuro .le-titulo,
body .le-seccion--oscuro h2,
body .le-seccion--oscuro h3 {
color:var(--le-crema);
}
body .le-seccion--oscuro .le-titulo em {
color:var(--le-ocre-claro);
}
body .le-seccion--oscuro .le-ante {
color:var(--le-ocre-claro);
}
body .le-seccion--oscuro .le-texto {
color:rgba(247,241,227,.78);
}
body .le-seccion--oscuro .le-mas {
color:var(--le-ocre-claro);
}
body .le-almenas-arriba::after,
body .le-almenas-abajo::after {
content:"";
position:absolute;
left:0;
right:0;
z-index:3;
height:22px;
background-color:inherit;
-webkit-mask:url(https://recursos.veovirtual.net/c/laencina/texturas/almenas.svg) 0 0/44px 22px repeat-x,linear-gradient(#000,#000) 0 100%/100% 3px no-repeat;
mask:url(https://recursos.veovirtual.net/c/laencina/texturas/almenas.svg) 0 0/44px 22px repeat-x,linear-gradient(#000,#000) 0 100%/100% 3px no-repeat;
}
body .le-almenas-arriba::after {
top:-21px;
}
body .le-almenas-abajo::after {
bottom:-21px;
transform:scaleY(-1);
}

/* Elementos de época con parallax */
body .le-decor {
position:absolute;
z-index:0;
pointer-events:none;
background-position:center bottom;
background-repeat:no-repeat;
background-size:contain;
will-change:transform;
}
body .le-decor--torre {
width:clamp(120px,16vw,240px);
aspect-ratio:1 / 2;
background-image:url(https://recursos.veovirtual.net/c/laencina/decor/torre.svg);
}
body .le-decor--arcos {
width:min(90%,980px);
aspect-ratio:5 / 1;
background-image:url(https://recursos.veovirtual.net/c/laencina/decor/arcos.svg);
}
body .le-decor--encina {
width:clamp(140px,18vw,280px);
aspect-ratio:1 / 1;
background-image:url(https://recursos.veovirtual.net/c/laencina/decor/encina.svg);
}
body .le-decor--murallas {
left:0;
right:0;
height:clamp(90px,12vw,170px);
background-image:url(https://recursos.veovirtual.net/c/laencina/decor/murallas.svg);
background-size:auto 100%;
background-repeat:repeat-x;
}

/* Accesos rápidos */
body .le-accesos {
position:relative;
z-index:5;
margin-top:-56px;
padding:0 clamp(16px,4vw,32px) clamp(40px,6vw,72px);
}
body .le-accesos__lista {
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:clamp(30px,3vw,40px) clamp(14px,2vw,24px);
max-width:var(--vv-ancho);
margin:0 auto;
padding:28px 0 0;
list-style:none;
}
body .le-acceso {
flex:0 1 calc((100% - 2 * clamp(14px,2vw,24px)) / 3);
min-width:0;
}
body .le-acceso__enlace {
position:relative;
display:flex;
flex-direction:column;
height:100%;
padding:46px 22px 22px;
border:1px solid rgba(42,54,23,.08);
border-radius:22px;
background-color:#ffffff;
color:var(--vv-texto);
text-decoration:none;
box-shadow:var(--le-sombra);
transition:transform .35s var(--le-curva),box-shadow .35s ease;
}
body .le-acceso__enlace::before {
content:"";
position:absolute;
inset:0;
z-index:0;
border-radius:inherit;
background:url(https://recursos.veovirtual.net/c/laencina/texturas/sillares.svg) right bottom/180px auto no-repeat;
opacity:.0;
transition:opacity .35s ease;
}
body .le-acceso__enlace:hover,
body .le-acceso__enlace:focus-visible {
transform:translateY(-6px);
box-shadow:0 2px 4px rgba(42,54,23,.06),0 26px 44px -18px rgba(42,54,23,.45);
}
body .le-acceso__enlace:hover::before {
opacity:.6;
}
body .le-acceso__ico {
position:absolute;
top:-34px;
left:22px;
z-index:2;
display:grid;
place-items:center;
width:72px;
height:72px;
border:5px solid var(--vv-fondo);
border-radius:24px 24px 24px 8px;
background-color:var(--le-olivo);
color:var(--le-crema);
box-shadow:0 12px 22px -10px rgba(42,54,23,.6);
transform:rotate(-4deg);
transition:transform .45s var(--le-curva),background-color .3s ease;
}
body .le-acceso__ico svg {
width:38px;
height:38px;
}
body .le-acceso--ocre .le-acceso__ico {
background-color:var(--le-ocre);
color:var(--le-oscuro);
}
body .le-acceso--oscuro .le-acceso__ico {
background-color:var(--le-oscuro);
color:var(--le-ocre-claro);
}
body .le-acceso--teja .le-acceso__ico {
background-color:var(--le-teja);
color:#fff6e8;
}
body .le-acceso--wa .le-acceso__ico {
background-color:#1f8d4e;
color:#ffffff;
}
body .le-acceso__enlace:hover .le-acceso__ico {
transform:rotate(4deg) translateY(-6px) scale(1.06);
}
body .le-acceso__titulo {
position:relative;
z-index:1;
margin:0;
color:var(--le-oscuro);
font-family:var(--vv-fuente-titulos);
font-size:clamp(1.15rem,1.7vw,1.4rem);
font-weight:800;
line-height:1.15;
}
body .le-acceso__texto {
position:relative;
z-index:1;
margin:6px 0 0;
color:#5d604f;
font-size:.97rem;
line-height:1.45;
}
body .le-acceso__flecha {
position:absolute;
right:18px;
top:18px;
display:grid;
place-items:center;
width:34px;
height:34px;
border-radius:50%;
background-color:var(--le-crema);
color:var(--le-olivo);
transition:transform .35s var(--le-curva),background-color .3s ease;
}
body .le-acceso__flecha svg {
width:18px;
height:18px;
}
body .le-acceso__enlace:hover .le-acceso__flecha {
background-color:var(--le-ocre);
color:var(--le-oscuro);
transform:translateX(3px);
}
@media only screen and (max-width:959px) {
body .le-acceso {
flex-basis:calc((100% - clamp(14px,2vw,24px)) / 2);
}
body .le-acceso:last-child:nth-child(odd) {
flex-basis:100%;
}
}
@media only screen and (max-width:767px) {
body .le-accesos {
margin-top:-34px;
}
body .le-accesos__lista {
gap:34px 12px;
}
body .le-acceso__enlace {
padding:38px 14px 14px;
border-radius:18px;
}
body .le-acceso__ico {
top:-26px;
left:12px;
width:54px;
height:54px;
border-width:4px;
border-radius:18px 18px 18px 6px;
}
body .le-acceso__ico svg {
width:28px;
height:28px;
}
body .le-acceso__texto {
font-size:.86rem;
}
body .le-acceso__flecha {
display:none;
}
}

/* Castillo */
body .le-castillo {
display:grid;
grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
align-items:center;
gap:clamp(32px,5vw,72px);
}
body .le-castillo__fotos {
position:relative;
min-height:clamp(340px,40vw,520px);
}
body .le-castillo__foto {
position:absolute;
overflow:hidden;
margin:0;
border:6px solid #ffffff;
border-radius:22px;
box-shadow:var(--le-sombra);
}
body .le-castillo__foto img {
display:block;
width:100%;
height:100%;
object-fit:cover;
}
body .le-castillo__foto--1 {
top:0;
left:0;
width:78%;
height:78%;
z-index:1;
}
body .le-castillo__foto--2 {
right:0;
bottom:0;
width:52%;
height:52%;
z-index:2;
transform:rotate(3deg);
}
body .le-castillo__sello {
position:absolute;
left:4%;
bottom:4%;
z-index:3;
display:grid;
place-items:center;
width:118px;
height:118px;
border-radius:50%;
background-color:var(--le-ocre);
color:var(--le-oscuro);
font-family:var(--vv-fuente-titulos);
font-size:15px;
font-weight:800;
line-height:1.05;
text-align:center;
box-shadow:0 14px 30px -14px rgba(42,54,23,.7);
animation:le-flota 6s ease-in-out infinite;
}
body .le-castillo__sello strong {
display:block;
font-size:26px;
white-space:nowrap;
}
@keyframes le-flota {
50% {
translate:0 -8px;
rotate:-4deg;
}
}
body .le-datos {
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:12px;
margin:26px 0 30px;
padding:0;
list-style:none;
}
body .le-dato {
padding:16px 12px;
border-radius:16px;
background-color:rgba(255,255,255,.75);
text-align:center;
}
body .le-dato strong {
display:block;
color:var(--le-oscuro);
font-family:var(--vv-fuente-titulos);
font-size:clamp(1.5rem,2.6vw,2.1rem);
line-height:1.1;
}
body .le-dato span {
display:block;
margin-top:4px;
color:#5d604f;
font-size:.88rem;
font-weight:700;
line-height:1.3;
}
@media only screen and (max-width:959px) {
body .le-castillo {
grid-template-columns:minmax(0,1fr);
}
}
@media only screen and (max-width:767px) {
body .le-castillo__fotos {
min-height:300px;
}
body .le-castillo__sello {
width:92px;
height:92px;
font-size:12px;
}
body .le-castillo__sello strong {
font-size:20px;
}
body .le-datos {
gap:8px;
}
}

/* Paseo con el scroll */
body .le-paseo {
position:relative;
height:clamp(240px,25vw,560px);
overflow:hidden;
background:linear-gradient(180deg,var(--vv-fondo) 0%,var(--le-crema) 70%);
isolation:isolate;
}
body .le-paseo__cielo {
position:absolute;
inset:0 0 28% 0;
background:radial-gradient(60% 90% at 70% 40%,color-mix(in srgb,var(--le-ocre-claro) 30%,transparent),transparent 70%);
}
body .le-paseo__capa {
position:absolute;
left:-8%;
bottom:calc(28% - 2px);
width:116%;
height:72%;
will-change:transform;
}
body .le-paseo__capa--cerca {
bottom:calc(28% - 6px);
height:40%;
}
body .le-paseo__suelo {
position:absolute;
left:0;
right:0;
bottom:0;
height:28%;
background:linear-gradient(180deg,var(--le-ocre-claro) 0,var(--le-ocre-claro) 7px,var(--le-olivo) 7px,var(--le-olivo) 100%);
}
body .le-paseo__suelo::after {
content:"";
position:absolute;
inset:22px 0 0;
background:url(https://recursos.veovirtual.net/c/laencina/decor/murallas.svg) 0 100%/auto 120% repeat-x;
opacity:.16;
}
body .le-p-sol {
fill:var(--le-ocre-claro);
opacity:.55;
}
body .le-p-sierra {
fill:var(--le-sillar);
}
body .le-p-loma {
fill:color-mix(in srgb,var(--le-salvia) 55%,var(--le-sillar));
}
body .le-p-agua {
fill:#a9cbc4;
}
body .le-p-ola {
fill:none;
stroke:#fff;
stroke-width:2;
stroke-linecap:round;
opacity:.6;
}
body .le-p-loma2 {
fill:var(--le-salvia);
}
body .le-p-castillo,
body .le-p-torre,
body .le-p-iglesia {
fill:var(--le-piedra);
}
body .le-p-torre {
fill:color-mix(in srgb,var(--le-piedra) 80%,var(--le-ocre));
}
body .le-p-torre-l {
fill:color-mix(in srgb,var(--le-piedra) 62%,var(--le-ocre-osc));
}
body .le-p-cornisa {
fill:color-mix(in srgb,var(--le-piedra) 55%,var(--le-ocre-osc));
}
body .le-p-casa,
body .le-p-molino {
fill:#fffaf0;
}
body .le-p-teja {
fill:var(--le-teja);
opacity:.85;
}
body .le-p-hueco {
fill:color-mix(in srgb,var(--le-oscuro) 55%,var(--le-piedra));
}
body .le-p-reloj {
fill:#fffaf0;
stroke:var(--le-oscuro);
stroke-width:1.5;
}
body .le-p-asta {
stroke:var(--le-oscuro);
stroke-width:2;
}
body .le-p-aspa {
stroke:var(--le-oscuro);
stroke-width:2.5;
stroke-linecap:round;
}
body .le-p-vela {
fill:#fffaf0;
stroke:var(--le-oscuro);
stroke-width:1;
}
body .le-p-eje {
fill:var(--le-oscuro);
}
body .le-p-campo {
fill:var(--le-olivo-claro);
}
body .le-p-olivo {
fill:var(--le-olivo);
}
body .le-p-olivo:nth-child(3n) {
fill:color-mix(in srgb,var(--le-olivo) 80%,var(--le-oscuro));
}
body .le-paseo__bandera {
fill:var(--le-teja);
transform-box:fill-box;
transform-origin:left center;
animation:le-ondea 1.2s ease-in-out infinite alternate;
}
body .le-p__bandera {
transform-origin:right center;
}
body .le-paseo__pista {
position:absolute;
left:clamp(8px,3vw,40px);
right:clamp(8px,3vw,40px);
bottom:calc(28% - clamp(10px,1.2vw,16px));
height:clamp(96px,10vw,150px);
pointer-events:none;
}
body .le-paseo__grupo {
position:absolute;
left:0;
bottom:0;
height:100%;
width:auto;
aspect-ratio:230 / 140;
overflow:visible;
color:var(--le-oscuro);
will-change:transform;
}
body .le-paseo__giro {
transform-box:fill-box;
transform-origin:center;
transition:transform .45s var(--le-curva);
}
body .le-paseo.is-vuelta .le-paseo__giro {
transform:scaleX(-1);
}
body .le-p {
fill:var(--le-oscuro);
}
body .le-p--b {
fill:color-mix(in srgb,var(--le-oscuro) 82%,var(--le-olivo));
}
body .le-p--nino {
fill:var(--le-olivo);
}
body .le-p__mochila {
fill:var(--le-ocre);
}
body .le-p__sombrero {
fill:var(--le-ocre-osc);
}
body .le-p__palo {
stroke:var(--le-oscuro);
stroke-width:3;
stroke-linecap:round;
}
body .le-p__pierna,
body .le-p__brazo {
transform-box:fill-box;
transform-origin:50% 8%;
}
body .le-p__pierna--b,
body .le-p__brazo--b {
opacity:.72;
}
body .le-paseo.is-andando .le-p {
animation:le-bote .23s ease-in-out infinite alternate;
animation-delay:var(--d,0s);
}
body .le-paseo.is-andando .le-p__pierna {
animation:le-zancada .46s ease-in-out infinite alternate;
animation-delay:var(--d,0s);
}
body .le-paseo.is-andando .le-p__pierna--b {
animation-direction:alternate-reverse;
}
body .le-paseo.is-andando .le-p__brazo {
animation:le-braceo .46s ease-in-out infinite alternate-reverse;
animation-delay:var(--d,0s);
}
body .le-paseo.is-andando .le-p__brazo--b {
animation-direction:alternate;
}
body .le-paseo.is-andando .le-p__brazo--guia {
animation:le-guia .92s ease-in-out infinite alternate;
transform-origin:50% 20%;
}
body .le-paseo__aspas {
transform:rotate(var(--giro,0deg));
}
@keyframes le-zancada {
from {
transform:rotate(-24deg);
}
to {
transform:rotate(24deg);
}
}
@keyframes le-braceo {
from {
transform:rotate(-20deg);
}
to {
transform:rotate(20deg);
}
}
@keyframes le-guia {
from {
transform:rotate(-4deg);
}
to {
transform:rotate(5deg);
}
}
@keyframes le-bote {
from {
transform:translateY(0);
}
to {
transform:translateY(-2.5px);
}
}
@media (max-width:767px) {
body .le-paseo {
height:230px;
}
body .le-paseo__capa {
left:-40%;
width:180%;
}
body .le-paseo__pista {
height:92px;
}
}

/* Quédate en Baños */
body .le-quedate {
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:clamp(12px,2vw,22px);
margin:0;
padding:30px 0 0;
list-style:none;
}
body .le-quedate__enlace {
position:relative;
display:flex;
flex-direction:column;
align-items:center;
gap:10px;
height:100%;
padding:46px 16px 22px;
border:1px solid rgba(247,241,227,.16);
border-radius:22px;
background-color:rgba(247,241,227,.06);
color:var(--le-crema);
text-align:center;
text-decoration:none;
transition:background-color .3s ease,transform .35s var(--le-curva);
}
body .le-quedate__enlace:hover,
body .le-quedate__enlace:focus-visible {
background-color:rgba(213,160,90,.16);
transform:translateY(-5px);
}
body .le-quedate__ico {
position:absolute;
top:-30px;
left:50%;
display:grid;
place-items:center;
width:62px;
height:62px;
border:4px solid var(--le-oscuro);
border-radius:50%;
background-color:var(--le-ocre);
color:var(--le-oscuro);
translate:-50% 0;
transition:transform .45s var(--le-curva);
}
body .le-quedate__ico svg {
width:32px;
height:32px;
}
body .le-quedate__enlace:hover .le-quedate__ico {
transform:rotate(-10deg) scale(1.08);
}
body .le-quedate__titulo {
color:var(--le-crema);
font-family:var(--vv-fuente-titulos);
font-size:1.2rem;
font-weight:800;
}
body .le-quedate__texto {
color:rgba(247,241,227,.72);
font-size:.92rem;
line-height:1.4;
}
@media only screen and (max-width:767px) {
body .le-quedate {
grid-template-columns:repeat(2,minmax(0,1fr));
gap:40px 12px;
}
}

/* Contacto */
body .le-contacto {
display:grid;
grid-template-columns:minmax(0,1fr) minmax(0,1fr);
align-items:center;
gap:clamp(28px,5vw,64px);
}
body .le-contacto__lista {
display:grid;
gap:12px;
margin:24px 0 0;
padding:0;
list-style:none;
}
body .le-contacto__item {
display:flex;
align-items:center;
gap:14px;
padding:14px 18px;
border-radius:18px;
background-color:#ffffff;
box-shadow:var(--le-sombra);
}
body .le-contacto__item svg {
flex:none;
width:44px;
height:44px;
padding:9px;
border-radius:14px 14px 14px 4px;
background-color:var(--le-crema);
color:var(--le-olivo);
}
body .le-contacto__item strong {
display:block;
color:var(--le-oscuro);
font-size:1.05rem;
}
body .le-contacto__item a {
color:var(--le-oscuro);
font-weight:800;
text-decoration:none;
}
body .le-contacto__item small {
display:block;
color:#6b6e5c;
font-size:.88rem;
}
body .le-contacto .vv-mapa {
--vv-mapa-alto:440px;
border:6px solid #ffffff;
border-radius:24px;
box-shadow:var(--le-sombra);
}
@media only screen and (max-width:959px) {
body .le-contacto {
grid-template-columns:minmax(0,1fr);
}
body .le-contacto .vv-mapa {
--vv-mapa-alto:320px;
}
}

/* Título de páginas sencillas */
body .vv-titulo-pagina {
position:relative;
max-width:none;
margin:0 0 clamp(36px,5vw,60px);
padding:clamp(48px,7vw,96px) clamp(16px,4vw,32px) clamp(44px,6vw,80px);
background-color:var(--le-sillar);
color:var(--le-oscuro);
font-size:clamp(2rem,5vw,3.4rem);
font-weight:800;
text-align:center;
isolation:isolate;
}
body .vv-titulo-pagina::before {
content:"";
position:absolute;
inset:0;
z-index:-1;
background:url(https://recursos.veovirtual.net/c/laencina/texturas/sillares.svg) center/240px auto repeat;
opacity:.55;
}
body .vv-titulo-pagina::after {
content:"";
position:absolute;
left:0;
right:0;
bottom:-1px;
height:22px;
background-color:var(--vv-fondo);
-webkit-mask:url(https://recursos.veovirtual.net/c/laencina/texturas/almenas.svg) 0 0/44px 22px repeat-x,linear-gradient(#000,#000) 0 100%/100% 3px no-repeat;
mask:url(https://recursos.veovirtual.net/c/laencina/texturas/almenas.svg) 0 0/44px 22px repeat-x,linear-gradient(#000,#000) 0 100%/100% 3px no-repeat;
}

/* Cabeceras de los módulos */
body.le .vvf-cabecera {
position:relative;
padding:clamp(40px,6vw,84px) 0 clamp(52px,7vw,92px);
background-color:var(--le-sillar);
isolation:isolate;
}
body.le .vvf-cabecera::before {
content:"";
position:absolute;
inset:0;
z-index:-1;
background:url(https://recursos.veovirtual.net/c/laencina/texturas/sillares.svg) center/240px auto repeat;
opacity:.55;
}
body.le .vvf-cabecera::after {
content:"";
position:absolute;
left:0;
right:0;
bottom:-1px;
z-index:2;
height:22px;
background-color:var(--vv-fondo);
-webkit-mask:url(https://recursos.veovirtual.net/c/laencina/texturas/almenas.svg) 0 0/44px 22px repeat-x,linear-gradient(#000,#000) 0 100%/100% 3px no-repeat;
mask:url(https://recursos.veovirtual.net/c/laencina/texturas/almenas.svg) 0 0/44px 22px repeat-x,linear-gradient(#000,#000) 0 100%/100% 3px no-repeat;
}
body.le .vvf-cabecera--foto {
background-color:var(--le-oscuro);
}
body.le .vvf-cabecera--foto::before {
display:none;
}
body.le .vvr-ficha .vvf-cabecera__img {
filter:blur(26px) saturate(1.2);
transform:scale(1.2);
}
body.le .vvr-ficha .vvf-cabecera__fondo::after {
background:radial-gradient(120% 90% at 85% 10%,rgba(213,160,90,.18),transparent 55%),linear-gradient(180deg,rgba(30,38,16,.62) 0%,rgba(30,38,16,.74) 55%,rgba(30,38,16,.9) 100%);
}
body.le .vvr-portada {
border-radius:24px 24px 24px 8px;
}
body.le .vvf-cabecera__titulo {
color:var(--le-oscuro);
font-size:clamp(2rem,5vw,3.6rem);
font-weight:800;
}
body.le .vvf-cabecera--foto .vvf-cabecera__titulo {
color:#ffffff;
}
body.le .vvf-cabecera__resumen {
max-width:720px;
color:#4f5243;
font-size:clamp(1rem,1.7vw,1.15rem);
}
body.le .vvf-cabecera--foto .vvf-cabecera__resumen {
color:rgba(255,255,255,.92);
}
body.le .vvf-migas__enlace,
body.le .vvf-migas__actual {
font-weight:700;
}
body.le .vvf-cabecera__etiquetas span {
background-color:var(--le-ocre);
color:var(--le-oscuro);
font-weight:800;
}

/* Módulos sueltos en la página */
body.le .vv-contenido > :is(.vvl-listado, .vvf-rejilla, .vvr-turitop, .vvr-listado, .vvd-listado, .vve-listado, .vvag-listado) {
width:min(1240px, calc(100% - 32px));
margin-left:auto;
margin-right:auto;
margin-bottom:clamp(48px, 6vw, 88px);
}
body.le .vvr-turitop iframe {
display:block;
margin-left:auto;
margin-right:auto;
}
body.le .vv-contenido > .vvr-turitop {
width:min(820px, calc(100% - 32px));
}
body.le .vv-contenido > .vvr-turitop .vvr-turitop__caja {
padding:clamp(18px, 3vw, 34px);
border:1px solid rgba(42,54,28,.08);
border-radius:24px 24px 24px 8px;
background-color:#ffffff;
box-shadow:var(--le-sombra);
}

/* Tarjetas de los módulos */
body.le .vvf-tarjeta,
body.le .vvl-tarjeta__enlace {
border:1px solid rgba(42,54,23,.08);
border-radius:22px;
background-color:#ffffff;
box-shadow:var(--le-sombra);
}
body.le .vvf-tarjeta__foto {
border-radius:21px 21px 0 0;
}
body.le .vvf-tarjeta__foto {
-webkit-mask:url(https://recursos.veovirtual.net/c/laencina/texturas/almenas.svg) 0 100%/24px 12px repeat-x,linear-gradient(#000,#000);
-webkit-mask-composite:xor;
mask:url(https://recursos.veovirtual.net/c/laencina/texturas/almenas.svg) 0 100%/24px 12px repeat-x exclude,linear-gradient(#000,#000);
}
body.le .vvf-tarjeta__icono {
top:-26px;
right:16px;
width:62px;
height:62px;
border:4px solid #ffffff;
border-radius:20px 20px 20px 6px;
background-color:var(--le-olivo);
color:var(--le-crema);
transform:rotate(-4deg);
transition:transform .45s var(--le-curva),background-color .3s ease;
}
body.le .vvf-tarjeta__icono .vvf-ico {
width:32px;
height:32px;
}
body.le .vvf-tarjeta:hover .vvf-tarjeta__icono {
background-color:var(--le-ocre);
color:var(--le-oscuro);
transform:rotate(6deg) translateY(-4px) scale(1.06);
}
body.le .vvf-tarjeta__insignia {
background-color:var(--le-ocre);
color:var(--le-oscuro);
font-weight:800;
}
body.le .vvf-tarjeta__titulo {
font-weight:800;
}
body.le .vvf-tarjeta__mas {
color:var(--le-olivo);
}
body.le .vvf-chip {
border-color:rgba(42,54,23,.2);
background-color:#ffffff;
color:var(--le-oscuro);
font-weight:700;
}
body.le .vvf-chip.is-activo {
border-color:var(--le-oscuro);
background-color:var(--le-oscuro);
color:var(--le-crema);
}
body.le .le-filtros {
align-items:center;
gap:0;
max-width:1000px;
margin:0 auto clamp(30px,4vw,48px);
padding:clamp(18px,2.6vw,28px) clamp(14px,3vw,34px) 18px;
border:1px solid rgba(42,54,23,.08);
border-radius:28px 28px 28px 10px;
background-color:#fffdf7;
box-shadow:0 24px 48px -32px rgba(42,54,23,.5);
text-align:center;
}
body.le .le-filtros__etq {
display:flex;
align-items:center;
justify-content:center;
gap:10px;
width:100%;
margin:0 0 12px;
color:var(--le-olivo);
font-size:13px;
font-weight:800;
letter-spacing:.08em;
text-transform:uppercase;
}
body.le .le-filtros__etq:not(:first-child) {
margin-top:18px;
padding-top:18px;
border-top:2px dashed rgba(97,108,54,.18);
}
body.le .le-filtros__etq-ico {
display:grid;
place-items:center;
width:34px;
height:34px;
border-radius:12px 12px 12px 4px;
background-color:var(--le-oscuro);
color:var(--le-ocre-claro);
}
body.le .le-filtros__etq-ico .le-ico {
width:20px;
height:20px;
}
body.le .le-filtros__grupo {
justify-content:center;
}
body.le .le-chip__ico {
flex:none;
width:22px;
height:22px;
}
body.le .le-filtros .vvf-chip {
display:inline-flex;
align-items:center;
gap:8px;
transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .3s var(--le-curva);
}
body.le .le-filtros__grupo--tipo .vvf-chip {
padding:9px 18px 9px 12px;
}
body.le .le-filtros__grupo--tipo .vvf-chip:hover {
transform:translateY(-2px);
}
body.le .le-filtros__grupo--tipo .vvf-chip .le-chip__ico {
color:var(--le-olivo);
}
body.le .le-filtros__grupo--tipo .vvf-chip.is-activo .le-chip__ico {
color:var(--le-ocre-claro);
}
body.le .le-filtros__grupo--duracion {
display:inline-flex;
flex-wrap:nowrap;
gap:0;
max-width:100%;
padding:4px;
border:1px solid rgba(42,54,23,.16);
border-radius:999px;
background-color:#ffffff;
}
body.le .le-filtros__grupo--duracion .vvf-chip {
flex:none;
min-height:40px;
padding:8px 16px;
border:0;
background-color:transparent;
}
body.le .le-filtros__grupo--duracion .vvf-chip .le-chip__ico {
width:18px;
height:18px;
color:var(--le-ocre-osc);
}
body.le .le-filtros__grupo--duracion .vvf-chip.is-activo {
background-color:var(--le-ocre);
color:var(--le-oscuro);
}
body.le .le-filtros__grupo--duracion .vvf-chip.is-activo .le-chip__ico {
color:var(--le-oscuro);
}
body.le .le-filtros__grupo--publico {
gap:10px;
}
body.le .le-filtros__grupo--publico .vvf-chip {
flex-direction:column;
gap:4px;
min-width:96px;
min-height:72px;
padding:10px 14px;
border-radius:16px 16px 16px 5px;
font-size:14px;
}
body.le .le-filtros__grupo--publico .vvf-chip .le-chip__ico {
width:26px;
height:26px;
color:var(--le-teja);
}
body.le .le-filtros__grupo--publico .vvf-chip:hover {
transform:rotate(-2deg);
}
body.le .le-filtros__grupo--publico .vvf-chip.is-activo {
border-color:var(--le-oscuro);
background-color:var(--le-ocre-claro);
color:var(--le-oscuro);
}
body.le .le-filtros__grupo--publico .vvf-chip.is-activo .le-chip__ico {
color:var(--le-oscuro);
}
body.le .le-filtros .vvf-filtros__cuenta {
margin-top:16px;
font-weight:700;
}
@media only screen and (max-width:767px) {
body.le .vvf-tarjeta__icono {
top:-20px;
right:10px;
width:46px;
height:46px;
border-width:3px;
border-radius:15px 15px 15px 5px;
}
body.le .vvf-tarjeta__icono .vvf-ico {
width:24px;
height:24px;
}
body.le .vvf-filtros__grupo {
flex-wrap:nowrap;
max-width:100%;
margin:0;
padding:2px 0 6px;
overflow-x:auto;
scrollbar-width:none;
-webkit-mask:linear-gradient(90deg,#000,#000 calc(100% - 24px),transparent);
mask:linear-gradient(90deg,#000,#000 calc(100% - 24px),transparent);
}
body.le .vvf-filtros__grupo::-webkit-scrollbar {
display:none;
}
body.le .vvf-chip {
flex:none;
}
body.le .le-filtros {
border-radius:22px 22px 22px 8px;
}
body.le .le-filtros__grupo {
justify-content:safe center;
}
body.le .le-filtros__grupo--duracion {
display:flex;
-webkit-mask:none;
mask:none;
}
body.le .le-filtros__grupo--duracion .vvf-chip {
padding:8px 12px;
font-size:14px;
}
body.le .le-filtros__grupo--publico .vvf-chip {
min-width:84px;
}
}

/* Iconos animados */
body .le-dibuja path,
body .le-dibuja circle {
stroke-dasharray:80;
stroke-dashoffset:0;
}
html.le-anima body .le-dibuja:not(.is-visto) path,
html.le-anima body .le-dibuja:not(.is-visto) circle {
stroke-dashoffset:80;
}
html.le-anima body .le-dibuja.is-visto path,
html.le-anima body .le-dibuja.is-visto circle {
animation:le-dibuja-ico 1.6s var(--le-curva) both;
}
html.le-anima body .le-dibuja.is-visto path:nth-child(2) {
animation-delay:.15s;
}
html.le-anima body .le-dibuja.is-visto path:nth-child(3) {
animation-delay:.3s;
}
html.le-anima body .le-dibuja.is-visto path:nth-child(4) {
animation-delay:.45s;
}
@keyframes le-dibuja-ico {
from {
stroke-dashoffset:80;
}
to {
stroke-dashoffset:0;
}
}
body .le-acceso__enlace:hover .le-acceso__ico svg path,
body.le .vvf-tarjeta:hover .vvf-tarjeta__icono path,
body .le-quedate__enlace:hover .le-quedate__ico path {
animation:le-dibuja-ico 1s var(--le-curva) both;
stroke-dasharray:80;
}
body .vv-ico-svg > g:first-child,
body.le .vvf-ico > g:first-child,
body .le-ico > g:first-child {
transform-box:fill-box;
transform-origin:center;
}
body .le-acceso__enlace:hover svg > g:first-child,
body .vv-nav__enlace:hover svg > g:first-child,
body .vv-menu-movil__enlace:hover svg > g:first-child {
animation:le-gira 2.4s linear infinite;
}

/* Entradas al hacer scroll */
html.le-anima body .le-revela {
opacity:0;
transform:translateY(34px);
transition:opacity .8s ease,transform .9s var(--le-curva);
}
html.le-anima body .le-revela.is-visto {
opacity:1;
transform:none;
}
html.le-anima body .le-revela--2 {
transition-delay:.12s;
}
html.le-anima body .le-revela--3 {
transition-delay:.24s;
}
html.le-anima body .le-revela--4 {
transition-delay:.36s;
}
html.le-anima body .le-revela--5 {
transition-delay:.48s;
}

/* Canal de WhatsApp */
body .le-canal {
position:relative;
padding:clamp(36px,5vw,64px) clamp(16px,4vw,32px);
background-color:var(--le-sillar);
background-image:radial-gradient(70% 120% at 100% 0%,color-mix(in srgb,var(--le-ocre-claro) 45%,transparent),transparent 60%);
}
body .le-canal__caja {
display:grid;
grid-template-columns:auto minmax(0,1fr) auto;
align-items:center;
gap:clamp(18px,3vw,36px);
max-width:1100px;
margin:0 auto;
padding:clamp(22px,3vw,34px) clamp(22px,3.4vw,44px);
border-radius:28px 28px 28px 8px;
background-color:var(--le-oscuro);
color:var(--le-crema);
box-shadow:var(--le-sombra);
}
body .le-canal__ico {
display:grid;
place-items:center;
width:76px;
height:76px;
border-radius:50%;
background-color:#1f8d4e;
color:#ffffff;
box-shadow:0 0 0 8px rgba(31,141,78,.18);
}
body .le-canal__ico .le-ico {
width:40px;
height:40px;
}
body.le .le-canal__titulo {
margin:0 0 6px;
color:var(--le-crema);
font-size:clamp(1.35rem,2.4vw,1.9rem);
}
body .le-canal__desc {
max-width:560px;
margin:0;
color:rgba(247,241,227,.86);
}
body .le-canal__boton {
white-space:nowrap;
}
@media only screen and (max-width:767px) {
body .le-canal__caja {
grid-template-columns:minmax(0,1fr);
justify-items:center;
text-align:center;
}
body .le-canal__ico {
width:64px;
height:64px;
}
body .le-canal__desc {
margin-inline:auto;
}
}

/* Redes en el pie */
body .vv-pie__redes {
display:flex;
flex-wrap:wrap;
gap:8px;
margin-top:18px;
}
body .vv-pie__redes .le-red {
display:grid;
place-items:center;
width:44px;
height:44px;
border:1px solid rgba(247,241,227,.28);
border-radius:50%;
color:var(--le-crema);
transition:background-color .2s ease,color .2s ease,transform .25s var(--le-curva);
}
body .vv-pie__redes .le-red .le-ico {
width:22px;
height:22px;
}
body .vv-pie__redes .le-red:hover,
body .vv-pie__redes .le-red:focus-visible {
background-color:var(--le-ocre);
border-color:var(--le-ocre);
color:var(--le-oscuro);
transform:translateY(-2px);
}

/* Pie */
body .vv-pie {
position:relative;
overflow-x:clip;
overflow-y:visible;
margin-top:22px;
background-color:var(--le-oscuro);
background-image:radial-gradient(60% 80% at 0% 100%,rgba(213,160,90,.14),transparent 70%);
isolation:isolate;
}
body .vv-pie::before {
content:"";
position:absolute;
left:0;
right:0;
top:-21px;
height:22px;
background-color:var(--le-oscuro);
-webkit-mask:url(https://recursos.veovirtual.net/c/laencina/texturas/almenas.svg) 0 0/44px 22px repeat-x,linear-gradient(#000,#000) 0 100%/100% 3px no-repeat;
mask:url(https://recursos.veovirtual.net/c/laencina/texturas/almenas.svg) 0 0/44px 22px repeat-x,linear-gradient(#000,#000) 0 100%/100% 3px no-repeat;
}
body .vv-pie::after {
content:"";
position:absolute;
right:-2%;
bottom:70px;
z-index:-1;
width:min(620px,70vw);
aspect-ratio:720 / 348;
background:url(https://recursos.veovirtual.net/c/laencina/logo/marca-la-encina-blanco-2.svg) center/contain no-repeat;
opacity:.05;
}
body .vv-pie__logo {
width:auto;
height:110px;
}
body .vv-pie__titulo {
margin:0 0 16px;
color:var(--le-ocre-claro);
font-family:var(--vv-fuente-titulos);
font-size:1.25rem;
}
body .vv-pie__nav {
display:grid;
gap:8px;
margin:0;
padding:0;
list-style:none;
}
body .vv-pie__nav a {
text-decoration:none;
}
body .vv-pie__nav a:hover {
color:var(--le-ocre-claro);
text-decoration:underline;
}
body .vv-pie__dato {
display:flex;
align-items:flex-start;
gap:10px;
margin:0 0 12px;
}
body .vv-pie__ico {
flex:none;
width:22px;
height:22px;
margin-top:2px;
color:var(--le-ocre);
}
body .vv-pie__descripcion {
max-width:380px;
}
body.le .vv-pie {
padding-bottom:0;
}
body .vv-pie__legal {
padding-bottom:var(--vv-barra-alto);
background-color:var(--le-oscuro-2);
font-size:14px;
}
body .vv-pie__credito {
opacity:.6;
font-size:13px;
}
body.le .vv-pie .vv-horario--compacto {
display:grid;
justify-items:start;
text-align:left;
}
body.le .vv-pie .vv-horario-dias {
font-weight:700;
}
body.le .vv-pie .vv-horario-turnos {
margin-bottom:6px;
}
body.le .vv-pie .vv-horario-cerrado {
opacity:.75;
}
@media only screen and (max-width:959px) {
body .vv-pie__dato {
justify-content:center;
}
body.le .vv-pie .vv-horario--compacto {
justify-items:center;
text-align:center;
}
body .vv-pie__descripcion {
margin-left:auto;
margin-right:auto;
}
}

/* Cookies */
body .vv-cookies {
border-top:4px solid var(--le-ocre);
background-color:var(--le-crema);
}
body .vv-cookies__btn {
border-color:var(--le-oscuro);
background-color:var(--le-oscuro);
color:var(--le-crema);
}

/* Movimiento reducido */
@media (prefers-reduced-motion:reduce) {
body .le-hero *,
body .le-paseo *,
body .vv-menu-movil *,
body .le-castillo__sello,
body .vv-barra * {
animation:none !important;
}
body .le-hero__svg .le-traza {
stroke-dashoffset:0;
fill-opacity:1;
}
body .le-hero__svg .le-vela,
body .le-hero__svg .le-camino,
body .le-hero__svg .le-caminantes {
opacity:1;
}
body .le-hero__titulo em::after {
transform:none;
}
}

/* Avisos vacíos */
body .le-seccion--oscuro .vvf-vacio {
max-width:720px;
margin:0 auto;
padding:28px;
border:2px dashed rgba(247,241,227,.25);
border-radius:22px;
background-color:transparent;
color:var(--le-crema);
font-size:1.05rem;
text-align:center;
}

/* Cajas de la ficha de ruta */
body .vvr-caja--cancelacion {
--vvr-caja:var(--le-teja);
}
body .vvr-caja--condiciones {
--vvr-caja:var(--le-olivo);
}
body .vvr-caja--recomendaciones {
--vvr-caja:var(--le-ocre-osc);
}
body .vvr-caja .vvr-caja__titulo {
font-family:var(--vv-fuente-textos);
font-weight:900;
}
