/* ==== Pet Heroes Lanskroun - footer redesign (matches handipet.org sister-site style) ==== */

.pht-newsletter {
	background: #F7ECF6;
	padding: 56px 0;
}
.pht-newsletter .pht-newsletter-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	flex-wrap: wrap;
}
.pht-newsletter .pht-nwl-copy { flex: 1 1 420px; max-width: 70%; }
.pht-newsletter h2 {
	font-family: 'Asap', sans-serif;
	font-weight: 700;
	color: #831F82;
	font-size: 28px;
	line-height: 1.15;
	margin: 0 0 10px;
}
.pht-newsletter p {
	font-family: 'Nunito', sans-serif;
	font-weight: 300;
	color: #3C4858;
	font-size: 16px;
	margin: 0;
}
.pht-newsletter .pht-nwl-cta-wrap {
	flex: 0 0 auto;
}

/* Donate CTA - same visual language + same size as the homepage hero
   "Přispět" button (purple, pill, 16px label, lift-on-hover) reserved
   sitewide for donate/help actions; uppercase + bold + hover/press motion
   already come from the sitewide .btn rules in Additional CSS. Colleagues
   flagged the previous yellow/orange as low-contrast with white text, so
   this now matches the brand purple used everywhere else on the site. */
.pht-newsletter .pht-nwl-cta {
	display: inline-block;
	font-family: 'Nunito', sans-serif;
	font-size: 16px;
	color: #fff;
	text-decoration: none;
	padding: 15px 30px;
	border-radius: 50px;
	background: linear-gradient(135deg, #9A3499, #831F82);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
	white-space: nowrap;
}

/* ==== Bottom footer: white surface, links + socials + legal bar ==== */

.footer.footer-big { background: #FFFFFF; padding-top: 0; }
.footer.footer-big .container {
	max-width: 1200px;
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-areas:
		"menu social"
		"legal legal";
	column-gap: 40px;
	row-gap: 24px;
	align-items: start;
	padding: 40px 20px 0;
}
.footer.footer-big .hestia-bottom-footer-content { display: contents; }

/* Theme ships .footer-menu a with 15px padding, 700 weight (!important) and
   uppercase text - all reset here so the link list reads as a normal, compact
   footer menu instead of the oversized default nav styling. */
.footer.footer-big .footer-menu {
	grid-area: menu;
	float: none !important;
	width: auto !important;
	text-align: left !important;
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(130px, 210px));
	column-gap: 40px;
	row-gap: 4px;
}
.footer.footer-big .footer-menu li {
	margin: 0;
	padding: 0;
	display: block !important;
}
.footer.footer-big .footer-menu li a {
	font-family: 'Nunito', sans-serif;
	font-weight: 400 !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	color: #831F82;
	text-decoration: none;
	padding: 0 !important;
	display: inline-block;
}
.footer.footer-big .footer-menu li a:hover { text-decoration: underline; }

.pht-footer-socials {
	grid-area: social;
	display: flex;
	gap: 10px;
	align-items: flex-start;
	justify-content: flex-end;
}
.pht-footer-socials a {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: #EFE7EE;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #831F82;
	transition: background .2s, color .2s;
	flex: none;
}
.pht-footer-socials a svg { width: 17px; height: 17px; fill: currentColor; }
.pht-footer-socials a:hover { background: #831F82; color: #fff; }

.footer.footer-big .copyright {
	grid-area: legal;
	float: none !important;
	width: 100% !important;
	text-align: left !important;
	border-top: 1px solid #E7E1E6;
	padding: 18px 0;
	margin: 0;
	display: block;
	font-family: 'Nunito', sans-serif;
	font-weight: 300 !important;
	font-size: 13px !important;
	text-transform: none !important;
	color: #3C4858;
}

@media (max-width: 782px) {
	.pht-newsletter { padding: 40px 0; }
	.pht-newsletter .pht-newsletter-inner { flex-direction: column; align-items: stretch; text-align: left; gap: 20px; }
	.pht-newsletter .pht-nwl-copy { flex: 0 0 auto; max-width: none; }
	.pht-newsletter .pht-nwl-cta-wrap { flex: 0 0 auto; width: 100%; justify-content: stretch; }
	.pht-newsletter .pht-nwl-cta { width: 100%; text-align: center; box-sizing: border-box; }

	.footer.footer-big .container {
		grid-template-columns: 1fr;
		grid-template-areas: "menu" "social" "legal";
		justify-items: start;
		row-gap: 20px;
		padding: 32px 20px 0;
	}
	.footer.footer-big .footer-menu {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 20px;
		width: 100%;
	}
	.pht-footer-socials { justify-content: flex-start; }
	.footer.footer-big .copyright { text-align: left !important; }
}