/* ==========================================================================
   DETAIL RECENZIE

   Recenzia je prémiový typ obsahu — má vlastnú hlavičku so skóre a vlastný
   záver. Telo textu je ale identické s článkom (.sq-article__body), aby sa
   čítalo rovnako.
   ========================================================================== */

/* ---- Hlavička so skóre -------------------------------------------------- */

.sq-reviewhero {
	position: relative;
}

.sq-reviewhero > .sq-media {
	aspect-ratio: 21 / 9;
	border-radius: 0;
}

.sq-reviewhero__inner {
	position: absolute;
	inset: auto 0 0 0;
	z-index: 2;
	padding-bottom: var(--sq-space-48);
}

.sq-reviewhero__grid {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--sq-space-48);
}

.sq-reviewhero__body {
	display: flex;
	flex-direction: column;
	gap: var(--sq-space-12);
	max-width: 40ch;
}

.sq-reviewhero__title {
	font-size: var(--sq-fs-title);
	line-height: 1.0;
	letter-spacing: var(--sq-track-title);
}

/* Skóre je najväčšie číslo na celom webe — je to hlavná informácia
   recenzie a musí byť čitateľné aj z náhľadu na sociálnej sieti. */
.sq-score {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	padding: var(--sq-space-16) var(--sq-space-24);
	border: 1px solid var(--sq-accent);
	border-radius: var(--sq-radius);
	background: rgba(8, 9, 11, 0.6);
}

/* Komunitné skóre je hneď pod redakčným — čitateľ ich porovnáva už tu. */
.sq-score__community {
	display: flex;
	align-items: baseline;
	gap: var(--sq-space-8);
	margin-top: var(--sq-space-12);
	padding-top: var(--sq-space-12);
	border-top: 1px solid var(--sq-border-strong);
	width: 100%;
	justify-content: flex-end;
	font-family: var(--sq-font-display);
	font-size: var(--sq-fs-micro);
	font-weight: var(--sq-weight-bold);
	letter-spacing: var(--sq-track-eyebrow);
	text-transform: uppercase;
	color: var(--sq-text-tertiary);
}

.sq-score__community b {
	font-size: var(--sq-fs-lead);
	letter-spacing: -0.02em;
	color: var(--sq-text);
	font-variant-numeric: tabular-nums;
}

.sq-score__value {
	font-family: var(--sq-font-display);
	font-size: var(--sq-fs-score);
	font-weight: var(--sq-weight-bold);
	line-height: 0.9;
	letter-spacing: -0.04em;
	color: var(--sq-accent);
	font-variant-numeric: tabular-nums;
}

.sq-score__label {
	margin-top: var(--sq-space-8);
	font-family: var(--sq-font-display);
	font-size: var(--sq-fs-micro);
	font-weight: var(--sq-weight-bold);
	letter-spacing: var(--sq-track-eyebrow);
	text-transform: uppercase;
	color: var(--sq-text-secondary);
}

/* ---- Klady a zápory -----------------------------------------------------

   Bez rámčeka a bez pozadia. Stĺpce drží pohromade vlastná farebná linka
   pod nadpisom a whitespace medzi nimi — rámček by z toho spravil
   generickú kartu, akých je na iných weboch tisíc.
   ------------------------------------------------------------------------ */

.sq-proscons {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--sq-space-48);
}

.sq-proscons__title {
	padding-bottom: var(--sq-space-12);
	margin-bottom: var(--sq-space-24);
	border-bottom: 1px solid currentColor;
	font-family: var(--sq-font-display);
	font-size: var(--sq-fs-ui);
	font-weight: var(--sq-weight-bold);
	letter-spacing: var(--sq-track-eyebrow);
	text-transform: uppercase;
}

.sq-proscons__col--pros .sq-proscons__title { color: var(--sq-accent); }
.sq-proscons__col--cons .sq-proscons__title { color: var(--sq-warning); }

.sq-proscons__list {
	display: flex;
	flex-direction: column;
	gap: var(--sq-space-16);
}

.sq-proscons__list li {
	position: relative;
	padding-left: var(--sq-space-24);
	font-size: var(--sq-fs-base);
	line-height: 1.45;
	color: var(--sq-text);
}

.sq-proscons__list li::before {
	position: absolute;
	left: 0;
	top: -0.06em;
	font-family: var(--sq-font-display);
	font-size: 19px;
	font-weight: var(--sq-weight-bold);
	line-height: 1.3;
}

.sq-proscons__col--pros li::before { content: "+"; color: var(--sq-accent); }
.sq-proscons__col--cons li::before { content: "\2212"; color: var(--sq-warning); }

/* ---- Verdikt a hodnotenie komunity --------------------------------------

   Redakčné a komunitné skóre patria k sebe — čitateľ ich porovnáva.
   Preto sú v jednom bloku pod sebou, oddelené len linkou.
   ------------------------------------------------------------------------ */

/*
 * Verdikt a komunitné skóre sú záver celej recenzie — tu rám dáva zmysel,
 * lebo oddeľuje zhrnutie od textu. Je to jediný orámovaný blok v recenzii.
 */
.sq-verdict {
	background: var(--sq-surface);
	border: 1px solid var(--sq-accent);
	border-radius: var(--sq-radius);
}

.sq-verdict__main {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: start;
	gap: var(--sq-space-48);
	padding: var(--sq-space-32);
}

.sq-verdict__title {
	margin-bottom: var(--sq-space-8);
	font-family: var(--sq-font-display);
	font-size: var(--sq-fs-micro);
	font-weight: var(--sq-weight-bold);
	letter-spacing: var(--sq-track-eyebrow);
	text-transform: uppercase;
	color: var(--sq-accent);
}

.sq-verdict__text {
	font-size: var(--sq-fs-lead);
	line-height: 1.5;
	color: var(--sq-text);
}

.sq-verdict__score {
	text-align: right;
	font-family: var(--sq-font-display);
	font-variant-numeric: tabular-nums;
}

.sq-verdict__score-value {
	display: block;
	font-size: 56px;
	font-weight: var(--sq-weight-bold);
	line-height: 1;
	letter-spacing: -0.04em;
	color: var(--sq-accent);
}

.sq-verdict__score-label {
	display: block;
	margin-top: var(--sq-space-4);
	font-size: 11px;
	font-weight: var(--sq-weight-bold);
	letter-spacing: var(--sq-track-eyebrow);
	text-transform: uppercase;
	color: var(--sq-text-secondary);
}

.sq-verdict__community {
	display: flex;
	align-items: center;
	gap: var(--sq-space-16);
	padding: var(--sq-space-16) var(--sq-space-32);
	border-top: 1px solid var(--sq-border);
	background: rgba(255, 255, 255, 0.02);
}

.sq-verdict__community-label {
	font-family: var(--sq-font-display);
	font-size: var(--sq-fs-micro);
	font-weight: var(--sq-weight-bold);
	letter-spacing: var(--sq-track-eyebrow);
	text-transform: uppercase;
	color: var(--sq-text-tertiary);
}

.sq-verdict__community .sq-community__value {
	font-size: 26px;
}

.sq-verdict__community-count {
	font-size: var(--sq-fs-small);
	color: var(--sq-text-tertiary);
	font-variant-numeric: tabular-nums;
}

.sq-verdict__community .sq-btn {
	margin-left: auto;
}

/* ---- Údaje o hre --------------------------------------------------------

   Recenzia nie je databázový záznam — parametre sú tu len ako doplnok,
   preto sú v jednom riadku a v najmenšom možnom stupni.
   ------------------------------------------------------------------------ */

.sq-gamestrip {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sq-space-8) var(--sq-space-24);
	padding-block: var(--sq-space-16);
	border-top: 1px solid var(--sq-border);
	border-bottom: 1px solid var(--sq-border);
}

.sq-gamestrip__item {
	font-size: var(--sq-fs-small);
	color: var(--sq-text-secondary);
}

.sq-gamestrip__item span {
	display: block;
	font-family: var(--sq-font-display);
	font-size: 10px;
	font-weight: var(--sq-weight-bold);
	letter-spacing: var(--sq-track-eyebrow);
	text-transform: uppercase;
	color: var(--sq-text-tertiary);
}

/* ---- Hodnotenie komunity a info o hre ----------------------------------- */

.sq-reviewmeta {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--sq-space-32);
}

.sq-community {
	display: flex;
	align-items: baseline;
	gap: var(--sq-space-12);
}

.sq-community__value {
	font-family: var(--sq-font-display);
	font-size: 40px;
	font-weight: var(--sq-weight-bold);
	line-height: 1;
	letter-spacing: -0.03em;
	color: var(--sq-text);
	font-variant-numeric: tabular-nums;
}

/* Stupnica z grafického jazyka — čiarky, nie hviezdičky. */
.sq-ticks {
	display: flex;
	gap: 3px;
	align-items: flex-end;
	height: 20px;
}

.sq-ticks span {
	width: 3px;
	height: 100%;
	background: var(--sq-elevated-2);
}

.sq-ticks span[data-on] {
	background: var(--sq-accent);
}

.sq-community__count {
	margin-top: var(--sq-space-8);
	font-size: var(--sq-fs-small);
	color: var(--sq-text-tertiary);
}


@media (max-width: 767px) {
	.sq-reviewhero > .sq-media {
		aspect-ratio: 4 / 5;
	}

	.sq-reviewhero__grid {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--sq-space-16);
	}

	.sq-score {
		align-items: flex-start;
		padding: var(--sq-space-12) var(--sq-space-16);
	}

	.sq-proscons {
		grid-template-columns: 1fr;
		gap: var(--sq-space-32);
	}

	.sq-proscons__col + .sq-proscons__col {
		border-left: 0;
		border-top: 1px solid var(--sq-border);
	}

	.sq-verdict__main {
		grid-template-columns: 1fr;
		gap: var(--sq-space-16);
		padding: var(--sq-space-24);
	}

	.sq-verdict__score {
		text-align: left;
	}

	.sq-verdict__community {
		flex-wrap: wrap;
		padding: var(--sq-space-16) var(--sq-space-24);
	}

	.sq-verdict__community .sq-btn {
		margin-left: 0;
		width: 100%;
	}
}

/* ---- Stupnica hodnotenia -------------------------------------------------

   Rozbalí sa priamo na mieste tlačidla, takže riadok nezmení výšku a
   nič pod ním nepreskočí.
   ------------------------------------------------------------------------ */

.sq-rate {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin-left: auto;
}

.sq-rate[data-sending] {
	opacity: 0.5;
	pointer-events: none;
}

.sq-rate__step {
	width: 30px;
	height: 30px;
	border: 1px solid var(--sq-border-strong);
	border-radius: var(--sq-radius);
	font-family: var(--sq-font-display);
	font-size: var(--sq-fs-small);
	font-weight: var(--sq-weight-bold);
	color: var(--sq-text-secondary);
	font-variant-numeric: tabular-nums;
	transition:
		border-color var(--sq-duration) var(--sq-ease),
		color var(--sq-duration) var(--sq-ease);
}

.sq-rate__step:hover {
	border-color: var(--sq-accent);
	color: var(--sq-accent);
}

.sq-rate__done {
	margin-left: auto;
	font-size: var(--sq-fs-small);
	color: var(--sq-text-secondary);
}

.sq-rate__done b {
	font-family: var(--sq-font-display);
	color: var(--sq-accent);
}
