/**
 * print.css — Tisková karta nemovitosti
 *
 * Načítá se pouze na detailu nemovitosti (is_singular('nemovitost')).
 *
 * Struktura souboru:
 *  1. Obrazovka — karta je skrytá (display:none bez !important, aby ji JS mohl
 *     před tiskem dočasně zobrazit inline stylem a změřit její výšku).
 *  2. Globální vzhledová pravidla karty (.pc-*) — platí ve všech médiích.
 *     Týkají se výhradně tříd, které existují jen uvnitř karty, takže zbytek
 *     webu neovlivní. Díky tomu se karta při měření na obrazovce vyrenderuje
 *     přesně v tiskové metrice (mm jednotky fungují i na obrazovce).
 *  3. @media print — formát stránky, skrytí chrome webu a zobrazení karty.
 *
 * Cíl: celá karta na JEDNÉ straně A4. Obsah je omezen už v šabloně
 * (popis ~600 znaků, 3 fotky galerie) a extrémy dorovná shrink-to-fit
 * v assets/js/marketa.js (beforeprint → zoom).
 *
 * @package MarketaVorackova
 */

/* ============================================================
   1. OBRAZOVKA — tisková karta je skrytá, ukazujeme jen web
   ============================================================ */
.print-card {
    display: none;
}

/* Tlačítko tisku — na obrazovce viditelné, v tisku skryté (.no-print) */
.print-card-actions {
    margin: 1rem 0 1.5rem;
}

/* ============================================================
   2. VZHLED KARTY (globální scope — kvůli měření před tiskem)
   ============================================================ */

/* Karta = jedna strana A4: šířka 210 mm, okraje řeší padding
   (@page má margin 0 kvůli potlačení hlavičky prohlížeče). */
.print-card {
    box-sizing: border-box;
    width: 210mm;
    max-width: 210mm;
    margin: 0;
    padding: 10mm 14mm;
    font-family: "Poppins", Arial, Helvetica, sans-serif;
    font-size: 10pt;
    line-height: 1.3;
    color: #111;
    background: #fff;
}

.print-card * {
    box-shadow: none !important;
    text-shadow: none !important;
    background-image: none !important;
}

/* --- Hlavička --- */
.pc-header {
    display: flex;
    gap: 5mm;
    align-items: flex-start;
    justify-content: space-between;
    border-bottom: 2px solid #111;
    padding-bottom: 3mm;
    margin-bottom: 3mm;
    page-break-inside: avoid;
    break-inside: avoid;
}

.pc-header-text {
    flex: 1 1 55%;
    min-width: 0;
}

.pc-title {
    font-size: 15pt;
    line-height: 1.15;
    margin: 0 0 1.5mm;
    font-weight: 700;
}

.pc-location {
    font-size: 10pt;
    margin: 0 0 1.5mm;
    color: #333;
}

.pc-price {
    font-size: 13pt;
    font-weight: 700;
    margin: 0;
}

.pc-header-image {
    flex: 0 0 38%;
    max-width: 38%;
}

.pc-main-image {
    width: 100%;
    height: auto;
    max-height: 45mm;
    object-fit: cover;
    border: 1px solid #ccc;
}

/* --- Sekce --- */
.pc-section {
    margin: 0 0 2.5mm;
    page-break-inside: avoid;
    break-inside: avoid;
}

.pc-section-title {
    font-size: 10.5pt;
    font-weight: 700;
    margin: 0 0 1.5mm;
    padding-bottom: 0.8mm;
    border-bottom: 1px solid #999;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

/* --- Mřížka parametrů --- */
.pc-info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5mm 8mm;
    margin: 0;
}

.pc-info-item {
    display: flex;
    justify-content: space-between;
    gap: 4mm;
    border-bottom: 1px dotted #ccc;
    padding: 0.5mm 0;
    page-break-inside: avoid;
    break-inside: avoid;
}

.pc-info-item dt {
    color: #555;
    margin: 0;
}

.pc-info-item dd {
    margin: 0;
    font-weight: 600;
    text-align: right;
}

/* --- Vybavení (odrážky) --- */
.pc-features-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0.5mm 6mm;
}

.pc-features-list li {
    position: relative;
    padding-left: 4mm;
    page-break-inside: avoid;
    break-inside: avoid;
}

.pc-features-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    font-weight: 700;
}

/* --- Popis --- */
.pc-description p {
    margin: 0;
    text-align: justify;
    orphans: 3;
    widows: 3;
}

/* --- Galerie (jedna řada tří náhledů) --- */
.pc-gallery-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 3mm;
}

.pc-gallery-item {
    margin: 0;
    page-break-inside: avoid;
    break-inside: avoid;
}

.pc-gallery-image {
    width: 100%;
    height: 30mm;
    object-fit: cover;
    border: 1px solid #ccc;
}

/* --- Kontakt --- */
.pc-contact {
    border-top: 2px solid #111;
    padding-top: 2.5mm;
    margin-top: 3mm;
}

.pc-contact-body {
    display: flex;
    align-items: center;
    gap: 5mm;
}

.pc-agent-photo img {
    width: 18mm;
    height: 18mm;
    object-fit: cover;
    border-radius: 50%;
    border: 1px solid #ccc;
}

.pc-contact-details {
    flex: 1 1 auto;
}

.pc-agent-name {
    font-size: 11.5pt;
    font-weight: 700;
    margin: 0;
}

.pc-agent-role {
    margin: 0 0 1mm;
    color: #555;
}

.pc-agent-line {
    margin: 0;
}

.pc-agent-address {
    margin-top: 0.8mm;
    color: #333;
    font-size: 9pt;
}

.pc-agent-address p {
    margin: 0;
}

.pc-company-logo {
    flex: 0 0 auto;
}

.pc-company-logo img {
    max-width: 32mm;
    max-height: 14mm;
    height: auto;
    width: auto;
}

/* --- Patička --- */
.pc-footer {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 6mm;
    margin-top: 3mm;
    padding-top: 2mm;
    border-top: 1px solid #999;
    font-size: 8pt;
    color: #555;
}

.pc-footer-text {
    flex: 1 1 auto;
    min-width: 0;
}

.pc-url {
    margin: 0 0 1mm;
    font-weight: 600;
    color: #111;
    word-break: break-all;
}

.pc-disclaimer {
    margin: 0;
    font-style: italic;
}

/* --- QR kód --- */
.pc-qr-wrap {
    flex: 0 0 auto;
    text-align: center;
    page-break-inside: avoid;
    break-inside: avoid;
}

.pc-qr {
    width: 20mm;
    height: 20mm;
    margin: 0 auto;
}

.pc-qr svg {
    display: block;
    width: 100%;
    height: 100%;
}

.pc-qr-caption {
    margin: 1mm 0 0;
    font-size: 7pt;
    line-height: 1.2;
    color: #555;
    max-width: 22mm;
}

/* ============================================================
   3. TISK — formát stránky, skrytí webu, zobrazení karty
   ============================================================ */
@media print {

    /* A4. Okraj 0 záměrně: prohlížeč vkládá vlastní hlavičku/patičku (datum,
       titulek, URL) jen do nenulového okraje stránky. Nastavením margin:0
       tyto automatické popisky zmizí; vlastní okraje řeší padding karty. */
    @page {
        size: A4;
        margin: 0;
    }

    /* Skrýt veškerý chrome webu i běžný obsah detailu */
    #wpadminbar,
    .navbar,
    header:not(.pc-header),
    footer:not(.pc-footer),
    .breadcrumbs,
    .skip-to-content,
    .social-media-sticky,
    .scroll-to-top,
    #scrollToTopBtn,
    .clearfix,
    .obsah,
    .no-print {
        display: none !important;
    }

    /* Vyresetovat layout stránky pro tisk */
    html,
    body {
        background: #fff !important;
        color: #111 !important;
        margin: 0 !important;
        padding: 0 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    main#main-content {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Ukázat kartu (vzhled definují globální pravidla výše) */
    .print-card {
        display: block !important;
    }

    /* Odkazy v tisku bez podtržení/URL výpisu */
    .print-card a {
        color: inherit;
        text-decoration: none;
    }

    .print-card a[href]::after {
        content: "";
    }
}
