/* Oregon CURE Brand CSS */

/* === DOCUMENT LIBRARY: Strip page heading + meta rows from document category archives, leaving only the document title === */
body.tax-doc_categories .page-title {
  display: none;
}
.entry-card.type-dlp_document .entry-meta[data-id="meta_1"],
.entry-card.type-dlp_document .entry-meta[data-id="meta_2"] {
  display: none;
}

a:hover { color: #2C3E50; }

.wp-block-button a {
  text-decoration: none;
  font-weight: 500;
}

/* Stat card numbers */
.stat-number { color: #C8963E; font-family: Georgia, serif; }

/* Section backgrounds */
.bg-slate    { background-color: #2C3E50; }
.bg-stone    { background-color: #E8ECF0; }
.bg-offwhite { background-color: #F7F9FA; }
.bg-gold     { background-color: #C8963E; }
.bg-lime-light { background-color: #EDF7E0; }


.header-cta-button > a {
  background-color: #92D050 !important;
  color: #1A2B0A !important;
  padding: 10px 22px;
  border-radius: 5px;
  font-family: 'Trebuchet MS', sans-serif;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  display: inline-block;
  transition: background-color 0.2s ease;
}

.header-cta-button > a:hover {
  background-color: #7ab832 !important;
  color: #1A2B0A !important;
}

.mission-stat-card {
	border-radius: 6px;
	padding: 20px 5px;
	background-color: #E8ECF0;
}

.mission-stat-number {
	font-weight: 200;
  letter-spacing: -.04em;	
}

.gateway-card-button {
	width: 100%;
}

/* === MOBILE: Match body section padding to hero text margins (sitewide) === */
@media (max-width: 689px) {
  .wp-block-group.alignfull {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .wp-block-cover.alignfull {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* === MOBILE NAV: Kill Blocksy's native li:hover slate color (touch devices keep the parent <li> 'hovered' after tapping the expand toggle, even though the link itself isn't hovered) === */
.ct-panel .menu-item:hover > .ct-menu-link,
.ct-panel .menu-item:hover > .ct-sub-menu-parent,
.ct-panel .menu-item:hover > .ct-sub-menu-parent > .ct-menu-link {
  color: #FFFFFF !important;
}

/* === MOBILE NAV: Active page highlight in lime green (sitewide) === */
.ct-panel .menu-item.current-menu-item > .ct-menu-link,
.ct-panel .menu-item.current-menu-item > .ct-sub-menu-parent > .ct-menu-link,
.ct-panel .menu-item.current_page_item > .ct-menu-link,
.ct-panel .menu-item.current_page_item > .ct-sub-menu-parent > .ct-menu-link,
.ct-panel .menu-item > .ct-menu-link[aria-current="page"],
.ct-panel .menu-item > .ct-sub-menu-parent > .ct-menu-link[aria-current="page"],
.ct-panel .menu-item .ct-menu-link:active,
.ct-panel .menu-item .ct-menu-link:focus,
.ct-panel .menu-item .ct-menu-link:hover,
.ct-panel .sub-menu .ct-menu-link:active,
.ct-panel .sub-menu .ct-menu-link:focus,
.ct-panel .sub-menu .ct-menu-link:hover,
.ct-panel .sub-menu a:active,
.ct-panel .sub-menu a:focus,
.ct-panel .sub-menu a:hover {
  color: #92D050 !important;
}

/* === MOBILE NAV: Reset ancestor (parent of active submenu item) to default white, not theme's slate ancestor color === */
.ct-panel .menu-item.current-menu-ancestor > .ct-menu-link,
.ct-panel .menu-item.current-menu-ancestor > .ct-sub-menu-parent > .ct-menu-link,
.ct-panel .menu-item.current_page_ancestor > .ct-menu-link,
.ct-panel .menu-item.current_page_ancestor > .ct-sub-menu-parent > .ct-menu-link,
.ct-panel .menu-item.current_page_parent > .ct-menu-link,
.ct-panel .menu-item.current_page_parent > .ct-sub-menu-parent > .ct-menu-link,
.ct-panel .menu-item.current-menu-parent > .ct-menu-link,
.ct-panel .menu-item.current-menu-parent > .ct-sub-menu-parent > .ct-menu-link {
  color: #FFFFFF !important;
}

/* === HELP CARDS: Equal height cards, full-width buttons anchored to bottom === */
.help-cards-row > .wp-block-column {
  display: flex;
  flex-direction: column;
}
.help-cards-row > .wp-block-column > .wp-block-group {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.help-cards-row > .wp-block-column > .wp-block-group > .wp-block-buttons {
  margin-top: auto;
}

/* === HELP CARDS: Full-width button links === */
.help-cards-row > .wp-block-column > .wp-block-group > .wp-block-buttons .wp-block-button__link {
  width: 100%;
  text-align: center;
}

/* === SUPPORT CARDS: Equal height cards, full-width button anchored to bottom === */
.support-cards-row > .wp-block-column {
  display: flex;
  flex-direction: column;
}
.support-cards-row > .wp-block-column > .wp-block-group {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.support-cards-row > .wp-block-column > .wp-block-group > .wp-block-buttons {
  margin-top: auto;
}

/* === SUPPORT CARDS: Full-width button links === */
.support-cards-row > .wp-block-column > .wp-block-group > .wp-block-buttons .wp-block-button__link {
  width: 100%;
  text-align: center;
}

/* === RESOURCES PAGE: Equal height cards, buttons anchored to bottom === */
.resource-cards-row > .wp-block-column {
  display: flex;
  flex-direction: column;
}
.resource-cards-row > .wp-block-column > .wp-block-group {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.resource-cards-row > .wp-block-column > .wp-block-group > .wp-block-button {
  margin-top: auto;
}

/* === FAQ ACCORDION: Family FAQ page expandable questions === */
.faq-accordion details {
  border-bottom: 1px solid #E8ECF0;
  padding: 10px 0;
}
.faq-accordion details:first-child {
  border-top: 1px solid #E8ECF0;
}
.faq-accordion details summary {
  font-family: Georgia, serif;
  font-size: 18px;
  color: #2C3E50;
  font-weight: normal;
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-right: 4px;
  gap: 16px;
}
.faq-accordion details summary::-webkit-details-marker { display: none; }
.faq-accordion details summary::after {
  content: "+";
  font-size: 22px;
  color: #C8963E;
  font-weight: 300;
  flex-shrink: 0;
  line-height: 1;
}
.faq-accordion details[open] summary::after { content: "2"; }
.faq-accordion details .wp-block-paragraph {
  color: #3D5166;
  padding-top: 12px;
  padding-bottom: 4px;
  line-height: 1.7;
  margin: 0;
}

/* ==========================================================================
   Oregon CURE — Global Design System (migrated from theme style.css, which
   Blocksy never enqueues — moved here so it actually renders)
   Palette: Deep Slate #2C3E50 / Slate Mid #3D5166 / Oregon Lime #92D050
            Warm Gold #C8963E / Stone #E8ECF0 / Off White #F7F9FA
   ========================================================================== */

:root {
  --oc-slate: #2C3E50;
  --oc-slate-mid: #3D5166;
  --oc-lime: #92D050;
  --oc-lime-hover: #7ab832;
  --oc-gold: #C8963E;
  --oc-stone: #E8ECF0;
  --oc-offwhite: #F7F9FA;
  --oc-white: #FFFFFF;
  --oc-btn-text: #1A2B0A;
  --oc-border: var(--oc-gold);
}

.entry-content p,
.entry-content li,
.wp-block-paragraph {
  color: #000000;
}

.oc-dark,
.oc-dark .wp-block-paragraph,
.oc-dark p,
.oc-dark li {
  color: var(--oc-white);
}
.oc-dark h1, .oc-dark h2, .oc-dark h3, .oc-dark h4, .oc-dark .wp-block-heading {
  color: var(--oc-white);
}
.oc-dark a:not(.wp-block-button__link) { color: rgba(255,255,255,0.85); }
.oc-muted { opacity: 0.7; }
.oc-muted-more { opacity: 0.45; }

.oc-nowrap { white-space: nowrap; }

.oc-page-eyebrow {
  display: block;
  color: #737B85;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 16px;
}
.oc-dark .oc-page-eyebrow { color: #B7BEC7; }
.wp-block-cover .oc-page-eyebrow,
.wp-block-cover__inner-container > p.oc-page-eyebrow:first-child {
  margin-top: 0;
}

.oc-section { padding-top: 56px; padding-bottom: 56px; }
.oc-section-sm { padding-top: 40px; padding-bottom: 40px; }
.oc-bg-white { background-color: var(--oc-white); }
.oc-bg-stone { background-color: var(--oc-stone); }
.oc-bg-offwhite { background-color: var(--oc-offwhite); }
.oc-bg-slate { background-color: var(--oc-slate); }

.oc-card {
  background: var(--oc-white);
  border: 1px solid var(--oc-border);
  border-radius: 8px;
  padding: 28px;
}

.board-avatar.board-avatar-initial {
  background-color: var(--oc-slate);
  color: var(--oc-stone);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: Georgia, serif;
  font-weight: 700;
  font-size: 34px;
}

.oc-home-hero .wp-block-cover__background {
  background: linear-gradient(0deg, #2C3E50 0%, #566573 100%) !important;
}
@media (max-width: 689px) {
  .oc-home-hero.wp-block-cover {
    min-height: 100vh !important;
  }
}
.oc-card-dark {
  background: var(--oc-slate);
  border-radius: 8px;
  padding: 28px;
}
.oc-card-dark, .oc-card-dark p, .oc-card-dark h3, .oc-card-dark h4 {
  color: var(--oc-white);
}
.oc-card-flex { display: flex; flex-direction: column; }
.oc-card-flex > .wp-block-button:last-child { margin-top: auto; }

.wp-block-columns:has(.gateway-card) { align-items: stretch; }
.wp-block-columns:has(.gateway-card) > .wp-block-column { display: flex; flex-direction: column; }
.gateway-card.wp-block-group { display: flex; flex-direction: column; flex: 1; }
.gateway-card.wp-block-group > .wp-block-heading { flex-shrink: 0; margin-top: 0.75em !important; }
.gateway-card.wp-block-group > .wp-block-paragraph,
.gateway-card.wp-block-group > p { flex-grow: 1; }
.gateway-card.wp-block-group > .wp-block-html { margin-top: auto; flex-shrink: 0; }
.gateway-card.wp-block-group > .wp-block-image:first-child {
  margin-top: -28px; margin-left: -28px; margin-right: -28px;
  overflow: hidden; border-radius: 8px 8px 0 0; flex-shrink: 0;
}
.gateway-card.wp-block-group > .wp-block-image:first-child a,
.gateway-card.wp-block-group > .wp-block-image:first-child img {
  display: block; width: 100%; border-radius: 8px 8px 0 0;
}
.support-card-flex { display: flex !important; flex-direction: column !important; }
.support-card-flex > .wp-block-button:last-child { margin-top: auto; }

.mission-stat-number { color: var(--oc-gold); }

.wp-block-button__link {
  border-radius: 5px;
  padding-top: 12px; padding-bottom: 12px; padding-left: 22px; padding-right: 22px;
  font-weight: 600;
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
}
.wp-block-button:not(.is-style-outline) > .wp-block-button__link {
  background-color: var(--oc-lime);
  color: var(--oc-btn-text);
}
.wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover {
  background-color: var(--oc-lime-hover);
  color: var(--oc-btn-text);
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0,0,0,0.12);
}
.wp-block-button.is-style-outline > .wp-block-button__link {
  background-color: transparent;
  border: 2px solid var(--oc-white);
  border-radius: 9px;
  color: var(--oc-white);
}
.oc-dark .wp-block-button.is-style-outline > .wp-block-button__link,
.wp-block-button.is-style-outline > .wp-block-button__link.is-dark-outline {
  border-color: var(--oc-white);
  color: var(--oc-white);
}
.wp-block-button__width-100 { width: 100% !important; }
.wp-block-button__width-100 > .wp-block-button__link { display: block; text-align: center; }

.oc-accordion { max-width: 800px; }
.oc-accordion details,
.oc-accordion .wp-block-details {
  border: 1px solid var(--oc-border);
  border-radius: 8px;
  margin-bottom: 8px;
  background: var(--oc-white);
  overflow: hidden;
}
.oc-accordion details[open] { border-color: var(--oc-gold); }
.oc-accordion summary {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  cursor: pointer;
  list-style: none;
  font-weight: 600;
  color: var(--oc-slate);
}
.oc-accordion summary::-webkit-details-marker { display: none; }
.oc-accordion summary::after {
  content: "+";
  margin-left: auto;
  font-size: 22px;
  font-weight: 300;
  color: var(--oc-slate-mid);
  display: inline-block;
  transition: transform 0.35s ease, color 0.2s ease;
}
.oc-accordion details[open] > summary::after {
  transform: rotate(45deg);
  color: var(--oc-gold);
}
.oc-accordion .wp-block-details > p {
  margin: 0;
  padding: 0 20px 20px 20px;
}
.oc-accordion .oc-accordion-body {
  padding: 0 20px 20px 20px;
  color: #000000;
  font-size: 15px;
  line-height: 1.7;
  font-family: "Trebuchet MS", sans-serif;
}
.oc-accordion--avatar .oc-accordion-body { padding-left: 134px; }
.oc-avatar {
  width: 98px; height: 98px; min-width: 98px; min-height: 98px;
  border-radius: 50%;
  background-color: var(--oc-stone);
  background-size: cover;
  background-position: center;
  flex-shrink: 0;
  object-fit: cover;
  object-position: center;
  overflow: hidden;
  clip-path: circle(50%);
}
.oc-board-name {
  font-family: Georgia, serif;
  font-size: 18px;
  font-weight: 700;
  color: var(--oc-slate);
  line-height: 1.3;
}
.oc-board-title {
  font-size: 14px;
  color: var(--oc-gold);
  font-style: italic;
  line-height: 1.3;
}
@media (max-width: 689px) {
  .oc-accordion { max-width: 100%; }
  .oc-accordion--avatar .oc-accordion-body { padding-left: 20px; }
}

.nl-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 20px;
  justify-content: center;
}
.nl-card {
  background: var(--oc-white);
  border: 1px solid var(--oc-border);
  border-radius: 8px;
  padding: 24px 20px;
  display: flex;
  flex-direction: column;
}
.nl-card-title { font-family: Georgia, serif; font-size: 17px; font-weight: 700; color: var(--oc-slate); margin: 0 0 4px 0; line-height: 1.3; }
.nl-card-sub { font-size: 13px; color: var(--oc-slate-mid); margin: 0 0 16px 0; }
.nl-card-thumb { width: 100%; aspect-ratio: 1 / 1; background-color: var(--oc-stone); border-radius: 4px; overflow: hidden; margin-bottom: 16px; position: relative; }
.nl-card-thumb::after { content: ''; position: absolute; inset: 0; background: rgba(0,0,0,0.10); pointer-events: none; transition: background 0.25s ease; }
.nl-card-link:hover .nl-card-thumb::after { background: rgba(0,0,0,0.05); }
.nl-card-date { position: absolute; top: 0; right: 0; background: #000000; color: #ffffff; font-size: 11px; font-family: 'Trebuchet MS', sans-serif; font-weight: 600; padding: 3px 6px; line-height: 1.4; z-index: 2; pointer-events: none; }
.nl-card-footer { margin-top: auto; text-align: right; }
.nl-card-footer a { font-size: 14px; color: var(--oc-slate); text-decoration: none; font-weight: 500; }
.nl-card-footer a:hover { color: var(--oc-gold); }
.nl-card-link { text-decoration: none; color: inherit; display: block; }
.nl-card-link:hover .nl-card-title { color: var(--oc-gold); }
@media (max-width: 600px) { .nl-card-thumb { aspect-ratio: 2 / 1; } }

.oc-crumb {
  margin: 0 0 4px 0;
  font-size: 13px;
  opacity: 0.45;
}

.oc-support-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: stretch;
}
.oc-support-grid > .oc-card {
  height: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}
@media (max-width: 689px) {
  .oc-support-grid { grid-template-columns: 1fr; }
}

/* === HOME HERO: right-align heading/text by default, center on desktop, center buttons on desktop === */
@media (min-width: 690px) {
  .oc-home-hero .wp-block-cover__inner-container h1,
  .oc-home-hero .wp-block-cover__inner-container > p {
    text-align: center;
  }
  .oc-home-hero .wp-block-buttons {
    justify-content: center;
  }
}

/* === HOME HERO: remove gap between hero and following section === */
.oc-home-hero.wp-block-cover {
  margin-bottom: 0 !important;
}
.oc-home-hero.wp-block-cover + .wp-block-group.alignfull {
  margin-top: 0 !important;
}

/* === LINK LISTS: Publications, External Links, CURE Newsletter Back Issues — read as obvious links === */
.oc-link-list,
.cure-archive {
  list-style: none;
  margin: 0;
  padding: 0;
}
.oc-link-list li,
.cure-archive li {
  position: relative;
  border-bottom: 1px solid var(--oc-border);
  margin: 0 -16px;
  padding: 20px 16px;
  transition: background-color 0.2s ease;
}
.oc-link-list li:hover,
.cure-archive li:hover {
  background-color: var(--oc-stone);
}
.oc-link-list li:last-child,
.cure-archive li:last-child {
  border-bottom: none;
}
.oc-link-list li a,
.cure-archive li a {
  font-size: 18px;
  font-weight: 600;
  color: var(--oc-slate);
  font-family: Georgia, serif;
  text-decoration: none;
  display: inline-block;
  transition: color 0.2s ease, transform 0.15s ease;
}
.oc-link-list li a::after,
.cure-archive li a::after {
  content: "";
  position: absolute;
  inset: 0;
}
.oc-link-list li a:hover,
.cure-archive li a:hover {
  color: var(--oc-gold);
  text-decoration: underline;
  transform: translateX(2px);
}

/* === NEWS: latest-posts list reads as a link list === */
.wp-block-latest-posts__list .wp-block-latest-posts__post-title {
  font-size: 20px;
  font-weight: 700;
  font-family: Georgia, serif;
  color: var(--oc-slate);
  text-decoration: none;
  display: block;
}
.wp-block-latest-posts__list .wp-block-latest-posts__post-title::after {
  content: "";
  position: absolute;
  inset: 0;
}
.wp-block-latest-posts__list .wp-block-latest-posts__post-date {
  font-size: 13px;
  color: var(--oc-slate-mid);
  display: block;
  margin: 2px 0 8px 0;
}
.wp-block-latest-posts__list .wp-block-latest-posts__post-excerpt {
  font-size: 13px;
  color: #555;
}
.wp-block-latest-posts__list > li {
  position: relative;
  padding: 20px 16px;
  margin-bottom: 0;
  border-bottom: 1px solid var(--oc-border);
  transition: background-color 0.2s ease;
}
.wp-block-latest-posts__list > li:hover {
  background-color: var(--oc-stone);
}
.wp-block-latest-posts__list > li:last-child {
  border-bottom: none;
}

/* === GLOBAL FOOTER (native): copyright+privacy left (built-in copyright field), Facebook CTA widget right (Custom HTML widget in footer widget-area-2) === */
.ct-footer-copyright a {
	color: inherit;
	text-decoration: underline;
}

.oc-footer-sep {
	margin: 0 8px;
	opacity: 0.6;
}

.oc-footer-fb-block {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 8px;
}

.oc-footer-fb-text {
	color: inherit;
}

.oc-footer-fb-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: inherit;
	text-decoration: none;
}

.oc-footer-fb-link span {
	font-weight: 700;
}

/* Force the footer middle row to 2 columns — Blocksy's cached dynamic CSS still has a stale 3-column grid from before the socials column was removed from footer_placements. */
footer.ct-footer [data-row="middle"] > .ct-container {
	grid-template-columns: 1fr 1fr !important;
	border-top: 1px solid #E8ECF0;
}

@media (max-width: 689px) {
	footer.ct-footer [data-row="middle"] > .ct-container {
		grid-template-columns: 1fr !important;
		row-gap: 5px !important;
	}
}

/* === Board of Directors accordion === */
.board-accordion { max-width: 800px; }
.board-accordion details {
  border: 1px solid #dce1e5;
  border-radius: 8px;
  margin-bottom: 12px;
  background: #FFFFFF;
  overflow: hidden;
}
.board-accordion details[open] {
  border-color: #C8963E;
}
.board-accordion summary {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  cursor: pointer;
  list-style: none;
}
.board-accordion summary::-webkit-details-marker { display: none; }
.board-accordion summary::after {
  content: "+";
  margin-left: auto;
  font-size: 22px;
  font-weight: 300;
  color: #3D5166;
  display: inline-block;
  transition: transform 0.35s ease, color 0.2s ease;
}
.board-accordion details[open] > summary::after {
  transform: rotate(45deg);
  color: #C8963E;
}
.board-avatar {
  width: 98px;
  height: 98px;
  min-width: 98px;
  min-height: 98px;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  background-color: #E8ECF0;
  background-size: cover;
  background-position: center;
  flex-shrink: 0;
  object-fit: cover;
  object-position: center;
  overflow: hidden;
  -webkit-clip-path: circle(50%);
  clip-path: circle(50%);
}
.board-name {
  font-family: Georgia, serif;
  font-size: 18px;
  font-weight: 700;
  color: #2C3E50;
  line-height: 1.3;
}
.board-title {
  font-size: 14px;
  color: #C8963E;
  font-style: italic;
  line-height: 1.3;
}
.board-bio {
  padding: 0 20px 20px 134px;
  color: #3D5166;
  font-size: 15px;
  line-height: 1.7;
  font-family: "Trebuchet MS", sans-serif;
}
@media (max-width: 689px) {
  .board-accordion {
    max-width: 100%;
  }
  .board-bio {
    padding-left: 20px;
  }
}

.oc-footer-fb-link:hover {
	text-decoration: underline;
}

.oc-footer-fb-icon-wrap {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background-color: #1877F2;
	flex-shrink: 0;
}

.oc-footer-fb-icon {
	fill: #ffffff;
	width: 14px;
	height: 14px;
}

@media (max-width: 689px) {
	.oc-footer-fb-block {
		justify-content: flex-start;
	}
}

/* === GLOBAL FOOTER (legacy, obsolete): dead rules from the old hardcoded PHP footer, kept temporarily for reference, safe no-op since that markup no longer renders === */
.oc-site-footer {
  background-color: #F7F9FA;
  border-top: 1px solid var(--oc-border);
  padding: 20px 40px;
}
.oc-footer-row {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px 24px;
}
.oc-footer-left {
  color: var(--oc-slate-mid);
  font-size: 13px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.oc-footer-left a {
  color: var(--oc-slate-mid);
  text-decoration: underline;
  transition: color 0.2s ease;
}
.oc-footer-left a:hover {
  color: var(--oc-gold);
}
.oc-footer-sep-legacy-unused {
  color: var(--oc-border);
}
.oc-footer-right {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--oc-slate-mid);
}
.oc-footer-fb-link-legacy-unused {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--oc-slate);
  font-weight: 600;
  text-decoration: none;
  transition: color 0.2s ease;
}
.oc-footer-fb-link-legacy-unused:hover {
  color: var(--oc-gold);
}
.oc-footer-fb-icon-legacy-unused {
  fill: #1877F2;
  flex-shrink: 0;
}
@media (max-width: 689px) {
  .oc-footer-row {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* === PRISON NEWSLETTERS: card hover-lift, matching button hover === */
.nl-card {
  transition: transform 0.15s ease, box-shadow 0.2s ease;
}
.nl-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0,0,0,0.12);
}

/* === CONTACT: WPForms submit button matches sitewide green button === */
#wpforms-form-166243 .wpforms-submit {
  background-color: var(--oc-lime) !important;
  border-color: var(--oc-lime) !important;
  color: var(--oc-btn-text) !important;
  min-width: 220px;
}
#wpforms-form-166243 .wpforms-submit:hover {
  background-color: var(--oc-lime-hover) !important;
  border-color: var(--oc-lime-hover) !important;
}

/* === BUTTON HOVER: consistent lift + shadow on every button style, sitewide === */
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0,0,0,0.12);
}
.ct-header-cta a.ct-button {
  transition: transform 0.15s ease, box-shadow 0.2s ease;
}
.ct-header-cta a.ct-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0,0,0,0.12);
}

/* === CARDS: consistent gold/orange border on white/off-white cards === */
.nl-card {
  border-color: var(--oc-gold) !important;
}
.gateway-card.wp-block-group {
  border-color: var(--oc-gold) !important;
}
.wp-block-group.has-border-color:not(.oc-card):not(.gateway-card) {
  border-color: var(--oc-gold) !important;
}

/* === TOP NAV: submenu items text +1px === */
.sub-menu .ct-menu-link {
  font-size: 1rem;
}

/* === HELP FOR LOVED ONES: remove default gap between stacked full-width sections === */
body.page-id-165585 .wp-block-cover.alignfull:has(+ .wp-block-group.alignfull),
body.page-id-165585 .wp-block-group.alignfull:has(+ .wp-block-group.alignfull) {
  margin-bottom: 0 !important;
}

/* === HELP FOR LOVED ONES: icon bullets for date/location/phone lines === */
.oc-icon-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0 0 10px 0;
  color: #000;
}
.oc-icon-row:last-child { margin-bottom: 0; }
.oc-icon-row .oc-icon {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  margin-top: 3px;
  fill: var(--oc-slate-mid);
}
.oc-dark .oc-icon-row .oc-icon {
  fill: rgba(255,255,255,0.75);
}

/* === HOME: Monthly Support Groups visual calendar date badge === */
.oc-date-row {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 14px 0;
}
.oc-cal-badge {
  width: 56px;
  min-width: 56px;
  border-radius: 6px;
  overflow: hidden;
  background: #FFFFFF;
  border: 1px solid var(--oc-border);
  box-shadow: 0 2px 5px rgba(0,0,0,0.15);
  text-align: center;
}
.oc-cal-month {
  background: #C8963E;
  color: #FFFFFF;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  padding: 4px 0;
}
.oc-cal-day {
  color: #2C3E50;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  padding: 7px 0 8px;
}
.oc-date-text {
  font-size: 15px;
  line-height: 1.5;
  color: #000;
}
.oc-dark .oc-date-text {
  color: #FFFFFF;
}

/* === REENTRY PAGE: promoted Pre-Release Checklist highlight card === */
.oc-highlight-card {
  border-left: 5px solid var(--oc-gold) !important;
  max-width: 640px;
}

/* === REENTRY PAGE: align "Getting ready to come home" cards row with the 3-card Re-entry Guides row above it (card 2's left edge / card 3's right edge, evenly spaced) === */
.oc-reentry-align-row {
  gap: 24px !important;
}
.oc-reentry-align-row > .wp-block-column:first-child {
  flex-basis: calc((100% - 48px) / 3) !important;
}
.oc-reentry-align-row > .wp-block-column:last-child {
  flex-basis: calc(((100% - 48px) / 3 * 2) + 24px) !important;
}

/* === REENTRY PAGE: mini resource cards (reuse mission-stat-card chip, more content) === */
.oc-mini-card {
  padding: 20px 16px !important;
  text-align: left;
  display: flex;
  flex-direction: column;
  background-color: var(--oc-white) !important;
  border: 1px solid var(--oc-border);
  border-radius: 8px !important;
}
.oc-mini-card > .wp-block-group {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.oc-mini-card .wp-block-heading {
  margin-top: 0;
  margin-bottom: 8px;
}
.oc-mini-card .wp-block-paragraph {
  margin-top: 0;
}
.oc-mini-card .wp-block-buttons {
  margin-top: 12px;
}
.oc-mini-card .wp-block-buttons:last-child {
  margin-top: auto;
  padding-top: 12px;
}
.oc-mini-card > .wp-block-group > .wp-block-image:first-child {
  margin: -20px -16px 12px -16px !important;
  border-radius: 6px 6px 0 0;
  overflow: hidden;
  flex-shrink: 0;
}
.oc-mini-card > .wp-block-group > .wp-block-image:first-child a,
.oc-mini-card > .wp-block-group > .wp-block-image:first-child img {
  display: block;
  width: 100%;
  border-radius: 6px 6px 0 0;
}

/* === NEWS: query loop list layout, whole-item link, stone hover, 800px max-width === */
.oc-news-query {
  max-width: 800px;
}
.oc-news-item {
  position: relative;
  padding: 20px 16px;
  margin: 0;
  border-bottom: 1px solid var(--oc-border);
  transition: background-color 0.2s ease;
}
.oc-news-item:last-child {
  border-bottom: none;
}
.oc-news-item:hover {
  background-color: var(--oc-stone);
}
.oc-news-title-link a {
  font-size: 20px;
  font-weight: 700;
  font-family: Georgia, serif;
  color: var(--oc-slate);
  text-decoration: none;
  display: block;
}
.oc-news-title-link a::after {
  content: "";
  position: absolute;
  inset: 0;
}
.oc-news-item .wp-block-post-date {
  font-size: 13px;
  color: var(--oc-slate-mid);
  display: block;
  margin: 2px 0 8px 0;
}
.oc-news-item .wp-block-post-excerpt {
  font-size: 13px;
  color: #555;
}
.oc-news-query .wp-block-query-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 24px;
  font-size: 14px;
}
.oc-news-query .wp-block-query-pagination-numbers {
  display: flex;
  align-items: center;
  gap: 12px;
}
.oc-news-query .wp-block-query-pagination a,
.oc-news-query .wp-block-query-pagination-numbers a,
.oc-news-query .wp-block-query-pagination-numbers span {
  color: var(--oc-slate);
  font-weight: 600;
  text-decoration: none;
}
.oc-news-query .wp-block-query-pagination-numbers .current {
  color: var(--oc-gold);
}
.oc-news-query .wp-block-query-pagination-previous,
.oc-news-query .wp-block-query-pagination-next {
  font-size: 0;
}
.oc-news-query .wp-block-query-pagination-previous::before {
  content: "< Previous";
  font-size: 14px;
}
.oc-news-query .wp-block-query-pagination-next::before {
  content: "Next >";
  font-size: 14px;
}

/* === BLOG POSTS: extra space between nav and post content top === */
body.single-post .hero-section {
  margin-top: 24px;
}

/* === BLOG POSTS: back-to-list links, top and bottom of content === */
.oc-back-link {
  margin: 0 0 16px 0;
}
.entry-content > .oc-back-link:last-child {
  margin: 24px 0 0 0;
}
.oc-back-link a {
  color: var(--oc-slate);
  font-weight: 600;
  text-decoration: none;
  font-size: 14px;
}
.oc-back-link a:hover {
  color: var(--oc-gold);
  text-decoration: underline;
}
body.single-post .entry-meta .meta-author,
body.single-post .entry-meta .meta-categories {
  display: none;
}

/* === COMMUNITY RESOURCES: link list with descriptions === */
.oc-resource-list {
  list-style: none;
  margin: 0;
  padding: 0;
  max-width: 800px;
}
.oc-resource-list li {
  position: relative;
  border-bottom: 1px solid var(--oc-border);
  margin: 0 -16px;
  padding: 20px 16px;
  transition: background-color 0.2s ease;
}
.oc-resource-list li:hover {
  background-color: var(--oc-stone);
}
.oc-resource-list li:last-child {
  border-bottom: none;
}
.oc-resource-list li a {
  font-size: 18px;
  font-weight: 700;
  color: var(--oc-slate);
  font-family: Georgia, serif;
  text-decoration: none;
  display: inline-block;
}
.oc-resource-list li a::after {
  content: "";
  position: absolute;
  inset: 0;
}
.oc-resource-list li a:hover {
  color: var(--oc-gold);
  text-decoration: underline;
}
.oc-resource-list li p {
  margin: 6px 0 0 0;
  color: #000000;
  font-size: 15px;
}

/* === COMMUNITY RESOURCES (block version): mirrors .oc-resource-list li above === */
.oc-resource-list .oc-resource-item {
  position: relative;
  border-bottom: 1px solid var(--oc-border);
  margin: 0 -16px;
  padding: 20px 16px;
  transition: background-color 0.2s ease;
}

.oc-resource-list .oc-resource-item:hover {
  background-color: var(--oc-stone);
}

.oc-resource-list .oc-resource-item:last-child {
  border-bottom: none;
}

.oc-resource-list .oc-resource-link {
  margin: 0;
}

.oc-resource-list .oc-resource-link a {
  font-size: 18px;
  font-weight: 700;
  color: var(--oc-slate);
  font-family: Georgia, serif;
  text-decoration: none;
  display: inline-block;
}

.oc-resource-list .oc-resource-link a::after {
  content: "";
  position: absolute;
  inset: 0;
}

.oc-resource-list .oc-resource-link a:hover {
  color: var(--oc-gold);
  text-decoration: underline;
}

.oc-resource-list .oc-resource-desc {
  margin: 6px 0 0 0;
  color: #000000;
  font-size: 15px;
}
