:root{
  --vam-ink:#202921;
  --vam-ink-2:#2f3a31;
  --vam-olive:#536142;
  --vam-olive-dark:#3d4931;
  --vam-terracotta:#c66f4d;
  --vam-terracotta-dark:#ad5839;
  --vam-sand:#f3eee5;
  --vam-cream:#fbf8f2;
  --vam-white:#fff;
  --vam-muted:#667068;
  --vam-border:rgba(32,41,33,.12);
  --vam-shadow:0 22px 65px rgba(32,41,33,.13);
  --vam-shadow-soft:0 12px 35px rgba(32,41,33,.08);
  --vam-radius:24px;
  --vam-serif:Georgia,"Times New Roman",serif;
  --vam-sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--vam-cream);color:var(--vam-ink);font-family:var(--vam-sans);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.vam-menu-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
p{margin:0 0 1.25rem}
h1,h2,h3,h4{margin:0 0 1rem;font-family:var(--vam-serif);line-height:1.08;font-weight:500;letter-spacing:-.025em}
h1{font-size:clamp(3.2rem,7vw,6.8rem)}
h2{font-size:clamp(2.25rem,4.2vw,4.25rem)}
h3{font-size:clamp(1.35rem,2vw,1.75rem)}
button,input,select,textarea{font:inherit}
button{color:inherit}
::selection{background:var(--vam-terracotta);color:#fff}
:focus-visible{outline:3px solid var(--vam-terracotta);outline-offset:4px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.screen-reader-text:focus{clip:auto!important;width:auto;height:auto;top:12px;left:12px;z-index:100000;background:#fff;color:#111;padding:12px 18px}
.vam-container{width:min(1220px,calc(100% - 48px));margin-inline:auto}
.vam-main{overflow:hidden}
.vam-section{padding:clamp(82px,9vw,138px) 0}
.vam-section--sand{background:var(--vam-sand)}
.vam-section--ink{background:var(--vam-ink);color:#fff}
.vam-eyebrow{display:inline-flex;align-items:center;gap:12px;margin-bottom:20px;color:var(--vam-terracotta);font-size:.75rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.vam-eyebrow:before{content:"";width:34px;height:1px;background:currentColor}
.vam-eyebrow--light{color:#f0d0be}
.vam-lead{font-size:clamp(1.14rem,1.7vw,1.38rem);line-height:1.58;color:var(--vam-ink-2)}
.vam-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.vam-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:14px 28px;border:1px solid var(--vam-terracotta);border-radius:12px;background:var(--vam-terracotta);color:#fff;font-size:.78rem;font-weight:800;letter-spacing:.075em;text-transform:uppercase;transition:transform .22s ease,background .22s ease,border-color .22s ease,box-shadow .22s ease;box-shadow:0 13px 30px rgba(198,111,77,.24)}
.vam-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.vam-button:hover{transform:translateY(-2px);background:var(--vam-terracotta-dark);border-color:var(--vam-terracotta-dark);box-shadow:0 18px 38px rgba(198,111,77,.3)}
.vam-button--ghost{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.62);box-shadow:none;color:#fff;backdrop-filter:blur(8px)}
.vam-button--ghost:hover{background:#fff;border-color:#fff;color:var(--vam-ink)}
.vam-button--light{background:#fff;border-color:#fff;color:var(--vam-ink);box-shadow:none}
.vam-button--light:hover{background:var(--vam-sand);border-color:var(--vam-sand)}
.vam-button--olive{background:var(--vam-olive);border-color:var(--vam-olive);box-shadow:0 13px 30px rgba(83,97,66,.18)}
.vam-button--olive:hover{background:var(--vam-olive-dark);border-color:var(--vam-olive-dark)}
.vam-button--whatsapp{background:#178a54;border-color:#178a54;box-shadow:none}
.vam-text-link{display:inline-flex;align-items:center;gap:10px;padding-bottom:5px;border-bottom:1px solid currentColor;color:var(--vam-ink);font-weight:750}
.vam-text-link span{transition:transform .2s ease}
.vam-text-link:hover span{transform:translateX(5px)}
.vam-text-link--light{color:#fff}

/* Cabecera */
.vam-header{position:fixed;z-index:1000;top:0;left:0;width:100%;padding:17px 0;color:#fff;transition:background .3s ease,padding .3s ease,box-shadow .3s ease,color .3s ease,backdrop-filter .3s ease}
.admin-bar .vam-header{top:32px}
.vam-header:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,25,20,.52),rgba(17,25,20,0));pointer-events:none;transition:opacity .3s ease}
.vam-header.is-scrolled,.vam-is-inner .vam-header{padding:10px 0;background:rgba(251,248,242,.96);color:var(--vam-ink);box-shadow:0 8px 30px rgba(32,41,33,.08);backdrop-filter:blur(14px)}
.vam-header.is-scrolled:before,.vam-is-inner .vam-header:before{opacity:0}
.vam-header__inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:32px}
.vam-brand>a,.vam-brand .custom-logo-link{display:flex;align-items:center;gap:13px;color:inherit}
.vam-brand__mark{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border:1px solid currentColor;border-radius:50%;font-family:var(--vam-serif);font-size:1.22rem;font-weight:700;letter-spacing:-.05em}
.vam-brand__text{display:flex;flex-direction:column;line-height:1.03}
.vam-brand__text strong{font-family:var(--vam-serif);font-size:1.36rem;font-weight:600;letter-spacing:-.02em}
.vam-brand__text small{margin-top:7px;font-size:.63rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;opacity:.78}
.custom-logo{max-height:62px;width:auto}
.vam-nav{display:flex;align-items:center;gap:30px}
.vam-menu{display:flex;align-items:center;gap:25px;margin:0;padding:0;list-style:none}
.vam-menu__link{position:relative;display:block;padding:11px 0;font-size:.86rem;font-weight:650;letter-spacing:.01em}
.vam-menu__link:after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:1px;background:currentColor;transition:right .25s ease}
.vam-menu__link:hover:after,.vam-menu .current-menu-item>.vam-menu__link:after{right:0}
.vam-header__cta{display:inline-flex;align-items:center;gap:9px;min-height:46px;padding:9px 20px;border:1px solid rgba(255,255,255,.72);border-radius:10px;background:rgba(255,255,255,.08);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;transition:.22s ease}
.vam-header__cta svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.vam-header.is-scrolled .vam-header__cta,.vam-is-inner .vam-header__cta{background:var(--vam-olive);border-color:var(--vam-olive);color:#fff}
.vam-header__cta:hover{background:var(--vam-terracotta);border-color:var(--vam-terracotta);color:#fff;transform:translateY(-1px)}
.vam-menu-toggle{display:none;width:48px;height:48px;padding:11px;border:0;background:transparent;cursor:pointer}
.vam-menu-toggle span:not(.screen-reader-text){display:block;width:25px;height:2px;margin:5px auto;background:currentColor;transition:.25s ease}

/* Portada */
.vam-hero{position:relative;display:flex;align-items:center;min-height:min(900px,100svh);padding:170px 0 155px;background-image:var(--vam-hero);background-position:center center;background-size:cover;color:#fff}
.vam-hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,25,20,.83) 0%,rgba(17,25,20,.63) 37%,rgba(17,25,20,.23) 69%,rgba(17,25,20,.08) 100%),linear-gradient(0deg,rgba(17,25,20,.38),transparent 50%)}
.vam-hero__content{position:relative;z-index:1;max-width:820px}
.vam-hero h1{display:flex;flex-direction:column;max-width:760px;margin:0 0 24px;color:#fff;font-size:clamp(4.2rem,7vw,7.3rem);line-height:.86;text-wrap:balance}
.vam-hero h1 span{display:block}
.vam-hero h1 em{display:block;margin-top:.12em;color:#efc7b2;font-size:.88em;font-weight:400}
.vam-hero p{max-width:660px;font-size:clamp(1.08rem,1.65vw,1.34rem);line-height:1.55;color:rgba(255,255,255,.88)}
.vam-hero__assurance{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:36px;color:rgba(255,255,255,.68);font-size:.72rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.vam-hero__assurance span{display:flex;align-items:center;gap:9px}
.vam-hero__assurance span:before{content:"";width:5px;height:5px;border-radius:50%;background:#efc7b2}
.vam-facts{position:relative;z-index:5;margin-top:-74px;padding-bottom:10px}
.vam-facts__grid{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border:1px solid rgba(32,41,33,.08);border-radius:20px;background:rgba(255,255,255,.96);box-shadow:var(--vam-shadow);backdrop-filter:blur(16px)}
.vam-facts__grid>div{display:grid;grid-template-columns:46px 1fr;align-items:center;gap:15px;min-height:116px;padding:25px 28px;border-right:1px solid var(--vam-border)}
.vam-facts__grid>div:last-child{border-right:0}
.vam-facts svg{width:38px;height:38px;fill:none;stroke:var(--vam-olive);stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.vam-facts span{display:flex;flex-direction:column;line-height:1.35}
.vam-facts strong{font-family:var(--vam-serif);font-size:1.17rem;font-weight:600}
.vam-facts small{margin-top:5px;color:var(--vam-muted);font-size:.72rem}

/* Secciones generales */
.vam-split{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);align-items:center;gap:clamp(50px,8vw,112px)}
.vam-split--reverse{grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr)}
.vam-split--reverse .vam-split__media{order:2}
.vam-split__media{position:relative}
.vam-split__media>img{width:100%;min-height:540px;object-fit:cover;border-radius:var(--vam-radius);box-shadow:var(--vam-shadow)}
.vam-split__content h2{max-width:690px}
.vam-split__content p:not(.vam-lead){color:var(--vam-muted)}
.vam-image-note{position:absolute;right:-24px;bottom:30px;display:flex;flex-direction:column;min-width:190px;padding:22px 26px;border-radius:16px;background:var(--vam-terracotta);color:#fff;box-shadow:var(--vam-shadow)}
.vam-image-note--secondary{right:auto;left:-24px;bottom:auto;top:30px;background:var(--vam-olive)}
.vam-image-note strong{font-family:var(--vam-serif);font-size:2rem;line-height:1}
.vam-image-note span{margin-top:8px;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.vam-section-heading{max-width:820px;margin-bottom:58px}
.vam-section-heading>p{max-width:700px;color:var(--vam-muted);font-size:1.08rem}
.vam-section-heading--row{display:flex;align-items:flex-end;justify-content:space-between;max-width:none;gap:32px}
.vam-section-heading--row>div{max-width:780px}
.vam-section-heading--row .vam-text-link{margin-bottom:16px;white-space:nowrap}
.vam-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.vam-feature-card{position:relative;min-height:350px;padding:32px 28px;border:1px solid rgba(32,41,33,.08);border-radius:20px;background:#fff;box-shadow:var(--vam-shadow-soft);transition:transform .3s ease,box-shadow .3s ease}
.vam-feature-card:hover{transform:translateY(-7px);box-shadow:0 24px 52px rgba(32,41,33,.12)}
.vam-feature-card__number{position:absolute;top:27px;right:27px;color:rgba(32,41,33,.25);font-size:.72rem;font-weight:800;letter-spacing:.13em}
.vam-feature-card svg{width:44px;height:44px;margin-bottom:48px;fill:none;stroke:var(--vam-terracotta);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.vam-feature-card h3{font-size:1.55rem}
.vam-feature-card p{color:var(--vam-muted);font-size:.94rem}
.vam-mosaic{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:310px 310px;gap:14px}
.vam-mosaic figure{position:relative;margin:0;overflow:hidden;border-radius:18px;background:#ddd}
.vam-mosaic__large{grid-row:1/3}
.vam-mosaic figure:nth-child(2){grid-column:2/4}
.vam-mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.vam-mosaic figure:hover img{transform:scale(1.045)}
.vam-mosaic figcaption{position:absolute;left:16px;bottom:16px;padding:8px 13px;border-radius:8px;background:rgba(23,32,28,.76);color:#fff;font-size:.72rem;font-weight:750;letter-spacing:.04em;backdrop-filter:blur(8px)}
.vam-privacy-banner{position:relative;display:flex;align-items:center;min-height:690px;background-image:linear-gradient(90deg,rgba(20,29,24,.86),rgba(20,29,24,.24)),var(--vam-banner);background-position:center;background-size:cover;color:#fff}
.vam-privacy-card{max-width:710px;padding:50px;border:1px solid rgba(255,255,255,.18);border-radius:24px;background:rgba(25,35,29,.66);box-shadow:var(--vam-shadow);backdrop-filter:blur(12px)}
.vam-privacy-card h2{color:#fff}
.vam-privacy-card p{max-width:620px;color:rgba(255,255,255,.77);font-size:1.05rem}
.vam-privacy-card .vam-button{margin-top:12px}
.vam-check-list{display:grid;gap:12px;margin:26px 0 32px;padding:0;list-style:none}
.vam-check-list li{position:relative;padding-left:30px;color:var(--vam-ink-2)}
.vam-check-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--vam-terracotta);font-weight:900}
.vam-booking-cta{background:var(--vam-olive-dark);color:#fff}
.vam-booking-cta__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:55px}
.vam-booking-cta h2{max-width:780px;color:#fff}
.vam-booking-cta p{max-width:750px;color:rgba(255,255,255,.7)}

/* Interiores */
.vam-page-hero{position:relative;display:flex;align-items:flex-end;min-height:610px;padding:180px 0 82px;background-image:var(--vam-page-hero);background-position:center;background-size:cover;color:#fff}
.vam-page-hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,27,22,.8),rgba(18,27,22,.26)),linear-gradient(0deg,rgba(18,27,22,.45),transparent 55%)}
.vam-page-hero .vam-container{position:relative;z-index:1}
.vam-page-hero h1{max-width:860px;margin-bottom:18px;color:#fff;font-size:clamp(3.8rem,7vw,6.6rem)}
.vam-page-hero p{max-width:720px;margin:0;color:rgba(255,255,255,.82);font-size:clamp(1.08rem,1.6vw,1.3rem)}
.vam-simple-hero{padding:175px 0 70px;background:var(--vam-sand)}
.vam-simple-hero h1{font-size:clamp(3rem,6vw,5.4rem)}
.vam-prose-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:80px}
.vam-prose-main{max-width:760px}
.vam-prose-main p{color:var(--vam-muted)}
.vam-info-card{position:sticky;top:120px;padding:32px;border:1px solid var(--vam-border);border-radius:20px;background:#fff;box-shadow:var(--vam-shadow-soft)}
.vam-info-card h3{font-size:1.5rem}
.vam-info-card ul{display:grid;gap:12px;margin:0;padding:0;list-style:none;color:var(--vam-muted);font-size:.92rem}
.vam-info-card li{padding-bottom:12px;border-bottom:1px solid var(--vam-border)}
.vam-info-card li:last-child{padding-bottom:0;border:0}
.vam-space-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.vam-space-card{overflow:hidden;border:1px solid var(--vam-border);border-radius:20px;background:#fff;box-shadow:var(--vam-shadow-soft)}
.vam-space-card img{width:100%;height:310px;object-fit:cover}
.vam-space-card>div{padding:26px}
.vam-space-card p{color:var(--vam-muted);font-size:.92rem}
.vam-equipment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;overflow:hidden;border:1px solid var(--vam-border);border-radius:20px;background:var(--vam-border)}
.vam-equipment-grid>div{padding:29px;background:#fff}
.vam-equipment-grid h3{font-size:1.28rem}
.vam-equipment-grid p{color:var(--vam-muted);font-size:.9rem}
.vam-two-columns{display:grid;grid-template-columns:repeat(2,1fr);gap:70px}
.vam-notice{padding:42px;border:1px solid rgba(198,111,77,.2);border-radius:20px;background:#fff8f3}
.vam-notice--small{margin-top:30px;padding:28px}
.vam-notice h2,.vam-notice h3{font-size:1.55rem}
.vam-booking-layout,.vam-contact-layout{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);align-items:start;gap:75px}
.vam-booking-placeholder{padding:34px;border:1px solid var(--vam-border);border-radius:20px;background:#fff;box-shadow:var(--vam-shadow-soft)}
.vam-contact-data{display:grid;gap:0;margin:32px 0}
.vam-contact-data>div{padding:18px 0;border-bottom:1px solid var(--vam-border)}
.vam-contact-data dt{color:var(--vam-muted);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.vam-contact-data dd{margin:5px 0 0;font-family:var(--vam-serif);font-size:1.2rem}
.vam-map-placeholder{display:flex;flex-direction:column;justify-content:center;min-height:310px;padding:42px;border-radius:20px;background:var(--vam-olive-dark);color:#fff}
.vam-map-placeholder strong{font-family:var(--vam-serif);font-size:1.75rem;font-weight:500}
.vam-map-placeholder span{margin-top:12px;color:rgba(255,255,255,.68)}
.vam-gallery-grid{columns:3 280px;column-gap:16px}
.vam-gallery-item{position:relative;display:block;width:100%;margin:0 0 16px;padding:0;overflow:hidden;border:0;border-radius:16px;background:#ddd;cursor:pointer;break-inside:avoid}
.vam-gallery-item img{width:100%;transition:transform .55s ease}
.vam-gallery-item:hover img{transform:scale(1.035)}
.vam-gallery-item span{position:absolute;left:12px;right:12px;bottom:12px;padding:8px 11px;border-radius:7px;background:rgba(24,33,28,.72);color:#fff;font-size:.72rem;text-align:left;backdrop-filter:blur(8px)}
.vam-lightbox[hidden]{display:none}
.vam-lightbox{position:fixed;z-index:3000;inset:0;display:grid;place-items:center;padding:45px;background:rgba(13,18,15,.92)}
.vam-lightbox img{max-width:min(1300px,90vw);max-height:82vh;border-radius:12px}
.vam-lightbox p{position:absolute;bottom:18px;color:#fff}
.vam-lightbox__close{position:absolute;top:22px;right:28px;width:48px;height:48px;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:transparent;color:#fff;font-size:2rem;line-height:1;cursor:pointer}
.vam-page-content{max-width:860px;padding-top:55px;padding-bottom:55px}
.vam-custom-content{padding-top:100px}
.vam-page-content>*+*{margin-top:1.2em}
.vam-registration{max-width:820px}
.vam-registration p{word-break:break-word}
.vam-post-list{display:grid;gap:40px}
.vam-post-list article{padding-bottom:35px;border-bottom:1px solid var(--vam-border)}
.vam-error{text-align:center}

/* Pie */
.vam-footer{padding:82px 0 25px;background:#17201b;color:#fff}
.vam-footer__grid{display:grid;grid-template-columns:1.45fr 1fr 1fr 1.25fr;gap:55px}
.vam-footer__brand{display:flex;align-items:flex-start;gap:18px}
.vam-footer__brand strong{font-family:var(--vam-serif);font-size:1.48rem}
.vam-footer__brand p,.vam-footer>div p{color:rgba(255,255,255,.6);font-size:.9rem}
.vam-footer h2{margin-bottom:22px;font-family:var(--vam-sans);font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#d6bf97}
.vam-footer-menu{display:grid;gap:9px;margin:0;padding:0;list-style:none;color:rgba(255,255,255,.7);font-size:.88rem}
.vam-footer-menu a:hover{color:#fff}
.vam-footer__bottom{display:flex;justify-content:space-between;margin-top:65px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.45);font-size:.72rem}
.vam-whatsapp-float{position:fixed;z-index:1500;right:22px;bottom:22px;display:grid;width:58px;height:58px;place-items:center;border-radius:50%;background:#1f9d61;box-shadow:0 14px 35px rgba(0,0,0,.2);transition:transform .25s ease}
.vam-whatsapp-float:hover{transform:translateY(-4px) scale(1.03)}
.vam-whatsapp-float svg{width:29px;height:29px;fill:#fff}

/* Página de web en construcción */
body.vam-maintenance-page{min-height:100vh;overflow-x:hidden;background:var(--vam-cream)}
.vam-maintenance{position:relative;display:grid;grid-template-columns:minmax(0,46%) minmax(0,54%);min-height:100svh;background:var(--vam-cream)}
.vam-maintenance__panel{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(34px,5vw,76px)}
.vam-maintenance__brand{display:flex;align-items:center;gap:16px}
.vam-maintenance__mark{display:grid;width:60px;height:60px;place-items:center;border:1px solid var(--vam-olive);border-radius:50%;color:var(--vam-olive);font-family:var(--vam-serif);font-size:1.38rem;font-weight:700}
.vam-maintenance__brand>span:last-child{display:flex;flex-direction:column;line-height:1}
.vam-maintenance__brand strong{font-family:var(--vam-serif);font-size:1.72rem;font-weight:500}
.vam-maintenance__brand small{margin-top:9px;color:var(--vam-terracotta);font-size:.66rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.vam-maintenance__copy{max-width:720px;padding:55px 0}
.vam-maintenance__eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:23px;color:var(--vam-terracotta);font-size:.75rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.vam-maintenance__eyebrow:before{content:"";width:36px;height:1px;background:currentColor}
.vam-maintenance__copy h1{max-width:700px;margin-bottom:26px;font-size:clamp(3.1rem,5.5vw,6.5rem);line-height:.98}
.vam-maintenance__lead{max-width:650px;color:var(--vam-ink-2);font-size:clamp(1.1rem,1.45vw,1.28rem);line-height:1.55}
.vam-maintenance__copy>p:not(.vam-maintenance__lead){max-width:650px;color:var(--vam-muted)}
.vam-maintenance__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.vam-maintenance__contact{display:flex;flex-wrap:wrap;gap:9px 26px;color:var(--vam-muted);font-size:.82rem}
.vam-maintenance__contact a:hover{color:var(--vam-terracotta)}
.vam-maintenance__visual{position:relative;min-height:100svh;background-image:var(--vam-maintenance-image);background-position:center;background-size:cover}
.vam-maintenance__visual-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(251,248,242,.12),transparent 25%),linear-gradient(0deg,rgba(28,37,30,.28),transparent 48%)}
.vam-maintenance__badge{position:absolute;top:clamp(35px,5vw,75px);right:clamp(30px,5vw,78px);display:flex;flex-direction:column;align-items:center;min-width:180px;padding:26px 30px;border:1px solid rgba(255,255,255,.6);border-radius:18px;background:rgba(251,248,242,.9);box-shadow:var(--vam-shadow);color:var(--vam-olive-dark);text-transform:uppercase;letter-spacing:.16em;backdrop-filter:blur(12px)}
.vam-maintenance__badge:before{content:"✦";margin-bottom:8px;color:var(--vam-terracotta);font-size:1.25rem}
.vam-maintenance__badge span{font-size:.66rem}
.vam-maintenance__badge strong{font-size:.86rem;letter-spacing:.19em}
.vam-maintenance__facts{position:absolute;z-index:5;right:clamp(30px,5vw,78px);bottom:clamp(30px,5vw,66px);display:grid;grid-template-columns:repeat(2,minmax(190px,1fr));overflow:hidden;width:min(700px,46vw);border:1px solid rgba(255,255,255,.62);border-radius:20px;background:rgba(251,248,242,.92);box-shadow:var(--vam-shadow);backdrop-filter:blur(15px)}
.vam-maintenance__facts>div{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:13px;padding:20px 22px;border-right:1px solid var(--vam-border);border-bottom:1px solid var(--vam-border)}
.vam-maintenance__facts>div:nth-child(2n){border-right:0}
.vam-maintenance__facts>div:nth-last-child(-n+2){border-bottom:0}
.vam-maintenance__facts svg{width:34px;height:34px;fill:none;stroke:var(--vam-olive);stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.vam-maintenance__facts span{display:flex;flex-direction:column;line-height:1.3}
.vam-maintenance__facts strong{font-family:var(--vam-serif);font-size:1rem;font-weight:600}
.vam-maintenance__facts small{margin-top:4px;color:var(--vam-muted);font-size:.66rem}

/* Animación */
.js .vam-reveal{opacity:0;transform:translateY(28px);transition:opacity .72s ease,transform .72s ease}
.js .vam-reveal.is-visible{opacity:1;transform:none}

@media (max-width:1120px){
  .vam-menu-toggle{display:block;position:relative;z-index:3}
  .vam-nav{position:fixed;z-index:2;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:110px 42px;background:var(--vam-ink);color:#fff;visibility:hidden;opacity:0;transform:translateY(-14px);transition:.25s ease}
  .vam-nav.is-open{visibility:visible;opacity:1;transform:none}
  .vam-menu{flex-direction:column;align-items:flex-start;gap:3px;width:100%}
  .vam-menu__link{display:block;padding:7px 0;font-family:var(--vam-serif);font-size:clamp(1.75rem,4.5vw,2.5rem);font-weight:500}
  .vam-header__cta{margin-top:26px;background:var(--vam-terracotta);border-color:var(--vam-terracotta)}
  .vam-menu-open .vam-menu-toggle{color:#fff}
  .vam-menu-open .vam-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .vam-menu-open .vam-menu-toggle span:nth-child(2){opacity:0}
  .vam-menu-open .vam-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .vam-feature-grid{grid-template-columns:repeat(2,1fr)}
  .vam-facts__grid{grid-template-columns:repeat(2,1fr)}
  .vam-facts__grid>div:nth-child(2){border-right:0}
  .vam-facts__grid>div:nth-child(-n+2){border-bottom:1px solid var(--vam-border)}
  .vam-footer__grid{grid-template-columns:repeat(2,1fr)}
  .vam-booking-layout,.vam-contact-layout{grid-template-columns:1fr;gap:50px}
  .vam-maintenance{grid-template-columns:1fr}
  .vam-maintenance__panel{min-height:760px;padding-bottom:170px}
  .vam-maintenance__visual{min-height:620px}
  .vam-maintenance__facts{right:50%;bottom:55px;width:min(92%,760px);transform:translateX(50%)}
}
@media (max-width:800px){
  body{font-size:16px}
  .admin-bar .vam-header{top:46px}
  .vam-container{width:min(100% - 30px,1220px)}
  .vam-header{padding:12px 0}
  .vam-brand__mark{width:44px;height:44px}
  .vam-brand__text strong{font-size:1.08rem}
  .vam-brand__text small{font-size:.56rem}
  .vam-hero{min-height:800px;padding:150px 0 145px;background-position:59% center}
  .vam-hero__overlay{background:linear-gradient(90deg,rgba(17,25,20,.87),rgba(17,25,20,.48)),linear-gradient(0deg,rgba(17,25,20,.42),transparent 55%)}
  .vam-hero h1{font-size:clamp(4rem,16vw,5.7rem)}
  .vam-actions{flex-direction:column;align-items:stretch;max-width:380px}
  .vam-hero__assurance{display:none}
  .vam-facts{margin-top:-85px}
  .vam-facts__grid{grid-template-columns:1fr 1fr}
  .vam-facts__grid>div{min-height:104px;padding:21px 18px;border-right:1px solid var(--vam-border)!important;border-bottom:1px solid var(--vam-border)}
  .vam-facts__grid>div:nth-child(2n){border-right:0!important}
  .vam-facts__grid>div:nth-last-child(-n+2){border-bottom:0}
  .vam-split,.vam-split--reverse{grid-template-columns:1fr;gap:48px}
  .vam-split--reverse .vam-split__media{order:0}
  .vam-split__media>img{min-height:390px}
  .vam-image-note{right:12px;bottom:-22px}
  .vam-image-note--secondary{left:12px;top:18px;bottom:auto}
  .vam-section-heading--row{display:block}
  .vam-section-heading--row .vam-text-link{margin-top:14px}
  .vam-feature-grid{grid-template-columns:1fr}
  .vam-feature-card{min-height:0}
  .vam-feature-card svg{margin-bottom:30px}
  .vam-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:360px 220px 220px}
  .vam-mosaic__large{grid-column:1/3;grid-row:auto}
  .vam-mosaic figure:nth-child(2){grid-column:auto}
  .vam-privacy-banner{min-height:650px}
  .vam-privacy-card{padding:35px 27px}
  .vam-booking-cta__inner{display:block}
  .vam-booking-cta .vam-button{margin-top:20px}
  .vam-page-hero{min-height:520px;padding:160px 0 65px}
  .vam-prose-grid{grid-template-columns:1fr;gap:42px}
  .vam-info-card{position:static}
  .vam-space-grid,.vam-equipment-grid,.vam-two-columns{grid-template-columns:1fr}
  .vam-equipment-grid{gap:1px}
  .vam-gallery-grid{columns:2 220px}
  .vam-lightbox{padding:20px}
  .vam-footer__grid{grid-template-columns:1fr;gap:40px}
  .vam-footer__bottom{display:grid;gap:7px}
  .vam-maintenance__panel{min-height:760px;padding:32px 24px 185px}
  .vam-maintenance__copy{padding:55px 0 35px}
  .vam-maintenance__copy h1{font-size:clamp(3.3rem,12vw,5.2rem)}
  .vam-maintenance__actions{flex-direction:column;align-items:stretch}
  .vam-maintenance__visual{min-height:500px}
  .vam-maintenance__badge{top:25px;right:25px;min-width:150px;padding:20px 22px}
  .vam-maintenance__facts{grid-template-columns:1fr 1fr;bottom:35px}
  .vam-maintenance__facts>div{padding:17px 16px}
}
@media (max-width:540px){
  .vam-section{padding:72px 0}
  .vam-hero{min-height:780px;padding-bottom:175px;background-position:52% center}
  .vam-hero h1{font-size:3.85rem}
  .vam-hero p{font-size:1.03rem}
  .vam-facts{margin-top:-128px}
  .vam-facts__grid{grid-template-columns:1fr}
  .vam-facts__grid>div{grid-template-columns:40px 1fr;min-height:82px;border-right:0!important;border-bottom:1px solid var(--vam-border)!important}
  .vam-facts__grid>div:last-child{border-bottom:0!important}
  .vam-mosaic{display:grid;grid-template-columns:1fr;grid-template-rows:none}
  .vam-mosaic__large,.vam-mosaic figure:nth-child(2){grid-column:auto}
  .vam-mosaic figure{height:300px}
  .vam-gallery-grid{columns:1}
  .vam-space-card img{height:270px}
  .vam-page-hero h1{font-size:3.35rem}
  .vam-notice{padding:28px 25px}
  .vam-maintenance__panel{min-height:850px;padding-bottom:315px}
  .vam-maintenance__brand strong{font-size:1.45rem}
  .vam-maintenance__mark{width:52px;height:52px}
  .vam-maintenance__copy h1{font-size:3.3rem}
  .vam-maintenance__contact{display:grid;gap:4px}
  .vam-maintenance__visual{min-height:440px}
  .vam-maintenance__badge{display:none}
  .vam-maintenance__facts{grid-template-columns:1fr;bottom:25px;width:calc(100% - 30px)}
  .vam-maintenance__facts>div{border-right:0!important;border-bottom:1px solid var(--vam-border)!important}
  .vam-maintenance__facts>div:last-child{border-bottom:0!important}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js .vam-reveal{opacity:1;transform:none}}

/* =========================================================
   Villa Alegre Matola 0.3 — refinamiento visual y movimiento
   ========================================================= */
:root{
  --vam-ease:cubic-bezier(.22,1,.36,1);
  --vam-ease-soft:cubic-bezier(.25,.8,.25,1);
  --vam-line:rgba(83,97,66,.18);
}
body{
  background:
    radial-gradient(circle at 5% 18%,rgba(198,111,77,.055),transparent 25rem),
    radial-gradient(circle at 95% 48%,rgba(83,97,66,.05),transparent 30rem),
    var(--vam-cream);
}
.vam-main{position:relative}
.vam-section{position:relative}
.vam-section:not(.vam-section--ink):not(.vam-booking-cta):not(.vam-privacy-banner):before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.28;
  background-image:linear-gradient(rgba(83,97,66,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(83,97,66,.035) 1px,transparent 1px);
  background-size:84px 84px;mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent)
}
.vam-container{position:relative;z-index:1}

/* Cabecera más limpia y progresiva */
.vam-header{isolation:isolate}
.vam-header__inner{min-height:60px}
.vam-brand>a,.vam-brand .custom-logo-link{transition:transform .3s var(--vam-ease)}
.vam-brand>a:hover,.vam-brand .custom-logo-link:hover{transform:translateY(-1px)}
.vam-brand__mark{position:relative;overflow:hidden;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 5px rgba(255,255,255,.025);transition:.3s var(--vam-ease)}
.vam-brand__mark:after{content:"";position:absolute;inset:-60% -20%;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.28) 50%,transparent 62%);transform:translateX(-90%) rotate(10deg);transition:transform .7s var(--vam-ease)}
.vam-brand a:hover .vam-brand__mark:after{transform:translateX(90%) rotate(10deg)}
.vam-header.is-scrolled .vam-brand__mark,.vam-is-inner .vam-brand__mark{background:rgba(83,97,66,.06);box-shadow:inset 0 0 0 5px rgba(83,97,66,.025)}
.vam-menu{gap:clamp(17px,1.65vw,27px)}
.vam-menu__link{font-size:.84rem;transition:color .25s ease,opacity .25s ease}
.vam-menu:hover .vam-menu__link:not(:hover){opacity:.58}
.vam-header__cta{position:relative;overflow:hidden;padding-inline:22px}
.vam-header__cta:after,.vam-button:after{content:"";position:absolute;inset:-80% -25%;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.28) 50%,transparent 62%);transform:translateX(-100%) rotate(9deg);transition:transform .75s var(--vam-ease);pointer-events:none}
.vam-header__cta:hover:after,.vam-button:hover:after{transform:translateX(100%) rotate(9deg)}
.vam-scroll-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;overflow:hidden;background:transparent}
.vam-scroll-progress span{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--vam-terracotta),#e6b194,var(--vam-olive));transform:scaleX(0);transform-origin:left center;will-change:transform}

/* Hero con profundidad y entrada editorial */
.vam-hero{
  min-height:max(760px,100svh);overflow:hidden;
  background-position:center calc(50% + var(--vam-parallax-y,0px));
  will-change:background-position
}
.vam-hero:before{content:"";position:absolute;z-index:1;inset:auto -8% -130px;height:245px;background:var(--vam-cream);border-radius:50% 50% 0 0/34% 34% 0 0;transform:scaleX(1.08);pointer-events:none}
.vam-hero__overlay{z-index:0;background:linear-gradient(90deg,rgba(14,22,17,.86) 0%,rgba(14,22,17,.68) 35%,rgba(14,22,17,.23) 69%,rgba(14,22,17,.08) 100%),linear-gradient(0deg,rgba(14,22,17,.48),transparent 55%)}
.vam-hero__grain{position:absolute;z-index:1;inset:0;opacity:.13;mix-blend-mode:soft-light;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E")}
.vam-hero__content{z-index:2;max-width:790px;transform:translateY(-10px)}
.js [data-vam-hero-content]>*{opacity:0;transform:translateY(24px);transition:opacity .85s var(--vam-ease),transform .85s var(--vam-ease)}
.js body.vam-loaded [data-vam-hero-content]>*{opacity:1;transform:none}
.js body.vam-loaded [data-vam-hero-content]>*:nth-child(1){transition-delay:.08s}
.js body.vam-loaded [data-vam-hero-content]>*:nth-child(2){transition-delay:.18s}
.js body.vam-loaded [data-vam-hero-content]>*:nth-child(3){transition-delay:.3s}
.js body.vam-loaded [data-vam-hero-content]>*:nth-child(4){transition-delay:.42s}
.js body.vam-loaded [data-vam-hero-content]>*:nth-child(5){transition-delay:.54s}
.vam-hero h1{font-size:clamp(4.5rem,7.3vw,7.65rem);letter-spacing:-.045em;text-shadow:0 10px 42px rgba(0,0,0,.14)}
.vam-hero h1 em{position:relative;width:max-content;padding-right:.18em}
.vam-hero h1 em:after{content:"";position:absolute;left:3%;right:0;bottom:-.03em;height:1px;background:linear-gradient(90deg,rgba(239,199,178,.9),transparent)}
.vam-hero p{max-width:625px}
.vam-hero .vam-actions{margin-top:37px}
.vam-button{position:relative;overflow:hidden;border-radius:10px;transform:translateZ(0)}
.vam-hero__assurance{padding-top:4px}
.vam-hero__scroll{position:absolute;z-index:4;right:clamp(28px,4vw,72px);bottom:96px;display:flex;align-items:center;gap:14px;color:rgba(255,255,255,.72);font-size:.66rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;writing-mode:vertical-rl;transition:color .25s ease}
.vam-hero__scroll:hover{color:#fff}
.vam-hero__scroll i{position:relative;width:1px;height:58px;overflow:hidden;background:rgba(255,255,255,.28)}
.vam-hero__scroll i:after{content:"";position:absolute;inset:0;background:#fff;transform:translateY(-100%);animation:vam-scroll-line 2.1s var(--vam-ease-soft) infinite}
@keyframes vam-scroll-line{0%{transform:translateY(-100%)}55%,100%{transform:translateY(100%)}}

/* Ficha de datos flotante */
.vam-facts{z-index:7;margin-top:-86px}
.vam-facts__grid{border-radius:22px;background:rgba(255,255,255,.94);box-shadow:0 30px 80px rgba(32,41,33,.14)}
.vam-facts__grid>div{position:relative;overflow:hidden;transition:background .35s ease,transform .35s var(--vam-ease)}
.vam-facts__grid>div:before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,var(--vam-terracotta),#e5ad8f);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--vam-ease)}
.vam-facts__grid>div:hover{background:#fff;transform:translateY(-4px)}
.vam-facts__grid>div:hover:before{transform:scaleX(1)}
.vam-facts svg{transition:transform .4s var(--vam-ease),stroke .3s ease}
.vam-facts__grid>div:hover svg{transform:scale(1.09) rotate(-3deg);stroke:var(--vam-terracotta)}
.vam-counter{display:inline!important;font:inherit}

/* Secciones y medios */
.vam-intro{padding-top:clamp(105px,11vw,165px)}
.vam-split__media{perspective:900px}
.vam-split__media>img{transition:transform .8s var(--vam-ease),filter .5s ease,box-shadow .5s ease}
.vam-split__media:hover>img{transform:scale(1.012);filter:saturate(1.03);box-shadow:0 32px 78px rgba(32,41,33,.18)}
.vam-image-note{transition:transform .45s var(--vam-ease),box-shadow .45s ease}
.vam-split__media:hover .vam-image-note{transform:translateY(-5px);box-shadow:0 26px 60px rgba(32,41,33,.17)}
.vam-section-heading h2,.vam-split__content h2{text-wrap:balance}
.vam-eyebrow:after{content:"";width:0;height:1px;background:currentColor;opacity:.45;transition:width .7s var(--vam-ease)}
.vam-reveal.is-visible .vam-eyebrow:after,.vam-section-heading:hover .vam-eyebrow:after{width:34px}

/* Tarjetas con luz sutil al puntero */
.vam-feature-card,.vam-space-card,.vam-info-card,.vam-notice{
  isolation:isolate;transform-style:preserve-3d
}
.vam-feature-card:before,.vam-space-card:before{content:"";position:absolute;z-index:-1;inset:0;border-radius:inherit;opacity:0;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(198,111,77,.15),transparent 45%);transition:opacity .3s ease;pointer-events:none}
.vam-feature-card:hover:before,.vam-space-card:hover:before{opacity:1}
.vam-feature-card{overflow:hidden;min-height:365px;border-color:rgba(83,97,66,.11)}
.vam-feature-card:after{content:"";position:absolute;right:-65px;bottom:-65px;width:150px;height:150px;border:1px solid rgba(83,97,66,.08);border-radius:50%;box-shadow:0 0 0 28px rgba(83,97,66,.025),0 0 0 56px rgba(83,97,66,.018);transition:transform .6s var(--vam-ease)}
.vam-feature-card:hover:after{transform:scale(1.18)}
.vam-feature-card svg{position:relative;z-index:1}
.vam-feature-card h3,.vam-feature-card p{position:relative;z-index:1}
.vam-feature-grid .vam-reveal:nth-child(2){transition-delay:.08s}
.vam-feature-grid .vam-reveal:nth-child(3){transition-delay:.16s}
.vam-feature-grid .vam-reveal:nth-child(4){transition-delay:.24s}
.vam-space-card{position:relative;transition:transform .4s var(--vam-ease),box-shadow .4s ease}
.vam-space-card:hover{transform:translateY(-8px);box-shadow:0 28px 62px rgba(32,41,33,.14)}
.vam-space-card img{transition:transform .75s var(--vam-ease),filter .5s ease}
.vam-space-card:hover img{transform:scale(1.045);filter:saturate(1.04)}

/* Galería más editorial */
.vam-gallery-preview{overflow:hidden}
.vam-gallery-preview:after{content:"";position:absolute;right:-160px;top:8%;width:430px;height:430px;border:1px solid rgba(83,97,66,.08);border-radius:50%;box-shadow:0 0 0 70px rgba(83,97,66,.025),0 0 0 140px rgba(83,97,66,.018);pointer-events:none}
.vam-mosaic{gap:16px}
.vam-mosaic figure{box-shadow:0 18px 45px rgba(32,41,33,.08)}
.vam-mosaic figure:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(17,25,20,.6));opacity:.7;transition:opacity .45s ease}
.vam-mosaic figure:hover:after{opacity:.9}
.vam-mosaic figcaption{z-index:2;left:20px;bottom:18px;padding:0;background:none;font-family:var(--vam-serif);font-size:1.05rem;font-weight:500;letter-spacing:0;transform:translateY(5px);transition:transform .45s var(--vam-ease)}
.vam-mosaic figure:hover figcaption{transform:none}
.vam-gallery-item:after{content:"+";position:absolute;right:18px;top:18px;display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(255,255,255,.56);border-radius:50%;background:rgba(17,25,20,.25);color:#fff;font-size:1.3rem;opacity:0;transform:translateY(-8px);transition:.35s var(--vam-ease);backdrop-filter:blur(8px)}
.vam-gallery-item:hover:after{opacity:1;transform:none}

/* Banda de privacidad */
.vam-privacy-banner{overflow:hidden;background-position:center calc(50% + var(--vam-parallax-y,0px));will-change:background-position}
.vam-privacy-banner:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 32%,rgba(239,199,178,.18),transparent 28rem);pointer-events:none}
.vam-privacy-card{position:relative;overflow:hidden;border-color:rgba(255,255,255,.22);background:linear-gradient(135deg,rgba(25,35,29,.78),rgba(25,35,29,.57));box-shadow:0 34px 85px rgba(7,12,9,.28)}
.vam-privacy-card:after{content:"";position:absolute;right:-90px;bottom:-110px;width:260px;height:260px;border:1px solid rgba(255,255,255,.09);border-radius:50%;box-shadow:0 0 0 44px rgba(255,255,255,.025),0 0 0 88px rgba(255,255,255,.018)}
.vam-privacy-card>*{position:relative;z-index:1}
.vam-privacy-seal{position:absolute;z-index:2;right:28px;top:28px;display:grid;width:86px;height:86px;place-content:center;border:1px solid rgba(255,255,255,.3);border-radius:50%;color:#fff;font-family:var(--vam-serif);font-size:1.25rem;line-height:1;text-align:center;transform:rotate(7deg)}
.vam-privacy-seal small{display:block;margin-top:5px;font-family:var(--vam-sans);font-size:.48rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}

/* Llamada final más viva */
.vam-booking-cta{position:relative;overflow:hidden;background:linear-gradient(120deg,var(--vam-olive-dark),#293624 64%,#34412d)}
.vam-booking-cta__glow{position:absolute;inset:-60%;background:conic-gradient(from 40deg,transparent,rgba(239,199,178,.13),transparent 22%);animation:vam-cta-glow 14s linear infinite;pointer-events:none}
@keyframes vam-cta-glow{to{transform:rotate(360deg)}}
.vam-booking-cta__inner{position:relative;z-index:1}
.vam-booking-cta__action{display:flex;flex-direction:column;align-items:center;gap:11px}
.vam-booking-cta__action small{color:rgba(255,255,255,.58);font-size:.68rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}

/* Pie, WhatsApp y volver arriba */
.vam-footer{position:relative;overflow:hidden;background:linear-gradient(145deg,#17201b,#101713)}
.vam-footer:before{content:"VA";position:absolute;right:-.05em;bottom:-.32em;color:rgba(255,255,255,.025);font-family:var(--vam-serif);font-size:min(42vw,520px);line-height:1;pointer-events:none}
.vam-footer__grid,.vam-footer__bottom{position:relative;z-index:1}
.vam-whatsapp-float{right:24px;bottom:24px;width:auto;min-width:58px;padding:0 18px;gap:10px;border-radius:999px;transition:transform .35s var(--vam-ease),box-shadow .35s ease}
.vam-whatsapp-float span{display:block;font-size:.72rem;font-weight:800;letter-spacing:.04em}
.vam-whatsapp-float:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 18px 42px rgba(23,138,84,.34)}
.vam-back-to-top{position:fixed;z-index:1190;right:26px;bottom:94px;display:grid;width:48px;height:48px;place-items:center;border:1px solid rgba(83,97,66,.18);border-radius:50%;background:rgba(251,248,242,.92);box-shadow:0 12px 34px rgba(32,41,33,.12);color:var(--vam-olive-dark);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(12px) rotate(-90deg);transition:.3s var(--vam-ease);backdrop-filter:blur(10px)}
.vam-back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0) rotate(-90deg)}
.vam-back-to-top:hover{background:var(--vam-olive);color:#fff;transform:translateY(-3px) rotate(-90deg)}
.vam-back-to-top svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Página de construcción con movimiento discreto */
.vam-maintenance__visual{overflow:hidden;background-position:center calc(50% + var(--vam-parallax-y,0px))}
.vam-maintenance__visual:after{content:"";position:absolute;inset:-10%;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.14) 49%,transparent 60%);animation:vam-maintenance-light 9s var(--vam-ease-soft) infinite;pointer-events:none}
@keyframes vam-maintenance-light{0%,35%{transform:translateX(-55%)}70%,100%{transform:translateX(55%)}}
.vam-maintenance__badge{animation:vam-badge-float 5s ease-in-out infinite}
@keyframes vam-badge-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* Revelado más suave y con escala mínima */
.js .vam-reveal{opacity:0;transform:translateY(34px) scale(.985);transition:opacity .82s var(--vam-ease),transform .82s var(--vam-ease)}
.js .vam-reveal.is-visible{opacity:1;transform:none}

@media (max-width:1120px){
  .vam-nav{overflow:auto;background:linear-gradient(145deg,#17201b,#253128)}
  .vam-nav:before{content:"VA";position:absolute;right:-.1em;bottom:-.26em;color:rgba(255,255,255,.035);font-family:var(--vam-serif);font-size:46vw;line-height:1;pointer-events:none}
  .vam-menu,.vam-header__cta{position:relative;z-index:1}
  .vam-menu__link{padding:9px 0}
}
@media (max-width:800px){
  .vam-hero{min-height:820px;background-position:58% calc(50% + var(--vam-parallax-y,0px))}
  .vam-hero:before{height:165px;bottom:-92px}
  .vam-hero__scroll{display:none}
  .vam-facts{margin-top:-92px}
  .vam-privacy-seal{right:18px;top:18px;width:72px;height:72px;font-size:1.05rem}
  .vam-whatsapp-float{right:15px;bottom:15px;min-width:56px;padding:0;width:56px}
  .vam-whatsapp-float span{display:none}
  .vam-back-to-top{right:19px;bottom:82px;width:44px;height:44px}
  .vam-booking-cta__action{align-items:flex-start;margin-top:24px}
}
@media (max-width:540px){
  .vam-hero{min-height:800px}
  .vam-hero h1{font-size:3.75rem}
  .vam-facts{margin-top:-120px}
  .vam-privacy-seal{display:none}
  .vam-feature-card:after{opacity:.6}
}
@media (prefers-reduced-motion:reduce){
  .vam-hero,.vam-privacy-banner,.vam-maintenance__visual{background-position:center!important}
  .vam-booking-cta__glow,.vam-maintenance__badge,.vam-maintenance__visual:after,.vam-hero__scroll i:after{animation:none!important}
  .js [data-vam-hero-content]>*{opacity:1!important;transform:none!important}
}


/* =============================
   Villa Alegre 0.5 — logo con presencia y giro de página
   ============================= */
.vam-header{padding:7px 0;transition:padding .35s var(--vam-ease),background .35s ease,box-shadow .35s ease}
.vam-header__inner{min-height:96px;transition:min-height .35s var(--vam-ease)}
.vam-header.is-scrolled{padding:3px 0}
.vam-header.is-scrolled .vam-header__inner{min-height:76px}
.vam-brand{display:flex;flex:0 0 auto;align-items:center}
.vam-brand .custom-logo-link,
.vam-footer__brand-logo .custom-logo-link,
.vam-maintenance__brand--logo .custom-logo-link{display:inline-flex;align-items:center}
.vam-logo,
.custom-logo.vam-logo{display:block;width:auto;height:auto;max-width:100%}
.vam-logo--header,
.vam-brand .custom-logo{
  width:clamp(285px,19vw,360px);
  max-width:36vw;
  max-height:102px;
  object-fit:contain;
  transition:width .35s var(--vam-ease),max-height .35s var(--vam-ease),transform .3s var(--vam-ease)
}
.vam-header.is-scrolled .vam-brand .custom-logo{width:clamp(245px,16vw,310px);max-height:78px}
.vam-brand .custom-logo-link:hover .custom-logo{transform:translateY(-2px)}
.vam-logo--footer,
.vam-footer__brand-logo .custom-logo{width:235px;max-width:100%;max-height:74px;object-fit:contain}
.vam-footer__brand{align-items:center;gap:22px}
.vam-footer__brand-logo{display:flex;flex:0 0 auto;padding:11px 14px;border:1px solid rgba(214,191,151,.26);border-radius:14px;background:rgba(251,248,242,.94);box-shadow:0 14px 36px rgba(0,0,0,.12)}
.vam-logo--maintenance,
.vam-maintenance__brand--logo .custom-logo{width:min(470px,88vw);max-height:136px;object-fit:contain}
.vam-maintenance__brand--logo{display:block}
.vam-maintenance__brand--logo .custom-logo-link:hover{transform:none}
.vam-maintenance__brand--logo .custom-logo{filter:drop-shadow(0 10px 28px rgba(32,41,33,.10))}



/* Responsive logo sizing. */
@media (max-width:1180px){
  .vam-logo--header,.vam-brand .custom-logo{width:270px;max-width:34vw;max-height:92px}
  .vam-header.is-scrolled .vam-brand .custom-logo{width:235px;max-height:72px}
}
@media (max-width:800px){
  .vam-header__inner{min-height:76px}
  .vam-logo--header,.vam-brand .custom-logo{width:min(285px,64vw);max-width:64vw;max-height:78px}
  .vam-header.is-scrolled .vam-brand .custom-logo{width:min(255px,60vw);max-height:66px}
  .vam-logo--footer,.vam-footer__brand-logo .custom-logo{width:205px;max-height:64px}
  .vam-footer__brand{align-items:flex-start;flex-direction:column}
}
@media (max-width:540px){
  .vam-logo--header,.vam-brand .custom-logo{width:min(245px,67vw);max-width:67vw;max-height:68px}
  .vam-header.is-scrolled .vam-brand .custom-logo{width:min(220px,63vw);max-height:60px}
}


/* =============================
   Villa Alegre 0.5.1 — cabecera más limpia sobre el hero
   ============================= */
.vam-header{
  color:var(--vam-ink);
}
.vam-header:before{
  opacity:0;
}
.vam-header__inner{
  padding:14px 20px;
  border:1px solid rgba(83,97,66,.14);
  border-radius:18px;
  background:rgba(251,248,242,.84);
  box-shadow:0 14px 34px rgba(32,41,33,.10);
  backdrop-filter:blur(14px);
}
.vam-is-front .vam-header:not(.is-scrolled){
  padding-top:12px;
}
.vam-is-front .vam-header:not(.is-scrolled) .vam-header__inner{
  background:rgba(251,248,242,.78);
  box-shadow:0 14px 36px rgba(32,41,33,.12);
}
.vam-menu__link{
  color:var(--vam-ink);
}
.vam-menu__link:hover,
.vam-menu .current-menu-item > a,
.vam-menu .current_page_item > a,
.vam-menu .current-menu-ancestor > a{
  color:var(--vam-terracotta);
}
.vam-header__cta{
  background:var(--vam-olive);
  border-color:var(--vam-olive);
  color:#fff;
}
.vam-header__cta:hover{
  background:var(--vam-terracotta);
  border-color:var(--vam-terracotta);
}
.vam-header.is-scrolled,
.vam-is-inner .vam-header{
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}
.vam-header.is-scrolled .vam-header__inner,
.vam-is-inner .vam-header .vam-header__inner{
  background:rgba(251,248,242,.96);
  box-shadow:0 12px 30px rgba(32,41,33,.10);
}
@media (max-width:1120px){
  .vam-nav{
    background:rgba(27,36,30,.96);
    backdrop-filter:blur(10px);
  }
}
@media (max-width:800px){
  .vam-header__inner{
    padding:10px 14px;
    border-radius:16px;
  }
  .vam-is-front .vam-header:not(.is-scrolled){
    padding-top:8px;
  }
}

/* =========================================================
   Villa Alegre 0.6 — páginas editables con bloques Gutenberg
   ========================================================= */
.vam-gutenberg-page{overflow:hidden;background:var(--vam-cream)}
.vam-gutenberg-page>*{margin-block-start:0;margin-block-end:0}
.vam-edit-shell{width:min(100% - 40px,1220px);margin-right:auto;margin-left:auto}
.vam-edit-section{padding:110px 0;background:var(--vam-cream)}
.vam-edit-section--sand{background:var(--vam-sand)}
.vam-edit-section--dark{background:var(--vam-ink);color:#fff}
.vam-edit-section--dark h2,.vam-edit-section--dark h3{color:#fff}
.vam-edit-section__lead{max-width:760px;margin-bottom:42px;color:var(--vam-muted);font-size:1.08rem}
.vam-edit-eyebrow{margin:0 0 18px;color:#f2c5aa;font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.vam-edit-eyebrow--dark{color:var(--vam-terracotta)}
.vam-edit-hero{position:relative;min-height:max(760px,100svh);padding:145px 0 145px}
.vam-edit-hero:after{content:"";position:absolute;z-index:2;right:-8%;bottom:-130px;left:-8%;height:230px;border-radius:50% 50% 0 0/34% 34% 0 0;background:var(--vam-cream);pointer-events:none}
.vam-edit-hero .wp-block-cover__inner-container{position:relative;z-index:3}
.vam-edit-hero__content{display:flex;min-height:520px;flex-direction:column;justify-content:center;align-items:flex-start}
.vam-edit-hero__title{max-width:760px;margin:0 0 22px!important;color:#fff;font-size:clamp(4.4rem,8.2vw,8.4rem);font-weight:500;line-height:.82;letter-spacing:-.055em}
.vam-edit-hero__title em{color:#efc7b2;font-weight:400}
.vam-edit-hero__lead{max-width:660px;margin:0 0 28px;color:rgba(255,255,255,.84);font-size:clamp(1.05rem,1.45vw,1.25rem)}
.vam-edit-buttons{display:flex;gap:12px;margin-top:10px}
.vam-edit-buttons--center{justify-content:center}
.vam-edit-button .wp-block-button__link{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:13px 24px;border:1px solid transparent;border-radius:9px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;transition:transform .25s ease,background .25s ease,border-color .25s ease,color .25s ease}
.vam-edit-button--primary .wp-block-button__link{background:var(--vam-terracotta);color:#fff}
.vam-edit-button--primary .wp-block-button__link:hover{background:#ad5f41;transform:translateY(-2px)}
.vam-edit-button--outline .wp-block-button__link{border-color:rgba(255,255,255,.62)!important;background:rgba(255,255,255,.08)!important;color:#fff!important}
.vam-edit-button--outline .wp-block-button__link:hover{background:rgba(255,255,255,.17)!important;transform:translateY(-2px)}
.vam-edit-assurance{display:flex;flex-wrap:wrap;gap:22px;margin:25px 0 0!important;padding:0!important;color:rgba(255,255,255,.78);font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;list-style:none!important}
.vam-edit-assurance li:before{content:"•";margin-right:9px;color:#efc7b2}
.vam-edit-facts-wrap{position:relative;z-index:5;margin-top:-105px!important;padding-bottom:35px}
.vam-edit-facts{overflow:hidden;margin:0!important;border:1px solid var(--vam-border);border-radius:18px;background:rgba(255,255,255,.97);box-shadow:0 20px 55px rgba(32,41,33,.13)}
.vam-edit-facts>.wp-block-column{min-height:120px;padding:28px 22px;border-right:1px solid var(--vam-border);text-align:center}
.vam-edit-facts>.wp-block-column:last-child{border-right:0}
.vam-edit-facts h3{margin:0 0 4px;font-family:var(--vam-serif);font-size:1.35rem;font-weight:600}
.vam-edit-facts p{margin:0;color:var(--vam-muted);font-size:.72rem}
.vam-edit-media{gap:70px}
.vam-edit-media .wp-block-media-text__content{padding:35px 4%}
.vam-edit-media .wp-block-media-text__media{overflow:hidden;border-radius:22px;box-shadow:var(--vam-shadow)}
.vam-edit-media .wp-block-media-text__media img{min-height:520px;object-fit:cover}
.vam-edit-media h2,.vam-edit-section h2{margin-top:0;font-size:clamp(2.65rem,4.7vw,5rem);line-height:1.02;letter-spacing:-.035em}
.vam-edit-media p{color:var(--vam-muted)}
.vam-edit-link a{display:inline-block;padding-bottom:4px;border-bottom:1px solid currentColor;color:var(--vam-ink);font-size:.84rem;font-weight:750;text-decoration:none}
.vam-edit-link a:hover{color:var(--vam-terracotta)}
.vam-edit-card-grid{display:flex;flex-wrap:wrap;gap:22px;margin-top:40px!important}
.vam-edit-card-grid>.wp-block-column{flex:1 1 calc(33.333% - 22px)!important;min-width:260px}
.vam-edit-card{overflow:hidden;border:1px solid var(--vam-border);border-radius:20px;background:#fff;box-shadow:var(--vam-shadow-soft)}
.vam-edit-card figure{margin:0!important}
.vam-edit-card figure img{width:100%;height:285px;object-fit:cover}
.vam-edit-card h3{margin:25px 25px 10px;font-size:1.45rem}
.vam-edit-card>p{margin:0 25px 28px;color:var(--vam-muted);font-size:.92rem}
.vam-edit-heading-row{align-items:flex-end;margin-bottom:36px}
.vam-edit-heading-row h2{margin-bottom:0}
.vam-edit-gallery{gap:15px!important}
.vam-edit-gallery figure{overflow:hidden;border-radius:15px;background:#ddd}
.vam-edit-gallery img{transition:transform .5s ease}
.vam-edit-gallery figure:hover img{transform:scale(1.03)}
.vam-edit-gallery--full figure{min-height:270px}
.vam-edit-gallery--full figcaption{padding:24px 12px 10px!important;background:linear-gradient(transparent,rgba(20,27,22,.82))!important;font-size:.72rem!important}
.vam-edit-cta{text-align:center}
.vam-edit-cta__inner{display:flex;max-width:850px;flex-direction:column;align-items:center;margin:auto}
.vam-edit-cta h2{margin:0 0 14px;color:#fff;font-size:clamp(2.8rem,5vw,5rem)}
.vam-edit-cta p:not(.vam-edit-eyebrow){max-width:640px;color:rgba(255,255,255,.75)}
.vam-edit-page-hero{padding:155px 0 75px}
.vam-edit-page-hero h1{margin:0 0 18px;color:#fff;font-size:clamp(3.8rem,7vw,7rem);letter-spacing:-.045em}
.vam-edit-page-hero__lead{max-width:720px;color:rgba(255,255,255,.82);font-size:1.2rem}
.vam-edit-two-cols{gap:65px}
.vam-edit-two-cols img{border-radius:18px;box-shadow:var(--vam-shadow)}
.vam-edit-note{margin-top:30px;padding:30px;border:1px solid rgba(198,111,77,.2);border-radius:18px;background:#fff8f3}
.vam-edit-note h2,.vam-edit-note h3{margin-top:0;font-size:1.55rem}
.vam-edit-equipment{gap:1px;overflow:hidden;margin-top:38px!important;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:rgba(255,255,255,.13)}
.vam-edit-equipment>.wp-block-column{padding:28px;background:#202b23}
.vam-edit-equipment h3{font-size:1.25rem}
.vam-edit-equipment p{color:rgba(255,255,255,.67);font-size:.88rem}
.vam-edit-booking-grid,.vam-edit-contact-grid{align-items:flex-start;gap:70px}
.vam-edit-form-column{min-height:360px;padding:32px;border:1px solid var(--vam-border);border-radius:20px;background:#fff;box-shadow:var(--vam-shadow-soft)}
.vam-edit-map-placeholder{display:flex;min-height:310px;flex-direction:column;justify-content:center;padding:40px;border-radius:20px;background:var(--vam-olive-dark);color:#fff}
.vam-edit-map-placeholder h3{color:#fff;font-size:1.8rem}
.vam-edit-map-placeholder p{color:rgba(255,255,255,.7)}
.vam-gutenberg-page--standard{padding-top:0}

@media (max-width:1000px){
  .vam-edit-media{gap:30px}
  .vam-edit-booking-grid,.vam-edit-contact-grid{gap:35px}
  .vam-edit-facts{flex-wrap:wrap!important}
  .vam-edit-facts>.wp-block-column{flex-basis:50%!important;border-bottom:1px solid var(--vam-border)}
  .vam-edit-facts>.wp-block-column:nth-child(2){border-right:0}
  .vam-edit-facts>.wp-block-column:nth-last-child(-n+2){border-bottom:0}
}
@media (max-width:800px){
  .vam-edit-shell{width:min(100% - 30px,1220px)}
  .vam-edit-section{padding:78px 0}
  .vam-edit-hero{min-height:820px;padding:150px 0 180px}
  .vam-edit-hero__title{font-size:clamp(4rem,16vw,6.1rem)}
  .vam-edit-assurance{display:none}
  .vam-edit-facts-wrap{margin-top:-135px!important}
  .vam-edit-media{grid-template-columns:1fr!important}
  .vam-edit-media .wp-block-media-text__media{grid-column:1!important;grid-row:1!important}
  .vam-edit-media .wp-block-media-text__content{grid-column:1!important;grid-row:2!important;padding:35px 0 0}
  .vam-edit-media .wp-block-media-text__media img{min-height:380px}
  .vam-edit-card-grid>.wp-block-column{flex-basis:100%!important}
  .vam-edit-two-cols,.vam-edit-booking-grid,.vam-edit-contact-grid{gap:35px}
  .vam-edit-gallery{columns:2}
}
@media (max-width:540px){
  .vam-edit-buttons{width:100%;flex-direction:column}
  .vam-edit-button,.vam-edit-button .wp-block-button__link{width:100%}
  .vam-edit-facts{display:block!important}
  .vam-edit-facts>.wp-block-column{min-height:auto;padding:21px;border-right:0!important;border-bottom:1px solid var(--vam-border)!important}
  .vam-edit-facts>.wp-block-column:last-child{border-bottom:0!important}
  .vam-edit-gallery{display:grid!important;grid-template-columns:1fr!important}
  .vam-edit-gallery figure{width:100%!important}
  .vam-edit-page-hero{min-height:500px!important;padding-top:145px}
  .vam-edit-page-hero h1{font-size:3.45rem}
  .vam-edit-form-column{padding:22px}
}
.vam-edit-media-cols{align-items:center;gap:70px}
.vam-edit-media-cols>.wp-block-column:first-child{padding-right:3%}
.vam-edit-media-cols figure{overflow:hidden;margin:0;border-radius:22px;box-shadow:var(--vam-shadow)}
.vam-edit-media-cols figure img{width:100%;min-height:520px;object-fit:cover}
.vam-edit-gallery-cols{gap:15px}
.vam-edit-gallery-cols figure{overflow:hidden;margin:0 0 15px;border-radius:15px;background:#ddd}
.vam-edit-gallery-cols figure img{width:100%;transition:transform .5s ease}
.vam-edit-gallery-cols figure:hover img{transform:scale(1.03)}
.vam-edit-gallery-cols--full figure img{min-height:260px;object-fit:cover}
@media (max-width:800px){
  .vam-edit-media-cols{gap:35px}
  .vam-edit-media-cols>.wp-block-column:first-child{padding-right:0}
  .vam-edit-media-cols figure img{min-height:380px}
  .vam-edit-gallery-cols{gap:10px}
}
@media (max-width:600px){
  .vam-edit-gallery-cols{display:block!important}
}

/* =========================================================
   Villa Alegre 1.2 — compatibilidad Full Site Editing
   ========================================================= */
.wp-site-blocks{padding:0}
.wp-site-blocks>*{margin-block-start:0;margin-block-end:0}
.vam-template-main{min-height:55vh}
.vam-template-main>.wp-block-post-content{margin:0}

/* Cabecera editable con bloques. */
.vam-header.wp-block-group{margin:0}
.vam-header .vam-header__inner{width:min(1220px,calc(100% - 48px));margin-inline:auto}
.vam-header .wp-block-site-logo{margin:0;flex:0 0 auto}
.vam-header .wp-block-site-logo a{display:flex;align-items:center}
.vam-header .wp-block-site-logo img{width:clamp(285px,19vw,360px);max-width:36vw;max-height:102px;object-fit:contain;transition:width .35s var(--vam-ease),max-height .35s var(--vam-ease),transform .3s var(--vam-ease)}
.vam-header.is-scrolled .wp-block-site-logo img{width:clamp(245px,16vw,310px);max-height:78px}
.vam-header .wp-block-site-logo a:hover img{transform:translateY(-2px)}
.vam-fse-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:22px;margin:0}
.vam-nav.wp-block-navigation{position:static;inset:auto;display:flex;padding:0;background:transparent;color:inherit;visibility:visible;opacity:1;transform:none;backdrop-filter:none}
.vam-nav .wp-block-navigation__container{display:flex;align-items:center;gap:clamp(17px,1.65vw,27px);margin:0;padding:0}
.vam-nav .wp-block-navigation-item{margin:0}
.vam-nav .wp-block-navigation-item__content{position:relative;display:block;padding:11px 0;color:var(--vam-ink);font-size:.84rem;font-weight:650;letter-spacing:.01em;text-decoration:none;transition:color .25s ease,opacity .25s ease}
.vam-nav .wp-block-navigation-item__content:after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:1px;background:currentColor;transition:right .25s ease}
.vam-nav .wp-block-navigation-item__content:hover:after,
.vam-nav .current-menu-item>.wp-block-navigation-item__content:after,
.vam-nav .current-menu-ancestor>.wp-block-navigation-item__content:after{right:0}
.vam-nav .wp-block-navigation-item__content:hover,
.vam-nav .current-menu-item>.wp-block-navigation-item__content{color:var(--vam-terracotta)}
.vam-nav .vam-mobile-cta{display:none}
.vam-header__cta.wp-block-button{margin:0}
.vam-header__cta .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:9px 20px;border:1px solid var(--vam-olive);border-radius:10px;background:var(--vam-olive);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;transition:.22s ease}
.vam-header__cta .wp-block-button__link:hover{background:var(--vam-terracotta);border-color:var(--vam-terracotta);color:#fff;transform:translateY(-1px)}
.vam-header .wp-block-buttons{margin:0}
.vam-header .wp-block-navigation__responsive-container-open,
.vam-header .wp-block-navigation__responsive-container-close{color:var(--vam-ink)}

/* Pie editable con bloques. */
.vam-footer.wp-block-group{margin:0}
.vam-footer .vam-footer__grid,
.vam-footer .vam-footer__bottom{width:min(1220px,calc(100% - 48px));margin-inline:auto}
.vam-footer__brand.wp-block-group{display:flex;align-items:center;gap:22px;margin:0}
.vam-footer__brand-logo.wp-block-group{display:flex;flex:0 0 auto;margin:0;padding:11px 14px;border:1px solid rgba(214,191,151,.26);border-radius:14px;background:rgba(251,248,242,.94);box-shadow:0 14px 36px rgba(0,0,0,.12)}
.vam-footer__brand-logo .wp-block-site-logo{margin:0}
.vam-footer__brand-logo .wp-block-site-logo img{width:235px;max-width:100%;max-height:74px;object-fit:contain}
.vam-footer__brand-copy{margin:0}
.vam-footer__brand-copy p{margin-bottom:.7rem}
.vam-footer .wp-block-heading{margin-top:0}
.vam-footer .wp-block-navigation.vam-footer-menu{display:block;margin:0;background:transparent;color:inherit}
.vam-footer .vam-footer-menu .wp-block-navigation__container{display:grid;gap:9px;margin:0;padding:0}
.vam-footer .vam-footer-menu .wp-block-navigation-item__content{padding:0;color:rgba(255,255,255,.7);font-size:.88rem;text-decoration:none}
.vam-footer .vam-footer-menu .wp-block-navigation-item__content:hover{color:#fff}
.vam-footer .vam-footer-info{margin:0;padding:0;list-style:none}
.vam-footer .vam-footer-info li{margin-bottom:9px}
.vam-footer .vam-footer-info a{color:rgba(255,255,255,.7);font-size:.88rem}
.vam-footer .vam-footer-info a:hover{color:#fff}
.vam-footer__bottom.wp-block-group{display:flex;justify-content:space-between;margin-top:65px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.45);font-size:.72rem}
.vam-footer__bottom p{margin:0}

/* Controles flotantes editables. */
.vam-whatsapp-float.wp-block-button{position:fixed;z-index:1500;right:24px;bottom:24px;display:block;margin:0}
.vam-whatsapp-float .wp-block-button__link{display:flex;min-height:58px;align-items:center;justify-content:center;gap:10px;padding:0 19px;border:0;border-radius:999px;background:#1f9d61;color:#fff;box-shadow:0 14px 35px rgba(0,0,0,.2);font-size:.72rem;font-weight:800;letter-spacing:.04em;transition:transform .35s var(--vam-ease),box-shadow .35s ease}
.vam-whatsapp-float .wp-block-button__link:before{content:"✆";display:grid;width:28px;height:28px;place-items:center;border:1px solid rgba(255,255,255,.55);border-radius:50%;font-size:1rem}
.vam-whatsapp-float .wp-block-button__link:hover{background:#1f9d61;color:#fff;transform:translateY(-4px) scale(1.02);box-shadow:0 18px 42px rgba(23,138,84,.34)}
.vam-back-to-top.wp-block-button{position:fixed;z-index:1490;right:26px;bottom:94px;display:grid;width:48px;height:48px;margin:0;place-items:center;border:1px solid rgba(83,97,66,.18);border-radius:50%;background:rgba(251,248,242,.92);box-shadow:0 12px 34px rgba(32,41,33,.12);opacity:0;visibility:hidden;transform:translateY(12px);transition:.3s var(--vam-ease);backdrop-filter:blur(10px)}
.vam-back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.vam-back-to-top .wp-block-button__link{display:grid;width:100%;height:100%;padding:0;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--vam-olive-dark);font-size:1.3rem;line-height:1}
.vam-back-to-top:hover{background:var(--vam-olive);transform:translateY(-3px)}
.vam-back-to-top:hover .wp-block-button__link{background:transparent;color:#fff}

/* Plantillas estándar editables. */
.vam-standard-page-content{width:min(860px,calc(100% - 48px));margin-inline:auto;padding-top:55px;padding-bottom:55px}
.vam-standard-page-content>*+*{margin-top:1.2em}
.vam-post-list{width:min(1220px,calc(100% - 48px));margin-inline:auto;padding:80px 0}
.vam-post-card{padding:32px 0;border-bottom:1px solid var(--vam-border)}

@media (max-width:1120px){
  .vam-fse-header-actions{gap:12px}
  .vam-nav.wp-block-navigation{position:static;inset:auto;padding:0;background:transparent;color:inherit;visibility:visible;opacity:1;transform:none}
  .vam-nav .wp-block-navigation__responsive-container-open{display:flex}
  .vam-nav .wp-block-navigation__responsive-container:not(.is-menu-open){display:none}
  .vam-nav .wp-block-navigation__responsive-container.is-menu-open{position:fixed;z-index:2000;inset:0;display:flex;padding:90px 42px 55px;background:rgba(27,36,30,.98);color:#fff;backdrop-filter:blur(12px)}
  .vam-nav .wp-block-navigation__responsive-container-content{display:flex;align-items:flex-start;justify-content:center;width:100%;height:100%}
  .vam-nav .wp-block-navigation__container{flex-direction:column;align-items:flex-start;gap:3px;width:100%}
  .vam-nav .wp-block-navigation-item__content{padding:7px 0;color:#fff;font-family:var(--vam-serif);font-size:clamp(1.75rem,4.5vw,2.5rem);font-weight:500}
  .vam-nav .wp-block-navigation-item__content:after{display:none}
  .vam-nav .vam-mobile-cta{display:block;margin-top:24px}
  .vam-nav .vam-mobile-cta .wp-block-navigation-item__content{display:inline-flex;padding:11px 20px;border-radius:10px;background:var(--vam-terracotta);font-family:var(--vam-sans);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
  .vam-nav .wp-block-navigation__responsive-container-close{top:28px;right:28px;color:#fff}
  .vam-header__cta.wp-block-button{display:none}
}

@media (max-width:800px){
  .vam-header .vam-header__inner,
  .vam-footer .vam-footer__grid,
  .vam-footer .vam-footer__bottom{width:min(100% - 30px,1220px)}
  .vam-header .wp-block-site-logo img{width:min(285px,64vw);max-width:64vw;max-height:78px}
  .vam-header.is-scrolled .wp-block-site-logo img{width:min(255px,60vw);max-height:66px}
  .vam-footer__brand-logo .wp-block-site-logo img{width:205px;max-height:64px}
  .vam-footer__brand.wp-block-group{align-items:flex-start;flex-direction:column}
  .vam-footer__bottom.wp-block-group{display:grid;gap:7px}
  .vam-whatsapp-float.wp-block-button{right:16px;bottom:16px}
  .vam-back-to-top.wp-block-button{right:18px;bottom:86px}
  .vam-standard-page-content,.vam-post-list{width:min(100% - 30px,860px)}
}

@media (max-width:540px){
  .vam-header .wp-block-site-logo img{width:min(245px,67vw);max-width:67vw;max-height:68px}
  .vam-header.is-scrolled .wp-block-site-logo img{width:min(220px,63vw);max-height:60px}
  .vam-nav .wp-block-navigation__responsive-container.is-menu-open{padding:86px 28px 42px}
}


/* =========================================================
   Villa Alegre 1.2.1 — ajustes de composición y maquetación
   ========================================================= */
.vam-edit-card-grid{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:stretch;
  gap:22px;
  overflow:hidden;
}
.vam-edit-card-grid>.wp-block-column{
  flex:0 1 calc((100% - 44px)/3)!important;
  max-width:calc((100% - 44px)/3);
  min-width:0!important;
  margin:0!important;
}
.vam-edit-card-grid .vam-edit-card{
  height:100%;
}
.vam-edit-card-grid .vam-edit-card>p:last-child{
  margin-bottom:24px;
}
.vam-footer{
  padding:76px 0 28px;
}
.vam-footer__grid,
.vam-footer .vam-footer__grid{
  display:grid;
  grid-template-columns:minmax(320px,1.35fr) minmax(150px,.9fr) minmax(170px,1fr) minmax(240px,1.1fr);
  align-items:start;
  gap:clamp(28px,3.5vw,58px);
}
.vam-footer__brand,
.vam-footer__brand.wp-block-group{
  align-items:flex-start;
  flex-direction:column;
  gap:20px;
}
.vam-footer__brand-copy,
.vam-footer__brand-copy.wp-block-group{
  max-width:340px;
  margin:0;
}
.vam-footer__title{
  margin:0 0 10px!important;
  font-family:var(--vam-serif);
  font-size:clamp(2rem,2.6vw,2.35rem);
  line-height:1.02;
  letter-spacing:-.04em;
}
.vam-footer__title strong{font-weight:500}
.vam-footer-benefits{
  display:grid;
  gap:7px;
  margin:18px 0 0!important;
  padding:0;
  list-style:none;
  color:rgba(255,255,255,.72);
  font-size:.84rem;
}
.vam-footer-benefits li{
  position:relative;
  padding-left:16px;
}
.vam-footer-benefits li:before{
  content:"•";
  position:absolute;
  left:0;
  color:#d6bf97;
}
.vam-footer-contact-copy{
  max-width:300px;
  margin:10px 0 16px!important;
  color:rgba(255,255,255,.68);
  font-size:.9rem;
}
.vam-footer .vam-text-link--light{
  margin-top:6px!important;
}
.vam-footer__bottom,
.vam-footer__bottom.wp-block-group{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:16px;
  margin-top:52px;
}
@media (max-width:1240px){
  .vam-edit-card-grid>.wp-block-column{
    flex-basis:calc((100% - 22px)/2)!important;
    max-width:calc((100% - 22px)/2);
  }
}
@media (max-width:1000px){
  .vam-footer__grid,
  .vam-footer .vam-footer__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:800px){
  .vam-edit-card-grid>.wp-block-column{
    flex-basis:100%!important;
    max-width:100%;
  }
}
@media (max-width:640px){
  .vam-footer__grid,
  .vam-footer .vam-footer__grid{
    grid-template-columns:1fr;
    gap:34px;
  }
  .vam-footer__bottom,
  .vam-footer__bottom.wp-block-group{
    grid-template-columns:1fr;
    gap:8px;
  }
}


/* =========================================================
   Villa Alegre 1.2.2 — menú móvil responsive y compacto
   ========================================================= */
@media (max-width:1120px){
  .vam-header .vam-header__inner{
    gap:12px;
  }
  .vam-fse-header-actions{
    flex:0 0 auto;
  }
  .vam-nav .wp-block-navigation__responsive-container-open{
    display:grid;
    width:46px;
    height:46px;
    padding:0;
    place-items:center;
    border:1px solid rgba(83,97,66,.18);
    border-radius:12px;
    background:rgba(251,248,242,.92);
    box-shadow:0 8px 22px rgba(32,41,33,.09);
    color:var(--vam-ink);
  }
  .vam-nav .wp-block-navigation__responsive-container-open svg{
    width:23px;
    height:23px;
  }
  .vam-nav .wp-block-navigation__responsive-container.is-menu-open{
    position:fixed;
    z-index:3000;
    inset:0 0 0 auto;
    display:block;
    width:min(88vw,390px);
    max-width:390px;
    height:100dvh;
    min-height:100%;
    padding:0;
    overflow-y:auto;
    background:#f9f5ed;
    color:var(--vam-ink);
    box-shadow:-24px 0 60px rgba(13,20,16,.2);
    backdrop-filter:none;
    animation:vam-mobile-drawer-in .28s cubic-bezier(.22,1,.36,1) both;
  }
  .admin-bar .vam-nav .wp-block-navigation__responsive-container.is-menu-open{
    top:46px;
    height:calc(100dvh - 46px);
    min-height:calc(100% - 46px);
  }
  .vam-nav .wp-block-navigation__responsive-dialog{
    display:flex;
    min-height:100%;
    flex-direction:column;
  }
  .vam-nav .wp-block-navigation__responsive-container-content{
    display:flex;
    width:100%;
    min-height:100%;
    flex:1 1 auto;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    padding:86px 28px 32px;
  }
  .vam-nav .wp-block-navigation__responsive-container-content:before{
    content:"MENÚ";
    display:block;
    margin:0 0 18px;
    padding-bottom:14px;
    border-bottom:1px solid rgba(83,97,66,.18);
    color:var(--vam-terracotta);
    font-family:var(--vam-sans);
    font-size:.68rem;
    font-weight:800;
    letter-spacing:.16em;
  }
  .vam-nav .wp-block-navigation__container{
    display:flex;
    width:100%;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    margin:0;
    padding:0;
  }
  .vam-nav .wp-block-navigation-item{
    width:100%;
    margin:0;
    border-bottom:1px solid rgba(83,97,66,.12);
  }
  .vam-nav .wp-block-navigation-item__content{
    display:flex;
    width:100%;
    min-height:52px;
    align-items:center;
    padding:13px 2px;
    color:var(--vam-ink);
    font-family:var(--vam-sans);
    font-size:1rem;
    font-weight:650;
    line-height:1.25;
    letter-spacing:0;
  }
  .vam-nav .wp-block-navigation-item__content:hover,
  .vam-nav .current-menu-item>.wp-block-navigation-item__content{
    color:var(--vam-terracotta);
  }
  .vam-nav .vam-mobile-cta{
    display:block;
    width:100%;
    margin:24px 0 0;
    border:0;
  }
  .vam-nav .vam-mobile-cta .wp-block-navigation-item__content{
    display:flex;
    width:100%;
    min-height:52px;
    justify-content:center;
    padding:13px 18px;
    border-radius:10px;
    background:var(--vam-olive);
    color:#fff;
    font-family:var(--vam-sans);
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  .vam-nav .vam-mobile-cta .wp-block-navigation-item__content:hover{
    background:var(--vam-terracotta);
    color:#fff;
  }
  .vam-nav .wp-block-navigation__responsive-container-close{
    position:absolute;
    top:22px;
    right:22px;
    display:grid;
    width:44px;
    height:44px;
    padding:0;
    place-items:center;
    border:1px solid rgba(83,97,66,.18);
    border-radius:12px;
    background:#fff;
    color:var(--vam-ink);
    box-shadow:0 7px 20px rgba(32,41,33,.08);
  }
  .vam-nav .wp-block-navigation__responsive-container-close svg{
    width:22px;
    height:22px;
  }
  @keyframes vam-mobile-drawer-in{
    from{opacity:0;transform:translateX(22px)}
    to{opacity:1;transform:translateX(0)}
  }
}

@media (max-width:800px){
  .vam-header{
    padding:8px 0;
  }
  .vam-header .vam-header__inner{
    min-height:68px;
    padding:8px 10px 8px 14px;
  }
  .vam-header .wp-block-site-logo img,
  .vam-header.is-scrolled .wp-block-site-logo img{
    width:min(230px,64vw);
    max-width:64vw;
    max-height:60px;
  }
}

@media (max-width:540px){
  .vam-nav .wp-block-navigation__responsive-container.is-menu-open{
    width:min(92vw,360px);
    max-width:360px;
  }
  .vam-nav .wp-block-navigation__responsive-container-content{
    padding:78px 22px 26px;
  }
  .vam-nav .wp-block-navigation-item__content{
    min-height:49px;
    padding:12px 1px;
    font-size:.96rem;
  }
  .vam-header .wp-block-site-logo img,
  .vam-header.is-scrolled .wp-block-site-logo img{
    width:min(205px,61vw);
    max-width:61vw;
    max-height:54px;
  }
  .vam-nav .wp-block-navigation__responsive-container-open{
    width:43px;
    height:43px;
  }
}

@media (prefers-reduced-motion:reduce){
  .vam-nav .wp-block-navigation__responsive-container.is-menu-open{
    animation:none;
  }
}


/* =========================================================
   Villa Alegre 1.2.3 — interior centrado y páginas legales
   ========================================================= */
.vam-edit-villa-interior>.vam-edit-shell{
  width:min(100% - 40px,1120px);
}
.vam-edit-villa-interior>.vam-edit-shell>.vam-edit-eyebrow,
.vam-edit-villa-interior>.vam-edit-shell>h2{
  margin-right:auto!important;
  margin-left:auto!important;
  text-align:center;
}
.vam-edit-villa-interior>.vam-edit-shell>h2{
  max-width:980px;
}
.vam-edit-villa-interior .vam-edit-two-cols{
  max-width:1050px;
  align-items:center;
  margin:46px auto 0!important;
  gap:clamp(42px,6vw,78px);
}
.vam-edit-villa-interior .vam-edit-two-cols>.wp-block-column:first-child{
  padding-left:3%;
}
.vam-legal-page{
  font-size:1rem;
}
.vam-legal-page h2{
  margin-top:2.35em!important;
  margin-bottom:.65em!important;
  padding-bottom:.45em;
  border-bottom:1px solid var(--vam-border);
  font-size:clamp(1.65rem,2.5vw,2.15rem);
  letter-spacing:-.02em;
}
.vam-legal-page h3{
  font-size:1.35rem;
}
.vam-legal-page p,
.vam-legal-page li{
  color:var(--vam-muted);
}
.vam-legal-page ul{
  display:grid;
  gap:.65rem;
  padding-left:1.35rem;
}
.vam-legal-alert{
  margin:0 0 36px!important;
  padding:22px 25px;
  border:1px solid rgba(198,111,77,.28);
  border-radius:16px;
  background:#fff8f3;
}
.vam-legal-alert p{
  margin:0!important;
  color:var(--vam-ink-2);
}
.vam-legal-warning strong{
  color:var(--vam-terracotta);
}
@media (max-width:800px){
  .vam-edit-villa-interior>.vam-edit-shell{
    width:min(100% - 30px,1120px);
  }
  .vam-edit-villa-interior .vam-edit-two-cols{
    margin-top:32px!important;
  }
  .vam-edit-villa-interior .vam-edit-two-cols>.wp-block-column:first-child{
    padding-left:0;
  }
}


/* =========================================================
   Villa Alegre 1.2.4 — sección de piscina más visual
   ========================================================= */
.vam-edit-pool-highlight{
  align-items:center;
  gap:46px;
}
.vam-edit-pool-copy-col,
.vam-edit-pool-image-col{
  flex:1 1 0;
}
.vam-edit-pool-copy{
  margin-top:0;
  padding:36px;
}
.vam-edit-pool-copy h2{
  margin-bottom:12px;
  font-size:clamp(2.1rem,3.8vw,3.4rem);
  line-height:1.04;
}
.vam-edit-pool-copy p:last-child{
  margin-bottom:0;
}
.vam-edit-pool-image,
.vam-edit-pool-image.wp-block-image{
  margin:0;
}
.vam-edit-pool-image img{
  width:100%;
  min-height:360px;
  object-fit:cover;
  border-radius:22px;
  box-shadow:var(--vam-shadow);
}
@media (max-width:800px){
  .vam-edit-pool-highlight{
    gap:28px;
  }
  .vam-edit-pool-copy{
    padding:28px;
  }
  .vam-edit-pool-image img{
    min-height:280px;
  }
}


/* =========================================================
   Villa Alegre 1.2.5 — menú de escritorio en una sola línea
   ========================================================= */
@media (min-width:1121px){
  .vam-header .vam-header__inner{
    width:min(1420px,calc(100% - 42px));
    gap:24px;
  }
  .vam-header .wp-block-site-logo img{
    width:clamp(275px,18vw,330px);
    max-width:330px;
  }
  .vam-header.is-scrolled .wp-block-site-logo img{
    width:clamp(245px,16vw,295px);
    max-width:295px;
  }
  .vam-fse-header-actions{
    min-width:0;
    flex:1 1 auto;
    gap:16px;
  }
  .vam-nav.wp-block-navigation{
    min-width:0;
    flex:1 1 auto;
  }
  .vam-nav .wp-block-navigation__responsive-container,
  .vam-nav .wp-block-navigation__responsive-container-content{
    width:100%;
  }
  .vam-nav .wp-block-navigation__container{
    width:100%;
    flex-wrap:nowrap!important;
    justify-content:flex-end;
    gap:clamp(12px,1.15vw,20px);
  }
  .vam-nav .wp-block-navigation-item{
    flex:0 0 auto;
    white-space:nowrap;
  }
  .vam-nav .wp-block-navigation-item__content{
    white-space:nowrap;
    font-size:clamp(.73rem,.74vw,.82rem);
  }
  .vam-header .wp-block-buttons,
  .vam-header__cta.wp-block-button,
  .vam-header__cta .wp-block-button__link{
    flex:0 0 auto;
    white-space:nowrap;
  }
  .vam-header__cta .wp-block-button__link{
    min-width:168px;
    padding-inline:18px;
  }
}
@media (min-width:1121px) and (max-width:1320px){
  .vam-header .vam-header__inner{
    width:min(100% - 28px,1280px);
    gap:14px;
    padding-inline:14px;
  }
  .vam-header .wp-block-site-logo img{
    width:245px;
    max-width:245px;
  }
  .vam-header.is-scrolled .wp-block-site-logo img{
    width:225px;
    max-width:225px;
  }
  .vam-fse-header-actions{
    gap:10px;
  }
  .vam-nav .wp-block-navigation__container{
    gap:10px;
  }
  .vam-nav .wp-block-navigation-item__content{
    font-size:.7rem;
  }
  .vam-header__cta .wp-block-button__link{
    min-width:145px;
    padding-inline:12px;
    font-size:.65rem;
  }
}


/* =========================================================
   Villa Alegre 1.2.6 — cabecera uniforme entre páginas
   ========================================================= */
.vam-is-inner .vam-header:not(.is-scrolled),
.vam-is-front .vam-header:not(.is-scrolled){
  padding:7px 0;
  background:transparent;
  color:var(--vam-ink);
  box-shadow:none;
  backdrop-filter:none;
}
.vam-is-inner .vam-header:not(.is-scrolled) .vam-header__inner,
.vam-is-front .vam-header:not(.is-scrolled) .vam-header__inner{
  min-height:96px;
  background:rgba(251,248,242,.84);
  box-shadow:0 14px 34px rgba(32,41,33,.10);
  backdrop-filter:blur(14px);
}
@media (min-width:1121px){
  .vam-is-inner .vam-header:not(.is-scrolled) .wp-block-site-logo img,
  .vam-is-front .vam-header:not(.is-scrolled) .wp-block-site-logo img{
    width:clamp(275px,18vw,330px);
    max-width:330px;
    max-height:102px;
  }
}
@media (min-width:1121px) and (max-width:1320px){
  .vam-is-inner .vam-header:not(.is-scrolled) .wp-block-site-logo img,
  .vam-is-front .vam-header:not(.is-scrolled) .wp-block-site-logo img{
    width:245px;
    max-width:245px;
  }
}
@media (max-width:800px){
  .vam-is-inner .vam-header:not(.is-scrolled),
  .vam-is-front .vam-header:not(.is-scrolled){
    padding:8px 0;
  }
  .vam-is-inner .vam-header:not(.is-scrolled) .vam-header__inner,
  .vam-is-front .vam-header:not(.is-scrolled) .vam-header__inner{
    min-height:68px;
  }
}

/* =========================================================
   Villa Alegre 1.3.5 — fundido lento y estable
   Mantiene la anchura, evita animaciones dobles y elimina el salto final.
   ========================================================= */
html{
  overflow-y:scroll;
  scrollbar-gutter:stable;
  background:var(--vam-cream);
}
body{
  background:var(--vam-cream);
}

@view-transition{
  navigation:auto;
}

::view-transition{
  background:var(--vam-cream);
}

::view-transition-group(root){
  animation-duration:1050ms;
  animation-timing-function:linear;
}

::view-transition-image-pair(root){
  isolation:isolate;
  background:var(--vam-cream);
}

::view-transition-old(root){
  animation:vam-page-fade-out 1050ms linear both;
  mix-blend-mode:normal;
}

::view-transition-new(root){
  animation:vam-page-fade-in 1050ms linear both;
  mix-blend-mode:normal;
}

@keyframes vam-page-fade-out{
  from{opacity:1}
  to{opacity:0}
}

@keyframes vam-page-fade-in{
  from{opacity:0}
  to{opacity:1}
}

/* La entrada del hero no compite con el fundido entre páginas. */
.js [data-vam-hero-content]>* ,
.js body.vam-loaded [data-vam-hero-content]>*{
  opacity:1!important;
  transform:none!important;
  transition:none!important;
}

@media (prefers-reduced-motion:reduce){
  ::view-transition-group(root),
  ::view-transition-old(root),
  ::view-transition-new(root){
    animation-duration:.01ms!important;
  }
}


/* =========================================================
   Villa Alegre 1.4.0 — selector de idioma con banderas
   ========================================================= */
.vam-language-switcher{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:96px;
  margin:0;
}
.vam-language-switcher__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:24px;
  padding:3px;
  border:1px solid transparent;
  border-radius:7px;
  opacity:.48;
  text-decoration:none;
  transition:opacity .2s ease,transform .2s ease,border-color .2s ease,background .2s ease;
}
.vam-language-switcher__link img{
  display:block;
  width:24px;
  height:16px;
  border-radius:2px;
  box-shadow:0 0 0 1px rgba(31,43,35,.12);
  object-fit:cover;
}
.vam-language-switcher__link:hover{
  opacity:1;
  transform:translateY(-1px);
  background:rgba(227,119,76,.08);
}
.vam-language-switcher__link.is-current{
  opacity:1;
  border-color:rgba(88,108,70,.38);
  background:rgba(88,108,70,.1);
}
.vam-language-switcher--mobile{display:none}
@media (min-width:1121px) and (max-width:1320px){
  .vam-language-switcher{min-width:88px;gap:4px}
  .vam-language-switcher__link{width:28px}
}
@media (max-width:1120px){
  .vam-fse-header-actions>.vam-language-switcher{display:none}
  .vam-nav .wp-block-navigation__responsive-container-content>.vam-language-switcher--mobile{
    display:flex;
    justify-content:flex-start;
    gap:12px;
    width:100%;
    min-width:0;
    margin-top:28px;
    padding-top:22px;
    border-top:1px solid rgba(255,255,255,.16);
  }
  .vam-language-switcher--mobile .vam-language-switcher__link{
    width:42px;
    height:32px;
    padding:5px;
    border-color:rgba(255,255,255,.13);
    opacity:.58;
  }
  .vam-language-switcher--mobile .vam-language-switcher__link img{
    width:30px;
    height:20px;
    box-shadow:0 0 0 1px rgba(255,255,255,.18);
  }
  .vam-language-switcher--mobile .vam-language-switcher__link.is-current{
    opacity:1;
    border-color:#f0c4b1;
    background:rgba(240,196,177,.12);
  }
}


/* =========================================================
   Villa Alegre 1.4.1 — selector persistente en todas las cabeceras
   ========================================================= */
.vam-header__inner>.vam-language-switcher{
  margin-left:auto;
  margin-right:12px;
  flex:0 0 auto;
}
@media (min-width:1101px){
  .vam-fse-header-actions>.vam-language-switcher{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
  }
}


/* =========================================================
   Villa Alegre 1.4.4 — Contact Form 7 y contacto directo
   ========================================================= */
.vam-edit-form-column .wpcf7{
  width:100%;
}
.vam-edit-form-column .wpcf7 form{
  display:grid;
  gap:18px;
  margin:0;
}
.vam-edit-form-column .wpcf7 form>p{
  margin:0;
}
.vam-edit-form-column .wpcf7 label{
  display:block;
  color:var(--wp--preset--color--ink,#17231c);
  font-weight:700;
  font-size:.92rem;
  line-height:1.45;
}
.vam-edit-form-column .wpcf7 input:not([type="checkbox"]):not([type="radio"]),
.vam-edit-form-column .wpcf7 select,
.vam-edit-form-column .wpcf7 textarea{
  width:100%;
  margin-top:8px;
  min-height:54px;
  padding:13px 15px;
  border:1px solid rgba(23,35,28,.22);
  border-radius:13px;
  background:#fff;
  color:var(--wp--preset--color--ink,#17231c);
  font:inherit;
  box-shadow:none;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.vam-edit-form-column .wpcf7 textarea{
  min-height:150px;
  resize:vertical;
}
.vam-edit-form-column .wpcf7 input:focus,
.vam-edit-form-column .wpcf7 select:focus,
.vam-edit-form-column .wpcf7 textarea:focus{
  outline:none;
  border-color:var(--wp--preset--color--olive,#586a48);
  box-shadow:0 0 0 3px rgba(88,106,72,.13);
}
.vam-edit-form-column .wpcf7 input[type="submit"]{
  min-height:52px;
  padding:13px 25px;
  border:0;
  border-radius:12px;
  background:var(--wp--preset--color--olive,#586a48);
  color:#fff;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  cursor:pointer;
}
.vam-edit-form-column .wpcf7 input[type="submit"]:hover{
  filter:brightness(.94);
}
.vam-edit-form-column .wpcf7 .wpcf7-list-item{
  margin:0;
}
.vam-edit-form-column .wpcf7 .wpcf7-not-valid-tip{
  margin-top:6px;
  font-size:.85rem;
}
.vam-edit-form-column .wpcf7 .wpcf7-response-output{
  margin:4px 0 0;
  padding:13px 15px;
  border-radius:12px;
}
.vam-whatsapp-link .wp-block-button__link{
  border-color:#1fa463!important;
  color:#147545!important;
}


/* 1.5.0 — lanzamiento público: Consultar fechas */
.vam-edit-booking-public>.wp-block-group__inner-container{max-width:1180px;margin-inline:auto}
.vam-edit-booking-public .vamr-booking-card{margin-top:30px}
.vam-edit-public-steps>.wp-block-column{min-width:0!important}
.vam-edit-public-steps .vam-edit-card{height:100%;padding:28px}
@media(max-width:800px){.vam-edit-booking-public .vamr-booking-card{margin-top:22px}}


/* =========================================================
   Villa Alegre 1.5.1 — mapa editable de contacto
   ========================================================= */
.vam-edit-map-column{min-width:0}
.vam-edit-map-column>h3{margin-bottom:18px}
.vam-edit-map-embed{
  overflow:hidden;
  border:1px solid rgba(51,67,55,.12);
  border-radius:22px;
  background:#fff;
  box-shadow:0 18px 46px rgba(36,48,40,.10);
}
.vam-edit-map-embed iframe{
  display:block;
  width:100%;
  height:390px;
  border:0;
  background:#e8e4d9;
}
.vam-edit-map-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:15px 18px;
  color:var(--wp--preset--color--ink,#243229);
  font-weight:700;
  text-decoration:none;
}
.vam-edit-map-link:hover{text-decoration:underline}
@media (max-width:800px){
  .vam-edit-map-embed iframe{height:320px}
}
