/*
Theme Name: Twenty Twenty-Five Child
Description: Child theme of Twenty Twenty-Five for Brinson Foundation
Template: twentytwentyfive
Version: 1.0.11
*/

/* ================================
   IMAGE ALT TEXT TOOLTIP ON HOVER
   ================================ */
figure[data-alt],
.hero-bleed[data-alt],
.wp-block-cover[data-alt] {
  position: relative !important;
}

figure[data-alt]::before,
.hero-bleed[data-alt]::before,
.wp-block-cover[data-alt]::before {
  content: attr(data-alt) !important;
  position: absolute !important;
  bottom: 20px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background: rgba(0, 0, 0, 0.2) !important;
  color: #ffffff !important;
  padding: 10px 16px !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  text-align: center !important;
  white-space: normal !important;
  max-width: calc(100% - 40px) !important;
  width: max-content !important;
  z-index: 100000 !important;
  pointer-events: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity 0.3s ease, visibility 0.3s ease !important;
}

figure[data-alt]:hover::before,
.hero-bleed[data-alt]:hover::before,
.wp-block-cover[data-alt]:hover::before {
  opacity: 1 !important;
  visibility: visible !important;
}

figure[data-alt] img,
.hero-bleed[data-alt] img,
.wp-block-cover[data-alt] img {
  cursor: help !important;
}

/* ================================
   SEARCH BOX
   ================================ */
.brinson-search-box { display: inline-block !important; }
.brinson-search-box .wp-block-search__inside-wrapper {
  background-color: transparent !important;
  border: 1px solid #4a9cc2 !important;
  border-radius: 4px !important;
  display: flex !important;
  align-items: stretch !important;
  overflow: hidden !important;
  height: 32px !important;
  box-sizing: border-box !important;
}
.brinson-search-box .wp-block-search__input {
  background-color: transparent !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 6px 12px !important;
  font-size: 14px !important;
  height: 100% !important;
  box-sizing: border-box !important;
  flex: 1 !important;
  outline: none !important;
}
.brinson-search-box .wp-block-search__button {
  background-color: transparent !important;
  color: #4a9cc2 !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 6px 12px !important;
  height: 100% !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.brinson-search-box .wp-block-search__button:hover { background-color: #4a9cc2 !important; color: #ffffff !important; }
.brinson-search-box .wp-block-search__button svg { fill: currentColor !important; width: 16px !important; height: 16px !important; }
.brinson-search-box .wp-block-search__input::placeholder { color: #b8d4e3 !important; opacity: 1; }
.brinson-search-box .wp-block-search__inside-wrapper:focus-within { border-color: #6bb6d6 !important; box-shadow: 0 0 0 1px #6bb6d6 !important; }

body.home {
  background-color: var(--wp--preset--color--brand-blue);
  color: var(--wp--preset--color--base);
}
body.home .wp-site-blocks {
  color: inherit;
}

/* =========================================
   LAYOUT TWEAKS
   ========================================= */
/* Home only: remove the gap after the header template part */
.home :where(.wp-site-blocks) > .wp-block-template-part + * {
  margin-block-start: 0;
}

/* Yellow header bar */
header.wp-block-template-part > .wp-block-group.has-brand-gold-background-color {
  height: 40px;
  padding-top: 0;
  padding-bottom: 0;
  display: flex;
  align-items: center;
}

/* Header: share global padding/width rails */
header.wp-block-template-part > .wp-block-group.alignfull.has-brand-blue-background-color,
header.wp-block-template-part > .wp-block-group.alignfull.has-brand-gold-background-color {
  padding-inline: clamp(16px, 4vw, 48px);
}

header.wp-block-template-part > .wp-block-group.alignfull.has-brand-blue-background-color > .wp-block-group.alignwide,
header.wp-block-template-part > .wp-block-group.alignfull.has-brand-gold-background-color > .wp-block-group.alignwide {
  width: min(var(--wp--style--global--wide-size, 1200px), 100%);
  margin-inline: auto;
}

/* Home: remove the global block-gap after the HEADER only */
.home .wp-site-blocks > header.wp-block-template-part + * {
  margin-block-start: 0;
}

/* Home: also neutralize the first image’s own top margin inside that first section */
.home header.wp-block-template-part + * .wp-block-image:first-of-type {
  margin-block-start: 0;
}

/* Home: ensure the header itself contributes no bottom space */
.home header[role="banner"] {
  margin-block-end: 0;
  padding-block-end: 0;
}

/* Home: keep hero sections tight against adjacent gold bars */
.home .hero-bleed + .wp-block-group.gold-bar { margin-block-start: 0; }
.home .wp-block-group.gold-bar + .hero-bleed { margin-block-start: 0; }

/* Home: keep gold bar tight when it follows a mobile heading (which comes after hero) */
@media (min-width: 769px) {
  .home .hero-mobile-heading + .wp-block-group.gold-bar { 
    margin-block-start: 0 !important; 
  }
}

/* Home: add breathing room between gold bars and column content */
.home .wp-block-columns + .wp-block-group.gold-bar,
.home .wp-block-group.gold-bar + .wp-block-columns {
  margin-block-start: clamp(12px, 1.5vw, 24px);
}

/* Home: inset column text so it lines up with surrounding imagery */
.home .wp-block-columns.alignwide > .wp-block-column {
  padding-inline: clamp(12px, 2vw, 28px);
  box-sizing: border-box;
}

/* Home: make groups after hero sections behave like alignwide with matching inset (but not gold bars) */
.home .hero-bleed + .wp-block-group:not(.gold-bar) {
  max-width: var(--wp--style--global--wide-size, 1200px);
  margin-inline: auto;
  padding-inline: clamp(12px, 2vw, 28px);
  box-sizing: border-box;
}

/* Safety: ensure the gold bar itself isn’t adding space below */
.home .wp-block-group.gold-bar { margin-block-end: 0; }

/* Mobile: Add spacing below the gold bar on mobile only */
@media (max-width: 768px) {
  .home .wp-block-group.gold-bar { 
    margin-block-end: clamp(32px, 8vw, 52px) !important; 
  }
}

/* Brinson Template 2: remove the space between the header and page title bar */
body.page-template-page-brinson-page-template-2 header[role="banner"],
body.page-template-page-brinson-page-template-2-php header[role="banner"] {
  margin-block-end: 0;
  padding-block-end: 0;
}

body.page-template-page-brinson-page-template-2 :where(.wp-site-blocks) > header.wp-block-template-part + *,
body.page-template-page-brinson-page-template-2-php :where(.wp-site-blocks) > header.wp-block-template-part + * {
  margin-block-start: 0;
}

body.page-template-page-brinson-page-template-2 header.wp-block-template-part + p,
body.page-template-page-brinson-page-template-2 main.page-type-01 + p {
  margin: 0;
  padding: 0;
  display: none;
}

body.page-template-page-brinson-page-template-2 main.page-type-03 + p {
  margin: 0;
  padding: 0;
  display: none;
}

body.page-template-page-brinson-page-template-2 .wp-block-shortcode {
  margin: 0;
  padding: 0;
}

body.page-template-page-brinson-page-template-2 main.page-type-01 {
  margin-block-start: 0;
}

body.page-template-page-brinson-page-template-2 main.page-type-03 {
  margin-block-start: 0;
}

body.page-template-page-brinson-page-template-2 .wp-site-blocks {
  padding-top: 0;
  padding-bottom: 0;
}

/* Editor: mirror the home-page spacing when previewing blocks */
.editor-styles-wrapper .hero-bleed + .wp-block-group.gold-bar,
.editor-styles-wrapper .wp-block-group.gold-bar + .hero-bleed {
  margin-block-start: 0;
}
.editor-styles-wrapper .wp-block-columns + .wp-block-group.gold-bar,
.editor-styles-wrapper .wp-block-group.gold-bar + .wp-block-columns {
  margin-block-start: clamp(12px, 1.5vw, 24px);
}
.editor-styles-wrapper .wp-block-group.gold-bar { margin-block-end: 0; }

/* ==========================
   PAGE TEMPLATE: PAGE TYPE 01
   ========================== */
main.page-type-01 {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
  padding-block: 0;
  background-color: var(--wp--preset--color--base);
}

main.page-type-03 {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
  padding-block: 0;
  background-color: var(--wp--preset--color--base);
}

.wp-site-blocks > main.page-type-01 {
  margin-block-start: 0;
  margin-block-end: 0;
}

.wp-site-blocks > main.page-type-03 {
  margin-block-start: 0;
  margin-block-end: 0;
}

.wp-site-blocks > main.page-type-01 + footer.wp-block-template-part {
  margin-block-start: 0;
}

.wp-site-blocks > main.page-type-03 + footer.wp-block-template-part {
  margin-block-start: 0;
}

.page-type-01__title-bar {
  margin-block: 0;
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-inline: clamp(16px, 4vw, 48px);
  text-align: center;
  background-color: var(--wp--preset--color--brand-blue);
}

.page-type-03__title-bar {
  margin-block: 0;
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-inline: clamp(16px, 4vw, 48px);
  text-align: center;
  background-color: var(--wp--preset--color--brand-blue);
}

/* Page Title Styling */
.page-type-01__title-bar .wp-block-post-title {
  margin: 0;
  color: var(--wp--preset--color--base);
  font-weight: 500;
  font-size: clamp(0.95rem, 0.7vw + 0.55rem, 1.125rem) !important;
  line-height: 40px;
}

.page-type-03__title-bar .wp-block-post-title {
  margin: 0;
  color: var(--wp--preset--color--base);
  font-weight: 500;
  font-size: clamp(0.95rem, 0.7vw + 0.55rem, 1.125rem) !important;
  line-height: 40px;
}

.page-type-01__featured,
.page-type-03__featured {
  margin-block-start: 0;
  margin-block-end: 0;
  display: block;
  width: 100%;
  max-width: 1600px !important;
  margin-inline: auto;
}

.page-type-01__featured img,
.page-type-03__featured img {
  display: block;
  width: 100%;
  height: auto;
}

.page-type-01__content-section {
  color: var(--wp--preset--color--contrast);
  box-shadow: none;
  margin-block-end: 0;
  padding-block-start: clamp(1px, 1.25vw, 0px);
  padding-block-end: clamp(48px, 6vw, 96px);
}

.page-type-03__content-section {
  color: var(--wp--preset--color--contrast);
  box-shadow: none;
  margin-block-end: 0;
  padding-block-start: clamp(1px, 1.25vw, 0px);
  padding-block-end: clamp(48px, 6vw, 96px);
}

.page-type-03__tagline {
  margin: 0;
  text-align: center;
}

.page-type-03__tagline .wp-block-post-meta,
.page-type-03__tagline .wp-block-post-meta > span,
.page-type-03__tagline .brinson-tagline {
  display: block;
  color: var(--wp--preset--color--brand-gold);
  font-size: clamp(1.05rem, 0.7vw + 0.9rem, 1.35rem);
  font-weight: 500;
  letter-spacing: 0.01em;
  margin: 0;
  white-space: pre-wrap;
}

.page-type-01__featured figcaption,
.page-type-03__featured figcaption,
.page-type-fellows__featured figcaption {
  display: block;
  margin: clamp(2px, 0.5vw, 8px) 20px 0 0;
  text-align: right;
  font-size: clamp(0.75rem, 0.4vw + 0.65rem, 0.9rem);
  font-weight: 500;
  letter-spacing: 0.01em;
  color: rgba(17, 17, 17, 0.7);
}

.page-type-01__featured figcaption::after,
.page-type-03__featured figcaption::after,
.page-type-fellows__featured figcaption::after {
  content: " ▲";
  font-size: 0.75em;
  color: currentColor;
}

.page-type-01__featured figcaption a,
.page-type-03__featured figcaption a,
.page-type-fellows__featured figcaption a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid transparent;
}

.page-type-01__featured figcaption a:hover,
.page-type-01__featured figcaption a:focus,
.page-type-03__featured figcaption a:hover,
.page-type-03__featured figcaption a:focus,
.page-type-fellows__featured figcaption a:hover,
.page-type-fellows__featured figcaption a:focus {
  color: var(--wp--preset--color--brand-gold);
  border-bottom-color: currentColor;
}

/* Ensure content panel respects the global content size */
.brinson_content-panel {
  max-width: var(--wp--style--global--content-size);
  margin-left: auto;
  margin-right: auto;
}

.brinson_content-panel h2 a {
  font-size: 18px;
  font-weight: 700;
  color: var(--wp--preset--color--brand-gold);
  text-decoration: none;
}

.brinson_content-panel h2 a:hover,
.brinson_content-panel h2 a:focus {
  text-decoration: underline;
  text-decoration-color: var(--wp--preset--color--brand-gold);
}

/* Brinson Page Template 1 H2 Links (Frontend) */
body.page-template-page-brinson-page-template-1 h2 a,
body.page-template-page-brinson-page-template-1-php h2 a,
.page-template-brinson-page-template-1 h2 a {
  font-size: 18px;
  font-weight: 700;
  color: var(--wp--preset--color--brand-gold);
  text-decoration: none;
}

body.page-template-page-brinson-page-template-1 h2 a:hover,
body.page-template-page-brinson-page-template-1 h2 a:focus,
body.page-template-page-brinson-page-template-1-php h2 a:hover,
body.page-template-page-brinson-page-template-1-php h2 a:focus,
.page-template-brinson-page-template-1 h2 a:hover,
.page-template-brinson-page-template-1 h2 a:focus {
  text-decoration: none !important;
  color: #2f78af !important;
}

/* Brinson Page Template 1 Navigation Block (Grantseekers Menu) */
.brinson_content-panel .wp-block-navigation .wp-block-navigation__container {
  row-gap: 1em !important;
}

.brinson_content-panel .wp-block-navigation a,
.brinson_content-panel .wp-block-navigation .wp-block-navigation-item__content {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--wp--preset--color--brand-gold) !important;
  text-decoration: none;
}

.brinson_content-panel .wp-block-navigation a:hover,
.brinson_content-panel .wp-block-navigation a:focus,
.brinson_content-panel .wp-block-navigation .wp-block-navigation-item__content:hover,
.brinson_content-panel .wp-block-navigation .wp-block-navigation-item__content:focus,
.brinson_content-panel .wp-block-navigation .current-menu-item > a,
.brinson_content-panel .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content {
  text-decoration: none !important;
  color: #2f78af !important;
}

/* Mobile: ensure only current page shows blue, not Legal Requirements by default */
@media (max-width: 700px) {
  .brinson_content-panel .wp-block-navigation .wp-block-navigation-item:not(.current-menu-item) > a,
  .brinson_content-panel .wp-block-navigation .wp-block-navigation-item:not(.current-menu-item) > .wp-block-navigation-item__content {
    color: var(--wp--preset--color--brand-gold) !important;
  }

  /* Remove focus outline box from navigation items on mobile */
  .brinson_content-panel .wp-block-navigation a,
  .brinson_content-panel .wp-block-navigation .wp-block-navigation-item__content {
    outline: none !important;
  }
}

.page-type-fellows__featured {
  position: relative;
  margin-block-start: 0;
  margin-block-end: 0;
  display: block;
  width: 100%;
  max-width: 1600px !important;
  margin-inline: auto;
  min-height: 271px;
}

.page-type-fellows__featured img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.page-type-fellows__featured::after {
  content: attr(data-hero-text);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: clamp(20px, 5vw, 80px) clamp(20px, 4vw, 40px) 0;
  color: var(--wp--preset--color--contrast);
  font-size: 26px;
  line-height: 1.4;
  pointer-events: none;
}

.page-type-fellows__content {
  margin: 0;
  padding-top: clamp(2px, 1vw, 2px);
  box-shadow: none;
  color: var(--wp--preset--color--contrast);
}

.page-type-fellows .wp-block-post-content {
  margin: 0;
  margin-bottom: clamp(40px, 5vw, 80px);
}

/* Remove global padding on fellowship pages, we'll control it ourselves */
.page-type-fellows .wp-block-post-content.has-global-padding {
  padding-left: 0;
  padding-right: 0;
}

/* Apply proper constraints to groups inside fellowship content */
.page-type-fellows .wp-block-post-content > .wp-block-group {
  max-width: var(--wp--style--global--content-size);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--wp--preset--spacing--50);
  padding-right: var(--wp--preset--spacing--50);
}

/* Fix excessive white space on mobile Fellowship pages */
@media (max-width: 700px) {
  /* Remove min-height constraint - forces natural image sizing on mobile.
     Desktop min-height (271px) creates ~173px of empty space when mobile image scales to ~98px. */
  .page-type-fellows__featured {
    min-height: 0 !important;
  }
}

.page-type-fellows .brinson-fellows-list__title {
  display: none;
}

.has-lead-font-size,
.brinson_content-panel .has-lead-font-size {
  color: var(--wp--preset--color--brand-gold);
  font-weight: 300;
  font-size: var(--wp--preset--font-size--lead);
  line-height: 1.25;
  margin-block-end: clamp(12px, 2vw, 24px);
}

.brinson_content_panel {
  margin: 0 auto;
  padding-block: clamp(8px, 1.5vw, 20px);
  /* Width now follows the global content size defined in theme.json. */
}

.brinson_content_panel,
.brinson_content_panel p,
.brinson_content_panel li {
  font-size: clamp(0.95rem, 0.5vw + 0.8rem, 1.0625rem);
  line-height: 1.65;
  font-weight: 300;
  color: var(--wp--preset--color--contrast);
}

.brinson_content_panel > h2:first-of-type {
  font-size: clamp(1.35rem, 1.1vw + 1rem, 1.75rem);
  font-weight: 600;
  margin-bottom: clamp(16px, 3vw, 28px);
}

.brinson_content_panel h1 {
  font-size: clamp(1.1rem, 0.8vw + 0.9rem, 1.4rem);
  font-style: italic;
  font-weight: 600;
  margin-block: clamp(18px, 2.5vw, 32px) clamp(8px, 2vw, 16px);
}

.brinson_content_panel h2 {
  font-size: clamp(1.05rem, 0.7vw + 0.85rem, 1.3rem);
  font-weight: 600;
}

.brinson_content_panel > h2:not(:first-of-type) {
  margin-block: clamp(20px, 2.8vw, 34px) clamp(8px, 2vw, 18px);
}

.brinson_content_panel ul {
  padding-left: clamp(18px, 2vw, 28px);
  margin-block: clamp(6px, 1.5vw, 18px) clamp(16px, 3vw, 24px);
  list-style-position: outside;
}

.brinson_content_panel ul li {
  margin-block: clamp(4px, 1vw, 10px);
}

.brinson_content_panel ul li::marker {
  color: #4a9cc2;
}

.brinson_content_panel a {
  color: #3f8fcb;
  font-weight: 400;
}

.brinson_content_panel a:hover,
.brinson_content_panel a:focus {
  color: #2f78af;
  text-decoration: none;
}

.brinson_content_panel > *:first-child {
  margin-block-start: 0;
}
.brinson_content_panel > *:last-child {
  margin-block-end: 0;
}

/* Editor parity */
.editor-styles-wrapper .page-type-01__title-bar {
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-inline: clamp(16px, 4vw, 48px);
  text-align: center;
}
.editor-styles-wrapper .page-type-03__title-bar {
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-inline: clamp(16px, 4vw, 48px);
  text-align: center;
}
.editor-styles-wrapper .page-type-01__title-bar .wp-block-post-title {
  margin: 0;
  color: var(--wp--preset--color--base);
  font-weight: 500;
  font-size: clamp(0.95rem, 0.7vw + 0.55rem, 1.125rem) !important;
  line-height: 40px;
  letter-spacing: 0.01em;
}
.editor-styles-wrapper .page-type-03__title-bar .wp-block-post-title {
  margin: 0;
  color: var(--wp--preset--color--base);
  font-weight: 500;
  font-size: clamp(0.95rem, 0.7vw + 0.55rem, 1.125rem) !important;
  line-height: 40px;
  letter-spacing: 0.01em;
}
.editor-styles-wrapper .page-type-01__content-section {
  color: var(--wp--preset--color--contrast);
  box-shadow: none;
  margin-block-end: 0;
}
.editor-styles-wrapper .page-type-03__content-section {
  color: var(--wp--preset--color--contrast);
  box-shadow: none;
  margin-block-end: 0;
}
.editor-styles-wrapper .page-type-03__tagline {
  margin: 0;
  text-align: center;
}
.editor-styles-wrapper .page-type-03__tagline .wp-block-post-meta,
.editor-styles-wrapper .page-type-03__tagline .wp-block-post-meta > span,
.editor-styles-wrapper .page-type-03__tagline .brinson-tagline {
  display: block;
  color: var(--wp--preset--color--brand-gold);
  font-size: clamp(1.05rem, 0.7vw + 0.9rem, 1.35rem);
  font-weight: 500;
  letter-spacing: 0.01em;
  margin: 0;
  white-space: pre-wrap;
}
.editor-styles-wrapper .page-type-01__featured figcaption,
.editor-styles-wrapper .page-type-03__featured figcaption {
  display: block;
  margin: clamp(2px, 0.5vw, 8px) clamp(20px, 4vw, 48px) 0;
  text-align: right;
  font-size: clamp(0.75rem, 0.4vw + 0.65rem, 0.9rem);
  font-weight: 500;
  letter-spacing: 0.01em;
  color: rgba(17, 17, 17, 0.7);
}
.editor-styles-wrapper .page-type-01__featured figcaption::after,
.editor-styles-wrapper .page-type-03__featured figcaption::after {
  content: " ▲";
  font-size: 0.75em;
  color: currentColor;
}
.editor-styles-wrapper .has-lead-font-size,
.editor-styles-wrapper .brinson_content-panel .has-lead-font-size {
  color: var(--wp--preset--color--brand-gold);
  font-weight: 300;
  font-size: var(--wp--preset--font-size--lead);
  line-height: 1.25;
  margin-block-end: clamp(12px, 2vw, 24px);
}
.editor-styles-wrapper .brinson_content_panel {
  margin: 0 auto;
  padding-block: clamp(8px, 1.5vw, 20px);
  /* Editor view inherits width from global content size in theme.json. */
}

.editor-styles-wrapper .brinson_content_panel,
.editor-styles-wrapper .brinson_content_panel p,
.editor-styles-wrapper .brinson_content_panel li {
  font-size: clamp(0.95rem, 0.5vw + 0.8rem, 1.0625rem);
  line-height: 1.65;
  font-weight: 300;
  color: var(--wp--preset--color--contrast);
}

.editor-styles-wrapper .brinson_content_panel > h2:first-of-type {
  font-size: clamp(1.35rem, 1.1vw + 1rem, 1.75rem);
  font-weight: 600;
  margin-bottom: clamp(16px, 3vw, 28px);
}

.editor-styles-wrapper .brinson_content_panel h1 {
  font-size: clamp(1.1rem, 0.8vw + 0.9rem, 1.4rem);
  font-style: italic;
  font-weight: 600;
  margin-block: clamp(18px, 2.5vw, 32px) clamp(8px, 2vw, 16px);
}

.editor-styles-wrapper .brinson_content_panel h2:not(:first-of-type) {
  font-size: clamp(1.05rem, 0.7vw + 0.85rem, 1.3rem);
  font-weight: 600;
  margin-block: clamp(20px, 2.8vw, 34px) clamp(8px, 2vw, 18px);
}



.editor-styles-wrapper .brinson_content_panel ul {
  padding-left: clamp(18px, 2vw, 28px);
  margin-block: clamp(6px, 1.5vw, 18px) clamp(16px, 3vw, 24px);
}

.editor-styles-wrapper .brinson_content_panel ul li {
  margin-block: clamp(4px, 1vw, 10px);
}

.editor-styles-wrapper .brinson_content_panel ul li::marker {
  color: #4a9cc2;
}


.page-template-02__intro {
  padding-block: clamp(20px, 3vw, 36px);
}

.page-template-02__intro-inner {
  margin-inline: auto;
  max-width: min(60ch, 100%);
  text-align: center;
  color: var(--wp--preset--color--brand-gold);
  font-size: clamp(1.1rem, 0.6vw + 0.95rem, 1.35rem);
  font-weight: 500;
  letter-spacing: 0.01em;
}

.page-template-02__intro-inner p,
.page-template-02__intro-inner h1,
.page-template-02__intro-inner h2,
.page-template-02__intro-inner h3 {
  color: inherit;
  margin-block: 0;
}

.page-template-02__intro .brinson_content-panel > *:first-child {
  margin-block-start: 0;
}

.page-template-02__intro + .page-type-01__featured {
  margin-block-start: 0;
}

.page-template-02__intro + .page-type-03__featured {
  margin-block-start: 0;
}
/* ==========================
   PRIMARY NAVIGATION
   ========================== */
.brinson-header__bar {
  margin: 0 auto;
  width: min(1120px, 100%);
  padding: clamp(12px, 2vw, 20px) clamp(20px, 4vw, 48px);
  gap: clamp(16px, 4vw, 36px);
}

.brinson-menu-nav {
  width: 100%;
  display: flex;
  justify-content: center;
}


.brinson-menu-wrapper {
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 48px);
  position: relative;
  z-index: 5;
  width: min(1120px, 100%);
  box-sizing: border-box;
}

  .brinson-menu-wrapper > p {
  margin: 0;
}

.brinson-menu-toggle {
  display: none;
  width: 100%;
  margin: 0;
  border: 1px solid rgba(17, 17, 17, 0.35);
  background: transparent;
  color: var(--wp--preset--color--base);
  border-radius: 4px;
  padding: 10px 18px;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  gap: 12px;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.brinson-menu-toggle:hover,
.brinson-menu-toggle:focus-visible {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(17, 17, 17, 0.45);
  outline: none;
}

.brinson-menu-toggle__label {
  line-height: 1;
}

.brinson-menu-toggle__icon {
  position: relative;
  width: 18px;
  height: 12px;
  display: inline-flex;
  flex-direction: column;
  justify-content: space-between;
}

.brinson-menu-toggle__icon span {
  display: block;
  width: 100%;
  height: 2px;
  background: currentColor;
  border-radius: 999px;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.brinson-menu-toggle.is-active .brinson-menu-toggle__icon span:nth-child(1) {
  transform: translateY(5px) rotate(45deg);
}

.brinson-menu-toggle.is-active .brinson-menu-toggle__icon span:nth-child(2) {
  opacity: 0;
}

.brinson-menu-toggle.is-active .brinson-menu-toggle__icon span:nth-child(3) {
  transform: translateY(-5px) rotate(-45deg);
}

/* ==========================
   FOOTER
   ========================== */
.brinson-footer__gold {
  height: 12px;
  min-height: 0;
}

.brinson-footer__main {
  padding-inline: clamp(20px, 4vw, 48px);
  color: var(--wp--preset--color--base);
}

.brinson-footer__inner {
  margin: 0 auto;
  width: min(480px, 100%);
  text-align: center;
  gap: clamp(12px, 2vw, 20px);
}

.brinson-footer__inner .wp-block-site-logo {
  margin: 0 auto clamp(16px, 2.5vw, 24px);
}

.brinson-footer__inner p {
  margin: 0;
  color: inherit;
}

.brinson-footer__link a {
  color: inherit;
  text-decoration: none;
}

.brinson-footer__link a:hover,
.brinson-footer__link a:focus {
  text-decoration: underline;
}
.brinson-menu {
  display: flex;
  align-items: center;
  gap: clamp(12px, 1.8vw, 22px);
  list-style: none;
  margin: 0;
  padding: 0;
}

.brinson-menu-nav {
  margin-top: 0px;
}

.brinson-menu > li {
  position: relative;
  margin: 0;
}

.brinson-menu > li > a {
  display: flex;
  align-items: center;
  font-size: 14px;
  font-weight: 400;
  color: var(--wp--preset--color--base);
  text-decoration: none;
  padding: clamp(12px, 1vw, 16px) clamp(14px, 1.6vw, 22px);
}

@media (min-width: 701px) {
  .brinson-menu > li > a {
    padding-block: 8px;
    padding-inline: clamp(14px, 1.6vw, 22px);
  }
}

.brinson-menu > li:hover > a,
.brinson-menu > li:focus-within > a {
  color: #2f78af;
}

/* Mobile-only menu items */
@media (min-width: 701px) {
  .mobile-only-menu-item {
    display: none !important;
  }
}

.brinson-menu > li > .sub-menu {
  display: none;
  position: absolute;
  left: -1px;
  top: calc(100% - 6px);
  list-style: none;
  margin: 0;
  padding: clamp(8px, 0.9vw, 14px) clamp(18px, 2vw, 24px);
  background: var(--wp--preset--color--brand-gold);
  color: var(--wp--preset--color--base);
  min-width: clamp(240px, 26vw, 340px);
  max-width: 360px;
  box-shadow: none;
  z-index: 10;
}

.brinson-menu > li:hover > .sub-menu,
.brinson-menu > li:focus-within > .sub-menu {
  display: block;
}

.brinson-menu .sub-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.brinson-menu .sub-menu a {
  color: var(--wp--preset--color--base);
  text-decoration: none;
  display: block;
  font-size: 14px;
  line-height: 1.8;
}

.brinson-menu .sub-menu a:hover,
.brinson-menu .sub-menu a:focus {
  color: #2f78af;
  text-decoration: none;
}

.brinson-menu .sub-menu .sub-menu a {
  padding-left: 16px;
}

@media (max-width: 700px) {
  /* Make header logo same size as footer logo on mobile */
  header.wp-block-template-part .wp-block-site-logo img {
    width: 220px !important;
    max-width: 220px !important;
    height: auto;
  }

  /* Center the logo on mobile */
  header.wp-block-template-part .wp-block-group.alignwide {
    justify-content: center !important;
  }

  /* Hide search box on mobile */
  header.wp-block-template-part .brinson-search-box,
  header.wp-block-template-part form.brinson-search-box {
    display: none !important;
  }

  .brinson-menu-wrapper {
    width: 100%;
    padding-inline: clamp(12px, 4vw, 24px);
    padding-bottom: clamp(12px, 4vw, 24px);
    padding-top: clamp(8px, 4vw, 14px);
    position: relative;
  }

  .has-brinson-collapsible-nav .brinson-menu-toggle {
    display: inline-flex;
    border: none;
  }

  .has-brinson-collapsible-nav .brinson-menu-nav {
    width: auto;
    display: none;
  }

.has-brinson-collapsible-nav .brinson-menu-nav.is-collapsible {
    position: absolute;
    left: clamp(12px, 4vw, 24px);
    right: clamp(12px, 4vw, 24px);
    top: calc(100% + 34px);
  border: 1px solid rgba(0, 0, 0, 0.35);
  border-radius: 12px;
  background: var(--wp--preset--color--brand-blue, #004a80);
  color: var(--wp--preset--color--base, #fff);
  padding: 12px 0 16px;
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.25);
    z-index: 20;
    max-height: min(70vh, 520px);
    overflow-y: auto;
    overflow-x: hidden;
  }

  .has-brinson-collapsible-nav .brinson-menu-nav.is-collapsible.is-open {
    display: block;
  }

  .has-brinson-collapsible-nav .brinson-menu {
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    width: 100%;
    padding-inline: 0;
  }

  .has-brinson-collapsible-nav .brinson-menu > li {
    flex: 0 0 auto;
    text-align: left;
    border-top: none;
  }

  .has-brinson-collapsible-nav .brinson-menu > li > a {
    width: 100%;
    padding: 16px 23px;
    justify-content: space-between;
    font-size: 16px;
    line-height: 1.35;
  }

  .has-brinson-collapsible-nav .brinson-menu > li > .sub-menu {
    position: static;
    max-width: none;
    min-width: 100%;
    padding: 0;
    box-shadow: none;
    background: transparent;
    border-left: 0;
    margin-top: 6px;
    display: block;
  }

  .has-brinson-collapsible-nav .brinson-menu > li > .sub-menu > li {
    padding-left: 28px;
  }

  .has-brinson-collapsible-nav .brinson-menu .sub-menu a {
    display: block;
    width: 100%;
    padding: 11px 0;
    color: inherit;
    font-size: 15px;
    line-height: 1.35;
    text-decoration: none;
  }

  .has-brinson-collapsible-nav .brinson-menu .sub-menu .sub-menu a {
    padding-left: 24px;
    border-left: 0;
    margin-top: 2px;
  }
}

/* ==========================
   GOLD BAR (Row banner)
   ========================== */
@media (min-width: 701px) {
  .wp-block-group.gold-bar {
    background: var(--wp--preset--color--brand-gold);
    color: var(--wp--preset--color--base);
    height: 64px;
    padding-block: 0;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    gap: clamp(12px, 2vw, 28px);
    border-radius: 0;
  }
  .wp-block-group.gold-bar h2,
  .wp-block-group.gold-bar h3 {
    margin: 0;
    line-height: 1.1;
    white-space: nowrap;
  }
  .wp-block-group.gold-bar a { color: currentColor; text-decoration: none; }
  .wp-block-group.gold-bar a:hover { text-decoration: underline; }
  .wp-block-group.gold-bar a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
}
@media (max-width: 700px) {
  .wp-block-group.gold-bar {
    background: var(--wp--preset--color--brand-gold);
    color: var(--wp--preset--color--base);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    height: auto;
    padding-block: 12px;
    row-gap: 8px;
    border-radius: 0;
  }
  .wp-block-group.gold-bar h2,
  .wp-block-group.gold-bar h3 { white-space: normal; }
  .wp-block-group.gold-bar a { 
    color: var(--wp--preset--color--base);
    text-decoration: none; 
  }
  .wp-block-group.gold-bar a:hover { 
    text-decoration: underline; 
  }
}

/* Home: make the gold bar and adjacent columns share a max width and gap */
@media (min-width: 701px) {
  .home .wp-block-group.gold-bar {
    --priority-wide: min(var(--wp--style--global--wide-size, 1200px), 100%);
    --priority-gap: clamp(32px, calc(max(0px, (100vw - var(--priority-wide)) / 4) + 32px), 240px);
    background: var(--wp--preset--color--brand-gold);
    color: var(--wp--preset--color--base);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--priority-gap);
    padding-block: 0;
    padding-inline: calc((100vw - var(--priority-wide)) / 2);
  }

  .home .wp-block-group.gold-bar > * {
    flex: 1 1 0;
    text-align: center;
  }

  .home .wp-block-group.gold-bar + .wp-block-columns {
    --priority-wide: min(var(--wp--style--global--wide-size, 1200px), 100%);
    --priority-gap: clamp(32px, calc(max(0px, (100vw - var(--priority-wide)) / 4) + 32px), 240px);
    gap: var(--priority-gap);
    justify-content: space-between;
    max-width: var(--priority-wide);
    width: var(--priority-wide);
    margin-inline: auto;
  }

  .home .wp-block-group.gold-bar + .wp-block-columns > .wp-block-column {
    flex: 1 1 0;
  }
}

/* ==========================
   GOLD BAR THIN
   ========================== */
.wp-block-group.gold-bar-thin {
  background-color: var(--wp--preset--color--brand-gold);
  height: 32px;
  min-height: 32px;
  
  /* Use blue borders to simulate "blue space" around the gold bar */
  border-block-start: var(--wp--preset--spacing--50) solid var(--wp--preset--color--brand-blue);
  border-block-end: var(--wp--preset--spacing--50) solid var(--wp--preset--color--brand-blue);
  box-sizing: content-box;
}

/* ==========================
   HOME PAGE LINKS
   ========================== */
.home .wp-block-columns h2.wp-block-heading a {
  color: #ffffff;
/*  text-decoration: none; */
}

/* Hover state: Gold text */
.home .wp-block-columns h2.wp-block-heading a:hover {
  color: var(--wp--preset--color--brand-gold);
  text-decoration: underline;
}

/* ==========================
   FULL-BLEED, CENTERED, MAX-CAPPED HERO IMAGES
   ========================== */
.hero-bleed {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  display: flex;
  justify-content: center;
  position: relative; /* enables overlay */
}
.hero-bleed .wp-block-image img,
.hero-bleed > img {
  display: block;
  width: 100%;
  height: auto;
  max-width: var(--hero-max, 1600px);
}

.hero-bleed .hero-title {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-synthesis: none;            /* don’t fake bold/italic */
  font-synthesis-weight: none;     /* older UA compatibility */
}

/* Only keep the size you use right now */
.hero-1600 { --hero-max: 1600px; }

/* ==========================
   HERO OVERLAY TITLE (your pattern)
   ========================== */

/* Make the HEADING (with class hero-title) the overlay container */
.hero-bleed .hero-title {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(12px, 4vw, 56px);
  text-align: center;
  color: var(--wp--preset--color--base);
  z-index: 1;
}

/* Hero H1 — target ~56px on desktop, ~44px around 1024px, scale down on phones */
.hero-bleed h1.hero-title,
.hero-bleed .wp-block-heading.hero-title {
  font-weight: 300;
  margin: 0;
  line-height: 1.25; /* ~70px when 56px font-size */
  font-size: clamp(2rem, 2.2vw + 0.4rem, 4rem);
}

/* Alignment helpers if you add them to the heading */
.hero-bleed .hero-title--left   { justify-content: flex-start;  text-align: left; }
.hero-bleed .hero-title--right  { justify-content: flex-end;    text-align: right; }
.hero-bleed .hero-title--bottom { align-items: flex-end; }

/* Mobile heading (hidden on desktop, shown on mobile) */
.hero-mobile-heading {
  display: none;
  text-align: center;
  margin-top: var(--wp--preset--spacing--50);
  margin-bottom: var(--wp--preset--spacing--50);
  font-size: clamp(2rem, 5vw + 0.5rem, 3rem);
  font-weight: 300;
  line-height: 1.25;
}

/* Mobile: Hide overlay text, show heading below image */
@media (max-width: 768px) {
  .hero-bleed .hero-title {
    display: none !important;
  }
  
  .hero-mobile-heading {
    display: block;
  }
}

/* Editor: allow selecting/typing on the overlay */
.editor-styles-wrapper .hero-bleed .hero-title { pointer-events: auto; }

/* ============
   FOOTER
   ============ */
footer.wp-block-template-part {
  background-color: var(--wp--preset--color--brand-blue);
  color: var(--wp--preset--color--base);
  text-align: center;
  padding-top: 2rem;
  padding-bottom: 2rem;
  border-top: 32px solid var(--wp--preset--color--brand-gold);
}
footer.wp-block-template-part .wp-block-group { align-items: center; }
footer.wp-block-template-part .wp-block-site-logo { margin-bottom: 0; }
footer.wp-block-template-part .wp-block-site-logo.is-default-size img { width: 340px; }
footer.wp-block-template-part p { font-size: .9rem; line-height: 1.5; font-weight: 400; margin-bottom: 0; }
footer.wp-block-template-part .wp-block-site-url { margin-bottom: 0; }

/* ==========================
   25TH ANNIVERSARY FOOTER
   ========================== */
.brinson-footer__gold-25th,
.brinson-footer__gold-bottom {
  height: 12px;
  min-height: 0;
}

.brinson-footer__25th-anniversary {
  margin-block: 0;
}

.brinson-footer__25th-logo {
  margin-bottom: clamp(16px, 2vw, 24px);
}

.brinson-footer__25th-text {
  font-size: clamp(1rem, 1.2vw + 0.6rem, 1.25rem);
  font-weight: 300;
  margin: 0;
}

/* Style the separator as a gold bar in the footer */
footer.wp-block-template-part .wp-block-separator.has-brand-gold-background-color {
  height: 32px;
  border: none;
  margin: 0;
  opacity: 1;
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* ================================
   INVESTMENTS TABLE
   ================================ */
.brinson-investments-table {
    border-collapse: collapse;
    width: 100%;
    font-family: var(--wp--preset--font-family--open-sans, sans-serif);
    font-size: 0.9rem;
    margin-bottom: 2rem;
}

.brinson-investments-table table {
    border-collapse: collapse;
    width: 100%;
}

.brinson-investments-table th, 
.brinson-investments-table td {
    border: 1px solid #000;
    padding: 8px;
    vertical-align: top;
}

/* Header */
.brinson-investments-table thead tr,
.brinson-investments-table tbody tr:first-child {
    background-color: #005180; /* Brand Blue */
    color: #fff;
    font-weight: 500;
}

.brinson-investments-table tbody tr:first-child td {
    background-color: #005180;
    color: #fff;
    font-weight: 500;
}

/* Rows */
.brinson-investments-table tbody tr:nth-child(odd) {
    background-color: #F5F3EB; /* Super Lite Beige (Darkened) */
}

.brinson-investments-table tbody tr:nth-child(even) {
    background-color: #E1DBC9; /* Slightly Darker Beige */
}

/* Specific column widths and alignments */
.brinson-investments-table td:nth-child(1) { width: 25%; }
.brinson-investments-table td:nth-child(2) { width: 50%; }
.brinson-investments-table td:nth-child(3) { width: 10%; text-align: center; }
.brinson-investments-table td:nth-child(4) { width: 15%; text-align: center; }

/* Total Row - Assuming it's the last row */
.brinson-investments-table tbody tr:last-child {
    font-weight: 500;
}

/* Indented items */
.brinson-investments-table em {
    font-style: italic;
    padding-left: 1em;
    display: block;
}

/* Search results page - adjust search box styling */
.search .wp-block-search .wp-block-search__input {
  border-radius: 4px !important;
  padding: 0.5em 1em !important;
  font-size: 0.875rem !important;
  height: auto !important;
}

.search .wp-block-search .wp-block-search__button {
  border-radius: 4px !important;
  padding: 0.5em 1.25em !important;
  font-size: 0.875rem !important;
  margin-left: 0.5rem !important;
  height: auto !important;
}

/* ==========================
   GRANT SEEKERS TIMELINE TABLE
   ========================== */
.brinson-timeline-table table {
  border: 1px solid #000;
  border-collapse: collapse;
  width: 100%;
  font-size: 1rem;
}

.brinson-timeline-table table td {
  border: 1px solid #000;
  padding: 8px 12px;
  vertical-align: middle;
  line-height: 1;
  font-weight: 300;
}

/* Header row - lighter blue background */
.brinson-timeline-table table tbody tr:first-child td {
  background-color: #6aa1d4;
  color: white;
  text-align: center;
  font-size: 1rem;
}

/* First column - darker blue background */
.brinson-timeline-table table tbody tr td:first-child {
  background-color: #5091cd;
  color: white;
  text-align: center;
  font-size: 1rem;
}

/* Data cells - light blue background */
.brinson-timeline-table table tbody tr:not(:first-child) td:not(:first-child) {
  background-color: #cadef0;
  color: #5a5b5d;
  text-align: center;
  font-size: 1rem;
}

/* Ensure top-left cell (empty header) has darker blue */
.brinson-timeline-table table tbody tr:first-child td:first-child {
  background-color: #5091cd;
  padding-right: 30px;
}

/* Mobile responsiveness */
@media (max-width: 768px) {
  .brinson-timeline-table table {
    font-size: .75rem;
  }
  
  .brinson-timeline-table table td {
    padding: 6px 8px;
    font-size: .75rem !important;
  }
  
  .brinson-timeline-table table tbody tr:first-child td,
  .brinson-timeline-table table tbody tr td:first-child,
  .brinson-timeline-table table tbody tr:not(:first-child) td:not(:first-child) {
    font-size: .75rem !important;
  }
}

/* ================================
   TEXT ALIGNMENT UTILITIES
   ================================ */
.text-justify {
  text-align: justify !important;
}

