.stone {
    --excerpt-bottom-spacing: 1em;
    font-family: var(--memo-heading-font-family);
    font-weight: var(--memo-heading-font-weight);
    background-color: var(--memo-color-light-salmon);
    text-align: center;
    color: #3c3c3c;
    padding: 1em;
    margin: 0.5em auto 0.5em auto;
    border-top: 3px solid var(--memo-color-rust);
    border-bottom: 3px solid var(--memo-color-rust);
    font-size: 0.975em;
    font-variant: small-caps;
    letter-spacing: 0.05em;
    line-height: 1.15em;
}
.stone-year {
    margin-top: -0.5em;
    margin-bottom: 0.5em;
}

.monument-details {
    font-size: 85%;
}

.memo_stone_line {
    display: block;
    margin: 0;
    padding: 0 0 0.1em 0;
    border-style: solid;
    border-color: rgba(255, 255, 255, 0.8);
    border-width: 0 0 1px 0;
}
.memo_stone_line:last-child {
    border-width: 0 !important;
}
.memo_stone_line_empty {
    display: block;
    border-width: 0 !important;
    margin-bottom: 0.75em;
}

/* ════════════════════════════════════════════════════════════════
   Print stylesheet — monument detail page
   ════════════════════════════════════════════════════════════════ */

/* @page at top level for cross-browser compatibility (not nested in @media) */
@page {
    size: A4 portrait;
    margin: 1.5cm 2cm;
}

@media print {

    /* ── Reset all theme variables to light values so dark/daltonic
       themes don't produce invisible text on white paper ── */
    :root,
    :root[data-theme="dark"],
    :root[data-theme="daltonic"] {
        color-scheme: light;
        --memo-body-bg: #ffffff;
        --memo-body-text: rgb(36, 58, 98);
        --memo-body-muted-text: #555;
        --memo-link-color: rgb(164, 82, 25);
        --memo-color-dark-blue: rgb(36, 58, 98);
        --memo-color-blue: rgb(79, 97, 129);
        --memo-color-light-blue: rgb(211, 215, 223);
        --memo-color-salmon: rgb(253, 201, 160);
        --memo-color-light-salmon: rgb(254, 241, 231);
        --memo-color-rust: rgb(164, 82, 25);
    }

    /* ── Disable animations ── */
    *, *::before, *::after {
        transition: none !important;
        animation: none !important;
    }

    /* ── Base typography ── */
    html,
    body {
        font-size: 10pt !important;
        color: #000 !important;
        background-color: #fff !important;
    }

    h1 { font-size: 16pt !important; margin-top: 0.5rem !important; }
    h2 { font-size: 13pt !important; }
    h3 { font-size: 11pt !important; }

    a {
        color: #000 !important;
        text-decoration: none !important;
    }

    /* ── Hide: navigation, footer, interactive chrome ── */
    header,
    footer,
    .btn-group.float-end,
    form#draft_generation_form,
    form#draft_generation_form + p,
    #switchable_coordinates,
    .translation_button,
    .js-show-more,
    .modal,
    #picture_tab,
    #map-canvas,
    #map-navigation-help,
    #popup,
    #layer_selection_menu,
    #monument-map,
    a[download],
    #export-map-png,
    .mt-2.text-end.small,
    .py-2.mt-4.bg-light-blue {
        display: none !important;
    }

    /* ── Reveal: full truncated text ── */
    .excerpt-hidden {
        height: auto !important;
        overflow: visible !important;
    }
    .excerpt-hidden::after {
        display: none !important;
    }

    /* ── Reveal: all photo audit tabs ── */
    .tab-pane {
        display: block !important;
    }

    /* ── Reveal: translations (may be toggled off on screen) ── */
    .translated_text {
        display: block !important;
    }

    /* ── Reveal: accordion bodies (context note) ── */
    .accordion-collapse {
        display: block !important;
    }
    .accordion-button::after {
        display: none !important;
    }

    /* ── Coordinates: show both formats (toggle button is hidden) ── */
    .switchable[data-switchable="DMS_coordinates"],
    .switchable[data-switchable="floatformat_coordinates"] {
        display: inline !important;
    }

    /* ── Inscription blocks: preserve background, ensure legibility ── */
    .stone {
        color: #000 !important;
        border-color: #888 !important;
        break-inside: avoid;
        page-break-inside: avoid;
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }

    /* ── Details table: force label/value layout regardless of breakpoint ── */
    .monument-details .row {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 0.75rem !important;
        margin: 0 !important;
        padding: 0.2rem 0 !important;
        border-bottom: 0.5pt solid #bbb !important;
        border-top: none !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }
    .monument-details .col-12.col-md-4 {
        flex: 0 0 10rem !important;
        width: 10rem !important;
        max-width: 10rem !important;
        padding: 0 !important;
    }
    .monument-details .col {
        flex: 1 1 0 !important;
        padding: 0 !important;
    }
    .monument-details p {
        margin-bottom: 0.15rem !important;
    }

    /* ── Photos: two-column grid, capped height ── */
    .pswp-gallery {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 0.4cm !important;
    }
    .figure {
        break-inside: avoid;
        page-break-inside: avoid;
        margin: 0 !important;
    }
    .figure img {
        max-height: 7cm !important;
        width: 100% !important;
        object-fit: contain !important;
    }
    .figure-caption {
        font-size: 7pt !important;
    }

    /* ── Strip decorative backgrounds (save ink) ── */
    .bg-light-blue,
    .bg-light-salmon {
        background-color: transparent !important;
    }

    /* ── Page break control ── */
    h2.menu-section-title {
        break-after: avoid;
        page-break-after: avoid;
    }

    /* ── Attribution footer ── */
    article.menu-article::after {
        content: "Fonte: memo.anpi.it";
        display: block;
        text-align: center;
        font-size: 8pt;
        color: #555;
        margin-top: 0.8cm;
        padding-top: 0.3cm;
        border-top: 0.5pt solid #bbb;
    }
}
