/* ==========================================================================
   BVM – override Shoptet šablony (template-11) dle grafické předlohy
   Soubor je linkován PŘED main-11.less.css, proto je všude !important.
   ========================================================================== */

:root {
    --bvm-navy: #0b1f6e;
    --bvm-navy-dark: #061648;
    --bvm-yellow: #ffc800;
    --bvm-yellow-hover: #ffd633;
    --bvm-text: #1b2440;
    --bvm-muted: #7b8399;
    --bvm-line: #e6e9f2;
    --bvm-bg-soft: #f4f6fa;
    --bvm-green: #2f9e44;
    --bvm-radius: 12px;
    --bvm-shadow: 0 2px 12px rgba(11, 31, 110, .06);
}

body {
    background: #fff !important;
    color: var(--bvm-text) !important;
    font-family: "Open Sans", Arial, sans-serif !important;
}

.overall-wrapper {
    position: relative !important;
    overflow-x: clip !important;
}

#content-wrapper.container,
.navigation-wrapper.container,
.top-navigation-bar .container,
.breadcrumbs-wrapper.container,
.footer .container {
    max-width: 1400px !important;
    width: 100% !important;
    padding-left: 30px !important;
    padding-right: 30px !important;
    margin: 0 auto !important;
}

/* ==========================================================================
   1. Horní lišta – v předloze není, zůstává jen "Přihlášení"
   ========================================================================== */

.top-navigation-bar {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    min-height: 0 !important;
    height: 0 !important;
    position: relative !important;
    z-index: 20 !important;
}

.top-navigation-bar .container {
    position: relative !important;
    height: 0 !important;
    display: block !important;
}

.top-navigation-contacts,
.top-navigation-menu,
.top-navigation-bar-menu,
.top-navigation-bar-menu-helper,
.top-navigation-bar .responsive-tools {
    display: none !important;
}

/* Přihlášení do hlavičky vedle košíku přesouvá JS (kvůli sticky hlavičce) */
.top-navigation-tools {
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;
}

/* přihlášený uživatel má místo tlačítka "Přihlášení" odkaz "Můj účet" */
.top-nav-button-login,
.top-nav-button-account {
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    gap: 10px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    overflow: visible !important;
    white-space: nowrap !important;
    background: none !important;
    border: 0 !important;
    padding: 0 !important;
    color: var(--bvm-navy) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

.top-nav-button-account:hover {
    color: var(--bvm-navy-dark) !important;
}

.top-nav-button-login::before,
.top-nav-button-account::before {
    content: "" !important;
    display: inline-block !important;
    width: 26px !important;
    height: 26px !important;
    flex: 0 0 26px !important;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b1f6e' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='3.6'/%3E%3Cpath d='M4.8 20c0-3.6 3.2-5.6 7.2-5.6s7.2 2 7.2 5.6'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

#header .navigation-buttons .top-nav-button-login,
#header .navigation-buttons .top-nav-button-account {
    margin: 0 26px 0 0 !important;
    padding: 0 26px 0 0 !important;
    border: 0 !important;
    border-right: 1px solid var(--bvm-line) !important;
}

#header .navigation-buttons .top-nav-button-login span,
#header .navigation-buttons .top-nav-button-account span {
    position: static !important;
    display: inline !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: nowrap !important;
}

/* ==========================================================================
   2. Hlavička – logo / vyhledávání / přihlášení / košík
   ========================================================================== */

/* Hlavička i s modrým pruhem zůstává při scrollu nahoře.
   Sticky je omezené rodičem, proto lepíme celý #header, ne jen #navigation. */
#header {
    position: sticky !important;
    top: 0 !important;
    z-index: 40 !important;
    background: #fff !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* po odscrollování se hlavička zúží (třídu přidává JS) */
@media (min-width: 768px) {
.bvm-scrolled #header .header-top {
    min-height: 0 !important;
    padding: 8px 0 !important;
}

.bvm-scrolled #header .site-name img {
    max-height: 40px !important;
}

.bvm-scrolled #header .search-input,
.bvm-scrolled #header .search-form input[type="search"],
.bvm-scrolled #header .search-form .btn,
.bvm-scrolled #header .search-form button[type="submit"] {
    height: 44px !important;
}

#header,
#header .header-top,
#header .site-name img,
#header .search-input,
#header .search-form .btn {
    transition: min-height .18s, padding .18s, max-height .18s, height .18s !important;
}
}

#header .header-top {
    display: flex !important;
    align-items: center !important;
    gap: 30px !important;
    padding: 20px 0 !important;
    min-height: 104px !important;
    float: none !important;
}

#header .site-name-wrapper,
#header .site-name {
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    text-align: left !important;
}

#header .site-name img {
    max-height: 60px !important;
    width: auto !important;
}

#header .search {
    flex: 1 1 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    max-width: none !important;
    width: auto !important;
    min-width: 0 !important;
}

#header .search-form,
#header .search-form fieldset {
    display: flex !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

#header .search-input,
#header .search-form input[type="search"] {
    flex: 1 1 auto !important;
    height: 54px !important;
    border: 1px solid var(--bvm-line) !important;
    border-right: 0 !important;
    border-radius: 6px 0 0 6px !important;
    padding: 0 20px !important;
    font-size: 15px !important;
    color: var(--bvm-text) !important;
    background: #fff !important;
    box-shadow: none !important;
}

#header .search-input::placeholder {
    color: var(--bvm-muted) !important;
}

#header .search-form .btn,
#header .search-form button[type="submit"] {
    flex: 0 0 auto !important;
    height: 54px !important;
    min-width: 130px !important;
    padding: 0 28px !important;
    border: 0 !important;
    border-radius: 0 6px 6px 0 !important;
    background: var(--bvm-yellow) !important;
    color: var(--bvm-navy) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
}

#header .search-form .btn:hover {
    background: var(--bvm-yellow-hover) !important;
}

/* Přihlášení + košík */
#header .navigation-buttons {
    flex: 0 0 auto !important;
    gap: 0 !important;
    margin-left: 40px !important;
    padding: 0 !important;
    float: none !important;
    display: flex !important;
    align-items: center !important;
}

#header .navigation-buttons .btn.cart-count {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    background: none !important;
    border: 0 !important;
    padding: 0 !important;
    color: var(--bvm-navy) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    min-width: 0 !important;
    width: auto !important;
    height: auto !important;
}

/* při najetí (a při otevřeném náhledu košíku) šablona kreslí rámeček – pryč s ním */
#header .navigation-buttons .btn.cart-count:hover,
#header .navigation-buttons .btn.cart-count:focus,
#header .navigation-buttons .btn.cart-count:focus-visible,
#header .navigation-buttons .btn.cart-count:active,
#header .navigation-buttons .btn.cart-count.active,
#header .navigation-buttons .btn.cart-count[aria-expanded="true"] {
    background: none !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    color: var(--bvm-navy) !important;
}

#header .navigation-buttons .btn.cart-count:hover::before {
    opacity: .75 !important;
}

#header .navigation-buttons .btn.cart-count::before,
#header .navigation-buttons .btn.cart-count::after {
    content: "" !important;
    font-family: inherit !important;
}

#header .navigation-buttons .btn.cart-count::before {
    display: inline-block !important;
    width: 32px !important;
    height: 32px !important;
    flex: 0 0 32px !important;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b1f6e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 3h2.2l2.3 11.2h10.5l2-7.6H6.2'/%3E%3Ccircle cx='9.5' cy='19' r='1.6'/%3E%3Ccircle cx='17.5' cy='19' r='1.6'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

#header .navigation-buttons .btn.cart-count i,
[data-testid="headerCartCount"] {
    position: absolute !important;
    left: 20px !important;
    top: -8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 20px !important;
    height: 20px !important;
    padding: 0 5px !important;
    border-radius: 999px !important;
    background: var(--bvm-yellow) !important;
    color: var(--bvm-navy) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    font-style: normal !important;
}

#header .navigation-buttons .cart-price {
    display: inline-block !important;
    color: var(--bvm-navy) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
}

/* ==========================================================================
   3. Hlavní navigace – tmavě modrý pruh přes celou šířku
   ========================================================================== */

/* Desktopová podoba menu; pod 768 px je #navigation off-canvas panel šablony,
   takže se do něj nesmí sáhnout (jinak z něj box-shadow udělá modrou plochu). */
@media (min-width: 768px) {
#navigation {
    background: var(--bvm-navy) !important;
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    clip-path: inset(0 -100vmax) !important;
    box-shadow: 0 0 0 100vmax var(--bvm-navy) !important;
}

#navigation,
#navigation .navigation-in,
#navigation .menu-level-1 {
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
    max-height: none !important;
    height: auto !important;
}

/* šablona dává .navigation-in position:absolute – nav pak má nulovou výšku */
#navigation .navigation-in {
    position: static !important;
    display: block !important;
    width: 100% !important;
    background: transparent !important;
    border: 0 !important;
}

#navigation .menu-level-1 {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    background: transparent !important;
}

/* kategorie patří do levého sloupce, ne do horního menu */
#navigation .menu-level-1 > li.appended-category {
    display: none !important;
}

/* Shoptet JS schovává položky, které se mu „nevejdou“ – vracíme je zpět */
#navigation .menu-level-1 > li:not(.appended-category) {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    float: none !important;
    width: auto !important;
    max-width: none !important;
    background: none !important;
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

#navigation .menu-level-1 > li > a {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    padding: 15px 22px !important;
    background: transparent !important;
    border: 0 !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    text-indent: 0 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

#navigation .menu-level-1 > li > a b {
    display: inline !important;
    visibility: visible !important;
    font-size: inherit !important;
    font-weight: 400 !important;
    color: inherit !important;
}

#navigation .menu-level-1 > li > a:hover,
#navigation .menu-level-1 > li:hover > a,
#navigation .menu-level-1 > li.active > a {
    background: rgba(255, 255, 255, .08) !important;
    color: var(--bvm-yellow) !important;
}

#navigation .menu-level-1 > li > a:hover b,
#navigation .menu-level-1 > li:hover > a b {
    color: var(--bvm-yellow) !important;
}

#navigation .menu-level-2 {
    display: none !important;
}

/* skrýváme jen mobilní hamburger, ne pomocné seznamy uvnitř navigace */
.overall-wrapper > .menu-helper {
    display: none !important;
}

/* pokud JS položky přesune do pomocného seznamu, zobrazíme ho v řádku menu */
#navigation .menu-helper {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    position: static !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    list-style: none !important;
}

#navigation .menu-helper > li:not(.appended-category) > a {
    display: block !important;
    padding: 15px 22px !important;
    color: #fff !important;
    font-size: 14px !important;
    white-space: nowrap !important;
    text-decoration: none !important;
}
}

/* pomocný „…“ seznam přetečených položek nechceme nikde */
.overall-wrapper > .menu-helper {
    display: none !important;
}

/* ==========================================================================
   3b. Drobečková navigace
   ========================================================================== */

/* pruh přes celou šířku, který odděluje menu od obsahu stránky */
.breadcrumbs-wrapper {
    position: relative !important;
    margin: 0 auto 22px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Bootstrap clearfix ze šablony (.container:before { content:" "; display:table })
   nám do tohohle pseudoelementu mluví – proto explicitní display i box-sizing. */
.breadcrumbs-wrapper::before {
    content: "" !important;
    display: block !important;
    box-sizing: border-box !important;
    float: none !important;
    clear: none !important;
    position: absolute !important;
    z-index: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 50% !important;
    width: 100vw !important;
    transform: translateX(-50%) !important;
    background: var(--bvm-bg-soft) !important;
    border-bottom: 1px solid var(--bvm-line) !important;
    box-shadow: 0 4px 10px rgba(11, 31, 110, .07) !important;
}

.breadcrumbs {
    position: relative !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 6px 20px 6px 62px !important;
    z-index: 1 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    color: var(--bvm-muted) !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}

.breadcrumbs > span {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* šablona si kreslí vlastní ikonu domečku na .breadcrumbs::before a k položkám
   vlastní šipky – všechno tohle vypínáme, ikonu i šipky kreslíme sami */
.breadcrumbs.navigation-home-icon-wrapper::before,
.breadcrumbs.navigation-home-icon-wrapper::after,
.breadcrumbs::before,
.breadcrumbs::after,
.breadcrumbs > span::before,
.breadcrumbs > span::after,
.breadcrumbs a:not(.navigation-home-icon)::before,
.breadcrumbs a:not(.navigation-home-icon)::after,
.breadcrumbs .navigation-home-icon::after {
    content: none !important;
    display: none !important;
}

/* domeček v modrém čtverci u levého okraje */
.breadcrumbs > span#navigation-first {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 46px !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 !important;
}

.breadcrumbs > span#navigation-first > a.navigation-home-icon {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    background: var(--bvm-navy) !important;
    border: 0 !important;
    border-radius: 0 !important;
}

.breadcrumbs > span#navigation-first > a.navigation-home-icon::before {
    content: "" !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    rotate: none !important;
    font-size: 0 !important;
    display: block !important;
    flex: 0 0 20px !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 10.5 12 3.5l8.5 7'/%3E%3Cpath d='M5.5 9.6V20h13V9.6'/%3E%3Cpath d='M9.8 20v-5.4h4.4V20'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

.breadcrumbs > span#navigation-first > a.navigation-home-icon:hover {
    background: var(--bvm-navy-dark) !important;
}

.breadcrumbs > span#navigation-first .navigation-bullet {
    display: none !important;
}

/* lomítko ze šablony nahrazujeme šipkou */
.breadcrumbs .navigation-bullet {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 0 13px !important;
    overflow: visible !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: 0 !important;
}

/* stejná šipka jako u kategorií v levém sloupci */
.breadcrumbs .navigation-bullet::before {
    content: "" !important;
    display: block !important;
    box-sizing: content-box !important;
    flex: 0 0 8px !important;
    width: 8px !important;
    min-width: 8px !important;
    height: 8px !important;
    border: 0 !important;
    border-right: 2px solid #b7bfd4 !important;
    border-top: 2px solid #b7bfd4 !important;
    border-radius: 1px !important;
    background: none !important;
    transform: rotate(45deg) !important;
}

.breadcrumbs a {
    color: var(--bvm-muted) !important;
    font-weight: 400 !important;
    text-decoration: none !important;
}

.breadcrumbs a:hover {
    color: var(--bvm-navy) !important;
}

/* první úroveň a aktuální stránka tmavě a tučně */
.breadcrumbs > span#navigation-1 a,
.breadcrumbs > span:last-child {
    color: var(--bvm-navy) !important;
    font-weight: 700 !important;
}

.breadcrumbs > span:last-child .appendix {
    display: none !important;
}

@media (max-width: 767px) {
    /* pruh na mobilu jde od kraje ke kraji */
    .breadcrumbs-wrapper.container {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .breadcrumbs {
        min-height: 42px !important;
        padding: 6px 12px 6px 54px !important;
        font-size: 13px !important;
    }

    .breadcrumbs > span#navigation-first {
        width: 42px !important;
    }

    .breadcrumbs > span#navigation-first > a.navigation-home-icon::before {
        flex-basis: 18px !important;
        width: 18px !important;
        height: 18px !important;
    }

    .breadcrumbs .navigation-bullet {
        padding: 0 7px !important;
    }
}

/* ==========================================================================
   4. Rozvržení obsahu – levý sloupec + obsah
   ========================================================================== */

#content-wrapper {
    padding-top: 26px !important;
    padding-bottom: 40px !important;
}

.content-wrapper-in {
    display: flex !important;
    align-items: flex-start !important;
    gap: 26px !important;
}

.content-wrapper-in .sidebar.sidebar-left {
    flex: 0 0 300px !important;
    width: 300px !important;
    max-width: 300px !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

#content.content {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: 100% !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.content-wrapper-in .sidebar.sidebar-left,
.content-wrapper-in .sidebar-left .sidebar-inner {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.sidebar-inner {
    padding: 0 !important;
}

/* Boxy v levém sloupci */
.sidebar .box {
    background: #fff !important;
    border: 1px solid var(--bvm-line) !important;
    border-radius: var(--bvm-radius) !important;
    box-shadow: var(--bvm-shadow) !important;
    padding: 20px 16px !important;
    margin: 0 0 22px !important;
}

.sidebar .box .pageElement__heading,
.sidebar .box h3 {
    margin: 0 0 14px !important;
    padding: 0 8px !important;
    border: 0 !important;
    background: none !important;
    color: var(--bvm-navy) !important;
    font-family: "PT Sans", Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: .09em !important;
    text-transform: uppercase !important;
}

/* ==========================================================================
   5. Strom kategorií
   ========================================================================== */

#categories .categories {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
}

#categories .topic {
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
}

#categories .topic > a {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 11px 30px 11px 12px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: var(--bvm-text) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
    text-transform: none !important;
}

/* ikony u kategorií se nepoužívají */
#categories .topic > a::before {
    content: none !important;
    display: none !important;
}

/* šipka je v šabloně absolutně pozicovaná – přepisujeme ji na pravý okraj */
#categories .topic > a > .cat-trigger,
#categories .cat-trigger {
    box-sizing: content-box !important;
    position: absolute !important;
    right: 14px !important;
    left: auto !important;
    top: 50% !important;
    bottom: auto !important;
    display: block !important;
    float: none !important;
    margin: -5px 0 0 !important;
    width: 8px !important;
    height: 8px !important;
    min-width: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    border-right: 2px solid #b7bfd4 !important;
    border-top: 2px solid #b7bfd4 !important;
    border-radius: 1px !important;
    transform: rotate(45deg) !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: 0 !important;
    overflow: hidden !important;
}

#categories .topic > a > .cat-trigger::before,
#categories .topic > a > .cat-trigger::after {
    content: none !important;
    display: none !important;
}

#categories .topic > a:hover,
#categories .categories.active > .topic > a {
    background: var(--bvm-bg-soft) !important;
    color: var(--bvm-navy) !important;
    font-weight: 600 !important;
}

#categories .topic > a:hover .cat-trigger,
#categories .categories.active > .topic > a .cat-trigger {
    border-color: var(--bvm-yellow) !important;
}

#categories .categories .categories {
    display: none !important;
}

/* rozbalený strom podkategorií */
#categories ul {
    margin: 0 0 6px !important;
    padding: 0 0 0 10px !important;
    list-style: none !important;
}

#categories ul li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    background: none !important;
}

#categories ul li > a {
    position: relative !important;
    display: block !important;
    padding: 9px 30px 9px 12px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: var(--bvm-text) !important;
    font-size: 13px !important;
    text-decoration: none !important;
}

#categories ul li > a:hover,
#categories ul li.active > a {
    background: var(--bvm-bg-soft) !important;
    color: var(--bvm-navy) !important;
    font-weight: 600 !important;
}

/* ==========================================================================
   6. TOP 10 produktů
   ========================================================================== */

.box-topProducts .top-products {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    counter-reset: bvmtop !important;
}

.box-topProducts .top-products > li {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    margin: 0 !important;
    padding: 8px 8px 8px 34px !important;
    border: 0 !important;
    list-style: none !important;
}

.box-topProducts .top-products > li::before {
    counter-increment: bvmtop !important;
    content: counter(bvmtop) !important;
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    border-radius: 50% !important;
    background: var(--bvm-yellow) !important;
    color: var(--bvm-navy) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.box-topProducts .top-products-image {
    flex: 0 0 62px !important;
    width: 62px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.box-topProducts .top-products-image img {
    width: 100% !important;
    height: auto !important;
}

.box-topProducts .top-products-content {
    display: block !important;
    text-decoration: none !important;
}

.box-topProducts .top-products-name {
    display: block !important;
    margin-bottom: 6px !important;
    color: var(--bvm-text) !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

.box-topProducts .top-products-content strong {
    color: var(--bvm-navy) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
}

/* ==========================================================================
   7. Online platby
   ========================================================================== */

.box-onlinePayments p {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 22px !important;
    margin: 0 !important;
    padding: 6px 0 !important;
}

.box-onlinePayments img {
    max-height: 34px !important;
    width: auto !important;
}

/* ==========================================================================
   8. Bannery nad obsahem
   ========================================================================== */

#content > h1,
#content .sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
}

.banners-row {
    display: flex !important;
    align-items: stretch !important;
    gap: 22px !important;
    margin: 0 0 22px !important;
}

.banners-row > .col-sm-8 {
    flex: 2 1 0 !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    float: none !important;
}

.banners-row > .col-sm-4 {
    flex: 1 1 0 !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    float: none !important;
}

#carousel.carousel {
    height: 100% !important;
    margin: 0 !important;
    border-radius: var(--bvm-radius) !important;
    overflow: hidden !important;
}

#carousel .carousel-inner {
    height: 100% !important;
    aspect-ratio: 690 / 445 !important;
    border-radius: var(--bvm-radius) !important;
    overflow: hidden !important;
}

#carousel .item {
    height: 100% !important;
}

#carousel .item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
}

#carousel .carousel-control {
    background: none !important;
    opacity: 0 !important;
    transition: opacity .2s !important;
}

#carousel:hover .carousel-control {
    opacity: .5 !important;
}

.next-to-carousel-banners {
    display: flex !important;
    flex-direction: column !important;
    gap: 22px !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.next-to-carousel-banners .banner-wrapper {
    flex: 1 1 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: var(--bvm-radius) !important;
    overflow: hidden !important;
    min-height: 0 !important;
}

.next-to-carousel-banners .banner-wrapper > a {
    display: block !important;
    height: 100% !important;
}

.next-to-carousel-banners .banner-wrapper img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.extended-banner-texts {
    display: none !important;
}

/* ==========================================================================
   9. Pruh s benefity
   ========================================================================== */

.benefitBanner.position--benefitHomepage,
.benefitBanner.position--benefitProduct {
    display: flex !important;
    align-items: stretch !important;
    gap: 0 !important;
    margin: 0 0 34px !important;
    padding: 20px 10px !important;
    border: 0 !important;
    border-radius: var(--bvm-radius) !important;
    background: var(--bvm-bg-soft) !important;
}

/* na detailu produktu je to bílá karta jako ostatní bloky */
.benefitBanner.position--benefitProduct {
    margin: 0 0 26px !important;
    border: 1px solid var(--bvm-line) !important;
    background: #fff !important;
    box-shadow: var(--bvm-shadow) !important;
}

.benefitBanner__item {
    flex: 1 1 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 18px !important;
    margin: 0 !important;
    padding: 6px 26px !important;
    border: 0 !important;
    text-align: left !important;
}

.benefitBanner__item + .benefitBanner__item {
    border-left: 1px solid #dfe4ef !important;
}

.benefitBanner__picture {
    flex: 0 0 46px !important;
    width: 46px !important;
    margin: 0 !important;
}

.benefitBanner__picture img {
    width: 100% !important;
    height: auto !important;
}

.benefitBanner__content {
    margin: 0 !important;
}

.benefitBanner__title {
    display: block !important;
    color: var(--bvm-navy) !important;
    font-family: "PT Sans", Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

.benefitBanner__data {
    color: var(--bvm-text) !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
}

/* ==========================================================================
   10. Nadpis skupiny produktů
   ========================================================================== */

.homepage-group-title {
    margin: 0 0 22px !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    color: var(--bvm-navy) !important;
    font-family: "PT Sans", Arial, sans-serif !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    text-align: center !important;
    text-transform: none !important;
}

/* ==========================================================================
   11. Produktové dlaždice
   ========================================================================== */

.products.products-block {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 22px !important;
    margin: 0 0 34px !important;
    padding: 0 !important;
}

.products.products-block > .product {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    border: 0 !important;
}

.products.products-block .p {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 16px 18px 18px !important;
    border: 1px solid var(--bvm-line) !important;
    border-radius: var(--bvm-radius) !important;
    background: #fff !important;
    box-shadow: none !important;
    transition: box-shadow .2s, border-color .2s !important;
}

.products.products-block .p:hover {
    border-color: #cfd6e8 !important;
    box-shadow: 0 6px 20px rgba(11, 31, 110, .10) !important;
}

.products.products-block .p-code {
    order: -1 !important;
    align-self: flex-end !important;
    margin: 0 0 4px !important;
    padding: 0 !important;
    color: var(--bvm-muted) !important;
    font-size: 12px !important;
}

.products.products-block .p > a.image {
    order: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 190px !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
}

.products.products-block .p > a.image img {
    max-width: 100% !important;
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}

.products.products-block .p-in {
    order: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
}

.products.products-block .p-in-in {
    padding: 0 !important;
}

.products.products-block a.name {
    display: block !important;
    margin: 0 0 12px !important;
    color: var(--bvm-navy) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    text-align: left !important;
    text-decoration: none !important;
    min-height: 42px !important;
}

.products.products-block a.name:hover {
    color: var(--bvm-navy-dark) !important;
    text-decoration: underline !important;
}

.products.products-block .stars-placeholder,
.products.products-block .stars,
.products.products-block .p-desc,
.products.products-block .flags,
.products.products-block .p-bottom .prices .price-standard {
    display: none !important;
}

/* dostupnost pod názvem, tlačítko do košíku je až pod ní */
.products.products-block .ratings-wrapper {
    position: static !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    border: 0 !important;
}

.products.products-block .availability {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    text-align: left !important;
}

.products.products-block .p-bottom {
    margin-top: auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
}

.products.products-block .prices {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    margin: 0 !important;
    padding: 0 !important;
}

.products.products-block .price-final {
    order: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--bvm-navy) !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
}

.products.products-block .price-final strong {
    color: var(--bvm-navy) !important;
    font-size: inherit !important;
    font-weight: 700 !important;
}

.products.products-block .price-additional {
    order: 1 !important;
    margin: 4px 0 0 !important;
    padding: 0 !important;
    color: var(--bvm-muted) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
}

/* tlačítko Do košíku pod dostupností, celou šířkou dlaždice */
.products.products-block .p-tools {
    position: static !important;
    margin: 14px 0 0 !important;
    padding: 0 !important;
    display: flex !important;
    justify-content: stretch !important;
}

.products.products-block .p-tools .btn,
.products.products-block .p-tools .btn-primary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 38px !important;
    padding: 0 16px !important;
    border: 0 !important;
    border-radius: 4px !important;
    background: var(--bvm-navy) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    box-shadow: none !important;
}



.products.products-block .p-tools .btn:hover {
    background: var(--bvm-navy-dark) !important;
    color: #fff !important;
}

/* ==========================================================================
   11b. Detail produktu
   ========================================================================== */

.p-detail .row.product-top {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 22px !important;
    margin: 0 0 26px !important;
}

/* stejný clearfix jako u náhledů: .row::before/::after se ve flexu chovají
   jako položky a s gapem odsazují karty o 22 px z každé strany */
.p-detail .row.product-top::before,
.p-detail .row.product-top::after {
    content: none !important;
    display: none !important;
}

.p-detail .row.product-top > .col-xs-12 {
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    float: none !important;
}

/* pojistka, kdyby JS neběžel: prázdný sloupec po hodnocení nemá zabírat místo */
.p-detail .row.product-top > .col-xs-12:not(.p-image-wrapper):not(.p-info-wrapper) {
    flex: 0 0 100% !important;
    width: 100% !important;
}

.p-detail .row.product-top > .p-image-wrapper,
.p-detail .row.product-top > .p-info-wrapper {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 0 !important;
    min-width: 0 !important;
    margin: 0 !important;
    border: 1px solid var(--bvm-line) !important;
    border-radius: var(--bvm-radius) !important;
    background: #fff !important;
    box-shadow: var(--bvm-shadow) !important;
}

.p-detail .row.product-top > .p-image-wrapper {
    padding: 22px !important;
}

.p-detail .row.product-top > .p-info-wrapper {
    padding: 28px 30px !important;
}

/* galerie vyplní kartu na výšku, náhledy zůstanou dole */
.p-detail .p-image {
    flex: 1 1 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.p-detail .p-main-image {
    width: 100% !important;
    height: 100% !important;
}

/* --- galerie ------------------------------------------------------------- */

.p-detail .p-image {
    position: relative !important;
    margin: 0 !important;
}

.p-detail .p-main-image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 420px !important;
    margin: 0 !important;
    padding: 10px !important;
    border: 0 !important;
    background: none !important;
}

.p-detail .p-main-image img {
    max-width: 100% !important;
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}

/* kolečko s lupou v rohu */
.p-detail .p-image::after {
    content: "" !important;
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b1f6e' stroke-width='1.7' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.4 15.4 21 21M10.5 7.6v5.8M7.6 10.5h5.8'/%3E%3C/svg%3E") center / 20px 20px no-repeat !important;
    box-shadow: 0 2px 10px rgba(11, 31, 110, .14) !important;
    pointer-events: none !important;
}

.p-detail .p-thumbnails-wrapper {
    margin: 18px 0 0 !important;
    padding: 0 !important;
}

.p-detail .p-thumbnails {
    position: relative !important;
    margin: 0 !important;
    padding: 10px 44px !important;
    border: 1px solid var(--bvm-line) !important;
    border-radius: 10px !important;
    background: #fff !important;
}

.p-detail .p-thumbnails-inner {
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    margin: 0 !important;
    transform: none !important;
}

.p-detail .p-thumbnails-inner > div {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    transform: none !important;
}

/* clearfix pseudoprvky ze šablony se ve flexu chovají jako položky a rozhazují
   zarovnání i kreslí linku – vypínáme je v celé galerii */
.p-detail .p-thumbnails::before,
.p-detail .p-thumbnails::after,
.p-detail .p-thumbnails-wrapper::before,
.p-detail .p-thumbnails-wrapper::after,
.p-detail .p-thumbnails-inner::before,
.p-detail .p-thumbnails-inner::after,
.p-detail .p-thumbnails-inner > div::before,
.p-detail .p-thumbnails-inner > div::after,
.p-detail a.p-thumbnail::before,
.p-detail a.p-thumbnail::after {
    content: none !important;
    display: none !important;
}

.p-detail a.p-thumbnail {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 96px !important;
    height: 84px !important;
    margin: 0 !important;
    padding: 6px !important;
    border: 1px solid var(--bvm-line) !important;
    border-radius: 8px !important;
    background: #fff !important;
    opacity: 1 !important;
}

/* rámeček má jen odkaz, obrázek uvnitř ho v šabloně má taky – vypínáme */
.p-detail a.p-thumbnail img {
    max-width: 100% !important;
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
    object-fit: contain !important;
}

.p-detail a.p-thumbnail.highlighted,
.p-detail a.p-thumbnail:hover {
    border: 2px solid var(--bvm-navy) !important;
    padding: 5px !important;
}

.p-detail .thumbnail-prev,
.p-detail .thumbnail-next {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 30px !important;
    height: 30px !important;
    margin: 0 !important;
    border: 0 !important;
    background: none !important;
    color: transparent !important;
    font-size: 0 !important;
}

.p-detail .thumbnail-prev { left: 6px !important; }
.p-detail .thumbnail-next { right: 6px !important; }

.p-detail .thumbnail-prev::before,
.p-detail .thumbnail-next::before {
    content: "" !important;
    box-sizing: content-box !important;
    width: 9px !important;
    height: 9px !important;
    border: 0 !important;
    border-right: 2px solid var(--bvm-navy) !important;
    border-top: 2px solid var(--bvm-navy) !important;
    background: none !important;
}

.p-detail .thumbnail-next::before { transform: rotate(45deg) !important; }
.p-detail .thumbnail-prev::before { transform: rotate(-135deg) !important; }

/* --- pravý sloupec ------------------------------------------------------- */

.p-detail .p-info-wrapper h1 {
    margin: 0 0 10px !important;
    padding: 0 !important;
    border: 0 !important;
    color: var(--bvm-navy) !important;
    font-family: "PT Sans", Arial, sans-serif !important;
    font-size: 30px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

.p-detail .p-info-wrapper .p-code {
    display: block !important;
    margin: 0 0 12px !important;
    color: var(--bvm-muted) !important;
    font-size: 14px !important;
}

.p-detail .p-info-wrapper .p-detail-info {
    margin: 0 !important;
    padding: 0 !important;
}

.p-detail .stars-wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.p-detail .stars-label,
.p-detail .js-ratingDialogTrigger {
    color: var(--bvm-muted) !important;
    font-size: 14px !important;
    text-decoration: none !important;
}

.p-detail .p-final-price-wrapper {
    margin: 20px 0 0 !important;
    padding: 20px 0 0 !important;
    border-top: 1px solid var(--bvm-line) !important;
}

.p-detail .price-final,
.p-detail .price-final-holder {
    color: var(--bvm-navy) !important;
    font-size: 34px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
}

.p-detail .availability-value {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 10px 0 0 !important;
    font-size: 15px !important;
}

/* fajfka před dostupností se nezobrazuje */
.p-detail .availability-value::before,
.p-detail .availability-value::after {
    content: none !important;
    display: none !important;
}

.p-detail .availability-value .availability-label,
.p-detail .availability-value .availability-amount {
    font-weight: 400 !important;
}

/* množství + do košíku */
.p-detail .add-to-cart {
    display: flex !important;
    align-items: stretch !important;
    gap: 16px !important;
    margin: 22px 0 0 !important;
    padding: 0 !important;
}

.p-detail .add-to-cart .quantity {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    width: 132px !important;
    height: 56px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--bvm-line) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

.p-detail .add-to-cart .quantity input,
.p-detail .add-to-cart .quantity label input {
    order: 2 !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
    background: none !important;
    color: var(--bvm-navy) !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    text-align: center !important;
    box-shadow: none !important;
}

.p-detail .add-to-cart .quantity .decrease,
.p-detail .add-to-cart .quantity .increase {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 40px !important;
    width: 40px !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    color: var(--bvm-navy) !important;
    font-size: 20px !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

.p-detail .add-to-cart .quantity .decrease { order: 1 !important; }
.p-detail .add-to-cart .quantity .increase { order: 3 !important; }

/* pole s množstvím je v šabloně obalené v <label> */
.p-detail .add-to-cart .quantity label {
    order: 2 !important;
    flex: 1 1 auto !important;
    display: block !important;
    width: auto !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.p-detail .add-to-cart .quantity .increase__sign,
.p-detail .add-to-cart .quantity .decrease__sign {
    display: block !important;
    color: var(--bvm-navy) !important;
    font-family: "Open Sans", Arial, sans-serif !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
}

.p-detail .add-to-cart .quantity .increase-tooltip,
.p-detail .add-to-cart .quantity .decrease-tooltip {
    display: none !important;
}

/* šablona k tlačítkům přidává ještě vlastní ikonu z fontu – nechceme dvakrát */
.p-detail .add-to-cart .quantity .increase::before,
.p-detail .add-to-cart .quantity .decrease::before,
.p-detail .add-to-cart .quantity .increase::after,
.p-detail .add-to-cart .quantity .decrease::after {
    content: none !important;
    display: none !important;
}

/* šipky číselníku z prohlížeče pryč */
.p-detail .add-to-cart .quantity input[type="number"] {
    -moz-appearance: textfield !important;
    appearance: textfield !important;
}

.p-detail .add-to-cart .quantity input::-webkit-outer-spin-button,
.p-detail .add-to-cart .quantity input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    appearance: none !important;
    margin: 0 !important;
}

.p-detail .add-to-cart .quantity .decrease:hover,
.p-detail .add-to-cart .quantity .increase:hover {
    color: var(--bvm-navy-dark) !important;
    background: var(--bvm-bg-soft) !important;
}

.p-detail .add-to-cart-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    flex: 1 1 auto !important;
    height: 56px !important;
    padding: 0 28px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: var(--bvm-navy) !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: none !important;
    box-shadow: none !important;
}

.p-detail .add-to-cart-button::before {
    content: "" !important;
    box-sizing: content-box !important;
    width: 24px !important;
    height: 24px !important;
    font-family: inherit !important;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 3h2.2l2.3 11.2h10.5l2-7.6H6.2'/%3E%3Ccircle cx='9.5' cy='19' r='1.6'/%3E%3Ccircle cx='17.5' cy='19' r='1.6'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

.p-detail .add-to-cart-button:hover {
    background: var(--bvm-navy-dark) !important;
}

.p-detail .p-short-description {
    margin: 20px 0 0 !important;
    color: var(--bvm-text) !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
}

.p-detail .p-short-description + p {
    margin: 6px 0 0 !important;
}

.p-detail .p-short-description + p a {
    color: var(--bvm-navy) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

/* řádek s nástroji */
.p-detail .social-buttons-wrapper {
    margin: 22px 0 0 !important;
    /* karta je flex sloupec – nástroje drží dole */
    padding: 18px 0 0 !important;
    border-top: 1px solid var(--bvm-line) !important;
    margin-top: auto !important;
}

.p-detail .link-icons {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.p-detail .link-icon {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    border-right: 1px solid var(--bvm-line) !important;
    color: var(--bvm-navy) !important;
    font-size: 14px !important;
    text-decoration: none !important;
}

.p-detail .link-icon span {
    display: inline-flex !important;
    align-items: center !important;
    line-height: 1 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

/* ikona a text na jedné ose */
.p-detail .link-icon::before,
.p-detail .link-icon::after {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 18px !important;
    margin: 0 !important;
    font-size: 18px !important;
    line-height: 1 !important;
    vertical-align: middle !important;
}

.p-detail .link-icon:first-child { padding-left: 0 !important; }
.p-detail .link-icon:last-child { border-right: 0 !important; padding-right: 0 !important; }

.p-detail .link-icon:hover {
    color: var(--bvm-navy-dark) !important;
}

/* --- záložky ------------------------------------------------------------- */

.p-detail-tabs-wrapper {
    margin: 0 0 22px !important;
}

/* řádky/sloupce pod detailem mají bootstrapové odsazení – srovnáváme s kartami */
.p-detail-tabs-wrapper > .row,
.p-detail-tabs-wrapper .shp-tabs-row,
.p-detail-tabs-wrapper > .row > .col-sm-12,
#tab-content,
#tab-content > .tab-pane {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: auto !important;
    float: none !important;
}

.p-detail-tabs-wrapper .shp-tabs-row,
.p-detail-tabs-wrapper .shp-tabs-holder {
    background: none !important;
    border: 0 !important;
    padding: 0 !important;
}

.p-detail-tabs-wrapper .shp-tabs-holder {
    border-bottom: 1px solid var(--bvm-line) !important;
}

ul.p-detail-tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 28px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    list-style: none !important;
}

ul.p-detail-tabs .shp-tab {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
}

ul.p-detail-tabs .shp-tab-link {
    display: block !important;
    padding: 12px 2px !important;
    border: 0 !important;
    border-bottom: 3px solid transparent !important;
    background: none !important;
    color: var(--bvm-muted) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

ul.p-detail-tabs .shp-tab.active .shp-tab-link,
ul.p-detail-tabs .shp-tab-link:hover {
    color: var(--bvm-navy) !important;
    border-bottom-color: var(--bvm-navy) !important;
}

/* --- popis a parametry --------------------------------------------------- */

#description .description-inner {
    display: grid !important;
    padding: 0 !important;
    margin: 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: start !important;
    gap: 22px !important;
}

#description .basic-description,
#description .extended-description {
    margin: 0 !important;
    padding: 24px 26px !important;
    border: 1px solid var(--bvm-line) !important;
    border-radius: var(--bvm-radius) !important;
    background: #fff !important;
    box-shadow: var(--bvm-shadow) !important;
    color: var(--bvm-text) !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
}

#description .basic-description > h3,
#description .extended-description > h3 {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    border: 0 !important;
    color: var(--bvm-navy) !important;
    font-family: "PT Sans", Arial, sans-serif !important;
    font-size: 19px !important;
    font-weight: 700 !important;
}

#description .basic-description > h3::before,
#description .extended-description > h3::before {
    content: "" !important;
    box-sizing: content-box !important;
    flex: 0 0 22px !important;
    width: 22px !important;
    height: 22px !important;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b1f6e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4.5' y='3' width='15' height='18' rx='2'/%3E%3Cpath d='M8 8h8M8 12h8M8 16h5'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

#description .extended-description > h3::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b1f6e' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M6 3v8M6 15v6M12 3v4M12 11v10M18 3v12M18 19v2'/%3E%3Ccircle cx='6' cy='13' r='2'/%3E%3Ccircle cx='12' cy='9' r='2'/%3E%3Ccircle cx='18' cy='17' r='2'/%3E%3C/svg%3E") !important;
}

#description .basic-description ul {
    margin: 10px 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

#description .basic-description ul > li {
    position: relative !important;
    margin: 0 0 6px !important;
    padding: 0 0 0 18px !important;
    list-style: none !important;
}

#description .basic-description ul > li::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 10px !important;
    width: 6px !important;
    height: 6px !important;
    border-radius: 50% !important;
    background: var(--bvm-yellow) !important;
}

#description .basic-description strong {
    color: var(--bvm-navy) !important;
}

#description .detail-parameters {
    width: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    border-collapse: collapse !important;
}

#description .detail-parameters tr {
    border-bottom: 1px solid #eef0f6 !important;
}

#description .detail-parameters tr:last-child {
    border-bottom: 0 !important;
}

#description .detail-parameters th,
#description .detail-parameters td {
    padding: 11px 0 !important;
    border: 0 !important;
    background: none !important;
    vertical-align: middle !important;
}

#description .detail-parameters th {
    color: var(--bvm-muted) !important;
    font-weight: 400 !important;
    text-align: left !important;
}

#description .detail-parameters td,
#description .detail-parameters td a {
    color: var(--bvm-navy) !important;
    font-weight: 700 !important;
    text-align: right !important;
    text-decoration: none !important;
}

@media (max-width: 991px) {
    /* karty pod sebe – stejná specificita jako u desktopových pravidel */
    .p-detail .row.product-top {
        flex-direction: column !important;
        gap: 16px !important;
    }

    .p-detail .row.product-top > .p-image-wrapper,
    .p-detail .row.product-top > .p-info-wrapper {
        flex: 0 0 auto !important;
        width: 100% !important;
    }

    .p-detail .row.product-top > .p-image-wrapper {
        padding: 16px !important;
    }

    .p-detail .row.product-top > .p-info-wrapper {
        padding: 20px !important;
    }

    .p-detail .p-image {
        flex: 0 0 auto !important;
    }

    .p-detail .p-main-image {
        height: 300px !important;
    }

    .p-detail .p-info-wrapper h1 {
        font-size: 24px !important;
        line-height: 1.3 !important;
    }

    .p-detail .price-final,
    .p-detail .price-final-holder {
        font-size: 28px !important;
    }

    /* nástroje drží u obsahu, ne na dně karty */
    .p-detail .social-buttons-wrapper {
        margin-top: 20px !important;
    }

    #description .description-inner {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 16px !important;
    }

    #description .basic-description,
    #description .extended-description {
        padding: 18px 20px !important;
    }
}

@media (max-width: 767px) {
    .p-detail .row.product-top > .p-info-wrapper {
        padding: 18px !important;
    }

    .p-detail .p-info-wrapper h1 {
        font-size: 21px !important;
    }

    .p-detail .stars-wrapper {
        flex-wrap: wrap !important;
        gap: 8px 12px !important;
    }

    .p-detail .p-main-image {
        height: 240px !important;
    }

    .p-detail .p-image::after {
        width: 36px !important;
        height: 36px !important;
        background-size: 17px 17px !important;
    }

    .p-detail a.p-thumbnail {
        width: 74px !important;
        height: 66px !important;
    }

    .p-detail .p-thumbnails {
        padding: 8px 34px !important;
    }

    .p-detail .add-to-cart {
        flex-wrap: wrap !important;
        gap: 12px !important;
    }

    .p-detail .add-to-cart .quantity {
        height: 50px !important;
        width: 118px !important;
    }

    .p-detail .add-to-cart-button {
        flex: 1 1 100% !important;
        height: 50px !important;
        font-size: 15px !important;
    }

    /* řádek nástrojů se na úzkém displeji láme – bez svislých čárek */
    .p-detail .link-icons {
        gap: 12px 0 !important;
    }

    .p-detail .link-icon {
        flex: 1 1 50% !important;
        padding: 0 !important;
        border-right: 0 !important;
        font-size: 13px !important;
    }

    ul.p-detail-tabs {
        justify-content: center !important;
        gap: 20px !important;
    }

    ul.p-detail-tabs .shp-tab-link {
        font-size: 15px !important;
    }

    /* nástroje na střed */
    .p-detail .link-icons {
        justify-content: center !important;
    }

    .p-detail .link-icon {
        justify-content: center !important;
    }

    .benefitBanner.position--benefitProduct {
        padding: 16px 18px !important;
    }
}

/* ==========================================================================
   11c. Výpis kategorie
   ========================================================================== */

.category-top {
    margin: 0 0 30px !important;
}

h1.category-title,
.products-top-wrapper .products-top-header {
    position: relative !important;
    margin: 0 0 30px !important;
    padding: 0 0 14px !important;
    border: 0 !important;
    background: none !important;
    color: var(--bvm-navy) !important;
    font-family: "PT Sans", Arial, sans-serif !important;
    font-size: 34px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-align: left !important;
    text-transform: none !important;
}

.products-top-wrapper .products-top-header {
    font-size: 26px !important;
    margin: 34px 0 22px !important;
}

h1.category-title::after,
.products-top-wrapper .products-top-header::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    bottom: 0 !important;
    width: 52px !important;
    height: 4px !important;
    background: var(--bvm-yellow) !important;
}

/* --- dlaždice podkategorií ----------------------------------------------- */

ul.subcategories {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* šablona kreslí u dlaždic vlastní ikonu vlevo – šipku si děláme sami vpravo */
ul.subcategories::before,
ul.subcategories::after,
ul.subcategories > li::before,
ul.subcategories > li::after,
ul.subcategories > li > a::before,
ul.subcategories > li > a .text::before,
ul.subcategories > li > a .text::after {
    content: none !important;
    display: none !important;
}

ul.subcategories > li {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    border: 0 !important;
    background: none !important;
    list-style: none !important;
}

ul.subcategories > li > a {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 16px 42px 16px 20px !important;
    border: 1px solid var(--bvm-line) !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: var(--bvm-shadow) !important;
    color: var(--bvm-navy) !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    text-align: left !important;
    text-decoration: none !important;
    transition: border-color .2s, box-shadow .2s !important;
}

ul.subcategories > li > a:hover {
    border-color: #cfd6e8 !important;
    box-shadow: 0 6px 18px rgba(11, 31, 110, .10) !important;
}

ul.subcategories > li > a::after {
    content: "" !important;
    position: absolute !important;
    right: 20px !important;
    /* šablona nastavuje left: 0 – při zadaném left i right vyhraje left */
    left: auto !important;
    top: 50% !important;
    box-sizing: content-box !important;
    width: 8px !important;
    height: 8px !important;
    margin-top: -5px !important;
    border: 0 !important;
    border-right: 2px solid var(--bvm-navy) !important;
    border-top: 2px solid var(--bvm-navy) !important;
    background: none !important;
    transform: rotate(45deg) !important;
}

ul.subcategories > li > a .text {
    display: block !important;
    padding: 0 !important;
    color: inherit !important;
    font-size: inherit !important;
}

/* --- nejprodávanější (vodorovné karty) ----------------------------------- */

#productsTop.products-inline {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
}

#productsTop.products-inline > .product {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    border: 0 !important;
}

#productsTop.products-inline .p {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 18px !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 16px 20px !important;
    border: 1px solid var(--bvm-line) !important;
    border-radius: var(--bvm-radius) !important;
    background: #fff !important;
    box-shadow: var(--bvm-shadow) !important;
}

#productsTop.products-inline .p > a.image {
    flex: 0 0 116px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 116px !important;
    height: 104px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
}

#productsTop.products-inline .p > a.image img {
    max-width: 100% !important;
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}

#productsTop.products-inline .p-in {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
}

#productsTop.products-inline a.name {
    display: block !important;
    margin: 0 0 10px !important;
    min-height: 0 !important;
    color: var(--bvm-navy) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    text-align: left !important;
    text-decoration: none !important;
}

#productsTop.products-inline .ratings-wrapper {
    position: static !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

#productsTop.products-inline .availability {
    margin: 0 0 6px !important;
    color: var(--bvm-muted) !important;
    font-size: 14px !important;
    text-align: left !important;
}

#productsTop.products-inline .p-code,
#productsTop.products-inline .price-additional,
#productsTop.products-inline .price-standard-wrapper,
#productsTop.products-inline .extra-flags {
    display: none !important;
}

#productsTop.products-inline .p-bottom {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
}

#productsTop.products-inline .prices {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

#productsTop.products-inline .price-final,
#productsTop.products-inline .price-final strong {
    color: var(--bvm-navy) !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    text-align: left !important;
}

/* tlačítko "Zobrazit více produktů" */
.products-top-wrapper .button-wrapper {
    display: flex !important;
    justify-content: center !important;
    margin: 22px 0 0 !important;
}

.products-top-wrapper .toggle-top-products.btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-width: 0 !important;
    height: auto !important;
    padding: 8px 4px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    color: var(--bvm-navy) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    box-shadow: none !important;
}

.products-top-wrapper .toggle-top-products.btn:hover {
    background: none !important;
    color: var(--bvm-navy-dark) !important;
    text-decoration: underline !important;
}

/* --- lišta s řazením ----------------------------------------------------- */

#category-header.category-header {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    justify-content: space-between !important;
    gap: 0 !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
    border: 1px solid var(--bvm-line) !important;
    border-radius: var(--bvm-radius) !important;
    background: #fff !important;
    box-shadow: var(--bvm-shadow) !important;
    overflow: hidden !important;
}

#category-header .listSorting {
    display: flex !important;
    align-items: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
}

#category-header ul.listSorting__controls {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

#category-header ul.listSorting__controls > li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    display: flex !important;
}

#category-header .listSorting__control {
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 0 30px !important;
    border: 0 !important;
    border-right: 1px solid var(--bvm-line) !important;
    border-radius: 0 !important;
    background: none !important;
    color: var(--bvm-text) !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    text-transform: none !important;
    box-shadow: none !important;
    cursor: pointer !important;
}

#category-header .listSorting__control:hover {
    background: var(--bvm-bg-soft) !important;
    color: var(--bvm-navy) !important;
}

#category-header .listSorting__control--current {
    background: var(--bvm-navy) !important;
    border-bottom: 4px solid var(--bvm-yellow) !important;
    border-right: 0 !important;
    color: #fff !important;
    font-weight: 600 !important;
}

#category-header .listSorting__control--current:hover {
    background: var(--bvm-navy) !important;
    color: #fff !important;
}

#category-header .listItemsTotal {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 30px !important;
    color: var(--bvm-muted) !important;
    font-size: 15px !important;
}

#category-header .listItemsTotal strong {
    margin-right: 6px !important;
    color: var(--bvm-navy) !important;
    font-weight: 700 !important;
}

/* --- ovládací prvky výpisu (načíst další, stránkování, nahoru) ------------ */

.listingControls {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 18px !important;
    margin: 26px 0 0 !important;
    padding: 0 !important;
}

/* pořadí: načíst další → stránkování → nahoru → počet položek
   (šablona je má jinak a goToTop dokonce plave nad tlačítkem) */
.listingControls > * {
    position: static !important;
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}

.listingControls .loadMore   { order: 1 !important; }
.listingControls .pagination { order: 2 !important; }
.listingControls .goToTop    { order: 3 !important; }
.listingControls .itemsTotal { order: 4 !important; }

.listingControls .loadMore {
    padding: 0 !important;
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
}

.listingControls .loadMore__button,
.listingControls .goToTop__button,
.listingControls .pagination__link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    min-width: 0 !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 26px !important;
    border: 1px solid var(--bvm-line) !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: var(--bvm-navy) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-decoration: none !important;
    box-shadow: none !important;
    cursor: pointer !important;
}

.listingControls .loadMore__button:hover,
.listingControls .goToTop__button:hover,
.listingControls .pagination__link:hover {
    border-color: var(--bvm-navy) !important;
    background: var(--bvm-navy) !important;
    color: #fff !important;
}

/* hlavní akce – načíst další produkty */
.listingControls .loadMore__button {
    height: 52px !important;
    padding: 0 34px !important;
    border-color: var(--bvm-navy) !important;
    background: var(--bvm-navy) !important;
    color: #fff !important;
    font-size: 16px !important;
}

.listingControls .loadMore__button:hover {
    background: var(--bvm-navy-dark) !important;
    border-color: var(--bvm-navy-dark) !important;
}

/* stránkování */
.listingControls .pagination {
    margin: 0 !important;
    padding: 0 !important;
}

.listingControls .pagination__list {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.listingControls .pagination__list > li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.listingControls .pagination__list > li::before,
.listingControls .pagination__list > li::after {
    content: none !important;
    display: none !important;
}

.listingControls .pagination__currentPage {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 46px !important;
    height: 46px !important;
    padding: 0 14px !important;
    border-radius: 8px !important;
    background: var(--bvm-navy) !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

.listingControls .pagination__link {
    min-width: 46px !important;
    padding: 0 14px !important;
}

.listingControls .pagination__link--next,
.listingControls .pagination__link--prev {
    position: relative !important;
    font-size: 0 !important;
}

.listingControls .pagination__link--next::before,
.listingControls .pagination__link--prev::before {
    content: "" !important;
    box-sizing: content-box !important;
    width: 8px !important;
    height: 8px !important;
    border: 0 !important;
    border-right: 2px solid currentColor !important;
    border-top: 2px solid currentColor !important;
    background: none !important;
}

.listingControls .pagination__link--next::before { transform: rotate(45deg) !important; }
.listingControls .pagination__link--prev::before { transform: rotate(-135deg) !important; }

.listingControls .itemsTotal {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--bvm-muted) !important;
    font-size: 15px !important;
}

.listingControls .itemsTotal strong {
    margin-right: 4px !important;
    color: var(--bvm-navy) !important;
    font-weight: 700 !important;
}

.listingControls .goToTop {
    margin: 0 !important;
}

@media (max-width: 1199px) {
    ul.subcategories {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    #productsTop.products-inline {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 991px) {
    h1.category-title {
        font-size: 28px !important;
    }

    ul.subcategories {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    #category-header .listSorting__control,
    #category-header .listItemsTotal {
        padding: 0 20px !important;
        font-size: 14px !important;
    }
}

@media (max-width: 767px) {
    h1.category-title {
        font-size: 24px !important;
        margin-bottom: 22px !important;
    }

    .products-top-wrapper .products-top-header {
        font-size: 21px !important;
    }

    ul.subcategories {
        gap: 10px !important;
    }

    ul.subcategories > li > a {
        padding: 13px 32px 13px 14px !important;
        font-size: 14px !important;
    }

    ul.subcategories > li > a::after {
        right: 14px !important;
    }

    #productsTop.products-inline {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px !important;
    }

    #productsTop.products-inline .p {
        gap: 14px !important;
        padding: 12px 14px !important;
    }

    #productsTop.products-inline .p > a.image {
        flex: 0 0 88px !important;
        width: 88px !important;
        height: 80px !important;
    }

    #productsTop.products-inline .price-final,
    #productsTop.products-inline .price-final strong {
        font-size: 20px !important;
    }

    /* lišta s řazením se láme – řazení vlevo, počet položek pod tím */
    #category-header.category-header {
        flex-direction: column !important;
    }

    #category-header .listSorting,
    #category-header ul.listSorting__controls {
        width: 100% !important;
    }

    #category-header ul.listSorting__controls > li {
        flex: 1 1 50% !important;
    }

    #category-header .listSorting__control {
        justify-content: center !important;
        width: 100% !important;
        min-height: 46px !important;
        padding: 0 10px !important;
        border-bottom: 1px solid var(--bvm-line) !important;
        font-size: 13px !important;
    }

    #category-header .listSorting__control--current {
        border-bottom: 4px solid var(--bvm-yellow) !important;
    }

    #category-header .listItemsTotal {
        justify-content: center !important;
        padding: 12px 16px !important;
    }
}

@media (max-width: 479px) {
    ul.subcategories {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* ==========================================================================
   11d. Související produkty (na detailu produktu)
   ========================================================================== */

/* na počítači vždy 4 dlaždice vedle sebe, ať šablona posílá jakoukoliv šířku */
@media (min-width: 768px) {
.products-related .products-additional.p-switchable {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 22px !important;
}

.products-related .products-additional.p-switchable > .product {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    border: 0 !important;
}
}

/* ==========================================================================
   11e. Objednávkový proces (košík → doprava a platba → informace o vás)
   ========================================================================== */

.ordering-process #content-wrapper {
    padding-top: 30px !important;
}

.ordering-process .cart-row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    gap: 26px !important;
    margin: 0 !important;
}

.ordering-process .cart-row::before,
.ordering-process .cart-row::after {
    content: none !important;
    display: none !important;
}

.ordering-process .cart-row > .col-md-8 {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    float: none !important;
}

.ordering-process .cart-row > .col-md-4 {
    flex: 0 0 340px !important;
    width: 340px !important;
    max-width: 340px !important;
    padding: 0 !important;
    float: none !important;
}

/* --- ukazatel kroků ------------------------------------------------------- */

.ordering-process ol.cart-header {
    display: flex !important;
    counter-reset: bvmstep !important;
    margin: 0 0 28px !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    list-style: none !important;
}

.ordering-process ol.cart-header::before,
.ordering-process ol.cart-header::after,
.ordering-process ol.cart-header .step::after,
.ordering-process ol.cart-header .step *::before,
.ordering-process ol.cart-header .step *::after {
    content: none !important;
    display: none !important;
}

.ordering-process ol.cart-header .step {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    flex: 1 1 0 !important;
    margin: 0 !important;
    padding: 0 0 16px !important;
    border: 0 !important;
    border-bottom: 3px solid var(--bvm-line) !important;
    background: none !important;
    list-style: none !important;
    counter-increment: bvmstep !important;
}

.ordering-process ol.cart-header .step::before {
    content: counter(bvmstep) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 40px !important;
    box-sizing: border-box !important;
    width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 2px solid var(--bvm-line) !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: var(--bvm-muted) !important;
    font-family: "Open Sans", Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    position: static !important;
}

.ordering-process ol.cart-header .step > strong,
.ordering-process ol.cart-header .step > a,
.ordering-process ol.cart-header .step > span {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    color: var(--bvm-muted) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: .02em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

.ordering-process ol.cart-header .step.active {
    border-bottom-color: var(--bvm-yellow) !important;
}

.ordering-process ol.cart-header .step.active::before {
    border-color: var(--bvm-navy) !important;
    background: var(--bvm-navy) !important;
    color: #fff !important;
}

.ordering-process ol.cart-header .step.active > strong,
.ordering-process ol.cart-header .step.active > a {
    color: var(--bvm-navy) !important;
}

.ordering-process ol.cart-header .step.completed > a:hover {
    color: var(--bvm-navy) !important;
}

/* --- obecné boxy v objednávce -------------------------------------------- */

.ordering-process .checkout-box-wrapper,
.ordering-process fieldset.box.co-box,
.ordering-process #order-form div.box.co-box,
.ordering-process .cart-content > fieldset.box,
.ordering-process .order-summary-inner,
.ordering-process .cart-summary,
.ordering-process #order-form > .box,
.ordering-process #order-form fieldset.box {
    margin: 0 0 18px !important;
    padding: 22px 26px !important;
    border: 1px solid var(--bvm-line) !important;
    border-radius: var(--bvm-radius) !important;
    background: #fff !important;
    box-shadow: var(--bvm-shadow) !important;
}

/* nadpisy sekcí – ikona ze šablony vedle textu, ne přes něj, zarovnáno doleva */
.ordering-process fieldset.box > h2,
.ordering-process #order-form .box > h2,
.ordering-process h2.order-icon,
.ordering-process h2.order-icon.order-delivery,
.ordering-process h2.order-icon.order-payment,
.ordering-process .cart-content > .box > h2 {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    text-indent: 0 !important;
    text-align: left !important;
}

.ordering-process fieldset.box > h2::before,
.ordering-process #order-form .box > h2::before,
.ordering-process h2.order-icon.order-delivery::before,
.ordering-process h2.order-icon.order-payment::before,
.ordering-process .cart-content > .box > h2::before,
.ordering-process h2.order-icon::before {
    position: static !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    transform: none !important;
}

.ordering-process .checkout-box-wrapper > h2,
.ordering-process .cart-content > .box h2,
.ordering-process fieldset.box > h2,
.ordering-process .order-summary-inner > h2,
.ordering-process .cart-summary > h2 {
    margin: 0 0 18px !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    color: var(--bvm-navy) !important;
    font-family: "PT Sans", Arial, sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    letter-spacing: .03em !important;
    text-transform: uppercase !important;
}

/* --- krok 1: tabulka košíku ---------------------------------------------- */

.ordering-process table.cart-table {
    width: 100% !important;
    margin: 0 0 18px !important;
    border: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 14px !important;
    background: none !important;
}

.ordering-process table.cart-table td {
    padding: 16px 14px !important;
    border: 0 !important;
    border-top: 1px solid var(--bvm-line) !important;
    border-bottom: 1px solid var(--bvm-line) !important;
    background: #fff !important;
    vertical-align: middle !important;
}

.ordering-process table.cart-table td:first-child {
    border-left: 1px solid var(--bvm-line) !important;
    border-radius: var(--bvm-radius) 0 0 var(--bvm-radius) !important;
    padding-left: 18px !important;
}

.ordering-process table.cart-table td:last-child {
    border-right: 1px solid var(--bvm-line) !important;
    border-radius: 0 var(--bvm-radius) var(--bvm-radius) 0 !important;
    padding-right: 18px !important;
}

.ordering-process table.cart-table .cart-p-image a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 84px !important;
    height: 74px !important;
    padding: 6px !important;
    border: 1px solid var(--bvm-line) !important;
    border-radius: 8px !important;
    background: #fff !important;
}

.ordering-process table.cart-table .cart-p-image img {
    max-width: 100% !important;
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
    border: 0 !important;
    object-fit: contain !important;
}

.ordering-process table.cart-table a.main-link {
    color: var(--bvm-navy) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    letter-spacing: .02em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

.ordering-process table.cart-table a.main-link:hover {
    text-decoration: underline !important;
}

.ordering-process table.cart-table .p-label {
    display: none !important;
}

.ordering-process table.cart-table .p-availability {
    white-space: nowrap !important;
}

.ordering-process table.cart-table .availability-label {
    display: block !important;
    color: var(--bvm-green) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
}

/* fajfku u dostupnosti nechceme */
.ordering-process table.cart-table .availability-label::before,
.ordering-process table.cart-table .availability-label::after {
    content: none !important;
    display: none !important;
}

.ordering-process table.cart-table .availability-amount {
    display: block !important;
    color: var(--bvm-muted) !important;
    font-size: 13px !important;
}

.ordering-process table.cart-table .unit-value {
    color: var(--bvm-text) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
}

/* cena a křížek na jednom řádku (td musí zůstat buňkou tabulky) */
.ordering-process table.cart-table td.p-total {
    text-align: right !important;
    white-space: nowrap !important;
}

.ordering-process table.cart-table td.p-total > *:not(.p-label) {
    display: inline-block !important;
    vertical-align: middle !important;
}

.ordering-process table.cart-table td.p-total form.inline,
.ordering-process table.cart-table td.p-total form.inline .inline {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
}

.ordering-process table.cart-table .p-total .price-final,
.ordering-process table.cart-table td.p-total strong {
    margin-right: 10px !important;
    color: var(--bvm-navy) !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

/* šablona křížek ukazuje až při najetí na řádek – necháme ho vidět vždy */
.ordering-process table.cart-table .remove-item {
    opacity: 1 !important;
    visibility: visible !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 34px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: none !important;
    color: var(--bvm-muted) !important;
    font-size: 0 !important;
    cursor: pointer !important;
}

.ordering-process table.cart-table .remove-item:hover {
    background: var(--bvm-bg-soft) !important;
    color: var(--bvm-navy) !important;
}

.ordering-process table.cart-table .remove-item::before {
    content: "" !important;
    display: block !important;
    width: 16px !important;
    height: 16px !important;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237b8399' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M5 5l14 14M19 5 5 19'/%3E%3C/svg%3E") center / contain no-repeat !important;
    font-size: 0 !important;
}

/* množství – stejný ovladač jako na detailu produktu */
.ordering-process .quantity {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    width: 118px !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--bvm-line) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

.ordering-process .quantity label {
    order: 2 !important;
    flex: 1 1 auto !important;
    display: block !important;
    width: auto !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ordering-process .quantity input {
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
    background: none !important;
    color: var(--bvm-navy) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-align: center !important;
    box-shadow: none !important;
    -moz-appearance: textfield !important;
    appearance: textfield !important;
}

.ordering-process .quantity input::-webkit-outer-spin-button,
.ordering-process .quantity input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    appearance: none !important;
    margin: 0 !important;
}

.ordering-process .quantity .decrease,
.ordering-process .quantity .increase {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 36px !important;
    width: 36px !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    color: var(--bvm-navy) !important;
    cursor: pointer !important;
}

.ordering-process .quantity .decrease { order: 1 !important; }
.ordering-process .quantity .increase { order: 3 !important; }

.ordering-process .quantity .decrease:hover,
.ordering-process .quantity .increase:hover {
    background: var(--bvm-bg-soft) !important;
}

.ordering-process .quantity .increase__sign,
.ordering-process .quantity .decrease__sign {
    display: block !important;
    color: var(--bvm-navy) !important;
    font-size: 18px !important;
    line-height: 1 !important;
}

.ordering-process .quantity .increase::before,
.ordering-process .quantity .decrease::before,
.ordering-process .quantity .increase::after,
.ordering-process .quantity .decrease::after,
.ordering-process .quantity .increase-tooltip,
.ordering-process .quantity .decrease-tooltip {
    content: none !important;
    display: none !important;
}

/* --- dárky a slevy + doprava zdarma -------------------------------------- */

.ordering-process .cart-summary .extras-wrapper {
    display: block !important;
    margin: 0 !important;
}

.ordering-process .extra.delivery {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    margin: 0 !important;
    padding: 18px 24px !important;
    border: 0 !important;
    border-radius: var(--bvm-radius) !important;
    background: var(--bvm-bg-soft) !important;
    color: var(--bvm-navy) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
}

.ordering-process .extra.delivery strong {
    color: var(--bvm-navy) !important;
    font-weight: 600 !important;
}

.ordering-process .extra.delivery::before {
    position: static !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    color: var(--bvm-navy) !important;
    font-size: 24px !important;
    line-height: 1 !important;
}

.ordering-process .extra.delivery span {
    flex: 1 1 auto !important;
}

/* --- pravý sloupec ------------------------------------------------------- */

.ordering-process .sidebar-in-cart .cart-content,
.ordering-process #checkoutSidebar .cart-content {
    margin: 0 0 18px !important;
}

/* vnitřní box uvnitř karty už rámeček nepotřebuje */
.ordering-process .checkout-box-wrapper > .box,
.ordering-process .summary-wrapper > .box,
.ordering-process .order-summary > .box {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
}

.ordering-process .summary-wrapper,
.ordering-process .order-summary > .box.box-bg-default {
    padding: 22px 26px !important;
    border: 1px solid var(--bvm-line) !important;
    border-radius: var(--bvm-radius) !important;
    background: #fff !important;
    box-shadow: var(--bvm-shadow) !important;
}

.ordering-process .checkout-box-wrapper > h2,
.ordering-process .order-summary-inner > h2 {
    margin: 0 0 16px !important;
}

.ordering-process .contact-box {
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
}

.ordering-process .contact-box ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.ordering-process .contact-box li {
    margin: 0 0 12px !important;
    padding: 0 !important;
    list-style: none !important;
}

.ordering-process .contact-box li:last-child {
    margin-bottom: 0 !important;
}

.ordering-process .contact-box a {
    color: var(--bvm-navy) !important;
    font-size: 15px !important;
    text-decoration: none !important;
}

.ordering-process .contact-box a:hover {
    text-decoration: underline !important;
}

/* souhrn ceny */
.ordering-process .price-wrapper {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
}

.ordering-process .price-label.price-primary {
    flex: 0 1 auto !important;
    width: auto !important;
    margin: 0 !important;
    color: var(--bvm-text) !important;
    font-size: 15px !important;
    font-weight: 400 !important;
}

.ordering-process .price.price-primary {
    display: inline-block !important;
    width: auto !important;
    margin: 0 !important;
    text-align: right !important;
    color: var(--bvm-navy) !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

/* tlačítka v kroku 2 patří vizuálně do karty s rekapitulací */
.ordering-process #checkoutSidebar .order-summary-inner {
    margin-bottom: 0 !important;
    border-bottom: 0 !important;
    border-radius: var(--bvm-radius) var(--bvm-radius) 0 0 !important;
}

.ordering-process #checkoutSidebar .next-step {
    margin: 0 0 18px !important;
    padding: 0 26px 22px !important;
    border: 1px solid var(--bvm-line) !important;
    border-top: 0 !important;
    border-radius: 0 0 var(--bvm-radius) var(--bvm-radius) !important;
    background: #fff !important;
    box-shadow: var(--bvm-shadow) !important;
}

/* souhlas s podmínkami patří do stejné karty jako tlačítko */
.ordering-process #checkoutSidebar .consents {
    margin: 0 !important;
    padding: 18px 26px 14px !important;
    border: 1px solid var(--bvm-line) !important;
    border-bottom: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
}

.ordering-process #checkoutSidebar .consents p.label {
    margin: 0 !important;
    color: var(--bvm-muted) !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
}

.ordering-process #checkoutSidebar .consents p.label a {
    color: var(--bvm-navy) !important;
    text-decoration: underline !important;
}

/* --- tlačítka dalšího kroku ---------------------------------------------- */

.ordering-process .next-step {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.ordering-process .next-step::before,
.ordering-process .next-step::after {
    content: none !important;
    display: none !important;
}

.ordering-process .next-step .btn-conversion,
.ordering-process #orderFormButton {
    order: 1 !important;
    display: inline-flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px 12px !important;
    width: 100% !important;
    height: auto !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 12px 24px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: var(--bvm-navy) !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
}

.ordering-process .next-step .btn-conversion:hover,
.ordering-process #orderFormButton:hover {
    background: var(--bvm-navy-dark) !important;
}

.ordering-process .next-step .btn-conversion::after,
.ordering-process #orderFormButton::after {
    content: "" !important;
    box-sizing: content-box !important;
    width: 8px !important;
    height: 8px !important;
    border: 0 !important;
    border-right: 2px solid #fff !important;
    border-top: 2px solid #fff !important;
    background: none !important;
    transform: rotate(45deg) !important;
}

/* dvouřádkové tlačítko "Objednat s povinností platby" – šipka vpravo na střed */
.ordering-process #submit-order.btn-conversion {
    position: relative !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 2px !important;
    padding: 14px 46px !important;
    text-align: center !important;
}

.ordering-process #submit-order .order-button-text,
.ordering-process #submit-order .order-button-suffix {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
}

.ordering-process #submit-order .order-button-suffix {
    font-size: 13px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.ordering-process #submit-order.btn-conversion::after {
    position: absolute !important;
    right: 22px !important;
    top: 50% !important;
    margin-top: -5px !important;
}

.ordering-process .next-step .next-step-back {
    order: 2 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 4px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    color: var(--bvm-navy) !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.ordering-process .next-step .next-step-back:hover {
    background: none !important;
    color: var(--bvm-navy-dark) !important;
    text-decoration: underline !important;
}

.ordering-process .next-step .next-step-back::before {
    content: "" !important;
    box-sizing: content-box !important;
    width: 8px !important;
    height: 8px !important;
    border: 0 !important;
    border-left: 2px solid currentColor !important;
    border-bottom: 2px solid currentColor !important;
    background: none !important;
    transform: rotate(45deg) !important;
}

.ordering-process .next-step .next-step-back::after {
    content: none !important;
    display: none !important;
}

/* přihlášení do účtu v objednávce (objeví se jen nepřihlášenému) */
.ordering-process .login-button,
.ordering-process .btn.btn-secondary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 46px !important;
    padding: 10px 24px !important;
    border: 1px solid var(--bvm-line) !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: var(--bvm-navy) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.ordering-process .login-button:hover,
.ordering-process .btn.btn-secondary:hover {
    border-color: var(--bvm-navy) !important;
    background: var(--bvm-navy) !important;
    color: #fff !important;
}

/* --- krok 2: doprava a platba -------------------------------------------- */

/* ikony u nadpisů "Zvolte způsob platby" a "Rekapitulace objednávky" nechceme */
.ordering-process .co-box.co-payment-method h2::before,
.ordering-process .co-box.co-payment-method h4::before,
.ordering-process .co-box.co-order h2::before,
.ordering-process .co-box.co-order h4::before,
.ordering-process h2.order-icon.order-payment::before {
    content: none !important;
    display: none !important;
}


.ordering-process .shipping-billing-table {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.ordering-process .radio-wrapper {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--bvm-line) !important;
    background: none !important;
}

.ordering-process .radio-wrapper:last-child {
    border-bottom: 0 !important;
}

/* Celý řádek je flex: přepínač i popisek se centrují na společné ose. */
.ordering-process .radio-wrapper {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
}

body.ordering-process div.radio-wrapper > input[type="radio"],
body.ordering-process div.radio-wrapper > input[type="checkbox"],
.ordering-process .radio-wrapper input[type="radio"],
.ordering-process .radio-wrapper input[type="checkbox"] {
    position: static !important;
    align-self: center !important;
    flex: 0 0 18px !important;
    order: 0 !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 14px 0 16px !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    -webkit-appearance: radio !important;
    appearance: auto !important;
    accent-color: var(--bvm-navy) !important;
}

/* šablona kreslí vlastní kolečko přes label::before – máme nativní input */
.ordering-process .radio-wrapper > label::before,
.ordering-process .radio-wrapper > label::after {
    content: none !important;
    display: none !important;
}

.ordering-process .radio-wrapper > label {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 18px !important;
    margin: 0 !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    order: 1 !important;
    padding: 16px 6px !important;
    border: 0 !important;
    background: none !important;
    cursor: pointer !important;
}

/* podbarvení patří celému řádku, ne jen popisku (jinak končí u kolečka) */
.ordering-process .radio-wrapper:hover,
.ordering-process .radio-wrapper:focus-within {
    background: var(--bvm-bg-soft) !important;
}

.ordering-process .radio-wrapper > label:hover {
    background: none !important;
}

.ordering-process .radio-wrapper .payment-info {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    padding: 0 !important;
}

.ordering-process .shipping-billing-name {
    display: block !important;
    color: var(--bvm-navy) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: .02em !important;
    text-transform: uppercase !important;
}

.ordering-process .sublabel a,
.ordering-process .sublabel {
    color: var(--bvm-navy) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    text-transform: none !important;
}

.ordering-process .payment-logo {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 130px !important;
    margin: 0 !important;
}

.ordering-process .payment-logo img {
    max-width: 100% !important;
    max-height: 40px !important;
    width: auto !important;
    height: auto !important;
}

.ordering-process .payment-shipping-price {
    flex: 0 0 auto !important;
    min-width: 90px !important;
    color: var(--bvm-navy) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-align: right !important;
    text-transform: uppercase !important;
}

.ordering-process .payment-shipping-price.for-free {
    color: var(--bvm-green) !important;
}

/* modrý box s kontaktem v pravém sloupci kroku 2 */
.ordering-process .order-summary .checkout-box {
    display: block !important;
    margin: 0 0 18px !important;
    padding: 22px 26px !important;
    border: 0 !important;
    border-radius: var(--bvm-radius) !important;
    background: var(--bvm-navy) !important;
    color: #fff !important;
}

.ordering-process .order-summary .checkout-box .btn,
.ordering-process .order-summary .checkout-box span {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    color: #fff !important;
    font-size: 15px !important;
    text-align: left !important;
    text-transform: none !important;
    box-shadow: none !important;
}

.ordering-process .order-summary .checkout-box .btn {
    margin-bottom: 6px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: .03em !important;
    text-transform: uppercase !important;
}

/* rekapitulace objednávky */
.ordering-process .order-summary-inner .cart-items {
    margin: 0 0 16px !important;
    padding: 0 0 16px !important;
    border-bottom: 1px solid var(--bvm-line) !important;
}

.ordering-process .order-summary-inner .cart-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    border: 0 !important;
}

.ordering-process .order-summary-inner .cart-item > div {
    border: 0 !important;
    padding: 0 !important;
}

.ordering-process .order-summary-inner .cart-item-name {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.ordering-process .order-summary-inner .cart-item-name a {
    color: var(--bvm-navy) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
}

.ordering-process .order-summary-inner .cart-item-name a {
    font-size: 13px !important;
}

.ordering-process .order-summary-inner .cart-item-amount,
.ordering-process .order-summary-inner .cart-item-price {
    flex: 0 0 auto !important;
    color: var(--bvm-text) !important;
    font-size: 13px !important;
    white-space: nowrap !important;
}

.ordering-process .order-summary-inner .cart-item-amount {
    min-width: 44px !important;
    text-align: center !important;
}

.ordering-process .order-summary-inner .cart-item-price {
    min-width: 60px !important;
    text-align: right !important;
}

.ordering-process .order-summary-item {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    border: 0 !important;
    color: var(--bvm-text) !important;
    font-size: 15px !important;
}

.ordering-process .order-summary-item.price {
    margin: 16px 0 0 !important;
    padding: 16px 0 0 !important;
    border-top: 2px solid var(--bvm-yellow) !important;
}

.ordering-process .order-summary-item .price-wrapper {
    width: 100% !important;
    margin: 0 !important;
}

/* samostatné volby: doručit na jinou adresu / poznámka / newsletter */
.ordering-process #checkoutContent .form-group > input[type="checkbox"] + label.whole-width,
.ordering-process .co-box-additional .form-group > label.whole-width,
.ordering-process .stay-in-touch .form-group > label.whole-width {
    display: flex !important;
    align-items: center !important;
    width: auto !important;
    margin: 0 !important;
    padding: 14px 18px 14px 46px !important;
    border: 1px solid var(--bvm-line) !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: var(--bvm-navy) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: border-color .15s, background .15s !important;
}

.ordering-process #checkoutContent .form-group > input[type="checkbox"] + label.whole-width:hover,
.ordering-process .co-box-additional .form-group > label.whole-width:hover,
.ordering-process .stay-in-touch .form-group > label.whole-width:hover {
    border-color: #cfd6e8 !important;
    background: var(--bvm-bg-soft) !important;
}

/* Šablonový čtvereček (label::before + ::after) má značku mimo střed – vypneme
   ho a necháme vykreslit nativní checkbox, stejně jako u dopravy a platby. */
.ordering-process #checkoutContent .form-group > label.whole-width::before,
.ordering-process #checkoutContent .form-group > label.whole-width::after,
.ordering-process .co-box-additional .form-group > label.whole-width::before,
.ordering-process .co-box-additional .form-group > label.whole-width::after,
.ordering-process .stay-in-touch .form-group > label.whole-width::before,
.ordering-process .stay-in-touch .form-group > label.whole-width::after {
    content: none !important;
    display: none !important;
}

.ordering-process #checkoutContent .form-group > input[type="checkbox"],
.ordering-process .co-box-additional .form-group > input[type="checkbox"],
.ordering-process .stay-in-touch .form-group > input[type="checkbox"] {
    position: absolute !important;
    left: 18px !important;
    top: 50% !important;
    right: auto !important;
    width: 18px !important;
    height: 18px !important;
    margin: -9px 0 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    clip: auto !important;
    /* šablona checkboxu bere nativní vzhled – vracíme ho */
    -webkit-appearance: checkbox !important;
    -moz-appearance: checkbox !important;
    appearance: auto !important;
    accent-color: var(--bvm-navy) !important;
    z-index: 1 !important;
}

.ordering-process #checkoutContent .form-group:has(> input[type="checkbox"] + label.whole-width),
.ordering-process .co-box-additional .form-group,
.ordering-process .stay-in-touch .form-group {
    position: relative !important;
    margin: 0 0 12px !important;
}

.ordering-process .co-box-additional,
.ordering-process .stay-in-touch {
    margin: 0 0 18px !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
}

/* poznámka pro prodejce po rozbalení */
.ordering-process #note {
    margin: 0 0 12px !important;
}

/* --- krok 3: formulář ---------------------------------------------------- */

/* .co-box ze šablony odsazuje fakturační adresu (padding 38/80) – pryč s ním.
   Jen u obalových divů: fieldsety mají třídu co-box taky a ty jsou samy kartou. */
body.ordering-process #checkoutContent div.co-box:not(.box),
body.ordering-process div.co-box.co-billing-address,
body.ordering-process div.co-box.co-box-additional {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}

.ordering-process #order-form fieldset.box,
.ordering-process #order-form .box,
.ordering-process #checkoutContent .cart-content > div,
.ordering-process #checkoutContent form > div {
    width: auto !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    float: none !important;
}

.ordering-process .form-group {
    margin: 0 0 16px !important;
}

body.ordering-process .form-group > label {
    display: block !important;
    margin: 0 0 6px !important;
    color: var(--bvm-text) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

/* .required-asterisk obaluje celý popisek, ne jen hvězdičku – červená patří jen jí */
body.ordering-process .form-group > label,
body.ordering-process .form-group > label .required-asterisk {
    color: var(--bvm-text) !important;
}

body.ordering-process .form-group > label .required-asterisk::before,
body.ordering-process .form-group > label .required-asterisk::after {
    color: #d64545 !important;
}

.ordering-process .form-control,
.ordering-process input[type="text"],
.ordering-process input[type="email"],
.ordering-process input[type="tel"],
.ordering-process input[type="password"],
.ordering-process textarea,
.ordering-process select {
    width: 100% !important;
    height: 48px !important;
    padding: 0 16px !important;
    border: 1px solid var(--bvm-line) !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: var(--bvm-text) !important;
    font-size: 15px !important;
    box-shadow: none !important;
}

.ordering-process textarea {
    height: auto !important;
    min-height: 110px !important;
    padding: 12px 16px !important;
}

.ordering-process .form-control:focus,
.ordering-process input:focus,
.ordering-process textarea:focus,
.ordering-process select:focus {
    border-color: var(--bvm-navy) !important;
    outline: 0 !important;
    box-shadow: none !important;
}

.ordering-process .required-asterisk {
    color: #d64545 !important;
}

.ordering-process .form-legend {
    margin: 0 0 16px !important;
    color: var(--bvm-muted) !important;
    font-size: 13px !important;
}

@media (max-width: 1199px) {
    /* v užších šířkách jen zúžíme logo a cenu, řádek zůstává jednořádkový */
    body.ordering-process .radio-wrapper > label {
        gap: 12px !important;
    }

    .ordering-process .payment-logo {
        width: 100px !important;
    }

    .ordering-process .payment-shipping-price {
        min-width: 70px !important;
    }

    /* šablona v užších šířkách vrací přepínači absolutní pozici */
    body.ordering-process div.radio-wrapper > input[type="radio"],
    body.ordering-process div.radio-wrapper > input[type="checkbox"] {
        position: static !important;
        align-self: center !important;
        margin: 0 12px 0 12px !important;
        top: auto !important;
        left: auto !important;
        transform: none !important;
    }
}

@media (max-width: 991px) {
    .ordering-process .cart-row {
        flex-direction: column !important;
        gap: 18px !important;
    }

    .ordering-process .cart-row > .col-md-8,
    .ordering-process .cart-row > .col-md-4 {
        flex: 0 0 auto !important;
        width: 100% !important;
        max-width: none !important;
    }

    .ordering-process ol.cart-header .step > strong,
    .ordering-process ol.cart-header .step > a,
    .ordering-process ol.cart-header .step > span {
        font-size: 14px !important;
    }
}

@media (max-width: 767px) {
    /* šablona z pruhu kroků dělá fixed lištu – schovala by se pod naši hlavičku */
    .ordering-process ol.cart-header {
        position: static !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        width: auto !important;
        gap: 6px !important;
        margin-bottom: 20px !important;
        padding-top: 0 !important;
        background: none !important;
        box-shadow: none !important;
    }

    .ordering-process ol.cart-header .step {
        gap: 8px !important;
        padding-bottom: 10px !important;
    }

    .ordering-process ol.cart-header .step::before {
        flex-basis: 30px !important;
        width: 30px !important;
        height: 30px !important;
        font-size: 13px !important;
    }

    .ordering-process ol.cart-header .step > strong,
    .ordering-process ol.cart-header .step > a,
    .ordering-process ol.cart-header .step > span {
        font-size: 0 !important;
    }

    .ordering-process ol.cart-header .step.active > strong,
    .ordering-process ol.cart-header .step.active > a {
        font-size: 13px !important;
    }

    .ordering-process table.cart-table,
    .ordering-process table.cart-table tbody,
    .ordering-process table.cart-table tr,
    .ordering-process table.cart-table td {
        display: block !important;
        width: auto !important;
    }

    .ordering-process table.cart-table tr.removeable {
        position: relative !important;
        margin: 0 0 14px !important;
        padding: 14px !important;
        border: 1px solid var(--bvm-line) !important;
        border-radius: var(--bvm-radius) !important;
        background: #fff !important;
    }

    .ordering-process table.cart-table td {
        padding: 4px 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: none !important;
    }

    .ordering-process table.cart-table td:first-child,
    .ordering-process table.cart-table td:last-child {
        padding: 4px 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
    }

    .ordering-process table.cart-table td.p-total {
        margin-top: 6px !important;
    }

    .ordering-process .radio-wrapper > label {
        flex-wrap: wrap !important;
        gap: 10px 14px !important;
        padding: 14px 4px !important;
    }

    /* řádek je na mobilu vyšší (cena pod textem) – přepínač k prvnímu řádku */
    body.ordering-process div.radio-wrapper > input[type="radio"],
    body.ordering-process div.radio-wrapper > input[type="checkbox"],
    .ordering-process .radio-wrapper input[type="radio"],
    .ordering-process .radio-wrapper input[type="checkbox"] {
        align-self: flex-start !important;
        margin: 16px 10px 0 6px !important;
    }

    /* mobil: [přepínač] [text] [logo] a pod tím cena */
    .ordering-process .radio-wrapper > label {
        align-items: center !important;
        gap: 6px 12px !important;
    }

    .ordering-process .radio-wrapper .payment-info {
        order: 1 !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }

    .ordering-process .payment-logo {
        order: 2 !important;
        flex: 0 0 auto !important;
        width: 82px !important;
        margin: 0 !important;
    }

    .ordering-process .payment-logo img {
        max-height: 30px !important;
    }

    .ordering-process .payment-shipping-price {
        order: 3 !important;
        flex: 1 1 100% !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        text-align: left !important;
    }

    /* dvousloupcový formulář se na mobilu skládá pod sebe */
    .ordering-process .form-group,
    .ordering-process .form-group--inline {
        display: block !important;
    }

    .ordering-process .form-group > label,
    .ordering-process .form-control-wrapper {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        padding-left: 0 !important;
        float: none !important;
    }

    .ordering-process .cart-content > .box,
    .ordering-process #order-form > .box,
    .ordering-process #order-form fieldset.box,
    .ordering-process .order-summary-inner,
    .ordering-process .cart-summary {
        padding: 18px !important;
    }
}

/* ==========================================================================
   12. Obecná tlačítka
   ========================================================================== */

.btn-primary,
.btn-conversion {
    background: var(--bvm-navy) !important;
    border-color: var(--bvm-navy) !important;
    color: #fff !important;
    border-radius: 4px !important;
    font-weight: 700 !important;
}

.btn-primary:hover,
.btn-conversion:hover {
    background: var(--bvm-navy-dark) !important;
    border-color: var(--bvm-navy-dark) !important;
}

/* ==========================================================================
   13. Uvítací text a patička
   ========================================================================== */

.welcome-wrapper .welcome {
    color: var(--bvm-text) !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
}

.welcome-wrapper .welcome > .h1 {
    color: var(--bvm-navy) !important;
    font-family: "PT Sans", Arial, sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
}

#footer.footer {
    margin-top: 50px !important;
    padding: 60px 0 0 !important;
    border: 0 !important;
    background: var(--bvm-navy) !important;
    color: rgba(255, 255, 255, .88) !important;
    font-size: 15px !important;
}

#footer.footer a,
#footer.footer .pageElement__heading,
#footer.footer h3,
#footer.footer strong {
    color: #fff !important;
    text-decoration: none !important;
}

#footer.footer a:hover {
    color: var(--bvm-yellow) !important;
}

/* --- rozvržení sloupců ---------------------------------------------------- */

#footer .container,
#footer .footer-rows,
#footer .custom-footer {
    background: none !important;
    box-shadow: none !important;
}

#footer .footer-rows {
    display: grid !important;
    grid-template-columns: repeat(12, 1fr) !important;
    column-gap: 46px !important;
    row-gap: 0 !important;
    padding-bottom: 46px !important;
}

/* .custom-footer je jen obal – jeho děti chceme přímo v gridu */
#footer .custom-footer {
    display: contents !important;
}

#footer .site-name {
    grid-column: 1 / 4 !important;
    grid-row: 1 !important;
    position: static !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 0 40px !important;
    text-align: left !important;
}

/* Logo v patičce: originální PNG (tmavě modré) je na modré nečitelné.
   Použijeme ho jako masku a přebarvíme na bílou; žlutý čtverec z originálu
   dokreslíme zvlášť (jeho pozice v souboru 519×190 px je 23,84 / 50×46 px).
   Pokud se změní soubor loga, změň URL i procenta níže. */
#footer .site-name > a {
    position: relative !important;
    display: block !important;
    width: 210px !important;
    aspect-ratio: 519 / 190 !important;
}

#footer .site-name img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    opacity: 0 !important;
}

#footer .site-name > a::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: #fff !important;
    -webkit-mask: url("https://cdn.myshoptet.com/usr/802974.myshoptet.com/user/logos/logo.png") no-repeat center / contain !important;
            mask: url("https://cdn.myshoptet.com/usr/802974.myshoptet.com/user/logos/logo.png") no-repeat center / contain !important;
}

#footer .site-name > a::after {
    content: "" !important;
    position: absolute !important;
    left: 4.43% !important;
    top: 44.21% !important;
    width: 9.64% !important;
    height: 24.21% !important;
    background: var(--bvm-yellow) !important;
}

/* šablona dává sloupcům pevnou šířku (elements-8) – v gridu je nechceme */
#footer .custom-footer > div,
#footer .custom-footer .banner,
#footer .custom-footer .banner-wrapper,
#footer .custom-footer .banner-wrapper > span {
    display: block !important;
    position: static !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    float: none !important;
    margin: 0 !important;
    background: none !important;
    border: 0 !important;
}

#footer .custom-footer__banner1841 { grid-column: 4 / 6 !important;  grid-row: 1 !important; }
#footer .custom-footer__articles   { grid-column: 6 / 8 !important;  grid-row: 1 !important; }
#footer .custom-footer__banner7871 { grid-column: 8 / 11 !important; grid-row: 1 !important; }
#footer .custom-footer__contact    { grid-column: 11 / 13 !important; grid-row: 1 !important; }

/* prázdné bannery ze šablony */
#footer .custom-footer__banner4311,
#footer .custom-footer__banner3951 {
    display: none !important;
}

/* spodní pás – platební a doručovací metody, přesně na půl */
#footer .custom-footer > div.custom-footer__banner7541 {
    grid-column: 1 / 7 !important;
    grid-row: 2 !important;
    padding: 44px 0 0 !important;
}

#footer .custom-footer > div.custom-footer__banner1801 {
    grid-column: 7 / 13 !important;
    grid-row: 2 !important;
    padding: 44px 0 0 !important;
}

/* --- nadpisy sloupců ----------------------------------------------------- */

#footer .pageElement__heading {
    position: relative !important;
    margin: 0 0 26px !important;
    padding: 0 0 14px !important;
    border: 0 !important;
    background: none !important;
    font-family: "PT Sans", Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
}

#footer .pageElement__heading::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    bottom: 0 !important;
    width: 34px !important;
    height: 3px !important;
    background: var(--bvm-yellow) !important;
}

/* --- seznamy ------------------------------------------------------------- */

#footer .custom-footer ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

#footer .custom-footer li {
    margin: 0 0 13px !important;
    padding: 0 !important;
    line-height: 1.5 !important;
    list-style: none !important;
}

#footer .custom-footer li::before {
    content: none !important;
}

/* odkazové sloupce se šipkou */
#footer .custom-footer__banner1841 li > a,
#footer .custom-footer__articles li > a {
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 12px !important;
}

#footer .custom-footer__banner1841 li > a::before,
#footer .custom-footer__articles li > a::before {
    content: "" !important;
    box-sizing: content-box !important;
    flex: 0 0 auto !important;
    width: 6px !important;
    height: 6px !important;
    border-right: 2px solid var(--bvm-yellow) !important;
    border-top: 2px solid var(--bvm-yellow) !important;
    transform: rotate(45deg) !important;
}

/* fakturační údaje – první řádek je název firmy */
#footer .custom-footer__banner7871 li:first-child {
    margin-bottom: 16px !important;
    font-weight: 700 !important;
    color: #fff !important;
}

/* --- kontakt ------------------------------------------------------------- */

#footer .contact-box {
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
}

#footer .contact-box li {
    margin: 0 0 18px !important;
}

#footer .contact-box a {
    white-space: nowrap !important;
}

#footer .contact-box .mail,
#footer .contact-box .tel {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    background: none !important;
    padding: 0 !important;
}

#footer .contact-box .mail::before,
#footer .contact-box .tel::before {
    content: "" !important;
    position: static !important;
    flex: 0 0 38px !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    background-color: rgba(255, 255, 255, .10) !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 18px 18px !important;
}

#footer .contact-box .mail::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='5' width='19' height='14' rx='2'/%3E%3Cpath d='m3 6.5 9 6.5 9-6.5'/%3E%3C/svg%3E") !important;
}

#footer .contact-box .tel::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 3h3l1.5 4-2 1.5a12 12 0 0 0 5.5 5.5L16 12l4 1.5v3a2 2 0 0 1-2.2 2A16.5 16.5 0 0 1 4 6.2 2 2 0 0 1 6.5 3z'/%3E%3C/svg%3E") !important;
}

/* --- claim a kontakt pod logem (doplňuje JS) ------------------------------ */

#footer .footer-tagline {
    max-width: 270px !important;
    margin: 26px 0 30px !important;
    color: rgba(255, 255, 255, .82) !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
}

#footer .site-name .contact-box li {
    margin-bottom: 16px !important;
}

/* --- platební a doručovací metody ---------------------------------------- */

#footer .custom-footer__banner7541 ul,
#footer .custom-footer__banner1801 ul {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
}

#footer .custom-footer__banner7541 li,
#footer .custom-footer__banner1801 li {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    margin: 0 !important;
}

#footer .custom-footer__banner7541 img,
#footer .custom-footer__banner1801 img {
    width: auto !important;
    height: 34px !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 12px 18px !important;
    box-sizing: content-box !important;
    border-radius: 8px !important;
    background: #fff !important;
    object-fit: contain !important;
}

/* --- spodní lišta -------------------------------------------------------- */

#footer .footer-bottom {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    margin-top: 30px !important;
    padding-top: 22px !important;
    padding-bottom: 22px !important;
    border: 0 !important;
    background: var(--bvm-bg-soft) !important;
    clip-path: inset(0 -100vmax) !important;
    box-shadow: 0 0 0 100vmax var(--bvm-bg-soft) !important;
    color: var(--bvm-text) !important;
    font-size: 14px !important;
}

#footer .footer-bottom .copyright {
    order: 1 !important;
    display: flex !important;
    align-items: center !important;
    gap: 22px !important;
    margin: 0 !important;
    color: var(--bvm-text) !important;
}

#footer .footer-bottom .copyright strong,
#footer .footer-bottom .copyright a {
    color: var(--bvm-text) !important;
}

#footer .footer-bottom .copyright a {
    padding-left: 22px !important;
    border-left: 1px solid #d5dae6 !important;
}

#footer .footer-bottom .copyright a:hover {
    color: var(--bvm-navy) !important;
}

#footer .footer-bottom #signature {
    order: 2 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

#footer .footer-bottom #signature a {
    color: var(--bvm-text) !important;
}

/* ==========================================================================
   14. Responzivita
   ========================================================================== */

@media (max-width: 1399px) {
    #header .header-top {
        gap: 20px !important;
    }

    #header .navigation-buttons {
        margin-left: 20px !important;
    }
}

@media (max-width: 1199px) {
    .products.products-block {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .content-wrapper-in .sidebar.sidebar-left {
        flex-basis: 260px !important;
        width: 260px !important;
    }

    #footer .footer-rows {
        column-gap: 30px !important;
    }

    /* na užším desktopu ubrat hlavičce, ať se přihlášení i košík vejdou */
    #header .site-name img {
        max-height: 48px !important;
    }

    #header .search-form .btn,
    #header .search-form button[type="submit"] {
        min-width: 0 !important;
        padding: 0 20px !important;
    }

    #header .navigation-buttons .top-nav-button-login,
    #header .navigation-buttons .top-nav-button-account {
        margin-right: 16px !important;
        padding-right: 16px !important;
    }

    #header .navigation-buttons .btn.cart-count {
        gap: 8px !important;
    }
}

/* --------------------------------------------------------------------------
   Tablet a mobil – šablona zde přepíná na mobilní hlavičku a off-canvas menu.
   Nesmíme jí do toho sahat, jen sladit barvy a rozteče.
   -------------------------------------------------------------------------- */

@media (max-width: 991px) {

    #content-wrapper.container,
    .navigation-wrapper.container,
    .top-navigation-bar .container,
    .footer .container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    /* hlavička se do jedné řádky nevejde – hledání pod logo, košík vpravo */
    #header .header-top {
        flex-wrap: wrap !important;
        gap: 12px 16px !important;
        height: auto !important;
        max-height: none !important;
        min-height: 0 !important;
        overflow: visible !important;
        padding: 14px 0 !important;
    }

    #header .site-name img {
        max-height: 46px !important;
    }

    #header .search {
        order: 3 !important;
        flex: 1 1 100% !important;
    }

    #header .navigation-buttons {
        margin-left: auto !important;
    }

    #header .search-input,
    #header .search-form input[type="search"],
    #header .search-form .btn,
    #header .search-form button[type="submit"] {
        height: 46px !important;
    }

    #header .search-form .btn,
    #header .search-form button[type="submit"] {
        min-width: 0 !important;
        padding: 0 20px !important;
    }

    #navigation .menu-level-1 > li > a {
        padding: 12px 16px !important;
    }

    /* obsah pod sebou – levý sloupec až za obsah, ať netlačí produkty dolů */
    .content-wrapper-in {
        display: flex !important;
        flex-direction: column !important;
    }

    .content-wrapper-in #content.content {
        order: 1 !important;
    }

    .content-wrapper-in .sidebar.sidebar-left {
        order: 2 !important;
        margin-top: 24px !important;
    }

    .content-wrapper-in .sidebar.sidebar-left,
    .content-wrapper-in #content.content {
        flex: 0 0 auto !important;
        align-self: stretch !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        float: none !important;
    }

    .banners-row {
        flex-direction: column !important;
        gap: 14px !important;
    }

    /* ve svislém směru znamená flex-basis: 0 nulovou VÝŠKU – proto flex: 0 0 auto */
    .banners-row > .col-sm-8,
    .banners-row > .col-sm-4,
    .benefitBanner__item {
        flex: 0 0 auto !important;
    }

    /* dva boční bannery vedle sebe – ve vodorovném směru naopak basis 0 */
    .next-to-carousel-banners .banner-wrapper {
        flex: 1 1 0 !important;
        min-width: 0 !important;
    }

    .next-to-carousel-banners .banner-wrapper img {
        width: 100% !important;
        height: auto !important;
    }

    /* ve sloupci nesmí být výška 100 % – jinak se bannery složí do nuly */
    #carousel.carousel,
    #carousel .carousel-inner,
    .next-to-carousel-banners {
        height: auto !important;
    }

    .next-to-carousel-banners {
        flex-direction: row !important;
        gap: 14px !important;
    }

    .next-to-carousel-banners .banner-wrapper > a,
    .next-to-carousel-banners .banner-wrapper img {
        height: auto !important;
    }

    .benefitBanner.position--benefitHomepage,
    .benefitBanner.position--benefitProduct {
        flex-direction: column !important;
        gap: 14px !important;
        padding: 18px !important;
    }

    .benefitBanner__item {
        position: static !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 14px !important;
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 0 !important;
    }

    .benefitBanner__content {
        flex: 1 1 auto !important;
        width: auto !important;
        max-width: none !important;
    }

    .benefitBanner__picture,
    .benefitBanner__content {
        position: static !important;
        top: auto !important;
        left: auto !important;
        transform: none !important;
    }

    .benefitBanner__picture {
        flex: 0 0 40px !important;
        width: 40px !important;
    }

    .benefitBanner__item + .benefitBanner__item {
        padding-top: 14px !important;
        border-left: 0 !important;
        border-top: 1px solid #dfe4ef !important;
    }

    /* patička – dva sloupce, spodní pás pod sebou */
    #footer.footer {
        padding-top: 40px !important;
    }

    #footer .footer-rows {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: 24px !important;
        row-gap: 34px !important;
        padding-bottom: 34px !important;
    }

    #footer .site-name,
    #footer .custom-footer__banner1841,
    #footer .custom-footer__articles,
    #footer .custom-footer__banner7871,
    #footer .custom-footer__contact,
    #footer .custom-footer > div.custom-footer__banner7541,
    #footer .custom-footer > div.custom-footer__banner1801 {
        grid-column: auto !important;
        grid-row: auto !important;
        padding: 0 !important;
    }

    #footer .site-name {
        grid-column: 1 / -1 !important;
    }

    #footer .site-name > a {
        width: 170px !important;
    }

    #footer .footer-bottom {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
    }

    #footer .footer-bottom .copyright {
        flex-wrap: wrap !important;
        gap: 10px 18px !important;
    }

    #footer .footer-bottom .copyright a {
        padding-left: 0 !important;
        border-left: 0 !important;
    }
}

/* --------------------------------------------------------------------------
   Mobilní hlavička – šablona ji zapíná pod 768 px (fixní lišta + off-canvas menu)
   -------------------------------------------------------------------------- */

@media (max-width: 767px) {
    /* Mobilní hlavičku si dělá šablona sama: .top-navigation-bar je fixed pruh
       s logem, lupou, košíkem i hamburgerem a #header je nulový. Naše desktopové
       úpravy hlavičky tady proto vracíme zpět, jinak #header ten pruh přebije. */
    /* #header musí zůstat fixní tak, jak ho má šablona (pod lištou),
       jinak se řádek s logem a košíkem při scrollu schová pod ni. */
    #header {
        position: fixed !important;
        top: 50px !important;
        z-index: 56 !important;
    }

    /* Lišta musí mít svých 50 px: šablona v ní centruje hamburger přes top: 50 %,
       při nulové výšce vyjede nad obrazovku. */
    .top-navigation-bar {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 56 !important;
        height: 50px !important;
        min-height: 50px !important;
        background: #fff !important;
    }

    .top-navigation-bar .container {
        position: static !important;
        display: block !important;
        height: 50px !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .top-navigation-tools,
    .top-navigation-bar .responsive-tools {
        height: 50px !important;
    }

    /* hlavička se při scrollu nesmí schovávat (šablona ji odsouvá pryč) */
    .top-navigation-bar,
    #header,
    #header .site-name,
    #header .site-name-wrapper,
    #header .navigation-buttons,
    #header .navigation-buttons .btn.cart-count,
    .top-navigation-bar .responsive-tools,
    .top-navigation-bar .responsive-tools a {
        transform: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        margin-top: 0 !important;
    }

    /* Logo a košík ukotvíme sami do horní lišty – šablona je při scrollu
       odsouvá spolu s hlavičkou a takhle jsou na tom nezávislé. */
    #header .site-name {
        position: fixed !important;
        top: 6px !important;
        left: 20px !important;
        z-index: 57 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* košík je uvnitř absolutně a centruje se na tenhle bod – proto střed lišty */
    #header .navigation-buttons {
        position: fixed !important;
        top: 16px !important;
        right: 64px !important;
        left: auto !important;
        z-index: 57 !important;
        display: flex !important;
        align-items: center !important;
        margin: 0 !important;
    }

    #header .navigation-buttons .btn.cart-count {
        position: relative !important;
        top: auto !important;
        bottom: auto !important;
        left: auto !important;
        right: auto !important;
        margin: 0 !important;
    }

    /* obsah rozbaleného košíku nesmí zalézt pod fixní lištu s hledáním */
    .cart-widget-products {
        margin-top: 72px !important;
    }

    .top-navigation-tools {
        position: static !important;
        display: flex !important;
        align-items: center !important;
        width: auto !important;
        right: auto !important;
        top: auto !important;
        transform: none !important;
    }

    /* hamburger zůstává; lupu nepotřebujeme, hledání je vidět pořád */
    .top-navigation-bar .responsive-tools {
        display: flex !important;
        align-items: center !important;
    }

    .top-navigation-bar .responsive-tools a[data-target="search"] {
        display: none !important;
    }

    /* doladění svislé pozice hamburgeru (transform, ať nezávisí na model boxu) */
    .top-navigation-bar .responsive-tools a[data-target="navigation"] {
        transform: translateY(2px) !important;
    }

    .top-nav-button-login,
    .top-nav-button-account {
        display: none !important;
    }

    #header .header-top {
        display: block !important;
        gap: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
    }

    /* .search na mobilu schovává šablona a otevírá ho lupa – nevnucovat display */
    #header .site-name-wrapper,
    #header .site-name,
    #header .navigation-buttons {
        display: block !important;
        flex: none !important;
        margin: 0 !important;
        max-width: none !important;
    }

    /* Hledání necháváme na mobilu trvale viditelné pod fixní lištou.
       Šablona rezervuje na lištu padding-top: 50px – zvětšujeme o řádek hledání. */
    .overall-wrapper {
        padding-top: 114px !important;
    }

    #header {
        height: auto !important;
        background: #fff !important;
    }

    #header .search {
        display: block !important;
        flex: none !important;
        margin: 0 !important;
        padding: 6px 0 10px !important;
        max-width: none !important;
    }

    #header .navigation-buttons {
        display: flex !important;
    }

    /* šablona košík absolutně vytahuje do fixní lišty – nesmíme mu to přebít */
    #header .navigation-buttons .btn.cart-count {
        position: absolute !important;
        gap: 0 !important;
    }

    #header .navigation-buttons .cart-price {
        display: none !important;
    }

    #header .navigation-buttons .btn.cart-count::before {
        width: 27px !important;
        height: 27px !important;
        flex-basis: 27px !important;
    }

    #header .navigation-buttons .btn.cart-count i {
        left: 15px !important;
        top: -7px !important;
        min-width: 17px !important;
        height: 17px !important;
        font-size: 11px !important;
    }

    #header .site-name img {
        max-height: 40px !important;
    }

    #header .search-input,
    #header .search-form input[type="search"],
    #header .search-form .btn,
    #header .search-form button[type="submit"] {
        height: 46px !important;
    }

    #header .search-form .btn,
    #header .search-form button[type="submit"] {
        min-width: 0 !important;
        padding: 0 18px !important;
    }

}

/* --------------------------------------------------------------------------
   Mobil
   -------------------------------------------------------------------------- */

@media (max-width: 767px) {
    #content-wrapper {
        padding-top: 16px !important;
    }

    .products.products-block {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    .products.products-block .p {
        padding: 12px 12px 66px !important;
    }

    .products.products-block .p > a.image {
        height: 130px !important;
        margin-bottom: 12px !important;
    }

    .products.products-block a.name {
        font-size: 14px !important;
        min-height: 0 !important;
        margin-bottom: 10px !important;
    }

    .products.products-block .price-final {
        font-size: 21px !important;
    }

    .products.products-block .ratings-wrapper {
        left: 12px !important;
        bottom: 22px !important;
    }

    .products.products-block .p-tools {
        right: 12px !important;
        bottom: 12px !important;
    }

    .products.products-block .p-tools .btn {
        height: 34px !important;
        padding: 0 12px !important;
        font-size: 11px !important;
        gap: 8px !important;
    }

    .homepage-group-title {
        font-size: 22px !important;
        margin-bottom: 16px !important;
    }

    .benefitBanner__title {
        font-size: 16px !important;
    }

    .benefitBanner__data {
        font-size: 14px !important;
    }

    /* levý sloupec pod obsahem – boxy na plnou šířku */
    .sidebar .box {
        padding: 16px 12px !important;
        margin-bottom: 16px !important;
    }

    #footer .footer-rows {
        grid-template-columns: minmax(0, 1fr) !important;
        row-gap: 30px !important;
    }

    #footer .custom-footer__banner7541 ul,
    #footer .custom-footer__banner1801 ul,
    #footer .custom-footer__banner7541 li,
    #footer .custom-footer__banner1801 li {
        gap: 10px !important;
    }

    #footer .custom-footer__banner7541 img,
    #footer .custom-footer__banner1801 img {
        height: 26px !important;
        padding: 9px 12px !important;
    }
}

@media (max-width: 479px) {
    .products.products-block {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .products.products-block .p > a.image {
        height: 200px !important;
    }

    .next-to-carousel-banners {
        flex-direction: column !important;
    }
}

/* ==========================================================================
   Měna v hlavičce
   ========================================================================== */

#header .navigation-buttons [data-testid="topnavCurrencyDropdown"] {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;

    flex: 0 0 auto !important;
    width: auto !important;
    height: auto !important;

    margin: 0 26px 0 0 !important;
    padding: 0 26px 0 0 !important;

    border: 0 !important;
    border-right: 1px solid var(--bvm-line) !important;

    background: none !important;

    white-space: nowrap !important;
}


/* schovat "Ceny v:" */
#header .navigation-buttons [data-testid="topnavCurrencyDropdown"] > span:first-child {
    display: none !important;
}


/* tlačítko CZK / EUR */
#header .navigation-buttons [data-testid="topnavCurrencyDropdown"] > button {
    position: static !important;

    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;

    width: auto !important;
    min-width: 0 !important;
    height: auto !important;

    margin: 0 !important;
    padding: 5px 0 !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: none !important;
    box-shadow: none !important;

    color: var(--bvm-navy) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    cursor: pointer !important;
}


/* hover / focus */
#header .navigation-buttons [data-testid="topnavCurrencyDropdown"] > button:hover,
#header .navigation-buttons [data-testid="topnavCurrencyDropdown"] > button:focus {
    background: none !important;
    color: var(--bvm-navy-dark) !important;
    box-shadow: none !important;
    outline: 0 !important;
}


/* vlastní šipka */
#header .navigation-buttons [data-testid="topnavCurrencyDropdown"] .caret {
    display: inline-block !important;

    width: 7px !important;
    height: 7px !important;

    margin: -3px 0 0 2px !important;

    border: 0 !important;
    border-right: 2px solid var(--bvm-yellow) !important;
    border-bottom: 2px solid var(--bvm-yellow) !important;

    transform: rotate(45deg) !important;
}


/* rozbalovací nabídka */
#header .navigation-buttons [data-testid="topnavCurrencyDropdown"] .dropdown-menu {
    position: absolute !important;

    top: calc(100% + 14px) !important;
    left: 50% !important;
    right: auto !important;

    min-width: 100px !important;

    margin: 0 !important;
    padding: 6px !important;

    transform: translateX(-50%) !important;

    border: 1px solid var(--bvm-line) !important;
    border-radius: 8px !important;

    background: #fff !important;
    box-shadow: 0 8px 25px rgba(11, 31, 110, .12) !important;

    z-index: 1000 !important;
}


/* položky */
#header .navigation-buttons [data-testid="topnavCurrencyDropdown"] .dropdown-menu > li {
    margin: 0 !important;
    padding: 0 !important;
}


/* CZK / EUR v dropdownu */
#header .navigation-buttons [data-testid="topnavCurrencyDropdown"] .dropdown-menu > li > a {
    display: block !important;

    padding: 8px 12px !important;

    border: 0 !important;
    border-radius: 5px !important;

    background: transparent !important;

    color: var(--bvm-navy) !important;
    font-size: 13px !important;
    font-weight: 600 !important;

    line-height: 1.3 !important;
    text-decoration: none !important;
}


/* hover položky */
#header .navigation-buttons [data-testid="topnavCurrencyDropdown"] .dropdown-menu > li > a:hover,
#header .navigation-buttons [data-testid="topnavCurrencyDropdown"] .dropdown-menu > li > a:focus {
    background: var(--bvm-bg-soft) !important;
    color: var(--bvm-navy-dark) !important;
    text-decoration: none !important;
}

/* dropdown měny – bez odrážek */
#header .navigation-buttons [data-testid="topnavCurrencyDropdown"] .dropdown-menu {
    list-style: none !important;
    list-style-type: none !important;
    margin: 0 !important;
    padding: 6px !important;
}

#header .navigation-buttons [data-testid="topnavCurrencyDropdown"] .dropdown-menu > li {
    position: relative !important;
    display: block !important;
    list-style: none !important;
    list-style-type: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#header .navigation-buttons [data-testid="topnavCurrencyDropdown"] .dropdown-menu > li::marker {
    content: "" !important;
    display: none !important;
}

#header .navigation-buttons [data-testid="topnavCurrencyDropdown"] .dropdown-menu > li::before,
#header .navigation-buttons [data-testid="topnavCurrencyDropdown"] .dropdown-menu > li::after {
    content: none !important;
    display: none !important;
}

tr.sold-out {
    display: none !important;
}