/* 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; }
}


/* model_naceneni.css */

.wysiwyg-content p { margin-bottom: 0.75em; }
.wysiwyg-content strong, .wysiwyg-content b { font-weight: 900; }
.wysiwyg-content em, .wysiwyg-content i { font-style: italic; }
.wysiwyg-content ul { list-style-type: disc; padding-left: 1.5rem; margin-bottom: 0.75em; }
.wysiwyg-content ol { list-style-type: decimal; padding-left: 1.5rem; margin-bottom: 0.75em; }
.wysiwyg-content a { color: #dc2626; text-decoration: underline; }
.wysiwyg-content h1, .wysiwyg-content h2, .wysiwyg-content h3 { font-weight: bold; margin-top: 1em; margin-bottom: 0.5em; }

/* -------------------------------------------------------------
   CHYTRÁ MŘÍŽKA PRO GALERII TRAKTORŮ (STRANA 3) - WEB I PDF
------------------------------------------------------------- */
#ui-print-gallery {
    display: grid !important;
    gap: 1rem;
    width: 100%;
    aspect-ratio: 4 / 3; /* Udrží pěkný obdélník na monitoru */
    max-height: 800px;
}

#ui-print-gallery img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important; 
    border-radius: 12px;
    border: 1px solid #f3f4f6;
}

.print-layout-1 { grid-template-columns: 1fr; grid-template-rows: 1fr; }
.print-layout-2 { grid-template-columns: 1fr; grid-template-rows: 1fr 1fr; }
.print-layout-3 { grid-template-columns: 1fr 1fr; grid-template-rows: 2fr 1fr; }
.print-layout-3 img:nth-child(1) { grid-column: span 2; }
.print-layout-4 { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; }

.print-layout-5 { grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(3, 1fr); }
.print-layout-5 img:nth-child(1) { grid-column: span 2; grid-row: span 2; } 
.print-layout-5 img:nth-child(2) { grid-column: 3; grid-row: 1; } 
.print-layout-5 img:nth-child(3) { grid-column: 3; grid-row: 2; } 
.print-layout-5 img:nth-child(4) { grid-column: 1; grid-row: 3; } 
.print-layout-5 img:nth-child(5) { grid-column: 2 / span 2; grid-row: 3; }

.print-layout-6 { grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(3, 1fr); }
.print-layout-6 img:nth-child(1) { grid-column: span 2; grid-row: span 2; } 
.print-layout-6 img:nth-child(2) { grid-column: 3; grid-row: 1; } 
.print-layout-6 img:nth-child(3) { grid-column: 3; grid-row: 2; } 
.print-layout-6 img:nth-child(4) { grid-column: 1; grid-row: 3; } 
.print-layout-6 img:nth-child(5) { grid-column: 2; grid-row: 3; } 
.print-layout-6 img:nth-child(6) { grid-column: 3; grid-row: 3; } 

.print-layout-many { grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(3, 1fr); }

/* -------------------------------------------------------------
   UNIVERZÁLNÍ A4 ŠABLONA PRO PŘÍSLUŠENSTVÍ (WEB)
------------------------------------------------------------- */
.a4-preview-page {
    width: 100%;
    max-width: 850px;
    aspect-ratio: 1 / 1.4142; /* Dokonalý poměr papíru A4 */
    margin: 3rem auto;
    background: white;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    border-radius: 1.5rem;
    padding: 2.5rem;
    border: 1px solid #e5e7eb;
}

.a4-header { flex: 0 0 auto; margin-bottom: 1rem; }
.a4-desc { flex: 0 0 auto; margin-bottom: 1rem; color: #374151; line-height: 1.5; }
.a4-specs { flex: 0 0 auto; }

/* Zajištění správného smrskávání fotek přes min-height: 0 */
.a4-images {
    flex: 1 1 auto; 
    min-height: 0; 
    display: flex;
    margin-bottom: 1rem;
    width: 100%;
    gap: 1rem;
}

.a4-img-col-main { flex: 1 1 60%; display: flex; flex-direction: column; justify-content: center; min-height: 0; overflow: hidden; }
.a4-img-col-side { flex: 1 1 40%; display: flex; flex-direction: column; gap: 0.75rem; justify-content: center; min-height: 0; overflow: hidden; }

.a4-img-wrap {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 0;
    overflow: hidden;
}

.a4-img-wrap img {
    max-width: 100%;
    max-height: calc(100% - 18px); /* Nechává místo pro textový popisek pod obrázkem */
    object-fit: contain;
    flex-shrink: 1;
}

.a4-img-desc {
    font-size: 9px;
    color: #6b7280;
    font-style: italic;
    text-align: center;
    margin-top: 4px;
    font-weight: 700;
    line-height: 1.2;
    height: 14px;
    flex: 0 0 auto;
}

/* -------------------------------------------------------------
   STYLY POUZE PRO VÝSLEDNÉ PDF (TISK)
------------------------------------------------------------- */
@media print {
    body { margin: 0; padding: 0; }
    main { padding-bottom: 0 !important; margin-bottom: 0 !important; }
    
    .page-break { 
        page-break-before: always !important; 
        break-before: page !important; 
        page-break-inside: avoid !important;
    }

    /* Úprava na pevné tiskové míry */
    .a4-preview-page {
        aspect-ratio: auto !important;
        height: 260mm !important;       
        max-height: 260mm !important;
        max-width: none !important;
        padding: 5mm 0mm !important; 
        margin: 0 !important;
        border: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
    }
    .a4-preview-page:last-child {
        page-break-after: auto !important;
        break-after: auto !important;
    }

    .a4-header { margin-bottom: 4mm !important; }
    .a4-images { margin-bottom: 5mm !important; gap: 4mm !important; }
    .a4-desc { margin-bottom: 5mm !important; }
    .a4-specs { margin-top: 2mm !important; }

    .a4-desc, .a4-desc p, .a4-desc li { font-size: 11.5px !important; line-height: 1.4 !important; margin-bottom: 0.35em !important; }
    .a4-specs h3 { margin-bottom: 4px !important; padding-bottom: 2px !important; font-size: 13px !important; }
    .print-spec-row { padding-top: 2.5px !important; padding-bottom: 2.5px !important; border-bottom: 1px solid #f3f4f6 !important; }
    .print-spec-row span { font-size: 10px !important; line-height: 1.2 !important; }
    
    #ui-specs-container { padding: 0 !important; margin-top: 4px !important; }
    #ui-specs-container h2 { margin-bottom: 4px !important; padding-bottom: 2px !important; font-size: 12px !important; }
    #ui-specs-table td { padding-top: 3px !important; padding-bottom: 3px !important; font-size: 10px !important; }

    /* Přepsání pro tisk galerii (Strana 3) */
    #ui-print-gallery {
        gap: 4mm !important;
        height: 235mm !important; 
        aspect-ratio: auto !important;
        max-height: none !important;
    }
    #ui-print-gallery img { border-radius: 0px !important; border: none !important; }
}