/* Hall (category) pages, search results, the Espace pro, and WooCommerce notices. */
.hall { width: min(100% - 2 * var(--gutter), var(--page-max)); margin-inline: auto; padding-top: var(--s-7); }
/* The trail (base.css, .crumbs) rides up into the top padding, where the room's back link sat. */
.hall__crumbs { margin: calc(-1 * var(--s-5)) 0 calc(-1 * var(--s-1)); }
.hall__head { display: grid; gap: var(--s-3); }
.hall__title { font-size: var(--text-3xl); }
.hall__count { margin: 0; color: var(--muted); font-weight: 600; }
.hall__count .num { color: var(--ink); font-weight: 600; }
/* The term's text: its first paragraph under the title, the rest after the products, both in the reading measure. */
.hall__lead { max-width: 68ch; margin-top: var(--s-1); color: var(--ink-2); font-size: var(--text-md); }
.hall__lead p { margin: 0; }
.hall__more { max-width: 68ch; margin-top: var(--s-8); padding-top: var(--s-6); border-top: 1px solid var(--hairline); color: var(--ink-2); }
.hall__more > :last-child { margin-bottom: 0; }
.hall__rooms { display: flex; flex-wrap: wrap; gap: var(--s-2); margin-top: var(--s-3); }
@media (max-width: 767px) {
	.hall { padding-top: var(--s-5); }
	.hall__crumbs { margin-top: calc(-1 * var(--s-3)); }
	.hall__rooms { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: calc(-1 * var(--gutter)); padding-inline: var(--gutter); scroll-padding-inline: var(--gutter); }
	.hall__rooms::-webkit-scrollbar { display: none; }
	.hall__rooms .chip { flex: none; }
}

/* Tools: attribute filters, sort, view. */
.hall__tools {
	margin: var(--s-6) 0 var(--s-6); padding-block: var(--s-4);
	border-block: 1px solid var(--hairline);
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s-4);
}
.hall__filters { display: flex; flex-wrap: wrap; gap: var(--s-3) var(--s-6); min-width: 0; }
.filter { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); }
.filter__name { margin-right: var(--s-1); font-size: var(--text-sm); font-weight: 700; color: var(--muted); }
.hall__view { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-3); margin-left: auto; min-width: 0; }
.woocommerce-ordering { margin: 0; flex: 1 1 200px; min-width: 0; }
.woocommerce-ordering select {
	width: 100%; height: 44px; padding: 0 2.6rem 0 1.1rem;
	background: var(--mist) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 0.9rem center / 18px;
	border: 1.5px solid transparent; border-radius: var(--r-pill);
	color: var(--ink); font-weight: 700; font-size: var(--text-sm);
	-webkit-appearance: none; appearance: none; cursor: pointer;
	transition: background-color var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out);
}
.woocommerce-ordering select:hover { background-color: var(--mist-2); }
.woocommerce-ordering select:focus-visible { outline: none; border-color: var(--accent); box-shadow: 0 0 0 4px var(--accent-soft); }
.view-toggle { flex: none; }
.hall__empty { padding: var(--s-9) 0; display: grid; justify-items: center; gap: var(--s-4); text-align: center; color: var(--ink-2); }
.hall__empty p { margin: 0; font-size: var(--text-md); }
@media (max-width: 767px) {
	.hall__tools { margin: var(--s-5) 0; }
	.hall__filters { width: 100%; }
	.filter { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: calc(-1 * var(--gutter)); padding-inline: var(--gutter); }
	.filter::-webkit-scrollbar { display: none; }
	.filter .chip { flex: none; }
	.hall__view { margin-left: 0; width: 100%; justify-content: space-between; flex-wrap: nowrap; }
}

/* The pro table: references, specs, price, quantity, add. */
.pro-table-wrap { background: var(--paper); border: 1px solid var(--hairline); border-radius: var(--r-md); overflow-x: auto; }
.pro-table { width: 100%; border-collapse: collapse; min-width: 760px; }
.pro-table th, .pro-table td { padding: 0.75rem 1rem; text-align: left; vertical-align: middle; border-bottom: 1px solid var(--hairline); }
.pro-table tbody tr:last-child > * { border-bottom: 0; }
.pro-table thead th { font-size: 0.8125rem; font-weight: 700; color: var(--muted); background: var(--mist); position: sticky; top: 0; }
.pro-table tbody tr { transition: background-color var(--dur-1) var(--ease-out); }
.pro-table tbody tr:hover { background: #FAFBFC; }
.pro-table tbody th { font-weight: 400; }
.pro-table__product { display: flex; align-items: center; gap: 0.85rem; text-decoration: none; color: var(--ink); }
.pro-table__product strong { display: block; font-family: var(--font-display); font-weight: 500; line-height: 1.25; }
.pro-table__product small { display: block; color: var(--muted); font-size: 0.8125rem; margin-top: 2px; font-weight: 600; }
.pro-table__product:hover strong { color: var(--action); }
.pro-table__thumb { width: 52px; height: 52px; object-fit: contain; background: var(--mist); border-radius: var(--r-xs); flex: none; }
.pro-table__specs { color: var(--ink-2); font-size: var(--text-sm); }
.pro-table__price { text-align: right !important; white-space: nowrap; font-family: var(--font-display); font-weight: 600; }
.pro-table__qty { width: 80px; height: 44px; padding: 0 0.7rem; border: 1.5px solid var(--line-control); border-radius: var(--r-xs); background: var(--paper); color: var(--ink); font-family: var(--font-display); font-variant-numeric: tabular-nums; }
.pro-table__qty:focus-visible { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.pro-table .add_to_cart_button { --btn-h: 40px; }
.pro-room__quote { justify-self: start; margin-top: var(--s-3); }
.pro-room__hall { margin-top: var(--s-8); }
.pro-room__hall h2 { font-size: var(--text-xl); margin-bottom: var(--s-5); }

/* Pagination (notices live in base.css). */
.woocommerce-pagination ul { list-style: none; display: flex; gap: var(--s-2); justify-content: center; padding: 0; margin: var(--s-7) 0 0; }
.woocommerce-pagination a, .woocommerce-pagination span { display: grid; place-items: center; min-width: 44px; height: 44px; border: 1.5px solid var(--hairline-strong); border-radius: var(--r-pill); font-family: var(--font-display); text-decoration: none; }
.woocommerce-pagination a:hover { border-color: var(--ink); }
.woocommerce-pagination .current { background: var(--ink); border-color: var(--ink); color: var(--on-ink); }

