/*
 * AFCS theme CSS.
 *
 * theme.json handles global colors, spacing, and typography. This file only
 * contains rules that theme.json can't express: style variations, focus
 * indicators, and a few pattern-specific touches.
 */

/* ---------- Donate button (coral, high-contrast white text) ------------ */

.wp-block-button.is-style-donate .wp-block-button__link,
.wp-block-button.afcs-donate .wp-block-button__link {
	background-color: var(--wp--preset--color--coral);
	color: var(--wp--preset--color--text);
	box-shadow: 0 2px 0 rgba(0, 0, 0, 0.08);
	letter-spacing: 0.1em;
	font-weight: 800;
}

.wp-block-button.is-style-donate .wp-block-button__link:hover,
.wp-block-button.is-style-donate .wp-block-button__link:focus,
.wp-block-button.afcs-donate .wp-block-button__link:hover,
.wp-block-button.afcs-donate .wp-block-button__link:focus {
	background-color: #d85d2e;
	color: var(--wp--preset--color--text);
}

/* ---------- Outline button --------------------------------------------- */

.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--primary);
	border: 2px solid currentColor;
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--surface);
}

/* ---------- Accent rule under section headings ------------------------- */

.afcs-accent-rule::after {
	content: "";
	display: block;
	width: 4rem;
	height: 4px;
	background: var(--wp--preset--color--coral);
	margin-top: 0.75rem;
	border-radius: 2px;
}

/* ---------- Accessibility: visible focus ------------------------------- */

:where(a, button, .wp-block-button__link, input, select, textarea):focus-visible {
	outline: 3px solid var(--wp--preset--color--coral);
	outline-offset: 2px;
	border-radius: 2px;
}

/* ---------- Header / site branding niceties ---------------------------- */

.afcs-site-header {
	box-shadow: none;
	border-bottom: 0 !important;
}

.wp-block-site-logo img {
	max-height: 92px;
	width: auto;
}

/* Navigation text on lavender header */
.afcs-site-header .wp-block-navigation a.wp-block-navigation-item__content,
.afcs-site-header .wp-block-navigation .wp-block-navigation-item__label {
	color: var(--wp--preset--color--primary);
}

.afcs-site-header .wp-block-navigation .current-menu-item > a,
.afcs-site-header .wp-block-navigation [aria-current="page"] {
	color: var(--wp--preset--color--primary);
	font-weight: 800;
	box-shadow: inset 0 -3px 0 0 var(--wp--preset--color--coral);
	padding-bottom: 2px;
}

/* Tighter nav so items stay on one row on typical laptop widths */
.afcs-site-header .wp-block-navigation {
	font-size: clamp(0.78rem, 0.72rem + 0.35vw, 0.9rem);
	letter-spacing: 0.06em;
}

.afcs-site-header .wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	padding: 0.35rem 0.5rem;
}

/* Coalition text block between logo and nav */
.afcs-header-member-orgs {
	border-top: 0;
	margin-top: 0;
	padding-top: 0 !important;
}

.afcs-header-member-orgs p {
	margin-bottom: 0;
	color: var(--wp--preset--color--primary);
}

.afcs-header-member-orgs-inline {
	flex: 1 1 auto;
	min-width: 300px;
	margin: 0 0.9rem;
}

.afcs-header-member-orgs-inline p {
	text-align: center;
	font-size: clamp(0.72rem, 0.68rem + 0.2vw, 0.82rem);
	line-height: 1.35 !important;
}

.afcs-header-nav-cluster {
	flex: 0 0 auto;
}

/* On narrower screens, move member-org text below logo/nav */
@media (max-width: 1180px) {
	.afcs-site-header > .wp-block-group:first-child {
		flex-wrap: wrap !important;
		row-gap: 0.35rem;
	}

	.afcs-header-member-orgs-inline {
		order: 3;
		flex: 0 0 100%;
		margin: 0.2rem 0 0;
	}

	.afcs-header-member-orgs-inline p {
		text-align: center !important;
	}
}

/* ---------- Dark bands: force readable titles (global heading color wins otherwise) -- */

/* theme.json sets all headings to primary; beat that inside dark bands */
.afcs-page-title-banner h1.wp-block-post-title,
.afcs-page-title-banner .wp-block-post-title a {
	color: #ffffff !important;
}

.afcs-donate-cta-band h2.wp-block-heading {
	color: #ffffff !important;
}

/* Member orgs strip sits under the nav on the home page */
.afcs-member-orgs {
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.8125rem;
	letter-spacing: 0.04em;
	line-height: 1.6;
	font-weight: 600;
	color: var(--wp--preset--color--primary);
}

/* ---------- Gold hero quote band (mustard + white quote like legacy site) -- */

.afcs-hero-gold.has-gold-background-color {
	/* Darker than palette gold so white headline meets WCAG for large/bold type */
	background-color: #b8860b;
	color: #ffffff;
}

.afcs-hero-gold .afcs-quote {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0.01em;
	text-transform: none;
	color: #ffffff;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.22);
}

.afcs-hero-gold .afcs-quote strong {
	color: #ffffff;
}

.afcs-hero-gold .afcs-hero-attrib {
	color: var(--wp--preset--color--text);
}

/* ---------- Demand block (coral "Together We Call For") --------------- */

.afcs-demand {
	background: var(--wp--preset--color--coral);
	color: #ffffff;
}

.afcs-demand h2,
.afcs-demand h3 {
	color: #ffffff;
}

.afcs-demand ul {
	padding-left: 1.25rem;
	margin: 0;
}

.afcs-demand li {
	margin-bottom: 0.5rem;
	line-height: 1.45;
	font-weight: 700;
}

/* ---------- Human Need tagline ---------------------------------------- */

.afcs-tagline {
	background: var(--wp--preset--color--primary);
	color: #ffffff;
	text-align: center;
}

.afcs-tagline .wp-block-image {
	margin: 0 auto;
}

/* ---------- SNAP alert ------------------------------------------------ */

.afcs-snap-alert {
	background: var(--wp--preset--color--primary);
	color: #ffffff;
}

.afcs-snap-alert .afcs-snap-copy {
	font-size: 1.0625rem;
	line-height: 1.6;
}

/* ---------- People Project block ------------------------------------- */

.afcs-people-project {
	background: var(--wp--preset--color--lavender);
	color: var(--wp--preset--color--primary);
}

.afcs-people-project h2,
.afcs-people-project h3 {
	color: var(--wp--preset--color--primary);
}

/* ---------- Campaign cards -------------------------------------------- */

.afcs-campaign-card {
	background: var(--wp--preset--color--surface);
	border: 1px solid rgba(48, 41, 52, 0.08);
	border-radius: 8px;
	overflow: hidden;
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.afcs-campaign-card:hover,
.afcs-campaign-card:focus-within {
	transform: translateY(-2px);
	box-shadow: 0 10px 30px rgba(48, 41, 52, 0.12);
}

.afcs-campaign-card .wp-block-image {
	margin: 0;
}

.afcs-campaign-card .wp-block-image img {
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

/* ---------- Footer tightness ------------------------------------------ */

.wp-block-template-part[data-area="footer"] {
	color: var(--wp--preset--color--background);
}

/* ---------- Responsive tweaks ----------------------------------------- */

@media (max-width: 600px) {
	.wp-block-site-logo img {
		max-height: 64px;
	}

	.afcs-member-orgs {
		font-size: 0.75rem;
	}
}

/* ---------- Overrides ------------------------------------- */

/* ===== Overall page shell ===== */

body {
	background: #ffffff;
  }
  
  .wp-site-blocks {
	overflow-x: clip;
  }
  
  main,
  .site-main,
  .afcs-site-main {
	max-width: 1420px;
	margin: 0 auto;
	background: #ffffff;
	box-shadow: none;
  }
  
  /* tighten the default Gutenberg spacing a bit */
  :root {
	--wp--style--block-gap: 1.25rem;
  }
  
  /* ===== Header ===== */
  
  .site-header,
  header.wp-block-template-part,
  header {
	background: #ffffff;
  }
  
  .site-header .wp-block-group,
  header .wp-block-group {
	max-width: 1420px;
	margin: 0 auto;
  }
  
  .wp-block-site-logo img {
	width: 170px !important;
	max-width: 170px !important;
	height: auto;
  }
  
  .wp-block-navigation {
	gap: 0.7rem;
  }
  
  .wp-block-navigation .wp-block-navigation-item__content {
	background: #cfcfcf;
	color: #ffffff !important;
	padding: 0.9rem 1.15rem;
	text-decoration: none !important;
	line-height: 1;
	font-size: 0.95rem;
	font-weight: 700;
  }
  
  .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content,
  .wp-block-navigation .current_page_item > .wp-block-navigation-item__content,
  .wp-block-navigation .current_page_parent > .wp-block-navigation-item__content,
  .wp-block-navigation .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content {
	background: #3a1d58;
	color: #ffffff !important;
  }
  
  .site-header .wp-block-button__link,
  header .wp-block-button__link {
	background: #f45d48 !important;
	color: #ffffff !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 1rem 1.8rem !important;
	letter-spacing: 0.04em;
  }
  
  /* small org list under nav/logo */
  .site-header p,
  .site-header .wp-block-paragraph,
  header p,
  header .wp-block-paragraph {
	font-size: 0.78rem;
	line-height: 1.35;
  }
  
  /* ===== Hero ===== */
  
  .afcs-home-hero,
  .afcs-home-hero.wp-block-group,
  .afcs-home-hero.alignfull {
	margin-top: 0 !important;
	padding-top: 0 !important;
  }
  
  .afcs-home-hero .wp-block-columns,
  .afcs-home-hero-columns {
	gap: 0 !important;
	align-items: stretch !important;
  }
  
  .afcs-home-hero .wp-block-column:first-child {
	background: #d8a316;
	padding: 2.5rem 2.4rem 2rem;
  }
  
  .afcs-home-hero .wp-block-column:last-child {
	background: #d8a316;
	padding: 1.2rem 1.2rem 1rem 0;
  }
  
  .afcs-home-hero h1,
  .afcs-home-hero h2,
  .afcs-home-hero p {
	color: #ffffff !important;
  }
  
  .afcs-home-hero .wp-block-heading,
  .afcs-home-hero .wp-block-paragraph {
	max-width: 720px;
  }
  
  .afcs-home-hero .wp-block-heading {
	font-family: Arial, Helvetica, sans-serif !important;
	font-size: clamp(2rem, 2.1vw, 3.35rem) !important;
	line-height: 1.28 !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
  }
  
  .afcs-home-hero .wp-block-paragraph,
  .afcs-home-hero .hero-credit,
  .afcs-home-hero .afcs-hero-credit {
	font-family: "Barlow Condensed", "Arial Narrow", sans-serif !important;
	font-size: 1rem !important;
	line-height: 1.2;
	letter-spacing: 0.04em;
	text-transform: uppercase;
  }
  
  /* slideshow frame */
  .wp-block-jetpack-slideshow,
  .afcs-home-hero .wp-block-jetpack-slideshow {
	background: transparent;
	margin: 0;
  }
  
  .wp-block-jetpack-slideshow img,
  .afcs-home-hero .wp-block-jetpack-slideshow img {
	aspect-ratio: 1.18 / 1;
	object-fit: cover;
  }
  
  /* ===== Main content columns ===== */
  
  .afcs-home-below-hero {
	padding-top: 0 !important;
	padding-bottom: 2rem !important;
  }
  
  .afcs-home-main-columns {
	gap: 1.15rem !important;
	align-items: flex-start !important;
  }
  
  .afcs-home-main-columns > .wp-block-column:first-child {
	padding-right: 0.3rem;
  }
  
  .afcs-home-main-columns > .wp-block-column:last-child {
	padding-left: 0.3rem;
  }
  
  /* ===== Together We Call For block ===== */
  
  .afcs-demand {
	background: #f45f4a !important;
	padding: 1.45rem 1.35rem !important;
  }
  
  .afcs-demand-heading {
	color: #ffffff !important;
	font-family: "Barlow Condensed", "Arial Narrow", sans-serif !important;
	font-size: clamp(3.1rem, 4vw, 5.2rem) !important;
	line-height: 0.9 !important;
	letter-spacing: 0 !important;
	margin-bottom: 1rem !important;
	max-width: 360px;
  }
  
  .afcs-demand-list {
	margin: 0 !important;
	padding-left: 1.35rem !important;
	font-size: 1rem !important;
	line-height: 1.55 !important;
  }
  
  .afcs-demand-list li {
	margin-bottom: 0.8rem;
  }
  
  .afcs-demand-photo img {
	border: 6px solid #f3f3f3;
	box-shadow: 0 3px 10px rgba(0,0,0,0.18);
  }
  
  /* ===== SNAP block ===== */
  
  .has-lavender-deep-background-color {
	background: #30154b !important;
  }
  
  .has-lavender-deep-background-color h2,
  .has-lavender-deep-background-color h3,
  .has-lavender-deep-background-color p {
	color: #ffffff !important;
  }
  
  .has-lavender-deep-background-color h2 {
	font-family: "Barlow Condensed", "Arial Narrow", sans-serif !important;
	font-size: clamp(3rem, 3.8vw, 4.8rem) !important;
	line-height: 0.92 !important;
	margin-bottom: 0.25rem !important;
  }
  
  .has-lavender-deep-background-color h3 {
	color: #f2a07f !important;
	font-family: "Barlow Condensed", "Arial Narrow", sans-serif !important;
	font-size: clamp(2.5rem, 3.4vw, 4.2rem) !important;
	line-height: 0.95 !important;
	margin-top: 0 !important;
	margin-bottom: 1rem !important;
  }
  
  .has-lavender-deep-background-color p {
	font-size: 1.15rem;
	line-height: 1.6;
  }
  
  .has-lavender-deep-background-color .wp-block-button__link {
	background: #f45d48 !important;
	color: #ffffff !important;
	border-radius: 0 !important;
	padding: 1rem 1.6rem !important;
  }
  
  /* ===== Upcoming events ===== */
  
  .afcs-upcoming-events-title {
	color: #ff4f2f !important;
	font-family: "Barlow Condensed", "Arial Narrow", sans-serif !important;
	font-size: clamp(3.2rem, 4vw, 5rem) !important;
	line-height: 0.95 !important;
	margin-bottom: 0.8rem !important;
  }
  
  .afcs-upcoming-home-left {
	padding-top: 2rem !important;
  }
  
  .afcs-upcoming-home-left::after {
	content: "";
	display: block;
	width: 74%;
	height: 10px;
	background: #4c2670;
	margin-top: 0.35rem;
	margin-bottom: 1rem;
  }
  
  .afcs-community-band-photo {
	display: none;
  }
  
  /* Use this only if/when you swap in the correct flyer on the left */
  .afcs-upcoming-home-left .wp-block-image img {
	max-width: 380px;
	width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
  }
  
  /* ===== Right sidebar ===== */
  
  .afcs-sidebar-stack {
	gap: 1rem !important;
	padding-top: 0 !important;
  }
  
  .afcs-sidebar-stack .wp-block-image {
	margin-bottom: 0 !important;
  }
  
  .afcs-sidebar-stack img {
	display: block;
	width: 100%;
	height: auto;
  }
  
  .afcs-sidebar-people {
	align-items: center !important;
	background: #d8d1dc !important;
	padding: 0.9rem !important;
	gap: 0.9rem !important;
  }
  
  .afcs-sidebar-people-logo img {
	width: 90px;
	max-width: 90px;
  }
  
  .afcs-sidebar-people p {
	font-size: 0.92rem;
	line-height: 1.4;
	margin: 0;
  }
  
  .afcs-sidebar-people strong,
  .afcs-sidebar-people b {
	color: #49c3cf;
  }
  
  /* ===== Footer ===== */
  
  footer,
  .site-footer {
	background: #2b183a !important;
	color: #ffffff;
	margin-top: 2rem;
	padding-top: 2.4rem;
	padding-bottom: 1.2rem;
  }
  
  footer h2,
  footer h3,
  footer .wp-block-heading,
  .site-footer h2,
  .site-footer h3,
  .site-footer .wp-block-heading {
	color: #ffffff !important;
	font-family: "Barlow Condensed", "Arial Narrow", sans-serif !important;
	font-size: clamp(2rem, 2.2vw, 3rem) !important;
	line-height: 1 !important;
  }
  
  footer p,
  .site-footer p {
	color: #ffffff !important;
	opacity: 0.95;
  }
  
  footer .wp-social-link a,
  .site-footer .wp-social-link a {
	color: #ffffff !important;
  }
  
  footer .wp-block-social-links.is-style-logos-only .wp-social-link-facebook,
  footer .wp-block-social-links.is-style-logos-only .wp-social-link-instagram,
  footer .wp-block-social-links.is-style-logos-only .wp-social-link-x,
  .site-footer .wp-block-social-links.is-style-logos-only .wp-social-link-facebook,
  .site-footer .wp-block-social-links.is-style-logos-only .wp-social-link-instagram,
  .site-footer .wp-block-social-links.is-style-logos-only .wp-social-link-x {
	color: #ffffff !important;
  }
  
  /* ===== Responsive cleanup ===== */
  
  @media (max-width: 1100px) {
	.afcs-home-main-columns,
	.afcs-home-hero .wp-block-columns {
	  gap: 1rem !important;
	}
  
	.afcs-home-hero .wp-block-column:first-child,
	.afcs-home-hero .wp-block-column:last-child {
	  padding: 1.5rem !important;
	}
  
	.afcs-demand-heading,
	.has-lavender-deep-background-color h2,
	.has-lavender-deep-background-color h3,
	.afcs-upcoming-events-title {
	  max-width: none;
	}
  }
  
  @media (max-width: 781px) {
	main,
	.site-main,
	.afcs-site-main {
	  box-shadow: none;
	}
  
	.wp-block-navigation .wp-block-navigation-item__content {
	  padding: 0.75rem 0.9rem;
	}
  
	.afcs-home-hero .wp-block-column:first-child,
	.afcs-home-hero .wp-block-column:last-child,
	.afcs-demand,
	.has-lavender-deep-background-color {
	  padding: 1.25rem !important;
	}
  
	.afcs-home-main-columns > .wp-block-column:first-child,
	.afcs-home-main-columns > .wp-block-column:last-child {
	  padding: 0;
	}
  
	.afcs-upcoming-home-left::after {
	  width: 100%;
	}
  
	.afcs-sidebar-people {
	  flex-wrap: nowrap !important;
	}
  }

  /* Make the coral and purple boxes align flush left with the gold box */
.afcs-demand,
.has-lavender-deep-background-color {
  margin-left: 0 !important;
  padding-left: clamp(1.25rem, 3.2vw, 38px) !important;
  padding-right: clamp(1.25rem, 3.2vw, 38px) !important;
  box-sizing: border-box;
}

/* Give the purple box more breathing room */
.has-lavender-deep-background-color {
  padding-top: 42px !important;
  padding-bottom: 42px !important;
}

/* Make both section headings use the same scale */
.afcs-demand-heading {
  font-size: clamp(2.4rem, 5.4vw, 4.5rem) !important;
  line-height: 0.92 !important;
  margin: 0 0 20px 0 !important;
  font-family: "Barlow Condensed", "Arial Narrow", sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

/* Keep SNAP headings strong but not oversized */
.has-lavender-deep-background-color h2 {
  font-size: clamp(2rem, 3.1vw, 3rem) !important;
  line-height: 0.95 !important;
}

.has-lavender-deep-background-color h3,
.has-lavender-deep-background-color h3:first-of-type {
  font-size: clamp(1.9rem, 2.8vw, 2.8rem) !important;
  line-height: 0.95 !important;
}

/* Slightly tighten the orange box heading so it wraps more like the original */
.afcs-demand-heading {
  max-width: 520px;
}

/* Keep the orange SNAP subhead same scale family, but colored */
.has-lavender-deep-background-color h3 {
  color: #f2a07f !important;
  margin-top: 0 !important;
  margin-bottom: 22px !important;
}

/* Use normal bullets in the demand list */
.afcs-demand-list {
  list-style: disc !important;
  padding-left: 1.2rem !important;
  margin: 0 !important;
}

.afcs-demand-list li {
  color: #111 !important;
  margin-bottom: 18px !important;
  padding-left: 0 !important;
}

/* Make the paragraph text inside purple box sit in from the edges */
.has-lavender-deep-background-color p {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 92%;
}

/* Keep the button from feeling jammed against the box edges */
.has-lavender-deep-background-color .wp-block-button {
  margin-top: 26px !important;
}

.has-lavender-deep-background-color .wp-block-button__link {
  padding: 20px 44px !important;
}

/* Remove decorative purple bar under flyer */
.afcs-upcoming-home-left::after {
  content: none !important;
  display: none !important;
}