/* Bulletin presentation refinements approved from private UAT. */
@media screen {
  /* Give the opening identity and service details room to breathe on the Web. */
  #livonia-community-church > p + p {
    margin-top: 14px;
  }

  #livonia-community-church > p:nth-of-type(5) {
    color: var(--ink);
    font-weight: 700;
  }

  /* Keep the Web-only missions event readable without changing the PDF asset. */
  .bulletin-missions-vision-event .bulletin-missions-vision-location {
    color: var(--ink);
    font-weight: 600;
    margin-bottom: 4px;
  }

  .bulletin-missions-vision-event .bulletin-missions-vision-tagline {
    color: var(--muted);
    margin-bottom: 18px;
  }

  .bulletin-missions-vision-event .bulletin-missions-vision-learn-more {
    margin-bottom: 14px;
  }

  .bulletin-missions-vision-event .bulletin-missions-vision-giving {
    margin-bottom: 0;
  }
}

.bulletin-weekly-events {
  margin-top: 4px;
}

.bulletin-weekly-events > h3 {
  color: var(--ink);
  font-size: 20px;
  margin: 0 0 12px;
}

.bulletin-weekly-event {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 4px;
  padding: 14px 0;
}

.bulletin-weekly-event:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.bulletin-weekly-event:last-child {
  padding-bottom: 0;
}

.bulletin-weekly-event h4 {
  color: var(--ink);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
  margin: 0;
}

.bulletin-weekly-event p {
  margin: 0;
}

.bulletin-event-group {
  margin-top: 4px;
}

.bulletin-event-item {
  border-top: 1px solid var(--line);
  padding: 24px 0;
}

.bulletin-event-item:first-child {
  border-top: 0;
  padding-top: 0;
}

.bulletin-event-item:last-child {
  padding-bottom: 0;
}

.bulletin-event-item h3 {
  color: var(--ink);
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 10px;
}

.bulletin-event-item p {
  margin: 0 0 12px;
}

.bulletin-event-item .bulletin-event-meta {
  color: var(--ink);
  font-weight: 700;
  margin-bottom: 4px;
}

.bulletin-event-item .bulletin-event-label {
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.bulletin-event-item .bulletin-content-image {
  margin-top: 14px;
}

.bulletin-conference-notice .bulletin-conference-location {
  color: var(--ink);
  font-weight: 600;
}

.bulletin-detail-list {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 0;
  margin: 18px 0 22px;
}

.bulletin-detail-list > div {
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 4px;
  padding: 12px 0;
}

.bulletin-detail-list dt {
  color: var(--ink);
  font-weight: 700;
}

.bulletin-detail-list dd {
  color: var(--muted);
  margin: 0;
}

.bulletin-conference-notice .bulletin-conference-audience {
  margin-bottom: 18px;
}

.bulletin-conference-notice .bulletin-conference-cta {
  margin-bottom: 0;
}

.bulletin-missions-vision-notice .bulletin-missions-vision-location {
  color: var(--ink);
  font-weight: 600;
  margin-bottom: 4px;
}

.bulletin-missions-vision-notice .bulletin-missions-vision-tagline {
  color: var(--muted);
  margin-bottom: 18px;
}

.bulletin-missions-vision-notice .bulletin-missions-vision-learn-more {
  margin-bottom: 22px;
}

.bulletin-giving-panel {
  background: var(--accent-soft);
  border: 1px solid var(--accent-soft-line);
  border-radius: 14px;
  padding: 16px 18px 18px;
}

.bulletin-giving-panel .bulletin-giving-intro {
  color: var(--ink);
  font-weight: 600;
  margin-bottom: 14px;
}

.bulletin-giving-panel .bulletin-content-image--qr {
  margin-bottom: 14px;
  margin-top: 14px;
}

.bulletin-giving-panel .bulletin-giving-link {
  margin-bottom: 0;
}

.bulletin-content-image--qr {
  margin-left: auto;
  margin-right: auto;
  max-width: 132px;
}

.bulletin-content-image--qr img {
  max-width: 132px;
}

.bulletin-parsonage-fundraiser .bulletin-image-grid {
  grid-template-columns: 1fr;
}

.bulletin-missions-prayer .bulletin-mission-name {
  color: var(--ink);
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 2px;
}

@media screen {
  .bulletin-missions-prayer .bulletin-mission-name {
    display: inline;
    margin-bottom: 0;
  }

  .bulletin-missions-prayer .bulletin-mission-name
    + .bulletin-mission-name::before {
    content: " ";
  }
}

.bulletin-missions-prayer > p + p {
  margin-top: 12px;
}

.bulletin-missions-prayer .bulletin-mission-kicker,
.bulletin-missions-prayer .bulletin-mission-subject {
  color: var(--ink);
  font-weight: 600;
}

.bulletin-missions-prayer .bulletin-mission-prompt {
  color: var(--ink);
  font-weight: 700;
  margin-top: 20px;
}

.bulletin-missions-prayer .bulletin-mission-prayer-list {
  background: var(--accent-soft);
  border: 1px solid var(--accent-soft-line);
  border-radius: 14px;
  margin: 10px 0 20px;
  padding: 14px 18px 14px 38px;
}

.bulletin-missions-prayer .bulletin-mission-prayer-list ul {
  margin: 0;
  padding-left: 18px;
}

.bulletin-missions-prayer .bulletin-mission-prayer-list li + li {
  margin-top: 12px;
}

.bulletin-missions-prayer .bulletin-mission-prayer-list strong {
  color: var(--ink);
}

.bulletin-section-divider {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--paper);
}

.bulletin-section-divider h2 {
  color: var(--paper);
  margin: 0;
}

.bulletin-gospel-laws ol {
  margin: 0;
  padding-left: 22px;
}

.bulletin-gospel-laws li + li {
  margin-top: 20px;
}

.bulletin-gospel-laws .bulletin-gospel-law {
  color: var(--ink);
  font-weight: 600;
  margin: 0 0 8px;
}

.bulletin-gospel-laws .bulletin-gospel-reference,
.bulletin-gospel-laws .bulletin-gospel-prayer-reference {
  color: var(--muted);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.bulletin-gospel-laws .bulletin-gospel-reference {
  margin: 7px 0;
}

.bulletin-gospel-laws > .bulletin-gospel-reference {
  margin-left: 22px;
}

.bulletin-gospel-laws .bulletin-gospel-prayer {
  border-top: 1px solid var(--line);
  margin-top: 24px;
  padding-top: 20px;
}

.bulletin-gospel-laws .bulletin-gospel-prayer h3 {
  color: var(--ink);
  margin-bottom: 8px;
}

.bulletin-gospel-laws .bulletin-gospel-prayer-reference {
  display: block;
  margin-top: 10px;
}

@media (min-width:640px) {
  .bulletin-weekly-event {
    align-items: start;
    grid-template-columns: minmax(150px, .8fr) minmax(0, 1.5fr);
    gap: 18px;
  }

  .bulletin-weekly-event p + p {
    grid-column: 2;
  }

  .bulletin-detail-list > div {
    grid-template-columns: minmax(110px, .45fr) minmax(0, 1.55fr);
    gap: 18px;
  }
}

@media print {
  .bulletin-section-divider {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}
