/* cbc-oct2023 adapt layer: glue between the 2023 Elementor CSS and Path B's live (Woo/Formidable/AffiliateWP) markup. */
body.cbc-o23 #site-header, body.cbc-o23 .site-header:not(.elementor-section), body.cbc-o23 #site-footer, body.cbc-o23 .cbc-announce, body.cbc-o23 .cbc-site-footer { display: none !important; }
body.cbc-o23 { font-family: "Montserrat", sans-serif; color: #3F4254; background: #fff !important; }
body.cbc-o23 .site-main { max-width: none; width: 100%; padding: 0; margin: 0; }
body.cbc-o23.cbc-o23-mode-transplant .page-content, body.cbc-o23.cbc-o23-mode-shell .page-content { padding: 0; }
body.cbc-o23 .page-header:not(.cbc-o23-page-header) .entry-title { display: none; }
body.cbc-o23-popup-open { overflow: hidden; }
.cbc-o23-popup { align-items: flex-start; justify-content: flex-end; background: rgba(0,0,0,.55); }
.cbc-o23-popup .dialog-close-button { color: #fff; font-size: 22px; position: absolute; top: 18px; right: 18px; z-index: 2; }
.cbc-o23-footer-desktop-only { display: none; }
@media (min-width: 1025px) { body.cbc-o23-header-5438 .cbc-o23-footer-desktop-only { display: block; } }
/* Footer newsletter (no newsletter backend on Path B: link to /newsletter/) */
.cbc-o23-newsletter p { color: #fff; margin: 0 0 12px; font-size: 14px; }
.cbc-o23-newsletter .elementor-button { background: #91C8C8; color: #fff; border-radius: 100px; padding: 12px 34px; font-weight: 600; text-transform: uppercase; letter-spacing: .5px; }
.cbc-o23-newsletter .elementor-button:hover { background: #fff; color: #003366; }
/* 2023 candidate cards (home) */
.cbc-o23-cards { display: flex; flex-wrap: wrap; margin: 0 -10px; }
.cbc-o23-cards > .jet-listing-grid__item { width: 25%; padding: 0 10px 20px; box-sizing: border-box; }
@media (max-width: 1024px) { .cbc-o23-cards > .jet-listing-grid__item { width: 50%; } }
@media (max-width: 767px) { .cbc-o23-cards > .jet-listing-grid__item { width: 100%; } }
.cbc-o23-cards .elementor-image img { width: 100%; aspect-ratio: 1/1; object-fit: cover; }
.cbc-o23-cards .elementor-progress-bar { transition: width 1s ease; }
.cbc-o23-cards .jet-listing-dynamic-field__content:empty, .cbc-o23-cards .distance:empty { min-height: 1.2em; }
/* Flip boxes on touch */
.elementor-flip-box.cbc-flipped .elementor-flip-box__back { transform: none; opacity: 1; }
/* Notes reused from Path B */
body.cbc-o23 .cbc-note { font-size: 13px; color: #3F4254; margin-top: 12px; }

/* --- 2023 sticky headers (Elementor Pro sticky emulation) --- */
.cbc-o23 .elementor-element.hidden{display:none!important}
.cbc-o23 .cbc-o23-header-wrap{position:sticky;top:0;z-index:999}
.admin-bar.cbc-o23 .cbc-o23-header-wrap{top:32px}
@media (max-width:782px){.admin-bar.cbc-o23 .cbc-o23-header-wrap{top:0}}
/* overlay headers: pull following content up under the header instead of the header's own negative margin */
@media (min-width:1025px){
 .cbc-o23-header-5438 .cbc-o23-header-wrap{margin-bottom:-120px}
 .cbc-o23-header-5438 .elementor-5438 .elementor-element.elementor-element-38d86f9{margin-bottom:0}
}
.cbc-o23 header.sticky-header.elementor-sticky--effects{background-color:#fff!important;box-shadow:0 2px 12px rgba(0,0,0,.12)}

/* 2023 mobile: candidate cards were a one-up swipe carousel */
@media (max-width: 767px) {
 .cbc-o23-cards { flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; margin: 0; padding-bottom: 6px; }
 .cbc-o23-cards > .jet-listing-grid__item { flex: 0 0 86%; width: 86%; scroll-snap-align: center; }
}
/* age slot intentionally empty (no age data in Path B): keep the space, hide the bare icon */
.cbc-o23-cards .elementor-element-df8c395:has(.jet-listing-dynamic-field__content:empty) i,
.cbc-o23-cards .elementor-element-df8c395:not(:has(.jet-listing-dynamic-field__content)) i { visibility: hidden; }

/* 2023 Hello page title band (shown above content on inner pages) */
body.cbc-o23 .page-header.cbc-o23-page-header .entry-title { display: block; }
body.cbc-o23 .page-header.cbc-o23-page-header { display: block !important; }
body.cbc-o23 .cbc-o23-page-header { max-width: 1140px; margin: 0 auto; padding: 0; width: 100%; box-sizing: border-box; }
@media (max-width: 1199px) { body.cbc-o23 .cbc-o23-page-header { max-width: 960px; } }
@media (max-width: 991px) { body.cbc-o23 .cbc-o23-page-header { max-width: 720px; } }
@media (max-width: 767px) { body.cbc-o23 .cbc-o23-page-header { max-width: 100%; padding: 0 15px; } }
body.cbc-o23 .cbc-o23-page-header .entry-title { margin: .2em 0 .3em; }

/* removed-from-YouTube 2023 videos: placeholder panel linking to the live channel */
.cbc-o23 .cbc-o23-video-gone { aspect-ratio: 16/9; width: 100%; background: #003366; display: flex; align-items: center; justify-content: center; text-align: center; }
.cbc-o23 .cbc-o23-video-gone__inner p { color: #fff; font: 600 22px/1.3 Montserrat, sans-serif; margin: 0 0 16px; }
.cbc-o23 .cbc-o23-video-gone .elementor-button { background: #91C8C8; color: #003366; border-radius: 30px; text-transform: uppercase; letter-spacing: 1px; }

/* register pages (2023 header 5438 overlays the page): keep the title as the H1 for a11y but visually hidden, like the 2023 overlay */
.cbc-o23-header-5438 .cbc-o23-page-header { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* donate slot: 2023-sized sub-headings and pill buttons */
.cbc-o23 .cbc-o23-donate-box h3.cbc-o23-sub { font: 700 20px/1.3 Montserrat, sans-serif; color: #003366; margin: 22px 0 8px; }
.cbc-o23 .cbc-o23-donate-box h3.cbc-o23-sub:first-child { margin-top: 0; }
.cbc-o23 .cbc-o23-donate-box .cbc-btn-row { display: flex; flex-wrap: wrap; gap: 8px; }
.cbc-o23 .cbc-o23-donate-box .cbc-btn { display: inline-block; padding: 10px 18px; border-radius: 30px; font: 600 12px/1.2 Montserrat, sans-serif; text-transform: uppercase; letter-spacing: 1px; text-decoration: none; border: 2px solid #91C8C8; }
.cbc-o23 .cbc-o23-donate-box .cbc-btn-primary { background: #91C8C8; color: #fff; }
.cbc-o23 .cbc-o23-donate-box .cbc-btn-outline { background: #fff; color: #003366; }
.cbc-o23 .cbc-o23-donate-box .cbc-btn:hover { background: #003366; border-color: #003366; color: #fff; }

/* ===== /candidates/ listing in the 2023 look (cream band, slate-blue #8099b3 filter panel + banner, small teal pills) ===== */
html:has(body.cbc-o23) { background: #003366; }
body.cbc-o23-candidates .site-main { background: #FEF4EA; padding: 40px 0 60px !important; max-width: none; }
body.cbc-o23-candidates .cbc-browse { max-width: 1240px; margin: 0 auto; padding: 0 20px; box-sizing: border-box; }
body.cbc-o23-candidates .cbc-browse-toolbar h1 { font: 700 36px/1.2 Montserrat, sans-serif; color: #003366; margin: 0; }
body.cbc-o23-candidates .cbc-filters { background: #8099b3 !important; border-radius: 10px; }
body.cbc-o23-candidates .cbc-filters input[type=text], body.cbc-o23-candidates .cbc-filters input[type=search], body.cbc-o23-candidates .cbc-filters input:not([type]) { border: 0; border-radius: 3px; font-family: Montserrat, sans-serif; }
body.cbc-o23-candidates .cbc-filters .cbc-filter-title { color: #fff; font: 600 14px/1.4 Montserrat, sans-serif; }
body.cbc-o23-candidates .cbc-filters label, body.cbc-o23-candidates .cbc-filters .cbc-slider-labels { color: #fff; font-family: Montserrat, sans-serif; font-size: 13px; }
body.cbc-o23-candidates .cbc-filter-apply { background: #91C8C8 !important; color: #fff !important; border-radius: 30px !important; text-transform: uppercase; letter-spacing: 1px; font: 600 12px Montserrat, sans-serif !important; }
body.cbc-o23-candidates .cbc-info-banner { background: #8099b3 !important; border-radius: 10px; color: #fff; text-align: center; font: 400 15px/1.8 Montserrat, sans-serif; padding: 20px 40px; }
body.cbc-o23-candidates .cbc-info-banner a { color: #C9F0F0; text-decoration: underline; }
body.cbc-o23-candidates .cbc-fund-pills .cbc-pill { background: #91C8C8 !important; color: #fff !important; border-radius: 30px !important; font: 500 12px Montserrat, sans-serif !important; padding: 8px 18px !important; border: 0; }
body.cbc-o23-candidates .cbc-or { color: #7a7a7a; font: 700 13px Montserrat, sans-serif; }
body.cbc-o23-candidates ul.products li.product { border-radius: 6px; box-shadow: 0 0 10px rgba(0,0,0,.08); overflow: hidden; }
body.cbc-o23-candidates ul.products li.product .woocommerce-loop-product__title { font: 700 18px/1.3 Montserrat, sans-serif !important; color: #003366 !important; }
body.cbc-o23-candidates ul.products li.product .button { background: #003366; border-radius: 30px; font: 600 12px Montserrat, sans-serif; text-transform: uppercase; letter-spacing: .5px; }

/* ===== single candidate (product) in the 2023 look: boxed page, white rounded donation card ===== */
body.cbc-o23-single-candidate .site-main { max-width: 1240px; margin: 0 auto; padding: 40px 20px 60px !important; box-sizing: border-box; }
body.cbc-o23-single-candidate div.product { display: grid; grid-template-columns: minmax(0,5fr) minmax(0,4fr); gap: 40px; align-items: start; }
body.cbc-o23-single-candidate div.product > * { width: auto !important; float: none !important; margin: 0 !important; }
body.cbc-o23-single-candidate div.product > .woocommerce-tabs, body.cbc-o23-single-candidate div.product > .related, body.cbc-o23-single-candidate div.product > .up-sells { grid-column: 1 / -1; }
body.cbc-o23-single-candidate .woocommerce-product-gallery img { border-radius: 10px; }
body.cbc-o23-single-candidate .summary.entry-summary { background: #fff; border-radius: 10px; box-shadow: 0 0 20px rgba(0,0,0,.1); padding: 30px !important; position: sticky; top: 140px; }
body.cbc-o23-single-candidate .product_title { font: 700 32px/1.2 Montserrat, sans-serif !important; color: #003366 !important; }
body.cbc-o23-single-candidate .cbc-cand-seeking { font: 700 16px Montserrat, sans-serif; color: #003366; text-transform: uppercase; }
body.cbc-o23-single-candidate .cbc-cand-stats strong { color: #91C8C8; font-size: 20px; }
body.cbc-o23-single-candidate .cbc-amount-preset { border: 1px solid #003366 !important; background: #fff !important; color: #003366 !important; border-radius: 3px !important; font: 700 13px Montserrat, sans-serif !important; }
body.cbc-o23-single-candidate .cbc-amount-preset.is-active { background: #003366 !important; color: #fff !important; }
body.cbc-o23-single-candidate .cbc-cand-submit { background: #91C8C8 !important; color: #fff !important; border-radius: 30px !important; width: 100%; text-transform: uppercase; letter-spacing: 1px; }
@media (max-width: 767px) { body.cbc-o23-single-candidate div.product { grid-template-columns: 1fr; gap: 24px; } body.cbc-o23-single-candidate .summary.entry-summary { position: static; } }

/* ===== shell pages (no 2023 capture: pricing, bequest, newsletter, my-account, checkout, affiliate, dashboards, thank-you) ===== */
body.cbc-o23-mode-shell .elementor-widget-text-editor h2 { font: 700 30px/1.25 Montserrat, sans-serif; color: #003366; margin: 1.1em 0 .4em; }
body.cbc-o23-mode-shell .elementor-widget-text-editor h3 { font: 700 22px/1.3 Montserrat, sans-serif; color: #003366; margin: 1em 0 .4em; }
body.cbc-o23-mode-shell .elementor-widget-text-editor h4 { font: 700 18px/1.3 Montserrat, sans-serif; color: #003366; }
body.cbc-o23 .woocommerce button.button, body.cbc-o23 .woocommerce a.button, body.cbc-o23 .woocommerce input.button, body.cbc-o23 #place_order { border-radius: 30px; font-family: Montserrat, sans-serif; text-transform: uppercase; letter-spacing: .5px; }
body.cbc-o23 .woocommerce form .form-row input.input-text, body.cbc-o23 .woocommerce form .form-row textarea, body.cbc-o23 .woocommerce form .form-row select { border: 1px solid #d5d8dc; border-radius: 3px; font-family: Montserrat, sans-serif; }

/* listing: full-width cream page band like 2023 */
body.cbc-o23-candidates { background: #FEF4EA !important; }
body.cbc-o23-candidates .cbc-browse-toolbar h1 { font-size: 40px; }
/* physician register: Path B form is taller than the 2023 one; let the full-height section grow and clear the overlay header */
@media (min-width: 1025px) {
 .elementor-787 .elementor-element-4e0cbd39.elementor-section-height-full { height: auto !important; min-height: 100vh; }
 .elementor-787 .elementor-element-4e0cbd39 > .elementor-container { height: auto !important; min-height: 100vh; }
 .elementor-787 .elementor-element-4e0cbd39 [data-cbc-slot] { padding-top: 110px; }
}

/* FAQ: Path B's 49 Q&As (superset of the 20 in 2023) span the 2023 two-column area, styled as the 2023 navy toggle bars */
.elementor-578 .elementor-element-2dce5a2 { width: 100% !important; }
.cbc-o23 .cbc-faq .cbc-faq-group { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 20px; align-items: start; }
@media (max-width: 767px) { .cbc-o23 .cbc-faq .cbc-faq-group { grid-template-columns: 1fr; } }
.cbc-o23 .cbc-faq h2.cbc-faq-section { font: 700 24px/1.3 Montserrat, sans-serif; color: #003366; margin: 30px 0 12px; }
.cbc-o23 .cbc-faq .cbc-faq-item { background: #003366; border: 0; border-radius: 0; margin: 0; }
.cbc-o23 .cbc-faq .cbc-faq-item summary { color: #fff; font: 600 12px/1.5 Montserrat, sans-serif; text-transform: uppercase; letter-spacing: .5px; padding: 12px 40px 12px 15px; cursor: pointer; list-style: none; position: relative; }
.cbc-o23 .cbc-faq .cbc-faq-item summary::-webkit-details-marker { display: none; }
.cbc-o23 .cbc-faq .cbc-faq-item summary::after { content: "\f078"; font-family: "Font Awesome 5 Free"; font-weight: 900; position: absolute; right: 15px; top: 12px; font-size: 11px; }
.cbc-o23 .cbc-faq .cbc-faq-item[open] summary::after { content: "\f077"; }
.cbc-o23 .cbc-faq .cbc-faq-num { color: #91C8C8; }
.cbc-o23 .cbc-faq .cbc-faq-a { background: #fff; color: #3F4254; padding: 15px; font: 400 14px/1.7 Montserrat, sans-serif; border: 1px solid #e5e5e5; border-top: 0; }
.cbc-o23 .cbc-faq .cbc-faq-tools { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.cbc-o23 .cbc-faq #cbc-faq-search { max-width: 320px; border: 1px solid #d5d8dc; border-radius: 3px; padding: 8px 12px; font-family: Montserrat, sans-serif; }
.cbc-o23 .cbc-faq #cbc-faq-toggle { background: #91C8C8; color: #fff; border: 0; border-radius: 30px; padding: 6px 16px; font: 500 11px Montserrat, sans-serif; }

/* checkout / account / affiliate forms: 2023 input + button scale */
body.cbc-o23 .woocommerce form .form-row input.input-text, body.cbc-o23 .woocommerce form .form-row textarea, body.cbc-o23 #affwp-register-form input, body.cbc-o23 #affwp-register-form textarea, body.cbc-o23 #affwp-login-form input { font-size: 14px !important; line-height: 1.4; padding: 8px 12px; }
body.cbc-o23 #place_order, body.cbc-o23 .woocommerce button.button, body.cbc-o23 #affwp-register-form input[type=submit], body.cbc-o23 #affwp-login-form input[type=submit], body.cbc-o23 .affwp-form input.button { background: #003366 !important; color: #fff !important; border-radius: 30px !important; border: 0; font: 600 12px Montserrat, sans-serif !important; text-transform: uppercase; letter-spacing: 1px; padding: 12px 24px !important; }

/* Oct 22, 2026: Menu panel was opening blank. The 2023 Elementor Pro CSS hides [data-elementor-type="popup"] until
   Elementor's own popup JS moves it into a modal; we open the panel with o23.js, so show its content explicitly. */
.cbc-o23-popup [data-elementor-type="popup"]:not(.elementor-edit-area) { display: block !important; }
/* Close "×" without depending on the eicons font (still visible if fonts/icons are blocked). */
.cbc-o23-popup .dialog-close-button i { display: none; }
.cbc-o23-popup .dialog-close-button::before { content: "\00D7"; font: 400 30px/1 Arial, Helvetica, sans-serif; color: #fff; }

/* Oct 22, 2026: header 2462 (all inner pages) at tablet widths.
   881-1024px: the Donate-icon and Menu (hamburger) columns were hidden on tablet, so the header had no Menu button at all. */
@media (min-width: 881px) and (max-width: 1024px) {
  .cbc-o23-header-wrap .elementor-element-961943d,
  .cbc-o23-header-wrap .elementor-element-aaff48a { display: flex !important; }
}
/* 768-1024px: the tablet logo row carried margin-bottom:-120px (made for a see-through header), which slid the page
   (and its H1) under the white sticky header. */
@media (min-width: 768px) and (max-width: 1024px) {
  .cbc-o23-header-wrap .elementor-element-b5ad68d { margin-bottom: 0 !important; }
}

/* fullqa fix1 (2026-10-22): 404 page heading/body visible + styled; referral image no overflow at tablet */
body.cbc-o23.error404 #content.site-main{max-width:1140px;margin:0 auto;padding:70px 20px 90px;text-align:center}
body.cbc-o23.error404 .page-header{display:block!important}
body.cbc-o23.error404 .page-header .entry-title{display:block!important;visibility:visible!important;font-family:Montserrat,sans-serif;font-weight:700;font-size:40px;line-height:1.2;color:#00315f;margin:0 0 16px}
body.cbc-o23.error404 .page-content p{font-size:18px;color:#3d4459;margin:0}
body.cbc-o23.error404 .page-content p::after{content:"Try the menu above, or visit the home page.";display:block;margin-top:10px;font-size:16px;color:#6b7280}
@media (max-width:767px){body.cbc-o23.error404 .page-header .entry-title{font-size:30px}}
body.cbc-o23 .elementor-element-9037116 img{max-width:100%!important;height:auto!important}
