/* Palliser Directory — search UI (mobile-first) */

.palliser-archive {
	max-width: 1200px;
	margin: 0 auto;
	padding: 1.5rem 1rem 4rem;
}

.palliser-archive__hero { margin-bottom: 1.25rem; }
.palliser-archive__title { font-size: clamp( 1.5rem, 2vw + 1rem, 2.25rem ); margin: 0 0 .35rem; }
.palliser-archive__lede { color: #4a5361; margin: 0; }

/* Persistent header search on inner pages */
.palliser-topsearch { background: #f4f6f8; border-bottom: 1px solid #dce0e6; padding: .75rem 1rem; }
.palliser-topsearch__form { display: grid; grid-template-columns: 1fr; gap: .5rem; max-width: 1200px; margin: 0 auto; }
.palliser-topsearch__field { display: flex; flex-direction: column; gap: .25rem; font-size: .8rem; }
.palliser-topsearch__label { font-weight: 600; color: #4a5361; text-transform: uppercase; letter-spacing: .04em; }
.palliser-topsearch__field select { padding: .55rem .6rem; border: 1px solid #c9ced6; border-radius: 6px; background: #fff; }
@media (min-width: 720px) {
	.palliser-topsearch__form { grid-template-columns: 1fr 1fr auto; align-items: end; }
}

/* Mobile drawer toggle */
.palliser-drawer__toggle {
	display: inline-flex; align-items: center; gap: .5rem;
	padding: .6rem 1rem; margin-bottom: 1rem;
	background: #1e4d8c; color: #fff; border: 0; border-radius: 8px;
	font-weight: 600; cursor: pointer;
}
.palliser-drawer__toggle svg { flex-shrink: 0; }
.palliser-drawer__badge {
	background: #fff; color: #1e4d8c; border-radius: 999px;
	font-size: .75rem; padding: .05rem .5rem; margin-left: .15rem;
}

.palliser-archive__layout { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }

/* Filter sidebar */
.palliser-filter {
	position: fixed; inset: 0; z-index: 50;
	background: rgba(15, 22, 40, .55);
	visibility: hidden; opacity: 0;
	transition: opacity .18s ease;
}
.palliser-filter.is-open { visibility: visible; opacity: 1; }
.palliser-filter__inner {
	position: absolute; top: 0; bottom: 0; right: 0;
	width: min(90vw, 380px);
	background: #fff; padding: 1.25rem 1rem 2rem;
	overflow-y: auto;
	transform: translateX(100%);
	transition: transform .22s ease;
	box-shadow: -6px 0 24px rgba(15, 22, 40, .15);
}
.palliser-filter.is-open .palliser-filter__inner { transform: translateX(0); }

.palliser-filter__header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; padding-bottom: .75rem; border-bottom: 1px solid #e6e9ee; }
.palliser-filter__header h2 { margin: 0; font-size: 1.15rem; }
.palliser-filter__count { color: #4a5361; font-weight: 400; }
.palliser-drawer__close { background: transparent; border: 0; font-size: 1.6rem; line-height: 1; padding: .2rem .5rem; cursor: pointer; color: #4a5361; }

.palliser-filter__group { margin-bottom: 1.15rem; border: 0; padding: 0; }
.palliser-filter__label { display: block; font-weight: 700; margin-bottom: .45rem; color: #22303f; }
.palliser-filter__options { display: flex; flex-direction: column; gap: .3rem; max-height: 220px; overflow-y: auto; padding-right: .25rem; }
.palliser-filter__check, .palliser-filter__radio { display: flex; align-items: center; gap: .5rem; font-size: .95rem; color: #22303f; cursor: pointer; }
.palliser-filter__check input, .palliser-filter__radio input { accent-color: #1e4d8c; }
.palliser-filter__radios { display: flex; flex-direction: column; gap: .3rem; }
.palliser-filter__group input[type=search] { width: 100%; padding: .55rem .65rem; border: 1px solid #c9ced6; border-radius: 6px; font-size: 1rem; }

.palliser-filter__actions { display: flex; align-items: center; gap: 1rem; padding-top: 1rem; border-top: 1px solid #e6e9ee; margin-top: 1rem; position: sticky; bottom: -2rem; background: #fff; padding-bottom: 1rem; }
.palliser-filter__clear { color: #b64541; font-weight: 600; text-decoration: none; }

.palliser-btn { display: inline-flex; align-items: center; justify-content: center; padding: .65rem 1.15rem; border-radius: 8px; border: 0; font-weight: 600; cursor: pointer; text-decoration: none; }
.palliser-btn--primary { background: #1e4d8c; color: #fff; }
.palliser-btn--primary:hover { background: #163d70; }

/* Results toolbar */
.palliser-results__toolbar { display: flex; flex-direction: column; gap: .5rem; margin-bottom: 1rem; }
.palliser-results__count { margin: 0; color: #4a5361; }
.palliser-results__sort { display: flex; align-items: center; gap: .5rem; font-size: .9rem; }
.palliser-results__sort select { padding: .35rem .5rem; border: 1px solid #c9ced6; border-radius: 6px; background: #fff; }
@media (min-width: 720px) {
	.palliser-results__toolbar { flex-direction: row; align-items: center; justify-content: space-between; }
}

/* Results grid */
.palliser-results__grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 620px) { .palliser-results__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .palliser-results__grid { grid-template-columns: 1fr 1fr 1fr; } }

.palliser-results__empty { padding: 1.5rem; background: #f4f6f8; border-radius: 8px; color: #4a5361; }

/* Card */
.palliser-card { border: 1px solid #e6e9ee; border-radius: 12px; overflow: hidden; background: #fff; transition: transform .12s ease, box-shadow .12s ease; }
.palliser-card:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(15, 22, 40, .07); }
.palliser-card__link { display: flex; flex-direction: column; color: inherit; text-decoration: none; height: 100%; }
.palliser-card__photo { position: relative; aspect-ratio: 4 / 3; background: #eef0f4; overflow: hidden; }
.palliser-card__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.palliser-card__photo-empty { width: 100%; height: 100%; background: linear-gradient(135deg, #e2e6ec, #cbd2dc); }
/* .palliser-card__verified styling lives in intake.css (Session 6b — green SVG chip, top-right). */
.palliser-card__body { padding: .85rem 1rem 1rem; display: flex; flex-direction: column; gap: .35rem; flex-grow: 1; }
.palliser-card__name { margin: 0; font-size: 1.1rem; color: #22303f; }
.palliser-card__city { margin: 0; color: #4a5361; font-size: .9rem; }
.palliser-card__rating { display: flex; align-items: baseline; gap: .35rem; color: #22303f; font-size: .9rem; }
.palliser-card__stars { color: #d68a2c; letter-spacing: .04em; }
.palliser-card__stars--empty { color: #b7bcc4; }
.palliser-card__score { font-weight: 700; }
.palliser-card__count { color: #6b7480; font-size: .8rem; }
.palliser-card__creds { list-style: none; padding: 0; margin: .1rem 0; display: flex; flex-wrap: wrap; gap: .35rem; }
.palliser-card__cred { background: #eef2f8; color: #1e4d8c; font-size: .75rem; font-weight: 600; padding: .18rem .55rem; border-radius: 999px; }
.palliser-card__cred.is-verified { background: #dbe8f6; }
.palliser-card__formats { margin: 0; color: #6b7480; font-size: .8rem; }
.palliser-card__cta { margin-top: auto; padding-top: .35rem; color: #1e4d8c; font-weight: 600; font-size: .9rem; }

/* Pagination */
.palliser-pagination { display: flex; flex-wrap: wrap; gap: .35rem; justify-content: center; margin-top: 1.5rem; }
.palliser-pagination__item a, .palliser-pagination__item span { display: inline-block; padding: .5rem .75rem; border: 1px solid #dce0e6; border-radius: 6px; color: #22303f; text-decoration: none; font-size: .9rem; }
.palliser-pagination__item .current { background: #1e4d8c; color: #fff; border-color: #1e4d8c; }

/* Desktop: sidebar in-flow instead of overlay */
@media (min-width: 900px) {
	.palliser-drawer__toggle { display: none; }
	.palliser-archive__layout { grid-template-columns: 280px 1fr; align-items: start; }
	.palliser-filter { position: static; inset: auto; background: transparent; visibility: visible; opacity: 1; }
	.palliser-filter__inner { position: static; width: auto; padding: 0; box-shadow: none; transform: none; overflow: visible; background: transparent; }
	.palliser-filter__header .palliser-drawer__close { display: none; }
	.palliser-filter__actions { position: static; }
}

/* Province tint hooks — themes may override --palliser-brand */
.palliser-archive, .palliser-topsearch { --palliser-brand: #1e4d8c; }
body.theme-ab .palliser-archive, body.theme-ab .palliser-topsearch { --palliser-brand: #c89642; }
body.theme-ab .palliser-btn--primary, body.theme-ab .palliser-drawer__toggle { background: var(--palliser-brand); }
body.theme-ab .palliser-btn--primary:hover { background: #a67a2f; }
body.theme-ab .palliser-pagination__item .current { background: var(--palliser-brand); border-color: var(--palliser-brand); }
body.theme-ab .palliser-card__cred { background: #f7ecd7; color: #7a5716; }
body.theme-ab .palliser-card__cta { color: var(--palliser-brand); }
