/**
 * Case study Gutenberg blocks — self-contained spacing for any block order.
 */

.case-study-content > .wp-block-acf-case-study-overview,
.case-study-content > .wp-block-acf-case-study-summary,
.case-study-content > .wp-block-acf-case-study-media,
.case-study-content > .wp-block-acf-case-study-challenge,
.case-study-content > .wp-block-acf-case-study-solved,
.case-study-content > .wp-block-acf-case-study-outcome,
.case-study-content > .wp-block-acf-case-study-conclusion {
  margin: 0;
}

.case-study-content {
  padding-bottom: 120px;
}

/* ----- Overview ----- */
.case-study-content .case-overview__inner {
  padding: 100px 80px 0;
}

.case-study-content .case-overview__rule {
  margin: 56px auto 0;
}

/* ----- Summary ----- */
.case-study-content .case-story--summary .case-story__inner {
  padding: 80px 80px 0;
}

.case-study-content .case-story--summary .case-story__block {
  margin-bottom: 0;
}

.case-study-content .case-story--summary .case-story__columns {
  padding-bottom: 80px;
}

/* ----- Media (full-bleed) ----- */
.case-study-content .case-story--media .case-story__media {
  margin: 0;
}

.case-study-content > .wp-block-acf-case-study-media:not(:last-child) .case-story__media {
  margin-bottom: 80px;
}

/* ----- Text sections ----- */
.case-study-content .case-story--section .case-story__inner--body {
  box-sizing: border-box;
  width: 1440px;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 80px;
}

.case-study-content .case-story--section .case-story__block--challenge,
.case-study-content .case-story--section .case-story__block--solved,
.case-study-content .case-story--section .case-story__block--outcome,
.case-study-content .case-story--section .case-story__block--conclusion {
  width: 1044px;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 0 64px;
  border-top: 0;
}

/* Text block as the first content block, or right after Overview */
.case-study-content > .wp-block-acf-case-study-challenge:first-child .case-story__block--challenge,
.case-study-content > .wp-block-acf-case-study-solved:first-child .case-story__block--solved,
.case-study-content > .wp-block-acf-case-study-outcome:first-child .case-story__block--outcome,
.case-study-content > .wp-block-acf-case-study-conclusion:first-child .case-story__block--conclusion,
.case-study-content > .wp-block-acf-case-study-overview + .wp-block-acf-case-study-challenge .case-story__block--challenge,
.case-study-content > .wp-block-acf-case-study-overview + .wp-block-acf-case-study-solved .case-story__block--solved,
.case-study-content > .wp-block-acf-case-study-overview + .wp-block-acf-case-study-outcome .case-story__block--outcome,
.case-study-content > .wp-block-acf-case-study-overview + .wp-block-acf-case-study-conclusion .case-story__block--conclusion {
  padding-top: 80px;
}

/* Divider + equal padding when one text section follows another */
.case-study-content > .wp-block-acf-case-study-challenge + .wp-block-acf-case-study-solved .case-story__block--solved,
.case-study-content > .wp-block-acf-case-study-challenge + .wp-block-acf-case-study-outcome .case-story__block--outcome,
.case-study-content > .wp-block-acf-case-study-challenge + .wp-block-acf-case-study-conclusion .case-story__block--conclusion,
.case-study-content > .wp-block-acf-case-study-solved + .wp-block-acf-case-study-challenge .case-story__block--challenge,
.case-study-content > .wp-block-acf-case-study-solved + .wp-block-acf-case-study-outcome .case-story__block--outcome,
.case-study-content > .wp-block-acf-case-study-solved + .wp-block-acf-case-study-conclusion .case-story__block--conclusion,
.case-study-content > .wp-block-acf-case-study-outcome + .wp-block-acf-case-study-challenge .case-story__block--challenge,
.case-study-content > .wp-block-acf-case-study-outcome + .wp-block-acf-case-study-solved .case-story__block--solved,
.case-study-content > .wp-block-acf-case-study-outcome + .wp-block-acf-case-study-conclusion .case-story__block--conclusion,
.case-study-content > .wp-block-acf-case-study-conclusion + .wp-block-acf-case-study-challenge .case-story__block--challenge,
.case-study-content > .wp-block-acf-case-study-conclusion + .wp-block-acf-case-study-solved .case-story__block--solved,
.case-study-content > .wp-block-acf-case-study-conclusion + .wp-block-acf-case-study-outcome .case-story__block--outcome {
  border-top: 1px solid rgba(34, 31, 31, 0.1);
  padding-top: 64px;
}

@media (max-width: 1024px) {
  .case-study-content {
    padding-bottom: 88px;
  }

  .case-study-content .case-overview__inner {
    padding: 72px 24px 0;
  }

  .case-study-content .case-story--summary .case-story__inner {
    padding: 56px 24px 0;
  }

  .case-study-content .case-story--summary .case-story__columns {
    padding-bottom: 56px;
  }

  .case-study-content > .wp-block-acf-case-study-media:not(:last-child) .case-story__media {
    margin-bottom: 56px;
  }

  .case-study-content .case-story--section .case-story__inner--body {
    padding: 0 24px;
  }

  .case-study-content .case-story--section .case-story__block--challenge,
  .case-study-content .case-story--section .case-story__block--solved,
  .case-study-content .case-story--section .case-story__block--outcome,
  .case-study-content .case-story--section .case-story__block--conclusion {
    padding-bottom: 48px;
  }

  .case-study-content > .wp-block-acf-case-study-challenge:first-child .case-story__block--challenge,
  .case-study-content > .wp-block-acf-case-study-solved:first-child .case-story__block--solved,
  .case-study-content > .wp-block-acf-case-study-outcome:first-child .case-story__block--outcome,
  .case-study-content > .wp-block-acf-case-study-conclusion:first-child .case-story__block--conclusion {
    padding-top: 56px;
  }

  .case-study-content > .wp-block-acf-case-study-challenge + .wp-block-acf-case-study-solved .case-story__block--solved,
  .case-study-content > .wp-block-acf-case-study-challenge + .wp-block-acf-case-study-outcome .case-story__block--outcome,
  .case-study-content > .wp-block-acf-case-study-challenge + .wp-block-acf-case-study-conclusion .case-story__block--conclusion,
  .case-study-content > .wp-block-acf-case-study-solved + .wp-block-acf-case-study-challenge .case-story__block--challenge,
  .case-study-content > .wp-block-acf-case-study-solved + .wp-block-acf-case-study-outcome .case-story__block--outcome,
  .case-study-content > .wp-block-acf-case-study-solved + .wp-block-acf-case-study-conclusion .case-story__block--conclusion,
  .case-study-content > .wp-block-acf-case-study-outcome + .wp-block-acf-case-study-challenge .case-story__block--challenge,
  .case-study-content > .wp-block-acf-case-study-outcome + .wp-block-acf-case-study-solved .case-story__block--solved,
  .case-study-content > .wp-block-acf-case-study-outcome + .wp-block-acf-case-study-conclusion .case-story__block--conclusion,
  .case-study-content > .wp-block-acf-case-study-conclusion + .wp-block-acf-case-study-challenge .case-story__block--challenge,
  .case-study-content > .wp-block-acf-case-study-conclusion + .wp-block-acf-case-study-solved .case-story__block--solved,
  .case-study-content > .wp-block-acf-case-study-conclusion + .wp-block-acf-case-study-outcome .case-story__block--outcome {
    padding-top: 48px;
  }
}

@media (max-width: 640px) {
  .case-study-content {
    padding-bottom: 72px;
  }

  .case-study-content .case-overview__inner {
    padding: 56px 20px 0;
  }

  .case-study-content .case-story--summary .case-story__inner {
    padding: 48px 20px 0;
  }

  .case-study-content .case-story--summary .case-story__columns {
    padding-bottom: 48px;
  }

  .case-study-content > .wp-block-acf-case-study-media:not(:last-child) .case-story__media {
    margin-bottom: 40px;
  }

  .case-study-content .case-story--section .case-story__inner--body {
    padding: 0 20px;
  }

  .case-study-content > .wp-block-acf-case-study-challenge:first-child .case-story__block--challenge,
  .case-study-content > .wp-block-acf-case-study-solved:first-child .case-story__block--solved,
  .case-study-content > .wp-block-acf-case-study-outcome:first-child .case-story__block--outcome,
  .case-study-content > .wp-block-acf-case-study-conclusion:first-child .case-story__block--conclusion {
    padding-top: 48px;
  }
}
