/* ==========================================================================
   SÚŤAŽE

   Detail aj výpis. Karta so zapojením je to najdôležitejšie na stránke —
   drží sa vpravo hore, kde padne pohľad hneď po nadpise.
   ========================================================================== */

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

/* ---- Hlavička ------------------------------------------------------------ */

.sq-contest__head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 420px);
	gap: var(--sq-space-40);
	align-items: center;
}

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

.sq-contest__title {
	margin: 0;
	font-family: var(--sq-font-display);
	font-size: clamp(32px, 4vw, 52px);
	line-height: 1.05;
	letter-spacing: -0.02em;
}

.sq-contest__state {
	display: inline-flex;
	align-items: center;
	padding: 5px 12px;
	border-radius: var(--sq-radius-pill);
	border: 1px solid var(--sq-border);
	font-family: var(--sq-font-display);
	font-size: 11px;
	font-weight: var(--sq-weight-bold);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sq-text-tertiary);
}

.sq-contest__state--open {
	border-color: var(--sq-accent);
	background: var(--sq-accent-soft);
	color: var(--sq-accent);
}

.sq-contest__state--soon {
	border-color: var(--sq-purple, #8b5cff);
	color: var(--sq-purple, #8b5cff);
}

.sq-contest__prize {
	display: flex;
	gap: var(--sq-space-12);
	align-items: center;
	margin: 0;
	font-family: var(--sq-font-display);
	font-size: var(--sq-fs-h4, 22px);
	color: var(--sq-text);
}

.sq-contest__icon {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	flex: none;
	border-radius: 10px;
	background: var(--sq-accent-soft);
	color: var(--sq-accent);
}

.sq-contest__icon .sq-svg {
	width: 20px;
	height: 20px;
}

.sq-contest__meta {
	margin: 0;
	font-size: var(--sq-fs-small);
	color: var(--sq-text-tertiary);
}

.sq-contest__art,
.sq-contests__cover .sq-media {
	overflow: hidden;
	border-radius: 12px;
}

/* ---- Telo a bočná karta --------------------------------------------------- */

.sq-contest__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: var(--sq-space-40);
	align-items: start;
}

.sq-contest__body {
	font-size: var(--sq-fs-base);
	line-height: 1.75;
}

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

.sq-contest__card {
	display: flex;
	flex-direction: column;
	gap: var(--sq-space-12);
	padding: var(--sq-space-24);
	border: 1px solid var(--sq-border-strong);
	border-radius: 12px;
	background: var(--sq-surface-panel);
}

.sq-contest__cardtitle {
	display: flex;
	gap: 10px;
	align-items: center;
	margin: 0;
	font-family: var(--sq-font-display);
	font-size: var(--sq-fs-ui);
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.sq-contest__btn {
	display: inline-flex;
	justify-content: center;
	padding: 13px 20px;
	border: 0;
	border-radius: var(--sq-radius-pill);
	background: var(--sq-accent);
	font-family: var(--sq-font-display);
	font-size: var(--sq-fs-ui);
	font-weight: var(--sq-weight-bold);
	color: var(--sq-on-accent, #0b0b0e);
	cursor: pointer;
}

.sq-contest__btn:disabled {
	opacity: 0.6;
	cursor: progress;
}

.sq-contest__note,
.sq-contest__status,
.sq-contest__count {
	margin: 0;
	font-size: var(--sq-fs-small);
	color: var(--sq-text-tertiary);
}

.sq-contest__note.is-in,
.sq-contest__status.is-in {
	color: var(--sq-accent);
}

.sq-contest__rules {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: var(--sq-fs-small);
}

.sq-contest__rules li {
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr);
	gap: 10px;
	align-items: start;
	color: var(--sq-text-secondary);
}

.sq-contest__rules li.is-met {
	color: var(--sq-text);
}

.sq-contest__tick {
	display: block;
	width: 18px;
	height: 18px;
	margin-top: 2px;
	color: var(--sq-text-tertiary);
}

.sq-contest__rules li.is-met .sq-contest__tick {
	color: var(--sq-accent);
}

.sq-contest__rules li.is-missing .sq-contest__tick {
	color: var(--sq-warning, #ffb74d);
}

/* ---- Výherca -------------------------------------------------------------- */

.sq-contest__winner {
	display: flex;
	gap: 10px;
	align-items: center;
	flex-wrap: wrap;
	margin: 0;
	font-size: var(--sq-fs-small);
}

.sq-contest__winner b {
	font-family: var(--sq-font-display);
	font-size: var(--sq-fs-base);
	color: var(--sq-text);
}

.sq-contest__drawn {
	width: 100%;
	color: var(--sq-text-tertiary);
}

/* ---- Výpis ---------------------------------------------------------------- */

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

.sq-contests__head h1 {
	margin: 0 0 var(--sq-space-8);
	font-family: var(--sq-font-display);
	font-size: clamp(30px, 3.6vw, 44px);
}

.sq-contests__head p {
	max-width: 62ch;
	margin: 0;
	color: var(--sq-text-secondary);
}

.sq-contests__section {
	margin: var(--sq-space-16) 0 0;
	font-family: var(--sq-font-display);
	font-size: var(--sq-fs-h4, 22px);
}

.sq-contests__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: var(--sq-space-24);
}

.sq-contests__card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--sq-border);
	border-radius: 12px;
	background: var(--sq-surface);
}

.sq-contests__cover {
	position: relative;
	display: block;
}

.sq-contests__cover .sq-contest__state {
	position: absolute;
	top: 12px;
	left: 12px;
	background: var(--sq-surface-panel);
}

.sq-contests__text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	padding: var(--sq-space-16);
}

.sq-contests__text h3 {
	margin: 0;
	font-family: var(--sq-font-display);
	font-size: var(--sq-fs-base);
}

.sq-contests__prize {
	margin: 0;
	font-size: var(--sq-fs-small);
	color: var(--sq-accent);
}

.sq-contests__meta,
.sq-contests__count {
	margin: 0;
	font-size: var(--sq-fs-small);
	color: var(--sq-text-tertiary);
}

.sq-contests__rules {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0;
	padding-left: 18px;
	font-size: var(--sq-fs-small);
	color: var(--sq-text-secondary);
}

.sq-contests__foot {
	margin: 6px 0 0;
}

.sq-contests__empty {
	margin: 0;
	color: var(--sq-text-tertiary);
}

/* ---- Mobil ---------------------------------------------------------------- */

@media (max-width: 900px) {
	.sq-contest__head,
	.sq-contest__layout {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--sq-space-24);
	}

	/* Karta so zapojením patrí nad text — kvôli nej sem človek prišiel. */
	.sq-contest__aside {
		order: -1;
	}
}
