/* [viada_dus_stations] — list + map. Uses the site's design tokens. */
.viada-widget {
	display: grid;
	grid-template-columns: minmax(0, 22rem) minmax(0, 1fr);
	width: 100%;
	height: var(--viada-widget-height, 36rem);
	border: 1px solid var(--color-line, #e3e3e3);
	border-radius: var(--radius-l, 0.75rem);
	overflow: hidden;
	background: #fff;
}

.viada-widget__panel {
	display: flex;
	flex-direction: column;
	min-height: 0;
	border-right: 1px solid var(--color-line, #e3e3e3);
}

.viada-widget__tools {
	display: flex;
	column-gap: var(--space-xs, 0.5rem);
	padding: var(--space-base, 1rem);
	border-bottom: 1px solid var(--color-line, #e3e3e3);
}

.viada-widget__search {
	flex: 1;
	min-width: 0;
	padding: 0.625rem 0.75rem;
	border: 1px solid var(--color-line, #e3e3e3);
	border-radius: var(--radius-s, 0.25rem);
	font: inherit;
	font-size: var(--font-s, 0.875rem);
}

.viada-widget__search:focus {
	outline: none;
	border-color: #c9c9c9;
	box-shadow: 0 0 0 3px rgba(214, 1, 49, 0.15);
}

.viada-widget__toggle {
	display: inline-flex;
	align-items: center;
	column-gap: var(--space-xs, 0.5rem);
	padding: 0.625rem 0.875rem;
	border: 1px solid var(--color-line, #e3e3e3);
	border-radius: var(--radius-s, 0.25rem);
	background: #fff;
	color: inherit;
	font: inherit;
	font-size: var(--font-s, 0.875rem);
	font-weight: 500;
	cursor: pointer;
}

.viada-widget__toggle[aria-expanded="true"] {
	border-color: var(--theme-palette-color-1, #d60131);
}

.viada-widget__badge {
	display: inline-grid;
	place-items: center;
	min-width: 1.25rem;
	height: 1.25rem;
	padding-inline: 0.3rem;
	border-radius: 999px;
	background: var(--theme-palette-color-1, #d60131);
	color: #fff;
	font-size: var(--font-xs, 0.6875rem);
	font-weight: 600;
}

.viada-widget__badge[hidden],
.viada-widget__filters[hidden] {
	display: none;
}

.viada-widget__filters {
	display: flex;
	flex-direction: column;
	row-gap: var(--space-base, 1rem);
	max-height: 55%;
	padding: var(--space-base, 1rem);
	overflow-y: auto;
	border-bottom: 1px solid var(--color-line, #e3e3e3);
	background: var(--color-surface, #fafafa);
}

.viada-widget__group-title {
	margin: 0 0 var(--space-xs, 0.5rem);
	font-size: var(--font-s, 0.875rem);
	font-weight: 600;
}

.viada-widget__options {
	columns: 2;
	column-gap: var(--space-base, 1rem);
}

.viada-widget__option {
	display: flex;
	align-items: center;
	column-gap: var(--space-xs, 0.5rem);
	margin: 0;
	padding-block: 0.2rem;
	break-inside: avoid;
	font-size: var(--font-s, 0.875rem);
	cursor: pointer;
}

.viada-widget__option input {
	flex-shrink: 0;
	margin: 0;
	accent-color: var(--theme-palette-color-1, #d60131);
}

.viada-widget__option img {
	display: block;
	width: auto;
	height: 1rem;
}

.viada-widget__reset {
	align-self: flex-start;
	padding: 0;
	border: 0;
	background: none;
	color: var(--theme-palette-color-1, #d60131);
	font: inherit;
	font-size: var(--font-s, 0.875rem);
	text-decoration: underline;
	cursor: pointer;
}

.viada-widget__count {
	margin: 0;
	padding: var(--space-s, 0.75rem) var(--space-base, 1rem);
	border-bottom: 1px solid var(--color-line, #e3e3e3);
	color: var(--color-muted, #5c5c5c);
	font-size: var(--font-s, 0.875rem);
}

.viada-widget__list {
	flex: 1;
	min-height: 0;
	margin: 0;
	padding: 0;
	overflow-y: auto;
	list-style: none;
}

.viada-widget__item {
	padding: var(--space-s, 0.75rem) var(--space-base, 1rem);
	border-bottom: 1px solid var(--color-line, #e3e3e3);
}

.viada-widget__item.is-active {
	background: var(--color-surface, #fafafa);
	box-shadow: inset 3px 0 0 var(--theme-palette-color-1, #d60131);
}

.viada-widget__name {
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	font-weight: 600;
	text-align: left;
	cursor: pointer;
}

.viada-widget__address,
.viada-widget__hours {
	margin: 0.125rem 0 0;
	color: var(--color-muted, #5c5c5c);
	font-size: var(--font-s, 0.875rem);
}

.viada-widget__route {
	display: inline-block;
	margin-top: var(--space-2xs, 0.25rem);
	color: var(--theme-palette-color-1, #d60131);
	font-size: var(--font-s, 0.875rem);
}

.viada-widget__empty {
	padding: var(--space-base, 1rem);
	color: var(--color-muted, #5c5c5c);
}

.viada-widget__map {
	min-height: 0;
}

@media (max-width: 767px) {
	.viada-widget {
		grid-template-columns: 1fr;
		grid-template-rows: 18rem auto;
		height: auto;
	}

	.viada-widget__map {
		order: -1;
		height: 18rem;
	}

	.viada-widget__panel {
		border-right: 0;
		border-top: 1px solid var(--color-line, #e3e3e3);
	}

	.viada-widget__list {
		max-height: 26rem;
	}
}
