/* Cores por pastoral na disponibilidade pública */

.consulta-source-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1rem;
  margin: 0 0 0.85rem;
  padding: 0.55rem 0.75rem;
  border-radius: 0.65rem;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  font-size: 0.8rem;
  color: #334155;
}

.consulta-source-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-weight: 600;
}

/* Links de escala completa por pastoral no menu */
.pub-nav-link[data-pub-nav^='completa-pastoral'] {
  border-left: 3px solid var(--p-color, #059669);
  padding-left: 0.65rem;
}


.consulta-pastoral-block {
  margin-top: 0.75rem;
}

.consulta-pastoral-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  margin: 0 0 0.65rem;
  font-size: 1rem;
  font-weight: 700;
  color: var(--p-color, #059669);
}

.consulta-pastoral-dot {
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 999px;
  background: var(--p-color, #059669);
  display: inline-block;
}

.consulta-pastoral-count {
  font-size: 0.8rem;
  font-weight: 500;
  color: #64748b;
}

.consulta-card--pastoral {
  border-color: color-mix(in srgb, var(--p-color, #059669) 45%, #e2e8f0) !important;
  box-shadow: inset 4px 0 0 var(--p-color, #059669);
}

.consulta-card-pastoral-tag {
  display: inline-flex;
  align-items: center;
  margin-bottom: 0.5rem;
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #fff;
  background: var(--p-color, #059669);
}

.pastoral-escala-media {
  margin: 0;
  padding: 0.75rem;
  border: 1px solid color-mix(in srgb, var(--p-color, #059669) 35%, #e2e8f0);
  border-radius: 0.75rem;
  background: #fff;
  box-shadow: inset 4px 0 0 var(--p-color, #059669);
}

.pastoral-escala-media__img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0.35rem;
  cursor: zoom-in;
}

.pastoral-escala-media__cap {
  margin: 0.65rem 0 0;
  font-size: 0.85rem;
  color: #64748b;
  line-height: 1.4;
}

.pastoral-escala-media__cap a {
  color: var(--p-color, #059669);
  font-weight: 600;
  text-decoration: underline;
}

body.pastoral-only-user .pub-nav-link[data-pub-nav="completa"],
body.pub-nav--minister-only .pub-nav-link[data-pub-nav="completa"],
body.pastoral-only-user .pub-nav-link[data-open-posicoes],
body.pub-nav--minister-only .pub-nav-link[data-open-posicoes],
body.pastoral-only-user a[data-open-posicoes],
body.pub-nav--minister-only a[data-open-posicoes] {
  display: none !important;
}

.disp-pastoral-selector {
  margin: 0 0 1rem;
  padding: 0.85rem 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 0.75rem;
  background: #fff;
}

.disp-pastoral-selector.hidden {
  display: none !important;
}

.disp-pastoral-hint {
  margin: 0 0 0.75rem;
  padding: 0.65rem 0.8rem;
  font-size: 0.875rem;
  line-height: 1.45;
  color: #334155;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 0.5rem;
}

.disp-pastoral-hint.hidden {
  display: none;
}

.disp-pastoral-toggle {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.disp-pastoral-btn {
  border: 1px solid #cbd5e1;
  background: #fff;
  color: #334155;
  border-radius: 0.5rem;
  padding: 0.45rem 0.9rem;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  box-shadow: inset 3px 0 0 var(--p-color, #94a3b8);
}

.disp-pastoral-btn.is-open:not(.is-active) {
  border-color: color-mix(in srgb, var(--p-color, #059669) 55%, #cbd5e1);
}

.disp-pastoral-btn.is-closed:not(.is-active) {
  opacity: 0.72;
}

.disp-pastoral-btn.is-active {
  outline: 2px solid color-mix(in srgb, var(--p-color, #0d9488) 55%, #fff);
  outline-offset: 2px;
  border-color: var(--p-color, #0d9488);
  background: var(--p-color, #0d9488);
  color: #fff;
  box-shadow: none;
}

.disp-pastoral-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  margin-top: 0.65rem;
  font-size: 0.8rem;
  color: #64748b;
}

.disp-pastoral-legend span {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.disp-pastoral-dot {
  display: inline-block;
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 0.2rem;
}

/* Cor do dia marcado = função ativa (Ministro = azul; pastorais = cor do registry).
   Precisa ganhar de .pub-cal-day--marked em consulta-public.css (--cp-accent do tema). */
body.disp-page.disp-kind-colored[data-pastoral] .avail-universal-day.is-on,
body.disp-page.disp-kind-colored[data-pastoral] .avail-universal-day.is-on.pub-cal-day--marked,
body.disp-page.disp-kind-colored[data-pastoral] .pub-cal-day--marked.is-on,
body.disp-page.disp-kind-colored[data-pastoral] .pub-cal-day.is-on {
  background: var(--pastoral-active-color, #0369a1) !important;
  border-color: var(--pastoral-active-color, #0369a1) !important;
  color: #fff !important;
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--pastoral-active-color, #0369a1) 45%, transparent) !important;
}

body.disp-page.disp-kind-colored[data-pastoral] .pub-cal-day--focused {
  outline: 2px solid var(--pastoral-active-color, #0369a1) !important;
  outline-offset: 2px;
}

body.disp-page.disp-kind-colored[data-pastoral] .pub-cal-legend-dot--marked,
body.disp-page.disp-kind-colored[data-pastoral] .pub-cal-legend-dot--focused {
  background: var(--pastoral-active-color, #0369a1) !important;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--pastoral-active-color, #0369a1) 35%, transparent);
}

body.disp-page.disp-kind-colored[data-pastoral] .time-chip:has(:checked) {
  border-color: var(--pastoral-active-color, #0369a1) !important;
  background: var(--pastoral-soft, #e0f2fe) !important;
}

body.disp-page.disp-kind-colored[data-pastoral] .avail-fieldset--simple-times {
  border-color: var(--pastoral-active-color, #0369a1);
  background: linear-gradient(
    180deg,
    var(--pastoral-soft, #e0f2fe) 0%,
    var(--cp-surface, #fff) 4rem
  );
}

.pub-cal-day--pascom-other {
  background: var(--other-pastoral-bg, #d1fae5) !important;
  border-color: var(--other-pastoral-border, #6ee7b7) !important;
  color: var(--other-pastoral-text, #047857) !important;
}

.pub-cal-day--minister-other {
  background: #e0f2fe !important;
  border-color: #7dd3fc !important;
  color: #075985 !important;
}

/* Outras pastorais (marca secundária) */
.pub-cal-day--irmaos-santissimo-other,
.pub-cal-day--liturgia-other,
.pub-cal-day--pastoral-other,
body[data-pastoral='minister'] .pub-cal-day--marked.pub-cal-day--irmaos-hint {
  background: var(--other-pastoral-bg, #fee2e2) !important;
  border-color: var(--other-pastoral-border, #fca5a5) !important;
  color: var(--other-pastoral-text, #991b1b) !important;
}
