/* Valle del Sol — capa de componentes.
   Tipografías, colores, espaciados, bordes y grillas viven en los controles de Elementor (editables).
   Acá solo va lo que Elementor no expresa con controles: pseudo-elementos, proporciones de imagen,
   hovers padre→hijo, estados del header/drawer, efectos (estado inicial de GSAP) y paletas de submarca. */

:root{
  --vds-ease-standard:cubic-bezier(.4,0,.2,1);
  --vds-ease-out:cubic-bezier(.16,1,.3,1);
  --vds-fast:150ms;--vds-base:280ms;--vds-slow:450ms;
  --vds-radius-sm:6px;--vds-radius-md:12px;--vds-radius-lg:20px;
  --vds-shadow-sm:0 1px 3px rgba(33,29,23,.07);
  --vds-shadow-md:0 8px 24px -4px rgba(33,29,23,.10);
  --vds-shadow-lg:0 20px 48px -8px rgba(33,29,23,.16);
  --vds-pad:24px;
}
@media(max-width:640px){:root{--vds-pad:18px}}

/* flechas en textos futura-pt-bold: el prototipo las toma del sans-serif genérico (su pila es 'futura-pt-bold','futura-pt',sans-serif);
   Elementor agrega system-ui. Se completa la familia solo para ese rango. */
@font-face{font-family:'futura-pt-bold';font-weight:700;font-style:normal;font-stretch:normal;src:local('Lucida Grande'),local('LucidaGrande'),local('Arial');unicode-range:U+2190-21FF}

/* ---------- submarcas: re-tiñen los colores globales semánticos ---------- */
.vds-brand-buongiorno{--e-global-color-brandprimary:#8c503c;--e-global-color-brandprimarystrong:#6c3c2c;--e-global-color-brandprimarysoft:#dcc3b6;--e-global-color-brandaccent:#c09e62;--e-global-color-brandaccentstrong:#8e7343;--e-global-color-brandaccentsoft:#f0e6d2}
.vds-brand-hotel-domingo{--e-global-color-brandprimary:#08283c;--e-global-color-brandprimarystrong:#04141e;--e-global-color-brandprimarysoft:#5c7488;--e-global-color-brandaccent:#8c503c;--e-global-color-brandaccentstrong:#6c3c2c;--e-global-color-brandaccentsoft:#f0e6d2}
.vds-brand-caricias-de-sol{--e-global-color-brandprimary:#847494;--e-global-color-brandprimarystrong:#5f5369;--e-global-color-brandprimarysoft:#b3a7bd;--e-global-color-brandaccent:#c8ac84;--e-global-color-brandaccentstrong:#a88a5f;--e-global-color-brandaccentsoft:#e8dcc8;--e-global-color-surfacepage:#e7e4dc}
.vds-brand-nona-maria{--e-global-color-brandprimary:#781414;--e-global-color-brandprimarystrong:#5c0f0f;--e-global-color-brandprimarysoft:#a85a5a;--e-global-color-brandaccent:#c09e62;--e-global-color-brandaccentstrong:#8e7343;--e-global-color-brandaccentsoft:#f0e6d2}
body.vds-brand-caricias-de-sol{background-color:#e7e4dc}

/* ---------- base ---------- */
/* Elementor anima transform en todos sus elementos (.4s); el prototipo no. Esa transición corrompe los valores que
   GSAP mide (reveal, portada, marquee, zoom-scroll…). Se conserva solo en elementos con transformaciones de Elementor. */
:root{--e-transform-transition-duration:0s;--e-con-transform-transition-duration:0s}
html{scroll-behavior:auto;-webkit-font-smoothing:antialiased}
body{overflow-x:hidden}
.elementor img{display:block}
:is(h1,h2,h3,h4,p).elementor-heading-title,.elementor-widget-text-editor,.elementor-widget-text-editor p{text-wrap:pretty}
.elementor-widget-text-editor li{text-wrap:wrap}
.elementor-widget-heading>.elementor-heading-title{display:block}
.vds-flor .elementor-icon-wrapper,.vds-mq-flor .elementor-icon-wrapper{line-height:0}
.vds-mq-flor .elementor-icon{display:block;line-height:0}
.vds-mq-flor svg{width:14px!important;height:14px!important}
.elementor-widget-text-editor p{margin:0}
.elementor-widget-text-editor p+p{margin-top:1em}
.elementor-widget-text-editor strong{font-weight:700}
.vds-section{overflow:hidden}
.elementor-widget-heading .elementor-heading-title a{color:inherit}
.vds-li .elementor-heading-title[class*="elementor-size-"]>a:hover{color:var(--e-global-color-brandaccentstrong)}
.vds-dark .vds-li .elementor-heading-title[class*="elementor-size-"]>a:hover,.vds-charcoal .vds-li .elementor-heading-title[class*="elementor-size-"]>a:hover{color:var(--e-global-color-ivory100)}

/* ---------- eyebrow (antetítulo con línea) ---------- */
.vds-eyebrow .elementor-heading-title{display:flex;align-items:center;gap:12px}
.vds-eyebrow .elementor-heading-title::before{content:"";width:28px;height:1px;background:currentColor;opacity:.7}
.vds-eyebrow-center .elementor-heading-title{justify-content:center}
.vds-eyebrow-center .elementor-heading-title::after{content:"";width:28px;height:1px;background:currentColor;opacity:.7}

/* ---------- imágenes (.pic) ---------- */
.vds-pic{position:relative;overflow:hidden;border-radius:var(--vds-radius-md);background:var(--e-global-color-surfacesunken,#e7e4dc)}
.vds-pic img,.vds-pic video{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;will-change:transform}
.vds-pic>a{display:block;height:100%}
.vds-pic.vds-contain img{object-fit:contain}
.vds-img-white img{filter:brightness(0) invert(1)}
.vds-r-4x5{aspect-ratio:4/5}.vds-r-3x2{aspect-ratio:3/2}.vds-r-1x1{aspect-ratio:1}.vds-r-16x9{aspect-ratio:16/9}.vds-r-21x9{aspect-ratio:21/9}.vds-r-4x3{aspect-ratio:4/3}.vds-r-9x16{aspect-ratio:9/16}.vds-r-16x11{aspect-ratio:16/11}
.vds-pic::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit}
@media(max-width:960px){.vds-grid2-pic{max-height:70svh}}

/* ---------- flor decorativa ---------- */
.vds-flor{pointer-events:none;will-change:transform;line-height:0;max-width:none!important}
.vds-flor .elementor-icon{display:block;line-height:0}
.vds-flor svg{width:100%!important;height:auto!important}

/* ---------- botones (design system) ---------- */
.vds-btn .elementor-button{gap:10px;border:1px solid transparent;transition:filter var(--vds-fast) var(--vds-ease-standard),transform var(--vds-fast) var(--vds-ease-standard)!important;line-height:normal}
.vds-btn .elementor-button:hover{transform:translateY(-1px);filter:brightness(.93)}
.vds-btn .elementor-button-content-wrapper{gap:10px}

/* ---------- hero ---------- */
.vds-hero{overflow:hidden}
.vds-hero>.e-con-inner,.vds-hero{isolation:isolate}
.vds-bg{position:absolute!important;inset:0;z-index:0;padding:0!important}
.vds-bg>.elementor-element{position:absolute!important;inset:0;width:100%!important;height:100%!important;margin:0!important}
.vds-bg img,.vds-bg video{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;transform-origin:center;will-change:transform}
/* 1 px más bajo y recortado: el video (que entra después) nunca supera en área a la foto, así la foto queda como LCP */
.vds-bg .elementor-widget-video .elementor-wrapper{position:absolute;inset:0 0 1px;aspect-ratio:auto!important;height:auto;overflow:hidden}
.vds-bg-video{opacity:0;transition:opacity 1.2s var(--vds-ease-out);z-index:1}
.vds-bg-video.vds-live{opacity:1}
.vds-hero .vds-bg::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;background:linear-gradient(180deg,rgba(18,41,31,.72) 0%,rgba(18,41,31,.35) 22%,rgba(18,41,31,.12) 45%,rgba(18,41,31,.85) 100%)}
.vds-hero .vds-wrap{position:relative;z-index:2}
.vds-flor-hero{position:absolute!important;right:-6vw;top:8vh;width:min(58vw,720px)!important;z-index:1;mix-blend-mode:screen;opacity:.22}
.vds-scroll-hint{position:absolute!important;right:var(--vds-pad);bottom:32px;z-index:2;width:auto!important}
.vds-scroll-hint .elementor-heading-title{display:flex;align-items:center;gap:12px}
.vds-scroll-hint .elementor-heading-title::after{content:"";display:block;width:1px;height:48px;background:linear-gradient(180deg,#c09e62,transparent);transform-origin:top;animation:vds-hint 1.4s cubic-bezier(.65,0,.35,1) infinite}
@keyframes vds-hint{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@media(max-width:960px){.vds-flor-hero{right:-30vw;width:90vw!important}}
@media(max-width:640px){.vds-scroll-hint{display:none}.vds-flor-hero{right:-40vw;top:0;width:120vw!important;opacity:.16}}

/* botón pausa/play de videos de fondo (lo agrega vds.js) */
.vds-vid-toggle{position:absolute;left:var(--vds-pad);bottom:32px;z-index:5;width:44px;height:44px;border-radius:50%;border:1px solid rgba(241,239,234,.4);background:rgba(18,41,31,.35);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;gap:4px;cursor:pointer;padding:0;transition:background var(--vds-base)}
.vds-vid-toggle:hover{background:#c09e62;border-color:#c09e62}
.vds-vid-toggle span{display:block;width:3px;height:14px;background:#f1efea;border-radius:1px;transition:all .25s}
.vds-vid-toggle.paused span:first-child{width:0;height:0;border-left:12px solid #f1efea;border-top:7px solid transparent;border-bottom:7px solid transparent;background:none;margin-left:4px}
.vds-vid-toggle.paused span:last-child{display:none}
.vds-hero .vds-vid-toggle{bottom:auto;top:calc(100% - 32px - 44px)}
@media(max-width:640px){.vds-hero .vds-vid-toggle{display:none}}

/* letras partidas */
.vds-char{display:inline-block;will-change:transform,opacity}
.vds-word{display:inline-block;white-space:nowrap}

/* ---------- zoom scroll ---------- */
.vds-zoom-scroll{height:220vh}
.vds-zs-sticky{position:sticky!important;top:0;height:100vh;overflow:hidden}
.vds-zs-frame{position:absolute!important;inset:0;overflow:hidden;transform-origin:center;will-change:transform,border-radius;margin:0!important}
.vds-zs-frame>.elementor-element{position:absolute!important;inset:0;width:100%!important;height:100%!important;margin:0!important}
.vds-zs-frame img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;will-change:transform}
.vds-zs-veil{position:absolute!important;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(18,41,31,.15),rgba(18,41,31,.75))}
.vds-zs-frame .vds-zs-veil{z-index:1}
.vds-zs-flor{position:absolute!important;left:50%;top:50%;width:min(80vw,900px)!important;transform:translate(-50%,-50%);opacity:0;mix-blend-mode:screen;z-index:1}
.vds-zs-text{position:relative;z-index:2}
.vds-zs-hint{position:absolute!important;bottom:28px;left:50%;transform:translateX(-50%);z-index:2;width:auto!important}
@media(max-width:960px){.vds-zoom-scroll{height:150vh}}

/* ---------- stats / contadores ---------- */
.e-con.vds-stats>*,.vds-stats>.e-con-inner>*{min-width:auto}
.vds-stat .elementor-counter-number-wrapper{display:block;text-align:start}
.vds-stat .elementor-counter-number-prefix,.vds-stat .elementor-counter-number-suffix{white-space:pre-wrap}
.vds-eyebrow-centered .elementor-heading-title{justify-content:center}

/* ---------- tarjetas ---------- */
.vds-card{overflow:hidden;transition:box-shadow var(--vds-slow) var(--vds-ease-out),transform var(--vds-slow) var(--vds-ease-out)!important;color:inherit}
.vds-card:hover{box-shadow:var(--vds-shadow-md)!important;transform:translateY(-4px)}
.vds-card .vds-pic{border-radius:0}
.vds-card .vds-pic img{transition:transform 1.4s var(--vds-ease-out)}
.vds-card:hover .vds-pic img{transform:scale(1.06)}
.vds-card:hover .vds-pic img[src*="foto-pendiente"]{transform:none}
.vds-card .vds-more .elementor-heading-title{display:flex;align-items:center;gap:8px}
.vds-card .vds-more .elementor-heading-title::after{content:"→";transition:transform var(--vds-base) var(--vds-ease-out)}
.e-con.vds-card:hover .vds-more .elementor-heading-title{color:var(--e-global-color-brandaccentstrong)}
.vds-dark .e-con.vds-card:hover .vds-more .elementor-heading-title,.vds-charcoal .e-con.vds-card:hover .vds-more .elementor-heading-title{color:var(--e-global-color-ivory100)}
.vds-card:hover .vds-more .elementor-heading-title::after{transform:translateX(4px)}
.vds-card-body>.vds-more{margin-top:auto!important}
@media(max-width:640px){.vds-card .vds-r-16x11{aspect-ratio:16/10}}

/* ---------- tiles de marcas ---------- */
.vds-brand-tile{transition:transform var(--vds-slow) var(--vds-ease-out)!important}
.vds-brand-tile:hover{transform:translateY(-6px)}
.vds-brand-tile .vds-flor{transition:transform 1.6s var(--vds-ease-out)}
.vds-brand-tile:hover .vds-flor{transform:rotate(30deg) scale(1.08)}
.vds-tile-logo{position:absolute!important;top:24px;left:24px;width:auto!important}
.vds-tile-logo img{height:58px!important;width:auto!important;filter:brightness(0) invert(1);opacity:.95}
@media(max-width:640px){.vds-tile-logo img{height:44px!important}}

/* ---------- listas ---------- */
.vds-li{border-bottom:1px solid var(--e-global-color-bordersubtle,#dad5c9)}
.vds-dark .vds-li,.vds-charcoal .vds-li{border-color:rgba(241,239,234,.15)}

/* ---------- chips ---------- */
.vds-chip{width:auto!important}
.vds-chip a{color:inherit}
.vds-chip-link{cursor:pointer;transition:background var(--vds-base),color var(--vds-base),border-color var(--vds-base)}
.vds-chip-link:hover{background:var(--e-global-color-brandprimary)!important;border-color:var(--e-global-color-brandprimary)!important}
.vds-chip-link:hover .elementor-heading-title,.vds-chip-link:hover a{color:#fff!important}
.vds-hero .vds-chip-link:hover{background:#c09e62!important;border-color:#c09e62!important}
.vds-hero .vds-chip-link:hover .elementor-heading-title,.vds-hero .vds-chip-link:hover a{color:#12291f!important}
@media(max-width:640px){.vds-hero .vds-chips{display:none!important}}

/* ---------- comillas / quote ---------- */
.vds-quote em{font-style:normal;color:#d8c094}

/* ---------- marquee ---------- */
.vds-marquee{overflow:hidden;white-space:nowrap}
.vds-marquee-track{display:inline-flex!important;flex-wrap:nowrap!important;width:max-content!important;will-change:transform}
.vds-marquee-track>.e-con{flex-wrap:nowrap!important;width:max-content!important}
.vds-marquee .elementor-widget{width:auto!important;flex:none}
.vds-marquee .vds-flor svg{width:14px!important;height:14px!important}

/* ---------- galería (.gal) ---------- */
.vds-gal>.vds-pic:first-child,.vds-gal>.e-con-inner>.vds-pic:first-child{grid-column:1/-1;aspect-ratio:21/9}
.vds-gal .vds-pic{aspect-ratio:3/2}
.vds-gal .vds-pic img{transition:transform 1.1s var(--vds-ease-out)}
.vds-gal .vds-pic:hover img{transform:scale(1.04)}
.vds-gal .vds-pic::after{box-shadow:inset 0 0 0 1px rgba(33,29,23,.06)}
@media(max-width:960px){.vds-gal>.vds-pic:first-child{aspect-ratio:16/9}}
@media(max-width:640px){.vds-gal>.vds-pic:first-child{aspect-ratio:4/3}}
[data-vds-lightbox] .vds-pic,.vds-lightbox .vds-pic,.vds-pic.vds-lightbox{cursor:zoom-in}

/* galería dinámica (widget Galería de Elementor Pro en las fichas) */
.vds-gal-dyn .elementor-gallery__container{display:grid!important;grid-template-columns:repeat(3,1fr);gap:16px;height:auto!important}
.vds-gal-dyn .e-gallery-item{position:relative!important;top:auto!important;left:auto!important;width:auto!important;height:auto!important;aspect-ratio:3/2;border-radius:var(--vds-radius-md);overflow:hidden;background:var(--e-global-color-surfacesunken,#e7e4dc);margin:0!important;cursor:zoom-in}
.vds-gal-dyn .e-gallery-item:first-child{grid-column:1/-1;aspect-ratio:21/9}
.vds-gal-dyn .e-gallery-image{position:absolute!important;inset:0;padding:0!important;transform-origin:center!important;background-size:cover;background-position:center;transition:transform 1.1s var(--vds-ease-out)!important}
.vds-gal-dyn .e-gallery-item:hover .e-gallery-image{transform:scale(1.04)}
.vds-gal-dyn .e-gallery-item::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(33,29,23,.06);border-radius:inherit;pointer-events:none}
@media(max-width:960px){.vds-gal-dyn .elementor-gallery__container{grid-template-columns:1fr 1fr}.vds-gal-dyn .e-gallery-item:first-child{aspect-ratio:16/9}}
@media(max-width:640px){.vds-gal-dyn .elementor-gallery__container{gap:10px}.vds-gal-dyn .e-gallery-item:first-child{aspect-ratio:4/3}}

/* ---------- mosaico ---------- */
.e-con.vds-mosaic{--grid-auto-flow:row dense!important;grid-auto-rows:200px}
.vds-mosaic .vds-pic{aspect-ratio:auto!important;height:100%}
.vds-mosaic>.vds-pic:nth-child(7n+1),.vds-mosaic>.e-con-inner>.vds-pic:nth-child(7n+1){grid-column:span 2;grid-row:span 2}
.vds-mosaic>.vds-pic:nth-child(7n+5),.vds-mosaic>.e-con-inner>.vds-pic:nth-child(7n+5){grid-row:span 2}
.vds-mosaic .vds-pic img{transition:transform 1.2s var(--vds-ease-out)}
.vds-mosaic .vds-pic:hover img{transform:scale(1.05)}
@media(max-width:960px){.e-con.vds-mosaic{grid-auto-rows:160px}}
@media(max-width:640px){.e-con.vds-mosaic{grid-auto-rows:130px}}

/* ---------- reel / tríptico / hall ---------- */
.vds-reel-track{width:112%!important;max-width:none!important}
@media(max-width:960px){.vds-reel-track{width:100%!important}}
.vds-pic-vid>.elementor-element,.vds-pic-vid>.e-con-inner>.elementor-element{position:absolute!important;inset:0;width:100%!important;height:100%!important;margin:0!important}
.vds-pic-vid .elementor-wrapper{position:absolute;inset:0;aspect-ratio:auto!important;height:100%}
.vds-hall-vid{height:min(88svh,820px);border-radius:0!important}
.vds-hall-vid::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,41,31,.15),rgba(18,41,31,.75) 100%);pointer-events:none;z-index:2}
.vds-hall-vid .vds-vid-toggle{left:auto;right:var(--vds-pad)}
.vds-hall-caption{position:absolute!important;left:0;right:0;bottom:clamp(40px,7vh,80px);z-index:3}
@media(max-width:960px){.vds-hall-vid{height:60svh}}

/* ---------- cupones ---------- */
.vds-coupon{overflow:hidden}
.vds-coupon-stub{border-left:2px dashed var(--e-global-color-bordersubtle,#dad5c9)}
.vds-coupon-stub::before,.vds-coupon-stub::after{content:"";position:absolute;left:-14px;width:28px;height:28px;border-radius:50%;background:var(--e-global-color-surfacepage,#f1efea);box-shadow:inset 0 0 0 1px var(--e-global-color-bordersubtle,#dad5c9);z-index:2}
.vds-coupon-stub::before{top:-14px}.vds-coupon-stub::after{bottom:-14px}
.vds-coupon-list ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}
.vds-coupon-list li{position:relative;padding-left:22px}
.vds-coupon-list li::before{content:"";position:absolute;left:0;top:7px;width:10px;height:10px;border-radius:50%;background:var(--e-global-color-brandaccent,#c09e62)}
@media(max-width:960px){.vds-coupon-stub{border-left:0;border-top:2px dashed var(--e-global-color-bordersubtle,#dad5c9)}.vds-coupon-stub::before,.vds-coupon-stub::after{top:-14px;bottom:auto}.vds-coupon-stub::before{left:-14px}.vds-coupon-stub::after{left:auto;right:-14px}.vds-coupon-list ul{grid-template-columns:1fr}}

/* ---------- logos de empresas ---------- */
.vds-logo-slot{transition:box-shadow var(--vds-slow) var(--vds-ease-out),transform var(--vds-slow) var(--vds-ease-out)!important}
.vds-logo-slot:hover{box-shadow:var(--vds-shadow-md);transform:translateY(-3px)}
.vds-logo-slot img{width:100%!important;height:100%!important;object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter var(--vds-slow),opacity var(--vds-slow)}
.vds-logo-slot:hover img{filter:none;opacity:1}

/* ---------- comodidades (widget propio) ---------- */
.vds-amen-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.vds-amen{display:inline-flex;align-items:center;gap:8px;border-radius:var(--vds-radius-md);padding:12px 14px;background:var(--e-global-color-surfacecard,#fff);border:1px solid var(--e-global-color-bordersubtle,#dad5c9);font-size:.9375rem;font-weight:500;color:var(--e-global-color-textsecondary,#4a4d55);line-height:1.6}
.vds-amen svg{width:20px;height:20px;flex:none;stroke:var(--e-global-color-brandaccentstrong,#8e7343);fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.vds-amen-chips{display:flex;flex-wrap:wrap;gap:8px}
.vds-amen-chips .vds-amen{border-radius:999px;padding:6px 12px 6px 10px;font-family:'futura-pt-bold','futura-pt',sans-serif;font-weight:700;font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase}
.vds-amen-chips .vds-amen svg{width:16px;height:16px}
.vds-amen.vds-amen--sin-icono{display:block;border-radius:999px;padding:6px 12px;font-family:'futura-pt-bold','futura-pt',sans-serif;font-weight:400;font-size:.8125rem;line-height:1.6;letter-spacing:.06em;text-transform:uppercase;color:var(--e-global-color-textsecondary,#4a4d55)}
@media(max-width:640px){.vds-amen-grid{grid-template-columns:1fr 1fr}}

/* ---------- mapa ---------- */
.vds-map iframe{border:0;width:100%;height:100%;display:block;filter:sepia(.35) saturate(.7) contrast(.95)}
.vds-map{overflow:hidden;border-radius:var(--vds-radius-md);background:var(--e-global-color-surfacesunken,#e7e4dc)}

/* ---------- ficha (detail) ---------- */
@media(min-width:961px){.vds-sticky{position:sticky!important;top:120px;align-self:start}}
.vds-section.e-con-boxed:has(.vds-sticky){padding-block:var(--padding-block-start) var(--padding-block-end)}
.vds-section.e-con-boxed:has(.vds-sticky)>.e-con-inner{padding-block:0}

/* ---------- header ---------- */
.vds-nav{position:fixed!important;top:0;left:0;right:0;z-index:60;transition:background var(--vds-slow) var(--vds-ease-standard),box-shadow var(--vds-slow) var(--vds-ease-standard)}
.admin-bar .vds-nav{top:32px}
@media(max-width:782px){.admin-bar .vds-nav{top:46px}}
.vds-nav::before{content:"";position:absolute;inset:0 0 -40px;background:linear-gradient(180deg,rgba(18,41,31,.45),rgba(18,41,31,0));pointer-events:none;z-index:-1;transition:opacity var(--vds-slow)}
.vds-nav.solid::before,.vds-nav-light .vds-nav::before,.drawer-open .vds-nav::before{opacity:0}
.vds-topbar{max-height:40px;overflow:hidden;transition:max-height var(--vds-slow) var(--vds-ease-standard),opacity var(--vds-slow),border-color var(--vds-slow)}
.vds-topbar .elementor-icon-list-text,.vds-topbar a,.vds-nav-menu .elementor-item{text-shadow:0 1px 8px rgba(0,0,0,.35)}
.vds-topbar .elementor-icon-list-item svg{transition:fill var(--vds-base);margin:0!important}
.vds-topbar .elementor-icon-list-icon+.elementor-icon-list-text{padding-inline-start:0}
.vds-mainbar{transition:padding var(--vds-slow) var(--vds-ease-standard)}
.vds-mainbar>.e-con-inner,.vds-topbar>.e-con-inner{transition:padding var(--vds-slow) var(--vds-ease-standard)!important}
.vds-logo a,.vds-logo img,.vds-footer-logo a,.vds-footer-logo img{display:block}
.vds-nav-wa .elementor-icon-wrapper,.vds-wa-float .elementor-icon-wrapper{display:flex}
.vds-logo img{height:84px!important;width:auto!important;max-width:none!important;transition:height var(--vds-slow) var(--vds-ease-standard),filter var(--vds-slow)}
.vds-logo-white img{filter:brightness(0) invert(1) drop-shadow(0 2px 14px rgba(0,0,0,.55))}
.vds-logo-color{display:none}
.vds-nav.solid .vds-logo-white,.vds-nav-light .vds-nav:not(.solid) .vds-logo-white{display:none}
.vds-nav.solid .vds-logo-color,.vds-nav-light .vds-nav:not(.solid) .vds-logo-color{display:block}
.drawer-open .vds-nav .vds-logo-white{display:block!important}.drawer-open .vds-nav .vds-logo-color{display:none!important}
.vds-nav-menu .elementor-item{position:relative;top:1.4px;transition:color var(--vds-base) var(--vds-ease-standard)!important}
.vds-nav-menu .elementor-item::after{content:""!important;position:absolute;left:0;right:100%;bottom:0;height:1px;background:#c09e62!important;opacity:1!important;transform:none!important;transition:right var(--vds-base) var(--vds-ease-out)!important;width:auto!important}
.vds-nav-menu .elementor-item:hover::after,.vds-nav-menu .elementor-item.elementor-item-active::after{right:0}
.vds-nav-wa .elementor-icon{transition:background var(--vds-base),border-color var(--vds-base),color var(--vds-base)!important;border-color:rgba(255,255,255,.55)!important}
/* estado sólido (al bajar) */
.vds-nav.solid{background:rgba(241,239,234,.9)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--vds-shadow-sm)}
.vds-nav.solid .vds-topbar{max-height:0;opacity:0;border-color:transparent!important}
.vds-topbar{transition:max-height var(--vds-slow) var(--vds-ease-standard),opacity var(--vds-slow),border-color var(--vds-slow),padding var(--vds-slow) var(--vds-ease-standard)}
.vds-nav.solid .vds-mainbar{--padding-top:6px!important;--padding-bottom:6px!important}
.vds-nav.solid .vds-logo img{height:58px!important}
.vds-nav.solid .vds-nav-menu .elementor-item,.vds-nav-light .vds-nav .vds-nav-menu .elementor-item{color:#4a4d55!important;text-shadow:none}
.vds-nav.solid .vds-nav-menu .elementor-item:hover,.vds-nav.solid .vds-nav-menu .elementor-item-active,.vds-nav-light .vds-nav .vds-nav-menu .elementor-item:hover,.vds-nav-light .vds-nav .vds-nav-menu .elementor-item-active{color:#1c3d2f!important}
.vds-nav.solid .vds-topbar .elementor-icon-list-text,.vds-nav.solid .vds-topbar a{text-shadow:none}
.vds-nav.solid .vds-nav-wa .elementor-icon,.vds-nav-light .vds-nav:not(.solid) .vds-nav-wa .elementor-icon{border-color:#cbd8cf!important;color:#1c3d2f!important;fill:#1c3d2f!important}
.vds-nav.solid .vds-nav-wa .elementor-icon svg,.vds-nav-light .vds-nav:not(.solid) .vds-nav-wa .elementor-icon svg{fill:#1c3d2f}
.vds-nav .vds-nav-wa .elementor-icon:hover{background:#c09e62!important;border-color:#c09e62!important;color:#12291f!important}
.vds-nav .vds-nav-wa .elementor-icon:hover svg{fill:#12291f!important}
.vds-nav.solid .vds-nav-wa .elementor-icon:hover,.vds-nav-light .vds-nav:not(.solid) .vds-nav-wa .elementor-icon:hover{border-color:#cbd8cf!important;color:#1c3d2f!important}
.vds-nav.solid .vds-nav-wa .elementor-icon:hover svg,.vds-nav-light .vds-nav:not(.solid) .vds-nav-wa .elementor-icon:hover svg{fill:#1c3d2f!important}
.vds-nav.solid .vds-topbar svg{fill:#c09e62!important}
.vds-nav-light .vds-nav:not(.solid) .vds-topbar .elementor-icon-list-text,.vds-nav-light .vds-nav:not(.solid) .vds-topbar a{color:#4a4d55!important;text-shadow:none}
.vds-nav-light .vds-nav:not(.solid) .vds-topbar{border-color:#dad5c9!important}
.vds-nav-light .vds-nav .vds-nav-menu .elementor-item{text-shadow:none}
/* hamburguesa */
.vds-burger{display:none}
.vds-burger .elementor-icon{cursor:pointer;width:44px;height:44px;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#f1efea!important}
.vds-burger .elementor-icon svg{display:none}
.vds-burger .elementor-icon::before,.vds-burger .elementor-icon::after{content:"";display:block;width:24px;height:2px;background:currentColor;transition:transform var(--vds-base) var(--vds-ease-out)}
.drawer-open .vds-burger .elementor-icon::before{transform:translateY(4px) rotate(45deg)}
.drawer-open .vds-burger .elementor-icon::after{transform:translateY(-4px) rotate(-45deg)}
.vds-nav.solid .vds-burger .elementor-icon,.vds-nav-light .vds-burger .elementor-icon{color:#1c3d2f!important}
.drawer-open .vds-nav .vds-burger .elementor-icon{color:#f1efea!important}
.drawer-open .vds-nav{background:transparent!important;box-shadow:none!important;backdrop-filter:none}
@media(max-width:960px){.vds-nav-menu{display:none!important}.vds-burger{display:block}.vds-topbar{display:none!important}.vds-logo img{height:60px!important}}
@media(max-width:640px){.vds-nav .vds-cta-btn,.vds-nav .vds-nav-wa{display:none!important}}
/* drawer móvil */
.vds-drawer{position:fixed!important;inset:0;z-index:58;transform:translateY(-100%);transition:transform .7s var(--vds-ease-out);overflow:hidden}
.drawer-open .vds-drawer{transform:none}
.vds-drawer>*{position:relative;z-index:1}
.vds-drawer .vds-flor{position:absolute!important;z-index:0}
.vds-drawer-menu .elementor-nav-menu--main .elementor-nav-menu{flex-direction:column}
.elementor-editor-active .vds-drawer{display:none!important}
.elementor-editor-active .elementor-edit-area-active .vds-drawer{display:flex!important;position:relative!important;transform:none;min-height:0}

/* ---------- footer ---------- */
.vds-footer{overflow:hidden}
.vds-footer-menu .elementor-nav-menu{display:grid!important;grid-template-columns:1fr 1fr;column-gap:24px;row-gap:10px}
.vds-footer-menu .elementor-nav-menu>li{margin:0!important}
.vds-footer-menu .elementor-nav-menu::before,.vds-footer-menu .elementor-nav-menu::after{display:none!important}
.vds-footer-menu .elementor-item{padding:0!important}
.vds-footer-menu .elementor-item::after,.vds-footer-menu .elementor-item::before{display:none!important}
.vds-footer-logo img{width:200px!important;max-width:100%;filter:brightness(0) invert(.95)}
@media(max-width:640px){.vds-footer-logo img{width:160px!important}}
.vds-social .elementor-social-icon{transition:background var(--vds-base),color var(--vds-base),border-color var(--vds-base)!important}
.vds-social .elementor-social-icon:hover,.vds-tb-social .elementor-social-icon:hover{opacity:1}
.vds-footer .e-grid>.e-con,.vds-footer .e-grid>.e-con-inner>.e-con{min-width:auto}
.vds-footer .elementor-icon-list-item>a,.vds-footer-menu .elementor-item{width:fit-content}
.vds-footer-menu .elementor-item.elementor-item-active:hover{color:#d8c094!important}

/* WhatsApp flotante */
.vds-wa-float{position:fixed!important;right:24px;bottom:24px;z-index:55;width:auto!important}
.vds-wa-float .elementor-icon{box-shadow:var(--vds-shadow-lg);transition:transform var(--vds-base) var(--vds-ease-out),background var(--vds-base),color var(--vds-base)!important}
.vds-wa-float .elementor-icon:hover{transform:translateY(-3px)}
@media(max-width:960px){.vds-wa-float{bottom:88px}}
@media(max-width:640px){.vds-wa-float{right:16px}.vds-wa-float .elementor-icon{padding:14px!important}}

/* cortina de transición entre páginas */
.vds-curtain{position:fixed!important;inset:0;z-index:100;pointer-events:none}
.vds-curtain.gone{visibility:hidden}
.vds-curtain .elementor-icon{transition:none!important}
.vds-curtain svg{opacity:0}
.elementor-editor-active .vds-curtain,.elementor-editor-preview .vds-curtain{display:none!important}

/* ---------- lightbox propio ---------- */
.vds-lb{position:fixed;inset:0;z-index:120;background:rgba(18,41,31,.92);display:flex;align-items:center;justify-content:center;padding:32px;opacity:0;pointer-events:none;transition:opacity var(--vds-slow) var(--vds-ease-out)}
.vds-lb.open{opacity:1;pointer-events:auto}
.vds-lb img{max-width:100%;max-height:100%;border-radius:var(--vds-radius-md);box-shadow:var(--vds-shadow-lg)}
.vds-lb button{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:1px solid rgba(241,239,234,.3);background:transparent;color:#f1efea;font-size:26px;cursor:pointer;transition:background var(--vds-base);padding:0;line-height:1;font-family:Arial,sans-serif}
.vds-lb button:hover{background:#c09e62;color:#12291f;border-color:#c09e62}
.vds-lb .lb-prev{left:20px}.vds-lb .lb-next{right:20px}
.vds-lb .lb-close{top:20px;right:20px;transform:none;width:44px;height:44px;font-size:22px}
.vds-lb .lb-count{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);font-family:'futura-pt-bold','futura-pt',sans-serif;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(241,239,234,.7)}
@media(max-width:640px){.vds-lb{padding:16px}.vds-lb .lb-prev{left:6px}.vds-lb .lb-next{right:6px}.vds-lb button{width:44px;height:44px}}

/* ---------- animaciones: estado inicial (solo fuera del editor) ---------- */
body:not(.elementor-editor-active) .vds-reveal{opacity:0}

/* ---------- huecos de foto pendientes (image-slot del prototipo) ---------- */
.vds-slot{position:relative;min-height:1px}
.vds-slot:has(img[src*="foto-pendiente"])::before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:rgba(127,127,127,.08);outline:1.5px dashed color-mix(in srgb,currentColor 35%,transparent);outline-offset:-1.5px}
.vds-slot img[src*="foto-pendiente"]{background-color:color-mix(in srgb,currentColor 45%,transparent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpath d='m21 15-5-5L5 21'/%3E%3C/svg%3E") no-repeat center calc(50% - 11.5px)/28px 28px;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpath d='m21 15-5-5L5 21'/%3E%3C/svg%3E") no-repeat center calc(50% - 11.5px)/28px 28px}
.vds-slot:has(img[src*="foto-pendiente"])::after{content:attr(data-placeholder);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:34px 12px 0;font:500 13px/1.3 system-ui,-apple-system,sans-serif;letter-spacing:.01em;color:inherit;opacity:.75;pointer-events:none}

/* listas desde texto (promos): filas con línea, como .list del prototipo */
.vds-list-rows ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.vds-list-rows li{padding:14px 0;border-bottom:1px solid var(--e-global-color-bordersubtle,#dad5c9)}
.vds-dark .vds-list-rows li{border-color:rgba(241,239,234,.15)}
.vds-coupon .vds-flor svg{fill:var(--e-global-color-brandprimary,#1c3d2f)!important;opacity:.12}
/* enlaces en medio de un texto (los marca includes/rendimiento.php): subrayado fino, además del color */
.elementor a.vds-link-texto,a.vds-link-texto{text-decoration:underline!important;text-decoration-thickness:1px;text-underline-offset:.18em}
