/* ==========================================================================
   FOOTER  —  Figma node 1:195 („pata")

   Miery z Figmy (plátno 1920 × 655.3, obsah 260 → 1663):
     pozadie      #3cb4e5
     4 stĺpce     štart 260 / 623 / 984 / 1342 → 4 × 1fr, medzera 41px
     horný okraj  ~78px, spodný ~115px
     nadpisy      Inter Bold 22px / 39px, ČIERNE
     text a linky Inter Regular 22px / 39px, BIELE
     kontakt      Inter Bold 21px / 54px, čierny
     logo         277 × 53 (biela verzia)
     socials      4 ikony, 30.7px, celková šírka 197.6 → medzera 25px
   ========================================================================== */

.pc-footer {
	background: var(--pc-blue);
	color: var(--pc-white);
}

.pc-footer__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 41px;
	align-items: start;
	padding-block: 78px 115px;
}

.pc-footer__col {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

/*
 * Druhý blok v prostredných stĺpcoch začína vo Figme na rovnakej výške
 * (228px od horného okraja obsahu) bez ohľadu na to, či je nad ním
 * 4 alebo 5 riadkov. `minmax` to drží, ale nechá blok posunúť sa nižšie,
 * ak klient vloží dlhší text.
 */
.pc-footer__col--rows {
	display: grid;
	grid-template-rows: minmax(228px, auto) auto;
	gap: 0;
}

/* ---- Logo ------------------------------------------------------------- */

.pc-footer__logo {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-bottom: 59px; /* Figma: spodok loga 130 → navigácia 189 */
}

.pc-footer__logo-mark {
	display: block;
	flex: 0 0 auto;
	width: 50px;
	height: 53px;
}

.pc-footer__logo-word {
	display: block;
	flex: 0 0 auto;
	width: 207px;
	height: 40px;
}

.pc-footer__logo svg {
	width: 100%;
	height: 100%;
}

/* ---- Texty a nadpisy -------------------------------------------------- */

.pc-footer__title {
	font-size: var(--pc-fs-lead);
	font-weight: var(--pc-weight-bold);
	/* Figma: 39px riadok — rovnaký rytmus ako text pod nadpisom */
	line-height: 39px;
	color: var(--pc-black);
}

.pc-footer__text {
	font-size: var(--pc-fs-lead);
	font-weight: var(--pc-weight-regular);
	line-height: 39px;
	color: var(--pc-white);
}

/*
 * Adresa ako odkaz na mapu. Obaľuje celý blok, preto sa podčiarkuje až
 * pri prejdení myšou — inak by z pätičky bola stena podčiarknutého textu.
 */
.pc-footer__address {
	display: block;
	color: inherit;
	text-decoration: none;
}

.pc-footer__address:hover .pc-footer__text,
.pc-footer__address:focus-visible .pc-footer__text {
	text-decoration: underline;
}

/* ---- Zoznamy odkazov -------------------------------------------------- */

.pc-footer__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.pc-footer__link,
.pc-footer__nav-link {
	display: inline-block;
	font-size: var(--pc-fs-lead);
	line-height: 39px;
	transition: opacity var(--pc-duration) var(--pc-ease);
}

.pc-footer__link {
	font-weight: var(--pc-weight-regular);
	color: var(--pc-white);
}

/* Navigácia v prvom stĺpci je vo Figme tučná a čierna. */
.pc-footer__nav-link {
	font-weight: var(--pc-weight-bold);
	color: var(--pc-black);
}

.pc-footer__link:hover,
.pc-footer__link:focus-visible,
.pc-footer__nav-link:hover,
.pc-footer__nav-link:focus-visible {
	opacity: 0.75;
	text-decoration: underline;
}

/* ---- Kontakt ---------------------------------------------------------- */

.pc-footer__contact {
	display: flex;
	flex-direction: column;
	margin-bottom: 86px; /* Figma: kontakt končí 181 → socials 267 */
}

.pc-footer__contact-item {
	display: flex;
	align-items: center;
	gap: var(--pc-space-16);
	min-height: 54px; /* Figma: riadkovanie 54px */
	font-size: 21px;
	font-weight: var(--pc-weight-bold);
	line-height: 54px;
	color: var(--pc-black);
	transition: opacity var(--pc-duration) var(--pc-ease);
}

.pc-footer__contact-item:hover,
.pc-footer__contact-item:focus-visible {
	opacity: 0.75;
	text-decoration: none;
}

.pc-footer__contact-icon {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: 29px;
	height: 29px;
}

.pc-footer__contact-icon svg {
	width: 100%;
	height: 100%;
}

/* ---- Sociálne siete --------------------------------------------------- */

.pc-footer__socials {
	display: flex;
	align-items: center;
	gap: 25px; /* Figma: 4 × 30.7px v šírke 197.6 */
	margin: 0;
	padding: 0;
	list-style: none;
}

.pc-footer__social {
	display: grid;
	place-items: center;
	width: 31px;
	height: 31px;
	transition: opacity var(--pc-duration) var(--pc-ease);
}

.pc-footer__social:hover,
.pc-footer__social:focus-visible {
	opacity: 0.75;
}

.pc-footer__social svg {
	width: 100%;
	height: 100%;
}

/* ==========================================================================
   RESPONZIVITA

   Figma má iba desktop. Stĺpce sa lámu podľa toho, kedy sa 22px text
   prestane zmestiť — nie mechanicky všetko pod seba.
     ≤ 1200px  4 → 2 stĺpce, kontakt a socials sa presunú nahor
     ≤ 700px   1 stĺpec, menšia typografia a hustejší rytmus
   ========================================================================== */

@media (max-width: 1200px) {
	.pc-footer__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 48px 41px;
		padding-block: 56px 64px;
	}

	/* Zarovnanie druhého riadku dáva zmysel len pri pôvodnom 4-stĺpcovom
	   rozložení; v užšom gride by robilo zbytočné diery. */
	.pc-footer__col--rows {
		display: flex;
		flex-direction: column;
		gap: 40px;
	}

	.pc-footer__logo,
	.pc-footer__contact {
		margin-bottom: 40px;
	}
}

@media (max-width: 700px) {
	.pc-footer__grid {
		grid-template-columns: 1fr;
		gap: 40px;
		padding-block: 48px 56px;
	}

	.pc-footer__title,
	.pc-footer__text,
	.pc-footer__link,
	.pc-footer__nav-link {
		font-size: var(--pc-fs-base);
		line-height: 32px;
	}

	.pc-footer__contact-item {
		min-height: 44px;
		font-size: var(--pc-fs-base);
		line-height: 44px;
	}

	.pc-footer__logo-mark {
		width: 40px;
		height: 42px;
	}

	.pc-footer__logo-word {
		width: 165px;
		height: 32px;
	}
}

/* ==========================================================================
   ODBER NOVINIEK

   Stojí v poslednom stĺpci pätičky pod kontaktmi. Pole a tlačidlo sú
   v jednom riadku, na úzkej obrazovke pod sebou.
   ========================================================================== */

.pc-newsletter {
	margin-top: var(--pc-space-32);
}

.pc-newsletter__text {
	margin: 0 0 var(--pc-space-12);
	font-size: var(--pc-fs-small);
	line-height: 1.4;
}

.pc-newsletter__form {
	display: flex;
	flex-wrap: wrap;
	gap: var(--pc-space-8);
}

.pc-newsletter__input {
	flex: 1 1 180px;
	min-width: 0;
	min-height: 44px;
	padding: 10px 14px;
	border: 1px solid var(--pc-white);
	border-radius: var(--pc-radius-xs);
	background: var(--pc-white);
	font-family: var(--pc-font);
	font-size: var(--pc-fs-small);
	color: var(--pc-black);
}

.pc-newsletter__submit {
	flex: 0 0 auto;
	min-height: 44px;
	border-color: var(--pc-white);
	background: var(--pc-white);
	color: var(--pc-blue);
}

.pc-newsletter__submit:hover,
.pc-newsletter__submit:focus-visible {
	border-color: var(--pc-white);
	background: var(--pc-white);
	color: var(--pc-blue-dark);
}

.pc-newsletter__submit[disabled] {
	opacity: 0.6;
	cursor: progress;
}

/* Pasca na roboty — nesmie ju byť vidieť ani počuť. */
.pc-newsletter__trap {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
}

.pc-newsletter__note,
.pc-newsletter__status {
	margin: var(--pc-space-8) 0 0;
	font-size: var(--pc-fs-micro);
	line-height: 1.4;
}

.pc-newsletter__status:empty {
	margin: 0;
}

.pc-newsletter__status.is-error {
	font-weight: var(--pc-weight-bold);
}

/* Podpis autora webu — posledný riadok posledného stĺpca. */
.pc-footer__credit {
	display: flex;
	align-items: center;
	gap: var(--pc-space-8);
	margin: var(--pc-space-32) 0 0;
	font-size: var(--pc-fs-small);
	line-height: 1.2;
	color: var(--pc-white);
}

.pc-footer__credit a {
	display: inline-flex;
	align-items: center;
	gap: var(--pc-space-8);
	color: inherit;
	text-decoration: none;
}

.pc-footer__credit a:hover,
.pc-footer__credit a:focus-visible {
	text-decoration: underline;
}

.pc-footer__credit-logo {
	height: 18px;
	width: auto;
}
