/* Contacto: composición independiente de Divi, legible y operativa. */
body.page-id-32522 {
  --contact-navy: #102536;
  --contact-deep: #08141c;
  --contact-panel: #173247;
  --contact-paper: #ecebe6;
  --contact-copy: #c9d1cd;
  --contact-line: rgba(246, 245, 240, .2);
  --contact-accent: var(--fya-orange);
  background: var(--contact-navy);
}

body.page-id-32522 :is(.alfa-menu-hero--contact, .alfa-menu-intro, .alfa-menu-grid-section, .alfa-contact-details, .alfa-menu-cta),
body.page-id-32522 :is(.alfa-menu-hero--contact, .alfa-menu-intro, .alfa-menu-grid-section, .alfa-contact-details, .alfa-menu-cta) * {
  box-sizing: border-box;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

body.page-id-32522 :is(.alfa-menu-hero--contact, .alfa-menu-intro, .alfa-menu-grid-section, .alfa-contact-details, .alfa-menu-cta) {
  position: relative;
  isolation: isolate;
  overflow: clip;
}

body.page-id-32522 :is(.alfa-menu-intro, .alfa-menu-grid-section, .alfa-contact-details, .alfa-menu-cta) h2 {
  max-width: 13ch;
  margin: 0;
  color: var(--fya-white) !important;
  font-family: "Inter Tight", var(--fya-font) !important;
  font-size: clamp(2.65rem, 4.5vw, 5.55rem) !important;
  font-weight: 900 !important;
  letter-spacing: -.075em;
  line-height: .87 !important;
  text-transform: uppercase;
  text-wrap: balance;
}
body.page-id-32522 .alfa-menu-eyebrow,
body.page-id-32522 .alfa-contact-details__heading > p {
  margin: 0 0 1.25rem !important;
  color: var(--contact-accent) !important;
  font-family: var(--fya-font) !important;
  font-size: .74rem !important;
  font-weight: 800 !important;
  letter-spacing: .2em;
  line-height: 1.25 !important;
  text-transform: uppercase;
}

/* Hero ------------------------------------------------------------------ */
body.page-id-32522 .forjando-migrated-section.alfa-menu-hero--contact {
  display: flex !important;
  min-height: 100svh !important;
  padding: clamp(8rem, 13vw, 12rem) max(24px, calc((100vw - 1240px) / 2)) clamp(5rem, 8vw, 8rem) !important;
  align-items: flex-end;
  background: #081117 !important;
}
body.page-id-32522 .alfa-menu-hero--contact::before {
  position: absolute;
  z-index: -1;
  inset: -12px;
  opacity: .82;
  background-image: linear-gradient(90deg, rgba(4, 15, 22, .82) 0%, rgba(5, 17, 24, .58) 48%, rgba(5, 15, 21, .34) 100%), url("/wp-content/uploads/2025/07/Gimnasio-de-halterofiia-powerlifting-y-calistenia-22.jpg");
  background-position: center, center;
  background-size: cover;
  filter: blur(3px) saturate(.82) brightness(.72);
  transform: scale(1.025);
  content: "";
}
body.page-id-32522 .alfa-menu-hero--contact .alfa-menu-hero__row {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
}
body.page-id-32522 .alfa-menu-hero--contact h1 {
  max-width: 9ch;
  margin: 0;
  color: var(--fya-white) !important;
  font-family: "Inter Tight", var(--fya-font) !important;
  font-size: clamp(3.45rem, 6.7vw, 7.2rem) !important;
  font-weight: 900 !important;
  letter-spacing: -.085em;
  line-height: .82 !important;
  text-transform: uppercase;
  text-wrap: balance;
}
body.page-id-32522 .alfa-menu-hero--contact .alfa-menu-hero__copy {
  max-width: 37rem;
  margin: clamp(1.7rem, 3vw, 2.5rem) 0 !important;
  color: rgba(246, 245, 240, .82) !important;
  font-size: clamp(1rem, 1.35vw, 1.2rem) !important;
  line-height: 1.55 !important;
}
body.page-id-32522 :is(.alfa-menu-hero--contact, .alfa-menu-cta) .wp-block-button__link,
body.page-id-32522 .forjando-contact-form button {
  min-width: 12.7rem;
  padding: 1.05rem 1.3rem !important;
  border: 1px solid var(--contact-accent) !important;
  border-radius: 0 !important;
  background: var(--contact-accent) !important;
  color: var(--contact-navy) !important;
  font-size: .74rem !important;
  font-weight: 900 !important;
  letter-spacing: .12em;
  line-height: 1 !important;
  transition: background-color .2s ease, transform .2s ease;
}
body.page-id-32522 :is(.alfa-menu-hero--contact, .alfa-menu-cta) .wp-block-button__link:hover,
body.page-id-32522 .forjando-contact-form button:hover { background: var(--fya-white) !important; transform: translateY(-2px); }

/* Visit and form -------------------------------------------------------- */
body.page-id-32522 .forjando-migrated-section.alfa-menu-intro {
  display: flex !important;
  min-height: 100svh !important;
  padding: clamp(5rem, 8vw, 8rem) max(24px, calc((100vw - 1120px) / 2)) !important;
  justify-content: center;
  background: var(--contact-navy) !important;
}
body.page-id-32522 .alfa-menu-intro .alfa-menu-intro__row {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto clamp(2.5rem, 5vw, 4rem);
  align-items: end !important;
  gap: clamp(2.5rem, 8vw, 9rem) !important;
}
body.page-id-32522 .alfa-menu-intro .alfa-menu-rule {
  width: 3.5rem;
  height: .28rem;
  margin: 0 0 1.5rem !important;
  background: var(--contact-accent);
}
body.page-id-32522 .alfa-menu-intro .alfa-menu-copy {
  max-width: 34rem;
  margin: 0 0 1.15rem auto !important;
  color: var(--contact-copy) !important;
  font-size: clamp(1.05rem, 1.35vw, 1.22rem) !important;
  line-height: 1.58 !important;
}
/* Identificador breve y legible antes de la dirección. */
body.page-id-32522 .alfa-menu-intro .alfa-menu-copy strong {
  display: block;
  margin-bottom: .65rem;
  color: var(--contact-accent) !important;
  font-family: var(--fya-font) !important;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .13em;
  line-height: 1.35;
  text-transform: uppercase;
}
body.page-id-32522 .alfa-menu-intro > .forjando-migrated-row:not(.alfa-menu-intro__row) {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
}
body.page-id-32522 .forjando-contact-form {
  width: 100%;
  padding: clamp(1.5rem, 3vw, 2.75rem) !important;
  border: 1px solid var(--contact-line) !important;
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(28, 55, 71, .96), rgba(12, 28, 38, .96)) !important;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .18);
}
body.page-id-32522 .forjando-contact-form__grid { gap: 1.1rem 1.3rem !important; }
body.page-id-32522 .forjando-contact-form label { color: var(--fya-white) !important; font-size: .9rem !important; font-weight: 700 !important; }
body.page-id-32522 .forjando-contact-form label span { color: var(--contact-copy) !important; }
body.page-id-32522 .forjando-contact-form :is(input:not([type='checkbox']):not([type='hidden']), textarea) {
  border: 1px solid rgba(246, 245, 240, .28) !important;
  border-radius: 7px !important;
  background: rgba(6, 17, 24, .58) !important;
  color: var(--fya-white) !important;
}
body.page-id-32522 .forjando-contact-form :is(input, textarea):focus-visible { outline-color: var(--contact-accent) !important; }
body.page-id-32522 .forjando-contact-form__privacy { color: var(--contact-copy) !important; }
body.page-id-32522 .forjando-contact-form__privacy a { color: var(--fya-white) !important; text-decoration-color: var(--contact-accent); }
body.page-id-32522 .forjando-contact-form__actions { padding-top: .5rem; }
body.page-id-32522 .forjando-contact-form__captcha { min-width: 11rem; }
body.page-id-32522 .forjando-contact-form__captcha input { max-width: 7rem; }

/* Three grouped steps --------------------------------------------------- */
body.page-id-32522 .forjando-migrated-section.alfa-menu-grid-section {
  display: flex !important;
  min-height: 100svh !important;
  padding: clamp(5rem, 9vw, 9rem) max(24px, calc((100vw - 1240px) / 2)) !important;
  justify-content: center;
  background: var(--contact-paper) !important;
}
body.page-id-32522 .alfa-menu-grid-section .alfa-menu-grid {
  display: grid !important;
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
body.page-id-32522 .alfa-menu-grid-section .alfa-menu-grid > .wp-block-column {
  display: flex;
  min-width: 0;
  min-height: clamp(22rem, 32vw, 30rem);
  margin: 0 !important;
  padding: clamp(1.75rem, 3vw, 3rem);
  flex-direction: column;
  justify-content: flex-end;
  border: 1px solid rgba(16, 37, 54, .2);
  border-radius: 16px;
  background: rgba(255, 255, 255, .42);
  box-shadow: 0 16px 42px rgba(16, 37, 54, .08);
}
body.page-id-32522 .alfa-menu-grid-section .alfa-menu-card {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
body.page-id-32522 .alfa-menu-grid-section .alfa-menu-card__number {
  margin: 0 auto auto 0 !important;
  color: var(--contact-accent) !important;
  font-family: "Inter Tight", var(--fya-font) !important;
  font-size: clamp(3.4rem, 6vw, 6.5rem) !important;
  font-weight: 900 !important;
  letter-spacing: -.09em;
  line-height: .8 !important;
}
body.page-id-32522 .alfa-menu-grid-section h3 {
  margin: 0 0 .75rem !important;
  color: var(--contact-navy) !important;
  font-family: "Inter Tight", var(--fya-font) !important;
  font-size: clamp(1.45rem, 2.05vw, 2.25rem) !important;
  font-weight: 900 !important;
  letter-spacing: -.06em;
  line-height: .95 !important;
}
body.page-id-32522 .alfa-menu-grid-section h3.alfa-menu-card { margin: 0 0 .75rem !important; }
body.page-id-32522 .alfa-menu-grid-section p:not(.alfa-menu-card__number) { color: rgba(16, 37, 54, .72) !important; font-size: 1rem !important; line-height: 1.5 !important; }

/* Direct contact -------------------------------------------------------- */
body.page-id-32522 .alfa-contact-details {
  display: flex;
  min-height: 100svh;
  padding: clamp(5rem, 9vw, 9rem) max(24px, calc((100vw - 1240px) / 2));
  flex-direction: column;
  justify-content: center;
  background: var(--contact-deep) !important;
}
body.page-id-32522 .alfa-contact-details__inner { width: 100%; max-width: 1240px; margin: 0 auto; }
body.page-id-32522 .alfa-contact-details__heading {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(16rem, .55fr);
  gap: clamp(2rem, 8vw, 10rem);
  margin-bottom: clamp(2rem, 4vw, 4rem);
  padding-bottom: clamp(2rem, 4vw, 4rem);
  border-bottom: 1px solid var(--contact-line);
}
body.page-id-32522 .alfa-contact-details__heading > p { grid-column: 1 / -1; }
body.page-id-32522 .alfa-contact-details__heading > span { align-self: end; color: var(--contact-copy) !important; font-size: clamp(1rem, 1.3vw, 1.16rem); line-height: 1.55; }
body.page-id-32522 .alfa-contact-details__visit { align-self: end; }
body.page-id-32522 .alfa-contact-details__club-label {
  margin: 0 0 .75rem !important;
  color: var(--contact-accent) !important;
  font-family: var(--fya-font) !important;
  font-size: .72rem !important;
  font-weight: 850 !important;
  letter-spacing: .15em;
  line-height: 1.35 !important;
}
body.page-id-32522 .alfa-contact-details__visit > a {
  display: block;
  margin: 0 0 1rem;
  color: var(--fya-white) !important;
  font-family: "Inter Tight", var(--fya-font);
  font-size: clamp(1.35rem, 2.15vw, 2.15rem);
  font-weight: 900;
  letter-spacing: -.055em;
  line-height: 1.02;
  text-decoration-color: var(--contact-accent);
  text-decoration-thickness: 2px;
  text-underline-offset: .2em;
}
body.page-id-32522 .alfa-contact-details__visit > a:hover { color: var(--contact-accent) !important; }
body.page-id-32522 .alfa-contact-details__visit address {
  display: block;
  margin: 0;
  color: var(--contact-copy) !important;
  font-family: var(--fya-font);
  font-size: clamp(1rem, 1.25vw, 1.14rem);
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.55;
}
body.page-id-32522 .alfa-contact-details__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
body.page-id-32522 .alfa-contact-details__card {
  min-height: 18rem;
  padding: clamp(1.5rem, 3vw, 2.7rem);
  border: 1px solid var(--contact-line);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(28, 54, 69, .72), rgba(9, 21, 29, .75));
}
body.page-id-32522 .alfa-contact-details__card > p { margin: 0 0 clamp(2.6rem, 5vw, 5rem); color: var(--contact-accent) !important; font-size: .72rem !important; font-weight: 800 !important; letter-spacing: .18em; }
body.page-id-32522 .alfa-contact-details__card :is(a, address) { display: block; margin: 0 0 1rem; color: var(--fya-white) !important; font-family: "Inter Tight", var(--fya-font); font-size: clamp(1.3rem, 2.3vw, 2.2rem); font-style: normal; font-weight: 900; letter-spacing: -.055em; line-height: 1; }
body.page-id-32522 .alfa-contact-details__card a { text-decoration-color: var(--contact-accent); text-underline-offset: .2em; }
body.page-id-32522 .alfa-contact-details__card span { display: block; color: var(--contact-copy) !important; font-size: .98rem; line-height: 1.5; }

/* CTA ------------------------------------------------------------------- */
body.page-id-32522 .forjando-migrated-section.alfa-menu-cta {
  display: flex !important;
  min-height: 100svh !important;
  padding: clamp(5rem, 9vw, 9rem) max(24px, calc((100vw - 1240px) / 2)) !important;
  justify-content: center;
  text-align: center;
  background: var(--contact-accent) !important;
}
body.page-id-32522 .alfa-menu-cta .forjando-migrated-row { width: 100%; max-width: 62rem; margin: 0 auto; padding: clamp(2rem, 5vw, 4rem); border: 1px solid rgba(16, 37, 54, .45); }
body.page-id-32522 .alfa-menu-cta :is(h2, .alfa-menu-copy) { color: var(--contact-navy) !important; }
body.page-id-32522 .alfa-menu-cta h2 { margin-inline: auto; }
body.page-id-32522 .alfa-menu-cta .alfa-menu-copy { max-width: 32rem; margin: 1.6rem auto 2.1rem !important; font-size: clamp(1.05rem, 1.35vw, 1.22rem) !important; line-height: 1.55 !important; }
body.page-id-32522 .alfa-menu-cta .wp-block-button__link { border-color: var(--contact-navy) !important; background: var(--contact-navy) !important; color: var(--fya-white) !important; }
body.page-id-32522 .alfa-menu-cta .wp-block-button__link:hover { background: var(--fya-white) !important; color: var(--contact-navy) !important; }

@media (min-width: 768px) {
  body.page-id-32522 .entry-content > :is(.alfa-menu-hero--contact, .alfa-menu-intro, .alfa-menu-grid-section, .alfa-menu-cta),
  body.page-id-32522 .entry-content > .alfa-contact-details {
    position: sticky !important;
    top: 0;
  }
  body.page-id-32522 .alfa-menu-hero--contact { z-index: 1; }
  body.page-id-32522 .alfa-menu-intro { z-index: 2; }
  body.page-id-32522 .alfa-menu-grid-section { z-index: 3; }
  body.page-id-32522 .alfa-contact-details { z-index: 4; }
  body.page-id-32522 .alfa-menu-cta { z-index: 5; }

  /* El formulario y los datos de visita pueden ocupar más de un viewport.
     Siguen siendo escenas completas, pero fluyen para que ningún campo o
     detalle quede debajo de la siguiente sección al hacer scroll. */
  body.page-id-32522 .entry-content > :is(.alfa-menu-intro, .alfa-contact-details) {
    position: relative !important;
    top: auto;
    overflow: visible;
  }

  body.page-id-32522.contact-motion-ready :is(.alfa-menu-intro, .alfa-menu-grid-section, .alfa-contact-details, .alfa-menu-cta) :is(.alfa-menu-rule, h2, .alfa-menu-copy, .forjando-contact-form, .alfa-menu-grid, .alfa-contact-details__heading > p, .alfa-contact-details__heading > span, .alfa-contact-details__cards, .wp-block-buttons) {
    opacity: 0;
    transform: translate3d(0, 28px, 0);
    transition: opacity .68s cubic-bezier(.2, .8, .2, 1), transform .68s cubic-bezier(.2, .8, .2, 1);
  }
  body.page-id-32522.contact-motion-ready .is-contact-visible :is(.alfa-menu-rule, h2, .alfa-menu-copy, .forjando-contact-form, .alfa-menu-grid, .alfa-contact-details__heading > p, .alfa-contact-details__heading > span, .alfa-contact-details__cards, .wp-block-buttons) {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@media (max-width: 980px) {
  body.page-id-32522 .alfa-menu-intro .alfa-menu-intro__row,
  body.page-id-32522 .alfa-contact-details__heading { display: grid !important; grid-template-columns: 1fr !important; }
  body.page-id-32522 .alfa-menu-intro .alfa-menu-copy { margin-left: 0 !important; }
}

@media (max-width: 767px) {
  body.page-id-32522 .forjando-migrated-section.alfa-menu-hero--contact { min-height: 100svh !important; padding-top: 8rem !important; }
  body.page-id-32522 .alfa-menu-hero--contact h1,
  body.page-id-32522 :is(.alfa-menu-intro, .alfa-menu-grid-section, .alfa-contact-details, .alfa-menu-cta) h2 { font-size: clamp(2.7rem, 12vw, 4.7rem) !important; }
  body.page-id-32522 :is(.forjando-migrated-section.alfa-menu-intro, .forjando-migrated-section.alfa-menu-grid-section, .forjando-migrated-section.alfa-menu-cta, .alfa-contact-details) { min-height: auto !important; padding: 5rem 24px !important; }
  body.page-id-32522 .alfa-menu-grid-section .alfa-menu-grid,
  body.page-id-32522 .alfa-contact-details__cards { grid-template-columns: 1fr; }
  body.page-id-32522 .alfa-menu-grid-section .alfa-menu-grid > .wp-block-column { min-height: 21rem; }
  body.page-id-32522 .forjando-contact-form__grid { grid-template-columns: 1fr !important; }
  body.page-id-32522 .forjando-contact-form__actions { align-items: stretch !important; flex-direction: column; }
  body.page-id-32522 .forjando-contact-form button { width: 100%; }
  body.page-id-32522 :is(.alfa-menu-hero--contact, .alfa-menu-cta) .wp-block-button,
  body.page-id-32522 :is(.alfa-menu-hero--contact, .alfa-menu-cta) .wp-block-button__link { display: flex; width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  body.page-id-32522.contact-motion-ready :is(.alfa-menu-intro, .alfa-menu-grid-section, .alfa-contact-details, .alfa-menu-cta) :is(.alfa-menu-rule, h2, p, .forjando-contact-form, .alfa-menu-grid, .alfa-contact-details__cards, .wp-block-buttons) {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
