/*
 * Kid Suite site footer (template-parts/kid-footer.php), loaded on every page.
 * Self-contained: does not depend on the homepage stylesheet.
 */

.ks2-footer {
	--p1: #8860d0;
	--p2: #667eea;
	--accent: #6d4fc2;
	--grad: linear-gradient(135deg, var(--p1) 0%, var(--p2) 100%);
	--ease: cubic-bezier(0.22, 1, 0.36, 1);
}

.ks2-footer *,
.ks2-footer *::before,
.ks2-footer *::after { box-sizing: border-box; }

.ks2-footer .ks2-btn {
	position: relative;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 46px;
	padding: 0 20px;
	border-radius: 14px;
	background: var(--grad);
	color: #fff !important;
	font-size: 15.5px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none !important;
	white-space: nowrap;
	box-shadow: 0 8px 22px rgba(109, 79, 194, 0.32);
	transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease);
}

.ks2-footer .ks2-btn::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(120deg, transparent 30%, rgba(255, 255, 255, 0.35) 50%, transparent 70%);
	transform: translateX(-120%);
	transition: transform 0.7s var(--ease);
}

.ks2-footer .ks2-arrow { width: 20px; height: 20px; flex: none; transition: transform 0.25s var(--ease); }

@media (hover: hover) {
	.ks2-footer .ks2-btn:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(109, 79, 194, 0.4); }
	.ks2-footer .ks2-btn:hover::after { transform: translateX(120%); }
	.ks2-footer .ks2-btn:hover .ks2-arrow { transform: translateX(4px); }
}

.ks2-footer a:focus-visible { outline: 3px solid rgba(136, 96, 208, 0.55); outline-offset: 3px; }



.ks2-footer {
	position: relative;
	background: #fff;
	border-top: 1px solid rgba(17, 24, 39, 0.07);
	color: #475467;
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--gutter: 24px;
}

.ks2-footer::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, transparent, #8860d0 30%, #667eea 70%, transparent);
	opacity: 0.6;
}

.ks2-footer .ks2-wrap { width: min(1400px, calc(100% - 2 * var(--gutter))); margin-inline: auto; }

.ks2-footer-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr));
	gap: 40px;
	padding: 64px 0 48px;
}

.ks2-footer-logo img { display: block; width: 150px; height: auto; }

.ks2-footer-brand p {
	margin: 18px 0 22px;
	max-width: 360px;
	font-size: 1rem;
	line-height: 1.65;
}

.ks2-footer-brand .ks2-btn { min-height: 46px; padding: 0 20px; font-size: 15.5px; }

.ks2-footer-col h2 {
	margin: 6px 0 18px;
	font-size: 0.85rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #121826;
}

.ks2-footer-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }

.ks2-footer-col a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #475467 !important;
	font-size: 1rem;
	font-weight: 500;
	text-decoration: none !important;
	background: linear-gradient(currentColor, currentColor) 0 100% / 0 1.5px no-repeat;
	transition: color 0.2s, background-size 0.3s var(--ease, ease);
}

.ks2-footer-col a:hover { color: #6d4fc2 !important; background-size: 100% 1.5px; }

.ks2-footer-mail svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.ks2-footer-note { font-size: 0.95rem; color: #8a8fa0; }

.ks2-footer-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	padding: 22px 0 26px;
	border-top: 1px solid rgba(17, 24, 39, 0.07);
	font-size: 0.92rem;
	color: #8a8fa0;
}

.ks2-footer-bottom p { margin: 0; }

.ks2-totop {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #475467 !important;
	font-weight: 600;
	text-decoration: none !important;
}

.ks2-totop svg {
	width: 32px;
	height: 32px;
	padding: 7px;
	border-radius: 50%;
	background: rgba(136, 96, 208, 0.1);
	color: #6d4fc2;
	transition: transform 0.25s, background 0.25s, color 0.25s;
}

.ks2-totop:hover svg { transform: translateY(-3px); background: linear-gradient(135deg, #8860d0, #667eea); color: #fff; }


@media (max-width: 1024px) {
	.ks2-footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ks2-footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 767px) {
	.ks2-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 24px; padding: 48px 0 36px; }
}

@media (max-width: 560px) {
	.ks2-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 20px; padding: 44px 0 32px; }
	.ks2-footer-grid > :last-child { grid-column: 1 / -1; }
	.ks2-footer-bottom { flex-direction: column-reverse; align-items: flex-start; }
}

@media (max-width: 360px) {
	.ks2-footer { --gutter: 18px; }
}

@media (prefers-reduced-motion: reduce) {
	.ks2-footer *,
	.ks2-footer *::after { transition: none !important; }
}

/* CookieYes "revisit consent" button (bottom-left): one colour, site gradient.
   CookieYes sets the circle to #0056A7 inline; the theme's global <button> rule
   painted the inner button purple, giving a two-tone badge. */
.cky-btn-revisit-wrapper {
	background: linear-gradient(135deg, #8860d0 0%, #667eea 100%) !important;
	box-shadow: 0 6px 16px rgba(109, 79, 194, 0.35);
}
.cky-btn-revisit-wrapper .cky-btn-revisit {
	background: transparent !important;
	box-shadow: none !important;
	border: 0 !important;
	outline: none;
}
.cky-btn-revisit-wrapper .cky-btn-revisit:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
	border-radius: 50%;
}
