/* ============================================================
   AYC CONTACTO — pixel-perfect per PDF
   Standardized typography matching home + servicios
   ============================================================ */

/* ---- HERO ---- */
html body.page-id-86 .elementor-86 .elementor-element[data-id="ct-hero-sec"] {
  position: relative !important;
  min-height: 540px !important;
  background-size: cover !important;
  background-position: center center !important;
  justify-content: flex-end !important;
  --padding-bottom: 60px !important;
  padding-bottom: 60px !important;
}
html body.page-id-86 [data-id="ct-hero-inner"] {
  justify-content: flex-end !important;
  padding-bottom: 0 !important;
}
/* White text smaller than green (green is perfect) */
body.page-id-86 [data-id="ct-hero-title"] p {
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  font-size: 38px !important;
  line-height: 1.2 !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  text-align: center !important;
}
body.page-id-86 [data-id="ct-hero-title"] p span {
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  font-size: 52px !important;
  line-height: 1.2 !important;
  display: inline-block !important;
  margin-top: 4px !important;
}
body.page-id-86 [data-id="ct-hero-legal"] p {
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  font-size: 11px !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;
  max-width: 960px !important;
  margin: 14px auto 0 !important;
  color: rgba(255,255,255,0.75) !important;
}

/* ---- INTRO CARD (overlaps hero, accountants/advisors pattern) ---- */
html body.page-id-86 .elementor-element[data-id="ct-intro-sec"] {
  margin-top: -80px !important;
  padding: 0 80px !important;
  background: linear-gradient(to bottom, transparent 0, transparent 80px, #F4F5F7 80px, #F4F5F7 100%) !important;
  background-color: transparent !important;
  position: relative !important;
  z-index: 3 !important;
  box-sizing: border-box !important;
}
html body.page-id-86 .elementor-element[data-id="ct-intro-card"] {
  background: #FFFFFF !important;
  border-radius: 20px !important;
  box-shadow: 0 -6px 32px rgba(0,0,0,0.15), 0 12px 32px rgba(0,0,0,0.08) !important;
  padding: 44px 60px 44px !important;
  position: relative !important;
  overflow: hidden !important;
  margin: 0 auto 25px !important;
  max-width: 1200px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
html body.page-id-86 [data-id="ct-intro-card"]::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  left: 10% !important;
  right: 10% !important;
  bottom: 0 !important;
  height: 3px !important;
  background: linear-gradient(to right, transparent, #9dc41a 20%, #9dc41a 80%, transparent) !important;
  transform: scaleX(0) !important;
  transform-origin: left center !important;
  transition: transform 1.2s ease-out !important;
  z-index: 5 !important;
}
html body.page-id-86 [data-id="ct-intro-card"].ayc-line-animate::after {
  transform: scaleX(1) !important;
}
/* Intro text — LARGER */
body.page-id-86 [data-id="ct-intro-text"] p {
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  font-size: 22px !important;
  color: #6B7280 !important;
  line-height: 1.55 !important;
  font-weight: 500 !important;
}

/* ---- FORM SECTION (gray bg matches intro bg) ---- */
body.page-id-86 [data-id="ct-form-sec"] {
  background: #F4F5F7 !important;
  padding-top: 20px !important;
}
/* Title: larger and vertically centered */
body.page-id-86 [data-id="ct-form-title"] .elementor-heading-title {
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  font-size: 46px !important;
  color: #1e2751 !important;
  line-height: 1.15 !important;
  margin: 0 !important;
}
/* Subtitle LARGER */
body.page-id-86 [data-id="ct-form-sub"] p {
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  color: #6B7280 !important;
  font-size: 24px !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;
  margin: 16px 0 0 0 !important;
}
/* Left column centered vertically relative to form */
html body.page-id-86 [data-id="ct-form-left"] {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-self: stretch !important;
}
html body.page-id-86 [data-id="ct-form-left"] > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  height: 100% !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Form card white */
html body.page-id-86 [data-id="ct-form-right"] {
  background: #FFFFFF !important;
  border-radius: 14px !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.06) !important;
  padding: 36px !important;
  align-self: center !important;
}

/* ---- FORM FIELDS ---- */
body.page-id-86 .ayc-contact-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}
/* Labels NOT bold (per PDF) */
html body.page-id-86 .ayc-contact-form label {
  display: block !important;
  color: #1e2751 !important;
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  margin-bottom: 6px !important;
}
body.page-id-86 .ayc-contact-form .req {
  color: #1e2751 !important;
  font-weight: 500 !important;
}
html body.page-id-86 .ayc-contact-form input[type="text"],
html body.page-id-86 .ayc-contact-form input[type="email"],
html body.page-id-86 .ayc-contact-form input[type="tel"],
html body.page-id-86 .ayc-contact-form select,
html body.page-id-86 .ayc-contact-form textarea {
  width: 100% !important;
  background: #E9EBEF !important;
  border: 1px solid #E9EBEF !important;
  border-radius: 6px !important;
  padding: 11px 14px !important;
  font-size: 15px !important;
  color: #1e2751 !important;
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  outline: none !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s ease, background 0.2s ease !important;
}
body.page-id-86 .ayc-contact-form input:focus,
body.page-id-86 .ayc-contact-form select:focus,
body.page-id-86 .ayc-contact-form textarea:focus {
  border-color: #9dc41a !important;
  background: #F4F5F7 !important;
  box-shadow: 0 0 0 2px rgba(157,196,26,0.18) !important;
}
body.page-id-86 .ayc-contact-form textarea {
  resize: vertical !important;
  min-height: 88px !important;
}
html body.page-id-86 .ayc-contact-form .ayc-chk {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  font-size: 13px !important;
  color: #1e2751 !important;
  cursor: pointer !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
}
body.page-id-86 .ayc-contact-form .ayc-chk input {
  width: 15px !important;
  height: 15px !important;
  margin-top: 2px !important;
  accent-color: #9dc41a !important;
}
body.page-id-86 .ayc-contact-form .ayc-chk a {
  color: #1e2751 !important;
  text-decoration: underline !important;
  font-weight: 500 !important;
}
body.page-id-86 .ayc-contact-form .ayc-form-submit {
  align-self: flex-start !important;
  background: #9dc41a !important;
  color: #FFFFFF !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 12px 28px !important;
  margin-top: 8px !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
}
body.page-id-86 .ayc-contact-form .ayc-form-submit:hover {
  background: #8ab518 !important;
}

/* ---- BLUE GRADIENT CTA — matches servicios/home sizes ---- */
html body.page-id-86 .elementor-86 .elementor-element[data-id="ct-cta-sec"] {
  background: linear-gradient(180deg, #0E5A88 0%, #0F1A3D 100%) !important;
  background-image: linear-gradient(180deg, #0E5A88 0%, #0F1A3D 100%) !important;
  background-color: #0E5A88 !important;
  padding: 90px 20px !important;
}
html body.page-id-86 [data-id="ct-cta-inner"] {
  align-items: center !important;
  text-align: center !important;
}
body.page-id-86 [data-id="ct-cta-h2"] .elementor-heading-title {
  color: #FFFFFF !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  font-size: 50px !important;
  text-align: center !important;
  line-height: 1.15 !important;
  margin: 0 !important;
}
html body.page-id-86 [data-id="ct-cta-btn"] {
  text-align: center !important;
  width: 100% !important;
}
body.page-id-86 [data-id="ct-cta-btn"] .elementor-button-wrapper {
  text-align: center !important;
}
html body.page-id-86 [data-id="ct-cta-btn"] .elementor-button {
  background: #9dc41a !important;
  color: #FFFFFF !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 22px !important;
  border-radius: 8px !important;
  padding: 16px 42px !important;
  display: inline-flex !important;
  text-decoration: none !important;
}
body.page-id-86 [data-id="ct-cta-btn"] .elementor-button:hover {
  background: #8ab518 !important;
}
/* CTA subtitle CENTERED and LARGER */
html body.page-id-86 [data-id="ct-cta-sub"] {
  width: 100% !important;
  text-align: center !important;
}
html body.page-id-86 [data-id="ct-cta-sub"] .elementor-widget-container {
  text-align: center !important;
  max-width: 900px !important;
  margin: 0 auto !important;
}
body.page-id-86 [data-id="ct-cta-sub"] p {
  color: rgba(255,255,255,0.85) !important;
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  font-style: italic !important;
  font-size: 22px !important;
  line-height: 1.5 !important;
  text-align: center !important;
  margin: 0 auto !important;
}

/* ---- CONTACT INFO (-20% narrower: 790px max-width) ---- */
body.page-id-86 [data-id="ct-info-sec"] {
  background: #FFFFFF !important;
}
html body.page-id-86 [data-id="ct-info-inner"] {
  max-width: 920px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
html body.page-id-86 [data-id="ct-info-sec"] > .e-con-inner {
  max-width: 920px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
body.page-id-86 [data-id="ct-info-left-title"] .elementor-heading-title,
body.page-id-86 [data-id="ct-info-right-title"] .elementor-heading-title {
  color: #1e2751 !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  font-size: 26px !important;
  line-height: 1.2 !important;
  margin: 0 0 10px 0 !important;
}
body.page-id-86 .ayc-info-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 22px !important;
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  color: #1e2751 !important;
  font-size: 17px !important;
  line-height: 1.55 !important;
}
body.page-id-86 .ayc-info-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 16px !important;
}
body.page-id-86 .ayc-info-icon {
  width: 42px !important;
  height: 42px !important;
  flex-shrink: 0 !important;
  margin-top: 2px !important;
  object-fit: contain !important;
}
/* Force Font Awesome on icon <i> tags inside contacto info list */
body.page-id-86 .ayc-info-item i.fas,
body.page-id-86 .ayc-info-item i.fa-solid {
  font-family: "Font Awesome 5 Free", "Font Awesome 6 Free", "FontAwesome" !important;
  font-weight: 900 !important;
  font-style: normal !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
body.page-id-86 .ayc-info-item i.far,
body.page-id-86 .ayc-info-item i.fa-regular {
  font-family: "Font Awesome 5 Free", "Font Awesome 6 Free", "FontAwesome" !important;
  font-weight: 400 !important;
  font-style: normal !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
body.page-id-86 .ayc-info-item i.fab,
body.page-id-86 .ayc-info-item i.fa-brands,
body.page-id-86 [data-id="ct-info-left-html"] i.fab,
body.page-id-86 [data-id="ct-cta-btn"] i.fab {
  font-family: "Font Awesome 5 Brands", "Font Awesome 6 Brands", "FontAwesome" !important;
  font-weight: 400 !important;
  font-style: normal !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
/* Map iframe wrapper sizing override safety */
html body.page-id-86 .ayc-map-wrap {
  position: relative !important;
  width: 100% !important;
  padding-top: 75% !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.08) !important;
  background: #eef0f3 !important;
}
html body.page-id-86 .ayc-map-wrap iframe {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
}
/* CTA WhatsApp green background variant */
html body.page-id-86 .elementor-86 .elementor-element[data-id="ct-cta-sec"] {
  background: linear-gradient(180deg, #9dc41a 0%, #7ea615 100%) !important;
  background-image: linear-gradient(180deg, #9dc41a 0%, #7ea615 100%) !important;
  background-color: #9dc41a !important;
}
html body.page-id-86 [data-id="ct-cta-btn"] .elementor-button {
  background: #FFFFFF !important;
  color: #1e2751 !important;
}
html body.page-id-86 [data-id="ct-cta-btn"] .elementor-button:hover {
  background: #1e2751 !important;
  color: #FFFFFF !important;
}
html body.page-id-86 [data-id="ct-cta-btn"] .elementor-button i {
  margin-right: 8px !important;
  color: #25D366 !important;
}
/* Form-inner / Info-inner: force inner wrapper of boxed container to be row */
@media (min-width: 768px) {
  html body.page-id-86 [data-id="ct-form-inner"] > .e-con-inner {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: space-between !important;
    gap: 40px !important;
  }
  html body.page-id-86 [data-id="ct-info-inner"] > .e-con-inner {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: space-between !important;
    gap: 50px !important;
  }
}
/* Intro text centering safety */
html body.page-id-86 [data-id="ct-intro-text"] {
  width: 100% !important;
  text-align: center !important;
}
html body.page-id-86 [data-id="ct-intro-text"] p {
  text-align: center !important;
  margin: 0 auto !important;
  max-width: 900px !important;
}
/* Hero title smaller H1 */
body.page-id-86 [data-id="ct-hero-title"] {
  width: 100% !important;
  text-align: center !important;
}
/* Form success/error message */
body.page-id-86 .ayc-form-status {
  margin-top: 14px !important;
  padding: 12px 16px !important;
  border-radius: 6px !important;
  font-family: 'Futura Medium', 'Open Sans', sans-serif !important;
  font-size: 14px !important;
  display: none !important;
}
body.page-id-86 .ayc-form-status.success {
  display: block !important;
  background: #e8f4d2 !important;
  color: #4a6011 !important;
  border: 1px solid #9dc41a !important;
}
body.page-id-86 .ayc-form-status.error {
  display: block !important;
  background: #fde8e8 !important;
  color: #9b1c1c !important;
  border: 1px solid #f87171 !important;
}
body.page-id-86 .ayc-info-item strong {
  color: #1e2751 !important;
  font-family: 'Futura Bold', 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  font-size: 18px !important;
}
body.page-id-86 .ayc-info-item span {
  color: #6B7280 !important;
  font-style: italic !important;
  font-size: 15px !important;
}

/* ---- Form/Info side-by-side on desktop ---- */
@media (min-width: 768px) {
  body.page-id-86 [data-id="ct-form-inner"] {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
  }
  body.page-id-86 [data-id="ct-form-left"] {
    width: 42% !important;
    flex: 0 0 42% !important;
  }
  body.page-id-86 [data-id="ct-form-right"] {
    width: 52% !important;
    flex: 0 0 52% !important;
  }
  body.page-id-86 [data-id="ct-info-inner"] {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
  }
  body.page-id-86 [data-id="ct-info-left"],
  body.page-id-86 [data-id="ct-info-right"] {
    width: 45% !important;
    flex: 0 0 45% !important;
  }
}

/* ---- Mobile responsive ---- */
@media (max-width: 767px) {
  body.page-id-86 [data-id="ct-form-left"],
  body.page-id-86 [data-id="ct-form-right"],
  body.page-id-86 [data-id="ct-info-left"],
  body.page-id-86 [data-id="ct-info-right"] {
    width: 100% !important;
  }
  body.page-id-86 [data-id="ct-info-right"] {
    border-left: none !important;
    padding-left: 0 !important;
    border-top: 1px solid #D1D5DB !important;
    padding-top: 30px !important;
    margin-top: 10px !important;
  }
  body.page-id-86 [data-id="ct-hero-title"] p {
    font-size: 24px !important;
  }
  body.page-id-86 [data-id="ct-hero-title"] p span {
    font-size: 28px !important;
  }
  body.page-id-86 [data-id="ct-form-title"] .elementor-heading-title {
    font-size: 32px !important;
  }
  body.page-id-86 [data-id="ct-cta-h2"] .elementor-heading-title {
    font-size: 32px !important;
  }
}

/* ---- PAGE LOAD ANIMATIONS ---- */
body.page-id-86 .ayc-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s ease-out, transform 0.7s ease-out;
}
body.page-id-86 .ayc-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}
body.page-id-86 .ayc-reveal-left {
  opacity: 0;
  transform: translateX(-40px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
body.page-id-86 .ayc-reveal-left.is-visible {
  opacity: 1;
  transform: translateX(0);
}
body.page-id-86 .ayc-reveal-right {
  opacity: 0;
  transform: translateX(40px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
body.page-id-86 .ayc-reveal-right.is-visible {
  opacity: 1;
  transform: translateX(0);
}
body.page-id-86 .ayc-delay-1 { transition-delay: 0.12s; }
body.page-id-86 .ayc-delay-2 { transition-delay: 0.24s; }
body.page-id-86 .ayc-delay-3 { transition-delay: 0.36s; }
body.page-id-86 .ayc-delay-4 { transition-delay: 0.48s; }
body.page-id-86 .ayc-delay-5 { transition-delay: 0.60s; }
