/* Drupal integration and video modal additions. The visual utility classes
 * are supplied by app.css from the current Base44 export. */
.bosque-catalog-card {
  border: 0;
  font: inherit;
  cursor: pointer;
}
.bosque-catalog-card:focus-visible,
.bosque-video-play:focus-visible,
.bosque-video-play-secondary:focus-visible {
  outline: 4px solid rgba(235,181,49,.95);
  outline-offset: 4px;
}
.bosque-video-modal[hidden] { display: none !important; }
.bosque-video-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
.bosque-video-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,25,50,.9);
  backdrop-filter: blur(5px);
}
.bosque-video-modal-dialog {
  position: relative;
  z-index: 1;
  width: min(1120px,96vw);
  background: #001c36;
  border-radius: 1.5rem;
  overflow: hidden;
  box-shadow: 0 30px 90px rgba(0,0,0,.6);
}
.bosque-video-modal-stage {
  width: 100%;
  aspect-ratio: 16/9;
  background: #000;
}
.bosque-video-modal-stage video,
.bosque-video-modal-stage iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: #000;
}
.bosque-video-modal-close {
  position: absolute;
  top: .7rem;
  right: .7rem;
  z-index: 3;
  width: 2.8rem;
  height: 2.8rem;
  border: 0;
  border-radius: 9999px;
  background: rgba(255,255,255,.95);
  color: #003b73;
  font-size: 1.8rem;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 5px 18px rgba(0,0,0,.3);
}
html.bosque-modal-open,
body.bosque-modal-open { overflow: hidden; }
.episodes-empty {
  text-align: center;
  padding: 3rem 1rem;
  color: #003b73;
}
@media (max-width: 639px) {
  .bosque-video-modal { padding: .5rem; }
  .bosque-video-modal-dialog { border-radius: 1rem; }
}

/* Match the inherited landing-page featured episode width (Tailwind max-w-5xl). */
.bosque-featured-episode-wrap {
  max-width: 64rem;
  margin-left: auto;
  margin-right: auto;
}

/* Episode numbers come from Drupal fields; presentation is uppercase in CSS. */
.font-display.font-extrabold.text-lg.sm\:text-xl.leading-tight {
  text-transform: uppercase;
}
