﻿/* Theme Name: Divi Child Template: Divi */
/* Heads-up: global tokens/utilities live here. Keep Divi -> Theme Options -> Custom CSS for page-specific overrides only. */

/* ==================== TOKENS ==================== */
:root{
  /* Brand – corrected per Ouida (Feb 2026) */
  --dtv-purple: #301470;
  --dtv-purple-overlay: rgba(48,20,112,.55);
  --dtv-soft-purple: #9b74dd;
  --dtv-royal-purple: #48176E;
  --dtv-cream: #FFFFF0;
  --dtv-white: #FFFFFF;
  --dtv-charcoal: #2f2f2f;

  /* Accents */
  --dtv-sage: #a3c468;
  --dtv-mint: #ade292;
  --dtv-gold: #A18812;

  /* Semantics */
  --color-bg: var(--dtv-white);
  --color-bg-alt: var(--dtv-cream);
  --color-bg-dark: var(--dtv-charcoal);
  --color-text: var(--dtv-charcoal);
  --color-text-inverse: var(--dtv-white);
  --color-text-accent: var(--dtv-gold);
  --color-link: var(--dtv-purple);
  --color-cta: var(--dtv-sage);

  /* Typography – Montserrat + Trebuchet MS (sans-serif per Ouida) */
  --font-display: 'Montserrat', 'Trebuchet MS', 'Poppins', sans-serif;
  --font-body: 'Trebuchet MS', 'Open Sans', 'Source Sans Pro', sans-serif;
  --font-accent: 'Parisienne', 'Dancing Script', cursive;
  --font-wt-regular: 400;
  --font-wt-medium: 500;
  --font-wt-semibold: 600;
  --font-wt-bold: 700;
  --fs-hero: clamp(2rem, 4vw + 1rem, 3.5rem);
  --fs-h2: clamp(1.25rem, 1.5vw + .75rem, 2rem);
  --fs-h3: clamp(1.125rem, 1.2vw + .5rem, 1.5rem);
  --fs-h4: 1.25rem;
  --fs-body: 1rem;
  --fs-body-lg: 1.125rem;
  --fs-small: 0.875rem;
  --fs-button: 1rem;
  --fs-nav: 0.9375rem;
  --lh-body: 1.65;

  /* Spacing */
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;

  /* Buttons – Deep Purple primary, Sage accent */
  --btn-bg: #301470;
  --btn-fg: #FFFFFF;
  --btn-bg-hover: #48176E;
  --btn-radius: 7px;
  --btn-pad: .75rem 1.5rem;
  --btn-accent-bg: #a3c468;
  --btn-accent-fg: #2f2f2f;
  --btn-accent-hover: #6B801A;
  --btn-outline-color: #301470;

  /* Additional aliases */
  --color-text-secondary: #666666;
  --font-heading: var(--font-display);

  /* Cards / Effects */
  --card-bg: #ffffff;
  --card-border: #ececec;
  --card-radius: 10px;
  --shadow-1: 0 8px 20px rgba(0,0,0,.06);
}

/* ==================== GLOBAL BASE ==================== */
body{
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--color-text);
  background: var(--color-bg);
}

/* ==================== UTILITIES ==================== */

/* Type */
.dtv-heading-hero{
  font-family: var(--font-display);
  font-weight: var(--font-wt-semibold);
  font-size: var(--fs-hero);
  line-height: 1.1;
  letter-spacing: .2px;
  margin: 0 0 var(--space-4);
  color: inherit;
}
.dtv-heading-2{
  font-family: var(--font-display);
  font-weight: var(--font-wt-semibold);
  font-size: var(--fs-h2);
  line-height: 1.2;
  margin: 0 0 var(--space-3);
  color: inherit;
}
.dtv-body{
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--color-text);
}
.dtv-body a{
  color: var(--color-link);
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 2px;
}
.dtv-body strong, .dtv-body b{ font-weight: var(--font-wt-bold); }
.dtv-body em, .dtv-body i{ font-style: italic; }

/* Buttons – Divi module wrappers */
.btn-primary .et_pb_button,
.et_pb_button.btn-primary,
.dtv-button-primary .et_pb_button,
.et_pb_button.dtv-button-primary{
  background: var(--btn-bg) !important;
  color: var(--btn-fg) !important;
  border: 0 !important;
  border-radius: var(--btn-radius) !important;
  padding: var(--btn-pad) !important;
  box-shadow: var(--shadow-1);
}
.btn-primary .et_pb_button:hover,
.et_pb_button.btn-primary:hover,
.dtv-button-primary .et_pb_button:hover,
.et_pb_button.dtv-button-primary:hover{
  background: var(--btn-bg-hover) !important;
  color: var(--btn-fg) !important;
}

/* Sections & layout spacing */
.section-pad{ padding: var(--space-12) 0; }

/* Hero with purple overlay */
.hero-overlay-purple{
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, var(--dtv-purple), var(--dtv-royal-purple));
  color: var(--color-text-inverse);
}
.hero-overlay-purple .dtv-body,
.hero-overlay-purple h1,
.hero-overlay-purple h2,
.hero-overlay-purple h3{
  color: var(--color-text-inverse) !important;
}
.hero-overlay-purple::after{
  content:"";
  position:absolute;
  inset:0;
  background: radial-gradient(60% 60% at 70% 30%, rgba(255,255,255,.08), transparent 60%),
              linear-gradient(0deg, var(--dtv-purple-overlay), var(--dtv-purple-overlay));
  pointer-events:none;
}

/* Cards */
.card{
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  border-radius: var(--card-radius);
  box-shadow: var(--shadow-1);
  padding: var(--space-6);
}

/* Lists inside rich text */
.dtv-body ul{ list-style: none; padding-left: 1.5rem; }
.dtv-body ul li{
  position: relative;
  padding-left: 0.25rem;
  margin-bottom: 0.5rem;
}
.dtv-body ul li::before{
  content: "•";
  color: var(--dtv-purple);
  font-weight: 700;
  position: absolute;
  left: -1.25rem;
}
.dtv-body ol{ padding-left: 1.5rem; counter-reset: item; }
.dtv-body ol li{ counter-increment: item; margin-bottom: 0.5rem; }
.dtv-body ol li::marker{ color: var(--dtv-purple); font-weight: 600; }

/* Row constraint */
.row-max{ max-width: 1200px; margin-inline: auto; }

/* Force token button style inside gradient hero section */
.hero-gradient .et_pb_module.btn-primary a.et_pb_button,
.hero-gradient a.et_pb_button.btn-primary,
.hero-gradient .btn-primary .et_pb_button {
  background: var(--btn-bg) !important;
  color: var(--btn-fg) !important;
  border: 0 !important;
  border-radius: var(--btn-radius) !important;
  padding: var(--btn-pad) !important;
  box-shadow: var(--shadow-1) !important;
  text-shadow: none !important;
}
.hero-gradient .et_pb_module.btn-primary a.et_pb_button:hover,
.hero-gradient a.et_pb_button.btn-primary:hover,
.hero-gradient .btn-primary .et_pb_button:hover {
  background: var(--btn-bg-hover) !important;
  color: var(--btn-fg) !important;
}

/* Secondary button – outlined */
.btn-secondary .et_pb_button,
.et_pb_button.btn-secondary {
  background: transparent !important;
  color: var(--btn-outline-color) !important;
  border: 2px solid var(--btn-outline-color) !important;
  border-radius: var(--btn-radius) !important;
  padding: var(--btn-pad) !important;
}
.btn-secondary .et_pb_button:hover,
.et_pb_button.btn-secondary:hover {
  background: var(--btn-bg) !important;
  color: var(--btn-fg) !important;
}

/* Accent button – Sage Green */
.btn-accent .et_pb_button,
.et_pb_button.btn-accent {
  background: var(--btn-accent-bg) !important;
  color: var(--btn-accent-fg) !important;
  border: 0 !important;
  border-radius: var(--btn-radius) !important;
  padding: var(--btn-pad) !important;
}
.btn-accent .et_pb_button:hover,
.et_pb_button.btn-accent:hover {
  background: var(--btn-accent-hover) !important;
  color: var(--btn-fg) !important;
}

/* ==================== HEADER / NAV OVERRIDES ==================== */

/* Reduce dead space above hero on homepage */
#main-content .container:first-child { padding-top: 0; }
.et_pb_section:first-child { padding-top: 0 !important; }

/* Nav link styling */
#top-menu li a, .et-menu li a {
  font-family: var(--font-display);
  font-weight: var(--font-wt-medium);
  font-size: var(--fs-nav);
  color: var(--dtv-charcoal);
}
#top-menu li a:hover, .et-menu li a:hover {
  color: var(--dtv-purple);
}

/* Submenu styling */
#top-menu li li a, .et-menu li li a {
  font-size: var(--fs-small);
  color: var(--dtv-charcoal);
}
.et_pb_fullwidth_menu .sub-menu,
#top-menu .sub-menu {
  background: var(--dtv-white) !important;
  border-top: 3px solid var(--dtv-purple);
}

/* Active nav item */
#top-menu .current-menu-item > a,
#top-menu .current_page_item > a,
#top-menu .current-menu-ancestor > a {
  color: var(--dtv-purple) !important;
  font-weight: var(--font-wt-semibold);
}

/* ==================== FOOTER OVERRIDES ==================== */

#footer-bottom { padding: 0.75rem 0; }
.et-social-icons { margin-bottom: 0.25rem; }
.et-social-icon a {
  font-size: 18px;
  color: var(--dtv-white) !important;
}
.et-social-icon a:hover { color: var(--dtv-sage) !important; }

#main-footer { background-color: var(--dtv-purple) !important; }
#footer-widgets .footer-widget,
#footer-widgets .footer-widget a,
#footer-bottom, #footer-bottom a {
  color: var(--dtv-white) !important;
}
#footer-bottom a:hover { color: var(--dtv-sage) !important; }
/* ── Homepage bottom gap + footer spacing (committed May 2026) ── */
/* Gap ①: white space between final CTA section and #main-footer */
body.page-id-378 .et_pb_row_0    { padding-bottom: 40px !important; }
body.page-id-378 .et_pb_section_0 { padding-bottom: 0    !important; }
/* Gap ②: footer widget area top padding (above social icons) */
#footer-widgets { padding-top: 8px !important; }

/* Remove Elegant Themes credit */
#footer-info { display: none !important; }

/* ==================== HEADINGS (global) ==================== */

h1, h2, h3, h4, h5, h6, .et_pb_module_header {
  font-family: var(--font-display) !important;
  color: var(--dtv-purple) !important;
}
h1 { font-weight: var(--font-wt-bold); }
h2 { font-weight: var(--font-wt-bold); font-size: var(--fs-h2); }
h3 { font-weight: var(--font-wt-semibold); font-size: var(--fs-h3); }

/* Links */
a { color: var(--dtv-purple); }
a:hover { color: var(--dtv-royal-purple); }

/* ==================== LAYOUT: SIDEBAR REMOVAL ==================== */

#sidebar { display: none !important; }
.et_right_sidebar #left-area,
.et_left_sidebar #left-area {
  width: 100% !important;
  float: none !important;
  padding: 0 !important;
}

/* ==================== LAYOUT: INNER PAGE ==================== */

.dtv-inner-content {
  max-width: 900px;
  margin-inline: auto;
  padding: var(--space-8) var(--space-4);
}

/* ==================== SECTION BACKGROUNDS ==================== */

/* Problem statement */
.dtv-section-problem {
  max-width: 800px;
  margin: 0 auto;
  padding: 24px var(--space-4) 18px;
  text-align: center;
}
.dtv-section-problem p {
  font-size: var(--fs-body-lg);
  line-height: 1.7;
  color: var(--color-text);
}

/* Four Pillars section */
.dtv-section-pillars {
  background: var(--dtv-cream);
  padding: 26px var(--space-4) var(--space-12);
  text-align: center;
}
.dtv-section-pillars h2 {
  color: var(--dtv-purple);
  margin-bottom: var(--space-8);
}

/* Who We Serve section */
.dtv-section-audience {
  background: var(--dtv-white);
  padding: var(--space-12) var(--space-4);
  text-align: center;
}
.dtv-section-audience h2 {
  color: var(--dtv-purple);
  margin-bottom: var(--space-8);
}

/* Giving / Support section */
.dtv-section-giving {
  background: linear-gradient(135deg, var(--dtv-mint), var(--dtv-sage));
  padding: var(--space-12) var(--space-4);
  text-align: center;
}
.dtv-section-giving h2 {
  color: var(--dtv-charcoal);
  margin-bottom: var(--space-8);
}

/* Final CTA section */
.dtv-section-final-cta {
  background: var(--dtv-purple);
  padding: var(--space-12) var(--space-4);
  text-align: center;
  color: var(--dtv-white);
}
.dtv-section-final-cta h2 {
  color: var(--dtv-white);
  margin-bottom: var(--space-4);
}
.dtv-section-final-cta p {
  color: rgba(255,255,255,.85);
  margin-bottom: var(--space-8);
}
.dtv-section-final-cta .cta-buttons {
  display: flex;
  justify-content: center;
  gap: var(--space-4);
  flex-wrap: wrap;
}
.dtv-section-final-cta .cta-buttons a {
  display: inline-block;
  padding: var(--btn-pad);
  border-radius: var(--btn-radius);
  font-family: var(--font-display);
  font-weight: var(--font-wt-semibold);
  font-size: var(--fs-button);
  text-decoration: none;
  transition: background .2s, color .2s;
}
.dtv-section-final-cta .cta-buttons a.btn-primary-inv {
  background: var(--dtv-white);
  color: var(--dtv-purple);
}
.dtv-section-final-cta .cta-buttons a.btn-primary-inv:hover {
  background: var(--dtv-cream);
}
.dtv-section-final-cta .cta-buttons a.btn-outline-inv {
  background: transparent;
  color: var(--dtv-white);
  border: 2px solid var(--dtv-white);
}
.dtv-section-final-cta .cta-buttons a.btn-outline-inv:hover {
  background: rgba(255,255,255,.15);
}

/* ==================== GRID LAYOUTS ==================== */

/* Four Pillars – 4-column grid */
.dtv-pillar-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-6);
  max-width: 1100px;
  margin: 0 auto;
}
.dtv-pillar-grid > p { display: none; } /* fix WP wpautop <p> injection */
.dtv-pillar-grid .pillar-card {
  background: var(--dtv-white);
  border-radius: var(--card-radius);
  padding: var(--space-6);
  box-shadow: var(--shadow-1);
  text-align: center;
}
.dtv-pillar-grid .pillar-icon {
  font-size: 2.5rem;
  color: var(--dtv-purple);
  margin-bottom: var(--space-3);
}
.dtv-pillar-grid h4 {
  font-family: var(--font-display);
  font-weight: var(--font-wt-semibold);
  font-size: var(--fs-h4);
  color: var(--dtv-purple);
  margin-bottom: var(--space-2);
}
.dtv-pillar-grid p {
  font-size: var(--fs-small);
  color: var(--color-text-secondary);
  line-height: 1.5;
}

/* Audience / "Who We Serve" – 3-column card grid */
.dtv-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-6);
  max-width: 1100px;
  margin: 0 auto;
}
.dtv-card-grid > p { display: none; } /* fix WP wpautop <p> injection */
.dtv-card-grid > .card { display: block; min-width: 0; }
.dtv-card-grid .card h3 { color: var(--dtv-purple); margin-bottom: var(--space-2); }
.dtv-card-grid .card p { color: var(--color-text-secondary); margin-bottom: var(--space-4); }
.dtv-card-grid .card a {
  display: inline-block;
  background: var(--btn-bg);
  color: var(--btn-fg);
  padding: .5rem 1.25rem;
  border-radius: var(--btn-radius);
  font-family: var(--font-display);
  font-weight: var(--font-wt-semibold);
  font-size: var(--fs-small);
  text-decoration: none;
  transition: background .2s;
}
.dtv-card-grid .card a:hover { background: var(--btn-bg-hover); }

/* ==================== TIER TABLE ==================== */

.dtv-tier-table {
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
  border-collapse: collapse;
  font-family: var(--font-body);
}
.dtv-tier-table thead th {
  background: var(--dtv-purple);
  color: var(--dtv-white);
  padding: var(--space-3) var(--space-4);
  text-align: left;
  font-weight: var(--font-wt-semibold);
}
.dtv-tier-table tbody td {
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid var(--card-border);
}
.dtv-tier-table tbody tr:nth-child(even) { background: var(--dtv-cream); }

/* ==================== FOOTER CTA STRIP ==================== */

.dtv-footer-cta {
  background: var(--dtv-cream);
  border-top: 3px solid var(--dtv-sage);
  padding: var(--space-8) var(--space-4);
  text-align: center;
}
.dtv-footer-cta h3 { color: var(--dtv-purple); margin-bottom: var(--space-3); }
.dtv-footer-cta a {
  display: inline-block;
  background: var(--btn-bg);
  color: var(--btn-fg);
  padding: var(--btn-pad);
  border-radius: var(--btn-radius);
  font-family: var(--font-display);
  font-weight: var(--font-wt-semibold);
  text-decoration: none;
  transition: background .2s;
}
.dtv-footer-cta a:hover { background: var(--btn-bg-hover); }

/* ==================== FULL-WIDTH BREAKOUT ==================== */

.dtv-full-width {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

/* ==================== PLAIN ANCHOR BUTTONS (non-Divi) ==================== */
/* These cover <a class="btn-primary"> etc. used in homepage HTML content */

a.btn-primary,
a.btn-secondary,
a.btn-accent {
  display: inline-block;
  padding: var(--btn-pad);
  border-radius: var(--btn-radius);
  font-family: var(--font-display);
  font-weight: var(--font-wt-semibold);
  font-size: var(--fs-button);
  text-decoration: none !important;
  cursor: pointer;
  transition: background .2s, color .2s, border-color .2s;
  line-height: 1;
}

/* Primary – solid purple */
a.btn-primary {
  background: var(--btn-bg);
  color: var(--btn-fg) !important;
  border: 2px solid var(--btn-bg);
}
a.btn-primary:hover {
  background: var(--btn-bg-hover);
  border-color: var(--btn-bg-hover);
  color: var(--btn-fg) !important;
}

/* Secondary – outlined purple */
a.btn-secondary {
  background: transparent;
  color: var(--btn-outline-color) !important;
  border: 2px solid var(--btn-outline-color);
}
a.btn-secondary:hover {
  background: var(--btn-bg);
  color: var(--btn-fg) !important;
  border-color: var(--btn-bg);
}

/* Accent – sage green */
a.btn-accent {
  background: var(--btn-accent-bg);
  color: var(--btn-accent-fg) !important;
  border: 2px solid var(--btn-accent-bg);
}
a.btn-accent:hover {
  background: var(--btn-accent-hover);
  color: var(--btn-fg) !important;
  border-color: var(--btn-accent-hover);
}

/* Dark-section overrides (hero, final CTA) */
.hero-overlay-purple a.btn-primary,
.dtv-section-final-cta a.btn-primary {
  background: var(--dtv-white);
  color: var(--dtv-purple) !important;
  border-color: var(--dtv-white);
}
.hero-overlay-purple a.btn-primary:hover,
.dtv-section-final-cta a.btn-primary:hover {
  background: var(--dtv-cream);
  color: var(--dtv-purple) !important;
  border-color: var(--dtv-cream);
}
.hero-overlay-purple a.btn-secondary,
.dtv-section-final-cta a.btn-secondary {
  background: transparent;
  color: var(--dtv-white) !important;
  border: 2px solid var(--dtv-white);
}
.hero-overlay-purple a.btn-secondary:hover,
.dtv-section-final-cta a.btn-secondary:hover {
  background: rgba(255,255,255,.15);
  color: var(--dtv-white) !important;
}

/* ==================== RESPONSIVE ==================== */

@media (max-width: 768px) {
  .dtv-pillar-grid { grid-template-columns: repeat(2, 1fr); }
  .dtv-card-grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .dtv-pillar-grid { grid-template-columns: 1fr; }
  .dtv-section-final-cta .cta-buttons {
    flex-direction: column;
    align-items: center;
  }
}

/* ==================== PAGE-SPECIFIC FIXES (Feb 11-12 2026) ==================== */

/* ===== Dropdown Sub-Menu Fix ===== */
#top-menu li li a,
#top-menu li li a.menu-link,
.et_menu_container #top-menu li li a,
#main-header #top-menu li li a {
  color: #2f2f2f !important;
  background-color: #ffffff !important;
}
#top-menu li li a:hover,
#top-menu li li a.menu-link:hover,
#main-header #top-menu li li a:hover {
  color: #301470 !important;
  background-color: #f5f5f5 !important;
}

/* ===== Inner Page Hero – standard pages ===== */
.et_pb_section_0_tb_body {
  min-height: 350px !important;
  padding-top: 100px !important;
  padding-bottom: 80px !important;
  background-size: cover !important;
  background-position: center center !important;
}

/* ===== Landing Page Hero – compact for conversion pages ===== */
.page-id-372 .et_pb_section_0_tb_body,
.page-id-377 .et_pb_section_0_tb_body,
.page-id-387 .et_pb_section_0_tb_body,
.page-id-395 .et_pb_section_0_tb_body,
.page-id-709 .et_pb_section_0_tb_body,
.page-id-711 .et_pb_section_0_tb_body {
  min-height: 150px !important;
  padding-top: 50px !important;
  padding-bottom: 40px !important;
}

/* ===== Homepage: section_1 full-width fix =====
   At viewports wider than ~1200px, Divi leaves et_pb_section_1_tb_body
   left-aligned at ~1530px, which off-centers the row and causes the
   hero overlay to stop 172px short of the right edge.
   Force 100% width so the row centers correctly. ===== */
body.page-id-378 .et_pb_section_1_tb_body {
  width: 100% !important;
  max-width: none !important;
}

/* ===== Homepage – remove TB hero gap ===== */
.page-id-378 .et_pb_section_0_tb_body {
  min-height: 0 !important;
  padding: 0 !important;
}

/* ===== Homepage Hero – layered: abstract full-bleed + editorial photo center ===== */
.page-id-378 .hero-overlay-purple {
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  position: relative;
  background-image:
    linear-gradient(135deg, rgba(48,20,112,0.52) 0%, rgba(48,20,112,0.38) 50%, rgba(155,116,221,0.20) 100%),
    url('/wp-content/uploads/2026/02/homepage-hero_abstract.jpg') !important;
  background-size: cover !important;
  background-position: center center !important;
  padding: 0 !important;
  min-height: 400px;
  margin-top: 0 !important;
  overflow: hidden;
}

/* Editorial photo layer – centered, narrower */
.page-id-378 .hero-overlay-purple::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 75%;
  max-width: 1100px;
  height: 100%;
  background-image:
    linear-gradient(180deg, rgba(48,20,112,0.18) 0%, rgba(48,20,112,0.38) 100%),
    url('/wp-content/uploads/2026/02/homepage-hero_soft-editorial.jpg');
  background-size: cover;
  background-position: center center;
  border-radius: 0;
  z-index: 0;
  pointer-events: none;
}

/* Keep text above the photo layer */
.page-id-378 .hero-overlay-purple > * {
  position: relative;
  z-index: 1;
}
/* Homepage hero -- after override (lighter than global) */
.page-id-378 .hero-overlay-purple::after {
  background: radial-gradient(60% 60% at 70% 30%, rgba(255,255,255,.05), transparent 60%),
              linear-gradient(0deg, rgba(48,20,112,0.22), rgba(48,20,112,0.22));
}
/* Homepage hero -- headline size */
.page-id-378 .hero-overlay-purple h1 {
  font-size: 2.0rem !important;
  margin-bottom: 0.75rem;
}


/* Remove any gap between nav and hero */
.page-id-378 #content-area,
.page-id-378 .entry-content,
.page-id-378 .et_pb_post_content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ===== Homepage – kill all gaps above hero ===== */
.page-id-378 .et_pb_section_1_tb_body,
.page-id-378 .et_pb_section_1_tb_body .et_pb_row,
.page-id-378 .et_pb_section_1_tb_body .et_pb_column {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.page-id-378 .et_builder_inner_content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* ===== Inner Page Hero – dark overlay for text readability ===== */
.et_pb_section_0_tb_body {
  position: relative !important;
}
.et_pb_section_0_tb_body::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: linear-gradient(180deg, rgba(48,20,112,0.28) 0%, rgba(48,20,112,0.18) 100%);
  z-index: 0;
  pointer-events: none;
}
.et_pb_section_0_tb_body .et_pb_row {
  position: relative;
  z-index: 1;
}

/* Exclude homepage – it has its own hero treatment */
.page-id-378 .et_pb_section_0_tb_body::before {
  display: none;
}

/* ===== Fix: wpautop empty elements before homepage hero ===== */
.home .et_pb_text_inner > br:first-child {
  display: none;
}
.home .et_pb_text_inner > p:empty {
  display: none;
}

/* ===== Partner With Us (ID:384): olive hero overlay =====
   Pantone 383 / #A8AD00 olive replaces Deep Purple per Ouida direction (May 2026).
   Browser-verified at rgba(168,173,0,0.52/0.38) — illustration clearly visible,
   white title text remains readable. ===== */
body.page-id-384 .et_pb_section_0_tb_body::before {
    background: linear-gradient(180deg, rgba(168,173,0,0.18) 0%, rgba(168,173,0,0.10) 100%) !important;
}

/* ==================== END (original) ==================== */

/* ══════════════════════════════════════════════════════════
   CSS ADDITIONS — Feb 12-13, 2026 sessions
   Homepage fixes + Inner page spacing + Hero overlay
   ══════════════════════════════════════════════════════════ */

/* ── Fix: Remove empty paragraph gap before homepage hero ── */
.home .et_pb_text_0 .et_pb_text_inner > p:first-child {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
  font-size: 0 !important;
  overflow: hidden !important;
}


/* ── Homepage: hero flush against nav bar ── */
.home #page-container {
  padding-top: 126px !important;
}

/* ── Fix: Card CTA buttons — white text on purple background ── */
.dtv-card .btn-primary,
.dtv-card a.btn-primary,
a.btn-primary {
  color: #FFFFFF !important;
  background: #301470 !important;
}
.dtv-card .btn-primary:hover,
.dtv-card a.btn-primary:hover,
a.btn-primary:hover {
  background: #48176E !important;
  color: #FFFFFF !important;
}


/* ── Fix: Card CTA buttons (plain <a> links, not Divi buttons) ── */
a.btn-primary {
  display: inline-block;
  background: #301470 !important;
  color: #FFFFFF !important;
  border: none;
  border-radius: 7px;
  padding: .75rem 1.5rem;
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 1rem;
  text-decoration: none !important;
  transition: background 0.2s;
}

a.btn-secondary {
  display: inline-block;
  background: transparent !important;
  color: #301470 !important;
  border: 2px solid #301470 !important;
  border-radius: 7px;
  padding: .75rem 1.5rem;
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 1rem;
  text-decoration: none !important;
  transition: all 0.2s;
}
a.btn-secondary:hover {
  background: #301470 !important;
  color: #FFFFFF !important;
}


/* ── Fix: Bottom CTA section buttons (white text on dark bg) ── */
.dtv-cta-buttons a.btn-primary {
  background: #FFFFFF !important;
  color: #301470 !important;
  border: 2px solid #FFFFFF !important;
}
.dtv-cta-buttons a.btn-secondary {
  background: transparent !important;
  color: #FFFFFF !important;
  border: 2px solid #FFFFFF !important;
}
.dtv-cta-buttons a.btn-secondary:hover {
  background: #FFFFFF !important;
  color: #301470 !important;
}


/* ── Fix: Hero CTA button — white text on purple bg (override Divi light layout) ── */
.hero-overlay-purple a.btn-primary {
  background: #301470 !important;
  color: #FFFFFF !important;
  border: 2px solid #FFFFFF !important;
}
.hero-overlay-purple a.btn-primary:hover {
  background: #48176E !important;
  color: #FFFFFF !important;
}


/* ── Inner page content spacing — headings and paragraphs ── */
.et_pb_post_content h2,
.et_pb_text_inner h2 {
  margin-top: 1.75rem !important;
  margin-bottom: 0.75rem !important;
  padding-bottom: 0 !important;
}
.et_pb_post_content h3,
.et_pb_text_inner h3 {
  margin-top: 1.5rem !important;
  margin-bottom: 0.5rem !important;
  padding-bottom: 0 !important;
}
.et_pb_post_content h4,
.et_pb_text_inner h4 {
  margin-top: 1.25rem !important;
  margin-bottom: 0.4rem !important;
  padding-bottom: 0 !important;
}
.et_pb_post_content p,
.et_pb_text_inner p {
  margin-bottom: 1rem !important;
  padding-bottom: 0 !important;
}
.et_pb_post_content > h2:first-child,
.et_pb_post_content > h3:first-child,
.et_pb_text_inner > h2:first-child,
.et_pb_text_inner > h3:first-child {
  margin-top: 0 !important;
}

/* First heading in content sections */
.et_pb_post_content .dtv-section > h2:first-child {
  margin-top: 0 !important;
}


/* ── Inner pages: vertically center hero title ── */
.et_pb_section_0_tb_body {
  padding-bottom: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.et_pb_section_0_tb_body .et_pb_row {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}


/* ── Inner pages: tighten hero-to-content gap ── */
.et_pb_section_1_tb_body {
  padding-top: 17px !important;
}
.et_pb_section_1_tb_body > .et_pb_row {
  padding-top: 0 !important;
}

/* Tighten first row inside post content on inner pages */
.et_pb_section_1_tb_body .et_pb_post_content .et_pb_row:first-child {
  padding-top: 0 !important;
}

/* First heading in post content needs less top margin */
.et_pb_post_content .dtv-section:first-child > h2:first-child,
.et_pb_post_content > h2:first-child {
  margin-top: 0.5rem !important;
}

/* ── Inner pages: tighten gap between content and footer ── */
.et_pb_section_1_tb_body {
  padding-bottom: 20px !important;
}
.et_pb_section_1_tb_body .et_pb_post_content .et_pb_section:last-child {
  padding-bottom: 10px !important;
}

/* ── Inner page hero: lighten purple overlay (66% → 5%) ── */
.et_pb_section_0_tb_body {
  background-color: rgba(48, 20, 112, 0.05) !important;
}


/* ============================================================
   VIDEO EMBED — Our Story page
   Responsive 16:9 YouTube iframe embed
   Added: 2026-03-27
   ============================================================ */

.dtv-video-section {
  max-width: 860px;
  margin: 0 auto 3rem auto;
  padding: 0 1rem;
}

.dtv-video-wrap {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 4px 24px rgba(48, 20, 112, 0.18);
  background: var(--dtv-deep-purple, #301470);
}

.dtv-video-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

.dtv-video-caption {
  font-family: var(--font-heading, 'Montserrat', 'Trebuchet MS', sans-serif);
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--dtv-soft-purple, #9b74dd);
  text-align: center;
  margin: 0.75rem 0 0.25rem 0;
  letter-spacing: 0.02em;
}

.dtv-video-intro {
  font-family: var(--font-body, 'Trebuchet MS', sans-serif);
  font-size: 1rem;
  color: var(--dtv-text-secondary, #666666);
  text-align: center;
  margin: 0 auto 2.5rem auto;
  max-width: 600px;
  font-style: italic;
}

.dtv-cta-strip {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid #e0d8f0;
}


/* ============================================================
   OUR STORY PAGE — hero suppression + video centering
   Targets page ID 383 only. Does not affect any other page.
   Added: 2026-03-27
   ============================================================ */

/* Hide the Divi inner-page hero banner on our-story only */
.page-id-383 .dtv-inner-hero,
.page-id-383 .et-l--post .et_pb_section:first-child,
.page-id-383 #main-content > .container > article > .entry-content > [data-et-multi-view],
.page-id-383 .et_pb_section.et_pb_section_0 {
  display: none !important;
}

/* Center and enlarge the video embed on our-story */
.page-id-383 .dtv-video-section {
  max-width: 960px;
  margin: 2rem auto 3rem auto;
  padding: 0 1.5rem;
}

/* Remove left-alignment default from the section wrapper */
.page-id-383 .dtv-section {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 1.5rem;
}


/* ============================================================
   OUR STORY PAGE — hero suppression (corrected selector)
   Targets Theme Builder body section 0 on page-id-383 only.
   Added: 2026-03-27
   ============================================================ */

.page-id-383 .et_pb_section_0_tb_body {
  display: none !important;
}


/* page-id-377 compact hero consolidated into Landing Page group above */

/* ── Meet the Team — photo + bio layout ──────────────────────────────────── */
.dtv-team-member {
    display: flex;
    align-items: flex-start;
    gap: 30px;
    margin-bottom: 10px;
}
.dtv-team-photo {
    flex: 0 0 140px;
}
.dtv-team-photo img {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    object-fit: cover;
    object-position: center top;
    border: 3px solid #ade292;
    display: block;
}
.dtv-team-bio {
    flex: 1;
}
.dtv-team-bio p {
    margin-top: 0;
}
@media (max-width: 600px) {
    .dtv-team-member {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
}

/* ── Meet the Team (page-id-381) — shorter hero + lighter overlay ── */
.page-id-381 .et_pb_section_0_tb_body {
    min-height: 200px !important;
    padding-top: 55px !important;
    padding-bottom: 45px !important;
}
.page-id-381 .et_pb_section_0_tb_body::before {
    background: linear-gradient(180deg, rgba(48,20,112,0.30) 0%, rgba(48,20,112,0.20) 100%) !important;
}

/* â”€â”€ Bio Read More (details/summary) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.dtv-read-more {
    margin-top: 10px;
}
.dtv-read-more summary {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    cursor: pointer;
    color: #9b74dd;
    font-size: 0.9rem;
    font-weight: 600;
    font-family: 'Montserrat', 'Trebuchet MS', sans-serif;
    list-style: none;
    user-select: none;
    transition: color 0.2s;
}
.dtv-read-more summary::-webkit-details-marker { display: none; }
.dtv-read-more summary::marker { display: none; }
.dtv-read-more summary:hover { color: #301470; }
.dtv-read-more-arrow {
    font-size: 1rem;
    transition: transform 0.25s;
    display: inline-block;
}
.dtv-read-more[open] .dtv-read-more-arrow {
    transform: rotate(90deg);
}
.dtv-read-more[open] summary {
    margin-bottom: 8px;
}
.dtv-read-more-content p {
    margin-top: 0;
    margin-bottom: 0.75em;
    font-size: 0.95rem;
}
.dtv-read-more-content p:last-child { margin-bottom: 0; }



/* â”€â”€ Four Pillars Card Grid â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.dtv-pillars-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 24px;
}
.dtv-pillar-card {
    background: #ffffff;
    border: 1px solid #e0e0e0;
    border-top-width: 4px;
    border-radius: 6px;
    padding: 28px 20px 24px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.dtv-pillar-physical  { border-top-color: #a3c468; }
.dtv-pillar-emotional { border-top-color: #9b74dd; }
.dtv-pillar-spiritual { border-top-color: #762f79; }
.dtv-pillar-financial { border-top-color: #87773e; }

.dtv-pillar-icon {
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
}
.dtv-pillar-icon img {
    max-height: 80px;
    max-width: 80px;
    object-fit: contain;
}
.dtv-pillar-card h3 {
    color: #301470;
    font-family: 'Montserrat', 'Trebuchet MS', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    margin: 0 0 10px;
    text-transform: none;
}
.dtv-pillar-card p {
    font-size: 0.875rem;
    line-height: 1.55;
    color: #2f2f2f;
    margin: 0;
}





/* ── Pillar grid responsive fix + expand styling ─────────────────────────── */
@media (max-width: 560px) {
    .dtv-pillars-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 380px) {
    .dtv-pillars-grid {
        grid-template-columns: 1fr;
    }
}
.dtv-pillar-more {
    margin-top: 12px;
    text-align: left;
}
.dtv-pillar-more summary {
    font-size: 0.8rem;
    justify-content: center;
}
.dtv-pillar-more .dtv-read-more-content p {
    font-size: 0.82rem;
    text-align: left;
    line-height: 1.5;
}

/* ══════════════════════════════════════════════════════════════════════════
   DTV STYLED TABLE — Reusable convention for structured tabular content
   Usage: wrap in .dtv-styled-table, rows with .dtv-tr,
   cells: .dtv-td-key (bold purple), .dtv-td-body (main), .dtv-td-meta (muted)
   ══════════════════════════════════════════════════════════════════════════ */
.dtv-styled-table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0 32px;
    font-family: 'Trebuchet MS', sans-serif;
}
.dtv-styled-table .dtv-tr {
    display: flex;
    align-items: center;
    padding: 16px 20px;
    border-bottom: 1px solid rgba(155, 116, 221, 0.1);
}
.dtv-styled-table .dtv-tr:nth-child(odd) {
    background: #ffffff;
}
.dtv-styled-table .dtv-tr:nth-child(even) {
    background: rgba(155, 116, 221, 0.05);
}
.dtv-styled-table .dtv-tr:first-child {
    border-radius: 6px 6px 0 0;
}
.dtv-styled-table .dtv-tr:last-child {
    border-bottom: none;
    border-radius: 0 0 6px 6px;
}
.dtv-styled-table .dtv-tr:hover {
    background: rgba(163, 196, 104, 0.08);
}
/* Key column — bold deep purple, fixed width */
.dtv-styled-table .dtv-td-key {
    flex: 0 0 140px;
    font-weight: 700;
    color: #301470;
    font-size: 0.9rem;
    padding-right: 20px;
}
/* Icon column — optional, for icon + key combos */
.dtv-styled-table .dtv-td-icon {
    flex: 0 0 52px;
    padding-right: 12px;
}
.dtv-styled-table .dtv-td-icon img {
    width: 44px;
    height: 44px;
    object-fit: contain;
}
/* Body column — main content, takes remaining space */
.dtv-styled-table .dtv-td-body {
    flex: 1;
    font-size: 0.9rem;
    color: #2f2f2f;
    line-height: 1.55;
}
.dtv-styled-table .dtv-td-body strong {
    display: block;
    color: #301470;
    font-weight: 600;
    margin-bottom: 2px;
}
/* Meta column — muted supplemental info (duration, price, etc.) */
.dtv-styled-table .dtv-td-meta {
    flex: 0 0 80px;
    text-align: right;
    font-size: 0.8rem;
    color: #9b74dd;
    font-style: italic;
}
/* Header row variant */
.dtv-styled-table .dtv-tr-header {
    background: #301470 !important;
    border-radius: 6px 6px 0 0;
}
.dtv-styled-table .dtv-tr-header .dtv-td-key,
.dtv-styled-table .dtv-tr-header .dtv-td-body,
.dtv-styled-table .dtv-tr-header .dtv-td-meta {
    color: #ffffff;
    font-weight: 700;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* ── dtv-pillars-flex global (used on ITM Overview + 5-Week Core) ─────────── */
.dtv-pillars-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
    -ms-flex-direction: row !important;
    flex-direction: row !important;
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
    gap: 14px;
    margin-top: 20px;
    margin-bottom: 32px;
    width: 100%;
}
.dtv-pillar-flex-card {
    -webkit-box-flex: 1 !important;
    -ms-flex: 1 1 0% !important;
    flex: 1 1 0% !important;
    min-width: 0 !important;
}

/* ── For Professional Associations hero (page 376) ─────────────────────── */
/* Specificity (0,3,2) beats Divi's !important gradient at (0,2,1) */
body.page-id-376 div.et_pb_section.et_pb_section_0_tb_body {
    background-image: url('/wp-content/uploads/2026/02/professional-associations-hero.jpg') !important;
    background-size: cover !important;
    background-position: center 30% !important;
}
body.page-id-376 div.et_pb_section.et_pb_section_0_tb_body::before {
    background-image: linear-gradient(rgba(48, 20, 112, 0.65) 0%, rgba(48, 20, 112, 0.3) 100%) !important;
}


/* ── For Organizations hero (page 375) ─────────────────────────────────── */
body.page-id-375 div.et_pb_section.et_pb_section_0_tb_body {
    background-image: url('/wp-content/uploads/2026/02/workwithus-hero_partnership-concept.jpg') !important;
    background-size: cover !important;
    background-position: center 40% !important;
}
body.page-id-375 div.et_pb_section.et_pb_section_0_tb_body::before {
    background-image: linear-gradient(rgba(48, 20, 112, 0.72) 0%, rgba(48, 20, 112, 0.45) 100%) !important;
}

/* ── White River Consulting hero (page 392) — pure WRC brand gradient, no photo ── */
body.page-id-392 div.et_pb_section.et_pb_section_0_tb_body {
    background-color: #008080 !important; background-image: none !important;
    background-size: cover !important;
}
body.page-id-392 div.et_pb_section.et_pb_section_0_tb_body::before {
    background-image: none !important;
}

/* ── WRC page 392: compact hero + cyan section headings ────────────────── */
body.page-id-392 div.et_pb_section.et_pb_section_0_tb_body {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
    min-height: 0 !important;
}
body.page-id-392 .dtv-section h2 {
    color: #0097A7 !important;
}


/* ── WRC page: tighten whitespace around logo in first section ────────── */
body.page-id-392 .dtv-section:first-of-type h2 {
    margin-bottom: 6px !important;
}
body.page-id-392 .dtv-section:first-of-type > p:empty,
body.page-id-392 .dtv-section:first-of-type br {
    display: none !important;
}

/* ── WRC logo container: collapse WP-injected paragraph margins ────────── */
body.page-id-392 .dtv-section:first-of-type div[style*="text-align:center"] p {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
}

/* ── WRC: collapse all WP-injected p margins inside logo container ─────── */
body.page-id-392 .dtv-section:first-of-type div p {
    margin: 0 !important;
    padding: 0 !important;
}

/* ── WRC: center the first section heading ─────────────────────────────── */
body.page-id-392 .dtv-section:first-of-type h2 {
    text-align: center !important;
}

/* ── P2 Hannah: body link color lighter purple; buttons keep inline color ── */
.dtv-section a:not([style*="color"]) {
    color: #7B5EA7;
}
.dtv-section a:not([style*="color"]):hover {
    color: #301470;
    text-decoration: underline;
}



/* ── Footer address: show #footer-info with address styling ─────── */
#footer-info {
    display: block !important;
    text-align: center !important;
    font-size: 0.75rem !important;
    color: #ade292 !important;
    padding: 4px 0 8px !important;
    font-family: 'Trebuchet MS', sans-serif !important;
    letter-spacing: 0.02em !important;
}

/* ── Rishi headshot: face left of center, shift crop window left to center face ── */
.dtv-team-photo img[src*="headshot-rishi"] {
    object-position: 38% top;
}


/* Content & Resources hero -- reduce purple overlay so illustration shows */
body.page-id-371 .et_pb_section_0_tb_body {
  background-image:
    linear-gradient(rgba(48,20,112,0.42) 0%, rgba(48,20,112,0.18) 100%),
    url('/wp-content/uploads/2026/02/content-resources-hero.jpg') !important;
}
body.page-id-371 .et_pb_section_0_tb_body::after {
  background: rgba(48,20,112,0.12) !important;
}


/* ====== Footer rebuild v3.0: hide all Divi internal footer components ====== */
#footer-widgets          { display: none !important; }
#footer-bottom           { display: none !important; }
#et-footer-nav           { display: none !important; }
#main-footer > .container { display: none !important; }
#main-footer             { padding: 0 !important; min-height: 0 !important; }

/* Workshops & Programs: olive/sage hero (Ouida May 4 2026) */
body.page-id-396 .et_pb_section_0_tb_body {
  background-image: linear-gradient(rgba(100,120,40,0.55) 0%, rgba(80,100,30,0.40) 100%) !important;
  background-color: #a3c468 !important;
}
body.page-id-396 .et_pb_section_0_tb_body::before {
  background: linear-gradient(rgba(100,120,40,0.25) 0%, rgba(80,100,30,0.15) 100%) !important;
}

/* Why Give: lighten hero overlay (Ouida May 4 2026) */
body.page-id-393 .et_pb_section_0_tb_body::before {
  background: linear-gradient(rgba(48,20,112,0.22) 0%, rgba(48,20,112,0.14) 100%) !important;
}

/* btn-primary / btn-secondary: ensure inline-block so they sit side-by-side (May 4 2026) */
.btn-primary, .btn-secondary, .btn-accent {
  display: inline-block !important;
}

/* meet-ouida bottom CTAs: prevent full-width stretching so buttons sit side-by-side */
.dtv-section div[style*="text-align:center"] .btn-primary,
.dtv-section div[style*="text-align:center"] .btn-secondary {
  width: auto !important;
  min-width: 0 !important;
}

/* Get in Touch (377): warm purple overlay on community-support hero (May 4 2026) */
body.page-id-377 .et_pb_section_0_tb_body {
  background-position: center 30% !important;
}
body.page-id-377 .et_pb_section_0_tb_body::before {
  background: linear-gradient(
    to bottom,
    rgba(48,20,112,0.40) 0%,
    rgba(48,20,112,0.55) 60%,
    rgba(48,20,112,0.70) 100%
  ) !important;
}

/* For Professional Associations (376): olive tint matching Partner With Us (May 4 2026) */
body.page-id-376 .et_pb_section_0_tb_body::before {
  background: linear-gradient(
    rgba(100,110,20,0.18) 0%,
    rgba(80,90,10,0.11) 100%
  ) !important;
}

/* Get in Touch (377): taller hero so image breathes; remove gap between hero and welcome block */
body.page-id-377 .et_pb_section_0_tb_body {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}
body.page-id-377 .et_pb_section_1_tb_body {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
body.page-id-377 .et_pb_section_1_tb_body .et_pb_row {
  padding-top: 0 !important;
}
body.page-id-377 .et_pb_section_1_tb_body .et_pb_column {
  padding-top: 0 !important;
}

/* Get in Touch (377): remove white gap and padding around welcome block */
body.page-id-377 .et_pb_section_1_tb_body,
body.page-id-377 .et_pb_section_1_tb_body > .et_pb_row_0,
body.page-id-377 .et_pb_section_1_tb_body .et_pb_column_0 {
  padding: 0 !important;
  margin: 0 !important;
}
body.page-id-377 .et_pb_section_1_tb_body > .et_pb_row_0 > .et_pb_column_0 > div:first-child {
  margin-top: 0 !important;
}

/* Get in Touch (377): remove white bg on content section, kill row margins creating white gaps */
body.page-id-377 .et_pb_section_1_tb_body {
  background-color: transparent !important;
  padding: 0 !important;
}
body.page-id-377 .et_pb_section_1_tb_body .et_pb_row {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
}
body.page-id-377 .et_pb_section_1_tb_body .et_pb_column {
  padding: 0 !important;
  width: 100% !important;
}

/* Get in Touch (377): hide Divi hero section — welcome image block is now the hero */
body.page-id-377 .et_pb_section_0_tb_body {
  display: none !important;
}

/* Get in Touch (377): restore horizontal padding to form and content sections */
body.page-id-377 .dtv-section {
  padding-left: 30px !important;
  padding-right: 30px !important;
}

/* Workshop Inquiry (870): workshop scene hero, light purple overlay */
body.page-id-870 .et_pb_section_0_tb_body::before {
  background: linear-gradient(
    rgba(48,20,112,0.38) 0%,
    rgba(48,20,112,0.52) 100%
  ) !important;
}

/* Schedule a Consultation (387): light-through-tree hero, warm green overlay */
body.page-id-387 .et_pb_section_0_tb_body::before {
  background: linear-gradient(
    rgba(20,40,20,0.28) 0%,
    rgba(30,60,30,0.42) 100%
  ) !important;
}

/* ── A10: Global H2 spacing — fix riding-up against preceding content ── */
.et_pb_post_content h2,
.et_pb_post_content h3 {
  margin-top: 1.75rem !important;
}
.et_pb_post_content h2:first-child,
.et_pb_post_content h3:first-child,
.dtv-section > h2:first-child,
.dtv-section > h3:first-child {
  margin-top: 0 !important;
}

/* ── A11: Content & Resources hero — remove opacity overlay ── */
body.page-id-371 .et_pb_section_0_tb_body::before {
  background: none !important;
}
body.page-id-371 .et_pb_section_0_tb_body {
  background-image: url('/wp-content/uploads/2026/02/content-resources-hero.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
}

/* ── Donate button in top nav ── */
.dtv-nav-donate > a {
  background-color: #a3c468 !important;
  color: #2f2f2f !important;
  padding: 6px 20px !important;
  border-radius: 20px !important;
  font-weight: 700 !important;
  margin-left: 8px !important;
  letter-spacing: 0.02em !important;
  transition: background-color 0.2s, color 0.2s !important;
}
.dtv-nav-donate > a:hover {
  background-color: #301470 !important;
  color: #ffffff !important;
}






.dtv-nav-donate > a {
  padding-left: 14px !important;
  padding-right: 14px !important;
}

/* ── Fix nav caret overlap: asymmetric padding, caret lives in li right-padding ── */

/* li right-padding is where caret sits — keep it */








/* ── Nav: accommodate Donate button without caret overlap ──
   Strategy: reduce font-size slightly + reduce a left-padding only.
   li right-padding (caret zone) is left at Divi default (~22px).
   This preserves caret spacing while reducing total nav width. */
#et-top-navigation .nav > li > a {
  font-size: 12.5px !important;
  padding-left: 7px !important;
  letter-spacing: 0 !important;
}

/* Coaching Packages (370): growth-metaphor hero, minimal sage overlay */
body.page-id-370 .et_pb_section_0_tb_body::before {
  background: linear-gradient(
    rgba(163,196,104,0.22) 0%,
    rgba(163,196,104,0.30) 100%
  ) !important;
}

/* Coaching Packages (370): soft purple title — legible on bright sage hero */
body.page-id-370 .et_pb_section_0_tb_body h1 {
  color: #9b74dd !important;
  text-shadow: 0 1px 4px rgba(255,255,255,0.4) !important;
}

/* Content & Resources (371): same treatment — legible on bright illustration hero */
body.page-id-371 .et_pb_section_0_tb_body h1 {
  color: #9b74dd !important;
  text-shadow: 0 1px 4px rgba(255,255,255,0.4) !important;
}

/* Coaching Packages + Content & Resources: soft purple h1 — more specific selector */
body.page-id-370 .et_pb_title_container h1.entry-title,
body.page-id-371 .et_pb_title_container h1.entry-title {
  color: #301470 !important;
  text-shadow: 0 1px 4px rgba(255,255,255,0.4) !important;
}

/* Get in Touch (377): constrain form width to match Schedule Consultation proportions */
body.page-id-377 .fluentform {
  max-width: 860px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Get in Touch (377): constrain full post content width to match Schedule Consultation */
body.page-id-377 .et_pb_post_content {
  max-width: 1002px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* Remove the form-specific override — post content constraint handles it */
body.page-id-377 .fluentform {
  max-width: 100% !important;
}



/* Get in Touch (377): gap between welcome banner and form fields */
body.page-id-377 .fluentform {
  margin-top: 25px !important;
}

/* For Organizations (375): hybrid-photo hero, minimal purple overlay */
body.page-id-375 .et_pb_section_0_tb_body::before {
  background: linear-gradient(
    rgba(48,20,112,0.25) 0%,
    rgba(48,20,112,0.35) 100%
  ) !important;
}

/* For Organizations (375): force hybrid-photo as hero background */
body.page-id-375 div.et_pb_section.et_pb_section_0_tb_body {
  background-image: url('/wp-content/uploads/2026/05/homepage-hero_hybrid-photo.jpg') !important;
  background-size: cover !important;
  background-position: center top !important;
}

/* ── Header background (restored post-DNS-cutover 2026-05-06) ── */

/* Was set via Divi Theme Options (et_divi); now in CSS to survive DB changes */
#main-header,
#main-header.et-fixed-header {
    background-color: var(--dtv-cream) !important;
}
/* ── Logo sizing: img#logo, Divi uses max-height not height ── */
/* Source: 194x164px @2x. Divi default is max-height:54% which is too small. */
.et_header_style_centered #logo,
#logo {
    max-height: 115px !important;
    width: auto !important;
    height: auto !important;
}