/* v1.3.3 — scoped repair for the existing ADHD and Sleep diagram.
 * Elementor's container ::before has explicit full-size dimensions; inset alone
 * cannot resize it. Replace the oversized perimeter with gap-contained arrows.
 * Cards and caption remain native Elementor content, in their original DOM order.
 */
.elementor .sad-page-adhd-and-sleep.sr-refined .sr-cycle-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-areas: "one two" "four three" !important;
  gap: 56px 64px !important;
  width: 100% !important;
  max-width: 1080px !important;
  min-width: 0 !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 auto !important;
  align-items: stretch !important;
  overflow: visible !important;
}
.elementor .sad-page-adhd-and-sleep.sr-refined .sr-cycle-grid::before,
.elementor .sad-page-adhd-and-sleep.sr-refined .sr-cycle-grid::after,
.elementor .sad-page-adhd-and-sleep.sr-refined .sr-cycle-grid > .sr-cycle-step::before {
  content: none !important;
  display: none !important;
}
.elementor .sad-page-adhd-and-sleep.sr-refined .sr-cycle-grid > .sr-cycle-step {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  position: relative !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  align-self: stretch !important;
  padding: 24px !important;
  margin: 0 !important;
  gap: 12px !important;
  border: 1px solid #c7d3e8 !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 4px 14px rgb(27 46 145 / 4%) !important;
  overflow: visible !important;
}
.elementor .sad-page-adhd-and-sleep.sr-refined .sr-cycle-step > .elementor-widget {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}
.elementor .sad-page-adhd-and-sleep.sr-refined .sr-cycle-step .elementor-heading-title {
  margin: 0 !important;
}
.elementor .sad-page-adhd-and-sleep.sr-refined .sr-cycle-step > .sad-eyebrow:first-child {
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
.elementor .sad-page-adhd-and-sleep.sr-refined .sr-cycle-step .elementor-heading-title,
.elementor .sad-page-adhd-and-sleep.sr-refined .sr-cycle-step .sad-copy {
  overflow-wrap: anywhere;
}
.elementor .sad-page-adhd-and-sleep.sr-refined .sr-cycle-step .sad-copy p:last-child {
  margin-bottom: 0 !important;
}
/* Fully reset all four offsets, dimensions and borders from earlier arrows. */
.elementor .sad-page-adhd-and-sleep.sr-refined .sr-cycle-grid > .sr-cycle-step::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: auto !important;
  width: 32px !important;
  height: 24px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: url('visual/sleep-cycle-arrow.svg') center / 32px 24px no-repeat !important;
  box-shadow: none !important;
  opacity: 1 !important;
  transform-origin: center !important;
  pointer-events: none !important;
  z-index: 1 !important;
}
.elementor .sad-page-adhd-and-sleep.sr-refined .sr-cycle-grid > .sr-cycle-step-1::after {
  left: 100% !important;
  top: 50% !important;
  margin: -12px 0 0 16px !important;
  transform: none !important;
}
.elementor .sad-page-adhd-and-sleep.sr-refined .sr-cycle-grid > .sr-cycle-step-2::after {
  left: 50% !important;
  top: 100% !important;
  margin: 16px 0 0 -16px !important;
  transform: rotate(90deg) !important;
}
.elementor .sad-page-adhd-and-sleep.sr-refined .sr-cycle-grid > .sr-cycle-step-3::after {
  left: -48px !important;
  top: 50% !important;
  margin-top: -12px !important;
  transform: rotate(180deg) !important;
}
.elementor .sad-page-adhd-and-sleep.sr-refined .sr-cycle-grid > .sr-cycle-step-4::after {
  left: 50% !important;
  top: -40px !important;
  margin-left: -16px !important;
  transform: rotate(-90deg) !important;
}
.elementor .sad-page-adhd-and-sleep.sr-refined .sr-cycle-caption {
  width: 100% !important;
  max-width: 75ch !important;
  margin: 4px auto 0 !important;
  padding: 0 !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  color: #47546b !important;
}
@media (max-width: 767px) {
  .elementor .sad-page-adhd-and-sleep.sr-refined .sr-cycle-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: "one" "two" "three" "four" !important;
    gap: 48px !important;
  }
  .elementor .sad-page-adhd-and-sleep.sr-refined .sr-cycle-grid > .sr-cycle-step {
    padding: 20px !important;
  }
  .elementor .sad-page-adhd-and-sleep.sr-refined .sr-cycle-grid > .sr-cycle-step::after {
    inset: auto !important;
    left: 50% !important;
    top: 100% !important;
    margin: 12px 0 0 -16px !important;
    transform: rotate(90deg) !important;
  }
  .elementor .sad-page-adhd-and-sleep.sr-refined .sr-cycle-grid > .sr-cycle-step-4::after {
    content: none !important;
    display: none !important;
  }
}
@media (forced-colors: active) {
  .elementor .sad-page-adhd-and-sleep.sr-refined .sr-cycle-grid > .sr-cycle-step {
    border-color: CanvasText !important;
  }
  /* Native numbers and caption retain the sequence when decorative art is off. */
  .elementor .sad-page-adhd-and-sleep.sr-refined .sr-cycle-grid > .sr-cycle-step::after {
    display: none !important;
  }
  .elementor .sad-page-adhd-and-sleep.sr-refined .sr-cycle-caption {
    color: CanvasText !important;
  }
}
