/* =====================================================
   SCREEN (NORMAL SITE DISPLAY)
   ===================================================== */

/* Hide print-only logo on screen */
.print-logo {
  display: none !important;
}

/* Ensure nav remains clickable */
.elementor-nav-menu--main,
.elementor-nav-menu--main * {
  pointer-events: auto !important;
}

/* Hide Elementor sticky spacer clone only (safe) */
.elementor-sticky__spacer {
  display: none !important;
  visibility: hidden !important;
}


/* =====================================================
   PRINT PAGE MARGINS (ALL PAGES)
   ===================================================== */
@page {
  margin: 0.75in;
}


/* =====================================================
   PRINT STYLES
   ===================================================== */
@media print {

  /* =====================================================
     PRINT LOGO
     - Default: prints everywhere
     - Blog posts: explicitly enabled below
     ===================================================== */
  .print-logo {
    display: block !important;
    margin: 0 0 0.35in 0 !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
    break-after: auto !important;
    page-break-after: auto !important;
  }

  .print-logo img {
    max-height: 0.75in !important;
    width: auto !important;
    height: auto !important;
  }

  /* Print-only logo — BLOG POSTS ONLY (kept for safety/override) */
  body.single-post .print-logo {
    display: block !important;
    margin: 0 0 0.35in 0 !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  body.single-post .print-logo img {
    max-height: 0.75in !important;
    width: auto !important;
    height: auto !important;
  }

  /* Remove printed link URLs */
  a[href]:after {
    content: "" !important;
  }

  /* ---------- Hide header/nav/search/buttons ---------- */
  header,
  .screen-header,
  .elementor-location-header,
  nav,
  .elementor-nav-menu,
  .elementor-widget-nav-menu,
  .elementor-widget-search,
  .elementskit-header-search,
  .elementor-widget-button {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Collapse theme wrappers */
  body,
  main,
  #content,
  .site-content,
  .site-main {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* ---------- General section cleanup ---------- */
  .elementor-section {
    background: none !important;
    min-height: auto !important;
    height: auto !important;
    padding-top: 0 !important;
    padding-bottom: 12px !important;
  }

  .elementor-background-overlay {
    display: none !important;
  }

  /* ---------- Headings and text ---------- */
  h1,
  h2,
  h3,
  .elementor-heading-title {
    color: #000 !important;
    margin-top: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  h1 { margin-bottom: 6px !important; }
  h2, h3 { margin-top: 8px !important; }

  p {
    margin-top: 6px !important;
  }

  /* Ensure heading widgets/section titles are visible in print */
  .elementor-widget-heading,
  .elementor-widget-heading *,
  .elementor-heading-title {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #000 !important;
    height: auto !important;
    max-height: none !important;
  }

  /* ---------- Remove spacer widgets globally ---------- */
  .elementor-widget-spacer,
  .elementor-spacer,
  .elementor-spacer-inner,
  .wp-block-spacer {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* ---------- Hide newsletter / CTAs in print ---------- */
  .no-print {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* ---------- Footer + cookie cleanup ---------- */
  footer,
  .cookie,
  .cookie-notice,
  #cookie-notice,
  .cky-consent-container {
    display: none !important;
  }

  /* ---------- Allow breaking so blocks don't get bumped to later pages ---------- */
  .elementor-section,
  .e-con,
  .e-con-inner {
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  /* =====================================================
     HOME PAGE / GENERAL: FORCE FIRST CONTENT TO PRINT ON PAGE 1
     Requires class: print-first
     ===================================================== */
  .print-first {
    break-before: auto !important;
    page-break-before: auto !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .print-first,
  .print-first * {
    break-inside: auto !important;
    page-break-inside: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* =====================================================
     HOME/GENERAL: HERO-SPACER (keep H1, remove gap)
     Requires class: hero-spacer
     ===================================================== */
  .hero-spacer,
  .hero-spacer.elementor-element,
  .hero-spacer.e-con,
  .hero-spacer > .e-con-inner,
  .hero-spacer > .elementor-container,
  .hero-spacer > .elementor-widget-wrap {
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .hero-spacer,
  .hero-spacer > .e-con-inner {
    row-gap: 0 !important;
    column-gap: 0 !important;
    gap: 0 !important;
    align-content: flex-start !important;
    align-items: flex-start !important;
  }

  .hero-spacer .elementor-widget-spacer,
  .hero-spacer .elementor-spacer,
  .hero-spacer .elementor-spacer-inner {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .hero-spacer h1,
  .hero-spacer .elementor-widget-heading,
  .hero-spacer .elementor-heading-title {
    display: block !important;
    margin: 0 0 0.12in 0 !important;
    padding: 0 !important;
  }

  /* =====================================================
     GOVERNANCE CONSULTING PAGE FIXES
     Requires classes: gov-hero, gov-first, gov-print
     ===================================================== */

  /* Remove spacers inside hero */
  body.page-governance-consulting .gov-hero .elementor-widget-spacer,
  body.page-governance-consulting .gov-hero .elementor-spacer,
  body.page-governance-consulting .gov-hero .elementor-spacer-inner {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Collapse hero spacing but keep text */
  body.page-governance-consulting .gov-hero,
  body.page-governance-consulting .gov-hero > .e-con-inner,
  body.page-governance-consulting .gov-hero > .elementor-container,
  body.page-governance-consulting .gov-hero > .elementor-widget-wrap {
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0.15in !important;
    gap: 0 !important;
    row-gap: 0 !important;
  }

  /* Ensure first section prints */
  body.page-governance-consulting .gov-first {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    break-before: auto !important;
    page-break-before: auto !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  body.page-governance-consulting .gov-first * {
    visibility: visible !important;
    opacity: 1 !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  /* Ensure subsequent sections print */
  body.page-governance-consulting .gov-print {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    break-before: auto !important;
    page-break-before: auto !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  body.page-governance-consulting .gov-print * {
    visibility: visible !important;
    opacity: 1 !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  /* =====================================================
     BLOG POSTS: SAFETY — ensure post content always prints
     ===================================================== */
  body.single-post main,
  body.single-post #content,
  body.single-post .site-content,
  body.single-post .site-main,
  body.single-post article,
  body.single-post .elementor,
  body.single-post .elementor-location-single,
  body.single-post .elementor-widget-theme-post-content,
  body.single-post .elementor-post__content {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
  }

  /* =====================================================
     OUR TEAM: restore intro + keep team layout behaving
     Requires class: team-intro on the section that holds the H2 + intro paragraphs
     ===================================================== */

  .team-intro,
  .team-intro * {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  .team-intro .elementor-widget-heading,
  .team-intro .elementor-heading-title,
  .team-intro h2 {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .team-title-section {
    page-break-after: avoid !important;
    margin-bottom: 10px !important;
  }

  .team-first-row {
    page-break-before: avoid !important;
  }

  .team-print-row,
  .team-print-row * {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  .team-print-row > .elementor-container {
    display: grid !important;
    gap: 18px !important;
  }

  .team-print-row.team-cols-1 > .elementor-container {
    grid-template-columns: 1fr !important;
  }

  .team-print-row.team-cols-2 > .elementor-container {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .team-print-row.team-cols-3 > .elementor-container {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}/* Our Team – advisor full bio links */
.advisor-bio-link a {
    font-family: "Montserrat", sans-serif !important;
    font-weight: 600 !important;
}
/* Our Team – advisor names */
.advisor-name,
.advisor-name a {
    font-family: "Montserrat", sans-serif !important;
    font-weight: 600 !important;
}.advisor-bio-link,
.advisor-bio-link a {
    color: #1c4199 !important;
}
/* Center numbers and descriptive text in homepage counters */

.homepage-counters .elementor-counter {
    text-align: center;
}

.homepage-counters .elementor-counter-number-wrapper {
    justify-content: center;
    text-align: center;
}

.homepage-counters .elementor-counter-title {
    text-align: center !important;
    width: 100%;
}


/* ==========================================
   OUR TEAM — PRINT OPTIMIZATION
   ========================================== */

@media print {

  /* Logo aligned upper left */
  .print-logo {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    text-align: left !important;
    width: 100% !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
  }

  .print-logo .elementor-widget-image {
    text-align: left !important;
    margin: 0 auto 0 0 !important;
  }

  .print-logo img {
    display: block !important;
    max-height: 0.75in !important;
    width: auto !important;
    height: auto !important;
    margin: 0 auto 0 0 !important;
  }

  /* Hide hero image and container */
  .team-hero-print-hide {
    display: none !important;
  }

  /* Hide Full Bio links */
  .advisor-bio-link {
    display: none !important;
  }

  /* Keep individual advisor cards together */
  .advisor-card {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    margin-top: 0 !important;
    margin-bottom: 8px !important;
    padding-top: 0 !important;
    padding-bottom: 4px !important;
  }

  /* Reduce photograph size */
  .advisor-card img {
    max-width: 100px !important;
    height: auto !important;
  }

  /* Compact advisor names */
  .advisor-card .advisor-name,
  .advisor-card .advisor-name .elementor-heading-title {
    font-size: 11pt !important;
    line-height: 1.2 !important;
    margin-bottom: 4px !important;
  }

  /* Compact professional positions */
  .advisor-card p,
  .advisor-card li {
    font-size: 9pt !important;
    line-height: 1.25 !important;
    margin-top: 0 !important;
    margin-bottom: 4px !important;
  }

  /* Officers heading */
  .team-officers-heading {
    break-after: avoid !important;
    page-break-after: avoid !important;
    margin-bottom: 10px !important;
  }

  /* Board of Advisors heading */
  .team-advisors-heading {
    break-after: avoid !important;
    page-break-after: avoid !important;
    margin-top: 15px !important;
    margin-bottom: 12px !important;
    position: static !important;
    transform: none !important;
  }

  /* Reduce heading sizes */
  .team-officers-heading h2,
  .team-advisors-heading h2,
  .team-officers-heading .elementor-heading-title,
  .team-advisors-heading .elementor-heading-title {
    font-size: 18pt !important;
    line-height: 1.2 !important;
    margin: 0 0 8px 0 !important;
  }

  /* Hide cookie settings and controls */
  .cky-btn-revisit-wrapper,
  .cky-consent-container,
  .cky-modal,
  #cookie-law-info-bar,
  #cookie-law-info-again,
  .cli_settings_button,
  .cookie-settings,
  .cookie-settings-link {
    display: none !important;
  }

}
@media print {
  .team-officers-section {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }
}

/* OUR TEAM — Advisors heading and grid printing */
@media print {

  /* Keep heading close to the first advisor row */
  .team-advisors-heading {
    break-after: avoid !important;
    page-break-after: avoid !important;
    margin-bottom: 12px !important;
  }

  /* Ensure grid uses natural height */
  .team-advisors-grid {
    height: auto !important;
    min-height: 0 !important;
    align-content: start !important;
    row-gap: 16px !important;
  }

  /* Keep each advisor's information together */
  .team-advisors-grid > .advisor-card {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

}


/* ==========================================
   HOMEPAGE — PRINT LAYOUT AND HEADINGS
   ========================================== */

@media print {

  /* Keep the hero compact */
  body.home .home-print-hero {
    min-height: 0 !important;
    height: auto !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    row-gap: 0 !important;
    background: none !important;
    position: static !important;
    transform: none !important;
  }

  /* Hide hero spacers */
  body.home .home-print-hero .elementor-widget-spacer {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Decorative heading inside the hero */
  body.home .home-print-hero .elementor-heading-title {
    font-size: 12pt !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
  }

  /* Actual H1 below the hero */
  body.home .home-print-h1 .elementor-heading-title {
    font-size: 18pt !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
  }



  /* H3 subsection headings */
  body.home h3.elementor-heading-title,
  body.home h3 {
    font-size: 12pt !important;
    line-height: 1.25 !important;
  }
/* Homepage H2 headings — print only */
body.home .elementor-widget-heading h2.elementor-heading-title,
body.home h2.elementor-heading-title,
body.home h2 {
  font-size: 14pt !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
}

  /* Homepage body text — print only */
  body.home .elementor-widget-text-editor p {
    font-size: 11pt !important;
    line-height: 1.4 !important;
  }
} /* End of homepage print CSS */