/* ============================================================
   PFund Foundation FSE Theme — theme.css
   Pixel-accurate rebuild from design mockups
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Space+Grotesk:wght@300..700&family=DM+Sans:ital,opsz,wght@0,9..40,300..700;1,9..40,300..700&display=swap');

:root {
  --c-cream: #F8EDE2;
  --c-teal: #00707c;
  --c-teal-light: #7FD7CA;
  --c-salmon-dark: #96500F;
  --c-salmon: #FF7C3C;
  --c-salmon-light: #FFB693;
  --c-pink-dark: #842E2F;
  --c-pink: #FAAAAB;
  --c-pink-light: #f4c4c4;
  --c-gold: #f2c84a;
  --c-gold-light: #f8d87a;
  --c-green: #5a8a4a;
  --c-dark: #1a1a1a;
  --c-dark-bg: #1e2020;
  --c-header-pink: #f5a8a8;
  --c-header-teal: #00707c;
  --font-display: 'D-DIN Condensed DINCondensed-Bold', Impact, sans-serif;
  --font-heading: 'D-DIN Condensed DINCondensed-Bold', sans-serif;
  --font-body: 'D-DIN Regular', 'DM Sans', 'Helvetica Neue', sans-serif;
  --nav-h: 72px;
  --max-w: 1200px;
  --gutter: clamp(1.5rem, 4vw, 3rem);
  --section-gap: clamp(3rem, 5vw, 4.5rem);
}

@font-face {
  font-family: 'D-DIN Regular';
  font-style: normal;
  font-weight: normal;
  src: local('D-DIN Regular'), url('D-DIN.woff') format('woff');
}


@font-face {
  font-family: 'D-DIN DIN-Italic';
  font-style: normal;
  font-weight: normal;
  src: local('D-DIN DIN-Italic'), url('D-DIN-Italic.woff') format('woff');
}


@font-face {
  font-family: 'D-DIN DIN-Bold';
  font-style: normal;
  font-weight: normal;
  src: local('D-DIN DIN-Bold'), url('D-DIN-Bold.woff') format('woff');
}


@font-face {
  font-family: 'D-DIN Condensed Regular';
  font-style: normal;
  font-weight: normal;
  src: local('D-DIN Condensed Regular'), url('D-DINCondensed.woff') format('woff');
}


@font-face {
  font-family: 'D-DIN Exp Regular';
  font-style: normal;
  font-weight: normal;
  src: local('D-DIN Exp Regular'), url('D-DINExp.woff') format('woff');
}


@font-face {
  font-family: 'D-DIN Exp DINExp-Italic';
  font-style: normal;
  font-weight: normal;
  src: local('D-DIN Exp DINExp-Italic'), url('D-DINExp-Italic.woff') format('woff');
}


@font-face {
  font-family: 'D-DIN Condensed DINCondensed-Bold';
  font-style: normal;
  font-weight: normal;
  src: local('D-DIN Condensed DINCondensed-Bold'), url('D-DINCondensed-Bold.woff') format('woff');
}


@font-face {
  font-family: 'D-DIN Exp DINExp-Bold';
  font-style: normal;
  font-weight: normal;
  src: local('D-DIN Exp DINExp-Bold'), url('D-DINExp-Bold.woff') format('woff');
}

.has-large-font-size {
  font-size: 4rem;
  font-family: 'D-DIN Condensed DINCondensed-Bold';
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  background: var(--c-cream);
  color: var(--c-dark);
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.6;
  margin: 0;
  overflow-x: hidden;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

.filled, .select2-results {
    background: #ffffff;
}

/* Strip WP's default body padding */
.wp-site-blocks {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.trixie {
    margin-bottom: -2em;
}



/* ═══════════════════════════════════════════
   HEADER — two-tone full-bleed design
   Pink left (logo) · Teal right (nav)
   Both bleed to viewport edges.
   ═══════════════════════════════════════════ */

.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  padding: 0 !important;
  margin: 0 !important;
  background: var(--c-header-pink) !important;
  transition: box-shadow .25s;
  overflow: visible;
  /* must be visible so dropdown submenus aren't clipped */
}

.site-header.scrolled {
  box-shadow: 0 2px 16px rgba(0, 0, 0, .18);
}

/* Centered content row */
.pfund-header-inner {
  display: flex;
  align-items: stretch;
  height: var(--nav-h);
  width: 100%;
  max-width: var(--max-w);
  margin: 0 auto;
}

/* ── Pink logo zone ── */
.pfund-logo-zone {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  background: var(--c-header-pink);
  padding: 0 3rem 0 var(--gutter);
  position: relative;
  z-index: 2;
}

/* Full-bleed pink behind the logo zone — extends to left viewport edge */
.pfund-logo-zone::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  left: -200vw;
  height: 100%;
  background: var(--c-header-pink);
  z-index: -1;
}

/* No ::after on logo-zone — slash is handled by nav-zone::before instead */
.pfund-logo-zone::after {
  display: none;
}

/* ── Teal nav zone — flex-grows to fill remaining width ── */
.pfund-nav-zone {
  flex: 1;
  background: var(--c-header-teal);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 0;
  position: relative;
  overflow: visible;
  z-index: 2;
}

/* Diagonal slash: pink triangle sits at the LEFT edge of the nav zone,
   fully inside nav-zone so no overflow clipping issues */
.pfund-nav-zone::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 80px;
  height: 100%;
  background: var(--c-header-pink);
  transform: skewX(-12deg);
  transform-origin: top right;
  z-index: 1;
  pointer-events: none;
}

/* Full-bleed teal to right viewport edge */
.pfund-nav-zone::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: -200vw;
  height: 100%;
  background: var(--c-header-teal);
  z-index: -1;
  pointer-events: none;
}

.pfund-nav-inner {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-left: 3rem;
  /* clears the skewed pink slash */
  padding-right: var(--gutter);
  width: 100%;
  position: relative;
  z-index: 2;
}

/* Logo image — natural aspect ratio, controlled by height */
.pfund-logo-link {
  display: flex;
  align-items: center;
  text-decoration: none;
  line-height: 0;
}

.pfund-logo {
  height: 52px;
  width: auto;
  display: block;
}

/* ── Nav list ── */
.pfund-nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  height: var(--nav-h);
  gap: 0;
}

.pfund-nav-list>li {
  position: relative;
}

.pfund-nav-list>li>a {
  font-family: var(--font-body);
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .09em;
  color: #fff;
  padding: 0 .85rem;
  height: var(--nav-h);
  line-height: var(--nav-h);
  display: block;
  white-space: nowrap;
  text-decoration: none;
  transition: opacity .15s;
}

.pfund-nav-list>li>a:hover {
  opacity: .75;
}

/* Dropdowns */
.pfund-nav-list .submenu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: var(--c-dark);
  border-top: 3px solid var(--c-teal-light);
  min-width: 210px;
  padding: 0;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .28);
  z-index: 9999;
  flex-direction: column;
}

.wp-block-accordion-heading__toggle {
    padding: 20px;
}

.wp-block-accordion-heading__toggle-icon {
	font-size: 1.5em;
    font-weight: 200;
}

.pfund-nav-list ol,
ul {
  list-style-type: none;
}

.pfund-nav-list li.has-submenu:hover .submenu,
.pfund-nav-list li.has-submenu:focus-within .submenu {
  display: flex;
}

.pfund-nav-list .submenu li a {
  font-family: var(--font-body);
  font-size: .78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: #fff;
  padding: 12px 18px;
  line-height: 1.4;
  border-bottom: 1px solid #2a2a2a;
  display: block;
  white-space: nowrap;
  text-decoration: none;
  transition: background .15s;
  list-style-type: none;
}

.pfund-nav-list .submenu li:last-child a {
  border-bottom: none;
}

.pfund-nav-list .submenu li a:hover {
  background: var(--c-teal);
}

/* Give Now button */
a.pfund-give-now-btn {
  font-family: var(--font-display) !important;
  background: var(--c-pink) !important;
  color: var(--c-dark) !important;
  border: 2px solid var(--c-dark) !important;
  padding: 8px 18px !important;
  height: auto !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  text-transform: uppercase !important;
  letter-spacing: .09em !important;
  white-space: nowrap;
  margin-left: .5rem;
  transition: background .2s !important;
  opacity: 1 !important;
  text-decoration: none;
}

a.pfund-give-now-btn:hover {
  background: #d4704d !important;
}

/* Hide legacy elements */
.pfund-header-bg,
.pfund-nav-row,
.pfund-nav-links {
  display: none !important;
}

/* ═══════════════════════════════════════════
   FOOTER — full width dark background
   ═══════════════════════════════════════════ */

footer {
  background: var(--c-dark-bg) !important;
}

.site-footer {
  background: var(--c-dark-bg) !important;
  color: #fff !important;
  width: 100% !important;
  margin: auto;
}

.site-footer h6 {
  margin: 16px 0px;
}

.site-footer .wp-block-navigation__container {
  flex-direction: column !important;
  gap: .15rem !important;
  align-items: flex-start !important;
}

.site-footer .wp-block-navigation-item__content {
  font-size: 1rem !important;
  color: #fff !important;
  padding: 2px 0 !important;
  line-height: 1.7 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  font-weight: 400 !important;
}

.site-footer .wp-block-navigation-item__content:hover {
  color: var(--c-teal-light) !important;
}

.footer-container {
    max-width: 1200px;
    margin: auto;
}

/* ═══════════════════════════════════════════
   MAIN CONTENT WRAPPER
   ═══════════════════════════════════════════ */
main.wp-block-group {
  padding-top: var(--section-gap) !important;
  padding-bottom: var(--section-gap) !important;
  padding-left: var(--gutter) !important;
  padding-right: var(--gutter) !important;
}

/* Strip WP's automatic margin-block-start that it injects between
   every block via the block gap system — we control spacing manually */
main.wp-block-group>.wp-block-group,
main.wp-block-group>.wp-block-columns,
main.wp-block-group>.wp-block-heading,
main.wp-block-group>.wp-block-spacer,
main.wp-block-group>.wp-block-query,
main.wp-block-group>.wp-block-html {
  margin-block-start: 0 !important;
}

/* Between-section spacing */
.wp-block-spacer {
  display: block !important;
}

/* PAGE HERO PATTERN
   Structure:
     .page-hero
       H1
       wp:columns (gap:0, box overlaps image via negative margin)
         .hero-box (colored, z-index:2)
         .hero-image-col (image, z-index:1)
*/
.page-hero {
  position: relative;
  margin-bottom: var(--section-gap);
}

.page-hero h1.wp-block-heading {
  margin-bottom: 1.25rem !important;
}

.tribe-common h1 {
    font-family: var(--font-heading) !important;
    font-weight: 700 !important;
    font-size: clamp(1.8rem, 4vw, 3rem) !important;
    text-transform: uppercase !important;
    letter-spacing: -.02em !important;
    line-height: 1.05 !important;
    margin-bottom: 1.25rem !important;
}

.tribe-common a,
.tribe-common abbr,
.tribe-common acronym,
.tribe-common address,
.tribe-common applet,
.tribe-common article,
.tribe-common aside,
.tribe-common audio,
.tribe-common b,
.tribe-common big,
.tribe-common blockquote,
.tribe-common canvas,
.tribe-common caption,
.tribe-common center,
.tribe-common cite,
.tribe-common code,
.tribe-common dd,
.tribe-common del,
.tribe-common details,
.tribe-common dfn,
.tribe-common div,
.tribe-common dl,
.tribe-common dt,
.tribe-common em,
.tribe-common embed,
.tribe-common fieldset,
.tribe-common figcaption,
.tribe-common figure,
.tribe-common footer,
.tribe-common form,
.tribe-common i,
.tribe-common iframe,
.tribe-common img,
.tribe-common ins,
.tribe-common kbd,
.tribe-common label,
.tribe-common legend,
.tribe-common li,
.tribe-common main,
.tribe-common mark,
.tribe-common menu,
.tribe-common nav,
.tribe-common object,
.tribe-common ol,
.tribe-common output,
.tribe-common p,
.tribe-common pre,
.tribe-common q,
.tribe-common ruby,
.tribe-common s,
.tribe-common samp,
.tribe-common section,
.tribe-common small,
.tribe-common span,
.tribe-common strike,
.tribe-common strong,
.tribe-common sub,
.tribe-common summary,
.tribe-common sup,
.tribe-common table,
.tribe-common tbody,
.tribe-common td,
.tribe-common tfoot,
.tribe-common th,
.tribe-common thead,
.tribe-common time,
.tribe-common tr,
.tribe-common tt,
.tribe-common u,
.tribe-common ul,
.tribe-common var,
.tribe-common video {
  font-family: 'D-DIN Regular' !important;
}


/* Remove column gap so box can slide over image */
.page-hero>.wp-block-columns {
  align-items: flex-start !important;
  gap: 0 !important;
}

/* Box column: pull right ~40px to overlap the image */
.page-hero>.wp-block-columns>.wp-block-column:first-child {
  margin-right: -40px !important;
  position: relative;
  z-index: 2;
}

.page-hero>.wp-block-columns>.wp-block-column:last-child {
  position: relative;
  z-index: 100;
}

/* Colored intro box */
.hero-box {
  padding: 1.75rem 2rem !important;
}

.hero-box.box-teal {
  background: var(--c-teal-light) !important;
  border-left: 5px solid #008a7a !important;
}

.hero-box.box-salmon {
  background: var(--c-salmon-light) !important;
  border-left: 5px solid #FF7C3C !important;
}

.box-salmon strong, .box-gold strong, .box-pink strong, .hero-triangle-box strong, .box-teal strong {
  font-size: 1.25rem!important;
}

.hero-box.box-gold {
  background: var(--c-gold-light) !important;
  border-left: 5px solid #EDBD20 !important;
}

.hero-box.box-pink {
  background: var(--c-pink-light) !important;
  border-left: 5px solid #c07070 !important;
}

/* Two-column inner for split-box variant */
.hero-box .wp-block-columns {
  gap: 2rem !important;
  align-items: start !important;
}

/* Image column */
.hero-image-col {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;
}

.hero-image-col img,
.hero-image-col .wp-block-image {
  max-height: 360px !important;
  object-fit: cover !important;
  margin-top:-30px;
}

a.wp-block-tiptip-hyperlink-group-block:hover {
    background: black;
    color: white;
}

main .wp-block-button.is-style-outline:hover {
    background: var(--c-pink) !important;
    transform: tranisiton 2ms;
}

footer .wp-block-button.is-style-outline a:hover {
    background: var(--c-pink) !important;
    color: black!important;
}

/* ─── VIDEO CAROUSEL ──────────────────────────────────────────────────────── */
/* ── Outer wrapper: full-bleed gradient background ── */
.pfund-carousel {
  position: relative;
  border: 2px solid black;
  padding: 3rem 3rem 0rem !important;
  /* allow arrows to overflow without clip */
  overflow: visible !important;
}

/* ── Clipping shell so slides don't overflow ── */
.pfund-carousel-track-shell {
  overflow: hidden;
  max-width: 1200px;
  margin: 0 4rem;
  /* room for the edge arrows */
}

.pfund-carousel-track {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
  gap: 0 !important;
  align-items: center;
}

/* Each slide: video left (~55%) + text right (~45%) */
.pfund-carousel-slide {
  flex: 0 0 100% !important;
  min-width: 0;
  width: 100%;
  display: grid !important;
  grid-template-columns: 55% 1fr;
  gap: 2.5rem;
  align-items: center;
}

/* Video column: responsive 16:9 */
.pfund-carousel-slide .wp-block-embed,
.pfund-carousel-slide .pfund-carousel-video {
  width: 100%;
}

.pfund-carousel-slide .wp-block-embed__wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.pfund-carousel-slide .wp-block-embed__wrapper iframe,
.pfund-carousel-slide .wp-block-embed__wrapper video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* Text column */
.pfund-carousel-text {
  color: var(--c-dark);
}

.pfund-carousel-text .pfund-carousel-label {
  font-size: 0.9rem;
  margin-bottom: 0.25rem;
}

.pfund-carousel-text .pfund-carousel-title {
  font-family: var(--font-heading) !important;
  font-size: clamp(1.5rem, 3vw, 2.25rem) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  line-height: 1.05 !important;
  margin: 0 !important;
}

/* ── Prev / Next arrows: large, sit outside the track shell ── */
.pfund-carousel-prev,
.pfund-carousel-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  font-size: 2.5rem;
  line-height: 1;
  cursor: pointer;
  color: var(--c-dark);
  padding: 0.5rem;
  z-index: 10;
  transition: opacity 0.2s;
}

.pfund-carousel-prev:hover,
.pfund-carousel-next:hover {
  opacity: 0.5;
}

.pfund-carousel-prev {
  left: 0.75rem;
}

.pfund-carousel-next {
  right: 0.75rem;
}

/* ── Dots: centered below track ── */
.pfund-carousel-nav {
  margin-top: 1.5rem;
  display: flex;
  justify-content: center;
  gap: 0.6rem;
}

.pfund-carousel-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 2px solid var(--c-dark);
  background: transparent;
  cursor: pointer;
  padding: 0;
  transition: background 0.2s;
}

.pfund-carousel-dot.is-active {
  background: var(--c-dark);
}

/* Hide nav when only one slide */
.pfund-carousel--single .pfund-carousel-prev,
.pfund-carousel--single .pfund-carousel-next,
.pfund-carousel--single .pfund-carousel-nav {
  display: none !important;
}

/* ── Mobile: stack video above text ── */
@media (max-width: 680px) {
  .pfund-carousel-slide {
    grid-template-columns: 1fr;
  }

  .pfund-carousel-track-shell {
    padding: 0 2.5rem;
  }
}

/* ─── END VIDEO CAROUSEL ──────────────────────────────────────────────────── */

/* Mobile: stack, remove overlap, keep image visible */
@media (max-width: 781px) {
  .page-hero>.wp-block-columns {
    flex-direction: column !important;
  }

  .page-hero>.wp-block-columns>.wp-block-column:first-child {
    margin-right: 0 !important;
    width: 100% !important;
    min-width: 100% !important;
  }

  .page-hero>.wp-block-columns>.wp-block-column:last-child {
    width: 100% !important;
    min-width: 100% !important;
  }

  .hero-image-col {
    display: flex !important;
    max-width: 300px !important;
  }

  .wp-block-image img {
    /* max-width: 300px; */
    margin: auto;
  }

  .hero-image-col img,
  .hero-image-col .wp-block-image {
    /* max-height: 220px !important; */
    margin: auto;
  }

  .wp-block-cb-carousel-v2 {
    padding: 8px !important;
  }

  .pfund-carousel {
    padding: 1rem !important;
  }
}


/* ═══════════════════════════════════════════
   TYPOGRAPHY
   ═══════════════════════════════════════════ */
h1.wp-block-heading {
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  font-size: clamp(1.8rem, 4vw, 3rem) !important;
  text-transform: uppercase !important;
  letter-spacing: -.02em !important;
  line-height: 1.05 !important;
  margin-bottom: 1.25rem !important;
}

h2.wp-block-heading {
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  font-size: clamp(1.2rem, 2.5vw, 1.75rem) !important;
  text-transform: uppercase !important;
  letter-spacing: -.01em !important;
  line-height: 1.1 !important;
  margin-top: 0 !important;
  margin-bottom: 1.25rem !important;
}

h3.wp-block-heading,
h4.wp-block-heading {
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

.section-heading {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ═══════════════════════════════════════════
   COLOUR BOX UTILITIES
   (for non-hero use: notice boxes, etc.)
   ═══════════════════════════════════════════ */
.box-salmon {
  background: var(--c-salmon) !important;
  padding: 1.75rem 2rem !important;
}

.box-teal {
  background: var(--c-teal-light) !important;
  padding: 1.75rem 2rem !important;
}

.box-gold {
  background: var(--c-gold) !important;
  padding: 1.75rem 2rem !important;
}

.box-pink {
  background: var(--c-pink-light) !important;
  padding: 1.75rem 2rem !important;
}

.box-dark {
  background: var(--c-dark) !important;
  padding: 1.75rem 2rem !important;
  color: #fff;
}

/* Gold left-border notice */
.notice-box {
  border-left: 4px solid var(--c-gold) !important;
  padding: 1.25rem 1.5rem !important;
  background: transparent !important;
}

/* Text colour helpers */
.text-teal {
  color: var(--c-teal) !important;
}

.text-green {
  color: var(--c-green) !important;
}

.text-gold {
  color: #9a6800 !important;
}

.text-salmon {
  color: var(--c-salmon) !important;
}

/* ═══════════════════════════════════════════
   FUNDING CARDS  (Apply, Get Involved, Home)
   ═══════════════════════════════════════════ */
.funding-card {
  border: 2px solid var(--c-dark) !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  overflow: hidden;
  background: var(--c-cream);
  /* Kill any WP-injected padding on the card wrapper itself */
  padding: 0 !important;
  margin: 0 !important;
}

/* Card colour bar — strip ALL WP padding/margin */
.funding-card-header {
  height: 56px !important;
  flex-shrink: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 56px !important;
}

.funding-card-header--pink {
  background: var(--c-pink) !important;
}

.funding-card-header--teal {
  background: var(--c-teal-light) !important;
}

.funding-card-header--gold {
  background: var(--c-gold) !important;
}

.funding-card-header--salmon {
  background: var(--c-salmon) !important;
}

.funding-card-body {
  padding: 1.5rem !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  gap: 0.75rem !important;
  /* Override WP flex gap on group blocks */
  row-gap: 0.75rem !important;
}

/* Strip WP's automatic margin-block-start from children inside card body */
.funding-card-body>* {
  margin-block-start: 0 !important;
  margin-top: 0 !important;
}

.funding-card-body>.wp-block-buttons {
  margin-top: auto !important;
  padding-top: 0.5rem !important;
}

/* ═══════════════════════════════════════════
   FULL-WIDTH COLUMNS (no constrained wrapper)
   ═══════════════════════════════════════════ */
.wp-block-columns {
  gap: 1.5rem !important;
}

/* Prevent WP adding side gutters on nested columns */
.wp-block-columns .wp-block-columns {
  gap: 1.5rem !important;
}

/* ═══════════════════════════════════════════
   BUTTONS
   ═══════════════════════════════════════════ */
.wp-block-button__link, button {
  border-radius: 0 !important;
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  font-size: 1rem !important;
  text-decoration: none !important;
  transition: all .2s !important;
}

/*.wp-block-button.is-style-outline .wp-block-button__link, button {
  background: transparent !important;
  color: var(--c-dark) !important;
  border: 2px solid var(--c-dark) !important;
}*/

footer .wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  color: #fff !important;
  border: 2px solid #fff !important;
  padding: 10px 20px !important;
}

a.footer-button:hover {
  color: #000 !important;
  border: 2px solid #fff !important;
  padding: 10px 20px !important;
}



/* Full-width stacked buttons */
.btn-full-width,
.btn-full-width .wp-block-button__link {
  width: 100% !important;
  display: block !important;
  text-align: center !important;
}

.btn-full-width .wp-block-button__link {
  padding: 12px 20px !important;
}

.wp-block-buttons.is-vertical .wp-block-button {
  width: 100% !important;
}

/* ═══════════════════════════════════════════
   IMPACT NUMBERS BOX
   ═══════════════════════════════════════════ */
.impact-box-border {
  border: 2px solid var(--c-dark) !important;
  /* padding: 3rem 2rem !important; */
}

.impact-text {
  margin: 20px 0px !important;
}


/* ═══════════════════════════════════════════
   CRITERIA / TEAL CARDS  (Serve on Committee)
   ═══════════════════════════════════════════ */
.criteria-card {
  background: var(--c-teal-light) !important;
  border: 2px solid var(--c-dark) !important;
  padding: 1.5rem !important;
  height: 100%;
}

/* ═══════════════════════════════════════════
   HOW IT WORKS  (Review Grants)
   ═══════════════════════════════════════════ */
.how-card {
  border: 2px solid var(--c-dark) !important;
  padding: 1.5rem !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 1rem !important;
  align-items: flex-start !important;
  height: 100% !important;
}

.how-number {
  font-family: var(--font-display) !important;
  font-size: 5rem !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  flex-shrink: 0;
  width: 64px;
}

/* ═══════════════════════════════════════════
   ALUMNI / LEGACY CARDS  (Scholarships)
   ═══════════════════════════════════════════ */
.alumni-card {
  background: var(--c-pink-light) !important;
  border: 2px solid var(--c-dark) !important;
  padding: 1.5rem !important;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.legacy-card {
  border: 2px solid var(--c-dark) !important;
  padding: 1.5rem !important;
  height: 100%;
}

/* ═══════════════════════════════════════════
   WAYS TO GIVE — give method rows
   ═══════════════════════════════════════════ */
.give-method {
  display: grid !important;
  grid-template-columns: 190px 1fr !important;
  gap: 2.5rem !important;
  padding: 2rem 0 !important;
  border-bottom: 1px solid #ccc !important;
  align-items: start !important;
}

.give-method:last-of-type {
  border-bottom: none !important;
}

.give-method-label {
  font-family: var(--font-display) !important;
  font-size: clamp(1.5rem, 2.5vw, 2.1rem) !important;
  line-height: 1.05 !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
}

/* ═══════════════════════════════════════════
   TIMELINE  (Join the Board)
   ═══════════════════════════════════════════ */
.timeline-wrapper {
  border-top: 2px solid var(--c-dark);
}

.timeline-row {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 1rem;
  padding: .75rem 0;
  border-bottom: 1px solid #ccc;
  align-items: center;
  font-size: .875rem;
}

.timeline-row:last-child {
  border-bottom: none;
}

.timeline-month {
  font-weight: 700;
  color: var(--c-teal);
  text-transform: uppercase;
  font-size: 1rem;
  letter-spacing: .05em;
  font-family: 'D-DIN Condensed DINCondensed-Bold'
}

/* ═══════════════════════════════════════════
   TEAM / NEWS CARDS
   ═══════════════════════════════════════════ */
.team-card {
  border: 2px solid var(--c-dark) !important;
  overflow: hidden;
  background: var(--c-cream);
}

.team-card img {
  width: 100%;
  height: 220px;
  object-fit: cover;
}

.card {
  border: 2px solid var(--c-dark) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden;
  background: var(--c-cream);
  height: 100%;
}

.card img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

.wp-block-query-pagination-numbers {
    font-size: 2em;
}

nav.wp-block-query-pagination.is-content-justification-center.is-layout-flex.wp-container-core-query-pagination-is-layout-55efd2e4.wp-block-query-pagination-is-layout-flex {
    padding-top: 20px;
}



/* ═══════════════════════════════════════════
   REPORT / IRS ITEMS  (Our Impact)
   ═══════════════════════════════════════════ */
.report-item {
  border: 2px solid var(--c-dark) !important;
  overflow: hidden;
}

.report-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(30%);
}

/* ═══════════════════════════════════════════
   MISSION / VISION / VALUES rows
   ═══════════════════════════════════════════ */
/* .mission-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 1.5rem !important;
  padding: 1.5rem 0 !important;
  border-bottom: 1px solid #ddd !important;
} */
/* .mission-row:last-child { border-bottom: none !important; }
.mission-label {
  min-width: 90px !important;
  flex-shrink: 0 !important;
  padding: .6rem .8rem !important;
  text-align: center !important;
  font-size: .7rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
} */

/* ═══════════════════════════════════════════
   FORMS
   ═══════════════════════════════════════════ */
.pfund-form label {
  display: block;
  font-size: .8rem;
  font-weight: 600;
  margin-bottom: .3rem;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.pfund-form input,
.pfund-form textarea,
.pfund-form select {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #bbb;
  background: #fff;
  font-family: var(--font-body);
  font-size: .875rem;
  border-radius: 0;
  outline: none;
  transition: border-color .2s;
  margin-bottom: 1.25rem;
  display: block;
  appearance: none;
}

.pfund-form input:focus,
.pfund-form textarea:focus {
  border-color: var(--c-teal);
}

.pfund-form textarea {
  min-height: 120px;
  resize: vertical;
}

.pfund-form .form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.pfund-form input[type="checkbox"] {
  width: auto !important;
  display: inline !important;
  margin: 0 .4rem 0 0 !important;
  padding: 0 !important;
  vertical-align: middle;
}

.btn-submit,
.pfund-form button[type="submit"] {
  background: var(--c-dark);
  color: #fff;
  border: 2px solid var(--c-dark);
  padding: 12px 28px;
  font-family: var(--font-body);
  font-weight: 700;
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  cursor: pointer;
  border-radius: 0;
  transition: background .2s, color .2s;
}

.btn-submit:hover,
.pfund-form button[type="submit"]:hover {
  background: transparent;
  color: var(--c-dark);
}

.heading-input-label-gutena {}

form {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ═══════════════════════════════════════════
   FULL-WIDTH ESCAPE  (quote strip, video)
   ═══════════════════════════════════════════ */
.pfund-full-width,
.pfund-quote-strip {
  width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
}

/* ═══════════════════════════════════════════
   HAMBURGER + MOBILE MENU
   ═══════════════════════════════════════════ */

/* Hamburger button — hidden on desktop */
.pfund-menu-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  padding: 8px;
  background: none;
  border: none;
  cursor: pointer;
  margin-left: auto;
  margin-right: var(--gutter);
  z-index: 1001;
  flex-shrink: 0;
}

.pfund-menu-toggle span {
  display: block;
  width: 100%;
  height: 2px;
  background: #ffffff;
  border-radius: 2px;
  transition: transform .25s, opacity .2s;
  transform-origin: center;
}

.pfund-menu-toggle.is-open span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.pfund-menu-toggle.is-open span:nth-child(2) {
  opacity: 0;
}

.pfund-menu-toggle.is-open span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* Mobile drawer */
.pfund-mobile-menu {
  display: none;
  position: fixed;
  top: var(--nav-h);
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--c-dark);
  z-index: 999;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 1rem 0 2rem;
  -webkit-overflow-scrolling: touch;
}

.pfund-mobile-menu.is-open {
  display: block;
}

body.pfund-menu-open {
  overflow: hidden;
}

.pfund-mobile-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.pfund-mobile-list>li {
  border-bottom: 1px solid #2a2a2a;
}

.pfund-mobile-parent {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 1rem var(--gutter);
  background: none;
  border: none;
  color: #fff!important;
  font-family: var(--font-body);
  font-size: .9rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .09em;
  cursor: pointer;
  text-align: left;
}

.pfund-mobile-parent:hover,
.pfund-mobile-parent.is-active {
  color: var(--c-teal-light);
}

.pfund-chevron {
  font-size: .7rem;
  display: inline-block;
  transition: transform .2s;
}

.pfund-mobile-sub {
  display: none;
  list-style: none;
  margin: 0;
  padding: 0 0 .5rem;
  background: #111;
}

.pfund-mobile-sub.is-open {
  display: block;
}

.pfund-mobile-sub li a {
  display: block;
  padding: .7rem var(--gutter) .7rem calc(var(--gutter) + 1rem);
  color: #ccc;
  font-family: var(--font-body);
  font-size: .82rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .07em;
  text-decoration: none;
  transition: color .15s;
}

.pfund-mobile-sub li a:hover,
.pfund-mobile-sub li a.is-active {
  color: var(--c-teal-light);
}

.pfund-mobile-give-btn {
  display: block;
  margin: 1.5rem var(--gutter);
  padding: 12px 24px;
  background: var(--c-pink);
  color: var(--c-dark) !important;
  font-family: var(--font-body);
  font-size: .85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .09em;
  text-decoration: none;
  text-align: center;
  border: 2px solid var(--c-dark);
  font-family: var(--font-display);
}

/* Top-level mobile link with no children (same style as parent button) */
.pfund-mobile-top-link {
  display: block;
  padding: 1rem var(--gutter);
  color: #fff;
  font-family: var(--font-body);
  font-size: .9rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .09em;
  text-decoration: none;
}

.pfund-mobile-top-link:hover {
  color: var(--c-teal-light);
}

/* ═══════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════ */
@media (max-width: 1024px) and (min-width: 700px) {
  .pfund-nav-list>li>a {
    padding: 0 .5rem;
    font-size: .72rem;
  }
}

@media (max-width: 700px) {

  /* Keep the nav zone visible — the hamburger toggle lives inside it now */
  .pfund-nav-zone {
    flex: 0 0 auto !important;
    /* don't grow, just fit the toggle */
    background: var(--c-header-teal) !important;
    /* keep teal for two-tone */
    justify-content: flex-end !important;
  }

  /* Hide the desktop nav list and the teal bleed/slash pseudo-elements */
  .pfund-nav-inner {
    display: none !important;
  }

  .pfund-nav-zone::before {
    display: none !important;
  }

  /* hide slash on mobile */
  .pfund-nav-zone::after {
    display: none !important;
  }

  /* hide teal bleed on mobile */
  /* Keep the header two-tone: pink logo left, teal right edge for the toggle */
  .pfund-header-inner {
    width: 100%;
  }

  .pfund-logo-zone {
    flex: 1;
    padding-right: 1rem;
  }

  /* logo zone stretches */
  .pfund-menu-toggle {
    display: flex;
    margin-left: 0;
    margin-right: 0.75rem;
    border: none!important;
  }

  main.wp-block-group {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }

  .wp-block-columns:not(.is-not-stacked-on-mobile) {
    flex-direction: column-reverse !important;
  }

  .pfund-carousel .wp-block-columns:not(.is-not-stacked-on-mobile) {
    flex-direction: column !important;
  }

  .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
    flex-basis: 100% !important;
    min-width: 100% !important;
  }

  .give-method {
    grid-template-columns: 1fr !important;
    gap: .5rem !important;
  }

  .pfund-form .form-row {
    grid-template-columns: 1fr !important;
  }

  .how-number {
    font-size: 3.5rem !important;
    width: 48px !important;
  }
}

/* ═══════════════════════════════════════════
   HERO IMAGE SHAPES (right column images)
   ═══════════════════════════════════════════ */
/* .hero-image--circle .wp-block-image img,
.hero-image--circle img {
  border-radius: 50% !important;
  aspect-ratio: 1 !important;
  object-fit: cover !important;
  width: 100% !important;
} */
/* Default: rectangle with duotone feel */
.hero-image img,
.hero-image-col img,
.hero-image-col .wp-block-image img {
  height: 100% !important;
  max-height: 380px !important;
  object-fit: cover !important;
  object-position: top center !important;
}

/* Page hero wrapper spacing */
.page-hero {
  margin-bottom: var(--section-gap) !important;
}

.page-hero h1 {
  margin-bottom: 1.25rem !important;
}

/* Give method: h3 used as label heading, reset heading styles */
.give-method h3.give-method-label {
  font-family: var(--font-display) !important;
  font-size: clamp(1.5rem, 2.5vw, 2rem) !important;
  font-weight: 400 !important;
  line-height: 1.05 !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}

/* Section heading directly above content — no extra top gap */
.section-heading+.wp-block-columns,
.section-heading+.alignwide {
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}

/* Section-level spacer overrides */
.wp-block-spacer[style*="48px"] {
  height: 48px !important;
}

/* ═══════════════════════════════════════════
   HTML BLOCK LAYOUT CLASSES
   Used inside wp:html blocks (no WP validation)
   ═══════════════════════════════════════════ */

/* Hero */
.pfund-hero {
  margin-bottom: 0;
}

.pfund-h1 {
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  font-size: clamp(1.8rem, 4vw, 3rem) !important;
  text-transform: uppercase !important;
  letter-spacing: -.02em !important;
  line-height: 1.05 !important;
  margin: 0 0 1.25rem 0 !important;
}

.pfund-h2 {
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  font-size: clamp(1.1rem, 2vw, 1.5rem) !important;
  text-transform: uppercase !important;
  margin: 0 0 1.25rem 0 !important;
}

.pfund-hero-cols {
  display: flex;
  gap: 2rem;
  align-items: flex-start;
}

.pfund-hero-left {
  flex: 0 0 60%;
  max-width: 60%;
}

.pfund-hero-right {
  flex: 1;
}

.pfund-split-row {
  display: flex;
  gap: 1.75rem;
}

.pfund-split-left {
  flex: 0 0 42%;
}

.pfund-split-right {
  flex: 1;
}

/* Cards row */
.pfund-cards-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

.pfund-cards-row .alumni-card {
  grid-column: span 1;
}

/* Two col layout */
.pfund-two-col {
  display: flex;
  gap: 3rem;
  align-items: flex-start;
}

.pfund-col-main {
  flex: 1;
  min-width: 0;
}

.pfund-col-side {
  flex: 0 0 35%;
}

/* Alumni cards */
.alumni-card {
  background: var(--c-pink-light);
  padding: 1.5rem;
}

/* Border card */
.pfund-border-card {
  border: 2px solid var(--c-dark);
  padding: 2rem;
}

/* How cards */
.how-card {
  padding: 1.5rem 0;
}

.how-number {
  font-family: var(--font-display) !important;
  font-size: 5rem;
  line-height: 1;
  margin: 0 0 0.5rem 0;
}

/* Criteria cards */
.criteria-card {
  border: 2px solid var(--c-teal-light);
  padding: 1.5rem;
}

/* Give method rows */
.give-method {
  display: flex;
  gap: 2rem;
  align-items: flex-start;
  padding: 1rem 0;
}

.give-method-content {
  margin-block-start: 0 ! important;
}

.give-method:first-child {
  border-top: none;
}

.give-method-label {
  font-family: var(--font-display) !important;
  font-size: clamp(1.5rem, 2.5vw, 2rem) !important;
  text-transform: uppercase !important;
  min-width: 220px;
  margin: 0 !important;
  flex-shrink: 0;
}

.give-method-body {
  flex: 1;
}

.give-method-subhead {
  font-size: 0.72rem !important;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #888;
  margin: 0 0 0.25rem 0 !important;
}

/* Impact box */
.impact-box-border {
  border: 2px solid var(--c-dark);
  padding: 3rem 2rem;
}

.impact-box-border h2 {
  text-align: center;
}

.impact-stats-row {
  display: flex;
  gap: 1.5rem;
  margin-top: 2rem;
}

.impact-stat {
  flex: 1;
  text-align: center;
}

.impact-number {
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-weight: 700;
  line-height: 1;
  margin-bottom: 0.5rem;
}

.impact-label {
  font-weight: 700;
  font-size: 0.875rem;
}

@media (max-width: 781px) {
  .home-hero-image-col .wp-block-image img {
    max-width: 300px !important;
    margin: auto;
  }
}

.tribe-common button.tribe-common-c-btn,
.tribe-common button.tribe-common-c-btn:focus,
.tribe-common button.tribe-common-c-btn:hover {
  font-family: var(--font-display) !important;
  background: var(--c-pink) !important;
  border-radius: 0 !important;
  color: var(--c-dark) !important;
  border: 2px solid var(--c-dark) !important;
  padding: 8px 18px !important;
  height: auto !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  text-transform: uppercase !important;
  letter-spacing: .09em !important;
  white-space: nowrap;
  margin-left: .5rem;
  transition: background .2s !important;
  opacity: 1 !important;
  text-decoration: none;
}

h4.no-margin {
    margin: 0!important;
}


.tribe-events .tribe-events-c-search__button,
.tribe-events button.tribe-events-c-search__button {
  font-family: var(--font-display) !important;
  background: var(--c-pink) !important;
  border-radius: 0 !important;
  color: var(--c-dark) !important;
  border: 2px solid var(--c-dark) !important;
  padding: 8px 18px !important;
  height: auto !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  text-transform: uppercase !important;
  letter-spacing: .09em !important;
  white-space: nowrap;
  margin-left: .5rem;
  transition: background .2s !important;
  opacity: 1 !important;
  text-decoration: none;
}

.tribe-common .tribe-common-c-btn-border,
.tribe-common a.tribe-common-c-btn-border {
  font-family: var(--font-display) !important;
  background: var(--c-pink) !important;
  border-radius: 0 !important;
  color: var(--c-dark) !important;
  border: 2px solid var(--c-dark) !important;
  padding: 8px 18px !important;
  height: auto !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  text-transform: uppercase !important;
  letter-spacing: .09em !important;
  white-space: nowrap;
  margin-left: .5rem;
  transition: background .2s !important;
  opacity: 1 !important;
  text-decoration: none;
}

.tribe-events-c-search__button,
.tribe-events button.tribe-events-c-search__button:hover {
  background: #d4704d !important;
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-nav__next,
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-nav__prev {
  color: var(--c-dark) !important;
  text-transform: uppercase !important;
  letter-spacing: .09em !important;
}

.single-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button.tribe-events-c-subscribe-dropdown__button--active,
.single-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:focus,
.single-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:focus-within,
.single-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:hover,
.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button.tribe-events-c-subscribe-dropdown__button--active,
.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:focus,
.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:focus-within,
.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:hover {
  background-color: var(--c-pink) !important;
  color: var(--tec-color-background);
  text-transform: uppercase !important;
  letter-spacing: .09em !important;
  background: #d4704d !important;
}

/* Responsive */
@media (max-width: 700px) {

  .pfund-hero-cols,
  .pfund-split-row,
  .pfund-cards-row,
  .pfund-two-col,
  .impact-stats-row {
    flex-direction: column;
  }

  .pfund-cards-row {
    grid-template-columns: 1fr;
  }

  .pfund-hero-left,
  .pfund-hero-right,
  .pfund-col-side {
    flex: none;
    max-width: 100%;
    width: 100%;
  }

  .give-method {
    flex-direction: column;
  }

  .give-method-label {
    min-width: unset;
  }

  ..impact-text {
    font-size: 100%;
  }
}

/* ─── VIDEO CAROUSEL ──────────────────────────────────────────────────────── */
/* ── Outer wrapper: full-bleed gradient background ── */
.pfund-carousel {
  position: relative;
  border: black solid 2px;
  background-color: var(--c-pink-light);
  /* padding: 6rem 0rem 0rem 3rem !important; */
  /* allow arrows to overflow without clip */
  overflow: visible !important;
}

.pfund-carousel-embed {
    position: relative;
    border: none !important;
    background-color: var(--c-pink-light);
    padding: 3rem 3rem 3rem !important;
    overflow: visible !important;
}

/* ── Clipping shell so slides don't overflow ── */
.pfund-carousel-track-shell {
  overflow: hidden;
  max-width: 1200px;
  margin: 0 4rem;
  /* room for the edge arrows */
}

.pfund-carousel-track {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
  gap: 0 !important;
  align-items: center;
}

/* Each slide: video left (~55%) + text right (~45%) */
.pfund-carousel-slide {
  flex: 0 0 100% !important;
  min-width: 0;
  width: 100%;
  display: grid !important;
  grid-template-columns: 55% 1fr;
  gap: 2.5rem;
  align-items: center;
}

/* Video column: responsive 16:9 */
.pfund-carousel-slide .wp-block-embed,
.pfund-carousel-slide .pfund-carousel-video {
  width: 100%;
}

.pfund-carousel-slide .wp-block-embed__wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.pfund-carousel-slide .wp-block-embed__wrapper iframe,
.pfund-carousel-slide .wp-block-embed__wrapper video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* Text column */
.pfund-carousel-text {
  color: var(--c-dark);
}

.pfund-carousel-text .pfund-carousel-label {
  font-size: 0.9rem;
  margin-bottom: 0.25rem;
}

.pfund-carousel-text .pfund-carousel-title {
  font-family: var(--font-heading) !important;
  font-size: clamp(1.5rem, 3vw, 2.25rem) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  line-height: 1.05 !important;
  margin: 0 !important;
}

/* ── Prev / Next arrows: large, sit outside the track shell ── */
.pfund-carousel-prev,
.pfund-carousel-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  font-size: 2.5rem;
  line-height: 1;
  cursor: pointer;
  color: var(--c-dark);
  padding: 0.5rem;
  z-index: 10;
  transition: opacity 0.2s;
}

.pfund-carousel-prev:hover,
.pfund-carousel-next:hover {
  opacity: 0.5;
}

.pfund-carousel-prev {
  left: 0.75rem;
}

.pfund-carousel-next {
  right: 0.75rem;
}

/* ── Dots: centered below track ── */
.pfund-carousel-nav {
  margin-top: 1.5rem;
  display: flex;
  justify-content: center;
  gap: 0.6rem;
}

.pfund-carousel-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 2px solid var(--c-dark);
  background: transparent;
  cursor: pointer;
  padding: 0;
  transition: background 0.2s;
}

.pfund-carousel-dot.is-active {
  background: var(--c-dark);
}

/* Hide nav when only one slide */
.pfund-carousel--single .pfund-carousel-prev,
.pfund-carousel--single .pfund-carousel-next,
.pfund-carousel--single .pfund-carousel-nav {
  display: none !important;
}

/* ── Mobile: stack video above text ── */
@media (max-width: 680px) {
  .pfund-carousel-slide {
    grid-template-columns: 1fr;
  }

  .pfund-carousel-track-shell {
    padding: 0 2.5rem;
  }
}

/* ─── END VIDEO CAROUSEL ──────────────────────────────────────────────────── */

/* ─── HOME HERO ───────────────────────────────────────────────────────────── */
.home-hero {
  margin-bottom: var(--section-gap);
}

.home-hero h1.wp-block-heading {
  font-size: clamp(2rem, 5vw, 3.5rem) !important;
  margin-bottom: 1.25rem !important;
}

.home-hero .wp-block-buttons {
  margin-top: 1.5rem !important;
}

.home-hero-image-col {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
}

.home-hero-image {
  width: 100% !important;
  /* max-height: 420px !important; */
  object-fit: cover !important;
}

@media (max-width: 680px) {
  .home-hero .wp-block-columns {
    flex-direction: column-reverse !important;
  }

  .hero-triangle-row {
    flex-direction: column-reverse !important;
  }
}

@media (max-width: 781px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
    flex-basis: 5% !important;
  }
}

/* ─── END HOME HERO ───────────────────────────────────────────────────────── */

/* ─── TRIANGLE HERO ───────────────────────────────────────────────────────── */
.hero-triangle {
  position: relative;
  margin-bottom: var(--section-gap);
}

.hero-triangle h1.wp-block-heading {
  margin-bottom: 1.25rem !important;
  position: relative;
  z-index: 2;
}

.hero-triangle-row {
  display: flex;
  grid-template-columns: 55% 1fr;
  align-items: start;
  gap: 0;
  position: relative;
}

.hero-triangle-box {
  position: relative;
  z-index: 2;
  padding: 1.75rem 2rem !important;
  background: var(--c-pink-light) !important;
  border-left: 5px solid #c07070 !important;
}

.hero-triangle-image-col {
  position: relative;
  z-index: 1;
  margin-left: -60px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
}

.hero-triangle-image-col img,
.hero-triangle-image-col .wp-block-image,
.hero-triangle-image-col .wp-block-image img {
  /* width: 100% !important; */
  max-width: 420px !important;
  /* aspect-ratio: 1 / 1 !important;
  object-fit: cover !important; */
  /* clip-path: polygon(50% 0%, 100% 100%, 0% 100%) !important; */
}

@media (max-width: 781px) {
  .hero-triangle-row {
    grid-template-columns: 1fr;
  }

  .hero-triangle-image-col {
    margin: auto;
    justify-content: center;
    margin-top: 1.5rem;
  }

  .hero-triangle-image-col img,
  .hero-triangle-image-col .wp-block-image img {
    max-width: 260px !important;
  }
}

/* ─── END TRIANGLE HERO ───────────────────────────────────────────────────── */

/* ─── BORDER CARDS ────────────────────────────────────────────────────────── */
.pfund-border-card {
  border: 2px solid var(--c-dark) !important;
  padding: 1.75rem !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

/* Pin button to bottom of card */
.pfund-border-card .wp-block-buttons {
  margin-top: auto !important;
  padding-top: 1.25rem !important;
}

/* ─── END BORDER CARDS ────────────────────────────────────────────────────── */
details {
  display: contents;
}

summary {
  display: none;
}

.condensed {
  font-family: var(--font-display);
  font-size: 1.5rem;
}

strong {
  font-family: var(--font-display);
  /* font-size: 1.25rem; */
}

.notice-box li {
  list-style-type: disc;
}

/* ─── PEOPLE SECTION ──────────────────────────────────────────────────────── */
.pfund-people-section {
  margin-bottom: var(--section-gap);
}

.pfund-people-heading {
  font-family: var(--font-heading) !important;
  font-size: clamp(1rem, 2vw, 1.3rem) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  font-weight: 700 !important;
  margin: 0 0 1.5rem 0 !important;
}

/* Grid of cards — matches the existing wp:query loop layout */
.pfund-people-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

/* Each card: vertical stack inside a border */
.pfund-person-card {
  display: flex;
  flex-direction: column;
  border: 2px solid var(--c-dark);
  overflow: hidden;
}

/* Photo: flush to top, square crop */
.pfund-person-photo-wrap {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  flex-shrink: 0;
}

.pfund-person-photo {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: top center !important;
  display: block;
}

.pfund-person-photo--placeholder {
  width: 100%;
  height: 100%;
  background: var(--c-pink-light);
}

/* Text area below the photo */
.pfund-person-body {
  padding: 1.25rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.pfund-person-name {
  font-family: var(--font-heading) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  margin: 0 0 0.6rem 0 !important;
  line-height: 1.3 !important;
}

.pfund-person-pronouns {
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  color: #555;
}

.pfund-person-bio {
  font-size: 0.9rem;
  line-height: 1.65;
  color: var(--c-dark);
}

.pfund-person-bio p {
  margin: 0 0 0.6rem 0;
}

.pfund-person-bio p:last-child {
  margin-bottom: 0;
}

/* Mobile: 2 col then 1 col */
@media (max-width: 860px) {
  .pfund-people-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 500px) {
  .pfund-people-list {
    grid-template-columns: 1fr;
  }
}

/* ─── END PEOPLE SECTION ──────────────────────────────────────────────────── */

/* ─── CALENDAR SECTION ──────────────────────────────────────────────────── */

button.tribe-common-c-btn-icon.tribe-common-c-btn-icon--caret-left.tribe-events-c-top-bar__nav-link.tribe-events-c-top-bar__nav-link--prev {
    display: none;
}

button.tribe-common-c-btn-icon.tribe-common-c-btn-icon--caret-right.tribe-events-c-top-bar__nav-link.tribe-events-c-top-bar__nav-link--next {
    display: none;
}

a.tribe-common-c-btn-border-small.tribe-events-c-top-bar__today-button.tribe-common-a11y-hidden {
    border-radius: 0 !important;
    font-family: var(--font-display) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    font-size: 1rem !important;
    text-decoration: none !important;
    transition: all .2s !important;
    background: transparent !important;
    color: var(--c-dark) !important;
    border: 2px solid var(--c-dark) !important;
    padding: 10px 20px !important;
}

a.tribe-common-c-btn-border-small.tribe-events-c-top-bar__today-button.tribe-common-a11y-hidden:hover {
	background: var(--c-dark) !important;
    color: #fff !important;
}

.tribe-events-c-subscribe-dropdown {
    display: none;
}

button.day {
    border: none !important;
}

button.tribe-events-c-nav__next.tribe-common-b2.tribe-common-b1--min-medium, button.tribe-events-c-nav__prev.tribe-common-b2.tribe-common-b1--min-medium {
    background-color: initial!important;
    background-image: none!important;
    border: none!important;
    border-radius: 0!important;
    box-shadow: none!important;
    color: var(--tec-color-text-disabled)!important;
    cursor: default!important;
    font-size: 1rem!important;
    font-style: normal!important;
    outline: none!important;
    padding: 0!important;
    pointer-events: none!important;
    -webkit-text-decoration: none!important;
    text-decoration: none!important;
    text-shadow: none!important;
}

button.tribe-common-c-btn__clear.tribe-common-h3.tribe-common-h--alt.tribe-events-c-top-bar__datepicker-button {
    border: none !important;
}

.tribe-events .datepicker .datepicker-switch {
    color: var(--tec-color-text-primary);
    font-family: var(--tec-font-family-sans-serif);
    font-size: var(--tec-font-size-3);
    font-weight: var(--tec-font-weight-regular);
    line-height: var(--tec-line-height-3);
    border: none !important;
}

button.next, button.prev {
    border: none !important;
}

button.next:hov, button.prev:hov {
    border: 1px solid black!important;
}


/* ─── END CALENDAR SECTION ──────────────────────────────────────────────────── */