/* =========================================
   paticka.css — Fajn Účet
   Patička webu — převzato z fajnskupina_cz/paticka-varianty.php,
   varianta G (portály nad modrou patičkou).
   ========================================= */

.pv-d {
	--d-modra: #0074ff;
	--d-modra-tmava: #016ae6;
	--d-oranz: #ff8b00;
	--d-oranz-tmava: #ea580c;
	--d-bila: #ffffff;
	--d-bila-soft: rgba(255, 255, 255, 0.88);
	--d-bila-muted: rgba(255, 255, 255, 0.7);
	--d-line: rgba(255, 255, 255, 0.24);
	--d-trans: 200ms ease-in-out;

	background: var(--d-modra);
	color: var(--d-bila);
	font-family: 'Rubik', system-ui, -apple-system, Segoe UI, sans-serif;
	font-size: 15px;
	line-height: 1.55;
	overflow: hidden;
	margin-top: 0;
	padding: 48px 0 0;
	-webkit-font-smoothing: antialiased;
}

/* Zrušit obecné pravidlo `footer { display:flex; align-items:center; gap; padding }`
   z obecne.css — jinak se holder smrskne na šířku obsahu (~780 px místo 1240 px) */
footer.pv-d {
	display: block;
	gap: 0;
	padding: 48px 0 0;
}

.pv-d *,
.pv-d *::before,
.pv-d *::after { box-sizing: border-box; }

.pv-d__holder {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 clamp(16px, 3vw, 32px);
	display: flex;
	flex-direction: column;
}

.pv-d a {
	color: var(--d-bila);
	text-decoration: none;
	transition: color var(--d-trans);
}

.pv-d a:hover,
.pv-d a:focus-visible {
	color: var(--d-oranz);
}

.pv-d a:focus-visible,
.pv-d button:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.7);
	border-radius: 6px;
}

/* ===== first-row: sloupce Uchazeči / O Fajn účtu / Právní dokumenty / Sleduj nás ===== */
.pv-d__first-row {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	padding: 0 0 32px;
}

.pv-d__first-row > div {
	flex: 1 0 calc(25% - 12px);
	max-width: calc(25% - 12px);
}

@media (max-width: 768px) {
	.pv-d__first-row > div {
		flex: 1 0 calc(50% - 8px);
		max-width: calc(50% - 8px);
		margin-bottom: 16px;
	}
}

@media (max-width: 480px) {
	.pv-d__first-row > div {
		flex: 1 0 100%;
		max-width: 100%;
	}
}

.pv-d__title {
	color: var(--d-oranz);
	font-weight: 600;
	font-size: 20px;
	line-height: 24px;
	margin: 0 0 16px;
}

.pv-d__title--center {
	text-align: center;
}

.pv-d__first-row ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.pv-d__first-row ul li {
	line-height: 1.4;
	margin-bottom: 6px;
}

.pv-d__first-row ul li a {
	font-size: 15px;
	line-height: 26px;
	color: var(--d-bila);
}

.pv-d__first-row ul li a:hover {
	color: var(--d-oranz);
}

/* ===== Sloupec „Sleduj nás" — ikony sociálních sítí ===== */
.pv-d__social-wrapper--g {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 16px;
	margin-top: 6px;
	list-style: none;
	padding: 0;
}

.pv-d__social-wrapper--g a {
	width: 46px;
	height: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.12);
	color: var(--d-bila);
	border: 2px solid transparent;
	transition: background var(--d-trans), color var(--d-trans), border-color var(--d-trans);
}

.pv-d__social-wrapper--g a svg {
	width: 26px;
	height: 26px;
}

.pv-d__social-wrapper--g a:hover,
.pv-d__social-wrapper--g a:focus-visible {
	background: rgba(255, 255, 255, 0.12);
	border-color: var(--d-oranz);
	color: var(--d-oranz);
}

@media (max-width: 768px) {
	.pv-d__title--center {
		text-align: left;
	}
	.pv-d__social-wrapper--g {
		justify-content: flex-start;
		flex-wrap: nowrap;
	}
	.pv-d__first-row > div:has(.pv-d__social-wrapper--g) {
		flex: 1 0 100%;
		max-width: 100%;
	}
}

/* =========================================================
   Portály naší skupiny — šedý blok NAD modrou patičkou
   ========================================================= */
.pv-f-portaly {
	background: #f1f5f9;
	padding: 28px 0 28px;
	font-family: 'Rubik', system-ui, -apple-system, Segoe UI, sans-serif;
	font-size: 15px;
	color: #1e293b;
}

.pv-f-portaly__holder {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 clamp(16px, 3vw, 32px);
}

.pv-f-portaly__title {
	margin: 0 0 20px;
	font-size: 18px;
	font-weight: 600;
	color: #0074ff;
	text-align: center;
}

.pv-f-portaly__seznam {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}

/* 7 v řadě jako ve variantě G — 12 portálů na 2 řádky (7+5), neúplný řádek vycentrovaný */
.pv-f-portaly__seznam li {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	min-width: 0;
	flex: 0 0 calc((100% - 6 * 8px) / 7);
	max-width: calc((100% - 6 * 8px) / 7);
}

@media (max-width: 1100px) {
	.pv-f-portaly__seznam li {
		flex: 0 0 calc((100% - 3 * 8px) / 4);
		max-width: calc((100% - 3 * 8px) / 4);
	}
}

@media (max-width: 768px) {
	.pv-f-portaly__seznam li {
		flex: 0 0 calc((100% - 2 * 8px) / 3);
		max-width: calc((100% - 2 * 8px) / 3);
	}
}

@media (max-width: 480px) {
	.pv-f-portaly__seznam li {
		flex: 0 0 calc((100% - 1 * 8px) / 2);
		max-width: calc((100% - 1 * 8px) / 2);
	}
}

.pv-f-portaly__seznam li > span {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	width: 100%;
	min-height: 40px;
	font-size: 15px;
	color: #475569;
	font-weight: 400;
	line-height: 1.3;
	text-align: center;
	margin-bottom: 8px;
	hyphens: auto;
	-webkit-hyphens: auto;
}

.pv-f-portaly__seznam li > a {
	display: flex;
	flex: 1;
	align-items: center;
	justify-content: center;
	width: 100%;
	box-sizing: border-box;
	padding: 12px;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
	text-decoration: none;
}

.pv-f-portaly__seznam li > a:hover,
.pv-f-portaly__seznam li > a:focus-visible {
	transform: translateY(-2px);
	border-color: #0074ff;
	box-shadow: 0 6px 16px -8px rgba(0, 116, 255, 0.35);
	outline: none;
}

.pv-f-portaly__odkaz--aktivni {
	border-color: #0074ff !important;
	box-shadow: 0 0 0 1px #0074ff inset;
}

.pv-f-portaly__logo {
	display: block;
	width: auto !important;
	height: 28px;
	max-width: 100%;
	object-fit: contain;
}

/* Flek logo je velmi široké (poměr ~4,7:1), proto nižší výška */
.pv-f-portaly__logo--flek {
	height: 16px;
}

/* Popisky jsou na desktopu jednořádkové — bez rezervy min-height */
@media (min-width: 1200px) {
	.pv-f-portaly__seznam li > span {
		min-height: 0;
	}
}

/* ===== Copyright řádek — na modrém pozadí, úplně dole ===== */
.pv-f-portaly--copy {
	background: var(--d-modra, #0074ff);
	padding-top: 0;
	padding-bottom: 52px;
}

.pv-f-copy {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 0;
	padding: 42px 0 0;
	border-top: 1px solid rgba(255, 255, 255, 0.24);
	font-size: 15px;
	color: rgba(255, 255, 255, 0.88);
	text-align: center;
}

.pv-f-copy__sep {
	color: rgba(255, 255, 255, 0.5);
}

.pv-f-copy__srdce {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #ffffff;
	font-weight: 600;
}

.pv-f-copy__srdce svg {
	color: #ff8b00;
}

/* =========================================================
   Mobil — kompaktnější patička
   ========================================================= */
@media (max-width: 768px) {
	/* menší svislé mezery v modré části */
	.pv-d,
	footer.pv-d {
		padding-top: 32px;
	}
	.pv-d__first-row {
		padding-bottom: 8px;
	}
	.pv-f-copy {
		padding-top: 20px;
	}
	.pv-f-portaly--copy {
		padding-bottom: 24px;
	}
}

@media (max-width: 480px) {
	/* odkazové sloupce po dvou vedle sebe (Uchazeči + O Fajn účtu,
	   Právní dokumenty + Sleduj nás) */
	.pv-d__first-row > div,
	.pv-d__first-row > div:has(.pv-d__social-wrapper--g) {
		flex: 1 0 calc(50% - 8px);
		max-width: calc(50% - 8px);
	}
	.pv-d__social-wrapper--g {
		flex-wrap: wrap;
		gap: 12px;
	}

	/* copyright — každá položka na vlastním řádku, bez oddělovačů */
	.pv-f-copy {
		flex-direction: column;
		gap: 4px;
	}
	.pv-f-copy__sep {
		display: none;
	}

	/* popisky portálů jsou na mobilu jednořádkové — bez rezervy na dva řádky */
	.pv-f-portaly__seznam li > span {
		min-height: 0;
	}
}

/* Stránky přihlášeného uživatele — spodní navigační lišta (.mobile-bottomnav,
   obecne.css) je fixní a překrývala by copyright */
@media (max-width: 1023px) {
	body:has(.mobile-bottomnav) .pv-f-portaly--copy {
		padding-bottom: calc(24px + 4.5rem + env(safe-area-inset-bottom));
	}
}
