/* IndexSolar Hero CTA - clases aisladas para evitar conflictos con CSS externo */
.ixs-hcta,
.ixs-hcta * {
  box-sizing: border-box;
}

/*
  Extensión del degradado hasta la base real de la página:
  el JS copia las variables del hero al documento y coloca el inicio del fondo
  en la parte superior del bloque CTA. Así el color base queda al final de la
  página, incluso debajo del footer/copyright del tema.
*/
html.ixs-hcta-page-gradient {
  min-height: 100%;
  background-color: var(--ixs-hcta-bg-top-color, #fcfcfc) !important;
}

body.ixs-hcta-page-gradient {
  position: relative;
  z-index: 0;
  isolation: isolate;
  min-height: 100%;
  background-color: transparent !important;
  overflow-x: hidden;
  overflow-x: clip;
}

body.ixs-hcta-page-gradient::before {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  left: 50%;
  top: var(--ixs-hcta-page-gradient-top, 0px);
  bottom: 0;
  width: 100vw;
  transform: translateX(-50%);
  background-color: var(--ixs-hcta-bg-top-color, #fcfcfc) !important;
  background-image: linear-gradient(
    var(--ixs-hcta-bg-angle, 0deg),
    var(--ixs-hcta-bg-base-color, #5ea33b) var(--ixs-hcta-bg-base-stop, 0%),
    var(--ixs-hcta-bg-top-color, #fcfcfc) var(--ixs-hcta-bg-top-stop, 100%)
  ) !important;
}

/*
  Corrección 1.1.9:
  Antes se forzaba z-index: 1 a todos los hijos directos del body para que
  quedaran encima del degradado. Eso podía crear contextos de apilamiento donde
  el contenido de la página quedaba por encima del header o del menú hamburguesa
  en celular. Ahora el degradado vive detrás con z-index negativo aislado, y los
  elementos del tema conservan su orden/z-index original.
*/
body.ixs-hcta-page-gradient > * {
  position: relative;
  z-index: auto;
}

body.ixs-hcta-page-gradient header,
body.ixs-hcta-page-gradient #masthead,
body.ixs-hcta-page-gradient .site-header,
body.ixs-hcta-page-gradient .ct-header,
body.ixs-hcta-page-gradient .elementor-location-header,
body.ixs-hcta-page-gradient .wp-site-blocks > header {
  z-index: 99990 !important;
}

body.ixs-hcta-page-gradient .ct-drawer-canvas,
body.ixs-hcta-page-gradient .ct-panel,
body.ixs-hcta-page-gradient #offcanvas,
body.ixs-hcta-page-gradient .mobile-menu-container,
body.ixs-hcta-page-gradient .wp-block-navigation__responsive-container.is-menu-open,
body.ixs-hcta-page-gradient .elementor-nav-menu--dropdown,
body.ixs-hcta-page-gradient .elementor-menu-toggle + .elementor-nav-menu--dropdown {
  z-index: 100000 !important;
}

/* El fondo real queda en body::before; el bloque y el footer se vuelven transparentes para que no se corte. */
body.ixs-hcta-page-gradient .ixs-hcta {
  background-color: transparent !important;
  background-image: none !important;
}

body.ixs-hcta-page-gradient #page,
body.ixs-hcta-page-gradient .site,
body.ixs-hcta-page-gradient .site-content,
body.ixs-hcta-page-gradient #content,
body.ixs-hcta-page-gradient .content-area,
body.ixs-hcta-page-gradient main,
body.ixs-hcta-page-gradient .entry-content,
body.ixs-hcta-page-gradient .ct-main-content,
body.ixs-hcta-page-gradient .ct-container,
body.ixs-hcta-page-gradient .ct-container-full,
body.ixs-hcta-page-gradient .wp-site-blocks {
  background-color: transparent !important;
  background-image: none !important;
}

body.ixs-hcta-page-gradient footer,
body.ixs-hcta-page-gradient #colophon,
body.ixs-hcta-page-gradient .site-footer,
body.ixs-hcta-page-gradient .ct-footer,
body.ixs-hcta-page-gradient .ct-footer [data-row],
body.ixs-hcta-page-gradient .ct-footer [data-column],
body.ixs-hcta-page-gradient .ct-footer-copyright,
body.ixs-hcta-page-gradient .site-info,
body.ixs-hcta-page-gradient .footer-bottom,
body.ixs-hcta-page-gradient .footer-widgets,
body.ixs-hcta-page-gradient .footer-copyright {
  background-color: transparent !important;
  background-image: none !important;
}

@supports (width: 100dvw) {
  body.ixs-hcta-page-gradient::before {
    width: 100dvw;
  }
}

.ixs-hcta {
  /*
    Fondo full-bleed: el shortcode puede quedar dentro de contenedores del tema
    con ancho máximo o padding lateral. Estas reglas hacen que el degradado llegue
    a los bordes reales de la pantalla sin mover el contenido interno.
  */
  display: block;
  position: relative;
  clear: both;
  width: 100vw !important;
  max-width: 100vw !important;
  /*
    La posición Y se aplica con margen real, no con transform.
    Así el bloque, el degradado y el espacio del layout se mueven juntos
    y no queda un hueco grande abajo cuando se sube el bloque.
  */
  --ixs-hcta-block-y-current: var(--ixs-hcta-block-y-desktop, 0px);
  --ixs-hcta-title-x-current: var(--ixs-hcta-title-x-desktop, 0px);
  --ixs-hcta-title-y-current: var(--ixs-hcta-title-y-desktop, 0px);
  --ixs-hcta-subtitle-x-current: var(--ixs-hcta-subtitle-x-desktop, 0px);
  --ixs-hcta-subtitle-y-current: var(--ixs-hcta-subtitle-y-desktop, 0px);
  --ixs-hcta-actions-x-current: var(--ixs-hcta-actions-x-desktop, 0px);
  --ixs-hcta-actions-y-current: var(--ixs-hcta-actions-y-desktop, 0px);
  --ixs-hcta-quote-x-current: var(--ixs-hcta-quote-x-desktop, 0px);
  --ixs-hcta-quote-y-current: var(--ixs-hcta-quote-y-desktop, 0px);
  --ixs-hcta-whatsapp-x-current: var(--ixs-hcta-whatsapp-x-desktop, 0px);
  --ixs-hcta-whatsapp-y-current: var(--ixs-hcta-whatsapp-y-desktop, 0px);

  /*
    Tamaños responsivos blindados:
    cada breakpoint cambia estas variables "current" y los elementos las usan con
    !important. Así los controles de celular/tableta ganan prioridad incluso si el
    tema o el constructor visual agrega tamaños responsivos propios.
  */
  --ixs-hcta-title-main-size-current: var(--ixs-hcta-title-main-size-desktop, max(1px, calc(clamp(42px, 6vw, 88px) + var(--ixs-hcta-title-main-size-adjust-desktop, 0px))));
  --ixs-hcta-title-gradient-size-current: var(--ixs-hcta-title-gradient-size-desktop, max(1px, calc(clamp(42px, 6vw, 88px) + var(--ixs-hcta-title-gradient-size-adjust-desktop, 0px))));
  --ixs-hcta-subtitle-size-current: var(--ixs-hcta-subtitle-size-desktop, max(1px, calc(clamp(18px, 2.15vw, 34px) + var(--ixs-hcta-subtitle-size-adjust-desktop, 0px))));
  --ixs-hcta-subtitle-width-current: var(--ixs-hcta-subtitle-width-desktop, max(1px, calc(930px + var(--ixs-hcta-subtitle-width-adjust-desktop, 0px))));
  --ixs-hcta-button-auto-width-current: max(1px, calc(clamp(230px, 22vw, 360px) + var(--ixs-hcta-button-width-adjust-desktop, 0px)));
  --ixs-hcta-button-width-current: var(--ixs-hcta-button-width-desktop, var(--ixs-hcta-button-auto-width-current));
  --ixs-hcta-button-auto-height-current: max(1px, calc(clamp(58px, 5vw, 78px) + var(--ixs-hcta-button-height-adjust-desktop, 0px)));
  --ixs-hcta-button-height-current: var(--ixs-hcta-button-height-desktop, var(--ixs-hcta-button-auto-height-current));
  --ixs-hcta-button-font-size-current: var(--ixs-hcta-button-font-size-desktop, max(1px, calc(clamp(18px, 1.55vw, 24px) + var(--ixs-hcta-button-font-size-adjust-desktop, 0px))));
  --ixs-hcta-light-sweep-duration: 5s;
  --ixs-hcta-light-sweep-repeat-delay: 0s;
  --ixs-hcta-light-sweep-blur: 3.5px;
  --ixs-hcta-light-sweep-width: 34%;

  margin-top: var(--ixs-hcta-block-y-current) !important;
  margin-bottom: 0 !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  background-color: var(--ixs-hcta-bg-top-color, #fcfcfc) !important;
  background-image: linear-gradient(
    var(--ixs-hcta-bg-angle, 0deg),
    var(--ixs-hcta-bg-base-color, #5ea33b) var(--ixs-hcta-bg-base-stop, 0%),
    var(--ixs-hcta-bg-top-color, #fcfcfc) var(--ixs-hcta-bg-top-stop, 100%)
  ) !important;
  border: 0 !important;
  padding: clamp(30px, 6vw, 82px) max(18px, env(safe-area-inset-left)) clamp(30px, 6vw, 82px) max(18px, env(safe-area-inset-right));
  color: #3f536e;
  font-family: inherit;
}

@supports (width: 100dvw) {
  .ixs-hcta {
    width: 100dvw !important;
    max-width: 100dvw !important;
    margin-left: calc(50% - 50dvw) !important;
    margin-right: calc(50% - 50dvw) !important;
  }
}

.ixs-hcta__inner {
  width: min(100%, 1160px);
  margin: 0 auto;
}

.ixs-hcta--center {
  text-align: center;
}

.ixs-hcta--left {
  text-align: left;
}

.ixs-hcta--left .ixs-hcta__inner,
.ixs-hcta--left .ixs-hcta__subtitle {
  margin-left: 0;
}

.ixs-hcta__title {
  margin: 0;
  padding: 0 0 0.12em;
  font-size: inherit;
  line-height: 1.16;
  font-weight: 800;
  letter-spacing: -0.055em;
  transform: translate(var(--ixs-hcta-title-x-current, 0px), var(--ixs-hcta-title-y-current, 0px));
  overflow: visible;
  text-align: center;
}

.ixs-hcta__title-line {
  display: block;
  max-width: 100%;
  overflow: visible;
  padding-bottom: 0.08em;
  line-height: 1.16;
}

.ixs-hcta__title-main {
  color: #1d2b53;
  -webkit-text-fill-color: #1d2b53;
  font-size: var(--ixs-hcta-title-main-size-current) !important;
}

/* Gradiente del título */
.ixs-hcta__title-gradient {
  color: #5b8f3b;
  font-size: var(--ixs-hcta-title-gradient-size-current) !important;
  background-image: linear-gradient(90deg, #78b94f 0%, #5ea33b 38%, #2f5e22 100%);
  background-size: 100% 115%;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  padding-bottom: 0.16em;
}

.ixs-hcta__subtitle {
  width: min(100%, var(--ixs-hcta-subtitle-width-current)) !important;
  margin: clamp(18px, 2.8vw, 34px) auto 0;
  color: #3f536e;
  font-size: var(--ixs-hcta-subtitle-size-current) !important;
  line-height: 1.35;
  font-weight: 400;
  transform: translate(var(--ixs-hcta-subtitle-x-current, 0px), var(--ixs-hcta-subtitle-y-current, 0px));
}

.ixs-hcta__actions {
  /*
    Mantiene los dos botones en una sola fila.
    El contenedor calcula el ancho de 2 botones + separación. Si el espacio disponible es menor,
    reparte el ancho en dos columnas en vez de mandar el segundo botón abajo.
  */
  --ixs-hcta-action-gap: clamp(16px, 2.2vw, 30px);
  --ixs-hcta-button-final-width: var(--ixs-hcta-button-width-current);

  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center;
  justify-content: center;
  gap: var(--ixs-hcta-action-gap);
  flex-wrap: nowrap !important;
  width: min(100%, calc(var(--ixs-hcta-button-final-width) + var(--ixs-hcta-button-final-width) + var(--ixs-hcta-action-gap)));
  max-width: 100%;
  margin-top: clamp(34px, 5vw, 66px);
  transform: translate(var(--ixs-hcta-actions-x-current, 0px), var(--ixs-hcta-actions-y-current, 0px));
}

.ixs-hcta--left .ixs-hcta__actions {
  justify-content: flex-start;
}

.ixs-hcta__btn,
.ixs-hcta__btn:visited {
  /*
    Corrección: antes se usaban min-width/min-height y padding grande.
    Eso impedía que los controles del admin realmente hicieran los botones más chicos.
    Ahora ancho y alto son dimensiones reales; el padding vertical se elimina para que
    el alto elegido se respete.
  */
  --ixs-hcta-button-pad-x: var(--ixs-hcta-button-padding-x, clamp(14px, 3.2vw, 44px));

  flex: 1 1 0 !important;
  width: auto !important;
  max-width: var(--ixs-hcta-button-final-width, 360px) !important;
  height: var(--ixs-hcta-button-height-current) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 var(--ixs-hcta-button-pad-x) !important;
  border: 0 !important;
  outline: 0;
  line-height: 1.1;
  cursor: pointer;
  user-select: none;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none !important;
  border-radius: 24px !important;
  font-weight: 700 !important;
  font-size: var(--ixs-hcta-button-font-size-current) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,0.12);
  overflow: hidden;
  white-space: nowrap;
  transition:
    transform 0.25s cubic-bezier(.22,1,.36,1),
    box-shadow 0.25s cubic-bezier(.22,1,.36,1),
    background 0.25s ease,
    filter 0.25s ease;
}

.ixs-hcta__btn > span:not(.ixs-hcta__btn-arrow) {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ixs-hcta__btn:focus-visible {
  outline: 3px solid rgba(63, 83, 110, 0.25) !important;
  outline-offset: 4px;
}

/* Botón Cotiza ahora premium */
.ixs-hcta__btn--quote,
.ixs-hcta__btn--quote:visited {
  overflow: hidden;
  isolation: isolate;
  gap: clamp(6px, 1vw, 16px);
  background: #5ea33b !important;
  color: #ffffff !important;
  padding: 0 var(--ixs-hcta-button-pad-x) !important;
  transform: translate(var(--ixs-hcta-quote-x-current, 0px), var(--ixs-hcta-quote-y-current, 0px));
}

.ixs-hcta__btn--quote::after {
  content: "";
  position: absolute;
  top: -45%;
  left: -42%;
  width: var(--ixs-hcta-light-sweep-width, 34%);
  height: 190%;
  pointer-events: none;
  transform: skewX(-28deg);
  opacity: 0;
  background: linear-gradient(
    115deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.04) 30%,
    rgba(255,255,255,0.10) 42%,
    rgba(255,255,255,0.18) 50%,
    rgba(255,255,255,0.10) 58%,
    rgba(255,255,255,0.04) 70%,
    rgba(255,255,255,0) 100%
  );
  filter: blur(var(--ixs-hcta-light-sweep-blur, 3.5px));
  animation: none;
}

.ixs-hcta__btn--quote.ixs-hcta__btn--sweep-running::after {
  animation: ixsHctaLightSweep var(--ixs-hcta-light-sweep-duration, 5s) linear 1;
}

@keyframes ixsHctaLightSweep {
  0% {
    left: -42%;
    opacity: 0;
  }
  8% {
    opacity: 1;
  }
  42% {
    opacity: 1;
  }
  55%, 100% {
    left: 128%;
    opacity: 0;
  }
}

.ixs-hcta__btn--quote:hover,
.ixs-hcta__btn--quote:focus-visible {
  background: #71be4a !important;
  transform: translate(var(--ixs-hcta-quote-x-current, 0px), var(--ixs-hcta-quote-y-current, 0px)) scale(1.06);
  box-shadow: 0 12px 24px rgba(0,0,0,0.12);
  color: #ffffff !important;
}

.ixs-hcta__btn-arrow {
  display: inline-block;
  font-size: 1.15em;
  line-height: 1;
  transition: transform 0.25s cubic-bezier(.22,1,.36,1);
}

.ixs-hcta__btn--quote:hover .ixs-hcta__btn-arrow,
.ixs-hcta__btn--quote:focus-visible .ixs-hcta__btn-arrow {
  transform: translateX(4px);
}

/* Botón WhatsApp */
.ixs-hcta__btn--whatsapp,
.ixs-hcta__btn--whatsapp:visited {
  background: #25D366 !important;
  color: #fff !important;
  padding: 0 var(--ixs-hcta-button-pad-x) !important;
  gap: clamp(6px, .9vw, 12px);
  box-shadow: 0 10px 20px rgba(0,0,0,0.12);
  transform: translate(var(--ixs-hcta-whatsapp-x-current, 0px), var(--ixs-hcta-whatsapp-y-current, 0px));
}

.ixs-hcta__whatsapp-icon {
  width: 1.15em;
  height: 1.15em;
  display: block;
  flex: 0 0 auto;
}

.ixs-hcta__btn--whatsapp:hover,
.ixs-hcta__btn--whatsapp:focus-visible {
  color: #fff !important;
  transform: translate(var(--ixs-hcta-whatsapp-x-current, 0px), var(--ixs-hcta-whatsapp-y-current, 0px)) scale(1.06);
  box-shadow: 0 14px 28px rgba(0,0,0,0.14);
  filter: brightness(1.03);
}

@media (min-width: 768px) and (max-width: 1024px) {
  .ixs-hcta {
    --ixs-hcta-block-y-current: var(--ixs-hcta-block-y-tablet, 0px);
    --ixs-hcta-title-x-current: var(--ixs-hcta-title-x-tablet, 0px);
    --ixs-hcta-title-y-current: var(--ixs-hcta-title-y-tablet, 0px);
    --ixs-hcta-subtitle-x-current: var(--ixs-hcta-subtitle-x-tablet, 0px);
    --ixs-hcta-subtitle-y-current: var(--ixs-hcta-subtitle-y-tablet, 0px);
    --ixs-hcta-actions-x-current: var(--ixs-hcta-actions-x-tablet, 0px);
    --ixs-hcta-actions-y-current: var(--ixs-hcta-actions-y-tablet, 0px);
    --ixs-hcta-quote-x-current: var(--ixs-hcta-quote-x-tablet, 0px);
    --ixs-hcta-quote-y-current: var(--ixs-hcta-quote-y-tablet, 0px);
    --ixs-hcta-whatsapp-x-current: var(--ixs-hcta-whatsapp-x-tablet, 0px);
    --ixs-hcta-whatsapp-y-current: var(--ixs-hcta-whatsapp-y-tablet, 0px);
    --ixs-hcta-title-main-size-current: var(--ixs-hcta-title-main-size-tablet, max(1px, calc(clamp(42px, 6vw, 88px) + var(--ixs-hcta-title-main-size-adjust-tablet, 0px))));
    --ixs-hcta-title-gradient-size-current: var(--ixs-hcta-title-gradient-size-tablet, max(1px, calc(clamp(42px, 6vw, 88px) + var(--ixs-hcta-title-gradient-size-adjust-tablet, 0px))));
    --ixs-hcta-subtitle-size-current: var(--ixs-hcta-subtitle-size-tablet, max(1px, calc(clamp(18px, 2.15vw, 34px) + var(--ixs-hcta-subtitle-size-adjust-tablet, 0px))));
    --ixs-hcta-subtitle-width-current: var(--ixs-hcta-subtitle-width-tablet, max(1px, calc(930px + var(--ixs-hcta-subtitle-width-adjust-tablet, 0px))));
    --ixs-hcta-button-auto-width-current: max(1px, calc(clamp(230px, 22vw, 360px) + var(--ixs-hcta-button-width-adjust-tablet, 0px)));
    --ixs-hcta-button-width-current: var(--ixs-hcta-button-width-tablet, var(--ixs-hcta-button-auto-width-current));
    --ixs-hcta-button-auto-height-current: max(1px, calc(clamp(58px, 5vw, 78px) + var(--ixs-hcta-button-height-adjust-tablet, 0px)));
    --ixs-hcta-button-height-current: var(--ixs-hcta-button-height-tablet, var(--ixs-hcta-button-auto-height-current));
    --ixs-hcta-button-font-size-current: var(--ixs-hcta-button-font-size-tablet, max(1px, calc(clamp(18px, 1.55vw, 24px) + var(--ixs-hcta-button-font-size-adjust-tablet, 0px))));
  }

  .ixs-hcta__title-main {
    font-size: var(--ixs-hcta-title-main-size-current) !important;
  }

  .ixs-hcta__title-gradient {
    font-size: var(--ixs-hcta-title-gradient-size-current) !important;
  }

  .ixs-hcta__subtitle {
    width: min(100%, var(--ixs-hcta-subtitle-width-current)) !important;
    font-size: var(--ixs-hcta-subtitle-size-current) !important;
  }

  .ixs-hcta__actions {
    --ixs-hcta-button-final-width: var(--ixs-hcta-button-width-current);
  }

  .ixs-hcta__btn,
  .ixs-hcta__btn:visited {
    height: var(--ixs-hcta-button-height-current) !important;
    font-size: var(--ixs-hcta-button-font-size-current) !important;
  }
}

@media (max-width: 767px) {
  .ixs-hcta {
    --ixs-hcta-block-y-current: var(--ixs-hcta-block-y-mobile, 0px);
    --ixs-hcta-title-x-current: var(--ixs-hcta-title-x-mobile, 0px);
    --ixs-hcta-title-y-current: var(--ixs-hcta-title-y-mobile, 0px);
    --ixs-hcta-subtitle-x-current: var(--ixs-hcta-subtitle-x-mobile, 0px);
    --ixs-hcta-subtitle-y-current: var(--ixs-hcta-subtitle-y-mobile, 0px);
    --ixs-hcta-actions-x-current: var(--ixs-hcta-actions-x-mobile, 0px);
    --ixs-hcta-actions-y-current: var(--ixs-hcta-actions-y-mobile, 0px);
    --ixs-hcta-quote-x-current: var(--ixs-hcta-quote-x-mobile, 0px);
    --ixs-hcta-quote-y-current: var(--ixs-hcta-quote-y-mobile, 0px);
    --ixs-hcta-whatsapp-x-current: var(--ixs-hcta-whatsapp-x-mobile, 0px);
    --ixs-hcta-whatsapp-y-current: var(--ixs-hcta-whatsapp-y-mobile, 0px);
    --ixs-hcta-title-main-size-current: var(--ixs-hcta-title-main-size-mobile, max(1px, calc(clamp(36px, 10vw, 52px) + var(--ixs-hcta-title-main-size-adjust-mobile, 0px))));
    --ixs-hcta-title-gradient-size-current: var(--ixs-hcta-title-gradient-size-mobile, max(1px, calc(clamp(36px, 10vw, 52px) + var(--ixs-hcta-title-gradient-size-adjust-mobile, 0px))));
    --ixs-hcta-subtitle-size-current: var(--ixs-hcta-subtitle-size-mobile, max(1px, calc(18px + var(--ixs-hcta-subtitle-size-adjust-mobile, 0px))));
    --ixs-hcta-subtitle-width-current: var(--ixs-hcta-subtitle-width-mobile, max(1px, calc(930px + var(--ixs-hcta-subtitle-width-adjust-mobile, 0px))));
    --ixs-hcta-button-auto-width-current: max(1px, calc(360px + var(--ixs-hcta-button-width-adjust-mobile, 0px)));
    --ixs-hcta-button-width-current: var(--ixs-hcta-button-width-mobile, var(--ixs-hcta-button-auto-width-current));
    --ixs-hcta-button-auto-height-current: max(1px, calc(58px + var(--ixs-hcta-button-height-adjust-mobile, 0px)));
    --ixs-hcta-button-height-current: var(--ixs-hcta-button-height-mobile, var(--ixs-hcta-button-auto-height-current));
    --ixs-hcta-button-font-size-current: var(--ixs-hcta-button-font-size-mobile, max(1px, calc(18px + var(--ixs-hcta-button-font-size-adjust-mobile, 0px))));
    padding: 34px max(18px, env(safe-area-inset-left)) 34px max(18px, env(safe-area-inset-right));
  }

  .ixs-hcta__title {
    letter-spacing: -0.04em;
    line-height: 1.18;
    padding-bottom: 0.16em;
  }

  .ixs-hcta__title-main {
    font-size: var(--ixs-hcta-title-main-size-current) !important;
  }

  .ixs-hcta__title-gradient {
    font-size: var(--ixs-hcta-title-gradient-size-current) !important;
  }

  .ixs-hcta__title-line {
    line-height: 1.18;
    padding-bottom: 0.12em;
  }

  .ixs-hcta__subtitle {
    width: min(100%, var(--ixs-hcta-subtitle-width-current)) !important;
    font-size: var(--ixs-hcta-subtitle-size-current) !important;
    line-height: 1.4;
  }

  .ixs-hcta__actions {
    --ixs-hcta-action-gap: 12px;
    --ixs-hcta-button-final-width: var(--ixs-hcta-button-width-current);

    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    width: min(100%, calc(var(--ixs-hcta-button-final-width) + var(--ixs-hcta-button-final-width) + var(--ixs-hcta-action-gap)));
    margin-top: 30px;
    gap: var(--ixs-hcta-action-gap);
  }

  .ixs-hcta__btn,
  .ixs-hcta__btn:visited {
    --ixs-hcta-button-pad-x: var(--ixs-hcta-button-padding-x, clamp(8px, 4vw, 18px));

    flex: 1 1 0 !important;
    width: auto !important;
    max-width: var(--ixs-hcta-button-final-width, 360px) !important;
    height: var(--ixs-hcta-button-height-current) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 var(--ixs-hcta-button-pad-x) !important;
    border-radius: 18px !important;
    font-size: var(--ixs-hcta-button-font-size-current) !important;
  }
}

@media (max-width: 480px) {
  .ixs-hcta {
    --ixs-hcta-button-font-size-current: var(--ixs-hcta-button-font-size-mobile, max(1px, calc(15px + var(--ixs-hcta-button-font-size-adjust-mobile, 0px))));
  }

  .ixs-hcta__actions {
    --ixs-hcta-action-gap: 10px;
  }

  .ixs-hcta__btn,
  .ixs-hcta__btn:visited {
    --ixs-hcta-button-pad-x: 8px;
    border-radius: 16px !important;
    font-size: var(--ixs-hcta-button-font-size-current) !important;
  }

  .ixs-hcta__btn-arrow {
    font-size: 1em;
  }
}


/*
  Corrección 1.1.11:
  En celular, algunos temas mantienen el contenido principal con altura mínima
  para empujar el footer al borde inferior de la pantalla. Cuando el CTA se sube
  con Posición Y negativa, eso deja demasiado espacio entre los botones y el
  copyright. Este ajuste solo aplica en páginas donde existe el shortcode.
*/
@media (max-width: 767px) {
  body.ixs-hcta-page-gradient #page,
  body.ixs-hcta-page-gradient .site,
  body.ixs-hcta-page-gradient .wp-site-blocks,
  body.ixs-hcta-page-gradient .site-content,
  body.ixs-hcta-page-gradient #content,
  body.ixs-hcta-page-gradient .content-area,
  body.ixs-hcta-page-gradient main,
  body.ixs-hcta-page-gradient .site-main,
  body.ixs-hcta-page-gradient #main,
  body.ixs-hcta-page-gradient .ct-main-content,
  body.ixs-hcta-page-gradient .entry-content {
    min-height: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  body.ixs-hcta-page-gradient main,
  body.ixs-hcta-page-gradient .site-main,
  body.ixs-hcta-page-gradient #main,
  body.ixs-hcta-page-gradient .ct-main-content,
  body.ixs-hcta-page-gradient .entry-content {
    flex: 0 0 auto !important;
  }

  body.ixs-hcta-page-gradient .ixs-hcta {
    padding-bottom: 10px !important;
  }

  body.ixs-hcta-page-gradient .ixs-hcta__actions {
    margin-bottom: 0 !important;
  }

  body.ixs-hcta-page-gradient footer,
  body.ixs-hcta-page-gradient #colophon,
  body.ixs-hcta-page-gradient .site-footer,
  body.ixs-hcta-page-gradient .ct-footer,
  body.ixs-hcta-page-gradient .wp-site-blocks > footer {
    margin-top: var(--ixs-hcta-mobile-footer-lift, 0px) !important;
    padding-top: 0 !important;
  }

  body.ixs-hcta-page-gradient .ct-footer [data-row],
  body.ixs-hcta-page-gradient .ct-footer [data-column],
  body.ixs-hcta-page-gradient .ct-footer-copyright,
  body.ixs-hcta-page-gradient .site-info,
  body.ixs-hcta-page-gradient .footer-bottom,
  body.ixs-hcta-page-gradient .footer-widgets,
  body.ixs-hcta-page-gradient .footer-copyright {
    min-height: 0 !important;
    padding-top: 0 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ixs-hcta__btn,
  .ixs-hcta__btn::after,
  .ixs-hcta__btn-arrow {
    animation: none !important;
    transition: none !important;
  }
}
