/* Workshop Schedule Manager — front-end styles (intentionally lightweight) */

.wsm-schedule {
	margin: 0 0 1.5em;
}

/* List layout */
.wsm-schedule--list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.wsm-schedule--list .wsm-session {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 16px;
	border: 1px solid #e2e4e7;
	margin-bottom: 8px;
}

.wsm-session__main {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 12px;
}

.wsm-session__date {
	font-weight: 600;
}

.wsm-session__price {
	font-weight: 600;
}

.wsm-session--past {
	opacity: 0.65;
}

/* Workshop name heading (list + cards) */
.wsm-session__workshop {
	flex-basis: 100%;
	margin: 0 0 4px;
	font-size: 1.1em;
	font-weight: 700;
	line-height: 1.3;
}

.wsm-card__workshop {
	margin: 0 0 4px;
	font-size: 1.15em;
	font-weight: 700;
	line-height: 1.3;
}

.wsm-session__workshop a,
.wsm-card__workshop a {
	text-decoration: none;
}

/* Cards layout */
.wsm-schedule--cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 16px;
}

.wsm-card {
	border: 1px solid #e2e4e7;
	padding: 16px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.wsm-card__date-full {
	font-size: 1.15em;
	font-weight: 700;
	display: block;
}

.wsm-card__time {
	color: #555;
}

.wsm-card__footer {
	margin-top: auto;
}

/* Table layout */
.wsm-schedule--table {
	width: 100%;
	border-collapse: collapse;
}

.wsm-schedule--table th,
.wsm-schedule--table td {
	text-align: left;
	padding: 10px 12px;
	border-bottom: 1px solid #e2e4e7;
}

/* Selector layout */
.wsm-schedule--selector {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.wsm-chip {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	padding: 10px 14px;
	border: 1px solid #e2e4e7;
	text-decoration: none;
	line-height: 1.3;
}

.wsm-chip__date {
	font-weight: 600;
}

/* Booking button + status */
.wsm-button {
	display: inline-block;
	padding: 8px 16px;
	background: #2c3e63;
	color: #fff;
	text-decoration: none;
	border-radius: 4px;
}

.wsm-button:hover,
.wsm-button:focus {
	opacity: 0.9;
	color: #fff;
}

.wsm-session__booking--soldout {
	font-weight: 600;
	color: #b32d2e;
}

.wsm-session__status {
	font-size: 0.9em;
	color: #757575;
}

.wsm-session__places,
.wsm-card__places,
.wsm-chip__places {
	font-size: 0.85em;
	font-weight: 600;
	color: #1e7e34;
}

.wsm-status-sold_out .wsm-session__places,
.wsm-status-sold_out .wsm-card__places {
	color: #b32d2e;
}

.wsm-empty {
	color: #757575;
	font-style: italic;
}
