/* ==========================================================================
   Taxonomy filter styles (excursion select + trip checkbox filter).
   Consolidated from excursie-filter/assets/css/excursies-filter.css, with the
   loading/empty/error states that were previously unstyled.
   ========================================================================== */

/* --- Excursion: single select ------------------------------------------- */
.pw-excursies-filter-form {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.75rem 1.5rem;
}

/* Keep each label + select together when the row wraps. */
.pw-excursies-filter-form .pw-filter-field {
	display: inline-flex;
	align-items: flex-start;
	gap: 0.5rem;
	flex-direction: column;
}

.pw-excursies-filter-form label {
	font-weight: 600;
	color: #583a1f;
}

.pw-excursies-filter-form select {
	-webkit-appearance: none;
	appearance: none;
	background-color: #ffffff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Ccircle cx='14' cy='14' r='12' fill='%23aa7945'/%3E%3Cpath d='M9.5 12.5l4.5 4.5 4.5-4.5' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.85rem center;
	background-size: 1.6rem;
	border: 1px solid rgba(170, 121, 69, 0.55);
	border-radius: 999px;
	color: #3c2415;
	cursor: pointer;
	font-size: 1rem;
	line-height: 1.2;
	min-width: 220px;
	padding: 0.65rem 2.75rem 0.65rem 1rem;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.pw-excursies-filter-form select:focus,
.pw-excursies-filter-form select:hover {
	border-color: #aa7945;
	box-shadow: 0 0 0 0.35rem rgba(170, 121, 69, 0.18);
	outline: none;
}

/* --- Shared loading / empty / error states ------------------------------ */
.is-loading {
	position: relative;
	opacity: 0.55;
	transition: opacity 0.2s ease;
	pointer-events: none;
}

.pw-excursies-empty,
.pw-filter-error {
	padding: 1.5rem 0;
	font-weight: 600;
}

.pw-filter-error {
	color: #a3341f;
}

/* --- Trip filter: loading spinner (used by #reizen-results) -------------- */
.loading-spinner {
	text-align: center;
	padding: 40px;
}

.loading-spin {
	display: inline-block;
	width: 38px;
	height: 38px;
	border: 4px solid rgba(170, 121, 69, 0.25);
	border-top-color: #aa7945;
	border-radius: 50%;
	animation: pw-spin 0.8s linear infinite;
}

@keyframes pw-spin {
	to { transform: rotate(360deg); }
}

.filtering-reizen.loading-active {
	opacity: 0.6;
	pointer-events: none;
}

/* --- Results container: count bar, chips, load more --------------------- */
.pw-results {
	position: relative;
}

.pw-results-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 1rem;
	margin-bottom: 1rem;
}

.pw-results-count {
	font-weight: 600;
	color: #583a1f;
}

.pw-active-filters {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem;
}

.pw-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0;
	padding: 0.3rem 0.7rem;
	font-size: 0.85rem;
	line-height: 1.2;
	color: #3c2415;
	background: rgba(170, 121, 69, 0.12);
	border: 1px solid rgba(170, 121, 69, 0.45);
	border-radius: 999px;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.pw-chip:hover,
.pw-chip:focus-visible {
	background: rgba(170, 121, 69, 0.22);
	border-color: #aa7945;
	outline: none;
}

.pw-chip-x {
	font-size: 1.05em;
	line-height: 1;
	color: #aa7945;
}

.pw-clear-filters {
	margin: 0;
	padding: 0.3rem 0.4rem;
	font-size: 0.85rem;
	font-weight: 600;
	color: #a3341f;
	background: none;
	border: none;
	text-decoration: underline;
	cursor: pointer;
}

.pw-clear-filters:hover,
.pw-clear-filters:focus-visible {
	color: #7c2415;
	outline: none;
}

.pw-results-empty {
	padding: 1.5rem 0;
	font-weight: 600;
}

.pw-loadmore-wrap {
	margin-top: 1rem;
	text-align: center;
}

.pw-loadmore-wrap[hidden] {
	display: none;
}

.pw-loadmore[disabled] {
	opacity: 0.6;
	cursor: progress;
}

/* The results grid should fill its column, not Flatsome's centered .row max-width. */
.pw-results-grid.row {
	max-width: none;
	width: 100%;
}
