/* === Print stylesheet ============================================================
   Cel: czytelny wydruk artykułu / oferty / strony statycznej dla offline review-u
   z klientem. Ładowane przez <link media="print"> — przeglądarka pobiera dopiero
   przy print preview / Ctrl+P, zero impactu na perf na zwykłym viewport-cie.

   Konwencja: ukrywamy nawigację, footer, decorative effects, interactive controls.
   Zostawiamy: H1-H3, paragrafy, listy, obrazy (w rozsądnym rozmiarze), tabele,
   meta dane oferty (cena/metraż/lokalizacja).
*/

@media print {

    /* === Globalny reset dla print ============================================== */

    * {
        box-shadow: none !important;
        text-shadow: none !important;
        background: transparent !important;
        color: #000 !important;
    }

    body {
        font-family: 'Inter', system-ui, -apple-system, sans-serif;
        font-size: 11pt;
        line-height: 1.5;
        background: #fff;
    }

    /* === Hide nav / footer / interactive UI === */

    .site-header,
    nav.site-header,
    [data-mega-menu],
    .footer,
    [class*="footer"],
    .breadcrumbs,
    .reading-progress,
    .lang-banner,
    [data-lang-banner-dismiss],
    .schowek-counter,
    [data-schowek-toggle],
    .map-loader,
    .htmx-indicator,
    .modal-loader,
    button,
    [role="button"],
    [data-modal-close],
    [data-modal-share],
    [data-mega-trigger],
    .mega-menu,
    .offer-modal,
    .offer-modal__backdrop,
    .map-placeholder,
    .map-load-btn,
    iframe,
    video,
    audio,
    nav[data-pagination],
    [data-cursor-follow],
    .hero-mesh {
        display: none !important;
    }

    /* === Główny content — uproszczona prezentacja === */

    main {
        padding-top: 0 !important;
        max-width: 100%;
    }

    article,
    .offer-detail,
    .news-article {
        break-inside: avoid;
    }

    h1, h2, h3, h4, h5, h6 {
        page-break-after: avoid;
        break-after: avoid;
        font-weight: 700;
    }

    h1 { font-size: 20pt; margin-bottom: 0.5cm; }
    h2 { font-size: 16pt; margin-top: 0.7cm; }
    h3 { font-size: 13pt; margin-top: 0.5cm; }

    p, li {
        orphans: 3;
        widows: 3;
    }

    /* === Obrazy: ograniczamy rozmiar i przeciwdziałamy split-page === */

    img {
        max-width: 100% !important;
        max-height: 14cm !important;
        height: auto !important;
        page-break-inside: avoid;
        break-inside: avoid;
    }

    /* Galeria oferty: pokazujemy tylko hero, ukrywamy thumbnails strip i lightbox */
    .offer-gallery__strip,
    .offer-gallery__nav,
    .offer-gallery__caption,
    [data-gallery-dialog],
    [data-gallery-trigger]:not(:first-child) {
        display: none !important;
    }

    /* === Linki: pokazuj URL po href dla referencji offline (z wyjątkiem internal anchors) */

    a[href^="http"]::after {
        content: " (" attr(href) ")";
        font-size: 9pt;
        color: #666 !important;
        word-break: break-all;
    }

    a[href^="#"]::after,
    a[href^="/"]::after {
        content: "";
    }

    /* === Tabele cech oferty: zachowujemy borders === */

    table {
        border-collapse: collapse;
        width: 100%;
    }

    th, td {
        border: 1px solid #999 !important;
        padding: 0.2cm 0.4cm;
        text-align: left;
    }

    /* === Page break utilities === */

    .page-break-before { page-break-before: always; }
    .page-break-avoid { page-break-inside: avoid; }

    /* === Margins per @page rule (Chrome/Firefox respect) === */

    @page {
        margin: 1.5cm 1.2cm;
    }
}
