/*
 * AYC Group - Critical Overrides
 * Loaded AFTER Elementor post CSS to win the cascade.
 */

/* ============================================================
   1. PROCESS CARDS - White OPAQUE
   ============================================================ */

.elementor-13 .elementor-element.elementor-element-bbslyhfe,
.elementor-13 .elementor-element.elementor-element-s1m0bqcn,
.elementor-13 .elementor-element.elementor-element-3pitxuf4 {
  background-color: #FFFFFF !important;
  border-radius: 12px !important;
  padding: 32px 24px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15) !important;
}

.elementor-13 .elementor-element.elementor-element-ojot1sgd .elementor-heading-title,
.elementor-13 .elementor-element.elementor-element-qc6hehwt .elementor-heading-title,
.elementor-13 .elementor-element.elementor-element-njio8v9u .elementor-heading-title {
  color: #1e2751 !important;
  font-family: 'Futura Bold', Montserrat, sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
}

.elementor-13 .elementor-element.elementor-element-5jn6nn5b p,
.elementor-13 .elementor-element.elementor-element-vumj2cdv p,
.elementor-13 .elementor-element.elementor-element-ptfe26dd p {
  color: #374151 !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

/* ============================================================
   2. TESTIMONIALS SECTION - Dark Navy
   ============================================================ */

.elementor-13 .elementor-element.elementor-element-sx7r0nl2:not(.elementor-motion-effects-element-type-background),
.e-con.e-parent.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;
}
.elementor-13 .elementor-element.elementor-element-sx7r0nl2 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: transparent !important;
}
.elementor-13 .elementor-element.elementor-element-ri79pxmq .elementor-heading-title {
  color: #FFFFFF !important;
  font-size: 32px !important;
  font-weight: 700 !important;
}
.elementor-13 .elementor-element.elementor-element-bjxgg2n1 .elementor-heading-title {
  color: rgba(255,255,255,0.80) !important;
}
.elementor-13 .elementor-element.elementor-element-pxr2o2bu p {
  color: rgba(255, 255, 255, 0.80) !important;
}
.elementor-13 .elementor-element.elementor-element-sx7r0nl2 .elementor-testimonial-wrapper {
  background-color: #FFFFFF !important;
  border-left: 4px solid #9dc41a !important;
  border-radius: 8px !important;
  padding: 24px 20px !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.20) !important;
}
.elementor-13 .elementor-element.elementor-element-sx7r0nl2 .elementor-testimonial-name {
  color: #9dc41a !important;
  font-weight: 700 !important;
}
.elementor-13 .elementor-element.elementor-element-sx7r0nl2 .elementor-testimonial-content {
  color: #374151 !important;
}
.elementor-13 .elementor-element.elementor-element-sx7r0nl2 .elementor-testimonial-job {
  color: #6B7280 !important;
}

/* ============================================================
   3. FOOTER - Text visibility
   ============================================================ */

.elementor-6 .elementor-element.elementor-element-ftr_nav1 .elementor-nav-menu--main .elementor-item {
  color: rgba(255, 255, 255, 0.75) !important;
  font-size: 14px !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_nav1 .elementor-nav-menu--main .elementor-item:hover {
  color: #9dc41a !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_col1 .elementor-heading-title,
.elementor-6 .elementor-element.elementor-element-ftr_col2 .elementor-heading-title,
.elementor-6 .elementor-element.elementor-element-ftr_col3 .elementor-heading-title,
.elementor-6 .elementor-element.elementor-element-ftr_col4 .elementor-heading-title,
.elementor-6 .elementor-element.elementor-element-ftr_follow .elementor-heading-title {
  color: #FFFFFF !important;
  font-family: 'Futura Bold', Montserrat, sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_services_list .elementor-icon-list-text {
  color: rgba(255, 255, 255, 0.75) !important;
  font-size: 14px !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_services_list .elementor-icon-list-item > a {
  color: rgba(255, 255, 255, 0.75) !important;
  text-decoration: none !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_services_list .elementor-icon-list-icon i {
  color: #9dc41a !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_addr p,
.elementor-6 .elementor-element.elementor-element-ftr_addr .elementor-text-editor p {
  color: rgba(255, 255, 255, 0.70) !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_social .elementor-icon-list-icon i {
  color: rgba(255, 255, 255, 0.75) !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_social .elementor-icon-list-text {
  color: rgba(255, 255, 255, 0.75) !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_copy p {
  color: rgba(255, 255, 255, 0.55) !important;
  font-size: 12px !important;
  text-align: center !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_disclaimer p {
  color: rgba(255, 255, 255, 0.45) !important;
  font-size: 11px !important;
  text-align: center !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_divider .elementor-divider-separator {
  border-top-color: rgba(255, 255, 255, 0.12) !important;
}

/* ============================================================
   4. HEADER - Nav width fix + logo placeholder
   ============================================================ */

/* Logo now renders via HTML widget — remove ::before placeholder */
.elementor-5 .elementor-element.elementor-element-hdr_sec1::before {
  content: none !important;
  display: none !important;
}

/* Logo HTML widget: fixed width, no shrink */
.elementor-5 .elementor-element.elementor-element-hdr_logo {
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
  min-width: 160px !important;
}

/* Nav: takes remaining space, centered */
.elementor-5 .elementor-element.elementor-element-hdr_nav {
  flex-grow: 1 !important;
  flex-shrink: 1 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  overflow: visible !important;
  display: flex !important;
  justify-content: flex-end !important;
}

.elementor-5 .elementor-element.elementor-element-hdr_right {
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
  width: auto !important;
  max-width: none !important;
}

.elementor-5 .elementor-element.elementor-element-hdr_cta .elementor-button {
  background-color: #9dc41a !important;
  color: #FFFFFF !important;
  border-radius: 6px !important;
  font-family: 'Futura Bold', Montserrat, sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  padding: 10px 22px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  border: none !important;
}

.elementor-5 .elementor-element.elementor-element-hdr_phone .elementor-icon-list-text {
  color: #6B7280 !important;
  font-weight: 400 !important;
  font-size: 18px !important;
  font-family: 'Open Sans', sans-serif !important;
}
/* Phone icon to the LEFT of text, use custom icon */
.elementor-5 .elementor-element.elementor-element-hdr_phone .elementor-icon-list-item a {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
}
.elementor-5 .elementor-element.elementor-element-hdr_phone .elementor-icon-list-icon {
  margin: 0 !important;
  width: 20px !important;
  height: 20px !important;
  flex-shrink: 0 !important;
}
.elementor-5 .elementor-element.elementor-element-hdr_phone .elementor-icon-list-icon i,
.elementor-5 .elementor-element.elementor-element-hdr_phone .elementor-icon-list-icon svg {
  display: none !important;
}
.elementor-5 .elementor-element.elementor-element-hdr_phone .elementor-icon-list-icon::after {
  content: '' !important;
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  background: url('/wp-content/uploads/ayc-photos/recurso-27-phone.png') center / contain no-repeat !important;
}

/* Footer social icons - override social-icons widget background/color */
.elementor-6 .elementor-element.elementor-element-ftr_social .elementor-social-icon {
  background-color: rgba(255, 255, 255, 0.10) !important;
  color: rgba(255, 255, 255, 0.80) !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_social .elementor-social-icon:hover {
  background-color: #9dc41a !important;
  color: #FFFFFF !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_social .elementor-social-icon svg,
.elementor-6 .elementor-element.elementor-element-ftr_social .elementor-social-icon i {
  fill: rgba(255, 255, 255, 0.80) !important;
  color: rgba(255, 255, 255, 0.80) !important;
}

/* ftr_col2 heading - look for heading widgets inside col2 */
.elementor-6 .elementor-element.elementor-element-ftr_col2 .elementor-widget-heading .elementor-heading-title,
.elementor-6 .elementor-element.elementor-element-ftr_col3 .elementor-widget-heading .elementor-heading-title,
.elementor-6 .elementor-element.elementor-element-ftr_col1 .elementor-widget-heading .elementor-heading-title {
  color: #FFFFFF !important;
  font-family: 'Futura Bold', Montserrat, sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
}

/* Footer icon list links (services list) - broader selector */
.elementor-6 [data-id="ftr_services_list"] li a,
.elementor-6 [data-id="ftr_services_list"] .elementor-icon-list-item a {
  color: rgba(255, 255, 255, 0.75) !important;
}

/* Testimonials - section subtitle text widget */
.elementor-13 .elementor-element.elementor-element-sx7r0nl2 .elementor-widget-text-editor p,
.elementor-13 .elementor-element.elementor-element-sx7r0nl2 .elementor-widget-heading .elementor-heading-title {
  color: rgba(255, 255, 255, 0.80) !important;
}
/* But NOT the main h2 title ri79pxmq - that must be full white */
.elementor-13 .elementor-element.elementor-element-ri79pxmq .elementor-heading-title,
.elementor-13 .elementor-element.elementor-element-ri79pxmq.elementor-element .elementor-heading-title {
  color: #FFFFFF !important;
  opacity: 1 !important;
}

/* ============================================================
   4b. HEADER - Sticky + Active nav + Servicios chevron
   ============================================================ */

/* Sticky header */
.elementor-location-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  background: #FFFFFF !important;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.08) !important;
}

/* Active nav item: lime green underline */
.elementor-5 .elementor-element.elementor-element-hdr_nav .elementor-item.elementor-item-active {
  color: #1e2751 !important;
  font-weight: 600 !important;
}
.elementor-5 .elementor-element.elementor-element-hdr_nav .elementor-nav-menu--main .elementor-item.elementor-item-active::after,
.elementor-5 .elementor-element.elementor-element-hdr_nav .elementor-nav-menu--main .elementor-item.elementor-item-active::before {
  /* Override Elementor underline animation to be always visible */
  width: 100% !important;
  opacity: 1 !important;
  background-color: #9dc41a !important;
  bottom: -4px !important;
  height: 3px !important;
  border-radius: 2px !important;
  transform: none !important;
}

/* (Servicios chevron removed — no longer has a submenu) */

/* "Nuestra Promesa" icon list — doblar tamaño de texto, números e iconos */
body.page-id-13 .elementor-element[data-id="ytds4dmc"] {
  --e-icon-list-icon-size: 36px !important;
}
body.page-id-13 .elementor-element[data-id="ytds4dmc"] .elementor-icon-list-text {
  font-size: 18px !important;
  line-height: 1.4 !important;
  color: #6B7280 !important;
  font-weight: 400 !important;
}
body.page-id-13 .elementor-element[data-id="ytds4dmc"] .elementor-icon-list-text strong {
  font-size: 38px !important;
  line-height: 1 !important;
  margin-right: 6px !important;
}
body.page-id-13 .elementor-element[data-id="ytds4dmc"] .elementor-icon-list-icon svg {
  width: 36px !important;
  height: 36px !important;
}
body.page-id-13 .elementor-element[data-id="ytds4dmc"] .elementor-icon-list-item {
  align-items: center !important;
}

/* ============================================================
   5. HEADER - Hide mobile dropdown nav, show desktop nav only
   ============================================================ */

/* Hide the mobile dropdown container (JS controls visibility via inline style) */
.elementor-5 .elementor-element.elementor-element-hdr_nav .elementor-nav-menu--dropdown {
  display: none;
}

/* The hdr_nav widget is in mobile-toggle mode - force desktop menu visible */
.elementor-5 .elementor-element.elementor-element-hdr_nav .elementor-nav-menu--main {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: static !important;
  width: 100% !important;
  height: auto !important;
  overflow: visible !important;
  flex-direction: row !important;
  justify-content: flex-end !important;
}
.elementor-5 .elementor-element.elementor-element-hdr_nav .elementor-widget-container {
  width: 100% !important;
}

/* Hide the hamburger toggle button on DESKTOP only (mobile shows it) */
@media (min-width: 769px) {
  .elementor-5 .elementor-element.elementor-element-hdr_nav .elementor-menu-toggle {
    display: none !important;
  }
}

/* ============================================================
   6. FOOTER col1 nav - show links, hide mobile toggle
   ============================================================ */

/* ftr_nav1 is also in mobile-toggle mode — show links, hide toggle */
.elementor-6 .elementor-element.elementor-element-ftr_nav1 .elementor-menu-toggle {
  display: none !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_nav1 .elementor-nav-menu--main {
  display: flex !important;
  flex-direction: column !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  gap: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_nav1 .elementor-nav-menu--main > li {
  display: block !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_nav1 .elementor-nav-menu--dropdown {
  display: none !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_nav1 .elementor-nav-menu--main .elementor-item {
  color: rgba(255, 255, 255, 0.75) !important;
  font-family: Open Sans, sans-serif !important;
  font-size: 14px !important;
  text-decoration: none !important;
  padding: 2px 0 !important;
  display: block !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_nav1 .elementor-nav-menu--main .elementor-item:hover {
  color: #9dc41a !important;
}

/* ============================================================
   TABS V7 - AYC Teal color matching PDF design
   Active: #0075a9 (teal), Inactive: #005a82 (darker teal)
   ============================================================ */
.elementor-13 .elementor-element.elementor-element-6eeek77d .elementor-tabs-wrapper {
  display: flex !important;
  gap: 6px !important;
  border: none !important;
  background: none !important;
  margin-bottom: 0 !important;
  padding-bottom: 16px !important;
  overflow: visible !important;
}
.elementor-13 .elementor-element.elementor-element-6eeek77d .elementor-tab-title {
  flex: 1 !important;
  text-align: center !important;
  border-radius: 6px 6px 0 0 !important;
  padding: 15px 20px !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  letter-spacing: 0.3px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background-color 0.2s ease, color 0.2s ease !important;
  border: none !important;
  position: relative !important;
  min-height: 52px !important;
}
/* ACTIVE tab — PDF uses AYC brand teal */
.elementor-13 .elementor-element.elementor-element-6eeek77d .elementor-tab-title.elementor-active {
  background-color: #0075a9 !important;
  color: #FFFFFF !important;
  box-shadow: 0 -2px 0 #9dc41a inset !important;
}
/* INACTIVE tabs — slightly darker teal */
.elementor-13 .elementor-element.elementor-element-6eeek77d .elementor-tab-title:not(.elementor-active) {
  background-color: #005a82 !important;
  color: rgba(255, 255, 255, 0.88) !important;
}
.elementor-13 .elementor-element.elementor-element-6eeek77d .elementor-tab-title:not(.elementor-active):hover {
  background-color: #0075a9 !important;
  color: #FFFFFF !important;
}
/* Active indicator triangle — teal to match tab */
.elementor-13 .elementor-element.elementor-element-6eeek77d .elementor-tab-title.elementor-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 #0075a9 !important;
  z-index: 5 !important;
}
.elementor-13 .elementor-element.elementor-element-6eeek77d .elementor-tab-mobile-title,
.elementor-13 .elementor-element.elementor-element-6eeek77d .elementor-tab-title.elementor-tab-mobile-title {
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
}
.elementor-13 .elementor-element.elementor-element-6eeek77d .elementor-tab-content {
  border: none !important;
  padding-top: 32px !important;
  margin-top: 10px !important;
}

/* ============================================================
   FIX FORM FIELDS - Material Design (underline only)
   ============================================================ */
.elementor-tab-content input[type=text],
.elementor-tab-content input[type=email],
.elementor-tab-content input[type=tel],
.elementor-tab-content input[type=number],
.elementor-tab-content textarea,
.elementor-tab-content select,
.elementor-tab-content .elementor-field-type-text input,
.elementor-tab-content .elementor-field-type-email input,
.elementor-tab-content .elementor-field-type-tel input,
.elementor-tab-content .ff-el-input--content input,
.elementor-tab-content .ff-el-input--content textarea {
  border: none !important;
  border-bottom: 1.5px solid #D1D5DB !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 10px 0 6px !important;
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  font-size: 15px !important;
  color: #374151 !important;
  outline: none !important;
  box-shadow: none !important;
  width: 100% !important;
  transition: border-color 0.2s ease !important;
}
.elementor-tab-content input:focus,
.elementor-tab-content textarea:focus {
  border-bottom-color: #1e2751 !important;
  box-shadow: none !important;
}
.elementor-tab-content label,
.elementor-tab-content .elementor-field-label,
.elementor-tab-content .ff-el-input--label label {
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  font-size: 15px !important;
  color: #6B7280 !important;
  margin-bottom: 2px !important;
  display: block !important;
}
.elementor-tab-content button[type=submit],
.elementor-tab-content input[type=submit],
.elementor-tab-content .elementor-button[type=submit],
.elementor-tab-content .ff-btn-submit {
  background-color: #1e2751 !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 12px 32px !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
  width: 100% !important;
  margin-top: 16px !important;
}
.elementor-tab-content button[type=submit]:hover,
.elementor-tab-content .ff-btn-submit:hover {
  background-color: #161c3d !important;
}
.elementor-tab-content .contactanos-btn,
.elementor-tab-content a[href*=tel],
.elementor-tab-content a[href*=whatsapp],
.elementor-tab-content a[href*="wa.me"],
.elementor-tab-content a.elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 16px 32px !important;
  border: 2px solid #9dc41a !important;
  border-radius: 6px !important;
  background: #9dc41a !important;
  color: #FFFFFF !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  font-size: 30px !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  margin-top: 20px !important;
}
.elementor-tab-content .contactanos-btn::before,
.elementor-tab-content a[href*="wa.me"]::before,
.elementor-tab-content a[href*=whatsapp]::before {
  content: "\f232";
  font-family: "Font Awesome 6 Brands", "Font Awesome 5 Brands", "FontAwesome" !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-size: 32px !important;
  line-height: 1 !important;
  display: inline-block !important;
}
.elementor-tab-content a.elementor-button:hover,
.elementor-tab-content .contactanos-btn:hover,
.elementor-tab-content a[href*="wa.me"]:hover,
.elementor-tab-content a[href*=tel]:hover,
.elementor-tab-content a[href*=whatsapp]:hover {
  background: transparent !important;
  color: #9dc41a !important;
}

/* ============================================================
   STATS - Confianza respaldada por resultados
   Números: LIME GREEN #9dc41a (per PDF reference)
   Iconos: dark navy #1e2751 outline style
   ============================================================ */
.elementor-element[data-id="zgzick0h"] .elementor-icon-box-title,
.elementor-element[data-id="ya4wbjti"] .elementor-icon-box-title,
.elementor-element[data-id="c8ql1y3s"] .elementor-icon-box-title,
.elementor-element[data-id="0h5qmaso"] .elementor-icon-box-title,
.elementor-element[data-id="ur1nztr5"] .elementor-icon-box-title {
  font-size: 40px !important;
  font-weight: 800 !important;
  color: #9dc41a !important;
  font-family: 'Futura Bold', Montserrat, sans-serif !important;
  line-height: 1 !important;
  margin: 12px 0 8px !important;
}
.elementor-element[data-id="zgzick0h"] .elementor-icon-box-title span,
.elementor-element[data-id="ya4wbjti"] .elementor-icon-box-title span,
.elementor-element[data-id="c8ql1y3s"] .elementor-icon-box-title span,
.elementor-element[data-id="0h5qmaso"] .elementor-icon-box-title span,
.elementor-element[data-id="ur1nztr5"] .elementor-icon-box-title span {
  color: #9dc41a !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}
.elementor-element[data-id="zgzick0h"] .elementor-icon-box-description,
.elementor-element[data-id="ya4wbjti"] .elementor-icon-box-description,
.elementor-element[data-id="c8ql1y3s"] .elementor-icon-box-description,
.elementor-element[data-id="0h5qmaso"] .elementor-icon-box-description,
.elementor-element[data-id="ur1nztr5"] .elementor-icon-box-description {
  font-size: 15px !important;
  color: #6B7280 !important;
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  line-height: 1.5 !important;
  max-width: 130px !important;
  margin: 0 auto !important;
  text-align: center !important;
}
/* Stats section: subtle background + better padding */
.elementor-element[data-id="sj6v5zqm"]:not(.elementor-motion-effects-element-type-background) {
  background-color: #FFFFFF !important;
}
/* Stats heading */
.elementor-element[data-id="tx08gxu8"] .elementor-heading-title {
  color: #1e2751 !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  text-align: center !important;
  margin-bottom: 48px !important;
}
/* Stats row — center alignment and equal widths */
.elementor-element[data-id="qh0b8rle"] {
  display: flex !important;
  align-items: stretch !important;
  justify-content: center !important;
}
.elementor-element[data-id="qh0b8rle"] > .elementor-element {
  border-right: 1.5px solid #C5CDD8 !important;
  padding: 24px 32px !important;
  text-align: center !important;
  flex: 1 !important;
}
.elementor-element[data-id="qh0b8rle"] > .elementor-element:last-child {
  border-right: 1.5px solid rgb(197, 205, 216) !important;
}
/* Icon-box center alignment */
.elementor-element[data-id="zgzick0h"] .elementor-icon-box-wrapper,
.elementor-element[data-id="ya4wbjti"] .elementor-icon-box-wrapper,
.elementor-element[data-id="c8ql1y3s"] .elementor-icon-box-wrapper,
.elementor-element[data-id="0h5qmaso"] .elementor-icon-box-wrapper,
.elementor-element[data-id="ur1nztr5"] .elementor-icon-box-wrapper {
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}
/* Icons: dark navy outline per PDF reference */
.elementor-element[data-id="zgzick0h"] .elementor-icon,
.elementor-element[data-id="ya4wbjti"] .elementor-icon,
.elementor-element[data-id="c8ql1y3s"] .elementor-icon,
.elementor-element[data-id="0h5qmaso"] .elementor-icon,
.elementor-element[data-id="ur1nztr5"] .elementor-icon {
  color: #1e2751 !important;
}
.elementor-element[data-id="zgzick0h"] .elementor-icon svg,
.elementor-element[data-id="ya4wbjti"] .elementor-icon svg,
.elementor-element[data-id="c8ql1y3s"] .elementor-icon svg,
.elementor-element[data-id="0h5qmaso"] .elementor-icon svg,
.elementor-element[data-id="ur1nztr5"] .elementor-icon svg {
  fill: #1e2751 !important;
  width: 40px !important;
  height: 40px !important;
}
.elementor-element[data-id="zgzick0h"] .elementor-icon svg path,
.elementor-element[data-id="ya4wbjti"] .elementor-icon svg path,
.elementor-element[data-id="c8ql1y3s"] .elementor-icon svg path,
.elementor-element[data-id="0h5qmaso"] .elementor-icon svg path,
.elementor-element[data-id="ur1nztr5"] .elementor-icon svg path {
  fill: inherit !important;
}
.elementor-element[data-id="zgzick0h"] .elementor-icon i,
.elementor-element[data-id="ya4wbjti"] .elementor-icon i,
.elementor-element[data-id="c8ql1y3s"] .elementor-icon i,
.elementor-element[data-id="0h5qmaso"] .elementor-icon i,
.elementor-element[data-id="ur1nztr5"] .elementor-icon i {
  color: #1e2751 !important;
  font-size: 32px !important;
}
/* (duplicate removed — see rule above) */

/* ============================================================
   PROCESS CARDS V6 - Badge numérico straddling border
   ============================================================ */

/* Row container: overflow visible for circle badges */
.elementor-element[data-id=myg8of7f] {
  overflow: visible !important;
}
/* HIGH SPECIFICITY gap rule to beat Elementor's .e-con.e-flex [0,2,0] */
.elementor-element-myg8of7f.e-con.e-flex {
  gap: 40px !important;
  align-items: flex-start !important;
}

/* Each card: white opaque, overflow visible, space at top for badge
   Width reduced 40% (263px → 158px) per design request */
body.page-id-13 .elementor-13 .elementor-element.elementor-element-bbslyhfe,
body.page-id-13 .elementor-13 .elementor-element.elementor-element-s1m0bqcn,
body.page-id-13 .elementor-13 .elementor-element.elementor-element-3pitxuf4 {
  background-color: #FFFFFF !important;
  border-radius: 12px !important;
  padding: 50px 20px 32px !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.10) !important;
  position: relative !important;
  overflow: visible !important;
  flex: 0 0 320px !important;
  width: 320px !important;
  max-width: 320px !important;
  text-align: center !important;
  margin-top: 16px !important;
}
/* Center the row of cards once they're narrower */
body.page-id-13 .elementor-element.elementor-element-myg8of7f.e-con.e-flex {
  justify-content: center !important;
}

/* Number badge widget: positioned to straddle top border */
.elementor-element[data-id=njz7rtfr],
.elementor-element[data-id=epre1cla],
.elementor-element[data-id=yrd3fj94] {
  position: absolute !important;
  top: -28px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 56px !important;
  height: 56px !important;
  z-index: 10 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* The div inside the number widget */
.elementor-element[data-id=njz7rtfr] .elementor-widget-container,
.elementor-element[data-id=epre1cla] .elementor-widget-container,
.elementor-element[data-id=yrd3fj94] .elementor-widget-container {
  width: 56px !important;
  height: 56px !important;
  background-color: #9dc41a !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 3px solid #FFFFFF !important;
  box-shadow: 0 2px 8px rgba(157,196,26,0.4) !important;
}

/* Number text inside badge */
.elementor-element[data-id=njz7rtfr] p,
.elementor-element[data-id=epre1cla] p,
.elementor-element[data-id=yrd3fj94] p,
.elementor-element[data-id=njz7rtfr] div,
.elementor-element[data-id=epre1cla] div,
.elementor-element[data-id=yrd3fj94] div {
  color: #FFFFFF !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
}

/* Card TITLE - Navy */
.elementor-element[data-id=ojot1sgd] .elementor-heading-title,
.elementor-element[data-id=qc6hehwt] .elementor-heading-title,
.elementor-element[data-id=njio8v9u] .elementor-heading-title {
  color: #1e2751 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  margin-top: 8px !important;
}

/* Card DESCRIPTION - Dark gray */
.elementor-element[data-id=5jn6nn5b] p,
.elementor-element[data-id=s1m0bqcn] .elementor-widget-text-editor:last-child p,
.elementor-element[data-id=3pitxuf4] .elementor-widget-text-editor:last-child p {
  color: #374151 !important;
  font-size: 15px !important;
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  line-height: 1.6 !important;
}

/* Arrow columns hidden — JS SVG arrows used instead (see animations.js) */

/* Arrow animation: pulse right on page load */
@keyframes ayc-arrow-pulse {
  0%   { transform: translateX(0);   opacity: 0.6; }
  50%  { transform: translateX(6px); opacity: 1.0; }
  100% { transform: translateX(0);   opacity: 0.6; }
}

.elementor-element[data-id=34x420jc] .elementor-widget-container,
.elementor-element[data-id=z7va5kkc] .elementor-widget-container {
  animation: ayc-arrow-pulse 1.6s ease-in-out infinite !important;
}

.elementor-element[data-id=34x420jc] i,
.elementor-element[data-id=z7va5kkc] i,
.elementor-element[data-id=34x420jc] svg,
.elementor-element[data-id=z7va5kkc] svg {
  color: #FFFFFF !important;
  fill: #FFFFFF !important;
  font-size: 32px !important;
  opacity: 1 !important;
}

/* ============================================================
   NUESTRA PROMESA V6 - Complete redesign
   ============================================================ */
.elementor-element[data-id=ef72b413] {
  background-color: #FFFFFF !important;
  padding: 80px 0 !important;
}

/* Heading */
.elementor-element[data-id=lb5iw7ns] .elementor-heading-title {
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-size: 34px !important;
  font-weight: 700 !important;
  color: #1e2751 !important;
  line-height: 1.2 !important;
  margin-bottom: 20px !important;
}

/* Paragraph */
.elementor-element[data-id=krzy8fuz] p {
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  font-size: 15px !important;
  color: #374151 !important;
  line-height: 1.7 !important;
  margin-bottom: 32px !important;
}

/* Icon list: display as flex ROW */
.elementor-element[data-id=ytds4dmc] .elementor-icon-list-items {
  display: flex !important;
  flex-direction: row !important;
  gap: 24px !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
}
.elementor-element[data-id=ytds4dmc] .elementor-icon-list-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 8px !important;
  flex: 1 !important;
}
/* Icon badge - no circle, no background */
.elementor-element[data-id=ytds4dmc] .elementor-icon-list-icon {
  width: 50px !important;
  height: 50px !important;
  background-color: transparent !important;
  border-radius: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 10px !important;
  flex-shrink: 0 !important;
  border: none !important;
}
/* Hide FA icons (i and svg) — replaced by ::after images */
.elementor-element[data-id=ytds4dmc] .elementor-icon-list-icon i,
.elementor-element[data-id=ytds4dmc] .elementor-icon-list-icon svg {
  display: none !important;
}
/* Replace with inline SVG via CSS background on the icon span */
.elementor-element[data-id=ytds4dmc] .elementor-icon-list-icon {
  position: relative !important;
}
.elementor-element[data-id=ytds4dmc] .elementor-icon-list-icon::after {
  content: '' !important;
  display: block !important;
  width: 50px !important;
  height: 50px !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
}
/* Icon 1: Recurso 2 */
.elementor-element[data-id=ytds4dmc] .elementor-icon-list-item:nth-child(1) .elementor-icon-list-icon::after {
  background-image: url("/wp-content/uploads/2026/04/recurso-02.png") !important;
}
/* Icon 2: Recurso 7 */
.elementor-element[data-id=ytds4dmc] .elementor-icon-list-item:nth-child(2) .elementor-icon-list-icon::after {
  background-image: url("/wp-content/uploads/2026/04/recurso-07.png") !important;
}
/* Icon 3: Recurso 8 */
.elementor-element[data-id=ytds4dmc] .elementor-icon-list-item:nth-child(3) .elementor-icon-list-icon::after {
  background-image: url("/wp-content/uploads/2026/04/recurso-08.png") !important;
}
/* Item text */
.elementor-element[data-id=ytds4dmc] .elementor-icon-list-text {
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  font-size: 15px !important;
  color: #1e2751 !important;
  line-height: 1.5 !important;
  text-align: center !important;
  max-width: 120px !important;
}
/* Make the strong/number portion larger — verde lima */
.elementor-element[data-id=ytds4dmc] .elementor-icon-list-text strong {
  display: block !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  color: #9dc41a !important;
  line-height: 1.2 !important;
  margin-bottom: 2px !important;
}

/* Right column and logo: handled later in NUESTRA PROMESA block */

/* ============================================================
   ANIMATIONS V6
   ============================================================ */

/* Scroll Reveal base */
.ayc-reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.ayc-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.ayc-reveal-left {
  opacity: 0;
  transform: translateX(-30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.ayc-reveal-left.is-visible {
  opacity: 1;
  transform: translateX(0);
}
.ayc-reveal-right {
  opacity: 0;
  transform: translateX(30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.ayc-reveal-right.is-visible {
  opacity: 1;
  transform: translateX(0);
}

/* Delay variants */
.ayc-delay-1 { transition-delay: 0.1s !important; }
.ayc-delay-2 { transition-delay: 0.2s !important; }
.ayc-delay-3 { transition-delay: 0.3s !important; }
.ayc-delay-4 { transition-delay: 0.4s !important; }
.ayc-delay-5 { transition-delay: 0.5s !important; }

/* Hover effects on cards */
.elementor-element[data-id=bbslyhfe],
.elementor-element[data-id=s1m0bqcn],
.elementor-element[data-id=3pitxuf4] {
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.elementor-element[data-id=bbslyhfe]:hover,
.elementor-element[data-id=s1m0bqcn]:hover,
.elementor-element[data-id=3pitxuf4]:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.15) !important;
}

/* Testimonial cards hover */
.elementor-element[data-id=581ginu8] .elementor-widget-testimonial {
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.elementor-element[data-id=581ginu8] .elementor-widget-testimonial:hover {
  transform: translateY(-3px) !important;
}

/* Blog posts hover — disabled */
.elementor-post__card {
  transition: none !important;
}
.elementor-post__card:hover {
  transform: none !important;
  box-shadow: none !important;
}

/* Header nav: match footer text style — 18px, normal weight, grey */
body .elementor-5 .elementor-element.elementor-element-hdr_nav .elementor-nav-menu--main a.elementor-item {
  position: relative !important;
  transition: color 0.2s ease !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  font-family: 'Open Sans', sans-serif !important;
  color: #6B7280 !important;
}
body .elementor-5 .elementor-element.elementor-element-hdr_nav .elementor-nav-menu--main a.elementor-item.elementor-item-active {
  color: #9dc41a !important;
  font-weight: 400 !important;
}
body .elementor-5 .elementor-element.elementor-element-hdr_nav .elementor-nav-menu--main a.elementor-item:hover {
  color: #9dc41a !important;
}
.elementor-element[data-id=hdr_nav] .elementor-item::after {
  content: '' !important;
  position: absolute !important;
  bottom: -2px !important;
  left: 0 !important;
  width: 0 !important;
  height: 2px !important;
  background-color: #9dc41a !important;
  transition: width 0.2s ease !important;
}
.elementor-element[data-id=hdr_nav] .elementor-item:hover::after {
  width: 100% !important;
}

/* CTA Button pulse animation */
@keyframes ayc-pulse {
  0% { box-shadow: 0 0 0 0 rgba(157,196,26,0.4); }
  70% { box-shadow: 0 0 0 12px rgba(157,196,26,0); }
  100% { box-shadow: 0 0 0 0 rgba(157,196,26,0); }
}
.elementor-element[data-id=kuhn6vhj] .elementor-button {
  animation: ayc-pulse 2s infinite !important;
}

/* Tab content transition */
.elementor-tab-content {
  transition: opacity 0.3s ease !important;
}

/* ============================================================
   PROCESS BADGE - Step 3 correct ID (yrd3fj94) + description IDs
   ============================================================ */
.elementor-element[data-id=yrd3fj94] {
  position: absolute !important;
  top: -28px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 56px !important;
  height: 56px !important;
  z-index: 10 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.elementor-element[data-id=yrd3fj94] .elementor-widget-container {
  width: 56px !important;
  height: 56px !important;
  background-color: #9dc41a !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 3px solid #FFFFFF !important;
  box-shadow: 0 2px 8px rgba(157,196,26,0.4) !important;
}
.elementor-element[data-id=yrd3fj94] p,
.elementor-element[data-id=yrd3fj94] div {
  color: #FFFFFF !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
}

/* Description text correct IDs */
.elementor-element[data-id=vumj2cdv] p,
.elementor-element[data-id=ptfe26dd] p {
  color: #374151 !important;
  font-size: 15px !important;
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  line-height: 1.6 !important;
}

/* Ensure all cards have overflow visible for straddling badge */
.elementor-element[data-id=ixz9ksb1],
.elementor-element[data-id=myg8of7f] {
  overflow: visible !important;
}
.elementor-element[data-id=ixz9ksb1] > .e-con-inner {
  overflow: visible !important;
}

/* ============================================================
   PROCESO SECTION — gradient background matching PDF
   ============================================================ */
.elementor-element[data-id="ixz9ksb1"],
.e-con.e-parent.elementor-element-ixz9ksb1 {
  background: url('/wp-content/uploads/ayc-photos/recurso-23-proceso.jpg') center center / cover no-repeat !important;
  background-image: url('/wp-content/uploads/ayc-photos/recurso-23-proceso.jpg') !important;
  position: relative !important;
  border-radius: 30px !important;
}

/* Hide original Elementor arrow column elements — replaced by JS white SVG arrows */
.elementor-element[data-id=nw0oe484],
.elementor-element[data-id=rf75jvl7] {
  display: none !important;
}

/* Card top border + generous space for circle badge */
.elementor-element[data-id="bbslyhfe"],
.elementor-element[data-id="s1m0bqcn"],
.elementor-element[data-id="3pitxuf4"] {
  border-top: 3px solid rgba(157,196,26,0.5) !important;
  padding-top: 64px !important;
}

/* Step number circles — standard lime green #9dc41a */
.elementor-element[data-id=njz7rtfr] .elementor-widget-container,
.elementor-element[data-id=epre1cla] .elementor-widget-container,
.elementor-element[data-id=yrd3fj94] .elementor-widget-container {
  background-color: #9dc41a !important;
  background-image: none !important;
  border: 3px solid #FFFFFF !important;
  box-shadow: 0 0 0 3px rgba(157,196,26,0.35) !important;
}

/* ============================================================
   CONFIANZA — first stat gets border-left (matching others)
   ============================================================ */
.elementor-element[data-id="zgzick0h"] {
  border-left: 1.5px solid #C5CDD8 !important;
}

/* Larger typography — numbers and descriptions */
.elementor-element[data-id="zgzick0h"] .elementor-icon-box-title,
.elementor-element[data-id="ya4wbjti"] .elementor-icon-box-title,
.elementor-element[data-id="c8ql1y3s"] .elementor-icon-box-title,
.elementor-element[data-id="0h5qmaso"] .elementor-icon-box-title,
.elementor-element[data-id="ur1nztr5"] .elementor-icon-box-title {
  font-size: 44px !important;
  font-weight: 800 !important;
}
.elementor-element[data-id="zgzick0h"] .elementor-icon-box-title span,
.elementor-element[data-id="ya4wbjti"] .elementor-icon-box-title span,
.elementor-element[data-id="c8ql1y3s"] .elementor-icon-box-title span,
.elementor-element[data-id="0h5qmaso"] .elementor-icon-box-title span,
.elementor-element[data-id="ur1nztr5"] .elementor-icon-box-title span {
  font-size: inherit !important;
}
.elementor-element[data-id="zgzick0h"] .elementor-icon-box-description,
.elementor-element[data-id="ya4wbjti"] .elementor-icon-box-description,
.elementor-element[data-id="c8ql1y3s"] .elementor-icon-box-description,
.elementor-element[data-id="0h5qmaso"] .elementor-icon-box-description,
.elementor-element[data-id="ur1nztr5"] .elementor-icon-box-description {
  font-size: 15px !important;
  line-height: 1.6 !important;
  max-width: 160px !important;
}

/* ============================================================
   NUESTRA PROMESA — card with concave right edge + logo circle
   ============================================================ */
/* Outer section stays white */
.elementor-element[data-id="ef72b413"] {
  background-color: #FFFFFF !important;
  padding: 60px 0 !important;
  overflow: visible !important;
}

/* Inner boxed container */
.elementor-element[data-id="vub4op6i"] > .e-con-inner,
/* ── NUESTRA PROMESA: card with full circle right + concave left edge ───── */

/* Outer row: relative anchor for absolute circle, no own border-radius */
.elementor-element[data-id="9ocgr3gm"] {
  overflow: visible !important;
  position: relative !important;
  border-radius: 0 !important;
  gap: 0 !important;
  align-items: stretch !important;
  background: transparent !important;
}

/* Left content column: IS the visual card shape — 20% bigger circle */
.elementor-element[data-id="uvqgyi4m"] {
  background: #EAECF0 !important;
  border-radius: 40px 0 0 40px !important;
  padding: 40px 270px 40px 56px !important;
  position: relative !important;
  z-index: 1 !important;
  flex: 1 1 auto !important;
  -webkit-mask-image: radial-gradient(circle 259px at calc(100% + 22px) 50%, transparent 258px, black 259px);
  mask-image: radial-gradient(circle 259px at calc(100% + 22px) 50%, transparent 258px, black 259px);
}

.elementor-element[data-id="uvqgyi4m"]::after {
  display: none !important;
}

/* Circle: 485px diameter (+20%) */
.elementor-element[data-id="ll6itevi"] {
  position: relative !important;
  flex: 0 0 485px !important;
  width: 485px !important;
  height: 485px !important;
  min-width: unset !important;
  max-width: unset !important;
  border-radius: 50% !important;
  background: #EAECF0 !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 2 !important;
  align-self: center !important;
  margin-left: -220px !important;
  right: unset !important;
  top: unset !important;
  transform: none !important;
}

/* Logo image widget inside circle */
.elementor-element[data-id="2s3d2i03"] {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  position: static !important;
}
.elementor-element[data-id="2s3d2i03"] img {
  display: block !important;
  width: 55% !important;
  height: auto !important;
  object-fit: contain !important;
  margin: auto !important;
}
.elementor-element[data-id="2s3d2i03"]::after {
  display: none !important;
}

/* Heading and text inside card */
.elementor-element[data-id="lb5iw7ns"] .elementor-heading-title {
  font-size: 36px !important;
  font-weight: 800 !important;
  color: #1e2751 !important;
}

/* ============================================================
   FIX: Read More button "Ir al Blog" duplicated via ::after
   ============================================================ */
a.elementor-post__read-more::after {
  content: none !important;
  display: none !important;
}
a.elementor-post__read-more {
  display: inline-block !important;
  background-color: #9dc41a !important;
  color: #FFFFFF !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  padding: 8px 20px !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  margin-top: 12px !important;
  transition: background 0.2s ease !important;
}
a.elementor-post__read-more:hover {
  background-color: #7a9a14 !important;
  color: #FFFFFF !important;
}

/* ============================================================
   FIX: Hero section - dark overlay matching PDF
   Using box-shadow inset (renders above background-image)
   ============================================================ */
.elementor-element[data-id="vrz9flip"] {
  box-shadow: inset 0 0 0 10000px rgba(0, 15, 45, 0.60) !important;
}
.elementor-element[data-id="vrz9flip"] > .elementor-background-overlay {
  background-color: rgba(0, 15, 45, 0.60) !important;
  opacity: 1 !important;
  display: block !important;
}

/* ============================================================
   FIX: Footer columns - horizontal 4-column layout
   ============================================================ */
.elementor-6 .elementor-element[data-id="ftr_inner"],
.elementor-6 .elementor-element[data-id="ftr_main"] > .e-con-inner {
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: 24px !important;
  padding: 56px 20px 24px 20px !important;
}
.elementor-6 .elementor-element[data-id="ftr_main"] {
  padding: 0 !important;
}
/* Col1: logo + nav — needs room for both */
.elementor-6 .elementor-element[data-id="ftr_col1"] {
  flex: 0 0 32% !important;
  max-width: 32% !important;
  min-width: 0 !important;
  padding-left: 0 !important;
}
/* Col2: services */
.elementor-6 .elementor-element[data-id="ftr_col2"] {
  flex: 0 0 20% !important;
  max-width: 20% !important;
  min-width: 0 !important;
}
/* Col3: address + phone */
.elementor-6 .elementor-element[data-id="ftr_col3"] {
  flex: 0 0 26% !important;
  max-width: 26% !important;
  min-width: 0 !important;
}
/* Col4: social */
.elementor-6 .elementor-element[data-id="ftr_col4"] {
  flex: 1 1 16% !important;
  max-width: 20% !important;
  min-width: 0 !important;
}
/* Address: prevent text wrapping, consistent size */
.elementor-6 .elementor-element[data-id="ftr_addr"],
.elementor-6 .elementor-element[data-id="ftr_addr"] p,
.elementor-6 .elementor-element[data-id="ftr_addr"] span,
.elementor-6 .elementor-element[data-id="ftr_addr"] div,
.elementor-6 .elementor-element[data-id="ftr_addr"] .elementor-icon-list-text {
  font-size: 16px !important;
  white-space: nowrap !important;
}
/* Footer bottom — compact */
.elementor-6 .elementor-element[data-id="ftr_bottom"] {
  padding: 12px 40px !important;
}

/* ============================================================
   FIX: Article post cards - match PDF styling
   ============================================================ */
.elementor-post__card {
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important;
  background: #FFFFFF !important;
}
.elementor-post__thumbnail img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
}
.elementor-post__title a {
  color: #1e2751 !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  text-decoration: none !important;
  line-height: 1.4 !important;
}
.elementor-post__excerpt p {
  color: #6B7280 !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
}
.elementor-post__meta-data {
  color: #9CA3AF !important;
  font-size: 15px !important;
}

/* ============================================================
   FIX: Footer logo - inject AYC GROUP text logo above nav links
   ============================================================ */
/* Logo SVG text removed — using real image now */
.elementor-6 .elementor-element[data-id="ftr_col1"]::before {
  display: none !important;
  content: none !important;
}

/* ============================================================
   FIX: Hero text positioning - ensure text visible above overlay
   ============================================================ */
.elementor-element[data-id="l9417o9n"] {
  position: relative !important;
  z-index: 3 !important;
}

/* ============================================================
   FIX: Tabs - ensure all 3 same height and aligned
   ============================================================ */
.elementor-13 .elementor-element.elementor-element-6eeek77d .elementor-tab-title {
  min-height: 50px !important;
}

/* ============================================================
   FIX: Nuestra Promesa icon list - bolder stats text
   ============================================================ */
.elementor-element[data-id=ytds4dmc] .elementor-icon-list-text {
  font-weight: 500 !important;
}

/* ============================================================
   FIX: Section headings - consistent navy color
   ============================================================ */
.elementor-13 .elementor-heading-title {
  color: #1e2751 !important;
}
/* Override only for dark bg sections */
.elementor-element[data-id="ixz9ksb1"] .elementor-heading-title,
.elementor-element[data-id="sx7r0nl2"] .elementor-heading-title,
.elementor-element[data-id="cta_section"] .elementor-heading-title {
  color: #FFFFFF !important;
}

/* ============================================================
   FIX: Soluciones Integrales subtitle color
   ============================================================ */
.elementor-element[data-id="nchb1fkt"] > .e-con-inner > .elementor-widget-heading .elementor-heading-title {
  color: #1e2751 !important;
}
.elementor-element[data-id="nchb1fkt"] .elementor-widget-text-editor p {
  color: #6B7280 !important;
}

/* ============================================================
   SOLUCIONES INTEGRALES - Complete Redesign
   Section: #nchb1fkt (outer), #1ppisbmk (inner boxed)
   Tabs widget: .elementor-element-6eeek77d
   ============================================================ */

/* 1. Section background: light gray across the ENTIRE section */
.elementor-element[data-id="nchb1fkt"]:not(.elementor-motion-effects-element-type-background),
.elementor-element[data-id="nchb1fkt"] > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: #ECEEF0 !important;
}
.elementor-element[data-id="1ppisbmk"]:not(.elementor-motion-effects-element-type-background),
.elementor-element[data-id="1ppisbmk"] > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: transparent !important;
  background: none !important;
  box-shadow: none !important;
}

/* 2. Tabs wrapper: reset old styles, use new design */
.elementor-13 .elementor-element.elementor-element-6eeek77d .elementor-tabs-wrapper {
  display: flex !important;
  gap: 8px !important;
  border: none !important;
  background: none !important;
  margin-bottom: 0 !important;
  padding-bottom: 20px !important;
  overflow: visible !important;
}

/* 2a. ALL tab titles base style */
.elementor-13 .elementor-element.elementor-element-6eeek77d .elementor-tab-title {
  flex: 1 !important;
  text-align: center !important;
  border-radius: 8px !important;
  padding: 14px 20px !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  letter-spacing: 0.3px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background-color 0.2s ease, color 0.2s ease !important;
  border: none !important;
  position: relative !important;
  min-height: 50px !important;
}

/* 2b. ACTIVE tab: lime green with white bold text */
.elementor-13 .elementor-element.elementor-element-6eeek77d .elementor-tab-title.elementor-active {
  background-color: #9dc41a !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}

/* 2c. INACTIVE tabs: dark navy with white text */
.elementor-13 .elementor-element.elementor-element-6eeek77d .elementor-tab-title:not(.elementor-active) {
  background-color: #1e2751 !important;
  color: #FFFFFF !important;
  font-weight: 600 !important;
}
.elementor-13 .elementor-element.elementor-element-6eeek77d .elementor-tab-title:not(.elementor-active):hover {
  background-color: #161c3d !important;
  color: #FFFFFF !important;
}

/* 2d. Active indicator triangle: lime green */
.elementor-13 .elementor-element.elementor-element-6eeek77d .elementor-tab-title.elementor-active::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  bottom: -14px !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: 14px solid #9dc41a !important;
  z-index: 5 !important;
}

/* 3. Tab content area: transparent background, blends with section */
.elementor-13 .elementor-element.elementor-element-6eeek77d .elementor-tab-content {
  border: none !important;
  background: transparent !important;
  padding-top: 36px !important;
  margin-top: 10px !important;
}

/* 4. Hide left column heading "Soluciones para empresas" (raw HTML h3) */
.elementor-element-6eeek77d .elementor-tab-content h3 {
  display: none !important;
}

/* 5. Fix Contáctanos button: solid lime-green, rectangular, WhatsApp icon */
.elementor-element-6eeek77d .elementor-tab-content a[href^="tel"] {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 12px 24px !important;
  background-color: #9dc41a !important;
  background: #9dc41a !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-size: 15px !important;
  border: none !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease !important;
  margin-top: 16px !important;
}
.elementor-element-6eeek77d .elementor-tab-content a[href^="tel"]:hover {
  background-color: #7a9a14 !important;
  background: #7a9a14 !important;
  color: #FFFFFF !important;
}

/* Hide the phone icon <i> inside the button */
.elementor-element-6eeek77d .elementor-tab-content a[href^="tel"] i {
  display: none !important;
}

/* WhatsApp SVG icon via ::before */
.elementor-element-6eeek77d .elementor-tab-content a[href^="tel"]::before {
  content: '' !important;
  display: inline-block !important;
  width: 30px !important;
  height: 30px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='white' d='M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z'/%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  flex-shrink: 0 !important;
}

/* 6. Hide form title "Consulta con AYC Advisors" (first <p> in right column) */
.elementor-element-6eeek77d .elementor-tab-content div > div:last-child > p:first-child {
  display: none !important;
}

/* 7. ENVIAR button: small outlined, NOT full-width */
.elementor-element-6eeek77d .elementor-tab-content button {
  background-color: #FFFFFF !important;
  background: #FFFFFF !important;
  color: #1e2751 !important;
  border: 1.5px solid #1e2751 !important;
  border-radius: 4px !important;
  padding: 8px 32px !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  letter-spacing: 0.5px !important;
  text-transform: none !important;
  cursor: pointer !important;
  transition: background 0.2s ease, color 0.2s ease !important;
  width: auto !important;
  display: inline-block !important;
  margin-top: 12px !important;
}
.elementor-element-6eeek77d .elementor-tab-content button:hover {
  background-color: #1e2751 !important;
  background: #1e2751 !important;
  color: #FFFFFF !important;
}

/* 8. Checkbox accent color */
.elementor-element-6eeek77d .elementor-tab-content input[type="checkbox"] {
  accent-color: #9dc41a !important;
}

/* ============================================================
   CTA SECTION FIX - override Elementor saved #003366 background
   ============================================================ */
/* CTA section container: correct dark navy */
.elementor-element[data-id="8x0l93wp"] {
  background-color: #1e2751 !important;
}
/* CTA title: lime green on dark navy for high visibility */
.elementor-element[data-id="dcms2iot"] .elementor-heading-title {
  color: #9dc41a !important;
}
/* CTA subtitle: white */
.elementor-element[data-id="lxmk9tcy"] .elementor-widget-text-editor p {
  color: #FFFFFF !important;
}

/* ============================================================
   SOLUCIONES INTEGRALES — Material Design form + section animations
   ============================================================ */

/* Form right column: transparent so it blends with #ECEEF0 section bg */
.elementor-element-6eeek77d .elementor-tab-content div > div:last-child {
  background: transparent !important;
  background-color: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  border-left: none !important;
}

/* Material Design inputs — underline only, no box border */
.elementor-element-6eeek77d .elementor-tab-content input[type="text"],
.elementor-element-6eeek77d .elementor-tab-content input[type="tel"],
.elementor-element-6eeek77d .elementor-tab-content input[type="email"] {
  border: none !important;
  border-bottom: 1.5px solid #C5CDD8 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  padding: 10px 2px !important;
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  font-size: 15px !important;
  color: #1e2751 !important;
  outline: none !important;
  transition: border-color 0.25s ease !important;
  box-shadow: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.elementor-element-6eeek77d .elementor-tab-content input[type="text"]:focus,
.elementor-element-6eeek77d .elementor-tab-content input[type="tel"]:focus,
.elementor-element-6eeek77d .elementor-tab-content input[type="email"]:focus {
  border-bottom-color: #9dc41a !important;
}
.elementor-element-6eeek77d .elementor-tab-content input::placeholder {
  color: #9CA3AF !important;
  font-size: 15px !important;
  font-style: italic !important;
}

/* Form field spacing */
.elementor-element-6eeek77d .elementor-tab-content div[style*="margin-bottom:12px"],
.elementor-element-6eeek77d .elementor-tab-content div[style*="margin-bottom: 12px"] {
  margin-bottom: 20px !important;
}

/* ============================================================
   STATS — Counter animation class (numbers count up on scroll)
   ============================================================ */
/* Counting animation flash highlight */
@keyframes ayc-count-in {
  0%   { opacity: 0.3; transform: translateY(8px); }
  100% { opacity: 1;   transform: translateY(0); }
}
.ayc-counter-animated {
  animation: ayc-count-in 0.5s ease forwards !important;
}

/* Stats section entrance animation */
.elementor-element[data-id="sj6v5zqm"] {
  transition: none;
}

/* ============================================================
   PROCESO — Circle badge color override (inline style #4CAF50 → #9dc41a)
   The inner div has style="background:#4CAF50" — must target div[style]
   ============================================================ */
.elementor-element[data-id="njz7rtfr"] div[style],
.elementor-element[data-id="epre1cla"] div[style],
.elementor-element[data-id="yrd3fj94"] div[style] {
  background: #9dc41a !important;
  background-color: #9dc41a !important;
}

/* Section widths controlled by Elementor's default 1140px inner container — no extra padding needed */

/* ============================================================
   CTA SECTION — corporate blue background per PDF
   ============================================================ */
.elementor-element[data-id="8x0l93wp"] {
  background-color: #0075a9 !important;
}
/* CTA title on corporate blue: white */
.elementor-element[data-id="dcms2iot"] .elementor-heading-title {
  color: #FFFFFF !important;
  font-size: 40px !important;
  font-weight: 800 !important;
}


/* ============================================================
   HEADER - RESPONSIVE (mobile + tablet)
   ============================================================ */

/* ---- TABLET (769px - 1024px): compact but full header ---- */
@media (min-width: 769px) and (max-width: 1024px) {
  .elementor-5 .elementor-element.elementor-element-hdr_sec1 > .e-con-inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .elementor-5 .elementor-element.elementor-element-hdr_nav .elementor-nav-menu--main .elementor-item {
    font-size: 13px !important;
    padding: 0 10px !important;
  }
  .elementor-5 .elementor-element.elementor-element-hdr_phone .elementor-icon-list-text {
    font-size: 13px !important;
  }
  .elementor-5 .elementor-element.elementor-element-hdr_cta .elementor-button {
    font-size: 13px !important;
    padding: 9px 16px !important;
  }
}

/* ---- MOBILE (≤ 768px) ---- */
@media (max-width: 768px) {

  /* Header container: compact row, no wrapping */
  .elementor-5 .elementor-element.elementor-element-hdr_sec1 > .e-con-inner {
    padding-left: 16px !important;
    padding-right: 16px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    min-height: 58px !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 0 !important;
  }

  /* Logo: compact */
  .elementor-5 .elementor-element.elementor-element-hdr_logo {
    min-width: auto !important;
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
  }
  .elementor-5 .elementor-element.elementor-element-hdr_logo a svg {
    width: 32px !important;
    height: 32px !important;
  }
  .elementor-5 .elementor-element.elementor-element-hdr_logo a div span:first-child {
    font-size: 15px !important;
  }
  .elementor-5 .elementor-element.elementor-element-hdr_logo a div span:last-child {
    font-size: 10px !important;
  }

  /* Nav widget: collapse, no space, hamburger comes from JS */
  .elementor-5 .elementor-element.elementor-element-hdr_nav {
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Right side: compact, no phone */
  .elementor-5 .elementor-element.elementor-element-hdr_right {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
    gap: 8px !important;
    width: auto !important;
  }
  .elementor-5 .elementor-element.elementor-element-hdr_phone {
    display: none !important;
  }
  .elementor-5 .elementor-element.elementor-element-hdr_cta .elementor-button {
    font-size: 13px !important;
    padding: 8px 14px !important;
    white-space: nowrap !important;
  }
}

/* ============================================================
   AYC CUSTOM HAMBURGER BUTTON
   ============================================================ */
.ayc-hamburger {
  display: none; /* shown by JS on mobile */
  order: 2;
  flex-shrink: 0;
  margin-left: auto;
  margin-right: 10px;
}

/* ============================================================
   AYC MOBILE DROPDOWN MENU
   ============================================================ */
/* The dropdown is shown/hidden by JS (adding inline display:block).
   CSS ensures it looks correct when visible. */
.elementor-5 .elementor-element.elementor-element-hdr_nav .elementor-nav-menu--dropdown {
  /* Default: hidden */
}
@media (max-width: 768px) {
  /* Force dropdown UL and LI to be vertical (overrides Elementor JS inline flex) */
  .elementor-5 .elementor-element.elementor-element-hdr_nav .elementor-nav-menu--dropdown ul.elementor-nav-menu {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
  }
  .elementor-5 .elementor-element.elementor-element-hdr_nav .elementor-nav-menu--dropdown li {
    display: block !important;
    width: 100% !important;
    flex: none !important;
    border-bottom: 1px solid rgba(0,0,0,0.06) !important;
  }
  .elementor-5 .elementor-element.elementor-element-hdr_nav .elementor-nav-menu--dropdown a.elementor-item {
    display: block !important;
    width: 100% !important;
    padding: 14px 24px !important;
    font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #1e2751 !important;
    text-decoration: none !important;
    white-space: normal !important;
    box-sizing: border-box !important;
  }
  .elementor-5 .elementor-element.elementor-element-hdr_nav .elementor-nav-menu--dropdown a.elementor-item:hover {
    color: #9dc41a !important;
    background: rgba(157,196,26,0.06) !important;
  }
  .elementor-5 .elementor-element.elementor-element-hdr_nav .elementor-nav-menu--dropdown a.elementor-item-active {
    color: #9dc41a !important;
    font-weight: 700 !important;
    border-left: 3px solid #9dc41a !important;
    padding-left: 21px !important;
  }
  /* Dropdown container styles */
  .elementor-5 .elementor-element.elementor-element-hdr_nav .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    border-top: 3px solid #9dc41a !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
    background: #FFFFFF !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }
}

/* ============================================================
   HOME REDESIGN — SECTION FIXES (Phase 2)
   ============================================================ */

/* ── 1. PROCESO SECTION — Heading LEFT-aligned, large, white ── */
.elementor-element[data-id="g968a4nf"] .elementor-heading-title {
  font-size: 48px !important;
  font-weight: 800 !important;
  text-align: left !important;
  color: #FFFFFF !important;
  line-height: 1.15 !important;
  letter-spacing: -0.5px !important;
}
.elementor-element[data-id="oppvfba2"] p,
.elementor-element[data-id="oppvfba2"] .elementor-widget-text-editor p {
  font-size: 17px !important;
  text-align: left !important;
  color: rgba(255,255,255,0.85) !important;
  line-height: 1.65 !important;
}

/* ── 2. PROCESO CARDS — Remove top border, bigger badge protrusion ── */
.elementor-element[data-id="bbslyhfe"],
.elementor-element[data-id="s1m0bqcn"],
.elementor-element[data-id="3pitxuf4"] {
  border-top: none !important;
  padding-top: 72px !important;
  margin-top: 44px !important;
}

/* Number badges: bigger circle, more protrusion above card */
.elementor-element[data-id=njz7rtfr],
.elementor-element[data-id=epre1cla],
.elementor-element[data-id=yrd3fj94] {
  top: -44px !important;
  width: 72px !important;
  height: 72px !important;
}
.elementor-element[data-id=njz7rtfr] .elementor-widget-container,
.elementor-element[data-id=epre1cla] .elementor-widget-container,
.elementor-element[data-id=yrd3fj94] .elementor-widget-container {
  width: 72px !important;
  height: 72px !important;
  border: 4px solid #FFFFFF !important;
  box-shadow: 0 0 0 3px rgba(157,196,26,0.40), 0 4px 14px rgba(0,0,0,0.20) !important;
}
/* Fix yrd3fj94 duplicate (same badge, was set earlier) */
.elementor-element[data-id=yrd3fj94] {
  top: -44px !important;
  width: 72px !important;
  height: 72px !important;
}
.elementor-element[data-id=yrd3fj94] .elementor-widget-container {
  width: 72px !important;
  height: 72px !important;
}

/* Number text inside badge — slightly larger */
.elementor-element[data-id=njz7rtfr] p,
.elementor-element[data-id=epre1cla] p,
.elementor-element[data-id=yrd3fj94] p,
.elementor-element[data-id=njz7rtfr] div,
.elementor-element[data-id=epre1cla] div,
.elementor-element[data-id=yrd3fj94] div {
  font-size: 26px !important;
}

/* Overflow visible chain so badges aren't clipped */
.elementor-element[data-id="myg8of7f"],
.elementor-element[data-id="ixz9ksb1"],
.elementor-element[data-id="myg8of7f"] > .e-con-inner,
.elementor-element[data-id="ixz9ksb1"] > .e-con-inner {
  overflow: visible !important;
}

/* ── 3. TESTIMONIALS — full green border, photo centered at top ── */

/* Section title: bigger + bolder */
.elementor-13 .elementor-element.elementor-element-ri79pxmq .elementor-heading-title {
  font-size: 42px !important;
  font-weight: 800 !important;
  color: #FFFFFF !important;
  text-align: center !important;
}

/* Subtitle / sub-heading — font-size handled by unified rule at bottom */
.elementor-13 .elementor-element.elementor-element-pxr2o2bu p {
  text-align: center !important;
  color: rgba(255,255,255,0.80) !important;
  line-height: 1.65 !important;
}

/* 400 reviews / social proof text */
.elementor-element[data-id="4x0jnkpu"] .elementor-heading-title,
.elementor-element[data-id="4x0jnkpu"] p {
  color: rgba(255,255,255,0.75) !important;
  font-size: 15px !important;
  text-align: center !important;
}

/* CTA button in testimonials — unified */
.elementor-element[data-id="4fnlvbb2"] .elementor-button {
  background-color: #9dc41a !important;
  border-color: #9dc41a !important;
  color: #FFFFFF !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  font-size: 22px !important;
  padding: 8px 24px !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
}
.elementor-element[data-id="4fnlvbb2"] .elementor-button:hover {
  background-color: #7a9a14 !important;
}

/* Card wrapper: full green border, rounded, space for top-photo */
.elementor-13 .elementor-element.elementor-element-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;
}

/* Meta block: column layout centered */
.elementor-13 .elementor-element.elementor-element-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;
}

/* Photo: centered at top straddling card top edge */
.elementor-13 .elementor-element.elementor-element-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;
}
.elementor-13 .elementor-element.elementor-element-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 inner: centered */
.elementor-13 .elementor-element.elementor-element-sx7r0nl2 .elementor-testimonial-meta-inner {
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 2px !important;
}

/* Quote text: centered, italic */
.elementor-13 .elementor-element.elementor-element-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 + job */
.elementor-13 .elementor-element.elementor-element-sx7r0nl2 .elementor-testimonial-name {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #1e2751 !important;
  text-align: center !important;
}
.elementor-13 .elementor-element.elementor-element-sx7r0nl2 .elementor-testimonial-job {
  font-size: 15px !important;
  color: #6B7280 !important;
  text-align: center !important;
}

/* Testimonial grid/carousel container: overflow visible for protruding photos */
.elementor-element[data-id="581ginu8"],
.elementor-element[data-id="581ginu8"] .elementor-widget-testimonial {
  overflow: visible !important;
}
/* Parent row of testimonials widget — must also be visible */
.elementor-element[data-id="sx7r0nl2"] > .e-con-inner,
.elementor-element[data-id="sx7r0nl2"] .elementor-widget-wrap {
  overflow: visible !important;
}

/* ── 4. BLOG / ARTÍCULOS SECTION ── */

/* Section background: light gray */
.elementor-element[data-id="vw9xt2jg"]:not(.elementor-motion-effects-element-type-background) {
  background-color: #F4F5F7 !important;
}
.elementor-element[data-id="vw9xt2jg"] > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: #F4F5F7 !important;
}

/* Section heading: bigger + bolder */
.elementor-element[data-id="42to31zq"] .elementor-heading-title {
  font-size: 42px !important;
  font-weight: 800 !important;
  color: #1e2751 !important;
  text-align: center !important;
  line-height: 1.2 !important;
}

/* Section subtitle */
.elementor-element[data-id="a6b6eym1"] p {
  font-size: 16px !important;
  text-align: center !important;
  color: #6B7280 !important;
  line-height: 1.65 !important;
}

/* Blog post cards: clean centered design */
.elementor-element[data-id="mtraui2s"] .elementor-post__card {
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.07) !important;
  background: #FFFFFF !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Thumbnail full-width */
.elementor-element[data-id="mtraui2s"] .elementor-post__thumbnail {
  width: 100% !important;
}
.elementor-element[data-id="mtraui2s"] .elementor-post__thumbnail img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  display: block !important;
}

/* Body / text area */
.elementor-element[data-id="mtraui2s"] .elementor-post__text {
  padding: 20px 20px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Title: centered, navy */
.elementor-element[data-id="mtraui2s"] .elementor-post__title {
  text-align: center !important;
  width: 100% !important;
  margin: 0 0 12px !important;
}
.elementor-element[data-id="mtraui2s"] .elementor-post__title a {
  color: #1e2751 !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  text-decoration: none !important;
  line-height: 1.4 !important;
  display: block !important;
  text-align: center !important;
}
.elementor-element[data-id="mtraui2s"] .elementor-post__title a:hover {
  color: #9dc41a !important;
}

/* Hide date, meta, excerpt */
.elementor-element[data-id="mtraui2s"] .elementor-post__meta-data {
  display: none !important;
}
.elementor-element[data-id="mtraui2s"] .elementor-post__excerpt {
  display: none !important;
}

/* Pill-shaped "Ir al Blog" button */
.elementor-element[data-id="mtraui2s"] a.elementor-post__read-more {
  display: inline-block !important;
  background-color: #9dc41a !important;
  color: #FFFFFF !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  padding: 10px 30px !important;
  border-radius: 50px !important;
  text-decoration: none !important;
  margin: 4px auto 0 !important;
  transition: background 0.2s ease, transform 0.15s ease !important;
  letter-spacing: 0.3px !important;
  white-space: nowrap !important;
}
.elementor-element[data-id="mtraui2s"] a.elementor-post__read-more:hover {
  background-color: #7a9a14 !important;
  transform: none !important;
}
/* Remove the ::after content ghost from earlier global rule */
.elementor-element[data-id="mtraui2s"] a.elementor-post__read-more::after {
  content: none !important;
  display: none !important;
}

/* ============================================================
   HOME v2 — BUTTON GREEN UNIFICATION + HERO TITLE + FONTS
   ============================================================ */

/* ── FIX: Hero CTA + main CTA button: use brand lime green, not #4CAF50 ── */
.elementor-element[data-id="1kg6tj85"] .elementor-button,
.elementor-element[data-id="1kg6tj85"] .elementor-button-wrapper .elementor-button {
  background-color: #9dc41a !important;
  background:       #9dc41a !important;
  border-color:     #9dc41a !important;
  color: #FFFFFF !important;
  border-radius: 8px !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 29px !important;
  padding: 12px 36px !important;
  letter-spacing: 0.3px !important;
  transition: background-color 0.2s ease, transform 0.15s ease !important;
}
.elementor-element[data-id="1kg6tj85"] .elementor-button:hover {
  background-color: #7a9a14 !important;
  background:       #7a9a14 !important;
  transform: translateY(-2px) !important;
}

/* CTA section "Agenda una consulta" button — unified */
.elementor-element[data-id="kuhn6vhj"] .elementor-button,
.elementor-element[data-id="kuhn6vhj"] .elementor-button-wrapper .elementor-button {
  background-color: #9dc41a !important;
  background:       #9dc41a !important;
  border-color:     #9dc41a !important;
  color: #FFFFFF !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  font-size: 22px !important;
  padding: 8px 24px !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  transition: background-color 0.2s ease, transform 0.15s ease !important;
}
.elementor-element[data-id="kuhn6vhj"] .elementor-button:hover {
  background-color: #7a9a14 !important;
  transform: translateY(-2px) !important;
}

/* Header Contacto button: pill shape to match brand */
.elementor-5 .elementor-element.elementor-element-hdr_cta .elementor-button {
  border-radius: 8px !important;
  background-color: #9dc41a !important;
  background:       #9dc41a !important;
  border-color:     #9dc41a !important;
}

/* ── FIX: Disclaimer — force single line ── */
.elementor-element[data-id="qt1e2jbl"] {
  max-width: 100% !important;
  width: 100% !important;
}
.elementor-element[data-id="qt1e2jbl"] p {
  white-space: nowrap !important;
  overflow: visible !important;
  font-size: 11px !important;
  text-align: center !important;
  color: rgba(255,255,255,0.65) !important;
  line-height: 1.4 !important;
}

/* ── FIX: Hero title — 52px / 95% max-width for 2-line wrap ── */
.elementor-element[data-id="j9ge1grr"] .elementor-heading-title {
  font-size: 46px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  max-width: 90% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: block !important;
  letter-spacing: -0.3px !important;
}

/* ── FONTS BOOST: nav links desktop ── */
@media (min-width: 769px) {
  .elementor-5 .elementor-element.elementor-element-hdr_nav .elementor-item {
    font-size: 15px !important;
    font-weight: 500 !important;
  }
  .elementor-5 .elementor-element.elementor-element-hdr_phone .elementor-icon-list-text {
    font-size: 15px !important;
  }
}

/* ── FONTS BOOST: section subtitles ── */
/* Proceso subtitle */
.elementor-element[data-id="oppvfba2"] p {
  font-size: 18px !important;
  margin-bottom: 0 !important;
}
/* Reduce gap between subtitle and cards row */
.elementor-element[data-id="myg8of7f"] {
  margin-top: 0 !important;
}
/* Testimonials subtitle — font-size handled by unified rule at bottom */
/* Blog subtitle */
.elementor-element[data-id="a6b6eym1"] p {
  font-size: 17px !important;
}
/* Proceso card title */
.elementor-element[data-id=ojot1sgd] .elementor-heading-title,
.elementor-element[data-id=qc6hehwt] .elementor-heading-title,
.elementor-element[data-id=njio8v9u] .elementor-heading-title {
  font-size: 22px !important;
}
/* Proceso card body */
.elementor-element[data-id=5jn6nn5b] p,
.elementor-element[data-id=vumj2cdv] p,
.elementor-element[data-id=ptfe26dd] p {
  font-size: 15px !important;
  line-height: 1.65 !important;
}
/* Blog card title */
.elementor-element[data-id="mtraui2s"] .elementor-post__title a {
  font-size: 17px !important;
}

/* ============================================================
   TYPOGRAPHY SCALE ×2 — HOME + SERVICIOS
   All sizes approximately doubled from previous values.
   ============================================================ */

/* ── HOME: Hero title ── */
.elementor-element[data-id="j9ge1grr"] .elementor-heading-title {
  font-size: 50px !important;
  max-width: 88% !important;
}

/* ── HOME: Proceso / "Soluciones claras" section heading ── */
.elementor-element[data-id="g968a4nf"] .elementor-heading-title {
  font-size: 46px !important;
  margin-bottom: 0 !important;
}
.elementor-element[data-id="g968a4nf"] {
  margin-bottom: 0 !important;
}

/* Proceso subtitle — less gap above, more below for arrows */
.elementor-element[data-id="oppvfba2"] {
  margin-top: -10px !important;
  margin-bottom: 24px !important;
}
.elementor-element[data-id="oppvfba2"] p,
.elementor-element[data-id="oppvfba2"] .elementor-widget-text-editor p {
  font-size: 26px !important;
}

/* Proceso card TITLES */
.elementor-element[data-id=ojot1sgd] .elementor-heading-title,
.elementor-element[data-id=qc6hehwt] .elementor-heading-title,
.elementor-element[data-id=njio8v9u] .elementor-heading-title {
  font-size: 26px !important;
}

/* Proceso card BODY */
.elementor-element[data-id=5jn6nn5b] p,
.elementor-element[data-id=vumj2cdv] p,
.elementor-element[data-id=ptfe26dd] p {
  font-size: 18px !important;
  line-height: 1.65 !important;
}

/* ── HOME: Stats section ── */
.elementor-element[data-id="tx08gxu8"] .elementor-heading-title {
  font-size: 48px !important;
}
.elementor-element[data-id="zgzick0h"] .elementor-icon-box-title,
.elementor-element[data-id="ya4wbjti"] .elementor-icon-box-title,
.elementor-element[data-id="c8ql1y3s"] .elementor-icon-box-title,
.elementor-element[data-id="0h5qmaso"] .elementor-icon-box-title,
.elementor-element[data-id="ur1nztr5"] .elementor-icon-box-title {
  font-size: 44px !important;
}
.elementor-element[data-id="zgzick0h"] .elementor-icon-box-title span,
.elementor-element[data-id="ya4wbjti"] .elementor-icon-box-title span,
.elementor-element[data-id="c8ql1y3s"] .elementor-icon-box-title span,
.elementor-element[data-id="0h5qmaso"] .elementor-icon-box-title span,
.elementor-element[data-id="ur1nztr5"] .elementor-icon-box-title span {
  font-size: inherit !important;
}
.elementor-element[data-id="zgzick0h"] .elementor-icon-box-description,
.elementor-element[data-id="ya4wbjti"] .elementor-icon-box-description,
.elementor-element[data-id="c8ql1y3s"] .elementor-icon-box-description,
.elementor-element[data-id="0h5qmaso"] .elementor-icon-box-description,
.elementor-element[data-id="ur1nztr5"] .elementor-icon-box-description {
  font-size: 18px !important;
  max-width: 200px !important;
}

/* ── HOME: Testimonials section ── */
.elementor-13 .elementor-element.elementor-element-ri79pxmq .elementor-heading-title {
  font-size: 46px !important;
}
.elementor-13 .elementor-element.elementor-element-sx7r0nl2 .elementor-testimonial-content {
  font-size: 17px !important;
  line-height: 1.7 !important;
}
.elementor-13 .elementor-element.elementor-element-sx7r0nl2 .elementor-testimonial-name {
  font-size: 22px !important;
}
.elementor-13 .elementor-element.elementor-element-sx7r0nl2 .elementor-testimonial-job {
  font-size: 15px !important;
}

/* ── HOME: Blog/Artículos section ── */
.elementor-element[data-id="42to31zq"] .elementor-heading-title {
  font-size: 46px !important;
}
.elementor-element[data-id="a6b6eym1"] p {
  font-size: 22px !important;
}
.elementor-element[data-id="mtraui2s"] .elementor-post__title a {
  font-size: 22px !important;
}

/* ── HOME: CTA section ── */
.elementor-element[data-id="dcms2iot"] .elementor-heading-title {
  font-size: 46px !important;
}
.elementor-element[data-id="lxmk9tcy"] .elementor-widget-text-editor p {
  font-size: 22px !important;
}

/* ── HOME: Nuestra Promesa ── */
.elementor-element[data-id="lb5iw7ns"] .elementor-heading-title {
  font-size: 46px !important;
}
.elementor-element[data-id="krzy8fuz"] p {
  font-size: 22px !important;
  line-height: 1.7 !important;
}
.elementor-element[data-id=ytds4dmc] .elementor-icon-list-text {
  font-size: 17px !important;
}
.elementor-element[data-id=ytds4dmc] .elementor-icon-list-text strong {
  font-size: 24px !important;
  color: #9dc41a !important;
  font-weight: 800 !important;
}

/* ── HOME: Soluciones Integrales tabs ── */
.elementor-13 .elementor-element.elementor-element-nchb1fkt .elementor-heading-title {
  font-size: 46px !important;
}
.elementor-13 .elementor-element.elementor-element-6eeek77d .elementor-tab-title {
  font-size: 17px !important;
}
/* Tab content body text */
.elementor-element-6eeek77d .elementor-tab-content p {
  font-size: 17px !important;
  line-height: 1.7 !important;
}
.elementor-element-6eeek77d .elementor-tab-content h2,
.elementor-element-6eeek77d .elementor-tab-content h3,
.elementor-element-6eeek77d .elementor-tab-content h4 {
  font-size: 24px !important;
}

/* ── HOME: Nav links ── */
@media (min-width: 769px) {
  .elementor-5 .elementor-element.elementor-element-hdr_nav .elementor-item {
    font-size: 16px !important;
  }
  .elementor-5 .elementor-element.elementor-element-hdr_phone .elementor-icon-list-text {
    font-size: 16px !important;
  }
  .elementor-5 .elementor-element.elementor-element-hdr_cta .elementor-button {
    font-size: 15px !important;
  }
}

/* ── SERVICIOS: Hero ── */
body.page-id-27 .elementor-element[data-id="svc-hero-h1"] .elementor-heading-title,
body.page-id-27 [data-id="svc-hero-h1"] h1 {
  font-size: 46px !important;
  line-height: 1.1 !important;
}
/* Hero sub: 22px (estándar subtítulos) — especificidad (0,4,1) gana sobre servicios.css (0,3,1) */
body.page-id-27 .elementor-element[data-id="svc-hero-sub"] .elementor-heading-title,
body.page-id-27 .elementor-element[data-id="svc-hero-sub"] h2 {
  font-size: 22px !important;
  line-height: 1.4 !important;
}
body.page-id-27 [data-id="svc-hero-btn"] .elementor-button {
  font-size: 22px !important;
  padding: 16px 44px !important;
}

/* ── SERVICIOS: Intro section ── */
/* Intro title: 40px (estándar títulos principales) */
body.page-id-27 .elementor-element[data-id="svc-intro-title"] p {
  font-size: 46px !important;
  line-height: 1.2 !important;
}
/* Intro sub: 22px (estándar subtítulos) */
body.page-id-27 .elementor-element[data-id="svc-intro-sub"] p {
  font-size: 22px !important;
  line-height: 1.65 !important;
}

/* ── SERVICIOS: Tab buttons ── */
body.page-id-27 [data-id="svc-tab1"] .elementor-button,
body.page-id-27 [data-id="svc-tab2"] .elementor-button,
body.page-id-27 [data-id="svc-tab3"] .elementor-button {
  font-size: 18px !important;
  padding: 14px 28px !important;
}

/* ── SERVICIOS: Cards body text ── */
body.page-id-27 [data-id="svc-card-a"] p,
body.page-id-27 [data-id="svc-card-b"] p,
body.page-id-27 [data-id="svc-card-c"] p {
  font-size: 18px !important;
  line-height: 1.65 !important;
}

/* ── SERVICIOS: CTA section ── */
/* CTA h2: 40px (estándar títulos) — especificidad (0,4,1) */
body.page-id-27 .elementor-element[data-id="svc-cta-h2"] .elementor-heading-title,
body.page-id-27 .elementor-element[data-id="svc-cta-h2"] h2 {
  font-size: 40px !important;
  line-height: 1.2 !important;
}
/* CTA sub: 22px (estándar subtítulos) */
body.page-id-27 .elementor-element[data-id="svc-cta-sub"] .elementor-heading-title,
body.page-id-27 .elementor-element[data-id="svc-cta-sub"] h3 {
  font-size: 22px !important;
}
body.page-id-27 [data-id="svc-cta-btn"] .elementor-button {
  font-size: 22px !important;
  padding: 8px 24px !important;
}

/* ── GLOBAL: Footer text (common to all pages) ── */
.elementor-6 .elementor-element.elementor-element-ftr_col1 .elementor-widget-heading .elementor-heading-title,
.elementor-6 .elementor-element.elementor-element-ftr_col2 .elementor-widget-heading .elementor-heading-title,
.elementor-6 .elementor-element.elementor-element-ftr_col3 .elementor-widget-heading .elementor-heading-title,
.elementor-6 .elementor-element.elementor-element-ftr_col4 .elementor-widget-heading .elementor-heading-title {
  font-size: 22px !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_nav1 .elementor-nav-menu--main .elementor-item {
  font-size: 16px !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_services_list .elementor-icon-list-text {
  font-size: 16px !important;
  white-space: nowrap !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_addr p {
  font-size: 15px !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_copy p {
  font-size: 14px !important;
}

/* ============================================================
   ADJUSTMENTS v3 — 4 targeted fixes
   ============================================================ */

/* ── 1. "Soluciones claras..." → hero subtitle style (smaller/lighter) ── */
.elementor-element[data-id="g968a4nf"] .elementor-heading-title {
  font-size: 22px !important;
  font-weight: 400 !important;
  text-align: left !important;
  color: rgba(255,255,255,0.78) !important;
  line-height: 1.5 !important;
  letter-spacing: 0.2px !important;
  text-transform: none !important;
}

/* ── 3. "Así trabajamos contigo:" — centered + bigger ── */
.elementor-element[data-id="oppvfba2"] p,
.elementor-element[data-id="oppvfba2"] .elementor-widget-text-editor p {
  font-size: 18px !important;
  font-weight: 700 !important;
  text-align: center !important;
  color: #FFFFFF !important;
  line-height: 1.2 !important;
  letter-spacing: -0.3px !important;
}

/* ── 4. Blog cards: white background ── */
.elementor-element[data-id="mtraui2s"] .elementor-post__card {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  align-items: stretch !important;
  padding: 0 !important;
}
.elementor-element[data-id="mtraui2s"] .elementor-post__title a {
  color: #FFFFFF !important;
}
.elementor-element[data-id="mtraui2s"] .elementor-post__title a:hover {
  color: #9dc41a !important;
}
/* Text body inside cards (if visible) */
.elementor-element[data-id="mtraui2s"] .elementor-post__text,
.elementor-element[data-id="mtraui2s"] .elementor-post__excerpt p {
  color: rgba(255,255,255,0.80) !important;
}
/* Make sure thumbnail area has no white gap */
.elementor-element[data-id="mtraui2s"] .elementor-post__thumbnail__link {
  display: block !important;
}

/* ── FIX: Blog cards correct selector (elementor-post, not elementor-post__card) ── */
.elementor-element[data-id="mtraui2s"] .elementor-post {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 24px rgba(30,39,81,0.10) !important;
  padding: 0 !important;
}
.elementor-element[data-id="mtraui2s"] .elementor-post__text {
  background: #1e2751 !important;
  background-color: #1e2751 !important;
  padding: 20px 20px 24px !important;
}
.elementor-element[data-id="mtraui2s"] .elementor-post__title {
  text-align: center !important;
}
.elementor-element[data-id="mtraui2s"] .elementor-post__title a {
  color: #FFFFFF !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  text-decoration: none !important;
  display: block !important;
  text-align: center !important;
}
.elementor-element[data-id="mtraui2s"] .elementor-post__title a:hover {
  color: #9dc41a !important;
}
.elementor-element[data-id="mtraui2s"] .elementor-post__meta-data {
  display: none !important;
}
.elementor-element[data-id="mtraui2s"] .elementor-post__excerpt {
  display: none !important;
}
/* Ir al Blog pill button — white bg dark navy text, stays visible on dark card */
.elementor-element[data-id="mtraui2s"] a.elementor-post__read-more {
  display: inline-block !important;
  background-color: #9dc41a !important;
  color: #FFFFFF !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  padding: 10px 28px !important;
  border-radius: 50px !important;
  text-decoration: none !important;
  margin: 12px auto 0 !important;
  letter-spacing: 0.3px !important;
  transition: background 0.2s ease !important;
}
.elementor-element[data-id="mtraui2s"] a.elementor-post__read-more:hover {
  background-color: #7a9a14 !important;
}

/* ============================================================
   SISTEMA DE TITULOS + CORRECCIONES v4
   Requerimientos:
   – Título estándar de sección: 48px / 700 / Montserrat
   – Hero centrado verticalmente
   – Disclaimer ultrafino
   – Soluciones Integrales párrafos + labels más grandes
   ============================================================ */

/* ── CSS VARIABLES del sistema tipográfico ─────────────────── */
:root {
  --ayc-title-size:   46px;
  --ayc-title-weight: 700;
  --ayc-title-font:   'Futura Bold', 'Montserrat', sans-serif;
  --ayc-body-size:    17px;
  --ayc-sub-size:     20px;
}

/* ══════════════════════════════════════════════════════════════
   1. DISCLAIMER — ultrafino, fine-print
   ══════════════════════════════════════════════════════════════ */
/* Home hero disclaimer */
.elementor-element[data-id="qt1e2jbl"] p {
  font-size: 9.5px !important;
  color: rgba(255,255,255,0.42) !important;
  letter-spacing: 0.15px !important;
  white-space: nowrap !important;
  text-align: center !important;
  line-height: 1.3 !important;
  font-weight: 300 !important;
}
/* Servicios hero disclaimer */
body.page-id-27 [data-id="svc-hero-legal"] p {
  font-size: 9.5px !important;
  color: rgba(255,255,255,0.42) !important;
  letter-spacing: 0.15px !important;
  white-space: nowrap !important;
  text-align: center !important;
  line-height: 1.3 !important;
  font-weight: 300 !important;
}

/* ══════════════════════════════════════════════════════════════
   2. HERO VERTICAL CENTERING — contenido pegado al fondo
   vrz9flip tiene justify-content:flex-end → cambiar a center
   ══════════════════════════════════════════════════════════════ */
.elementor-element.elementor-element-vrz9flip {
  justify-content: center !important;
  align-items: center !important;
}
/* Ensure inner content column also centers */
.elementor-element.elementor-element-vrz9flip > .elementor-widget-wrap,
.elementor-element.elementor-element-vrz9flip.e-flex {
  justify-content: center !important;
  align-items: center !important;
}
/* Content block: centered */
.elementor-element[data-id="l9417o9n"] {
  text-align: center !important;
  width: 100% !important;
}

/* ══════════════════════════════════════════════════════════════
   3. SOLUCIONES INTEGRALES — párrafos, tab content y labels
   ══════════════════════════════════════════════════════════════ */
/* Tab content paragraphs (all 3 tabs) */
.elementor-element-6eeek77d .elementor-tab-content p,
.elementor-element-6eeek77d .elementor-tab-content li {
  font-size: 17px !important;
  line-height: 1.75 !important;
  color: #374151 !important;
}
/* List items */
.elementor-element-6eeek77d .elementor-tab-content ul li,
.elementor-element-6eeek77d .elementor-tab-content ol li {
  font-size: 17px !important;
}
/* Form labels */
.elementor-element-6eeek77d label,
.elementor-element-6eeek77d .elementor-field-label,
.elementor-element-6eeek77d .ff-el-input--label label {
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #374151 !important;
}
/* Intro paragraph of the section (heading/subtitle above tabs) */
.elementor-element[data-id="nchb1fkt"] .elementor-widget-text-editor p {
  font-size: 22px !important;
  line-height: 1.7 !important;
  color: #6B7280 !important;
}

/* ══════════════════════════════════════════════════════════════
   4–6. SISTEMA UNIFICADO DE TÍTULOS DE SECCIÓN
   Tamaño estándar: 48px / 700 / Montserrat
   Idéntico para TODOS los títulos principales de home y servicios.
   ══════════════════════════════════════════════════════════════ */

/* — "Soluciones claras, trato honesto con excelencia y calidad humana"
     Sección Proceso (fondo gradient azul oscuro → color BLANCO) */
.elementor-element[data-id="g968a4nf"] .elementor-heading-title {
  font-size: var(--ayc-title-size) !important;
  font-weight: var(--ayc-title-weight) !important;
  font-family: var(--ayc-title-font) !important;
  color: #FFFFFF !important;
  text-align: left !important;
  line-height: 1.2 !important;
  letter-spacing: -0.3px !important;
}

/* — "Confianza respaldada por resultados" (fondo blanco → NAVY) */
.elementor-element[data-id="tx08gxu8"] .elementor-heading-title {
  font-size: var(--ayc-title-size) !important;
  font-weight: var(--ayc-title-weight) !important;
  font-family: var(--ayc-title-font) !important;
  color: #1e2751 !important;
  text-align: center !important;
}

/* — "Soluciones integrales" (fondo gris claro → NAVY) */
.elementor-element[data-id="nchb1fkt"] .elementor-widget-heading .elementor-heading-title {
  font-size: var(--ayc-title-size) !important;
  font-weight: var(--ayc-title-weight) !important;
  font-family: var(--ayc-title-font) !important;
  color: #1e2751 !important;
}

/* — "Nuestra Promesa" (fondo gris claro → NAVY) */
.elementor-element[data-id="lb5iw7ns"] .elementor-heading-title {
  font-size: var(--ayc-title-size) !important;
  font-weight: var(--ayc-title-weight) !important;
  font-family: var(--ayc-title-font) !important;
  color: #1e2751 !important;
  line-height: 1.2 !important;
}

/* — "Lo que nuestros clientes dicen de nosotros" (fondo navy → BLANCO) */
.elementor-13 .elementor-element.elementor-element-ri79pxmq .elementor-heading-title {
  font-size: var(--ayc-title-size) !important;
  font-weight: var(--ayc-title-weight) !important;
  font-family: var(--ayc-title-font) !important;
  color: #FFFFFF !important;
  text-align: center !important;
}

/* — "Artículos y Recursos" (fondo gris claro → NAVY) */
.elementor-element[data-id="42to31zq"] .elementor-heading-title {
  font-size: var(--ayc-title-size) !important;
  font-weight: var(--ayc-title-weight) !important;
  font-family: var(--ayc-title-font) !important;
  color: #1e2751 !important;
  text-align: center !important;
}

/* — Servicios intro title (fondo blanco → NAVY) */
body.page-id-27 [data-id="svc-intro-title"] p {
  font-size: 46px !important;
  font-weight: var(--ayc-title-weight) !important;
  font-family: var(--ayc-title-font) !important;
  color: #1e2751 !important;
  line-height: 1.2 !important;
}

/* ============================================================
   FIXES v5 — 9 correcciones precisas
   ============================================================ */

/* ── 9. GLOBAL: ancho de secciones — más ancho (~5% cada lado)
   Estructura real: elementor-13 > .e-con-full > .e-con-boxed
   El .e-con-boxed (f2fgd7uk) tiene padding 20px→10px.
   Resultado: e-con-inner pasa de 1385px a 1405px. */
:root {
  --container-max-width: 1200px !important;
}
.e-con > .e-con-inner {
  max-width: min(100%, 1200px) !important;
}
.elementor-13 > .e-con-full > .e-con-boxed {
  padding-left: 10px !important;
  padding-right: 10px !important;
}

/* ── 1. HERO: contenido pegado AL FONDO (revertir centrado) ── */
.elementor-element.elementor-element-vrz9flip {
  justify-content: flex-end !important;
  align-items: normal !important;
}
.elementor-element.elementor-element-vrz9flip.e-flex {
  justify-content: flex-end !important;
}

/* ── 2. FORM: submit button + fondo sin blanco ──────────────── */
/* Botón enviar: quitar fondo blanco, usar fondo de la sección  */
.elementor-element-6eeek77d .elementor-tab-content button,
.elementor-element-6eeek77d .elementor-tab-content button[type=submit],
.elementor-element-6eeek77d .elementor-tab-content input[type=submit] {
  background-color: #ECEEF0 !important;
  background:       #ECEEF0 !important;
  color: #1e2751 !important;
  border: 1.5px solid #1e2751 !important;
}
.elementor-element-6eeek77d .elementor-tab-content button:hover {
  background-color: #1e2751 !important;
  background:       #1e2751 !important;
  color: #FFFFFF !important;
}
/* Checkbox area background */
.elementor-element-6eeek77d .elementor-tab-content input[type="checkbox"] {
  accent-color: #9dc41a !important;
  background-color: transparent !important;
}

/* ── 3. PÁRRAFOS Tab Soluciones Integrales — tamaño 2 líneas ─ */
.elementor-element-6eeek77d .elementor-tab-content p {
  font-size: 18px !important;
  line-height: 1.75 !important;
  max-width: 600px !important;
}
.elementor-element-6eeek77d .elementor-tab-content li {
  font-size: 18px !important;
  line-height: 1.75 !important;
}

/* ── 4. TABS: letras 30% más grandes (17 → 22px) ────────────── */
.elementor-13 .elementor-element.elementor-element-6eeek77d .elementor-tab-title {
  font-size: 22px !important;
  padding: 16px 24px !important;
  min-height: 60px !important;
}

/* ── 5. "Soluciones claras..." UNA SOLA LÍNEA ────────────────── */
.elementor-element[data-id="g968a4nf"] .elementor-heading-title {
  font-size: 30px !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
  overflow: visible !important;
  color: rgba(255,255,255,0.90) !important;
  letter-spacing: 0 !important;
  line-height: 1.4 !important;
  text-align: left !important;
}

/* ── 6. "Así trabajamos contigo:" — sin negrilla ─────────────── */
.elementor-element[data-id="oppvfba2"] p,
.elementor-element[data-id="oppvfba2"] .elementor-widget-text-editor p {
  font-weight: 400 !important;
  font-size: 18px !important;
  text-align: center !important;
  color: #FFFFFF !important;
}

/* ── 7. "Artículos y Recursos" — quita espacio bajo el título ── */
.elementor-element[data-id="42to31zq"] {
  margin-bottom: 0 !important;
}
.elementor-element[data-id="42to31zq"] .elementor-widget-container {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.elementor-element[data-id="a6b6eym1"] {
  margin-top: 4px !important;
}

/* ── 8. BLOG CARDS — rediseño pixel-perfect según mockup ─────── */

/* Section: fondo gris suave, padding cómodo */
.elementor-element[data-id="vw9xt2jg"] {
  --container-max-width: 1200px !important;
}

/* Posts grid: 4 columnas, sin fondo oscuro */
.elementor-element[data-id="mtraui2s"] .elementor-post {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 24px rgba(30,39,81,0.10) !important;
  transition: none !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
  margin: 0 !important;
}
.elementor-element[data-id="mtraui2s"] .elementor-post:hover {
  transform: none !important;
  box-shadow: 0 4px 24px rgba(30,39,81,0.10) !important;
}

/* Thumbnail: fill full card header edge-to-edge */
.elementor-element[data-id="mtraui2s"] .elementor-post__thumbnail__link {
  display: block !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  width: 100% !important;
  height: 200px !important;
  padding-bottom: 0 !important;
  align-self: stretch !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
  font-size: 0 !important;
}
.elementor-element[data-id="mtraui2s"] .elementor-post__thumbnail {
  overflow: hidden !important;
  border-radius: 0 !important;
  align-self: stretch !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  line-height: 0 !important;
  font-size: 0 !important;
}

/* Imagen: full-width banner, no animation */
.elementor-element[data-id="mtraui2s"] .elementor-post__thumbnail img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  border-radius: 0 !important;
  transition: none !important;
  transform: none !important;
  filter: none !important;
  animation: none !important;
}
.elementor-element[data-id="mtraui2s"] .elementor-post:hover .elementor-post__thumbnail img {
  transform: none !important;
  transition: none !important;
}

/* Text area: fondo blanco, centrado */
.elementor-element[data-id="mtraui2s"] .elementor-post__text {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  padding: 20px 20px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  flex: 1 !important;
}

/* Título: navy centrado */
.elementor-element[data-id="mtraui2s"] .elementor-post__title {
  text-align: center !important;
  margin-bottom: 14px !important;
}
.elementor-element[data-id="mtraui2s"] .elementor-post__title a {
  color: #1e2751 !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  text-decoration: none !important;
  line-height: 1.4 !important;
  text-align: center !important;
  display: block !important;
  transition: color 0.2s ease !important;
}
.elementor-element[data-id="mtraui2s"] .elementor-post__title a:hover {
  color: #9dc41a !important;
}

/* Ocultar meta y excerpt */
.elementor-element[data-id="mtraui2s"] .elementor-post__meta-data,
.elementor-element[data-id="mtraui2s"] .elementor-post__excerpt { display: none !important; }

/* Botón "Ir al Blog": verde lima, rectangular, bold */
.elementor-element[data-id="mtraui2s"] a.elementor-post__read-more {
  display: inline-block !important;
  background-color: #9dc41a !important;
  color: #FFFFFF !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  padding: 10px 32px !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  letter-spacing: 0.3px !important;
  transition: background 0.2s ease, transform 0.15s ease !important;
  margin-top: auto !important;
  white-space: nowrap !important;
}
.elementor-element[data-id="mtraui2s"] a.elementor-post__read-more:hover {
  background-color: #7a9a14 !important;
  transform: none !important;
}
.elementor-element[data-id="mtraui2s"] a.elementor-post__read-more::after {
  content: none !important;
}

/* ============================================================
   FIXES v6 — Correcciones por comparación con PDF de diseño
   ============================================================ */

/* ── 1. HERO TITLE: 50px / 2 líneas con corte natural tras coma */
/* max-width calculado para que "un" inicie línea 2 (break = 1078px, con "un" = 1163px) */
.elementor-element[data-id="j9ge1grr"] .elementor-heading-title {
  font-size: 50px !important;
  max-width: 83% !important;
  line-height: 1.2 !important;
}

/* ── 2. STATS: números en navy (no verde) ─────────────────────── */
/* PDF muestra los números estadísticos en azul navy, no verde   */
.elementor-element[data-id="zgzick0h"] .elementor-icon-box-title,
.elementor-element[data-id="ya4wbjti"] .elementor-icon-box-title,
.elementor-element[data-id="c8ql1y3s"] .elementor-icon-box-title,
.elementor-element[data-id="0h5qmaso"] .elementor-icon-box-title,
.elementor-element[data-id="ur1nztr5"] .elementor-icon-box-title {
  color: #1e2751 !important;
  font-size: 44px !important;
  font-weight: 800 !important;
}
.elementor-element[data-id="zgzick0h"] .elementor-icon-box-title span,
.elementor-element[data-id="ya4wbjti"] .elementor-icon-box-title span,
.elementor-element[data-id="c8ql1y3s"] .elementor-icon-box-title span,
.elementor-element[data-id="0h5qmaso"] .elementor-icon-box-title span,
.elementor-element[data-id="ur1nztr5"] .elementor-icon-box-title span {
  color: #1e2751 !important;
  font-size: inherit !important;
}

/* ── 3. "Soluciones claras..." — color blanco sólido ─────────── */
.elementor-element[data-id="g968a4nf"] .elementor-heading-title {
  color: #ffffff !important;
  font-size: 28px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  text-align: center !important;
  letter-spacing: 0.2px !important;
}

/* ── 4. CTA title: consistencia con sistema de títulos ──────── */
.elementor-element[data-id="dcms2iot"] .elementor-heading-title {
  font-size: 46px !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  line-height: 1.15 !important;
}

/* ── 5. Hero button text: asegurar tamaño legible ────────────── */
.elementor-element[data-id="1kg6tj85"] .elementor-button {
  font-size: 29px !important;
  font-weight: 700 !important;
  padding: 12px 36px !important;
  border-radius: 6px !important;
  letter-spacing: 0.3px !important;
}

/* ── 6. Nuestra Promesa title: navy bold ─────────────────────── */
.elementor-element[data-id="lb5iw7ns"] .elementor-heading-title {
  color: #1e2751 !important;
  font-size: 42px !important;
  font-weight: 700 !important;
}

/* ── 7. Así trabajamos: tamaño coherente con PDF ─────────────── */
.elementor-element[data-id="oppvfba2"] p,
.elementor-element[data-id="oppvfba2"] .elementor-widget-text-editor p {
  font-size: 36px !important;
  font-weight: 400 !important;
  color: rgba(255,255,255,0.92) !important;
  text-align: center !important;
}

/* ── 8. Testimonials title: centrado y proporcional ─────────── */
.elementor-element[data-id="ri79pxmq"] .elementor-heading-title {
  font-size: 42px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  text-align: center !important;
}

/* ── 9. Proceso card titles: legibles en dark bg ─────────────── */
.elementor-element[data-id="ojot1sgd"] .elementor-heading-title,
.elementor-element[data-id="qc6hehwt"] .elementor-heading-title,
.elementor-element[data-id="njio8v9u"] .elementor-heading-title {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
}
.elementor-element[data-id="5jn6nn5b"] p,
.elementor-element[data-id="vumj2cdv"] p,
.elementor-element[data-id="ptfe26dd"] p {
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: rgba(255,255,255,0.85) !important;
}

/* ============================================================
   FIXES v7 — 6 correcciones específicas del usuario
   ============================================================ */

/* ── FIX 1: HOME CTA → mismo estilo que CTA de Servicios ────── */
/* Usar selector igual al de Elementor para ganar especificidad  */
.elementor-13 .elementor-element.elementor-element-8x0l93wp:not(.elementor-motion-effects-element-type-background),
.e-con.e-parent.elementor-element-8x0l93wp {
  background: url('/wp-content/uploads/ayc-photos/recurso-25-cta.jpg') center center / cover no-repeat !important;
  background-image: url('/wp-content/uploads/ayc-photos/recurso-25-cta.jpg') !important;
  padding: 64px 0 !important;
}
.elementor-element[data-id="8x0l93wp"] {
  background: url('/wp-content/uploads/ayc-photos/recurso-25-cta.jpg') center center / cover no-repeat !important;
  background-image: url('/wp-content/uploads/ayc-photos/recurso-25-cta.jpg') !important;
  padding: 64px 0 !important;
}
.elementor-element[data-id="dcms2iot"] .elementor-heading-title {
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-size: 46px !important;
  font-weight: 800 !important;
  color: #FFFFFF !important;
  line-height: 1.1 !important;
  text-align: center !important;
}
.elementor-element[data-id="33wqgkfg"] p,
.elementor-element[data-id="33wqgkfg"] .elementor-widget-text-editor p {
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  color: rgba(255,255,255,0.95) !important;
  text-align: center !important;
  line-height: 1.5 !important;
}
.elementor-element[data-id="kuhn6vhj"] .elementor-button {
  background: #9dc41a !important;
  color: #FFFFFF !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  padding: 8px 24px !important;
  border-radius: 8px !important;
  letter-spacing: 0.2px !important;
  border: none !important;
  transition: background 0.2s ease, transform 0.2s ease !important;
}
.elementor-element[data-id="kuhn6vhj"] .elementor-button:hover {
  background: #8ab518 !important;
  transform: translateY(-2px) !important;
}

/* ── FIX 2: DISCLAIMER — 3× más grande (9.5px → ~13px legible) */
/* Hero disclaimer */
.elementor-element[data-id="qt1e2jbl"] p,
.elementor-element[data-id="qt1e2jbl"] {
  font-size: 11px !important;
  line-height: 1.6 !important;
  color: rgba(255,255,255,0.80) !important;
  white-space: normal !important;
}
/* Footer disclaimer */
.elementor-element[data-id="ftr_disclaimer"] p,
.elementor-element[data-id="ftr_disclaimer"] {
  font-size: 13px !important;
  line-height: 1.6 !important;
}

/* ── FIX 3: Botón "Contáctanos" → mismo tamaño que tabs (22px) */
/* El botón es un <a> sin clases, dentro del tab content         */
.elementor-element-6eeek77d .elementor-tab-content a[href^="tel"],
.elementor-element-6eeek77d .elementor-tab-content a:not([class]) {
  font-size: 22px !important;
  padding: 14px 36px !important;
  font-weight: 700 !important;
  border-radius: 6px !important;
}

/* ── FIX 4: Placeholders del formulario → mismo tamaño que label */
.elementor-element-6eeek77d input::placeholder,
.elementor-element-6eeek77d input[type="text"]::placeholder,
.elementor-element-6eeek77d input[type="email"]::placeholder,
.elementor-element-6eeek77d input[type="tel"]::placeholder,
.elementor-element-6eeek77d textarea::placeholder {
  font-size: 16px !important;
}
.elementor-element-6eeek77d input[type="text"],
.elementor-element-6eeek77d input[type="email"],
.elementor-element-6eeek77d input[type="tel"],
.elementor-element-6eeek77d textarea {
  font-size: 16px !important;
}

/* ── FIX 5: Estadísticas → VERDE LIMA (revertir cambio incorrecto) */
.elementor-element[data-id="zgzick0h"] .elementor-icon-box-title,
.elementor-element[data-id="ya4wbjti"] .elementor-icon-box-title,
.elementor-element[data-id="c8ql1y3s"] .elementor-icon-box-title,
.elementor-element[data-id="0h5qmaso"] .elementor-icon-box-title,
.elementor-element[data-id="ur1nztr5"] .elementor-icon-box-title {
  color: #9dc41a !important;
  font-size: 32px !important;
  font-weight: 800 !important;
}
.elementor-element[data-id="zgzick0h"] .elementor-icon-box-title span,
.elementor-element[data-id="ya4wbjti"] .elementor-icon-box-title span,
.elementor-element[data-id="c8ql1y3s"] .elementor-icon-box-title span,
.elementor-element[data-id="0h5qmaso"] .elementor-icon-box-title span,
.elementor-element[data-id="ur1nztr5"] .elementor-icon-box-title span {
  color: #9dc41a !important;
  font-size: inherit !important;
}

/* ── FIX: image-box equivalents for stats (icon-box → image-box migration) ── */
.elementor-element[data-id="zgzick0h"] .elementor-image-box-title,
.elementor-element[data-id="ya4wbjti"] .elementor-image-box-title,
.elementor-element[data-id="c8ql1y3s"] .elementor-image-box-title,
.elementor-element[data-id="0h5qmaso"] .elementor-image-box-title,
.elementor-element[data-id="ur1nztr5"] .elementor-image-box-title {
  color: #9dc41a !important;
  font-size: 44px !important;
  font-weight: 800 !important;
  font-family: 'Futura Bold', Montserrat, sans-serif !important;
  line-height: 1 !important;
  margin: 4px 0 8px !important;
}
.elementor-element[data-id="zgzick0h"] .elementor-image-box-description,
.elementor-element[data-id="ya4wbjti"] .elementor-image-box-description,
.elementor-element[data-id="c8ql1y3s"] .elementor-image-box-description,
.elementor-element[data-id="0h5qmaso"] .elementor-image-box-description,
.elementor-element[data-id="ur1nztr5"] .elementor-image-box-description {
  font-size: 18px !important;
  color: #6B7280 !important;
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  line-height: 1.6 !important;
  max-width: 160px !important;
  margin: 0 auto !important;
}
.elementor-element[data-id="zgzick0h"] .elementor-image-box-wrapper,
.elementor-element[data-id="ya4wbjti"] .elementor-image-box-wrapper,
.elementor-element[data-id="c8ql1y3s"] .elementor-image-box-wrapper,
.elementor-element[data-id="0h5qmaso"] .elementor-image-box-wrapper,
.elementor-element[data-id="ur1nztr5"] .elementor-image-box-wrapper {
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}
.elementor-element[data-id="zgzick0h"] .elementor-image-box-img img,
.elementor-element[data-id="ya4wbjti"] .elementor-image-box-img img,
.elementor-element[data-id="c8ql1y3s"] .elementor-image-box-img img,
.elementor-element[data-id="0h5qmaso"] .elementor-image-box-img img,
.elementor-element[data-id="ur1nztr5"] .elementor-image-box-img img {
  width: 62px !important;
  height: 62px !important;
  object-fit: contain !important;
  margin-bottom: 0 !important;
}
.elementor-element[data-id="zgzick0h"] {
  border-left: 1.5px solid #C5CDD8 !important;
}

/* ── FIX 6: "Ver más testimoniales" → mismo estilo CTA estándar */
/* style.css tiene especificidad (0,4,0) con !important → usar (0,5,0) */
.elementor-13 .elementor-element-sx7r0nl2 .elementor-widget-button .elementor-element-4fnlvbb2 .elementor-button,
.elementor-element[data-id="sx7r0nl2"] .elementor-element[data-id="4fnlvbb2"] .elementor-button {
  background: #9dc41a !important;
  background-color: #9dc41a !important;
  color: #FFFFFF !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  padding: 8px 24px !important;
  border-radius: 8px !important;
  border: none !important;
  letter-spacing: 0.2px !important;
  text-decoration: none !important;
  transition: background 0.2s ease, transform 0.15s ease !important;
}
.elementor-13 .elementor-element-sx7r0nl2 .elementor-widget-button .elementor-element-4fnlvbb2 .elementor-button:hover,
.elementor-element[data-id="sx7r0nl2"] .elementor-element[data-id="4fnlvbb2"] .elementor-button:hover {
  background: #8ab518 !important;
  background-color: #8ab518 !important;
  color: #FFFFFF !important;
  border: none !important;
  transform: translateY(-2px) !important;
}

/* ============================================================
   FIX: BOTONES "Ir al Blog" — color estándar #9dc41a
   style.css usa #4CAF50 con !important en (0,2,0) y (0,1,1).
   Aquí usamos (0,2,1) y (0,3,0) para ganar en !important cascade.
   ============================================================ */
.elementor-widget-posts a.elementor-post__read-more,
.elementor-widget-posts .elementor-post__card a.elementor-post__read-more {
  background-color: #9dc41a !important;
  background: #9dc41a !important;
  color: #FFFFFF !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  padding: 10px 24px !important;
  border-radius: 6px !important;
  border: none !important;
  text-decoration: none !important;
  display: inline-block !important;
  letter-spacing: 0.2px !important;
  transition: background 0.2s ease !important;
}
.elementor-widget-posts a.elementor-post__read-more::after,
.elementor-widget-posts .elementor-post__card a.elementor-post__read-more::after {
  content: "Ir al Blog" !important;
  font-size: 15px !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
}
.elementor-widget-posts a.elementor-post__read-more:hover,
.elementor-widget-posts .elementor-post__card a.elementor-post__read-more:hover {
  background-color: #8ab518 !important;
  background: #8ab518 !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
}

/* ============================================================
   v8 — TIPOGRAFÍA HOME: CORRECCIONES FINALES CONTRA PDF
   ============================================================ */

/* 1. Filosofía / título de sección oscura — UNA SOLA LÍNEA
   "Soluciones claras, trato honesto con excelencia y calidad humana"
   32px en Montserrat 800 cabe en ~1300px (1 línea natural) */
.elementor-element[data-id="g968a4nf"] .elementor-heading-title {
  font-size: 32px !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  text-align: center !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* 2. Subtítulo de la sección: "Así trabajamos contigo:"
   Más pequeño que el título, introduce los 3 pasos */
.elementor-element[data-id="oppvfba2"] p,
.elementor-element[data-id="oppvfba2"] .elementor-widget-text-editor p {
  font-size: 22px !important;
  font-weight: 400 !important;
  color: rgba(255,255,255,0.80) !important;
  text-align: center !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
}

/* 6. "Ir al Blog" — botón lima. post-13.css usa spec (0,4,0) con !important,
   por eso usamos (0,4,1) aquí para ganar en cascada */
.elementor-13 .elementor-element.elementor-element-mtraui2s a.elementor-post__read-more {
  background: #9dc41a !important;
  background-color: #9dc41a !important;
  color: #ffffff !important;
  border-radius: 6px !important;
  padding: 10px 24px !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  display: inline-block !important;
  text-decoration: none !important;
  transition: background 0.2s ease !important;
}
.elementor-13 .elementor-element.elementor-element-mtraui2s a.elementor-post__read-more:hover {
  background: #8ab518 !important;
  background-color: #8ab518 !important;
}

/* 7. Disclaimers — mismo tamaño (14px) en hero y footer */
.elementor-element[data-id="qt1e2jbl"] p,
.elementor-element[data-id="qt1e2jbl"] {
  font-size: 11px !important;
  line-height: 1.5 !important;
  color: rgba(255,255,255,0.70) !important;
  white-space: normal !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_disclaimer p,
.elementor-element[data-id="ftr_disclaimer"] p {
  font-size: 12px !important;
  line-height: 1.5 !important;
  color: rgba(255,255,255,0.55) !important;
  text-align: center !important;
}

/* 3. "Confianza respaldada por resultados" — heading de sección blanca
   PDF: ~32px, bold, navy, centrado (no tan grande como los títulos de hero) */
.elementor-element[data-id="tx08gxu8"] .elementor-heading-title {
  font-size: 32px !important;
  font-weight: 700 !important;
  color: #1e2751 !important;
  text-align: center !important;
}

/* 4. "Soluciones integrales" — heading de la sección de tabs
   PDF: ~40px, extra-bold, navy, centrado */
.elementor-element[data-id="dny0xfaj"] .elementor-heading-title {
  font-size: 40px !important;
  font-weight: 800 !important;
  color: #1e2751 !important;
  text-align: center !important;
  line-height: 1.2 !important;
}

/* Subtítulo de Soluciones integrales: widen to fit in 2 lines */
.elementor-element[data-id="6r9y102e"] .elementor-widget-container {
  max-width: 1040px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.elementor-element[data-id="6r9y102e"] p {
  max-width: 1040px !important;
}

/* Sección de imagen "Soluciones" (entre Soluciones integrales y Confianza):
   mismo gris de Soluciones integrales + borde inferior verde en la imagen */
.elementor-13 .elementor-element[data-id="u6aiyg1x"] {
  background-color: #ECEEF0 !important;
}
.elementor-13 .elementor-element[data-id="f0t7nl27"] img {
  border-bottom: 6px solid #9dc41a !important;
  display: block !important;
}

/* Stat "99% de aprobación...": ampliar ancho y quitar padding para
   que la descripción se muestre en 2 líneas de forma confiable */
.elementor-element[data-id="ur1nztr5"] {
  flex: 0 0 360px !important;
  min-width: 360px !important;
  max-width: 360px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  border-right: 1px solid rgb(197, 205, 216) !important;
}
.elementor-element[data-id="ur1nztr5"] .elementor-image-box-content,
.elementor-element[data-id="ur1nztr5"] .elementor-image-box-wrapper {
  max-width: 360px !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element[data-id="ur1nztr5"] .elementor-image-box-description {
  max-width: 360px !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  white-space: normal !important;
}

/* 5. "Artículos y Recursos" — heading de la sección de blog
   PDF: ~36px, extra-bold, navy, centrado */
.elementor-element[data-id="42to31zq"] .elementor-heading-title {
  font-size: 36px !important;
  font-weight: 800 !important;
  color: #1e2751 !important;
  text-align: center !important;
}

/* ============================================================
   PROCESO v9 — Pixel-perfect match al diseño objetivo
   Cambios: título 1 línea, círculos más grandes, gap cards,
            subtítulo prominente, cards más altas
   ============================================================ */

/* ── TÍTULO: una sola línea, grande, centrado ── */
.elementor-element[data-id="g968a4nf"] .elementor-heading-title {
  font-size: clamp(20px, 2.3vw, 34px) !important;
  font-weight: 800 !important;
  color: #FFFFFF !important;
  text-align: center !important;
  line-height: 1.15 !important;
  letter-spacing: -0.2px !important;
  white-space: nowrap !important;
  overflow: visible !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ── SUBTÍTULO "Así trabajamos contigo:" — más prominente ── */
.elementor-element[data-id="oppvfba2"] p,
.elementor-element[data-id="oppvfba2"] .elementor-widget-text-editor p {
  font-size: 26px !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,0.92) !important;
  text-align: center !important;
  line-height: 1.3 !important;
  letter-spacing: 0.1px !important;
}

/* ── CARDS: 50/50 círculo (48px dentro + 28px gap = 76px padding-top) ── */
.elementor-element[data-id="bbslyhfe"],
.elementor-element[data-id="s1m0bqcn"],
.elementor-element[data-id="3pitxuf4"] {
  border-top: none !important;
  padding-top: 76px !important;
  padding-bottom: 44px !important;
  padding-left: 28px !important;
  padding-right: 28px !important;
  margin-top: 52px !important;
  min-height: 240px !important;
  background: #FFFFFF !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.18) !important;
}

/* ── CÍRCULOS: 96px, exactamente 50% arriba / 50% adentro del card ── */
.elementor-element[data-id=njz7rtfr],
.elementor-element[data-id=epre1cla],
.elementor-element[data-id=yrd3fj94] {
  top: -48px !important;
  width: 96px !important;
  height: 96px !important;
}

.elementor-element[data-id=njz7rtfr] .elementor-widget-container,
.elementor-element[data-id=epre1cla] .elementor-widget-container,
.elementor-element[data-id=yrd3fj94] .elementor-widget-container {
  width: 96px !important;
  height: 96px !important;
  background-color: #9dc41a !important;
  background-image: none !important;
  border: 4px solid #FFFFFF !important;
  box-shadow: 0 0 0 4px rgba(157,196,26,0.45), 0 6px 20px rgba(0,0,0,0.25) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* ── NÚMERO dentro del círculo: grande y bold ── */
.elementor-element[data-id=njz7rtfr] p,
.elementor-element[data-id=epre1cla] p,
.elementor-element[data-id=yrd3fj94] p,
.elementor-element[data-id=njz7rtfr] div,
.elementor-element[data-id=epre1cla] div,
.elementor-element[data-id=yrd3fj94] div {
  font-size: 38px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

/* ── TÍTULOS de cards: navy, bold ── */
.elementor-element[data-id="ojot1sgd"] .elementor-heading-title,
.elementor-element[data-id="qc6hehwt"] .elementor-heading-title,
.elementor-element[data-id="njio8v9u"] .elementor-heading-title {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #1e2751 !important;
  line-height: 1.3 !important;
  text-align: center !important;
  margin-bottom: 12px !important;
}

/* ── CUERPO de cards: igual a "Nuestra Promesa" (20px) ── */
.elementor-element[data-id="5jn6nn5b"] p,
.elementor-element[data-id="vumj2cdv"] p,
.elementor-element[data-id="ptfe26dd"] p {
  font-size: 22px !important;
  line-height: 1.7 !important;
  color: #4a5568 !important;
  text-align: center !important;
}

/* ── OCULTAR flechas SVG JS y flechas Elementor ── */
.ayc-process-arrow-svg { display: none !important; }

/* ── OVERFLOW visible: círculos no se recortan ── */
.elementor-element[data-id="myg8of7f"],
.elementor-element[data-id="ixz9ksb1"],
.elementor-element[data-id="myg8of7f"] > .e-con-inner,
.elementor-element[data-id="ixz9ksb1"] > .e-con-inner {
  overflow: visible !important;
}

/* ============================================================
   PROCESO v10 — Círculos 30% más grandes, exactamente 50/50

   Problema detectado: la regla en línea 10 (especificidad 0,3,0)
   ganaba sobre padding-top de v9 (0,2,0).

   Solución: usar "body" prefix → especificidad (0,3,1) > (0,3,0)

   Cálculo:
     · Nuevo tamaño: 96px × 1.3 = 125px
     · 50/50 → top: -(125/2) = -62.5 ≈ -63px
     · padding-top card: 63px (círculo) + 24px (gap) = 87px → 88px
   ============================================================ */

/* ============================================================
   PROCESO CARDS v11 — Fix definitivo del agente
   CAUSA RAÍZ: margin-top:65px creaba banda azul muerta donde
   flotaban los círculos sobre fondo azul, no sobre card blanco.
   SOLUCIÓN: espacio vertical → padding-top del ROW padre (myg8of7f)
   Cards con margin-top:0 arrancan inmediatamente, círculo con
   top:-62px queda 62px sobre borde blanco → 50% visible real.
   ============================================================ */

/* Row padre: espacio para que los círculos no sean recortados */
body .elementor-element[data-id="myg8of7f"] {
  padding-top: 35px !important;
}

/* Cards: sin margin-top, padding-top=90px para recibir el círculo */
body .elementor-13 .elementor-element.elementor-element-bbslyhfe,
body .elementor-13 .elementor-element.elementor-element-s1m0bqcn,
body .elementor-13 .elementor-element.elementor-element-3pitxuf4 {
  padding: 90px 28px 44px !important;
  margin-top: 0 !important;
  border-radius: 16px !important;
  background-color: #FFFFFF !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.18) !important;
  border: none !important;
}

/* Círculos: el contenido es un <div> inline-styled (52px #4CAF50).
   Reposicionamos el elemento wrapper y sobreescribimos el div interno con !important */

/* Wrapper: top=-55px → 55px fuera / 55px dentro del card (50/50) */
body .elementor-element[data-id=njz7rtfr],
body .elementor-element[data-id=epre1cla],
body .elementor-element[data-id=yrd3fj94] {
  top: -55px !important;
  width: 110px !important;
  height: 110px !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
}

/* Inner div: sobreescribir inline styles con !important */
body .elementor-element[data-id=njz7rtfr] > div,
body .elementor-element[data-id=epre1cla] > div,
body .elementor-element[data-id=yrd3fj94] > div {
  width: 110px !important;
  height: 110px !important;
  min-width: 110px !important;
  min-height: 110px !important;
  background: #9dc41a !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  font-size: 46px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  color: #FFFFFF !important;
  border: 4px solid #1a3a6b !important;
  box-shadow: none !important;
  flex-shrink: 0 !important;
}

/* Overflow visible en cadena completa */
body .elementor-element[data-id="myg8of7f"],
body .elementor-element[data-id="ixz9ksb1"],
body .elementor-element[data-id="myg8of7f"] > .e-con-inner,
body .elementor-element[data-id="ixz9ksb1"] > .e-con-inner {
  overflow: visible !important;
}

/* Títulos y textos de cards */
body .elementor-13 .elementor-element.elementor-element-ojot1sgd .elementor-heading-title,
body .elementor-13 .elementor-element.elementor-element-qc6hehwt .elementor-heading-title,
body .elementor-13 .elementor-element.elementor-element-njio8v9u .elementor-heading-title {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #1e2751 !important;
  line-height: 1.3 !important;
}

body .elementor-13 .elementor-element.elementor-element-5jn6nn5b p,
body .elementor-13 .elementor-element.elementor-element-vumj2cdv p,
body .elementor-13 .elementor-element.elementor-element-ptfe26dd p {
  font-size: 22px !important;
  line-height: 1.65 !important;
  color: #4a5568 !important;
  text-align: center !important;
}

/* ============================================================
   TESTIMONIALS CAROUSEL — v2 (arrows, no dots, image inside card)
   ============================================================ */

/* Container: block layout */
.elementor-element-581ginu8 {
  display: block !important;
  flex-direction: unset !important;
  padding: 0 !important;
  overflow: visible !important;
}

/* Wrap: positions the arrows relative to it */
.ayc-carousel-wrap {
  position: relative;
  width: 100%;
}

/* Viewport clips horizontal overflow.
   padding-top gives room for the avatar image that straddles the card top.
   position:relative so arrows can be placed against it. */
.ayc-carousel-viewport {
  overflow: hidden;
  width: 100%;
  position: relative;
  padding-top: 52px;   /* space for top: -46px avatar */
  margin-top: -52px;   /* pull section up to compensate */
}

/* Track: horizontal flex row, stretch so all cards same height */
.ayc-carousel-track {
  display: flex;
  gap: 24px;
  will-change: transform;
  align-items: stretch;
}

/* Each testimonial card — equal height */
.ayc-carousel-track .elementor-widget-testimonial {
  flex-shrink: 0;
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
  display: flex !important;
  flex-direction: column !important;
}
.ayc-carousel-track .elementor-widget-testimonial .elementor-widget-container {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}
.ayc-carousel-track .elementor-widget-testimonial .elementor-testimonial-wrapper {
  flex: 1 !important;
}

/* Arrow buttons */
.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);
}

.ayc-carousel-arrow:hover {
  background: #9dc41a;
  border-color: #9dc41a;
}

.ayc-arrow-prev { left: -22px; }
.ayc-arrow-next { right: -22px; }

@media (max-width: 768px) {
  .ayc-carousel-track .elementor-widget-testimonial {
    flex: 0 0 100% !important;
    width: 100% !important;
  }
}

/* ============================================================
   ANCHO GLOBAL — expandir contenido 5% a cada lado
   Elementor usa --content-width para el max-width de e-con-inner.
   Cambiamos de 1300px a 1420px: a 1440px viewport el inner queda
   ~1400px (el parent tiene 20px de padding c/lado), suficiente
   para que el título largo quepa en una sola línea.
   ============================================================ */
.elementor-13 .e-con {
  --content-width: min(100%, 1200px) !important;
}

/* ============================================================
   PROCESO CARDS — igual alto en los 3 cards
   ============================================================ */
body .elementor-13 .elementor-element.elementor-element-bbslyhfe,
body .elementor-13 .elementor-element.elementor-element-s1m0bqcn,
body .elementor-13 .elementor-element.elementor-element-3pitxuf4 {
  min-height: 380px !important;
}

/* ============================================================
   TÍTULOS PRINCIPALES — todos a 40px, centrados
   ============================================================ */
body .elementor-element[data-id="patiapip"] .elementor-heading-title,
body .elementor-element[data-id="g968a4nf"] .elementor-heading-title,
body .elementor-element[data-id="lb5iw7ns"] .elementor-heading-title,
body .elementor-element[data-id="42to31zq"] .elementor-heading-title,
body .elementor-element[data-id="dny0xfaj"] .elementor-heading-title,
body .elementor-element[data-id="ri79pxmq"] .elementor-heading-title {
  font-size: 40px !important;
  text-align: center !important;
}

/* "Soluciones claras..." — quitar nowrap para que quepa centrado */
body .elementor-element[data-id="g968a4nf"] .elementor-heading-title {
  white-space: normal !important;
  text-align: center !important;
  max-width: 100% !important;
}

/* ============================================================
   ESTÁNDAR TIPOGRÁFICO GLOBAL
   - Títulos principales: 40px (arriba)
   - Subtítulos de sección: 22px
   ============================================================ */

/* HOME — subtítulos de sección */
body .elementor-element[data-id="oppvfba2"] p {
  font-size: 22px !important;
}

/* ============================================================
   PÁGINA SERVICIOS (page-id-27 / elementor-27)
   ============================================================ */

/* Ancho extendido igual que home */
.elementor-27 > .e-con-full > .e-con-boxed {
  padding-left: 10px !important;
  padding-right: 10px !important;
}

/* Títulos principales → 40px (svc-cta-h2 estaba en 62px) */
body .elementor-element[data-id="svc-cta-h2"] .elementor-heading-title {
  font-size: 40px !important;
  text-align: center !important;
}

/* Subtítulos de sección → 22px */
body .elementor-element[data-id="svc-hero-sub"] .elementor-heading-title,
body .elementor-element[data-id="svc-cta-sub"] .elementor-heading-title {
  font-size: 22px !important;
}
body .elementor-element[data-id="svc-intro-sub"] p {
  font-size: 22px !important;
}

/* ============================================================
   FIX: Blog card image — full-width banner, no animation
   ROOT CAUSE: Elementor uses padding-bottom:66% on .elementor-post__thumbnail
   to create aspect-ratio height; image inside is position:absolute.
   Fix: reset padding-bottom to 0, set explicit height on the container.
   ============================================================ */

/* 1. The thumbnail container — override Elementor's 66% padding-bottom trick */
.elementor-13 .elementor-element.elementor-element-mtraui2s .elementor-posts-container .elementor-post__thumbnail,
.elementor-element[data-id="mtraui2s"] .elementor-post__thumbnail {
  padding-bottom: 0 !important;
  height: 220px !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  position: relative !important;
}

/* 2. The link wrapper */
.elementor-element[data-id="mtraui2s"] .elementor-post__thumbnail__link {
  display: block !important;
  width: 100% !important;
  padding-bottom: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* 3. The image — fill the 220px container (works whether img is absolute or not) */
.elementor-element[data-id="mtraui2s"] .elementor-post__thumbnail img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  transition: none !important;
  transform: none !important;
  filter: none !important;
  animation: none !important;
  border-radius: 0 !important;
}

/* 4. Kill hover effects */
.elementor-element[data-id="mtraui2s"] .elementor-post:hover .elementor-post__thumbnail img,
.elementor-element[data-id="mtraui2s"] .elementor-post__card:hover .elementor-post__thumbnail img,
.elementor-posts__hover-zoom-in .elementor-element[data-id="mtraui2s"] .elementor-post__card .elementor-post__thumbnail img,
.elementor-posts__hover-zoom-in .elementor-element[data-id="mtraui2s"] .elementor-post__card:hover .elementor-post__thumbnail img {
  transform: none !important;
  transition: none !important;
  animation: none !important;
}

/* ============================================================
   NUESTRA PROMESA — Redesign: icon-row stats, concave circle
   ============================================================ */

/* Stat icon: no circle, no background */
.elementor-element[data-id=ytds4dmc] .elementor-icon-list-icon {
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
}

/* Stat items: horizontal row (icon LEFT, text RIGHT) */
.elementor-element[data-id=ytds4dmc] .elementor-icon-list-item {
  flex-direction: row !important;
  align-items: center !important;
  text-align: left !important;
  gap: 14px !important;
}
.elementor-element[data-id=ytds4dmc] .elementor-icon-list-icon {
  margin-bottom: 0 !important;
  width: 50px !important;
  height: 50px !important;
}
.elementor-element[data-id=ytds4dmc] .elementor-icon-list-text {
  text-align: left !important;
  max-width: none !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #1e2751 !important;
  line-height: 1.4 !important;
}

/* Icon images: Recurso 2, 7, 8 */
.elementor-element[data-id=ytds4dmc] .elementor-icon-list-item:nth-child(1) .elementor-icon-list-icon::after {
  background-image: url("/wp-content/uploads/2026/04/recurso-02.png") !important;
}
.elementor-element[data-id=ytds4dmc] .elementor-icon-list-item:nth-child(2) .elementor-icon-list-icon::after {
  background-image: url("/wp-content/uploads/2026/04/recurso-07.png") !important;
}
.elementor-element[data-id=ytds4dmc] .elementor-icon-list-item:nth-child(3) .elementor-icon-list-icon::after {
  background-image: url("/wp-content/uploads/2026/04/recurso-08.png") !important;
}

/* Title & text: left-aligned to match reference (body prefix beats other rules) */
body .elementor-element[data-id="lb5iw7ns"] .elementor-heading-title {
  text-align: left !important;
  font-size: 40px !important;
  font-weight: 800 !important;
  color: #1e2751 !important;
}
body .elementor-element[data-id="krzy8fuz"] p {
  text-align: left !important;
  font-size: 22px !important;
  color: #6B7280 !important;
  line-height: 1.6 !important;
  margin-bottom: 20px !important;
}

/* Icon list row gap */
.elementor-element[data-id=ytds4dmc] .elementor-icon-list-items {
  gap: 32px !important;
  margin-top: 8px !important;
}

/* Card-circle layout: concave right edge + circle overlapping */
.elementor-element[data-id="9ocgr3gm"] {
  overflow: visible !important;
  position: relative !important;
  border-radius: 0 !important;
  gap: 0 !important;
  align-items: center !important;
  background: transparent !important;
}

/* Card: left-rounded only — right side handled by mask
   Circle 20% bigger: 485px diameter (r=242), center 22px outside card right.
   Mask radius = 259px, right padding 270px for text clearance */
.elementor-element[data-id="uvqgyi4m"] {
  background: #EAECF0 !important;
  border-radius: 40px 0 0 40px !important;
  padding: 40px 270px 40px 56px !important;
  flex: 1 1 auto !important;
  position: relative !important;
  z-index: 1 !important;
  height: 485px !important;
  min-height: 485px !important;
  max-height: 485px !important;
  align-self: center !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  -webkit-mask-image: radial-gradient(circle 259px at calc(100% + 22px) 50%, transparent 258px, black 259px);
  mask-image: radial-gradient(circle 259px at calc(100% + 22px) 50%, transparent 258px, black 259px);
}
.elementor-element[data-id="uvqgyi4m"]::after {
  display: none !important;
}

/* Circle: 485px diameter (+20%), overlap = 242-22 = 220px → margin-left = -220px */
.elementor-element[data-id="ll6itevi"] {
  position: relative !important;
  flex: 0 0 485px !important;
  width: 485px !important;
  height: 485px !important;
  min-width: unset !important;
  max-width: unset !important;
  border-radius: 50% !important;
  background: #EAECF0 !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 2 !important;
  align-self: center !important;
  margin-left: -220px !important;
  right: unset !important;
  top: unset !important;
  transform: none !important;
}

/* Logo inside circle: fill, no inner circle */
.elementor-element[data-id="2s3d2i03"] {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  position: static !important;
}
.elementor-element[data-id="2s3d2i03"] img {
  display: block !important;
  width: 55% !important;
  height: auto !important;
  object-fit: contain !important;
  margin: auto !important;
}
.elementor-element[data-id="2s3d2i03"]::after {
  display: none !important;
}

/* ============================================================
   KEYFRAMES GLOBALES — home + servicios comparten estas animaciones
   ============================================================ */
@keyframes ayc-tab-pop {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes ayc-home-tab-enter {
  from { opacity: 0; transform: translateY(28px) scale(0.98); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* ============================================================
   HOME TABS — misma animación que servicios
   ============================================================ */

/* Tab buttons: estado inicial (invisible, desplazados) */
.elementor-13 [data-id="6eeek77d"] .elementor-tab-desktop-title {
  opacity: 0;
  transform: translateY(16px);
}

/* Tab buttons: aparecen en stagger cuando el widget entra en pantalla */
.elementor-13 [data-id="6eeek77d"].ayc-tabs-entered .elementor-tab-desktop-title {
  animation: ayc-tab-pop 0.45s ease both;
  opacity: 1;
  transform: translateY(0);
}
.elementor-13 [data-id="6eeek77d"].ayc-tabs-entered .elementor-tab-desktop-title:nth-child(1) { animation-delay: 0s; }
.elementor-13 [data-id="6eeek77d"].ayc-tabs-entered .elementor-tab-desktop-title:nth-child(2) { animation-delay: 0.1s; }
.elementor-13 [data-id="6eeek77d"].ayc-tabs-entered .elementor-tab-desktop-title:nth-child(3) { animation-delay: 0.2s; }

/* Tab content: keyframe fade+slide al cambiar de tab */
.elementor-13 .elementor-tab-content.ayc-home-tab-entering {
  animation: ayc-home-tab-enter 0.55s cubic-bezier(0.22, 0.61, 0.36, 1) both;
}

/* ============================================================
   ESTÁNDARES GLOBALES DE TIPOGRAFÍA — centralizado aquí
   ─────────────────────────────────────────────────────────
   Títulos de sección  : 40px / weight 800
   Subtítulos          : 22px / weight 400-600
   Párrafos de cuerpo  : 20px / weight 400
   Botones tab (home)  : 22px / weight 700
   Botones tab (svc)   : 22px / weight 700  ← mismo que home
   CTA título          : 62px / weight 800
   CTA subtítulo       : 22px / weight 400
   CTA botón           : 16px / weight 700
   ============================================================ */

/* SERVICIOS — párrafos a 20px (igual que home) */
body.page-id-27 .elementor-element[data-id="svc-card-a"] p,
body.page-id-27 .elementor-element[data-id="svc-card-b"] p,
body.page-id-27 .elementor-element[data-id="svc-card-c"] p {
  font-size: 22px !important;
  line-height: 1.65 !important;
}

/* SERVICIOS — tab buttons: 22px igual que home (especificidad 0,4,1 > servicios.css 0,3,1) */
body.page-id-27 .elementor-element[data-id="svc-tab1"] .elementor-button,
body.page-id-27 .elementor-element[data-id="svc-tab2"] .elementor-button,
body.page-id-27 .elementor-element[data-id="svc-tab3"] .elementor-button {
  font-size: 22px !important;
  font-weight: 700 !important;
  height: auto !important;
  min-height: 56px !important;
  padding: 14px 24px !important;
}

/* SERVICIOS — CTA button: 16px igual que home */
body.page-id-27 .elementor-element[data-id="svc-cta-btn"] .elementor-button {
  font-size: 16px !important;
  padding: 14px 52px !important;
}

/* ============================================================
   HOME HERO — Rediseño estilo servicios
   Gradiente azul navy en mitad inferior, contenido al fondo
   ============================================================ */

/* Sección: altura 476px (-30%), imagen adapta sin recorte */
body .elementor-element[data-id="vrz9flip"] {
  min-height: 476px !important;
  background-position: center center !important;
  background-size: 100% 100% !important;
  box-shadow: none !important;
  padding-bottom: 20px !important;
}

/* Overlay: gradiente de transparente (arriba) a navy (abajo) */
body .elementor-element[data-id="vrz9flip"] > .elementor-background-overlay {
  background: linear-gradient(
    to bottom,
    rgba(15, 25, 60, 0) 0%,
    rgba(15, 25, 60, 0.15) 35%,
    rgba(15, 25, 60, 0.78) 62%,
    rgba(12, 20, 52, 0.94) 100%
  ) !important;
  opacity: 1 !important;
}

/* Contenedor: contenido pegado al fondo sin gap inferior */
body .elementor-element.elementor-element-vrz9flip {
  justify-content: flex-end !important;
  align-items: normal !important;
}
body .elementor-element.elementor-element-vrz9flip.e-flex {
  justify-content: flex-end !important;
}
body .elementor-element[data-id="l9417o9n"] {
  text-align: center !important;
  width: 100% !important;
  padding-bottom: 0 !important;
  padding-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Título hero: 50px centrado, quiebre natural tras la coma */
body .elementor-element[data-id="j9ge1grr"] .elementor-heading-title {
  font-size: 50px !important;
  max-width: 1140px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  white-space: normal !important;
}

/* Ocultar subtítulo párrafo (Acompañamos a personas...) */
body.home .elementor-element[data-id="bttaanx0"] {
  display: none !important;
}

/* Disclaimer: estándar unificado */
body .elementor-element[data-id="qt1e2jbl"] {
  max-width: none !important;
  width: calc(100vw - 160px) !important;
  align-self: flex-start !important;
  margin-top: 16px !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
body .elementor-element[data-id="qt1e2jbl"] 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;
  text-align: left !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding-bottom: 0 !important;
}

/* ============================================================
   TYPOGRAPHY & WIDTH UPGRADE — HOME + SERVICIOS
   Container: 1140px → 1500px
   Fonts: approx. ×2 on titles, subtitles, buttons
   ============================================================ */

/* ── 1. WIDER CONTAINERS (all pages) ── */
.elementor-13 .e-con,
.elementor-27 .e-con {
  --container-max-width: 1200px !important;
}
/* Also widen the section-level inner padding to use the extra space */
.elementor-13 .e-con > .e-con-inner,
.elementor-27 .e-con > .e-con-inner {
  max-width: 1200px !important;
}

/* ── 2. HOME — Hero ── */
/* Title */
.elementor-element[data-id="j9ge1grr"] .elementor-heading-title {
  font-size: 50px !important;
  line-height: 1.1 !important;
}
/* Hero CTA button */
.elementor-element[data-id="1kg6tj85"] .elementor-button {
  font-size: 29px !important;
  padding: 12px 36px !important;
}

/* ── 3. HOME — Section titles ── */
/* "Lo que hacemos" tabs title */
.elementor-element[data-id="dny0xfaj"] .elementor-heading-title {
  font-size: 46px !important;
}
/* Testimonials section title */
.elementor-element[data-id="ri79pxmq"] .elementor-heading-title {
  font-size: 46px !important;
  font-weight: 800 !important;
}
/* Blog section title */
.elementor-element[data-id="42to31zq"] .elementor-heading-title {
  font-size: 46px !important;
  font-weight: 800 !important;
}
/* Nuestra Promesa title */
body .elementor-element[data-id="lb5iw7ns"] .elementor-heading-title {
  font-size: 46px !important;
}

/* ── 4. HOME — CTA section ── */
.elementor-element[data-id="dcms2iot"] .elementor-heading-title {
  font-size: 46px !important;
  line-height: 1.05 !important;
}
/* CTA subtitle */
.elementor-element[data-id="33wqgkfg"] p,
.elementor-element[data-id="33wqgkfg"] .elementor-widget-text-editor p {
  font-size: 32px !important;
  line-height: 1.5 !important;
}
/* CTA button — unified */
.elementor-element[data-id="kuhn6vhj"] .elementor-button {
  font-size: 22px !important;
  padding: 8px 24px !important;
}

/* ── 5. SERVICIOS — Hero ── */
body.page-id-27 .elementor-element[data-id="svc-hero-h1"] .elementor-heading-title,
body.page-id-27 [data-id="svc-hero-h1"] h1 {
  font-size: 50px !important;
  line-height: 1.05 !important;
}
body.page-id-27 .elementor-element[data-id="svc-hero-sub"] .elementor-heading-title,
body.page-id-27 .elementor-element[data-id="svc-hero-sub"] h2 {
  font-size: 36px !important;
  line-height: 1.4 !important;
}
body.page-id-27 [data-id="svc-hero-btn"] .elementor-button {
  font-size: 24px !important;
  padding: 20px 56px !important;
}

/* ── 6. SERVICIOS — Intro ── */
body.page-id-27 .elementor-element[data-id="svc-intro-title"] p {
  font-size: 46px !important;
  line-height: 1.15 !important;
}
body.page-id-27 .elementor-element[data-id="svc-intro-sub"] p {
  font-size: 18px !important;
  line-height: 1.6 !important;
}

/* ── 7. SERVICIOS — Tab buttons ── */
body.page-id-27 [data-id="svc-tab1"] .elementor-button,
body.page-id-27 [data-id="svc-tab2"] .elementor-button,
body.page-id-27 [data-id="svc-tab3"] .elementor-button {
  font-size: 22px !important;
  padding: 16px 36px !important;
}

/* ── 8. SERVICIOS — Cards body text ── */
body.page-id-27 [data-id="svc-card-a"] p,
body.page-id-27 [data-id="svc-card-b"] p,
body.page-id-27 [data-id="svc-card-c"] p {
  font-size: 22px !important;
  line-height: 1.65 !important;
}

/* ── 9. SERVICIOS — CTA ── */
body.page-id-27 .elementor-element[data-id="svc-cta-h2"] .elementor-heading-title,
body.page-id-27 .elementor-element[data-id="svc-cta-h2"] h2 {
  font-size: 32px !important;
  line-height: 1.1 !important;
}
body.page-id-27 .elementor-element[data-id="svc-cta-sub"] .elementor-heading-title,
body.page-id-27 .elementor-element[data-id="svc-cta-sub"] h3 {
  font-size: 36px !important;
  line-height: 1.4 !important;
}
body.page-id-27 [data-id="svc-cta-btn"] .elementor-button {
  font-size: 24px !important;
  padding: 20px 60px !important;
}

/* ============================================================
   SISTEMA TIPOGRÁFICO GLOBAL — estandarización de cuerpo
   Escala:
     Cuerpo/párrafos      → 18px  (base)
     Texto de tarjetas    → 18px
     Ítems de lista       → 18px
     Texto secundario     → 15px  (meta, captions, footer nav)
     Texto legal/small    → 13px  (disclaimer, copyright)
   Títulos y subtítulos ya tienen sus propias reglas específicas.
   ============================================================ */

/* ── SISTEMA TIPOGRÁFICO BASE — ELIMINADO, unificado en catch-all final ── */

/* ── TODO a 18px — ELIMINADO, unificado en catch-all final ── */

/* ── Servicios cards: checklist y descripción → 18px ── */
body.page-id-27 .ayc-check-item,
body.page-id-27 .ayc-check-item span,
body.page-id-27 .ayc-card-desc,
body.page-id-27 .ayc-includes-title,
body.page-id-27 .ayc-card-body p,
body.page-id-27 .ayc-card-body span,
body.page-id-27 .ayc-card-body li,
body.page-id-27 .ayc-card-body div {
  font-size: 18px !important;
  line-height: 1.65 !important;
}

/* ============================================================
   ESCALA TIPOGRÁFICA FINAL — aplicada consistentemente
   18px cuerpo | 22px labels | 28px subtítulos | 48px títulos sección | 64px CTA | 76-86px Hero
   ============================================================ */

/* ── LABELS (22px) ── */
body.page-id-27 .ayc-includes-title {
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

/* ── SUBTÍTULOS DE SECCIÓN / CARDS (28px) ── */
/* Card titles en servicios */
body.page-id-27 .ayc-card-title {
  font-size: 28px !important;
  line-height: 1.3 !important;
}
/* Hero subtítulo servicios */
body.page-id-27 .elementor-element[data-id="svc-hero-sub"] .elementor-heading-title,
body.page-id-27 .elementor-element[data-id="svc-hero-sub"] h2 {
  font-size: 28px !important;
}
/* CTA subtítulos */
body.page-id-27 .elementor-element[data-id="svc-cta-sub"] .elementor-heading-title,
body.page-id-27 .elementor-element[data-id="svc-cta-sub"] h3 {
  font-size: 28px !important;
}
.elementor-element[data-id="33wqgkfg"] p,
.elementor-element[data-id="33wqgkfg"] .elementor-widget-text-editor p {
  font-size: 28px !important;
}

/* ── TÍTULOS DE SECCIÓN (48px) ── */
/* "Lo que hacemos" */
.elementor-element[data-id="dny0xfaj"] .elementor-heading-title {
  font-size: 48px !important;
}
/* Testimoniales */
.elementor-element[data-id="ri79pxmq"] .elementor-heading-title {
  font-size: 48px !important;
}
/* Blog / Artículos */
.elementor-element[data-id="42to31zq"] .elementor-heading-title {
  font-size: 48px !important;
}
/* Nuestra Promesa */
body .elementor-element[data-id="lb5iw7ns"] .elementor-heading-title {
  font-size: 48px !important;
}
/* Servicios intro title */
body.page-id-27 .elementor-element[data-id="svc-intro-title"] p {
  font-size: 46px !important;
  line-height: 1.2 !important;
}

/* ── TÍTULOS CTA — impacto especial (64px) ── */
/* Home CTA */
.elementor-element[data-id="dcms2iot"] .elementor-heading-title {
  font-size: 46px !important;
  line-height: 1.05 !important;
}
/* Servicios CTA */
body.page-id-27 .elementor-element[data-id="svc-cta-h2"] .elementor-heading-title,
body.page-id-27 .elementor-element[data-id="svc-cta-h2"] h2 {
  font-size: 32px !important;
  line-height: 1.1 !important;
}

/* ── Testimoniales y social proof: unificado en catch-all final ── */
.elementor-13 .elementor-element.elementor-element-pxr2o2bu p {
  line-height: 1.7 !important;
}
.elementor-element[data-id="4x0jnkpu"] .elementor-heading-title,
.elementor-element[data-id="4x0jnkpu"] p {
  font-size: 18px !important;
}

/* ============================================================
   CATCH-ALL ÚNICO — 18px para TODO contenido
   Excluye: icon-box (cifras estadísticas), disclaimers
   ============================================================ */

/* Texto de contenido → 18px */
.elementor-13 .elementor-widget-text-editor p,
.elementor-13 .elementor-widget-text-editor span,
.elementor-13 .elementor-widget-text-editor strong,
.elementor-13 .elementor-widget-text-editor em,
.elementor-13 .elementor-widget-text-editor li,
.elementor-13 .elementor-icon-list-text,
.elementor-27 .elementor-widget-text-editor p,
.elementor-27 .elementor-widget-text-editor span,
.elementor-27 .elementor-widget-text-editor strong,
.elementor-27 .elementor-widget-text-editor em,
.elementor-27 .elementor-widget-text-editor li,
.elementor-27 .elementor-icon-list-text {
  font-size: 18px !important;
  line-height: 1.65 !important;
}

/* Testimoniales → 18px */
.elementor-13 .elementor-element.elementor-element-sx7r0nl2 .elementor-testimonial-content {
  font-size: 18px !important;
  line-height: 1.75 !important;
}
.elementor-13 .elementor-element.elementor-element-sx7r0nl2 .elementor-testimonial-name {
  font-size: 18px !important;
}
.elementor-13 .elementor-element.elementor-element-sx7r0nl2 .elementor-testimonial-job {
  font-size: 18px !important;
}

/* Blog excerpt → 18px */
.elementor-element[data-id="mtraui2s"] .elementor-post__excerpt p {
  font-size: 18px !important;
}

/* Disclaimers → 13px */
.elementor-element[data-id="qt1e2jbl"] p,
.elementor-element[data-id="qt1e2jbl"] span,
.elementor-element[data-id="ftr_disclaimer"] p,
.elementor-element[data-id="ftr_disclaimer"] span {
  font-size: 11px !important;
}

/* ============================================================
   CIFRAS ESTADÍSTICAS — números 44px, descripciones 13px
   Estos NO deben ser afectados por el catch-all de 18px
   ============================================================ */
.elementor-13 .elementor-widget-icon-box .elementor-icon-box-title {
  font-size: 36px !important;
  font-weight: 800 !important;
  color: #9dc41a !important;
  line-height: 1 !important;
}
.elementor-13 .elementor-widget-icon-box .elementor-icon-box-title span {
  font-size: 36px !important;
  font-weight: 800 !important;
  color: #9dc41a !important;
  line-height: 1 !important;
}
.elementor-13 .elementor-widget-icon-box .elementor-icon-box-description {
  font-size: 18px !important;
  line-height: 1.5 !important;
  color: #6B7280 !important;
}

/* ============================================================
   FIX FINAL — 6 correcciones de uniformidad home/servicios
   ============================================================ */

/* ── 1. MÍNIMO 18px ABSOLUTO: descripciones de cifras estadísticas ── */
.elementor-13 .elementor-widget-icon-box .elementor-icon-box-description,
.elementor-13 .elementor-widget-icon-box .elementor-icon-box-description p {
  font-size: 18px !important;
  line-height: 1.5 !important;
}

/* ── 2. SUBTÍTULOS de sección — 38px (79% del título 48px) ── */
/* "Así trabajamos contigo" — subtítulo sección proceso */
.elementor-13 .elementor-element.elementor-element-pxr2o2bu p {
  font-weight: 400 !important;
  line-height: 1.25 !important;
}
/* "Cada historia que acompañamos..." — subtítulo testimoniales */
.elementor-13 .elementor-element.elementor-element-bjxgg2n1 .elementor-heading-title {
  font-size: 38px !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
}

/* ── 3. CTA subtítulos = 95% del título (título 64px → sub 60px) ── */
/* Home CTA subtitle */
.elementor-element[data-id="33wqgkfg"] p,
.elementor-element[data-id="33wqgkfg"] .elementor-widget-text-editor p {
  font-size: 18px !important;
  line-height: 1.1 !important;
}
/* Servicios CTA subtitle */
body.page-id-27 .elementor-element[data-id="svc-cta-sub"] .elementor-heading-title,
body.page-id-27 .elementor-element[data-id="svc-cta-sub"] h3 {
  font-size: 18px !important;
  line-height: 1.1 !important;
}

/* ── 4. CTA — menos interlineado ── */
/* Home CTA title */
.elementor-element[data-id="dcms2iot"] .elementor-heading-title {
  font-size: 46px !important;
  line-height: 1.0 !important;
}
/* Servicios CTA title */
body.page-id-27 .elementor-element[data-id="svc-cta-h2"] .elementor-heading-title,
body.page-id-27 .elementor-element[data-id="svc-cta-h2"] h2 {
  font-size: 32px !important;
  line-height: 1.0 !important;
}

/* ── 5. SERVICIOS — hero button más amplio + secciones más anchas ── */
body.page-id-27 [data-id="svc-hero-btn"] .elementor-button {
  font-size: 22px !important;
  padding: 20px 64px !important;
  border-radius: 6px !important;
}
/* Servicios containers aún más anchos */
.elementor-27 .e-con {
  --container-max-width: 1200px !important;
}
.elementor-27 .e-con > .e-con-inner {
  max-width: 1200px !important;
}
/* Service cards más anchos */
body.page-id-27 .ayc-service-card {
  max-width: 1200px !important;
}

/* ── 6. SERVICIOS TABS — mismos tamaños que home ── */
/* Tab buttons: 22px como los de home */
body.page-id-27 [data-id="svc-tab1"] .elementor-button,
body.page-id-27 [data-id="svc-tab2"] .elementor-button,
body.page-id-27 [data-id="svc-tab3"] .elementor-button {
  font-size: 22px !important;
  padding: 16px 40px !important;
  min-width: 200px !important;
}
/* Tab content body text — 18px como home */
body.page-id-27 [data-id="svc-card-a"] p,
body.page-id-27 [data-id="svc-card-b"] p,
body.page-id-27 [data-id="svc-card-c"] p,
body.page-id-27 .ayc-card-desc,
body.page-id-27 .ayc-check-item {
  font-size: 18px !important;
  line-height: 1.65 !important;
}
/* Card titles — 28px (subtítulo, igual que home) */
body.page-id-27 .ayc-card-title {
  font-size: 28px !important;
}
/* Includes title */
body.page-id-27 .ayc-includes-title {
  font-size: 25px !important;
}

/* ============================================================
   UNIFICACIÓN FINAL — home y servicios mismos tamaños
   ============================================================ */

/* ── HERO TITLES: ambos a 86px (tamaño de servicios) ── */
.elementor-element[data-id="j9ge1grr"] .elementor-heading-title {
  font-size: 50px !important;
  line-height: 1.05 !important;
}

/* ── CTA TÍTULOS: ambos 64px, line-height compacto ── */
.elementor-element[data-id="dcms2iot"] .elementor-heading-title {
  font-size: 46px !important;
  line-height: 0.95 !important;
}
body.page-id-27 .elementor-element[data-id="svc-cta-h2"] .elementor-heading-title,
body.page-id-27 .elementor-element[data-id="svc-cta-h2"] h2 {
  font-size: 32px !important;
  line-height: 0.95 !important;
}

/* ── CTA SUBTÍTULOS: 5% menos que 64px = 60px, ambos iguales, interlineado compacto ── */
.elementor-element[data-id="33wqgkfg"] p,
.elementor-element[data-id="33wqgkfg"] .elementor-widget-text-editor p {
  font-size: 18px !important;
  line-height: 0.95 !important;
  margin-bottom: 0 !important;
}
body.page-id-27 .elementor-element[data-id="svc-cta-sub"] .elementor-heading-title,
body.page-id-27 .elementor-element[data-id="svc-cta-sub"] h3 {
  font-size: 18px !important;
  line-height: 0.95 !important;
  margin-bottom: 0 !important;
}

/* ── CTA secciones: reducir padding interno para menos espacio vertical ── */
.elementor-element[data-id="8x0l93wp"] {
  padding: 48px 0 !important;
  background: url('/wp-content/uploads/ayc-photos/recurso-25-cta.jpg') center center / cover no-repeat !important;
  background-image: url('/wp-content/uploads/ayc-photos/recurso-25-cta.jpg') !important;
}
body.page-id-27 .elementor-element[data-id="svc-cta-sec"] {
  padding: 20px 20px 48px !important;
}

/* ── INTRO "Soluciones Integrales": máximo ancho para 2 líneas ── */
.elementor-element[data-id="dny0xfaj"] {
  max-width: 100% !important;
  width: 100% !important;
}
.elementor-element[data-id="dny0xfaj"] .elementor-widget-container {
  max-width: 100% !important;
}

/* ============================================================
   PATRÓN UNIFICADO — Hero y CTA comparten el mismo estándar
   Título: 50px / 800 (bold) — tamaño real del hero home
   Subtítulo: 45px / 400 (normal) — 10% menos
   line-height: 1.1
   Todos usan `body` prefix para ganar a la regla body de línea 3998
   ============================================================ */

/* ── TÍTULOS: 50px bold — hero + CTA, home + servicios ── */
body .elementor-element[data-id="j9ge1grr"] .elementor-heading-title {
  font-size: 50px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
}
body .elementor-element[data-id="dcms2iot"] .elementor-heading-title {
  font-size: 50px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
}
body.page-id-27 .elementor-element[data-id="svc-hero-h1"] .elementor-heading-title,
body.page-id-27 [data-id="svc-hero-h1"] h1 {
  font-size: 50px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
}
body.page-id-27 .elementor-element[data-id="svc-cta-h2"] .elementor-heading-title,
body.page-id-27 .elementor-element[data-id="svc-cta-h2"] h2 {
  font-size: 50px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
}

/* ── SUBTÍTULOS: 45px normal — hero + CTA, home + servicios ── */
body.page-id-27 .elementor-element[data-id="svc-hero-sub"] .elementor-heading-title,
body.page-id-27 .elementor-element[data-id="svc-hero-sub"] h2 {
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  font-size: 45px !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  color: rgba(255,255,255,0.85) !important;
}
body.page-id-27 .elementor-element[data-id="svc-cta-sub"] .elementor-heading-title,
body.page-id-27 .elementor-element[data-id="svc-cta-sub"] h3 {
  font-size: 45px !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  margin-bottom: 0 !important;
}
/* HOME CTA subtitle — usar lxmk9tcy para ganar especificidad */
.elementor-element[data-id="lxmk9tcy"] .elementor-widget-text-editor p,
.elementor-element[data-id="33wqgkfg"] p,
.elementor-element[data-id="33wqgkfg"] .elementor-widget-text-editor p {
  font-size: 45px !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* ── CTA LAYOUT: mismo spacing home = servicios ── */
body .elementor-element[data-id="8x0l93wp"] {
  padding: 48px 20px !important;
}
.elementor-element[data-id="lxmk9tcy"] {
  padding: 0 !important;
  gap: 20px !important;
}
.elementor-element[data-id="lxmk9tcy"] > .e-con-inner {
  gap: 20px !important;
  padding: 0 !important;
}
body.page-id-27 .elementor-element[data-id="svc-cta-sec"] {
  padding: 20px 20px 48px !important;
  margin-top: 0 !important;
}

/* ============================================================
   FIX ESPECIFICIDAD — usar .elementor-13 .elementor-element.elementor-element-XXX
   para ganar a las reglas viejas de (0,4,0)
   ============================================================ */

/* ── 1. TABS SERVICIOS = mismo estilo visual que HOME ── */
body.page-id-27 [data-id="svc-tab1"] .elementor-button,
body.page-id-27 [data-id="svc-tab2"] .elementor-button,
body.page-id-27 [data-id="svc-tab3"] .elementor-button {
  font-size: 22px !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  padding: 12px 28px !important;
  border-radius: 6px !important;
}

/* ── 2. TÍTULOS DE SECCIÓN HOME — todos a 48px, especificidad (0,5,0) ── */
.elementor-13 .elementor-element.elementor-element-ri79pxmq .elementor-heading-title {
  font-size: 48px !important;
  font-weight: 800 !important;
}
.elementor-13 .elementor-element.elementor-element-42to31zq .elementor-heading-title {
  font-size: 48px !important;
  font-weight: 800 !important;
}
.elementor-13 .elementor-element.elementor-element-dny0xfaj .elementor-heading-title {
  font-size: 48px !important;
  font-weight: 800 !important;
}
body .elementor-element[data-id="lb5iw7ns"] .elementor-heading-title {
  font-size: 48px !important;
  font-weight: 800 !important;
}
.elementor-13 .elementor-element.elementor-element-g968a4nf .elementor-heading-title {
  font-size: 48px !important;
  font-weight: 800 !important;
}

/* ── 3. CARD DE SERVICIOS más ancha ── */
body.page-id-27 .ayc-service-card {
  max-width: 100% !important;
  width: 100% !important;
}

/* ── 4. BOTONES HERO unificados: mismo tamaño y padding ── */
body .elementor-element[data-id="1kg6tj85"] .elementor-button {
  font-size: 29px !important;
  padding: 12px 36px !important;
  font-weight: 700 !important;
  border-radius: 6px !important;
}
body.page-id-27 [data-id="svc-hero-btn"] .elementor-button {
  font-size: 25px !important;
  padding: 18px 56px !important;
  font-weight: 700 !important;
  border-radius: 6px !important;
}

/* ============================================================
   DISCLAIMERS LEGALES — unificados 13px + icono warning
   ============================================================ */
/* Home hero disclaimer — 13px, full width, con icono ⚠ */
.elementor-element[data-id="qt1e2jbl"] p,
.elementor-element[data-id="qt1e2jbl"] {
  font-size: 11px !important;
  line-height: 1.6 !important;
  color: rgba(255,255,255,0.80) !important;
  white-space: normal !important;
  max-width: 100% !important;
  width: 100% !important;
}

/* ============================================================
   FIX: CTA botones más grandes + subtítulo "Así trabajamos"
   ============================================================ */

/* ── 1. CTA BOTONES — letra más grande en ambas páginas ── */
body .elementor-element[data-id="kuhn6vhj"] .elementor-button {
  font-size: 22px !important;
  padding: 8px 24px !important;
}

/* ── 3. "Así trabajamos contigo:" — font-size handled by unified rule ── */
.elementor-13 .elementor-element.elementor-element-pxr2o2bu p {
  font-weight: 400 !important;
  line-height: 1.2 !important;
}

/* ============================================================
   FIX: Artículos interlineado + Blog card hover + subtítulo blog
   ============================================================ */

/* ── 2. Menos interlineado entre título y subtítulo de Artículos ── */
.elementor-13 .elementor-element.elementor-element-42to31zq {
  margin-bottom: 4px !important;
}
.elementor-13 .elementor-element.elementor-element-42to31zq .elementor-heading-title {
  margin-bottom: 0 !important;
  line-height: 1.1 !important;
}
.elementor-element[data-id="a6b6eym1"] p {
  margin-top: 0 !important;
  line-height: 1.3 !important;
}

/* ── 3. Blog card hover — sutil elevación + sombra para indicar click ── */
.elementor-element[data-id="mtraui2s"] .elementor-post {
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
  cursor: pointer !important;
}
.elementor-element[data-id="mtraui2s"] .elementor-post:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 12px 32px rgba(30,39,81,0.18) !important;
}
.elementor-element[data-id="mtraui2s"] .elementor-post:hover .elementor-post__thumbnail img {
  transform: none !important;
  transition: none !important;
}

/* ============================================================
   FIXES FINALES — disclaimers, tabs, "Así trabajamos contigo"
   ============================================================ */

/* ── DISCLAIMER HERO HOME — estándar unificado ── */
body .elementor-element[data-id="qt1e2jbl"] {
  max-width: none !important;
  width: calc(100vw - 160px) !important;
  align-self: flex-start !important;
  margin-top: 16px !important;
}
body .elementor-element[data-id="qt1e2jbl"] 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;
}

/* ── 2. TABS bordes redondeados inferiores ── */
.elementor-13 .elementor-element.elementor-element-6eeek77d .elementor-tab-title {
  border-radius: 6px !important;
}
body.page-id-27 [data-id="svc-tab1"] .elementor-button,
body.page-id-27 [data-id="svc-tab2"] .elementor-button,
body.page-id-27 [data-id="svc-tab3"] .elementor-button {
  border-radius: 6px !important;
}

/* ── 3. "Así trabajamos contigo:" — widget oppvfba2, NO pxr2o2bu ── */
.elementor-13 .elementor-element.elementor-element-oppvfba2 p {
  font-size: 44px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  color: rgba(255,255,255,0.85) !important;
}

/* ============================================================
   PROCESO CARDS — animaciones mejoradas + hover más visible
   ============================================================ */

/* Scroll reveal más dramático para los cards del proceso */
.elementor-element[data-id=bbslyhfe].ayc-reveal,
.elementor-element[data-id=s1m0bqcn].ayc-reveal,
.elementor-element[data-id=3pitxuf4].ayc-reveal {
  opacity: 0;
  transform: translateY(50px) scale(0.95);
  transition: opacity 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.elementor-element[data-id=bbslyhfe].ayc-reveal.is-visible,
.elementor-element[data-id=s1m0bqcn].ayc-reveal.is-visible,
.elementor-element[data-id=3pitxuf4].ayc-reveal.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* Hover más visible — elevación + escala + sombra verde sutil */
.elementor-element[data-id=bbslyhfe],
.elementor-element[data-id=s1m0bqcn],
.elementor-element[data-id=3pitxuf4] {
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  cursor: default !important;
}
.elementor-element[data-id=bbslyhfe]:hover,
.elementor-element[data-id=s1m0bqcn]:hover,
.elementor-element[data-id=3pitxuf4]:hover {
  transform: translateY(-8px) scale(1.02) !important;
  box-shadow: 0 16px 48px rgba(157, 196, 26, 0.20), 0 8px 24px rgba(0,0,0,0.10) !important;
}

/* ============================================================
   DISCLAIMERS — 30% menos: 23px × 0.7 = 16px, font-weight 500
   ============================================================ */
body .elementor-element[data-id="qt1e2jbl"] p,
body .elementor-element[data-id="qt1e2jbl"] {
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  color: rgba(255,255,255,0.80) !important;
  white-space: normal !important;
}

/* ============================================================
   TESTIMONIALES — eliminar interlineado entre título/subtítulo/párrafo
   ============================================================ */
/* Testimoniales — use Elementor default 20px gap (matches Ayuda Center) */
/* Título */
.elementor-13 .elementor-element.elementor-element-ri79pxmq {
  margin-bottom: 4px !important;
}
.elementor-13 .elementor-element.elementor-element-ri79pxmq .elementor-widget-container {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
/* Subtítulo "Cada historia..." */
.elementor-13 .elementor-element.elementor-element-pxr2o2bu {
  margin-top: 0 !important;
  margin-bottom: 4px !important;
}
.elementor-13 .elementor-element.elementor-element-pxr2o2bu .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}
/* Párrafo "Las más de 400 reseñas..." */
.elementor-element[data-id="4x0jnkpu"] {
  margin-top: 0 !important;
}
.elementor-element[data-id="4x0jnkpu"] .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

/* ── Flechas timeline: z-index alto para pasar por encima de los cards ── */
.ayc-timeline-arrow {
  z-index: 30 !important;
}
.elementor-element[data-id=bbslyhfe],
.elementor-element[data-id=s1m0bqcn],
.elementor-element[data-id=3pitxuf4] {
  z-index: 1 !important;
  position: relative !important;
}

/* ── Botón "Ver más testimoniales" — separado del carousel ── */
.elementor-13 .elementor-element.elementor-element-4fnlvbb2 {
  margin-top: 40px !important;
}

/* ============================================================
   FOOTER — estilos unificados (todas las páginas)
   ============================================================ */
/* Footer nav links: hover verde lima */
.elementor-6 .elementor-nav-menu--main .elementor-item:hover {
  color: #9dc41a !important;
}
/* Footer service list links: hover verde lima */
.elementor-6 .elementor-icon-list-text:hover {
  color: #9dc41a !important;
}
/* Footer headings */
.elementor-6 .elementor-heading-title {
  color: #FFFFFF !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
}
/* Footer text */
.elementor-6 .elementor-icon-list-text,
.elementor-6 .elementor-nav-menu--main .elementor-item {
  color: rgba(255,255,255,0.75) !important;
  font-size: 18px !important;
}
/* Footer social icons */
.elementor-6 .elementor-social-icon {
  background-color: transparent !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
  transition: border-color 0.2s ease !important;
}
.elementor-6 .elementor-social-icon:hover {
  border-color: #9dc41a !important;
}
/* Footer disclaimer */
.elementor-6 .elementor-element.elementor-element-ftr_disclaimer p {
  font-size: 13px !important;
  color: rgba(255,255,255,0.4) !important;
  text-align: center !important;
}

/* ============================================================
   FOOTER — fondo claro (según diseño PDF)
   ============================================================ */
.elementor-6 .elementor-element.elementor-element-ftr_main:not(.elementor-motion-effects-element-type-background),
.elementor-6 .elementor-element.elementor-element-ftr_main {
  background-color: #F7F9FC !important;
}
/* Textos footer sobre fondo claro */
.elementor-6 .elementor-nav-menu--main .elementor-item {
  color: #374151 !important;
}
.elementor-6 .elementor-nav-menu--main .elementor-item:hover {
  color: #9dc41a !important;
}
.elementor-6 .elementor-icon-list-text {
  color: #374151 !important;
}
.elementor-6 .elementor-icon-list-text:hover {
  color: #9dc41a !important;
}
.elementor-6 .elementor-heading-title {
  color: #1e2751 !important;
}
/* Logo: no invertir sobre fondo claro */
.elementor-6 .elementor-element.elementor-element-ftr_logo img {
  filter: none !important;
}
/* Social icons */
.elementor-6 .elementor-social-icon {
  background-color: transparent !important;
  border: 1px solid #374151 !important;
  color: #374151 !important;
}
.elementor-6 .elementor-social-icon:hover {
  border-color: #9dc41a !important;
  color: #9dc41a !important;
}
.elementor-6 .elementor-social-icon i {
  color: #374151 !important;
}
.elementor-6 .elementor-social-icon:hover i {
  color: #9dc41a !important;
}
/* Divider */
.elementor-6 .elementor-element.elementor-element-ftr_divider .elementor-divider-separator {
  border-color: rgba(30,39,81,0.15) !important;
}
/* Copyright */
.elementor-6 .elementor-element.elementor-element-ftr_bottom p {
  color: #6B7280 !important;
}
/* Disclaimer */
.elementor-6 .elementor-element.elementor-element-ftr_disclaimer p {
  color: rgba(55,65,81,0.5) !important;
}
/* Contact info */
.elementor-6 .elementor-element.elementor-element-ftr_col3 p,
.elementor-6 .elementor-element.elementor-element-ftr_col3 span {
  color: #374151 !important;
}

/* Footer links: mayor contraste sobre fondo claro */
.elementor-6 .elementor-element.elementor-element-ftr_nav1 .elementor-nav-menu--main .elementor-item {
  color: #374151 !important;
  font-size: 18px !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_services_list .elementor-icon-list-text {
  color: #374151 !important;
  font-size: 18px !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_col4 .elementor-heading-title {
  color: #1e2751 !important;
}

/* Form button inside tabs — full width, proper size */
.elementor-element[data-id="6eeek77d"] .elementor-tab-content form button[type="submit"] {
  width: auto !important;
  font-size: 15px !important;
  padding: 10px 32px !important;
  background: #F3F4F6 !important;
  color: #1e2751 !important;
  border: 1px solid #1e2751 !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
}
.elementor-element[data-id="6eeek77d"] .elementor-tab-content form button[type="submit"]:hover {
  background: #1e2751 !important;
  color: #FFFFFF !important;
}
.elementor-element[data-id="6eeek77d"] .elementor-tab-content form input,
.elementor-element[data-id="6eeek77d"] .elementor-tab-content form textarea {
  width: 100% !important;
  box-sizing: border-box !important;
  font-size: 15px !important;
}

/* Nuestra Promesa: imagen en círculo — 50% más pequeña, centrada */
.elementor-element[data-id="2s3d2i03"] img {
  width: 28% !important;
  height: auto !important;
  object-fit: contain !important;
  margin: auto !important;
  display: block !important;
}
.elementor-element[data-id="2s3d2i03"] {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.elementor-element[data-id="2s3d2i03"] .elementor-widget-container {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
}
ENDOFCSS

/* Nuestra Promesa: imagen en circulo — 50% mas pequena, centrada */
.elementor-element[data-id="2s3d2i03"] img {
  width: 28% !important;
  height: auto !important;
  object-fit: contain !important;
  margin: auto !important;
  display: block !important;
}
.elementor-element[data-id="2s3d2i03"] .elementor-widget-container {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
}

/* Nuestra Promesa: imagen reducida al 70% con especificidad alta */
.elementor-13 .elementor-element.elementor-element-2s3d2i03 img {
  width: 70% !important;
  height: auto !important;
  object-fit: contain !important;
  margin: auto !important;
  display: block !important;
}

/* ============================================================
   FOOTER FINAL — pixel-perfect según diseño PDF
   Background blanco, tipografía gris, social icons verde
   ============================================================ */

/* Fondo blanco limpio */
.elementor-6 .elementor-element.elementor-element-ftr_main,
.elementor-6 .elementor-element.elementor-element-ftr_main:not(.elementor-motion-effects-element-type-background) {
  background-color: #FFFFFF !important;
  background-image: none !important;
}

/* Inner container: max-width, horizontal layout */
.elementor-6 .elementor-element.elementor-element-ftr_inner {
  max-width: 1200px !important;
  padding: 48px 40px 20px 80px !important;
}

/* Column 1: Logo + Nav */
.elementor-6 .elementor-element.elementor-element-ftr_nav1 .elementor-nav-menu--main .elementor-item {
  color: #6B7280 !important;
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  padding: 3px 0 !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_nav1 .elementor-nav-menu--main .elementor-item:hover,
.elementor-6 .elementor-element.elementor-element-ftr_nav1 .elementor-nav-menu--main .elementor-item-active {
  color: #9dc41a !important;
}

/* Column 2: Services list */
.elementor-6 .elementor-element.elementor-element-ftr_services_list .elementor-icon-list-text {
  color: #6B7280 !important;
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_services_list .elementor-icon-list-text:hover {
  color: #9dc41a !important;
}
/* Hide list icons */
.elementor-6 .elementor-element.elementor-element-ftr_services_list .elementor-icon-list-icon {
  display: none !important;
}

/* Column 3: Address + phone */
.elementor-6 .elementor-element.elementor-element-ftr_col3 p,
.elementor-6 .elementor-element.elementor-element-ftr_col3 span,
.elementor-6 .elementor-element.elementor-element-ftr_col3 .elementor-icon-list-text {
  color: #374151 !important;
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  font-size: 16px !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_col3 .elementor-icon-list-icon i {
  color: #9dc41a !important;
}

/* Column 4: Siguenos heading */
.elementor-6 .elementor-element.elementor-element-ftr_col4 .elementor-heading-title {
  color: #374151 !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
}

/* Social icons: borde verde lima, fondo transparente */
.elementor-6 .elementor-element.elementor-element-ftr_social .elementor-social-icon {
  background-color: transparent !important;
  border: 2px solid #9dc41a !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 6px !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_social .elementor-social-icon:hover {
  background-color: #9dc41a !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_social .elementor-social-icon i,
.elementor-6 .elementor-element.elementor-element-ftr_social .elementor-social-icon svg {
  color: #9dc41a !important;
  fill: #9dc41a !important;
  font-size: 16px !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_social .elementor-social-icon:hover i,
.elementor-6 .elementor-element.elementor-element-ftr_social .elementor-social-icon:hover svg {
  color: #FFFFFF !important;
  fill: #FFFFFF !important;
}

/* Divider: muy sutil */
.elementor-6 .elementor-element.elementor-element-ftr_divider .elementor-divider-separator {
  border-color: #E5E7EB !important;
}

/* Bottom section: copyright */
.elementor-6 .elementor-element.elementor-element-ftr_bottom p,
.elementor-6 .elementor-element.elementor-element-ftr_bottom span {
  color: #9CA3AF !important;
  font-size: 14px !important;
}

/* Disclaimer legal: gris claro, centrado, una linea */
.elementor-6 .elementor-element.elementor-element-ftr_disclaimer p {
  color: #9CA3AF !important;
  font-size: 13px !important;
  text-align: center !important;
  line-height: 1.5 !important;
}

/* All footer headings (column titles) */
.elementor-6 .elementor-element.elementor-element-ftr_col1 .elementor-heading-title,
.elementor-6 .elementor-element.elementor-element-ftr_col2 .elementor-heading-title,
.elementor-6 .elementor-element.elementor-element-ftr_col3 .elementor-heading-title {
  display: none !important;
}

/* Logo: no invertir */
.elementor-6 .elementor-element.elementor-element-ftr_logo img {
  filter: none !important;
  width: auto !important;
}

/* ============================================================
   FOOTER PIXEL-PERFECT — compacto, alineado, sin espacios extra
   ============================================================ */

/* Main: padding reducido */
.elementor-6 .elementor-element.elementor-element-ftr_main {
  padding: 32px 0 0 !important;
}

/* Inner row: columnas centradas verticalmente, compactas */
.elementor-6 .elementor-element.elementor-element-ftr_inner {
  padding: 0 40px 16px !important;
  align-items: flex-start !important;
  gap: 0 !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_inner > .e-con-inner {
  align-items: flex-start !important;
  gap: 32px !important;
}

/* Column 1: logo + nav compactos */
.elementor-6 .elementor-element.elementor-element-ftr_col1 {
  gap: 12px !important;
  --gap: 12px !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_col1 > .e-con-inner {
  gap: 12px !important;
}

/* Logo: sin texto superpuesto, tamaño controlado */
.elementor-6 .elementor-element.elementor-element-ftr_logo {
  margin: 0 !important;
  padding: 0 !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_logo::before,
.elementor-6 .elementor-element.elementor-element-ftr_logo::after {
  display: none !important;
  content: none !important;
}

/* Columns 2,3,4: gap reducido */
.elementor-6 .elementor-element.elementor-element-ftr_col2,
.elementor-6 .elementor-element.elementor-element-ftr_col3,
.elementor-6 .elementor-element.elementor-element-ftr_col4 {
  gap: 8px !important;
  --gap: 8px !important;
}

/* Divider wrap: padding mínimo */
.elementor-6 .elementor-element.elementor-element-ftr_divider_wrap {
  padding: 8px 40px !important;
}

/* Bottom: padding mínimo */
.elementor-6 .elementor-element.elementor-element-ftr_bottom {
  padding: 8px 40px 16px !important;
  gap: 8px !important;
  --gap: 8px !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_bottom > .e-con-inner {
  gap: 8px !important;
}

/* Footer col1: logo y nav en ROW, no column */
.elementor-6 .elementor-element.elementor-element-ftr_col1 {
  flex-direction: row !important;
  --flex-direction: row !important;
  align-items: flex-start !important;
  gap: 40px !important;
  --gap: 40px !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_col1 > .e-con-inner {
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 40px !important;
}
/* Nav links no deben estar full-width */
.elementor-6 .elementor-element.elementor-element-ftr_nav1 {
  width: auto !important;
  flex-shrink: 0 !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_logo {
  flex-shrink: 0 !important;
  width: auto !important;
}

/* Footer: reducir altura 40% */
.elementor-6 .elementor-element.elementor-element-ftr_main {
  padding: 16px 0 0 !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_inner {
  padding: 0 40px 8px !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_inner > .e-con-inner {
  gap: 24px !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_col1 > .e-con-inner {
  gap: 28px !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_divider_wrap {
  padding: 4px 40px !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_bottom {
  padding: 4px 40px 10px !important;
  gap: 4px !important;
  --gap: 4px !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_bottom > .e-con-inner {
  gap: 4px !important;
}
/* Logo size — controlled by FOOTER FINAL block */

/* Footer parte superior: restaurar espacio normal */
.elementor-6 .elementor-element.elementor-element-ftr_main {
  padding: 32px 0 0 !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_inner {
  padding: 0 40px 20px !important;
}

/* Footer parte inferior: compactar copyright + disclaimer */
.elementor-6 .elementor-element.elementor-element-ftr_divider_wrap {
  padding: 0 40px !important;
  margin: 0 !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_bottom {
  padding: 6px 40px 8px !important;
  gap: 2px !important;
  --gap: 2px !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_bottom > .e-con-inner {
  gap: 2px !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_copy {
  margin: 0 !important;
  padding: 0 !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_disclaimer {
  margin: 0 !important;
  padding: 0 !important;
}

/* Footer bottom: ultra compacto */
.elementor-6 .elementor-element.elementor-element-ftr_bottom {
  padding: 2px 40px 4px !important;
  gap: 0 !important;
  --gap: 0px !important;
  --row-gap: 0px !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_bottom > .e-con-inner {
  gap: 0 !important;
  --gap: 0px !important;
  --row-gap: 0px !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_copy,
.elementor-6 .elementor-element.elementor-element-ftr_copy .elementor-widget-container,
.elementor-6 .elementor-element.elementor-element-ftr_copy p {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.3 !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_disclaimer,
.elementor-6 .elementor-element.elementor-element-ftr_disclaimer .elementor-widget-container,
.elementor-6 .elementor-element.elementor-element-ftr_disclaimer p {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.3 !important;
}

/* Footer divider + bottom: cero margen, pegados a la línea */
.elementor-6 .elementor-element.elementor-element-ftr_divider_wrap {
  padding: 0 40px !important;
  margin: 0 !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_divider_wrap > .e-con-inner {
  padding: 0 !important;
  margin: 0 !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_divider {
  margin: 0 !important;
  padding: 0 !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_divider .elementor-divider {
  padding: 0 !important;
  margin: 0 !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_divider .elementor-divider-separator {
  margin: 0 !important;
  padding: 0 !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_bottom {
  padding: 4px 40px 6px !important;
  margin: 0 !important;
  gap: 0 !important;
  --gap: 0px !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_bottom > .e-con-inner {
  gap: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Footer: letra 50% mas grande, centrado, logo mas espacio */
.elementor-6 .elementor-element.elementor-element-ftr_inner {
  justify-content: center !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_inner > .e-con-inner {
  justify-content: center !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

/* Logo mas grande */
/* Logo + nav size — controlled by FOOTER FINAL block */

/* Services list: 24px */
.elementor-6 .elementor-element.elementor-element-ftr_services_list .elementor-icon-list-text {
  font-size: 24px !important;
}

/* Address: 24px */
.elementor-6 .elementor-element.elementor-element-ftr_col3 p,
.elementor-6 .elementor-element.elementor-element-ftr_col3 span,
.elementor-6 .elementor-element.elementor-element-ftr_col3 .elementor-icon-list-text {
  font-size: 24px !important;
}

/* Siguenos heading: 24px */
.elementor-6 .elementor-element.elementor-element-ftr_col4 .elementor-heading-title {
  font-size: 24px !important;
}

/* Social icons mas grandes */
.elementor-6 .elementor-element.elementor-element-ftr_social .elementor-social-icon {
  width: 44px !important;
  height: 44px !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_social .elementor-social-icon i,
.elementor-6 .elementor-element.elementor-element-ftr_social .elementor-social-icon svg {
  font-size: 22px !important;
}

/* Col1: mas espacio entre logo y nav */
.elementor-6 .elementor-element.elementor-element-ftr_col1 > .e-con-inner {
  gap: 48px !important;
}

/* Footer: mas espacio entre columnas, logo mas grande y centrado */
.elementor-6 .elementor-element.elementor-element-ftr_inner > .e-con-inner {
  gap: 60px !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_col1 > .e-con-inner {
  gap: 60px !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_logo img {
  height: 140px !important;
  width: auto !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_logo {
  padding-right: 16px !important;
  flex-shrink: 0 !important;
}

/* Footer: ancho fijo por columna para evitar sobreposición */
.elementor-6 .elementor-element.elementor-element-ftr_inner > .e-con-inner {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 40px !important;
  align-items: flex-start !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_col1 {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_col1 > .e-con-inner {
  flex-wrap: nowrap !important;
  gap: 32px !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_col2 {
  flex: 0 0 180px !important;
  width: 180px !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_col3 {
  flex: 0 0 200px !important;
  width: 200px !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_col4 {
  flex: 0 0 160px !important;
  width: 160px !important;
}
/* Logo tamaño — controlled by FOOTER FINAL block */
.elementor-6 .elementor-element.elementor-element-ftr_logo {
  padding-right: 28px !important;
}
/* Nav links no wrap */
.elementor-6 .elementor-element.elementor-element-ftr_nav1 .elementor-item {
  white-space: nowrap !important;
}

/* Fix: span verde en intro servicios debe heredar font-size del padre (50px) */
body.page-id-27 .elementor-element[data-id="svc-intro-title"] span {
  font-size: inherit !important;
}

/* Footer social icons: 1 fila, no wrap */
.elementor-6 .elementor-element.elementor-element-ftr_social .elementor-social-icons-wrapper {
  flex-wrap: nowrap !important;
  display: flex !important;
  flex-direction: row !important;
  gap: 10px !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_social .elementor-grid {
  display: flex !important;
  flex-wrap: nowrap !important;
  flex-direction: row !important;
  gap: 10px !important;
  grid-template-columns: none !important;
}
/* Iconos dirección: verde lima */
.elementor-6 .elementor-element.elementor-element-ftr_col3 .elementor-icon-list-icon i,
.elementor-6 .elementor-element.elementor-element-ftr_col3 .elementor-icon-list-icon svg {
  color: #9dc41a !important;
  fill: #9dc41a !important;
  font-size: 22px !important;
}

/* Footer: columnas mas anchas, aprovechar el espacio */
.elementor-6 .elementor-element.elementor-element-ftr_col2 {
  flex: 0 0 220px !important;
  width: 220px !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_col3 {
  flex: 0 0 280px !important;
  width: 280px !important;
}
.elementor-6 .elementor-element.elementor-element-ftr_col4 {
  flex: 0 0 220px !important;
  width: 220px !important;
}

/* ============================================================
   ALL DISCLAIMERS — unified 11px across all pages
   ============================================================ */
body .elementor-element[data-id="qt1e2jbl"] p,
body .elementor-element[data-id="qt1e2jbl"] {
  font-size: 11px !important;
}
body.page-id-29 [data-id="ac-hero-legal"] p {
  font-size: 11px !important;
}
body.page-id-27 [data-id="svc-hero-legal"] p {
  font-size: 11px !important;
}
body .elementor-6 .elementor-element.elementor-element-ftr_disclaimer p,
body .elementor-element[data-id="ftr_disclaimer"] p {
  font-size: 10px !important;
}

/* ============================================================
   FOOTER FINAL — white bg, grey text, consistent 16px
   ============================================================ */

/* Global footer text reset: 18px, grey, consistent line-height */
body .elementor-6 .elementor-element.elementor-element-ftr_nav1 .elementor-nav-menu--main .elementor-item {
  font-size: 18px !important;
  color: #6B7280 !important;
  line-height: 1.8 !important;
  font-family: 'Open Sans', sans-serif !important;
  font-weight: 400 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
body .elementor-6 .elementor-element.elementor-element-ftr_nav1 .elementor-nav-menu--main .elementor-item.elementor-item-active {
  color: #9dc41a !important;
}
body .elementor-6 .elementor-element.elementor-element-ftr_nav1 .elementor-nav-menu--main .elementor-item:hover {
  color: #9dc41a !important;
}

/* Services list */
body .elementor-6 .elementor-element.elementor-element-ftr_services_list .elementor-icon-list-text {
  font-size: 18px !important;
  color: #6B7280 !important;
  white-space: nowrap !important;
  line-height: 1.8 !important;
  font-family: 'Open Sans', sans-serif !important;
}
body .elementor-6 .elementor-element.elementor-element-ftr_services_list .elementor-icon-list-icon {
  display: none !important;
}

/* Address + phone: same grey, 16px */
body .elementor-6 .elementor-element[data-id="ftr_addr"],
body .elementor-6 .elementor-element[data-id="ftr_addr"] p,
body .elementor-6 .elementor-element[data-id="ftr_addr"] span,
body .elementor-6 .elementor-element[data-id="ftr_addr"] div,
body .elementor-6 .elementor-element[data-id="ftr_addr"] .elementor-icon-list-text {
  font-size: 18px !important;
  color: #6B7280 !important;
  white-space: nowrap !important;
  line-height: 1.8 !important;
  font-family: 'Open Sans', sans-serif !important;
}

/* Address: replace FA icons with custom PNGs */
body .elementor-6 .elementor-element[data-id="ftr_addr"] i.fas {
  font-size: 0 !important;
  width: 24px !important;
  height: 24px !important;
  display: inline-block !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  flex-shrink: 0 !important;
}
body .elementor-6 .elementor-element[data-id="ftr_addr"] i.fa-map-marker-alt {
  background-image: url('/wp-content/uploads/ayc-photos/recurso-26-location.png') !important;
}
body .elementor-6 .elementor-element[data-id="ftr_addr"] i.fa-phone-alt {
  background-image: url('/wp-content/uploads/ayc-photos/recurso-27-phone.png') !important;
  width: 20px !important;
  height: 20px !important;
}

/* Column headings — dark navy, bold */
body .elementor-6 .elementor-element[data-id="ftr_follow"] .elementor-heading-title {
  color: #1e2751 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  font-family: 'Montserrat', sans-serif !important;
}

/* Social icons — use custom image */
body .elementor-6 .elementor-element[data-id="ftr_social"] .elementor-social-icon {
  background-color: transparent !important;
  border: 2px solid #9dc41a !important;
  border-radius: 8px !important;
  width: 40px !important;
  height: 40px !important;
}
body .elementor-6 .elementor-element[data-id="ftr_social"] .elementor-social-icon i,
body .elementor-6 .elementor-element[data-id="ftr_social"] .elementor-social-icon svg {
  color: #9dc41a !important;
  fill: #9dc41a !important;
  font-size: 18px !important;
  width: 18px !important;
  height: 18px !important;
}

/* Hide "© 2024 AYC Group" line */
body .elementor-6 .elementor-element[data-id="ftr_copy"] {
  display: none !important;
}

/* Reduce space between main footer and disclaimer */
body .elementor-6 .elementor-element[data-id="ftr_main"] {
  padding: 48px 40px 0 80px !important;
  gap: 0 !important;
  --gap: 0px !important;
}
body .elementor-6 .elementor-element[data-id="ftr_main"] > .e-con-inner {
  gap: 0 !important;
  --gap: 0px !important;
}
body .elementor-6 .elementor-element[data-id="ftr_divider_wrap"] {
  margin: 8px 0 4px !important;
  padding: 0 !important;
}
body .elementor-6 .elementor-element[data-id="ftr_bottom"] {
  padding: 4px 40px 12px !important;
  gap: 2px !important;
  --gap: 2px !important;
}
body .elementor-6 .elementor-element[data-id="ftr_bottom"] > .e-con-inner {
  gap: 2px !important;
}

/* Disclaimer text */
body .elementor-6 .elementor-element[data-id="ftr_disclaimer"] p {
  font-size: 12px !important;
  color: #9CA3AF !important;
  text-align: center !important;
  line-height: 1.5 !important;
}

/* ============================================================
   RESPONSIVE — HOME (page-id-13) + Header + Footer
   Fluid typography + breakpoints for laptop/tablet/mobile
   ============================================================ */

/* ── GLOBAL: prevent horizontal scroll at any zoom level ── */
html, body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}
.elementor-13, .elementor-5, .elementor-6 {
  max-width: 100vw !important;
  overflow-x: hidden !important;
}
/* All parent containers: never exceed viewport */
.elementor-13 .e-con.e-parent,
.elementor-5 .e-con.e-parent,
.elementor-6 .e-con.e-parent {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* ── FLUID TYPOGRAPHY: scales smoothly between 375px→1200px ── */
@media (max-width: 1200px) {
  body .elementor-element[data-id="j9ge1grr"] .elementor-heading-title {
    font-size: clamp(32px, 5.5vw, 50px) !important;
  }
  body .elementor-element[data-id="g968a4nf"] .elementor-heading-title {
    font-size: clamp(28px, 5vw, 70px) !important;
  }
  body .elementor-element[data-id="dcms2iot"] .elementor-heading-title {
    font-size: clamp(24px, 4.5vw, 64px) !important;
  }
}

/* ── SMALL LAPTOP / 120% ZOOM (≤1024px) ── */
@media (max-width: 1024px) {
  /* Global: add lateral breathing room */
  .elementor-13 .e-con.e-parent {
    padding-left: 4vw !important;
    padding-right: 4vw !important;
    box-sizing: border-box !important;
    max-width: 100% !important;
  }
  .elementor-13 .e-con-inner {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  /* Header: reduce nav font, tighten spacing */
  body .elementor-5 .elementor-element.elementor-element-hdr_nav .elementor-nav-menu--main a.elementor-item {
    font-size: 15px !important;
  }
  .elementor-5 .elementor-element.elementor-element-hdr_phone .elementor-icon-list-text {
    font-size: 14px !important;
  }
  /* Hero title: scale down proportionally */
  body .elementor-element[data-id="j9ge1grr"] .elementor-heading-title {
    font-size: 42px !important;
  }
  /* Section heading "Soluciones claras": scale */
  body .elementor-element[data-id="g968a4nf"] .elementor-heading-title {
    font-size: 48px !important;
  }
  /* Stats: smaller numbers */
  .elementor-element[data-id="zgzick0h"] .elementor-image-box-title,
  .elementor-element[data-id="ya4wbjti"] .elementor-image-box-title,
  .elementor-element[data-id="c8ql1y3s"] .elementor-image-box-title,
  .elementor-element[data-id="0h5qmaso"] .elementor-image-box-title,
  .elementor-element[data-id="ur1nztr5"] .elementor-image-box-title {
    font-size: 32px !important;
  }
  /* Stats: "99%" widget reduce width */
  .elementor-element[data-id="ur1nztr5"] {
    flex: 0 0 240px !important;
    min-width: 240px !important;
    max-width: 240px !important;
  }
  /* Process cards: reduce width */
  body.page-id-13 .elementor-13 .elementor-element.elementor-element-bbslyhfe,
  body.page-id-13 .elementor-13 .elementor-element.elementor-element-s1m0bqcn,
  body.page-id-13 .elementor-13 .elementor-element.elementor-element-3pitxuf4 {
    flex: 0 0 200px !important;
    width: 200px !important;
    max-width: 200px !important;
    padding: 40px 16px 28px !important;
  }
  /* Subtitle "Asi trabajamos" */
  .elementor-element[data-id="oppvfba2"] p,
  .elementor-element[data-id="oppvfba2"] .elementor-widget-text-editor p {
    font-size: 22px !important;
  }
  /* CTA title */
  body .elementor-element[data-id="dcms2iot"] .elementor-heading-title {
    font-size: 40px !important;
  }
  /* Nuestra Promesa list */
  body.page-id-13 .elementor-element[data-id="ytds4dmc"] .elementor-icon-list-text strong {
    font-size: 30px !important;
  }
  /* Tabs: smaller */
  .elementor-13 .elementor-element.elementor-element-6eeek77d .elementor-tab-title {
    font-size: 15px !important;
    padding: 10px 20px !important;
  }
  /* Footer: reduce padding */
  body .elementor-6 .elementor-element[data-id="ftr_main"] {
    padding: 40px 20px 0 40px !important;
  }
}

/* ── TABLET (≤768px) ── */
@media (max-width: 768px) {
  /* Global: prevent ANY overflow */
  *, *::before, *::after {
    max-width: 100vw !important;
    box-sizing: border-box !important;
  }
  .e-con.e-parent, .e-con-inner {
    overflow-x: hidden !important;
  }
  /* Header: hide phone, compact right side */
  .elementor-5 .elementor-element.elementor-element-hdr_phone {
    display: none !important;
  }
  .elementor-5 .elementor-element.elementor-element-hdr_right {
    max-width: 200px !important;
    gap: 8px !important;
    overflow: hidden !important;
  }
  .elementor-5 .elementor-element.elementor-element-hdr_cta .elementor-button {
    font-size: 13px !important;
    padding: 8px 16px !important;
  }
  /* Hero */
  body .elementor-element[data-id="j9ge1grr"] .elementor-heading-title {
    font-size: 36px !important;
    max-width: 100% !important;
  }
  body .elementor-element[data-id="l9417o9n"] {
    max-width: 90% !important;
  }
  /* Disclaimer smaller */
  body .elementor-element[data-id="qt1e2jbl"] p {
    font-size: 11px !important;
  }
  /* Subtitles */
  .elementor-element[data-id="oppvfba2"] p,
  .elementor-element[data-id="oppvfba2"] .elementor-widget-text-editor p {
    font-size: 18px !important;
  }
  /* Stats: wrap to 2 rows */
  .elementor-element[data-id="qh0b8rle"] {
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 20px !important;
  }
  .elementor-element[data-id="qh0b8rle"] > .elementor-element {
    flex: 0 0 28% !important;
    max-width: 28% !important;
    border-right: none !important;
  }
  .elementor-element[data-id="ur1nztr5"] {
    flex: 0 0 60% !important;
    min-width: 60% !important;
    max-width: 60% !important;
  }
  /* Process cards: stack vertically */
  body.page-id-13 .elementor-element.elementor-element-myg8of7f.e-con.e-flex {
    flex-direction: column !important;
    align-items: center !important;
  }
  body.page-id-13 .elementor-13 .elementor-element.elementor-element-bbslyhfe,
  body.page-id-13 .elementor-13 .elementor-element.elementor-element-s1m0bqcn,
  body.page-id-13 .elementor-13 .elementor-element.elementor-element-3pitxuf4 {
    flex: 0 0 auto !important;
    width: 80% !important;
    max-width: 400px !important;
  }
  /* Tabs: stack */
  .elementor-13 .elementor-element.elementor-element-6eeek77d .elementor-tabs-wrapper {
    flex-direction: column !important;
    gap: 8px !important;
  }
  /* Nuestra Promesa: stack */
  .elementor-element[data-id=ytds4dmc] .elementor-icon-list-items {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
  }
  .elementor-element[data-id=ytds4dmc] .elementor-icon-list-item {
    flex-direction: row !important;
    text-align: left !important;
  }
  /* Testimonials: stack */
  .elementor-element[data-id="581ginu8"] {
    flex-direction: column !important;
    gap: 24px !important;
  }
  /* Blog posts: 2 columns */
  .elementor-13 .elementor-element.elementor-element-mtraui2s .elementor-posts-container {
    grid-template-columns: 1fr 1fr !important;
  }
  /* CTA */
  body .elementor-element[data-id="dcms2iot"] .elementor-heading-title {
    font-size: 28px !important;
  }
  /* Footer: 2×2 grid */
  body .elementor-6 .elementor-element[data-id="ftr_main"] {
    padding: 32px 20px 0 20px !important;
  }
  .elementor-6 .elementor-element[data-id="ftr_inner"],
  .elementor-6 .elementor-element[data-id="ftr_main"] > .e-con-inner {
    flex-wrap: wrap !important;
    gap: 24px !important;
  }
  .elementor-6 .elementor-element[data-id="ftr_col1"] {
    flex: 0 0 45% !important;
    max-width: 45% !important;
  }
  .elementor-6 .elementor-element[data-id="ftr_col2"] {
    flex: 0 0 40% !important;
    max-width: 40% !important;
  }
  .elementor-6 .elementor-element[data-id="ftr_col3"] {
    flex: 0 0 45% !important;
    max-width: 45% !important;
  }
  .elementor-6 .elementor-element[data-id="ftr_col4"] {
    flex: 0 0 40% !important;
    max-width: 40% !important;
  }
  .elementor-6 .elementor-element.elementor-element-ftr_logo img {
    height: 100px !important;
  }
}

/* ── MOBILE (≤480px) ── */
@media (max-width: 480px) {
  /* Override all nowrap for mobile */
  .elementor-6 .elementor-element[data-id="ftr_addr"] span,
  .elementor-6 .elementor-element[data-id="ftr_addr"] div,
  .elementor-6 .elementor-element[data-id="ftr_addr"] p,
  .elementor-6 .elementor-element.elementor-element-ftr_services_list .elementor-icon-list-text,
  .elementor-6 .elementor-element.elementor-element-ftr_nav1 .elementor-item {
    white-space: normal !important;
  }
  /* Hero */
  body .elementor-element[data-id="j9ge1grr"] .elementor-heading-title {
    font-size: 28px !important;
  }
  body .elementor-element[data-id="l9417o9n"] {
    max-width: 95% !important;
  }
  /* Section titles */
  body .elementor-element[data-id="g968a4nf"] .elementor-heading-title {
    font-size: 24px !important;
  }
  body .elementor-element[data-id="dny0xfaj"] .elementor-heading-title {
    font-size: 24px !important;
  }
  /* Stats: 2-column wrapped flex */
  .elementor-element[data-id="qh0b8rle"] {
    --display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 16px !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
  .elementor-element[data-id="qh0b8rle"] > .elementor-element {
    flex: 0 0 calc(50% - 12px) !important;
    max-width: calc(50% - 12px) !important;
    width: calc(50% - 12px) !important;
    min-width: 0 !important;
    border-right: none !important;
  }
  .elementor-element[data-id="ur1nztr5"] {
    flex: 0 0 90% !important;
    max-width: 90% !important;
    min-width: 0 !important;
  }
  .elementor-element[data-id="zgzick0h"] .elementor-image-box-title,
  .elementor-element[data-id="ya4wbjti"] .elementor-image-box-title,
  .elementor-element[data-id="c8ql1y3s"] .elementor-image-box-title,
  .elementor-element[data-id="0h5qmaso"] .elementor-image-box-title,
  .elementor-element[data-id="ur1nztr5"] .elementor-image-box-title {
    font-size: 28px !important;
  }
  /* Header right: compact */
  .elementor-5 .elementor-element.elementor-element-hdr_right {
    max-width: 160px !important;
    overflow: hidden !important;
  }
  .elementor-5 .elementor-element.elementor-element-hdr_cta .elementor-button {
    font-size: 12px !important;
    padding: 8px 12px !important;
  }
  /* Process cards: full width */
  body.page-id-13 .elementor-13 .elementor-element.elementor-element-bbslyhfe,
  body.page-id-13 .elementor-13 .elementor-element.elementor-element-s1m0bqcn,
  body.page-id-13 .elementor-13 .elementor-element.elementor-element-3pitxuf4 {
    width: 90% !important;
    max-width: none !important;
  }
  /* Tabs: smaller text */
  .elementor-13 .elementor-element.elementor-element-6eeek77d .elementor-tab-title {
    font-size: 15px !important;
    padding: 10px 16px !important;
  }
  /* CTA */
  body .elementor-element[data-id="dcms2iot"] .elementor-heading-title {
    font-size: 22px !important;
  }
  .elementor-element[data-id="kuhn6vhj"] .elementor-button {
    font-size: 22px !important;
    padding: 8px 24px !important;
  }
  /* Blog posts: 1 column */
  .elementor-13 .elementor-element.elementor-element-mtraui2s .elementor-posts-container {
    grid-template-columns: 1fr !important;
  }
  /* Footer: stack all columns */
  .elementor-6 .elementor-element[data-id="ftr_col1"],
  .elementor-6 .elementor-element[data-id="ftr_col2"],
  .elementor-6 .elementor-element[data-id="ftr_col3"],
  .elementor-6 .elementor-element[data-id="ftr_col4"] {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
  .elementor-6 .elementor-element[data-id="ftr_col1"] {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }
  .elementor-6 .elementor-element.elementor-element-ftr_logo img {
    height: 80px !important;
  }
  /* Nuestra Promesa */
  body.page-id-13 .elementor-element[data-id="ytds4dmc"] .elementor-icon-list-text strong {
    font-size: 24px !important;
  }
  body.page-id-13 .elementor-element[data-id="ytds4dmc"] .elementor-icon-list-text {
    font-size: 16px !important;
  }
}

/* "Cada historia que acompañamos deja una huella." — font-size handled by unified rule */

/* Process cards — esquinas más redondeadas (60% más) */
body.page-id-13 .elementor-13 .elementor-element.elementor-element-bbslyhfe,
body.page-id-13 .elementor-13 .elementor-element.elementor-element-s1m0bqcn,
body.page-id-13 .elementor-13 .elementor-element.elementor-element-3pitxuf4 {
  border-radius: 20px !important;
}

/* Hero servicios subtítulo — blanco sólido */
body.page-id-27 .elementor-element[data-id="svc-hero-sub"] .elementor-heading-title,
body.page-id-27 .elementor-element[data-id="svc-hero-sub"] h2 {
  color: #FFFFFF !important;
}

/* Card CTA buttons — mismo tamaño que Contáctanos */
body.page-id-27 .ayc-card-btn,
body.page-id-29 .ayc-card-btn {
  font-size: 18px !important;
  padding: 16px 40px !important;
}

/* "Incluye:" — 20px forzado */
body.page-id-27 .ayc-includes-title,
body.page-id-29 .ayc-includes-title,
body.page-id-27 h4.ayc-includes-title,
body.page-id-29 h4.ayc-includes-title,
body.page-id-27 p.ayc-includes-title,
body.page-id-29 p.ayc-includes-title {
  font-size: 29px !important;
  line-height: 1.3 !important;
}
body.page-id-27 [data-id="svc-card-a"] p.ayc-includes-title,
body.page-id-27 [data-id="svc-card-b"] p.ayc-includes-title,
body.page-id-27 [data-id="svc-card-c"] p.ayc-includes-title,
body.page-id-29 [data-id="svc-card-a"] p.ayc-includes-title,
body.page-id-29 [data-id="svc-card-b"] p.ayc-includes-title,
body.page-id-29 [data-id="svc-card-c"] p.ayc-includes-title {
  font-size: 29px !important;
}

/* CTA button servicios — 30% más grande */
body.page-id-27 [data-id="svc-cta-btn"] .elementor-button {
  font-size: 31px !important;
  padding: 20px 60px !important;
}

/* Check items servicios — color gris forzado en todas las cards */
body.page-id-27 .ayc-check-item,
body.page-id-27 [data-id="svc-card-a"] .ayc-check-item,
body.page-id-27 [data-id="svc-card-b"] .ayc-check-item,
body.page-id-27 [data-id="svc-card-c"] .ayc-check-item,
body.page-id-27 .ayc-card-body .ayc-check-item,
body.page-id-27 .ayc-card-body .ayc-checklist-grid .ayc-check-item,
body.page-id-27 .ayc-card-body div.ayc-check-item {
  color: #374151 !important;
}

/* Servicio 2 — 5 columnas (5+4) */
body.page-id-27 [data-id="svc-card-b"] .ayc-checklist-grid {
  grid-template-columns: repeat(5, 1fr) !important;
}

/* Hero button HOME — estándar unificado */
body .elementor-element[data-id="1kg6tj85"] .elementor-button {
  font-size: 29px !important;
  padding: 12px 36px !important;
}
/* Hero button SERVICIOS en overrides — estándar unificado */
body.page-id-27 [data-id="svc-hero-btn"] .elementor-button {
  font-size: 29px !important;
  padding: 12px 36px !important;
}

/* ── PÁRRAFO ESTÁNDAR 15px / lh1.7 — todas las páginas ── */
body .elementor-widget-text-editor p,
body .elementor-icon-box-description,
body .elementor-testimonial-content {
  font-size: 15px !important;
  line-height: 1.7 !important;
}
/* Excepciones: disclaimers mantienen 11px */
body .elementor-element[data-id="qt1e2jbl"] p,
body [data-id*="hero-legal"] p,
body .elementor-element[data-id="acchc46abe"] p,
body .elementor-element[data-id="ftr_disclaimer"] p {
  font-size: 11px !important;
}

/* Global: service card checklist items — grey text */
.ayc-check-item {
  color: #6B7280 !important;
}

/* === SERVICIOS: gap cards→CTA balanced === */
body.page-id-27 .elementor-element[data-id="svc-cta-sec"] {
  padding-top: 60px !important;
}
body.page-id-27 .elementor-element[data-id="svc-cards-sec"] {
  padding-bottom: 60px !important;
}
body.page-id-27 [data-id="svc-card-a-wrap"],
body.page-id-27 [data-id="svc-card-b-wrap"],
body.page-id-27 [data-id="svc-card-c-wrap"] {
  padding: 20px 0 0 0 !important;
}
body.page-id-27 [data-id="svc-card-a-wrap"] > .e-con-inner,
body.page-id-27 [data-id="svc-card-b-wrap"] > .e-con-inner,
body.page-id-27 [data-id="svc-card-c-wrap"] > .e-con-inner {
  padding-bottom: 0 !important;
}
body.page-id-27 [data-id="svc-card-a-wrap"] .ayc-service-card,
body.page-id-27 [data-id="svc-card-b-wrap"] .ayc-service-card,
body.page-id-27 [data-id="svc-card-c-wrap"] .ayc-service-card {
  margin-bottom: 0 !important;
}

/* === HOME tweaks: padding sections, disclaimer center, card title spacing === */
body .elementor-element[data-id="nchb1fkt"] {
  padding-top: 40px !important;
}
body .elementor-element[data-id="qt1e2jbl"],
body .elementor-element[data-id="qt1e2jbl"] p,
body .elementor-element[data-id="qt1e2jbl"] .elementor-widget-container {
  text-align: center !important;
}
body .elementor-element[data-id="qt1e2jbl"] .elementor-widget-container {
  display: flex !important;
  justify-content: center !important;
}
body .elementor-element[data-id="ojot1sgd"],
body .elementor-element[data-id="qc6hehwt"],
body .elementor-element[data-id="njio8v9u"] {
  margin-bottom: 6px !important;
}
body .elementor-element[data-id="bbslyhfe"],
body .elementor-element[data-id="s1m0bqcn"],
body .elementor-element[data-id="3pitxuf4"] {
  --gap: 6px !important;
  gap: 6px !important;
}

/* Global: body text 10% larger (18px → 20px) */
body .elementor-widget-text-editor p,
body .elementor-widget-text-editor span,
body .elementor-icon-list-text,
body .elementor-icon-box-description,
body .elementor-testimonial-content,
body .ayc-card-desc,
body .ayc-check-item,
body .ayc-card-footer-text {
  font-size: 22px !important;
}

/* ============================================================
   HEADER: Servicios dropdown submenu
   ============================================================ */
/* Show dropdown on hover */
body .elementor-5 .elementor-element-hdr_nav .menu-item-has-children {
  position: relative !important;
}
body .elementor-5 .elementor-element-hdr_nav .menu-item-has-children > .sub-menu {
  display: none !important;
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  background: #FFFFFF !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
  padding: 8px 0 !important;
  min-width: 220px !important;
  z-index: 9999 !important;
  list-style: none !important;
  margin: 4px 0 0 0 !important;
}
body .elementor-5 .elementor-element-hdr_nav .menu-item-has-children:hover > .sub-menu {
  display: block !important;
}
/* Submenu items */
body .elementor-5 .elementor-element-hdr_nav .sub-menu li {
  display: block !important;
}
body .elementor-5 .elementor-element-hdr_nav .sub-menu a.elementor-sub-item {
  display: block !important;
  padding: 10px 20px !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #6B7280 !important;
  font-family: 'Open Sans', sans-serif !important;
  text-decoration: none !important;
  transition: background 0.2s, color 0.2s !important;
}
body .elementor-5 .elementor-element-hdr_nav .sub-menu a.elementor-sub-item:hover {
  background: #F4F5F7 !important;
  color: #9dc41a !important;
}
/* Chevron indicator on Servicios */
body .elementor-5 .elementor-element-hdr_nav .menu-item-has-children > a.elementor-item::after {
  content: ' ▾' !important;
  font-size: 10px !important;
  margin-left: 4px !important;
}

/* Servicios dropdown: wider + prevent click navigation */
body .elementor-5 .elementor-element-hdr_nav .menu-item-has-children > .sub-menu {
  min-width: 280px !important;
}
/* Servicios parent: cursor pointer, no navigate */
body .elementor-5 .elementor-element-hdr_nav .menu-item-has-children > a[href="#"] {
  cursor: pointer !important;
}

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

/* Footer: shadow on top for all pages */
body .elementor-location-footer {
  box-shadow: 0 -4px 20px rgba(0,0,0,0.08) !important;
}

/* Global minimum body text: 20px — nothing smaller except disclaimers/footnotes */
body .elementor-widget-text-editor p,
body .elementor-widget-text-editor span,
body .elementor-icon-box-description,
body .elementor-icon-list-text,
body .elementor-testimonial-content,
body .ayc-card-desc,
body .ayc-check-item,
body .ayc-card-footer-text,
body .elementor-tab-content p,
body .elementor-tab-content div {
  font-size: 22px !important;
}
/* Process card descriptions inside white cards */
body .elementor-element[data-id^="ac-p"] .elementor-icon-box-description,
body .elementor-element[data-id^="acc-p"] .elementor-icon-box-description,
body [data-id="ac-proc-grid"] .elementor-icon-box-description,
body [data-id="acc-proc-grid"] .elementor-icon-box-description {
  font-size: 22px !important;
}
/* Que hacemos section in ayuda-center */
body.page-id-29 [data-id="ac-que-desc"] p,
body.page-id-29 [data-id="ac-que-foot"] p,
body.page-id-29 [data-id="ac-que-grid"] .elementor-icon-box-title {
  font-size: 22px !important;
}

/* ============================================================
   GLOBAL: Only 2 fonts allowed — Futura Bold + Futura Medium
   Applied to ALL pages via overrides.css (loaded on every page)
   ============================================================ */
body h1, body h2, body h3, body h4,
body .elementor-heading-title,
body .elementor-icon-box-title,
body .elementor-image-box-title,
body .ayc-card-title,
body .ayc-includes-title,
body .elementor-button,
body .elementor-tab-title {
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
}
body p, body li, body span, body div,
body .elementor-widget-text-editor p,
body .elementor-widget-text-editor span,
body .elementor-icon-box-description,
body .elementor-image-box-description,
body .elementor-icon-list-text,
body .elementor-testimonial-content,
body .elementor-testimonial-name,
body .elementor-testimonial-job,
body .ayc-card-desc,
body .ayc-check-item,
body .ayc-card-footer-text,
body .elementor-tab-content p {
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
}
/* Exclude icons from font override */
body i, body svg, body .fa, body .fas, body .far, body .fab {
  font-family: inherit !important;
}

/* ============================================================
   GLOBAL TESTIMONIAL CAROUSEL — same design on ALL pages
   ============================================================ */

/* Card wrapper: green border, rounded, space for top-photo */
body .elementor-testimonial-wrapper {
  border: 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: centered at top straddling card top edge */
body .ayc-carousel-track .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 .ayc-carousel-track .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: column layout centered */
body .ayc-carousel-track .elementor-testimonial-meta {
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  margin-top: 16px !important;
}
body .ayc-carousel-track .elementor-testimonial-meta-inner {
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 2px !important;
}

/* Quote: centered, italic */
body .ayc-carousel-track .elementor-testimonial-content {
  text-align: center !important;
  font-style: italic !important;
  color: #4B5563 !important;
  font-size: 22px !important;
  line-height: 1.75 !important;
}

/* Name + job */
body .ayc-carousel-track .elementor-testimonial-name {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #1e2751 !important;
  text-align: center !important;
}
body .ayc-carousel-track .elementor-testimonial-job {
  font-size: 22px !important;
  color: #6B7280 !important;
  text-align: center !important;
}

/* Carousel containers: overflow visible for photos */
body .ayc-carousel-track .elementor-widget-testimonial {
  overflow: visible !important;
}
body .ayc-carousel-wrap {
  overflow: visible !important;
}

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

/* ============================================================
   CTA BUTTON FLOATING ADVISORS — half inside / half outside card bottom
   (Same style as servicios page)
   ============================================================ */
body.page-id-78 .ayc-card-body {
  position: relative !important;
  padding-bottom: 40px !important;
}
body.page-id-78 .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-78 .ayc-card-cta-btn {
  display: inline-block !important;
  background: #9dc41a !important;
  color: #FFFFFF !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  padding: 14px 40px !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  transition: background 0.2s ease, transform 0.2s ease !important;
  box-shadow: 0 2px 8px rgba(157, 196, 26, 0.25) !important;
}
body.page-id-78 .ayc-card-cta-btn:hover {
  background: #8ab518 !important;
  transform: translateY(-2px) !important;
  color: #FFFFFF !important;
  text-decoration: none !important;
}
body.page-id-78 .ayc-service-card {
  margin-bottom: 40px !important;
}

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

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

/* Tighter line-height for intro and testimonial sections */
body .elementor-widget-text-editor p {
  margin-bottom: 8px !important;
}
body [data-id*="intro"] .elementor-widget-text-editor p {
  margin-bottom: 8px !important;
}
body [data-id*="test"] .elementor-testimonial-content {
  line-height: 1.5 !important;
}
body [data-id*="test"] .elementor-testimonial-name {
  margin-top: 8px !important;
}


/* Fix: testimonial card images overflow into text above
   Add space between paragraph and carousel for photos sticking out */
body.page-id-13 [data-id="581ginu8"],
body.page-id-13 [data-id="581ginu8"] > .e-con-inner {
  padding-top: 50px !important;
  margin-top: 10px !important;
}

/* ============================================================
   TESTIMONIALS — UNIFIED TYPOGRAPHY
   Title 32px > Subtitle 20px > Paragraph 15px
   ============================================================ */
/* Subtitle "Cada historia que acompañamos deja una huella" - ALL pages
   High-specificity to beat any legacy per-page rules. */
body .elementor .elementor-element.elementor-element-pxr2o2bu.elementor-widget-text-editor p,
body .elementor .elementor-element.elementor-element-accx6cbf02f.elementor-widget-text-editor p,
body .elementor .elementor-element.elementor-element-advx169b901.elementor-widget-text-editor p,
body .elementor .elementor-element.elementor-element-pxr2o2bu .elementor-widget-container p,
body .elementor .elementor-element.elementor-element-accx6cbf02f .elementor-widget-container p,
body .elementor .elementor-element.elementor-element-advx169b901 .elementor-widget-container p,
body [data-id="pxr2o2bu"] p,
body [data-id="accx6cbf02f"] p,
body [data-id="advx169b901"] p {
  font-size: 22px !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,0.90) !important;
  text-align: center !important;
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  margin-bottom: 16px !important;
}

/* Paragraph "Las más de 400 reseñas..." - smaller */
body [data-id="4x0jnkpu"] p,
body [data-id="4x0jnkpu"] .elementor-widget-text-editor p,
body [data-id="accx1626258"] p,
body [data-id="advx5fa45fe"] p,
body [data-id="4x0jnkpu"] strong,
body [data-id="accx1626258"] strong,
body [data-id="advx5fa45fe"] strong {
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: rgba(255,255,255,0.80) !important;
  text-align: center !important;
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
}

/* Ensure title stays at 32px across all pages */
body [data-id="ri79pxmq"] .elementor-heading-title,
body [data-id="accx6c57f68"] .elementor-heading-title,
body [data-id="advxc4c5aec"] .elementor-heading-title {
  font-size: 32px !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  text-align: center !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  margin-bottom: 12px !important;
}



/* ============================================================
   CAROUSEL DOTS - UNIFIED across all pages
   White circle with green border (inactive), full green (active)
   ============================================================ */
.ayc-carousel-dots,
.ayc-svc-dots {
  display: flex !important;
  justify-content: center !important;
  gap: 10px !important;
  margin-top: 20px !important;
}
.ayc-carousel-dot,
.ayc-svc-dot {
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: #FFFFFF !important;
  border: 2px solid #9dc41a !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  padding: 0 !important;
  opacity: 1 !important;
}
.ayc-carousel-dot.active,
.ayc-carousel-dot.ayc-active,
.ayc-svc-dot.active,
.ayc-svc-dot.ayc-active {
  background: #9dc41a !important;
  border-color: #9dc41a !important;
}
.ayc-carousel-dot:hover,
.ayc-svc-dot:hover {
  background: #9dc41a !important;
  transform: scale(1.15) !important;
}

/* === FINAL OVERRIDES: servicios intro one-line responsive === */
html body.page-id-27 .elementor-element[data-id="svc-intro-title"] p,
html body.page-id-27 .elementor-element[data-id="svc-intro-title"] p span {
  font-size: clamp(17px, 2vw, 34px) !important;
  white-space: nowrap !important;
  line-height: 1.3 !important;
}
html body.page-id-27 .elementor-element[data-id="svc-intro-title"] p img {
  height: clamp(17px, 2vw, 34px) !important;
}
html body.page-id-27 .elementor-element[data-id="svc-intro-inner"] > .e-con-inner,
html body.page-id-27 .elementor-element[data-id="svc-intro-sec"] > .e-con-inner {
  max-width: 100% !important;
}
html body.page-id-27 .elementor-element[data-id="svc-hero-sub"] .elementor-heading-title,
html body.page-id-27 .elementor-element[data-id="svc-hero-sub"] h2 {
  font-size: 32px !important;
}



/* ============================================================
   ZOHO FORMS - REDESIGN: SIMPLIFIED 3-FIELD MATERIAL
   Match reference: Nombre completo, Teléfono, Correo
   ============================================================ */

/* Right column: full width left aligned */
body .ayc-zoho-right-col {
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  border: none !important;
  flex: 1 1 460px !important;
  min-width: 320px !important;
  max-width: 100% !important;
}

/* Hide the form title we added (replaced by inline labels) */
body .ayc-zoho-right-col > p:first-child {
  display: none !important;
}

/* Form container reset */
body .ayc-zoho-material-form,
body .ayc-zoho-material-form #crmWebToEntityForm,
body #crmWebToEntityForm.zcwf_lblLeft {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  width: 100% !important;
  max-width: 100% !important;
  box-shadow: none !important;
}







/* Hide Lead Source */
body .ayc-zoho-material-form .zcwf_row:has(select[name="Lead Source"]) {
  display: none !important;
}

/* Each row spacing */
body .ayc-zoho-material-form .zcwf_row {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  margin: 0 0 28px 0 !important;
  padding: 0 !important;
  float: none !important;
}



/* Hide red asterisk for required fields */
body .ayc-zoho-material-form .zcwf_col_lab span {
  display: none !important;
}

/* Field container - full width */
body .ayc-zoho-material-form .zcwf_col_fld {
  width: 100% !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}

/* Hide help column */
body .ayc-zoho-material-form .zcwf_col_help {
  display: none !important;
}

/* Inputs - clean material underline */
body .ayc-zoho-material-form .zcwf_col_fld input[type="text"],
body .ayc-zoho-material-form .zcwf_col_fld input[type="email"],
body .ayc-zoho-material-form .zcwf_col_fld input[type="tel"],
body #crmWebToEntityForm .zcwf_col_fld input[type="text"] {
  width: 100% !important;
  max-width: 100% !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid #9ca3af !important;
  border-radius: 0 !important;
  padding: 4px 0 8px 0 !important;
  margin: 0 !important;
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  font-size: 16px !important;
  color: #1e2751 !important;
  outline: none !important;
  box-shadow: none !important;
  height: auto !important;
  float: none !important;
  line-height: 1.4 !important;
}
body .ayc-zoho-material-form .zcwf_col_fld input:focus,
body #crmWebToEntityForm .zcwf_col_fld input:focus {
  border-bottom: 1.5px solid #1e2751 !important;
}

/* Submit row */
body .ayc-zoho-material-form .zcwf_button {
  display: flex !important;
  justify-content: flex-start !important;
  margin-top: 8px !important;
}

/* Submit button - OUTLINE STYLE */
body .ayc-zoho-material-form input.formsubmit,
body .ayc-zoho-material-form input[type="submit"],
body #crmWebToEntityForm input.formsubmit {
  background: transparent !important;
  background-image: none !important;
  color: #1e2751 !important;
  border: 1.5px solid #1e2751 !important;
  border-radius: 4px !important;
  padding: 12px 38px !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  cursor: pointer !important;
  box-shadow: none !important;
  transition: all 0.25s ease !important;
  width: auto !important;
  height: auto !important;
  line-height: 1.4 !important;
  float: none !important;
}
body .ayc-zoho-material-form input.formsubmit:hover,
body #crmWebToEntityForm input.formsubmit:hover {
  background: #1e2751 !important;
  background-image: none !important;
  color: #FFFFFF !important;
  transform: none !important;
  box-shadow: 0 4px 12px rgba(30, 39, 81, 0.25) !important;
}

/* Hide reset button completely */
body .ayc-zoho-material-form input[type="reset"],
body .ayc-zoho-material-form input[value*="orrar"],
body .ayc-zoho-material-form input[value*="Reset"],
body #crmWebToEntityForm input[type="reset"] {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
}

/* Terms checkbox container - injected via JS */
.ayc-terms-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 16px 0 !important;
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  font-size: 13px !important;
  color: #6b7280 !important;
}
.ayc-terms-row input[type="checkbox"] {
  width: 14px !important;
  height: 14px !important;
  margin: 0 !important;
  cursor: pointer !important;
  accent-color: #9dc41a !important;
}
.ayc-terms-row label {
  cursor: pointer !important;
  margin: 0 !important;
}

/* Submit button - fix truncation */
body .ayc-zoho-material-form input.formsubmit,
body .ayc-zoho-material-form input[type="submit"] {
  min-width: 140px !important;
  max-width: none !important;
  width: auto !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
body .ayc-zoho-material-form .zcwf_button {
  display: block !important;
  text-align: left !important;
  width: 100% !important;
}

/* Terms row - proper inline alignment */
body .ayc-zoho-material-form .ayc-terms-row,
body .ayc-terms-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  margin: 0 0 18px 0 !important;
  width: 100% !important;
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  font-size: 13px !important;
  color: #6b7280 !important;
  text-align: left !important;
}
body .ayc-zoho-material-form .ayc-terms-row input[type="checkbox"],
body .ayc-terms-row input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  max-width: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  cursor: pointer !important;
  accent-color: #9dc41a !important;
  flex-shrink: 0 !important;
  border: 1px solid #9ca3af !important;
}
body .ayc-zoho-material-form .ayc-terms-row label,
body .ayc-terms-row label {
  cursor: pointer !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  font-size: 13px !important;
  color: #6b7280 !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1.4 !important;
  flex: 1 !important;
}


/* ============================================================
   ZOHO FORMS - WIDTH ADJUSTMENT
   Form column 40% narrower, left column wider
   ============================================================ */
/* Container flex distribution */
.elementor-element-6eeek77d .elementor-tab-content > div[style*="display:flex"][style*="gap:40px"] {
  align-items: flex-start !important;
}
.elementor-element-6eeek77d .elementor-tab-content > div[style*="display:flex"] > div:first-child {
  flex: 1.2 1 0 !important;
  max-width: none !important;
}
body .ayc-zoho-right-col {
  flex: 1 1 460px !important;
  min-width: 280px !important;
  max-width: 494px !important;
  padding: 0 !important;
}

/* Restore textarea styling for Información adicional */
body .ayc-zoho-material-form .zcwf_col_fld textarea,
body #crmWebToEntityForm .zcwf_col_fld textarea {
  width: 100% !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid #9ca3af !important;
  border-radius: 0 !important;
  padding: 4px 0 8px 0 !important;
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  font-size: 16px !important;
  color: #1e2751 !important;
  outline: none !important;
  resize: vertical !important;
  min-height: 50px !important;
  line-height: 1.4 !important;
}
body .ayc-zoho-material-form .zcwf_col_fld textarea:focus {
  border-bottom: 1.5px solid #1e2751 !important;
}

/* Restore select styling for País */
body .ayc-zoho-material-form .zcwf_col_fld select,
body #crmWebToEntityForm .zcwf_col_fld select {
  width: 100% !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid #9ca3af !important;
  border-radius: 0 !important;
  padding: 4px 0 8px 0 !important;
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  font-size: 16px !important;
  color: #1e2751 !important;
  outline: none !important;
  appearance: auto !important;
  cursor: pointer !important;
  line-height: 1.4 !important;
}
body .ayc-zoho-material-form .zcwf_col_fld select:focus {
  border-bottom: 1.5px solid #1e2751 !important;
}

/* Reduced row spacing to fit more fields */
body .ayc-zoho-material-form .zcwf_row {
  margin: 0 0 18px 0 !important;
}




/* ============================================================
   ZOHO FORMS - FLOATING LABEL (MATERIAL DESIGN)
   Labels positioned as placeholder, float up on focus/value
   ============================================================ */

/* Each row: relative container with fixed height for label space */
body .ayc-zoho-material-form .zcwf_row {
  position: relative !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;
  display: block !important;
  min-height: 56px !important;
}

/* Field container - inputs at bottom */
body .ayc-zoho-material-form .zcwf_col_fld {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
}

/* Label - positioned as placeholder over input, larger size */
body .ayc-zoho-material-form .zcwf_col_lab {
  position: absolute !important;
  top: 22px !important;
  left: 0 !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  color: #9ca3af !important;
  pointer-events: none !important;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  background: transparent !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  z-index: 1 !important;
  transform-origin: left top !important;
}

/* Inputs - aligned with label baseline, more space top */
body .ayc-zoho-material-form .zcwf_col_fld input[type="text"],
body .ayc-zoho-material-form .zcwf_col_fld input[type="email"],
body .ayc-zoho-material-form .zcwf_col_fld input[type="tel"],
body .ayc-zoho-material-form .zcwf_col_fld textarea,
body .ayc-zoho-material-form .zcwf_col_fld select,
body #crmWebToEntityForm .zcwf_col_fld input[type="text"],
body #crmWebToEntityForm .zcwf_col_fld textarea,
body #crmWebToEntityForm .zcwf_col_fld select {
  width: 100% !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid #9ca3af !important;
  border-radius: 0 !important;
  padding: 22px 0 8px 0 !important;
  margin: 0 !important;
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  font-size: 16px !important;
  color: #1e2751 !important;
  outline: none !important;
  box-shadow: none !important;
  height: auto !important;
  line-height: 1.4 !important;
}

body .ayc-zoho-material-form .zcwf_col_fld textarea {
  min-height: 60px !important;
  resize: vertical !important;
}

/* Focus state - underline navy + label floats up */
body .ayc-zoho-material-form .zcwf_col_fld input:focus,
body .ayc-zoho-material-form .zcwf_col_fld textarea:focus,
body .ayc-zoho-material-form .zcwf_col_fld select:focus {
  border-bottom: 1.5px solid #1e2751 !important;
}

/* Label floats UP when input has focus OR has value */
body .ayc-zoho-material-form .zcwf_row:has(input:focus) .zcwf_col_lab,
body .ayc-zoho-material-form .zcwf_row:has(textarea:focus) .zcwf_col_lab,
body .ayc-zoho-material-form .zcwf_row:has(select:focus) .zcwf_col_lab,
body .ayc-zoho-material-form .zcwf_row:has(input:not(:placeholder-shown)) .zcwf_col_lab,
body .ayc-zoho-material-form .zcwf_row:has(textarea:not(:placeholder-shown)) .zcwf_col_lab,
body .ayc-zoho-material-form .zcwf_row.ayc-has-value .zcwf_col_lab {
  top: 0 !important;
  font-size: 12px !important;
  color: #1e2751 !important;
  font-weight: 500 !important;
}

/* Hide red asterisk inside labels */
body .ayc-zoho-material-form .zcwf_col_lab label span,
body .ayc-zoho-material-form .zcwf_col_lab span[style*="red"],
body #crmWebToEntityForm .zcwf_col_lab label span {
  display: none !important;
}

/* Label > label inheritance */
body .ayc-zoho-material-form .zcwf_col_lab label {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  color: inherit !important;
  margin: 0 !important;
  padding: 0 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  cursor: text !important;
}

/* Special handling for select (País) - already has visible value "-None-" */
body .ayc-zoho-material-form .zcwf_row:has(select) .zcwf_col_lab {
  top: 0 !important;
  font-size: 12px !important;
  color: #1e2751 !important;
  font-weight: 500 !important;
}

/* ============================================================
   UNIFIED CARD CTA BUTTON — all 3 service pages
   ============================================================ */
/* ============================================================
   UNIFIED CARD — transparent bg to eliminate white corners
   ============================================================ */
html body .ayc-service-card:not(#nope),
html body .ayc-ac-card:not(#nope) {
  background: transparent !important;
}

html body .ayc-card-cta-btn:not(#nope),
html body .ayc-card-btn:not(#nope) {
  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;
}
html body .ayc-card-cta-btn:not(#nope):hover,
html body .ayc-card-btn:not(#nope):hover {
  background: #8ab518 !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 24px rgba(157, 196, 26, 0.40) !important;
  color: #FFFFFF !important;
  text-decoration: none !important;
}

/* ============================================================
   HOME TESTIMONIALS — reduce outer padding, tighten inner spacing
   ============================================================ */
.elementor-13 .elementor-element.elementor-element-sx7r0nl2:not(#x) {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}
/* Testimonials — balanced gap for ALL pages using bjxgg2n1 (home + ayuda center) */
.elementor-element.elementor-element-bjxgg2n1:not(#x) {
  --gap: 16px !important;
  --row-gap: 16px !important;
  gap: 16px !important;
}
.elementor-element.elementor-element-bjxgg2n1 > .e-con-inner:not(#x) {
  --gap: 16px !important;
  --row-gap: 16px !important;
  gap: 16px !important;
}
/* Testimonials — kill all inline margins on title, subtitle, paragraph */
.elementor-element[data-id="ri79pxmq"] h2:not(#x) {
  margin: 0 !important;
}
.elementor-element[data-id="pxr2o2bu"] p:not(#x) {
  font-size: 26px !important;
  margin: 0 !important;
}
.elementor-element[data-id="4x0jnkpu"] p:not(#x) {
  font-size: 22px !important;
  max-width: 900px !important;
  margin: 0 auto !important;
}
/* Bold text same size, keep bold weight */
.elementor-element[data-id="4x0jnkpu"] p strong:not(#x),
.elementor-element[data-id="4x0jnkpu"] p b:not(#x) {
  font-size: inherit !important;
  font-weight: 700 !important;
}

/* Nuestra Promesa — wider inner container so text doesn't clip */
.elementor-13 .e-con > .e-con-inner,
.elementor-27 .e-con > .e-con-inner {
  max-width: 1370px !important;
}
