.gsh-schedule {
	--gsh-schedule-navy: var(--wp--preset--color--navy, #012244);
	--gsh-schedule-green: var(--wp--preset--color--action-green, #69be28);
	--gsh-schedule-grey: var(--wp--preset--color--wolf-grey, #a5acaf);
	color: var(--gsh-schedule-navy);
	margin-block: clamp(2.5rem, 6vw, 5rem);
}

.gsh-schedule.alignwide {
	margin-left: 50% !important;
	margin-right: 0 !important;
	max-width: none;
	transform: translateX(-50%);
	width: min(var(--wp--style--global--wide-size, 1200px), calc(100vw - 2rem));
}

.gsh-schedule__header {
	margin-bottom: clamp(2rem, 4vw, 3rem);
	max-width: 54rem;
}

.gsh-schedule__eyebrow,
.gsh-schedule__date > span,
.gsh-schedule__venue > span {
	color: var(--gsh-schedule-green);
	font-family: var(--wp--preset--font-family--heading, sans-serif);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.gsh-schedule__header h2 {
	font-size: clamp(2.75rem, 6vw, 5.5rem);
	line-height: 0.92;
	margin-block: 0.35rem 1rem;
}

.gsh-schedule__groups,
.gsh-schedule__group {
	display: grid;
	gap: 2rem;
}

.gsh-schedule__group h3 {
	border-bottom: 3px solid var(--gsh-schedule-green);
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	margin: 0;
	padding-bottom: 0.65rem;
}

.gsh-schedule__games {
	display: grid;
	gap: 0.85rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.gsh-schedule__game {
	align-items: center;
	background: #fff;
	border: 1px solid rgb(1 34 68 / 14%);
	border-left: 5px solid var(--gsh-schedule-grey);
	box-sizing: border-box;
	display: grid;
	gap: clamp(1rem, 2.5vw, 2.5rem);
	grid-template-columns: minmax(7.5rem, 0.75fr) minmax(24rem, 2.5fr) minmax(10rem, 1fr);
	padding: 1rem clamp(1rem, 2.5vw, 2rem);
}

.gsh-schedule__game--in,
.gsh-schedule__game--current {
	border-left-color: var(--gsh-schedule-green);
	box-shadow: 0 10px 28px rgb(1 34 68 / 12%);
}

.gsh-schedule__game--post {
	background: rgb(165 172 175 / 9%);
}

.gsh-schedule__date,
.gsh-schedule__date time,
.gsh-schedule__venue,
.gsh-schedule__team span,
.gsh-schedule__result {
	display: flex;
	flex-direction: column;
}

.gsh-schedule__date time {
	gap: 0.1rem;
}

.gsh-schedule__date time strong,
.gsh-schedule__venue strong {
	font-size: 0.95rem;
}

.gsh-schedule__date small,
.gsh-schedule__team small,
.gsh-schedule__result small,
.gsh-schedule__updated {
	font-size: 0.78rem;
	opacity: 0.68;
}

.gsh-schedule__matchup {
	align-items: center;
	display: grid;
	gap: clamp(0.75rem, 2vw, 1.5rem);
	grid-template-columns: 1fr minmax(5rem, auto) 1fr;
}

.gsh-schedule__team {
	align-items: center;
	display: flex;
	gap: 0.75rem;
}

.gsh-schedule__team--away {
	justify-content: flex-end;
	text-align: right;
}

.gsh-schedule__team--away img {
	order: 2;
}

.gsh-schedule__team img {
	height: 48px;
	object-fit: contain;
	width: 48px;
}

.gsh-schedule__team strong,
.gsh-schedule__result > strong {
	font-family: var(--wp--preset--font-family--heading, sans-serif);
	font-size: 1.4rem;
	line-height: 1;
}

.gsh-schedule__result {
	align-items: center;
	gap: 0.2rem;
	min-width: 5rem;
	text-align: center;
}

.gsh-schedule__result > strong {
	color: var(--gsh-schedule-green);
	font-size: 1.65rem;
	white-space: nowrap;
}

.gsh-schedule__result i {
	font-style: normal;
	margin-inline: 0.3rem;
}

.gsh-schedule__venue {
	border-left: 1px solid rgb(1 34 68 / 14%);
	padding-left: clamp(1rem, 2vw, 1.5rem);
}

.gsh-schedule__updated {
	margin-top: 1.5rem;
	text-align: right;
}

.gsh-schedule__empty {
	background: rgb(165 172 175 / 16%);
	border-left: 5px solid var(--gsh-schedule-green);
	padding: 1.25rem;
}

@media (max-width: 860px) {
	.gsh-schedule__game {
		grid-template-columns: 1fr;
		gap: 0.85rem;
	}

	.gsh-schedule__date {
		align-items: baseline;
		flex-direction: row;
		gap: 0.75rem;
		justify-content: space-between;
	}

	.gsh-schedule__date time {
		align-items: baseline;
		flex-direction: row;
		gap: 0.45rem;
	}

	.gsh-schedule__venue {
		border-left: 0;
		border-top: 1px solid rgb(1 34 68 / 14%);
		padding-left: 0;
		padding-top: 0.75rem;
	}
}

@media (max-width: 520px) {
	.gsh-schedule__game {
		padding: 0.9rem;
	}

	.gsh-schedule__matchup {
		gap: 0.45rem;
		grid-template-columns: 1fr minmax(3.5rem, auto) 1fr;
	}

	.gsh-schedule__team {
		gap: 0.4rem;
	}

	.gsh-schedule__team img {
		height: 34px;
		width: 34px;
	}

	.gsh-schedule__team strong {
		font-size: 1.05rem;
	}

	.gsh-schedule__team small,
	.gsh-schedule__venue > span {
		display: none;
	}

	.gsh-schedule__result > strong {
		font-size: 1.3rem;
	}

	.gsh-schedule__date time strong,
	.gsh-schedule__venue strong {
		font-size: 0.82rem;
	}
}
