/**
 * FD Print Styles – Spring Revision C
 *
 * Based on fd-spring-style_A.css with adjusted print typography:
 * - Global print root set to 12pt so all rem-based values scale from that baseline
 * - Body copy on single-conditions pages prints at 12pt
 * - Headings use em-based proportional scale (h1 → 2em, h2 → 1.5em, h3 → 1.25em, etc.)
 * - Metadata labels (Sources/History) scale proportionally via rem
 * - Link URL suffix and copyright block updated to match
 *
 * Load order: enqueued at priority 100, after theme style.css.
 * The theme's own @media print block handles body.--print-questions layout
 * hiding; this file supplements and refines it.
 *
 * To revert: change the filename in fd-print-styles.php back to fd-spring-style_B.css
 *
 * Typography scale (base 12pt):
 *   h1  2.000em = 24pt
 *   h2  1.500em = 18pt
 *   h3  1.250em = 15pt
 *   h4  1.083em = 13pt
 *   h5  1.000em = 12pt
 *   h6  0.917em = 11pt
 *   body           12pt
 *   meta labels  0.875rem = ~10.5pt
 *   link URLs    0.750rem = ~9pt
 */


/* ============================================================
   SECTION 1: GLOBAL PAGE SETUP
   ============================================================ */

@media print {
    @page {
        size: Letter;
        margin: 0.6in 0.55in 0.7in;
    }

    /* Set the rem root for the entire print context */
    html {
        font-size: 12pt !important;
    }
}


/* ============================================================
   SECTION 2: ALL NON-QUESTIONS PAGES
   Scope: body:not(.--print-questions)
   Covers conditions, articles, and other standard page types.
   ============================================================ */

@media print {

    /* --- Site header: strip chrome, keep logo --- */

    body:not(.--print-questions) .page-section.page-section--site-header.site-header {
        display: block !important;
        padding: 0;
        margin-left: 10px;
        border-width: 0;
        margin-top: 10px;
        margin-bottom: 14px;
        position: relative !important;
    }

    body:not(.--print-questions) .page-section.page-section--site-header.site-header .site-header__nav,
    body:not(.--print-questions) .page-section.page-section--site-header.site-header .nav-menu,
    body:not(.--print-questions) .page-section.page-section--site-header.site-header .site-header__tools,
    body:not(.--print-questions) .page-section.page-section--site-header.site-header .header-search--mobile,
    body:not(.--print-questions) .page-section.page-section--site-header.site-header .menu__toggle {
        display: none;
    }

    body:not(.--print-questions) .page-section.page-section--site-header.site-header .site-header__logo.logo--fixed a {
        padding: 0 !important;
        margin: 0 !important;
        margin-left: -6px !important;
    }

    body:not(.--print-questions) .page-section.page-section--site-header.site-header .site-header__logo.logo--fixed a::after {
        display: none;
    }

    body:not(.--print-questions) .page-section.page-section--site-header.site-header .site-header__logo.logo--fixed img {
        width: 100% !important;
        height: 68px !important;
        max-height: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    body:not(.--print-questions) .page-section--main {
        margin-top: 0 !important;
    }

    /* --- Cookie consent --- */

    body:not(.--print-questions) .cky-btn-revisit-wrapper {
        display: none;
    }

    .cky-modal-open {
        display: none !important;
    }

    /* --- Hero banner --- */

    body:not(.--print-questions) .hero-banner .wp-block-cover {
        flex-direction: column;
        height: auto !important;
        min-height: 0 !important;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
        margin-bottom: .2rem;
        position: relative;
        overflow: visible;
        align-items: stretch;
        justify-content: flex-start;
    }

    body:not(.--print-questions) .hero-banner .wp-block-cover::before {
        content: none !important;
        display: none !important;
    }

    body:not(.--print-questions) .hero-banner .wp-block-cover .wp-block-cover__image-background {
        display: none !important;
    }

    body:not(.--print-questions) .hero-banner .wp-block-cover .wp-block-cover__background {
        display: none !important;
    }

    body:not(.--print-questions) .hero-banner .wp-block-cover__inner-container {
        padding: 0;
        position: relative;
        z-index: 1;
        background: transparent !important;
    }

    body:not(.--print-questions) .hero-banner .wp-block-cover__inner-container .wp-block-group {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        margin-top: 0 !important;
        background: transparent !important;
    }

    body:not(.--print-questions) .hero-banner .wp-block-cover__inner-container .wp-block-group h1 {
        width: 100%;
        padding-top: 0;
        color: #111 !important;
        text-shadow: none !important;
        padding-left: 0;
        margin-bottom: 0.25rem !important;
        background: transparent !important;
    }

    body:not(.--print-questions) .hero-banner .wp-block-cover__inner-container .wp-block-group p {
        display: none !important;
    }

    body:not(.--print-questions) .hero-banner .wp-block-cover__inner-container span {
        display: none !important;
    }

    /* --- Breadcrumbs & author meta --- */

    body:not(.--print-questions) .breadcrumbs {
        display: none !important;
    }

    body:not(.--print-questions) .--template-hero .author-meta {
        position: relative;
        right: 0;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 0;
        margin-bottom: 0.4rem;
        font-size: 10pt !important;
        line-height: 1.25 !important;
    }

    body:not(.--print-questions) .--template-hero .author-meta .author-meta__inner.--mobile {
        display: none !important;
    }

    body:not(.--print-questions) .--template-hero .author-meta .author-meta__inner.--desktop {
        display: flex !important;
        padding-left: 0;
        gap: 0.8rem;
        align-items: flex-start;
        font-size: 10pt !important;
    }

    body:not(.--print-questions) .--template-hero .author-meta .author-meta__inner.--desktop .inner-section {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
        min-height: 0;
    }

    body:not(.--print-questions) .--template-hero .author-meta .author-meta__heading,
    body:not(.--print-questions) .--template-hero .author-meta .author-meta__content,
    body:not(.--print-questions) .--template-hero .author-meta .author-cta,
    body:not(.--print-questions) .--template-hero .author-meta .inner-section,
    body:not(.--print-questions) .--template-hero .author-meta p,
    body:not(.--print-questions) .--template-hero .author-meta a,
    body:not(.--print-questions) .--template-hero .author-meta span {
        font-size: 10pt !important;
        line-height: 1.25 !important;
        margin-bottom: 0.2rem;
    }

    body:not(.--print-questions) .--template-hero .author-meta .author-meta__heading {
        letter-spacing: 0.01em;
        margin-bottom: 0.12rem;
    }

    body:not(.--print-questions) .--template-hero .author-meta .author-meta__reviewer .author-cta,
    body:not(.--print-questions) .--template-hero .author-meta .author-meta__updated .author-meta__content {
        display: block;
        margin-top: 0.14rem !important;
        margin-bottom: 0 !important;
    }

    body:not(.--print-questions) .--template-hero .author-meta .author-meta__content {
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        max-width: none !important;
    }

    body:not(.--print-questions) .--template-hero .author-meta .author-meta__reviewer img,
    body:not(.--print-questions) .--template-hero .author-meta .author-meta__inner.--desktop img {
        display: none !important;
    }

    body:not(.--print-questions) .--template-hero .author-meta a.author-cta:after {
        display: none !important;
    }

    /* --- In-page nav --- */

    body:not(.--print-questions) .container-inpagenav {
        display: none;
    }

    body:not(.--print-questions) #questions .wp-block-buttons {
        display: none !important;
    }

    /* --- Questions to ask your doctor: force to new page, keep together --- */

    body:not(.--print-questions) .is-section-questions-ask-doctor {
        break-before: page !important;
        page-break-before: always !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    /* --- Article meta (Sources, Update History, Contributed By, Categories) --- */

    body:not(.--print-questions) .page-section.article-meta {
        display: none !important;
    }

    /* --- Ad slots --- */

    body:not(.--print-questions) .has-advert-gray-background-color {
        display: none;
    }

    /* --- Related articles --- */

    body:not(.--print-questions) .page-section.--related-articles {
        display: none;
    }

    /* --- Site footer: blue rule above copyright --- */

    body:not(.--print-questions) .site-footer {
        color: #0e3759 !important;
        background: transparent !important;
        padding: 0;
        display: block;
        width: 100%;
        padding-top: 0.45rem;
        padding-bottom: 0;
        padding-left: 0;
        padding-right: 0;
        border-top: 2px solid #0e3759;
        border-radius: 0;
        margin-bottom: 0.8rem;
        margin-top: 0.8rem;
        page-break-inside: avoid;
        break-inside: avoid;
    }

    body:not(.--print-questions) .site-footer .footer-row--top,
    body:not(.--print-questions) .site-footer .footer-logo {
        display: none !important;
    }

    body:not(.--print-questions) .footer-social,
    body:not(.--print-questions) .footer-nav,
    body:not(.--print-questions) .footer-divider {
        display: none !important;
    }

    body:not(.--print-questions) .footer-bottom-left {
        color: #0e3759 !important;
        text-align: left;
        margin-bottom: 0 !important;
        max-width: 100%;
        /* Zero font-size collapses bare text nodes (pipe separators from policy links) */
        font-size: 0 !important;
    }

    body:not(.--print-questions) .footer-bottom-left span {
        display: block;
        text-align: left;
        color: #0e3759 !important;
        font-size: 9pt !important;
        line-height: 1.35;
    }

    body:not(.--print-questions) .footer-bottom-left a {
        display: none !important;
    }

    body:not(.--print-questions) .site-footer .container {
        display: block;
    }

    body:not(.--print-questions) .site-footer .footer-row {
        margin-bottom: 0;
    }

    body:not(.--print-questions) .site-footer .footer-row--bottom {
        display: block;
        margin-top: 0 !important;
    }

    body:not(.--print-questions) .site-footer .footer-row--bottom > :not(.footer-bottom-left) {
        display: none !important;
    }

    body:not(.--print-questions) .site-footer .footer-row--bottom ul,
    body:not(.--print-questions) .site-footer .footer-row--bottom li,
    body:not(.--print-questions) .site-footer .footer-row--bottom a {
        display: none !important;
    }

    body:not(.--print-questions) .site-footer .footer-row--bottom *::before,
    body:not(.--print-questions) .site-footer .footer-row--bottom *::after {
        content: none !important;
    }

    /* Restore copyright prefix — must come after the broad *::before reset above */
    body:not(.--print-questions) .site-footer .footer-row--bottom .footer-bottom-left span::before {
        content: "familydoctor.org | " !important;
        font-weight: 600;
        font-size: 9pt !important;
        color: #0e3759 !important;
        display: inline !important;
    }

    body:not(.--print-questions) .site-footer .footer-bottom-right,
    body:not(.--print-questions) .site-footer .partner-logos {
        display: none !important;
    }

    /* --- Back-to-top button --- */

    body:not(.--print-questions) #backtothetop-fixed {
        display: none !important;
    }

}


/* ============================================================
   SECTION 3: SINGLE CONDITIONS – typography + layout improvements
   Scope: body.single-conditions:not(.--print-questions)
   Body classes on these pages:
     wp-singular  single-conditions  conditions-template-default  wp-theme-familydoctor

   Typography scale (all relative to 12pt html root):
     body   1rem    = 12pt
     h1     2em     = 24pt
     h2     1.5em   = 18pt
     h3     1.25em  = 15pt
     h4     1.083em ≈ 13pt
     h5/h6  1em     = 12pt
   ============================================================ */

@media print {

    /* Base typography – 12pt body copy */
    body.single-conditions:not(.--print-questions) {
        font-size: 1rem; /* 12pt via html root */
        line-height: 1.45;
        color: #111 !important;
    }

    /* Proportional heading scale */
    body.single-conditions:not(.--print-questions) h1 {
        font-size: 2em !important;     /* 24pt */
    }

    body.single-conditions:not(.--print-questions) h2 {
        font-size: 1.5em !important;   /* 18pt */
    }

    body.single-conditions:not(.--print-questions) h3 {
        font-size: 1.25em !important;  /* 15pt */
    }

    body.single-conditions:not(.--print-questions) h4 {
        font-size: 1.083em !important; /* ~13pt */
    }

    body.single-conditions:not(.--print-questions) h5,
    body.single-conditions:not(.--print-questions) h6 {
        font-size: 1em !important;     /* 12pt */
    }

    /* Hide right rail / sidebar */
    body.single-conditions:not(.--print-questions) .container-aside {
        display: none !important;
    }

    /* Hide the on-page Print button (not useful inside the PDF) */
    body.single-conditions:not(.--print-questions) .wp-block-button.is-style-print,
    body.single-conditions:not(.--print-questions) .wp-block-buttons:has(.wp-block-button.is-style-print) {
        display: none !important;
    }

    /* Flatten multi-column layout to a clean single column */
    body.single-conditions:not(.--print-questions) .container,
    body.single-conditions:not(.--print-questions) .container-small,
    body.single-conditions:not(.--print-questions) .container-medium,
    body.single-conditions:not(.--print-questions) .container-flex {
        max-width: none !important;
        width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        display: block !important;
        overflow: visible !important;
    }

    /* Hero: strip background image overlay, keep title */
    body.single-conditions:not(.--print-questions) .hero-banner {
        margin-bottom: 0.2in !important;
        padding: 0 !important;
        border-radius: 0 !important;
        border: 0 !important;
        box-shadow: none !important;
        filter: none !important;
        background: transparent !important;
        background-image: none !important;
    }

    body.single-conditions:not(.--print-questions) .hero-banner::before,
    body.single-conditions:not(.--print-questions) .hero-banner::after {
        content: none !important;
        display: none !important;
        background: transparent !important;
    }

    body.single-conditions:not(.--print-questions) .hero-banner .wp-block-cover {
        background-image: none !important;
        background-color: transparent !important;
        min-height: 0 !important;
        height: auto !important;
        padding: 0 !important;
        border: 0 !important;
        box-shadow: none !important;
        filter: none !important;
    }

    body.single-conditions:not(.--print-questions) .hero-banner .wp-block-cover::before,
    body.single-conditions:not(.--print-questions) .hero-banner .wp-block-cover::after {
        content: none !important;
        display: none !important;
        background: transparent !important;
    }

    body.single-conditions:not(.--print-questions) .hero-banner .wp-block-cover .wp-block-cover__gradient-background,
    body.single-conditions:not(.--print-questions) .hero-banner .wp-block-cover .wp-block-cover__background,
    body.single-conditions:not(.--print-questions) .hero-banner .wp-block-cover .wp-block-cover__image-background {
        display: none !important;
    }

    body.single-conditions:not(.--print-questions) .hero-banner .wp-block-cover__inner-container,
    body.single-conditions:not(.--print-questions) .hero-banner .wp-block-cover__inner-container .wp-block-group {
        background: transparent !important;
        background-image: none !important;
        border: 0 !important;
        box-shadow: none !important;
        filter: none !important;
    }

    body.single-conditions:not(.--print-questions) .hero-banner .wp-block-cover__inner-container::before,
    body.single-conditions:not(.--print-questions) .hero-banner .wp-block-cover__inner-container::after,
    body.single-conditions:not(.--print-questions) .hero-banner .wp-block-cover__inner-container .wp-block-group::before,
    body.single-conditions:not(.--print-questions) .hero-banner .wp-block-cover__inner-container .wp-block-group::after {
        content: none !important;
        display: none !important;
        background: transparent !important;
        background-image: none !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    body.single-conditions:not(.--print-questions) .hero-banner .wp-block-cover::after {
        content: none !important;
        display: none !important;
    }

    body.single-conditions:not(.--print-questions) .hero-banner .wp-block-cover > img {
        display: none !important;
    }

    /* Pagination: keep headings together with their following content */
    body.single-conditions:not(.--print-questions) h1,
    body.single-conditions:not(.--print-questions) h2,
    body.single-conditions:not(.--print-questions) h3 {
        page-break-after: avoid;
        break-after: avoid-page;
        break-inside: avoid;
    }

    body.single-conditions:not(.--print-questions) p,
    body.single-conditions:not(.--print-questions) li,
    body.single-conditions:not(.--print-questions) blockquote {
        orphans: 3;
        widows: 3;
    }

    body.single-conditions:not(.--print-questions) ul,
    body.single-conditions:not(.--print-questions) ol {
        padding-left: 1.2em !important;
    }

    body.single-conditions:not(.--print-questions) img,
    body.single-conditions:not(.--print-questions) figure,
    body.single-conditions:not(.--print-questions) table {
        break-inside: avoid;
        page-break-inside: avoid;
        max-width: 100% !important;
    }

    /* Show full URL after external links so the PDF is useful offline */
    body.single-conditions:not(.--print-questions) a[href^="http"]::after {
        content: " (" attr(href) ")";
        font-size: 0.75rem; /* ~9pt at 12pt root */
        word-break: break-all;
    }

    /* Suppress URL display for fragment and JS links */
    body.single-conditions:not(.--print-questions) a[href^="#"]::after,
    body.single-conditions:not(.--print-questions) a[href^="javascript:"]::after {
        content: "";
    }

}


/* ============================================================
   SECTION 4: QUESTIONS PRINT MODE
   Scope: body.--print-questions
   (Layout hiding handled by theme; this file refines the header/footer.)
   ============================================================ */

@media print {

    /* --- Site header (questions mode) --- */

    body.--print-questions .page-section.page-section--site-header.site-header {
        display: block !important;
        padding: 0;
        margin-left: 10px;
        border-width: 0;
        margin-bottom: 14px;
        position: relative !important;
    }

    body.--print-questions .page-section.page-section--site-header.site-header .site-header__nav,
    body.--print-questions .page-section.page-section--site-header.site-header .nav-menu,
    body.--print-questions .page-section.page-section--site-header.site-header .site-header__tools,
    body.--print-questions .page-section.page-section--site-header.site-header .header-search--mobile,
    body.--print-questions .page-section.page-section--site-header.site-header .menu__toggle {
        display: none;
    }

    body.--print-questions .page-section.page-section--site-header.site-header .site-header__logo.logo--fixed a {
        padding: 0 !important;
        margin: 0 !important;
    }

    body.--print-questions .page-section.page-section--site-header.site-header .site-header__logo.logo--fixed a::after {
        display: none;
    }

    body.--print-questions .page-section.page-section--site-header.site-header .site-header__logo.logo--fixed img {
        width: 100% !important;
        height: 68px !important;
        max-height: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    body.--print-questions .page-section--main {
        margin-top: 0 !important;
    }

    /* --- Copyright footer block --- */

    body.--print-questions #content::after {
        content: "FamilyDoctor.org\A© 2026 American Academy of Family Physicians";
        white-space: pre-wrap;
        display: block;
        text-align: left;
        font-size: 9pt;
        font-family: "Work Sans", sans-serif;
        line-height: 1.35;
        color: #fff !important;
        background-color: #0e3759 !important;
        padding: 0.6rem 1rem;
        border-top: 0;
        margin-top: 1rem;
        margin-bottom: 0;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    /* --- Hero (questions mode) --- */

    body.--print-questions .page-section.--template-hero {
        display: block !important;
    }

    body.--print-questions .page-section.--template-hero .hero-banner .wp-block-cover .wp-block-cover__background {
        background: none !important;
    }

    body.--print-questions .page-section.--template-hero h1 {
        margin-left: 10px !important;
    }

    /* --- Layout containers (questions mode) --- */

    body.--print-questions .container-flex {
        max-width: none;
    }

    body.--print-questions .container-small {
        max-width: none;
    }

    body.--print-questions .block-questions-category {
        background-color: transparent !important;
    }

    /* Keep each doctor question block together as much as possible */
    body.--print-questions .is-style-questions-list li,
    body.--print-questions .is-style-questions-list li > * {
        page-break-inside: avoid;
        break-inside: avoid-page;
    }

    body.--print-questions .is-style-questions-list li p,
    body.--print-questions .is-style-questions-list li h2,
    body.--print-questions .is-style-questions-list li h3,
    body.--print-questions .is-style-questions-list li h4,
    body.--print-questions .is-style-questions-list li h5 {
        page-break-after: avoid;
        break-after: avoid-page;
    }

}
