.elementor-2109 .elementor-element.elementor-element-affa55e{--display:flex;--min-height:152px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2109 .elementor-element.elementor-element-94ac624{--display:flex;--min-height:433px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:65px;--padding-right:65px;}.elementor-2109 .elementor-element.elementor-element-8ce2460{--display:flex;--min-height:69vh;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-2109 .elementor-element.elementor-element-8ce2460:not(.elementor-motion-effects-element-type-background), .elementor-2109 .elementor-element.elementor-element-8ce2460 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://ven.llantasegura.ec/wp-content/uploads/2025/07/KIA-BANNER.jpg");background-position:center center;background-repeat:no-repeat;background-size:contain;}.elementor-2109 .elementor-element.elementor-element-be19bf6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2109 .elementor-element.elementor-element-52a753e .elementor-heading-title{font-family:"Arial", Sans-serif;}.elementor-2109 .elementor-element.elementor-element-c5354e2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2109 .elementor-element.elementor-element-299d52d .elementor-heading-title{font-family:"Arial", Sans-serif;}.elementor-2109 .elementor-element.elementor-element-e3b8e8a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2109 .elementor-element.elementor-element-0f72253 .elementor-heading-title{font-family:"Arial", Sans-serif;}.elementor-2109 .elementor-element.elementor-element-d618be3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2109 .elementor-element.elementor-element-24cf8f7 .elementor-heading-title{font-family:"Arial", Sans-serif;}.elementor-2109 .elementor-element.elementor-element-c68aa7a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2109 .elementor-element.elementor-element-df4b9cc .elementor-heading-title{font-family:"Arial", Sans-serif;}.elementor-2109 .elementor-element.elementor-element-8862d86{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2109 .elementor-element.elementor-element-cdc34a5 .elementor-heading-title{font-family:"Arial", Sans-serif;}.elementor-2109 .elementor-element.elementor-element-266cf2c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2109 .elementor-element.elementor-element-c3ebc39 .elementor-heading-title{font-family:"Arial", Sans-serif;}.elementor-2109 .elementor-element.elementor-element-4ec3257{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2109 .elementor-element.elementor-element-7fba20c .elementor-heading-title{font-family:"Arial", Sans-serif;}.elementor-2109 .elementor-element.elementor-element-c848a97{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2109 .elementor-element.elementor-element-a0e327c .elementor-heading-title{font-family:"Arial", Sans-serif;}.elementor-2109 .elementor-element.elementor-element-aa03dcb{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2109 .elementor-element.elementor-element-3a2f0df .elementor-heading-title{font-family:"Arial", Sans-serif;}.elementor-2109 .elementor-element.elementor-element-5979973{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2109 .elementor-element.elementor-element-0284a7f .elementor-heading-title{font-family:"Arial", Sans-serif;}.elementor-2109 .elementor-element.elementor-element-529b140{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2109 .elementor-element.elementor-element-b2e627e .elementor-heading-title{font-family:"Arial", Sans-serif;}.elementor-2109 .elementor-element.elementor-element-e6fb2a6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2109 .elementor-element.elementor-element-509b4eb .elementor-heading-title{font-family:"Arial", Sans-serif;}.elementor-2109 .elementor-element.elementor-element-5f88061{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2109 .elementor-element.elementor-element-b354c90 .elementor-heading-title{font-family:"Arial", Sans-serif;}.elementor-2109 .elementor-element.elementor-element-28cf0e1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2109 .elementor-element.elementor-element-3fa06bb .elementor-heading-title{font-family:"Arial", Sans-serif;}@media(max-width:767px){.elementor-2109 .elementor-element.elementor-element-94ac624{--min-height:0px;--padding-top:15px;--padding-bottom:0px;--padding-left:12px;--padding-right:12px;}.elementor-2109 .elementor-element.elementor-element-8ce2460{--min-height:17vh;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}@media(min-width:768px){.elementor-2109 .elementor-element.elementor-element-94ac624{--width:100%;}.elementor-2109 .elementor-element.elementor-element-8ce2460{--width:100%;}}/* Start custom CSS for container, class: .elementor-element-be19bf6 *//* =========================================================
   Banner Hero Completo
   Pegar en: Contenedor → Avanzado → CSS Personalizado
   Estructura requerida: 1 imagen + 2 headings
   ========================================================= */

/* ===== CONTENEDOR PRINCIPAL ===== */
.elementor-2109 .elementor-element.elementor-element-be19bf6 {
  position: relative !important;
  --side-gap: 8px;
  --radius: 28px;
  --text-right: 6%;
  --text-shift-x: -130px;
  --text-maxw: 90%;
  --title-separation-up: 44px;
  --title-separation-down: 22px;
  --t1-size: clamp(34px, 3.6vw, 60px);
  --t2-size: clamp(64px, 6.6vw, 140px);
  width: calc(100% - (var(--side-gap) * 2)) !important;
  margin: 30px auto !important;
  overflow: hidden !important;
  padding: 0 !important;
  border-radius: var(--radius) !important;
  isolation: isolate !important;
}

.elementor-2109 .elementor-element.elementor-element-be19bf6::before {
  content: none !important;
  display: none !important;
}

.elementor-2109 .elementor-element.elementor-element-be19bf6.e-con-boxed > .e-con-inner {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.elementor-2109 .elementor-element.elementor-element-be19bf6 .elementor-element,
.elementor-2109 .elementor-element.elementor-element-be19bf6 .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

/* ===== IMAGEN ===== */
.elementor-2109 .elementor-element.elementor-element-be19bf6 .elementor-widget-image img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  aspect-ratio: 1534 / 553 !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: var(--radius) !important;
  vertical-align: middle !important;
}

/* ===== TODOS LOS HEADINGS - POSICIÓN BASE ===== */
.elementor-2109 .elementor-element.elementor-element-be19bf6 .elementor-widget-heading {
  position: absolute !important;
  top: 50% !important;
  right: var(--text-right) !important;
  left: auto !important;
  z-index: 5 !important;
  pointer-events: none !important;
  width: max-content !important;
  max-width: var(--text-maxw) !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.elementor-2109 .elementor-element.elementor-element-be19bf6 .elementor-widget-heading .elementor-heading-title {
  color: #ffffff !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.35) !important;
  display: inline-block !important;
}

/* ===== TEXTO 1 (PRIMER HEADING) ===== */
.elementor-2109 .elementor-element.elementor-element-be19bf6 .elementor-widget-heading {
  transform: translate(calc(50% + var(--text-shift-x)), calc(-50% - var(--title-separation-up))) !important;
}

.elementor-2109 .elementor-element.elementor-element-be19bf6 .elementor-widget-heading .elementor-heading-title {
  font-family: "Bebas Neue", sans-serif !important;
  font-size: var(--t1-size) !important;
  letter-spacing: 0.08em !important;
}

/* ===== TEXTO 2 (SEGUNDO HEADING - sobrescribe al primero) ===== */
.elementor-2109 .elementor-element.elementor-element-be19bf6 .elementor-widget-heading ~ .elementor-widget-heading {
  transform: translate(calc(50% + var(--text-shift-x)), calc(-50% + var(--title-separation-down))) !important;
}

.elementor-2109 .elementor-element.elementor-element-be19bf6 .elementor-widget-heading ~ .elementor-widget-heading .elementor-heading-title {
  font-family: "Hatten", sans-serif !important;
  font-size: var(--t2-size) !important;
  letter-spacing: 0.02em !important;
  transform: scaleY(1.40) !important;
  transform-origin: center !important;
}

/* ===== PC (1025px+) ===== */
@media (min-width: 1025px) {
  .elementor-2109 .elementor-element.elementor-element-be19bf6 {
    --side-gap: 40px;
    --radius: 28px;
    width: calc(100% - (var(--side-gap) * 2)) !important;
    max-width: none !important;
    margin-top: 30px !important;
    margin-bottom: 30px !important;
    --text-right: 6%;
    --text-shift-x: -130px;
    --title-separation-up: calc(clamp(34px, calc(var(--t2-size) * 0.34), 78px) + 9px);
    --title-separation-down: calc(clamp(16px, calc(var(--t2-size) * 0.16), 40px) + 9px);
  }
}

/* ===== TABLET (768px - 1024px) ===== */
@media (max-width: 1024px) {
  .elementor-2109 .elementor-element.elementor-element-be19bf6 {
    --side-gap: 10px;
    --radius: 22px;
    margin-top: 20px !important;
    margin-bottom: 20px !important;
    --title-separation-up: 28px;
    --title-separation-down: 14px;
    --t1-size: clamp(24px, 3.4vw, 40px);
    --t2-size: clamp(40px, 6.2vw, 86px);
    --text-right: 16px;
    --text-maxw: 88%;
    --text-shift-x: -80px;
  }
  
  .elementor-2109 .elementor-element.elementor-element-be19bf6 .elementor-widget-image img {
    border-radius: var(--radius) !important;
  }
}

/* ===== MÓVIL (767px-) ===== */
@media (max-width: 767px) {
  .elementor-2109 .elementor-element.elementor-element-be19bf6 {
    --side-gap: 8px;
    --radius: 16px;
    margin-top: 16px !important;
    margin-bottom: 16px !important;
    --title-separation-up: 18px;
    --title-separation-down: 10px;
    --t1-size: clamp(16px, 4.2vw, 24px);
    --t2-size: clamp(26px, 7.4vw, 50px);
    --text-right: 10px;
    --text-maxw: 85%;
    --text-shift-x: -45px;
  }
  
  .elementor-2109 .elementor-element.elementor-element-be19bf6 .elementor-widget-image img {
    border-radius: var(--radius) !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c5354e2 *//* =========================================================
   Banner Hero Completo
   Pegar en: Contenedor → Avanzado → CSS Personalizado
   Estructura requerida: 1 imagen + 2 headings

   CAMBIO ÚNICO:
   - Textos anclados a la IZQUIERDA (antes a la derecha)
   ========================================================= */

/* ===== CONTENEDOR PRINCIPAL ===== */
.elementor-2109 .elementor-element.elementor-element-c5354e2 {
  position: relative !important;
  --side-gap: 8px;
  --radius: 28px;

  /* antes: --text-right */
  --text-left: 6%;

  /* antes era negativo para empujar a la izquierda desde right.
     ahora lo invertimos a positivo para empujar a la derecha desde left. */
  --text-shift-x: 130px;

  --text-maxw: 90%;
  --title-separation-up: 44px;
  --title-separation-down: 22px;
  --t1-size: clamp(34px, 3.6vw, 60px);
  --t2-size: clamp(64px, 6.6vw, 140px);
  width: calc(100% - (var(--side-gap) * 2)) !important;
  margin: 30px auto !important;
  overflow: hidden !important;
  padding: 0 !important;
  border-radius: var(--radius) !important;
  isolation: isolate !important;
}

.elementor-2109 .elementor-element.elementor-element-c5354e2::before {
  content: none !important;
  display: none !important;
}

.elementor-2109 .elementor-element.elementor-element-c5354e2.e-con-boxed > .e-con-inner {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.elementor-2109 .elementor-element.elementor-element-c5354e2 .elementor-element,
.elementor-2109 .elementor-element.elementor-element-c5354e2 .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

/* ===== IMAGEN ===== */
.elementor-2109 .elementor-element.elementor-element-c5354e2 .elementor-widget-image img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  aspect-ratio: 1534 / 553 !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: var(--radius) !important;
  vertical-align: middle !important;
}

/* ===== TODOS LOS HEADINGS - POSICIÓN BASE (AHORA IZQUIERDA) ===== */
.elementor-2109 .elementor-element.elementor-element-c5354e2 .elementor-widget-heading {
  position: absolute !important;
  top: 50% !important;

  left: var(--text-left) !important;
  right: auto !important;

  z-index: 5 !important;
  pointer-events: none !important;
  width: max-content !important;
  max-width: var(--text-maxw) !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.elementor-2109 .elementor-element.elementor-element-c5354e2 .elementor-widget-heading .elementor-heading-title {
  color: #ffffff !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.35) !important;
  display: inline-block !important;
}

/* ===== TEXTO 1 (PRIMER HEADING) =====
   Nota: al estar anclado a left, usamos -50% en X
*/
.elementor-2109 .elementor-element.elementor-element-c5354e2 .elementor-widget-heading {
  transform: translate(calc(-50% + var(--text-shift-x)), calc(-50% - var(--title-separation-up))) !important;
}

.elementor-2109 .elementor-element.elementor-element-c5354e2 .elementor-widget-heading .elementor-heading-title {
  font-family: "Bebas Neue", sans-serif !important;
  font-size: var(--t1-size) !important;
  letter-spacing: 0.08em !important;
}

/* ===== TEXTO 2 (SEGUNDO HEADING - sobrescribe al primero) ===== */
.elementor-2109 .elementor-element.elementor-element-c5354e2 .elementor-widget-heading ~ .elementor-widget-heading {
  transform: translate(calc(-50% + var(--text-shift-x)), calc(-50% + var(--title-separation-down))) !important;
}

.elementor-2109 .elementor-element.elementor-element-c5354e2 .elementor-widget-heading ~ .elementor-widget-heading .elementor-heading-title {
  font-family: "Hatten", sans-serif !important;
  font-size: var(--t2-size) !important;
  letter-spacing: 0.02em !important;
  transform: scaleY(1.40) !important;
  transform-origin: center !important;
}

/* ===== PC (1025px+) ===== */
@media (min-width: 1025px) {
  .elementor-2109 .elementor-element.elementor-element-c5354e2 {
    --side-gap: 40px;
    --radius: 28px;
    width: calc(100% - (var(--side-gap) * 2)) !important;
    max-width: none !important;
    margin-top: 30px !important;
    margin-bottom: 30px !important;

    --text-left: 6%;
    --text-shift-x: 130px;

    --title-separation-up: calc(clamp(34px, calc(var(--t2-size) * 0.34), 78px) + 9px);
    --title-separation-down: calc(clamp(16px, calc(var(--t2-size) * 0.16), 40px) + 9px);
  }
}

/* ===== TABLET (768px - 1024px) ===== */
@media (max-width: 1024px) {
  .elementor-2109 .elementor-element.elementor-element-c5354e2 {
    --side-gap: 10px;
    --radius: 22px;
    margin-top: 20px !important;
    margin-bottom: 20px !important;
    --title-separation-up: 28px;
    --title-separation-down: 14px;
    --t1-size: clamp(24px, 3.4vw, 40px);
    --t2-size: clamp(40px, 6.2vw, 86px);

    --text-left: 16px;
    --text-maxw: 88%;
    --text-shift-x: 80px;
  }

  .elementor-2109 .elementor-element.elementor-element-c5354e2 .elementor-widget-image img {
    border-radius: var(--radius) !important;
  }
}

/* ===== MÓVIL (767px-) ===== */
@media (max-width: 767px) {
  .elementor-2109 .elementor-element.elementor-element-c5354e2 {
    --side-gap: 8px;
    --radius: 16px;
    margin-top: 16px !important;
    margin-bottom: 16px !important;
    --title-separation-up: 18px;
    --title-separation-down: 10px;
    --t1-size: clamp(16px, 4.2vw, 24px);
    --t2-size: clamp(26px, 7.4vw, 50px);

    --text-left: 10px;
    --text-maxw: 85%;
    --text-shift-x: 45px;
  }

  .elementor-2109 .elementor-element.elementor-element-c5354e2 .elementor-widget-image img {
    border-radius: var(--radius) !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e3b8e8a *//* =========================================================
   Banner Hero Completo
   Pegar en: Contenedor → Avanzado → CSS Personalizado
   Estructura requerida: 1 imagen + 2 headings
   ========================================================= */

/* ===== CONTENEDOR PRINCIPAL ===== */
.elementor-2109 .elementor-element.elementor-element-e3b8e8a {
  position: relative !important;
  --side-gap: 8px;
  --radius: 28px;
  --text-right: 6%;
  --text-shift-x: -130px;
  --text-maxw: 90%;
  --title-separation-up: 44px;
  --title-separation-down: 22px;
  --t1-size: clamp(34px, 3.6vw, 60px);
  --t2-size: clamp(64px, 6.6vw, 140px);
  width: calc(100% - (var(--side-gap) * 2)) !important;
  margin: 30px auto !important;
  overflow: hidden !important;
  padding: 0 !important;
  border-radius: var(--radius) !important;
  isolation: isolate !important;
}

.elementor-2109 .elementor-element.elementor-element-e3b8e8a::before {
  content: none !important;
  display: none !important;
}

.elementor-2109 .elementor-element.elementor-element-e3b8e8a.e-con-boxed > .e-con-inner {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.elementor-2109 .elementor-element.elementor-element-e3b8e8a .elementor-element,
.elementor-2109 .elementor-element.elementor-element-e3b8e8a .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

/* ===== IMAGEN ===== */
.elementor-2109 .elementor-element.elementor-element-e3b8e8a .elementor-widget-image img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  aspect-ratio: 1534 / 553 !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: var(--radius) !important;
  vertical-align: middle !important;
}

/* ===== TODOS LOS HEADINGS - POSICIÓN BASE ===== */
.elementor-2109 .elementor-element.elementor-element-e3b8e8a .elementor-widget-heading {
  position: absolute !important;
  top: 50% !important;
  right: var(--text-right) !important;
  left: auto !important;
  z-index: 5 !important;
  pointer-events: none !important;
  width: max-content !important;
  max-width: var(--text-maxw) !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.elementor-2109 .elementor-element.elementor-element-e3b8e8a .elementor-widget-heading .elementor-heading-title {
  color: #ffffff !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.35) !important;
  display: inline-block !important;
}

/* ===== TEXTO 1 (PRIMER HEADING) ===== */
.elementor-2109 .elementor-element.elementor-element-e3b8e8a .elementor-widget-heading {
  transform: translate(calc(50% + var(--text-shift-x)), calc(-50% - var(--title-separation-up))) !important;
}

.elementor-2109 .elementor-element.elementor-element-e3b8e8a .elementor-widget-heading .elementor-heading-title {
  font-family: "Bebas Neue", sans-serif !important;
  font-size: var(--t1-size) !important;
  letter-spacing: 0.08em !important;
}

/* ===== TEXTO 2 (SEGUNDO HEADING - sobrescribe al primero) ===== */
.elementor-2109 .elementor-element.elementor-element-e3b8e8a .elementor-widget-heading ~ .elementor-widget-heading {
  transform: translate(calc(50% + var(--text-shift-x)), calc(-50% + var(--title-separation-down))) !important;
}

.elementor-2109 .elementor-element.elementor-element-e3b8e8a .elementor-widget-heading ~ .elementor-widget-heading .elementor-heading-title {
  font-family: "Hatten", sans-serif !important;
  font-size: var(--t2-size) !important;
  letter-spacing: 0.02em !important;
  transform: scaleY(1.40) !important;
  transform-origin: center !important;
}

/* ===== PC (1025px+) ===== */
@media (min-width: 1025px) {
  .elementor-2109 .elementor-element.elementor-element-e3b8e8a {
    --side-gap: 40px;
    --radius: 28px;
    width: calc(100% - (var(--side-gap) * 2)) !important;
    max-width: none !important;
    margin-top: 30px !important;
    margin-bottom: 30px !important;
    --text-right: 6%;
    --text-shift-x: -130px;
    --title-separation-up: calc(clamp(34px, calc(var(--t2-size) * 0.34), 78px) + 9px);
    --title-separation-down: calc(clamp(16px, calc(var(--t2-size) * 0.16), 40px) + 9px);
  }
}

/* ===== TABLET (768px - 1024px) ===== */
@media (max-width: 1024px) {
  .elementor-2109 .elementor-element.elementor-element-e3b8e8a {
    --side-gap: 10px;
    --radius: 22px;
    margin-top: 20px !important;
    margin-bottom: 20px !important;
    --title-separation-up: 28px;
    --title-separation-down: 14px;
    --t1-size: clamp(24px, 3.4vw, 40px);
    --t2-size: clamp(40px, 6.2vw, 86px);
    --text-right: 16px;
    --text-maxw: 88%;
    --text-shift-x: -80px;
  }
  
  .elementor-2109 .elementor-element.elementor-element-e3b8e8a .elementor-widget-image img {
    border-radius: var(--radius) !important;
  }
}

/* ===== MÓVIL (767px-) ===== */
@media (max-width: 767px) {
  .elementor-2109 .elementor-element.elementor-element-e3b8e8a {
    --side-gap: 8px;
    --radius: 16px;
    margin-top: 16px !important;
    margin-bottom: 16px !important;
    --title-separation-up: 18px;
    --title-separation-down: 10px;
    --t1-size: clamp(16px, 4.2vw, 24px);
    --t2-size: clamp(26px, 7.4vw, 50px);
    --text-right: 10px;
    --text-maxw: 85%;
    --text-shift-x: -45px;
  }
  
  .elementor-2109 .elementor-element.elementor-element-e3b8e8a .elementor-widget-image img {
    border-radius: var(--radius) !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d618be3 *//* =========================================================
   Banner Hero Completo
   Pegar en: Contenedor → Avanzado → CSS Personalizado
   Estructura requerida: 1 imagen + 2 headings

   CAMBIO ÚNICO:
   - Textos anclados a la IZQUIERDA (antes a la derecha)
   ========================================================= */

/* ===== CONTENEDOR PRINCIPAL ===== */
.elementor-2109 .elementor-element.elementor-element-d618be3 {
  position: relative !important;
  --side-gap: 8px;
  --radius: 28px;

  /* antes: --text-right */
  --text-left: 6%;

  /* antes era negativo para empujar a la izquierda desde right.
     ahora lo invertimos a positivo para empujar a la derecha desde left. */
  --text-shift-x: 130px;

  --text-maxw: 90%;
  --title-separation-up: 44px;
  --title-separation-down: 22px;
  --t1-size: clamp(34px, 3.6vw, 60px);
  --t2-size: clamp(64px, 6.6vw, 140px);
  width: calc(100% - (var(--side-gap) * 2)) !important;
  margin: 30px auto !important;
  overflow: hidden !important;
  padding: 0 !important;
  border-radius: var(--radius) !important;
  isolation: isolate !important;
}

.elementor-2109 .elementor-element.elementor-element-d618be3::before {
  content: none !important;
  display: none !important;
}

.elementor-2109 .elementor-element.elementor-element-d618be3.e-con-boxed > .e-con-inner {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.elementor-2109 .elementor-element.elementor-element-d618be3 .elementor-element,
.elementor-2109 .elementor-element.elementor-element-d618be3 .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

/* ===== IMAGEN ===== */
.elementor-2109 .elementor-element.elementor-element-d618be3 .elementor-widget-image img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  aspect-ratio: 1534 / 553 !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: var(--radius) !important;
  vertical-align: middle !important;
}

/* ===== TODOS LOS HEADINGS - POSICIÓN BASE (AHORA IZQUIERDA) ===== */
.elementor-2109 .elementor-element.elementor-element-d618be3 .elementor-widget-heading {
  position: absolute !important;
  top: 50% !important;

  left: var(--text-left) !important;
  right: auto !important;

  z-index: 5 !important;
  pointer-events: none !important;
  width: max-content !important;
  max-width: var(--text-maxw) !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.elementor-2109 .elementor-element.elementor-element-d618be3 .elementor-widget-heading .elementor-heading-title {
  color: #ffffff !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.35) !important;
  display: inline-block !important;
}

/* ===== TEXTO 1 (PRIMER HEADING) =====
   Nota: al estar anclado a left, usamos -50% en X
*/
.elementor-2109 .elementor-element.elementor-element-d618be3 .elementor-widget-heading {
  transform: translate(calc(-50% + var(--text-shift-x)), calc(-50% - var(--title-separation-up))) !important;
}

.elementor-2109 .elementor-element.elementor-element-d618be3 .elementor-widget-heading .elementor-heading-title {
  font-family: "Bebas Neue", sans-serif !important;
  font-size: var(--t1-size) !important;
  letter-spacing: 0.08em !important;
}

/* ===== TEXTO 2 (SEGUNDO HEADING - sobrescribe al primero) ===== */
.elementor-2109 .elementor-element.elementor-element-d618be3 .elementor-widget-heading ~ .elementor-widget-heading {
  transform: translate(calc(-50% + var(--text-shift-x)), calc(-50% + var(--title-separation-down))) !important;
}

.elementor-2109 .elementor-element.elementor-element-d618be3 .elementor-widget-heading ~ .elementor-widget-heading .elementor-heading-title {
  font-family: "Hatten", sans-serif !important;
  font-size: var(--t2-size) !important;
  letter-spacing: 0.02em !important;
  transform: scaleY(1.40) !important;
  transform-origin: center !important;
}

/* ===== PC (1025px+) ===== */
@media (min-width: 1025px) {
  .elementor-2109 .elementor-element.elementor-element-d618be3 {
    --side-gap: 40px;
    --radius: 28px;
    width: calc(100% - (var(--side-gap) * 2)) !important;
    max-width: none !important;
    margin-top: 30px !important;
    margin-bottom: 30px !important;

    --text-left: 6%;
    --text-shift-x: 130px;

    --title-separation-up: calc(clamp(34px, calc(var(--t2-size) * 0.34), 78px) + 9px);
    --title-separation-down: calc(clamp(16px, calc(var(--t2-size) * 0.16), 40px) + 9px);
  }
}

/* ===== TABLET (768px - 1024px) ===== */
@media (max-width: 1024px) {
  .elementor-2109 .elementor-element.elementor-element-d618be3 {
    --side-gap: 10px;
    --radius: 22px;
    margin-top: 20px !important;
    margin-bottom: 20px !important;
    --title-separation-up: 28px;
    --title-separation-down: 14px;
    --t1-size: clamp(24px, 3.4vw, 40px);
    --t2-size: clamp(40px, 6.2vw, 86px);

    --text-left: 16px;
    --text-maxw: 88%;
    --text-shift-x: 80px;
  }

  .elementor-2109 .elementor-element.elementor-element-d618be3 .elementor-widget-image img {
    border-radius: var(--radius) !important;
  }
}

/* ===== MÓVIL (767px-) ===== */
@media (max-width: 767px) {
  .elementor-2109 .elementor-element.elementor-element-d618be3 {
    --side-gap: 8px;
    --radius: 16px;
    margin-top: 16px !important;
    margin-bottom: 16px !important;
    --title-separation-up: 18px;
    --title-separation-down: 10px;
    --t1-size: clamp(16px, 4.2vw, 24px);
    --t2-size: clamp(26px, 7.4vw, 50px);

    --text-left: 10px;
    --text-maxw: 85%;
    --text-shift-x: 45px;
  }

  .elementor-2109 .elementor-element.elementor-element-d618be3 .elementor-widget-image img {
    border-radius: var(--radius) !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c68aa7a *//* =========================================================
   Banner Hero Completo
   Pegar en: Contenedor → Avanzado → CSS Personalizado
   Estructura requerida: 1 imagen + 2 headings
   ========================================================= */

/* ===== CONTENEDOR PRINCIPAL ===== */
.elementor-2109 .elementor-element.elementor-element-c68aa7a {
  position: relative !important;
  --side-gap: 8px;
  --radius: 28px;
  --text-right: 6%;
  --text-shift-x: -130px;
  --text-maxw: 90%;
  --title-separation-up: 44px;
  --title-separation-down: 22px;
  --t1-size: clamp(34px, 3.6vw, 60px);
  --t2-size: clamp(64px, 6.6vw, 140px);
  width: calc(100% - (var(--side-gap) * 2)) !important;
  margin: 30px auto !important;
  overflow: hidden !important;
  padding: 0 !important;
  border-radius: var(--radius) !important;
  isolation: isolate !important;
}

.elementor-2109 .elementor-element.elementor-element-c68aa7a::before {
  content: none !important;
  display: none !important;
}

.elementor-2109 .elementor-element.elementor-element-c68aa7a.e-con-boxed > .e-con-inner {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.elementor-2109 .elementor-element.elementor-element-c68aa7a .elementor-element,
.elementor-2109 .elementor-element.elementor-element-c68aa7a .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

/* ===== IMAGEN ===== */
.elementor-2109 .elementor-element.elementor-element-c68aa7a .elementor-widget-image img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  aspect-ratio: 1534 / 553 !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: var(--radius) !important;
  vertical-align: middle !important;
}

/* ===== TODOS LOS HEADINGS - POSICIÓN BASE ===== */
.elementor-2109 .elementor-element.elementor-element-c68aa7a .elementor-widget-heading {
  position: absolute !important;
  top: 50% !important;
  right: var(--text-right) !important;
  left: auto !important;
  z-index: 5 !important;
  pointer-events: none !important;
  width: max-content !important;
  max-width: var(--text-maxw) !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.elementor-2109 .elementor-element.elementor-element-c68aa7a .elementor-widget-heading .elementor-heading-title {
  color: #ffffff !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.35) !important;
  display: inline-block !important;
}

/* ===== TEXTO 1 (PRIMER HEADING) ===== */
.elementor-2109 .elementor-element.elementor-element-c68aa7a .elementor-widget-heading {
  transform: translate(calc(50% + var(--text-shift-x)), calc(-50% - var(--title-separation-up))) !important;
}

.elementor-2109 .elementor-element.elementor-element-c68aa7a .elementor-widget-heading .elementor-heading-title {
  font-family: "Bebas Neue", sans-serif !important;
  font-size: var(--t1-size) !important;
  letter-spacing: 0.08em !important;
}

/* ===== TEXTO 2 (SEGUNDO HEADING - sobrescribe al primero) ===== */
.elementor-2109 .elementor-element.elementor-element-c68aa7a .elementor-widget-heading ~ .elementor-widget-heading {
  transform: translate(calc(50% + var(--text-shift-x)), calc(-50% + var(--title-separation-down))) !important;
}

.elementor-2109 .elementor-element.elementor-element-c68aa7a .elementor-widget-heading ~ .elementor-widget-heading .elementor-heading-title {
  font-family: "Hatten", sans-serif !important;
  font-size: var(--t2-size) !important;
  letter-spacing: 0.02em !important;
  transform: scaleY(1.40) !important;
  transform-origin: center !important;
}

/* ===== PC (1025px+) ===== */
@media (min-width: 1025px) {
  .elementor-2109 .elementor-element.elementor-element-c68aa7a {
    --side-gap: 40px;
    --radius: 28px;
    width: calc(100% - (var(--side-gap) * 2)) !important;
    max-width: none !important;
    margin-top: 30px !important;
    margin-bottom: 30px !important;
    --text-right: 6%;
    --text-shift-x: -130px;
    --title-separation-up: calc(clamp(34px, calc(var(--t2-size) * 0.34), 78px) + 9px);
    --title-separation-down: calc(clamp(16px, calc(var(--t2-size) * 0.16), 40px) + 9px);
  }
}

/* ===== TABLET (768px - 1024px) ===== */
@media (max-width: 1024px) {
  .elementor-2109 .elementor-element.elementor-element-c68aa7a {
    --side-gap: 10px;
    --radius: 22px;
    margin-top: 20px !important;
    margin-bottom: 20px !important;
    --title-separation-up: 28px;
    --title-separation-down: 14px;
    --t1-size: clamp(24px, 3.4vw, 40px);
    --t2-size: clamp(40px, 6.2vw, 86px);
    --text-right: 16px;
    --text-maxw: 88%;
    --text-shift-x: -80px;
  }
  
  .elementor-2109 .elementor-element.elementor-element-c68aa7a .elementor-widget-image img {
    border-radius: var(--radius) !important;
  }
}

/* ===== MÓVIL (767px-) ===== */
@media (max-width: 767px) {
  .elementor-2109 .elementor-element.elementor-element-c68aa7a {
    --side-gap: 8px;
    --radius: 16px;
    margin-top: 16px !important;
    margin-bottom: 16px !important;
    --title-separation-up: 18px;
    --title-separation-down: 10px;
    --t1-size: clamp(16px, 4.2vw, 24px);
    --t2-size: clamp(26px, 7.4vw, 50px);
    --text-right: 10px;
    --text-maxw: 85%;
    --text-shift-x: -45px;
  }
  
  .elementor-2109 .elementor-element.elementor-element-c68aa7a .elementor-widget-image img {
    border-radius: var(--radius) !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8862d86 *//* =========================================================
   Banner Hero Completo
   Pegar en: Contenedor → Avanzado → CSS Personalizado
   Estructura requerida: 1 imagen + 2 headings

   CAMBIO ÚNICO:
   - Textos anclados a la IZQUIERDA (antes a la derecha)
   ========================================================= */

/* ===== CONTENEDOR PRINCIPAL ===== */
.elementor-2109 .elementor-element.elementor-element-8862d86 {
  position: relative !important;
  --side-gap: 8px;
  --radius: 28px;

  /* antes: --text-right */
  --text-left: 6%;

  /* antes era negativo para empujar a la izquierda desde right.
     ahora lo invertimos a positivo para empujar a la derecha desde left. */
  --text-shift-x: 130px;

  --text-maxw: 90%;
  --title-separation-up: 44px;
  --title-separation-down: 22px;
  --t1-size: clamp(34px, 3.6vw, 60px);
  --t2-size: clamp(64px, 6.6vw, 140px);
  width: calc(100% - (var(--side-gap) * 2)) !important;
  margin: 30px auto !important;
  overflow: hidden !important;
  padding: 0 !important;
  border-radius: var(--radius) !important;
  isolation: isolate !important;
}

.elementor-2109 .elementor-element.elementor-element-8862d86::before {
  content: none !important;
  display: none !important;
}

.elementor-2109 .elementor-element.elementor-element-8862d86.e-con-boxed > .e-con-inner {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.elementor-2109 .elementor-element.elementor-element-8862d86 .elementor-element,
.elementor-2109 .elementor-element.elementor-element-8862d86 .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

/* ===== IMAGEN ===== */
.elementor-2109 .elementor-element.elementor-element-8862d86 .elementor-widget-image img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  aspect-ratio: 1534 / 553 !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: var(--radius) !important;
  vertical-align: middle !important;
}

/* ===== TODOS LOS HEADINGS - POSICIÓN BASE (AHORA IZQUIERDA) ===== */
.elementor-2109 .elementor-element.elementor-element-8862d86 .elementor-widget-heading {
  position: absolute !important;
  top: 50% !important;

  left: var(--text-left) !important;
  right: auto !important;

  z-index: 5 !important;
  pointer-events: none !important;
  width: max-content !important;
  max-width: var(--text-maxw) !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.elementor-2109 .elementor-element.elementor-element-8862d86 .elementor-widget-heading .elementor-heading-title {
  color: #ffffff !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.35) !important;
  display: inline-block !important;
}

/* ===== TEXTO 1 (PRIMER HEADING) =====
   Nota: al estar anclado a left, usamos -50% en X
*/
.elementor-2109 .elementor-element.elementor-element-8862d86 .elementor-widget-heading {
  transform: translate(calc(-50% + var(--text-shift-x)), calc(-50% - var(--title-separation-up))) !important;
}

.elementor-2109 .elementor-element.elementor-element-8862d86 .elementor-widget-heading .elementor-heading-title {
  font-family: "Bebas Neue", sans-serif !important;
  font-size: var(--t1-size) !important;
  letter-spacing: 0.08em !important;
}

/* ===== TEXTO 2 (SEGUNDO HEADING - sobrescribe al primero) ===== */
.elementor-2109 .elementor-element.elementor-element-8862d86 .elementor-widget-heading ~ .elementor-widget-heading {
  transform: translate(calc(-50% + var(--text-shift-x)), calc(-50% + var(--title-separation-down))) !important;
}

.elementor-2109 .elementor-element.elementor-element-8862d86 .elementor-widget-heading ~ .elementor-widget-heading .elementor-heading-title {
  font-family: "Hatten", sans-serif !important;
  font-size: var(--t2-size) !important;
  letter-spacing: 0.02em !important;
  transform: scaleY(1.40) !important;
  transform-origin: center !important;
}

/* ===== PC (1025px+) ===== */
@media (min-width: 1025px) {
  .elementor-2109 .elementor-element.elementor-element-8862d86 {
    --side-gap: 40px;
    --radius: 28px;
    width: calc(100% - (var(--side-gap) * 2)) !important;
    max-width: none !important;
    margin-top: 30px !important;
    margin-bottom: 30px !important;

    --text-left: 6%;
    --text-shift-x: 130px;

    --title-separation-up: calc(clamp(34px, calc(var(--t2-size) * 0.34), 78px) + 9px);
    --title-separation-down: calc(clamp(16px, calc(var(--t2-size) * 0.16), 40px) + 9px);
  }
}

/* ===== TABLET (768px - 1024px) ===== */
@media (max-width: 1024px) {
  .elementor-2109 .elementor-element.elementor-element-8862d86 {
    --side-gap: 10px;
    --radius: 22px;
    margin-top: 20px !important;
    margin-bottom: 20px !important;
    --title-separation-up: 28px;
    --title-separation-down: 14px;
    --t1-size: clamp(24px, 3.4vw, 40px);
    --t2-size: clamp(40px, 6.2vw, 86px);

    --text-left: 16px;
    --text-maxw: 88%;
    --text-shift-x: 80px;
  }

  .elementor-2109 .elementor-element.elementor-element-8862d86 .elementor-widget-image img {
    border-radius: var(--radius) !important;
  }
}

/* ===== MÓVIL (767px-) ===== */
@media (max-width: 767px) {
  .elementor-2109 .elementor-element.elementor-element-8862d86 {
    --side-gap: 8px;
    --radius: 16px;
    margin-top: 16px !important;
    margin-bottom: 16px !important;
    --title-separation-up: 18px;
    --title-separation-down: 10px;
    --t1-size: clamp(16px, 4.2vw, 24px);
    --t2-size: clamp(26px, 7.4vw, 50px);

    --text-left: 10px;
    --text-maxw: 85%;
    --text-shift-x: 45px;
  }

  .elementor-2109 .elementor-element.elementor-element-8862d86 .elementor-widget-image img {
    border-radius: var(--radius) !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-266cf2c *//* =========================================================
   Banner Hero Completo
   Pegar en: Contenedor → Avanzado → CSS Personalizado
   Estructura requerida: 1 imagen + 2 headings
   ========================================================= */

/* ===== CONTENEDOR PRINCIPAL ===== */
.elementor-2109 .elementor-element.elementor-element-266cf2c {
  position: relative !important;
  --side-gap: 8px;
  --radius: 28px;
  --text-right: 6%;
  --text-shift-x: -130px;
  --text-maxw: 90%;
  --title-separation-up: 44px;
  --title-separation-down: 22px;
  --t1-size: clamp(34px, 3.6vw, 60px);
  --t2-size: clamp(64px, 6.6vw, 140px);
  width: calc(100% - (var(--side-gap) * 2)) !important;
  margin: 30px auto !important;
  overflow: hidden !important;
  padding: 0 !important;
  border-radius: var(--radius) !important;
  isolation: isolate !important;
}

.elementor-2109 .elementor-element.elementor-element-266cf2c::before {
  content: none !important;
  display: none !important;
}

.elementor-2109 .elementor-element.elementor-element-266cf2c.e-con-boxed > .e-con-inner {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.elementor-2109 .elementor-element.elementor-element-266cf2c .elementor-element,
.elementor-2109 .elementor-element.elementor-element-266cf2c .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

/* ===== IMAGEN ===== */
.elementor-2109 .elementor-element.elementor-element-266cf2c .elementor-widget-image img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  aspect-ratio: 1534 / 553 !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: var(--radius) !important;
  vertical-align: middle !important;
}

/* ===== TODOS LOS HEADINGS - POSICIÓN BASE ===== */
.elementor-2109 .elementor-element.elementor-element-266cf2c .elementor-widget-heading {
  position: absolute !important;
  top: 50% !important;
  right: var(--text-right) !important;
  left: auto !important;
  z-index: 5 !important;
  pointer-events: none !important;
  width: max-content !important;
  max-width: var(--text-maxw) !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.elementor-2109 .elementor-element.elementor-element-266cf2c .elementor-widget-heading .elementor-heading-title {
  color: #ffffff !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.35) !important;
  display: inline-block !important;
}

/* ===== TEXTO 1 (PRIMER HEADING) ===== */
.elementor-2109 .elementor-element.elementor-element-266cf2c .elementor-widget-heading {
  transform: translate(calc(50% + var(--text-shift-x)), calc(-50% - var(--title-separation-up))) !important;
}

.elementor-2109 .elementor-element.elementor-element-266cf2c .elementor-widget-heading .elementor-heading-title {
  font-family: "Bebas Neue", sans-serif !important;
  font-size: var(--t1-size) !important;
  letter-spacing: 0.08em !important;
}

/* ===== TEXTO 2 (SEGUNDO HEADING - sobrescribe al primero) ===== */
.elementor-2109 .elementor-element.elementor-element-266cf2c .elementor-widget-heading ~ .elementor-widget-heading {
  transform: translate(calc(50% + var(--text-shift-x)), calc(-50% + var(--title-separation-down))) !important;
}

.elementor-2109 .elementor-element.elementor-element-266cf2c .elementor-widget-heading ~ .elementor-widget-heading .elementor-heading-title {
  font-family: "Hatten", sans-serif !important;
  font-size: var(--t2-size) !important;
  letter-spacing: 0.02em !important;
  transform: scaleY(1.40) !important;
  transform-origin: center !important;
}

/* ===== PC (1025px+) ===== */
@media (min-width: 1025px) {
  .elementor-2109 .elementor-element.elementor-element-266cf2c {
    --side-gap: 40px;
    --radius: 28px;
    width: calc(100% - (var(--side-gap) * 2)) !important;
    max-width: none !important;
    margin-top: 30px !important;
    margin-bottom: 30px !important;
    --text-right: 6%;
    --text-shift-x: -130px;
    --title-separation-up: calc(clamp(34px, calc(var(--t2-size) * 0.34), 78px) + 9px);
    --title-separation-down: calc(clamp(16px, calc(var(--t2-size) * 0.16), 40px) + 9px);
  }
}

/* ===== TABLET (768px - 1024px) ===== */
@media (max-width: 1024px) {
  .elementor-2109 .elementor-element.elementor-element-266cf2c {
    --side-gap: 10px;
    --radius: 22px;
    margin-top: 20px !important;
    margin-bottom: 20px !important;
    --title-separation-up: 28px;
    --title-separation-down: 14px;
    --t1-size: clamp(24px, 3.4vw, 40px);
    --t2-size: clamp(40px, 6.2vw, 86px);
    --text-right: 16px;
    --text-maxw: 88%;
    --text-shift-x: -80px;
  }
  
  .elementor-2109 .elementor-element.elementor-element-266cf2c .elementor-widget-image img {
    border-radius: var(--radius) !important;
  }
}

/* ===== MÓVIL (767px-) ===== */
@media (max-width: 767px) {
  .elementor-2109 .elementor-element.elementor-element-266cf2c {
    --side-gap: 8px;
    --radius: 16px;
    margin-top: 16px !important;
    margin-bottom: 16px !important;
    --title-separation-up: 18px;
    --title-separation-down: 10px;
    --t1-size: clamp(16px, 4.2vw, 24px);
    --t2-size: clamp(26px, 7.4vw, 50px);
    --text-right: 10px;
    --text-maxw: 85%;
    --text-shift-x: -45px;
  }
  
  .elementor-2109 .elementor-element.elementor-element-266cf2c .elementor-widget-image img {
    border-radius: var(--radius) !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4ec3257 *//* =========================================================
   Banner Hero Completo
   Pegar en: Contenedor → Avanzado → CSS Personalizado
   Estructura requerida: 1 imagen + 2 headings

   CAMBIO ÚNICO:
   - Textos anclados a la IZQUIERDA (antes a la derecha)
   ========================================================= */

/* ===== CONTENEDOR PRINCIPAL ===== */
.elementor-2109 .elementor-element.elementor-element-4ec3257 {
  position: relative !important;
  --side-gap: 8px;
  --radius: 28px;

  /* antes: --text-right */
  --text-left: 6%;

  /* antes era negativo para empujar a la izquierda desde right.
     ahora lo invertimos a positivo para empujar a la derecha desde left. */
  --text-shift-x: 130px;

  --text-maxw: 90%;
  --title-separation-up: 44px;
  --title-separation-down: 22px;
  --t1-size: clamp(34px, 3.6vw, 60px);
  --t2-size: clamp(64px, 6.6vw, 140px);
  width: calc(100% - (var(--side-gap) * 2)) !important;
  margin: 30px auto !important;
  overflow: hidden !important;
  padding: 0 !important;
  border-radius: var(--radius) !important;
  isolation: isolate !important;
}

.elementor-2109 .elementor-element.elementor-element-4ec3257::before {
  content: none !important;
  display: none !important;
}

.elementor-2109 .elementor-element.elementor-element-4ec3257.e-con-boxed > .e-con-inner {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.elementor-2109 .elementor-element.elementor-element-4ec3257 .elementor-element,
.elementor-2109 .elementor-element.elementor-element-4ec3257 .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

/* ===== IMAGEN ===== */
.elementor-2109 .elementor-element.elementor-element-4ec3257 .elementor-widget-image img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  aspect-ratio: 1534 / 553 !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: var(--radius) !important;
  vertical-align: middle !important;
}

/* ===== TODOS LOS HEADINGS - POSICIÓN BASE (AHORA IZQUIERDA) ===== */
.elementor-2109 .elementor-element.elementor-element-4ec3257 .elementor-widget-heading {
  position: absolute !important;
  top: 50% !important;

  left: var(--text-left) !important;
  right: auto !important;

  z-index: 5 !important;
  pointer-events: none !important;
  width: max-content !important;
  max-width: var(--text-maxw) !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.elementor-2109 .elementor-element.elementor-element-4ec3257 .elementor-widget-heading .elementor-heading-title {
  color: #ffffff !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.35) !important;
  display: inline-block !important;
}

/* ===== TEXTO 1 (PRIMER HEADING) =====
   Nota: al estar anclado a left, usamos -50% en X
*/
.elementor-2109 .elementor-element.elementor-element-4ec3257 .elementor-widget-heading {
  transform: translate(calc(-50% + var(--text-shift-x)), calc(-50% - var(--title-separation-up))) !important;
}

.elementor-2109 .elementor-element.elementor-element-4ec3257 .elementor-widget-heading .elementor-heading-title {
  font-family: "Bebas Neue", sans-serif !important;
  font-size: var(--t1-size) !important;
  letter-spacing: 0.08em !important;
}

/* ===== TEXTO 2 (SEGUNDO HEADING - sobrescribe al primero) ===== */
.elementor-2109 .elementor-element.elementor-element-4ec3257 .elementor-widget-heading ~ .elementor-widget-heading {
  transform: translate(calc(-50% + var(--text-shift-x)), calc(-50% + var(--title-separation-down))) !important;
}

.elementor-2109 .elementor-element.elementor-element-4ec3257 .elementor-widget-heading ~ .elementor-widget-heading .elementor-heading-title {
  font-family: "Hatten", sans-serif !important;
  font-size: var(--t2-size) !important;
  letter-spacing: 0.02em !important;
  transform: scaleY(1.40) !important;
  transform-origin: center !important;
}

/* ===== PC (1025px+) ===== */
@media (min-width: 1025px) {
  .elementor-2109 .elementor-element.elementor-element-4ec3257 {
    --side-gap: 40px;
    --radius: 28px;
    width: calc(100% - (var(--side-gap) * 2)) !important;
    max-width: none !important;
    margin-top: 30px !important;
    margin-bottom: 30px !important;

    --text-left: 6%;
    --text-shift-x: 130px;

    --title-separation-up: calc(clamp(34px, calc(var(--t2-size) * 0.34), 78px) + 9px);
    --title-separation-down: calc(clamp(16px, calc(var(--t2-size) * 0.16), 40px) + 9px);
  }
}

/* ===== TABLET (768px - 1024px) ===== */
@media (max-width: 1024px) {
  .elementor-2109 .elementor-element.elementor-element-4ec3257 {
    --side-gap: 10px;
    --radius: 22px;
    margin-top: 20px !important;
    margin-bottom: 20px !important;
    --title-separation-up: 28px;
    --title-separation-down: 14px;
    --t1-size: clamp(24px, 3.4vw, 40px);
    --t2-size: clamp(40px, 6.2vw, 86px);

    --text-left: 16px;
    --text-maxw: 88%;
    --text-shift-x: 80px;
  }

  .elementor-2109 .elementor-element.elementor-element-4ec3257 .elementor-widget-image img {
    border-radius: var(--radius) !important;
  }
}

/* ===== MÓVIL (767px-) ===== */
@media (max-width: 767px) {
  .elementor-2109 .elementor-element.elementor-element-4ec3257 {
    --side-gap: 8px;
    --radius: 16px;
    margin-top: 16px !important;
    margin-bottom: 16px !important;
    --title-separation-up: 18px;
    --title-separation-down: 10px;
    --t1-size: clamp(16px, 4.2vw, 24px);
    --t2-size: clamp(26px, 7.4vw, 50px);

    --text-left: 10px;
    --text-maxw: 85%;
    --text-shift-x: 45px;
  }

  .elementor-2109 .elementor-element.elementor-element-4ec3257 .elementor-widget-image img {
    border-radius: var(--radius) !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c848a97 *//* =========================================================
   Banner Hero Completo
   Pegar en: Contenedor → Avanzado → CSS Personalizado
   Estructura requerida: 1 imagen + 2 headings
   ========================================================= */

/* ===== CONTENEDOR PRINCIPAL ===== */
.elementor-2109 .elementor-element.elementor-element-c848a97 {
  position: relative !important;
  --side-gap: 8px;
  --radius: 28px;
  --text-right: 6%;
  --text-shift-x: -130px;
  --text-maxw: 90%;
  --title-separation-up: 44px;
  --title-separation-down: 22px;
  --t1-size: clamp(34px, 3.6vw, 60px);
  --t2-size: clamp(64px, 6.6vw, 140px);
  width: calc(100% - (var(--side-gap) * 2)) !important;
  margin: 30px auto !important;
  overflow: hidden !important;
  padding: 0 !important;
  border-radius: var(--radius) !important;
  isolation: isolate !important;
}

.elementor-2109 .elementor-element.elementor-element-c848a97::before {
  content: none !important;
  display: none !important;
}

.elementor-2109 .elementor-element.elementor-element-c848a97.e-con-boxed > .e-con-inner {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.elementor-2109 .elementor-element.elementor-element-c848a97 .elementor-element,
.elementor-2109 .elementor-element.elementor-element-c848a97 .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

/* ===== IMAGEN ===== */
.elementor-2109 .elementor-element.elementor-element-c848a97 .elementor-widget-image img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  aspect-ratio: 1534 / 553 !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: var(--radius) !important;
  vertical-align: middle !important;
}

/* ===== TODOS LOS HEADINGS - POSICIÓN BASE ===== */
.elementor-2109 .elementor-element.elementor-element-c848a97 .elementor-widget-heading {
  position: absolute !important;
  top: 50% !important;
  right: var(--text-right) !important;
  left: auto !important;
  z-index: 5 !important;
  pointer-events: none !important;
  width: max-content !important;
  max-width: var(--text-maxw) !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.elementor-2109 .elementor-element.elementor-element-c848a97 .elementor-widget-heading .elementor-heading-title {
  color: #ffffff !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.35) !important;
  display: inline-block !important;
}

/* ===== TEXTO 1 (PRIMER HEADING) ===== */
.elementor-2109 .elementor-element.elementor-element-c848a97 .elementor-widget-heading {
  transform: translate(calc(50% + var(--text-shift-x)), calc(-50% - var(--title-separation-up))) !important;
}

.elementor-2109 .elementor-element.elementor-element-c848a97 .elementor-widget-heading .elementor-heading-title {
  font-family: "Bebas Neue", sans-serif !important;
  font-size: var(--t1-size) !important;
  letter-spacing: 0.08em !important;
}

/* ===== TEXTO 2 (SEGUNDO HEADING - sobrescribe al primero) ===== */
.elementor-2109 .elementor-element.elementor-element-c848a97 .elementor-widget-heading ~ .elementor-widget-heading {
  transform: translate(calc(50% + var(--text-shift-x)), calc(-50% + var(--title-separation-down))) !important;
}

.elementor-2109 .elementor-element.elementor-element-c848a97 .elementor-widget-heading ~ .elementor-widget-heading .elementor-heading-title {
  font-family: "Hatten", sans-serif !important;
  font-size: var(--t2-size) !important;
  letter-spacing: 0.02em !important;
  transform: scaleY(1.40) !important;
  transform-origin: center !important;
}

/* ===== PC (1025px+) ===== */
@media (min-width: 1025px) {
  .elementor-2109 .elementor-element.elementor-element-c848a97 {
    --side-gap: 40px;
    --radius: 28px;
    width: calc(100% - (var(--side-gap) * 2)) !important;
    max-width: none !important;
    margin-top: 30px !important;
    margin-bottom: 30px !important;
    --text-right: 6%;
    --text-shift-x: -130px;
    --title-separation-up: calc(clamp(34px, calc(var(--t2-size) * 0.34), 78px) + 9px);
    --title-separation-down: calc(clamp(16px, calc(var(--t2-size) * 0.16), 40px) + 9px);
  }
}

/* ===== TABLET (768px - 1024px) ===== */
@media (max-width: 1024px) {
  .elementor-2109 .elementor-element.elementor-element-c848a97 {
    --side-gap: 10px;
    --radius: 22px;
    margin-top: 20px !important;
    margin-bottom: 20px !important;
    --title-separation-up: 28px;
    --title-separation-down: 14px;
    --t1-size: clamp(24px, 3.4vw, 40px);
    --t2-size: clamp(40px, 6.2vw, 86px);
    --text-right: 16px;
    --text-maxw: 88%;
    --text-shift-x: -80px;
  }
  
  .elementor-2109 .elementor-element.elementor-element-c848a97 .elementor-widget-image img {
    border-radius: var(--radius) !important;
  }
}

/* ===== MÓVIL (767px-) ===== */
@media (max-width: 767px) {
  .elementor-2109 .elementor-element.elementor-element-c848a97 {
    --side-gap: 8px;
    --radius: 16px;
    margin-top: 16px !important;
    margin-bottom: 16px !important;
    --title-separation-up: 18px;
    --title-separation-down: 10px;
    --t1-size: clamp(16px, 4.2vw, 24px);
    --t2-size: clamp(26px, 7.4vw, 50px);
    --text-right: 10px;
    --text-maxw: 85%;
    --text-shift-x: -45px;
  }
  
  .elementor-2109 .elementor-element.elementor-element-c848a97 .elementor-widget-image img {
    border-radius: var(--radius) !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-aa03dcb *//* =========================================================
   Banner Hero Completo
   Pegar en: Contenedor → Avanzado → CSS Personalizado
   Estructura requerida: 1 imagen + 2 headings

   CAMBIO ÚNICO:
   - Textos anclados a la IZQUIERDA (antes a la derecha)
   ========================================================= */

/* ===== CONTENEDOR PRINCIPAL ===== */
.elementor-2109 .elementor-element.elementor-element-aa03dcb {
  position: relative !important;
  --side-gap: 8px;
  --radius: 28px;

  /* antes: --text-right */
  --text-left: 6%;

  /* antes era negativo para empujar a la izquierda desde right.
     ahora lo invertimos a positivo para empujar a la derecha desde left. */
  --text-shift-x: 130px;

  --text-maxw: 90%;
  --title-separation-up: 44px;
  --title-separation-down: 22px;
  --t1-size: clamp(34px, 3.6vw, 60px);
  --t2-size: clamp(64px, 6.6vw, 140px);
  width: calc(100% - (var(--side-gap) * 2)) !important;
  margin: 30px auto !important;
  overflow: hidden !important;
  padding: 0 !important;
  border-radius: var(--radius) !important;
  isolation: isolate !important;
}

.elementor-2109 .elementor-element.elementor-element-aa03dcb::before {
  content: none !important;
  display: none !important;
}

.elementor-2109 .elementor-element.elementor-element-aa03dcb.e-con-boxed > .e-con-inner {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.elementor-2109 .elementor-element.elementor-element-aa03dcb .elementor-element,
.elementor-2109 .elementor-element.elementor-element-aa03dcb .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

/* ===== IMAGEN ===== */
.elementor-2109 .elementor-element.elementor-element-aa03dcb .elementor-widget-image img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  aspect-ratio: 1534 / 553 !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: var(--radius) !important;
  vertical-align: middle !important;
}

/* ===== TODOS LOS HEADINGS - POSICIÓN BASE (AHORA IZQUIERDA) ===== */
.elementor-2109 .elementor-element.elementor-element-aa03dcb .elementor-widget-heading {
  position: absolute !important;
  top: 50% !important;

  left: var(--text-left) !important;
  right: auto !important;

  z-index: 5 !important;
  pointer-events: none !important;
  width: max-content !important;
  max-width: var(--text-maxw) !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.elementor-2109 .elementor-element.elementor-element-aa03dcb .elementor-widget-heading .elementor-heading-title {
  color: #ffffff !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.35) !important;
  display: inline-block !important;
}

/* ===== TEXTO 1 (PRIMER HEADING) =====
   Nota: al estar anclado a left, usamos -50% en X
*/
.elementor-2109 .elementor-element.elementor-element-aa03dcb .elementor-widget-heading {
  transform: translate(calc(-50% + var(--text-shift-x)), calc(-50% - var(--title-separation-up))) !important;
}

.elementor-2109 .elementor-element.elementor-element-aa03dcb .elementor-widget-heading .elementor-heading-title {
  font-family: "Bebas Neue", sans-serif !important;
  font-size: var(--t1-size) !important;
  letter-spacing: 0.08em !important;
}

/* ===== TEXTO 2 (SEGUNDO HEADING - sobrescribe al primero) ===== */
.elementor-2109 .elementor-element.elementor-element-aa03dcb .elementor-widget-heading ~ .elementor-widget-heading {
  transform: translate(calc(-50% + var(--text-shift-x)), calc(-50% + var(--title-separation-down))) !important;
}

.elementor-2109 .elementor-element.elementor-element-aa03dcb .elementor-widget-heading ~ .elementor-widget-heading .elementor-heading-title {
  font-family: "Hatten", sans-serif !important;
  font-size: var(--t2-size) !important;
  letter-spacing: 0.02em !important;
  transform: scaleY(1.40) !important;
  transform-origin: center !important;
}

/* ===== PC (1025px+) ===== */
@media (min-width: 1025px) {
  .elementor-2109 .elementor-element.elementor-element-aa03dcb {
    --side-gap: 40px;
    --radius: 28px;
    width: calc(100% - (var(--side-gap) * 2)) !important;
    max-width: none !important;
    margin-top: 30px !important;
    margin-bottom: 30px !important;

    --text-left: 6%;
    --text-shift-x: 130px;

    --title-separation-up: calc(clamp(34px, calc(var(--t2-size) * 0.34), 78px) + 9px);
    --title-separation-down: calc(clamp(16px, calc(var(--t2-size) * 0.16), 40px) + 9px);
  }
}

/* ===== TABLET (768px - 1024px) ===== */
@media (max-width: 1024px) {
  .elementor-2109 .elementor-element.elementor-element-aa03dcb {
    --side-gap: 10px;
    --radius: 22px;
    margin-top: 20px !important;
    margin-bottom: 20px !important;
    --title-separation-up: 28px;
    --title-separation-down: 14px;
    --t1-size: clamp(24px, 3.4vw, 40px);
    --t2-size: clamp(40px, 6.2vw, 86px);

    --text-left: 16px;
    --text-maxw: 88%;
    --text-shift-x: 80px;
  }

  .elementor-2109 .elementor-element.elementor-element-aa03dcb .elementor-widget-image img {
    border-radius: var(--radius) !important;
  }
}

/* ===== MÓVIL (767px-) ===== */
@media (max-width: 767px) {
  .elementor-2109 .elementor-element.elementor-element-aa03dcb {
    --side-gap: 8px;
    --radius: 16px;
    margin-top: 16px !important;
    margin-bottom: 16px !important;
    --title-separation-up: 18px;
    --title-separation-down: 10px;
    --t1-size: clamp(16px, 4.2vw, 24px);
    --t2-size: clamp(26px, 7.4vw, 50px);

    --text-left: 10px;
    --text-maxw: 85%;
    --text-shift-x: 45px;
  }

  .elementor-2109 .elementor-element.elementor-element-aa03dcb .elementor-widget-image img {
    border-radius: var(--radius) !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5979973 *//* =========================================================
   Banner Hero Completo
   Pegar en: Contenedor → Avanzado → CSS Personalizado
   Estructura requerida: 1 imagen + 2 headings
   ========================================================= */

/* ===== CONTENEDOR PRINCIPAL ===== */
.elementor-2109 .elementor-element.elementor-element-5979973 {
  position: relative !important;
  --side-gap: 8px;
  --radius: 28px;
  --text-right: 6%;
  --text-shift-x: -130px;
  --text-maxw: 90%;
  --title-separation-up: 44px;
  --title-separation-down: 22px;
  --t1-size: clamp(34px, 3.6vw, 60px);
  --t2-size: clamp(64px, 6.6vw, 140px);
  width: calc(100% - (var(--side-gap) * 2)) !important;
  margin: 30px auto !important;
  overflow: hidden !important;
  padding: 0 !important;
  border-radius: var(--radius) !important;
  isolation: isolate !important;
}

.elementor-2109 .elementor-element.elementor-element-5979973::before {
  content: none !important;
  display: none !important;
}

.elementor-2109 .elementor-element.elementor-element-5979973.e-con-boxed > .e-con-inner {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.elementor-2109 .elementor-element.elementor-element-5979973 .elementor-element,
.elementor-2109 .elementor-element.elementor-element-5979973 .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

/* ===== IMAGEN ===== */
.elementor-2109 .elementor-element.elementor-element-5979973 .elementor-widget-image img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  aspect-ratio: 1534 / 553 !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: var(--radius) !important;
  vertical-align: middle !important;
}

/* ===== TODOS LOS HEADINGS - POSICIÓN BASE ===== */
.elementor-2109 .elementor-element.elementor-element-5979973 .elementor-widget-heading {
  position: absolute !important;
  top: 50% !important;
  right: var(--text-right) !important;
  left: auto !important;
  z-index: 5 !important;
  pointer-events: none !important;
  width: max-content !important;
  max-width: var(--text-maxw) !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.elementor-2109 .elementor-element.elementor-element-5979973 .elementor-widget-heading .elementor-heading-title {
  color: #ffffff !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.35) !important;
  display: inline-block !important;
}

/* ===== TEXTO 1 (PRIMER HEADING) ===== */
.elementor-2109 .elementor-element.elementor-element-5979973 .elementor-widget-heading {
  transform: translate(calc(50% + var(--text-shift-x)), calc(-50% - var(--title-separation-up))) !important;
}

.elementor-2109 .elementor-element.elementor-element-5979973 .elementor-widget-heading .elementor-heading-title {
  font-family: "Bebas Neue", sans-serif !important;
  font-size: var(--t1-size) !important;
  letter-spacing: 0.08em !important;
}

/* ===== TEXTO 2 (SEGUNDO HEADING - sobrescribe al primero) ===== */
.elementor-2109 .elementor-element.elementor-element-5979973 .elementor-widget-heading ~ .elementor-widget-heading {
  transform: translate(calc(50% + var(--text-shift-x)), calc(-50% + var(--title-separation-down))) !important;
}

.elementor-2109 .elementor-element.elementor-element-5979973 .elementor-widget-heading ~ .elementor-widget-heading .elementor-heading-title {
  font-family: "Hatten", sans-serif !important;
  font-size: var(--t2-size) !important;
  letter-spacing: 0.02em !important;
  transform: scaleY(1.40) !important;
  transform-origin: center !important;
}

/* ===== PC (1025px+) ===== */
@media (min-width: 1025px) {
  .elementor-2109 .elementor-element.elementor-element-5979973 {
    --side-gap: 40px;
    --radius: 28px;
    width: calc(100% - (var(--side-gap) * 2)) !important;
    max-width: none !important;
    margin-top: 30px !important;
    margin-bottom: 30px !important;
    --text-right: 6%;
    --text-shift-x: -130px;
    --title-separation-up: calc(clamp(34px, calc(var(--t2-size) * 0.34), 78px) + 9px);
    --title-separation-down: calc(clamp(16px, calc(var(--t2-size) * 0.16), 40px) + 9px);
  }
}

/* ===== TABLET (768px - 1024px) ===== */
@media (max-width: 1024px) {
  .elementor-2109 .elementor-element.elementor-element-5979973 {
    --side-gap: 10px;
    --radius: 22px;
    margin-top: 20px !important;
    margin-bottom: 20px !important;
    --title-separation-up: 28px;
    --title-separation-down: 14px;
    --t1-size: clamp(24px, 3.4vw, 40px);
    --t2-size: clamp(40px, 6.2vw, 86px);
    --text-right: 16px;
    --text-maxw: 88%;
    --text-shift-x: -80px;
  }
  
  .elementor-2109 .elementor-element.elementor-element-5979973 .elementor-widget-image img {
    border-radius: var(--radius) !important;
  }
}

/* ===== MÓVIL (767px-) ===== */
@media (max-width: 767px) {
  .elementor-2109 .elementor-element.elementor-element-5979973 {
    --side-gap: 8px;
    --radius: 16px;
    margin-top: 16px !important;
    margin-bottom: 16px !important;
    --title-separation-up: 18px;
    --title-separation-down: 10px;
    --t1-size: clamp(16px, 4.2vw, 24px);
    --t2-size: clamp(26px, 7.4vw, 50px);
    --text-right: 10px;
    --text-maxw: 85%;
    --text-shift-x: -45px;
  }
  
  .elementor-2109 .elementor-element.elementor-element-5979973 .elementor-widget-image img {
    border-radius: var(--radius) !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-529b140 *//* =========================================================
   Banner Hero Completo
   Pegar en: Contenedor → Avanzado → CSS Personalizado
   Estructura requerida: 1 imagen + 2 headings

   CAMBIO ÚNICO:
   - Textos anclados a la IZQUIERDA (antes a la derecha)
   ========================================================= */

/* ===== CONTENEDOR PRINCIPAL ===== */
.elementor-2109 .elementor-element.elementor-element-529b140 {
  position: relative !important;
  --side-gap: 8px;
  --radius: 28px;

  /* antes: --text-right */
  --text-left: 6%;

  /* antes era negativo para empujar a la izquierda desde right.
     ahora lo invertimos a positivo para empujar a la derecha desde left. */
  --text-shift-x: 130px;

  --text-maxw: 90%;
  --title-separation-up: 44px;
  --title-separation-down: 22px;
  --t1-size: clamp(34px, 3.6vw, 60px);
  --t2-size: clamp(64px, 6.6vw, 140px);
  width: calc(100% - (var(--side-gap) * 2)) !important;
  margin: 30px auto !important;
  overflow: hidden !important;
  padding: 0 !important;
  border-radius: var(--radius) !important;
  isolation: isolate !important;
}

.elementor-2109 .elementor-element.elementor-element-529b140::before {
  content: none !important;
  display: none !important;
}

.elementor-2109 .elementor-element.elementor-element-529b140.e-con-boxed > .e-con-inner {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.elementor-2109 .elementor-element.elementor-element-529b140 .elementor-element,
.elementor-2109 .elementor-element.elementor-element-529b140 .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

/* ===== IMAGEN ===== */
.elementor-2109 .elementor-element.elementor-element-529b140 .elementor-widget-image img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  aspect-ratio: 1534 / 553 !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: var(--radius) !important;
  vertical-align: middle !important;
}

/* ===== TODOS LOS HEADINGS - POSICIÓN BASE (AHORA IZQUIERDA) ===== */
.elementor-2109 .elementor-element.elementor-element-529b140 .elementor-widget-heading {
  position: absolute !important;
  top: 50% !important;

  left: var(--text-left) !important;
  right: auto !important;

  z-index: 5 !important;
  pointer-events: none !important;
  width: max-content !important;
  max-width: var(--text-maxw) !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.elementor-2109 .elementor-element.elementor-element-529b140 .elementor-widget-heading .elementor-heading-title {
  color: #ffffff !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.35) !important;
  display: inline-block !important;
}

/* ===== TEXTO 1 (PRIMER HEADING) =====
   Nota: al estar anclado a left, usamos -50% en X
*/
.elementor-2109 .elementor-element.elementor-element-529b140 .elementor-widget-heading {
  transform: translate(calc(-50% + var(--text-shift-x)), calc(-50% - var(--title-separation-up))) !important;
}

.elementor-2109 .elementor-element.elementor-element-529b140 .elementor-widget-heading .elementor-heading-title {
  font-family: "Bebas Neue", sans-serif !important;
  font-size: var(--t1-size) !important;
  letter-spacing: 0.08em !important;
}

/* ===== TEXTO 2 (SEGUNDO HEADING - sobrescribe al primero) ===== */
.elementor-2109 .elementor-element.elementor-element-529b140 .elementor-widget-heading ~ .elementor-widget-heading {
  transform: translate(calc(-50% + var(--text-shift-x)), calc(-50% + var(--title-separation-down))) !important;
}

.elementor-2109 .elementor-element.elementor-element-529b140 .elementor-widget-heading ~ .elementor-widget-heading .elementor-heading-title {
  font-family: "Hatten", sans-serif !important;
  font-size: var(--t2-size) !important;
  letter-spacing: 0.02em !important;
  transform: scaleY(1.40) !important;
  transform-origin: center !important;
}

/* ===== PC (1025px+) ===== */
@media (min-width: 1025px) {
  .elementor-2109 .elementor-element.elementor-element-529b140 {
    --side-gap: 40px;
    --radius: 28px;
    width: calc(100% - (var(--side-gap) * 2)) !important;
    max-width: none !important;
    margin-top: 30px !important;
    margin-bottom: 30px !important;

    --text-left: 6%;
    --text-shift-x: 130px;

    --title-separation-up: calc(clamp(34px, calc(var(--t2-size) * 0.34), 78px) + 9px);
    --title-separation-down: calc(clamp(16px, calc(var(--t2-size) * 0.16), 40px) + 9px);
  }
}

/* ===== TABLET (768px - 1024px) ===== */
@media (max-width: 1024px) {
  .elementor-2109 .elementor-element.elementor-element-529b140 {
    --side-gap: 10px;
    --radius: 22px;
    margin-top: 20px !important;
    margin-bottom: 20px !important;
    --title-separation-up: 28px;
    --title-separation-down: 14px;
    --t1-size: clamp(24px, 3.4vw, 40px);
    --t2-size: clamp(40px, 6.2vw, 86px);

    --text-left: 16px;
    --text-maxw: 88%;
    --text-shift-x: 80px;
  }

  .elementor-2109 .elementor-element.elementor-element-529b140 .elementor-widget-image img {
    border-radius: var(--radius) !important;
  }
}

/* ===== MÓVIL (767px-) ===== */
@media (max-width: 767px) {
  .elementor-2109 .elementor-element.elementor-element-529b140 {
    --side-gap: 8px;
    --radius: 16px;
    margin-top: 16px !important;
    margin-bottom: 16px !important;
    --title-separation-up: 18px;
    --title-separation-down: 10px;
    --t1-size: clamp(16px, 4.2vw, 24px);
    --t2-size: clamp(26px, 7.4vw, 50px);

    --text-left: 10px;
    --text-maxw: 85%;
    --text-shift-x: 45px;
  }

  .elementor-2109 .elementor-element.elementor-element-529b140 .elementor-widget-image img {
    border-radius: var(--radius) !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e6fb2a6 *//* =========================================================
   Banner Hero Completo
   Pegar en: Contenedor → Avanzado → CSS Personalizado
   Estructura requerida: 1 imagen + 2 headings
   ========================================================= */

/* ===== CONTENEDOR PRINCIPAL ===== */
.elementor-2109 .elementor-element.elementor-element-e6fb2a6 {
  position: relative !important;
  --side-gap: 8px;
  --radius: 28px;
  --text-right: 6%;
  --text-shift-x: -130px;
  --text-maxw: 90%;
  --title-separation-up: 44px;
  --title-separation-down: 22px;
  --t1-size: clamp(34px, 3.6vw, 60px);
  --t2-size: clamp(64px, 6.6vw, 140px);
  width: calc(100% - (var(--side-gap) * 2)) !important;
  margin: 30px auto !important;
  overflow: hidden !important;
  padding: 0 !important;
  border-radius: var(--radius) !important;
  isolation: isolate !important;
}

.elementor-2109 .elementor-element.elementor-element-e6fb2a6::before {
  content: none !important;
  display: none !important;
}

.elementor-2109 .elementor-element.elementor-element-e6fb2a6.e-con-boxed > .e-con-inner {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.elementor-2109 .elementor-element.elementor-element-e6fb2a6 .elementor-element,
.elementor-2109 .elementor-element.elementor-element-e6fb2a6 .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

/* ===== IMAGEN ===== */
.elementor-2109 .elementor-element.elementor-element-e6fb2a6 .elementor-widget-image img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  aspect-ratio: 1534 / 553 !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: var(--radius) !important;
  vertical-align: middle !important;
}

/* ===== TODOS LOS HEADINGS - POSICIÓN BASE ===== */
.elementor-2109 .elementor-element.elementor-element-e6fb2a6 .elementor-widget-heading {
  position: absolute !important;
  top: 50% !important;
  right: var(--text-right) !important;
  left: auto !important;
  z-index: 5 !important;
  pointer-events: none !important;
  width: max-content !important;
  max-width: var(--text-maxw) !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.elementor-2109 .elementor-element.elementor-element-e6fb2a6 .elementor-widget-heading .elementor-heading-title {
  color: #ffffff !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.35) !important;
  display: inline-block !important;
}

/* ===== TEXTO 1 (PRIMER HEADING) ===== */
.elementor-2109 .elementor-element.elementor-element-e6fb2a6 .elementor-widget-heading {
  transform: translate(calc(50% + var(--text-shift-x)), calc(-50% - var(--title-separation-up))) !important;
}

.elementor-2109 .elementor-element.elementor-element-e6fb2a6 .elementor-widget-heading .elementor-heading-title {
  font-family: "Bebas Neue", sans-serif !important;
  font-size: var(--t1-size) !important;
  letter-spacing: 0.08em !important;
}

/* ===== TEXTO 2 (SEGUNDO HEADING - sobrescribe al primero) ===== */
.elementor-2109 .elementor-element.elementor-element-e6fb2a6 .elementor-widget-heading ~ .elementor-widget-heading {
  transform: translate(calc(50% + var(--text-shift-x)), calc(-50% + var(--title-separation-down))) !important;
}

.elementor-2109 .elementor-element.elementor-element-e6fb2a6 .elementor-widget-heading ~ .elementor-widget-heading .elementor-heading-title {
  font-family: "Hatten", sans-serif !important;
  font-size: var(--t2-size) !important;
  letter-spacing: 0.02em !important;
  transform: scaleY(1.40) !important;
  transform-origin: center !important;
}

/* ===== PC (1025px+) ===== */
@media (min-width: 1025px) {
  .elementor-2109 .elementor-element.elementor-element-e6fb2a6 {
    --side-gap: 40px;
    --radius: 28px;
    width: calc(100% - (var(--side-gap) * 2)) !important;
    max-width: none !important;
    margin-top: 30px !important;
    margin-bottom: 30px !important;
    --text-right: 6%;
    --text-shift-x: -130px;
    --title-separation-up: calc(clamp(34px, calc(var(--t2-size) * 0.34), 78px) + 9px);
    --title-separation-down: calc(clamp(16px, calc(var(--t2-size) * 0.16), 40px) + 9px);
  }
}

/* ===== TABLET (768px - 1024px) ===== */
@media (max-width: 1024px) {
  .elementor-2109 .elementor-element.elementor-element-e6fb2a6 {
    --side-gap: 10px;
    --radius: 22px;
    margin-top: 20px !important;
    margin-bottom: 20px !important;
    --title-separation-up: 28px;
    --title-separation-down: 14px;
    --t1-size: clamp(24px, 3.4vw, 40px);
    --t2-size: clamp(40px, 6.2vw, 86px);
    --text-right: 16px;
    --text-maxw: 88%;
    --text-shift-x: -80px;
  }
  
  .elementor-2109 .elementor-element.elementor-element-e6fb2a6 .elementor-widget-image img {
    border-radius: var(--radius) !important;
  }
}

/* ===== MÓVIL (767px-) ===== */
@media (max-width: 767px) {
  .elementor-2109 .elementor-element.elementor-element-e6fb2a6 {
    --side-gap: 8px;
    --radius: 16px;
    margin-top: 16px !important;
    margin-bottom: 16px !important;
    --title-separation-up: 18px;
    --title-separation-down: 10px;
    --t1-size: clamp(16px, 4.2vw, 24px);
    --t2-size: clamp(26px, 7.4vw, 50px);
    --text-right: 10px;
    --text-maxw: 85%;
    --text-shift-x: -45px;
  }
  
  .elementor-2109 .elementor-element.elementor-element-e6fb2a6 .elementor-widget-image img {
    border-radius: var(--radius) !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5f88061 *//* =========================================================
   Banner Hero Completo
   Pegar en: Contenedor → Avanzado → CSS Personalizado
   Estructura requerida: 1 imagen + 2 headings

   CAMBIO ÚNICO:
   - Textos anclados a la IZQUIERDA (antes a la derecha)
   ========================================================= */

/* ===== CONTENEDOR PRINCIPAL ===== */
.elementor-2109 .elementor-element.elementor-element-5f88061 {
  position: relative !important;
  --side-gap: 8px;
  --radius: 28px;

  /* antes: --text-right */
  --text-left: 6%;

  /* antes era negativo para empujar a la izquierda desde right.
     ahora lo invertimos a positivo para empujar a la derecha desde left. */
  --text-shift-x: 130px;

  --text-maxw: 90%;
  --title-separation-up: 44px;
  --title-separation-down: 22px;
  --t1-size: clamp(34px, 3.6vw, 60px);
  --t2-size: clamp(64px, 6.6vw, 140px);
  width: calc(100% - (var(--side-gap) * 2)) !important;
  margin: 30px auto !important;
  overflow: hidden !important;
  padding: 0 !important;
  border-radius: var(--radius) !important;
  isolation: isolate !important;
}

.elementor-2109 .elementor-element.elementor-element-5f88061::before {
  content: none !important;
  display: none !important;
}

.elementor-2109 .elementor-element.elementor-element-5f88061.e-con-boxed > .e-con-inner {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.elementor-2109 .elementor-element.elementor-element-5f88061 .elementor-element,
.elementor-2109 .elementor-element.elementor-element-5f88061 .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

/* ===== IMAGEN ===== */
.elementor-2109 .elementor-element.elementor-element-5f88061 .elementor-widget-image img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  aspect-ratio: 1534 / 553 !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: var(--radius) !important;
  vertical-align: middle !important;
}

/* ===== TODOS LOS HEADINGS - POSICIÓN BASE (AHORA IZQUIERDA) ===== */
.elementor-2109 .elementor-element.elementor-element-5f88061 .elementor-widget-heading {
  position: absolute !important;
  top: 50% !important;

  left: var(--text-left) !important;
  right: auto !important;

  z-index: 5 !important;
  pointer-events: none !important;
  width: max-content !important;
  max-width: var(--text-maxw) !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.elementor-2109 .elementor-element.elementor-element-5f88061 .elementor-widget-heading .elementor-heading-title {
  color: #ffffff !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.35) !important;
  display: inline-block !important;
}

/* ===== TEXTO 1 (PRIMER HEADING) =====
   Nota: al estar anclado a left, usamos -50% en X
*/
.elementor-2109 .elementor-element.elementor-element-5f88061 .elementor-widget-heading {
  transform: translate(calc(-50% + var(--text-shift-x)), calc(-50% - var(--title-separation-up))) !important;
}

.elementor-2109 .elementor-element.elementor-element-5f88061 .elementor-widget-heading .elementor-heading-title {
  font-family: "Bebas Neue", sans-serif !important;
  font-size: var(--t1-size) !important;
  letter-spacing: 0.08em !important;
}

/* ===== TEXTO 2 (SEGUNDO HEADING - sobrescribe al primero) ===== */
.elementor-2109 .elementor-element.elementor-element-5f88061 .elementor-widget-heading ~ .elementor-widget-heading {
  transform: translate(calc(-50% + var(--text-shift-x)), calc(-50% + var(--title-separation-down))) !important;
}

.elementor-2109 .elementor-element.elementor-element-5f88061 .elementor-widget-heading ~ .elementor-widget-heading .elementor-heading-title {
  font-family: "Hatten", sans-serif !important;
  font-size: var(--t2-size) !important;
  letter-spacing: 0.02em !important;
  transform: scaleY(1.40) !important;
  transform-origin: center !important;
}

/* ===== PC (1025px+) ===== */
@media (min-width: 1025px) {
  .elementor-2109 .elementor-element.elementor-element-5f88061 {
    --side-gap: 40px;
    --radius: 28px;
    width: calc(100% - (var(--side-gap) * 2)) !important;
    max-width: none !important;
    margin-top: 30px !important;
    margin-bottom: 30px !important;

    --text-left: 6%;
    --text-shift-x: 130px;

    --title-separation-up: calc(clamp(34px, calc(var(--t2-size) * 0.34), 78px) + 9px);
    --title-separation-down: calc(clamp(16px, calc(var(--t2-size) * 0.16), 40px) + 9px);
  }
}

/* ===== TABLET (768px - 1024px) ===== */
@media (max-width: 1024px) {
  .elementor-2109 .elementor-element.elementor-element-5f88061 {
    --side-gap: 10px;
    --radius: 22px;
    margin-top: 20px !important;
    margin-bottom: 20px !important;
    --title-separation-up: 28px;
    --title-separation-down: 14px;
    --t1-size: clamp(24px, 3.4vw, 40px);
    --t2-size: clamp(40px, 6.2vw, 86px);

    --text-left: 16px;
    --text-maxw: 88%;
    --text-shift-x: 80px;
  }

  .elementor-2109 .elementor-element.elementor-element-5f88061 .elementor-widget-image img {
    border-radius: var(--radius) !important;
  }
}

/* ===== MÓVIL (767px-) ===== */
@media (max-width: 767px) {
  .elementor-2109 .elementor-element.elementor-element-5f88061 {
    --side-gap: 8px;
    --radius: 16px;
    margin-top: 16px !important;
    margin-bottom: 16px !important;
    --title-separation-up: 18px;
    --title-separation-down: 10px;
    --t1-size: clamp(16px, 4.2vw, 24px);
    --t2-size: clamp(26px, 7.4vw, 50px);

    --text-left: 10px;
    --text-maxw: 85%;
    --text-shift-x: 45px;
  }

  .elementor-2109 .elementor-element.elementor-element-5f88061 .elementor-widget-image img {
    border-radius: var(--radius) !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-28cf0e1 *//* =========================================================
   Banner Hero Completo
   Pegar en: Contenedor → Avanzado → CSS Personalizado
   Estructura requerida: 1 imagen + 2 headings
   ========================================================= */

/* ===== CONTENEDOR PRINCIPAL ===== */
.elementor-2109 .elementor-element.elementor-element-28cf0e1 {
  position: relative !important;
  --side-gap: 8px;
  --radius: 28px;
  --text-right: 6%;
  --text-shift-x: -130px;
  --text-maxw: 90%;
  --title-separation-up: 44px;
  --title-separation-down: 22px;
  --t1-size: clamp(34px, 3.6vw, 60px);
  --t2-size: clamp(64px, 6.6vw, 140px);
  width: calc(100% - (var(--side-gap) * 2)) !important;
  margin: 30px auto !important;
  overflow: hidden !important;
  padding: 0 !important;
  border-radius: var(--radius) !important;
  isolation: isolate !important;
}

.elementor-2109 .elementor-element.elementor-element-28cf0e1::before {
  content: none !important;
  display: none !important;
}

.elementor-2109 .elementor-element.elementor-element-28cf0e1.e-con-boxed > .e-con-inner {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.elementor-2109 .elementor-element.elementor-element-28cf0e1 .elementor-element,
.elementor-2109 .elementor-element.elementor-element-28cf0e1 .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

/* ===== IMAGEN ===== */
.elementor-2109 .elementor-element.elementor-element-28cf0e1 .elementor-widget-image img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  aspect-ratio: 1534 / 553 !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: var(--radius) !important;
  vertical-align: middle !important;
}

/* ===== TODOS LOS HEADINGS - POSICIÓN BASE ===== */
.elementor-2109 .elementor-element.elementor-element-28cf0e1 .elementor-widget-heading {
  position: absolute !important;
  top: 50% !important;
  right: var(--text-right) !important;
  left: auto !important;
  z-index: 5 !important;
  pointer-events: none !important;
  width: max-content !important;
  max-width: var(--text-maxw) !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.elementor-2109 .elementor-element.elementor-element-28cf0e1 .elementor-widget-heading .elementor-heading-title {
  color: #ffffff !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.35) !important;
  display: inline-block !important;
}

/* ===== TEXTO 1 (PRIMER HEADING) ===== */
.elementor-2109 .elementor-element.elementor-element-28cf0e1 .elementor-widget-heading {
  transform: translate(calc(50% + var(--text-shift-x)), calc(-50% - var(--title-separation-up))) !important;
}

.elementor-2109 .elementor-element.elementor-element-28cf0e1 .elementor-widget-heading .elementor-heading-title {
  font-family: "Bebas Neue", sans-serif !important;
  font-size: var(--t1-size) !important;
  letter-spacing: 0.08em !important;
}

/* ===== TEXTO 2 (SEGUNDO HEADING - sobrescribe al primero) ===== */
.elementor-2109 .elementor-element.elementor-element-28cf0e1 .elementor-widget-heading ~ .elementor-widget-heading {
  transform: translate(calc(50% + var(--text-shift-x)), calc(-50% + var(--title-separation-down))) !important;
}

.elementor-2109 .elementor-element.elementor-element-28cf0e1 .elementor-widget-heading ~ .elementor-widget-heading .elementor-heading-title {
  font-family: "Hatten", sans-serif !important;
  font-size: var(--t2-size) !important;
  letter-spacing: 0.02em !important;
  transform: scaleY(1.40) !important;
  transform-origin: center !important;
}

/* ===== PC (1025px+) ===== */
@media (min-width: 1025px) {
  .elementor-2109 .elementor-element.elementor-element-28cf0e1 {
    --side-gap: 40px;
    --radius: 28px;
    width: calc(100% - (var(--side-gap) * 2)) !important;
    max-width: none !important;
    margin-top: 30px !important;
    margin-bottom: 30px !important;
    --text-right: 6%;
    --text-shift-x: -130px;
    --title-separation-up: calc(clamp(34px, calc(var(--t2-size) * 0.34), 78px) + 9px);
    --title-separation-down: calc(clamp(16px, calc(var(--t2-size) * 0.16), 40px) + 9px);
  }
}

/* ===== TABLET (768px - 1024px) ===== */
@media (max-width: 1024px) {
  .elementor-2109 .elementor-element.elementor-element-28cf0e1 {
    --side-gap: 10px;
    --radius: 22px;
    margin-top: 20px !important;
    margin-bottom: 20px !important;
    --title-separation-up: 28px;
    --title-separation-down: 14px;
    --t1-size: clamp(24px, 3.4vw, 40px);
    --t2-size: clamp(40px, 6.2vw, 86px);
    --text-right: 16px;
    --text-maxw: 88%;
    --text-shift-x: -80px;
  }
  
  .elementor-2109 .elementor-element.elementor-element-28cf0e1 .elementor-widget-image img {
    border-radius: var(--radius) !important;
  }
}

/* ===== MÓVIL (767px-) ===== */
@media (max-width: 767px) {
  .elementor-2109 .elementor-element.elementor-element-28cf0e1 {
    --side-gap: 8px;
    --radius: 16px;
    margin-top: 16px !important;
    margin-bottom: 16px !important;
    --title-separation-up: 18px;
    --title-separation-down: 10px;
    --t1-size: clamp(16px, 4.2vw, 24px);
    --t2-size: clamp(26px, 7.4vw, 50px);
    --text-right: 10px;
    --text-maxw: 85%;
    --text-shift-x: -45px;
  }
  
  .elementor-2109 .elementor-element.elementor-element-28cf0e1 .elementor-widget-image img {
    border-radius: var(--radius) !important;
  }
}/* End custom CSS */