/* WNM Open churches element (PORCH-WO-29): a grid of church cards. The card look is the card grid's (assets/css/sections/card-grid.css),
   but the card itself is not a link (it holds two: Visit website, the Directions pin). Tokens only. */

.ochurches__list { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--grid-gap); margin: 0; padding: 0; list-style: none; }
@media (min-width: 600px) { .ochurches__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .ochurches__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.ochurch {
  display: flex; flex-direction: column; gap: var(--s-3);
  min-height: 100%;
  padding: clamp(24px, 20px + 1vw, 32px);
  border: 1px solid var(--color-border);
  border-radius: var(--r-md);
  background: var(--color-surface-2); color: var(--color-text-1);
}
.ochurch__name {
  font-family: var(--font-display); font-weight: 600;
  font-size: var(--fs-h3); line-height: var(--lh-h3); letter-spacing: var(--tr-title);
  text-wrap: balance;
}
.ochurch__place {
  font-family: var(--font-body); font-weight: 500; font-size: var(--fs-eyebrow); line-height: 1.33;
  letter-spacing: var(--tr-eyebrow); text-transform: uppercase; color: var(--c-forest);
}
.ochurch__address { font-size: var(--fs-small); line-height: var(--lh-small); color: var(--color-text-2); }
.ochurch__links { margin-top: auto; padding-top: var(--s-3); display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-3) var(--s-5); }
.ochurches__empty { font-size: var(--fs-lead); color: var(--color-text-2); }
