/* Colors are a neutral placeholder - adjust to match the rest of nwc.be if needed. */
.nwc-ts-schedule {
	--nwc-accent: #1d6fa5;
	--nwc-accent-bg: #eaf3f9;
	--nwc-border: #e0e0e0;
	--nwc-muted: #888;
	max-width: 100%;
	font-size: 15px;
}

/* Weather strip */
.nwc-weather-strip {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	align-items: center;
	background: #f7f7f7;
	border: 1px solid var(--nwc-border);
	border-radius: 10px;
	padding: 10px 16px;
	margin-bottom: 16px;
}
.nwc-weather-item { font-size: 14px; font-weight: 500; }
.nwc-weather-icon { margin-right: 4px; }

/* Season bar */
.nwc-ts-season-bar {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 8px;
	flex-wrap: wrap;
}
.nwc-ts-season-label-small { font-size: 12px; color: var(--nwc-muted); display: block; }
.nwc-ts-season-title { margin: 2px 0 0; font-size: 18px; font-weight: 600; }
.nwc-ts-link-btn {
	background: none; border: none; cursor: pointer;
	color: var(--nwc-accent); font-size: 13px; padding: 0;
}

.nwc-ts-note-banner {
	background: var(--nwc-accent-bg);
	color: var(--nwc-accent);
	border-radius: 8px;
	padding: 10px 14px;
	font-size: 13px;
	margin-bottom: 16px;
}

/* Desktop grid */
.nwc-ts-filter-row { margin-bottom: 10px; display: flex; align-items: center; gap: 8px; }
.nwc-ts-table-scroll { overflow-x: auto; }

#nwc-ts-grid { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 480px; }
#nwc-ts-grid td { padding: 8px 6px; text-align: center; }
#nwc-ts-grid td:first-child { text-align: left; font-weight: 500; }
#nwc-ts-grid tr:first-child td { font-weight: 500; color: var(--nwc-muted); }

.nwc-ts-today-col { background: var(--nwc-accent-bg); }
.nwc-ts-row-alt td { background: #fafafa; }
.nwc-ts-row:hover td {
	box-shadow: inset 0 2px 0 0 var(--nwc-accent), inset 0 -2px 0 0 var(--nwc-accent);
	background: #f0f0f0;
}
.nwc-ts-row:hover td.nwc-ts-today-col { background: #e3edf4; }

.nwc-ts-time-pill {
	background: var(--nwc-accent-bg);
	color: var(--nwc-accent);
	border-radius: 6px;
	padding: 3px 8px;
	display: inline-block;
	font-weight: 500;
}
.nwc-ts-empty { color: #bbb; }
.nwc-ts-cal-link { text-decoration: none; font-size: 15px; }
.nwc-ts-mobile-cal-link {
	display: inline-block; margin-top: 12px; font-size: 14px;
	color: var(--nwc-accent); text-decoration: none;
}

/* Mobile view */
.nwc-ts-mobile-view { display: none; }
.nwc-ts-mobile-row {
	display: flex; justify-content: space-between; padding: 8px 0;
	border-bottom: 1px solid var(--nwc-border); font-size: 14px;
}
.nwc-ts-mobile-today {
	background: var(--nwc-accent-bg); color: var(--nwc-accent); font-weight: 600;
	margin: 0 -8px; padding: 8px 8px; border-radius: 6px; border-bottom: none;
}

@media (max-width: 700px) {
	.nwc-ts-desktop-view { display: none; }
	.nwc-ts-mobile-view { display: block; }
}
