/* This file is served with media=print. Every layout rule is print-scoped. */
@media print {
  @page bpg-document { margin: 15mm 14mm 17mm; }
  html:has(body.bpg-print-enabled:not(.cg-az-print)),
  body.bpg-print-enabled:not(.cg-az-print) {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    background: #fff !important;
    color: #111 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 11pt !important;
    line-height: 1.5 !important;
  }
  body.bpg-print-enabled:not(.cg-az-print) { page: bpg-document; }
  body.bpg-print-enabled:not(.cg-az-print) :is(main,#primary-content,[role="main"],.article-sources) {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    color: #111 !important;
  }
  body.bpg-print-enabled:not(.cg-az-print) :is(main,#primary-content,.article-sources) :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,summary,blockquote,figcaption,th,td) {
    color: #111 !important;
    text-shadow: none !important;
    overflow-wrap: break-word;
  }
  body.bpg-print-enabled:not(.cg-az-print) :is(main,#primary-content,.article-sources) :is(p,li,dt,dd,blockquote,th,td) {
    font-size: 11pt !important;
    line-height: 1.5 !important;
    orphans: 3;
    widows: 3;
  }
  body.bpg-print-enabled:not(.cg-az-print) h1 { font-size: 25pt !important; line-height: 1.15 !important; margin: 0 0 6mm !important; }
  body.bpg-print-enabled:not(.cg-az-print) h2 { font-size: 18pt !important; line-height: 1.25 !important; margin: 6mm 0 3mm !important; }
  body.bpg-print-enabled:not(.cg-az-print) h3 { font-size: 14pt !important; line-height: 1.3 !important; }
  body.bpg-print-enabled:not(.cg-az-print) :is(h1,h2,h3,h4,h5,h6,summary) { break-after: avoid; page-break-after: avoid; }
  body.bpg-print-enabled:not(.cg-az-print) a { color: #111 !important; text-decoration: underline; }
  body.bpg-print-enabled:not(.cg-az-print) :is(main,#primary-content,.article-sources) :is(details,.article-section,.insight-section,.insights-section):not(:where(.bpg-no-print,[data-bpg-no-print])) {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
  }
  body.bpg-print-enabled:not(.cg-az-print) :is(main,#primary-content,.article-sources) details[open]::details-content {
    display: block !important;
    content-visibility: visible !important;
    height: auto !important;
    overflow: visible !important;
  }
  body.bpg-print-enabled:not(.cg-az-print) :is(main,#primary-content,.article-sources) details[open] > :not(summary):not([hidden]) {
    content-visibility: visible !important;
    max-height: none !important;
    overflow: visible !important;
    opacity: 1 !important;
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
  body.bpg-print-enabled:not(.cg-az-print) :is(main,#primary-content,.article-sources) details > summary {
    display: block !important;
    list-style: none !important;
    padding: 3mm 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    font-size: 12pt !important;
    line-height: 1.35 !important;
    color: #111 !important;
    background: transparent !important;
  }
  body.bpg-print-enabled:not(.cg-az-print) :is(main,#primary-content,.article-sources) details > summary::marker { content: ''; }
  body.bpg-print-enabled:not(.cg-az-print) :is(main,#primary-content,.article-sources) details > summary::-webkit-details-marker { display: none; }
  body.bpg-print-enabled:not(.cg-az-print) :is(main,#primary-content,.article-sources) details > summary::after,
  body.bpg-print-enabled:not(.cg-az-print) :is(.article-section>summary>b,.bc-detail-icon,.bc-detail-show,.bc-detail-hide,.article-sources__closed,.article-sources__open) { display: none !important; }
  body.bpg-print-enabled:not(.cg-az-print) :is(main,#primary-content,.article-sources) img {
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    break-inside: avoid;
  }
  body.bpg-print-enabled:not(.cg-az-print) :is(main,#primary-content,.article-sources) :is(figure,blockquote) { margin-inline: 0 !important; }
  body.bpg-print-enabled:not(.cg-az-print) :is(main,#primary-content,.article-sources) table {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    border-collapse: collapse;
    table-layout: auto;
  }
  body.bpg-print-enabled:not(.cg-az-print) :is(main,#primary-content,.article-sources) :is(th,td) { white-space: normal !important; padding: 2mm !important; border: 1px solid #bbb !important; }
  body.bpg-print-enabled:not(.cg-az-print) thead { display: table-header-group; }
  body.bpg-print-enabled:not(.cg-az-print) tr { break-inside: avoid; }
  body.bpg-print-enabled:not(.cg-az-print) :is(.table-responsive,.table-scroll,.wp-block-table) { overflow: visible !important; max-height: none !important; }
  body.bpg-print-enabled:not(.cg-az-print) :is(nav,[role="navigation"],.menu-panel,.site-header,.site-footer,#wpadminbar,.skip-link,.floating-cta,.contact-dialog,.contact-panel,.contact-overlay,.balance-contact-panel,.balance-assistant,.balance-accessibility,.accessibility-widget,.balance-language-suggestion,.page-audio,.bpg-print-tools,.bpg-no-print,[data-bpg-no-print],dialog,[role="dialog"],.cky-consent-container,.cmplz-cookiebanner,#cookie-law-info-bar) { display: none !important; }
  body.bpg-print-enabled:not(.cg-az-print) :is(main,#primary-content) :is(video,audio,iframe) { display: none !important; }
  body.bpg-print-enabled:not(.cg-az-print) .bpg-print-meta {
    display: flex !important;
    align-items: baseline;
    justify-content: space-between;
    gap: 6mm;
    margin: 0 0 7mm !important;
    padding: 0 0 3mm !important;
    border-bottom: 1px solid #aaa;
    color: #111 !important;
    background: #fff !important;
    font: 9pt/1.4 Arial,sans-serif;
    break-after: avoid;
  }
  body.bpg-print-enabled:not(.cg-az-print) .bpg-print-meta strong { flex: none; letter-spacing: .08em; }
  body.bpg-print-enabled:not(.cg-az-print) .bpg-print-meta span { max-width: 75%; overflow-wrap: anywhere; text-align: end; font-size: 8pt; }
  body.cg-az-print .bpg-print-meta,
  body.cg-az-print .bpg-print-tools { display: none !important; }

  /* THE BALANCE templates and program cards share these exact content classes. */
  body:is(.bpg-print-site-balance,.bpg-print-site-care) {
    --ink: #111; --sand: #fff; --gold: #333; --line: #bbb; --balance-deep-sage: #fff;
  }
  body:is(.bpg-print-site-balance,.bpg-print-site-care) :is(.child-nav,.article-toc,.content-hero__media,.hero-shade,.scroll-note,.home-hero-symbol,.balance-night-toggle,.balance-page-guidance,.page-guidance,.assistant-invitation,.assistant-invitations) { display: none !important; }
  body:is(.bpg-print-site-balance,.bpg-print-site-care) :is(.article-layout,.prose,.wp-editor-content,.content-hero,.page-hero,.home-hero,.section,.faq-block,.article-sources,.article-sources__head,.article-sources__layout,.article-sources__review,.context-cta,.model-graphic,.resource-feature,.contact) {
    display: block !important;
    position: static !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 4mm 0 !important;
    margin: 0 !important;
    background: #fff !important;
    color: #111 !important;
    transform: none !important;
    break-inside: auto !important;
  }
  body:is(.bpg-print-site-balance,.bpg-print-site-care) :is(.faq-block__intro,.faq-block__content,.content-hero__copy,.hero-text,.article-sources__list) { position: static !important; max-width: none !important; width: auto !important; padding: 0 !important; }
  body:is(.bpg-print-site-balance,.bpg-print-site-care) :is(.faq-block,.article-sources,.page-hero,.home-hero) :is(span,small,cite,strong,a) { color: #111 !important; }
  body:is(.bpg-print-site-balance,.bpg-print-site-care) :is(.article-section,.faq-block__content details) > summary ~ * { margin-inline: 0 !important; }
  body:is(.bpg-print-site-balance,.bpg-print-site-care) .article-source { display: block !important; padding: 3mm 0 !important; }
  body:is(.bpg-print-site-balance,.bpg-print-site-care) .article-source__number { display: none !important; }
  body:is(.bpg-print-site-balance,.bpg-print-site-care) #balance-fees-with-senses {
    --bc-ink: #111; --bc-muted: #333; --bc-surface: #fff; --bc-rule: #bbb;
    --bc-signature-ink: #111; --bc-retreat-surface: #fff;
    container-type: normal !important;
    width: auto !important;
    max-width: none !important;
    background: #fff !important;
  }
  body:is(.bpg-print-site-balance,.bpg-print-site-care) #balance-fees-with-senses :is(.bc-main,.bc-programs,.bc-program-grid,.bc-tier-grid,.bc-faq,.bc-retreat-options,.bc-retreat-summary,.bc-cogniful-options,.bc-signature,.bc-program-card,.bc-program,.bc-cogniful-option,.bc-retreat-option,article) {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 3mm 0 !important;
    margin: 0 0 3mm !important;
    height: auto !important;
    overflow: visible !important;
    background: #fff !important;
    color: #111 !important;
    break-inside: auto !important;
  }
  body:is(.bpg-print-site-balance,.bpg-print-site-care) #balance-fees-with-senses .bc-program-details>summary { display: none !important; }
  body:is(.bpg-print-site-balance,.bpg-print-site-care) #balance-fees-with-senses :is(span,small,strong,svg) { color: #111 !important; }
}


/* Site-specific print adapters. Core owns print lifecycle and generic typography.
 * COGNIFUL's existing worksheet-only print mode remains outside these adapters. */
@media print {
  body:is(.bpg-print-site-senses, .bpg-print-site-cogniful):not(.cg-az-print) #primary-content {
    --paper: #fff;
    --cream: #fff;
    --ink: #111;
    --muted: #333;
    --brand-dark: #fff;
    --brand-on-dark: #111;
    --brand-muted-on-dark: #333;
    --brand-accent-soft: #333;
    --pathway-ink: #111;
    --pathway-muted: #333;
    --cgp-paper: #fff;
    --cgp-ink: #111;
    --cgp-muted: #333;
    background: #fff !important;
    color: #111 !important;
    min-height: 0 !important;
    padding: 0 !important;
  }

  body:is(.bpg-print-site-senses, .bpg-print-site-cogniful):not(.cg-az-print) :is(.floating-cta, .balance-contact-panel, #brand-search),
  body:is(.bpg-print-site-senses, .bpg-print-site-cogniful):not(.cg-az-print) #primary-content :is(.brand-quicknav, .child-nav, .article-toc, .insights-toggle, .insight-tools, .scroll-note, .hero-shade, .home-hero-symbol) {
    display: none !important;
  }

  body:is(.bpg-print-site-senses, .bpg-print-site-cogniful):not(.cg-az-print) #primary-content :is(.article-layout, .faq-block, .content-hero, .home-hero, .intro, .model, .pathway, .contact, .image-chapter, .balance-founder__inner) {
    display: block !important;
    position: static !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 5mm 0 !important;
    break-inside: auto !important;
  }

  body:is(.bpg-print-site-senses, .bpg-print-site-cogniful):not(.cg-az-print) #primary-content :is(.hero-text, .content-hero__copy, .article-meta, .faq-block__intro, .brand-hero-location, .balance-founder__copy) {
    position: static !important;
    transform: none !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 0 4mm !important;
  }

  body:is(.bpg-print-site-senses, .bpg-print-site-cogniful):not(.cg-az-print) #primary-content :is(.assurance, .topics-grid, .condition-grid, .location-grid, .brand-summary dl, .related-text-list, .insight-grid, .cg-program-options__grid, .senses-guide-module, .group-cards, .model-list, .admissions-team__people) {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
  }

  body:is(.bpg-print-site-senses, .bpg-print-site-cogniful):not(.cg-az-print) #primary-content :is(.topics-grid > article, .location-grid > article, .condition-grid > a, .model-list > article, .pathway li, .assurance > div, .brand-summary dl > div, .cg-program-option) {
    display: block !important;
    padding: 3mm 0 !important;
    margin: 0 0 3mm !important;
    border-inline: 0 !important;
    break-inside: auto !important;
  }

  body:is(.bpg-print-site-senses, .bpg-print-site-cogniful):not(.cg-az-print) #primary-content :is(.home-hero, .pathway, .faq-block, .contact, .cg-program-option) {
    background: transparent !important;
    color: #111 !important;
    border-color: #bbb !important;
    box-shadow: none !important;
  }

  body:is(.bpg-print-site-senses, .bpg-print-site-cogniful):not(.cg-az-print) #primary-content :is(.home-hero, .pathway, .faq-block, .contact, .cg-program-option) :is(h1, h2, h3, h4, p, li, summary, span, small, a, dt, dd, figcaption) {
    color: #111 !important;
    text-shadow: none !important;
  }

  body:is(.bpg-print-site-senses, .bpg-print-site-cogniful):not(.cg-az-print) #primary-content :is(.home-hero > figure, .content-hero__media, .content-hero__media figure, .location-grid figure) {
    position: static !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 0 4mm !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
  }

  body:is(.bpg-print-site-senses, .bpg-print-site-cogniful):not(.cg-az-print) #primary-content :is(.home-hero, .content-hero__media, .location-grid) img {
    position: static !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 65mm !important;
    object-fit: contain !important;
    transform: none !important;
  }

  body:is(.bpg-print-site-senses, .bpg-print-site-cogniful):not(.cg-az-print) #primary-content :is(.content-hero__media, .home-hero) figcaption {
    position: static !important;
    color: #333 !important;
    background: transparent !important;
  }

  body.bpg-print-site-cogniful:not(.cg-az-print) #primary-content .cg-home-claim {
    font-size: 20pt !important;
    line-height: 1.2 !important;
    margin: 3mm 0 !important;
  }

  body.bpg-print-site-cogniful:not(.cg-az-print) #primary-content .cg-program-option details {
    margin: 0 !important;
    padding-inline: 0 !important;
  }

  body:is(.bpg-print-site-senses, .bpg-print-site-cogniful):not(.cg-az-print) #primary-content :is(.brand-table-scroll, .faq-block__content, .insight-section-body, .insights-panel) {
    max-width: none !important;
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
  }

  body:is(.bpg-print-site-senses, .bpg-print-site-cogniful):not(.cg-az-print) #primary-content .faq-block__content details > summary {
    display: block !important;
    font-size: 12pt !important;
    line-height: 1.35 !important;
    min-height: 0 !important;
    padding: 3mm 0 !important;
    break-after: avoid !important;
  }

  body:is(.bpg-print-site-senses, .bpg-print-site-cogniful):not(.cg-az-print) #primary-content .faq-block__content details > summary ~ * {
    margin-inline: 0 !important;
  }

  /* SENSES article panels are hidden by its own JS, rather than native details. */
  body.bpg-print-site-senses #primary-content .insights-section > .insights-panel {
    display: block !important;
    content-visibility: visible !important;
  }

  body.bpg-print-site-senses #primary-content .insights-section > h2 > button {
    display: inline !important;
    width: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: inherit !important;
    font: inherit !important;
    text-align: start !important;
  }

  body.bpg-print-site-senses #primary-content .insights-section > h2 > button::after,
  body:is(.bpg-print-site-senses, .bpg-print-site-cogniful):not(.cg-az-print) #primary-content .faq-block__content summary::after {
    display: none !important;
  }

  body.bpg-print-site-vayema #primary-content {
    --gutter: 0px;
    --ink: #111;
    --paper: #fff;
    --cream: #fff;
    --sand: #fff;
    --muted: #333;
    --sage: #333;
    --gold: #333;
    --line: #bbb;
    --ve-surface: #fff;
    background: #fff !important;
    color: #111 !important;
    min-height: 0 !important;
    padding: 0 !important;
  }

  body.bpg-print-site-vayema :is(.ve-editor-prefooter, .ve-search-dialog, .ve-assessment-dialog, .vg-launcher, .vg-dialog, .ve-measurement-consent, .ve-consent-preferences),
  body.bpg-print-site-vayema #primary-content :is(.ve-child-nav, .topic-switch, .ve-article-contents, .ve-therapy-contents, .ve-guide-quicklinks, .ve-guide-next, .ve-therapy-filters, .ve-therapy-alphabet) {
    display: none !important;
  }

  body.bpg-print-site-vayema #primary-content :is(.site-wrap, .section, .content-hero, .ve-home-hero, .ve-editorial-hero, .ve-prose, .ve-therapy-layout) {
    position: static !important;
    display: block !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 4mm 0 !important;
    overflow: visible !important;
    break-inside: auto !important;
  }

  body.bpg-print-site-vayema #primary-content :is(.wp-block-columns, .ve-care-grid, .ve-group-grid, .ve-formats-grid, .ve-location-grid, .ve-session-grid, .ve-care-pathway, .ve-pathway-options, .team-grid, .ve-therapy-grid, .ve-image-pair, .ve-assurance) {
    display: block !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
  }

  body.bpg-print-site-vayema #primary-content :is(.wp-block-column, .ve-session-card, .ve-pathway-option, .ve-group-card, .ve-format-card, .ve-location-card, .ve-therapy-card) {
    min-width: 0 !important;
    width: auto !important;
    margin: 0 0 4mm !important;
    padding: 3mm 0 !important;
    break-inside: auto !important;
  }

  body.bpg-print-site-vayema #primary-content :is(.ve-blue-band, .pathway-band, .ve-blue-pale, .ve-pathway-continuity, .ve-session-card, .ve-pathway-start, .ve-pathway-option, .ve-group-card, .ve-format-card) {
    background: transparent !important;
    color: #111 !important;
    box-shadow: none !important;
  }

  body.bpg-print-site-vayema #primary-content :is(.ve-blue-band, .pathway-band, .ve-pathway-continuity) :is(h2, h3, p, li, a, span) {
    color: #111 !important;
  }

  body.bpg-print-site-vayema #primary-content :is(.ve-hero-image, .ve-editorial-image, .ve-image-pair) img {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 65mm !important;
    object-fit: contain !important;
  }

  body.bpg-print-site-vayema #primary-content .ve-faq-item {
    break-inside: auto !important;
  }

  body.bpg-print-site-vayema #primary-content .ve-faq-item > summary {
    display: block !important;
    min-height: 0 !important;
    padding: 3mm 0 !important;
    break-after: avoid !important;
  }

  body.bpg-print-site-vayema #primary-content .ve-faq-item > summary h3 {
    font-size: 12pt !important;
    line-height: 1.35 !important;
    margin: 0 !important;
  }

  body.bpg-print-site-vayema #primary-content .ve-faq-item > summary::after {
    display: none !important;
  }

  body.bpg-print-site-vayema #primary-content .ve-faq-answer {
    padding: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }
}


/* Actual THE BALANCE fee component classes, verified on .clinic and .care.
 * The location switch changes currency labels only; print the selected state. */
@media print {
  body:is(.bpg-print-site-balance, .bpg-print-site-care) #balance-fees-with-senses {
    --bc-paper: #fff !important;
    --bc-surface: #fff !important;
    --bc-ink: #111 !important;
    --bc-muted: #333 !important;
    --bc-rule: #bbb !important;
    --bc-signature: #fff !important;
    --bc-signature-ink: #111 !important;
    --bc-soft: #fff !important;
    color-scheme: light;
  }

  body:is(.bpg-print-site-balance, .bpg-print-site-care) #balance-fees-with-senses .bc-signature {
    --bc-signature-panel: #fff !important;
  }

  body:is(.bpg-print-site-balance, .bpg-print-site-care) #balance-fees-with-senses .bc-senses {
    --bc-retreat-surface: #fff !important;
  }

  body:is(.bpg-print-site-balance, .bpg-print-site-care) #balance-fees-with-senses :is(.bc-tiers, .bc-settings, .bc-section-head, .bc-rate-row):not([hidden]) {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    gap: 0 !important;
    margin: 0 0 4mm !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body:is(.bpg-print-site-balance, .bpg-print-site-care) #balance-fees-with-senses :is(.bc-tier, .bc-tier-heading, .bc-settings > div):not([hidden]) {
    display: block !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 3mm 0 !important;
    margin: 0 0 4mm !important;
    background: #fff !important;
    color: #111 !important;
    break-inside: auto !important;
  }

  body:is(.bpg-print-site-balance, .bpg-print-site-care) #balance-fees-with-senses :is(.bc-rate-row dd, .bc-cogniful-price, .bc-retreat-price) {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.35em !important;
    white-space: normal !important;
    font-size: 14pt !important;
    line-height: 1.3 !important;
    margin: 1mm 0 2mm !important;
  }

  body:is(.bpg-print-site-balance, .bpg-print-site-care) #balance-fees-with-senses .bc-location-switch {
    display: block !important;
    border: 0 !important;
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body:is(.bpg-print-site-balance, .bpg-print-site-care) #balance-fees-with-senses :is(.bc-location-switch button, .bc-location-label, .bc-sr-only:not([data-bc-currency-status])) {
    display: none !important;
  }

  /* Expose only the already-localized live sentence identifying current currency.
   * Other screen-reader labels and hidden controls remain excluded. */
  body:is(.bpg-print-site-balance, .bpg-print-site-care) #balance-fees-with-senses [data-bc-currency-status] {
    display: block !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 0 4mm !important;
    padding: 0 !important;
    clip: auto !important;
    clip-path: none !important;
    overflow: visible !important;
    white-space: normal !important;
    color: #333 !important;
    font-size: 10pt !important;
    line-height: 1.4 !important;
  }
}
