/* Full Goretovo visual integration: additive presentation styles only.
 * Frozen Baseline token values and accepted Slice/R1 styles remain unchanged.
 * Parish/source patterns are scoped to .goretovo-parish. Optional R1 artwork
 * uses the feature-admission hook supplied by the existing media integration.
 */

.goretovo-parish,
.goretovo-parish .parish-content,
.goretovo-parish .parish-section,
.goretovo-parish .parish-reading,
.goretovo-parish .sermon-card {
  min-width: 0;
}

/* Schedule remains a labelled menu action on narrow layouts, so the static
 * mobile header retains the accepted 56 px minimum and practical menu target. */
.app-header .header-schedule-button {
  display: none;
}

.goretovo-parish {
  max-width: var(--k-width-portal);
  overflow-wrap: anywhere;
}

.goretovo-parish .page-heading h1,
.goretovo-parish .sermon-card h2,
.goretovo-parish .sermon-card h3 {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  overflow-wrap: anywhere;
}

.goretovo-parish .page-heading h1 {
  max-width: var(--k-width-reading);
}

.goretovo-parish .parish-reading {
  max-width: var(--k-width-reading);
  font-family: var(--k-font-reading);
  font-size: var(--k-type-prose-mobile-0);
  line-height: var(--k-type-prose-mobile-1);
  font-weight: 400;
}

.goretovo-parish .parish-reading p,
.goretovo-parish .parish-reading ul,
.goretovo-parish .parish-reading ol,
.goretovo-parish .parish-reading blockquote {
  margin-block: 0 var(--k-space-20);
}

.goretovo-parish .parish-reading > :last-child {
  margin-block-end: 0;
}

.goretovo-parish .parish-reading li + li {
  margin-block-start: var(--k-space-8);
}

.goretovo-parish .parish-reading blockquote {
  margin-inline: 0;
  padding-inline-start: var(--k-space-20);
  border-inline-start: var(--k-border-decorative);
}

.goretovo-parish .parish-reading pre {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  max-width: 100%;
}

.goretovo-parish .parish-section {
  margin-block-start: var(--k-space-32);
}

.goretovo-parish .parish-section > h2 {
  margin-block-end: var(--k-space-16);
}

.goretovo-parish .parish-section:first-child {
  margin-block-start: 0;
}

.goretovo-parish .metadata,
.goretovo-parish .source-status,
.goretovo-parish .source-image figcaption {
  font-family: var(--k-font-ui);
  font-size: var(--k-type-metadata-mobile-0);
  line-height: var(--k-type-metadata-mobile-1);
  color: var(--k-color-mutedText);
  overflow-wrap: anywhere;
}

.goretovo-parish .source-status {
  max-width: var(--k-width-reading);
  margin-block: var(--k-space-8) var(--k-space-16);
}

.goretovo-parish .source-image {
  max-width: var(--k-width-reading);
  margin: var(--k-space-24) 0;
}

.goretovo-parish .source-image img {
  display: block;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  /* No fixed image region: absent assets do not leave a blank plate. */
}

.goretovo-parish .source-image figcaption {
  margin-block-start: var(--k-space-12);
}

.goretovo-parish .sermon-card {
  /* SourceRecordPreview reuses the accepted open-row surface, not a new entity. */
  max-width: var(--k-width-portal);
}

.goretovo-parish .source-archive-form {
  max-width: var(--k-width-reading);
  margin-block-end: var(--k-space-24);
}

/* The frozen control-border color has 2.837:1 against the outside canvas.
 * New parish fields use the existing muted-text role for their necessary
 * boundary (5.364:1), without changing any frozen token or inherited field. */
.goretovo-parish .field input,
.goretovo-parish .field select {
  border-color: var(--k-color-mutedText);
}

/* Same measured outer-boundary correction for the existing calendar date
 * destinations, limited to their month/date inputs in the calendar screen. */
.calendar-page .field input[type="month"],
.calendar-page .field input[type="date"] {
  border-color: var(--k-color-mutedText);
}

.goretovo-parish .sermon-card .metadata {
  display: flex;
  flex-wrap: wrap;
  gap: var(--k-space-4) var(--k-space-16);
}

.goretovo-parish .sermon-card .metadata > * {
  min-width: 0;
  max-width: 100%;
}

.goretovo-parish .context-links a,
.goretovo-parish .breadcrumbs a,
.goretovo-parish .pagination a,
.goretovo-parish .sermon-card h2 a,
.goretovo-parish .sermon-card h3 a,
.goretovo-parish .parish-section > h2 > a,
.goretovo-parish .parish-section > p > a,
.goretovo-parish .parish-content > p > a,
.goretovo-parish .context-disclosure > p > a,
.goretovo-parish [data-component="SourceMediaReferences"] li > a,
.goretovo-parish .parish-action,
.goretovo-parish .source-link {
  min-width: var(--k-control-minimum);
  min-height: var(--k-control-minimum);
  overflow-wrap: anywhere;
}

.goretovo-parish .parish-action,
.goretovo-parish .source-link,
.goretovo-parish .parish-section > h2 > a,
.goretovo-parish .parish-section > p > a,
.goretovo-parish .parish-content > p > a,
.goretovo-parish .context-disclosure > p > a,
.goretovo-parish [data-component="SourceMediaReferences"] li > a {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding-block: var(--k-space-8);
}

.goretovo-parish :focus-visible {
  outline: var(--k-border-focus);
  outline-offset: var(--k-border-focusOffset);
}

/* Feature absence changes only occupied tracks. The existing runtime owns all
 * playback state, hidden/inert surfaces, focus and modal coordination. */
.sermon-overview.has-no-artwork {
  grid-template-columns: minmax(0, 1fr);
}

.sermon-overview.has-no-artwork > h1,
.sermon-overview.has-no-artwork > .sermon-meta-list,
.sermon-overview.has-no-artwork > .sermon-context-line,
.sermon-overview.has-no-artwork > .sermon-player {
  grid-column: 1;
  max-width: var(--k-width-reading);
}

.sermon-page .media-availability {
  max-width: var(--k-width-reading);
  margin-block: var(--k-space-16);
  font-family: var(--k-font-ui);
  font-size: var(--k-type-ui-all-0);
  line-height: var(--k-type-ui-all-1);
  overflow-wrap: anywhere;
}

.sermon-page .media-availability a {
  display: inline-flex;
  align-items: center;
  min-width: var(--k-control-minimum);
  min-height: var(--k-control-minimum);
  max-width: 100%;
}

.sermon-page .text-only-reader-entry {
  max-width: var(--k-width-reading);
  margin-block: var(--k-space-16);
}

.sermon-page .text-only-reader-entry button {
  min-width: var(--k-control-minimum);
  min-height: var(--k-control-minimum);
}

/* Native integration measurements exposed inherited practical source links
 * at 19 px high and paragraph links at 43.703 px wide. Enforce the existing
 * 44 px requirement locally; controller, text, IDs and timing remain intact. */
.sermon-page [data-component="SourceProvenance"] p > a {
  display: inline-flex;
  align-items: center;
  min-width: var(--k-control-minimum);
  min-height: var(--k-control-minimum);
  max-width: 100%;
}

.sermon-page .paragraph-tools a,
#reader-content .paragraph-tools a {
  min-width: var(--k-control-minimum);
}

@media (max-width: 359px) {
  .goretovo-parish {
    width: calc(100% - 2 * var(--k-gutter-narrow));
  }
}

@media (max-width: 767px) {
  .goretovo-parish .sermon-card .metadata {
    display: block;
  }

  .goretovo-parish .sermon-card .metadata > * {
    display: block;
  }
}

@media (min-width: 768px) {
  .goretovo-parish {
    width: calc(100% - 2 * var(--k-gutter-tablet));
  }

  .goretovo-parish .parish-reading {
    font-size: var(--k-type-prose-desktop-0);
    line-height: var(--k-type-prose-desktop-1);
  }
}

@media (min-width: 1200px) {
  .app-header .header-schedule-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: var(--k-control-minimum);
    min-height: var(--k-control-minimum);
  }

  .goretovo-parish {
    width: calc(100% - 2 * var(--k-gutter-desktop));
  }

  .goretovo-parish .parish-section {
    margin-block-start: var(--k-space-48);
  }

  .goretovo-parish .metadata,
  .goretovo-parish .source-status,
  .goretovo-parish .source-image figcaption {
    font-size: var(--k-type-metadata-desktop-0);
    line-height: var(--k-type-metadata-desktop-1);
  }
}

@media (min-width: 1600px) {
  .goretovo-parish {
    max-width: var(--k-width-portal);
  }
}

@media (prefers-reduced-motion: reduce) {
  .goretovo-parish,
  .goretovo-parish *,
  .goretovo-parish *::before,
  .goretovo-parish *::after {
    scroll-behavior: auto !important;
    transition-duration: var(--k-motion-reduced) !important;
    animation-duration: var(--k-motion-reduced) !important;
  }
}

@media (forced-colors: active) {
  .goretovo-parish .source-status,
  .goretovo-parish .metadata,
  .goretovo-parish .source-image figcaption {
    color: CanvasText;
  }

  .goretovo-parish a {
    color: LinkText;
  }

  .goretovo-parish :focus-visible {
    outline-color: Highlight;
  }
}
/* Second pass: identity before the exact existing source/context wrapper. */
#sermon-public-context {
  grid-column: 1 / -1;
  min-width: 0;
  max-width: var(--k-width-reading);
}
@media (min-width: 768px) {
  #sermon-public-context { grid-column: 1; }
}
