/* cm_bundle (P13 bs_css_svazek.php) – NEUPRAVOVAT, generuje se ze zdrojů: stylesheet.css, stylesheet_ajax_search.css, stylesheet_bootstrap.carousel.css, stylesheet_bootstrap.lightbox.css, stylesheet_cm_funkce.css, stylesheet_zca_colors.css, stylesheet_zz_bs_vzhled.css, stylesheet_zz_bs_vzhled_dlazdice.css, stylesheet_zz_bs_vzhled_menu.css, stylesheet_zz_bs_zrcadla.css, stylesheet_zz_cm_naseptavac.css, stylesheet_zz_cm_platby.css, stylesheet_zz_obchod.css, stylesheet_zz_svm_naseptavac_bs.css */

/* ==== stylesheet.css ==== */
/**
 * Main Template CSS Stylesheet
 * 
 * BOOTSTRAP v3.4.0
 *
 */
.clearBoth {
   clear: both;
}
.forward {
    float: right;
}
.back {
    float: left;
}

/* This is used to re-size images */
img {
    max-width: 100%;
    height: auto;
    border: 0;
}

.qmix > br {
    display: none;
}

.normalprice, .productSpecialPriceSale {
    text-decoration: line-through;
}

#back-to-top {
    position: fixed;
    bottom: 5rem;
    right: 1rem;
    z-index: 1;
    text-align: center;
    cursor: pointer;
    transition: opacity 0.2s ease-out;
    opacity: 0;
}

#back-to-top.show {
    opacity: 1;
    z-index: 1;
}

/* set height of scrollable area in mobile menu */
div#navbarSupportedContent {
    max-height:90vh;
    overflow-y:auto;
}

.zca-banner {
    text-align: center;
}

.ot-title {
    text-align: right;
}
.ot-text,
.totalCell {
    text-align: right;
}

.centeredContent {
    text-align: center;
    padding: 1rem;
}

table.tabTable td {
    padding: 0.5rem;
}
#indexProductList-cat-wrap {
    margin-bottom: 1rem;
}
#productsListing-bottomRow {
    margin-top: 1rem;
}

.sideBoxContent select {
    margin-bottom: 1rem;
}
#navCatTabs a,
#navCatTabs a:hover {
    border: 0.125rem solid #007faf;
}

/* These CSS media queries control how many columns of cards display on the login, checkout_shipping, checkout_payment & checkout_confirmation pages */
/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) { 
.card-columns {
  -webkit-column-count: 1;
  -moz-column-count: 1;
  column-count: 1;
}
}

/*  Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
.card-columns {
  -webkit-column-count: 1;
  -moz-column-count: 1;
  column-count: 1;
}
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
.card-columns {
  -webkit-column-count: 2;
  -moz-column-count: 2;
  column-count: 2;
}
}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) { 
.card-columns {
  -webkit-column-count: 2;
  -moz-column-count:2;
  column-count: 2;
}
}

/* Merging back from version-specific stylesheets */
.btn.button_add_selected {
    position: fixed;
    bottom: 7.5rem;
    z-index: 100;
}
#shippingEstimatorContent,
#shoppingcartBody .qtyCell input {
    width: fit-content;
}
a {
    text-decoration: underline;
}
.btn.button_add_selected {
    position: static;
    z-index: auto;
}
.btn.button_add_selected.bs4-button-float.always {
    position: fixed;
    bottom: 7.5rem;
    z-index: 100;
}
@media (max-width: 577px) { 
    .btn.button_add_selected.bs4-button-float.sm-only {
        position: fixed;
        bottom: 5rem;
        z-index: 100;
        left: 2vw;
    }
    .btn.button_add_selected.bs4-button-hide-sm {
        display: none;
    }
}
#checkoutPayment label.inputLabelPayment+input[type="checkbox"],
#checkoutPayment label.inputLabel+input[type="checkbox"] {
    opacity: 100%;
    position: initial;
    margin-left: .5rem;
}
.card-body {
    border-radius: inherit;
}
.card-header+.card-body {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}
.leftBoxCard,
.rightBoxCard {
    overflow: hidden;
}
.pl-dp {
    min-width: 7rem;
}
.qmax > br {
    display: none;
}

/* ==== stylesheet_ajax_search.css ==== */
#search-wrapper.modal:before {
    display: inline;
}
#search-wrapper {
    opacity: 1;
}
.sugg {
    text-align: center;
    padding: 10px;
}
.sugg-content a {
    display: inline-block;
    border: 1px solid #0c6eaf;
    border-radius: 10px;
    padding: 5px;
    text-decoration: none;
    width: 100%;
}
.sugg-content > a:hover {
    color: #0080c0;
    background-color: #dff4ff;
}
.sugg-img {
    height: 50px;
}
.sugg-name {
    height: 4rem;
    margin-bottom: 0.5rem;
}
.sugg-name, .sugg-price {
    font-weight: bold;
}

/* ==== stylesheet_bootstrap.carousel.css ==== */
/**
 * Image Carousel Stylesheet
 * 
 * BOOTSTRAP v3.5.1
 *
 */
#productImagesCarousel .carousel-indicators {
    position: static;
    left: initial;
    width: initial;
    margin-left: initial;
}
#productImagesCarousel .carousel-indicators > li {
    width: initial;
    height: initial;
    text-indent: initial;
}
#productImagesCarousel .carousel-indicators > li.active img {
    opacity: 0.7;
}
.banner-carousel .carousel-indicators {
    top: 95%;
}

/* ==== stylesheet_bootstrap.lightbox.css ==== */
.ekko-lightbox{display:-ms-flexbox!important;display:flex!important;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;padding-right:0!important}.ekko-lightbox-container{position:relative}.ekko-lightbox-container>div.ekko-lightbox-item{position:absolute;top:0;left:0;bottom:0;right:0;width:100%}.ekko-lightbox iframe{width:100%;height:100%}.ekko-lightbox-nav-overlay{z-index:1;position:absolute;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex}.ekko-lightbox-nav-overlay a{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;opacity:0;transition:opacity .5s;color:#fff;font-size:30px;z-index:1}.ekko-lightbox-nav-overlay a>*{-ms-flex-positive:1;flex-grow:1}.ekko-lightbox-nav-overlay a>:focus{outline:none}.ekko-lightbox-nav-overlay a span{padding:0 30px}.ekko-lightbox-nav-overlay a:last-child span{text-align:right}.ekko-lightbox-nav-overlay a:hover{text-decoration:none}.ekko-lightbox-nav-overlay a:focus{outline:none}.ekko-lightbox-nav-overlay a.disabled{cursor:default;visibility:hidden}.ekko-lightbox a:hover{opacity:1;text-decoration:none}.ekko-lightbox .modal-dialog{display:none}.ekko-lightbox .modal-footer{text-align:left}.ekko-lightbox-loader{position:absolute;top:0;left:0;bottom:0;right:0;width:100%;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.ekko-lightbox-loader>div{width:40px;height:40px;position:relative;text-align:center}.ekko-lightbox-loader>div>div{width:100%;height:100%;border-radius:50%;background-color:#fff;opacity:.6;position:absolute;top:0;left:0;animation:a 2s infinite ease-in-out}.ekko-lightbox-loader>div>div:last-child{animation-delay:-1s}.modal-dialog .ekko-lightbox-loader>div>div{background-color:#333}@keyframes a{0%,to{transform:scale(0);-webkit-transform:scale(0)}50%{transform:scale(1);-webkit-transform:scale(1)}}

/* ==== stylesheet_cm_funkce.css ==== */
/* stylesheet_cm_funkce.css - FUNKČNÍ pravidla pro funkce převzaté z CM (výpis a dlaždice, přechodník rozměrů, množství, rychlý náhled, porovnání).
   Jen to, bez čeho by funkce nefungovala nebo byla nepoužitelná (skrytý seznam, absolutní pozice, plovoucí lišta, dialogy a jejich ::backdrop,
   štítky nad obrázkem, průhlednost při AJAX výměně). Vzhled (barvy, písmo, mezery) dodá Bootstrap a návrhy majitele; barvy se berou z proměnných
   šablony (--zca_*), záložní hodnoty platí, kdyby šablona proměnné nedefinovala. Selektory míří na značkování Bootstrap šablony
   (#productListing = obal výpisu, .card.centerBoxContentsListing = dlaždice) a na třídy, které generují funkce extra_functions (cm-*, svm-*, tt-*, rozmery-*).
   Další etapy (filtry, detail, košík, pokladna, hlavička) doplní svá funkční pravidla do tohoto souboru patchem. */

:root {
  --cmf-akcent: var(--zca_button_background_color, #0d6efd);
  --cmf-akcent-hover: var(--zca_button_background_color_hover, #0b5ed7);
  --cmf-akcent-text: var(--zca_button_text_color, #fff);
  --cmf-text: var(--zca_body_text_color, #212529);
  --cmf-pozadi: var(--zca_body_background_color, #fff);
  --cmf-slaby: #6c757d;
  --cmf-ramecek: #dee2e6;
  --cmf-lehke: #f8f9fa;
  --cmf-akce: var(--zca_body_products_special_color, #c0392b);
}

/* --- dlaždice výpisu --------------------------------------------------------------------------------------------- */
#productListing .list-image { position: relative; }
#productListing .list-image > a { display: block; }
#productListing .card.centerBoxContentsListing:has(.rozmery-dropdown__list.is-open) { position: relative; z-index: 60; }   /* otevřený seznam rozměrů přes sousední dlaždice */
#productListing td:has(.rozmery-dropdown__list.is-open) { position: relative; z-index: 60; }
#productListing .cm-dlazdice-koupit { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .5rem 1rem; margin: .5rem 0; }
#productListing .cm-dlazdice-koupit .pl-dp { margin: 0; }
#productListing .cm-dlazdice-koupit { flex-direction: column; }
#productListing .cm-dlazdice-koupit form { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .5rem; max-width: 100%; margin: 0; }
#productListing .cm-dlazdice-koupit form br { display: none; }
.cm-dlazdice-akce { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem; margin: .5rem 0 0; }
.cm-akce-stitky { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem; margin-top: .5rem; }
.cm-akce-stitek { display: inline-flex; align-items: center; padding: .15rem .6rem; border-radius: 999px; font-size: .75rem; font-weight: 700; }
.cm-akce-stitek--sleva { background: var(--cmf-akce); color: #fff; }
.cm-akce-stitky .tt-label-gift, .cm-akce-stitky .tt-label-code { position: static; }

/* stránky výrobců a Akce: nadpis skupiny zboží přes celý řádek výpisu, bez stránkování */
#productListing .cm-vypis-skupina { width: 100%; margin: 1.25rem 0 .5rem; padding-bottom: .35rem; border-bottom: 1px solid var(--cmf-ramecek); text-align: left; }
#productListing .cm-vypis-skupina h2 { margin: 0; font-size: 1.35rem; scroll-margin-top: 5rem; }
.cm-vyrobce-vypis #productsListing-topRow, .cm-vyrobce-vypis #productsListing-bottomRow { display: none !important; }   /* Bootstrap: .d-flex má !important */
.cm-vyrobce-kotvy { display: flex; flex-wrap: wrap; gap: .5rem; margin: .5rem 0 1rem; }
.cm-chip { display: inline-block; padding: .25rem .8rem; border: 1px solid var(--cmf-ramecek); border-radius: 999px; background: var(--cmf-pozadi); color: var(--cmf-text); font-size: .85rem; font-weight: 600; text-decoration: none; }
.cm-chip:hover { border-color: var(--cmf-akcent); text-decoration: none; }

/* řazení jako řádek odkazů */
.cm-razeni { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; font-size: .9rem; }
.cm-razeni-odkaz.is-active { font-weight: 700; text-decoration: underline; }
.cm-razeni-oddel { color: var(--cmf-ramecek); }

/* stránkování: jediná strana = jádro vypíše jen popisek bez odkazů */
#productListing .navSplitPagesLinks:not(:has(li)) { display: none; }

/* AJAX výměna výpisu (filtry): průhlednost po dobu načítání */
#productListing.svm-ajax-loading, .tt-filters-panel.svm-ajax-loading { opacity: .5; pointer-events: none; }

/* --- štítky nad obrázkem (dárek, slevový kód) ------------------------------------------------------------------- */
.list-image .tt-label-gift, .list-image .tt-label-code { position: absolute; top: .4rem; z-index: 2; display: inline-flex; align-items: center; gap: .35rem; padding: .25rem .6rem; font-size: .75rem; font-weight: 700; line-height: 1.3; white-space: nowrap; max-width: calc(100% - .8rem); overflow: hidden; text-overflow: ellipsis; }
.list-image .tt-label-code { left: .4rem; background: var(--cmf-akce); color: #fff; }
.list-image .tt-label-gift { right: .4rem; background: var(--cmf-pozadi); color: var(--cmf-text); box-shadow: 0 0 0 1px var(--cmf-ramecek); }
.tt-label-gift svg { flex: 0 0 auto; }

/* --- piktogramy vlastností z filtrů na dlaždici (inline SVG, barva currentColor) ----------------------------------- */
.tt-filter-badges { display: flex; flex-wrap: wrap; justify-content: center; gap: .35rem .9rem; margin: .5rem 0; padding: 0; list-style: none; }
.tt-filter-badge { display: inline-flex; align-items: center; gap: .35rem; font-size: .8rem; line-height: 1.3; }
.tt-filter-badge svg { flex: 0 0 auto; width: 20px; height: 20px; stroke: currentColor; color: var(--cmf-akcent); }
.svm-gift-icon svg, .svm-1plus1-icon svg { width: 20px; height: 20px; }
.svm-1p1-set { display: block; font-size: .8rem; line-height: 1.35; font-weight: 400; color: var(--cmf-slaby); }
.svm-1p1-tag { display: inline-block; margin-right: .4rem; padding: 0 .35rem; border: 1px solid var(--cmf-ramecek); border-radius: 3px; font-weight: 600; }
.svm-1p1-piece { white-space: nowrap; }

/* --- přechodník rozměrů "Dostupné rozměry" (AJAX po rozbalení) ----------------------------------------------------- */
.rozmery-dropdown { position: relative; margin: .75rem 0 .5rem; }
.rozmery-dropdown__label { display: inline-flex; align-items: center; gap: .4rem; padding: .35rem .8rem; border: 1px solid var(--cmf-ramecek); border-radius: .25rem; background: var(--cmf-lehke); color: var(--cmf-text); font-size: .85rem; font-weight: 600; cursor: pointer; user-select: none; }
.rozmery-dropdown__label:hover { background: #e9ecef; }
.rozmery-dropdown__arrow { font-size: .7rem; transition: transform .2s; }
.rozmery-dropdown__label.is-open .rozmery-dropdown__arrow { transform: rotate(180deg); }
.rozmery-dropdown__list { display: none; position: absolute; top: 100%; left: 0; z-index: 999; list-style: none; margin: .25rem 0 0; padding: 0; min-width: 100%; max-height: 260px; overflow-y: auto; border: 1px solid var(--cmf-ramecek); border-radius: .25rem; background: var(--cmf-pozadi); box-shadow: 0 .25rem .6rem rgba(0, 0, 0, .12); }
.rozmery-dropdown__list.is-open { display: block; }
.rozmery-dropdown__list li a { display: flex; justify-content: space-between; align-items: center; gap: .75rem; padding: .45rem .85rem; border-bottom: 1px solid var(--cmf-lehke); color: var(--cmf-text); font-size: .85rem; text-decoration: none; white-space: nowrap; }
.rozmery-dropdown__list li a:hover { background: var(--cmf-lehke); }
.rozmery-dropdown__list li.is-active a { font-weight: 700; pointer-events: none; }
.rozmery-dropdown__list li.is-active a::after { content: "\25C0  aktuální"; font-size: .7rem; font-weight: 400; margin-left: .5rem; }
.rozmery-dropdown__price { color: var(--cmf-slaby); font-size: .8rem; }
.rozmery-dropdown__loading { padding: .6rem .85rem; color: var(--cmf-slaby); font-size: .85rem; }
.rozmery-dropdown--listing { text-align: center; }
.rozmery-dropdown--listing .rozmery-dropdown__list { left: 50%; transform: translateX(-50%); text-align: left; min-width: 240px; max-width: calc(100vw - 2rem); }
.rozmery-dropdown--listing .rozmery-dropdown__list li a { white-space: normal; }
.rozmery-dropdown__hint { margin: 0 0 .25rem; font-size: .75rem; color: var(--cmf-slaby); }

/* --- pole množství s tlačítky - / + --------------------------------------------------------------------------------- */
.cm-mnozstvi { display: inline-flex; align-items: center; vertical-align: middle; white-space: nowrap; }
.cm-mnozstvi-tl { width: 2.25rem; height: 2.4rem; margin: 0; padding: 0; border: 1px solid var(--cmf-ramecek); background: var(--cmf-pozadi); color: var(--cmf-text); font-size: 1.1rem; line-height: 1; cursor: pointer; flex: 0 0 auto; }
.cm-mnozstvi-minus { border-radius: .25rem 0 0 .25rem; }
.cm-mnozstvi-plus { border-radius: 0 .25rem .25rem 0; }
.cm-mnozstvi-tl:hover { background: var(--cmf-lehke); }
.cm-mnozstvi input.cm-mnozstvi-pole { width: 3.4rem; height: 2.4rem; margin: 0; padding: 0 .25rem; border: 1px solid var(--cmf-ramecek); border-left: 0; border-right: 0; border-radius: 0; text-align: center; box-sizing: border-box; -moz-appearance: textfield; }
.cm-mnozstvi input.cm-mnozstvi-pole::-webkit-outer-spin-button, .cm-mnozstvi input.cm-mnozstvi-pole::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.cm-mnozstvi-mj { margin-left: .5rem; font-size: .85rem; color: var(--cmf-slaby); }

/* --- tlačítka Porovnat / Rychlý náhled (dlaždice, detail, náhled) ---------------------------------------------------- */
.cm-porovnat, .cm-nahled { display: inline-flex; align-items: center; gap: .35rem; padding: .3rem .7rem; border: 1px solid var(--cmf-ramecek); border-radius: 999px; background: var(--cmf-pozadi); color: var(--cmf-slaby); font: inherit; font-size: .8rem; font-weight: 600; line-height: 1.2; text-decoration: none; cursor: pointer; }
.cm-porovnat svg, .cm-nahled svg { flex: 0 0 auto; }
.cm-porovnat:hover, .cm-nahled:hover, .cm-porovnat:focus-visible, .cm-nahled:focus-visible { border-color: var(--cmf-akcent); color: var(--cmf-text); text-decoration: none; }
.cm-porovnat.is-active { border-color: var(--cmf-akcent); color: var(--cmf-text); background: var(--cmf-lehke); }
.cm-porovnat:disabled { opacity: .6; cursor: wait; }
.cm-nav-porovnani .cm-topbar-porovnani { display: inline-flex; align-items: center; gap: .4rem; padding: .5rem; color: inherit; text-decoration: none; }
.cm-porovnani-pocet { display: inline-flex; align-items: center; justify-content: center; min-width: 1.4rem; height: 1.4rem; padding: 0 .35rem; border-radius: 999px; background: var(--cmf-akcent); color: var(--cmf-akcent-text); font-size: .75rem; box-sizing: border-box; }
.cm-porovnani-pocet.is-prazdny { display: none; }

/* --- plovoucí lišta "Porovnat vybrané (n)" a toast ------------------------------------------------------------------ */
.cm-porovnani-lista { position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 900; display: none; align-items: center; gap: .25rem; padding: .5rem .5rem .5rem 1rem; border-radius: 999px; background: #212529; color: #fff; box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .3); }
.cm-porovnani-lista.is-visible { display: flex; }
.cm-porovnani-lista > a { display: inline-flex; align-items: center; gap: .5rem; color: #fff; font-weight: 600; text-decoration: none; }
.cm-porovnani-lista > a:hover { color: #fff; text-decoration: underline; }
.cm-porovnani-vymazat { width: 1.9rem; height: 1.9rem; margin-left: .25rem; border: 0; border-radius: 50%; background: transparent; color: #fff; font-size: 1.25rem; line-height: 1; opacity: .75; cursor: pointer; }
.cm-porovnani-vymazat:hover { opacity: 1; background: rgba(255, 255, 255, .12); }
.cm-toast { position: fixed; left: 50%; bottom: 5.25rem; z-index: 950; max-width: calc(100vw - 2.5rem); padding: .6rem 1.1rem; border-radius: .5rem; background: #212529; color: #fff; box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .2); opacity: 0; transform: translate(-50%, .5rem); pointer-events: none; transition: opacity .2s, transform .2s; }
.cm-toast.is-visible { opacity: 1; transform: translate(-50%, 0); }
.cm-toast.is-chyba { background: var(--cmf-akce); }

/* --- stránka porovnání ------------------------------------------------------------------------------------------------ */
.cm-porovnani-hlava { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .75rem 1.25rem; margin-bottom: .5rem; }
.cm-porovnani-hlava h1 { margin: 0; }
.cm-porovnani-nastroje { display: flex; align-items: center; gap: .9rem; flex-wrap: wrap; }
.cm-porovnani-limit, .cm-porovnani-popis { color: var(--cmf-slaby); font-size: .85rem; }
.cm-porovnani-prazdne { padding: 2rem 1rem; border: 1px dashed var(--cmf-ramecek); border-radius: .5rem; text-align: center; }
.cm-porovnani-skupina { margin: 0 0 2rem; }
.cm-porovnani-pocet-skupiny { color: var(--cmf-slaby); font-weight: 400; font-size: .9em; }
.cm-porovnani-rolovani { overflow-x: auto; border: 1px solid var(--cmf-ramecek); border-radius: .5rem; background: var(--cmf-pozadi); }
.cm-porovnani-tabulka { width: 100%; border-collapse: separate; border-spacing: 0; font-size: .9rem; }
.cm-porovnani-tabulka th, .cm-porovnani-tabulka td { padding: .6rem .85rem; border-bottom: 1px solid var(--cmf-ramecek); vertical-align: top; text-align: left; min-width: 11rem; }
.cm-porovnani-tabulka tbody tr:last-child th, .cm-porovnani-tabulka tbody tr:last-child td { border-bottom: 0; }
.cm-porovnani-tabulka thead th { vertical-align: bottom; background: var(--cmf-pozadi); }
.cm-porovnani-tabulka th.cm-porovnani-roh, .cm-porovnani-tabulka tbody th { position: sticky; left: 0; z-index: 1; width: 10rem; min-width: 9rem; background: var(--cmf-lehke); color: var(--cmf-slaby); font-weight: 600; }
.cm-porovnani-tabulka th.cm-porovnani-produkt { position: relative; text-align: center; padding-top: 1.1rem; }
.cm-porovnani-odebrat { position: absolute; top: .35rem; right: .5rem; width: 1.65rem; height: 1.65rem; border-radius: 50%; border: 1px solid var(--cmf-ramecek); background: var(--cmf-pozadi); color: var(--cmf-slaby); font-size: 1.1rem; line-height: 1.5rem; text-align: center; text-decoration: none; }
.cm-porovnani-odebrat:hover { background: var(--cmf-akce); border-color: var(--cmf-akce); color: #fff; text-decoration: none; }
.cm-porovnani-obrazek img { max-width: 150px; height: auto; }
.cm-porovnani-nazev { display: block; margin: .5rem 0 .25rem; font-weight: 700; }
.cm-porovnani-cena { font-weight: 700; }
.cm-porovnani-tabulka td.is-rozdil { background: var(--cmf-lehke); }   /* odlišné hodnoty v řádku (informace, ne vzhled) */
.cm-porovnani-radek-popis td { color: var(--cmf-slaby); font-size: .85rem; }
.cm-porovnani-radek-akce td { text-align: center; }

/* --- dialog rychlého náhledu a dialog po přidání do porovnání ---------------------------------------------------------- */
html.cm-nahled-otevreno { overflow: hidden; }
.cm-nahled-dialog { width: min(1190px, calc(100vw - 2rem)); max-height: calc(100vh - 2.5rem); padding: 0; border: 0; border-radius: .5rem; background: var(--cmf-pozadi); color: var(--cmf-text); box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, .35); overflow: hidden; flex-direction: column; }
.cm-nahled-dialog[open] { display: flex; }
.cm-nahled-dialog::backdrop { background: rgba(15, 20, 30, .55); }
.cm-nahled-zavrit { position: absolute; top: .75rem; right: .75rem; z-index: 2; width: 2.25rem; height: 2.25rem; border: 1px solid var(--cmf-ramecek); border-radius: 50%; background: var(--cmf-pozadi); color: var(--cmf-slaby); font-size: 1.5rem; line-height: 1; cursor: pointer; }
.cm-nahled-zavrit:hover { color: var(--cmf-text); border-color: var(--cmf-akcent); }
.cm-nahled-telo { padding: 1.75rem; overflow-y: auto; max-height: calc(100vh - 2.5rem); flex: 1 1 auto; min-height: 0; }
.cm-nahled-nacitam, .cm-nahled-chyba { margin: 2.5rem 0; text-align: center; color: var(--cmf-slaby); }
.cm-nahled-obsah--chyba { text-align: center; padding: 1.25rem 0; }
.cm-nahled-obrazek img { display: block; max-width: 100%; height: auto; }
.cm-nahled-nazev { margin: 0 2.25rem .25rem 0; font-size: 1.4rem; line-height: 1.25; }
.cm-nahled-udaje { display: flex; flex-wrap: wrap; gap: .35rem 1rem; margin: 0 0 .6rem; padding: 0; list-style: none; font-weight: 600; }
.cm-nahled-koupit { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.25rem; margin-top: .75rem; }
.cm-nahled-koupit .cm-nahled-cena { margin: 0; font-size: 1.75rem; font-weight: 700; line-height: 1.15; }
.cm-nahled-koupit .cm-nahled-kosik { display: flex; flex-wrap: nowrap; align-items: center; gap: .75rem; margin: 0; }
#cmNahledObsah .cm-nahled-info .card { margin-bottom: .5rem; }   /* atributy ze šablony Bootstrap (karty) v dialogu kompaktně */
#cmNahledObsah .cm-nahled-info .card-header { padding: .35rem .75rem; font-size: 1rem; }
#cmNahledObsah .cm-nahled-info .card-body { padding: .5rem .75rem; }
.cm-nahled-mnozstvi-pozn, .cm-nahled-v-kosiku { margin: .4rem 0 0; font-size: .8rem; color: var(--cmf-slaby); }
.cm-nahled-akce { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.1rem; margin-top: 1rem; padding-top: .9rem; border-top: 1px solid var(--cmf-ramecek); }
.cm-nahled-popis-cely { margin: 1.5rem 0 0; padding: 1.25rem 0 0; border-top: 1px solid var(--cmf-ramecek); }
.cm-nahled-popis-cely img { max-width: 100%; height: auto; }
.cm-porovnani-nabidka { width: min(460px, calc(100vw - 2rem)); padding: 1.5rem; border: 0; border-radius: .75rem; background: var(--cmf-pozadi); color: var(--cmf-text); box-shadow: 0 1.25rem 3.75rem rgba(0, 0, 0, .25); }
.cm-porovnani-nabidka::backdrop { background: rgba(15, 20, 30, .45); }
.cm-porovnani-nabidka-text { margin: 0 0 1.1rem; line-height: 1.5; }
.cm-porovnani-nabidka-tlacitka { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: flex-end; }
.cm-tlacitko { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; cursor: pointer; }
.cm-tlacitko:not(.btn) { padding: .5rem 1.1rem; border: 1px solid var(--cmf-akcent); border-radius: 999px; background: var(--cmf-akcent); color: var(--cmf-akcent-text); font-weight: 600; text-decoration: none; }
.cm-tlacitko:not(.btn).cm-tlacitko--obrys { background: var(--cmf-pozadi); color: var(--cmf-text); }

/* upozornění z centrály (dárek, slevový kód, 1+1) v náhledu a na detailu - jen rozměry, bez barevného návrhu */
.svm-gift-notice { display: flex; align-items: flex-start; gap: .75rem; margin: .9rem 0; padding: .75rem .9rem; border: 1px solid var(--cmf-ramecek); border-left-width: 4px; border-radius: .3rem; font-size: .9rem; line-height: 1.45; text-align: left; }
.svm-gift-icon { flex: 0 0 auto; margin-top: .1rem; line-height: 0; }
.svm-gift-text { flex: 1 1 auto; min-width: 0; }
.svm-gift-head, .svm-gift-line { display: block; }
.svm-gift-head { font-weight: 600; }
.svm-gift-thumb { flex: 0 0 auto; line-height: 0; }
.svm-gift-thumb img { width: 72px; height: 72px; object-fit: contain; border: 1px solid var(--cmf-ramecek); border-radius: .25rem; }
.svm-gift-overview-toggle { display: inline-block; margin: .25rem 0 0; padding: 0; border: 0; background: none; font: inherit; font-weight: 600; text-decoration: underline; cursor: pointer; color: inherit; }
.svm-gift-list { list-style: none; margin: 0; padding: 0; max-height: 360px; overflow-y: auto; border: 1px solid var(--cmf-ramecek); border-radius: .25rem; }
.svm-gift-list li { margin: 0; padding: 0; border-top: 1px solid var(--cmf-lehke); }
.svm-gift-loading, .svm-gift-empty { margin: 0; font-size: .85rem; color: var(--cmf-slaby); }
.svm-kod-code { padding: 0 .4rem; border: 1px dashed var(--cmf-akcent); border-radius: .3rem; letter-spacing: .04em; }
.svm-kod-copy { margin-left: .5rem; padding: .1rem .6rem; border: 1px solid var(--cmf-akcent); border-radius: 999px; background: var(--cmf-pozadi); color: var(--cmf-text); font-weight: 600; cursor: pointer; }

@media (max-width: 767.98px) {
  .cm-nahled-telo { padding: 1.25rem 1rem; }
  .cm-porovnani-lista { right: .75rem; bottom: .75rem; }
  .cm-porovnani-tabulka th, .cm-porovnani-tabulka td { min-width: 9.5rem; padding: .5rem .6rem; }
  .cm-porovnani-tabulka th.cm-porovnani-roh, .cm-porovnani-tabulka tbody th { width: 7.5rem; min-width: 7rem; }
}

/* --- panel filtrů produktů (etapa C2): ve středním sloupci nad výpisem, blok #cm-filtry-kolaps = Bootstrap collapse, od lg stále otevřený ---------- */
.tt-filters-panel.svm-ajax-loading, #productListing.svm-ajax-loading { opacity: .5; pointer-events: none; transition: opacity .15s linear; }
.cm-f-otevrit .cm-f-otevrit__skryt { display: none; }   /* text tlačítka podle stavu bloku (Bootstrap přepíná aria-expanded) */
.cm-f-otevrit[aria-expanded="true"] .cm-f-otevrit__zobrazit { display: none; }
.cm-f-otevrit[aria-expanded="true"] .cm-f-otevrit__skryt { display: inline; }
.cm-f-bloky { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 1rem; align-items: start; }
.cm-f-bloky > .cm-f-blok { margin: 0; min-width: 0; }
.cm-f-nadpis { text-transform: uppercase; letter-spacing: .04em; margin-bottom: .75rem; }
.cm-f-pozn { margin: -.25rem 0 .75rem; }
.cm-f-chipy { display: flex; flex-wrap: wrap; gap: .5rem; }
.cm-f-chipy--dalsi { margin-top: .5rem; }
.cm-f-chip.is-active { font-weight: 700; box-shadow: 0 0 0 .2rem rgba(0, 0, 0, .25); }   /* aktuální rozměr musí být rozeznatelný i bez barevného návrhu */
.cm-f-chip:not(.is-active) { font-weight: 400; }
.cm-f-chips { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.svm-chip { display: inline-flex; align-items: center; gap: .4rem; padding: .35rem .7rem; font-size: .8125rem; font-weight: 500; text-decoration: none; white-space: normal; }
.svm-chip:hover, .svm-chip:focus { text-decoration: none; }
.svm-chip-x { font-weight: 700; }
.cm-f-volby { display: flex; flex-direction: column; gap: .5rem; }
.cm-f-volba { display: flex; align-items: center; gap: .6rem; margin: 0; cursor: pointer; }
.cm-f-volba input { flex: 0 0 auto; margin: 0; width: 1.1rem; height: 1.1rem; }
.cm-f-volba .cm-f-text { flex: 1 1 auto; }
.cm-f-volba.is-disabled { opacity: .45; cursor: default; }
.cm-f-skupina { border-top: 1px solid var(--cmf-ramecek); }
.cm-f-skupina:first-of-type { border-top: 0; }
.cm-f-skupina summary, .cm-f-dalsi summary { list-style: none; display: flex; justify-content: space-between; align-items: center; padding: .6rem 0; cursor: pointer; font-weight: 600; }
.cm-f-dalsi summary { padding: .5rem 0 .25rem; font-size: .875rem; }
.cm-f-skupina summary::-webkit-details-marker, .cm-f-dalsi summary::-webkit-details-marker { display: none; }
.cm-f-plus::before { content: "+"; font-weight: 400; }
details[open] > summary > .cm-f-plus::before { content: "\2212"; }
.cm-f-skupina .cm-f-volby, .cm-f-skupina .cm-f-rozsah { padding: .15rem 0 .75rem; }
/* rozsah (noUiSlider): popisky mezí pod posuvníkem, polohu jim nastavuje jscript_svm_filtry.js */
.cm-f-rozsah .tt-filter-range-area { position: relative; padding: .4rem .6rem 1.9rem; }
.cm-f-rozsah .tt-filter-range-label { position: absolute; bottom: .1rem; left: 0; transform: translateX(-50%); font-size: .75rem; color: var(--cmf-slaby); white-space: nowrap; }   /* left nastavuje skript (střed popisku pod úchytem) */
.cm-f-rozsah .is-disabled-slider { opacity: .45; }
/* posuvnik rozsahu ve filtrech: barva obchodu (tlacitka) misto vychozi barvy noUiSlideru */
.cm-f-rozsah .noUi-connect { background: var(--cmf-akcent); }
@media (min-width: 992px) { .cm-f-otevrit { display: none; } }

/* --- detail produktu (etapa C3): dostupnost, tabulka vlastností, karta Vystaveno, závislé atributy -------------------------------------------- */
.svm-dostupnost, .cm-detail-dostupnost { margin: 0 0 1rem; }
.svm-dostupnost span { display: block; margin: 0 0 .25rem; }
.svm-dostupnost-sklad { font-weight: 600; }
.cm-detail-akce { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; }
.svm-filter-properties-table, .cm-dostupnost-tabulka { width: 100%; max-width: 680px; margin: 0 0 1.25rem; border: 1px solid var(--cmf-ramecek); border-collapse: collapse; font-size: .9rem; line-height: 1.4; }
.svm-filter-properties-table th, .cm-dostupnost-tabulka th { padding: .5rem .75rem; text-align: left; background: var(--cmf-lehke); font-weight: 700; }
.svm-filter-properties-table td, .cm-dostupnost-tabulka td { padding: .4rem .75rem; border-top: 1px solid var(--cmf-ramecek); vertical-align: top; }
.svm-filter-properties-table td:first-child { width: 42%; color: var(--cmf-slaby); }
.svm-filter-properties-table td:last-child { font-weight: 600; }
.cm-dostupnost-varianty__titul { margin: 0 0 .5rem; font-size: 1rem; font-weight: 700; }
.cm-dostupnost-tabulka .cm-dostupnost-rezervovano { font-size: .75rem; font-weight: 400; color: var(--cmf-slaby); white-space: nowrap; }
.cm-dostupnost-tabulka td.cm-dostupnost-skladem.is-skladem { font-weight: 700; }
.cm-nahled-vlastnosti, .cm-nahled-dostupnost { margin: 1rem 0 0; }
.cm-nahled-vlastnosti .svm-filter-properties-table, .cm-nahled-dostupnost .cm-dostupnost-tabulka { max-width: none; }
.cm-vystaveno { margin: 1rem 0 0; padding: .75rem 1rem; border: 1px solid var(--cmf-ramecek); border-radius: .5rem; background: var(--cmf-lehke); }
.cm-vystaveno__titul { display: flex; align-items: center; gap: .5rem; margin: 0 0 .5rem; font-size: 1rem; font-weight: 700; }
.cm-vystaveno__seznam { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.cm-vystaveno__seznam li { display: flex; flex-direction: column; padding: .4rem .75rem; background: var(--cmf-pozadi); border: 1px solid var(--cmf-ramecek); border-radius: .35rem; font-size: .875rem; }
.cm-vystaveno__pozn { margin: .6rem 0 0; font-size: .8rem; color: var(--cmf-slaby); }
#productAttributes .attribBlock .custom-control-label { cursor: pointer; }
#productPrices.svm-zav-loading, .cm-cena-sestavy.svm-zav-loading { opacity: .55; }   /* přepočet ceny sestavy (AJAX) - skript závislých atributů přidává třídu */
.productDescription img { max-width: 100%; height: auto; }   /* popis z centrály nesmí přetékat */
.rozmery-dropdown--detail .rozmery-dropdown__list { width: 100%; max-width: 100%; }   /* otevřený seznam rozměrů na detailu je široký jako sloupec a nepřetéká displej */
.rozmery-dropdown--detail .rozmery-dropdown__list li a { white-space: normal; }

/* --- košík, slevové kódy, dárky a pilulka košíku v hlavičce (etapa C4) ---------------------------------------------------------------------- */
/* množství v řádku košíku: pole s tlačítky - / + se vejde do buňky, pole z jádra (.form-control) nesmí roztáhnout na celou šířku */
#shoppingCartDefault .qtyCell .cm-mnozstvi { flex-wrap: nowrap; justify-content: center; }
#shoppingCartDefault .qtyCell .cm-mnozstvi-tl { width: 2rem; height: 2.25rem; }
#shoppingCartDefault .qtyCell .cm-mnozstvi input.cm-mnozstvi-pole { width: 2.75rem; min-width: 2.75rem; height: 2.25rem; padding: 0 .1rem; display: inline-block; }
#shoppingCartDefault .qtyCell .cm-mnozstvi-mj { margin-left: .4rem; }
#shoppingCartDefault .qtyCell { min-width: 9.5rem; }
#shoppingCartDefault .qtyCell .cm-mj-pevne { font-size: .85rem; color: var(--cmf-slaby); }
/* se skriptem (html.cm-kosik-ajax, jscript_cm_mnozstvi.js) se množství ukládá na pozadí - tlačítka „aktualizovat“ a zaškrtávátka mazání jsou zbytečná */
.cm-kosik-ajax #shoppingCartDefault .qtyUpdateCell, .cm-kosik-ajax #shoppingCartDefault #cartTableDisplay-qtyUpdateHeading,
.cm-kosik-ajax #shoppingCartDefault #cartUpdate, .cm-kosik-ajax #shoppingCartDefault .removeCell .form-check, .cm-kosik-ajax #shoppingCartDefault .qtyCell .form-check { display: none !important; }
#shoppingCartDefault.cm-kosik-nacitam .table-responsive, #shoppingCartDefault.cm-kosik-nacitam #shoppingCartDefault-cartTotalsDisplay { opacity: .55; transition: opacity .15s linear; }
/* tlačítka košíku plavou i uvnitř formuláře - blok kódu pod formulářem musí začínat pod nimi */
#shoppingCartDefault #shoppingCartForm { display: flow-root; }
/* dárkový řádek: popisek pod názvem (značku píše pozorovatel dárků s vloženým stylem, tady jen zalomení dlouhého textu) */
#shoppingCartDefault .darky-gift-label { white-space: normal; }
/* blok zadání slevového kódu v košíku (svm_kody_cart_block_html) */
#shoppingCartDefault .svm-kod-cart-block { clear: both; margin: 1.5rem 0 0; padding: 1rem 1.1rem; background: var(--cmf-pozadi); border: 1px solid var(--cmf-ramecek); border-radius: .5rem; }
#shoppingCartDefault .svm-kod-cart-label { margin: 0 0 .5rem; font-weight: 600; }
#shoppingCartDefault .svm-kod-form { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin: 0; }
#shoppingCartDefault .svm-kod-input { flex: 1 1 14rem; max-width: 24rem; min-height: 2.5rem; padding: .4rem .75rem; border: 1px solid var(--cmf-ramecek); border-radius: .35rem; background: var(--cmf-pozadi); color: var(--cmf-text); }
#shoppingCartDefault .svm-kod-submit-btn { min-height: 2.5rem; padding: .4rem 1.25rem; border: 1px solid var(--cmf-akcent); border-radius: .35rem; background: var(--cmf-akcent); color: var(--cmf-akcent-text); font-weight: 600; cursor: pointer; }
#shoppingCartDefault .svm-kod-submit-btn:hover { background: var(--cmf-akcent-hover); border-color: var(--cmf-akcent-hover); }
#shoppingCartDefault .svm-kod-cart-list { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 .75rem; padding: 0; list-style: none; }
#shoppingCartDefault .svm-kod-cart-item { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .5rem; padding: .3rem .75rem; background: var(--cmf-lehke); border: 1px solid var(--cmf-ramecek); border-radius: 999px; }
#shoppingCartDefault .svm-kod-cart-item-idle { opacity: .8; }
#shoppingCartDefault .svm-kod-cart-code { font-weight: 700; letter-spacing: .04em; }
#shoppingCartDefault .svm-kod-cart-pct, #shoppingCartDefault .svm-kod-cart-saving strong { font-weight: 600; }
#shoppingCartDefault .svm-kod-cart-state { color: var(--cmf-slaby); font-size: .85rem; }
#shoppingCartDefault .svm-kod-remove-form { display: inline; margin: 0; }
#shoppingCartDefault .svm-kod-remove-btn { padding: 0 .35rem; border: 0; background: none; color: var(--cmf-slaby); font-size: 1.2rem; line-height: 1; cursor: pointer; }
#shoppingCartDefault .svm-kod-remove-btn:hover { color: var(--cmf-akce); }
#shoppingCartDefault .svm-kod-cart-saving { margin: .75rem 0 0; }
/* pilulka košíku v hlavičce (částka + počet položek; AJAX ji po změně košíku vymění) */
.cm-kosik { position: relative; display: inline-flex; align-items: center; gap: .4rem; white-space: nowrap; }
.cm-kosik-pocet { min-width: 1.25rem; height: 1.25rem; padding: 0 .35rem; border-radius: 999px; background: var(--cmf-akce); color: #fff; font-size: .7rem; font-weight: 700; line-height: 1.25rem; text-align: center; box-sizing: border-box; }

/* --- lišta souhlasu s cookies (jscript_cm_cookies.js + nastavení jscript_cm_cookies.php; vzhled podle centrum-matraci.cz, 15. 10. 2026) --------- */
.cm-cookies { position: fixed; left: 20px; bottom: 20px; z-index: 2147483000; width: min(760px, calc(100vw - 40px)); max-height: calc(100vh - 40px); overflow-y: auto; box-sizing: border-box; background: var(--cmf-pozadi); color: var(--cmf-text); border: 1px solid var(--cmf-ramecek); border-radius: 14px; box-shadow: 0 12px 36px rgba(0, 0, 0, .22); font-size: 15px; line-height: 1.5; }
.cm-cookies--jen-nezbytne { width: min(560px, calc(100vw - 40px)); }
.cm-cookies [hidden] { display: none !important; }
.cm-cookies__telo { padding: 20px 22px 18px; }
.cm-cookies__titul { margin: 0 0 8px; font-size: 18px; font-weight: 700; line-height: 1.3; color: var(--cmf-text); }
.cm-cookies__text { margin: 0 0 14px; color: var(--cmf-text); }
.cm-cookies__text a { color: var(--cmf-akcent); font-weight: 600; text-decoration: underline; }
.cm-cookies__volby { margin: 0 0 16px; display: grid; gap: 8px; }
.cm-cookies__volba { display: flex; align-items: flex-start; gap: 12px; margin: 0; padding: 10px 12px; border: 1px solid var(--cmf-ramecek); border-radius: 10px; cursor: pointer; }
.cm-cookies__volba:has(input:checked) { border-color: var(--cmf-akcent); background: var(--cmf-lehke); }
.cm-cookies__volba input { flex: 0 0 auto; width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--cmf-akcent); }
.cm-cookies__volba-text { display: flex; flex-direction: column; gap: 2px; }
.cm-cookies__volba-text strong { font-size: 15px; }
.cm-cookies__volba-text small { font-size: 13px; color: var(--cmf-slaby); }
.cm-cookies__akce { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; }
.cm-cookies__tl { min-height: 44px; padding: 10px 22px; border: 2px solid var(--cmf-akcent); border-radius: 999px; background: var(--cmf-pozadi); color: var(--cmf-akcent); font: inherit; font-size: 15px; font-weight: 700; line-height: 1.2; cursor: pointer; }
.cm-cookies__tl:hover, .cm-cookies__tl:focus-visible { background: var(--cmf-lehke); }
.cm-cookies__tl--prijmout { background: var(--cmf-akcent); color: var(--cmf-akcent-text); }
.cm-cookies__tl--prijmout:hover, .cm-cookies__tl--prijmout:focus-visible { background: var(--cmf-akcent-hover); border-color: var(--cmf-akcent-hover); color: var(--cmf-akcent-text); }
.cm-cookies__tl--nastaveni { border-color: transparent; background: transparent; padding-left: 8px; padding-right: 8px; color: var(--cmf-slaby); text-decoration: underline; font-weight: 600; }
.cm-cookies__tl--nastaveni:hover, .cm-cookies__tl--nastaveni:focus-visible { background: transparent; color: var(--cmf-text); }
/* mobil: menší písmo, dvě hlavní tlačítka vedle sebe, Nastavení pod nimi (lišta nesmí zabírat půl obrazovky) */
@media (max-width: 640px) {
  .cm-cookies { left: 10px; right: 10px; bottom: 10px; width: auto; max-height: calc(100vh - 20px); font-size: 14px; }
  .cm-cookies__telo { padding: 14px 14px 12px; }
  .cm-cookies__titul { margin-bottom: 6px; font-size: 16px; }
  .cm-cookies__text { margin-bottom: 12px; line-height: 1.45; }
  .cm-cookies__akce { flex-direction: row; flex-wrap: wrap; align-items: stretch; gap: 8px; }
  .cm-cookies__tl { width: auto; flex: 1 1 calc(50% - 4px); min-height: 44px; padding: 8px 10px; font-size: 14px; }
  .cm-cookies__tl--nastaveni { flex: 1 1 100%; min-height: 36px; padding: 4px 8px; }
}
.cm-cookies-otevrit { cursor: pointer; }
/* malá bublina chatu na mobilu: chat se načte a otevře až po klepnutí */
.cm-chat-launcher { position: fixed; right: 14px; bottom: 14px; z-index: 9990; width: 48px; height: 48px; padding: 0; border: 0; border-radius: 50%; background: var(--cmf-akcent); color: var(--cmf-akcent-text); box-shadow: 0 4px 14px rgba(0, 0, 0, .28); display: flex; align-items: center; justify-content: center; cursor: pointer; }
.cm-chat-launcher svg { width: 24px; height: 24px; }
.cm-chat-souhlas { position: fixed; right: 14px; bottom: 72px; z-index: 9991; width: min(300px, calc(100vw - 28px)); box-sizing: border-box; padding: .9rem; background: var(--cmf-pozadi); color: var(--cmf-text); border: 1px solid var(--cmf-ramecek); border-radius: .75rem; box-shadow: 0 8px 26px rgba(0, 0, 0, .24); font-size: .875rem; line-height: 1.45; }
.cm-chat-souhlas p { margin: 0 0 .75rem; }
.cm-chat-souhlas__akce { display: flex; gap: .5rem; }
.cm-chat-souhlas__tl { flex: 1 1 auto; min-height: 2.6rem; padding: .5rem .75rem; border: 2px solid var(--cmf-akcent); border-radius: 999px; background: var(--cmf-pozadi); color: var(--cmf-akcent); font: inherit; font-weight: 700; cursor: pointer; }
.cm-chat-souhlas__tl--ano { background: var(--cmf-akcent); color: var(--cmf-akcent-text); }
/* lišta Porovnat vybrané stojí na mobilu ve stejném rohu: nad bublinou */
html.cm-ma-chat-bublinu .cm-porovnani-lista { bottom: 76px; }

/* --- úvodní stránka a patička (etapa C5) --------------------------------------------------------------------------------------------------- */
.cm-dlazdice-uvod .cm-dlazdice-obrazek { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.cm-dlazdice-uvod:hover { box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .12); }
#cmPaticka .cm-paticka-kontakt a { white-space: nowrap; }


/* ==== stylesheet_zca_colors.css ==== */
body {
    color: var(--zca_body_text_color);
    background-color: var(--zca_body_background_color);
}
a {
    color: var(--zca_button_link_color);
}
a:hover {
    color: var(--zca_button_link_color_hover);
}
.form-control::placeholder,
.required-info,
span.alert {
    color: var(--zca_body_placeholder);
}
.alert-info {
    color: var(--zca_alert_info_color);
    background-color: var(--zca_alert_info_background_color);
    border-color: var(--zca_alert_info_border_color);
}
.rating {
    background-color: var(--zca_body_rating_star_background_color);
    color: var(--zca_body_rating_star_color);
}
.btn {
    color: var(--zca_button_text_color);
    background-color: var(--zca_button_background_color);
    border-color: var(--zca_button_border_color);
}
.btn:hover {
    color: var(--zca_button_text_color_hover);
    background-color: var(--zca_button_background_color_hover);
    border-color: var(--zca_button_border_color_hover);
}

#headerWrapper {
    background-color: var(--zca_header_wrapper_background_color);
}
#tagline {
    color: var(--zca_header_tagline_text_color);
}

nav.navbar {
    background-color: var(--zca_header_nav_bar_background_color);
}
nav.navbar a.nav-link {
    color: var(--zca_header_navbar_link_color);
}
nav.navbar a.nav-link:hover {
    color: var(--zca_header_navbar_link_color_hover);
    background-color: var(--zca_header_navbar_link_background_color_hover);
}
nav.navbar .navbar-toggler {
    color: var(--zca_header_navbar_toggler_color);
    background-color: var(--zca_header_navbar_toggler_background_color);
    border-color: var(--zca_header_navbar_toggler_border_color);
}
nav.navbar .navbar-toggler:hover {
    color: var(--zca_header_navbar_toggler_color_hover);
    background-color: var(--zca_header_navbar_toggler_background_color_hover);
    border-color: var(--zca_header_navbar_toggler_border_color_hover);
}
nav.navbar .btn {
    color: var(--zca_header_navbar_extra_button_text_color);
    background-color: var(--zca_header_navbar_extra_button_background_color);
    border-color: var(--zca_header_navbar_extra_button_border_color);
}
nav.navbar .btn:hover {
    color: var(--zca_header_navbar_extra_button_text_color_hover);
    background-color: var(--zca_header_navbar_extra_button_background_color_hover);
    border-color: var(--zca_header_navbar_extra_button_border_color_hover);
}

#ezpagesBarHeader {
    background-color: var(--zca_header_ezpage_background_color);
}
#ezpagesBarHeader a.nav-link {
    color: var(--zca_header_ezpage_link_color);
}
#ezpagesBarHeader a.nav-link:hover {
    color: var(--zca_header_ezpage_link_color_hover);
    background-color: var(--zca_header_ezpage_background_color_hover);
}

#navCatTabs a {
    color: var(--zca_header_tabs_text_color);
    background-color: var(--zca_header_tabs_background_color);
    border-color: var(--zca_header_tabs_border_color);
}
#navCatTabs a.activeLink {
    background-color: var(--zca_header_tabs_active_background_color);
    color: var(--zca_header_tabs_active_color);
    border-color: var(--zca_header_tabs_active_border_color);
}
#navCatTabs a:hover {
    color: var(--zca_header_tabs_text_color_hover);
    background-color: var(--zca_header_tabs_background_color_hover);
    border-color: var(--zca_header_tabs_border_color_hover);
}
#navCatTabs a.activeLink:hover {
    background-color: var(--zca_header_tabs_active_background_color_hover);
    color: var(--zca_header_tabs_active_color_hover);
    border-color: var(--zca_header_tabs_active_border_color_hover);
}

#navBreadCrumb ol {
    background-color: var(--zca_body_breadcrumbs_background_color);
}
#navBreadCrumb li {
    color: var(--zca_body_breadcrumbs_text_color);
}
#navBreadCrumb li a {
    color: var(--zca_body_breadcrumbs_link_color);
}
#navBreadCrumb li a:hover {
    color: var(--zca_body_breadcrumbs_link_color_hover);
}

#footerWrapper {
    color: var(--zca_footer_wrapper_text_color);
    background-color: var(--zca_footer_wrapper_background_color);
}
.legalCopyright,
.legalCopyright a {
    color: var(--zca_footer_wrapper_text_color);
}
#ezpagesBarFooter {
    background-color: var(--zca_footer_ezpage_background_color);
}
#ezpagesBarFooter a.nav-link {
    color: var(--zca_footer_ezpage_link_color);
}
#ezpagesBarFooter a.nav-link:hover {
    color: var(--zca_footer_ezpage_link_color_hover);
    background-color: var(--zca_footer_ezpage_background_color_hover);
}

.leftBoxCard,
.rightBoxCard {
    color: var(--zca_sidebox_text_color);
    background-color: var(--zca_sidebox_background_color);
}
.leftBoxHeading,
.rightBoxHeading {
    color: var(--zca_sidebox_header_text_color);
    background-color: var(--zca_sidebox_header_background_color);
}
.leftBoxHeading a,
.rightBoxHeading a {
    color: var(--zca_sidebox_header_link_color);
}
.leftBoxHeading a:hover,
.rightBoxHeading a:hover {
    color: var(--zca_sidebox_header_link_color_hover);
}
#categoriesContent .badge,
#documentcategoriesContent .badge {
    color: var(--zca_sidebox_counts_color);
    background-color: var(--zca_sidebox_counts_background_color);
}
.leftBoxCard .list-group-item,
.rightBoxCard .list-group-item {
    color: var(--zca_sidebox_link_color);
    background-color: var(--zca_sidebox_link_background_color);
}
.leftBoxCard .list-group-item:hover,
.rightBoxCard .list-group-item:hover {
    color: var(--zca_sidebox_link_color_hover);
    background-color: var(--zca_sidebox_link_background_color_hover);
}

.centerBoxWrapper {
    color: var(--zca_centerbox_text_color);
    background-color: var(--zca_centerbox_background_color);
}
.centerBoxHeading {
    color: var(--zca_centerbox_header_text_color);
    background-color: var(--zca_centerbox_header_background_color);
}

#subCategory-card-body {
    color: var(--zca_centerbox_text_color);
    background-color: var(--zca_centerbox_background_color);
}
.categoryListBoxContents.card {
    background-color: var(--zca_centerbox_card_background_color);
}
.categoryListBoxContents.card:hover {
    background-color: var(--zca_centerbox_card_background_color_hover);
}

a.page-link {
    color: var(--zca_button_pageination_text_color);
    background-color: var(--zca_button_pageination_color);
    border-color: var(--zca_button_pageination_border_color);
}
a.page-link:hover {
    color: var(--zca_button_pageination_text_color_hover);
    background-color: var(--zca_button_pageination_color_hover);
    border-color: var(--zca_button_pageination_border_color_hover);
}
.page-item.active span.page-link {
    color: var(--zca_button_pageination_active_text_color);
    background-color: var(--zca_button_pageination_active_color);
}

.sideBoxContentItem {
    background-color: var(--zca_sidebox_card_background_color);
}
.sideBoxContentItem:hover {
    background-color: var(--zca_sidebox_card_background_color_hover);
}
.centerBoxContents.card {
    background-color: var(--zca_centerbox_card_background_color);
}
.centerBoxContents.card:hover {
    background-color: var(--zca_centerbox_card_background_color_hover);
}
.centerBoxContentsListing.card:hover {
    background-color: var(--zca_centerbox_card_background_color_hover);
}

.productReviewCard:hover {
    background-color: var(--zca_centerbox_card_background_color_hover);
}

.productBasePrice {
    color: var(--zca_body_products_base_color);
}
.normalprice {
    color: var(--zca_body_products_normal_color);
}
.productSpecialPrice {
    color: var(--zca_body_products_special_color);
}
.productPriceDiscount {
    color: var(--zca_body_products_discount_color);
}
.productSalePrice {
    color: var(--zca_body_products_sale_color);
}
.productFreePrice {
    color: var(--zca_body_products_free_color);
}

#addToCart-card-header {
    color: var(--zca_add_to_cart_text_color);
    background-color: var(--zca_add_to_cart_background_color);
}
#addToCart-card {
    border-color: var(--zca_add_to_cart_border_color);
}

.btn.button_add_selected {
    background: var(--zca_button_add_selected_background_color);
    color: var(--zca_button_add_selected_text_color);
}
.btn.button_add_selected:hover {
    background: var(--zca_button_add_selected_background_color_hover);
    color:var(--zca_button_add_selected_text_color_hover);
}
.btn.button_in_cart {
    background: var(--zca_button_in_cart_background_color);
    color: var(--zca_button_in_cart_text_color);
}
.fa-cart-plus {
    color: var(--zca_button_in_cart_background_color);
}
.btn.button_in_cart:hover {
    background: var(--zca_button_in_cart_background_color_hover);
    color: var(--zca_button_in_cart_text_color_hover);
}
a:hover > .fa-cart-plus {
    color: var(--zca_button_in_cart_background_color_hover);
}

button.button_continue_checkout,
a.button_checkout {
    background-color: var(--zca_checkout_continue_background_color);
    color: var(--zca_checkout_continue_color);
    border-color: var(--zca_checkout_continue_border_color);
}
button.button_continue_checkout:hover,
a.button_checkout:hover {
    background-color: var(--zca_checkout_continue_background_color_hover);
    color: var(--zca_checkout_continue_color_hover);
    border-color: var(--zca_checkout_continue_border_color_hover);
}
button.button_confirm_order {
    background-color: var(--zca_checkout_confirm_background_color);
    color: var(--zca_checkout_confirm_color);
    border-color: var(--zca_checkout_confirm_border_color);
}
button.button_confirm_order:hover {
    background-color: var(--zca_checkout_confirm_background_color_hover);
    color: var(--zca_checkout_confirm_color_hover);
    border-color: var(--zca_checkout_confirm_border_color_hover);
}
#checkoutShippingDefault .progress-bar,
#checkoutPayment .progress-bar,
#checkoutConfirmationDefault .progress-bar,
#checkoutSuccessDefault .progress-bar {
    background-color: var(--zca_checkout_progress_bar_background_color)!important;
}

button.button_sold_out_sm, button.button_sold_out_sm:hover, button.button_sold_out, button.button_sold_out:hover {
    background-color: var(--zca_sold_out_background_color);
    color: var(--zca_sold_out_color);
    border-color: var(--zca_sold_out_border_color);
}

a.carousel-control-prev,
a.carousel-control-next {
    color: var(--zca_carousel_prev_next_color);
}
a.carousel-control-prev:hover,
a.carousel-control-next:hover {
    color: var(--zca_carousel_prev_next_color_hover);
}
.banner-carousel .carousel-indicators li {
    background-color: var(--zca_carousel_banner_indicators_background_color);
}

.defaultAddress address {
    background-color: var(--zca_primary_address_address_background_color);
    color: var(--zca_primary_address_address_color);
}
.card.primary-address {
    border-color: var(--zca_primary_address_card_border_color);
}
.card.primary-address > .card-header{
    background-color: var(--zca_primary_address_card_header_background_color);
    color: var(--zca_primary_address_card_header_color);
}

/* ==== stylesheet_zz_bs_vzhled.css ==== */
/* stylesheet_zz_bs_vzhled.css - obchodní rozložení hlavičky a bloků úvodní stránky bs222 (design obchodu, etapa 70).
   Struktura a tvary jsou společné pro všechny obchody; barvy, písma a zaoblení berou z proměnných --obchod-* (generuje stylesheet_zz_obchod.css
   z obchod.json). Ruční doladění jednoho obchodu patří do vzhled/obchod.css (načítá se až za tímto souborem). */

:root {
  --bs-obsah-max: 1400px;
  --bs-okraj: 1rem;
  --bs-zelena-svetla: color-mix(in srgb, var(--obchod-primarni, #4f7b16) 12%, #fff);
}

/* ---------------------------------------------------------------- šířka obsahu
   Hlavička, tělo i patička mají stejnou nejvyšší šířku (--bs-obsah-max) a stojí na středu okna; pozadí pruhů hlavičky (horní lišta, navigace) zůstává přes celou šířku.
   Šířku jednoho obchodu lze změnit ve vzhled/obchod.css: :root { --bs-obsah-max: 1280px; } */
#header-wrapper { padding-left: 0; padding-right: 0; }
#header-wrapper > .row { margin-left: 0; margin-right: 0; }
#header-wrapper > .row > .col { padding-left: 0; padding-right: 0; }
#mainWrapper, #footer-wrapper { box-sizing: border-box; max-width: var(--bs-obsah-max); margin-left: auto; margin-right: auto; padding-left: var(--bs-okraj); padding-right: var(--bs-okraj); }

/* ---------------------------------------------------------------- hlavička */
#headerWrapper.bs-hlavicka { margin: 0; background: var(--obchod-pozadi, #fff); }
.bs-hlavicka-lista-vnitrek,
.bs-hlavicka-hlavni-vnitrek,
#navMain .bs-nav { max-width: var(--bs-obsah-max); margin-left: auto; margin-right: auto; padding-left: var(--bs-okraj); padding-right: var(--bs-okraj); }

.bs-hlavicka-lista { background: var(--cmf-lehke, #f0f1f1); border-bottom: 1px solid var(--cmf-ramecek, #dcdfe0); font-size: .8125rem; color: var(--cmf-slaby, #5b6366); }
.bs-hlavicka-lista-vnitrek { display: flex; justify-content: space-between; align-items: center; min-height: 2rem; }
.bs-hlavicka-lista a, .bs-hlavicka-lista a:visited { color: var(--obchod-text, #26343a); text-decoration: none; }
.bs-hlavicka-lista a:hover { color: var(--obchod-primarni, #4f7b16); text-decoration: underline; }
.bs-hlavicka-lista-odkazy .list-inline-item:not(:last-child) { margin-right: 1.25rem; }
.bs-hlavicka-lista .cm-topbar-porovnani { display: inline-flex; align-items: center; gap: .35rem; }

.bs-hlavicka-hlavni { background: var(--obchod-hlavicka, var(--obchod-pozadi, #fff)); }
.bs-hlavicka-hlavni-vnitrek { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 2rem; padding-top: 1rem; padding-bottom: 1rem; }
.bs-hlavicka-logo { flex: 0 0 auto; }
.bs-hlavicka-logo img { max-width: 100%; height: auto; display: block; }
.bs-hlavicka-hledani { flex: 1 1 18rem; min-width: 0; }
.bs-hlavicka-hledani form { margin: 0; }
.bs-hlavicka-hledani .input-group { flex-wrap: nowrap; width: 100%; max-width: 38rem; }
.bs-hlavicka-hledani input[name="keyword"] { height: 3rem; border-color: var(--cmf-ramecek, #cfd2d4); border-radius: var(--obchod-zaobleni-tlacitek, .25rem) 0 0 var(--obchod-zaobleni-tlacitek, .25rem); padding: 0 1rem; }
.bs-hlavicka-hledani .input-group-append .btn,
.bs-hlavicka-hledani .input-group-append input[type="submit"],
.bs-hlavicka-hledani .input-group-append button { height: 3rem; min-width: 3.25rem; border: 0; border-radius: 0 var(--obchod-zaobleni-tlacitek, .25rem) var(--obchod-zaobleni-tlacitek, .25rem) 0;
  background: var(--obchod-sekundarni, #0d3b4f); color: #fff; padding: 0 1.1rem; }
.bs-hlavicka-hledani .input-group-append .btn:hover,
.bs-hlavicka-hledani .input-group-append button:hover { background: var(--obchod-primarni, #4f7b16); color: #fff; }

/* tlačítko hledání: lupa místo textu (popisek zůstává pro čtečky v atributech tlačítka) */
.bs-hlavicka-hledani .input-group-append button { font-size: 0; line-height: 1; }
.bs-hlavicka-hledani .input-group-append button::before { content: "\f002"; font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 1.1rem; }

.bs-hlavicka-telefon { flex: 0 0 auto; align-items: center; gap: .75rem; line-height: 1.25; }
.bs-hlavicka-telefon-ikona { font-size: 1.75rem; color: var(--obchod-primarni, #4f7b16); }
.bs-hlavicka-telefon-nadpis { font-size: .6875rem; font-weight: 700; text-transform: uppercase; letter-spacing: .02em; color: var(--obchod-sekundarni, #0d3b4f); max-width: 13rem; }
.bs-hlavicka-telefon-cislo, .bs-hlavicka-telefon-cislo:visited { display: block; font-size: 1.5rem; font-weight: 800; color: var(--obchod-primarni, #4f7b16); text-decoration: none; letter-spacing: .01em; }
a.bs-hlavicka-telefon-cislo:hover { text-decoration: underline; }
.bs-hlavicka-telefon-hodiny { font-size: .8125rem; color: var(--cmf-slaby, #5b6366); }

.bs-hlavicka-kosik { flex: 0 0 auto; margin-left: auto; }
.bs-hlavicka-kosik .cm-kosik { position: relative; display: inline-flex; align-items: center; gap: .6rem; padding: .7rem 1.25rem; border: 1px solid var(--cmf-ramecek, #dcdfe0); border-radius: var(--obchod-zaobleni, .5rem);
  background: #fff; color: var(--obchod-text, #26343a); font-weight: 700; text-decoration: none; box-shadow: 0 1px 3px rgba(13, 59, 79, .08); }
.bs-hlavicka-kosik .cm-kosik:hover { border-color: var(--obchod-primarni, #4f7b16); color: var(--obchod-text, #26343a); text-decoration: none; }
.bs-hlavicka-kosik .cm-kosik i { color: var(--obchod-primarni, #4f7b16); font-size: 1.35rem; }
.bs-hlavicka-kosik .cm-kosik-pocet { position: absolute; top: -.55rem; right: -.55rem; min-width: 1.5rem; height: 1.5rem; padding: 0 .3rem; border-radius: 999px; background: var(--obchod-primarni, #4f7b16); color: #fff; font-size: .75rem; line-height: 1.5rem; text-align: center; }

/* ---------------------------------------------------------------- navigační lišta */
#navMainWrapper.bs-nav-obal { background: var(--obchod-navigace, #fff); border-top: 1px solid var(--cmf-ramecek, #dcdfe0); border-bottom: 1px solid var(--cmf-ramecek, #dcdfe0); box-shadow: 0 2px 4px rgba(13, 59, 79, .05); }
#navMain .bs-nav { position: static; padding-top: 0; padding-bottom: 0; background: transparent; }
#navMain .bs-nav-seznam { width: 100%; align-items: stretch; }
#navMain .bs-nav .nav-link { font-weight: 600; color: var(--obchod-text, #26343a); text-decoration: none; }
#navMain .bs-nav .nav-link:hover { background: transparent; color: var(--obchod-primarni, #4f7b16); }

@media (min-width: 992px) {
  #navMain .bs-nav-seznam { flex-direction: row; flex-wrap: wrap; }
  #navMain .bs-nav .nav-link { text-transform: uppercase; font-size: .8125rem; letter-spacing: .01em; padding: 1rem .75rem; border-bottom: 3px solid transparent; }
  #navMain .bs-nav .nav-item.active > .nav-link,
  #navMain .bs-nav .nav-link:hover { border-bottom-color: var(--obchod-primarni, #4f7b16); color: var(--obchod-primarni, #4f7b16); }
  .bs-vsechny-kategorie { margin-right: .5rem; position: static; }
  .bs-vsechny-kategorie-tlacitko, .bs-vsechny-kategorie-tlacitko:visited { display: flex; align-items: center; gap: .6rem; height: 100%; min-height: 3.25rem; padding: 0 1.4rem; background: var(--obchod-primarni, #4f7b16); color: #fff;
    font-size: .875rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; text-decoration: none; border-radius: 0; }
  .bs-vsechny-kategorie-tlacitko:hover, .bs-vsechny-kategorie.show > .bs-vsechny-kategorie-tlacitko { background: var(--obchod-sekundarni, #0d3b4f); color: #fff; text-decoration: none; }
  .bs-vsechny-kategorie-tlacitko::after { margin-left: .35rem; }
  .bs-mega.dropdown-menu { left: 0; right: 0; margin-top: 0; padding: 1.5rem 1.75rem; border: 1px solid var(--cmf-ramecek, #dcdfe0); border-top: 3px solid var(--obchod-primarni, #4f7b16); border-radius: 0 0 var(--obchod-zaobleni, .5rem) var(--obchod-zaobleni, .5rem);
    box-shadow: 0 12px 28px rgba(13, 59, 79, .15); max-width: var(--bs-obsah-max); }
  #navMain .bs-nav { position: relative; }
  .bs-mega-sloupce { display: grid; grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); gap: 1.25rem 2rem; }
  .bs-mega-nadpis, .bs-mega-nadpis:visited { display: block; margin-bottom: .4rem; font-weight: 700; color: var(--obchod-sekundarni, #0d3b4f); text-decoration: none; }
  .bs-mega-nadpis:hover { color: var(--obchod-primarni, #4f7b16); }
  .bs-mega-sloupec li a { display: block; padding: .15rem 0; font-size: .875rem; color: var(--obchod-text, #26343a); text-decoration: none; }
  .bs-mega-sloupec li a:hover { color: var(--obchod-primarni, #4f7b16); text-decoration: underline; }
  .bs-mega-vice { font-weight: 600; color: var(--obchod-primarni, #4f7b16) !important; }
  /* kategorie bez podkategorií: kompaktní řádek odkazů pod sloupci (žádný prázdný blok) */
  .bs-mega-bez { display: flex; flex-wrap: wrap; gap: .4rem 2rem; margin-top: 1.1rem; padding-top: .9rem; border-top: 1px solid var(--cmf-ramecek, #dcdfe0); }
  .bs-mega-bez--sam { margin-top: 0; padding-top: 0; border-top: 0; }
  .bs-mega-bez .bs-mega-nadpis { display: inline-block; margin-bottom: 0; }
}

@media (min-width: 992px) and (max-width: 1399.98px) {
  #navMain .bs-nav .nav-link { padding-left: .55rem; padding-right: .55rem; font-size: .75rem; }
  .bs-vsechny-kategorie-tlacitko { padding: 0 1rem; font-size: .8125rem; }
}

@media (max-width: 991.98px) {
  .bs-hlavicka-hlavni-vnitrek { gap: .6rem 1rem; padding-top: .75rem; padding-bottom: .75rem; }
  .bs-hlavicka-logo { flex: 1 1 8rem; min-width: 0; }
  .bs-hlavicka-logo img { max-height: 3.25rem; max-width: 100%; width: auto; }
  .bs-hlavicka-hledani { flex: 1 1 100%; order: 3; }
  .bs-hlavicka-hledani .input-group { max-width: none; }
  .bs-hlavicka-kosik { order: 2; }
  .bs-hlavicka-kosik .cm-kosik { padding: .55rem .85rem; }
  #navMainWrapper.bs-nav-obal { background: var(--obchod-sekundarni, #0d3b4f); border: 0; }
  #navMain .bs-nav { padding-top: .35rem; padding-bottom: .35rem; }
  #navMain .bs-nav-menu-tlacitko { display: inline-flex; align-items: center; gap: .5rem; border: 0; color: #fff; background: transparent; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; padding: .5rem .25rem; }
  #navMain .bs-nav-menu-tlacitko:hover, #navMain .bs-nav-menu-tlacitko:focus { background: transparent; color: #fff; }
  #navMain .navbar-collapse { background: #fff; margin: .35rem calc(var(--bs-okraj) * -1) -.35rem; padding: .25rem var(--bs-okraj) .75rem; }
  #navMain .bs-nav .nav-link { padding: .65rem .25rem; border-bottom: 1px solid var(--cmf-lehke, #f0f1f1); }
}

/* ---------------------------------------------------------------- úvodní stránka: bloky (uvod.bloky v obchod.json) */
.bs-hero { margin: 1rem 0 0; border-radius: var(--obchod-zaobleni, .5rem); overflow: hidden;
  background-color: #f1f5e8; background-image: linear-gradient(105deg, color-mix(in srgb, var(--obchod-primarni, #4f7b16) 14%, #fff) 0%, #f7f9f3 55%, #fff 100%); background-size: cover; background-position: center right; background-repeat: no-repeat; }
.bs-hero-vnitrek { display: flex; align-items: center; min-height: 24rem; padding: 3rem 2.5rem 5.5rem; }
.bs-hero-text { max-width: 34rem; }
.bs-hero-nadpis { margin: 0 0 1rem; font-size: clamp(2rem, 4.6vw, 3.6rem); font-weight: 800; line-height: 1.08; color: var(--obchod-sekundarni, #0d3b4f); }
.bs-hero-nadpis span { display: block; margin-top: .15rem; font-size: .82em; color: var(--obchod-primarni, #4f7b16); }
.bs-hero-popis { max-width: 27rem; margin: 0 0 1.5rem; font-size: 1.0625rem; color: var(--obchod-text, #26343a); }
.bs-hero-tlacitko, .bs-hero-tlacitko:visited { display: inline-block; padding: .85rem 1.9rem; border: 0; border-radius: var(--obchod-zaobleni-tlacitek, .25rem); background: var(--obchod-primarni, #4f7b16); color: #fff;
  font-weight: 700; text-transform: uppercase; letter-spacing: .03em; text-decoration: none; }
.bs-hero-tlacitko:hover { background: var(--obchod-sekundarni, #0d3b4f); color: #fff; text-decoration: none; }

.bs-pruh { margin: 0 0 2rem; }
.bs-pruh-seznam { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 0; }
.bs-pruh-polozka { display: flex; align-items: center; gap: .9rem; padding: 1.25rem 1.5rem; }
.bs-pruh-polozka + .bs-pruh-polozka { border-left: 1px solid var(--cmf-ramecek, #dcdfe0); }
.bs-pruh-ikona { flex: 0 0 auto; font-size: 2rem; line-height: 1; color: var(--obchod-primarni, #4f7b16); }
.bs-pruh-obsah { display: flex; flex-direction: column; min-width: 0; line-height: 1.3; }
.bs-pruh-nadpis { font-size: .8125rem; font-weight: 800; text-transform: uppercase; letter-spacing: .02em; color: var(--obchod-sekundarni, #0d3b4f); }
.bs-pruh-text { font-size: .8125rem; color: var(--cmf-slaby, #5b6366); }
.bs-pruh-odkaz, .bs-pruh-odkaz:visited { margin-top: .35rem; font-size: .75rem; font-weight: 700; text-transform: uppercase; color: var(--obchod-primarni, #4f7b16); text-decoration: none; }
.bs-pruh-odkaz:hover { text-decoration: underline; }

.bs-pruh--karta { position: relative; margin: -3.25rem 1.5rem 2.25rem; background: #fff; border: 1px solid var(--cmf-ramecek, #dcdfe0); border-radius: var(--obchod-zaobleni, .5rem); box-shadow: 0 6px 20px rgba(13, 59, 79, .1); }
.bs-pruh--plocha { background: var(--obchod-patice, var(--cmf-lehke, #f1f3ec)); border: 1px solid var(--cmf-ramecek, #dcdfe0); border-radius: var(--obchod-zaobleni, .5rem); }
.bs-pruh--info { background: #fff; border: 1px solid var(--cmf-ramecek, #dcdfe0); border-radius: var(--obchod-zaobleni, .5rem); box-shadow: 0 2px 8px rgba(13, 59, 79, .06); }
.bs-pruh--info .bs-pruh-ikona { color: var(--obchod-sekundarni, #0d3b4f); }
.bs-pruh--info .bs-pruh-nadpis { font-size: .9375rem; text-transform: none; }

.bs-produkty { margin: 0 0 2rem; }
.bs-blok-hlava { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem 1rem; margin-bottom: 1rem; }
.bs-blok-nadpis { margin: 0; font-size: 1.75rem; font-weight: 800; color: var(--obchod-sekundarni, #0d3b4f); }
.bs-blok-vice, .bs-blok-vice:visited { font-weight: 600; color: var(--obchod-odkaz, #497214); text-decoration: none; }
.bs-blok-vice:hover { text-decoration: underline; }

.bs-zalozky { flex-wrap: wrap; margin: 0 0 1.25rem; }
.bs-zalozky .nav-link { margin: 0 .4rem .4rem 0; padding: .45rem 1.1rem; border: 1px solid var(--cmf-ramecek, #dcdfe0); border-radius: var(--obchod-zaobleni-tlacitek, .25rem); background: #fff; color: var(--obchod-text, #26343a); font-size: .875rem; text-decoration: none; }
.bs-zalozky .nav-link:hover { border-color: var(--obchod-primarni, #4f7b16); color: var(--obchod-primarni, #4f7b16); }
.bs-zalozky .nav-link.active { background: var(--obchod-primarni, #4f7b16); border-color: var(--obchod-primarni, #4f7b16); color: #fff; font-weight: 700; }

.bs-produkty-mrizka { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: 1.25rem; }
.bs-dlazdice { display: flex; flex-direction: column; padding: 1rem 1rem .9rem; background: #fff; border: 1px solid var(--cmf-ramecek, #dcdfe0); border-radius: var(--obchod-zaobleni, .5rem); text-align: center; transition: box-shadow .15s ease, border-color .15s ease; }
.bs-dlazdice:hover { border-color: var(--obchod-primarni, #4f7b16); box-shadow: 0 6px 18px rgba(13, 59, 79, .12); }
.bs-dlazdice-nazev { margin: 0 0 .6rem; font-size: 1rem; font-weight: 800; line-height: 1.25; min-height: 2.5em; }
.bs-dlazdice-nazev a, .bs-dlazdice-nazev a:visited { color: var(--obchod-sekundarni, #0d3b4f); text-decoration: none; }
.bs-dlazdice-nazev a:hover { color: var(--obchod-primarni, #4f7b16); }
.bs-dlazdice-obrazek { display: flex; align-items: center; justify-content: center; height: 11rem; margin-bottom: .6rem; }
.bs-dlazdice-obrazek img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.bs-dlazdice-popis { flex: 1 1 auto; margin: 0 0 .75rem; font-size: .8125rem; color: var(--cmf-slaby, #5b6366); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.bs-dlazdice-dole { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-top: auto; }
.bs-dlazdice-cena { font-size: 1.25rem; font-weight: 800; color: var(--obchod-primarni, #4f7b16); text-align: left; line-height: 1.2; }
.bs-dlazdice-cena .normalprice, .bs-dlazdice-cena .productSpecialPriceOld { font-size: .8125rem; font-weight: 400; color: var(--cmf-slaby, #5b6366); }
.bs-dlazdice-detail, .bs-dlazdice-detail:visited { padding: .5rem 1.15rem; border: 0; border-radius: var(--obchod-zaobleni-tlacitek, .25rem); background: var(--obchod-sekundarni, #0d3b4f); color: #fff; font-size: .8125rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; text-decoration: none; }
.bs-dlazdice-detail:hover { background: var(--obchod-primarni, #4f7b16); color: #fff; text-decoration: none; }
.bs-produkty-prazdno { padding: 1.5rem 0; color: var(--cmf-slaby, #5b6366); }

@media (max-width: 767.98px) {
  .bs-hero-vnitrek { min-height: 0; padding: 2rem 1.25rem 4.5rem; }
  .bs-pruh--karta { margin: -3rem .5rem 1.5rem; }
  .bs-pruh-seznam { grid-template-columns: 1fr 1fr; }
  .bs-pruh-polozka { padding: .9rem 1rem; }
  .bs-pruh-polozka + .bs-pruh-polozka { border-left: 0; }
  .bs-pruh-seznam > li:nth-child(even) { border-left: 1px solid var(--cmf-ramecek, #dcdfe0); }
  .bs-pruh-seznam > li:nth-child(n+3) { border-top: 1px solid var(--cmf-ramecek, #dcdfe0); }
  .bs-blok-nadpis { font-size: 1.4rem; }
  .bs-produkty-mrizka { grid-template-columns: 1fr 1fr; gap: .75rem; }
  .bs-dlazdice { padding: .75rem .6rem; }
  .bs-dlazdice-obrazek { height: 8rem; }
  .bs-dlazdice-dole { flex-direction: column; align-items: stretch; gap: .5rem; }
  .bs-dlazdice-cena { text-align: center; font-size: 1.1rem; }
}
@media (max-width: 479.98px) {
  .bs-pruh-seznam { grid-template-columns: 1fr; }
  .bs-pruh-seznam > li:nth-child(even) { border-left: 0; }
  .bs-pruh-seznam > li + li { border-top: 1px solid var(--cmf-ramecek, #dcdfe0); }
}

/* ---------------------------------------------------------------- výpis produktů a detail: sjednocení s designem obchodu */
.centerBoxContentsListing { border-color: var(--cmf-ramecek, #dcdfe0); border-radius: var(--obchod-zaobleni, .5rem); transition: box-shadow .15s ease, border-color .15s ease; }
.centerBoxContentsListing:hover { border-color: var(--obchod-primarni, #4f7b16); box-shadow: 0 6px 18px rgba(13, 59, 79, .12); }
.centerBoxContentsListing .itemTitle { font-size: 1rem; font-weight: 800; line-height: 1.25; }
.centerBoxContentsListing .itemTitle a, .centerBoxContentsListing .itemTitle a:visited { color: var(--obchod-sekundarni, #0d3b4f); text-decoration: none; }
.centerBoxContentsListing .itemTitle a:hover { color: var(--obchod-primarni, #4f7b16); }
.centerBoxContentsListing .listingDescription { font-size: .8125rem; color: var(--cmf-slaby, #5b6366); display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.centerBoxContentsListing .productBasePrice, .centerBoxContentsListing .productSpecialPrice { font-size: 1.25rem; font-weight: 800; color: var(--obchod-primarni, #4f7b16); }
.centerBoxContentsListing .normalprice, .centerBoxContentsListing .productSpecialPriceOld { color: var(--cmf-slaby, #5b6366); font-size: .8125rem; font-weight: 400; }
.centerBoxContentsListing .moreinfoLink, .centerBoxContentsListing .moreinfoLink:visited { display: inline-block; margin: .35rem 0; padding: .45rem 1.1rem; border-radius: var(--obchod-zaobleni-tlacitek, .25rem); background: var(--obchod-sekundarni, #0d3b4f); color: #fff;
  font-size: .8125rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; text-decoration: none; }
.centerBoxContentsListing .moreinfoLink:hover { background: var(--obchod-primarni, #4f7b16); color: #fff; }

#productInfo-productDescription h2, #productInfo-productDescription h3, #productInfo-productDescription .blokhybrid_nadpis { margin: 1.5rem 0 .6rem; font-size: 1.35rem; font-weight: 800; color: var(--obchod-sekundarni, #0d3b4f); }
#productInfo-productName { font-size: 1.9rem; font-weight: 800; color: var(--obchod-sekundarni, #0d3b4f); }

/* ---------------------------------------------------------------- doladění podle návrhu: popisek košíku, hodnocení, ilustrace banneru */
.bs-hlavicka-kosik .cm-kosik-castka { display: flex; flex-direction: column; line-height: 1.15; font-size: .9375rem; }
.bs-hlavicka-kosik .cm-kosik-castka::before { content: var(--bs-kosik-popisek, ""); font-size: .75rem; font-weight: 400; color: var(--cmf-slaby, #5b6366); }

.bs-pruh-hodnoceni { display: flex; align-items: center; gap: .4rem; margin-top: .1rem; }
.bs-pruh-hodnoceni-cislo { font-size: .875rem; font-weight: 800; color: var(--obchod-sekundarni, #0d3b4f); }
.bs-pruh-hvezdy { color: #f2b01e; font-size: .8rem; letter-spacing: .08em; }

.bs-hero--obrazek { background-size: auto 112%; background-position: right 2% bottom; }
@media (max-width: 991.98px) {
  .bs-hero--obrazek { background-size: auto 80%; background-position: right -4rem bottom; }
}
@media (max-width: 767.98px) {
  .bs-hero--obrazek { background-size: 92% auto; background-position: center bottom; }
  .bs-hero--obrazek .bs-hero-vnitrek { padding-bottom: 15rem; }
  .bs-hlavicka-kosik .cm-kosik-castka::before { display: none; }
}
@media (max-width: 991.98px) {
  .bs-hlavicka-kosik .cm-kosik-castka::before { display: none; }
}

/* ---------------------------------------------------------------- levý sloupec a obrázky produktů
   Levý sloupec s boxy je o čtvrtinu užší než výchozí (18,75 % místo 25 %); šířku jednoho obchodu lze změnit ve vzhled/obchod.css: :root { --bs-levy-sloupec: 20%; }.
   Počet dlaždic v řádku výpisu určuje obchod.json -> vypis.max_na_radek (extra_datafiles/bs_vypis_mrizka.php), velikost obrázků vypis.obrazek_sirka/vyska a vypis.detail_obrazek_*. */
@media (min-width: 992px) {
  #navColumnOne { flex: 0 0 var(--bs-levy-sloupec, 18.75%); max-width: var(--bs-levy-sloupec, 18.75%); }
  #navColumnOne + [class*="col-lg-"] { flex: 0 0 calc(100% - var(--bs-levy-sloupec, 18.75%)); max-width: calc(100% - var(--bs-levy-sloupec, 18.75%)); }
}

/* obrázek na dlaždici vyplní šířku karty (miniatura se tvoří ve velikosti z nastavení, karta ji jen přizpůsobí) */
.centerBoxContentsListing .list-image { display: block; width: 100%; }
.centerBoxContentsListing .list-image a { display: block; }
.centerBoxContentsListing img.listingProductImage { display: block; width: 100%; height: auto; max-width: 100%; margin: 0 auto; }
.bs-dlazdice-obrazek { display: block; height: auto; aspect-ratio: 4 / 3; }
.bs-dlazdice-obrazek img { width: 100%; height: 100%; object-fit: contain; }
#productMainImage img, #productMainImage-modal img { max-width: 100%; height: auto; }
/* boxy v levém sloupci (Kategorie, Výrobci, Informace…): odkazy bez podtržení (globální pravidlo "a { text-decoration: underline }" v stylesheet.css se v nich neuplatní); odsazení podkategorií dělají mezery v názvu */
.sideBoxContent a.list-group-item, .sideBoxContent a.list-group-item:hover, .sideBoxContent a.list-group-item:focus { text-decoration: none; }
/* box Výrobci: aktuální výrobce zvýrazněn */
#manufacturersContent a.cm-vyrobce-aktivni { font-weight: 700; color: var(--obchod-primarni, #4f7b16); }

/* ---------------------------------------------------------------- nové satelity (etapa 90, F71): dvousloupcový banner, čipy rozměrů, řádky odkazů, kroky, karty
   Barvy z --obchod-* (primarni = tlačítka a značky, sekundarni = nadpisy, patice = zbarvené pozadí pruhů). Pruhy přes celou šířku okna dělá stín + ořez (bez vodorovného posunu stránky). */
.bs-hero--panel { margin: 0 0 2rem; border-radius: 0; overflow: visible; background: var(--obchod-patice, #f3f4f2); box-shadow: 0 0 0 100vmax var(--obchod-patice, #f3f4f2); clip-path: inset(0 -100vmax); }
.bs-hero--panel .bs-hero-vnitrek { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 3rem; align-items: center; min-height: 0; padding: 3.5rem 0; }
.bs-hero--panel .bs-hero-text { max-width: 36rem; }
.bs-hero--panel .bs-hero-nadpis { font-size: clamp(2rem, 3.6vw, 3rem); }
.bs-hero--panel .bs-hero-popis { max-width: 32rem; color: var(--cmf-slaby, #5b6366); }
.bs-hero-tlacitka { display: flex; flex-wrap: wrap; gap: .75rem; }
.bs-hero--panel .bs-hero-tlacitko { padding: .8rem 1.5rem; border-radius: .5rem; text-transform: none; letter-spacing: 0; font-size: .9375rem; }
.bs-hero--panel .bs-hero-tlacitko--druhe, .bs-hero--panel .bs-hero-tlacitko--druhe:visited { background: #fff; border: 1px solid var(--cmf-ramecek, #dcdfe0); color: var(--obchod-sekundarni, #0d3b4f); }
.bs-hero--panel .bs-hero-tlacitko--druhe:hover { background: #fff; border-color: var(--obchod-primarni, #4f7b16); color: var(--obchod-primarni, #4f7b16); }
.bs-hero-panel { display: flex; align-items: center; justify-content: center; padding: 2.75rem; border-radius: 1.5rem; background: color-mix(in srgb, var(--obchod-primarni, #4f7b16) 12%, #fff); }
.bs-hero-panel img { display: block; max-width: 100%; height: auto; border-radius: .5rem; mix-blend-mode: multiply; }

.bs-pruh--cisty { margin: 0 0 2rem; border-top: 1px solid var(--cmf-ramecek, #dcdfe0); border-bottom: 1px solid var(--cmf-ramecek, #dcdfe0); }
.bs-pruh--cisty .bs-pruh-polozka { padding: 1.5rem 1rem; }
.bs-pruh--cisty .bs-pruh-polozka + .bs-pruh-polozka { border-left: 0; }
.bs-pruh--cisty .bs-pruh-nadpis, .bs-pruh--karty .bs-pruh-nadpis { font-size: .9375rem; text-transform: none; letter-spacing: 0; }
.bs-pruh--cisty .bs-pruh-ikona, .bs-pruh--karty .bs-pruh-ikona { display: flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border-radius: .75rem; font-size: 1.1rem;
  background: color-mix(in srgb, var(--obchod-primarni, #4f7b16) 12%, #fff); color: var(--obchod-primarni, #4f7b16); }
.bs-pruh--info.bs-pruh--karty { background: transparent; border: 0; box-shadow: none; }
.bs-pruh--karty .bs-pruh-seznam { grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); gap: 1.25rem; }
.bs-pruh--karty .bs-pruh-polozka { background: #fff; border: 1px solid var(--cmf-ramecek, #dcdfe0); border-radius: 1rem; padding: 1.25rem 1.5rem; }
.bs-pruh--karty .bs-pruh-polozka + .bs-pruh-polozka { border-left: 1px solid var(--cmf-ramecek, #dcdfe0); }

.bs-rozmery { margin: 0 0 2.5rem; }
.bs-rozmery-karta { padding: 1.25rem 1.5rem 1.5rem; background: #fff; border: 1px solid var(--cmf-ramecek, #dcdfe0); border-radius: 1rem; }
.bs-rozmery-nadpis { margin: 0 0 .9rem; font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--obchod-sekundarni, #0d3b4f); }
.bs-rozmery-chipy { display: flex; flex-wrap: wrap; gap: .6rem; }
.bs-chip, .bs-chip:visited { display: inline-flex; align-items: center; justify-content: center; min-width: 7.25rem; padding: .65rem 1.1rem; border: 1px solid var(--cmf-ramecek, #dcdfe0); border-radius: .5rem; background: #fff;
  color: var(--obchod-text, #26343a); font-size: .9375rem; font-weight: 600; text-decoration: none; }
.bs-chip:hover { border-color: var(--obchod-primarni, #4f7b16); color: var(--obchod-primarni, #4f7b16); text-decoration: none; }
.bs-chip--hlavni, .bs-chip--hlavni:visited { background: var(--obchod-primarni, #4f7b16); border-color: var(--obchod-primarni, #4f7b16); color: #fff; padding-left: 1.4rem; padding-right: 1.4rem; }
.bs-chip--hlavni:hover { background: var(--obchod-sekundarni, #0d3b4f); border-color: var(--obchod-sekundarni, #0d3b4f); color: #fff; }

.bs-odkazy { margin: 0 0 2.5rem; }
.bs-odkazy-seznam { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem; }
.bs-odkaz-radek, .bs-odkaz-radek:visited { display: flex; align-items: center; gap: 1rem; min-height: 4.5rem; padding: .5rem 1.25rem .5rem .75rem; background: #fff; border: 1px solid var(--cmf-ramecek, #dcdfe0); border-radius: 1rem;
  color: var(--obchod-sekundarni, #0d3b4f); font-weight: 700; text-decoration: none; transition: border-color .15s ease, box-shadow .15s ease; }
.bs-odkaz-radek:hover { border-color: var(--obchod-primarni, #4f7b16); box-shadow: 0 6px 18px rgba(13, 59, 79, .1); color: var(--obchod-sekundarni, #0d3b4f); text-decoration: none; }
.bs-odkaz-obrazek { display: flex; flex: 0 0 5.5rem; align-items: center; justify-content: center; height: 3.5rem; border-radius: .5rem; background: var(--obchod-patice, #f3f4f2); }
.bs-odkaz-obrazek img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.bs-odkaz-obrazek--ikona { font-size: 1.5rem; color: var(--obchod-primarni, #4f7b16); }
.bs-odkaz-text { flex: 1 1 auto; min-width: 0; }
.bs-odkaz-sipka { flex: 0 0 auto; color: var(--obchod-text, #26343a); }

.bs-kroky { position: relative; isolation: isolate; margin: 0 0 2.5rem; padding: 3rem 0; }
.bs-kroky::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--obchod-patice, #f3f4f2); box-shadow: 0 0 0 100vmax var(--obchod-patice, #f3f4f2); clip-path: inset(0 -100vmax); }
.bs-kroky-seznam { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.bs-krok { display: flex; flex-direction: column; gap: .35rem; padding: 1.5rem; background: #fff; border: 1px solid var(--cmf-ramecek, #dcdfe0); border-radius: 1rem; }
.bs-krok-cislo { display: flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; margin-bottom: .6rem; border-radius: .5rem; background: var(--obchod-primarni, #4f7b16); color: #fff; font-size: .9375rem; font-weight: 800; }
.bs-krok-nadpis { font-size: 1.2rem; font-weight: 800; color: var(--obchod-sekundarni, #0d3b4f); }
.bs-krok-text { font-size: .9375rem; color: var(--cmf-slaby, #5b6366); }

.bs-produkty--navrh .bs-produkty-mrizka { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.bs-produkty--navrh .bs-dlazdice { padding: 0; overflow: hidden; border-radius: 1rem; text-align: left; }
.bs-produkty--navrh .bs-dlazdice-obrazek { order: -2; margin: 0; padding: 1rem; background: #fff; border-bottom: 1px solid var(--cmf-ramecek, #dcdfe0); }
.bs-produkty--navrh .bs-dlazdice-nazev { order: -1; min-height: 0; margin: 0; padding: 1rem 1.1rem 0; }
.bs-produkty--navrh .bs-dlazdice-popis { margin: .35rem 1.1rem .75rem; }
.bs-produkty--navrh .bs-dlazdice-dole { padding: 0 1.1rem 1.1rem; }
.bs-produkty--navrh .bs-dlazdice-cena { color: var(--obchod-sekundarni, #0d3b4f); font-size: 1.3rem; }
.bs-produkty--navrh .bs-dlazdice-detail, .bs-produkty--navrh .bs-dlazdice-detail:visited { background: var(--obchod-primarni, #4f7b16); border-radius: .5rem; text-transform: none; letter-spacing: 0; padding: .5rem 1.1rem; }
.bs-produkty--navrh .bs-dlazdice-detail:hover { background: var(--obchod-sekundarni, #0d3b4f); }

@media (max-width: 991.98px) {
  .bs-hero--panel .bs-hero-vnitrek { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; padding: 2rem 0; }
  .bs-hero-panel { padding: 1.5rem; }
  .bs-odkazy-seznam { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bs-kroky-seznam { grid-template-columns: minmax(0, 1fr); }
  .bs-produkty--navrh .bs-produkty-mrizka { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .bs-pruh--cisty .bs-pruh-seznam { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bs-kroky-seznam { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bs-hero-panel img { max-height: 20rem; width: auto; margin: 0 auto; }
}
@media (max-width: 575.98px) {
  .bs-odkazy-seznam { grid-template-columns: minmax(0, 1fr); }
  .bs-rozmery-chipy { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; }
  .bs-rozmery-chipy > li:last-child { grid-column: span 2; }
  .bs-rozmery-chipy .bs-chip { display: flex; width: 100%; min-width: 0; padding-left: .5rem; padding-right: .5rem; }
  .bs-produkty--navrh .bs-dlazdice-dole { flex-direction: column; align-items: stretch; }
  .bs-produkty--navrh .bs-dlazdice-cena { text-align: left; font-size: 1.1rem; }
}


/* ==== stylesheet_zz_bs_vzhled_dlazdice.css ==== */
/* Dlaždice produktů ve výpisu v jedné rovině (bs222, 6. 11. 2026, majitel: cena, množství a tlačítko mají být u všech dlaždic v řadě ve stejné výšce).
   Příčina rozjetí: popis produktu (.listingDescription) se vykreslí jen u produktů, které ho mají; obrázky mají různou výšku a nadpisy se zalamují na různý počet řádků.
   Řešení bez zásahu do PHP: řada dlaždic (.row > .col > .centerBoxContentsListing) je mřížka, ve které sekce dlaždic (obrázek, název, popis, koupit, vlastnosti, rozměry, akce)
   sdílejí řádky přes CSS subgrid, takže řádek je tak vysoký jako nejvyšší sekce v řadě a chybějící popis nechá prázdné místo jen tehdy, když ho má aspoň jedna dlaždice v řadě.
   Počet sloupců se bere z Bootstrap tříd row-cols-* (stejné zlomy jako dosud). Prohlížeče bez subgridu nebo :has() zůstávají u dosavadního vzhledu (@supports). */
@supports (grid-template-rows: subgrid) and selector(:has(*)) {
  .row[class*="row-cols-"]:has(> .col > .centerBoxContentsListing) {
    display: grid;
    grid-template-columns: repeat(var(--bs-dlazdic-sl, 1), minmax(0, 1fr));   /* počet sloupců dosazují třídy row-cols-* níže (výchozí 1) */
    align-items: stretch;
  }
  .row[class*="row-cols-"]:has(> .col > .centerBoxContentsListing) > .col {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 7;
    width: auto;
    max-width: none;
    flex: none;
    min-width: 0;
  }
  .row[class*="row-cols-"] > .col > .centerBoxContentsListing {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: 1 / span 7;
    grid-column: 1;
    align-content: start;
    min-width: 0;
  }
  /* zalomení řádku <br> mezi sekcemi do mřížky nepatří */
  .row[class*="row-cols-"] > .col > .centerBoxContentsListing > br { display: none; }
  .row[class*="row-cols-"] > .col > .centerBoxContentsListing > .list-image { grid-row: 1; }
  /* odstup, který dřív dělaly zalomení <br> mezi sekcemi */
  .row[class*="row-cols-"] > .col > .centerBoxContentsListing > .itemTitle { grid-row: 2; margin-top: 1.5rem; }
  .row[class*="row-cols-"] > .col > .centerBoxContentsListing > .listingDescription { grid-row: 3; }
  .row[class*="row-cols-"] > .col > .centerBoxContentsListing > .cm-dlazdice-koupit { grid-row: 4; margin-top: 1.5rem; }
  .row[class*="row-cols-"] > .col > .centerBoxContentsListing > .tt-filter-badges { grid-row: 5; }
  .row[class*="row-cols-"] > .col > .centerBoxContentsListing > .rozmery-dropdown { grid-row: 6; }
  .row[class*="row-cols-"] > .col > .centerBoxContentsListing > .cm-dlazdice-akce { grid-row: 7; }
}

/* počet sloupců = Bootstrap row-cols-* na stejných zlomech (každý zlom přepisuje nižší; jen uvnitř bloku výše se používá) */
@supports (grid-template-rows: subgrid) and selector(:has(*)) {
  .row.row-cols-1 { --bs-dlazdic-sl: 1; }
  .row.row-cols-2 { --bs-dlazdic-sl: 2; }
  .row.row-cols-3 { --bs-dlazdic-sl: 3; }
  .row.row-cols-4 { --bs-dlazdic-sl: 4; }
  .row.row-cols-5 { --bs-dlazdic-sl: 5; }
  .row.row-cols-6 { --bs-dlazdic-sl: 6; }
  @media (min-width: 576px) {
    .row.row-cols-sm-1 { --bs-dlazdic-sl: 1; } .row.row-cols-sm-2 { --bs-dlazdic-sl: 2; } .row.row-cols-sm-3 { --bs-dlazdic-sl: 3; }
    .row.row-cols-sm-4 { --bs-dlazdic-sl: 4; } .row.row-cols-sm-5 { --bs-dlazdic-sl: 5; } .row.row-cols-sm-6 { --bs-dlazdic-sl: 6; }
  }
  @media (min-width: 768px) {
    .row.row-cols-md-1 { --bs-dlazdic-sl: 1; } .row.row-cols-md-2 { --bs-dlazdic-sl: 2; } .row.row-cols-md-3 { --bs-dlazdic-sl: 3; }
    .row.row-cols-md-4 { --bs-dlazdic-sl: 4; } .row.row-cols-md-5 { --bs-dlazdic-sl: 5; } .row.row-cols-md-6 { --bs-dlazdic-sl: 6; }
  }
  @media (min-width: 992px) {
    .row.row-cols-lg-1 { --bs-dlazdic-sl: 1; } .row.row-cols-lg-2 { --bs-dlazdic-sl: 2; } .row.row-cols-lg-3 { --bs-dlazdic-sl: 3; }
    .row.row-cols-lg-4 { --bs-dlazdic-sl: 4; } .row.row-cols-lg-5 { --bs-dlazdic-sl: 5; } .row.row-cols-lg-6 { --bs-dlazdic-sl: 6; }
  }
  @media (min-width: 1200px) {
    .row.row-cols-xl-1 { --bs-dlazdic-sl: 1; } .row.row-cols-xl-2 { --bs-dlazdic-sl: 2; } .row.row-cols-xl-3 { --bs-dlazdic-sl: 3; }
    .row.row-cols-xl-4 { --bs-dlazdic-sl: 4; } .row.row-cols-xl-5 { --bs-dlazdic-sl: 5; } .row.row-cols-xl-6 { --bs-dlazdic-sl: 6; }
  }
}


/* ==== stylesheet_zz_bs_vzhled_menu.css ==== */
/* Nabídka kategorií po najetí (bs222, 6. 11. 2026): kategorie rovnou v liště, pod nimi přehled podkategorií po šířkách ("Šířka 80 cm ______" + rozměry).
   Markup: includes/functions/extra_functions/bs_menu_najeti.php, chování: jscript_bs_menu_najeti.js. Jen počítač (od 992 px); mobil má svislou nabídku (tpl_offcanvas_menu.php).
   Položky lišty mají podbarvení po najetí a větší písmo (bez šipek, ať se nejdelší lišty vejdou na jeden řádek); řádky přehledu jsou větší a podbarvují se také. Barvy z proměnných obchodu (--obchod-primarni). */
@media (min-width: 992px) {
  #navMain {
    --bs-menu-podklad: var(--cmf-lehke, #eff0f1);
    --bs-menu-pismo: .8125rem;
    --bs-menu-vodorovne: .5rem;
  }
  @supports (background: color-mix(in srgb, red 10%, white)) {
    #navMain { --bs-menu-podklad: color-mix(in srgb, var(--obchod-primarni, #4f7b16) 13%, #fff); }
  }

  /* --- položky lišty: větší písmo, podbarvení po najetí --- */
  #navMain .bs-nav .bs-nav-seznam > .nav-item.bs-nav-kategorie > .nav-link,
  #navMain .bs-nav .bs-nav-seznam > .nav-item.bs-nav-odkaz > .nav-link {
    font-size: var(--bs-menu-pismo); padding-left: var(--bs-menu-vodorovne); padding-right: var(--bs-menu-vodorovne);
    border-radius: .45rem .45rem 0 0; transition: background-color .15s ease, color .15s ease;
  }
  #navMain .bs-nav .bs-nav-seznam > .nav-item.bs-nav-kategorie > .nav-link:hover,
  #navMain .bs-nav .bs-nav-seznam > .nav-item.bs-nav-kategorie > .nav-link:focus-visible,
  #navMain .bs-nav .bs-nav-seznam > .nav-item.bs-nav-odkaz > .nav-link:hover,
  #navMain .bs-nav .bs-nav-seznam > .nav-item.bs-nav-odkaz > .nav-link:focus-visible,
  #navMain .bs-nav .bs-nav-seznam > .nav-item.bs-nav-s-nabidkou.is-otevreno > .nav-link { background: var(--bs-menu-podklad); }

  /* nabídka se kotví k liště (#navMain .bs-nav je position: relative), položka s nabídkou proto sama není pozicovaná */
  #navMain .bs-nav .bs-nav-s-nabidkou { position: static; }
  #navMain .bs-nav .bs-nav-s-nabidkou--seznam { position: relative; }
  #navMain .bs-nav .bs-nav-s-nabidkou > .nav-link { cursor: pointer; }

  /* šablona dává #navbarSupportedContent pro mobil max-height 90vh a overflow-y: auto (bez media query) - na počítači by oříznulo nabídky ve vlastním (relativním) kontejneru */
  #navMain #navbarSupportedContent { overflow: visible; max-height: none; }
  /* top: auto = těsně pod odkazem položky (i když se lišta zalomí do dvou řádků, mezi položkou a nabídkou není mezera, kterou by myš opustila hover) */
  .bs-nabidka { display: none; position: absolute; top: auto; left: 0; right: 0; z-index: 1040; box-sizing: border-box; padding: 1.5rem 2rem 1.75rem; background: #fff; text-align: left;
    border: 1px solid var(--cmf-ramecek, #dcdfe0); border-top: 3px solid var(--obchod-primarni, #4f7b16); border-radius: 0 0 var(--obchod-zaobleni, .5rem) var(--obchod-zaobleni, .5rem);
    box-shadow: 0 12px 28px rgba(13, 59, 79, .15); max-height: calc(100vh - 15rem); overflow-y: auto; }   /* přesnou výšku podle spodku lišty dosazuje JS */
  .bs-nabidka--seznam { right: auto; min-width: 19rem; max-width: 30rem; padding: 1.1rem 1.5rem 1.25rem; }

  /* otevření: JS třída (dotyk) a klávesnice (viditelný fokus uvnitř položky; klik myší nabídku nezasekne); myš viz níže */
  #navMain .bs-nav .bs-nav-s-nabidkou.is-otevreno > .bs-nabidka { display: block; }
  #navMain .bs-nav .bs-nav-s-nabidkou.is-otevreno > .nav-link { border-bottom-color: var(--obchod-primarni, #4f7b16); color: var(--obchod-primarni, #4f7b16); }
  @supports selector(:has(*)) {
    #navMain .bs-nav .bs-nav-s-nabidkou:has(:focus-visible) > .bs-nabidka { display: block; }
    #navMain .bs-nav .bs-nav-s-nabidkou:has(:focus-visible) > .nav-link { border-bottom-color: var(--obchod-primarni, #4f7b16); color: var(--obchod-primarni, #4f7b16); background: var(--bs-menu-podklad); }
  }
  @supports not selector(:has(*)) {
    #navMain .bs-nav .bs-nav-s-nabidkou:focus-within > .bs-nabidka { display: block; }
    #navMain .bs-nav .bs-nav-s-nabidkou:focus-within > .nav-link { border-bottom-color: var(--obchod-primarni, #4f7b16); color: var(--obchod-primarni, #4f7b16); background: var(--bs-menu-podklad); }
  }
  #navMain .bs-nav .bs-nav-s-nabidkou.is-zavreno > .bs-nabidka { display: none !important; }
  #navMain .bs-nav .bs-nav-s-nabidkou:hover > .bs-nabidka { z-index: 1041; }   /* nabídka pod myší je nad případnou druhou otevřenou fokusem */

  /* skupiny po šířkách ve sloupcích (sloupce se plní shora dolů, skupina se nerozdělí); šířka sloupce podle nejdelšího nadpisu v nabídce (--bs-nabidka-ch = počet znaků, píše PHP) */
  .bs-nabidka-skupiny { column-width: 15rem; column-width: max(11.5rem, calc(var(--bs-nabidka-ch, 14) * .47rem + 2.4rem)); column-gap: 2.25rem; }
  .bs-nabidka-skupina { min-width: 0; break-inside: avoid; page-break-inside: avoid; -webkit-column-break-inside: avoid; margin-bottom: 1.4rem; }
  .bs-nabidka--rozmery { padding-bottom: .5rem; }
  .bs-nabidka-nadpis { display: flex; align-items: center; gap: .7rem; margin: 0 0 .55rem; font-size: 1.0625rem; font-weight: 700; line-height: 1.2; color: var(--obchod-sekundarni, #0d3b4f); white-space: nowrap; }
  .bs-nabidka-nadpis::after { content: ""; flex: 1 1 auto; min-width: .75rem; border-top: 1px solid var(--cmf-ramecek, #dcdfe0); }
  .bs-nabidka li a { display: block; margin: 0 -.6rem; padding: .36rem .6rem; font-size: 1rem; line-height: 1.3; color: var(--obchod-text, #26343a); text-decoration: none; white-space: nowrap;
    border-radius: .4rem; transition: background-color .12s ease, color .12s ease; }
  .bs-nabidka li a:hover, .bs-nabidka li a:focus { background: var(--bs-menu-podklad); color: var(--obchod-primarni, #4f7b16); text-decoration: none; }
  .bs-nabidka--seznam li a { white-space: normal; padding: .45rem .6rem; }
}

/* písmo lišty podle šířky: nejdelší nabídky (devět položek) se musí vejít na jeden řádek, proto stupně */
@media (min-width: 1200px) { #navMain { --bs-menu-pismo: .84375rem; --bs-menu-vodorovne: .5rem; } }
@media (min-width: 1280px) { #navMain { --bs-menu-pismo: .90625rem; --bs-menu-vodorovne: .5rem; } }
@media (min-width: 1366px) { #navMain { --bs-menu-pismo: .96875rem; --bs-menu-vodorovne: .5rem; } }
@media (min-width: 1400px) { #navMain { --bs-menu-pismo: 1rem; --bs-menu-vodorovne: .55rem; } }

/* najetí myší jen tam, kde je myš (dotykové tablety s širokou obrazovkou otevírá JS prvním klepnutím) */
@media (min-width: 992px) and (hover: hover) {
  #navMain .bs-nav .bs-nav-s-nabidkou:hover > .bs-nabidka { display: block; }
  #navMain .bs-nav .bs-nav-s-nabidkou.is-zavreno:hover > .bs-nabidka { display: none; }
  #navMain .bs-nav .bs-nav-s-nabidkou:hover > .nav-link { border-bottom-color: var(--obchod-primarni, #4f7b16); color: var(--obchod-primarni, #4f7b16); background: var(--bs-menu-podklad); }
}

/* střední šířky: užší sloupce, aby se přehled vešel */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .bs-nabidka { padding-left: 1.25rem; padding-right: 1.25rem; }
  .bs-nabidka-skupiny { column-gap: 1.75rem; }
  .bs-nabidka li a { font-size: .9375rem; }
}

@media (max-width: 991.98px) {
  .bs-nabidka { display: none !important; }
}

@media print {
  .bs-nabidka { display: none !important; }
}


/* ==== stylesheet_zz_bs_zrcadla.css ==== */
/* stylesheet_zz_bs_zrcadla.css - vzhled zobrazení nad zrcadlenými daty z centrály (P06-ZRCADLOVE-ZOBRAZENI, 7. 11. 2026).
   Tři malé celky, každý jen s pravidly, která jádro šablony (stylesheet_cm_funkce.css) nemá:
   1) popisek zvoleného provedení pod cenou sestavy (p#cmCenaPopisek),
   2) kotvy sekcí na stránce Akce s počty (.cm-chip-pocet) a popis sekce (.cm-vypis-skupina-popis),
   3) dvouřádkový štítek dárku s hodnotou (.tt-label-gift--hodnota).
   Barvy se berou z proměnných --cmf-* (stylesheet_cm_funkce.css) a --zca_* šablony.
   Soubor stylesheet_zz_* se načítá za základem automaticky (nahrát stačí do includes/templates/bootstrap/css/). Návrat = smazat soubor. */

/* 1) popisek provedení pod cenou (jádro vkládá <p class="cm-cena-popisek" id="cmCenaPopisek">; prázdný se skryje) */
.cm-cena-popisek { margin: .35rem 0 0; font-size: .8125rem; line-height: 1.35; font-weight: 400; color: var(--cmf-slaby, #6c757d); }
.cm-cena-popisek:empty { display: none; }

/* 2) stránka Akce po sekcích */
.cm-akce-kotvy .cm-chip-pocet { display: inline-block; min-width: 1.25rem; margin-left: .25rem; padding: 0 .4rem; border-radius: 999px; background: var(--cmf-lehke, #f8f9fa); color: var(--cmf-text, #212529); font-size: .75rem; line-height: 1.25rem; text-align: center; }
.cm-akce-kotvy .cm-chip:hover .cm-chip-pocet { background: var(--cmf-akcent, #0d6efd); color: var(--cmf-akcent-text, #fff); }
.cm-vypis-skupina-popis { margin: .125rem 0 .35rem; font-size: .875rem; font-weight: 400; color: var(--cmf-slaby, #6c757d); }

/* 3) štítek dárku s hodnotou: vlaječka zůstává vpravo nahoře jako dosud, text "(v hodnotě 2 490,- Kč)" je na druhém řádku pod piktogramem a slovem Dárek
   (<small class="tt-label-gift-hodnota">, dává ho svm_darky_gift_display.php jen u dárku zdarma s cenou). Základní pravidlo štítku má nowrap + overflow hidden, proto tu mřížka na dva řádky. */
.list-image .tt-label-gift.tt-label-gift--hodnota,
.cm-akce-stitky .tt-label-gift.tt-label-gift--hodnota {
  display: inline-grid; grid-template-columns: auto auto; column-gap: .4rem; row-gap: .1rem; align-items: center; justify-items: start;
  white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.2; padding: .3rem .6rem .35rem;
}
.tt-label-gift.tt-label-gift--hodnota > svg { grid-row: 1; grid-column: 1; }
.tt-label-gift.tt-label-gift--hodnota > span { grid-row: 1; grid-column: 2; }
.tt-label-gift.tt-label-gift--hodnota > .tt-label-gift-hodnota { grid-row: 2; grid-column: 1 / -1; font-size: .7rem; font-weight: 600; line-height: 1.2; white-space: nowrap; color: var(--cmf-akcent, #0d6efd); }


/* ==== stylesheet_zz_cm_naseptavac.css ==== */
/* stylesheet_zz_cm_naseptavac.css – našeptávač hledání (centrum-matraci.cz, 15. 10. 2026; jscript_cm_naseptavac.js; přenos stylesheet_svm_naseptavac.css
   ze svetmatraci.cz v paletě CM --cm-*). Předpona zz_: ve svazku stojí až za stylesheet_cm_hlavicka.css, protože formuláři .cm-hledani mění overflow
   (hidden → visible, zaoblení přechází na input a tlačítko), aby se nápověda pod okénkem neusekla. V mobilním menu (jQuery.mmenu, tmavý panel)
   je nápověda v toku pod polem, se světlým pozadím. Vykresluje se do .cm-nas-vysledky > .svm-naseptavac, které si skript vytvoří. */

/* okénko v hlavičce: zaoblení na potomky, kontejner nápovědy absolutně pod ním */
.cm-hledani { position: relative; overflow: visible; }
.cm-hledani input[type="search"] { border-radius: 999px 0 0 999px; }
.cm-hledani button { border-radius: 0 999px 999px 0; }
.cm-hledani .cm-nas-vysledky { position: absolute; left: 0; right: 0; top: calc(100% + 6px); z-index: 850; padding: 6px; background: #fff; color: var(--cm-text, #1f2937); border: 1px solid var(--cm-ramecek, #e5e7eb); border-radius: 12px; box-shadow: 0 12px 32px rgba(15, 42, 58, .18); box-sizing: border-box; }

/* obsah nápovědy (stejné třídy jako na SM) */
.svm-naseptavac { max-height: min(70vh, 560px); overflow-y: auto; text-align: left; }
.svm-nas-skupina { padding: 6px 0 4px; }
.svm-nas-skupina + .svm-nas-skupina { border-top: 1px solid var(--cm-ramecek, #e5e7eb); }
.svm-nas-nadpis { padding: 4px 8px; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--cm-text-slaby, #6b7280); }
.svm-nas-rozmer { margin-left: 6px; padding: 1px 7px; border-radius: 999px; background: var(--cm-mint, #e6f6f2); color: var(--cm-tyrkys-tmava, #0b5f54); font-weight: 600; text-transform: none; letter-spacing: 0; font-size: 11px; }
.svm-naseptavac .svm-nas-polozka { display: flex; align-items: center; gap: 10px; padding: 7px 8px; border-radius: 8px; color: var(--cm-text, #1f2937); text-decoration: none; line-height: 1.3; }
.svm-naseptavac .svm-nas-polozka:hover, .svm-naseptavac .svm-nas-polozka.is-aktivni { background: var(--cm-mint-svetla, #f3faf8); color: var(--cm-text, #1f2937); text-decoration: none; }
.svm-naseptavac .svm-nas-polozka.is-aktivni { box-shadow: inset 3px 0 0 var(--cm-tyrkys, #0f7b6c); }
.svm-nas-obrazek { flex: 0 0 48px; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--cm-ramecek, #e5e7eb); border-radius: 6px; background: #fff; overflow: hidden; }
.svm-nas-obrazek img { max-width: 44px; max-height: 44px; width: auto; height: auto; }
.svm-nas-text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.svm-nas-nazev { font-size: 14px; font-weight: 600; color: var(--cm-text, #1f2937); }
.svm-nas-nazev mark { background: transparent; color: var(--cm-tyrkys-tmava, #0b5f54); padding: 0; }
.svm-nas-meta { font-size: 12px; color: var(--cm-text-slaby, #6b7280); }
.svm-nas-cena { flex: 0 0 auto; font-size: 14px; font-weight: 700; color: var(--cm-tyrkys-tmava, #0b5f54); white-space: nowrap; }
.svm-nas-skupina--mala .svm-nas-polozka { padding: 5px 8px; }
.svm-nas-skupina--mala .svm-nas-nazev { font-size: 13px; font-weight: 500; }
.svm-nas-vse { color: var(--cm-tyrkys-tmava, #0b5f54); font-weight: 700; }
.svm-nas-nic { padding: 10px 8px; font-size: 13px; color: var(--cm-text-slaby, #6b7280); }
.svm-nas-nic strong { color: var(--cm-text, #1f2937); }
input.svm-nas-nacita { background-image: linear-gradient(90deg, transparent 0%, rgba(15, 123, 108, .18) 50%, transparent 100%); background-size: 200% 100%; animation: cmNasNacita 1s linear infinite; }
@keyframes cmNasNacita { from { background-position: 200% 0; } to { background-position: -200% 0; } }

/* mobilní menu (nav.mm-menu, tmavý panel, posuvný): formulář bez společného rámečku, nápověda v toku pod polem */
.mm-menu #menu-search .cm-hledani { height: auto; flex-wrap: wrap; border: 0; background: transparent; overflow: visible; }
.mm-menu #menu-search .cm-hledani input[type="search"] { flex: 1 1 auto; height: 42px; background: #fff; border: 1px solid rgba(255, 255, 255, .25); border-right: 0; border-radius: 999px 0 0 999px; }
.mm-menu #menu-search .cm-hledani button { height: 42px; border-radius: 0 999px 999px 0; }
.mm-menu #menu-search .cm-hledani .cm-nas-vysledky { position: static; flex: 1 1 100%; margin-top: 8px; }
.mm-menu #menu-search .cm-hledani .cm-nas-vysledky a { color: var(--cm-text, #1f2937); }

@media (max-width: 767px) {
  .svm-naseptavac { max-height: 60vh; }
  .svm-nas-obrazek { flex-basis: 40px; width: 40px; height: 40px; }
  .svm-nas-obrazek img { max-width: 36px; max-height: 36px; }
  .svm-nas-nazev { font-size: 13px; }
  .svm-nas-cena { font-size: 13px; }
}

/* štítky rozměrů pod kategorií + připravené výběry (18. 10. 2026) */
.svm-naseptavac .svm-nas-rozmery { display: flex; flex-wrap: wrap; gap: 4px 5px; padding: 0 8px 8px; }
.svm-naseptavac .svm-nas-chip { display: inline-block; padding: 3px 9px; border: 1px solid var(--cm-ramecek, #e5e7eb); border-radius: 999px; background: #fff; color: var(--cm-text, #1f2937); font-size: 12px; font-weight: 600; line-height: 1.4; text-decoration: none; white-space: nowrap; }
.svm-naseptavac .svm-nas-chip:hover, .svm-naseptavac .svm-nas-chip:focus-visible { border-color: var(--cm-tyrkys, #0f7b6c); background: var(--cm-mint-svetla, #f3faf8); color: var(--cm-tyrkys-tmava, #0b5f54); text-decoration: none; }

/* rozcestník holého rozměru na stránce výsledků hledání (19. 10. 2026; 21. 10. i pro stránku výsledků Bootstrapu – satelity bs222): odkazy do rozměrových kategorií skupin sortimentu */
#searchResultsDefault .svm-hledani-rozcestnik, #advancedSearchResultDefault .svm-hledani-rozcestnik { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 0 0 16px; padding: 10px 12px; border: 1px solid var(--cm-ramecek, #e5e7eb); border-radius: 10px; background: var(--cm-mint-svetla, #f3faf8); }
#searchResultsDefault .svm-hledani-rozcestnik-text, #advancedSearchResultDefault .svm-hledani-rozcestnik-text { flex: 0 0 100%; font-size: 14px; color: var(--cm-text, #1f2937); }
#searchResultsDefault .svm-hledani-rozcestnik-odkaz, #advancedSearchResultDefault .svm-hledani-rozcestnik-odkaz { display: inline-block; padding: 6px 14px; border: 1px solid var(--cm-ramecek, #e5e7eb); border-radius: 999px; background: #fff; color: var(--cm-text, #1f2937); font-size: 14px; font-weight: 600; text-decoration: none; }
#searchResultsDefault .svm-hledani-rozcestnik-odkaz:hover, #advancedSearchResultDefault .svm-hledani-rozcestnik-odkaz:hover, #searchResultsDefault .svm-hledani-rozcestnik-odkaz:focus-visible, #advancedSearchResultDefault .svm-hledani-rozcestnik-odkaz:focus-visible { border-color: var(--cm-tyrkys, #0f7b6c); color: var(--cm-tyrkys-tmava, #0b5f53); text-decoration: none; }
@media (min-width: 768px) { #searchResultsDefault .svm-hledani-rozcestnik-text, #advancedSearchResultDefault .svm-hledani-rozcestnik-text { flex: 0 0 auto; margin-right: 4px; } }

/* stránka výsledků po skupinách u holého rozměru (19. 10. 2026): nadpisy skupin, 2 vzorky + panel „Zobrazit všechny“, bez stránkování */
.svm-hledani--skupiny #productListing > :not(.svm-hledani-skupiny) { display: none !important; }
.svm-hledani-skupina { margin: 0 0 26px; }
.svm-hledani-skupina-nadpis { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 10px; margin: 0 0 4px; font-size: 20px; line-height: 1.25; }
.svm-hledani-skupina-rada > .centerBoxContentsProducts { padding-top: 8px; }   /* majitel 19. 10.: menší svislé odsazení nadpisu od obsahu */
.svm-hledani-skupina-nadpis a { color: var(--cm-text, #1f2937); text-decoration: none; }
.svm-hledani-skupina-nadpis a:hover { color: var(--cm-tyrkys, #0f7b6c); }
.svm-hledani-skupina-pocet { font-size: 13px; font-weight: 400; color: #6b7280; }
.svm-hledani-skupina-rada { display: flow-root; }
.svm-hledani-vsechny-obal { display: flex; }
.svm-hledani-vsechny { display: flex; flex: 1 1 auto; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-height: 240px; margin: 0 0 14px; padding: 20px; border: 2px dashed var(--cm-ramecek, #d1d5db); border-radius: 12px; color: var(--cm-tyrkys, #0f7b6c); font-size: 15px; font-weight: 700; line-height: 1.3; text-align: center; text-decoration: none; }
.svm-hledani-vsechny:hover, .svm-hledani-vsechny:focus-visible { background: var(--cm-mint-svetla, #f3faf8); border-color: var(--cm-tyrkys, #0f7b6c); text-decoration: none; }
.svm-hledani-vsechny-sipka { font-size: 26px; line-height: 1; }
#searchResultsDefault .svm-hledani-rozcestnik-odkaz.is-aktivni, #advancedSearchResultDefault .svm-hledani-rozcestnik-odkaz.is-aktivni { background: var(--cm-tyrkys, #0f7b6c); border-color: var(--cm-tyrkys, #0f7b6c); color: #fff; }
#searchResultsDefault .svm-hledani-rozcestnik-pocet, #advancedSearchResultDefault .svm-hledani-rozcestnik-pocet { margin-left: 4px; font-weight: 400; opacity: .75; }


/* ==== stylesheet_zz_cm_platby.css ==== */
/* stylesheet_zz_cm_platby.css – pokladna (balík P11, bs222): piktogramy u způsobů platby (převod, dobírka) a zvýraznění vybrané platby.
   Převzato z CM (23. 10. 2026). Rámečky řádků plateb dělá šablona pokladny (#checkoutPayment .custom-control); tady se jen doplňuje ikona vpravo
   a barva vybrané volby. Pravidla se týkají výhradně řádků plateb s konkrétním id (pmt-cod, pmt-moneyorder; šablona
   tpl_modules_opc_payment_choices.php je píše jako id="pmt-<kód modulu>" přímo u přepínače uvnitř .custom-control) a výběru uvnitř #checkoutPaymentMethod.
   Piktogramy: vlastní jednoduché ikony v images/platby/ (cesta relativně k tomuto souboru, takže funguje i v podsložce webu). Barvy: --obchod-primarni
   obchodu (záložní hodnoty = tyrkysová CM). Selektor :has() starší prohlížeče neznají – ikona a zvýraznění se tam prostě neukážou.
   REVIZE R-06 (6. 11. 2026): pravidla s ikonou platí JEN na stránce checkout_one (předpona body#checkoutoneBody; id těla = main_page bez podtržítka + Body), protože
   soubor je globální a #checkoutPayment / #pmt-<kód> má i jádrová třístránková pokladna (tpl_checkout_payment_default.php) - ta se před zapnutím OPC nesmí měnit.
   Rollback: smazat tento soubor. */
body#checkoutoneBody #checkoutPayment .custom-control:has(> #pmt-cod),
body#checkoutoneBody #checkoutPayment .custom-control:has(> #pmt-moneyorder) {
    padding-right: 58px;
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 28px 28px;
}
body#checkoutoneBody #checkoutPayment .custom-control:has(> #pmt-moneyorder) { background-image: url('../../../../images/platby/ikona-prevod.svg'); }
body#checkoutoneBody #checkoutPayment .custom-control:has(> #pmt-cod) { background-image: url('../../../../images/platby/ikona-dobirka.svg'); }
/* vybraná platba (jen blok plateb, ne doprava) */
#checkoutPaymentMethod .custom-control:has(> input[name="payment"]:checked) {
    border-color: #14797a;
    border-color: var(--obchod-primarni, #14797a);
    box-shadow: inset 0 0 0 1px #14797a;
    box-shadow: inset 0 0 0 1px var(--obchod-primarni, #14797a);
    background-color: #eef8f6;
    background-color: color-mix(in srgb, var(--obchod-primarni, #14797a) 9%, #fff);
}
#checkoutPaymentMethod .custom-control:has(> input[name="payment"]:checked) .custom-control-label { font-weight: 600; }


/* ==== stylesheet_zz_obchod.css ==== */
/* stylesheet_zz_obchod.css - GENEROVÁNO nástrojem tools/p5_barvy/barvy_obchodu.py z obchod.json (sekce "barvy" a "vzhled").
   Ruční úpravy zde se při další stavbě ztratí. Vlastní ruční CSS obchodu patří do vzhled/obchod.css (připojí se níže)
   nebo do site_specific_styles.php. Soubor se načte automaticky jako poslední z "stylesheet*.css" (zz). */

:root {
  --obchod-primarni: #a0714a;
  --obchod-sekundarni: #2a1f16;
  --obchod-akcent: #b3261e;
  --obchod-pozadi: #ffffff;
  --obchod-text: #2a1f16;
  --obchod-odkaz: #845d3d;
  --obchod-hlavicka: #ffffff;
  --obchod-navigace: #ffffff;
  --obchod-patice: #faf6f0;
  --obchod-fokus: rgba(160, 113, 74, 0.3);
  --cmf-slaby: #706a65;
  --cmf-ramecek: #d0cecc;
  --cmf-lehke: #f0efef;
  --obchod-zaobleni: 1rem;
  --obchod-zaobleni-tlacitek: .5rem;
  --obchod-font-telo: Seravek, "Gill Sans Nova", Ubuntu, Calibri, "DejaVu Sans", "Segoe UI", sans-serif;
  --obchod-font-nadpisy: Avenir, Montserrat, Corbel, "URW Gothic", "Century Gothic", "Segoe UI", sans-serif;
}

body, input, button, select, textarea, .btn, .form-control, .custom-select, .dropdown-menu, .popover, .tooltip { font-family: var(--obchod-font-telo); }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .leftBoxHeading, .rightBoxHeading, .centerBoxHeading, .card-header, .navbar-brand { font-family: var(--obchod-font-nadpisy); }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-weight: 800; }
.card, .alert, .form-control, .custom-select, .dropdown-menu, .modal-content, .list-group-item, .page-link, .badge, .popover, .toast, .input-group-text, .progress { border-radius: var(--obchod-zaobleni); }
#navMainWrapper nav.navbar { border-bottom-left-radius: var(--obchod-zaobleni) !important; border-bottom-right-radius: var(--obchod-zaobleni) !important; }
.list-group-flush > .list-group-item { border-radius: 0; }
.card-header:first-child { border-radius: calc(var(--obchod-zaobleni) - 1px) calc(var(--obchod-zaobleni) - 1px) 0 0; }
.btn, .btn-group > .btn, button.button_in_cart { border-radius: var(--obchod-zaobleni-tlacitek); }
.card, .modal-content, .dropdown-menu, .btn, .navbar { box-shadow: none; }

/* --- mosty: komponenty Bootstrapu 4, které šablona nevybarvuje přes 129 barev (fokus, zaškrtávátka, aktivní položky, odznaky) --- */
.form-control:focus, .custom-select:focus { border-color: var(--zca_button_background_color); box-shadow: 0 0 0 .2rem var(--obchod-fokus); }
.btn:focus, .btn.focus, .page-link:focus, .custom-control-input:focus ~ .custom-control-label::before { box-shadow: 0 0 0 .2rem var(--obchod-fokus); }
.custom-control-input:focus:not(:checked) ~ .custom-control-label::before { border-color: var(--zca_button_background_color); }
.custom-control-input:checked ~ .custom-control-label::before, .custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { border-color: var(--zca_button_background_color); background-color: var(--zca_button_background_color); }
.custom-control-input:not(:disabled):active ~ .custom-control-label::before { background-color: var(--zca_button_background_color_hover); border-color: var(--zca_button_background_color_hover); }
.list-group-item.active, .nav-pills .nav-link.active, .nav-pills .show > .nav-link, .dropdown-item.active, .dropdown-item:active { color: var(--zca_button_text_color); background-color: var(--zca_button_background_color); border-color: var(--zca_button_background_color); }
.badge-primary, .bg-primary { color: var(--zca_button_text_color) !important; background-color: var(--zca_button_background_color) !important; }
.text-primary { color: var(--zca_button_link_color) !important; }
.border-primary { border-color: var(--zca_button_background_color) !important; }
.btn-outline-primary { color: var(--zca_button_link_color); border-color: var(--zca_button_background_color); background-color: transparent; }
.btn-outline-primary:hover { color: var(--zca_button_text_color); background-color: var(--zca_button_background_color); }
.progress-bar { background-color: var(--zca_button_background_color); }
.nav-tabs .nav-link.active { color: var(--zca_body_text_color); }
::selection { background: var(--obchod-fokus); }

#hdr-img img { max-width: 100%; height: auto; }

/* ===== vzhled/obchod.css (ručně psané CSS obchodu) ===== */
/* Postelové rošty - CSS obchodu (VYGENEROVÁNO tools/nove_satelity/generuj_satelity.py, ruční změny patří do generátoru). Barvy z proměnných palety (--obchod-*). */

/* horní lišta: tmavá, bílý text (výhody vlevo, účet a porovnávač vpravo) */
.bs-hlavicka-lista { background: var(--obchod-sekundarni); border-bottom: 0; color: #fff; }
.bs-hlavicka-lista a, .bs-hlavicka-lista a:visited, .bs-hlavicka-lista a:hover { color: #fff; }
.bs-hlavicka-lista a:hover { text-decoration: underline; }
.bs-hlavicka-lista-vnitrek { min-height: 2.25rem; }

/* hledání: tlačítko v barvě obchodu */
.bs-hlavicka-hledani input[name="keyword"] { border-radius: 999px 0 0 999px; padding-left: 1.25rem; color: var(--cmf-slaby); }
.bs-hlavicka-hledani input[name="keyword"]::placeholder { color: var(--cmf-slaby); opacity: 1; }
.bs-hlavicka-hledani .input-group-append .btn, .bs-hlavicka-hledani .input-group-append input[type="submit"], .bs-hlavicka-hledani .input-group-append button { background: var(--obchod-primarni); border-radius: 0 999px 999px 0; }
.bs-hlavicka-hledani .input-group-append .btn:hover, .bs-hlavicka-hledani .input-group-append button:hover { background: var(--obchod-sekundarni); }

/* košík: tmavá pilulka */
.bs-hlavicka-kosik .cm-kosik { background: var(--obchod-sekundarni); border-color: var(--obchod-sekundarni); border-radius: 999px; color: #fff; box-shadow: none; }
.bs-hlavicka-kosik .cm-kosik:hover { background: var(--obchod-primarni); border-color: var(--obchod-primarni); color: #fff; }
.bs-hlavicka-kosik .cm-kosik i { color: #fff; }
.bs-hlavicka-kosik .cm-kosik .cm-kosik-castka::before { color: rgba(255, 255, 255, .75); }

/* navigace: běžný text místo verzálek */
@media (min-width: 992px) {
  #navMain .bs-nav .nav-link { text-transform: none; font-size: .9375rem; letter-spacing: 0; font-weight: 600; }
}


/* ==== stylesheet_zz_svm_naseptavac_bs.css ==== */
/* stylesheet_zz_svm_naseptavac_bs.css – našeptávač a výsledky hledání v šabloně Bootstrap (satelity bs222; P9 hledání, 21. 10. 2026; přenos z CM).
   Sdílený vzhled dává stylesheet_zz_cm_naseptavac.css (stejný soubor jako na CM a hive) v proměnných --cm-*; tady jen jejich mapování na paletu
   obchodu (--cmf-* ze stylesheet_cm_funkce.css, --obchod-* z P5) a umístění nápovědy pod okénkem v hlavičce (.bs-hlavicka-hledani, nad mega menu). */
:root {
  --cm-text: var(--cmf-text, #212529);
  --cm-text-slaby: var(--cmf-slaby, #6c757d);
  --cm-ramecek: var(--cmf-ramecek, #dee2e6);
  --cm-tyrkys: var(--obchod-primarni, var(--cmf-akcent, #0d6efd));
  --cm-tyrkys-tmava: var(--obchod-sekundarni, var(--cmf-akcent-hover, #0b5ed7));
  --cm-mint: var(--cmf-lehke, #f8f9fa);
  --cm-mint-svetla: var(--cmf-lehke, #f8f9fa);
}
/* okénko v hlavičce: formulář je kotva nápovědy (position: relative ze sdíleného CSS), nápověda v šířce okénka, nad navigací */
.bs-hlavicka-hledani form.cm-hledani { position: relative; }
.bs-hlavicka-hledani .cm-nas-vysledky { max-width: 38rem; z-index: 1100; text-align: left; }
.bs-hlavicka-hledani .cm-nas-vysledky .svm-nas-polozka { color: var(--cm-text, #212529); }
/* dlaždice výsledků po skupinách: karta Bootstrapu má vlastní odsazení, nadpis skupiny těsně nad řádkem */
.svm-hledani-skupina-nadpis { font-weight: 700; }
.svm-hledani-skupina-rada { margin-bottom: 0; }
.svm-hledani-skupina-rada > .svm-hledani-vsechny-obal { padding: 1rem; }
.svm-hledani-vsechny { min-height: 14rem; margin: 0; }

