/* Lectura, foco y composición compartidos por el inicio aprobado. */
:root {
  --type-caption: .75rem;
  --type-label: .875rem;
  --type-body: 1rem;
  --accent-text: #1b7c90;
  --focus-ring: var(--ink);
  --script-agenda: 3rem;
}
html { scroll-padding-bottom: var(--space-3); }
.logo { flex-shrink: 0; }
.journey-nav a { min-width: 44px; justify-content: center; }
.masthead .motion-control { font-size: var(--type-caption); line-height: 1.3; }
.micro, .daily-copy > .micro, .origin-heading .micro, .series-heading .micro,
.origin-caption .micro, .origin-center .micro, .chapter-heading > .micro,
.scripture .micro, .reflection > .micro, .people-copy .micro,
.family-section .people-copy .micro, .continue-intro .micro, .closing > .micro {
  font-size: var(--type-caption);
  letter-spacing: .1em;
  line-height: 1.6;
}
.chapter--word .accent, .chapter--life .accent, .chapter--share .accent,
.origin-heading .accent, .hero-copy .dot { color: var(--accent-text); }
.daily, .story-stage, .series-section, .family-section, .agenda-campaign, .closing {
  --focus-ring: var(--paper);
}
:is(a, button, summary, textarea, select):focus-visible {
  outline: 3px solid var(--focus-ring);
  outline-offset: var(--space-1);
}
.masthead { --focus-ring: var(--ink); }
.masthead :is(a, button):focus-visible { outline-color: var(--ink); }
.episode-info time, .episode-status, .daily-bottom, .channel-note,
.object-kicker, .object-footnote, .series-caption .micro, #series-status,
.series-open, .draft-meta, .continue-link small, .continue-list summary small,
footer > span { font-size: var(--type-caption); line-height: 1.6; }
.daily .button-copy small, .hero-copy .button-copy small { font-size: var(--type-caption); }
.hero-copy > .micro, .chapter--share .people-copy > .micro,
.origin-center .text-link, .hero-footer a { font-size: var(--type-caption); }
.poster-caption { font-size: var(--type-caption); }
.poster-caption { padding: var(--space-1); background: #18264de8; letter-spacing: .08em; }
.continue-link small, .continue-list summary small { letter-spacing: .06em; }
.origin-foot > p { font-size: var(--type-label); line-height: 1.6; }
.agenda-campaign__eyebrow, .agenda-campaign__format, .agenda-campaign__signature,
.agenda-callout small { font-size: var(--type-caption); }
.agenda-campaign__eyebrow { margin-bottom: var(--space-3); letter-spacing: .08em; }
.agenda-campaign__script {
  font-size: var(--script-agenda);
  line-height: 1.35;
  margin-bottom: var(--space-2);
}
.agenda-campaign__caption { font-size: var(--type-label); }
.agenda-campaign__view-actions button { font-size: var(--type-label); }
.agenda-campaign__actions { gap: var(--space-2); }
.agenda-campaign__button { min-height: 56px; padding: var(--space-2); }
.agenda-campaign__button:active { transform: translate(2px, 2px); box-shadow: 1px 1px 0 #319bb0; }
.agenda-callout:focus-visible { outline-offset: 4px; }
.journey-account { font-size: var(--type-caption); }
.chapter-heading > p:last-child, .origin-heading > p, .series-heading > p,
.people-copy > p:not(.micro), .quiet-steps p { line-height: 1.6; }

@media (min-width: 701px) and (max-width: 850px) {
  .masthead { padding-inline: var(--space-3); gap: 12px; }
  .masthead .logo img { width: 82px; }
  .journey-nav { gap: 8px; font-size: var(--type-caption); }
  .journey-account { padding-inline: 10px; }
  .masthead .motion-control { flex-shrink: 0; max-width: 100px; padding-inline: 8px; }
}
@media (max-width: 700px) {
  :root { --script-agenda: 2.75rem; }
  html { scroll-padding-bottom: calc(88px + env(safe-area-inset-bottom)); }
  .masthead .motion-control { font-size: var(--type-caption); line-height: 1.3; }
  .journey-account { min-width: 80px; }
  .journey-nav a { min-width: 44px; flex: 1; font-size: var(--type-caption); line-height: 1.3; text-align: center; white-space: normal; }
  .daily-spotify, .daily-bottom, .hero-footer a { font-size: var(--type-caption); }
  .hero-footer a { max-width: 260px; }
  .series-filters button { font-size: var(--type-caption); padding-inline: var(--space-2); }
  .series-bottom .text-link, .chapter--share .people-copy .text-link { font-size: var(--type-label); }
  .agenda-campaign__eyebrow { font-size: var(--type-caption); }
  .agenda-campaign__signature { text-transform: none; letter-spacing: .03em; }
}
@media (max-width: 1020px) {
  .agenda-campaign__actions { grid-row: 2; }
  .agenda-campaign__explorer { grid-row: 3; }
}
@media (max-width: 380px) {
  .masthead { gap: var(--space-1); }
  .masthead .motion-control { max-width: 88px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .agenda-campaign__button:active { transform: none; }
}
.motion-off { scroll-behavior: auto; }
.motion-off .agenda-campaign__button:active { transform: none; }
.public-contact { display: flex; flex-basis: 100%; flex-wrap: wrap; gap: 8px 28px; padding-top: 16px; border-top: 1px solid #293c7425; }
.public-contact a { min-height: 44px; margin: 0; overflow-wrap: anywhere; }

/* Flechas geométricas de contorno, compartidas por los controles. */
.action-arrow { display: block; flex: none; width: 32px; height: 24px; fill: none; color: inherit; }
.button-arrow .action-arrow, .agenda-campaign__button > .action-arrow { width: 32px; height: 24px; }
.text-link > .action-arrow, [data-agenda-detail] > .action-arrow { width: 24px; height: 24px; }
.daily-bottom .action-arrow, .hero-footer .action-arrow { width: 20px; height: 32px; }
footer a > .action-arrow { width: 28px; height: 24px; }
.agenda-campaign__view-actions svg { width: 20px; height: 20px; flex: none; }
.tour-pause { display: none; }
[data-agenda-tour][aria-pressed="true"] .tour-play { display: none; }
[data-agenda-tour][aria-pressed="true"] .tour-pause { display: block; }

/* Espacio de lectura y controles compartidos por todo el recorrido. */
.primary, .secondary-action, .agenda-campaign__button {
  font-size: .875rem;
  line-height: 1.5;
  padding: var(--space-2) var(--space-3);
  gap: var(--space-2);
}
.primary > svg, .secondary-action > svg, .agenda-campaign__button > svg { flex-shrink: 0; }
.primary--listen, .daily .primary--listen {
  width: 400px;
  grid-template-columns: 44px minmax(0, 1fr) 32px;
  column-gap: var(--space-2);
}
.button-symbol, .button-symbol svg { width: 44px; height: 44px; }
.button-symbol svg { fill: none; stroke: currentColor; }
.button-arrow { width: 32px; height: 24px; }
.primary--listen { min-height: 88px; max-width: calc(100% - 8px); }
.button-copy { gap: var(--space-1); line-height: 1.45; }
.text-link { gap: var(--space-2); line-height: 1.5; }
.close-player { min-height: 44px; padding: var(--space-1) var(--space-2); }
.origin-caption { background: var(--paper); }
.origin-center > :is(h3, p, .text-link) { position: relative; z-index: 2; background: var(--paper); }
.story-stage {
  --focus-ring: var(--ink);
  --community-pinned-top: 48px;
  --community-pinned-bottom: 110px;
  --community-wave-height: 72px;
  --community-copy-gap: 24px;
  --community-footer-gap: 16px;
}
/* El devocional conserva su separador; la comunidad enlaza con una onda. */
.daily-wave i { transform: none !important; transition: none; }
.story-stage::after {
  content: "";
  position: absolute;
  width: 0;
  height: calc(100svh - var(--header));
  visibility: hidden;
  pointer-events: none;
}
.voice-bars i { transform-origin: center; }
.motion-on .story-track:not(.community-flow) .hero-copy {
  transform: translateY(var(--community-copy-y, 0px));
}
.motion-on .story-track.community-flow { height: auto; min-height: 0; }
.motion-on .community-flow .story-stage { position: relative; top: auto; height: auto; }
.motion-on .community-flow .opening { height: auto; min-height: 800px; padding-top: var(--space-8); padding-bottom: 192px; }
.motion-on .community-flow .phone-scene { min-height: 510px; }
.community-flow .voice-transition { inset: auto 0 76px; height: var(--community-wave-height); }
.motion-on .community-flow .scene-caption { display: none; }
.motion-off .opening { padding-bottom: 192px; }
.motion-off .voice-transition { inset: auto 0 76px; height: 72px; }
@media (min-width: 1024px) and (min-height: 741px) {
  .motion-on .hero-copy h2 { font-size: clamp(54px, min(6.7vw, 10.5svh), 102px); }
}
.agenda-campaign__stage { column-gap: var(--space-3); }
.agenda-campaign__book { isolation: isolate; }
.agenda-campaign__book > .agenda-campaign__path {
  top: -10%; right: -28%; height: 120%; opacity: .1;
}
.agenda-callout { padding: var(--space-2) var(--space-1); gap: var(--space-1); }
.agenda-callout i { margin-top: var(--space-1); }
.agenda-campaign__view-actions { gap: var(--space-2); margin: var(--space-3) 0 var(--space-2); }
.agenda-campaign__view-actions button {
  min-height: 48px; padding: var(--space-1) var(--space-2);
  border: 1px solid #8cd4d755; border-radius: 4px; line-height: 1.5;
}
.agenda-campaign__view-actions button:is(:hover, [aria-pressed="true"]) { background: #8cd4d712; }
.agenda-campaign__caption { min-height: 96px; }
.agenda-campaign__caption a { margin-top: var(--space-1); }
.series-open { bottom: var(--space-2); right: var(--space-2); padding: var(--space-1) 12px; }
.series-bottom .secondary-action { max-width: calc(100% - 8px); }
.chapter--share .people-copy > .primary { margin-bottom: var(--space-3); }
#share-status:empty { min-height: 0; margin: 0; }
footer a { display: inline-flex; align-items: center; min-height: 44px; }

@media (max-width: 1199px) {
  .agenda-campaign__layout { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .agenda-campaign__copy { grid-column: 1; grid-row: 1; }
  .agenda-campaign__lead { max-width: 48ch; }
  .agenda-campaign__actions { grid-column: 1; grid-row: 2; flex-direction: row; margin-top: 0; }
  .agenda-campaign__explorer { grid-column: 1; grid-row: 3; }
  .agenda-campaign__signature { grid-row: 4; }
}
@media (min-width: 701px) and (max-width: 850px) {
  .primary--listen, .daily .primary--listen { grid-template-columns: 38px minmax(0, 1fr) 32px; column-gap: 12px; padding: var(--space-2); }
  .button-symbol, .button-symbol svg { width: 38px; height: 38px; }
}
@media (max-width: 700px) {
  .primary--listen, .daily .primary--listen { width: 100%; padding: var(--space-2); grid-template-columns: 38px minmax(0, 1fr) 32px; column-gap: 12px; }
  .button-symbol, .button-symbol svg { width: 38px; height: 38px; }
  .daily .primary--listen { width: 100%; }
  .agenda-campaign__actions { flex-direction: column; align-items: stretch; gap: var(--space-3); }
  .agenda-campaign__view-actions { flex-wrap: wrap; }
  .agenda-campaign__caption { min-height: 128px; }
  .series-open { bottom: 12px; right: 12px; }
  .opening, .motion-on .opening { min-height: 0; padding-bottom: 192px; }
  .motion-on .phone-scene { min-height: 340px; }
  .voice-transition { bottom: 76px; height: 72px; }
}
@media (max-height: 740px) and (min-width: 701px) {
  .motion-on .story-track { height: auto; min-height: 0; }
  .motion-on .story-stage { position: relative; top: auto; height: auto; }
  .motion-on .opening { height: auto; min-height: 800px; padding-top: var(--space-8); padding-bottom: 192px; }
  .motion-on .phone-scene { min-height: 510px; }
  .voice-transition { inset: auto 0 76px; height: 72px; }
  .voice-bars i { transform-origin: center; }
  .motion-on .scene-caption { display: none; }
}
