/* ==========================================================================
   Footer Template Part — Story 1.4
   Royal Emerald design system
   ========================================================================== */

/* --------------------------------------------------------------------------
   Footer container — emerald background (AC-1)
   -------------------------------------------------------------------------- */
footer.wp-block-group.alignfull {
	background-color: var(--wp--preset--color--emerald, #1a3a2a) !important;
	padding-top: var(--wp--preset--spacing--xl, 3rem);
	padding-bottom: var(--wp--preset--spacing--large, 2rem);
	padding-left: var(--wp--preset--spacing--xl, 3rem);
	padding-right: var(--wp--preset--spacing--xl, 3rem);
}

/* --------------------------------------------------------------------------
   Footer text and headings — white for WCAG AA contrast (AC-2)
   NOTE: Ivory #f5f0e8 on emerald = ~2.7:1 FAILS. Use #ffffff.
   -------------------------------------------------------------------------- */
footer .wp-block-site-title a,
footer .wp-block-site-title,
footer h4,
footer p,
footer li,
footer span {
	color: #ffffff !important;
}

footer .wp-block-site-title a {
	font-family: var(--wp--preset--font-family--playfair-display, 'Playfair Display', serif);
	text-decoration: none;
	transition: color 0.2s ease;
}

footer .wp-block-site-title a:hover,
footer .wp-block-site-title a:focus-visible {
	color: var(--wp--preset--color--gold, #8a7040) !important;
}

/* --------------------------------------------------------------------------
   Footer headings — Playfair Display (AC-5)
   -------------------------------------------------------------------------- */
footer h4 {
	font-family: var(--wp--preset--font-family--playfair-display, 'Playfair Display', serif);
	font-size: var(--wp--preset--font-size--medium, 1rem);
	margin-bottom: var(--wp--preset--spacing--medium, 1rem);
	font-weight: 600;
	letter-spacing: 0.025em;
}

/* --------------------------------------------------------------------------
   Footer body text — Inter (AC-5)
   -------------------------------------------------------------------------- */
footer p,
footer li,
footer .wp-block-navigation-item__content,
footer .wp-block-navigation-link__content {
	font-family: var(--wp--preset--font-family--inter, 'Inter', sans-serif);
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	line-height: 1.6;
}

/* --------------------------------------------------------------------------
   Footer links — white with underline on hover (AC-9)
   -------------------------------------------------------------------------- */
footer a {
	color: #ffffff;
	text-decoration: none;
	transition: color 0.2s ease, text-decoration 0.2s ease;
}

footer a:hover,
footer a:focus-visible {
	text-decoration: underline;
}

/* --------------------------------------------------------------------------
   Footer navigation — vertical stack, white links (AC-3, AC-9)
   -------------------------------------------------------------------------- */
footer .wp-block-navigation {
	margin: 0;
}

footer .wp-block-navigation__container {
	gap: 0.5rem;
}

footer .wp-block-navigation .wp-block-navigation-item__content,
footer .wp-block-navigation .wp-block-navigation-link__content {
	color: #ffffff !important;
	font-family: var(--wp--preset--font-family--inter, 'Inter', sans-serif);
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	font-weight: 400;
	letter-spacing: 0.01em;
	padding: 0.25rem 0;
	transition: color 0.2s ease;
}

footer .wp-block-navigation .wp-block-navigation-item__content:hover,
footer .wp-block-navigation .wp-block-navigation-link__content:hover,
footer .wp-block-navigation .wp-block-navigation-item__content:focus-visible,
footer .wp-block-navigation .wp-block-navigation-link__content:focus-visible {
	color: #ffffff !important;
	text-decoration: underline;
}

/* --------------------------------------------------------------------------
   Social links — gold icons, white hover (AC-8)
   -------------------------------------------------------------------------- */
footer .vt-footer-social {
	margin-top: var(--wp--preset--spacing--medium, 1rem);
	gap: 0.75rem;
}

footer .vt-footer-social .wp-social-link {
	background-color: transparent !important;
	color: var(--wp--preset--color--gold, #8a7040) !important;
	width: 44px;
	height: 44px;
	min-width: 44px;
	min-height: 44px;
	transition: color 0.2s ease, transform 0.15s ease;
}

footer .vt-footer-social .wp-social-link:hover,
footer .vt-footer-social .wp-social-link:focus-visible {
	color: #ffffff !important;
	transform: scale(1.1);
}

footer .vt-footer-social .wp-social-link svg {
	fill: currentColor;
}

/* --------------------------------------------------------------------------
   Focus-visible indicators — gold outline (AC-10)
   -------------------------------------------------------------------------- */
footer a:focus-visible,
footer button:focus-visible,
footer .wp-block-navigation-item__content:focus-visible,
footer .wp-block-navigation-link__content:focus-visible,
footer .wp-social-link:focus-visible {
	outline: 2px solid var(--wp--preset--color--gold, #8a7040) !important;
	outline-offset: 2px;
}

/* --------------------------------------------------------------------------
   Copyright bar — muted white text (AC-11)
   -------------------------------------------------------------------------- */
footer .wp-block-separator {
	background-color: rgba(255, 255, 255, 0.15) !important;
	border: none;
	height: 1px;
	margin-top: var(--wp--preset--spacing--large, 2rem);
	margin-bottom: 0;
}

footer .wp-block-group[style*="padding-top"] p {
	color: rgba(255, 255, 255, 0.7) !important;
	font-size: var(--wp--preset--font-size--small, 0.875rem);
}

footer .wp-block-group[style*="padding-top"] a {
	color: rgba(255, 255, 255, 0.7) !important;
	transition: color 0.2s ease;
}

footer .wp-block-group[style*="padding-top"] a:hover,
footer .wp-block-group[style*="padding-top"] a:focus-visible {
	color: #ffffff !important;
}

/* --------------------------------------------------------------------------
   Column layout — 3 columns on desktop (AC-6)
   -------------------------------------------------------------------------- */
footer .wp-block-columns {
	gap: var(--wp--preset--spacing--large, 2rem);
}

footer .wp-block-column {
	flex: 1;
	min-width: 0;
}

/* --------------------------------------------------------------------------
   Tablet breakpoint — 2 columns (768px–1023px) (AC-6)
   -------------------------------------------------------------------------- */
@media (min-width: 768px) and (max-width: 1023px) {
	footer .wp-block-columns {
		flex-wrap: wrap;
	}

	footer .wp-block-column {
		flex: 0 0 calc(50% - var(--wp--preset--spacing--large, 2rem));
		margin-bottom: var(--wp--preset--spacing--medium, 1rem);
	}

	footer .wp-block-column:last-child {
		flex: 0 0 100%;
	}
}

/* --------------------------------------------------------------------------
   Mobile breakpoint — single column stack (<768px) (AC-6)
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
	footer.wp-block-group.alignfull {
		padding-left: var(--wp--preset--spacing--medium, 1rem) !important;
		padding-right: var(--wp--preset--spacing--medium, 1rem) !important;
		padding-top: var(--wp--preset--spacing--large, 2rem);
		padding-bottom: var(--wp--preset--spacing--medium, 1rem);
	}

	footer .wp-block-columns {
		flex-direction: column;
		gap: var(--wp--preset--spacing--large, 2rem);
	}

	footer .wp-block-column {
		flex: 0 0 100%;
		text-align: center;
	}

	footer .wp-block-site-title,
	footer h4 {
		text-align: center;
	}

	footer .vt-footer-social {
		justify-content: center;
	}

	footer .wp-block-navigation__container {
		align-items: center;
	}

	footer .wp-block-group[style*="padding-top"] {
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: var(--wp--preset--spacing--small, 0.5rem);
	}
}

/* --------------------------------------------------------------------------
   Small screen overflow (<400px)
   -------------------------------------------------------------------------- */
@media (max-width: 400px) {
	footer.wp-block-group.alignfull {
		padding-left: var(--wp--preset--spacing--small, 0.5rem) !important;
		padding-right: var(--wp--preset--spacing--small, 0.5rem) !important;
	}
}

/* --------------------------------------------------------------------------
   Admin bar offset
   -------------------------------------------------------------------------- */
.admin-bar footer.wp-block-group.alignfull {
	/* Footer is not sticky, so no offset needed, but included for consistency */
}

/* --------------------------------------------------------------------------
   Print styles — hide footer (AC-6)
   -------------------------------------------------------------------------- */
@media print {
	footer.wp-block-group.alignfull {
		display: none;
	}
}

/* --------------------------------------------------------------------------
   Reduced motion — respect user preference
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	footer *,
	footer *::before,
	footer *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}
