.intro-section img.hero-img {
  margin-bottom: 0;
  padding: 5px 10px;
}

/* Intro section with background image */
.intro-section {
  background: url("../../img/31days.jpg") center/cover no-repeat;
  padding: 60px 20px; /* generous padding for text visibility */
  text-align: center;
  min-height: 300px; /* ensure adequate height */
  flex-direction: column;
  position: relative;
  border-radius: 25px; /* requested rounded corners */
  overflow: hidden; /* clip overlay/background to radius */
}

/* Optional: Add overlay for better text readability */
.intro-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 147, 123, 0.3); /* dark overlay for contrast */
  z-index: 1;
  border-radius: inherit; /* match parent radius */
}
/* Left split panel background image */
.split.left {
  background: url("../../img/headshot-smiling-materials-engineer-web.jpeg")
    center/cover no-repeat;
  position: relative;
  min-height: 250px;
  max-height: 450px; /* constrain left panel height */
  overflow: hidden; /* clip background/content within height */
}

/* Style the verse text */
.intro-verse {
  font-size: 1.8rem;
  font-style: italic;
  color: var(--color-white);
  margin: 10px 0 5px;
  font-family: "Playfair Display", serif;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
  font-weight: 600;
}

/* Style the reference text */
.intro-reference {
  font-size: 1.2rem;
  color: var(--color-white);
  margin: 10px 0 0;
  font-weight: 700;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
}

.sideBySide {
  display: flex;
  justify-content: center;
  gap: 30px;
  max-width: 1200px;
  padding: 20px 20px;
}
.call-to-commitment {
  width: 50%;
  background: url("../../img/heroes17.webp") center/cover no-repeat;
  border-radius: 25px;
}

/* Prayer split panel section */
.prayer {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row;
  gap: 10px;
  margin-bottom: 15px;
}

.split {
  flex: 1;
  flex-direction: column;
  padding: 20px;
  border-radius: 20px;
  color: var(--color-white);
  height: 350px;
}

.split.left {
  background: url("../../img/headshot-smiling-materials-engineer-web.jpeg")
    center/cover no-repeat;
  overflow: hidden;
}

.split.right {
  background: linear-gradient(
    135deg,
    rgba(20, 184, 165, 0.913),
    /* teal */ rgba(59, 131, 246, 0.709) /* blue */
  );
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 8px 32px rgba(31, 38, 135, 0.37);
  transition: all 0.3s ease;
}

.split.right:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 40px rgba(31, 38, 135, 0.5);
}

.split.right h2 {
  margin-top: 0;
  margin-bottom: 15px;
}

.split.right p {
  margin: 0;
  text-align: center;
}

.purity_challenge_intro_block_text {
  height: 600px;
}

.purity_challenge_intro_block {
  height: 500px;
  align-items: center;
  overflow: hidden;
  background: none; /* remove global background image on this page */
  background-color: transparent;
}

/* Remove padding for this block instance on the prayer page */
.purity_challenge_intro_block.separated_block_corner {
  padding: 0;
}

/* Page-specific radius increase to 28px for prayer page wrappers */
.separated_block.separated_block_corner {
  border-radius: 25px;
  margin-top: 15px;
  margin-bottom: 15px;
}

/* Specific sections with top margin */
.gradient-section,
.intro-section-wrapper {
  margin-top: 15px;
}

.purity_challenge_intro_block.separated_block_corner,
.intro-section.separated_block_corner,
.thirty_one_day_card_wrapper.separated_block_corner,
.thirty_one_day_card_block.separated_block_corner {
  border-radius: 25px;
}

/* Title badge custom corners */
/* keep single declaration to avoid duplication */

.purity_challenge_intro_block_picture {
  height: 100%;
}

.purity_challenge_intro_block_title {
  left: 0;
  padding-left: 40px;
}

/* Add bottom-right border radius for .diwt_top_left variant */
.purity_challenge_intro_block_title.diwt_top_left {
  border-bottom-right-radius: 25px;
  border-top-left-radius: 25px; /* requested top-left corner */
}

.intro-paragraph {
  max-width: 800px;
  font-size: 1rem;
  line-height: 1.8;
  margin-bottom: 0;
  position: absolute;
  left: 50%;
  top: 55%;
  transform: translate(-50%, -50%);
  color: var(--color-white); /* per request: white text */
  text-shadow: 1px 1px 2px #8b8b8b; /* restore subtle shadow for readability */
  font-weight: 500;
  text-align: center;
}

.gradient_cards_wrapper {
  background: url("../../img/heroes22.webp") center/cover no-repeat;
  text-align: center;
  color: var(--color-white);
  text-shadow: 1px 1px 2px #8b8b8b;
}

.gradient_cards_wrapper h1 {
  font-size: 36px;
}

@media screen and (max-width: 1024px) {
  .intro-paragraph {
    max-width: fit-content;
    padding: 60px 20px;
    transform: translate(0%, 23%);
    left: auto;
    top: auto;
  }
}

/* Start Monthly prayer guide */
.monthly_prayer_guide_wrapper {
  position: relative;
  background: url(../../img/abstract-background-web-optimized.jpeg) center /
    cover no-repeat;
  padding: 20px;
}

.monthly_prayer_guide_card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.monthly_prayer_guide_weeks {
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-width: 120px;
}

.monthly_prayer_guide_week_item {
  font-size: 20px;
  font-weight: bold;
  padding: 10px;
  background: linear-gradient(
    135deg,
    rgba(59, 130, 246, 0.2),
    rgba(96, 165, 250, 0.1)
  );
  backdrop-filter: blur(3px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 8px 32px rgba(31, 38, 135, 0.37);
  border-radius: 20px;
  color: var(--color-white);
  cursor: pointer;
  transition: all 0.3s ease;
}

.monthly_prayer_guide_content {
  background: linear-gradient(
    135deg,
    rgba(59, 130, 246, 0.2),
    rgba(96, 165, 250, 0.1)
  );
  padding: 10px;
  backdrop-filter: blur(3px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 8px 32px rgba(31, 38, 135, 0.37);
  border-radius: 20px;
  gap: 20px;
  width: 100%;
  justify-content: center; /* center children on desktop */
}

/* Carousel container for desktop prayer guide */
.monthly_prayer_guide_carousel {
  position: relative;
  border-radius: 25px;
  overflow: hidden;
  flex: 0 1 clamp(240px, 28%, 380px);
  aspect-ratio: 4 / 5;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
  border: 2px solid rgba(255, 255, 255, 0.4);
  background: #1e293b; /* fallback color while first image loads */
}

.monthly_prayer_guide_carousel img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.8s ease;
}

.monthly_prayer_guide_carousel img.active {
  opacity: 1;
}

/* Carousel controls */
.carousel-control {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.35);
  color: var(--color-white);
  border: none;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: background 0.2s ease;
  z-index: 2;
}

.carousel-control:hover {
  background: rgba(0, 0, 0, 0.55);
}

.carousel-control.prev {
  left: 8px;
}
.carousel-control.next {
  right: 8px;
}

/* Dots */
.carousel-dots {
  position: absolute;
  bottom: 8px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 6px;
  z-index: 2;
}

.carousel-dots button {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: none;
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
}

.carousel-dots button[aria-selected="true"] {
  background: rgba(255, 255, 255, 0.95);
}

.monthly_prayer_guide_days {
  display: flex;
  flex-direction: column;
  gap: 20px;
  cursor: pointer;
}

.monthly_prayer_guide_day_item {
  background: linear-gradient(
    135deg,
    rgba(59, 130, 246, 0.2),
    rgba(96, 165, 250, 0.1)
  );
  padding: 10px;
  backdrop-filter: blur(3px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 8px 32px rgba(31, 38, 135, 0.37);
  border-radius: 20px;
  width: 72px;
  color: var(--color-white);
  transition: all 0.3s ease;
}

.monthly_prayer_guide_day_item.active,
.monthly_prayer_guide_week_item.active {
  font-weight: bold;
  border: 1px solid rgba(255, 255, 255, 1);
  background: linear-gradient(
    135deg,
    rgba(59, 130, 246, 0.8),
    rgba(96, 165, 250, 0.8)
  );
  backdrop-filter: blur(6px);
}

.monthly_prayer_guide_wrapper_mobile {
  display: none;
}

/* Prayer Amen text styling */
.prayer-amen {
  font-size: 25px;
  margin: 0;
}

/* End Monthly prayer guide */

@media screen and (max-width: 768px) {
  /* Parallax */

  .parallax__header {
    min-height: 30svh;
  }

  /* Start dynamic text with image */

  .purity_challenge_intro_block_title {
    font-size: 30px;
    width: fit-content;
    padding: 10px 20px 10px 40px;
  }

  .intro-paragraph {
    transform: translate(0%, 10%);
  }

  /* End dynamic text with image */

  .centered {
    width: 100%;
    padding: 10px;
  }

  /* Start Monthly prayer guide */

  .monthly_prayer_guide_wrapper_desktop {
    display: none;
  }

  .monthly_prayer_guide_wrapper_mobile {
    display: block;
  }

  .monthly_prayer_guide_days {
    flex-direction: row;
    gap: 10px;
    justify-content: center;
    margin-bottom: 10px;
  }

  .week_block {
    overflow: hidden;
    border-radius: 20px;
    transition: all 0.3s ease;
    width: 100%;
  }

  .weekly_content {
    display: none;
    padding: 10px 0;
  }

  .weekly_content .thirty_one_day_card_wrapper {
    margin: 0 auto;
  }

  .week_block.active .weekly_content {
    display: block;
  }

  .monthly_prayer_guide_card {
    flex-direction: column;
  }

  /* End Monthly prayer guide */
}

@media screen and (max-width: 600px) {
  .intro-paragraph {
    padding: 20px 25px;
  }
}

@media screen and (max-width: 479px) {
  .purity_challenge_intro_block_title {
    font-size: 18px;
    padding: 10px 10px 10px 30px;
  }

  .intro-paragraph {
    line-height: normal;
    padding: 0 25px;
  }

  .prayer {
    flex-direction: column;
  }

  .split {
    width: 100%;
    min-height: auto;
  }

  .split.left {
    min-height: 200px;
  }

  .intro-section img.hero-img {
    max-height: 200px;
  }
}
