/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

.elementor-text-editor p:last-child, .textwidget p:last-child, .elementor-widget-container p:last-child, .elementor-widget-text-editor p:last-child{ margin-bottom:0px;}  
p:last-child{ margin-bottom:0px;}  


@media (min-width: 767px) {
    .contactoMenu {
        display: none !important;
    }
}

.caja-link {
    cursor: pointer;
	}


.img-backcover-effect {
    flex: 1;
	position: relative;
   	display: flex;
   	align-items: stretch;
	& img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
    		object-fit: cover;
	}
}

/* Cabecera con efecto scroll en la home */

.head-fix.scroleando {
	box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.15);
	background-color: #fff !important;
}

/* Enlaces del menú - blanco al inicio */
.head-fix .menu a,
.head-fix .menu a span{
	color: #fff !important;
}

.head-fix .menu .sub-menu{
	background-color: transparent!important;
}

.head-fix.scroleando .menu .sub-menu{
	background-color: var(--e-global-color-3b4d78e)!important;
}

/* Enlaces del menú - negro al hacer scroll */
.head-fix.scroleando .menu a,
.head-fix.scroleando .menu a span {
	color: #000 !important;
}

.head-fix.scroleando .menu a span path{
	fill:  #000 !important;
}

.head-fix.scroleando .menu li:hover a span path{
	fill: var(--e-global-color-secondary) !important;
}

.head-fix .menu a:hover span,
.head-fix.scroleando .menu a:hover span {
	color: #BDE7FF !important;
}

.head-fix .menu a:hover,
.head-fix.scroleando .menu a:hover {
	color: #BDE7FF !important;
}

/* Logo cambia en scroll */
.head-fix .logo {
	display: block;
}
.head-fix .logo-black {
	display: none;
}
.head-fix.scroleando .logo {
	display: none;
}
.head-fix.scroleando .logo-black {
	display: block;
}

.head-fix.scroleando .btn-contacto .elementor-button {
  border-color: #2C3E5C !important;
  color: #fff !important;
  background-color: #2C3E5C !important;
}

.head-fix.scroleando .btn-contacto .elementor-button:hover {
  border-color: #2C3E5C !important;
  color: #2C3E5C !important;
  background-color: #fff !important;
}

@media (max-width: 1024px) {
  /* Normal */
  .head-fix .elementor-nav-menu--dropdown .elementor-item,
  .head-fix.scroleando .elementor-nav-menu--dropdown .elementor-item {
    color: #454545 !important;
    background: #fff !important;
  }

  /* Hover */
  .head-fix .elementor-nav-menu--dropdown .elementor-item:hover,
  .head-fix.scroleando .elementor-nav-menu--dropdown .elementor-item:hover {
    color: #2C3E5C !important;
    background: #fff !important;
  }
}


/*WPML Header*/

/* WPML — estilo "ES / EN" con tu tipografía y tamaños */
.head-fix .wpml-elementor-ls .wpml-ls-legacy-list-horizontal ul{
  display:flex; align-items:center; gap:0;
  margin:0 !important; padding:0 !important;
}

.head-fix .wpml-elementor-ls .wpml-ls-legacy-list-horizontal li{
  list-style:none !important; margin:0 !important; padding:0 !important;
}

.head-fix .wpml-elementor-ls .wpml-ls-legacy-list-horizontal .wpml-ls-link{
  display:inline-block;
  text-decoration:none !important;
  background:transparent; border:none !important; padding:0;
  line-height:normal;

  /* ✅ Tus estilos base */
  color:#FFF !important;
  font-family:"Fustat", sans-serif !important;
  font-size:16px !important;
  font-style:normal;
  font-weight:400;
  transition:font-weight .15s ease, opacity .15s ease;
}

/* Separador */
.head-fix .wpml-elementor-ls .wpml-ls-legacy-list-horizontal li:not(:last-child)::after{
  content:" / ";
  display:inline-block;
  margin:0 6px;
  color:#FFF;
}

/* Scroll → negro */
.head-fix.scroleando .wpml-elementor-ls .wpml-ls-legacy-list-horizontal .wpml-ls-link{
  color:#000 !important;
}
.head-fix.scroleando .wpml-elementor-ls .wpml-ls-legacy-list-horizontal li:not(:last-child)::after{
  color:#000;
}

/* ✅ Hover → bold */
.head-fix .wpml-elementor-ls .wpml-ls-legacy-list-horizontal .wpml-ls-link:hover{
  font-weight:700;
}

/* ✅ Activo siempre en bold + subrayado */
.head-fix .wpml-elementor-ls .wpml-ls-legacy-list-horizontal .wpml-ls-item.wpml-ls-current-language .wpml-ls-link{
  font-weight:700 !important;
  text-decoration:underline;
  text-underline-offset:2px;
}























.bounce-button {
    animation: bounce-button 1.5s infinite;
}

/* Bounce más suave */
@keyframes bounce-button {
    0%, 100% {
        transform: translateY(-15%);
        animation-timing-function: ease-in-out;
    }
    50% {
        transform: translateY(0);
        animation-timing-function: ease-in-out;
    }
}


.degradado-imagen {
  position: relative;
  overflow: hidden; /* evita que el overlay se salga */
}

.degradado-imagen::after {
  content: "";
  position: absolute;
  inset: 0; /* cubre toda la imagen */
  background: linear-gradient(
    180deg,
    rgba(44, 62, 92, 0) 0%,
    #2C3E5C 85%
  );
  pointer-events: none; /* no bloquea clics */
}



/* === Hover Effect con velo azul + icono === */
.hover-effect {
  position: relative !important;
  display: block !important;
  overflow: hidden !important;
  border-radius: 3px !important;
}

.hover-effect img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .35s ease-in-out !important;
  border-radius: inherit !important;
}

/* Velo azul (#2C3E5C al 50%) */
.hover-effect::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: rgba(44, 62, 92, 0.5) !important; /* azul translúcido */
  opacity: 0 !important;
  transition: opacity .35s ease-in-out !important;
  pointer-events: none !important;
  border-radius: inherit !important;
  z-index: 1 !important; /* sobre la imagen */
}

/* Icono “+” */
.hover-effect::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 64px !important;
  height: 64px !important;
  transform: translate(-50%, -50%) scale(0.8) !important;
  border-radius: 50% !important;
  background:
    linear-gradient(#fff, #fff) center / 2px 50% no-repeat,
    linear-gradient(#fff, #fff) center / 50% 2px no-repeat !important;
  box-shadow: 0 0 0 2px #fff inset !important;
  opacity: 0 !important;
  transition: opacity .35s ease-in-out, transform .35s ease-in-out !important;
  pointer-events: none !important;
  z-index: 2 !important; /* encima del velo */
}

/* Hover: activa overlay + icono + zoom */
.hover-effect:hover::before { opacity: 1 !important; }
.hover-effect:hover::after {
  opacity: 1 !important;
  transform: translate(-50%, -50%) scale(1) !important;
}
.hover-effect:hover img { transform: scale(1.08) !important; }


[id] {
  scroll-margin-top: 100px; 
}


.sin-nan .elementor-counter-number {
  font-size: 0; /* Oculta el texto NaN */
}

.sin-nan .elementor-counter-number::after {
  content: ""; /* No mostramos nada */
  font-size: initial; /* Mantiene el resto del diseño */
}






/* Normal: flecha blanca */
.elementor-cta__button .cta-icono {
  filter: brightness(0) invert(1); /* blanco */
  transition: filter 0.3s ease;
  margin-left: 15px; /* espacio entre texto y flecha */
}

/* Hover: flecha gris oscuro */
.elementor-cta__button:hover .cta-icono {
  filter: brightness(0) saturate(100%) invert(27%) sepia(5%) saturate(788%) hue-rotate(174deg) brightness(92%) contrast(89%);
}

.elementor-cta__bg-overlay {
  background: linear-gradient(
    270deg,
    rgba(44, 62, 92, 0) 0%,
    rgba(44, 62, 92, 0.45) 40%,
    rgba(44, 62, 92, 0.8) 55%,
    #2C3E5C 70%
  ) !important;
}


html {
  overflow-y: scroll !important;
  scrollbar-gutter: stable; /* 👈 quita both-edges */
}

html, body { overscroll-behavior-y: contain; }
body { overflow-x: hidden; }








