/* Cappella Borealis — Editions page styles */

.editions-banner {
	background-color: var(--banner-bkg-colour);
	min-height: 28vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 12vh 4vw 4vh;
	gap: 1.5vh;
}

.editions-banner h1 {
	font-family: "Raleway", sans-serif;
	font-weight: 800;
	font-size: 36pt;
	letter-spacing: 6px;
	text-transform: uppercase;
	color: #ffffff;
}

.editions-banner span {
	font-family: "Raleway", sans-serif;
	font-weight: 300;
	font-size: 13pt;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: #aaaaaa;
}

.license-notice {
	display: flex;
	align-items: center;
	gap: 0.5em;
	flex-wrap: wrap;
	max-width: 820px;
	margin: 4vh auto 2vh;
	padding: 2vh 3vw;
	border-left: 3px solid var(--table-hr-colour);
	animation-duration: 0.6s;
	animation-delay: 0.4s;
}

.license-notice i {
	color: var(--main-text);
	font-size: 16pt;
	flex-shrink: 0;
}

.license-notice p {
	font-family: "Raleway", sans-serif;
	font-size: 10pt;
	color: var(--main-text);
	text-align: left;
	line-height: 1.6;
	flex: 1;
	min-width: 200px;
}

.license-notice a {
	color: var(--table-main-colour);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.scores-grid {
	max-width: 900px;
	margin: 0 auto;
	padding: 2vh 4vw 6vh;
	display: flex;
	flex-direction: column;
}

.score-card {
	display: flex;
	flex-direction: row;
	gap: 3vmin;
	padding: 4vmin 2vmin;
	border-top: 1px solid var(--table-hr-colour);
	animation-duration: 0.5s;
}

.score-card:first-child {
	border-top: none;
}

.score-preview {
	flex-shrink: 0;
	width: 160px;
}

.score-preview img {
	width: 160px;
	height: 220px;
	object-fit: cover;
	object-position: top;
	display: block;
	box-shadow: 2px 4px 12px rgba(0,0,0,0.15);
	border: 1px solid var(--table-hr-colour);
	transition: box-shadow 0.2s ease;
}

.score-preview img:hover {
	box-shadow: 4px 8px 20px rgba(0,0,0,0.25);
}

.score-no-preview {
	width: 160px;
	height: 220px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 8px;
	background-color: var(--date-bkg-colour);
	color: var(--main-text);
	font-family: "Raleway", sans-serif;
	font-size: 9pt;
	text-transform: uppercase;
	letter-spacing: 1px;
	text-align: center;
}

.score-no-preview i {
	font-size: 28pt;
	opacity: 0.4;
}

.score-info {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 0.6em;
	padding-top: 0.25em;
}

.score-info h2 {
	font-family: "Raleway", sans-serif;
	font-size: 14pt;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	color: var(--table-main-colour);
}

.score-info .score-subtitle {
	font-family: "Raleway", sans-serif;
	font-size: 10pt;
	font-weight: 400;
	color: var(--main-text);
	letter-spacing: 0.5px;
	text-transform: uppercase;
}

.score-info .score-meta {
	font-family: "Raleway", sans-serif;
	font-size: 9pt;
	color: #aaaaaa;
	letter-spacing: 0.5px;
	text-transform: uppercase;
}

.score-info p {
	font-size: 12pt;
	line-height: 1.7;
	text-align: left;
	margin-top: 0.25em;
}

.score-download {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	margin-top: auto;
	padding: 0.6em 1.4em;
	text-decoration: none;
	font-family: "Raleway", sans-serif;
	font-size: 8pt;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--table-main-colour);
	border: 1.5px solid var(--table-main-colour);
	border-radius: 300px;
	width: fit-content;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.score-download:hover {
	background-color: var(--table-main-colour);
	color: #ffffff;
}

/* Skeleton loaders */
.score-card.skeleton { pointer-events: none; }

.score-card.skeleton::before {
	content: "";
	display: block;
	width: 160px;
	height: 220px;
	background: linear-gradient(90deg, #e8ecec 25%, #d4d8d8 50%, #e8ecec 75%);
	background-size: 200% 100%;
	animation: shimmer 1.4s infinite;
	flex-shrink: 0;
}

.score-card.skeleton::after {
	content: "";
	display: block;
	flex: 1;
	height: 220px;
	background: linear-gradient(90deg, #e8ecec 25%, #d4d8d8 50%, #e8ecec 75%);
	background-size: 200% 100%;
	animation: shimmer 1.4s infinite 0.2s;
}

@keyframes shimmer {
	0%   { background-position: 200% 0; }
	100% { background-position: -200% 0; }
}

.no-scores {
	text-align: center;
	padding: 6vh 4vw;
	color: var(--main-text);
}

@media (max-width: 1400px) {
	.score-preview img,
	.score-no-preview { width: 120px; height: 165px; }
	.score-card.skeleton::before { width: 120px; height: 165px; }
	.score-info h2 { font-size: 13pt; }
	.license-notice { margin: 3vh 4vw 2vh; }
}

@media (max-width: 600px) {
	.score-card { flex-direction: column; }
	.score-preview img,
	.score-no-preview { width: 100%; height: 200px; }
	.score-card.skeleton::before { width: 100%; height: 200px; }
}
