/* ============================================================
   AYC GROUP — AYUDA CENTER PAGE STYLES (page-id-29)

   REUTILIZA de home/servicios:
   - Hero: mismo patrón que servicios (título+sub+btn+disclaimer)
   - Service cards: .ayc-service-card de servicios.css
   - Testimoniales: mismo estilo que home
   - CTA: mismo estilo que home/servicios
   - Tipografía: escala estándar (48px títulos, 44px sub, 18px body)

   NUEVO:
   - ¿Qué hacemos? - grid de iconos
   - Proceso 7 pasos - cards estilo home "Soluciones claras"
   - Por qué elegirnos - cards con icono lateral
   ============================================================ */

/* ============================================================
   HERO — reutiliza patrón de servicios
   ============================================================ */
body.page-id-29 [data-id="ac-hero-sec"] {
  position: relative;
  min-height: 476px !important;
  background-position: center center !important;
  background-size: 100% 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  padding-bottom: 10px !important;
}

body.page-id-29 [data-id="ac-hero-inner"] {
  padding-bottom: 0 !important;
  padding-top: 0 !important;
  justify-content: flex-end !important;
  max-width: 60% !important;
  align-self: flex-start !important;
  --gap: 0px !important;
  gap: 0 !important;
  align-items: flex-start !important;
}
body.page-id-29 [data-id="ac-hero-inner"] > .e-con-inner {
  gap: 0 !important;
  --gap: 0px !important;
  --row-gap: 0px !important;
}

body.page-id-29 [data-id="ac-hero-h1"],
body.page-id-29 [data-id="ac-hero-h1"] .elementor-widget-container {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
body.page-id-29 [data-id="ac-hero-h1"] .elementor-heading-title {
  font-size: 46px !important;
  font-weight: 800 !important;
  color: #FFFFFF !important;
  line-height: 1.1 !important;
  margin: 0 !important;
}

body.page-id-29 [data-id="ac-hero-sub"],
body.page-id-29 [data-id="ac-hero-sub"] .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}
body.page-id-29 [data-id="ac-hero-sub"] .elementor-heading-title {
  font-size: 22px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,0.95) !important;
  line-height: 1.1 !important;
  margin: 0 !important;
}

body.page-id-29 [data-id="ac-hero-btn"] {
  margin-top: 24px !important;
}
body.page-id-29 [data-id="ac-hero-btn"] .elementor-button {
  font-size: 29px !important;
  padding: 12px 36px !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
  background-color: #9dc41a !important;
  color: #FFFFFF !important;
}
body.page-id-29 [data-id="ac-hero-btn"] .elementor-button:hover {
  background-color: #8ab518 !important;
  transform: translateY(-2px);
}

body.page-id-29 [data-id="ac-hero-legal"] {
  max-width: none !important;
  width: calc(100vw - 160px) !important;
  align-self: flex-start !important;
  margin-top: 16px !important;
}
body.page-id-29 [data-id="ac-hero-legal"] p,
body.page-id-29 [data-id="ac-hero-legal"] .elementor-widget-container p,
body.page-id-29 .elementor-element-ac-hero-legal p {
  font-size: 11px !important;
  line-height: 1.5 !important;
  color: rgba(255,255,255,0.80) !important;
  white-space: normal !important;
  font-weight: 500 !important;
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
}

/* Hero entrance animation */
body.page-id-29 [data-id="ac-hero-h1"] {
  animation: ayc-fade-up 0.7s ease both;
  animation-delay: 0.1s;
}
body.page-id-29 [data-id="ac-hero-sub"] {
  animation: ayc-fade-up 0.7s ease both;
  animation-delay: 0.25s;
}
body.page-id-29 [data-id="ac-hero-btn"] {
  animation: ayc-fade-up 0.7s ease both;
  animation-delay: 0.4s;
}
@keyframes ayc-fade-up {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ============================================================
   ¿QUÉ HACEMOS? — grid de iconos (NUEVO)
   ============================================================ */
body.page-id-29 [data-id="ac-que-sec"] {
  --container-max-width: 1200px !important;
  background: #FFFFFF !important;
}
body.page-id-29 [data-id="ac-que-sec"] > .e-con-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
}

body.page-id-29 [data-id="ac-que-title"] .elementor-heading-title {
  font-size: 46px !important;
  font-weight: 800 !important;
  color: #1e2751 !important;
  margin-bottom: 16px !important;
}

body.page-id-29 [data-id="ac-que-desc"] p {
  font-size: 18px !important;
  color: #374151 !important;
  text-align: center !important;
  max-width: 1100px !important;
  margin: 0 auto 24px !important;
  line-height: 1.65 !important;
}

body.page-id-29 [data-id="ac-que-sub"] .elementor-heading-title {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #1e2751 !important;
  margin-bottom: 8px !important;
}

/* Icon grid: 3 columns */
body.page-id-29 [data-id="ac-que-grid"] {
  max-width: 1000px !important;
  margin: 0 auto !important;
}
body.page-id-29 [data-id="ac-que-grid"],
body.page-id-29 [data-id="ac-que-grid"].e-con {
  --flex-direction: row !important;
  --flex-wrap: wrap !important;
  --gap: 24px !important;
  --justify-content: center !important;
  --container-widget-width: initial !important;
}
body.page-id-29 [data-id="ac-que-grid"] > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 24px !important;
  justify-content: center !important;
}
.elementor-29 .elementor-element.elementor-element-ac-que-grid .elementor-widget-icon-box {
  flex: 0 0 calc(33.33% - 16px) !important;
  max-width: calc(33.33% - 16px) !important;
  background: #F7F9FC !important;
  border-radius: 12px !important;
  padding: 24px 16px !important;
  text-align: center !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
body.page-id-29 [data-id="ac-que-grid"] .elementor-widget-icon-box:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 24px rgba(30,39,81,0.10) !important;
}
body.page-id-29 [data-id="ac-que-grid"] .elementor-icon-box-wrapper {
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 10px !important;
}
body.page-id-29 [data-id="ac-que-grid"] .elementor-icon {
  color: #9dc41a !important;
  font-size: 22px !important;
}
body.page-id-29 [data-id="ac-que-grid"] .elementor-icon i {
  color: #9dc41a !important;
}
body.page-id-29 [data-id="ac-que-grid"] .elementor-icon svg {
  fill: #9dc41a !important;
}
body.page-id-29 [data-id="ac-que-grid"] .elementor-icon-box-title {
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  color: #1e2751 !important;
}
body.page-id-29 [data-id="ac-que-grid"] .elementor-icon-box-description {
  display: none !important;
}

body.page-id-29 [data-id="ac-que-foot"] p {
  font-size: 18px !important;
  color: #1e2751 !important;
  font-style: normal !important;
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  text-align: center !important;
  max-width: 800px !important;
  margin: 0 auto !important;
}

/* ============================================================
   NUESTROS SERVICIOS — reutiliza .ayc-service-card de servicios.css
   ============================================================ */
body.page-id-29 [data-id="ac-svc-sec"] {
  --container-max-width: 1200px !important;
  background: #F7F9FC !important;
}

body.page-id-29 [data-id="ac-svc-title"] .elementor-heading-title {
  font-size: 46px !important;
  font-weight: 800 !important;
  color: #1e2751 !important;
}

/* Cards already styled by servicios.css via .ayc-service-card */
body.page-id-29 .ayc-ac-card {
  max-width: 1200px !important;
  width: 100% !important;
  margin: 0 auto !important;
}

/* Card CTA buttons — unified */
.ayc-card-cta-btn {
  display: block !important;
  width: fit-content !important;
  margin: 12px auto 0 !important;
  padding: 8px 24px !important;
  background: #9dc41a !important;
  color: #FFFFFF !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  text-align: center !important;
  transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease !important;
  box-shadow: 0 2px 8px rgba(157, 196, 26, 0.25) !important;
}
.ayc-card-cta-btn:hover {
  background: #8ab518 !important;
  transform: translateY(-2px) !important;
  color: #FFFFFF !important;
}

/* ============================================================
   CONOCE NUESTRO PROCESO — 7 pasos, estilo cards como home
   ============================================================ */
.elementor-29 .elementor-element.elementor-element-ac-proc-sec,
.elementor-29 .elementor-element.elementor-element-ac-proc-sec:not(.elementor-motion-effects-element-type-background) {
  --container-max-width: 1200px !important;
  background: url('/wp-content/uploads/2026/04/ac-proceso-bg.jpg') center center / cover no-repeat !important;
  background-color: #1B3A5C !important;
}

body.page-id-29 [data-id="ac-proc-title"] .elementor-heading-title {
  font-size: 46px !important;
  font-weight: 800 !important;
  color: #FFFFFF !important;
}

body.page-id-29 [data-id="ac-proc-sub"] .elementor-heading-title {
  font-size: 22px !important;
  font-weight: 400 !important;
  color: rgba(255,255,255,0.85) !important;
}

/* Grid: 4 top + 3 bottom centered */
body.page-id-29 [data-id="ac-proc-grid"] {
  max-width: 1200px !important;
  margin: 0 auto !important;
  overflow: visible !important;
}
body.page-id-29 [data-id="ac-proc-grid"],
body.page-id-29 [data-id="ac-proc-grid"].e-con {
  --flex-direction: row !important;
  --flex-wrap: wrap !important;
  --justify-content: center !important;
  --gap: 40px 24px !important;
  --container-widget-width: initial !important;
}
body.page-id-29 [data-id="ac-proc-grid"] > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 40px 24px !important;
  justify-content: center !important;
  max-width: 1200px !important;
  overflow: visible !important;
}
/* Section needs overflow visible for badges */
body.page-id-29 [data-id="ac-proc-sec"],
body.page-id-29 [data-id="ac-proc-sec"] > .e-con-inner {
  overflow: visible !important;
}

/* Each step card — white, rounded, badge on top */
.elementor-29 .elementor-element.elementor-element-ac-proc-grid .elementor-widget-icon-box {
  flex: 0 0 calc(25% - 18px) !important;
  max-width: calc(25% - 18px) !important;
  background: #FFFFFF !important;
  border-radius: 16px !important;
  padding: 50px 24px 32px !important;
  text-align: center !important;
  position: relative !important;
  overflow: visible !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
body.page-id-29 [data-id="ac-proc-grid"] .elementor-widget-icon-box:hover {
  transform: none !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08) !important;
}

/* Hide default icon */
body.page-id-29 [data-id="ac-proc-grid"] .elementor-icon-box-icon {
  display: none !important;
}

/* Numbered green badge — gap between badge and card top */
body.page-id-29 [data-id="ac-proc-grid"] .elementor-widget-icon-box::before {
  content: attr(data-step);
  position: absolute;
  top: -32px;
  left: 50%;
  transform: translateX(-50%);
  width: 52px;
  height: 52px;
  background: #9dc41a;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Futura Bold', 'Montserrat', sans-serif;
  font-size: 22px;
  font-weight: 800;
  color: #FFFFFF;
  box-shadow: 0 4px 12px rgba(157,196,26,0.4);
  z-index: 5;
}

body.page-id-29 [data-id="ac-proc-grid"] .elementor-icon-box-wrapper {
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}
body.page-id-29 [data-id="ac-proc-grid"] .elementor-icon-box-title {
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #1e2751 !important;
  margin-top: 8px !important;
}
body.page-id-29 [data-id="ac-proc-grid"] .elementor-icon-box-description {
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  font-size: 18px !important;
  color: #6B7280 !important;
  line-height: 1.5 !important;
  margin-top: 8px !important;
}

/* ============================================================
   POR QUÉ ELEGIRNOS — cards con icono lateral
   ============================================================ */
body.page-id-29 [data-id="ac-why-sec"] {
  --container-max-width: 1200px !important;
  background: #FFFFFF !important;
}

body.page-id-29 [data-id="ac-why-title"] .elementor-heading-title {
  font-size: 46px !important;
  font-weight: 800 !important;
  color: #1e2751 !important;
}

/* ============================================================
   POR QUÉ ELEGIRNOS — imagen circular central + 5 items alrededor
   ============================================================ */
body.page-id-29 [data-id="ac-why-grid"] {
  max-width: 1200px !important;
  margin: 0 auto !important;
  position: relative !important;
  min-height: 600px !important;
}
body.page-id-29 [data-id="ac-why-grid"] > .e-con-inner {
  display: grid !important;
  grid-template-columns: 1fr 380px 1fr !important;
  grid-template-rows: 1fr 1fr 1fr !important;
  gap: 0 !important;
  align-items: start !important;
  min-height: 650px !important;
  position: relative !important;
}

/* Imagen circular central — ocupa la columna central, filas 1-2 */
body.page-id-29 [data-id="ac-why-grid"] > .e-con-inner::before {
  content: '';
  grid-column: 2;
  grid-row: 1 / 3;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  border: 1.5px solid #1e2751;
  background-image: url('/wp-content/uploads/2026/04/ac-circle.png');
  background-size: cover;
  background-position: center;
  justify-self: center;
  align-self: center;
  z-index: 0;
}

/* Sin cards — fondo transparente, sin sombra */
.elementor-29 .elementor-element.elementor-element-ac-why-grid .elementor-widget-icon-box {
  background: transparent !important;
  border-radius: 0 !important;
  padding: 16px 20px !important;
  box-shadow: none !important;
  max-width: 100% !important;
  position: relative !important;
  z-index: 1 !important;
}
body.page-id-29 [data-id="ac-why-grid"] .elementor-widget-icon-box:hover {
  transform: none !important;
  box-shadow: none !important;
}

/* Item 1: arriba-izquierda, texto alineado a la derecha (hacia la imagen) */
body.page-id-29 [data-id="ac-why-grid"] .elementor-widget-icon-box:nth-child(1) {
  grid-column: 1; grid-row: 1;
  align-self: center;
  text-align: right !important;
}
/* Item 2: arriba-derecha, texto alineado a la izquierda */
body.page-id-29 [data-id="ac-why-grid"] .elementor-widget-icon-box:nth-child(2) {
  grid-column: 3; grid-row: 1;
  align-self: center;
}
/* Item 3: medio-izquierda */
body.page-id-29 [data-id="ac-why-grid"] .elementor-widget-icon-box:nth-child(3) {
  grid-column: 1; grid-row: 2;
  align-self: center;
  text-align: right !important;
}
/* Item 4: medio-derecha */
body.page-id-29 [data-id="ac-why-grid"] .elementor-widget-icon-box:nth-child(4) {
  grid-column: 3; grid-row: 2;
  align-self: center;
}
/* Item 5: abajo centro, debajo de la imagen */
body.page-id-29 [data-id="ac-why-grid"] .elementor-widget-icon-box:nth-child(5) {
  grid-column: 1 / 4; grid-row: 3;
  justify-self: center;
  max-width: 500px !important;
  text-align: center !important;
  padding-top: 24px !important;
}
/* Item 5: centrar el wrapper */
body.page-id-29 [data-id="ac-why-grid"] .elementor-widget-icon-box:nth-child(5) .elementor-icon-box-wrapper {
  justify-content: center !important;
}

/* Icon + text layout: icon left of text */
body.page-id-29 [data-id="ac-why-grid"] .elementor-icon-box-wrapper {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 12px !important;
}
/* Items izquierdos: texto alineado derecha, icono a la izquierda del texto */
body.page-id-29 [data-id="ac-why-grid"] .elementor-widget-icon-box:nth-child(1) .elementor-icon-box-wrapper,
body.page-id-29 [data-id="ac-why-grid"] .elementor-widget-icon-box:nth-child(3) .elementor-icon-box-wrapper {
  justify-content: flex-end !important;
}
body.page-id-29 [data-id="ac-why-grid"] .elementor-widget-icon-box:nth-child(1) .elementor-icon-box-content,
body.page-id-29 [data-id="ac-why-grid"] .elementor-widget-icon-box:nth-child(3) .elementor-icon-box-content {
  text-align: left !important;
}
/* Items derechos: texto alineado izquierda */
body.page-id-29 [data-id="ac-why-grid"] .elementor-widget-icon-box:nth-child(2) .elementor-icon-box-content,
body.page-id-29 [data-id="ac-why-grid"] .elementor-widget-icon-box:nth-child(4) .elementor-icon-box-content {
  text-align: left !important;
}
body.page-id-29 [data-id="ac-why-grid"] .elementor-icon {
  color: #9dc41a !important;
  font-size: 18px !important;
  flex-shrink: 0 !important;
}
body.page-id-29 [data-id="ac-why-grid"] .elementor-icon i {
  color: #9dc41a !important;
}
body.page-id-29 [data-id="ac-why-grid"] .elementor-icon-box-title {
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #1e2751 !important;
  text-align: left !important;
  margin-bottom: 2px !important;
}
body.page-id-29 [data-id="ac-why-grid"] .elementor-icon-box-description {
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  font-size: 18px !important;
  color: #6B7280 !important;
  line-height: 1.5 !important;
  text-align: left !important;
  margin-top: 0 !important;
}
body.page-id-29 [data-id="ac-why-grid"] .elementor-icon-box-content {
  text-align: left !important;
  gap: 2px !important;
}
body.page-id-29 [data-id="ac-why-grid"] .elementor-widget-icon-box {
  margin-bottom: 0 !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

/* ============================================================
   TESTIMONIALES — reutiliza estilos de home
   ============================================================ */
body.page-id-29 [data-id="ac-test-sec"] {
  --container-max-width: 1200px !important;
  background: #F7F9FC !important;
}

body.page-id-29 [data-id="ac-test-title"] .elementor-heading-title {
  font-size: 46px !important;
  font-weight: 800 !important;
  color: #1e2751 !important;
}

body.page-id-29 [data-id="ac-test-sub"] p {
  font-size: 18px !important;
  color: #374151 !important;
  text-align: center !important;
  max-width: 800px !important;
  margin: 0 auto !important;
  line-height: 1.65 !important;
}

body.page-id-29 [data-id="ac-test-cards"],
body.page-id-29 [data-id="ac-test-cards"].e-con {
  --flex-direction: row !important;
  --gap: 24px !important;
  --container-widget-width: initial !important;
}
body.page-id-29 [data-id="ac-test-cards"] > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  gap: 24px !important;
}
body.page-id-29 [data-id="ac-test-cards"] .elementor-widget-testimonial {
  flex: 1 !important;
}

body.page-id-29 .elementor-testimonial-wrapper {
  background: #FFFFFF !important;
  border-left: 4px solid #9dc41a !important;
  border-radius: 8px !important;
  padding: 28px 24px !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.08) !important;
  height: 100% !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
body.page-id-29 .elementor-testimonial-wrapper:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 28px rgba(30,39,81,0.12) !important;
}
body.page-id-29 .elementor-testimonial-content {
  font-size: 18px !important;
  color: #374151 !important;
  font-style: italic !important;
  line-height: 1.65 !important;
}
body.page-id-29 .elementor-testimonial-name {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #1e2751 !important;
}
body.page-id-29 .elementor-testimonial-job {
  font-size: 18px !important;
  color: #9dc41a !important;
  font-weight: 600 !important;
}

body.page-id-29 [data-id="ac-test-btn"] {
  margin-top: 32px !important;
}
body.page-id-29 [data-id="ac-test-btn"] .elementor-button {
  background: transparent !important;
  color: #1e2751 !important;
  border: 2px solid #1e2751 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  padding: 12px 36px !important;
  border-radius: 6px !important;
  transition: all 0.2s ease !important;
}
body.page-id-29 [data-id="ac-test-btn"] .elementor-button:hover {
  background: #1e2751 !important;
  color: #FFFFFF !important;
}

/* ============================================================
   CTA — reutiliza estilo de home/servicios
   ============================================================ */
body.page-id-29 [data-id="ac-cta-sec"] {
  --container-max-width: 1200px !important;
  background: url('/wp-content/uploads/2026/04/svc-cta-bg.jpg') center center / cover no-repeat !important;
  padding: 48px 20px !important;
}
body.page-id-29 [data-id="ac-cta-sec"] > .e-con-inner {
  gap: 16px !important;
}
body.page-id-29 [data-id="ac-cta-h2"] .elementor-heading-title {
  font-size: 32px !important;
  font-weight: 800 !important;
  color: #FFFFFF !important;
  line-height: 1.05 !important;
}
body.page-id-29 [data-id="ac-cta-sub"] .elementor-heading-title {
  font-size: 18px !important;
  font-weight: 400 !important;
  color: rgba(255,255,255,0.95) !important;
  line-height: 1.05 !important;
}
body.page-id-29 [data-id="ac-cta-btn"] .elementor-button {
  font-size: 22px !important;
  padding: 18px 56px !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
  background-color: #9dc41a !important;
  color: #FFFFFF !important;
}
body.page-id-29 [data-id="ac-cta-btn"] .elementor-button:hover {
  background-color: #8ab518 !important;
  transform: translateY(-2px);
}

/* ============================================================
   SCROLL REVEAL — reutiliza de home
   ============================================================ */
body.page-id-29 .ayc-reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
body.page-id-29 .ayc-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}
body.page-id-29 .ayc-delay-1 { transition-delay: 0.1s; }
body.page-id-29 .ayc-delay-2 { transition-delay: 0.2s; }
body.page-id-29 .ayc-delay-3 { transition-delay: 0.3s; }
body.page-id-29 .ayc-delay-4 { transition-delay: 0.4s; }

/* ============================================================
   BODY TEXT — mínimo 18px estándar
   ============================================================ */
body.page-id-29 .elementor-widget-text-editor p,
body.page-id-29 .elementor-icon-list-text,
body.page-id-29 .elementor-widget-text-editor span,
body.page-id-29 .elementor-widget-text-editor strong {
  font-size: 18px !important;
  line-height: 1.65 !important;
}
body.page-id-29 .ayc-service-card {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 60px auto;
  border-radius: 55px;
  box-shadow: 0 8px 48px rgba(0, 0, 0, 0.22);
  overflow: visible;
  background: transparent;
  padding-bottom: 0;
}

/* Card Image Section */
body.page-id-29 .ayc-card-image {
  position: relative;
  width: 100%;
  height: 662px;
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  border-radius: 55px 55px 0 0;
  overflow: hidden;
  /* 100% 100% → image fills the card fully in both dimensions */
}

/* Floating blue card overlay — inset ~25% each side, top corners rounded, flush bottom */
body.page-id-29 .ayc-card-overlay {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 74%;
  padding: 48px 36px 32px 36px;
  background: rgba(19, 28, 64, 0.56);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border-radius: 20px 20px 0 0;
  text-align: center;
}

body.page-id-29 .ayc-card-title {
  font-family: 'Futura Bold', 'Montserrat', sans-serif;
  font-size: 30px;
  font-weight: 800;
  color: #FFFFFF;
  margin: 0 0 16px 0;
  line-height: 1.15;
  text-align: center;
}

body.page-id-29 .ayc-card-desc {
  font-family: 'Futura Medium', 'Open Sans', sans-serif;
  font-size: 20px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.92);
  line-height: 1.75;
  margin: 0;
  max-width: none;
  text-align: left;
}

/* Number badge
   JS (fixBadgePlacement) moves it inside .ayc-card-overlay as first child.
   top:-30px sits 30px above the overlay top, which is ~213px into the 460px image
   — well within overflow:hidden bounds, so it is fully visible. */
body.page-id-29 .ayc-card-badge {
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 60px;
  background: #9dc41a;
  color: #FFFFFF;
  font-family: 'Futura Bold', 'Montserrat', sans-serif;
  font-size: 24px;
  font-weight: 700;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 20;
  box-shadow: 0 4px 16px rgba(157, 196, 26, 0.5);
  border: 3px solid #FFFFFF;
}

/* Card Body (includes section) */
body.page-id-29 .ayc-card-body {
  padding: 44px 60px 56px 120px;
  background: #FFFFFF;
  position: relative;
}

body.page-id-29 .ayc-includes-title {
  font-family: 'Futura Bold', 'Montserrat', sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: #1e2751;
  margin: 0 0 24px 0;
  text-align: center;
}

/* Checklist Grid */
body.page-id-29 .ayc-checklist-grid {
  display: grid;
  gap: 14px 28px;
  margin-bottom: 36px;
}

body.page-id-29 .ayc-cols-3 {
  grid-template-columns: repeat(3, 1fr);
}

body.page-id-29 .ayc-cols-4 {
  grid-template-columns: repeat(4, 1fr);
}

/* Ayuda Center has more items — force 4 cols */
body.page-id-29 [data-id="svc-card-b"] .ayc-checklist-grid {
  grid-template-columns: repeat(4, 1fr);
}

body.page-id-29 .ayc-check-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  color: #374151 !important;
  line-height: 1.5 !important;
}

body.page-id-29 .ayc-check {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 22px !important;
  height: 22px !important;
  width: 22px !important;
  background: #FFFFFF !important;
  color: #9dc41a !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  border-radius: 50% !important;
  border: 2px solid #9dc41a !important;
  flex-shrink: 0 !important;
  margin-top: 1px !important;
}

/* Card CTA Button — half inside / half outside card bottom */
body.page-id-29 .ayc-card-cta {
  text-align: center;
  position: absolute;
  bottom: -24px;
  left: 0;
  right: 0;
  z-index: 5;
}

body.page-id-29 .ayc-card-btn {
  display: inline-block;
  background: #9dc41a;
  color: #FFFFFF;
  font-family: 'Futura Bold', 'Montserrat', sans-serif;
  font-size: 20px;
  font-weight: 700;
  padding: 14px 40px;
  border-radius: 6px;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.2s ease;
  box-shadow: 0 2px 8px rgba(157, 196, 26, 0.25);
}

body.page-id-29 .ayc-card-btn:hover {
  background: #8ab518;
  transform: translateY(-2px);
  color: #FFFFFF;
  text-decoration: none;
}


/* ============================================================
   TABS — misma estructura y estilo que servicios
   ============================================================ */

/* Tabs row */
body.page-id-29 [data-id="ac-tabs-row"] {
  padding: 32px 0 0 0 !important;
}
body.page-id-29 [data-id="ac-tabs-row"] .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

/* Cada tab ocupa el mismo ancho */
body.page-id-29 [data-id="ac-tab1"],
body.page-id-29 [data-id="ac-tab2"],
body.page-id-29 [data-id="ac-tab3"] {
  flex: 1 !important;
  width: auto !important;
  max-width: none !important;
}
body.page-id-29 [data-id="ac-tab1"] .elementor-widget-container,
body.page-id-29 [data-id="ac-tab2"] .elementor-widget-container,
body.page-id-29 [data-id="ac-tab3"] .elementor-widget-container {
  height: 100% !important;
}
body.page-id-29 [data-id="ac-tab1"] .elementor-button,
body.page-id-29 [data-id="ac-tab2"] .elementor-button,
body.page-id-29 [data-id="ac-tab3"] .elementor-button {
  width: 100% !important;
  min-height: 52px !important;
  height: auto !important;
  padding: 15px 20px !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  border-radius: 6px 6px 0 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  transition: background-color 0.2s ease !important;
  border: none !important;
  position: relative !important;
  overflow: visible !important;
}

/* Active tab triangle */
body.page-id-29 [data-id="ac-tab1"] .elementor-button.ayc-btn-active::after,
body.page-id-29 [data-id="ac-tab2"] .elementor-button.ayc-btn-active::after,
body.page-id-29 [data-id="ac-tab3"] .elementor-button.ayc-btn-active::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  bottom: -12px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 0 !important;
  height: 0 !important;
  border-left: 12px solid transparent !important;
  border-right: 12px solid transparent !important;
  border-top: 12px solid #9dc41a !important;
  z-index: 10 !important;
}

/* Card wraps — JS controla display via inline styles */
body.page-id-29 [data-id="ac-card-a-wrap"],
body.page-id-29 [data-id="ac-card-b-wrap"],
body.page-id-29 [data-id="ac-card-c-wrap"] {
  padding: 40px 0 0 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  transition: opacity 0.4s ease !important;
}

/* ============================================================
   FIX 2: ¿Qué hacemos? — fondo gris + línea verde bajo subtítulo
   ============================================================ */
.elementor-29 .elementor-element.elementor-element-ac-que-sec:not(.elementor-motion-effects-element-type-background) {
  background-color: #F4F5F7 !important;
}
/* Subtítulo con línea verde animada de izquierda a derecha */
body.page-id-29 [data-id="ac-que-sub"] .elementor-heading-title {
  position: relative !important;
  padding-bottom: 16px !important;
  display: inline !important;
  background-image: linear-gradient(#9dc41a, #9dc41a) !important;
  background-position: 0 100% !important;
  background-size: 0% 4px !important;
  background-repeat: no-repeat !important;
  animation: ayc-line-grow 1.2s ease-out 0.3s forwards !important;
}
@keyframes ayc-line-grow {
  from { background-size: 0% 4px; }
  to   { background-size: 100% 4px; }
}
/* old background-size line rule disabled */
body.page-id-29 [data-id="ac-que-sub"] .elementor-widget-container {
  text-align: center !important;
}
body.page-id-29 [data-id="ac-que-sub"] .elementor-widget-container {
  text-align: center !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
}

/* Icon grid items: SIN card, solo texto plano con icono */
.elementor-29 .elementor-element.elementor-element-ac-que-grid .elementor-widget-icon-box {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 12px 8px !important;
}
.elementor-29 .elementor-element.elementor-element-ac-que-grid .elementor-widget-icon-box:hover {
  transform: none !important;
  box-shadow: none !important;
}

/* ============================================================
   FIX 3: Proceso cards — más espacio bajo badge (padding-top)
   ============================================================ */
.elementor-29 .elementor-element.elementor-element-ac-proc-grid .elementor-widget-icon-box {
  padding: 56px 24px 32px !important;
  margin-top: 20px !important;
}

/* Flechas timeline para proceso Ayuda Center */
body.page-id-29 .ayc-timeline-arrow {
  z-index: 30 !important;
}
body.page-id-29 [data-id="ac-proc-grid"] .elementor-widget-icon-box {
  z-index: 1 !important;
  position: relative !important;
}

/* ============================================================
   FIX 2: NUESTROS SERVICIOS — carousel con dots, sin tabs
   Overlay a la izquierda, badge dentro del overlay
   ============================================================ */

/* Ocultar tabs row completamente */
body.page-id-29 [data-id="ac-tabs-row"] {
  display: none !important;
}

/* Cards ocultas por defecto — JS muestra la activa via inline style */

/* Override: overlay alineado a la izquierda (no centrado) */
body.page-id-29 .ayc-card-overlay {
  left: 0 !important;
  transform: none !important;
  width: 65% !important;
  text-align: left !important;
  border-radius: 0 20px 0 0 !important;
}
body.page-id-29 .ayc-card-title {
  text-align: left !important;
}
body.page-id-29 .ayc-card-desc {
  text-align: left !important;
}

/* Badge: posicionado respecto al overlay, alineado con el texto (padding-left: 120px) */
body.page-id-29 .ayc-card-overlay {
  position: absolute !important;
  overflow: visible !important;
  padding: 48px 60px 32px 120px !important;
}
body.page-id-29 .ayc-card-badge {
  position: absolute !important;
  left: 120px !important;
  top: -30px !important;
  transform: none !important;
  z-index: 20 !important;
}
/* Badge, título y párrafo alineados al mismo margen izquierdo del overlay */

/* Carousel dots container (se agrega via JS) */
.ayc-svc-dots {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 40px;
}
.ayc-svc-dot {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 3px solid #9dc41a;
  background: transparent;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
  padding: 0;
}
.ayc-svc-dot:hover {
  transform: scale(1.15);
}
.ayc-svc-dot.active {
  background: #9dc41a;
}

/* Incluye title: alineado a la izquierda */
body.page-id-29 .ayc-includes-title {
  text-align: left !important;
}

/* Hide cards B and C initially (before JS loads) — only A visible */
body.page-id-29 [data-id="ac-card-b-wrap"],
body.page-id-29 [data-id="ac-card-c-wrap"] {
  display: none;
}

/* ============================================================
   CARD TIPOGRAFÍA — estandarizada con home/servicios
   ============================================================ */

/* Card título (dentro del overlay azul): 28px */
body.page-id-29 .ayc-card-title {
  font-size: 28px !important;
  font-weight: 800 !important;
  text-align: left !important;
  line-height: 1.2 !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

/* Card descripción (dentro del overlay azul): 18px */
body.page-id-29 .ayc-card-desc {
  font-size: 20px !important;
  text-align: left !important;
  line-height: 1.65 !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

/* Includes título: 22px (label estándar) */
body.page-id-29 .ayc-includes-title {
  font-size: 20px !important;
  font-weight: 700 !important;
  text-align: left !important;
}

/* Check items: 18px (mínimo del sistema) */
body.page-id-29 .ayc-check-item {
  font-size: 18px !important;
  line-height: 1.5 !important;
}

/* Badge: 24px */
body.page-id-29 .ayc-card-badge {
  font-size: 24px !important;
}

/* ============================================================
   FIX: Nuestros Servicios — background blanco, body card gris
   ============================================================ */
.elementor-29 .elementor-element.elementor-element-ac-svc-sec,
.elementor-29 .elementor-element.elementor-element-ac-svc-sec:not(.elementor-motion-effects-element-type-background) {
  background-color: #FFFFFF !important;
}
body.page-id-29 .ayc-card-body {
  background: #F4F5F7 !important;
  border-radius: 0 0 20px 20px !important;
}

/* ============================================================
   FIX: ¿Qué hacemos? — iconos a la IZQUIERDA del texto
   ============================================================ */
.elementor-29 .elementor-element.elementor-element-ac-que-grid .elementor-widget-icon-box .elementor-icon-box-wrapper {
  flex-direction: row !important;
  text-align: left !important;
  align-items: center !important;
  gap: 12px !important;
}
.elementor-29 .elementor-element.elementor-element-ac-que-grid .elementor-icon-box-icon {
  margin-bottom: 0 !important;
  flex-shrink: 0 !important;
}
.elementor-29 .elementor-element.elementor-element-ac-que-grid .elementor-icon-box-content {
  text-align: left !important;
}
.elementor-29 .elementor-element.elementor-element-ac-que-grid .elementor-icon-box-title {
  text-align: left !important;
}

/* ¿Qué hacemos? — replace FA icons with uploaded images */
body.page-id-29 [data-id="ac-que-grid"] .elementor-icon i,
body.page-id-29 [data-id="ac-que-grid"] .elementor-icon svg {
  display: none !important;
}
body.page-id-29 [data-id="ac-que-grid"] .elementor-icon {
  position: relative !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
}
body.page-id-29 [data-id="ac-que-grid"] .elementor-icon::after {
  content: '' !important;
  display: block !important;
  width: 44px !important;
  height: 44px !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
}
[data-id="ac-qi1"] .elementor-icon::after {
  background-image: url('/wp-content/uploads/2026/04/ac-icon1.png') !important;
}
[data-id="ac-qi2"] .elementor-icon::after {
  background-image: url('/wp-content/uploads/2026/04/ac-icon2.png') !important;
}
[data-id="ac-qi3"] .elementor-icon::after {
  background-image: url('/wp-content/uploads/2026/04/ac-icon3.png') !important;
}
[data-id="ac-qi4"] .elementor-icon::after {
  background-image: url('/wp-content/uploads/2026/04/ac-icon4.png') !important;
}
[data-id="ac-qi5"] .elementor-icon::after {
  background-image: url('/wp-content/uploads/2026/04/ac-icon5.png') !important;
}
[data-id="ac-qi6"] .elementor-icon::after {
  background-image: url('/wp-content/uploads/2026/04/ac-icon6.png') !important;
}

/* Por qué elegirnos — replace FA icons with check image */
body.page-id-29 [data-id="ac-why-grid"] .elementor-icon i,
body.page-id-29 [data-id="ac-why-grid"] .elementor-icon svg {
  display: none !important;
}
body.page-id-29 [data-id="ac-why-grid"] .elementor-icon {
  position: relative !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  font-size: 0 !important;
  margin-right: 8px !important;
  flex-shrink: 0 !important;
}
body.page-id-29 [data-id="ac-why-grid"] .elementor-icon::after {
  content: '' !important;
  display: block !important;
  width: 28px !important;
  height: 28px !important;
  background-image: url('/wp-content/uploads/2026/04/ac-check.png') !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
}
body.page-id-29 [data-id="ac-why-grid"] .elementor-icon-box-wrapper {
  align-items: center !important;
}


/* ============================================================
   DISCLAIMER FORZADO — máxima especificidad para override Elementor
   ============================================================ */
body.page-id-29 .elementor-element.elementor-element-ac-hero-legal .elementor-widget-container p,
body.page-id-29 .elementor-element.elementor-element-ac-hero-legal p,
body.page-id-29 [data-id="ac-hero-legal"] .elementor-widget-container p,
.elementor-29 .elementor-element.elementor-element-ac-hero-legal p {
  font-size: 11px !important;
  line-height: 1.5 !important;
  color: rgba(255,255,255,0.80) !important;
  white-space: normal !important;
  font-weight: 500 !important;
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
}
body.page-id-29 .elementor-element.elementor-element-ac-hero-legal,
.elementor-29 .elementor-element.elementor-element-ac-hero-legal {
  max-width: none !important;
  width: calc(100vw - 160px) !important;
  align-self: flex-start !important;
  margin-top: 16px !important;
}

/* Hero sub — force our size over Elementor post-29.css (45px → 22px) */
.elementor-29 .elementor-element.elementor-element-ac-hero-sub .elementor-heading-title {
  font-size: 22px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
}

/* Proc sub — force (44px → 22px) */
.elementor-29 .elementor-element.elementor-element-ac-proc-sub .elementor-heading-title {
  font-size: 22px !important;
  font-weight: 400 !important;
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
}

/* Section titles — force (48px → 46px) */
.elementor-29 .elementor-element.elementor-element-ac-que-title .elementor-heading-title,
.elementor-29 .elementor-element.elementor-element-ac-svc-title .elementor-heading-title,
.elementor-29 .elementor-element.elementor-element-ac-proc-title .elementor-heading-title,
.elementor-29 .elementor-element.elementor-element-ac-why-title .elementor-heading-title {
  font-size: 46px !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
}

/* CTA — force sizes */
.elementor-29 .elementor-element.elementor-element-ac-cta-h2 .elementor-heading-title {
  font-size: 32px !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
}
.elementor-29 .elementor-element.elementor-element-ac-cta-sub .elementor-heading-title {
  font-size: 18px !important;
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
}

/* Hero button — estándar unificado */
body.page-id-29 [data-id="ac-hero-btn"] .elementor-button,
.elementor-29 .elementor-element.elementor-element-ac-hero-btn .elementor-button {
  font-size: 29px !important;
  padding: 12px 36px !important;
}

/* ── PÁRRAFO ESTÁNDAR 15px / lh1.7 ── */
body.page-id-29 .elementor-widget-text-editor p,
body.page-id-29 .elementor-icon-box-description,
body.page-id-29 .elementor-testimonial-content {
  font-size: 20px !important;
  line-height: 1.7 !important;
}

/* ============================================================
   NUCLEAR: MINIMUM 15px FOR ALL BODY TEXT
   Loaded last, with !important, overrides Elementor post CSS
   ============================================================ */
body.page-id-29 .elementor-icon-box-description,
body.page-id-29 .elementor-icon-box-description p,
body.page-id-29 .elementor-testimonial-content,
body.page-id-29 .elementor-testimonial-name,
body.page-id-29 .elementor-testimonial-job,
body.page-id-29 .elementor-tab-content p,
body.page-id-29 .elementor-widget-text-editor p,
body.page-id-29 .elementor-widget-text-editor,
body.page-id-29 .elementor-icon-box-title,
body.page-id-29 .elementor-icon-box-title span {
  font-size: 20px !important;
  line-height: 1.7 !important;
}
/* Keep disclaimers at 11px */
body.page-id-29 [data-id*="legal"] p,
body.page-id-29 [data-id*="c46abe"] p {
  font-size: 11px !important;
  line-height: 1.5 !important;
}

/* ============================================================
   CTA BUTTON FLOATING — half inside / half outside card bottom
   (Same style as servicios page)
   ============================================================ */
body.page-id-29 .ayc-card-body {
  position: relative !important;
  padding-bottom: 40px !important;
}
body.page-id-29 .ayc-card-body > div[style*="text-align:center"] {
  position: absolute !important;
  bottom: -24px !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 5 !important;
}
body.page-id-29 .ayc-card-cta-btn {
  display: block !important;
  width: fit-content !important;
  margin: 12px auto 0 !important;
  padding: 8px 24px !important;
  background: #9dc41a !important;
  color: #FFFFFF !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  text-align: center !important;
  transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease !important;
  box-shadow: 0 2px 8px rgba(157, 196, 26, 0.25) !important;
}
body.page-id-29 .ayc-card-cta-btn:hover {
  background: #8ab518 !important;
  transform: translateY(-2px) !important;
  color: #FFFFFF !important;
  text-decoration: none !important;
}
body.page-id-29 .ayc-service-card {
  margin-bottom: 40px !important;
}

/* Fix CTA button clipping - allow overflow for floating button */
body.page-id-29 .ayc-service-card {
  overflow: visible !important;
}
body.page-id-29 .ayc-card-body {
  overflow: visible !important;
}
body.page-id-29 .ayc-ac-card {
  overflow: visible !important;
}

/* NUCLEAR overflow fix - all containers above card must be visible */
body.page-id-29 [data-id^="acc-card"] {
  overflow: visible !important;
}
body.page-id-29 [data-id^="acc-card"] > .e-con-inner {
  overflow: visible !important;
}
body.page-id-29 [data-id^="acc-card"] .elementor-widget-container {
  overflow: visible !important;
}
body.page-id-29 [data-id^="adv-card"] {
  overflow: visible !important;
}
body.page-id-29 [data-id^="adv-card"] > .e-con-inner {
  overflow: visible !important;
}
body.page-id-29 [data-id^="adv-card"] .elementor-widget-container {
  overflow: visible !important;
}
body.page-id-29 [data-id^="accs"] {
  overflow: visible !important;
}
body.page-id-29 [data-id^="accs"] > .e-con-inner {
  overflow: visible !important;
}
body.page-id-29 [data-id^="accs"] .elementor-widget-container {
  overflow: visible !important;
}
body.page-id-29 [data-id^="advs"] {
  overflow: visible !important;
}
body.page-id-29 [data-id^="advs"] > .e-con-inner {
  overflow: visible !important;
}
body.page-id-29 [data-id^="advs"] .elementor-widget-container {
  overflow: visible !important;
}
body.page-id-29 .elementor-widget-text-editor .elementor-widget-container {
  overflow: visible !important;
}

/* ════════════════════════════════════════════════════════════════
   TESTIMONIALS SECTION — EXACT CLONE OF HOME STYLE
   ════════════════════════════════════════════════════════════════ */

/* Background image (same as home) */
body.page-id-29 .elementor-29 .elementor-element.elementor-element-sx7r0nl2:not(.elementor-motion-effects-element-type-background),
body.page-id-29 .elementor-29 .elementor-element.elementor-element-sx7r0nl2 {
  background: url('/wp-content/uploads/ayc-photos/recurso-24-testimonials.jpg') center center / cover no-repeat !important;
  background-image: url('/wp-content/uploads/ayc-photos/recurso-24-testimonials.jpg') !important;
  background-color: transparent !important;
  padding: 80px 20px !important;
}
body.page-id-29 .elementor-29 .elementor-element.elementor-element-sx7r0nl2 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: transparent !important;
}

/* Heading */
body.page-id-29 [data-id="ri79pxmq"] .elementor-heading-title,
body.page-id-29 [data-id="sx7r0nl2"] h2.elementor-heading-title {
  color: #FFFFFF !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  text-align: center !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
}

/* Subtitle */
body.page-id-29 [data-id="sx7r0nl2"] .elementor-widget-text-editor p {
  color: rgba(255,255,255,0.80) !important;
  text-align: center !important;
}

/* Card - EXACT from home */
body.page-id-29 [data-id="sx7r0nl2"] .elementor-testimonial-wrapper {
  border: 2px solid #9dc41a !important;
  border-left: 2px solid #9dc41a !important;
  border-radius: 20px !important;
  padding: 68px 24px 28px !important;
  position: relative !important;
  overflow: visible !important;
  text-align: center !important;
  background-color: #FFFFFF !important;
}

/* Photo sobresale */
body.page-id-29 [data-id="sx7r0nl2"] .elementor-testimonial-image {
  position: absolute !important;
  top: -46px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 92px !important;
  height: 92px !important;
  min-width: 92px !important;
  min-height: 92px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  border: 3px solid #9dc41a !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.18) !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #ECEEF0 !important;
}
body.page-id-29 [data-id="sx7r0nl2"] .elementor-testimonial-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
  border-radius: 50% !important;
  display: block !important;
}

/* Meta */
body.page-id-29 [data-id="sx7r0nl2"] .elementor-testimonial-meta {
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  margin-top: 16px !important;
  padding-top: 0 !important;
}
body.page-id-29 [data-id="sx7r0nl2"] .elementor-testimonial-meta-inner {
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 2px !important;
}

/* Content */
body.page-id-29 [data-id="sx7r0nl2"] .elementor-testimonial-content {
  text-align: center !important;
  font-style: italic !important;
  color: #4B5563 !important;
  font-size: 15px !important;
  line-height: 1.75 !important;
}

/* Name - DARK NAVY (not green) */
body.page-id-29 [data-id="sx7r0nl2"] .elementor-testimonial-name {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #1e2751 !important;
  text-align: center !important;
}

/* Job - GRAY (not green) */
body.page-id-29 [data-id="sx7r0nl2"] .elementor-testimonial-job {
  font-size: 15px !important;
  color: #6B7280 !important;
  text-align: center !important;
}

/* Overflow visible */
body.page-id-29 [data-id="581ginu8"],
body.page-id-29 [data-id="581ginu8"] .elementor-widget-testimonial {
  overflow: visible !important;
}
body.page-id-29 [data-id="sx7r0nl2"] > .e-con-inner,
body.page-id-29 [data-id="sx7r0nl2"] .elementor-widget-wrap {
  overflow: visible !important;
}

/* Inner container */
body.page-id-29 [data-id="581ginu8"] {
  display: block !important;
  flex-direction: unset !important;
  padding: 0 !important;
  overflow: visible !important;
}
body.page-id-29 .ayc-carousel-wrap {
  position: relative;
  width: 100%;
  max-width: 1200px !important;
  margin: 0 auto !important;
}
body.page-id-29 .ayc-carousel-viewport {
  overflow: hidden;
  width: 100%;
  position: relative;
  padding-top: 52px;
  margin-top: -52px;
}
body.page-id-29 .ayc-carousel-track {
  display: flex;
  gap: 24px;
  will-change: transform;
  align-items: stretch;
}
body.page-id-29 .ayc-carousel-track .elementor-widget-testimonial {
  flex: 0 0 384px !important;
  width: 384px !important;
  max-width: 384px !important;
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Arrows */
body.page-id-29 .ayc-carousel-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #1e2751;
  border: 2px solid #9dc41a;
  color: #ffffff;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease, border-color 0.2s ease;
  z-index: 20;
  padding: 0;
  box-shadow: 0 2px 8px rgba(0,0,0,0.18);
}
body.page-id-29 .ayc-carousel-arrow:hover {
  background: #9dc41a;
  border-color: #9dc41a;
}
body.page-id-29 .ayc-arrow-prev { left: -22px; }
body.page-id-29 .ayc-arrow-next { right: -22px; }

/* Padding to prevent image overlap with text above */
body.page-id-29 [data-id="581ginu8"],
body.page-id-29 [data-id="581ginu8"] > .e-con-inner {
  padding-top: 50px !important;
  margin-top: 10px !important;
}

/* "Ver más testimonios" button - home style */
body.page-id-29 [data-id="sx7r0nl2"] .elementor-widget-button .elementor-button {
  background: #9dc41a !important;
  color: #FFFFFF !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  padding: 14px 40px !important;
  border-radius: 6px !important;
  border: none !important;
  letter-spacing: 0.2px !important;
}
body.page-id-29 [data-id="sx7r0nl2"] .elementor-widget-button {
  margin-top: 40px !important;
  text-align: center !important;
}

/* Hero divider line - same as accountants/advisors (95px x 4px green) */
body.page-id-29 [data-id="ac-hero-line"] {
  max-width: 95px !important;
  margin-bottom: 40px !important;
}
body.page-id-29 [data-id="ac-hero-line"] .elementor-divider-separator {
  width: 95px !important;
  border-top-width: 4px !important;
  border-top-color: #9dc41a !important;
}


/* Reduce gap between service cards and dots (match accountants/advisors) */
body.page-id-29 .ayc-svc-dots {
  margin-top: 16px !important;
}
body.page-id-29 .ayc-service-card {
  margin-bottom: 20px !important;
}


/* FINAL icon size fix for ayuda-center */
body.page-id-29 .ayc-check-icon {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  max-width: 22px !important;
  max-height: 22px !important;
  flex-shrink: 0 !important;
  margin-top: 1px !important;
  object-fit: contain !important;
}
body.page-id-29 .ayc-check-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
}

/* === GLOBAL SPACING REDUCTION (-50%) === */
body.page-id-29 [data-id="ac-que-sec"] > .e-con-inner,
body.page-id-29 [data-id="ac-proc-sec"] > .e-con-inner,
body.page-id-29 [data-id="ac-why-sec"] > .e-con-inner {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
  gap: 10px !important;
}
body.page-id-29 [data-id="ac-svc-sec"] > .e-con-inner {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
  gap: 20px !important;
}
body.page-id-29 [data-id="ac-cta-sec"] {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}
body.page-id-29 [data-id="ac-cta-sec"] > .e-con-inner {
  padding-top: 32px !important;
  padding-bottom: 32px !important;
  gap: 8px !important;
}
body.page-id-29 [data-id="sx7r0nl2"] {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
  gap: 10px !important;
}

/* Testimonials section spacing reduced (id-level specificity) */
html body.page-id-29 .elementor-29 .elementor-element.elementor-element-sx7r0nl2:not(#nope),
html body.page-id-29 .elementor-29 .e-con.elementor-element-sx7r0nl2:not(#nope) {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

/* Nuestros Servicios — symmetric spacing under title */
html body.page-id-29 [data-id="ac-card-a-wrap"],
html body.page-id-29 [data-id="ac-card-b-wrap"],
html body.page-id-29 [data-id="ac-card-c-wrap"] {
  padding-top: 0 !important;
  margin-top: 0 !important;
  transform: none !important;
}
html body.page-id-29 [data-id="ac-card-a-wrap"] > .e-con-inner,
html body.page-id-29 [data-id="ac-card-b-wrap"] > .e-con-inner,
html body.page-id-29 [data-id="ac-card-c-wrap"] > .e-con-inner {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ============================================================
   1. Animated green underline below "Trabajamos con personas..."
   ============================================================ */
html body.page-id-29 .elementor-element[data-id="ac-que-sub"] .elementor-heading-title {
  display: inline-block !important;
  position: relative !important;
  padding-bottom: 8px !important;
}
html body.page-id-29 .elementor-element[data-id="ac-que-sub"] {
  text-align: center !important;
}
html body.page-id-29 .elementor-element[data-id="ac-que-sub"] .elementor-widget-container {
  text-align: center !important;
}
html body.page-id-29 .elementor-element[data-id="ac-que-sub"] .elementor-heading-title::after {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  height: 3px !important;
  width: 100% !important;
  background: #9dc41a !important;
  transform-origin: left center !important;
  transform: scaleX(0) !important;
  transition: transform 1.1s ease-out !important;
}
html body.page-id-29 .elementor-element[data-id="ac-que-sub"].is-visible .elementor-heading-title::after,
html body.page-id-29 .elementor-element[data-id="ac-que-sub"] .elementor-heading-title.ayc-line-go::after {
  transform: scaleX(1) !important;
}

/* ============================================================
   2. CTA card style — match Advisors/Accountants
   ============================================================ */
html body.page-id-29 .elementor-29 .elementor-element[data-id="ac-cta-sec"]:not(#nope) {
  background: #FFFFFF !important;
  background-image: none !important;
  padding: 60px 80px 80px !important;
}
html body.page-id-29 .elementor-29 .elementor-element[data-id="ac-cta-sec"] > .e-con-inner:not(#nope) {
  background: #F4F5F7 !important;
  border-radius: 20px !important;
  padding: 48px 60px !important;
  max-width: 1300px !important;
  margin: 0 auto !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.06) !important;
  position: relative !important;
  overflow: hidden !important;
  gap: 12px !important;
}
html body.page-id-29 .elementor-29 .elementor-element[data-id="ac-cta-sec"] > .e-con-inner::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 15% !important;
  right: 15% !important;
  height: 3px !important;
  background: linear-gradient(to right, transparent, #9dc41a 20%, #9dc41a 80%, transparent) !important;
}
html body.page-id-29 .elementor-element[data-id="ac-cta-h2"] .elementor-heading-title {
  font-size: 32px !important;
  font-weight: 700 !important;
  color: #1e2751 !important;
  text-align: center !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  line-height: 1.3 !important;
}
html body.page-id-29 .elementor-element[data-id="ac-cta-sub"] .elementor-heading-title {
  color: #6B7280 !important;
  font-size: 18px !important;
  text-align: center !important;
  font-weight: 400 !important;
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
}
html body.page-id-29 .elementor-element[data-id="ac-cta-btn"] .elementor-button {
  background: #9dc41a !important;
  color: #FFFFFF !important;
  border-radius: 8px !important;
  padding: 14px 36px !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  margin-top: 16px !important;
}

/* ============================================================
   3. Incluye check items — unified with Accountants/Advisors
   ============================================================ */
html body.page-id-29 .ayc-check-item,
html body.page-id-29 .ayc-check-item span,
html body.page-id-29 .ayc-card-features li,
html body.page-id-29 .ayc-card-features .ayc-check-item {
  color: #6B7280 !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
}

/* ============================================================
   ANIMATED GREEN LINES — CTAs & intro gray cards
   ============================================================ */
/* Ayuda Center CTA — base already has gradient line via ::after on inner */
html body.page-id-29 .elementor-29 .elementor-element[data-id="ac-cta-sec"] > .e-con-inner::after {
  transform: scaleX(0) !important;
  transform-origin: left center !important;
  transition: transform 1.2s ease-out !important;
}
html body.page-id-29 .elementor-29 .elementor-element[data-id="ac-cta-sec"].ayc-line-animate > .e-con-inner::after {
  transform: scaleX(1) !important;
}

/* Ayuda Center intro "¿Qué hacemos?" bottom line */
html body.page-id-29 .elementor-element[data-id="ac-que-sec"] {
  position: relative !important;
}
html body.page-id-29 .elementor-element[data-id="ac-que-sec"]::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  left: 15% !important;
  right: 15% !important;
  bottom: 8px !important;
  height: 3px !important;
  background: linear-gradient(to right, transparent, #9dc41a 20%, #9dc41a 80%, transparent) !important;
  transform: scaleX(0) !important;
  transform-origin: left center !important;
  transition: transform 1.2s ease-out !important;
}
html body.page-id-29 .elementor-element[data-id="ac-que-sec"].ayc-line-animate::after {
  transform: scaleX(1) !important;
}

/* ============================================================
   UNIFIED BUTTONS — testimonials + CTA final (match card btns)
   ============================================================ */
html body.page-id-29 [data-id="ac-test-btn"] .elementor-button:not(#x) {
  font-size: 22px !important;
  padding: 8px 24px !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  background: #9dc41a !important;
  color: #FFFFFF !important;
  border-radius: 8px !important;
}
html body.page-id-29 [data-id="ac-cta-btn"] .elementor-button:not(#x) {
  font-size: 22px !important;
  padding: 8px 24px !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  background: #9dc41a !important;
  color: #FFFFFF !important;
  border-radius: 8px !important;
}

/* ============================================================
   TESTIMONIALS — unified spacing/sizing to match home
   ============================================================ */
/* Section outer padding — match home (40px top/bottom) */
/* Title — kill margin-bottom */
html body.page-id-29 [data-id="sx7r0nl2"] h2:not(#x) {
  font-size: 48px !important;
  line-height: 1.25 !important;
  margin: 0 !important;
}
/* Subtitle — kill inline margin-top/bottom */
html body.page-id-29 [data-id="pxr2o2bu"] p:not(#x) {
  font-size: 26px !important;
  margin: 0 !important;
}
/* Paragraph — kill inline margins */
html body.page-id-29 [data-id="4x0jnkpu"] p:not(#x) {
  font-size: 22px !important;
  max-width: 900px !important;
  margin: 0 auto !important;
}
html body.page-id-29 [data-id="4x0jnkpu"] p strong:not(#x),
html body.page-id-29 [data-id="4x0jnkpu"] p b:not(#x) {
  font-size: inherit !important;
  font-weight: 700 !important;
}
