/* =============================================================
   VITEK.CZ – Komponentní styly
   Nahrazuje Shoptet framework (main-11.less.css)
   Závisí na: Bootstrap 3, google-fonts.css
   ============================================================= */

/* -------------------------------------------------------
   RESET / BASE
------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }

html { height: 100%; }

body {
    font-family: 'Source Sans 3', 'Open Sans', sans-serif;
    font-size: 15px;
    color: #222222;
    background: #F7F7F7 url('../img/bg-min.png') center top no-repeat;
    margin: 0;
    padding: 0;
    min-height: 100%;
    display: flex;
    flex-direction: column;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: 'Exo 2', sans-serif;
    color: #222222;
}

a { color: var(--color-primary); }
a:hover { color: var(--color-tertiary); text-decoration: none; }

.sr-only {
    position: absolute; width: 1px; height: 1px;
    padding: 0; margin: -1px; overflow: hidden;
    clip: rect(0,0,0,0); border: 0;
}

/* Sticky footer: overall-wrapper roste, aby vyplnil celou výšku body */
.overall-wrapper { max-width: 100%; overflow-x: hidden; flex: 1; display: flex; flex-direction: column; }

/* Astra scroll-to-top button – fixed, aby nevytvářel výšku za footerem */
#ast-scroll-top { position: fixed !important; bottom: 20px; right: 20px; }

.container { max-width: 1340px; width: 100%; padding-left: 20px; padding-right: 20px; margin: 0 auto; }

.row { margin-left: 0; margin-right: 0; }

.banner { overflow: initial; margin-bottom: 0; }
.banner a, .banner-wrapper a { color: inherit; }
.banner-wrapper { margin-top: 0; }

/* -------------------------------------------------------
   TOP NAVIGATION BAR
------------------------------------------------------- */
.top-navigation-bar {
    background: #fff;
    border-bottom: 1px solid #e9e9e9;
    font-size: 14px;
    padding: 8px 0;
    position: relative;
    z-index: 100;
}

.top-navigation-bar .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 8px;
    white-space: nowrap;
}

.top-navigation-contacts {
    display: flex;
    align-items: center;
    gap: 0;
    font-size: 15px;
}

.top-navigation-contacts strong {
    margin-right: 10px;
    color: #333;
}

.top-navigation-contacts a {
    color: #2A2A2A;
    font-weight: 300;
    font-size: 15px;
    margin-right: 20px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.top-navigation-contacts a:hover { color: var(--color-primary); }

.top-navigation-contacts a.project-phone {
    font-weight: 700;
}

.top-navigation-contacts a.project-phone::before {
    content: '';
    display: inline-block;
    width: 15px; height: 15px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='%23DB0D3B'%3E%3Cpath d='M5 0L2.5 0C1.85 0 1.2.29.73.8.27 1.31.04 1.99.1 2.68c.28 2.67 1.19 5.22 2.64 7.46C4.06 12.21 5.82 13.97 7.9 15.3c2.23 1.44 4.77 2.35 7.41 2.63.7.06 1.38-.17 1.89-.63.5-.47.79-1.13.79-1.82v-2.45c.03-1.23-.88-2.3-2.11-2.47-.73-.1-1.45-.27-2.13-.52-.85-.26-1.78-.03-2.42.6l-.59.59C9.06 10.17 7.83 8.95 6.89 7.51L6.83 7.42l.59-.59c.68-.68.9-1.69.57-2.59C7.72 3.55 7.54 2.84 7.45 2.12 7.27.89 6.22-.01 5 0z'/%3E%3C/svg%3E") no-repeat center / contain;
}

.top-navigation-contacts a.project-email::before {
    content: '';
    display: inline-block;
    width: 16px; height: 13px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 14' fill='%23DB0D3B'%3E%3Cpath d='M18 0H2C.9 0 0 .9 0 2v10c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V2l8 5 8-5v2z'/%3E%3C/svg%3E") no-repeat center / contain;
}

.top-navigation-contacts span.top-nav-sep {
    display: inline-flex;
    align-items: center;
    align-self: stretch;
    color: #ccc;
    padding: 0 6px;
    font-weight: 300;
}

.top-navigation-contacts a.project-login {
    display: inline-flex;
    align-items: center;
    padding: 0 4px;
}

.top-navigation-contacts a.project-facebook {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px; height: 22px;
    background: #1877f2;
    border-radius: 4px;
    text-decoration: none;
    margin-right: 0;
    flex-shrink: 0;
    font-size: 0; /* skryje text "f" */
}
/* FB ikona je inline SVG v header.php, ::before se nepoužívá */
.top-navigation-contacts a.project-facebook:hover { background: #1558b0; }

.top-navigation-menu { display: flex; align-items: center; }

.top-navigation-bar-menu {
    list-style: none; margin: 0; padding: 0;
    display: flex; gap: 16px;
}

.top-navigation-bar-menu li a {
    color: #555; font-size: 13px; text-decoration: none;
}
.top-navigation-bar-menu li a:hover { color: var(--color-primary); }

.top-navigation-tools { display: flex; align-items: center; gap: 0; }

.responsive-tools { display: none; }

/* -------------------------------------------------------
   HEADER
------------------------------------------------------- */
#header {
    background: #fff;
    box-shadow: 0px 2px 30px rgba(0,0,0,0.08);
    position: relative;
    z-index: 99;
}

.navigation-wrapper { padding: 0; }

.header-top {
    display: flex;
    align-items: center;
    height: 105px;
    background: #fff;
    gap: 20px;
    padding: 0 20px;
    max-width: 1340px;
    margin: 0 auto;
}

.site-name-wrapper { flex: 0 1 30%; }

.site-name { margin: 0; line-height: 1; }

.site-name a img {
    max-height: 70px;
    width: auto;
    display: block;
}

/* Vyhledávání */
.search {
    flex: 0 1 40%;
    display: flex;
    align-items: center;
    gap: 8px;
}

.search-form fieldset {
    display: flex;
    border: none;
    padding: 0;
    margin: 0;
    max-width: 420px;
    height: 40px;
    background: linear-gradient(180deg, #EBEBEB 0%, #F7F7F7 100%);
    border-radius: 3px;
    overflow: hidden;
    padding-left: 12px;
}

.search-form .query-input,
.search-form input[type="search"] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: 15px;
    font-weight: 300;
    padding: 0 8px;
    outline: none;
    color: #333;
    font-family: 'Source Sans 3', sans-serif;
}

.search-form .btn-default {
    width: 85px;
    height: 40px;
    background: #5D6163;
    color: #fff;
    border: none;
    cursor: pointer;
    font-size: 14px;
    font-family: 'Source Sans 3', sans-serif;
    flex-shrink: 0;
}

.search-form .btn-default:hover { background: #444; }

/* Košík + prodejna */
.navigation-buttons { flex: 0 1 30%; display: flex; justify-content: flex-end; align-items: center; gap: 8px; }

.btn-prodejna {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 40px;
    padding: 0 14px;
    border: 1px solid #ccc;
    border-radius: 3px;
    color: #333;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
    transition: border-color 0.15s, color 0.15s;
    line-height: 1.3;
}
.btn-prodejna:hover { border-color: var(--color-primary); color: var(--color-primary); }
.btn-prodejna svg { flex-shrink: 0; color: #666; }
.btn-prodejna:hover svg { color: var(--color-primary); }

.btn-icon.cart-count {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    background: none;
    border: none;
    color: #333;
    text-decoration: none;
    font-size: 14px;
    cursor: pointer;
}

.btn-icon.cart-count::before {
    content: '';
    display: inline-block;
    width: 24px; height: 24px;
    background: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M23.8 7.86C23.73 7.75 23.56 7.69 23.4 7.71H17.03V4.95C17.03 2.22 14.78 0 12 0 9.22 0 6.97 2.22 6.97 4.95v2.76H.6c-.18 0-.36 0-.45.15C.04 7.97-.02 8.14.01 8.3l2.22 11.93c.31 1.67 1.77 2.88 3.49 2.91H18.28c1.73-.04 3.19-1.27 3.49-2.94L23.99 8.3c.03-.16-.03-.33-.15-.44zM8.15 4.95C8.15 2.86 9.87 1.16 12 1.16c2.13 0 3.85 1.7 3.85 3.79v2.76H8.15V4.95zM18.28 21.98c1.14-.01 2.11-.82 2.31-1.92L22.69 8.88H1.31l2.1 11.18c.2 1.1 1.17 1.92 2.31 1.92H18.28z' fill='%23333'/%3E%3C/svg%3E") no-repeat center / contain;
}

.btn-icon.cart-count:hover { color: var(--color-primary); }
.cart-price { font-size: 13px; color: #555; }

/* -------------------------------------------------------
   HLAVNÍ NAVIGACE
------------------------------------------------------- */
#navigation {
    background: var(--color-primary);
    position: relative;
}

.navigation-in { max-width: 1340px; margin: 0 auto; padding: 0 20px; }

ul.menu-level-1 {
    list-style: none;
    margin: 0; padding: 0;
    display: flex;
    flex-wrap: wrap;
}

ul.menu-level-1 > li > a {
    display: block;
    padding: 12px 18px;
    color: #fff;
    font-family: 'Exo 2', sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    text-decoration: none;
    transition: background 0.15s;
}

ul.menu-level-1 > li > a:hover,
ul.menu-level-1 > li > a.active,
ul.menu-level-1 > li.current-menu-item > a {
    background: rgba(0,0,0,0.18);
    color: #fff;
}

/* -------------------------------------------------------
   CONTENT WRAPPER – sidebar + main
------------------------------------------------------- */
.content-wrapper.container {
    padding-left: 15px;
    padding-right: 15px;
    background: #fff;
    box-shadow: 0px 2px 30px rgba(0,0,0,0.08);
    max-width: 1300px;
}

.content-wrapper-in {
    display: flex;
    align-items: flex-start;
    gap: 0;
}

/* -------------------------------------------------------
   SIDEBAR – Kategorie
------------------------------------------------------- */
.sidebar.sidebar-left {
    flex: 0 0 220px;
    min-width: 220px;
    border-right: 1px solid #EBEBEB;
}

.sidebar-inner { padding: 0; }

.box-categories { border: none; padding: 0; margin: 0; }

.pageElement__heading {
    background: var(--color-primary);
    color: #fff;
    font-family: 'Exo 2', sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin: 0;
    padding: 10px 14px;
}

.pageElement__heading span { color: #fff; }

#categories { font-size: 14px; }

.categories {
    border-bottom: 1px solid #EBEBEB;
    background: #fff;
}

.categories .topic a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px 10px 16px;
    color: #222;
    font-weight: 600;
    font-size: 13px;
    text-decoration: none;
    border-left: 3px solid transparent;
    transition: color 0.15s, background 0.15s, border-color 0.15s;
}

.categories .topic a::after {
    content: '›';
    font-size: 18px;
    line-height: 1;
    color: #ccc;
    transition: color 0.15s, transform 0.15s;
}

.categories .topic a:hover {
    color: var(--color-primary);
    background: #fff5f5;
    border-left-color: var(--color-primary);
}

.categories .topic a:hover::after {
    color: var(--color-primary);
    transform: translateX(2px);
}

/* Aktivní/rozbalená kategorie */
.categories.expanded .topic { background: #fff !important; }
.categories.expanded .topic > a {
    color: var(--color-primary) !important;
    background: #fff5f5 !important;
    border-left-color: var(--color-primary) !important;
}
.categories.expanded .topic > a::after {
    color: var(--color-primary) !important;
    transform: rotate(90deg) !important;
}

.cat-trigger { display: none; }
.cat-trigger::after { content: none; }
.categories.expanded > .topic .cat-trigger::after { content: none; }
#categories ul .cat-trigger::after { content: none; }

/* Podkategorie */
.categories ul {
    list-style: none; margin: 0; padding: 0;
    background: #fafafa;
    border-top: 1px solid #f0f0f0;
    display: none;
}

.categories ul.expanded { display: block; }

.categories ul li a {
    display: block;
    padding: 7px 14px 7px 28px;
    color: #555;
    font-size: 13px;
    text-decoration: none;
    border-bottom: 1px solid #f0f0f0;
    border-left: 3px solid transparent;
    transition: color 0.15s, background 0.15s, border-color 0.15s;
}

.categories ul li a:hover {
    color: var(--color-primary);
    background: #fff5f5;
    border-left-color: var(--color-primary);
}

/* -------------------------------------------------------
   MAIN CONTENT
------------------------------------------------------- */
#content {
    flex: 1;
    min-width: 0;
    padding: 0 0 50px 0;
}

/* -------------------------------------------------------
   CAROUSEL (Bootstrap 3 rozšíření)
------------------------------------------------------- */
.wide-carousel { width: 100%; overflow: hidden; }

#carousel { margin-bottom: 20px; }

.carousel-inner .item img {
    width: 100%;
    height: auto;
    display: block;
}

.carousel-control {
    width: 6%;
    background: none !important;
    opacity: 0;
    transition: opacity 0.3s;
}

#carousel:hover .carousel-control { opacity: 1; }

.carousel-control.left,
.carousel-control.right {
    background-image: none !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

.carousel-control.left::before {
    content: '';
    width: 40px; height: 40px;
    background: rgba(0,0,0,0.4) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M15.41 16.59L10.83 12l4.58-4.59L14 6l-6 6 6 6z'/%3E%3C/svg%3E") no-repeat center / 24px;
    border-radius: 50%;
}

.carousel-control.right::before {
    content: '';
    width: 40px; height: 40px;
    background: rgba(0,0,0,0.4) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6z'/%3E%3C/svg%3E") no-repeat center / 24px;
    border-radius: 50%;
}

/* -------------------------------------------------------
   PRODUKTOVÝ GRID
------------------------------------------------------- */
.homepage-group-title {
    font-family: 'Exo 2', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #222;
    margin: 24px 0 12px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--color-primary);
}

.products.products-block {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
}

.products-block > .product {
    width: 33.333%;
    border-right: 2px solid #EBEBEB;
    border-bottom: 2px solid #EBEBEB;
    display: flex;
    flex-direction: column;
}

.products-block > .product:nth-child(3n) { border-right: 0; }

.product .p { display: flex; flex-direction: column; height: 100%; }

/* Obrázek produktu */
a.image {
    display: block;
    overflow: hidden;
    position: relative;
    background: #f9f9f9;
}

a.image img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
    transition: transform 0.3s;
}

.product:hover a.image img { transform: scale(1.03); }

/* Badge / sleva */
.flags.flags-extra {
    position: absolute;
    top: 8px; left: 8px;
    z-index: 2;
}

.flag.flag-discount {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
}

.price-standard span {
    background: #f0f0f0;
    color: #888;
    font-size: 12px;
    text-decoration: line-through;
    padding: 2px 6px;
    border-radius: 2px;
}

.price-save {
    background: var(--color-primary);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 2px;
}

/* Info o produktu */
.p-in { padding: 10px 12px; flex: 1; display: flex; flex-direction: column; }

.p-in-in { flex: 1; }

a.name {
    display: block;
    color: #222;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    margin-bottom: 6px;
    text-decoration: none;
}

a.name:hover { color: var(--color-primary); }

.ratings-wrapper { margin-bottom: 8px; }

.availability { font-size: 13px; }

.p-bottom { margin-top: auto; }

.prices { margin-bottom: 8px; }

.price.price-final {
    font-size: 18px;
    color: #222;
}

.price.price-final strong { font-weight: 700; }

.btn.btn-cart {
    display: inline-block;
    background: #10833d;
    color: #fff;
    border: 1px solid #1a9d4d;
    padding: 7px 15px;
    font-size: 14px;
    font-family: 'Exo 2', sans-serif;
    font-weight: 700;
    cursor: pointer;
    border-radius: 2px;
    transition: all 0.3s ease-out;
    min-width: 144px;
    width: 100%;
    text-align: center;
}

.btn.btn-cart::before {
    content: '› ';
    font-size: 16px;
    line-height: 1;
    vertical-align: middle;
}

.btn.btn-cart:hover { background: #0d6b31; border-color: #10833d; color: #fff; }

.p-desc {
    font-size: 13px;
    color: #666;
    margin: 6px 0 0;
    line-height: 1.4;
}

/* -------------------------------------------------------
   FOOTER
------------------------------------------------------- */
#footer {
    background: #f5f5f5;
    padding-top: 40px;
    margin-top: auto;
    border-top: 1px solid #e0e0e0;
}

.footer-rows { position: relative; }

#footer .site-name {
    position: absolute;
    left: 20px;
    top: 10px;
}

#footer .site-name img {
    max-height: 48px;
    width: auto;
    opacity: 0.7;
    filter: grayscale(100%);
}

.custom-footer {
    display: flex;
    flex-wrap: wrap;
    padding-left: 220px;
    padding-bottom: 32px;
}

.custom-footer > div { width: 33.333%; padding: 0 20px; }

.custom-footer h4 {
    font-family: 'Exo 2', sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    color: #333;
    margin: 0 0 14px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--color-primary);
    display: inline-block;
}

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

.custom-footer ul li { margin-bottom: 7px; }

.custom-footer ul li a {
    color: #555;
    font-size: 14px;
    text-decoration: none;
}

.custom-footer ul li a:hover { color: var(--color-primary); }

.custom-footer p { font-size: 13px; color: #555; line-height: 1.7; margin-top: 10px; }

.custom-footer p a { color: var(--color-primary); }

.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px 0;
    border-top: 1px solid #ddd;
    background: #eee;
}

.copyright { font-size: 13px; color: #666; }

/* -------------------------------------------------------
   OBECNÉ UTILITY
------------------------------------------------------- */
.btn { display: inline-block; cursor: pointer; border-radius: 3px; }

.btn-default {
    background: #5D6163;
    color: #fff;
    border: none;
    padding: 8px 16px;
    font-size: 14px;
}

.btn-default:hover { background: #444; color: #fff; }

/* Stránky – obsah */
#content h1 {
    font-size: 26px;
    font-weight: 700;
    margin: 0 0 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--color-primary);
    color: #222;
}

.entry-content {
    font-size: 15px;
    line-height: 1.8;
    color: #444;
}

.entry-content h2 { font-size: 20px; margin-top: 28px; }

/* Popup widget posun kvůli sidebaru */
.popup-widget { margin-left: 221px; }

/* -------------------------------------------------------
   RESPONSIVE
------------------------------------------------------- */
@media (max-width: 1200px) {
    .custom-footer { padding-left: 220px; }
    #footer .site-name { display: block; position: absolute; left: 20px; top: 10px; }
}

@media (max-width: 999px) {
    .header-top > div:first-child { flex: 0 1 30%; padding-right: 30px; }
    .header-top > div { flex: 0 1 45%; }
    .header-top > div:last-child { flex: 0 1 25%; }
    #footer .site-name { display: none; }
    .custom-footer { padding-left: 0; }
    .responsive-tools { display: flex; gap: 4px; }
}

@media (max-width: 767px) {
    .header-top { height: auto; min-height: 70px; flex-wrap: wrap; padding: 10px 10px; }
    .header-top > div:first-child { flex: 0 1 50%; }
    .header-top > div:last-child { flex: 0 1 50%; }
    .search { flex: 0 0 100%; order: -1; }
    .search-form fieldset { max-width: 100%; }

    .sidebar.sidebar-left { display: none; }

    .products-block > .product { width: 50%; }
    .products-block > .product:nth-child(3n) { border-right: 2px solid #EBEBEB; }
    .products-block > .product:nth-child(2n) { border-right: 0; }

    .custom-footer > div { width: 100%; padding: 0 15px; margin-bottom: 20px; }
    .custom-footer { padding-left: 0; flex-direction: column; }

    ul.menu-level-1 { flex-direction: column; }
    #navigation { display: none; }
    #navigation.open { display: block; position: fixed; top: 54px; left: 0; right: 0; bottom: 0; z-index: 200; overflow-y: auto; background: #fff; }

    .responsive-tools { display: flex; }
    .responsive-tools .toggle-window[data-target="navigation"] {
        display: block; position: fixed; top: 0; right: 0;
        width: 44px; height: 54px; z-index: 201;
        background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='12' viewBox='0 0 16 12'%3E%3Crect width='16' height='2'/%3E%3Crect width='16' height='2' y='5'/%3E%3Crect width='16' height='2' y='10'/%3E%3C/svg%3E") center 13px no-repeat #fff;
        border-left: 1px solid #e9e9e9;
        cursor: pointer;
    }

    .top-navigation-bar .container > div { display: none; }
    .top-navigation-bar .container > .top-navigation-tools { display: flex !important; flex: 0 0 100%; height: 50px; }
    .top-navigation-bar { height: 40px; }
}

@media (max-width: 500px) {
    .products-block > .product { width: 100%; border-right: 0 !important; }
}

/* =============================================================
   WOOCOMMERCE – tlačítka a podkategorie
   ============================================================= */

/* Zelené "Přidat do košíku" / "Do košíku" tlačítko */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #payment #place_order {
    display: inline-flex !important;
    align-items: center !important;
    background: #10833d !important;
    color: #fff !important;
    border: 1px solid #1a9d4d !important;
    border-radius: 2px !important;
    font-family: 'Exo 2', sans-serif !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    padding: 7px 15px !important;
    min-width: 144px !important;
    transition: all 0.3s ease-out !important;
    line-height: 1.2 !important;
}

.woocommerce a.button::before,
.woocommerce button.button::before {
    content: '❯';
    font-size: 20px;
    font-weight: 900;
    line-height: 1;
    margin-right: 10px;
    padding-right: 12px;
    border-right: 1px solid rgba(255,255,255,0.35);
    flex-shrink: 0;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
    background: #0d6b31 !important;
    border-color: #10833d !important;
    color: #fff !important;
}

/* Podkategorie – dlaždice (WooCommerce product-category loop) */
.woocommerce ul.products li.product-category {
    text-align: center;
}

.woocommerce ul.products li.product-category a {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0;
    border: 1px solid #e0e0e0;
    border-radius: 3px;
    background: #fff;
    color: #222;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: border-color 0.15s, background 0.15s;
    overflow: hidden;
    height: 100%;
}

.woocommerce ul.products li.product-category a:hover {
    border-color: var(--color-primary);
    background: #fafafa;
    color: var(--color-primary);
}

.woocommerce ul.products li.product-category a img {
    width: 100% !important;
    height: 70px !important;
    max-height: 70px !important;
    object-fit: contain !important;
    object-position: center !important;
    padding: 6px !important;
    background: #f8f8f8;
    border-bottom: 1px solid #efefef;
    flex-shrink: 0;
}

.woocommerce ul.products li.product-category .woocommerce-loop-category__title {
    flex: 1;
    margin: 0;
    padding: 10px 12px 6px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    line-height: 1.3;
}

.woocommerce ul.products li.product-category .woocommerce-loop-category__title mark {
    display: block;
    background: none;
    color: #999;
    font-size: 11px;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
    margin-top: 2px;
}

/* Šipka → na konci dlaždice kategorie */
.woocommerce ul.products li.product-category a::after {
    content: '→';
    color: var(--color-primary);
    font-size: 16px;
    padding: 6px 12px 10px;
    align-self: flex-start;
}

/* Oddělovač sekce Produkty od podkategorií */
.woocommerce ul.products li.products-section-separator {
    /* Flexbox */
    flex: 0 0 100% !important;
    max-width: 100% !important;
    /* Grid */
    grid-column: 1 / -1 !important;
    /* Float fallback */
    width: 100% !important;
    float: none !important;
    clear: both;
    padding: 0;
    margin: 16px 0 0;
    list-style: none;
    border-top: 3px solid #222;
}
.woocommerce ul.products li.products-section-separator span {
    display: inline-block;
    font-family: var(--template-headings-font), sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #222;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 10px 0 6px;
}

/* -------------------------------------------------------
   KONTAKT
------------------------------------------------------- */
.kontakt-grid {
    display: grid;
    grid-template-columns: 1fr 1.6fr;
    gap: 32px;
    margin-bottom: 32px;
    align-items: start;
}

.kontakt-nazev {
    color: var(--color-primary);
    font-size: 22px;
    margin: 0 0 20px;
}

.kontakt-karty {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 28px;
}

.kontakt-karta {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: #f8f8f8;
    border-left: 3px solid var(--color-primary);
    border-radius: 0 6px 6px 0;
    padding: 12px 16px;
}

.kontakt-ikona {
    font-size: 20px;
    line-height: 1.4;
    flex-shrink: 0;
}

.kontakt-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #999;
    margin-bottom: 2px;
}

.kontakt-hodnota {
    font-size: 14px;
    color: #222;
    line-height: 1.5;
}

.kontakt-hodnota a {
    color: var(--color-primary);
    text-decoration: none;
    font-weight: 600;
}

.kontakt-hodnota a:hover { text-decoration: underline; }

.oteviraci-doba h3 {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #666;
    margin: 0 0 10px;
}

.doba-radky {
    border: 1px solid #e8e8e8;
    border-radius: 6px;
    overflow: hidden;
}

.doba-radek {
    display: flex;
    justify-content: space-between;
    padding: 10px 16px;
    font-size: 14px;
    border-bottom: 1px solid #f0f0f0;
    background: #fff;
}

.doba-radek:last-child { border-bottom: none; }

.doba-den { color: #444; font-weight: 600; }

.doba-cas { color: #222; }

.doba-radek.zavreno .doba-cas { color: #aaa; }

.kontakt-mapa {
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,0.1);
    min-height: 350px;
}

.kontakt-mapa iframe { display: block; min-height: 350px; }

@media (max-width: 768px) {
    .kontakt-grid { grid-template-columns: 1fr; }
}
