.elementor-kit-8{--e-global-color-primary:#005040;--e-global-color-secondary:#008068;--e-global-color-text:#171717;--e-global-color-accent:#08B8B0;--e-global-color-superficie:#F5F8F7;--e-global-color-superficie-2:#E8EFEE;--e-global-color-borde:#D1E0DD;--e-global-color-sobre-oscuro:#FFFFFF;--e-global-color-velo:rgba(0,80,64,0.62);--e-global-color-arena:#E3C89C;--e-global-color-tinta-suave:#4A5C58;--e-global-typography-primary-font-family:"Figtree";--e-global-typography-primary-font-size:40px;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-line-height:1.15em;--e-global-typography-secondary-font-family:"Figtree";--e-global-typography-secondary-font-size:22px;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:1.3em;--e-global-typography-text-font-family:"Figtree";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.65em;--e-global-typography-accent-font-family:"Figtree";--e-global-typography-accent-font-size:15px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1.3em;--e-global-typography-accent-letter-spacing:1px;--e-global-typography-hero-font-family:"Figtree";--e-global-typography-hero-font-size:68px;--e-global-typography-hero-font-weight:600;--e-global-typography-hero-line-height:1.05em;--e-global-typography-hero-letter-spacing:-1.8px;--e-global-typography-titulo-font-family:"Figtree";--e-global-typography-titulo-font-size:39px;--e-global-typography-titulo-font-weight:600;--e-global-typography-titulo-line-height:1.2em;--e-global-typography-titulo-letter-spacing:-1px;--e-global-typography-subtitulo-font-family:"Figtree";--e-global-typography-subtitulo-font-size:24px;--e-global-typography-subtitulo-font-weight:600;--e-global-typography-subtitulo-line-height:1.3em;--e-global-typography-intertitulo-font-family:"Figtree";--e-global-typography-intertitulo-font-size:20px;--e-global-typography-intertitulo-font-weight:600;--e-global-typography-intertitulo-line-height:1.3em;--e-global-typography-tarjeta-font-family:"Figtree";--e-global-typography-tarjeta-font-size:17px;--e-global-typography-tarjeta-font-weight:600;--e-global-typography-tarjeta-line-height:1.35em;--e-global-typography-cifra-font-family:"Figtree";--e-global-typography-cifra-font-size:46px;--e-global-typography-cifra-font-weight:700;--e-global-typography-cifra-line-height:1.05em;--e-global-typography-cifra-letter-spacing:-1px;--e-global-typography-antetitulo-font-family:"Figtree";--e-global-typography-antetitulo-font-size:12px;--e-global-typography-antetitulo-font-weight:500;--e-global-typography-antetitulo-text-transform:uppercase;--e-global-typography-antetitulo-line-height:1.4em;--e-global-typography-antetitulo-letter-spacing:3.1px;--e-global-typography-entradilla-font-family:"Figtree";--e-global-typography-entradilla-font-size:17px;--e-global-typography-entradilla-font-weight:400;--e-global-typography-entradilla-line-height:1.6em;--e-global-typography-cuerpo-font-family:"Figtree";--e-global-typography-cuerpo-font-size:16px;--e-global-typography-cuerpo-font-weight:400;--e-global-typography-cuerpo-line-height:1.65em;--e-global-typography-pequeno-font-family:"Figtree";--e-global-typography-pequeno-font-size:14px;--e-global-typography-pequeno-font-weight:400;--e-global-typography-pequeno-line-height:1.6em;--e-global-typography-boton-font-family:"Figtree";--e-global-typography-boton-font-size:14px;--e-global-typography-boton-font-weight:500;--e-global-typography-boton-text-transform:uppercase;--e-global-typography-boton-line-height:1.2em;--e-global-typography-boton-letter-spacing:1.25px;}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-8{--e-global-typography-primary-font-size:34px;--e-global-typography-primary-line-height:1.18em;--e-global-typography-secondary-font-size:21px;--e-global-typography-secondary-line-height:1.32em;--e-global-typography-text-font-size:17px;--e-global-typography-text-line-height:1.65em;--e-global-typography-accent-font-size:15px;--e-global-typography-hero-font-size:52px;--e-global-typography-hero-line-height:1.12em;--e-global-typography-hero-letter-spacing:-0.5px;--e-global-typography-titulo-font-size:33px;--e-global-typography-titulo-line-height:1.18em;--e-global-typography-subtitulo-font-size:22px;--e-global-typography-subtitulo-line-height:1.28em;--e-global-typography-intertitulo-font-size:19px;--e-global-typography-intertitulo-line-height:1.3em;--e-global-typography-tarjeta-font-size:17px;--e-global-typography-tarjeta-line-height:1.32em;--e-global-typography-cifra-font-size:40px;--e-global-typography-cifra-line-height:1.05em;--e-global-typography-cifra-letter-spacing:-0.5px;--e-global-typography-antetitulo-font-size:12px;--e-global-typography-entradilla-font-size:17px;--e-global-typography-entradilla-line-height:1.58em;--e-global-typography-cuerpo-font-size:16px;--e-global-typography-cuerpo-line-height:1.65em;--e-global-typography-pequeno-font-size:14px;--e-global-typography-boton-font-size:14px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-8{--e-global-typography-primary-font-size:28px;--e-global-typography-primary-line-height:1.22em;--e-global-typography-secondary-font-size:20px;--e-global-typography-secondary-line-height:1.35em;--e-global-typography-text-font-size:16px;--e-global-typography-text-line-height:1.7em;--e-global-typography-accent-font-size:14px;--e-global-typography-hero-font-size:38px;--e-global-typography-hero-line-height:1.18em;--e-global-typography-hero-letter-spacing:-0.2px;--e-global-typography-titulo-font-size:27px;--e-global-typography-titulo-line-height:1.22em;--e-global-typography-titulo-letter-spacing:0px;--e-global-typography-subtitulo-font-size:20px;--e-global-typography-subtitulo-line-height:1.3em;--e-global-typography-intertitulo-font-size:18px;--e-global-typography-intertitulo-line-height:1.3em;--e-global-typography-tarjeta-font-size:17px;--e-global-typography-tarjeta-line-height:1.35em;--e-global-typography-cifra-font-size:36px;--e-global-typography-cifra-line-height:1.05em;--e-global-typography-cifra-letter-spacing:-0.5px;--e-global-typography-antetitulo-font-size:11px;--e-global-typography-antetitulo-line-height:1.45em;--e-global-typography-antetitulo-letter-spacing:0.8px;--e-global-typography-entradilla-font-size:16px;--e-global-typography-entradilla-line-height:1.6em;--e-global-typography-cuerpo-font-size:16px;--e-global-typography-cuerpo-line-height:1.7em;--e-global-typography-pequeno-font-size:14px;--e-global-typography-pequeno-line-height:1.6em;--e-global-typography-boton-font-size:14px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS */:root{--pmo-sombra-1:0 1px 2px rgba(0,0,0,.06);--pmo-sombra-2:0 18px 40px -12px rgba(0,0,0,.16);--pmo-borde:1px solid var(--e-global-color-borde);--pmo-sombra-1:0 1px 2px color-mix(in srgb,var(--e-global-color-primary) 10%,transparent);--pmo-sombra-2:0 18px 40px -12px color-mix(in srgb,var(--e-global-color-primary) 26%,transparent);--pmo-borde:1px solid color-mix(in srgb,var(--e-global-color-borde) 70%,transparent);--pmo-deg-marca:linear-gradient(135deg,var(--e-global-color-primary) 0%,var(--e-global-color-accent) 100%);--pmo-deg-velo:linear-gradient(180deg,transparent 0%,var(--e-global-color-velo) 76%);--pmo-radio-s:8px;--pmo-radio-m:16px;--pmo-radio-l:28px;--pmo-hoja:0 62% 0 62%;--pmo-medida:36em;--pmo-ritmo:clamp(56px,7vw,112px)}
.pmo-superficie{background:var(--e-global-color-superficie)}
.pmo-superficie-2{background:var(--e-global-color-superficie-2)}
.pmo-tarjeta{background:var(--e-global-color-superficie);border:var(--pmo-borde);border-radius:var(--pmo-radio-m);box-shadow:var(--pmo-sombra-1);transition:box-shadow .28s cubic-bezier(.2,.7,.3,1),transform .28s cubic-bezier(.2,.7,.3,1)}
.pmo-tarjeta:hover,.pmo-tarjeta:focus-within{box-shadow:var(--pmo-sombra-2);transform:translateY(-3px)}
.pmo-deg-marca{background:var(--pmo-deg-marca)}
.pmo-velo{position:relative;isolation:isolate}
.pmo-velo::after{content:"";position:absolute;inset:0;z-index:-1;background:var(--pmo-deg-velo)}
.pmo-medida p,.pmo-medida li{max-width:var(--pmo-medida)}
.pmo-ritmo{padding-block:var(--pmo-ritmo)}
@media (prefers-reduced-motion:reduce){.pmo-tarjeta{transition:none}.pmo-tarjeta:hover,.pmo-tarjeta:focus-within{transform:none}}
/* ══ SAHERA ══ Componentes del proyecto. Sin un solo hex: todo sale de los globals. */
/* Cabecera: sólida por defecto; transparente solo sobre el hero de la portada.
   `elementor-sticky--effects` la pone Elementor al hacer scroll con el sticky activo. */
/* En la portada la cabecera se superpone al hero. Elementor la deja en el flujo
   normal, así que sin esto el hero empieza DEBAJO y la transparencia no se ve. */
.home header.elementor-location-header{position:relative;z-index:60;margin-bottom:-96px}
@media (max-width:767px){.home header.elementor-location-header{margin-bottom:-72px}}
.sahera-cab{transition:background .3s,box-shadow .3s;background:var(--e-global-color-sobre-oscuro)}
.sahera-cab .sahera-logo-claro{display:none}
.sahera-cab .sahera-logo-oscuro{display:block}
.sahera-cab.elementor-sticky--effects{box-shadow:var(--pmo-sombra-1)}
.home .sahera-cab:not(.elementor-sticky--effects){background:transparent;box-shadow:none}
.home .sahera-cab:not(.elementor-sticky--effects) .elementor-nav-menu a,.home .sahera-cab:not(.elementor-sticky--effects) .sahera-idiomas{color:var(--e-global-color-sobre-oscuro)}
.home .sahera-cab:not(.elementor-sticky--effects) .sahera-logo-claro{display:block}
.home .sahera-cab:not(.elementor-sticky--effects) .sahera-logo-oscuro{display:none}

/* Hero: velo doble. El vertical solo no salva un titular blanco sobre fachada
   de día. El vertical lo pone la superposición nativa del contenedor (editable
   desde el panel); este es el lateral. Va en `::after` y no en `::before`
   porque `::before` del contenedor ya lo usa Elementor para su superposición:
   la regla propia se quedaba sin aplicar y el hero salía sin velo. */
.sahera-hero-velo::before,.sahera-hero-velo::after{z-index:3}
.sahera-hero-velo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,var(--e-global-color-velo) 0%,transparent 62%),linear-gradient(180deg,rgba(0,0,0,.30) 0%,transparent 20%)}
.sahera-hero-velo>.e-con-inner,.sahera-hero-velo>.elementor-widget-wrap{position:relative;z-index:4}

/* Tarjeta de habitación (la pinta el shortcode de unidades y la plantilla de bucle) */
.sahera-rejilla-hab{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.sahera-hab{position:relative;display:block;overflow:hidden;aspect-ratio:4/3;border-radius:var(--pmo-radio-m);text-decoration:none;color:var(--e-global-color-sobre-oscuro);box-shadow:var(--pmo-sombra-1);transition:box-shadow .3s cubic-bezier(.2,.7,.3,1),transform .3s cubic-bezier(.2,.7,.3,1)}
.sahera-hab:hover{box-shadow:var(--pmo-sombra-2);transform:translateY(-4px)}
.sahera-hab img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .62s cubic-bezier(.2,.7,.3,1)}
.sahera-hab:hover img{transform:scale(1.06)}
.sahera-hab::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,var(--e-global-color-velo) 100%)}
.sahera-hab__txt{position:absolute;z-index:2;inset:auto 0 0;padding:1.25rem 1.35rem}
.sahera-hab__txt h3{margin:0;font-size:1.24rem;line-height:1.2;color:inherit}
.sahera-hab__datos{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.4rem;font-size:.8rem;letter-spacing:.04em;opacity:.93}
.sahera-hab--pronto{cursor:default}
.sahera-hab--pronto img{filter:saturate(.82)}
.sahera-hab--pronto:hover{transform:none;box-shadow:var(--pmo-sombra-1)}
.sahera-hab--pronto:hover img{transform:none}
.sahera-sello{position:absolute;z-index:3;top:.95rem;left:.95rem;padding:.36rem .72rem;border-radius:999px;background:var(--e-global-color-sobre-oscuro);color:var(--e-global-color-primary);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;box-shadow:var(--pmo-sombra-1)}
/* La tarjeta de habitación ya no es un enlace: lleva dos, el del número y el del
   vídeo, y anidarlos no es HTML válido. El del número se estira sobre toda la
   tarjeta con un pseudoelemento; el del vídeo va por encima con más z-index. */
.sahera-hab__enlace{position:absolute;inset:0;z-index:3;display:block}
.sahera-hab__video{position:absolute;z-index:4;top:.9rem;right:.9rem;display:inline-flex;align-items:center;gap:.42rem;min-height:38px;padding:.42rem .85rem .42rem .7rem;border-radius:999px;background:rgba(255,255,255,.92);background:color-mix(in srgb,var(--e-global-color-sobre-oscuro) 92%,transparent);color:var(--e-global-color-primary);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;box-shadow:var(--pmo-sombra-1);transition:background .25s,transform .25s}
.sahera-hab__video:hover,.sahera-hab__video:focus-visible{background:var(--e-global-color-sobre-oscuro);transform:translateY(-1px)}
.sahera-hab__video .sahera-ic{flex:0 0 17px;width:17px;height:17px;color:inherit}

/* Equipamiento con icono */
.sahera-equipo{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:0;padding:0;list-style:none}
.sahera-equipo li{display:flex;align-items:center;gap:.7rem;padding:1rem 1.15rem;border:var(--pmo-borde);border-radius:var(--pmo-radio-m);background:var(--e-global-color-sobre-oscuro);color:var(--e-global-color-text);font-size:.95rem}
.sahera-ic{flex:0 0 26px;width:26px;height:26px;color:var(--e-global-color-secondary)}

/* Botón de los shortcodes (el resto de botones son widgets nativos) */
.sahera-boton{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.6rem;border-radius:999px;background:var(--e-global-color-primary);color:var(--e-global-color-sobre-oscuro);font-size:.95rem;font-weight:600;text-decoration:none;transition:background .28s,transform .28s,box-shadow .28s}
.sahera-boton:hover{background:var(--e-global-color-secondary);color:var(--e-global-color-sobre-oscuro);transform:translateY(-2px);box-shadow:var(--pmo-sombra-2)}
.sahera-aviso-pronto{margin:0;color:var(--e-global-color-text);font-size:.95rem;opacity:.82}

/* Padding lateral. Sin esto el texto toca el borde de la pantalla en móvil,
   que es el fallo que más se nota y el más fácil de dejarse. */
/* Y en escritorio. El contenedor mide 1200 px y Elementor solo deja 10 px de
   relleno, así que entre 1025 y ~1260 px de ancho el contenido llegaba a
   4 px del borde: cabecera, hero, secciones y pie (lo vio el cliente en un
   portátil de 1207 px). Se resta el margen al ancho máximo y no al relleno,
   para que a partir de 1296 px no cambie nada. */
@media (min-width:1025px){.e-con{--container-max-width:min(1200px,calc(100vw - 96px))}}

@media (max-width:1024px){.e-con-boxed.e-parent>.e-con-inner{padding-inline:20px}
.sahera-hero>.e-con-boxed>.e-con-inner{padding-inline:20px}}

/* Hero de la ficha de habitación: la foto a sangre con velo y el texto encima
   abajo a la izquierda, como la maqueta. Estaba maquetado como hero partido
   —texto a un lado, foto al otro sobre gris—, que es otra cosa: la ficha
   entraba sin la foto grande de la habitación, que es lo que vende. La imagen
   destacada es un widget y no un fondo de contenedor para no depender de la
   etiqueta dinámica de fondo; se coloca detrás con posición absoluta. */
.sahera-hero-interior{position:relative;isolation:isolate;overflow:hidden;min-height:min(620px,74svh);display:flex;flex-direction:column;justify-content:flex-end;padding:9rem 0 3.2rem;color:var(--e-global-color-sobre-oscuro)}
.sahera-hero-interior__cuerpo{position:relative;z-index:4;width:100%}
.elementor-widget.sahera-hero-interior__media{position:absolute;inset:0;z-index:0;margin:0}
/* El vídeo de fondo va por encima de la foto destacada, que hace de cartel
   mientras carga, y por debajo del velo. */
.sahera-hero-interior .elementor-background-video-container{z-index:1}
.sahera-hero-interior .elementor-background-video-container video{width:100%;height:100%;object-fit:cover}
.sahera-hero-interior__media .elementor-widget-container,.sahera-hero-interior__media figure,.sahera-hero-interior__media a{height:100%}
.sahera-hero-interior__media img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0}
.sahera-hero-interior::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(2,22,18,.52) 0%,rgba(2,22,18,.20) 34%,rgba(2,22,18,.72) 100%),linear-gradient(100deg,rgba(2,22,18,.56) 0%,rgba(2,22,18,.18) 56%,rgba(2,22,18,0) 78%)}
.sahera-hero-interior .elementor-heading-title{color:var(--e-global-color-sobre-oscuro);font-size:clamp(30px,3.6vw,46px);line-height:1.08}
.sahera-hero-interior .sahera-migas,.sahera-hero-interior .sahera-migas a,.sahera-hero-interior .sahera-datos-ficha{color:rgba(255,255,255,.86)}
.sahera-hero-interior .sahera-datos-ficha .elementor-icon-list-icon i{color:var(--e-global-color-arena)}
/* El botón del hero va claro sobre la foto, como en la maqueta. */
.sahera-hero-interior .sahera-boton{background:var(--e-global-color-sobre-oscuro);color:var(--e-global-color-primary)}
.sahera-hero-interior .sahera-boton:hover{background:var(--e-global-color-arena);color:var(--e-global-color-primary)}
@media (max-width:1024px){.sahera-hero-interior__cuerpo>.e-con-inner{padding-inline:20px}}
@media (max-width:767px){.sahera-hero-interior{padding-bottom:2.2rem}}

/* Migas y tira de datos de la ficha */
.sahera-migas{font-size:.85rem;letter-spacing:.03em;opacity:.88}
.sahera-migas a{color:inherit;text-decoration:none;border-bottom:1px solid currentColor}
/* Las listas en línea de Elementor separan con márgenes negativos: si encima
   se les pone `gap`, el ul acaba más ancho que la ventana. Márgenes a cero. */
.elementor-widget.sahera-datos-ficha .elementor-icon-list-items.elementor-inline-items,.elementor-widget.sahera-loop__datos .elementor-icon-list-items.elementor-inline-items{margin:0;flex-wrap:wrap;gap:.4rem 1.2rem}
.elementor-widget.sahera-datos-ficha .elementor-inline-items .elementor-icon-list-item,.elementor-widget.sahera-loop__datos .elementor-inline-items .elementor-icon-list-item{margin:0}

/* Rejillas. Se reparten por flex-basis y no cambiando el display del contenedor:
   Elementor genera su propio flex con la misma especificidad y ganaría él.
   El .elementor-kit-8 lleva `.e-con` y `.elementor-widget` a propósito: Elementor pone
   `min-width:0` a los hijos flex con `.e-con>.elementor-widget`, y con un
   .elementor-kit-8 más corto las tarjetas se encogían a 78 px en móvil y el texto se
   salía de la pantalla. */
.e-con.sahera-rejilla-4>.elementor-widget,.sahera-rejilla-4>.e-con-inner>.elementor-widget{flex:1 1 calc(25% - 16px);min-width:210px}
.e-con.sahera-rejilla-2>.elementor-widget,.sahera-rejilla-2>.e-con-inner>.elementor-widget{flex:1 1 calc(50% - 8px);min-width:170px}
.e-con.sahera-pasos>.elementor-widget,.sahera-pasos>.e-con-inner>.elementor-widget{flex:1 1 calc(33.333% - 18px);min-width:230px}
.sahera-ventajas>*{flex:0 1 auto}

/* Tarjetas: pmo-tarjeta pone fondo, borde, radio y sombra; esto solo el aire. */
.sahera-tarjeta{padding:1.6rem 1.7rem}
.sahera-tarjeta--mini{padding:1.05rem 1.2rem}
.sahera-paso .elementor-icon{font-size:1.1rem}

/* Hero de la portada */
.sahera-lema{letter-spacing:.24em;text-transform:uppercase}
.sahera-motor{box-shadow:var(--pmo-sombra-2);max-width:940px;width:100%}
/* El CSS propio de Kross (data.krossbooking.com) solo pone en fila los tres
   campos del buscador (fecha/huespedes/boton) a partir de 1024px; por debajo
   caen en bloque, uno debajo de otro, y en tablet se ve partido en 2+1.
   Se repite su misma regla desde el ancho de tablet, con mas especificidad
   (.sahera-motor por delante) para ganarle sin tocar su CSS. */
@media (min-width:768px) and (max-width:1023px){
.sahera-motor .kross-container .form-kross-booking{display:flex}
.sahera-motor .kross-container .kb-btn-submit{width:auto;padding:0 22px}
}

/* La cifra del ahorro: el número manda y el % va volado y pequeño, como en la
   maqueta. Con los dos al mismo tamaño el dato deja de leerse de un golpe. */
.sahera-cifra-grande .elementor-heading-title{font-size:clamp(66px,8vw,108px);line-height:.92;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.sahera-cifra-grande i{font-style:normal;font-size:.46em;letter-spacing:0;margin-left:.06em;vertical-align:baseline}
.sahera-ahorro{box-shadow:var(--pmo-sombra-2)}
/* Las tres ventajas son tarjetas blancas con el icono a la izquierda: sobre el
   gris de la sección, sin caja, el texto se queda flotando. */
.sahera-ventaja .elementor-icon-box-wrapper{display:flex;gap:1rem;align-items:flex-start;text-align:left}
.sahera-ventaja .elementor-icon-box-icon{margin:.2rem 0 0;flex:0 0 auto}
.sahera-ventaja .elementor-icon-box-title{margin:0 0 .25rem;font-size:1.02rem}
.sahera-ventaja .elementor-icon-box-description{color:var(--e-global-color-tinta-suave);font-size:.9rem}
/* Titular corto y centrado: la maqueta lo parte en dos líneas a propósito. */
.sahera-titulo-corto .elementor-heading-title{max-width:19ch;margin-inline:auto}
.sahera-centrada p{margin-inline:auto}

/* Tarjeta del bucle de habitaciones */
.sahera-loop{overflow:hidden;position:relative}
/* Un dato que el tipo no tiene deja el texto vacío y la lista publica el icono
   solo, sin nada al lado: pasa con la superficie de la interior y la PMR, y con
   las dos del estudio. Si no hay dato, no hay fila. */
.sahera-loop__datos .elementor-icon-list-item:has(.elementor-icon-list-text:empty),
.sahera-datos-ficha .elementor-icon-list-item:has(.elementor-icon-list-text:empty){display:none}
.sahera-loop__foto img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}

/* Pestañas de tipos de habitación */
@media (min-width:768px){
.elementor-widget.sahera-pestanas .elementor-tabs-wrapper{display:flex;flex-wrap:wrap;gap:2rem;border:0;margin-bottom:.4rem}
.elementor-widget.sahera-pestanas .elementor-tabs-wrapper>.elementor-tab-title{display:inline-flex;align-items:center}
}
.sahera-pestanas .elementor-tab-title{border:var(--pmo-borde);border-radius:999px;padding:.6rem 1.2rem;background:var(--e-global-color-sobre-oscuro);transition:background .24s,color .24s,border-color .24s}
.sahera-pestanas .elementor-tab-title.elementor-active{background:var(--e-global-color-primary);border-color:var(--e-global-color-primary);color:var(--e-global-color-sobre-oscuro)}
.elementor-widget.sahera-pestanas .elementor-tabs-content-wrapper .elementor-tab-content{border:0;padding:3rem 0 0}
.sahera-pestanas .elementor-tabs-content-wrapper{border:0}

/* Galería de la página /galeria/: rejilla uniforme de cuatro columnas, sin
   celdas grandes. Se distingue a propósito del mosaico de la ficha: aquí se
   viene a mirar fotos, y una rejilla regular se recorre mejor que un bento.
   Mismo apaño de anchos que en la ficha, porque el widget es el mismo. */
.sahera-galeria-pagina .gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem}
.elementor-widget.sahera-galeria-pagina .elementor-image-gallery .gallery .gallery-item{width:auto;max-width:none;margin:0;float:none;display:block}
.sahera-galeria-pagina .gallery-icon{margin:0}
.sahera-galeria-pagina .gallery-icon a{display:block;overflow:hidden;border-radius:var(--pmo-radio-s)}
.sahera-galeria-pagina img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border:0;border-radius:0;transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.sahera-galeria-pagina .gallery-item:hover img{transform:scale(1.06)}
@media (max-width:1024px){.sahera-galeria-pagina .gallery{grid-template-columns:repeat(2,1fr)}}
@media (prefers-reduced-motion:reduce){.sahera-galeria-pagina img{transition:none}.sahera-galeria-pagina .gallery-item:hover img{transform:none}}

/* Galería de la ficha: el mismo mosaico de la maqueta —tres columnas, filas
   de 194 px y la primera foto a 2×2—, no una rejilla uniforme. Aquí el widget
   es la galería clásica de WordPress, así que las celdas son `figure.gallery-item`
   con el ancho en porcentaje y márgenes que pone el CSS del core: hay que
   anularlos para que el grid mande. */
.sahera-galeria-ficha .gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:194px;gap:.7rem}
/* El ancho del 33 % lo pone una hoja que gana por orden a un .elementor-kit-8 de dos
   clases: hay que nombrar la cadena entera del widget para ganarle sin !important. */
.elementor-widget.sahera-galeria-ficha .elementor-image-gallery .gallery .gallery-item{width:auto;max-width:none;margin:0;float:none;display:block}
.sahera-galeria-ficha .gallery-item:nth-child(1){grid-column:span 2;grid-row:span 2}
.sahera-galeria-ficha .gallery-icon{height:100%;margin:0}
.sahera-galeria-ficha .gallery-icon a{display:block;width:100%;height:100%;overflow:hidden;border-radius:var(--pmo-radio-s)}
.sahera-galeria-ficha img{width:100%;height:100%;object-fit:cover;display:block;border:0;border-radius:0;transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.sahera-galeria-ficha .gallery-item:hover img{transform:scale(1.06)}
@media (max-width:1024px){
.sahera-galeria-ficha .gallery{grid-template-columns:1fr 1fr;grid-auto-rows:160px}
.sahera-galeria-ficha .gallery-item:nth-child(1){grid-column:span 2}
}
@media (prefers-reduced-motion:reduce){
.sahera-galeria-ficha img{transition:none}
.sahera-galeria-ficha .gallery-item:hover img{transform:none}
}

/* Sello del Kit Digital: tarjeta blanca porque los emblemas oficiales van en
   color sobre fondo claro y no se pueden recolorear ni recortar. El texto de
   la UE es literal y obligatorio: no se resume ni se parte. */
.sahera-kitdigital{background:var(--e-global-color-sobre-oscuro);border:var(--pmo-borde);border-radius:var(--pmo-radio-m);margin-top:2.2rem}
.e-con.sahera-kitdigital>.elementor-widget{width:auto}
.sahera-kitdigital__sello{flex:0 1 330px;min-width:240px}
.sahera-kitdigital__sello img{width:100%;height:auto;display:block}
.sahera-kitdigital__texto{flex:1 1 380px;min-width:0}
.sahera-kitdigital__texto p{margin:0;font-size:.78rem;line-height:1.55}
@media (max-width:767px){.sahera-kitdigital{margin-top:1.6rem}.sahera-kitdigital__texto p{font-size:.74rem}}

/* Pie */
.sahera-pie__titulo{text-transform:uppercase;letter-spacing:.2em;opacity:.62;margin-bottom:.35rem}
.sahera-pie__lista ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.sahera-pie__lista a{color:inherit;text-decoration:none;transition:color .24s}
.sahera-pie__lista a:hover{color:var(--e-global-color-primary)}

/* Botón flotante de llamada. Sale del flujo del pie y se queda en pantalla.
   Era de WhatsApp hasta que el hotel confirmó que no lo tiene: solo móvil. */
/* Va encima del .elementor-kit-8 de idioma flotante de GTranslate (#gt_float_wrapper, 52 px de alto anclado a 20 px del borde): si no, se montan. */
.sahera-flotante{position:fixed;right:20px;bottom:calc(88px + env(safe-area-inset-bottom,0px));z-index:70;margin:0}
.sahera-flotante .elementor-button{display:flex;align-items:center;justify-content:center;width:56px;height:56px;min-height:0;padding:0;border-radius:50%;background:var(--e-global-color-primary);color:var(--e-global-color-sobre-oscuro);box-shadow:var(--pmo-sombra-2);transition:background .28s,transform .28s}
.sahera-flotante .elementor-button-content-wrapper{display:flex;align-items:center;justify-content:center;height:100%;width:100%;gap:0}
.sahera-flotante .elementor-button-icon{display:flex;align-items:center;justify-content:center;margin:0}
.sahera-flotante .elementor-button .elementor-button-icon svg,.sahera-flotante .elementor-button .elementor-button-icon i{width:23px;height:23px;font-size:23px}
.sahera-flotante .elementor-button:hover{background:var(--e-global-color-secondary);transform:scale(1.07)}
.sahera-flotante .elementor-button-text{display:none}


@media (max-width:1024px){
.sahera-rejilla-hab{grid-template-columns:repeat(2,1fr)}
.sahera-equipo{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:767px){
.e-con.sahera-rejilla-4>.elementor-widget,.e-con.sahera-rejilla-2>.elementor-widget,.e-con.sahera-pasos>.elementor-widget,.sahera-pasos>.e-con-inner>.elementor-widget{flex:1 1 100%;min-width:0}
/* Cabecera en UNA línea: logo · reservar · hamburguesa. Con los anchos en
   porcentaje que vienen del panel, el botón se iba a una segunda fila y la
   cabecera ocupaba media pantalla. El doble `.e-con` sube la especificidad por
   encima de la regla de ancho que genera Elementor. */
.sahera-cab>.e-con-inner{flex-wrap:nowrap;gap:10px}
.sahera-cab>.e-con-inner>.e-con.e-con{width:auto;flex:0 0 auto}
.sahera-cab>.e-con-inner>.e-con.e-con:first-child{flex:1 1 auto}
.sahera-cab>.e-con-inner>.elementor-widget-nav-menu{order:3;flex:0 0 auto}
.sahera-cab .elementor-button{padding:10px 16px;font-size:.82rem}
/* Las cuatro ventajas del hero, de dos en dos: en fila no caben y el icono se
   separaba de su texto. */
.sahera-ventajas,.sahera-ventajas>.e-con-inner{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}
.sahera-ventajas>.elementor-widget,.sahera-ventajas>.e-con-inner>.elementor-widget{width:auto}
.e-con.sahera-ventajas .elementor-widget-icon-box .elementor-icon-box-wrapper{display:flex;align-items:center;gap:9px;text-align:left}
.e-con.sahera-ventajas .elementor-widget-icon-box .elementor-icon-box-icon{margin:0;flex:0 0 auto}
.sahera-rejilla-hab,.sahera-equipo{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
.sahera-hab,.sahera-hab img,.sahera-boton,.sahera-mosaico img{transition:none}
.sahera-hab:hover,.sahera-boton:hover{transform:none}
.sahera-hab:hover img,.sahera-mosaico .elementor-widget-image:hover img{transform:none}
}
/* ══ SAHERA · sistema visual ══ Copiado de docs/maqueta/index.html, el diseño
   aprobado por el cliente el 2026-09-14. Las medidas no se reinterpretan. */

/* ── Botones ──────────────────────────────────────────────────────────────
   La maqueta NO usa píldoras: rectángulo de 8 px, versalitas y espaciado de
   letra. Aplicarlo aquí y no botón a botón es lo que hace que toda la web se
   vea del mismo sitio. */
.elementor-button{border-radius:var(--pmo-radio-s);font-size:.86rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;min-height:44px;padding:.92rem 1.75rem;gap:.55rem;transition:background .26s cubic-bezier(.2,.7,.3,1),color .26s,border-color .26s,transform .26s,box-shadow .26s}
.elementor-button:hover{transform:translateY(-2px);box-shadow:var(--pmo-sombra-2)}
.elementor-button .elementor-button-icon svg,.elementor-button .elementor-button-icon{width:17px;height:17px;font-size:17px}
.sahera-boton{border-radius:var(--pmo-radio-s);font-size:.86rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;padding:.92rem 1.75rem}

/* Enlace con flecha: el "VER TODAS" y el "CONÓCENOS" de la maqueta, que no son
   botones rellenos. El .elementor-kit-8 lleva `.elementor-widget-button` porque el
   color de fondo por defecto del botón lo pone Elementor con dos clases y con
   una sola no se le gana. */
.elementor-widget-button.sahera-enlace .elementor-button{background-color:transparent;background-image:none;color:var(--e-global-color-primary);border:0;border-bottom:1px solid var(--e-global-color-borde);border-radius:0;padding:.35rem 0;min-height:0;font-size:.82rem;letter-spacing:.13em}
.elementor-widget-button.sahera-enlace .elementor-button:hover{background-color:transparent;color:var(--e-global-color-secondary);transform:none;box-shadow:none;border-bottom-color:var(--e-global-color-primary)}
.sahera-enlace .elementor-button-icon{transition:transform .3s cubic-bezier(.2,.7,.3,1)}
.sahera-enlace .elementor-button:hover .elementor-button-icon{transform:translateX(4px)}

/* Pasos numerados de la tarifa corporativa. El número va DENTRO de un círculo
   y de él sale un filete hasta el paso siguiente: es lo que ata los tres y lo
   que hace que se lean como una secuencia. Un número grande suelto encima del
   título, que es lo que había, deja las tres columnas flotando sin relación.
   El filete se corta en el último paso y desaparece cuando las columnas se
   apilan, porque entonces no une nada. */
.sahera-pasos{counter-reset:sahera-paso}
.sahera-pasos .elementor-widget-icon-box{counter-increment:sahera-paso;position:relative;padding-top:2.6rem;text-align:left}
.sahera-pasos .elementor-widget-icon-box::before{content:counter(sahera-paso);position:absolute;top:0;left:0;width:34px;height:34px;border-radius:50%;background:var(--e-global-color-secondary);color:var(--e-global-color-sobre-oscuro);display:grid;place-items:center;font-size:1.05rem;font-weight:500;line-height:1}
.sahera-pasos .elementor-widget-icon-box::after{content:"";position:absolute;top:17px;left:44px;right:-24px;height:1px;background:rgba(255,255,255,.28)}
.sahera-pasos .elementor-widget-icon-box:last-child::after{display:none}
.sahera-pasos .elementor-icon-box-icon,.sahera-pasos .elementor-icon{display:none}
.sahera-pasos .elementor-icon-box-wrapper,.sahera-pasos .elementor-icon-box-content{text-align:left}
.sahera-pasos .elementor-icon-box-title{margin-bottom:.4rem}
@media (max-width:767px){.sahera-pasos .elementor-widget-icon-box::after{display:none}}

/* La hoja: el recorte orgánico de las fotos de la maqueta. No es un radio
   decorativo, es la forma que repite el logo y las lamas de la fachada, así
   que vive aquí como token y no suelta en una sección. */
.sahera-foto-hoja img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--pmo-hoja)}

/* ── Cabecera ─────────────────────────────────────────────────────────────
   Fija y transparente sobre el hero, sólida al bajar, con filete inferior. */
.home header.elementor-location-header{position:relative;z-index:60;margin-bottom:-104px}
@media (max-width:767px){.home header.elementor-location-header{margin-bottom:-76px}}
.sahera-cab{transition:background .32s cubic-bezier(.2,.7,.3,1),box-shadow .32s,padding .3s;background:var(--e-global-color-sobre-oscuro);border-bottom:1px solid var(--e-global-color-borde)}
.home .sahera-cab:not(.elementor-sticky--effects){background:transparent;border-bottom-color:rgba(255,255,255,.14);box-shadow:none}
.sahera-cab.elementor-sticky--effects{background:rgba(255,255,255,.96);backdrop-filter:blur(14px);box-shadow:var(--pmo-sombra-1)}
.sahera-cab .sahera-logo-claro{display:none}
.sahera-cab .sahera-logo-oscuro{display:block}
.home .sahera-cab:not(.elementor-sticky--effects) .sahera-logo-claro{display:block}
.home .sahera-cab:not(.elementor-sticky--effects) .sahera-logo-oscuro{display:none}
.sahera-cab .elementor-widget-image img{height:64px;width:auto;transition:height .3s cubic-bezier(.2,.7,.3,1)}
.sahera-cab.elementor-sticky--effects .elementor-widget-image img{height:50px}

/* Menú: centrado, subrayado que crece al pasar. En la portada, blanco. */
.sahera-cab .elementor-nav-menu a.elementor-item{font-size:.88rem;padding:.3rem 0;margin-inline:clamp(.2rem,.55vw,.6rem);text-transform:none;letter-spacing:.005em;white-space:nowrap}
@media (max-width:1240px){.sahera-cab .elementor-nav-menu a.elementor-item{font-size:.82rem;margin-inline:.28rem}}

/* Con el margen de escritorio, el menú (619 px) no cabía entre 1025 y 1149 px
   y saltaba a dos líneas. El relleno de cada entrada lo pone la cabecera con
   (0,5,0), así que aquí hace falta más especificidad, no la misma. */
@media (min-width:1025px) and (max-width:1149px){.sahera-cab .elementor-widget-nav-menu.elementor-element .elementor-nav-menu--main .elementor-nav-menu a.elementor-item{padding-inline:7px}}
.home .sahera-cab:not(.elementor-sticky--effects) .elementor-nav-menu a.elementor-item,
.home .sahera-cab:not(.elementor-sticky--effects) .elementor-nav-menu a.elementor-item:hover,
.home .sahera-cab:not(.elementor-sticky--effects) .elementor-nav-menu a.elementor-item.elementor-item-active,
.home .sahera-cab:not(.elementor-sticky--effects) .sahera-idiomas{color:var(--e-global-color-sobre-oscuro)}

/* La hamburguesa sobre el hero. Dos cosas a la vez, y ninguna se ve venir:
   el icono es un SVG en linea, asi que Elementor le fija el color por el `fill`
   del svg y no solo por el `color` heredado; y su .elementor-kit-8 por elemento empata
   en especificidad con el de aqui y carga despues, asi que gana el desempate.
   De ahi el `body` delante: sube un punto y deja de depender del orden. */
body.home .sahera-cab:not(.elementor-sticky--effects) div.elementor-menu-toggle,
body.home .sahera-cab:not(.elementor-sticky--effects) div.elementor-menu-toggle:hover,
body.home .sahera-cab:not(.elementor-sticky--effects) div.elementor-menu-toggle:focus{color:var(--e-global-color-sobre-oscuro);background-color:transparent}
body.home .sahera-cab:not(.elementor-sticky--effects) div.elementor-menu-toggle svg{fill:var(--e-global-color-sobre-oscuro)}

/* Botón de la cabecera: fondo blanco sobre el hero, verde al bajar. */
.home .sahera-cab:not(.elementor-sticky--effects) .elementor-button{background:var(--e-global-color-sobre-oscuro);color:var(--e-global-color-primary);border-color:var(--e-global-color-sobre-oscuro)}
.sahera-cab .elementor-button{padding:.6rem 1.3rem;font-size:.73rem;min-height:40px}

/* ── Hero ─────────────────────────────────────────────────────────────────
   Velo doble casi negro. El `velo` del kit es demasiado claro para una fachada
   a mediodía: la maqueta usa rgba(2,22,18,…), y eso es lo que se copia. */
/* El hero ocupa exactamente la pantalla, para que el buscador de fechas entre
   en la primera vista. `svh` y no `vh` porque en móvil `vh` cuenta la barra del
   navegador que luego se esconde, y el hero quedaba más alto que la pantalla.
   El aire va en unidades de pantalla, no en píxeles: en un portátil de 700 px
   un padding de 150 se come justo lo que hace falta ver.
   El relleno superior SUMA el alto de la cabecera (93 px, que va encima en
   transparente): con un clamp suelto, en pantallas de 720-770 px de alto el
   titular empezaba por encima del filete de la cabecera. */
.e-con.sahera-hero{min-height:100svh;padding-block:calc(93px + clamp(18px,4.5svh,56px)) clamp(14px,3svh,26px);display:flex;flex-direction:column;justify-content:space-between}
.sahera-hero{position:relative;isolation:isolate;overflow:hidden;color:var(--e-global-color-sobre-oscuro)}
/* Pantallas bajas —portátiles de 13 pulgadas, sobre todo—: se comprime la
   tipografía antes que dejar el buscador fuera de la vista. */
@media (max-height:820px) and (min-width:768px){
.sahera-hero .sahera-h1 .elementor-heading-title{font-size:clamp(30px,3.6vw,46px)}
.sahera-hero .sahera-sub p{font-size:1rem}
.sahera-hero .sahera-ventajas .elementor-icon-box-title{font-size:.8rem}
.sahera-hero .sahera-ventajas .elementor-widget{padding-block:.1rem}
}
/* En móvil el hero también cabe en una pantalla: se aprieta la tipografía y el
   aire antes que dejar media portada fuera de la primera vista. */
@media (max-width:767px){
.e-con.sahera-hero{padding-block:calc(72px + clamp(14px,3svh,28px)) clamp(12px,2.5svh,20px)}
.sahera-hero .sahera-h1 .elementor-heading-title{font-size:clamp(29px,8.2vw,36px);line-height:1.08}
.sahera-hero .sahera-sub p{font-size:.94rem;line-height:1.45}
.sahera-hero .sahera-lema .elementor-heading-title{font-size:.66rem}
.sahera-hero .sahera-ventajas .elementor-icon-box-title{font-size:.74rem;line-height:1.25}
.sahera-hero .sahera-ventajas .elementor-icon-box-icon svg,.sahera-hero .sahera-ventajas .elementor-icon{width:17px;height:17px;font-size:17px}
.sahera-hero .sahera-sitio p{font-size:.64rem;line-height:1.5}
}
/* El velo va DENTRO de `.e-con-inner`, no en el contenedor.
   Elementor inyecta el vídeo de fondo dentro del hijo interior, así que
   cualquier velo puesto en el contenedor exterior queda por debajo del vídeo
   por mucho z-index que se le dé (comprobado midiendo píxeles: solo se veía en
   las bandas laterales, donde no llega el vídeo).
   El `inset` lateral negativo lo saca del ancho máximo del contenedor para que
   cubra la pantalla entera; el `overflow:hidden` del hero lo recorta. */

.sahera-hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(2,22,18,.66) 0%,rgba(2,22,18,.22) 26%,rgba(2,22,18,.14) 46%,rgba(2,22,18,.74) 100%),linear-gradient(100deg,rgba(2,22,18,.58) 0%,rgba(2,22,18,.30) 40%,rgba(2,22,18,0) 68%)}
.sahera-hero>.e-con{position:relative;z-index:2}
.sahera-hero .elementor-background-video-container{position:absolute;inset:0;z-index:0;overflow:hidden}

/* Fondo de YouTube. El reproductor enseña arriba el título del vídeo y el
   canal, abajo la marca, y un botón de pausa en el centro cuando el ratón le
   llega por los huecos entre bloques (salía en la captura del cliente). Se
   amplía un 25 % para que el título y la marca queden fuera del recorte, y se
   le quitan los eventos de ratón. El translate es el de Elementor: un
   transform suelto lo pisaba y el vídeo se iba a la esquina. */
.sahera-hero .elementor-background-video-container .elementor-background-video-embed,
.sahera-hero-interior .elementor-background-video-container .elementor-background-video-embed{transform:translate(-50%,-50%) scale(1.25);pointer-events:none}

/* Y se esconden mientras YouTube enseña su botón de pausa de arranque. La clase la
   pone y la quita el snippet del sitio; sin ella, el vídeo se ve como siempre. */
.sahera-hero .elementor-background-video-embed,.sahera-hero-interior .elementor-background-video-embed{transition:opacity .8s ease}

.sahera-video-espera .sahera-hero .elementor-background-video-embed,.sahera-video-espera .sahera-hero-interior .elementor-background-video-embed{opacity:0}

@media (prefers-reduced-motion:reduce){.sahera-hero .elementor-background-video-embed,.sahera-hero-interior .elementor-background-video-embed{transition:none}}
.sahera-hero video{width:100%;height:100%;object-fit:cover;position:static;z-index:0}

.sahera-h1 .elementor-heading-title{font-size:clamp(38px,5.4vw,68px);line-height:1.05}
.sahera-h1 i{font-style:italic;color:var(--e-global-color-arena);font-weight:500}
.sahera-lema .elementor-heading-title{display:flex;align-items:center;gap:.85rem;font-size:.71rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.88)}
.sahera-lema .elementor-heading-title::before{content:"";width:34px;height:1px;background:var(--e-global-color-arena);flex:none}
.sahera-sub{max-width:40ch}
.sahera-sub p{font-size:clamp(1rem,1.3vw,1.1rem);color:rgba(255,255,255,.94)}

/* Bloque de sitio, arriba a la derecha del hero. */
.sahera-sitio{text-align:right}
.sahera-sitio .elementor-icon-list-item{justify-content:flex-end}
.sahera-sitio .elementor-icon-list-text{font-size:1rem}
.sahera-sitio p{font-size:.71rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.78);line-height:1.65;margin:0}

/* Barra de reserva: el ancho y la sombra de la maqueta. El widget de Kross se
   pinta dentro, así que aquí solo va la caja. */
.sahera-motor{width:min(1060px,92vw);margin-inline:auto;background:var(--e-global-color-sobre-oscuro);border-radius:var(--pmo-radio-m);padding:.5rem;box-shadow:0 24px 54px -20px rgba(0,0,0,.5);color:var(--e-global-color-text)}
.sahera-motor:empty,.sahera-motor .elementor-widget-shortcode:empty{min-height:74px}

/* Ventajas: cuatro columnas centradas con filete entre ellas. */
.sahera-ventajas,.sahera-ventajas>.e-con-inner{display:grid;grid-template-columns:repeat(4,1fr);width:min(1060px,92vw);margin-inline:auto;gap:0}
.sahera-ventajas .elementor-widget{padding:.2rem .9rem;width:auto}
.sahera-ventajas .elementor-widget+.elementor-widget{border-left:1px solid rgba(255,255,255,.24)}
.sahera-ventajas .elementor-icon-box-wrapper{display:flex;align-items:center;justify-content:center;gap:.75rem;text-align:left}
.sahera-ventajas .elementor-icon-box-icon{margin:0;flex:0 0 auto}
.sahera-ventajas .elementor-icon-box-title{font-size:.86rem;line-height:1.3;margin:0}
@media (max-width:767px){
.sahera-ventajas,.sahera-ventajas>.e-con-inner{grid-template-columns:1fr 1fr;gap:.2rem}
.sahera-ventajas .elementor-widget+.elementor-widget{border-left:0}
.sahera-ventajas .elementor-widget:nth-child(2n){border-left:1px solid rgba(255,255,255,.24)}
}
/* ══ SAHERA · componentes ══ Copiados de docs/maqueta/index.html. */

/* Tarjeta con icono. En la maqueta es BLANCA sobre el gris de sección: con el
   fondo `superficie` del kit se confundía con la sección y no se veía caja. */
.sahera-tarjeta{background:var(--e-global-color-sobre-oscuro);border:1px solid var(--e-global-color-borde);border-radius:var(--pmo-radio-m);padding:1.55rem 1.5rem;box-shadow:var(--pmo-sombra-1);text-align:left;transition:box-shadow .3s cubic-bezier(.2,.7,.3,1),transform .3s,border-color .3s}
.sahera-tarjeta:hover,.sahera-tarjeta:focus-within{box-shadow:var(--pmo-sombra-2);transform:translateY(-4px)}
.sahera-tarjeta .elementor-icon-box-wrapper{text-align:left}
.sahera-tarjeta .elementor-icon-box-icon{margin:0 0 .95rem;justify-content:flex-start}
.sahera-tarjeta .elementor-icon{font-size:25px}
.sahera-tarjeta .elementor-icon-box-title{margin:0 0 .35rem}
.sahera-tarjeta .elementor-icon-box-description{margin:0;color:var(--e-global-color-tinta-suave)}
.sahera-tarjeta--mini{padding:1.05rem 1.2rem}
.sahera-tarjeta--mini .elementor-icon-box-icon{margin-bottom:0}

/* Rejillas: las tarjetas NO crecen para rellenar la última fila; en la maqueta
   son columnas fijas y la fila incompleta se queda a la izquierda. */
.e-con.sahera-rejilla-4>.elementor-widget,.sahera-rejilla-4>.e-con-inner>.elementor-widget{flex:0 0 calc(25% - 15px);min-width:0}
.e-con.sahera-rejilla-2>.elementor-widget,.sahera-rejilla-2>.e-con-inner>.elementor-widget{flex:0 0 calc(50% - 7px);min-width:0}
.e-con.sahera-pasos>.elementor-widget,.sahera-pasos>.e-con-inner>.elementor-widget{flex:0 0 calc(33.333% - 16px);min-width:0}
@media (max-width:1024px){
.e-con.sahera-rejilla-4>.elementor-widget,.sahera-rejilla-4>.e-con-inner>.elementor-widget{flex:0 0 calc(50% - 10px)}
}
@media (max-width:767px){
.e-con.sahera-rejilla-4>.elementor-widget,.e-con.sahera-rejilla-2>.elementor-widget,.e-con.sahera-pasos>.elementor-widget,
.sahera-rejilla-4>.e-con-inner>.elementor-widget,.sahera-rejilla-2>.e-con-inner>.elementor-widget,.sahera-pasos>.e-con-inner>.elementor-widget{flex:1 1 100%}
}

/* Rejilla de tres, con el mismo criterio que las de cuatro y dos: columnas
   fijas y la fila incompleta se queda a la izquierda. */
.e-con.sahera-rejilla-3>.elementor-widget,.sahera-rejilla-3>.e-con-inner>.elementor-widget{flex:0 0 calc(33.333% - 14px);min-width:0}
@media (max-width:1024px){.e-con.sahera-rejilla-3>.elementor-widget,.sahera-rejilla-3>.e-con-inner>.elementor-widget{flex:0 0 calc(50% - 10px)}}
@media (max-width:767px){.e-con.sahera-rejilla-3>.elementor-widget,.sahera-rejilla-3>.e-con-inner>.elementor-widget{flex:1 1 100%}}

/* Datos de contacto: el icono, la etiqueta y el dato en una línea, con el dato
   destacado. Mismo filete que la lista de distancias. */
.sahera-datos-contacto .elementor-icon-list-items{padding:0}
.sahera-datos-contacto .elementor-icon-list-item{padding:.8rem 0;border-bottom:1px solid var(--e-global-color-superficie-2)}
.sahera-datos-contacto .elementor-icon-list-text{display:flex;justify-content:space-between;align-items:baseline;gap:1.2rem;width:100%;color:var(--e-global-color-tinta-suave)}
.sahera-datos-contacto b{font-weight:400;color:var(--e-global-color-text);text-align:right}
.sahera-datos-contacto a:hover b{color:var(--e-global-color-primary)}

/* Formulario: los campos toman el borde y el radio del kit, que Elementor deja
   con su propio gris por defecto. */
.sahera-formulario .elementor-field-group .elementor-field{border:1px solid var(--e-global-color-borde);border-radius:var(--pmo-radio-s);padding:.85rem 1rem;background:var(--e-global-color-sobre-oscuro);color:var(--e-global-color-text)}
.sahera-formulario .elementor-field-group .elementor-field:focus{border-color:var(--e-global-color-secondary);outline:none}
.sahera-formulario .elementor-field-label{font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--e-global-color-tinta-suave);margin-bottom:.35rem}
.sahera-formulario .elementor-field-type-acceptance{font-size:.86rem;color:var(--e-global-color-tinta-suave)}
.sahera-formulario .elementor-button{width:100%;justify-content:center}

/* Cabecera de sección: título a la izquierda, enlace a la derecha, abajo. */
.sahera-cab-seccion,.sahera-cab-seccion>.e-con-inner{align-items:flex-end}
.e-con.sahera-cab-seccion>.e-con,.e-con.sahera-cab-seccion>.elementor-widget,
.sahera-cab-seccion>.e-con-inner>.e-con,.sahera-cab-seccion>.e-con-inner>.elementor-widget{width:auto;flex:0 1 auto}

/* Entradilla y texto secundario en el gris de la maqueta. */
.sahera-entradilla p,.sahera-entradilla{color:var(--e-global-color-tinta-suave)}

/* Mosaico de la galería: cuatro columnas, filas de 172 px, con dos celdas
   grandes. Es el bento que aprobó el cliente, no una rejilla uniforme. */
.sahera-mosaico,.sahera-mosaico>.e-con-inner{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:172px;gap:.7rem}
.sahera-mosaico .elementor-widget-image{overflow:hidden;border-radius:var(--pmo-radio-s);width:auto}
.sahera-mosaico .elementor-widget-image,.sahera-mosaico .elementor-widget-image>.elementor-widget-container,.sahera-mosaico .elementor-widget-image figure,.sahera-mosaico .elementor-widget-image a{display:block;width:100%;height:100%}
.sahera-mosaico img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.sahera-mosaico .elementor-widget-image:hover img{transform:scale(1.07)}
.sahera-mosaico .elementor-widget-image:nth-child(1){grid-column:span 2;grid-row:span 2}
.sahera-mosaico .elementor-widget-image:nth-child(6){grid-column:span 2}
@media (max-width:1024px){
.sahera-mosaico,.sahera-mosaico>.e-con-inner{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}
.sahera-mosaico .elementor-widget-image:nth-child(6){grid-column:span 2}
}

/* Banda de marca y cierre sobre foto: el antetítulo pierde el verde. */
.sahera-banda .elementor-heading-title,.sahera-cierre .elementor-heading-title{color:var(--e-global-color-sobre-oscuro)}
/* El antetítulo del cierre pierde el verde: sobre el velo no se leería. */
.sahera-cierre .sahera-antetitulo .elementor-heading-title{color:var(--e-global-color-arena)}
/* Sobre el velo el botón principal va claro; el segundo, contorno claro. */
.sahera-cierre .sahera-boton{background:var(--e-global-color-sobre-oscuro);color:var(--e-global-color-primary)}
.sahera-cierre .sahera-boton:hover{background:var(--e-global-color-arena);color:var(--e-global-color-primary)}
.elementor-widget-button.sahera-boton-contorno .elementor-button{background-color:transparent;background-image:none;border:1px solid rgba(255,255,255,.55);color:var(--e-global-color-sobre-oscuro)}
.elementor-widget-button.sahera-boton-contorno .elementor-button:hover{background-color:rgba(255,255,255,.14);border-color:var(--e-global-color-sobre-oscuro)}

/* Botón de línea: contorno verde sobre fondo claro. Es el secundario de la
   maqueta, el que acompaña al de reservar sin competir con él. El .elementor-kit-8
   nombra el widget porque el fondo del botón lo genera Elementor con dos
   clases y con una sola no se le gana. */
.elementor-widget-button.sahera-boton-linea .elementor-button{background-color:transparent;background-image:none;border:1px solid var(--e-global-color-borde);color:var(--e-global-color-primary)}
.elementor-widget-button.sahera-boton-linea .elementor-button:hover{background-color:transparent;border-color:var(--e-global-color-primary);color:var(--e-global-color-secondary)}
.sahera-acciones{align-items:center}

/* «Otras habitaciones» desaparece cuando no hay ninguna que proponer. Pasa en
   la ficha de la adaptada —está fuera de la escala y hoy es la única— y en las
   de arriba de la escala. Un título sobre un hueco es peor que no tener la
   sección, y el día que haya algo que proponer vuelve sola. */
.sahera-otras:not(:has(.sahera-hab)){display:none}

/* Índice de la guía del huésped: rejilla de temas, cada uno con su icono.
   Toda la tarjeta es el enlace, que es lo que se espera al verla. */
.sahera-guia-indice{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.sahera-guia-tema{display:block;padding:1.5rem 1.6rem;text-decoration:none;color:inherit}
.sahera-guia-tema i{display:block;width:28px;height:28px;margin-bottom:.9rem;background:currentColor;color:var(--e-global-color-secondary)}
.sahera-guia-tema h3{margin:0 0 .35rem;font-size:1.08rem;color:var(--e-global-color-text)}
.sahera-guia-tema p{margin:0;font-size:.92rem;color:var(--e-global-color-tinta-suave)}
.sahera-guia-tema:hover h3{color:var(--e-global-color-primary)}
@media (max-width:1024px){.sahera-guia-indice{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.sahera-guia-indice{grid-template-columns:1fr}}

/* Cuerpo de una ficha de la guía: el texto del editor con aire, que es lo que
   se lee de verdad en el móvil con el QR recién escaneado. */
/* Intertítulos y títulos de bloque del texto de la guía, con los roles del kit
   y el color de marca: a peso normal y casi del tamaño del texto se perdían. */
.sahera-guia__texto h3{margin:2rem 0 .55rem;font-family:var(--e-global-typography-intertitulo-font-family),sans-serif;font-size:var(--e-global-typography-intertitulo-font-size);font-weight:var(--e-global-typography-intertitulo-font-weight);line-height:var(--e-global-typography-intertitulo-line-height);color:var(--e-global-color-primary)}
.sahera-guia__texto :is(h2,h3):first-child{margin-top:0}
.sahera-guia__texto ul{margin:.6rem 0 0;padding-left:1.15rem}
.sahera-guia__texto li{margin-bottom:.45rem}
.sahera-guia__texto p+p{margin-top:.9rem}

/* Ficha de la guia: el texto a ancho de lectura y una foto de apoyo a su
   derecha, que sigue al scroll. La foto es opcional (campo ACF vacio = widget
   que Elementor no llega a imprimir), asi que la rejilla se colapsa sola con
   :has() y el texto se centra, en vez de dejar el hueco de antes. */
/* El reparto de las dos columnas va en el `width` de cada contenedor del JSON,
   como en el resto del sitio: escribirlo aqui con flex/width no sirve, porque
   `.e-con.e-flex` de Elementor es mas especifico que una clase suelta y reimpone
   var(--flex-basis)/var(--width). Aqui queda solo lo que Elementor no controla. */
.sahera-guia__rejilla{align-items:flex-start}
.sahera-guia__col-foto{position:sticky;top:6.5rem}
.sahera-guia__rejilla:not(:has(.sahera-guia__foto)) .sahera-guia__col-foto{display:none}
.sahera-guia__rejilla:not(:has(.sahera-guia__foto)) .sahera-guia__col-texto{margin-inline:auto}
/* Sin foto, la columna se centra; el boton es hermano de la rejilla y no se
   entera, asi que se le da a mano el mismo margen (la columna es del 60 %). */
@media (min-width:1025px){.sahera-guia__rejilla:not(:has(.sahera-guia__foto))+.sahera-enlace{margin-left:20%}}
@media (max-width:1024px){.sahera-guia__rejilla{flex-direction:column;gap:2rem}
.sahera-guia__col-foto{position:static;max-width:22rem}}

/* Lista de distancias de ubicación: el sitio a la izquierda y el tiempo a la
   derecha, con filete bajo cada fila —incluida la última, como la maqueta—.
   Sin icono: el dato alineado a la derecha ya hace de ancla y la maqueta no
   lo lleva aquí. El tiempo viaja dentro de un <b> en el texto del widget,
   porque el valor y la etiqueta tienen que ser dos cajas para separarse. */
.sahera-lugares .elementor-icon-list-icon{display:none}
.sahera-lugares .elementor-icon-list-items{padding:0}
.sahera-lugares .elementor-icon-list-item{padding:.85rem 0;border-bottom:1px solid var(--e-global-color-superficie-2)}
.sahera-lugares .elementor-icon-list-text{display:flex;justify-content:space-between;gap:1.5rem;width:100%;padding:0}
.sahera-lugares b{font-weight:400;color:var(--e-global-color-secondary);font-variant-numeric:tabular-nums}

/* Mapa de ubicación. La altura la manda el control del widget —690 px en
   escritorio, que es el 4/5 de la maqueta sobre una columna de 552— y NO se
   toca por CSS: con `aspect-ratio` el alto se resolvía después de cargar el
   iframe, y el mapa de Google, que no escucha cambios de tamaño, se quedaba
   congelado a medio desplegar. La clase no es `sahera-mapa` porque el set de
   iconos del proyecto ya tiene un icono con ese nombre. */
.elementor-widget.sahera-mapa-embed .elementor-custom-embed{border-radius:var(--pmo-radio-m);overflow:hidden;border:var(--pmo-borde)}
.elementor-widget.sahera-mapa-embed iframe{width:100%;height:100%;display:block;border-radius:var(--pmo-radio-m)}

/* Cierre sobre foto: velo verde de marca, la medida exacta de la maqueta. Sin
   él el titular blanco cae sobre una pared blanca y no se lee; es el mismo
   fallo que se corrigió en el hero. Aquí el velo SÍ va en el contenedor, al
   revés que en el hero: la foto es fondo del propio contenedor (no un vídeo
   inyectado en el hijo interior), y puesto en `.e-con-inner` dejaba sin cubrir
   las dos bandas del padding vertical. `::after` y no `::before`, que Elementor
   se reserva para su superposición; y no sirve el `pmo-velo` del kit, cuyo
   `z-index:-1` lo manda por detrás del fondo. */
.sahera-cierre{position:relative;isolation:isolate;overflow:hidden}
.sahera-cierre::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:rgba(0,58,47,.74)}
.sahera-cierre>.e-con-inner{position:relative;z-index:2}


/* ── Octubre de 2026: Conócenos, tarifas corporativas, popup y guía ─────────── */

/* Notas pequeñas bajo un botón en las bandas de color. */
.sahera-nota-banda p{margin:0;opacity:.86}

.sahera-destacado-banda .elementor-heading-title{letter-spacing:.02em}

/* Cartel de los estudios: lleva texto dentro, así que se enseña entero, sin
   recorte de hoja ni object-fit. Solo esquinas y sombra. */
.sahera-cartel img{width:100%;height:auto;display:block;border-radius:var(--pmo-radio-m);box-shadow:var(--pmo-sombra-2)}
/* Ficha de habitación: si el tipo trae «Imagen entera» (el cartel de los
   estudios), sale ella y no la destacada recortada en hoja, que del cartel
   solo dejaba ver el plano. Sin el campo, Elementor no pinta el widget y la
   hoja vuelve sola. */
.elementor-element:has(> .sahera-foto-entera) > .sahera-foto-hoja{display:none}
/* Y esa columna sube arriba y acompaña al texto mientras dura la sección,
   como la foto de la guía (mismo tope, que deja libre la cabecera fija).
   El alto se limita a la ventana para que en un portátil bajo no se quede
   el pie del cartel fuera mientras va pegado. Solo en escritorio: por
   debajo las columnas se apilan. */
@media (min-width:1025px){.elementor-element:has(> .sahera-foto-entera){align-self:flex-start;position:sticky;top:6.5rem}
.sahera-foto-entera img{width:auto;max-width:100%;max-height:calc(100vh - 8rem)}}

/* Cita destacada dentro de un zigzag. */
.sahera-cita .elementor-blockquote{margin:.4rem 0 0;padding:.3rem 0 .3rem 1.2rem;border-left-width:3px}

.sahera-cita .elementor-blockquote__content{margin:0;font-style:italic;max-width:var(--pmo-medida)}

/* Lista de lo que tienen los estudios: dos columnas con icono. */
.sahera-lista-estudio .elementor-icon-list-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1.4rem}

.sahera-lista-estudio .elementor-icon-list-item{margin:0;padding:0}

.sahera-lista-estudio .elementor-icon-list-icon i,.sahera-lista-detalles .elementor-icon-list-icon i{font-size:21px}

/* Los detalles de «Detrás de SAHERA»: fichas pequeñas en rejilla de dos. */
.e-con>.elementor-widget.sahera-lista-detalles{width:min(640px,100%)}

.sahera-lista-detalles .elementor-icon-list-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}

.sahera-lista-detalles .elementor-icon-list-item{margin:0;padding:.85rem 1rem;background:var(--e-global-color-sobre-oscuro);border:var(--pmo-borde);border-radius:var(--pmo-radio-s);box-shadow:var(--pmo-sombra-1);text-align:left}

.sahera-sello-hoja .elementor-icon{font-size:38px}

.sahera-firma .elementor-heading-title{font-style:italic}

.sahera-firma .elementor-heading-title::before{content:"— "}

@media (max-width:767px){.sahera-lista-estudio .elementor-icon-list-items,.sahera-lista-detalles .elementor-icon-list-items{grid-template-columns:1fr}}

/* Zonas comunes en bento: patio a lo ancho, eventos a lo alto, salón y
   recepción debajo. Las fotos son widgets (llevan alt) colocados detrás, con el
   velo en ::after del contenedor, que es donde está la foto. */
.sahera-bento,.sahera-bento>.e-con-inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(300px,auto);gap:14px;width:100%}

.e-con.sahera-bento__celda{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--pmo-radio-m);min-height:280px;width:auto}

.sahera-bento__a{grid-column:1 / 3}

.sahera-bento__c{grid-column:3;grid-row:1 / 3}

.elementor-widget.sahera-bento__media{position:absolute;inset:0;z-index:0;margin:0}

.sahera-bento__media a,.sahera-bento__media img{display:block;width:100%;height:100%}

.sahera-bento__media img{object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.3,1)}

.sahera-bento__foto::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(2,22,18,.12) 0%,rgba(2,22,18,.48) 40%,rgba(2,22,18,.88) 100%)}

.e-con.sahera-bento__celda>.elementor-widget:not(.sahera-bento__media){position:relative;z-index:2;width:100%}

.sahera-bento__foto:hover .sahera-bento__media img{transform:scale(1.04)}

/* El patio, encuadrado en los sillones y no en el cristal de arriba. */
.sahera-bento__a .sahera-bento__media img{object-position:50% 74%}

.sahera-bento__celda p{margin:0}

.sahera-bento__icono .elementor-icon{font-size:30px}

@media (max-width:1024px){
.sahera-bento,.sahera-bento>.e-con-inner{grid-template-columns:repeat(2,minmax(0,1fr))}
.sahera-bento__a{grid-column:1 / 3}
.sahera-bento__c{grid-column:auto;grid-row:auto}
}

@media (max-width:767px){
.sahera-bento,.sahera-bento>.e-con-inner{grid-template-columns:1fr;grid-auto-rows:auto}
.sahera-bento__a{grid-column:auto}
.e-con.sahera-bento__foto{min-height:300px}
.e-con.sahera-bento__celda:not(.sahera-bento__foto){min-height:0}
}

@media (prefers-reduced-motion:reduce){.sahera-bento__media img{transition:none}.sahera-bento__foto:hover .sahera-bento__media img{transform:none}}

/* Preguntas frecuentes: acordeón a medida de lectura, filete entre preguntas y
   el más/menos del set propio a la derecha. */
.e-con>.elementor-widget.sahera-faq{width:min(820px,100%)}

.sahera-faq .elementor-accordion .elementor-accordion-item{border:0;border-bottom:1px solid var(--e-global-color-borde)}

.sahera-faq .elementor-accordion .elementor-accordion-item+.elementor-accordion-item{border-top:0}

.sahera-faq .elementor-accordion .elementor-tab-title{padding:1.2rem .2rem;border:0}

.sahera-faq .elementor-accordion .elementor-tab-content{padding:0 .2rem 1.3rem;border:0}

.sahera-faq .elementor-accordion .elementor-tab-content p{margin:0}

.sahera-faq .elementor-accordion-icon i{font-size:18px}

/* Popup de la tarifa corporativa: panel de marca y formulario. */
.sahera-popup .sahera-popup__cifra .elementor-heading-title{font-size:clamp(54px,6vw,76px)}

.sahera-popup__panel .elementor-widget-text-editor p,.sahera-popup__entradilla p{margin:0}

.sahera-popup__ventaja .elementor-icon-box-wrapper{display:flex;align-items:flex-start;gap:.6rem;text-align:left}

.sahera-popup__ventaja .elementor-icon-box-icon{margin:0}

.sahera-popup__ventaja .elementor-icon-box-title{margin:0}

.sahera-popup .sahera-formulario .elementor-field-group{margin-bottom:10px}

.sahera-popup .sahera-formulario .elementor-field-label{font-size:.82rem}

.elementor-popup-modal:has(.sahera-popup) .dialog-message{max-height:94svh;overflow-y:auto}

@media (max-width:767px){
.sahera-popup .sahera-popup__ventaja,.sahera-popup .sahera-popup__panel .elementor-widget-text-editor{display:none}
.sahera-popup .sahera-popup__cifra .elementor-heading-title{font-size:46px}
.elementor-popup-modal:has(.sahera-popup) .dialog-close-button{color:var(--e-global-color-sobre-oscuro)}
.elementor-popup-modal:has(.sahera-popup) .dialog-close-button svg{fill:var(--e-global-color-sobre-oscuro)}
}

/* Guía: sitios recomendados con su icono y su enlace al mapa. */
.sahera-guia__texto h2{margin:2.6rem 0 .6rem;font-family:var(--e-global-typography-subtitulo-font-family),sans-serif;font-size:var(--e-global-typography-subtitulo-font-size);font-weight:var(--e-global-typography-subtitulo-font-weight);line-height:var(--e-global-typography-subtitulo-line-height);color:var(--e-global-color-primary)}

.sahera-guia__texto ul.sahera-sitios{list-style:none;padding:0;margin:.8rem 0 0;display:grid;gap:.6rem}

.sahera-guia__texto ul.sahera-sitios+ul.sahera-sitios{margin-top:.6rem}

.sahera-guia__texto .sahera-sitios li{display:flex;align-items:flex-start;gap:.85rem;margin:0;padding:.95rem 1.1rem;background:var(--e-global-color-superficie);border:var(--pmo-borde);border-radius:var(--pmo-radio-s)}

.sahera-sitios li>i{flex:none;font-size:22px;margin-top:.15rem;color:var(--e-global-color-secondary)}

.sahera-sitios li>span>a,.sahera-sitios li>span>strong{display:block;margin-bottom:.15rem;font-weight:600;color:var(--e-global-color-primary)}

.sahera-sitios li>span>a{text-decoration:none}

.sahera-sitios li>span>a::after{content:" ↗";font-weight:400}

.sahera-sitios li>span>a:hover,.sahera-sitios li>span>a:focus-visible{text-decoration:underline}

/* Vídeo de la guía: 16:9 sin depender de que el tema active los embebidos
   adaptables. La altura la da el envoltorio, no el iframe. */
.sahera-guia__texto .wp-block-embed{margin:1rem 0 .4rem}

.sahera-guia__texto .wp-block-embed__wrapper{position:relative;aspect-ratio:16/9;border-radius:var(--pmo-radio-m);overflow:hidden;background:var(--e-global-color-superficie-2)}

.sahera-guia__texto .wp-block-embed__wrapper iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.sahera-videos-idiomas{font-size:.92rem}

/* Ficha de habitación: una tarjeta de dato sin dato no se publica (al estudio
   le falta «Camas» y salía la tarjeta con el título solo). Elementor ni pinta
   la descripción cuando el campo viene vacío, de ahí el :not(:has()). */
.elementor-widget.sahera-dato:not(:has(.elementor-icon-box-description:not(:empty))){display:none}

/* El aviso de «todavía no se puede reservar» dentro de la banda verde del
   cierre salía en gris oscuro sobre verde: ilegible. */
.sahera-cierre .sahera-aviso-pronto{color:var(--e-global-color-sobre-oscuro);opacity:.88}

/* Desplegables de los formularios: Elementor pone la clase .elementor-field en
   el envoltorio Y el select, así que la regla de campos del kit los
   enmarcaba dos veces. El borde va en el select; el envoltorio, limpio. */
.sahera-formulario .elementor-field-group .elementor-select-wrapper.elementor-field{border:0;padding:0;background:none}

.sahera-formulario .elementor-field-group .elementor-select-wrapper select{width:100%;height:auto;border:1px solid var(--e-global-color-borde);border-radius:var(--pmo-radio-s);padding:.85rem 2.6rem .85rem 1rem;background:var(--e-global-color-sobre-oscuro);color:var(--e-global-color-text)}

.sahera-formulario .elementor-field-group .elementor-select-wrapper select:focus{border-color:var(--e-global-color-secondary);outline:none}

/* Revisión de dirección de arte del 05/10. */

/* El aviso de «todavía no se puede reservar» en el hero de la ficha: blanco
   sobre el velo (medía 1,9:1). */
.sahera-hero-interior .sahera-aviso-pronto{color:var(--e-global-color-sobre-oscuro);opacity:.88}

/* Cierre de la ficha: dos juegos de titular, uno para lo que se puede reservar
   y otro para lo que está en «Próximamente». Manda el botón que pinte el
   shortcode de reserva (sahera-boton--pronto). Sin CSS se verían los dos. */
.sahera-cierre:not(:has(.sahera-boton--pronto)) .elementor-widget.sahera-si-pronto{display:none}

.sahera-cierre:has(.sahera-boton--pronto) .elementor-widget.sahera-si-reservable{display:none}

/* Las píldoras de «Detrás de SAHERA»: el CSS de la lista de Elementor ganaba
   y salían sin relleno ni borde. */
.elementor-widget.sahera-lista-detalles .elementor-icon-list-items .elementor-icon-list-item{margin:0;padding:.85rem 1rem;background:var(--e-global-color-sobre-oscuro);border:var(--pmo-borde);border-radius:var(--pmo-radio-s);box-shadow:var(--pmo-sombra-1);text-align:left;align-items:flex-start}

/* La hoja del sello, grande y casi transparente, en el hueco de arriba de la
   celda de eventos y al pie del panel del popup. */
.e-con.sahera-bento__celda>.elementor-widget.sahera-bento__sello{position:absolute;top:-34px;right:-40px;z-index:0;width:auto;margin:0;opacity:.14;pointer-events:none}

.sahera-bento__sello .elementor-icon{font-size:230px}

.elementor-widget.sahera-popup__sello{margin-top:auto;opacity:.16;pointer-events:none}

.sahera-popup__sello .elementor-icon{font-size:110px}

/* Las imágenes con texto incrustado se nombran «…cartel…» y en una galería se
   enseñan enteras, no recortadas. */
.sahera-galeria-ficha img[src*="cartel"]{object-fit:contain;background:var(--e-global-color-superficie-2)}

@media (max-width:767px){
.elementor-widget.sahera-popup__sello{display:none}
.elementor-popup-modal:has(.sahera-popup) .dialog-widget-content{background:transparent;box-shadow:none}
.elementor-popup-modal:has(.sahera-popup) .dialog-message{margin-inline:auto}
}

/* «Excelente» en la franja de cifras: la valoración que da el widget de Booking,
   que no es un número. Se compone como un contador: cifra y etiqueta pegadas. */
.sahera-cifra-texto .elementor-heading-title{line-height:1.1}

.sahera-cifra-etiqueta p{margin:0}

/* La foto lateral de la guia es una clase compartida (sahera-foto-hoja) para las once fichas,
   siempre centrada (object-position por defecto). La de "Desayuno y cafe" (post 233) recorta
   la cafetera entera fuera de encuadre con el centrado por defecto: el aparato queda en el
   primer cuarto izquierdo del fichero original y el recorte 4:5 centrado empieza mas a la
   derecha. Se corrige solo para esta ficha por el body class que WordPress ya pone en un
   single (postid-<ID>), sin tocar la clase compartida ni las otras diez fichas. */
body.postid-233 .sahera-foto-hoja img{object-position:10% center}

/* Lo mismo para "Como se entra" (post 203): el toten queda pegado al borde derecho con
   el centrado por defecto y la curva superior de la hoja (62% en esa esquina) se come
   la pantalla "AUTO CHECK-IN". Movido a la derecha para que el toten entre entero. */
body.postid-203 .sahera-foto-hoja img{object-position:80% center}

/* Ficha del wifi: replica el cartel wifi2.jpeg que mando el cliente con la red
   y la clave como TEXTO del contenido del post (se cambian desde el editor de la
   ficha, sin tocar disenos). Las hojas son los dos bordes recortados del propio
   cartel; los iconos van por mascara para no depender del set de iconos. El
   cartel sale mas ancho que la columna de texto (688px) para respirar como el
   original. */
.sahera-wifi-cartel{--wc-tinta:color-mix(in srgb,var(--e-global-color-primary) 68%,black);--wc-oro:color-mix(in srgb,var(--e-global-color-arena) 70%,black);--wc-fondo:color-mix(in srgb,var(--e-global-color-arena) 16%,white);
  box-sizing:border-box;position:relative;isolation:isolate;overflow:hidden;width:min(1040px,calc(100vw - 32px));margin:2em 0 2.6em 50%;transform:translateX(-50%);
  padding:clamp(36px,5vw,60px) 200px clamp(32px,4vw,48px);background:var(--wc-fondo);border-radius:var(--pmo-radio-m);box-shadow:var(--pmo-sombra-2);text-align:center;color:var(--wc-tinta)}
.sahera-wifi-cartel::before,.sahera-wifi-cartel::after{content:"";position:absolute;top:0;bottom:0;width:180px;z-index:-1;background-repeat:no-repeat;background-size:cover}
.sahera-wifi-cartel::before{left:0;background-image:url("/wp-content/uploads/2026/10/wifi-hojas-izq.webp");background-position:left center;-webkit-mask-image:linear-gradient(to right,black 70%,transparent);mask-image:linear-gradient(to right,black 70%,transparent)}
.sahera-wifi-cartel::after{right:0;background-image:url("/wp-content/uploads/2026/10/wifi-hojas-der.webp");background-position:right center;-webkit-mask-image:linear-gradient(to left,black 70%,transparent);mask-image:linear-gradient(to left,black 70%,transparent)}
.elementor-widget .sahera-wifi-cartel p{max-width:none;margin:0}
.sahera-wifi-cartel__marca{font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:clamp(58px,8.5vw,104px);line-height:.95;letter-spacing:-.01em;color:var(--wc-tinta)}
.sahera-wifi-cartel__marca::before{content:"";display:block;width:clamp(70px,9vw,118px);aspect-ratio:1;margin:0 auto .08em;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M2 8.6a15 15 0 0 1 20 0M5.2 12.4a10.4 10.4 0 0 1 13.6 0M8.6 16.2a5.4 5.4 0 0 1 6.8 0'/%3E%3C/g%3E%3Ccircle cx='12' cy='19.8' r='1.7'/%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'%3E%3Cg fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M2 8.6a15 15 0 0 1 20 0M5.2 12.4a10.4 10.4 0 0 1 13.6 0M8.6 16.2a5.4 5.4 0 0 1 6.8 0'/%3E%3C/g%3E%3Ccircle cx='12' cy='19.8' r='1.7'/%3E%3C/svg%3E") center/contain no-repeat}
.elementor-widget .sahera-wifi-cartel .sahera-wifi-cartel__lema{margin-top:.55em;font-size:clamp(14px,1.9vw,21px);font-weight:500;letter-spacing:.32em;text-transform:uppercase}
.sahera-wifi-cartel__lema-en{font-size:clamp(12px,1.5vw,17px);letter-spacing:.34em;text-transform:uppercase}
.sahera-wifi-cartel__lema-en::before{content:"";display:block;width:110px;height:1px;margin:.7em auto .8em;background:var(--wc-oro)}
.sahera-wifi-cartel__datos{display:grid;grid-template-columns:1fr 1fr;margin:1.8em auto 1.6em;max-width:720px;border:1px solid var(--wc-oro);border-radius:16px;background:color-mix(in srgb,white 55%,transparent)}
.elementor-widget .sahera-wifi-cartel .sahera-wifi-cartel__dato{display:grid;grid-template-columns:auto 1fr;align-items:center;align-content:center;column-gap:14px;padding:18px 20px;text-align:left}
.sahera-wifi-cartel__dato+.sahera-wifi-cartel__dato{border-left:1px solid var(--wc-oro)}
.sahera-wifi-cartel__dato::before{content:"";grid-row:1/span 3;width:clamp(40px,4.5vw,54px);aspect-ratio:1;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M2 8.6a15 15 0 0 1 20 0M5.2 12.4a10.4 10.4 0 0 1 13.6 0M8.6 16.2a5.4 5.4 0 0 1 6.8 0'/%3E%3C/g%3E%3Ccircle cx='12' cy='19.8' r='1.7'/%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'%3E%3Cg fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M2 8.6a15 15 0 0 1 20 0M5.2 12.4a10.4 10.4 0 0 1 13.6 0M8.6 16.2a5.4 5.4 0 0 1 6.8 0'/%3E%3C/g%3E%3Ccircle cx='12' cy='19.8' r='1.7'/%3E%3C/svg%3E") center/contain no-repeat}
.sahera-wifi-cartel__dato--clave::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.5 10.5V7.4a4.5 4.5 0 0 1 9 0v3.1' fill='none' stroke='black' stroke-width='2.4'/%3E%3Cpath fill-rule='evenodd' d='M5.5 10h13a1.5 1.5 0 0 1 1.5 1.5v9a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 4 20.5v-9A1.5 1.5 0 0 1 5.5 10zm6.5 3.4a1.7 1.7 0 0 0-.85 3.17V19h1.7v-2.43A1.7 1.7 0 0 0 12 13.4z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.5 10.5V7.4a4.5 4.5 0 0 1 9 0v3.1' fill='none' stroke='black' stroke-width='2.4'/%3E%3Cpath fill-rule='evenodd' d='M5.5 10h13a1.5 1.5 0 0 1 1.5 1.5v9a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 4 20.5v-9A1.5 1.5 0 0 1 5.5 10zm6.5 3.4a1.7 1.7 0 0 0-.85 3.17V19h1.7v-2.43A1.7 1.7 0 0 0 12 13.4z'/%3E%3C/svg%3E")}
.sahera-wifi-cartel__etq{line-height:1.3;font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.sahera-wifi-cartel__etq-en{line-height:1.3;font-size:11px;letter-spacing:.22em;text-transform:uppercase;opacity:.75;margin-top:.2em}
.sahera-wifi-cartel__dato strong{font-size:clamp(22px,2.3vw,30px);font-weight:700;line-height:1.15;margin-top:.15em;overflow-wrap:anywhere;user-select:all}
.elementor-widget .sahera-wifi-cartel .sahera-wifi-cartel__pie{line-height:1.5;font-size:12.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}
.sahera-wifi-cartel__pie::before{content:"";display:block;width:190px;height:50px;margin:0 auto .9em;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 26'%3E%3Cg fill='none' stroke='black' stroke-width='1.3' stroke-linejoin='round'%3E%3Crect x='3' y='1' width='12' height='23' rx='2'/%3E%3Crect x='35' y='3' width='28' height='17' rx='1.5'/%3E%3Cpath d='M30 22.5h38'/%3E%3Crect x='84' y='1' width='14' height='23' rx='2'/%3E%3C/g%3E%3Ccircle cx='9' cy='20.5' r='.9'/%3E%3Ccircle cx='91' cy='20.5' r='.9'/%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 100 26'%3E%3Cg fill='none' stroke='black' stroke-width='1.3' stroke-linejoin='round'%3E%3Crect x='3' y='1' width='12' height='23' rx='2'/%3E%3Crect x='35' y='3' width='28' height='17' rx='1.5'/%3E%3Cpath d='M30 22.5h38'/%3E%3Crect x='84' y='1' width='14' height='23' rx='2'/%3E%3C/g%3E%3Ccircle cx='9' cy='20.5' r='.9'/%3E%3Ccircle cx='91' cy='20.5' r='.9'/%3E%3C/svg%3E") center/contain no-repeat}
.elementor-widget .sahera-wifi-cartel .sahera-wifi-cartel__pie-en{line-height:1.5;margin-top:.4em;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;opacity:.75}
@media (max-width:1100px){.sahera-wifi-cartel{padding-inline:150px}.sahera-wifi-cartel::before,.sahera-wifi-cartel::after{width:135px}
.sahera-wifi-cartel__datos{grid-template-columns:1fr;max-width:420px}
.sahera-wifi-cartel__dato+.sahera-wifi-cartel__dato{border-left:0;border-top:1px solid var(--wc-oro)}}
@media (max-width:767px){.sahera-wifi-cartel{padding:34px 18px 30px}
.sahera-wifi-cartel::before,.sahera-wifi-cartel::after{bottom:auto;height:230px;width:62px;-webkit-mask-image:linear-gradient(to bottom,black 45%,transparent);mask-image:linear-gradient(to bottom,black 45%,transparent)}
.elementor-widget .sahera-wifi-cartel .sahera-wifi-cartel__lema{font-size:13px;letter-spacing:.16em}.sahera-wifi-cartel__lema-en{letter-spacing:.2em}
.elementor-widget .sahera-wifi-cartel .sahera-wifi-cartel__dato{padding:16px 18px}
.sahera-wifi-cartel__pie::before{width:150px;height:40px}}

/* Trampa del kit (icon-box + pmo-tarjeta, ver trampas-conocidas.md #85): el
   widget icon-box de Elementor solo envuelve en <a> el icono (18px, decorativo,
   tabindex=-1) y el texto del titulo. El hover de .pmo-tarjeta levanta y da
   sombra a TODA la caja, asi que parece clicable entera, pero el resto del
   padding y la descripcion no llevan enlace: en movil, el 90% del area de la
   tarjeta no navega. Se estira el enlace del titulo a toda la tarjeta (patron
   "card overlay link"): sin tocar el marcado, y sin efecto en una tarjeta
   pmo-tarjeta que no tenga link (el icon-box no imprime ningun <a> y el
   .elementor-kit-8 no encuentra nada). */
.pmo-tarjeta{position:relative}
.pmo-tarjeta .elementor-icon-box-title a{position:static}
.pmo-tarjeta .elementor-icon-box-title a::after{content:"";position:absolute;inset:0}
/* Páginas legales: texto del cliente tal cual, en una columna de lectura. */
.sahera-legal__texto h2{font-size:clamp(20px,2.1vw,25px);line-height:1.25;margin:2em 0 .6em}
.sahera-legal__texto h3{font-size:1.06rem;line-height:1.3;margin:1.6em 0 .4em}
.sahera-legal__texto p,.sahera-legal__texto li{overflow-wrap:anywhere}
.sahera-legal__texto ul{padding-left:1.2em;margin:0 0 1em}
.sahera-legal__tabla{overflow-x:auto;margin:1.2em 0 1.8em;border:var(--pmo-borde);border-radius:var(--pmo-radio-s)}
.sahera-legal__tabla table{border-collapse:collapse;width:100%;min-width:680px;margin:0;font-size:.86rem;line-height:1.45}
.sahera-legal__tabla th,.sahera-legal__tabla td{padding:.65em .8em;border:0;border-bottom:var(--pmo-borde);text-align:left;vertical-align:top}
.sahera-legal__tabla th{background:var(--e-global-color-superficie);font-size:.72rem;letter-spacing:.08em}
.sahera-legal__tabla tr:last-child td{border-bottom:0}/* End custom CSS */