/* 
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;}  

.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;
	}
}

.titulo-ajustable {
    word-wrap: break-word;     /* fuerza a partir la palabra si es muy larga */
    overflow-wrap: break-word; /* compatibilidad moderna */
    hyphens: auto;             /* añade guion al cortar si el idioma lo permite */
}




/* ===== Galería: imágenes a COVER ===== */
.galeria-cover {
  /* Si prefieres altura fija, añade aquí --galeria-cover-h: 420px; */
}

/* El wrapper del carrusel usa aspect-ratio en lugar de height fijo */
.galeria-cover .elementor-image-carousel-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9; /* ajusta a 4/3, 21/9, etc. según diseño */
  height: auto;
  overflow: hidden; /* asegura que el border-radius recorte */
  border-radius: 15px; /* redondea el contenedor */
}

/* Aseguramos que toda la cadena de Swiper herede la altura */
.galeria-cover .elementor-image-carousel,
.galeria-cover .swiper,
.galeria-cover .swiper-wrapper,
.galeria-cover .swiper-slide {
  height: 100%;
}

/* El figure ocupa todo y nos sirve de posicionador */
.galeria-cover .swiper-slide-inner {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden; /* para que el border-radius afecte a la img */
  border-radius: 15px;
}

/* La imagen hace cover del slide completo */
.galeria-cover .swiper-slide-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100% !important;   /* sobrescribe height:auto de Elementor */
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: 15px;
}

/* ===== Altos del carrusel por dispositivo ===== */

/* Desktop grande (>=1440px) */
@media (min-width: 1440px) {
  .galeria-cover .elementor-image-carousel-wrapper {
    height: 600px; /* ajusta el valor a lo que quieras en desktop */
    aspect-ratio: auto; /* anula el aspect-ratio si usas height fijo */
  }
}

/* Portátiles y tablets horizontales (>=1024px y <1440px) */
@media (max-width: 1439px) and (min-width: 1024px) {
  .galeria-cover .elementor-image-carousel-wrapper {
    height: 500px;
    aspect-ratio: auto;
  }
}

/* Tablets verticales (>=768px y <1024px) */
@media (max-width: 1023px) and (min-width: 768px) {
  .galeria-cover .elementor-image-carousel-wrapper {
    height: 380px;
    aspect-ratio: auto;
  }
}

/* Móviles (<768px) */
@media (max-width: 767px) {
  .galeria-cover .elementor-image-carousel-wrapper {
    height: 300px;
    aspect-ratio: auto;
  }
}


.linea-derecha {
    display: flex;
    align-items: center;
}

.linea-derecha::after {
    content: "";
    flex-grow: 1;
    height: 2px;
    background-color: #000;
    margin-left: 70px;
}

@media (max-width: 767px) {
    .linea-derecha::after {
        display: none;
    }
}

/* ===== Hero con degradado reutilizable ===== */
.hero-gradient {
  position: relative;
  overflow: hidden; /* evita que el pseudo se desborde */
}

.hero-gradient::before {
  content: "";
  position: absolute;
  inset: 0; /* top, right, bottom, left = 0 */
  background: linear-gradient(
    270deg,
    rgba(233, 235, 234, 0) 15%,
    #EAECEB 37.02%
  );
  z-index: 0;
  pointer-events: none;
}

/* Asegura que el contenido quede por encima del degradado */
.hero-gradient > * {
  position: relative;
  z-index: 1;
}

/* ===== Espaciado reutilizable para listas de iconos ===== */
.icon-list-spacing .elementor-icon-list-item {
  margin-bottom: 10px !important;
}

@media (max-width: 768px) {
  .icon-list-spacing .elementor-icon-list-item {
    margin-bottom: 15px !important;
  }
}

/* Lista sin padding + espacio entre viñeta y texto */
.lista-sin-padding ul {
  margin-left: 0;
  padding-left: 0;         /* sin sangría extra */
  list-style-position: outside; /* mantenemos la viñeta afuera */
}

.lista-sin-padding ul li {
  margin-left: 1.2em;      /* espacio fijo entre viñeta y texto */
}




