/* Nondia - base */
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/hanken-grotesk-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/hanken-grotesk-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"EB Garamond";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/eb-garamond-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"EB Garamond";font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/eb-garamond-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/montserrat-latin-wght-normal.woff2) format("woff2")}

:root{
	--nd-navy:#12313F;--nd-gold:#D3AA39;--nd-cream:#EFF7FA;--nd-ink:#1E1E1E;--nd-muted:#5B6B76;--nd-white:#FFFFFF;
	--nd-line:rgba(18,49,63,.14);
	--nd-font-display:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
	--nd-font-body:"EB Garamond",Georgia,"Times New Roman",serif;
	--nd-container:1240px;--nd-gutter:clamp(16px,4vw,40px);
	--nd-radius:14px;--nd-pill:999px;--nd-header-h:84px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--nd-white);color:var(--nd-ink);font-family:var(--nd-font-body);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
img,video,svg{max-width:100%;height:auto}
a{color:var(--nd-navy);text-underline-offset:3px}
a:hover{color:var(--nd-navy);text-decoration-color:var(--nd-gold)}
h1,h2,h3,h4{font-family:var(--nd-font-display);font-weight:300;color:var(--nd-navy);line-height:1.08;letter-spacing:-.01em;margin:0 0 .45em}
h1{font-size:clamp(40px,7vw,110px)}
h2{font-size:clamp(30px,4.2vw,56px)}
h3{font-size:clamp(20px,2vw,26px);font-weight:500}
h1 em,h2 em,h3 em{font-family:var(--nd-font-body);font-style:italic;font-weight:400;letter-spacing:0}
p{margin:0 0 1em}

.nd-eyebrow{margin:0 0 .75em;font-family:var(--nd-font-display);font-weight:500;font-size:12px;line-height:1.4;letter-spacing:2px;text-transform:uppercase;color:var(--nd-navy)}
.nd-container{width:100%;max-width:calc(var(--nd-container) + 2 * var(--nd-gutter));margin-inline:auto;padding-inline:var(--nd-gutter)}

.nd-btn{display:inline-flex;align-items:center;gap:.5em;padding:13px 24px;border:0;border-radius:var(--nd-pill);font-family:var(--nd-font-display);font-weight:500;font-size:15px;line-height:1.2;text-decoration:none;cursor:pointer;transition:transform .2s ease,background-color .2s ease,color .2s ease}
.nd-btn:hover{transform:translateY(-1px)}
.nd-btn--primary{background:var(--nd-gold);color:var(--nd-navy)}
.nd-btn--primary:hover{background:#E2BE58;color:var(--nd-navy)}
.nd-btn--secondary{background:var(--nd-cream);color:var(--nd-navy)}
.nd-btn--secondary:hover{background:var(--nd-white);color:var(--nd-navy)}

.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;word-wrap:normal!important}
.skip-link:focus{clip:auto;clip-path:none;height:auto;width:auto;left:16px;top:16px;z-index:100000;padding:12px 18px;background:var(--nd-white);color:var(--nd-navy)}
:focus-visible{outline:2px solid var(--nd-gold);outline-offset:3px}
.nd-notice{padding:12px 16px;border:1px dashed var(--nd-muted);font-family:var(--nd-font-display);font-size:14px}

/* Respaldo de cabecera y pie */
.site-header{position:relative;z-index:100;background:var(--nd-white);color:var(--nd-navy);width:100%;margin:0}
.nd-fallback-header{background:var(--nd-white)}
.nd-fallback-header .nd-container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;min-height:var(--nd-header-h)}
.nd-fallback-header a{color:var(--nd-navy);text-decoration:none;font-family:var(--nd-font-display);font-weight:500}
.nd-fallback-header a:hover{color:var(--nd-gold)}
.nd-fallback-header .nd-logo{display:block;max-height:48px;width:auto}
.nd-fallback-menu{display:flex;flex-wrap:wrap;gap:8px 24px;margin:0;padding:0;list-style:none}
.nd-fallback-footer{background:var(--nd-navy);color:var(--nd-cream);padding:56px 0;font-size:16px}
.nd-fallback-footer a{color:var(--nd-cream)}
.nd-fallback-footer__inner{display:grid;gap:16px}

/* Paginas y blog */
.nd-page{padding-block:clamp(48px,8vw,104px)}
.nd-prose{max-width:calc(720px + 2 * var(--nd-gutter));margin-inline:auto;padding-inline:var(--nd-gutter)}
.nd-prose--wide{max-width:calc(var(--nd-container) + 2 * var(--nd-gutter))}
.nd-entry>*+*{margin-top:1em}
.nd-entry img{border-radius:var(--nd-radius)}
.nd-entry blockquote{margin:1.5em 0;padding-left:1em;border-left:2px solid var(--nd-gold);font-style:italic}
.nd-single__media{margin:0 auto 40px}
.nd-single__media img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--nd-radius)}
.nd-archive-head{margin-bottom:40px}
.nd-post-grid{display:grid;gap:32px;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr))}
.nd-post-card{display:flex;flex-direction:column;background:var(--nd-white);border-radius:var(--nd-radius);overflow:hidden;box-shadow:0 0 0 1px var(--nd-line)}
.nd-post-card__media img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.nd-post-card__body{padding:24px}
.nd-post-card__title{font-size:22px;margin:0 0 .4em}
.nd-post-card__title a{color:var(--nd-navy);text-decoration:none}
.nd-post-card__excerpt{margin:0;color:var(--nd-muted);font-size:16px}
.nav-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:48px;font-family:var(--nd-font-display)}
.nd-404{text-align:center}

@media (prefers-reduced-motion:reduce){
	html{scroll-behavior:auto}
	*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Lienzo de edicion de plantillas y contacto */
body.single-nondia_header{background:var(--nd-navy)}
body.single-nondia_footer{background:var(--nd-cream)}
.nd-contact{margin:0;padding:0;list-style:none;display:grid;gap:6px}

/* Tarjeta de viaje */
.nd-trip-card{position:relative;display:flex;flex-direction:column;height:100%;background:var(--nd-white);border-radius:var(--nd-radius);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
.nd-trip-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(18,49,63,.12)}
.nd-trip-card__media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--nd-navy)}
.nd-trip-card__media img{display:block;width:100%;height:100%;object-fit:cover}
.nd-trip-card__date{position:absolute;left:16px;bottom:16px;padding:6px 12px;border-radius:var(--nd-pill);background:var(--nd-navy);color:var(--nd-cream);font-family:var(--nd-font-display);font-size:13px;font-weight:500}
.nd-trip-card__body{display:flex;flex-direction:column;gap:8px;flex:1;padding:22px 24px 24px}
.nd-trip-card__destination{margin:0}
.nd-trip-card__title{margin:0;font-size:22px;font-weight:500;line-height:1.2}
.nd-trip-card__title a{color:var(--nd-navy);text-decoration:none}
.nd-trip-card__title a::after{content:"";position:absolute;inset:0}
.nd-trip-card__meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;list-style:none;color:var(--nd-muted);font-family:var(--nd-font-display);font-size:14px}
.nd-trip-card__rating span[aria-hidden]{color:var(--nd-gold)}
.nd-trip-card__price{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:auto 0 0;padding-top:12px;border-top:1px solid var(--nd-line);font-family:var(--nd-font-display)}
.nd-trip-card__from{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--nd-muted)}
.nd-trip-card__price strong{font-size:22px;font-weight:500;color:var(--nd-navy)}
.nd-trip-card__price del{font-size:15px;color:var(--nd-muted)}

/* Cabecera */
.site-header{transition:background-color .3s ease,box-shadow .3s ease}
.site-header.is-sticky{position:sticky;top:0}
.site-header.is-transparent{position:absolute;top:0;left:0;right:0}
.site-header.is-transparent.is-sticky{position:fixed}
.site-header.is-transparent:not(.is-scrolled){background:transparent;box-shadow:none}
.site-header.is-transparent:not(.is-scrolled) .nd-header-bar{background:transparent}
.site-header.is-transparent:not(.is-scrolled) .nd-menu{color:var(--nd-white)}
.site-header.is-transparent:not(.is-scrolled) .nd-menu__list:not(.is-open)>li>a{color:var(--nd-white);text-shadow:0 1px 12px rgba(18,49,63,.25)}
.site-header.is-transparent:not(.is-scrolled) .nd-menu__toggle[aria-expanded="true"]{color:var(--nd-navy)}
.site-header.is-scrolled{background:var(--nd-white);box-shadow:0 8px 28px rgba(18,49,63,.12)}
.admin-bar .site-header.is-sticky,.admin-bar .site-header.is-transparent{top:32px}
@media (max-width:782px){.admin-bar .site-header.is-sticky,.admin-bar .site-header.is-transparent{top:46px}}
.nd-logo-link{display:inline-flex;align-items:center}
.nd-logo{display:block;width:auto;max-height:52px}
.nd-logo--light{display:none}
.site-header.is-transparent:not(.is-scrolled) .nd-logo-link.has-light .nd-logo--default{display:none}
.site-header.is-transparent:not(.is-scrolled) .nd-logo-link.has-light .nd-logo--light{display:block}
.site-header.is-transparent:not(.is-scrolled) .nd-logo{filter:brightness(0) invert(1)}

/* Menu */
.nd-menu{position:relative;font-family:var(--nd-font-display)}
.site-header .nd-menu{color:var(--nd-navy)}
.site-footer .nd-menu{color:var(--nd-cream)}
.site-header .nd-menu__list{gap:4px 22px}
.site-header .nd-menu__list>li>a{font-size:16px;line-height:1.35}
.site-header .nd-menu__list>li>a:hover,.site-header .nd-menu__list>.current-menu-item>a{color:var(--nd-navy);text-decoration:underline;text-decoration-color:var(--nd-gold);text-decoration-thickness:2px;text-underline-offset:6px}
.nd-menu__list{display:flex;flex-wrap:wrap;align-items:center;gap:4px 28px;margin:0;padding:0;list-style:none}
.nd-menu--vertical .nd-menu__list{flex-direction:column;align-items:flex-start;gap:10px}
.nd-menu__list a{display:inline-block;padding:8px 0;color:inherit;font-size:15px;font-weight:500;text-decoration:none}
.nd-menu__list a:hover,.nd-menu__list .current-menu-item>a{color:var(--nd-gold)}
.nd-menu__list>li{position:relative}
.nd-menu__list .sub-menu{position:absolute;top:100%;left:-16px;z-index:5;min-width:220px;margin:0;padding:12px 16px;list-style:none;background:var(--nd-white);border-radius:12px;box-shadow:0 18px 40px rgba(18,49,63,.16);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s ease,transform .2s ease,visibility .2s}
.nd-menu__list .sub-menu a{color:var(--nd-navy)}
.nd-menu__list>li:hover>.sub-menu,.nd-menu__list>li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}

/* Mega menu de destinos */
.nd-menu--horizontal .nd-menu__list>li.mega-destinos{position:static}
/* Panel a todo el ancho de la cabecera: la barra queda estatica para que .site-header sea el contenedor */
.site-header .e-con.e-flex.nd-header-bar{--position:static;position:static}
.nd-mega{position:absolute;left:0;right:0;top:100%;z-index:5;color:#fff;background:rgba(9,20,38,.72);-webkit-backdrop-filter:blur(24px) saturate(1.1);backdrop-filter:blur(24px) saturate(1.1);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s ease,transform .2s ease,visibility .2s}
.nd-mega::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:28px}
.nd-menu__list>li.mega-destinos:hover>.nd-mega,.nd-menu__list>li.mega-destinos:focus-within>.nd-mega{opacity:1;visibility:visible;transform:none}
.nd-mega__inner{display:flex;align-items:flex-start;max-width:calc(var(--nd-container) + 2 * var(--nd-gutter));margin-inline:auto;padding:28px var(--nd-gutter) 40px}
.nd-mega__group--regions{flex:0 0 auto;margin-right:28px;padding-right:28px;border-right:1px solid rgba(255,255,255,.55)}
.nd-mega__group--countries{flex:0 1 auto}
.nd-mega__label{margin:0 0 14px;font-family:var(--nd-font-display);font-size:13px;font-weight:500;line-height:1.2;letter-spacing:.04em;text-transform:uppercase;color:rgba(255,255,255,.88)}
.nd-mega__list{display:grid;grid-template-columns:repeat(2,minmax(130px,auto));column-gap:24px;margin:0;padding:0;list-style:none}
.nd-mega__group--countries .nd-mega__list{grid-template-columns:repeat(3,minmax(130px,auto))}
.nd-mega .nd-mega__list a{display:block;padding:8px 0;color:#fff;font-size:17px;font-weight:500;line-height:1.3;white-space:nowrap}
.nd-mega .nd-mega__list a:hover{color:var(--nd-gold)}
.nd-mega__media{flex:0 0 auto;margin:0 0 0 auto;padding-left:28px}
.site-header .nd-mega__media img{display:block;width:300px;max-width:none;height:200px;object-fit:cover}

/* Hamburguesa */
.nd-menu__toggle{display:none;width:44px;height:44px;padding:0;border:0;background:transparent;color:inherit;cursor:pointer}
.nd-menu__bars,.nd-menu__bars::before,.nd-menu__bars::after{display:block;width:24px;height:2px;margin:0 auto;background:currentColor;transition:transform .2s ease,background-color .2s ease}
.nd-menu__bars{position:relative}
.nd-menu__bars::before,.nd-menu__bars::after{content:"";position:absolute;left:0}
.nd-menu__bars::before{top:-7px}
.nd-menu__bars::after{top:7px}
.nd-menu__toggle[aria-expanded="true"] .nd-menu__bars{background:transparent}
.nd-menu__toggle[aria-expanded="true"] .nd-menu__bars::before{transform:translateY(7px) rotate(45deg)}
.nd-menu__toggle[aria-expanded="true"] .nd-menu__bars::after{transform:translateY(-7px) rotate(-45deg)}
@media (max-width:1200px){
	.nd-menu--collapse .nd-menu__toggle{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center}
	.nd-menu--collapse .nd-menu__list{display:none}
	.nd-menu--collapse .nd-menu__list.is-open{position:fixed;inset:0;z-index:1;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:flex-start;gap:4px;padding:104px var(--nd-gutter) 40px;overflow-y:auto;background:var(--nd-white);color:var(--nd-navy)}
	.nd-menu--collapse .nd-menu__list.is-open a{font-size:22px;color:var(--nd-navy)}
	.nd-menu--collapse .sub-menu,.nd-menu--collapse .nd-mega{position:static;padding:4px 0 8px 16px;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;color:var(--nd-navy);opacity:1;visibility:visible;transform:none}
	.nd-menu--collapse .nd-mega::before,.nd-menu--collapse .nd-mega__media{display:none}
	.nd-menu--collapse .nd-mega__inner{display:block;max-width:none;padding:0}
	.nd-menu--collapse .nd-mega__group--regions{margin:0 0 8px;padding:0;border:0}
	.nd-menu--collapse .nd-mega__label{margin:8px 0 2px;font-size:12px;color:var(--nd-muted)}
	.nd-menu--collapse .nd-mega__list,.nd-menu--collapse .nd-mega__group--countries .nd-mega__list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}
	.nd-menu--collapse .nd-menu__list.is-open .nd-mega__list a{padding:6px 0;font-size:17px;color:var(--nd-navy);white-space:normal}
	body.nd-menu-open{overflow:hidden}
	/* Con el cuerpo bloqueado, la cabecera sticky se iba con el scroll y el boton de cerrar quedaba fuera de pantalla */
	body.nd-menu-open .site-header.is-sticky{position:fixed;left:0;right:0}
	/* La barra fija de reserva de WTE (z-index 111) tapaba el menu abierto */
	body.nd-menu-open .wpte-booking-area{display:none}
}

/* Sliders */
.nd-slider{position:relative}
.nd-slider .swiper{overflow:hidden;padding-bottom:4px}
.nd-slider .swiper-slide{height:auto}
.nd-slider__nav{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}
.nd-slider__prev,.nd-slider__next{position:relative;width:48px;height:48px;border:1px solid var(--nd-navy);border-radius:50%;background:transparent;color:var(--nd-navy);cursor:pointer}
.nd-slider__prev::before,.nd-slider__next::before{content:"";position:absolute;inset:0;width:10px;height:10px;margin:auto;border-top:2px solid currentColor;border-right:2px solid currentColor}
.nd-slider__prev::before{transform:translateX(2px) rotate(-135deg)}
.nd-slider__next::before{transform:translateX(-2px) rotate(45deg)}
.nd-slider__prev:hover,.nd-slider__next:hover{background:var(--nd-navy);color:var(--nd-cream)}
.nd-slider .swiper-button-disabled{opacity:.35;cursor:default}
/* Carrusel de desplazamiento nativo (assets/js/scroller.js) para filas de Elementor con la clase nd-scroller.
   .e-con.e-flex delante: gana a las rejillas (display:grid!important) de las secciones de Stitch */
.e-con.e-flex.nd-scroller{--flex-wrap:nowrap;--nd-scroller-gap:20px;display:flex!important;flex-wrap:nowrap!important;gap:var(--nd-scroller-gap);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none}
.e-con.e-flex.nd-scroller::-webkit-scrollbar{display:none}
.e-con.e-flex.nd-scroller>.e-con{--width:calc((100% - 4 * var(--nd-scroller-gap)) / 4.2);flex:0 0 var(--width);width:var(--width);max-width:none;height:auto;scroll-snap-align:start}
.nd-scroller__nav[hidden]{display:none}
.nd-scroller__nav button:disabled{opacity:.35;cursor:default}
.nd-scroller__nav button:disabled:hover{background:transparent;color:var(--nd-navy)}
@media (max-width:1400px){.e-con.e-flex.nd-scroller>.e-con{--width:calc((100% - 3 * var(--nd-scroller-gap)) / 3.2)}}
@media (max-width:1100px){.e-con.e-flex.nd-scroller>.e-con{--width:calc((100% - var(--nd-scroller-gap)) / 2.2)}}
@media (max-width:640px){
	.e-con.e-flex.nd-scroller{--nd-scroller-gap:12px}
	.e-con.e-flex.nd-scroller>.e-con{--width:84%}
	/* En carrusel caben las descripciones que la rejilla compacta del inicio oculta en movil */
	.nd-scroller .nd-st-service .elementor-icon-box-wrapper .elementor-icon-box-description{display:block}
}
/* Fotos en movimiento (widget Nondia Fotos en movimiento): tarjetas apaisadas, inclinadas y montadas, de derecha a izquierda.
   La pista lleva la lista dos veces: al moverse la mitad de su ancho vuelve a empezar sin salto */
.nd-marquee{overflow:hidden;padding:72px 0}
.nd-marquee__track{display:flex;width:max-content;animation:nd-marquee var(--nd-marquee-time,60s) linear infinite}
.nd-marquee:hover .nd-marquee__track{animation-play-state:paused}
.nd-marquee__list{display:flex;align-items:center;margin:0;padding:0;list-style:none}
.nd-marquee__list li{flex:0 0 auto;margin-right:-28px;transform:rotate(-4deg)}
.nd-marquee__list li:nth-child(4n+2){transform:rotate(3deg) translateY(14px)}
.nd-marquee__list li:nth-child(4n+3){transform:rotate(-2deg) translateY(-10px)}
.nd-marquee__list li:nth-child(4n){transform:rotate(5deg) translateY(8px)}
/* .nd-marquee delante: .elementor img (sin redondeo ni sombra) carga despues con la misma especificidad */
.nd-marquee .nd-marquee__img{display:block;width:clamp(260px,30vw,420px);max-width:none;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center 35%;border-radius:18px;box-shadow:0 10px 24px rgba(18,49,63,.16)}
@keyframes nd-marquee{to{transform:translateX(-50%)}}
@media (max-width:640px){.nd-marquee__list li{margin-right:-18px}}
@media (prefers-reduced-motion:reduce){.nd-marquee{overflow-x:auto}.nd-marquee__track{animation:none}}

/* Destinos */
.nd-destino{position:relative;isolation:isolate;display:block;aspect-ratio:3/4;overflow:hidden;border-radius:var(--nd-radius);background:var(--nd-navy);color:var(--nd-cream);text-decoration:none}
/* .elementor img fija height:auto: hace falta mas especificidad */
.nd-destino .nd-destino__img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.nd-destino:hover .nd-destino__img{transform:scale(1.05)}
.nd-destino::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(18,49,63,0) 35%,rgba(18,49,63,.9) 100%)}
.nd-destino__body{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:6px;padding:24px}
.nd-destino .nd-eyebrow{margin:0;color:var(--nd-gold)}
.nd-destino__name{font-family:var(--nd-font-display);font-size:32px;font-weight:300;line-height:1.1;color:var(--nd-cream)}
.nd-destino__desc{font-size:16px;line-height:1.45;color:var(--nd-cream)}
.nd-destinos--grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:32px 28px}
.nd-destino__badge{position:absolute;top:18px;left:18px;padding:7px 14px;border-radius:var(--nd-pill);background:rgba(255,255,255,.24);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:var(--nd-font-display);font-size:11px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:var(--nd-white)}
.nd-destino__cta{align-self:flex-start;margin-top:10px;padding:10px 20px;border-radius:var(--nd-pill);box-shadow:inset 0 0 0 1.5px var(--nd-white);font-family:var(--nd-font-display);font-size:14px;font-weight:500;color:var(--nd-white);transition:background-color .2s ease,color .2s ease}
.nd-destino:hover .nd-destino__cta{background:var(--nd-white);color:var(--nd-navy)}
/* Regiones en tarjetas altas (pagina Destinos) */
.nd-destinos--slider .nd-destino{aspect-ratio:9/16}
.nd-regions :is(.elementor-widget-heading,.elementor-widget-text-editor,.elementor-heading-title,p){text-align:center}
/* A todo el ancho: el carrusel empieza en el margen y llega al borde derecho de la pantalla */
.e-con.nd-regions{--content-width:100%}
.nd-regions .nd-destinos{margin:40px calc(-1 * var(--nd-gutter)) 0 0}
.nd-regions .nd-slider__nav{margin-right:var(--nd-gutter)}
/* Portada a pantalla completa con foto: pagina Destinos (contenedor de Elementor) y pagina de cada destino */
.nd-cover{position:relative;isolation:isolate;display:flex;align-items:center;min-height:100vh;min-height:100svh;padding:calc(var(--nd-header-h) + 40px) 0 56px;overflow:hidden;background-color:var(--nd-navy);color:var(--nd-white)}
.nd-cover::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(18,49,63,.55) 0%,rgba(18,49,63,.3) 45%,rgba(18,49,63,.72) 100%)}
.nd-cover .nd-cover__bg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.nd-cover .nd-eyebrow,.nd-cover .nd-eyebrow a{color:var(--nd-white)}
.nd-cover :is(h1,.elementor-heading-title){color:var(--nd-white)}
.nd-btn--light,.nd-cover .nd-el-btn--light .elementor-button{background:transparent;color:var(--nd-white);fill:var(--nd-white);box-shadow:inset 0 0 0 1.5px var(--nd-white)}
.nd-btn--light:hover,.nd-cover .nd-el-btn--light .elementor-button:hover{background:var(--nd-white);color:var(--nd-navy);fill:var(--nd-navy)}
/* Destinos: contenido centrado */
.e-con.nd-cover{--min-height:100svh;--justify-content:center;--padding-block-start:calc(var(--nd-header-h) + 40px);--padding-block-end:56px;--row-gap:8px;text-align:center}
.e-con.nd-cover>.e-con-inner{align-items:center;justify-content:center}
.e-con.nd-cover .elementor-heading-title{max-width:14em;margin:0 auto .45em;font-size:clamp(40px,5.6vw,84px);line-height:1.05;text-align:center;text-shadow:0 2px 24px rgba(9,32,48,.35)}
.e-con.nd-cover .nd-eyebrow{text-align:center}
.e-con.nd-cover .elementor-button-content-wrapper{align-items:center;gap:10px}
/* Nosotros, Boletos aereos y Contacto: portada a media altura con el texto abajo a la izquierda, como la de los listados de viajes */
/* Sin las variables de relleno de .nd-cover: Elementor las aplica tambien al interior y se sumaban al relleno de fuera */
.e-con.nd-cover--page{--min-height:clamp(320px,48vh,520px);--justify-content:flex-end;--padding-block-start:0px;--padding-block-end:0px;min-height:clamp(320px,48vh,520px);padding:calc(var(--nd-header-h) + 40px) var(--nd-gutter) 48px;text-align:left}
.e-con.nd-cover--page>.e-con-inner{align-items:flex-start;justify-content:flex-end}
.nd-cover--page::after{background:linear-gradient(180deg,rgba(18,49,63,.35) 0%,rgba(18,49,63,.88) 100%)}
.e-con.nd-cover--page .elementor-heading-title{max-width:none;margin:0 0 .2em;font-size:clamp(40px,6vw,88px);text-align:left}
.e-con.nd-cover--page .nd-eyebrow{text-align:left;color:var(--nd-gold)}
.nd-cover--page .elementor-widget-text-editor{max-width:640px;color:var(--nd-white);font-size:19px}
.nd-cover--page .elementor-widget-text-editor p:last-child{margin:0}
/* Cada destino: texto a la izquierda y sus subdestinos a la derecha */
.nd-cover--destino{align-items:flex-end}
.nd-cover--destino .nd-cover__inner{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:48px;align-items:end}
.nd-cover__title{margin:0 0 .3em;font-size:clamp(38px,5vw,72px)}
.nd-cover__desc{max-width:520px;margin:0 0 28px;font-size:18px}
.nd-cover__cards{display:flex;gap:20px;padding-bottom:6px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.nd-cover__cards::-webkit-scrollbar{display:none}
.nd-cover__cards .nd-destino{flex:0 0 min(250px,70%);scroll-snap-align:start;box-shadow:0 18px 40px rgba(0,0,0,.28)}
/* Carruseles pegados al borde derecho de la pantalla (pedido del usuario): subdestinos de cada destino y filas nd-scroller.
   El margen negativo es la distancia del borde del contenido al de la pantalla; .site-main recorta el sobrante (el ancho de la barra de desplazamiento). */
.site-main{overflow-x:clip}
.nd-cover--destino .nd-cover__cards,.e-con.e-flex.nd-scroller{--nd-bleed:calc(var(--nd-gutter) + max(0px, (100vw - var(--nd-container) - 2 * var(--nd-gutter)) / 2));margin-right:calc(-1 * var(--nd-bleed))}
.nd-cover--destino .nd-cover__cards{padding-right:var(--nd-gutter)}
/* Filas nd-scroller de borde a borde de la pantalla (pedido del usuario): Elementor fija el ancho de la fila al 100 %, se amplia
   con el sangrado de los dos lados. scroll-padding: la primera tarjeta encaja en el margen y no pegada al borde */
.e-con.e-flex.nd-scroller{--width:calc(100% + 2 * var(--nd-bleed));--padding-inline-start:var(--nd-gutter);--padding-inline-end:var(--nd-gutter);width:calc(100% + 2 * var(--nd-bleed));max-width:none;margin-left:calc(-1 * var(--nd-bleed));scroll-padding-inline:var(--nd-gutter)}
@media (max-width:900px){
	.nd-cover--destino .nd-cover__inner{grid-template-columns:minmax(0,1fr);gap:32px}
	.nd-cover__cards .nd-destino{flex-basis:min(200px,62%)}
}
/* Mosaico de destinos elegidos. Sin ancho definido, el flex de Elementor calcula mal el alto de las casillas con aspect-ratio y la seccion siguiente se monta encima */
.e-con .elementor-widget-nondia-destinos{width:100%}
.nd-populares{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}
.nd-popular{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;padding:12px;overflow:hidden;border-radius:var(--nd-radius);background:var(--nd-navy);color:var(--nd-white);text-align:center;text-decoration:none}
.nd-popular .nd-popular__img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.nd-popular:hover .nd-popular__img{transform:scale(1.05)}
.nd-popular::after{content:"";position:absolute;inset:0;z-index:-1;background:rgba(9,20,38,.32)}
.nd-popular__name{font-family:var(--nd-font-display);font-size:20px;font-weight:500;line-height:1.2;color:var(--nd-white);text-shadow:0 1px 12px rgba(9,20,38,.55)}
@media (max-width:1024px){.nd-populares{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}
@media (max-width:640px){.nd-populares{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.nd-popular__name{font-size:17px}}

/* Grid de viajes */
.nd-trips--grid{display:grid;grid-template-columns:repeat(var(--nd-cols,3),minmax(0,1fr));gap:28px}
@media (max-width:1024px){.nd-trips--grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.nd-trips--grid{grid-template-columns:minmax(0,1fr)}}

/* Testimonios */
.nd-testimonio{display:flex;flex-direction:column;gap:16px;height:100%;margin:0;padding:32px;border-radius:var(--nd-radius);background:var(--nd-white)}
.nd-testimonio__stars{margin:0;color:var(--nd-navy);letter-spacing:2px}
.nd-testimonio__text{margin:0;font-size:20px;font-style:italic;line-height:1.5}
.nd-testimonio__text p{margin:0}
.nd-testimonio__author{display:flex;align-items:center;gap:12px;margin-top:auto;font-family:var(--nd-font-display)}
.nd-testimonio__photo{width:48px;height:48px;border-radius:50%;object-fit:cover}
.nd-testimonio__name{display:block;font-weight:500;color:var(--nd-navy)}
.nd-testimonio__trip{display:block;font-size:13px;color:var(--nd-muted)}

/* Buscador */
.nd-trip-search{padding:16px;border-radius:var(--nd-radius);background:var(--nd-white);font-family:var(--nd-font-display)}

/* Secciones construidas con Elementor */
.e-con.nd-section,.e-con.nd-header-bar,.e-con.nd-footer-cta,.e-con.nd-footer-cols,.e-con.nd-footer-legal{--padding-inline-start:var(--nd-gutter);--padding-inline-end:var(--nd-gutter)}
/* Elementor 4 tambien fija el gap de los contenedores con sus variables (el kit lo deja en 0) */
.e-con.nd-header-bar{--column-gap:24px;--row-gap:0px}
.e-con.nd-header-bar__actions{--column-gap:16px;--row-gap:8px;--padding-block-start:0px;--padding-block-end:0px;--padding-inline-start:0px;--padding-inline-end:0px;padding:0}
.e-con.nd-buttons{--column-gap:12px;--row-gap:12px}
.e-con.nd-cards-3{--column-gap:28px;--row-gap:28px}
.e-con.nd-contact-grid{--column-gap:48px;--row-gap:48px}
.e-con.nd-footer-cols{--column-gap:40px;--row-gap:40px}
.nd-header-bar .elementor-button{white-space:nowrap}
/* Columnas dentro de filas: Elementor 4 fija --width:100% y flex con variables, que ganan al flex del tema */
.e-con.e-flex.nd-footer-col{--width:auto;--flex-grow:1;--flex-shrink:1;--flex-basis:220px}
.e-con.e-flex.nd-contact-grid__form{--width:auto;--flex-grow:2;--flex-shrink:1;--flex-basis:420px}
.e-con.e-flex.nd-contact-grid__info{--width:auto;--flex-grow:1;--flex-shrink:1;--flex-basis:260px}
@media (max-width:480px){
	.e-con.nd-header-bar{--column-gap:12px}
	.nd-header-bar .nd-logo-link .nd-logo{height:38px}
}
.nd-section{padding-block:clamp(64px,9vw,120px)}
/* Elementor deja los titulos con line-height 1 y sin margen: las letras descendentes pisaban el texto siguiente */
.nd-section .elementor-widget-heading .elementor-heading-title{margin-bottom:.45em;line-height:1.08}
.nd-section--white{background:var(--nd-white)}
.nd-section--navy{background:var(--nd-navy);color:var(--nd-cream)}
.nd-section--navy h1,.nd-section--navy h2,.nd-section--navy h3,.site-footer h2,.site-footer h3{color:var(--nd-cream)}
.nd-section--navy .nd-eyebrow,.site-footer .nd-eyebrow{color:var(--nd-gold)}
.nd-page-intro{padding-top:calc(var(--nd-header-h) + clamp(48px,7vw,96px));padding-bottom:0}
.nd-cards-3{gap:28px}
.nd-cards-3>.elementor-element{flex:1 1 260px}
.nd-el-imagebox .elementor-image-box-img{width:100%!important;margin-bottom:20px!important}
.nd-el-imagebox .elementor-image-box-img img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--nd-radius)}
.nd-el-imagebox .elementor-image-box-title{font-family:var(--nd-font-display);font-size:14px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--nd-navy)}
.nd-el-iconbox .elementor-icon{color:var(--nd-navy);fill:var(--nd-navy)}
.nd-el-btn .elementor-button{padding:13px 24px;border-radius:var(--nd-pill);font-family:var(--nd-font-display);font-size:15px;font-weight:500}
.nd-el-btn--primary .elementor-button{background:var(--nd-gold);color:var(--nd-navy)}
.nd-el-btn--secondary .elementor-button{background:var(--nd-cream);color:var(--nd-navy)}
.nd-el-btn--outline .elementor-button{background:transparent;color:var(--nd-navy);box-shadow:inset 0 0 0 1px var(--nd-navy)}
.nd-buttons{gap:12px}
.nd-hero{position:relative;min-height:100vh;min-height:100svh;padding:0!important}
/* Fundido del hero al blanco de la seccion siguiente */
.nd-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;z-index:2;height:clamp(90px,14vw,220px);background:linear-gradient(to bottom,rgba(255,255,255,0),var(--nd-white));pointer-events:none}
.nd-hero>.e-con-inner{max-width:none;padding:0}
/* Nubes del slider: a 140% de ancho son muy altas en pantallas apaisadas y tapan el titulo */
@media (min-width:1025px){.nd-hero sr7-img.sr7-layer{top:20vw!important}}
.nd-faq details{padding:20px 0;border-bottom:1px solid var(--nd-line)}
.nd-faq summary{cursor:pointer;font-family:var(--nd-font-display);font-size:20px;color:var(--nd-navy)}
.nd-faq details p{margin:12px 0 0}
.nd-contact-grid{gap:48px}
.nd-contact-grid__form{flex:2 1 420px}
.nd-contact-grid__info{flex:1 1 260px}

/* Formularios (Contact Form 7) */
.wpcf7 label{display:block;margin-bottom:16px;font-family:var(--nd-font-display);font-size:14px;color:var(--nd-navy)}
.nd-section--navy .wpcf7 label{color:var(--nd-cream)}
.wpcf7 input:not([type=submit]),.wpcf7 textarea,.wpcf7 select{width:100%;margin-top:6px;padding:12px 14px;border:1px solid var(--nd-line);border-radius:10px;background:var(--nd-white);color:var(--nd-ink);font-family:var(--nd-font-body);font-size:17px}
.wpcf7 input[type=submit]{padding:13px 28px;border:0;border-radius:var(--nd-pill);background:var(--nd-gold);color:var(--nd-navy);font-family:var(--nd-font-display);font-weight:500;cursor:pointer}
.nd-newsletter .wpcf7 form{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;max-width:560px}
.nd-newsletter .wpcf7 form>p{display:contents}
.nd-newsletter .wpcf7 input[type=email]{flex:1 1 260px;margin:0}

/* Plantillas de cabecera y pie */
.nd-header-bar{gap:24px;min-height:var(--nd-header-h);padding:16px var(--nd-gutter);max-width:calc(var(--nd-container) + 2 * var(--nd-gutter));margin-inline:auto}
.nd-header-bar--solid{background:var(--nd-white)}
.nd-header-bar__actions{gap:16px;width:auto}
.site-header .e-con.nd-header-bar{max-width:calc(var(--nd-container) + 2 * var(--nd-gutter))}
/* Elementor fija el padding vertical del contenedor a 0 con mas especificidad que .nd-header-bar */
.site-header .e-con.e-flex.nd-header-bar{--padding-block-start:16px;--padding-block-end:16px;--min-height:var(--nd-header-h);min-height:var(--nd-header-h)}
.site-header .nd-header-bar .elementor-button{display:inline-flex;align-items:center;gap:16px;min-height:44px;padding:13px 24px;border-radius:var(--nd-pill);font-family:var(--nd-font-display);font-size:15px;font-weight:500;background:var(--nd-navy);color:var(--nd-white);transition:background-color .2s ease,transform .2s ease}
.site-header .nd-header-bar .elementor-button::after{content:"\2192";font-size:18px;line-height:1}
.site-header .nd-header-bar .elementor-button:hover{background:#1D4B60;transform:translateY(-1px)}
.site-header .nd-header-bar .elementor-button:active{transform:translateY(0)}
.site-header.is-transparent:not(.is-scrolled) .nd-header-bar .elementor-button{background:transparent;color:var(--nd-white);box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}
.site-header.is-transparent:not(.is-scrolled) .nd-header-bar .elementor-button:hover{background:rgba(255,255,255,.12)}
/* Selector de idioma de GTranslate (aspecto "lang_codes"): pastilla ES / EN */
.site-header .gtranslate_wrapper{display:inline-flex;align-items:center;gap:2px;padding:4px;border-radius:999px;background:#F8EFE8;font:700 13px/1 "DM Sans",system-ui,sans-serif;letter-spacing:.06em}
.site-header .gtranslate_wrapper a.glink{display:inline-flex;align-items:center;justify-content:center;min-width:40px;padding:7px 12px;border-radius:999px;color:#45474C;text-decoration:none;transition:background-color .2s ease,color .2s ease}
.site-header .gtranslate_wrapper a.glink:hover{color:#091426}
.site-header .gtranslate_wrapper a.glink.gt-current-lang{background:#091426;color:#fff}
.site-footer{background:var(--nd-navy);color:var(--nd-cream)}
.site-footer a{color:var(--nd-cream)}
.nd-footer-cta{padding-block:56px;border-bottom:1px solid rgba(248,241,231,.15)}
.nd-footer-cols{gap:40px;padding-block:56px}
.nd-footer-col{flex:1 1 220px}
.nd-footer-legal{padding-block:24px;border-top:1px solid rgba(248,241,231,.15);font-size:14px}
@media (max-width:1200px){
	.nd-header-bar__actions .elementor-widget-shortcode{display:none}
	.site-header .elementor-widget-nondia-menu{margin-left:auto}
}
@media (max-width:480px){
	.site-header .e-con.nd-header-bar{column-gap:8px;--column-gap:8px}
}
@media (max-width:767px){
	/* Movil: de las acciones solo queda la pastilla ES / EN, junto al boton del menu */
	.site-header .nd-header-bar>.nd-header-bar__actions{order:1;margin-left:auto}
	.site-header .nd-header-bar>.elementor-widget-nondia-menu{order:2;margin-left:0}
	.site-header .nd-header-bar__actions .elementor-widget-shortcode{display:block}
	.site-header .nd-header-bar__actions .nd-el-btn{display:none}
	.site-header .gtranslate_wrapper a.glink{min-width:36px;padding:6px 10px}
	.site-header:not(.is-transparent),.site-header.is-scrolled{--nd-header-h:64px}
	.site-header:not(.is-transparent) .e-con.e-flex.nd-header-bar,.site-header.is-scrolled .e-con.e-flex.nd-header-bar{padding-block:8px;--padding-block-start:8px;--padding-block-end:8px}
}

/* Pestanas de travel-quote-plugin (Boletos aereos): que no se corten en movil */
.tqp-tab-links{flex-wrap:wrap}

/* Cabecera: el logo necesita alto explicito y max-width:none (con el max-width:100% de .elementor img el widget colapsa a 0); las acciones ocupan solo su contenido
   (Elementor fija --width:100% en .e-con); el mega menu se ancla a la barra completa, no al ancho del menu */
.nd-logo-link .nd-logo{height:48px;width:auto;max-width:none}
.elementor-widget-nondia-logo{flex-shrink:0}
.site-header .elementor-widget-nondia-logo,.site-header .elementor-widget-nondia-logo .elementor-widget-container{display:flex;align-items:center}
.site-header .nd-header-bar>.nd-header-bar__actions{--width:auto}
.site-header .elementor-widget-nondia-menu,.site-header .nd-menu--horizontal{position:static}

/* Ficha de viaje (WTE): Montserrat */
body.single-trip .site-main{--nd-font-body:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;--nd-font-display:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;font-family:var(--nd-font-body);font-size:16px}
body.single-trip .site-main :is(h1,h2,h3,h4,h5,h6,button,input,select,textarea){font-family:var(--nd-font-display)}
/* Duracion bajo el titulo: pastillas con reloj en lugar de las cajas de calendario de WTE (que van en posicion absoluta y se solapaban) */
body.single-trip .entry-header{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
body.single-trip .entry-header .entry-title{flex:0 0 100%;width:100%;max-width:none;padding-right:0}
body.single-trip .entry-header .wte-title-duration{position:static;display:inline-flex;flex-direction:row;align-items:center;gap:6px;width:auto;height:auto;min-width:0;margin:6px 0 0;padding:8px 16px;border:0;border-radius:var(--nd-pill);background:rgba(18,49,63,.08);color:var(--nd-navy);font-size:14px;font-weight:600;line-height:1.2}
body.single-trip .entry-header .wte-title-duration::before{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") center/contain no-repeat}
body.single-trip .entry-header .wte-title-duration :is(.duration,.days){display:inline;width:auto;height:auto;margin:0;padding:0;border:0;background:none;color:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}
/* Modal de reserva de WTE: se inserta en body, fuera de .site-main, asi que necesita su propia regla para Montserrat */
.wpte-modal__screen-overlay{--nd-font-body:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;--nd-font-display:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;font-family:var(--nd-font-body)}
.wpte-modal__screen-overlay :is(h1,h2,h3,h4,h5,h6,button,input,select,textarea,a,span,p,li){font-family:var(--nd-font-display)}
/* Pestanas fijas de WTE: cuando aparecen, la cabecera del sitio se esconde y las pestanas ocupan su lugar */
body.single-trip{--nd-tabs-top:0px}
body.admin-bar.single-trip{--nd-tabs-top:32px}
@media (max-width:782px){body.admin-bar.single-trip{--nd-tabs-top:46px}}
body.single-trip .site-header{transition:background-color .3s ease,box-shadow .3s ease,transform .3s ease}
/* Cabecera transparente sobre la galeria: degradado oscuro arriba para que el menu blanco se lea en fotos claras */
body.single-trip .wpte-gallery-wrapper{position:relative}
body.single-trip .wpte-gallery-wrapper::before{content:"";position:absolute;inset:0 0 auto;z-index:1;height:clamp(140px,22vh,220px);background:linear-gradient(180deg,rgba(9,20,38,.62) 0%,rgba(9,20,38,.28) 55%,rgba(9,20,38,0) 100%);pointer-events:none}
/* Galeria en movil en vertical 3:4 (WTE la deja en 300 px de alto) */
@media (max-width:767px){body.single-trip .wpte-gallery-wrapper .splide.single-trip-main-carousel img{height:auto;aspect-ratio:3/4}}
body.single-trip:has(.wpte-tabs-container.fixed-header) .site-header{transform:translateY(-100%);box-shadow:none}
body.admin-bar.single-trip:has(.wpte-tabs-container.fixed-header) .site-header{transform:translateY(calc(-100% - 46px))}
body.single-trip .wpte-tabs-container.fixed-header .nav-tab-wrapper{top:var(--nd-tabs-top);z-index:99}
body.single-trip .wpte-booking-area-wrapper.is-sticky{top:calc(var(--nd-tabs-top) + 76px)}
