/* Holiday church services finder (holiday/index.php) and the recovery programme pages (recovery/program.php).
   Builds on seo-pages.css + church-directory.css + church-hub.css; colours only from the shared theme tokens, so the
   light / dark theme (style.css) applies unchanged. */

.hol-search { margin-top: var(--space-md); max-width: 640px; }

/* occasion cards */
.hol-occ-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: var(--space-sm); margin: var(--space-sm) 0 var(--space-md); }
.hol-occ {
	display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; text-decoration: none;
	background: var(--bg-white); border: 1px solid var(--border-light); border-left: 4px solid var(--aqua); border-radius: var(--radius-md);
	color: var(--text-dark); transition: border-color .15s, transform .15s;
}
.hol-occ:hover, .hol-occ:focus-visible { border-color: var(--sw-link); transform: translateY(-1px); }
.hol-occ__name { font-family: var(--font-heading); font-weight: 700; font-size: 1.05rem; color: var(--sw-heading); }
.hol-occ__date { font-size: .9rem; color: var(--text-body); }
.hol-occ__n { font-size: .85rem; color: var(--text-muted); }

/* listing table */
.hol-table__day th { background: var(--navy); color: #fff; font-size: .85rem; text-transform: uppercase; letter-spacing: .05em; }
.hol-table td strong { white-space: nowrap; }
.hol-addr { font-weight: 400; font-size: .9rem; color: var(--text-muted); margin-top: 2px; }
.hol-also { font-weight: 400; font-size: .85rem; margin-top: 4px; color: var(--text-body); }
.hol-label { font-weight: 600; }
.hol-muted { color: var(--text-muted); font-size: .85rem; }
.hol-past-note { border-left: 3px solid var(--aqua); padding-left: 10px; }

/* links lists */
.hol-links { list-style: none; padding: 0; margin: var(--space-md) 0 0; display: flex; flex-wrap: wrap; gap: 8px 20px; }
.hol-links a { color: var(--sw-link); font-weight: 600; }
.hub-state--plain { cursor: default; opacity: .8; }

.hol-guide p { max-width: var(--max-narrow, 760px); color: var(--text-body); }

/* recovery programme pages: programme cards */
.rec-prog-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--space-sm); margin: var(--space-sm) 0 var(--space-md); }

@media (max-width: 600px) {
	.hol-occ-grid, .rec-prog-grid { grid-template-columns: 1fr; }
	.hol-table td strong { white-space: normal; }
}
#hol-places .hub-states { margin-bottom: var(--space-lg); }
