.postcode-page__container { max-width: 1120px; padding-bottom: 4rem; }
.postcode-page__header { min-height: 72px; }
.postcode-page__intro { max-width: 760px; margin: 2rem 0; }
.postcode-page__intro p { font-size: 1.6rem; line-height: 1.6; }
.postcode-page__eyebrow { color: #777; font-size: 1.3rem !important; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.postcode-directory__tools { max-width: 620px; margin-bottom: 2rem; }
.postcode-directory__tools label { display: block; margin-bottom: .75rem; font-size: 1.6rem; }
.postcode-directory__tools input { min-height: 46px; font-size: 16px; }
.postcode-directory__summary { margin: .75rem 0 0; color: #666; }
.postcode-list { display: grid; grid-template-columns: 1fr; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.postcode-list__item a { display: flex; align-items: baseline; min-height: 48px; padding: 1.2rem 1.4rem; border: 1px solid #ddd; border-radius: 4px; background: #fff; color: #333; text-decoration: none; }
.postcode-list__item a:hover, .postcode-list__item a:focus { border-color: #1d6b54; box-shadow: 0 0 0 2px rgba(29,107,84,.18); color: #174f40; outline: 0; }
.postcode-list__code { flex: 0 0 5.5rem; font-weight: 700; }
.postcode-list__suburb { min-width: 0; overflow-wrap: anywhere; }
.postcode-directory__empty { padding: 2rem; border: 1px solid #ddd; background: #f7f7f7; }
.prayer-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.prayer-table-scroll .table { min-width: 620px; margin-bottom: 0; }
@media (min-width: 600px) { .postcode-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 992px) { .postcode-list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 374px) { .postcode-page__intro h1 { font-size: 2.6rem; } .postcode-page__container { padding-left: 15px; padding-right: 15px; } }
