/*
Theme Name: Hello Elementor Child
Theme URI: https://www.solucionweb.com/
Description: Tema hijo personalizado para Hello Elementor con login privado, reglas de acceso, botones flotantes configurables, WhatsApp y shortcodes básicos administrables.
Author: Solución Web
Author URI: https://www.solucionweb.com/
Template: hello-elementor
Version: 2.4.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: custom-login, translation-ready, elementor, child-theme
*/

/* Oculta header interno en la página de inicio */
body.home .headerInterna {
  display: none;
}
body.home .sw-back-button{ display: none; }

/* Oculta header home en todas las páginas que NO son inicio */
body:not(.home) .headerHome {
  display: none;
}

/* Testimonios */
body[data-elementor-device-mode="mobile"] .testimonios.elementor-testimonial--layout-image_left .elementor-testimonial {
    flex-direction: column-reverse;
}

/* Suscribete */
.suscribete .elementor-form-fields-wrapper{ position: relative; }
.suscribete .elementor-field-type-html h5{ color: #929090; }
.suscribete .elementor-field-type-email input{
	padding: 0 200px 0 0;
}
/*.suscribete .e-form__buttons {
	position: absolute;
    bottom: 5px;
    right: 0;
    width: auto;
}*/

/* Menú footer */
.menuFooter nav ul.elementor-nav-menu {
  column-count: 3;
  column-gap: 40px;
  display: block !important;
  padding: 0;
  margin: 0;
}
.menuFooter nav ul.elementor-nav-menu li {
  break-inside: avoid;
  margin-bottom: 10px;
  display: block;
}
.menuFooter nav ul.elementor-nav-menu li a {
  display: inline-block;
  padding: 0;
}

/* Blog */
.page-blogitems .elementor-post{
	padding: 0 0 15px 0;
}
.page-blogitems .elementor-post__title{
	padding: 0 0 5px 0;
}
.page-blogitems .elementor-post__excerpt{ 
	min-height: 60px;
	padding: 0 0 10px 0;
}
.page-blogitems .elementor-post__excerpt p{
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.page-blogitems a.elementor-post__read-more{
	background: #FE8200;
    color: #fff !important;
    border-radius: 20px;
    padding: 7px 20px;
}
.page-blogitems a.elementor-post__read-more:hover {
    color: #000 !important;
}


/* Icono relleno de WhatsApp */
.elementor-share-btn_whatsapp .elementor-share-btn__icon svg,
.elementor-share-btn_whatsapp .elementor-share-btn__icon i {
    display: none !important;
}

.elementor-share-btn_whatsapp .elementor-share-btn__icon::before {
    content: "";
    display: block;
    width: 1.8em;
    height: 1.8em; 
    background-color: currentColor;
    -webkit-mask-image: url('/wp-content/uploads/2026/06/whatsapp-1.svg');
    mask-image: url('/wp-content/uploads/2026/06/whatsapp-1.svg');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}


/* Share Buttons: íconos más juntos (solo donde pongas .share-compact) */
.share-compact .elementor-grid{
  --grid-column-gap: 0px; /* <-- ajusta este valor */
  --grid-row-gap: 3px;
   /* o flex-start si los quieres pegados a la izquierda */
}

/* Por si Elementor mete márgenes extra en items/botones */
.share-compact .elementor-grid-item,
.share-compact .elementor-share-btn{
  margin: -4px !important;
}






/* Estado inicial únicamente en la página pública */
body:not(.elementor-editor-active) .banner-nosotros {
  position: relative;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 1398 / 581;
  opacity: 0;
  top: 35px;
}

/* Activar entrada en la página pública */
body:not(.elementor-editor-active) .banner-nosotros.banner-ready {
  animation: bannerFadeUp 1.2s ease forwards;
}

@keyframes bannerFadeUp {
  from {
    opacity: 0;
    top: 35px;
  }

  to {
    opacity: 1;
    top: 0;
  }
}

/* Reservar correctamente el espacio del banner */
.banner-nosotros {
  position: relative;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 1398 / 581;
}

.banner-nosotros .elementor-widget-image,
.banner-nosotros .elementor-widget-container,
.banner-nosotros img {
  width: 100%;
  height: 100%;
}

.banner-nosotros img {
  display: block;
  object-fit: cover;
}

/* En el editor de Elementor siempre debe permanecer visible */
body.elementor-editor-active .banner-nosotros,
body.elementor-editor-preview .banner-nosotros {
  opacity: 1 !important;
  top: 0 !important;
  animation: none !important;
  visibility: visible !important;
}





/* Flecha junto al botón del slider */
.arrow-bot .elementor-slide-button {
	display: inline-flex !important;
	align-items: center;
	gap: 15px;
}

/* Icono de flecha */
.arrow-bot .elementor-slide-button::after {
	content: "";
	display: block;
	flex: 0 0 auto;
	width: 16px;
	height: 16px;

	background-color: currentColor;

	-webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 448 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 448 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z'/%3E%3C/svg%3E");

	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;

	-webkit-mask-position: center;
	mask-position: center;

	-webkit-mask-size: contain;
	mask-size: contain;
}





/* Efecto grow perpetuo para botones */
@keyframes growBot {
	0%,
	100% {
		transform: scale(1);
	}

	50% {
		transform: scale(1.06);
	}
}

/* Botones normales de Elementor */
.grow-bot .elementor-button {
	animation: growBot 1.5s ease-in-out infinite;
	transform-origin: center;
	will-change: transform;
}

/* Botón dentro del widget Slides */
.grow-bot .elementor-slide-button {
	animation: growBot 1.5s ease-in-out infinite;
	transform-origin: center;
	will-change: transform;
}
.grow-bot .elementor-button:hover,
.grow-bot .elementor-slide-button:hover {
	animation-play-state: paused;
}
@media (prefers-reduced-motion: reduce) {
	.grow-bot .elementor-button,
	.grow-bot .elementor-slide-button {
		animation: none;
	}
}







/* QUITAR BORDER RADIUS EN ACORDEÓN AL MOMENTO DE ESTAR ABIERTO */
/* =========================================
   ACCORDION: unión header/contenido sin radius
   Clase en el widget: acc-join-flat
========================================= */

/* Cuando el item está abierto (details[open]) quitamos SOLO el radius inferior del header */
.acc-join-flat .e-n-accordion-item[open] summary {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}




/* Animated Headline - separar el subrayado del texto */
.elementor-element-09b0295 .elementor-headline-dynamic-wrapper {
	display: inline-block;
	padding-bottom: 18px;
	overflow: visible !important;
}

/* Bajar la línea verde */
.elementor-element-09b0295 .elementor-headline-dynamic-wrapper svg {
	overflow: visible;
}





.footer-shadow {
	position: relative;
	z-index: 2;
}

.footer-shadow::before {
	content: "";
	position: absolute;
	top: -45px;
	left: 0;
	width: 100%;
	height: 35px;
	background: linear-gradient(
		/*to top,
		rgba(0, 0, 0, 0.05) 0%,
		rgba(0, 0, 0, 0.025) 45%,
		rgba(0, 0, 0, 0) 100%*/
				to top,
		rgba(0, 0, 0, 0.01) 0%,
		rgba(0, 0, 0, 0.02) 10%,
		rgba(0, 0, 0, 0) 50%
	);
	pointer-events: none;
}





/* ==========================================================
   PIN PERSONALIZADO + ICONO INTERNO ACTUAL
   ========================================================== */

/* Sustituir únicamente la forma del pin */
#map-container-359 .awesome-marker {
  width: 48px !important;
  height: 58px !important;

  margin-left: -19px !important;
  margin-top: -48px !important;

  border: 0 !important;
  border-radius: 0 !important;

  background-color: transparent !important;
  background-image: url("https://dev-adelantos-gt.pantheonsite.io/wp-content/uploads/2026/06/mapas-y-banderas-2.svg") !important;
  background-repeat: no-repeat !important;
  background-position: center bottom !important;
  background-size: contain !important;

  box-shadow: none !important;
}

/* Mantener el icono de Adelantos dentro del nuevo pin */
#map-container-359 .awesome-marker > i {
  position: absolute !important;
  top: 15px !important;
  left: 50% !important;

  display: block !important;

  width: 30px !important;
  height: 36px !important;

  margin: 0 !important;
  padding: 0 !important;

  background-image: url("https://dev-adelantos-gt.pantheonsite.io/wp-content/uploads/2026/06/ADELANTOS-ICON-1.png") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;

  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;

  transform: translateX(-50%) !important;
}




/* Tipografía Poppins en todo el mapa */
#locate-anything-template-wrapper,
#locate-anything-template-wrapper *,
#map-container-359,
#map-container-359 * {
  font-family: "Poppins", sans-serif !important;
}

/* Ocultar el icono original de Ionicons */
#map-container-359 .awesome-marker > i::before,
#map-container-359 .awesome-marker > i::after {
  content: none !important;
  display: none !important;
}



.formsw .sw-floating-label{
    font-family: "Poppins" !important;
}