/* ── Speellijst public stylesheet ──────────────────────────────────── */

.gpr-shows-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.gpr-shows {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.95em;
}

/* Header */
.gpr-shows thead th {
	text-align: left;
	padding: 8px 10px;
	border-bottom: 2px solid rgba(0,0,0,0.15);
	white-space: nowrap;
}

/* Cell defaults */
.gpr-shows tbody td {
	padding: 9px 12px;
	vertical-align: top;
	/* Border on td, not tr — required for border-collapse */
	border-bottom: 1px solid rgba(0,0,0,0.10);
}

/* Last row: no bottom border */
.gpr-shows tbody tr:last-child td {
	border-bottom: none;
}

/* Past shows */
.gpr-shows .gpr-past td {
	opacity: 0.80;
}

/* Status icons */
.gpr-status-icon {
	font-size: 0.8em;
	margin-left: 4px;
}
.gpr-cancelled { color: #c00; }
.gpr-postponed { color: #e67e00; }

/* Date column — fixed width + right padding creates gap to next column */
.gpr-shows td.gpr-col-date {
	white-space: nowrap;
	width: 90px;
	min-width: 90px;
	padding-right: 24px !important;
}
/* On desktop: keep date on one line — hide the line break */
.gpr-date-br { display: none; }

/* Tour column — smaller, subdued */
.gpr-shows td.gpr-col-tour {
	font-size: 0.88em;
	opacity: 0.75;
	white-space: nowrap;
	padding-left: 0;
}

/* Venue meta (city / info) — inline after venue name */
.gpr-venue-meta {
	display: inline;
	opacity: 0.60;
	font-size: 0.88em;
	margin-left: 4px;
}

/* Show info — italic, subdued */
.gpr-show-info {
	display: inline;
	font-style: italic;
	opacity: 0.80;
	font-size: 1em;
	margin-left: 4px;
}

/* Venue link: remove underline by default; theme can re-add */
.gpr-shows .gpr-col-venue a {
	text-decoration: none;
}

/* Ticket column — always reserve space; shrinks to content width */
.gpr-shows td.gpr-col-tickets {
	white-space: nowrap;
	text-align: right;
	width: 1%;          /* shrink-to-content; prevents expansion into other cols */
	min-width: 90px;    /* reserve space even when the cell is empty */
}

.gpr-ticket-btn {
	display: inline-block;
	padding: 4px 12px;
	background: #1a1a1a;
	color: #fff !important;
	text-decoration: none !important;
	border-radius: 3px;
	font-size: 0.85em;
	line-height: 1.5;
}

.gpr-ticket-btn:hover {
	background: #444;
}

/* Tour group header (group_by_tour="yes") */
.gpr-shows .gpr-tour-header td {
	font-weight: 700;
	padding-top: 14px;
	font-size: 0.95em;
	letter-spacing: 0.02em;
	border-bottom: none;
}

/* Tours list ([speellijst_tours]) */
.gpr-tours-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.gpr-tour-item {
	margin-bottom: 1em;
}
.gpr-tour-dates {
	font-size: 0.88em;
	opacity: 0.7;
	margin-left: 4px;
}
.gpr-tour-desc {
	margin: 4px 0 0;
	font-size: 0.9em;
	opacity: 0.8;
}

/* No shows / no tours message */
.gpr-no-shows,
.gpr-no-tours {
	opacity: 0.7;
	font-style: italic;
}

/* ── Responsive: compact table on small screens ──────────────────── */
@media ( max-width: 600px ) {
	.gpr-shows thead { display: none; }

	/* Date column: two-line (day+month / year), fixed width, top-aligned */
	.gpr-shows td.gpr-col-date {
		width: 58px;
		min-width: 58px;
		white-space: nowrap;
		padding-right: 0;
		vertical-align: top;
	}
	.gpr-date-br { display: block; }

	/* Tour column: can wrap, no extra left padding */
	.gpr-shows td.gpr-col-tour {
		white-space: normal;
		padding-left: 0;
	}

	/* Artist column: allow wrap */
	.gpr-shows td.gpr-col-artist {
		white-space: normal;
	}

	/* Venue: allow wrap */
	.gpr-shows td.gpr-col-venue {
		white-space: normal;
	}

	/* Ticket column: shrink, no extra min-width on mobile */
	.gpr-shows td.gpr-col-tickets {
		min-width: 0;
		width: 1%;
		white-space: nowrap;
		text-align: right;
		padding-left: 4px;
	}

	/* Row padding */
	.gpr-shows tbody td {
		padding-top: 7px;
		padding-bottom: 7px;
	}
}
