/* =====================================================================
 * TaxOwl theme.css — site-wide chrome stylesheet
 * ---------------------------------------------------------------------
 * This file owns:
 *   - Canonical 5-column footer grid + responsive breakpoints
 *   - Footer typography (links, headings, lists, contact block)
 *   - Footer bottom-bar (legal/copyright)
 *   - Skip-link & focus-visible outline rules (defensive — also in
 *     header.php inline <style> for early paint)
 *
 * Tokens from functions.php:taxowl-theme-tokens are required for the
 * rules below to resolve; the parent theme stylesheet is enqueued at
 * priority 10 and this file at priority 20 so cascade order is correct.
 *
 * Once all pages migrate from elementor_canvas → standard template,
 * the mu-plugin `taxowl-pro-footer-fix.php` can be retired (its rules
 * are duplicated here, sans !important).
 * ===================================================================== */

/* === Footer grid =================================================== */
.txp-footer{
	background:#fff;
	border-top:1px solid var(--border-hairline);
	padding:64px 24px 0;
	color:var(--text-primary);
}
.txp-footer-grid{
	display:grid;
	grid-template-columns:2fr 1fr 1fr 1fr 1fr;
	gap:48px;
	max-width:1100px;
	margin:0 auto 40px;
}
.txp-footer-brand p{
	color:var(--text-secondary);
	font-size:0.95rem;
	line-height:1.55;
	margin:14px 0 18px;
	max-width:300px;
}
.txp-footer-contact{
	font-size:0.88rem;
	color:var(--text-tertiary);
	line-height:1.6;
}
.txp-footer-contact a{
	color:var(--text-secondary);
	text-decoration:none;
}
.txp-footer-contact a:hover{ color:var(--primary-hover); }

.txp-footer-col h4{
	font-size:0.8rem;
	text-transform:uppercase;
	letter-spacing:0.1em;
	color:var(--text-tertiary);
	margin:0 0 16px;
	font-weight:600;
}
.txp-footer-col ul{
	list-style:none;
	padding-left:0;
	margin:0;
}
.txp-footer-col li{
	margin-bottom:10px;
	list-style:none;
}
.txp-footer-col a{
	color:var(--text-secondary);
	text-decoration:none;
	font-size:0.9rem;
}
.txp-footer-col a:hover{ color:var(--primary-hover); }

.txp-footer-bottom{
	border-top:1px solid var(--border-hairline);
	padding:24px 0;
	font-size:0.82rem;
	color:var(--text-tertiary);
	text-align:center;
	max-width:1100px;
	margin:0 auto;
}

/* Responsive footer ================================================ */
@media (max-width:1100px){
	.txp-footer-grid{
		grid-template-columns:1fr 1fr 1fr;
		gap:36px;
	}
	.txp-footer-brand{ grid-column:1 / -1; max-width:600px; }
}
@media (max-width:760px){
	.txp-footer-grid{
		grid-template-columns:1fr 1fr;
		gap:28px;
	}
}
@media (max-width:520px){
	.txp-footer-grid{
		grid-template-columns:1fr;
		gap:24px;
	}
	.txp-footer-brand{ max-width:none; }
}

/* === Skip-link (defensive copy — header.php has inline early-paint) === */
.txp-skip-link{
	position:absolute;left:0;top:-44px;background:var(--ink);color:#fff;
	padding:10px 18px;z-index:100000;text-decoration:none;font-weight:700;
	font-size:0.92rem;border-radius:0 0 6px 0;transition:top 0.15s ease;
}
.txp-skip-link:focus,.txp-skip-link:focus-visible{ top:0; outline:none; }

/* === Focus-visible system (WCAG 2.4.7) ============================ */
:focus-visible{ outline:2px solid var(--primary-hover); outline-offset:2px; border-radius:2px; }
button:focus-visible,
.btn-primary:focus-visible,
.btn-secondary:focus-visible,
.btn-ghost:focus-visible{
	outline:2px solid var(--primary-hover); outline-offset:3px;
}
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
	outline:2px solid var(--primary-hover); outline-offset:0;
}
main:focus,main:focus-visible{ outline:none; }

/* === Screen-reader-only utility =================================== */
.screen-reader-text{
	border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);
	height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;
	width:1px;word-wrap:normal !important;
}
