/*
 * Styling for a recap on the church's own website.
 *
 * The hard constraint: this runs inside somebody else's theme, and we do not
 * know what that theme looks like. Tribe's is near-black with white headings;
 * the next church's will be cream with a serif. So there is not a single
 * literal colour in this file. Everything is mixed from `currentColor`, which
 * is whatever the theme already decided the text should be, so the same rules
 * read correctly on a dark site and a light one without a media query.
 *
 * Headings are deliberately left alone. The church's own h2 is already the
 * right h2 - restyling it is how a plugin makes a page look like two websites
 * stapled together.
 *
 * No cascade layer here on purpose. Layered rules lose to every unlayered
 * theme rule regardless of specificity, and a theme's plain `ul { }` would
 * quietly undo all of this.
 */

.recap-sunday-refs,
.recap-sunday-points,
.recap-sunday-study,
.recap-sunday-topics {
  /* Themes set list margins in wildly different places. State ours once. */
  margin-block: 0 1.75em;
}

/* -------------------------------------------------------- the video */

.recap-sunday-video {
  aspect-ratio: 16 / 9;
  margin-block-end: 1.75em;
  /* The player is black behind a still that has not loaded. Matching that
     stops a bright flash on a dark site and a dark hole on a light one. */
  background: color-mix(in oklab, currentColor 10%, transparent);
  border-radius: 0.5em;
  overflow: hidden;
}

.recap-sunday-video iframe {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  border: 0;
}

/* ------------------------------------------------- scripture, as chips */

.recap-sunday-refs {
  list-style: none;
  padding-inline-start: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
}

.recap-sunday-refs li {
  display: inline-flex;
  align-items: center;
  padding-block: 0.35em;
  padding-inline: 0.85em;
  font-size: 0.9em;
  line-height: 1.35;
  border: 1px solid color-mix(in oklab, currentColor 28%, transparent);
  border-radius: 999px;
  background: color-mix(in oklab, currentColor 7%, transparent);
}

/* --------------------------------------------------- touch points */

.recap-sunday-points {
  list-style: none;
  padding-inline-start: 0;
  display: grid;
  gap: 0.75em;
}

.recap-sunday-points li {
  padding-block: 0.9em;
  padding-inline: 1.1em;
  /* A rule down the side rather than a bullet: these are things to do, and a
     bullet list of four sentences reads as filler. */
  border-inline-start: 3px solid color-mix(in oklab, currentColor 40%, transparent);
  background: color-mix(in oklab, currentColor 5%, transparent);
  border-start-end-radius: 0.3em;
  border-end-end-radius: 0.3em;
}

/* ------------------------------------------------- the study guide */

.recap-sunday-study {
  display: grid;
  gap: 0.65em;
  padding-block: 1.3em;
  padding-inline: 2.4em 1.5em;
  border: 1px solid color-mix(in oklab, currentColor 22%, transparent);
  border-radius: 0.5em;
}

.recap-sunday-study li {
  padding-inline-start: 0.3em;
}

.recap-sunday-study li::marker {
  font-variant-numeric: tabular-nums;
  color: color-mix(in oklab, currentColor 65%, transparent);
}

/* ------------------------------------------------ the Spanish recap */

.recap-sunday-es {
  padding-block: 0.2em 0.6em;
  padding-inline-start: 1.1em;
  border-inline-start: 2px solid color-mix(in oklab, currentColor 20%, transparent);
  margin-block-end: 1.75em;
}

/* ------------------------------------------------------- topics */

.recap-sunday-topics {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
}

.recap-sunday-topics span {
  padding-block: 0.3em;
  padding-inline: 0.75em;
  font-size: 0.85em;
  line-height: 1.35;
  border-radius: 0.3em;
  background: color-mix(in oklab, currentColor 9%, transparent);
}

/*
 * High contrast mode strips backgrounds and leaves the tinted chips
 * indistinguishable from the prose around them. Borders survive, so the chips
 * keep their shape from a border instead of a fill.
 */
@media (forced-colors: active) {
  .recap-sunday-topics span,
  .recap-sunday-points li {
    border: 1px solid CanvasText;
  }
}
