/*
Theme Name: TAM Child
Template: short-news
Description: Child theme for Trans Advocacy Madison. Applies accessibility, contrast, and motion fixes on top of Short News.
Version: 1.0.0
*/

/* ─────────────────────────────────────────────
   A1 — Restore keyboard focus indicators
   Parent theme strips outline: 0 globally.
   We use :focus-visible so mouse users are
   unaffected while keyboard users get a clear ring.
───────────────────────────────────────────── */

:focus-visible {
	outline: 3px solid var(--blue-ink);
	outline-offset: 2px;
}

/* Explicit overrides for elements the parent zeroed out */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
	outline: 3px solid var(--blue-ink);
	outline-offset: 2px;
}

.site-title a:focus-visible,
.dropdown-toggle:focus-visible,
.menu-toggle:focus-visible,
.search-popup-button:focus-visible {
	outline: 3px solid var(--blue-ink);
	outline-offset: 2px;
}

/* ─────────────────────────────────────────────
   A2 — Fix low-contrast #888 text (3.54:1 → 5.74:1)
   Applies to site tagline, blockquote text,
   pullquote cite, and the light-gray editor color.
───────────────────────────────────────────── */

.site-description {
	color: #636363;
}

blockquote {
	color: #636363;
}

.wp-block-pullquote cite {
	color: #636363;
}

.entry-content .has-light-gray-color {
	color: #636363;
}

/* ─────────────────────────────────────────────
   A7 — Respect prefers-reduced-motion
   Parent theme uses transitions on container,
   links, nav dropdowns, and site-title without
   any reduced-motion accommodation.
───────────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

/* ─────────────────────────────────────────────
   AE5 — Nav hover: replace opacity with color change
   Parent uses opacity: 0.5 which kills contrast
   and is a weak hover signal.
───────────────────────────────────────────── */

.main-navigation > ul > li:hover > a,
.main-navigation > ul > li:focus > a,
.main-navigation ul li.current_page_item > a,
.main-navigation ul li.current-menu-item > a {
	opacity: 1;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ─────────────────────────────────────────────
   M3 — Footer columns: stack on tablet
   Parent 3-column float grid doesn't stack
   until 960px (desktop breakpoint).
───────────────────────────────────────────── */

@media screen and (max-width: 767px) {
	#footer-area-1,
	#footer-area-2,
	#footer-area-3 {
		width: 100%;
		float: none;
		padding: 0;
		margin-bottom: 20px;
	}
}

/* ─────────────────────────────────────────────
   M4 — Mobile touch target minimums
   Nav links and toggle need 44px minimum height
   for comfortable touch.
───────────────────────────────────────────── */

@media screen and (max-width: 959px) {
	.mobile-navigation .mobile-menu a {
		min-height: 44px;
		display: flex;
		align-items: center;
	}

	.menu-toggle {
		min-height: 44px;
		min-width: 44px;
		display: flex;
		align-items: center;
		justify-content: center;
	}
}

/* ─────────────────────────────────────────────
   C1 — TAM cleanup round 1 (nav/footer clarity)
───────────────────────────────────────────── */

/* Keep one cleaner footer action area; hide legacy image column */
#footer-area-3 {
	display: none;
}

/* Balance remaining footer columns on desktop */
@media screen and (min-width: 768px) {
	#footer-area-1,
	#footer-area-2 {
		width: 50%;
	}
}

/* Explicit quick links section in footer */
.tam-footer-links {
	text-align: center;
	margin: 0.75rem 0 1rem;
}

.tam-footer-links a {
	display: inline-block;
	margin: 0.15rem 0.4rem;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Reduce noisy share block duplication on static pages */
.page .sharedaddy {
	display: none;
}

/* ─────────────────────────────────────────────
   C2 — Homepage featured posts polish (low-risk)
   Scope: homepage featured strip only.
───────────────────────────────────────────── */

.home .featured-posts.featured-style-1 {
	margin-top: 1rem;
	margin-bottom: 1.5rem;
}

.home .featured-posts.featured-style-1 .featured-posts-row {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.home .featured-posts.featured-style-1 .featured-cover-post {
	background: #ffffff;
	border: 1px solid #dbe3ef;
	border-radius: 10px;
	overflow: hidden;
}

.home .featured-posts.featured-style-1 .featured-post-thumbnail {
	display: block;
	height: 220px; /* explicit height wins over parent's 360px */
	padding: 0;    /* reset parent's padding: 20px 0 at 720px+ */
	overflow: hidden;
}

.home .featured-posts.featured-style-1 .featured-post-thumbnail img {
	display: block;
	position: relative; /* override parent's position: absolute */
	left: auto;         /* override parent's left: -9999em */
	right: auto;        /* override parent's right: -9999em */
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center top;
}

.home .featured-posts.featured-style-1 .featured-post-content {
	padding: 0.85rem 0.95rem 1rem;
}

.home .featured-posts.featured-style-1 .featured-post-header h3 {
	font-size: 1.1rem;
	line-height: 1.35;
	margin: 0.35rem 0 0.45rem;
}

.home .featured-posts.featured-style-1 .featured-post-header .cat-links {
	font-size: 0.8rem;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	opacity: 0.9;
}

.home .featured-posts.featured-style-1 .featured-post-meta {
	font-size: 0.88rem;
	color: #4b5563;
}

@media screen and (max-width: 1024px) {
	.home .featured-posts.featured-style-1 .featured-posts-row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media screen and (max-width: 640px) {
	.home .featured-posts.featured-style-1 .featured-posts-row {
		grid-template-columns: 1fr;
	}

	.home .featured-posts.featured-style-1 .featured-post-content {
		padding: 0.8rem 0.85rem 0.9rem;
	}
}


/* ─────────────────────────────────────────────
   A0 — Skip links
   Make keyboard skip links visible on focus.
───────────────────────────────────────────── */

.tam-skip-link {
	position: absolute;
	left: -9999px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
	z-index: 100000;
}

.tam-skip-link:focus,
.tam-skip-link:active {
	left: 12px;
	top: 12px;
	width: auto;
	height: auto;
	padding: 0.6rem 0.8rem;
	background: #111827;
	color: #ffffff;
	text-decoration: none;
	border-radius: 6px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

/* ─────────────────────────────────────────────
   C3 — Protect Trans Kids action banner
───────────────────────────────────────────── */

.tam-protect-trans-kids-banner {
	max-width: 1100px;
	margin: 1rem auto 1.25rem;
	padding: 0.9rem 1rem;
	background: var(--crisis-bg);
	border: 1px solid #fdba74;
	border-left: 6px solid var(--crisis-border);
	border-radius: 8px;
}

.tam-protect-trans-kids-banner p {
	margin: 0;
	color: #1f2937;
	line-height: 1.55;
}

.tam-protect-trans-kids-banner a {
	font-weight: 700;
	text-decoration-thickness: 2px;
	text-underline-offset: 2px;
}

@media screen and (max-width: 640px) {
	.tam-protect-trans-kids-banner {
		padding: 0.85rem 0.85rem;
	}
}

.tam-protect-trans-kids-banner .tam-source-row {
	margin-top: 0.55rem;
	color: #4b5563;
}

.tam-protect-trans-kids-banner .tam-source-row a {
	font-weight: 600;
}

/* ─────────────────────────────────────────────
   REDESIGN — D0 Design tokens (CSS custom properties)
   All color and spacing values live here.
───────────────────────────────────────────── */

:root {
	/* Trans flag palette */
	--blue:       #5BCEFA;
	--pink:       #F5A9B8;
	--white:      #FFFFFF;
	--blue-wash:  #EAF7FE;
	--pink-wash:  #FEF0F4;

	/* Interactive / accessible ink colors (WCAG AA on white) */
	--blue-ink:   #1A6BA2;
	--pink-ink:   #A83258;

	/* Text */
	--ink:        #1A1A2E;
	--slate:      #3D4A5C;

	/* Crisis accent */
	--crisis-bg:      #FFF7ED;
	--crisis-border:  #C2410C;

	/* Spacing grid */
	--sp-1:  0.25rem;   /*  4px */
	--sp-2:  0.5rem;    /*  8px */
	--sp-3:  0.75rem;   /* 12px */
	--sp-4:  1rem;      /* 16px */
	--sp-6:  1.5rem;    /* 24px */
	--sp-8:  2rem;      /* 32px */
	--sp-12: 3rem;      /* 48px */

	/* Container */
	--max-width: 1200px;

	/* Radius */
	--radius-sm:   6px;
	--radius-md:   12px;
	--radius-pill: 999px;

	/* Shadows */
	--shadow-card: 0 2px 8px rgba(26, 26, 46, 0.06);
	--shadow-card-hover: 0 6px 20px rgba(26, 26, 46, 0.12);

	/* Transitions */
	--transition-fast: 200ms ease;
}

/* ─────────────────────────────────────────────
   REDESIGN — D1 Self-hosted fonts
   Atkinson Hyperlegible — Braille Institute
───────────────────────────────────────────── */

@font-face {
	font-family: 'Atkinson Hyperlegible';
	src: url('assets/fonts/AtkinsonHyperlegible-Regular.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: 'Atkinson Hyperlegible';
	src: url('assets/fonts/AtkinsonHyperlegible-Regular-latin-ext.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: 'Atkinson Hyperlegible';
	src: url('assets/fonts/AtkinsonHyperlegible-Bold.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: 'Atkinson Hyperlegible';
	src: url('assets/fonts/AtkinsonHyperlegible-Bold-latin-ext.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ─────────────────────────────────────────────
   REDESIGN — D2 Global typography
───────────────────────────────────────────── */

body {
	font-family: 'Atkinson Hyperlegible', Georgia, sans-serif;
	font-size: 1rem;
	line-height: 1.7;
	color: var(--ink);
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Fraunces', Georgia, serif;
	line-height: 1.2;
	color: var(--ink);
}

h1 { font-size: clamp(1.75rem, 3.5vw, 2.5rem); font-weight: 700; }
h2 { font-size: clamp(1.35rem, 2.5vw, 1.9rem); font-weight: 600; }
h3 { font-size: clamp(1.1rem,  2vw,   1.4rem); font-weight: 500; }

.entry-meta,
.post-meta,
time {
	font-size: 0.825rem;
	color: var(--slate);
}

/* ─────────────────────────────────────────────
   REDESIGN — Zone 0: Trans flag identity stripe
   6px full-width stripe — top of every page.
───────────────────────────────────────────── */

.tam-flag-stripe {
	height: 6px;
	width: 100%;
	background: linear-gradient(
		to right,
		#5BCEFA 0%   20%,
		#F5A9B8 20%  40%,
		#FFFFFF 40%  60%,
		#F5A9B8 60%  80%,
		#5BCEFA 80% 100%
	);
	display: block;
}

/* ─────────────────────────────────────────────
   REDESIGN — Zone 1: Header CTAs
   GET HELP jump link + Donate pill button
───────────────────────────────────────────── */

.tam-header-ctas {
	display: flex;
	align-items: center;
	gap: var(--sp-3);
	flex-shrink: 0;
}

.tam-btn-gethelp {
	font-family: 'Atkinson Hyperlegible', sans-serif;
	font-weight: 700;
	font-size: 0.85rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--blue-ink);
	text-decoration: none;
	border: 2px solid var(--blue-ink);
	border-radius: var(--radius-pill);
	padding: 0.45rem 0.9rem;
	transition: background var(--transition-fast), color var(--transition-fast);
	white-space: nowrap;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
}

.tam-btn-gethelp:hover,
.tam-btn-gethelp:focus-visible {
	background: var(--blue-ink);
	color: var(--white);
	outline: none;
}

.tam-btn-donate {
	font-family: 'Atkinson Hyperlegible', sans-serif;
	font-weight: 700;
	font-size: 0.85rem;
	letter-spacing: 0.04em;
	background: var(--pink);
	color: var(--ink);
	text-decoration: none;
	border-radius: var(--radius-pill);
	padding: 0.45rem 1rem;
	transition: background var(--transition-fast), color var(--transition-fast);
	white-space: nowrap;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
}

.tam-btn-donate:hover,
.tam-btn-donate:focus-visible {
	background: var(--pink-ink);
	color: var(--white);
	outline: none;
}

/* Mobile: hide Donate from header on small screens (footer has it) */
@media screen and (max-width: 639px) {
	.tam-btn-donate {
		display: none;
	}
}

/* ─────────────────────────────────────────────
   REDESIGN — Zone 2: Urgency band
───────────────────────────────────────────── */

.tam-urgency-band {
	background: var(--blue-wash);
	border-left: 4px solid var(--blue);
	padding: 0.65rem var(--sp-4);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--sp-4);
}

.tam-urgency-band[hidden] {
	display: none;
}

.tam-urgency-inner {
	display: flex;
	align-items: baseline;
	gap: var(--sp-3);
	flex-wrap: wrap;
}

.tam-urgency-label {
	font-family: 'Atkinson Hyperlegible', sans-serif;
	font-weight: 700;
	font-size: 0.75rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--blue-ink);
	flex-shrink: 0;
}

.tam-urgency-link {
	font-family: 'Atkinson Hyperlegible', sans-serif;
	font-size: 0.9rem;
	color: var(--ink);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.tam-urgency-link:hover {
	color: var(--blue-ink);
}

.tam-urgency-dismiss {
	background: none;
	border: none;
	cursor: pointer;
	font-size: 1.2rem;
	color: var(--slate);
	padding: var(--sp-1) var(--sp-2);
	line-height: 1;
	border-radius: var(--radius-sm);
	flex-shrink: 0;
	min-width: 44px;
	min-height: 44px;
}

.tam-urgency-dismiss:hover {
	background: rgba(0, 0, 0, 0.06);
}

/* ─────────────────────────────────────────────
   REDESIGN — Zone 3: Hero
───────────────────────────────────────────── */

.tam-hero {
	background: linear-gradient(
		160deg,
		rgba(91, 206, 250, 0.18) 0%,
		rgba(245, 169, 184, 0.22) 28%,
		rgba(255, 255, 255, 0.95) 50%,
		rgba(245, 169, 184, 0.22) 72%,
		rgba(91, 206, 250, 0.18) 100%
	);
	padding: var(--sp-12) var(--sp-4);
	text-align: center;
}

.tam-hero-inner {
	max-width: var(--max-width);
	margin: 0 auto;
}

.tam-hero-headline {
	font-family: 'Fraunces', Georgia, serif;
	font-weight: 900;
	font-size: clamp(2rem, 5vw, 3.5rem);
	line-height: 1.1;
	color: var(--ink);
	margin: 0 0 var(--sp-6);
}

.tam-hero-ctas {
	display: flex;
	gap: var(--sp-4);
	justify-content: center;
	flex-wrap: wrap;
}

/* Shared button primitives */
.tam-btn-primary,
.tam-btn-secondary {
	font-family: 'Atkinson Hyperlegible', sans-serif;
	font-weight: 700;
	font-size: 1rem;
	letter-spacing: 0.03em;
	text-decoration: none;
	border-radius: var(--radius-pill);
	padding: 0.75rem 1.75rem;
	display: inline-block;
	transition: background var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);
	min-height: 48px;
	line-height: 1.4;
}

.tam-btn-primary {
	background: var(--pink);
	color: var(--ink);
	border: 2px solid transparent;
}

.tam-btn-primary:hover,
.tam-btn-primary:focus-visible {
	background: var(--pink-ink);
	color: var(--white);
}

.tam-btn-secondary {
	background: transparent;
	color: var(--blue-ink);
	border: 2px solid var(--blue-ink);
}

.tam-btn-secondary:hover,
.tam-btn-secondary:focus-visible {
	background: var(--blue-ink);
	color: var(--white);
}

@media screen and (max-width: 639px) {
	.tam-hero-ctas {
		flex-direction: column;
		align-items: center;
	}

	.tam-btn-primary,
	.tam-btn-secondary {
		width: 100%;
		max-width: 320px;
		text-align: center;
	}
}

/* ─────────────────────────────────────────────
   REDESIGN — Zone 4: Resource triage panel
───────────────────────────────────────────── */

.tam-triage {
	background: var(--blue-wash);
	padding: var(--sp-8) var(--sp-4);
}

.tam-triage-inner {
	max-width: var(--max-width);
	margin: 0 auto;
}

.tam-zone-header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: var(--sp-6);
	flex-wrap: wrap;
	gap: var(--sp-2);
}

.tam-zone-label {
	font-family: 'Atkinson Hyperlegible', sans-serif;
	font-weight: 700;
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--blue-ink);
}

.tam-zone-title {
	font-family: 'Fraunces', Georgia, serif;
	font-size: clamp(1.35rem, 2.5vw, 1.75rem);
	font-weight: 600;
	color: var(--ink);
	margin: var(--sp-1) 0 0;
}

.tam-triage-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: var(--sp-4);
}

.tam-triage-tile {
	background: var(--white);
	border: 1px solid rgba(91, 206, 250, 0.3);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-card);
	padding: var(--sp-6) var(--sp-4) var(--sp-4);
	text-decoration: none;
	display: flex;
	flex-direction: column;
	gap: var(--sp-2);
	transition: box-shadow var(--transition-fast), transform var(--transition-fast);
}

.tam-triage-tile:hover,
.tam-triage-tile:focus-visible {
	box-shadow: var(--shadow-card-hover);
	transform: translateY(-2px);
	outline: 2px solid var(--blue-ink);
	outline-offset: 2px;
}

/* Crisis tile override */
.tam-triage-tile--crisis {
	background: var(--crisis-bg);
	border-left: 4px solid var(--crisis-border);
}

.tam-triage-icon {
	font-size: 1.75rem;
	line-height: 1;
}

.tam-triage-title {
	font-family: 'Fraunces', Georgia, serif;
	font-weight: 600;
	font-size: 1rem;
	color: var(--ink);
	margin: 0;
	line-height: 1.25;
}

.tam-triage-desc {
	font-size: 0.875rem;
	color: var(--slate);
	margin: 0;
	flex-grow: 1;
	line-height: 1.5;
}

.tam-triage-cta {
	font-family: 'Atkinson Hyperlegible', sans-serif;
	font-weight: 700;
	font-size: 0.8rem;
	color: var(--blue-ink);
	margin-top: var(--sp-1);
}

@media screen and (max-width: 959px) {
	.tam-triage-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tam-triage-tile--crisis {
		grid-column: 1 / -1;
	}
}

@media screen and (max-width: 639px) {
	.tam-triage-grid {
		grid-template-columns: 1fr;
	}

	.tam-triage-tile--crisis {
		grid-column: 1;
	}
}

/* ─────────────────────────────────────────────
   REDESIGN — Component: Category badges
───────────────────────────────────────────── */

.tam-badge {
	display: inline-block;
	font-family: 'Atkinson Hyperlegible', sans-serif;
	font-weight: 700;
	font-size: 0.7rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 0.2em 0.6em;
	border-radius: var(--radius-sm);
	line-height: 1.4;
}

.tam-badge--alert     { background: var(--pink);  color: var(--pink-ink); }
.tam-badge--action    { background: var(--blue);  color: var(--blue-ink); }
.tam-badge--featured  { background: var(--blue-wash); color: var(--blue-ink); }
.tam-badge--news      { background: #E2EAF4;      color: var(--slate); }
.tam-badge--explainer { background: #E2EAF4;      color: var(--slate); }
.tam-badge--update    { background: #FEF3C7;      color: #92400E; }

/* ─────────────────────────────────────────────
   REDESIGN — Zone 5: Action campaigns
───────────────────────────────────────────── */

.tam-actions {
	background: var(--pink-wash);
	padding: var(--sp-8) var(--sp-4);
}

.tam-actions-inner {
	max-width: var(--max-width);
	margin: 0 auto;
}

.tam-actions-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--sp-6);
}

.tam-action-card {
	background: var(--white);
	border: 1px solid rgba(245, 169, 184, 0.35);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-card);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: box-shadow var(--transition-fast), transform var(--transition-fast);
}

.tam-action-card:hover {
	box-shadow: var(--shadow-card-hover);
	transform: translateY(-2px);
}

.tam-action-card__image img {
	width: 100%;
	height: 200px;
	object-fit: cover;
	display: block;
}

.tam-action-card__body {
	padding: var(--sp-4) var(--sp-4) var(--sp-6);
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	gap: var(--sp-2);
}

.tam-action-card__title {
	font-family: 'Fraunces', Georgia, serif;
	font-weight: 700;
	font-size: clamp(1.1rem, 2vw, 1.3rem);
	color: var(--ink);
	margin: 0;
	line-height: 1.25;
}

.tam-action-card__title a {
	color: var(--ink);
	text-decoration: none;
}

.tam-action-card__title a:hover {
	color: var(--blue-ink);
}

.tam-action-card__excerpt {
	font-size: 0.9rem;
	color: var(--slate);
	flex-grow: 1;
	line-height: 1.6;
}

.tam-action-card__cta {
	align-self: flex-start;
}

@media screen and (max-width: 639px) {
	.tam-actions-grid {
		grid-template-columns: 1fr;
	}
}

/* ─────────────────────────────────────────────
   REDESIGN — Zone 6: Instagram feed
───────────────────────────────────────────── */

.tam-instagram {
	background: var(--white);
	padding: var(--sp-8) var(--sp-4);
	border-top: 1px solid var(--blue-wash);
}

.tam-instagram-inner {
	max-width: var(--max-width);
	margin: 0 auto;
}

.tam-instagram-handle {
	font-family: 'Atkinson Hyperlegible', sans-serif;
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--blue-ink);
	text-decoration: none;
	letter-spacing: 0.02em;
}

.tam-instagram-handle:hover {
	text-decoration: underline;
}

.tam-instagram-footer {
	margin-top: var(--sp-4);
	text-align: center;
}

/* ─────────────────────────────────────────────
   REDESIGN — Zone 7: Latest posts (extends C2)
───────────────────────────────────────────── */

.tam-latest-wrap {
	background: var(--blue-wash);
	padding: var(--sp-8) var(--sp-4);
}

/* Override: The featured posts container sits inside the theme's loop output.
   These selectors extend the existing C2 block. */
.home .featured-posts.featured-style-1 .featured-cover-post {
	border: 1px solid rgba(91, 206, 250, 0.3);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-card);
	transition: box-shadow var(--transition-fast), transform var(--transition-fast);
}

.home .featured-posts.featured-style-1 .featured-cover-post:hover {
	box-shadow: var(--shadow-card-hover);
	transform: translateY(-2px);
}

.home .featured-posts.featured-style-1 .featured-post-header h3 {
	font-family: 'Fraunces', Georgia, serif;
	font-weight: 600;
}

.home .featured-posts.featured-style-1 .featured-post-meta {
	font-family: 'Atkinson Hyperlegible', sans-serif;
}

/* ---------------------------------------------
   REDESIGN - Footer zone typography
--------------------------------------------- */

.site-footer {
	background: var(--white);
}

.tam-footer-links a {
	font-family: 'Atkinson Hyperlegible', sans-serif;
	font-size: 0.875rem;
	color: var(--blue-ink);
}

.tam-footer-links a:hover {
	color: var(--pink-ink);
}

.site-credits {
	font-family: 'Atkinson Hyperlegible', sans-serif;
	font-size: 0.8rem;
	color: var(--slate);
}

/* ---------------------------------------------
   REDESIGN - Know Your Rights page
--------------------------------------------- */

/* Jurisdiction badges */
.tam-jurisdiction {
	display: inline-block;
	font-family: 'Atkinson Hyperlegible', sans-serif;
	font-weight: 700;
	font-size: 0.7rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 0.25em 0.75em;
	border-radius: var(--radius-sm);
	margin-bottom: var(--sp-2);
	vertical-align: middle;
}

.tam-jurisdiction--madison    { background: var(--blue);      color: var(--blue-ink); }
.tam-jurisdiction--county     { background: var(--blue-wash);  color: var(--blue-ink); border: 1px solid var(--blue); }
.tam-jurisdiction--wisconsin  { background: #E2EAF4;            color: var(--slate); }
.tam-jurisdiction--federal    { background: var(--ink);         color: var(--white); }

/* What's currently legal fact boxes */
.tam-kyr-fact {
	background: var(--blue-wash);
	border-left: 4px solid var(--blue);
	border-radius: var(--radius-sm);
	padding: var(--sp-4) var(--sp-6);
	margin-bottom: var(--sp-6);
}

.tam-kyr-fact p {
	margin: 0 0 var(--sp-2);
}

.tam-kyr-fact .tam-kyr-sources {
	font-size: 0.8rem;
	color: var(--slate);
}

/* Last reviewed notice */
.tam-kyr-reviewed {
	font-family: 'Atkinson Hyperlegible', sans-serif;
	font-size: 0.8rem;
	color: var(--slate);
	border-top: 1px solid var(--blue-wash);
	padding-top: var(--sp-4);
	margin-top: var(--sp-8);
}

/* ---------------------------------------------
   TAM verification patch: overflow + contrast
   Date: 2026-03-02
--------------------------------------------- */

/* Keep header CTAs from causing horizontal overflow on small laptop widths. */
@media screen and (max-width: 1024px) {
	.tam-btn-donate {
		display: none;
	}
}

/* Improve menu/link contrast consistency. */
.main-navigation ul li > a {
	color: var(--blue-ink);
}

.main-navigation ul li.current_page_item > a,
.main-navigation ul li.current-menu-item > a {
	color: var(--ink);
}

.tam-instagram-handle {
	color: var(--blue-ink);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.tam-instagram-handle:hover,
.tam-instagram-handle:focus-visible {
	color: var(--ink);
}

/* KYR badge contrast improvement. */
.tam-jurisdiction--madison {
	color: var(--ink);
}

/* Improve contrast for IG footer CTA text/border. */
.tam-instagram-footer .tam-btn-secondary {
	color: var(--ink);
	border-color: var(--ink);
}

.tam-instagram-footer .tam-btn-secondary:hover,
.tam-instagram-footer .tam-btn-secondary:focus-visible {
	background: var(--ink);
	color: var(--white);
}

/* Smash Balloon follow button contrast */
#sb_instagram #sbi_load .sbi_follow_btn.sbi_custom a {
	color: var(--ink) !important;
	border: 1px solid var(--ink) !important;
}

#sb_instagram #sbi_load .sbi_follow_btn.sbi_custom a svg {
	color: var(--ink) !important;
}

/* Nav contrast tune */
.main-navigation .main-menu > li > a {
	color: var(--ink);
}

.mobile-navigation .mobile-menu li.current-menu-item > a,
.mobile-navigation .mobile-menu li.current_page_item > a {
	color: var(--ink);
}

/* CTA vertical centering tune */
.tam-btn-primary,
.tam-btn-secondary,
.tam-action-card__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1.2;
}
