/* Site footer, chosen 2026-11-09 (V1.90 #01, the ALEX_SITE_3 prototype session):
   cream, three columns, blue-red-gold stripes along the top.
   Used by every page: the redesigned pages (scripts/redesign/build_pages.py, FOOTER)
   and the EmDash pages (src/layouts/Base.astro). Everything is scoped under #ftv. */
#ftv {
	--ftv-blue: #2f63c7; --ftv-red: #dd1a2e; --ftv-gold: #ffd51e; --ftv-ink: #191919; --ftv-cream: #fffde5;
	--ftv-head: var(--font-display, "Poppins"), "Poppins", system-ui, sans-serif;
	--ftv-body: var(--font-sans, "Roboto Slab"), "Roboto Slab", Georgia, serif;
	font-family: var(--ftv-body); color: var(--ftv-ink); background: var(--ftv-cream);
	text-align: left; margin-top: 64px; clear: both;
}
#ftv * { box-sizing: border-box; margin: 0; padding: 0; }
#ftv a { color: inherit; }
#ftv::before { content: ""; display: block; height: 18px; background: linear-gradient(var(--ftv-blue) 0 6px, var(--ftv-red) 6px 12px, var(--ftv-gold) 12px 18px); }
#ftv .in { max-width: 1440px; margin: 0 auto; padding: 50px 44px 30px; font-size: 16px; line-height: 1.5; }
#ftv .cols { display: grid; grid-template-columns: 1.15fr 0.85fr 1.3fr; }
#ftv .cols > div { padding: 0 48px; border-left: 1.5px solid var(--ftv-ink); }
#ftv .cols > div:first-child { padding-left: 0; border-left: 0; }
#ftv .cols > div:last-child { padding-right: 0; }
#ftv .logo { font-family: var(--ftv-head); font-weight: 800; font-size: 30px; letter-spacing: -0.02em; line-height: 1.2; color: var(--ftv-red); text-decoration: none; white-space: nowrap; display: inline-block; }
#ftv h3 { font-family: var(--ftv-head); font-weight: 800; font-size: 21px; line-height: 1.2; color: var(--ftv-blue); margin-bottom: 6px; }
#ftv .bio { margin: 10px 0 8px; }
#ftv .lk { font-family: var(--ftv-head); font-weight: 600; font-size: 13px; }
#ftv .lk a { text-decoration: none; }
#ftv .lk a:hover { color: var(--ftv-red); }
#ftv .soc { display: flex; flex-direction: column; gap: 6px; margin-top: 10px; list-style: none; }
#ftv .soc a { display: inline-flex; align-items: center; gap: 10px; font: 600 16px/1.3 var(--ftv-head); padding: 3px 0; text-decoration: none; transition: color 0.15s; }
#ftv .soc a:hover, #ftv .soc a:focus-visible { color: var(--ftv-red); }
#ftv .soc svg { width: 20px; height: 20px; fill: var(--ftv-blue); flex: none; }
#ftv form { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; max-width: none; }
#ftv form input { font: 15px var(--ftv-body); padding: 11px 12px; border: 1.5px solid var(--ftv-ink) !important; background: var(--ftv-cream) !important; color: var(--ftv-ink); border-radius: 0; box-shadow: none; min-width: 0; width: 100%; }
#ftv form .em { grid-column: 1 / -1; }
#ftv form .btn { grid-column: 1 / -1; display: block; width: 100%; margin: 0; font: 700 14px var(--ftv-head); letter-spacing: 0.08em; text-transform: uppercase; background: var(--ftv-gold) !important; color: var(--ftv-ink) !important; border: 0; border-radius: 0; padding: 13px 22px; cursor: pointer; }
#ftv form .btn:hover { background: var(--ftv-ink) !important; color: var(--ftv-gold) !important; }
#ftv .bar { border-top: 1.5px solid var(--ftv-ink); margin-top: 40px; padding-top: 16px; background: none; }
#ftv .cp { font-family: var(--ftv-head); font-weight: 500; font-size: 13px; opacity: 0.8; }
@media (max-width: 900px) {
	#ftv .in { padding: 40px 22px 26px; }
	#ftv .cols { grid-template-columns: 1fr; }
	#ftv .cols > div { padding: 24px 0; border-left: 0; border-top: 1.5px solid var(--ftv-ink); }
	#ftv .cols > div:first-child { border-top: 0; padding-top: 0; }
	#ftv .soc { flex-direction: row; flex-wrap: wrap; gap: 6px 20px; }
}

/* Site search (2026-11-09): a box in the footer's first column, and an icon in the top menu. */
#ftv form.fsr { display: flex; grid-template-columns: none; gap: 0; margin-top: 18px; max-width: 340px; }
#ftv form.fsr input { flex: 1; border-right: 0 !important; background: #fff !important; }
#ftv form.fsr button { display: flex; align-items: center; justify-content: center; width: 46px; border: 1.5px solid var(--ftv-ink); background: var(--ftv-ink); color: var(--ftv-cream); cursor: pointer; }
#ftv form.fsr button:hover { background: var(--ftv-red); border-color: var(--ftv-red); }
/* EXPLORE: plain menu item with the magnifier in front (Alexandra Samuel, 2026-11-11). */
header.top .links a.srch { display: inline-flex; align-items: center; gap: 6px; color: var(--ink, #191919); margin-left: 24px; }
header.top .links a.srch.on { color: var(--red, #dd1a2e); }
header.top .links a.srch:hover { color: var(--red, #dd1a2e); }
@media (max-width: 800px) { header.top .links a.srch { margin: 0 6px; } }
