/* Segue a largura, a tipografia e a abertura das outras páginas de A Paróquia. */
.patron-page { overflow-wrap: anywhere; }
.patron-page .section-heading { max-width: 75ch; }
.patron-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: center;
  margin: 2.5rem 0;
  padding: clamp(1.25rem, 3vw, 2.5rem);
  border-top: 4px solid var(--gold, #f0aa1c);
  border-radius: .75rem;
  background: var(--mist, #eef6f8);
}
.patron-hero:has(figure) { grid-template-columns: minmax(0, 1fr) minmax(0, 22rem); }
.patron-hero-copy .eyebrow { color: var(--gold, #f0aa1c); }
.patron-hero h2 { margin: .4rem 0 1rem; color: var(--ink, #08344a); font-size: clamp(1.75rem, 3vw, 2.5rem); }
.patron-hero p { max-width: 55ch; }
.patron-page figure { margin: 0; min-width: 0; }
.patron-page img { display: block; width: 100%; height: auto; border-radius: .5rem; }
.patron-hero img { max-height: 28rem; object-fit: contain; }
.patron-page figcaption { font-size: .875rem; padding: .5rem 0; line-height: 1.5; }
.patron-section, .patron-prayer { margin: 2.5rem auto; max-width: 75ch; }
.patron-section h2, .patron-prayer h2 { font-size: clamp(1.35rem, 3vw, 2rem); }
.patron-prayer { border-inline-start: 4px solid var(--gold, #f0aa1c); padding: 1.5rem; background: var(--mist, #eef6f8); border-radius: .75rem; }
.patron-prayer blockquote { margin: 1rem 0; font-size: 1.15rem; line-height: 1.85; }
.patron-main-image { max-width: 32rem; margin: 2rem auto; }
.patron-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: 1.25rem; }
.patron-gallery img { aspect-ratio: 4/3; object-fit: cover; }
.patron-events { padding-inline-start: 1.25rem; }
.patron-events li { margin: 1rem 0; }
.patron-preview { border: 2px dashed var(--ink, #08344a); padding: 1rem; margin-block: 1rem; }
.patron-form fieldset { min-width: 0; margin: 0 0 1.5rem; }
.patron-form legend { font-weight: 700; padding: .5rem; }
.patron-form .patron-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: 1rem; }
.patron-image-row { border-block-start: 1px solid #ccc; padding-block: 1rem; }
.patron-image-row img { max-width: 12rem; height: auto; }
.patron-form input, .patron-form textarea, .patron-form select { max-width: 100%; }
.patron-form .inline-actions { flex-wrap: wrap; gap: .75rem; }
.patron-preview-label { font-weight: 700; }
@media (max-width: 640px) {
  .patron-hero:has(figure) { grid-template-columns: 1fr; }
  .patron-hero { gap: 1.25rem; margin: 2rem 0; }
  .patron-hero figure { max-width: 20rem; margin-inline: auto; }
  .patron-prayer { padding: 1rem; }
}