/**
 * Sablona 2026-005 Technik - detail produktu (artboardy 04-Detail-desktop / -mobil, ANALYZA kap. 2.11).
 * 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).
 */
#prostredek ol.Breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 16px; padding: 0; list-style: none; font-size: 13px; color: var(--tpl-text-light); }
#prostredek ol.Breadcrumb li { display: inline-flex; align-items: center; gap: 6px; line-height: 20px; }
#prostredek ol.Breadcrumb li + li::before { content: ''; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(-45deg); margin-right: 4px; }
#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 760 | nakupni box --- */
#detail_zbozi { position: relative; }
#detail_zbozi .detail_flex { display: grid; grid-template-columns: minmax(0, 760px) minmax(0, 1fr); gap: 24px; align-items: start; }
#detail_zbozi > h1 { display: none; }
#detail_zbozi .detail_right { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
#detail_zbozi .detail_right > form.form_polozka { display: flex; flex-direction: column; gap: 16px; margin: 0; }
#prostredek #detail_zbozi .detail_right h1 { margin: 0; font-size: calc(28px - var(--tpl-head-shrink)); line-height: 1.2; }
.tk-det-znacka { margin: 0 0 -8px; font-size: 14px; font-weight: 600; }
.tk-det-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; margin-top: -6px; font-size: 13px; color: var(--tpl-text-light); }
.tk-det-meta a.tk-hvezdy { text-decoration: none; }
.tk-det-klic { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 16px; margin: 0; padding: 12px 0; list-style: none; border-top: 1px solid var(--tpl-line); border-bottom: 1px solid var(--tpl-line); font-size: 14px; }
.tk-det-klic li span { color: var(--tpl-text-light); }
.tk-det-vse-par { margin-top: -8px; font-size: 14px; font-weight: 600; }

/* galerie 640 1:1 + vodorovne nahledy 72 */
#detail_zbozi .zbozi_prilohy_2 { position: relative; width: 100%; max-width: 640px; 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: 1 / 1; width: 100%; border: 1px solid var(--tpl-line); border-radius: var(--tpl-area-radius); background: var(--tpl-surface); overflow: hidden; }
#detail_zbozi #img_velky { display: block; width: 100%; height: 100%; max-width: none; object-fit: contain; 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: 72px; height: 72px; object-fit: contain; padding: 2px; border: 1px solid var(--tpl-border); 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 { border: 2px solid var(--tpl-primary); padding: 1px; }
.tk-tecky { display: none; }

/* --- priplatky radio (Zaruka, Pojisteni) --- */
#detail_zbozi .zbozi_priplatky { margin: 0; }
#detail_zbozi table.zbozi_priplatky { width: 100%; border-collapse: collapse; }
#detail_zbozi table.zbozi_priplatky td { padding: 4px 0; border: 0; font-size: 14px; vertical-align: top; }
#detail_zbozi .zbozi_priplatky label { display: flex; align-items: center; gap: 10px; min-height: 40px; }

/* --- cena 32 + Usetrite + bez DPH --- */
.tk-det-cena { display: flex; flex-direction: column; gap: 2px; }
.tk-det-cena-r { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; }
.tk-det-cena .tk-det-cena-big { font-size: var(--tpl-detail-price-size); }
.tk-det-cena .tk-cena-old { font-size: 16px; }
.tk-det-usetrite { margin: 0; font-size: 14px; font-weight: 600; color: var(--tpl-sale-price); }
.tk-det-cena .tk-vat { font-size: 13px; }

/* --- stepper + CTA 52 --- */
#detail_zbozi .tlacitka-pocet { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0; }
#prostredek #detail_zbozi .tlacitka-pocet input.zmenit_pocet {
    width: 44px; min-height: 52px; height: 52px; padding: 0; margin: 0; border: 1px solid var(--tpl-border); border-radius: 0;
    background: var(--tpl-surface); color: var(--tpl-text); font: 600 20px/1 var(--tpl-font);
}
#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: 52px; min-height: 52px; height: 52px; margin-left: -12px; padding: 0; border-radius: 0; border-left: 0; border-right: 0; text-align: center; font-weight: 600; }
#detail_zbozi .tlacitka-pocet .jednotka { display: none; }
#prostredek #detail_zbozi .tlacitka-pocet input[type="submit"] {
    flex: 1 1 200px; min-height: 52px; padding: 0 24px; border: 1px solid var(--tpl-cta); border-radius: var(--tpl-radius);
    background: var(--tpl-cta); color: var(--tpl-cta-text); font: 600 16px/1 var(--tpl-font);
}
#prostredek #detail_zbozi .tlacitka-pocet input[type="submit"]:hover { background: var(--tpl-cta-hover); border-color: 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 .datum_doruceni,
#detail_zbozi #zbozi_detail_porovnavac,
#detail_zbozi .priznak_akce_cz { display: none; }

/* --- box jistot, doprava zdarma, akce --- */
.tk-jistoty { margin: 0; padding: 4px 16px; list-style: none; border: 1px solid var(--tpl-line); border-radius: var(--tpl-area-radius); background: var(--tpl-surface-2); }
.tk-jistoty li { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 6px 0; border-top: 1px solid var(--tpl-line); font-size: 14px; }
.tk-jistoty li:first-child { border-top: 0; }
.tk-jistoty li.tk-jistota--ne span { color: var(--tpl-stav-chyba); font-weight: 600; }
.tk-jistoty li.tk-jistota--ne .tk-ico { color: var(--tpl-stav-chyba); }
.tk-jistoty li.tk-jistota-kmp b { font-weight: 700; }
.tk-jistoty li > span > a:only-child { display: inline-flex; align-items: center; min-height: 44px; margin: -6px 0; }   /* Výdejní místa: cíl 44 px bez zvětšení řádku */
.tk-jistoty li[hidden] { display: none; }
.tk-jistoty .tk-ico { color: var(--tpl-link); }
.tk-jistoty li.tk-jistota--ok span { color: var(--tpl-stav-skladem); font-weight: 700; }
.tk-det-dz { margin: 0; font-size: 13px; color: var(--tpl-text-light); }
.tk-det-akce { display: flex; flex-wrap: wrap; gap: 4px 20px; }
.tk-det-akce-a { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0; border: 0; background: none; color: var(--tpl-text); font: 600 14px/1 var(--tpl-font); cursor: pointer; text-decoration: none; }
.tk-det-akce-a:hover { color: var(--tpl-link); text-decoration: none; }
.tk-det-akce-a.is-on .tk-ico { fill: var(--tpl-oblibene); stroke: var(--tpl-oblibene); }
.tk-det-akce-a input { width: 16px; height: 16px; margin: 0; accent-color: var(--tpl-primary); }
#detail_zbozi .tpl-varianty-hlidat { font-size: 14px; }

/* --- sticky kotvy 56 + mini nakup --- */
.tk-kotvy { position: sticky; top: 0; z-index: 30; margin: 40px calc(-1 * var(--tpl-gutter)) 0; background: var(--tpl-surface); border-top: 1px solid var(--tpl-border); border-bottom: 1px solid var(--tpl-border); box-shadow: 0 4px 12px rgba(16,24,40,.08); }
body.tpl-hd-sticky .tk-kotvy { top: 64px; }
.tk-kotvy-in { display: flex; align-items: center; gap: 4px; min-height: 56px; }
.tk-kotvy-ul { display: flex; gap: 4px; margin: 0; padding: 0; list-style: none; overflow-x: auto; scrollbar-width: none; }
.tk-kotvy-ul li[hidden] { display: none; }
.tk-kotva { display: flex; align-items: center; height: 56px; padding: 0 14px; font-size: 14px; font-weight: 600; color: var(--tpl-text); white-space: nowrap; text-decoration: none; }
.tk-kotva:hover { color: var(--tpl-link); text-decoration: none; }
.tk-kotva.is-on { color: var(--tpl-link); box-shadow: inset 0 -3px 0 var(--tpl-primary); }
.tk-kotvy-buy { display: flex; align-items: center; gap: 12px; margin-left: auto; }
.tk-kotvy-buy[hidden] { display: none; }
.tk-kotvy-n { max-width: 260px; font-size: 14px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tk-kotvy-c { font-size: 16px; font-variant-numeric: tabular-nums; white-space: nowrap; }

/* --- sekce pod mrizkou --- */
.tk-det-sekce { margin-top: var(--tpl-section-gap); scroll-margin-top: 140px; }
#prostredek .tk-det-sekce > h2,
.tk-det-sekce .tk-h2 { margin: 0 0 16px; }
.tk-det-popis { display: grid; grid-template-columns: minmax(0, 720px) minmax(0, 1fr); gap: 48px; align-items: start; }
.tk-det-popis .zbozi_popis { display: none; }
.tk-det-popis .zbozi_text { font-size: 15px; line-height: 1.6; }
.tk-det-popis .zbozi_text table.zbozi_parametry { display: none; }
.tk-det-baleni .zbozi_text_parametry { padding: 16px 20px; border: 1px solid var(--tpl-border); border-radius: var(--tpl-area-radius); }
.tk-det-baleni ul { margin: 8px 0 0; padding: 0; list-style: none; }
.tk-det-baleni li { display: flex; gap: 8px; align-items: center; min-height: 32px; font-size: 14px; }
.tk-det-baleni li::before { content: ''; width: 10px; height: 6px; border-left: 2px solid var(--tpl-stav-skladem); border-bottom: 2px solid var(--tpl-stav-skladem); transform: rotate(-45deg); flex: none; margin-top: -3px; }
.tpl-detail-doplnky .zbozi_text_parametry { margin-top: var(--tpl-section-gap); }

/* parametry ve skupinach, 2 sloupce, zebra */
.tk-par-skupiny { columns: 2; column-gap: 24px; }
.tk-par-skupina { break-inside: avoid; margin: 0 0 20px; }
#prostredek .tk-par-h { margin: 0 0 6px; font: 700 15px/1.3 var(--tpl-font); letter-spacing: 0; }
.tk-par-tab { width: 100%; border-collapse: collapse; font-size: 14px; }
.tk-par-tab th, .tk-par-tab td { height: 36px; padding: 6px 12px; text-align: left; vertical-align: middle; font-weight: 400; border: 0; }
.tk-par-tab th { width: 45%; color: var(--tpl-text-light); }
.tk-par-tab tr:nth-child(odd) th,
.tk-par-tab tr:nth-child(odd) td { background: var(--tpl-surface-2); }
.tk-par-skupiny--sbalene .tk-par-navic { display: none; }
.tk-par-vse { margin-top: 4px; }

/* prislusenstvi (souvisejici zbozi jadra) */
#tk-prislusenstvi .zbozi_souvisejici h2 { margin: 0 0 16px; font-size: calc(24px - var(--tpl-head-shrink)); }
#tk-prislusenstvi .zbozi_doplneni { display: none; }
#tk-prislusenstvi div.polozky { grid-template-columns: repeat(4, minmax(0, 1fr)); }
#tk-prislusenstvi .zbozi_ze_stejne_kategorie { margin-top: var(--tpl-section-gap); }
#tk-prislusenstvi .zbozi_ze_stejne_kategorie h2 { font-size: calc(18px - var(--tpl-head-shrink)); }
#tk-prislusenstvi .zbozi_stejna_kategorie { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--tpl-grid-gap); }
#tk-prislusenstvi .zbozi_stejna_kategorie > * { padding: 12px; border: 1px solid var(--tpl-border); border-radius: var(--tpl-card-radius); font-size: 13px; }

/* soubory ke stazeni */
.tk-soubory { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.tk-soubor { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--tpl-border); border-radius: var(--tpl-radius); color: var(--tpl-text); text-decoration: none; }
.tk-soubor:hover { border-color: var(--tpl-primary); color: var(--tpl-text); text-decoration: none; }
.tk-soubor .tk-ico { color: var(--tpl-stav-chyba); }
.tk-soubor b { display: block; font-size: 14px; }
.tk-soubor small { display: block; font-size: 13px; color: var(--tpl-text-light); }
.tpl-detail-system #zbozi_prilohy_ke_stazeni { display: none; }

/* dotaz + FAQ */
.tk-det-qa { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: start; }
.tk-det-qa .poslat_znamemu,
.tk-det-qa #poslat_znamemu { display: none; }
#prostredek .tk-det-qa h2.vas_dotaz { margin: 0 0 12px; font-size: calc(24px - var(--tpl-head-shrink)); }
#prostredek .tk-det-qa h2.vas_dotaz::first-letter { text-transform: uppercase; }
.tk-det-qa .podnadpis { display: none; }
.tk-det-qa .form_row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.tk-det-qa .form_label { font-size: 13px; font-weight: 600; margin-bottom: 4px; }
.tk-det-qa .form_input input,
.tk-det-qa .form_input textarea { width: 100%; }
.tk-det-qa .shop5-faq-item { border-bottom: 1px solid var(--tpl-line); }
.tk-det-qa .shop5-faq-question { display: flex; align-items: center; min-height: 52px; font-weight: 600; cursor: pointer; }
.tk-det-qa .shop5-faq-answer { padding: 0 0 14px; font-size: 14px; color: var(--tpl-text); }

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

/* naposledy prohlizene (6 mini karet) */
.tk-napos { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--tpl-grid-gap); margin: 0; padding: 0; list-style: none; }
.tk-napos-a { display: flex; flex-direction: column; gap: 6px; height: 100%; padding: 10px; border: 1px solid var(--tpl-border); border-radius: var(--tpl-card-radius); color: var(--tpl-text); text-decoration: none; }
.tk-napos-a:hover { border-color: var(--tpl-border-strong); box-shadow: var(--tpl-shadow-hover); color: var(--tpl-text); text-decoration: none; }
.tk-napos-foto { display: flex; aspect-ratio: 1 / 1; align-items: center; justify-content: center; border-radius: var(--tpl-thumb-radius); background: var(--tpl-surface-2); overflow: hidden; }
.tk-napos-foto img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.tk-napos-a b { font-size: 13px; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tk-napos-a .tk-cena { font-size: 16px; }

/* 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 */
.tk-mbar { display: none; }

/* ---------------- tablet ---------------- */
@media (max-width: 1240px) {
    #detail_zbozi .detail_flex { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .tk-napos { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .tk-napos > :nth-child(n+5) { display: none; }
}
@media (max-width: 1024px) {
    .tk-det-popis { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .tk-det-qa { grid-template-columns: minmax(0, 1fr); }
    .tk-soubory { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #tk-prislusenstvi div.polozky,
    #tk-prislusenstvi .zbozi_stejna_kategorie { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .tk-kotvy-buy { display: none; }
}

/* ---------------- mobil ---------------- */
@media (max-width: 768px) {
    #detail_zbozi .detail_flex { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    #detail_zbozi [class^="zbozi_prilohy_jpg"] { margin: 0 calc(-1 * var(--tpl-gutter)); width: auto; border-radius: 0; border-left: 0; border-right: 0; }
    #detail_zbozi .zbozi_prilohy_nahledy { flex-wrap: nowrap; overflow-x: auto; }
    #detail_zbozi .zbozi_prilohy_nahledy img { width: 56px; height: 56px; flex: none; }
    .tk-tecky { display: flex; justify-content: center; gap: 6px; position: absolute; left: 0; right: 0; bottom: 10px; }
    .tk-tecky span { width: 8px; height: 8px; border-radius: 50%; background: var(--tpl-border-strong); }
    .tk-tecky span.is-on { background: var(--tpl-primary); }
    #prostredek #detail_zbozi .detail_right h1 { font-size: calc(22px - var(--tpl-head-shrink)); }
    .tk-det-klic { grid-template-columns: minmax(0, 1fr); }
    #detail_zbozi .tpl-varianty-hodnota--miniatura { width: calc(33.333% - 6px); }
    #detail_zbozi .tpl-varianty-hodnota--radek { grid-template-columns: 24px minmax(0, 1fr) auto; }
    #detail_zbozi .tpl-varianty-hodnota--radek .tpl-varianty-hodnota-stav { grid-column: 2 / -1; text-align: left; margin-top: -10px; padding-bottom: 6px; }
    .tk-det-cena .tk-det-cena-big { font-size: 28px; }
    .tk-det-cena .tk-vat { font-size: 14px; }
    .tk-kotvy { margin-top: 24px; }
    body.tpl-hd-sticky .tk-kotvy { top: 106px; }
    .tk-kotva { height: 48px; }
    .tk-par-skupiny { columns: 1; }
    .tk-soubory { grid-template-columns: minmax(0, 1fr); }
    .tk-det-qa .form_row { grid-template-columns: minmax(0, 1fr); }
    .tk-rev { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    #tk-prislusenstvi div.polozky,
    #tk-prislusenstvi .zbozi_stejna_kategorie { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tk-napos { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; }
    .tk-napos > li { flex: 0 0 40%; scroll-snap-align: start; }
    .tk-napos > :nth-child(n+5) { display: block; }
    body.tk-mbar-on .tk-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-border); box-shadow: 0 -6px 18px rgba(16,24,40,.14);
    }
    .tk-mbar-c { font: 700 18px/1.2 var(--tpl-font); font-variant-numeric: tabular-nums; }
    .tk-mbar-btn { flex: 1 1 auto; min-height: 48px; }
}

#tk-prislusenstvi .zbozi_ze_stejne_kategorie { display: none; }
.tk-kotva::first-letter { text-transform: uppercase; }
#prostredek .tk-det-qa h2.vas_dotaz { text-transform: none; }
