/**
 * For Patients treatment landings — polish (women / men / transgender).
 * Elementor wrappers, hero photo framing, section rhythm, anchor offset.
 */

/* ─── Page shell ─── */
body[class*="women-provider-page"] main#main,
body[class*="men-provider-page"] main#main,
body[class*="transgender-provider-page"] main#main,
.elementor-page main#main {
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
}

.elementor-page .elementor[data-elementor-type="wp-page"] {
  width: 100%;
}

.elementor-page .elementor[data-elementor-type="wp-page"] > .e-con {
  --padding-top: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --padding-right: 0px;
  --gap: 0px;
  max-width: none;
  width: 100%;
}

/* Hero image focal point: Elementor → Style → Image position (per breakpoint). */

/* ─── In-page anchors (fixed header) ─── */
.ds2-page #treatment-approach,
.ds2-page #key-areas {
  scroll-margin-top: calc(7.6rem + 1.25rem);
}

/* ─── Section rhythm inside Elementor ─── */
.elementor-widget-rwl_pt_key .tr-section,
.elementor-widget-rwl_pt_approach .tp-approach,
.elementor-widget-rwl_pt_disclaimer .tp-disclaimer,
.elementor-widget-rwl_pt_find .tr-find-provider {
  width: 100%;
  box-sizing: border-box;
}

.elementor-widget-rwl_pt_disclaimer .tp-disclaimer {
  margin-top: 0;
}

.elementor-widget-rwl_pt_find .tr-find-provider {
  margin-bottom: 0;
}

/* Key cards: equal height in grid */
.elementor-widget-rwl_pt_key .tr-key-grid,
.elementor-widget-rwl_pt_key .tr-women-key-grid {
  align-items: stretch;
}

/* Approach figure: prevent flex shrink in Elementor */
.elementor-widget-rwl_pt_approach .tp-approach__figure-wrap img {
  display: block;
  width: 100%;
  height: auto;
}

/* Find strip: full-bleed inner alignment */
.elementor-widget-rwl_pt_find .tr-find-provider__inner {
  padding-left: max(clamp(1.25rem, 4vw, 2rem), env(safe-area-inset-left, 0px));
  padding-right: max(clamp(1.25rem, 4vw, 2rem), env(safe-area-inset-right, 0px));
}

/* ─── Reveal: no invisible content if JS is delayed ─── */
@media (prefers-reduced-motion: no-preference) {
  .ds2-page .ds2-reveal:not(.ds2-reveal--visible),
  .ds2-page .ds2-reveal--scale:not(.ds2-reveal--visible) {
    opacity: 0.001;
  }
}

/* Smooth scroll for hero / card CTAs */
.ds2-page {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  .ds2-page {
    scroll-behavior: auto;
  }
}
