/*
Theme Name:   WorkweekMath Child
Theme URI:    https://workweekmath.com/
Description:  Fast, calculator-first GeneratePress child theme for WorkweekMath.com. Layout, styling, template hooks, ad slots and front-end performance only — CPTs, calculators and schema live in the workweekmath-core plugin.
Author:       WorkweekMath
Author URI:   https://workweekmath.com/
Template:     generatepress
Version:      1.0.1
Requires at least: 6.5
Requires PHP: 8.1
License:      GNU General Public License v2 or later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  workweekmath-child
*/

/* =========================================================
   1. Design tokens
   ========================================================= */
:root {
	--wwm-navy: #1e3a5f;
	--wwm-navy-700: #152b47;
	--wwm-teal: #0ea5a4;
	--wwm-teal-700: #0f766e;
	--wwm-success: #15803d;
	--wwm-success-bg: #ecfdf3;
	--wwm-warning: #92400e;
	--wwm-warning-bg: #fef3c7;
	--wwm-gray-50: #f8fafc;
	--wwm-gray-100: #f1f5f9;
	--wwm-gray-200: #e2e8f0;
	--wwm-gray-300: #cbd5e1;
	--wwm-gray-500: #64748b;
	--wwm-gray-600: #475569;
	--wwm-gray-900: #0f172a;

	/* Semantic tokens (these are what components use) */
	--wwm-bg: var(--wwm-gray-50);
	--wwm-surface: #fff;
	--wwm-surface-2: var(--wwm-gray-100);
	--wwm-border: var(--wwm-gray-200);
	--wwm-border-strong: var(--wwm-gray-300);
	--wwm-text: var(--wwm-gray-900);
	--wwm-text-muted: var(--wwm-gray-600);
	--wwm-heading: var(--wwm-navy);
	--wwm-primary: var(--wwm-navy);
	--wwm-primary-hover: var(--wwm-navy-700);
	--wwm-on-primary: #fff;
	--wwm-accent: var(--wwm-teal);
	--wwm-link: var(--wwm-teal-700);
	--wwm-link-hover: var(--wwm-navy);
	--wwm-accent-bg: #f0fdfa;
	--wwm-focus: var(--wwm-teal-700);

	--wwm-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
	--wwm-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;

	--wwm-space-1: 4px;
	--wwm-space-2: 8px;
	--wwm-space-3: 12px;
	--wwm-space-4: 16px;
	--wwm-space-5: 24px;
	--wwm-space-6: 32px;
	--wwm-space-7: 48px;

	--wwm-radius-sm: 6px;
	--wwm-radius: 10px;
	--wwm-radius-lg: 16px;
	--wwm-shadow-sm: 0 1px 2px rgb(15 23 42 / .06);
	--wwm-shadow: 0 1px 3px rgb(15 23 42 / .08), 0 4px 12px rgb(15 23 42 / .05);

	--wwm-touch: 44px;
	--wwm-header-h: 60px;
	--wwm-w-narrow: 760px;
	--wwm-w-wide: 1100px;

	/* Map GeneratePress global colours onto our tokens so GP-coloured
	   elements (header, nav, buttons, footer) follow light/dark mode. */
	--contrast: var(--wwm-text);
	--contrast-2: var(--wwm-text-muted);
	--contrast-3: var(--wwm-border-strong);
	--base: var(--wwm-surface-2);
	--base-2: var(--wwm-bg);
	--base-3: var(--wwm-surface);
	--accent: var(--wwm-link);

	color-scheme: light dark;
}

@media (prefers-color-scheme: dark) {
	:root {
		--wwm-bg: #0b1220;
		--wwm-surface: #111a2c;
		--wwm-surface-2: #1e293b;
		--wwm-border: #26344a;
		--wwm-border-strong: #3a4a63;
		--wwm-text: #e2e8f0;
		--wwm-text-muted: #a3b1c6;
		--wwm-heading: #f1f5f9;
		--wwm-primary: #2dd4bf;
		--wwm-primary-hover: #5eead4;
		--wwm-on-primary: #042f2e;
		--wwm-link: #5eead4;
		--wwm-link-hover: #99f6e4;
		--wwm-accent-bg: #0f2a2c;
		--wwm-focus: #5eead4;
		--wwm-success: #4ade80;
		--wwm-success-bg: #0f2a1c;
		--wwm-warning: #fbbf24;
		--wwm-warning-bg: #2d220b;
		--wwm-shadow-sm: none;
		--wwm-shadow: 0 0 0 1px var(--wwm-border);
	}
}

/* =========================================================
   2. Base
   ========================================================= */
body {
	background: var(--wwm-bg);
	color: var(--wwm-text);
	font-family: var(--wwm-font);
	font-size: 17px;
	line-height: 1.6;
	-webkit-text-size-adjust: 100%;
	text-rendering: optimizeLegibility;
}
@media (min-width: 769px) { body { font-size: 18px; } }

body, button, input, select, textarea { font-family: var(--wwm-font); }

h1, h2, h3, h4, h5, h6, .entry-title, .entry-title a { color: var(--wwm-heading); line-height: 1.25; letter-spacing: -.01em; }
h1, .entry-title { font-size: clamp(1.75rem, 4.2vw, 2.4rem); font-weight: 700; }
.entry-title, .page-title { margin: 0 0 .35em; }
h2 { font-size: clamp(1.35rem, 3vw, 1.7rem); font-weight: 700; margin-top: 1.6em; }
h3 { font-size: 1.2rem; font-weight: 650; }

a { color: var(--wwm-link); text-underline-offset: .15em; text-decoration-thickness: 1px; }
a:hover, a:focus { color: var(--wwm-link-hover); }

:focus-visible { outline: 3px solid var(--wwm-focus); outline-offset: 2px; border-radius: 2px; }
:focus:not(:focus-visible) { outline: none; }

/* Numbers */
.wwm-result, .wwm-table, table, input[type="time"], input[type="number"], .wwm-tabular { font-variant-numeric: tabular-nums; }

/* Skip link (GeneratePress outputs .skip-link; we only style it) */
.skip-link:focus, .screen-reader-text:focus {
	background: var(--wwm-surface); color: var(--wwm-primary); clip: auto; clip-path: none;
	height: auto; width: auto; left: 8px; top: 8px; padding: 12px 18px; z-index: 100000;
	box-shadow: var(--wwm-shadow); border-radius: var(--wwm-radius-sm); font-weight: 600;
}

/* =========================================================
   3. Forms & components (public API for workweekmath-core)
   ========================================================= */
input[type="text"], input[type="email"], input[type="url"], input[type="search"], input[type="number"],
input[type="time"], input[type="date"], input[type="tel"], select, textarea, .wwm-input {
	min-height: var(--wwm-touch);
	padding: 8px 12px;
	background: var(--wwm-surface);
	color: var(--wwm-text);
	border: 1px solid var(--wwm-border-strong);
	border-radius: var(--wwm-radius-sm);
	font-size: 1rem; /* ≥16px prevents iOS zoom */
	line-height: 1.4;
	max-width: 100%;
}
input:focus-visible, select:focus-visible, textarea:focus-visible, .wwm-input:focus-visible {
	border-color: var(--wwm-focus); outline: 3px solid color-mix(in srgb, var(--wwm-focus) 35%, transparent); outline-offset: 0;
}
label { font-weight: 600; font-size: .95em; }

button, .button, input[type="submit"], input[type="button"], .wwm-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: var(--wwm-touch); padding: 10px 20px;
	background: var(--wwm-surface); color: var(--wwm-primary);
	border: 1px solid var(--wwm-border-strong); border-radius: var(--wwm-radius-sm);
	font-size: 1rem; font-weight: 600; line-height: 1.2; text-decoration: none; cursor: pointer;
}
button:hover, .button:hover, .wwm-btn:hover { background: var(--wwm-surface-2); color: var(--wwm-primary); }
.wwm-btn--primary, input[type="submit"], button[type="submit"] { background: var(--wwm-primary); border-color: var(--wwm-primary); color: var(--wwm-on-primary); }
.wwm-btn--primary:hover, input[type="submit"]:hover, button[type="submit"]:hover { background: var(--wwm-primary-hover); border-color: var(--wwm-primary-hover); color: var(--wwm-on-primary); }

.wwm-card { background: var(--wwm-surface); border: 1px solid var(--wwm-border); border-radius: var(--wwm-radius); box-shadow: var(--wwm-shadow-sm); padding: var(--wwm-space-5); }
.wwm-result {
	background: var(--wwm-accent-bg); border: 1px solid color-mix(in srgb, var(--wwm-accent) 40%, transparent);
	border-left: 4px solid var(--wwm-accent); border-radius: var(--wwm-radius); padding: var(--wwm-space-4) var(--wwm-space-5);
}
.wwm-result strong, .wwm-result__value { font-size: 1.6em; font-weight: 700; color: var(--wwm-heading); line-height: 1.2; }
.wwm-badge {
	display: inline-flex; align-items: center; padding: 2px 10px; border-radius: 999px;
	background: var(--wwm-surface-2); color: var(--wwm-text); border: 1px solid var(--wwm-border);
	font-size: .8rem; font-weight: 600; line-height: 1.6; white-space: nowrap;
}
.wwm-badge--excel { color: var(--wwm-success); background: var(--wwm-success-bg); }
.wwm-badge--google-sheets { color: var(--wwm-link); background: var(--wwm-accent-bg); }
.wwm-badge--pdf { color: var(--wwm-warning); background: var(--wwm-warning-bg); }
.wwm-note {
	background: var(--wwm-surface-2); border-radius: var(--wwm-radius-sm); padding: var(--wwm-space-3) var(--wwm-space-4);
	font-size: .92em; color: var(--wwm-text-muted);
}
.wwm-note--warning { background: var(--wwm-warning-bg); color: var(--wwm-warning); }

table, .wwm-table { width: 100%; border-collapse: collapse; border: 1px solid var(--wwm-border); font-size: .95em; }
th, td, .wwm-table th, .wwm-table td { padding: 10px 12px; border: 0; border-bottom: 1px solid var(--wwm-border); text-align: left; vertical-align: top; }
th, .wwm-table th { background: var(--wwm-surface-2); color: var(--wwm-heading); font-weight: 650; }
.wwm-table td.num, .wwm-table th.num { text-align: right; }
.wwm-table-wrap, .wp-block-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* =========================================================
   4. Header, navigation, search
   ========================================================= */
.site-header { border-bottom: 1px solid var(--wwm-border); }
.site-header .inside-header { padding-top: 10px; padding-bottom: 10px; gap: var(--wwm-space-3); }
.main-title { font-size: 1.25rem; font-weight: 750; letter-spacing: -.02em; }
.main-title a, .main-title a:hover { color: var(--wwm-primary); text-decoration: none; }
.site-logo img, .header-image { max-height: 40px; width: auto; }

.main-navigation .main-nav ul li a, .menu-toggle { min-height: var(--wwm-touch); }
.main-navigation .main-nav ul li a { font-weight: 550; }
.main-navigation .main-nav ul ul { box-shadow: var(--wwm-shadow); border-radius: 0 0 var(--wwm-radius-sm) var(--wwm-radius-sm); }

.wwm-search { position: relative; margin-left: auto; }
.wwm-search > summary {
	list-style: none; display: flex; align-items: center; justify-content: center;
	width: var(--wwm-touch); height: var(--wwm-touch); border-radius: var(--wwm-radius-sm); cursor: pointer; color: var(--wwm-primary);
}
.wwm-search > summary::-webkit-details-marker { display: none; }
.wwm-search > summary:hover { background: var(--wwm-surface-2); }
.wwm-search svg { width: 22px; height: 22px; }
.wwm-search__form {
	position: absolute; right: 0; top: calc(100% + 8px); z-index: 200; width: min(92vw, 380px);
	display: flex; gap: 8px; padding: var(--wwm-space-3); background: var(--wwm-surface);
	border: 1px solid var(--wwm-border); border-radius: var(--wwm-radius); box-shadow: var(--wwm-shadow);
}
.wwm-search__form input[type="search"] { flex: 1; min-width: 0; }
.wwm-search + .mobile-menu-control-wrapper { margin-left: 0; }

@media (min-width: 769px) {
	.wwm-search { order: 10; margin-left: 0; }
}
@media (max-width: 768px) {
	.site-header { position: sticky; top: 0; z-index: 100; }
	.site-header .inside-header { padding-left: 16px; padding-right: 16px; min-height: var(--wwm-header-h); flex-wrap: wrap; }
	.has-inline-mobile-toggle .inside-header { flex-direction: row; text-align: left; }
	.main-navigation.toggled .main-nav > ul { max-height: calc(100vh - var(--wwm-header-h)); overflow-y: auto; }
	.main-navigation .main-nav ul li a { padding-top: 10px; padding-bottom: 10px; }
}
@media (min-width: 601px) and (max-width: 782px) { .admin-bar .site-header { top: 46px; } }

/* =========================================================
   5. Content area & layout
   ========================================================= */
@media (max-width: 768px) {
	.one-container .site-content, .separate-containers .inside-article, .separate-containers .page-header,
	.separate-containers .comments-area, .separate-containers .paging-navigation, .inside-page-header { padding: 20px 16px; }
	.separate-containers .site-main { margin: 12px 0; }
}
.entry-content:not(:first-child) { margin-top: 1.4em; }
.entry-content > * + h2 { margin-top: 1.8em; }
.entry-content img, .entry-content iframe { max-width: 100%; height: auto; }

/* Widths */
.wwm-layout-narrow .site-content .content-area { max-width: var(--wwm-w-narrow); margin-inline: auto; }
.wwm-layout-wide .site-content .content-area { max-width: var(--wwm-w-wide); margin-inline: auto; }
.wwm-layout-readable.no-sidebar .site-content .content-area { max-width: 800px; margin-inline: auto; }

/* Desktop-only sidebar (state + guides): stacked/hidden below 1024px */
@media (max-width: 1023px) {
	.wwm-desktop-sidebar .site-content { flex-direction: column; }
	.wwm-desktop-sidebar .site-content .content-area, .wwm-desktop-sidebar .is-right-sidebar { width: 100%; }
	.wwm-desktop-sidebar.one-container .site-main, .wwm-desktop-sidebar.separate-containers .site-main { margin-right: 0; margin-left: 0; }
	.single-state .is-right-sidebar { display: none; }
}
@media (min-width: 1024px) {
	.wwm-desktop-sidebar .is-right-sidebar .inside-right-sidebar { height: 100%; }
}
.wwm-sticky-stack, .wwm-ad--sidebar_sticky { position: sticky; top: var(--wwm-space-5); }
.admin-bar .wwm-sticky-stack, .admin-bar .wwm-ad--sidebar_sticky { top: calc(32px + var(--wwm-space-5)); }

/* Tool pages: calculator above the fold */
.wwm-type-tool .entry-title { font-size: clamp(1.5rem, 5.5vw, 2.1rem); margin-bottom: 4px; }
.wwm-type-tool .entry-content:not(:first-child) { margin-top: var(--wwm-space-4); }
.wwm-tool-intro { margin: 0; color: var(--wwm-text-muted); font-size: 1rem; line-height: 1.45; }
.wwm-updated-line { display: block; margin-top: 4px; font-size: .82rem; color: var(--wwm-text-muted); }

/* Breadcrumbs */
.wwm-breadcrumbs { font-size: .85rem; color: var(--wwm-text-muted); margin: 0 0 var(--wwm-space-3); }
.wwm-breadcrumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 2px 6px; }
.wwm-breadcrumbs li { margin: 0; display: inline-flex; align-items: center; gap: 6px; max-width: 100%; }
.wwm-breadcrumbs li + li::before { content: "›"; color: var(--wwm-gray-500); }
.wwm-breadcrumbs a { color: var(--wwm-text-muted); text-decoration: none; padding: 2px 0; }
.wwm-breadcrumbs a:hover { color: var(--wwm-link); text-decoration: underline; }
.wwm-breadcrumbs [aria-current] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wwm-breadcrumbs p, .wwm-breadcrumbs nav { margin: 0; }
@media (max-width: 768px) { .wwm-breadcrumbs li[aria-current] { display: none; } }

/* Trust boxes */
.wwm-trust { display: grid; gap: var(--wwm-space-2); margin: var(--wwm-space-4) 0; padding: var(--wwm-space-4); background: var(--wwm-surface-2); border: 1px solid var(--wwm-border); border-radius: var(--wwm-radius); font-size: .92rem; }
.wwm-trust p { margin: 0; }
.wwm-trust__updated { font-weight: 600; color: var(--wwm-heading); display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.wwm-trust__updated svg { width: 18px; height: 18px; color: var(--wwm-success); flex: none; }
.wwm-trust__sources summary { cursor: pointer; font-weight: 600; min-height: 32px; display: flex; align-items: center; }
.wwm-trust__sources ul { margin: 6px 0 0 1.2em; padding: 0; }
.wwm-trust__sources li { margin: 2px 0; }
.wwm-disclaimer, .wwm-disclosure { margin: var(--wwm-space-5) 0; padding: var(--wwm-space-3) var(--wwm-space-4); border-radius: var(--wwm-radius-sm); font-size: .88rem; line-height: 1.5; }
.wwm-disclaimer { background: var(--wwm-warning-bg); color: var(--wwm-text); border-left: 4px solid var(--wwm-warning); }
.wwm-disclosure { background: var(--wwm-surface-2); color: var(--wwm-text-muted); border: 1px solid var(--wwm-border); margin-top: var(--wwm-space-3); }
.wwm-disclaimer p, .wwm-disclosure p { margin: 0; }

/* Download header */
.wwm-type-download .entry-header { background: var(--wwm-surface); border: 1px solid var(--wwm-border); border-radius: var(--wwm-radius-lg); padding: var(--wwm-space-5); box-shadow: var(--wwm-shadow); }
.wwm-formats { display: flex; flex-wrap: wrap; gap: 8px; margin: var(--wwm-space-3) 0 0; padding: 0; list-style: none; }
.wwm-formats li { margin: 0; }

/* Related tools */
.wwm-related { margin-top: var(--wwm-space-6); }
.wwm-related__title { font-size: 1.15rem; margin: 0 0 var(--wwm-space-3); }
.wwm-related__list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--wwm-space-2); grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.wwm-related__list li { margin: 0; }
.wwm-related__list a {
	display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: var(--wwm-touch); padding: 10px 14px;
	background: var(--wwm-surface); border: 1px solid var(--wwm-border); border-radius: var(--wwm-radius-sm); font-weight: 600; text-decoration: none; color: var(--wwm-heading);
}
.wwm-related__list a::after { content: "→"; color: var(--wwm-accent); }
.wwm-related__list a:hover { border-color: var(--wwm-accent); }

/* State sidebar */
.wwm-state-tools .wwm-related__list { grid-template-columns: 1fr; }
.wwm-state-tools .widget { margin: 0 0 var(--wwm-space-3); padding: 0; background: none; }
.wwm-state-tools__title { font-size: 1rem; margin: 0 0 var(--wwm-space-3); }
.wwm-state-tools .widget-title, .wwm-state-tools .widget h2, .wwm-state-tools .widget h3 { font-size: .95rem; margin: 0 0 8px; }

/* Author box */
.wwm-author { display: flex; gap: var(--wwm-space-4); align-items: flex-start; margin-top: var(--wwm-space-6); }
.wwm-author img { border-radius: 50%; flex: none; }
.wwm-author__name { margin: 0 0 4px; font-size: 1.05rem; }
.wwm-author__bio { margin: 0; font-size: .92rem; color: var(--wwm-text-muted); }

/* =========================================================
   6. Front page
   ========================================================= */
.wwm-front.page .entry-header { text-align: center; }
.wwm-front.page .entry-title { font-size: clamp(1.7rem, 5vw, 2.6rem); }
.wwm-setup { margin: 0 0 var(--wwm-space-5); color: var(--wwm-text); }
.wwm-setup p { margin: 0 0 6px; }
.wwm-setup ol { margin: 0 0 0 1.2em; }
.wwm-setup a { color: inherit; }
.wwm-hero__tool { max-width: var(--wwm-w-narrow); margin-inline: auto; }
.wwm-hero__placeholder { border: 2px dashed var(--wwm-border-strong); border-radius: var(--wwm-radius); padding: var(--wwm-space-6); text-align: center; color: var(--wwm-text-muted); }
.wwm-hubs { margin: var(--wwm-space-7) auto 0; }
.blog.wwm-front .wwm-hubs { margin: 0 0 var(--wwm-space-5); }
.wwm-hubs__title { text-align: center; margin: 0 0 var(--wwm-space-5); }
.wwm-hubs__grid { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--wwm-space-4); grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.wwm-hub { position: relative; margin: 0; border-top: 4px solid var(--wwm-accent); transition: box-shadow .15s, transform .15s; }
.wwm-hub:hover { box-shadow: var(--wwm-shadow); transform: translateY(-2px); }
.wwm-hub__title { font-size: 1.15rem; margin: 0 0 6px; }
.wwm-hub__title a { color: var(--wwm-heading); text-decoration: none; }
.wwm-hub__title a::after { content: ""; position: absolute; inset: 0; }
.wwm-hub__desc { margin: 0 0 10px; color: var(--wwm-text-muted); font-size: .92rem; }
.wwm-hub__links { position: relative; z-index: 1; list-style: none; margin: 0; padding: 0; font-size: .9rem; }
.wwm-hub__links a { display: inline-block; padding: 4px 0; }

/* =========================================================
   7. Archives (card grid)
   ========================================================= */
.wwm-archive-grid .site-main { display: grid; gap: var(--wwm-space-4); grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); align-items: stretch; }
.wwm-archive-grid .site-main > :not(article) { grid-column: 1 / -1; }
.wwm-archive-grid .site-main > article { margin: 0; }
.wwm-archive-grid article .inside-article {
	position: relative; height: 100%; padding: var(--wwm-space-5); background: var(--wwm-surface);
	border: 1px solid var(--wwm-border); border-radius: var(--wwm-radius); box-shadow: var(--wwm-shadow-sm);
}
.wwm-archive-grid article .inside-article:hover { border-color: var(--wwm-accent); }
.wwm-archive-grid .entry-title { font-size: 1.1rem; }
.wwm-archive-grid .entry-title a { text-decoration: none; }
.wwm-archive-grid .entry-title a::after { content: ""; position: absolute; inset: 0; }
.wwm-archive-grid .entry-summary { margin-top: 8px; font-size: .92rem; color: var(--wwm-text-muted); }
.wwm-archive-grid .entry-summary p { margin: 0; }
.wwm-archive-grid .post-image { margin: calc(-1 * var(--wwm-space-5)) calc(-1 * var(--wwm-space-5)) var(--wwm-space-4); }
.wwm-archive-grid .post-image img { border-radius: var(--wwm-radius) var(--wwm-radius) 0 0; aspect-ratio: 16 / 9; object-fit: cover; width: 100%; }
.wwm-archive-grid .read-more-container, .wwm-archive-grid .entry-meta { display: none; }

/* =========================================================
   8. Ad slots (space is reserved → zero CLS)
   ========================================================= */
.wwm-ad { margin: var(--wwm-space-5) auto; text-align: center; clear: both; }
.wwm-ad__label { display: block; font-size: .7rem; line-height: 16px; letter-spacing: .06em; text-transform: uppercase; color: var(--wwm-text-muted); }
.wwm-ad__inner { min-height: var(--wwm-ad-min-m, 280px); display: flex; align-items: center; justify-content: center; overflow: hidden; }
@media (min-width: 769px) { .wwm-ad__inner { min-height: var(--wwm-ad-min-d, 280px); } }
@media (max-width: 1023px) { .wwm-ad--sidebar_sticky { display: none; } }
.wwm-ad--before_footer { max-width: 1200px; padding: 0 16px; }

/* =========================================================
   9. Footer
   ========================================================= */
.wwm-footer { border-top: 1px solid var(--wwm-border); background: var(--wwm-surface); font-size: .92rem; }
.wwm-footer__inner { display: grid; gap: var(--wwm-space-5); grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); padding: var(--wwm-space-6) 16px; }
@media (min-width: 769px) { .wwm-footer__inner { padding-inline: 40px; } }
.wwm-footer__about { grid-column: 1 / -1; max-width: 640px; color: var(--wwm-text-muted); }
.wwm-footer__about p { margin: 0; }
.wwm-footer__heading { font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; margin: 0 0 8px; color: var(--wwm-heading); }
.wwm-footer__col ul { list-style: none; margin: 0; padding: 0; }
.wwm-footer__col li { margin: 0; }
.wwm-footer__col a { display: inline-flex; align-items: center; min-height: 36px; color: var(--wwm-text); text-decoration: none; }
.wwm-footer__col a:hover { color: var(--wwm-link); text-decoration: underline; }
.site-info { font-size: .85rem; color: var(--wwm-text-muted); }
.site-info a { color: inherit; }
.wwm-footer-disclaimer { display: block; margin-top: 4px; }
.wwm-print-footer { display: none; }

/* =========================================================
   10. Motion & utilities
   ========================================================= */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
	.wwm-hub:hover { transform: none; }
}
.wwm-sr-only { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.wwm-archive-grid .read-more { display: none; }
