/**
 * Sablona 2026-007 Domov - detail produktu (artboardy 04-Detail-desktop / -mobil, 06.9, 06.10, 09; ANALYZA kap. 2.10-2.14).
 * Linkuje jadro podle sekce (css/sekce/detail.css). Markup: jadrovy #detail_zbozi (obaly .detail_flex / .detail_right
 * stavi JS jadra) + bloky sablony (sekce/detail.latte, js/detail.js). Vzornik, prepinaci dlazdice sluzeb a stavy variant
 * jsou v css/sablona.css (sdili je rychly nahled).
 */
#prostredek ol.Breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 20px; padding: 0; list-style: none; font-size: 14px; color: var(--tpl-text-light); }
#prostredek ol.Breadcrumb li { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; line-height: 20px; }
#prostredek ol.Breadcrumb li + li::before { content: '/'; margin-right: 2px; color: var(--tpl-border); }
#prostredek ol.Breadcrumb a { color: var(--tpl-text-light); text-decoration: none; }
#prostredek ol.Breadcrumb a:hover { color: var(--tpl-link); text-decoration: underline; }

/* --- horni mrizka: galerie | nakupni box 480 (sticky) --- */
#detail_zbozi { position: relative; }
#detail_zbozi > h1 { display: none; }
#detail_zbozi .detail_flex { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 480px); gap: 48px; align-items: start; }
#detail_zbozi .detail_right { position: sticky; top: 16px; display: flex; flex-direction: column; gap: 20px; min-width: 0; }
body.tpl-hd-sticky #detail_zbozi .detail_right { top: 80px; }
#detail_zbozi .detail_right > form.form_polozka { display: flex; flex-direction: column; gap: 20px; margin: 0; }
.dm-det-znacka { margin: 0 0 -12px; font-size: 14px; font-weight: 500; letter-spacing: .02em; text-transform: uppercase; color: var(--tpl-text-light); }
.dm-det-znacka a { color: inherit; text-decoration: none; }
.dm-det-znacka a:hover { color: var(--tpl-link); text-decoration: underline; }
#prostredek #detail_zbozi .detail_right h1 { margin: 0; font-size: calc(32px - var(--tpl-head-shrink)); line-height: 1.2; }
.dm-det-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 20px; margin-top: -10px; font-size: 14px; color: var(--tpl-text-light); }
.dm-det-hodnoceni { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; color: var(--tpl-text); text-decoration: none; }
.dm-det-hodnoceni span { color: var(--tpl-text-light); text-decoration: underline; text-underline-offset: 3px; }
.dm-det-hodnoceni:hover { color: var(--tpl-text); text-decoration: none; }
.dm-det-kod[hidden] { display: none; }

/* galerie 4:3 + nahledy 80 x 60 (max 6 + „+N“), nakres jako posledni snimek */
#detail_zbozi .zbozi_prilohy_2 { position: relative; width: 100%; max-width: none; margin: 0; float: none; }
#detail_zbozi .zbozi_prilohy_popisek_2 { display: none; }
#detail_zbozi [class^="zbozi_prilohy_jpg"] { position: relative; display: flex; align-items: center; justify-content: center; aspect-ratio: 4 / 3; width: 100%; border-radius: var(--tpl-detail-photo-radius, var(--tpl-area-radius)); background: var(--tpl-surface-2); overflow: hidden; }
#detail_zbozi #img_velky { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; cursor: zoom-in; }
#detail_zbozi .zbozi_prilohy_nahledy { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
#detail_zbozi .zbozi_prilohy_nahledy img { width: 80px; height: 60px; object-fit: cover; border: 1px solid var(--tpl-line); border-radius: var(--tpl-thumb-radius); background: var(--tpl-surface-2); cursor: pointer; }
#detail_zbozi .zbozi_prilohy_nahledy img.is-on,
#detail_zbozi .zbozi_prilohy_nahledy img:hover { outline: 2px solid var(--tpl-primary); outline-offset: 1px; }
#detail_zbozi .dm-nahledy--sbalene img:nth-of-type(n+6) { display: none; }
.dm-nahledy-plus,
.dm-gal-nakres-tl { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; width: 80px; height: 60px; padding: 0; border: 1px solid var(--tpl-line); border-radius: var(--tpl-thumb-radius); background: var(--tpl-surface-2); color: var(--tpl-text); font: 500 16px/1 var(--tpl-font); cursor: pointer; }
.dm-gal-nakres-tl { font-size: 12px; }
.dm-gal-nakres-tl .dm-ico { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.dm-nahledy-plus:hover,
.dm-gal-nakres-tl:hover,
.dm-gal-nakres-tl.is-on { outline: 2px solid var(--tpl-primary); outline-offset: 1px; }
.dm-gal-nakres { display: none; position: absolute; inset: 0; z-index: 2; align-items: center; justify-content: center; padding: 24px; background: var(--tpl-surface); }
.dm-gal--nakres .dm-gal-nakres { display: flex; }
.dm-gal-nakres .dm-rozmery { width: 100%; }
.dm-gal-nakres .dm-rozmery-pozn { text-align: center; }
.dm-tecky, .dm-gal-pocet { display: none; }

/* pod galerii: Vejde se? / Jak bude vypadat? / Kdy a jak dorazi? + V kostce */
.dm-det-pod-galerii { display: flex; flex-direction: column; gap: 24px; margin-top: 24px; }
.dm-otazky { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.dm-otazka { display: flex; gap: 12px; padding: 16px; border: 1px solid var(--tpl-line); border-radius: var(--tpl-area-radius); background: var(--tpl-surface); }
.dm-otazka .dm-ico { flex: none; color: var(--tpl-primary); }
.dm-otazka div { display: flex; flex-direction: column; gap: 4px; min-width: 0; font-size: 14px; }
.dm-otazka b { font-size: 15px; font-weight: 500; }
.dm-otazka span { color: var(--tpl-text-light); }
.dm-otazka a { display: inline-flex; align-items: center; min-height: 32px; margin-top: auto; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
.dm-kostce { padding: 20px 24px; border-radius: var(--tpl-area-radius); background: var(--tpl-surface-2); }
#prostredek .dm-kostce-h { margin: 0 0 8px; font-size: 18px; }
.dm-kostce p { margin: 0; font-size: 15px; line-height: 1.6; }

/* --- cena 32 + Usetrite + bez DPH --- */
.dm-det-cena { display: flex; flex-direction: column; gap: 2px; }
.dm-det-cena-r { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; }
.dm-det-cena .dm-det-cena-big { font-size: var(--tpl-detail-price-size); font-weight: 600; line-height: 1.15; }
.dm-det-cena .dm-cena-old { font-size: 16px; }
.dm-det-usetrite { margin: 0; font-size: 14px; font-weight: 600; color: var(--tpl-sale-price); }
.dm-det-vat { margin: 0; font-size: 14px; color: var(--tpl-text-light); }
.dm-det-dz { align-self: flex-start; margin-top: 8px; }
.tpl-detail-hlavni .doprava_zdarma_detail { display: none; }

/* sluzby k objednavce (prepinaci dlazdice - J-D5, styl v sablona.css) */
#detail_zbozi .zbozi_priplatky { margin: 0; }
.dm-sluzby-h { margin: 0 0 10px; font-size: 15px; font-weight: 500; }

/* --- stepper + CTA 56 --- */
#detail_zbozi .tlacitka-pocet { display: flex; flex-wrap: nowrap; align-items: center; gap: 12px; margin: 0; }
#prostredek #detail_zbozi .tlacitka-pocet input.zmenit_pocet {
    width: 44px; min-height: 56px; height: 56px; padding: 0; margin: 0; border: 1px solid var(--tpl-border); border-radius: 0;
    background: var(--tpl-surface); color: var(--tpl-text); font: 500 20px/1 var(--tpl-font); cursor: pointer;
}
#prostredek #detail_zbozi .tlacitka-pocet input.zmenit_pocet_minus { border-radius: var(--tpl-radius) 0 0 var(--tpl-radius); }
#prostredek #detail_zbozi .tlacitka-pocet input.zmenit_pocet_plus { border-radius: 0 var(--tpl-radius) var(--tpl-radius) 0; margin-left: -12px; }
#prostredek #detail_zbozi .tlacitka-pocet input#pocet { width: 48px; min-height: 56px; height: 56px; margin-left: -12px; padding: 0; border-radius: 0; border-left: 0; border-right: 0; text-align: center; font-weight: 500; }
#detail_zbozi .tlacitka-pocet .jednotka { display: none; }
#prostredek #detail_zbozi .tlacitka-pocet input[type="submit"] {
    flex: 1 1 auto; min-width: 0; min-height: 56px; padding: 0 20px; border: 1px solid var(--tpl-cta-border); border-radius: var(--tpl-radius);
    background: var(--tpl-cta); color: var(--tpl-cta-text); font: 600 17px/1 var(--tpl-font); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: pointer;
}
#prostredek #detail_zbozi .tlacitka-pocet input[type="submit"]:hover { background: var(--tpl-cta-hover); color: var(--tpl-cta-text-hover); }
#prostredek #detail_zbozi .tlacitka-pocet input[type="submit"]:disabled { background: var(--tpl-disabled); border-color: var(--tpl-disabled); color: var(--tpl-disabled-text); cursor: not-allowed; }

/* prodej po baleni (podlahy): jadrova tabulka prepoctu m² <-> baleni, submit primo ve formulari */
.dm-det-baleni { margin: 2px 0 0; font-size: 15px; font-weight: 500; }
#detail_zbozi table.prepocet_mnozstvi { width: 100%; margin: 0; border: 0; border-collapse: collapse; }
#detail_zbozi table.prepocet_mnozstvi td { padding: 6px 0; border: 0; background: none; font-size: 15px; vertical-align: middle; }
#detail_zbozi table.prepocet_mnozstvi td:first-child { padding-right: 16px; color: var(--tpl-text-light); }
#detail_zbozi table.prepocet_mnozstvi td#prepocet_info2 { padding-top: 10px; font-size: 14px; color: var(--tpl-text-light); }
#detail_zbozi table.prepocet_mnozstvi td#prepocet_info2 b { color: var(--tpl-text); }
#prostredek #detail_zbozi table.prepocet_mnozstvi .tlacitka-pocet input[type="text"] { width: 64px; min-height: 48px; height: 48px; margin-left: -12px; padding: 0; border-radius: 0; border-left: 0; border-right: 0; text-align: center; font-weight: 500; }
#prostredek #detail_zbozi table.prepocet_mnozstvi .tlacitka-pocet input.zmenit_pocet { min-height: 48px; height: 48px; }
#prostredek #detail_zbozi table.prepocet_mnozstvi .tlacitka-pocet input#pocet { width: 64px; min-height: 48px; height: 48px; }
#prostredek #detail_zbozi table.prepocet_mnozstvi .tlacitka-pocet input.zmenit_pocet:first-child { border-radius: var(--tpl-radius) 0 0 var(--tpl-radius); margin-left: 0; }
#prostredek #detail_zbozi table.prepocet_mnozstvi .tlacitka-pocet input.zmenit_pocet:last-child { border-radius: 0 var(--tpl-radius) var(--tpl-radius) 0; margin-left: -12px; }
#prostredek #detail_zbozi form.form_polozka > input[type="submit"] {
    width: 100%; min-height: 56px; padding: 0 20px; border: 1px solid var(--tpl-cta-border); border-radius: var(--tpl-radius);
    background: var(--tpl-cta); color: var(--tpl-cta-text); font: 600 17px/1 var(--tpl-font); cursor: pointer;
}
#prostredek #detail_zbozi form.form_polozka > input[type="submit"]:hover { background: var(--tpl-cta-hover); color: var(--tpl-cta-text-hover); }

/* jadrove prvky, ktere sablona nahrazuje (data cte JS) */
#detail_zbozi table.zbozi_tabulka,
#detail_zbozi #zbozi_detail_porovnavac,
#detail_zbozi .priznak_akce_cz,
.dm-detail--box #detail_zbozi .datum_doruceni { display: none; }

/* dostupnost + Poptat termin */
.dm-det-dost { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px; }
.dm-det-dost[hidden] { display: none; }
.dm-det-dost .dm-stav { font-size: 15px; font-weight: 500; }
.dm-det-poptat { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }

/* --- box Doruceni a montaz --- */
.dm-dlv { padding: 4px 20px 16px; border: 1px solid var(--tpl-line); border-radius: var(--tpl-area-radius); background: var(--tpl-surface); }
#prostredek .dm-dlv-h { margin: 14px 0 4px; font: 500 16px/1.3 var(--tpl-font); letter-spacing: 0; }
.dm-dlv-seznam { margin: 0; padding: 0; list-style: none; }
.dm-dlv-r { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; gap: 12px; align-items: start; padding: 12px 0; border-top: 1px solid var(--tpl-line); font-size: 14px; }
.dm-dlv-r:first-child { border-top: 0; }
.dm-dlv-r .dm-ico { width: 22px; height: 22px; color: var(--tpl-primary); }
.dm-dlv-r b { font-weight: 500; }
.dm-dlv-r small { display: block; margin-top: 2px; font-size: 13px; color: var(--tpl-text-light); }
.dm-dlv-r--termin b { color: var(--tpl-text); }
.dm-dlv-cena { white-space: nowrap; font-variant-numeric: tabular-nums; }
.dm-dlv-cena--zdarma { color: var(--tpl-stav-skladem); }
.dm-dlv-cenik { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }

/* jistoty + akce */
.dm-jistoty { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 0; padding: 0; list-style: none; font-size: 14px; }
.dm-jistoty li { display: inline-flex; align-items: center; gap: 8px; }
.dm-jistoty .dm-ico { color: var(--tpl-primary); }
.dm-jistoty a { font-weight: 500; }
.dm-det-akce { display: flex; flex-wrap: wrap; gap: 4px 24px; margin-top: -8px; }
.dm-det-akce-a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0; border: 0; background: none; color: var(--tpl-text); font: 500 14px/1 var(--tpl-font); cursor: pointer; text-decoration: none; }
.dm-det-akce-a:hover { color: var(--tpl-link); text-decoration: none; }
.dm-det-akce-a.is-on .dm-ico { fill: var(--tpl-oblibene); stroke: var(--tpl-oblibene); }
#detail_zbozi .tpl-varianty-hlidat { font-size: 14px; }

/* tooltip vzorniku: vzhled v css/sablona.css, pozice a zobrazeni z js/detail.js */
.dm-vz-tip { opacity: 0; transform: translateY(-100%); transition: opacity var(--tpl-transition); }
.dm-vz-tip.is-on { opacity: 1; }

/* --- sticky kotvy 56 + mini nakup --- */
.dm-kotvy { position: sticky; top: 0; z-index: 30; margin: 56px calc(50% - 50vw) 0; background: var(--tpl-body-bg); border-top: 1px solid var(--tpl-line); border-bottom: 1px solid var(--tpl-line); }
body.tpl-hd-sticky .dm-kotvy { top: 64px; }
.dm-kotvy-in { display: flex; align-items: center; gap: 4px; min-height: 56px; }
.dm-kotvy-ul { display: flex; gap: 4px; margin: 0; padding: 0; list-style: none; overflow-x: auto; scrollbar-width: none; }
.dm-kotvy-ul li[hidden] { display: none; }
.dm-kotva { display: flex; align-items: center; height: 56px; padding: 0 16px; font-size: 15px; font-weight: 500; color: var(--tpl-text-light); white-space: nowrap; text-decoration: none; }
.dm-kotva:hover { color: var(--tpl-text); text-decoration: none; }
.dm-kotva.is-on { color: var(--tpl-text); box-shadow: inset 0 -2px 0 var(--tpl-primary); }
.dm-kotvy-buy { display: flex; align-items: center; gap: 16px; margin-left: auto; }
.dm-kotvy-buy[hidden] { display: none; }
.dm-kotvy-c { font-size: 18px; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.dm-kotvy-buy .dm-btn { min-height: 44px; }

/* --- sekce pod mrizkou --- */
.dm-det-sekce { margin-top: var(--tpl-section-gap); scroll-margin-top: 140px; }
.dm-det-sekce[hidden] { display: none; }
.dm-det-popis { max-width: 760px; }
.dm-det-popis .zbozi_popis { display: none; }
.dm-det-popis .zbozi_text { font-size: 16px; line-height: 1.7; }
.dm-det-popis .zbozi_text table.zbozi_parametry { display: none; }
.dm-det-popis .zbozi_text img { max-width: 100%; height: auto; border-radius: var(--tpl-area-radius); }

/* rozmery a parametry */
.dm-rozpar { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 48px; align-items: start; }
.dm-rozpar > :only-child { grid-column: 1 / -1; }
.dm-rozmery { display: flex; flex-direction: column; gap: 24px; }
.dm-rozmery-nakres { margin: 0; padding: 24px; border-radius: var(--tpl-area-radius); background: var(--tpl-surface-2); }
.dm-nakres { display: block; width: 100%; height: auto; max-height: 360px; overflow: visible; }
.dm-nakres-zem { stroke: var(--tpl-border); stroke-width: 1; }
.dm-nakres-telo { fill: var(--tpl-surface); stroke: var(--tpl-text); stroke-width: 1.5; }
.dm-nakres-telo--bok { fill: var(--tpl-surface-3, var(--tpl-surface)); }
.dm-nakres-sed { stroke: var(--tpl-text-light); stroke-width: 1; stroke-dasharray: 5 4; }
.dm-nakres-kourovod { fill: var(--tpl-surface-2); stroke: var(--tpl-text); stroke-width: 1.2; }
.dm-kota-cara { stroke: var(--tpl-primary); stroke-width: 1.2; }
.dm-kota-sipka { fill: none; stroke: var(--tpl-primary); stroke-width: 1.5; }
.dm-kota { fill: var(--tpl-primary); font: 500 14px/1 var(--tpl-font); }
.dm-kota--sed, .dm-kota--postava { fill: var(--tpl-text-light); font-size: 12px; }
.dm-nakres-postava { fill: var(--tpl-border); }
.dm-rozmery-pozn { margin: 12px 0 0; font-size: 13px; color: var(--tpl-text-light); }
.dm-rozmery-var { margin: -6px 0 10px; font-size: 14px; }
.dm-par-tab { width: 100%; border: 0; border-collapse: collapse; font-size: 15px; }
.dm-par-tab th, .dm-par-tab td { padding: 11px 0; text-align: left; vertical-align: top; font-weight: 400; border: 0; border-bottom: 1px solid var(--tpl-line); background: none; }
.dm-par-tab th { width: 50%; padding-right: 16px; color: var(--tpl-text-light); }
.dm-par-tab td { font-weight: 500; }

/* doprava a montaz: text + soubory | cenik pasem */
.dm-doprava { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.dm-doprava > :only-child { grid-column: 1 / -1; }
.dm-doprava-text p { margin: 0 0 16px; font-size: 16px; line-height: 1.7; }
.dm-soubory { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; list-style: none; }
.dm-soubor { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border: 1px solid var(--tpl-line); border-radius: var(--tpl-radius); color: var(--tpl-text); text-decoration: none; }
.dm-soubor:hover { border-color: var(--tpl-primary); color: var(--tpl-text); text-decoration: none; }
.dm-soubor .dm-ico { color: var(--tpl-primary); }
.dm-soubor b { display: block; font-size: 15px; font-weight: 500; }
.dm-soubor small { display: block; font-size: 13px; color: var(--tpl-text-light); }
.tpl-detail-system #zbozi_prilohy_ke_stazeni { display: none; }
.dm-cenik { padding: 20px 24px; border: 1px solid var(--tpl-line); border-radius: var(--tpl-area-radius); }
.dm-cenik > .dm-muted { margin: -6px 0 8px; font-size: 14px; }
.dm-cenik-tab thead th { padding-top: 6px; font-size: 13px; color: var(--tpl-text-light); }
.dm-cenik-tab td { text-align: right; white-space: nowrap; }
.dm-cenik-tab thead th:last-child { text-align: right; }
.dm-cenik-tab tr.dm-cenik-tento th, .dm-cenik-tab tr.dm-cenik-tento td { color: var(--tpl-text); font-weight: 600; background: var(--tpl-primary-tint-soft, var(--tpl-surface-2)); }
.dm-cenik-tab tr.dm-cenik-tento th { padding-left: 8px; }
.dm-cenik-tab tr.dm-cenik-tento td { padding-right: 8px; }
.dm-cenik-lbl { font-weight: 400; color: var(--tpl-text-light); }
#dm-doprava .dm-kalk { margin-top: 32px; }

/* dotaz k produktu */
.dm-det-dotaz { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 48px; align-items: start; padding: 32px; border-radius: var(--tpl-area-radius); background: var(--tpl-surface-2); }
.dm-dotaz-info p { margin: 0 0 12px; font-size: 15px; }
.dm-dotaz-info a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 500; }
.dm-det-dotaz .poslat_znamemu,
.dm-det-dotaz #poslat_znamemu { display: none; }
.dm-det-dotaz h2.vas_dotaz,
.dm-det-dotaz .podnadpis { display: none; }
.dm-det-dotaz .zbozi_form_dotazy { margin: 0; }
.dm-det-dotaz .form_row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.dm-det-dotaz .form_label { font-size: 14px; font-weight: 500; margin-bottom: 4px; }
.dm-det-dotaz .form_input input,
.dm-det-dotaz .form_input textarea { width: 100%; background: var(--tpl-surface); }

/* FAQ */
.dm-det-faq:not(:has(.shop5-faq-item)) { display: none; }
.dm-det-faq .shop5-faq-item { border-bottom: 1px solid var(--tpl-line); }
.dm-det-faq .shop5-faq-question { display: flex; align-items: center; min-height: 56px; font-size: 16px; font-weight: 500; cursor: pointer; }
.dm-det-faq .shop5-faq-answer { padding: 0 0 16px; font-size: 15px; line-height: 1.6; }

/* recenze: souhrn 4,7 + rozlozeni hvezd */
.dm-rev { display: grid; grid-template-columns: 240px minmax(0, 420px); gap: 48px; align-items: center; }
.dm-rsum { display: flex; flex-direction: column; gap: 6px; }
.dm-rbig { font: 500 56px/1 var(--tpl-font-head); }
.dm-rsum p { margin: 0; font-size: 14px; }
.dm-rbars { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; list-style: none; }
.dm-rbar { display: grid; grid-template-columns: 12px 16px minmax(0, 1fr) 32px; gap: 8px; align-items: center; font-size: 14px; }
.dm-rbar .dm-ico { color: var(--tpl-rating); }
.dm-rbar-b { display: block; height: 8px; border-radius: 4px; overflow: hidden; background: var(--tpl-line); }
.dm-rbar-b span { display: block; height: 100%; background: var(--tpl-rating); }

/* podobne / hodi se k tomu (taby) */
#dm-podobne .dm-taby { display: flex; flex-wrap: wrap; gap: 4px; margin: 0 0 24px; border-bottom: 1px solid var(--tpl-line); }
#dm-podobne .dm-tab { min-height: 48px; margin-bottom: -1px; padding: 0 16px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--tpl-text-light); font: 500 calc(22px - var(--tpl-head-shrink))/1.2 var(--tpl-font-head); cursor: pointer; }
#dm-podobne .dm-tab:hover { color: var(--tpl-text); }
#dm-podobne .dm-tab.dm-on { color: var(--tpl-text); border-bottom-color: var(--tpl-primary); }
#dm-podobne .zbozi_doplneni { display: none; }
#dm-podobne div.polozky { grid-template-columns: repeat(4, minmax(0, 1fr)); }
#dm-podobne [hidden] { display: none; }
/* zbozi ze stejne kategorie (jadro: nazev + kratky popis bez fotky) jako textove dlazdice */
#dm-podobne .zbozi_ze_stejne_kategorie:not([hidden]) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
#dm-podobne .zbozi_ze_stejne_kategorie > h2 { display: none; }
#dm-podobne .zbozi_stejna_kategorie { display: flex; flex-direction: column; gap: 8px; padding: 20px; border: 1px solid var(--tpl-line); border-radius: var(--tpl-card-radius); background: var(--tpl-surface); }
#dm-podobne .zbozi_stejna_kategorie a { display: inline-flex; align-items: center; min-height: 32px; color: var(--tpl-text); text-decoration: none; }
#dm-podobne .zbozi_stejna_kategorie a:hover { color: var(--tpl-link); text-decoration: underline; }
#dm-podobne .zbozi_stejna_kategorie a b { font-size: 16px; font-weight: 500; }
#dm-podobne .zbozi_stejna_kategorie p { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; margin: 0; font-size: 14px; line-height: 1.5; color: var(--tpl-text-light); }
#dm-podobne .zbozi_stejna_kategorie p strong { font-weight: 400; }

/* naposledy prohlizene */
.dm-napos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.dm-napos-a { display: flex; align-items: center; gap: 12px; height: 100%; padding: 10px; border: 1px solid var(--tpl-line); border-radius: var(--tpl-card-radius); color: var(--tpl-text); text-decoration: none; }
.dm-napos-a:hover { border-color: var(--tpl-border); color: var(--tpl-text); text-decoration: none; box-shadow: var(--tpl-shadow-hover); }
.dm-napos-foto { flex: none; width: 96px; height: 72px; border-radius: var(--tpl-thumb-radius); background: var(--tpl-surface-2); overflow: hidden; }
.dm-napos-foto img { width: 100%; height: 100%; object-fit: cover; }
.dm-napos-a b { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 14px; font-weight: 500; line-height: 1.35; }
.dm-napos-a .dm-cena { display: block; margin-top: 4px; font-size: 15px; }

/* jadrove bloky bez mista v navrhu */
.tpl-detail-cesty,
.tpl-detail-varianty .zbozi_variantyx { display: none; }
#tabs, .tpl-detail-page > .zalozky { margin-top: var(--tpl-section-gap); }

/* sticky CTA na mobilu */
.dm-mbar { display: none; }

/* ---------------- tablet ---------------- */
@media (max-width: 1240px) {
    #detail_zbozi .detail_flex { grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: 32px; }
    .dm-otazky { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 1024px) {
    #detail_zbozi .detail_flex { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; }
    .dm-rozpar, .dm-doprava, .dm-det-dotaz { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    #dm-podobne div.polozky,
    #dm-podobne .zbozi_ze_stejne_kategorie:not([hidden]) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .dm-napos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dm-kotvy-buy { display: none; }
}

/* ---------------- mobil ---------------- */
@media (max-width: 768px) {
    #prostredek ol.Breadcrumb { flex-wrap: nowrap; overflow-x: auto; white-space: nowrap; scrollbar-width: none; margin-bottom: 12px; font-size: 13px; }
    #detail_zbozi .detail_flex { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    #detail_zbozi .detail_right { position: static; }
    #detail_zbozi [class^="zbozi_prilohy_jpg"] { margin: 0 calc(-1 * var(--tpl-gutter)); width: auto; border-radius: 0; }
    #detail_zbozi .zbozi_prilohy_nahledy { display: none; }
    .dm-tecky { display: flex; justify-content: center; gap: 6px; position: absolute; left: 0; right: 0; bottom: 12px; z-index: 3; }
    .dm-tecky span { width: 8px; height: 8px; border-radius: 50%; background: var(--tpl-surface); box-shadow: 0 0 0 1px var(--tpl-border); }
    .dm-tecky span.is-on { background: var(--tpl-primary); box-shadow: none; }
    .dm-gal-pocet { display: block; position: absolute; top: 12px; right: 12px; z-index: 3; padding: 4px 10px; border-radius: 999px; background: var(--tpl-surface); font-size: 13px; font-variant-numeric: tabular-nums; }
    .dm-gal-nakres { padding: 12px; }
    .dm-det-pod-galerii { display: none; }
    #prostredek #detail_zbozi .detail_right h1 { font-size: calc(24px - var(--tpl-head-shrink)); }
    .dm-det-cena .dm-det-cena-big { font-size: 28px; }
    #prostredek #detail_zbozi .tlacitka-pocet input[type="submit"] { font-size: 16px; padding: 0 12px; }
    .dm-dlv { padding: 4px 16px 12px; }
    .dm-kotvy { margin-top: 32px; }
    body.tpl-hd-sticky .dm-kotvy { top: var(--dm-hd-mobil, 112px); }
    .dm-kotva { height: 48px; padding: 0 12px; font-size: 14px; }
    .dm-det-sekce { scroll-margin-top: 170px; }
    .dm-rozmery-nakres { padding: 12px; }
    .dm-det-dotaz { margin-left: calc(-1 * var(--tpl-gutter)); margin-right: calc(-1 * var(--tpl-gutter)); padding: 24px var(--tpl-gutter); border-radius: 0; }
    .dm-det-dotaz .form_row { grid-template-columns: minmax(0, 1fr); }
    .dm-rev { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .dm-cenik { padding: 16px; }
    #dm-podobne .dm-tab { font-size: 17px; padding: 0 10px; }
    #dm-podobne div.polozky { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #dm-podobne .zbozi_ze_stejne_kategorie:not([hidden]) { grid-template-columns: minmax(0, 1fr); }
    .dm-napos { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
    .dm-napos > li { flex: 0 0 80%; scroll-snap-align: start; }
    body.dm-mbar-on .dm-mbar {
        display: flex; align-items: center; gap: 12px; position: fixed; left: 0; right: 0; bottom: var(--tpl-cookie-h, 0px); z-index: 90;
        min-height: 64px; padding: 8px 16px calc(8px + env(safe-area-inset-bottom, 0px)); background: var(--tpl-surface);
        border-top: 1px solid var(--tpl-line); box-shadow: var(--tpl-shadow-sticky);
    }
    .dm-mbar-i { display: flex; flex-direction: column; min-width: 0; }
    .dm-mbar-c { font-size: 18px; font-weight: 600; line-height: 1.2; font-variant-numeric: tabular-nums; white-space: nowrap; }
    .dm-mbar-v { font-size: 13px; color: var(--tpl-text-light); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .dm-mbar-btn { flex: 1 1 auto; min-height: 48px; margin-left: auto; max-width: 220px; }
}
