/* model_naceneni.css */

/* --- GLOBÁLNÍ STYLY (VIDITELNÉ NA WEBU I V TISKU) --- */

.dealer-zero-hidden {
    display: none !important;
}

.price-row { 
    display: flex; 
    flex-direction: row; 
    flex-wrap: nowrap; 
    justify-content: space-between; 
    align-items: baseline;
    width: 100%;
    margin-bottom: 3px;
    padding: 6px 8px;
    border-radius: 8px;
    transition: all 0.2s ease;
}

.price-row-list { 
    color: #6b7280; 
    border-bottom: 1px dashed #e5e7eb; 
}

.price-row-discount-cust { 
    color: #dc2626; 
    background-color: #fef2f2; 
    font-style: italic; 
}

.price-row-final { 
    background-color: #dc2626; 
    color: white !important; 
    padding: 10px 12px;
    margin-top: 8px;
    border-radius: 12px;
    box-shadow: 0 4px 6px -1px rgba(220, 38, 38, 0.2);
}
.price-row-final .price-label, 
.price-row-final .price-value { color: white !important; }
.price-row-final .price-value { font-size: 1.4rem; font-weight: 900; }

.price-row-dealer { 
    color: #1d4ed8; 
    background-color: #eff6ff; 
    margin-top: 15px;
    border: 1px solid #dbeafe;
}

.price-row-dnett { 
    background-color: #1e3a8a; 
    color: white !important; 
    font-weight: 900; 
    padding: 10px 8px;
    border-radius: 10px;
}
.price-row-dnett .price-label { color: #bfdbfe !important; }
.price-row-dnett .price-value { color: white !important; font-size: 1.1rem; }

.comparison-print-grid {
    display: grid;
    grid-template-columns: 1.2fr repeat(3, 1fr); 
    width: 100%;
    gap: 0;
    border: 1px solid #eee;
    margin-top: 5mm;
    background: white;
}

.comp-attr-row { display: contents; }
.comp-header-cell { background-color: #f9fafb; padding: 0rem 0.5rem; text-align: center; border-bottom: 2px solid #dc2626; border-right: 1px solid #eee; }
.comp-img { height: 80px; width: auto; margin: 0 auto 0.5rem; object-fit: contain; }
.comp-model-name { font-size: 0.8rem; font-weight: 900; color: #dc2626; text-transform: uppercase; line-height: 1.1; }
.comp-attr-label { grid-column: 1; font-size: 0.7rem; font-weight: 700; background-color: #fcfcfc; padding: 0.75rem 0.5rem; border-bottom: 1px solid #f0f0f0; border-right: 1px solid #eee; text-transform: uppercase; color: #666; }
.comp-attr-value { font-size: 0.8rem; text-align: center; padding: 0.75rem 0.5rem; border-bottom: 1px solid #f0f0f0; border-right: 1px solid #eee; color: #111; }
.diff-highlight { background-color: #fffbeb; font-weight: 700; color: #92400e; }

.benefits-box { margin-top: 1.5rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; padding-top: 1rem; border-top: 1px solid #eee; }
.benefit-item { display: flex; align-items: center; font-size: 0.75rem; font-weight: 700; color: #374151; text-transform: uppercase; }

input[type="range"] { accent-color: #dc2626; }
.thumbnail-active { border: 2px solid #dc2626 !important; opacity: 1 !important; }
.gallery-thumb-container { position: relative; cursor: pointer; }
.thumb-print-badge { position: absolute; top: 2px; right: 2px; background: #dc2626; color: white; font-size: 8px; font-weight: bold; width: 14px; height: 14px; display: flex; align-items: center; justify-content: center; border-radius: 50%; opacity: 0; transition: opacity 0.2s; z-index: 10; }
.selected-for-print .thumb-print-badge { opacity: 1; }
.selected-for-print img { border: 2px solid #dc2626; opacity: 1 !important; }

/* Fixní výška hlavní fotky pro webové zobrazení */
#main-img {
    height: 350px;
    width: 100%;
    object-fit: contain;
}

/* Zabránění roztrhnutí nových komponent */
#ui-customer-preview, #visibility-dotace-box {
    break-inside: avoid;
    page-break-inside: avoid;
}

/* DYNAMICKÉ MŘÍŽKY FOTOGALERIE PRO STRANU 3 (dle počtu fotek) */
.gallery-print-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6mm; width: 100%; max-height: 250mm; overflow: hidden; page-break-inside: avoid; }
.gallery-print-grid .hero-img { grid-column: span 2; height: 100mm; width: 100%; object-fit: contain; background: #fcfcfc; border-radius: 12px; border: 1px solid #eee; }
.gallery-print-grid .sub-img { height: 60mm; width: 100%; object-fit: cover; border-radius: 12px; }

/* 5-6 fotek */
.gallery-print-grid-medium { display: grid; grid-template-columns: repeat(2, 1fr); gap: 4mm; width: 100%; max-height: 250mm; overflow: hidden; page-break-inside: avoid; }
.gallery-print-grid-medium img { height: 65mm; width: 100%; object-fit: cover; border-radius: 8px; }

/* 7-10 fotek */
.gallery-print-grid-dense { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3mm; width: 100%; max-height: 250mm; overflow: hidden; page-break-inside: avoid; }
.gallery-print-grid-dense img { height: 50mm; width: 100%; object-fit: cover; border-radius: 8px; }


/* --- TISKOVÁ OPTIMALIZACE PRO A4 (PDF) --- */
@media print {
    @page { 
        size: A4; 
        margin: 5mm; /* Pevný okraj 5 mm pro tiskárnu, zabrání šedým přesahům prohlížeče */
    }
    
    header, footer, .no-print, .admin-controls, button, select, .mobile-menu { display: none !important; }

    /* PLOŠNÉ ODSTRANĚNÍ STÍNŮ: Oprava pro mobilní PDF čtečky (hlavně iOS), které vykreslují stíny jako neprůhledné fleky */
    * {
        box-shadow: none !important;
        text-shadow: none !important;
    }

    /* Absolutní vybělení pozadí */
    html, body, main { 
        background: white !important; 
        background-color: white !important; 
        padding: 0 !important; 
        margin: 0 !important;
        -webkit-print-color-adjust: exact; 
        print-color-adjust: exact;
        font-size: 9pt !important;
        line-height: 1.2;
    }

    .print-safe-area {
        padding-bottom: 2cm !important; /* Prostor pro patičku, aby nepřekrývala text */
    }

    .container { 
        max-width: 100% !important; 
        width: 100% !important; 
        margin: 0 !important;
        padding: 0 !important;
        box-shadow: none !important; 
        border: none !important;
        border-radius: 0 !important;
        background: white !important;
        position: relative;
        z-index: 1;
    }

    /* FIXNÍ PATIČKA - Posunuta nahoru od absolutního fyzického okraje */
    .print-footer {
        display: flex !important;
        position: fixed;
        bottom: 0mm; /* Díky @page margin: 5mm se nedotkne okraje */
        left: 0;
        width: 100%;
        min-height: 1.2cm;
        background-color: white !important;
        z-index: 100;
        padding: 2mm 0 !important;
        box-sizing: border-box;
    }

    /* VODOZNAK - Upraveno pro zobrazení v popředí, decentní a nenápadné */
    .container::before {
        content: "Nezávazná nabídka\avsttractors.cz"; 
        position: absolute;
        top: 45%;
        left: 50%;
        transform: translate(-50%, -50%) rotate(-45deg);
        font-size: 6rem;
        font-weight: 900;
        white-space: pre; /* Nutné pro správné zobrazení nového řádku \a */
        text-align: center; /* Vycentrování obou řádků vůči sobě */
        color: rgba(220, 38, 38, 0.025); /* Snížená průhlednost pro decentnější vzhled v popředí */
        z-index: 9999; /* Přesunuto do popředí */
        pointer-events: none; /* Umožňuje klikat skrz vodoznak */
        text-transform: uppercase;
        letter-spacing: 0.1em;
    }

    /* Vynucení dvousloupcového rozvržení na str. 1 */
    #config-grid { display: grid !important; grid-template-columns: repeat(12, 1fr) !important; gap: 8mm !important; align-items: start !important; }
    .lg\:col-span-7 { grid-column: span 7 / span 7 !important; }
    .lg\:col-span-5 { grid-column: span 5 / span 5 !important; }

    /* Formátování cen */
    .price-row { margin-bottom: 2pt !important; padding: 2pt 4pt !important; white-space: nowrap !important; }
    .price-label { font-size: 7.5pt !important; }
    .price-value { font-size: 9.5pt !important; flex-shrink: 0 !important; }
    .price-row-final .price-value { font-size: 13pt !important; }
    .price-row-dnett .price-value { font-size: 11pt !important; }

    .offer-title, h1 { page-break-after: avoid !important; break-after: avoid !important; margin-top: 0 !important; margin-bottom: 2mm !important; font-size: 18pt !important; }
    .header-text { font-size: 7.5pt !important; line-height: 1.2 !important; color: #666 !important; }

    /* Hlavní obrázek teď může využít volné místo variabilně až do 420px */
    #main-img { 
        height: auto !important; 
        max-height: 350px !important; 
        width: 100% !important; 
        object-fit: contain !important; 
        background: transparent !important; 
    }

    /* Skrývání a zobrazení náhledů (thumbnails) pro tisk na straně 1 */
    .gallery-thumb-container:not(.print-page1-allowed) { display: none !important; }
    .gallery-thumb-container.is-main-thumb { display: none !important; }
    #ui-gallery-thumbs {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 2mm !important;
        margin-top: 2mm !important;
    }

    .page-break { page-break-before: always !important; break-before: always !important; display: block !important; margin-top: 1cm !important; }
    .comp-header-cell { padding: 3mm !important; background: transparent !important; }
    .comp-img { height: 25mm !important; }
    .comp-attr-label { font-size: 6.5pt !important; padding: 1.5mm 2mm !important; background: transparent !important; }
    .comp-attr-value { font-size: 7.5pt !important; padding: 1.5mm 2mm !important; }
    .benefits-box { margin-top: 3mm !important; gap: 3mm !important; padding-top: 4mm !important; }
    .benefit-item { gap: 1mm !important; font-size: 7.5pt !important; }

    .offer-header-block { page-break-after: avoid !important; break-after: avoid !important; }
}