/* b-print.css: the whole-page print sheet, every page (enqueued last, media="print", functions.php).
   Paper wants ink on white: the dark B ground, glass, glows and photos go; fixed and sticky bars, the dock,
   the hero photo, video, 3D and shaders go; pinned acts and rails lay out as plain flow, every word kept.
   Headings and photos are capped so a Location page's address, phone and hours land on page 1. */
@page { margin: 12mm; }

/* ---- ink on white ---- */
html, body, body *, body *::before, body *::after {
  background: transparent !important; color: #111 !important; box-shadow: none !important; text-shadow: none !important;
  filter: none !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
  -webkit-mask-image: none !important; mask-image: none !important;
}
html, body { background: #fff !important; }
body::before, body::after { display: none !important; } /* B's fixed ground and glow layers */
body a, body a * { color: #0B3D8A !important; text-decoration: underline !important; }
body :is(.mfe-scroll-btn, .mfe-main-nav__cta, [class*="btn"], [class*="pill"]) { border: 1px solid #111 !important; }

/* ---- what paper cannot use ---- */
.wp-site-blocks > header, .mfe-skip-link, .mfe-news-ticker, .mfe-dock, [data-sc-controls], .mfe-loc-controls, #mfe-a11y-launch, [id^="mfe-a11y"],
#mfe-google-translate-element, .gtranslate_wrapper, .mfe-sheet-scrim, .sb-ground, .b-line, .dp-svc__float, .mfe-kit-switch,
.mfe-arr__photo, .mfe-arr__fade, .mfe-tooth-act, #mfe-tooth-act, model-viewer, canvas, video, iframe, .mfe-svc-video__frame,
.leaflet-container, [class*="__map-canvas"], .mfe-scroll-finder__map, .svc-watch, .svc-rail, .mfe-svc-video,
.mfe-location-profile__hours-status, /* the live open/closed pill is stale on paper; the weekly hours print below it */
main :is(.mfe-story__pic, .mfe-rail__photo), /* decorative (alt="") scene photos: the words carry the visit story and the care cards */
main [aria-hidden="true"]:not(svg), body > [aria-hidden="true"] { display: none !important; } /* loop clones, decorative numbers, sc-boot's 100vh probe */

/* ---- motion and pinning off: every box in normal flow, every word at full strength ---- */
body *:not(.screen-reader-text) { position: static !important; }
body *:not(.screen-reader-text) { transform: none !important; translate: none !important; rotate: none !important; scale: none !important;
  opacity: 1 !important; visibility: visible !important; clip-path: none !important; animation: none !important; transition: none !important; }
main :is(section, [class*="__stage"], [class*="__inner"], [class*="__words"]), [data-sc-act], [data-sc-stage], .sc-stage { height: auto !important; min-height: 0 !important; margin-top: 0 !important; }
main [class*="__words"] { padding: 0 !important; }
main *:not(img) { min-height: 0 !important; }
main :is(.mfe-scroll-wrap, .b-on-arc, .mfe-lp-orient__top, [class*="crumb"]) { margin-top: 0 !important; } /* they tuck up into the arrival on screen */
main :is([data-sc-stage], [data-sc-pan], [class*="__track"], [class*="__viewport"], [class*="marquee"], [class*="__rail"], [class*="__strip"]) { overflow: visible !important; }
main :is([data-sc-pan], [class*="__track"], [class*="marquee"], [class*="__strip"]) { flex-wrap: wrap !important; width: auto !important; }
main :is(.mfe-rail__track, .mfe-testimonials__track) { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6em 1.2em; padding: 0 !important; margin: 0 !important; } /* doctor, care and review cards two up, as A prints its doctor grid */
main .mfe-rail__stage { display: block !important; }
main .mfe-rail__portrait { aspect-ratio: auto !important; width: auto !important; height: auto !important; } /* the screen frame is a tall 4:5 box around a 6 cm photo */
main [class*="__grid"] { display: block !important; } /* screen splits (the orient rail beside the answer) stack: one column on paper */
details::details-content { content-visibility: visible !important; display: block !important; height: auto !important; }
main :is(.pk-faq__a, .pk-groups__card > ul, [role="tabpanel"])[hidden] { display: block !important; } /* JS-closed answers, groups and FAQ tabs print too */

/* ---- type and photos sized for paper ---- */
body { font-size: 11pt !important; line-height: 1.45 !important; }
main :is(h1, .mfe-arr__title, .mfe-arr__place, .mfe-arr__place > *, [class*="__title"]:is(h1)) { font-size: 24pt !important; line-height: 1.1 !important; letter-spacing: normal !important; margin: 0 0 0.3em !important; }
main h2 { font-size: 16pt !important; line-height: 1.2 !important; letter-spacing: normal !important; margin: 1em 0 0.4em !important; }
main :is(h3, h4) { font-size: 12.5pt !important; line-height: 1.25 !important; letter-spacing: normal !important; }
main :is(p, li, dd, dt, address, td, th, summary, blockquote) { font-size: 11pt !important; line-height: 1.45 !important; letter-spacing: normal !important; }
main img { max-width: 100% !important; max-height: 6cm !important; width: auto !important; height: auto !important; object-fit: contain !important; }
main :is(section, [class*="band"], [class*="__inner"], [class*="wrap"], [class*="__stage"], [class*="__words"], .wp-block-group) { padding-block: 0.3em !important; margin-block: 0.3em !important; } /* screen bands breathe in rem-sized gaps; paper does not */
:is(h1, h2, h3, h4) { break-after: avoid; }
:is(img, figure, li, blockquote, tr, [class*="card"]) { break-inside: avoid; }
