/* ==========================================================================
   Strona główna
   1. Hero  2. Panel streamu (pełny)  3. Blog na stronie głównej
   4. Harmonogram  5. Pas Discorda  6. Przyciski i osadzenia
   ========================================================================== */

/* 1. Hero */

.hero {
	display: flex;
	flex-direction: column;
	gap: 36px;
	padding-top: 32px;
	padding-bottom: 40px;
}

.hero__title {
	margin-bottom: 20px;
	font-size: clamp(44px, 9vw, 76px);
	line-height: 0.95;
	letter-spacing: -0.01em;
}

.hero__lead {
	max-width: 520px;
	margin: 0 0 28px;
	color: var(--text-2);
	font-size: 17px;
	line-height: 1.6;
}

@media (min-width: 768px) {
	.hero {
		padding-top: 56px;
		padding-bottom: 56px;
	}

	.hero__lead {
		font-size: 19px;
	}

}

@media (min-width: 1100px) {
	.hero {
		flex-direction: row;
		align-items: center;
		gap: 64px;
		padding-top: 48px;
		padding-bottom: 72px;
	}

	.hero__text {
		flex: 1 1 0;
		min-width: 0;
	}

	.hero__panel {
		flex: 0 0 min(560px, 48%);
	}
}

/* 2. Panel streamu (wariant pełny) */

.stream-card--full {
	padding: 0;
	background: var(--surface-3);
	box-shadow: 0 0 70px rgba(45, 212, 191, 0.2), 0 0 110px rgba(168, 85, 247, 0.2);
}

.stream-card--full.stream-card--live {
	background: var(--surface-3);
	border-color: rgba(255, 61, 26, 0.6);
}

.stream-card__head {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 18px;
	border-bottom: 2px solid var(--line);
}

.stream-card__who {
	flex: 1;
	min-width: 0;
}

.stream-card__login {
	margin: 0;
	font-family: var(--font-display);
	font-size: 15px;
	line-height: 1.1;
	text-transform: uppercase;
}

.stream-card__url {
	margin: 2px 0 0;
	overflow: hidden;
	font-family: var(--font-mono);
	font-size: 11px;
	text-overflow: ellipsis;
	text-transform: uppercase;
	color: var(--text-3);
}

.stream-card--full .stream-card__status .status-dot {
	width: 12px;
	height: 12px;
}

.stream-card__body {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.stream-card--full .stream-card__body {
	padding: 18px;
}

.stream-card:not(.stream-card--full) .stream-card__body .btn {
	margin-top: 4px;
}

.stream-card__body > * {
	margin-top: 0;
	margin-bottom: 0;
}

.stream-card__lead {
	color: var(--text-2);
	font-size: 17px;
	line-height: 1.55;
}

.stream-card--full .stream-card__title {
	margin: 0;
	font-family: var(--font-display);
	font-size: 17px;
	line-height: 1.15;
	text-transform: uppercase;
}

.stream-card--full .stream-card__meta {
	margin-top: 4px;
	color: var(--text-2);
}

.stream-card .btn {
	margin-top: 0;
}

.avatar--sm {
	width: 40px;
	height: 40px;
	font-size: 16px;
}

/* 3. Blog na stronie głównej */

.front-blog__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 24px;
	margin: 28px 0 20px;
}

.front-blog__title-row {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	min-width: 0;
	max-width: 100%;
}

.front-blog__title {
	font-size: 26px;
}

.front-blog__all {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	min-height: var(--tap);
	color: var(--teal);
	font-family: var(--font-mono);
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
	text-transform: uppercase;
}

.front-blog__all:hover {
	text-decoration: underline;
}

.chips--scroll {
	max-width: 100%;
	overflow-x: auto;
	flex-wrap: nowrap;
	padding-bottom: 4px;
	scrollbar-width: thin;
}

.chips--scroll .chip {
	white-space: nowrap;
}

@media (min-width: 768px) {
	.front-blog__head {
		margin-top: 40px;
		margin-bottom: 28px;
	}

	.front-blog__title {
		font-size: 32px;
	}

	.front-blog__title-row {
		flex-direction: row;
		align-items: center;
		gap: 28px;
	}

	.front-blog__all {
		font-size: 13px;
	}

	.chips--scroll {
		flex-wrap: wrap;
		overflow: visible;
	}
}

/* Duży wpis */
.post-card--featured {
	border-color: var(--teal);
	background: var(--surface-1);
	box-shadow: 0 0 30px rgba(45, 212, 191, 0.2);
}

.post-card--featured .post-card__link {
	flex-direction: column;
}

.post-card--featured .post-card__thumb {
	width: 100%;
	aspect-ratio: 16 / 9;
}

.post-card--featured .post-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 18px;
}

.post-card--featured .post-card__title {
	margin: 10px 0;
	font-size: 26px;
	line-height: 1;
	overflow-wrap: break-word;
}

.post-card--featured .post-card__excerpt {
	font-size: 16px;
}

.post-card--featured .post-card__cta {
	align-self: flex-start;
	margin-top: 20px;
	background: var(--brand-gradient);
	color: var(--bg);
}

@media (min-width: 768px) {
	.post-card--featured .post-card__body {
		padding: 28px 32px;
	}

	.post-card--featured .post-card__title {
		font-size: 34px;
	}

	.post-card--featured .post-card__excerpt {
		font-size: 18px;
	}
}

@media (min-width: 1100px) {
	.post-card--featured {
		box-shadow: 0 0 40px rgba(45, 212, 191, 0.25), 0 0 80px rgba(168, 85, 247, 0.18);
	}

	.post-card--featured .post-card__link {
		flex-direction: row;
	}

	.post-card--featured .post-card__thumb {
		flex: 0 0 min(620px, 50%);
		width: auto;
		aspect-ratio: auto;
		min-height: 350px;
		border-right: 2px solid var(--line);
	}

	.post-card--featured .post-card__body {
		justify-content: flex-start;
		padding: 40px 44px;
	}

	.post-card--featured .post-card__title {
		font-size: 40px;
	}

	.post-card--featured .post-card__cta {
		margin-top: auto;
	}
}

/* Pozostałe trzy wpisy: na telefonie wiersze z małą miniaturą, od tabletu karty w 3 kolumnach. */
.post-grid--front {
	margin-top: 8px;
	gap: 0;
}

.post-grid--front .post-card--grid {
	border: 0;
	border-bottom: 1px solid var(--line-soft);
	background: none;
}

.post-grid--front .post-card--grid .post-card__link {
	flex-direction: row;
	align-items: center;
	gap: 14px;
	padding: 14px 0;
}

.post-grid--front .post-card--grid .post-card__thumb {
	flex: 0 0 96px;
	width: 96px;
	aspect-ratio: 4 / 3;
	border: 1px solid var(--line);
}

.post-grid--front .post-card--grid .post-card__body {
	flex: 1;
	min-width: 0;
	padding: 0;
}

.post-grid--front .post-card--grid .post-card__meta {
	font-size: 11px;
}

.post-grid--front .post-card--grid .post-card__title {
	margin: 6px 0 0;
	font-size: 15px;
}

.post-grid--front .post-card--grid .post-card__excerpt,
.post-grid--front .post-card--grid .post-card__reading {
	display: none;
}

@media (min-width: 768px) {
	.post-grid--front {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 24px;
		margin-top: 24px;
	}

	.post-grid--front .post-card--grid {
		border: 2px solid var(--line);
		background: var(--surface-2);
	}

	.post-grid--front .post-card--grid:hover,
	.post-grid--front .post-card--grid:focus-within {
		border-color: var(--teal);
	}

	.post-grid--front .post-card--grid .post-card__link {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: 0;
	}

	.post-grid--front .post-card--grid .post-card__thumb {
		flex: none;
		width: 100%;
		aspect-ratio: 16 / 10;
		border: 0;
	}

	.post-grid--front .post-card--grid .post-card__body {
		padding: 20px;
	}

	.post-grid--front .post-card--grid .post-card__title {
		margin: 10px 0 8px;
		font-size: 19px;
	}

	.post-grid--front .post-card--grid .post-card__excerpt {
		display: block;
		font-size: 15px;
	}

	.post-grid--front .post-card--grid .post-card__reading {
		display: none;
	}
}

/* 4. Harmonogram streamów (tylko gdy wypełniony w ustawieniach) */

.schedule__list {
	display: grid;
	gap: 10px;
}

.schedule__item {
	padding: 14px 18px;
	border: 2px solid var(--line);
	background: var(--surface-2);
	font-family: var(--font-mono);
	font-size: 13px;
	text-transform: uppercase;
	color: var(--text-2);
}

@media (min-width: 768px) {
	.schedule__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1100px) {
	.schedule__list {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* 5. Pas Discorda */

.discord-band {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding: 24px 20px;
	border: 2px solid var(--dc);
	background: var(--surface-1);
	box-shadow: 0 0 30px rgba(88, 101, 242, 0.45), inset 0 0 20px rgba(88, 101, 242, 0.12);
}

.discord-band__eyebrow {
	margin: 0 0 8px;
	font-family: var(--font-mono);
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--dc-text);
}

.discord-band__title {
	font-size: 24px;
	line-height: 1.05;
}

.discord-band__accent {
	color: var(--dc-text);
}

.discord-band__lead {
	max-width: 620px;
	margin: 12px 0 0;
	color: var(--text-2);
	font-size: 16px;
	line-height: 1.55;
}

@media (min-width: 768px) {
	.discord-band {
		padding: 32px 36px;
	}

	.discord-band__title {
		font-size: 30px;
	}

	.discord-band__lead {
		font-size: 17px;
	}
}

@media (min-width: 1100px) {
	.discord-band {
		flex-direction: row;
		align-items: center;
		gap: 40px;
		padding: 40px 48px;
	}

	.discord-band__text {
		flex: 1;
	}

	.discord-band__title {
		font-size: 34px;
	}

	.discord-band .btn {
		flex-shrink: 0;
	}
}

.band__title--small {
	margin-top: 0;
	font-size: 20px;
}

@media (min-width: 768px) {
	.band__title--small {
		margin-top: 0;
		font-size: 24px;
	}
}

/* 6. Przyciski dodatkowe i osadzenia */

/* ==========================================================================
   Relacje na stronie głównej (wariant B: lewa, przyklejona kolumna z kompaktowymi kafelkami obok bloga;
   na telefonie i tablecie sekcja nad blogiem)
   ========================================================================== */

.front-split__rule {
	margin-bottom: 0;
}

.front-live {
	margin: 28px 0 8px;
}

.front-live[hidden] {
	display: none;
}

.front-live__title {
	margin: 0 0 16px;
	font-size: 26px;
}

.live-cards {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.live-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	height: 100%;
	padding: 14px 16px;
	border: 1px solid var(--line);
	background: var(--surface-2);
	color: var(--text);
	text-decoration: none;
}

.live-card:hover {
	border-color: var(--teal);
	box-shadow: 0 0 18px rgba(45, 212, 191, 0.18);
}

.live-card--live {
	border-color: var(--live-text);
}

.live-card--live:hover {
	box-shadow: 0 0 18px rgba(255, 61, 26, 0.25);
}

.live-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 3px 9px;
	border: 1px solid var(--line-strong);
	color: var(--text-2);
	font-family: var(--font-mono);
	font-size: 11px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.live-badge--live {
	border-color: var(--live-text);
	color: var(--live-text);
}

.live-badge--break {
	border-color: var(--amber);
	color: var(--amber);
}

.live-badge--soon {
	border-color: var(--teal);
	color: var(--teal);
}

.live-badge__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--live);
	box-shadow: 0 0 6px rgba(255, 61, 26, 0.8);
	animation: live-pulse 1.2s infinite;
}

.live-card__title {
	color: var(--text);
	font-family: var(--font-display);
	font-size: 15px;
	line-height: 1.25;
	overflow-wrap: break-word;
	text-transform: uppercase;
}

.live-card__foot {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	min-height: 28px; /* miejsce zarezerwowane, żeby pojawienie się wyniku lub fazy nie przesuwało układu */
	margin-top: auto;
}

.live-card__line {
	min-width: 0;
	color: var(--text-3);
	font-family: var(--font-mono);
	font-size: 12px;
	line-height: 1.4;
	text-transform: uppercase;
}

.live-card__score {
	flex-shrink: 0;
	margin-left: auto;
	color: var(--text);
	font-family: var(--font-display);
	font-size: 24px;
	line-height: 1;
}

.front-live-alone .front-live {
	margin-top: 0;
}

@media (min-width: 768px) {
	.live-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.front-live {
		margin-top: 40px;
	}

	.front-live__title {
		font-size: 32px;
	}
}

/* Komputer: lewa, przyklejona kolumna z kafelkami obok bloga. */
@media (min-width: 1100px) {
	.front-split {
		display: grid;
		grid-template-columns: 320px minmax(0, 1fr);
		gap: 0 40px;
		align-items: start;
	}

	.front-split--solo {
		grid-template-columns: minmax(0, 1fr);
	}

	.front-split__rule {
		grid-column: 1 / -1;
	}

	.front-live {
		position: sticky;
		top: 24px;
		max-height: calc(100vh - 48px);
		margin-top: 40px;
		margin-left: -4px;
		padding: 4px;
		overflow-y: auto;
		scrollbar-width: thin;
	}

	.front-split .live-cards {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
	}

	.front-live-alone .live-cards {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}
