﻿/**
 * K-TERM Sklenářství Online - COMPLETE REDESIGN 2026
 * Flatsome Child Theme - Modern Glass Shop
 *
 * Based on actual Flatsome structure analysis
 */

/* ==========================================================================
   CSS VARIABLES
   ========================================================================== */

:root {
    /* Brand Colors */
    --kt-primary: #057BB8;
    --kt-primary-dark: #045a88;
    --kt-primary-light: #0891b2;
    --kt-accent: #18B5E2;
    --kt-accent-light: #67d4f1;

    /* Gradients */
    --kt-gradient: linear-gradient(135deg, #057BB8 0%, #18B5E2 100%);
    --kt-gradient-dark: linear-gradient(135deg, #045a88 0%, #057BB8 100%);
    --kt-gradient-glass: linear-gradient(135deg, rgba(5,123,184,0.1) 0%, rgba(24,181,226,0.1) 100%);

    /* Neutrals */
    --kt-white: #ffffff;
    --kt-gray-50: #f8fafc;
    --kt-gray-100: #f1f5f9;
    --kt-gray-200: #e2e8f0;
    --kt-gray-300: #cbd5e1;
    --kt-gray-400: #94a3b8;
    --kt-gray-500: #64748b;
    --kt-gray-600: #475569;
    --kt-gray-700: #334155;
    --kt-gray-800: #1e293b;
    --kt-gray-900: #0f172a;

    /* Effects */
    --kt-shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
    --kt-shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1);
    --kt-shadow-md: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1);
    --kt-shadow-lg: 0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1);
    --kt-shadow-xl: 0 25px 50px -12px rgba(0,0,0,0.25);

    /* Radius */
    --kt-radius-sm: 6px;
    --kt-radius: 10px;
    --kt-radius-lg: 16px;
    --kt-radius-xl: 24px;
    --kt-radius-full: 9999px;

    /* Typography - Inter font stack */
    --kt-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    --kt-font-size-xs: 12px;
    --kt-font-size-sm: 13px;
    --kt-font-size-base: 14px;
    --kt-font-size-md: 15px;
    --kt-font-size-lg: 16px;
    --kt-font-size-xl: 18px;
    --kt-font-size-2xl: 20px;
    --kt-font-size-3xl: 24px;
}

/* ==========================================================================
   GLOBAL RESET & BASE
   ========================================================================== */

html {
    scroll-behavior: auto !important;
    scroll-padding-top: 100px;
}

body {
    font-family: var(--kt-font-sans) !important;
    font-size: var(--kt-font-size-base);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Global typography - ensure consistent fonts across all elements */
body *,
.header,
.header-wrapper,
.nav-wrapper,
.main,
.footer,
.shop-container,
.woocommerce,
.cart-container,
h1, h2, h3, h4, h5, h6,
p, span, div, a,
button, input, select, textarea,
.product-title,
.price,
.woocommerce-Price-amount,
.cart-item,
.menu-item,
.nav a {
    font-family: var(--kt-font-sans) !important;
}

/* Headings consistency */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--kt-font-sans) !important;
    font-weight: 600;
    line-height: 1.3;
}

h1 { font-size: var(--kt-font-size-3xl); }
h2 { font-size: var(--kt-font-size-2xl); }
h3 { font-size: var(--kt-font-size-xl); }
h4 { font-size: var(--kt-font-size-lg); }
h5, h6 { font-size: var(--kt-font-size-md); }

/* ==========================================================================
   TOP BAR - Modern utility bar
   ========================================================================== */

#top-bar.header-top {
    background: var(--kt-gray-900) !important;
    min-height: 40px !important;
    padding: 8px 0 !important;
    border-bottom: none !important;
}

#top-bar .flex-row {
    align-items: center !important;
}

/* Top bar text & links */
#top-bar .nav,
#top-bar .nav li,
#top-bar .nav a,
#top-bar .header-contact-wrapper,
#top-bar .top-bar-nav a {
    color: var(--kt-gray-300) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
}

#top-bar .nav a:hover,
#top-bar .top-bar-nav a:hover {
    color: var(--kt-white) !important;
}

/* Top bar icons */
#top-bar i {
    color: var(--kt-accent) !important;
    margin-right: 6px !important;
}

/* Top bar dividers */
#top-bar .nav-divided > li {
    border-color: var(--kt-gray-700) !important;
}

/* Announcement banner - if exists */
#top-bar .html-custom {
    color: var(--kt-accent-light) !important;
}

#top-bar .html-custom a {
    color: var(--kt-white) !important;
    text-decoration: underline !important;
}

/* ==========================================================================
   MAIN HEADER - Clean modern design
   ========================================================================== */

#masthead.header-main {
    background: var(--kt-white) !important;
    height: auto !important;
    min-height: 80px !important;
    padding: 12px 0 !important;
    box-shadow: var(--kt-shadow) !important;
    position: relative;
    z-index: 100;
}

.header-inner {
    align-items: center !important;
}

/* Logo */
#logo img {
    max-height: 60px !important;
    transition: all 0.3s ease !important;
}

/* ==========================================================================
   MAIN NAVIGATION - Bold & Modern
   ========================================================================== */

/* Navigation container */
.header-nav-main.nav,
ul.header-nav.header-nav-main {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    flex-wrap: nowrap !important;
}

/* All menu items */
.header-nav-main > li {
    display: flex !important;
    align-items: center !important;
    white-space: nowrap !important;
}

.header-nav-main > li > a,
.header-nav-main > li > .nav-top-link {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--kt-gray-700) !important;
    padding: 10px 16px !important;
    border-radius: var(--kt-radius) !important;
    transition: all 0.2s ease !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    display: flex !important;
    align-items: center !important;
}

.header-nav-main > li > a:hover,
.header-nav-main > li:hover > a,
.header-nav-main > li.active > a,
.header-nav-main > li.current-menu-item > a {
    background: var(--kt-gradient-glass) !important;
    color: var(--kt-primary) !important;
}

/* Všechny menu položky - jednotný styl */
/* (Původní CTA styl odstraněn - všechny položky vypadají stejně) */

/* Menu item with dropdown indicator - hide Flatsome's default arrow */
.header-nav-main > li.has-dropdown > a > .icon-angle-down,
.header-nav-main > li.menu-item-has-children > a > .icon-angle-down,
.header-nav-main > li > a > i.icon-angle-down {
    display: none !important;
}

/* Single custom arrow */
.header-nav-main > li.has-dropdown > a::after,
.header-nav-main > li.menu-item-has-children > a::after {
    content: '' !important;
    width: 0 !important;
    height: 0 !important;
    border-left: 4px solid transparent !important;
    border-right: 4px solid transparent !important;
    border-top: 4px solid currentColor !important;
    margin-left: 6px !important;
    opacity: 0.6 !important;
    display: inline-block !important;
    vertical-align: middle !important;
}

/* Dropdown menus - ALWAYS DROP DOWN */
.nav-dropdown {
    background: var(--kt-white) !important;
    border: 1px solid var(--kt-gray-100) !important;
    border-radius: var(--kt-radius-lg) !important;
    box-shadow: var(--kt-shadow-xl) !important;
    padding: 12px !important;
    min-width: 220px !important;
    margin-top: 10px !important;
    /* Force dropdown to go DOWN not UP */
    top: 100% !important;
    bottom: auto !important;
    transform: none !important;
}

.nav-dropdown::before {
    content: '' !important;
    position: absolute !important;
    top: -8px !important;
    bottom: auto !important;
    left: 30px !important;
    width: 16px !important;
    height: 16px !important;
    background: var(--kt-white) !important;
    transform: rotate(45deg) !important;
    border-left: 1px solid var(--kt-gray-100) !important;
    border-top: 1px solid var(--kt-gray-100) !important;
}

/* Ensure all dropdowns go down */
.header-nav-main li.has-dropdown .nav-dropdown,
.header-nav-main li.menu-item-has-children .nav-dropdown,
.has-dropdown > .nav-dropdown {
    top: 100% !important;
    bottom: auto !important;
    margin-top: 5px !important;
}

.nav-dropdown li {
    margin: 0 !important;
}

.nav-dropdown li a {
    padding: 12px 16px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: var(--kt-gray-600) !important;
    border-radius: var(--kt-radius) !important;
    display: block !important;
    transition: all 0.15s ease !important;
}

.nav-dropdown li a:hover {
    background: var(--kt-gray-50) !important;
    color: var(--kt-primary) !important;
    padding-left: 20px !important;
}

/* ==========================================================================
   CART ICON - Visible and styled!
   ========================================================================== */

/* Cart container */
li.cart-item {
    display: flex !important;
    align-items: center !important;
}

li.cart-item .header-button {
    display: flex !important;
}

/* Cart link - THE FIX */
a.header-cart-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    background: var(--kt-gray-100) !important;
    border-radius: var(--kt-radius-full) !important;
    position: relative !important;
    transition: all 0.2s ease !important;
    border: 2px solid transparent !important;
}

a.header-cart-link:hover {
    background: var(--kt-primary) !important;
    border-color: var(--kt-primary) !important;
    transform: translateY(-2px) !important;
    box-shadow: var(--kt-shadow-md) !important;
}

/* Cart icon */
a.header-cart-link i.icon-shopping-cart,
.cart-item i.icon-shopping-cart {
    font-size: 22px !important;
    color: var(--kt-gray-700) !important;
    transition: color 0.2s ease !important;
}

a.header-cart-link:hover i.icon-shopping-cart {
    color: var(--kt-white) !important;
}

/* Cart count badge */
i.icon-shopping-cart[data-icon-label]::after {
    content: attr(data-icon-label) !important;
    position: absolute !important;
    top: -4px !important;
    right: -4px !important;
    background: var(--kt-gradient) !important;
    color: var(--kt-white) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    font-style: normal !important;
    min-width: 20px !important;
    height: 20px !important;
    line-height: 20px !important;
    text-align: center !important;
    border-radius: var(--kt-radius-full) !important;
    padding: 0 6px !important;
    box-shadow: 0 2px 8px rgba(5,123,184,0.4) !important;
}

/* Hide price in cart button */
.header-cart-link .cart-price {
    display: none !important;
}

/* Cart dropdown - FIX position */
.nav-dropdown.nav-dropdown-default.cart-dropdown,
.cart-item .nav-dropdown {
    width: 350px !important;
    padding: 20px !important;
    right: 0 !important;
    left: auto !important;
    top: 100% !important;
    bottom: auto !important;
    margin-top: 10px !important;
    position: absolute !important;
}

/* Prevent cart dropdown from going up */
.cart-item.has-dropdown .nav-dropdown {
    transform: none !important;
    top: calc(100% + 5px) !important;
}

/* Cart dropdown arrow */
.cart-item .nav-dropdown::before {
    top: -8px !important;
    bottom: auto !important;
    right: 20px !important;
    left: auto !important;
}

/* ==========================================================================
   ACCOUNT / USER - "Michal Kubišta" styling
   ========================================================================== */

/* Account link in header */
.header-nav-main .account-item,
.header-nav-main .is-account,
.header-nav-main li.account-item {
    display: flex !important;
    align-items: center !important;
}

.header-nav-main .account-item > a,
.header-nav-main .is-account > a,
.header-nav-main .account-item .nav-top-link {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 16px !important;
    background: var(--kt-gray-100) !important;
    border-radius: var(--kt-radius-full) !important;
    transition: all 0.2s ease !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: var(--kt-gray-700) !important;
    white-space: nowrap !important;
}

.header-nav-main .account-item > a:hover,
.header-nav-main .is-account > a:hover {
    background: var(--kt-gray-200) !important;
}

.header-nav-main .account-item i,
.header-nav-main .is-account i {
    font-size: 18px !important;
    color: var(--kt-gray-600) !important;
    order: -1 !important; /* Icon first */
}

/* Hide the down arrow icon under username */
.header-nav-main .account-item .icon-angle-down,
.header-nav-main .is-account .icon-angle-down {
    display: none !important;
}

/* Account dropdown */
.account-item .nav-dropdown,
.is-account .nav-dropdown {
    min-width: 200px !important;
    right: 0 !important;
    left: auto !important;
}

/* ==========================================================================
   SEARCH - Modern 2026 Header Search
   ========================================================================== */

/* Header search container */
.header-search,
.header-search-form,
.header .searchform-wrapper {
    display: flex !important;
    align-items: center !important;
}

/* Search icon button v menu */
.header-nav .search-item,
.header-nav [data-open="search-lightbox"],
.header-search-dropdown {
    display: flex !important;
    align-items: center !important;
}

.header-nav .search-item > a,
.header-nav [data-open="search-lightbox"],
.search-dropdown-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    background: var(--kt-gray-100) !important;
    border-radius: var(--kt-radius-full) !important;
    color: var(--kt-gray-600) !important;
    transition: all 0.2s ease !important;
}

.header-nav .search-item > a:hover,
.header-nav [data-open="search-lightbox"]:hover {
    background: var(--kt-primary) !important;
    color: var(--kt-white) !important;
}

.header-nav .search-item i,
.header-nav [data-open="search-lightbox"] i {
    font-size: 18px !important;
}

/* Inline search form v headeru */
.header .searchform,
.header-search .searchform {
    position: relative;
    min-width: 200px;
    max-width: 300px;
}

.header .searchform input[type="search"],
.header .searchform input[type="text"],
.searchform input[type="search"],
.searchform input[type="text"] {
    width: 100% !important;
    border: 2px solid var(--kt-gray-200) !important;
    border-radius: var(--kt-radius-full) !important;
    padding: 10px 45px 10px 18px !important;
    font-size: 14px !important;
    transition: all 0.2s ease !important;
    background: var(--kt-gray-50) !important;
    color: var(--kt-gray-700) !important;
}

.header .searchform input::placeholder,
.searchform input::placeholder {
    color: var(--kt-gray-400) !important;
}

.header .searchform input:focus,
.searchform input:focus {
    border-color: var(--kt-primary) !important;
    background: var(--kt-white) !important;
    box-shadow: 0 0 0 4px rgba(5,123,184,0.1) !important;
    outline: none !important;
}

.header .searchform button[type="submit"],
.searchform button[type="submit"] {
    position: absolute !important;
    right: 5px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 34px !important;
    height: 34px !important;
    background: var(--kt-gradient) !important;
    border: none !important;
    border-radius: var(--kt-radius-full) !important;
    color: var(--kt-white) !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s ease !important;
}

.header .searchform button:hover,
.searchform button[type="submit"]:hover {
    transform: translateY(-50%) scale(1.05) !important;
    box-shadow: 0 2px 8px rgba(5,123,184,0.3) !important;
}

/* Search lightbox/dropdown */
.mfp-content .searchform,
.search-lightbox .searchform {
    max-width: 600px !important;
    margin: 0 auto !important;
}

.mfp-content .searchform input,
.search-lightbox .searchform input {
    font-size: 18px !important;
    padding: 16px 60px 16px 24px !important;
}

/* Výsledky hledání - live search */
.search-results-dropdown,
.dgwt-wcas-suggestions-wrapp {
    background: var(--kt-white) !important;
    border-radius: var(--kt-radius) !important;
    box-shadow: var(--kt-shadow-lg) !important;
    border: 1px solid var(--kt-gray-100) !important;
    margin-top: 8px !important;
}

.dgwt-wcas-suggestion,
.search-result-item {
    padding: 12px 16px !important;
    transition: background 0.15s ease !important;
}

.dgwt-wcas-suggestion:hover,
.search-result-item:hover {
    background: var(--kt-gray-50) !important;
}

/* Search v mobilním menu */
@media (max-width: 849px) {
    .header-search .searchform {
        width: 100% !important;
        max-width: none !important;
    }
}

/* ==========================================================================
   STICKY HEADER
   ========================================================================== */

header.header.show-on-scroll,
header.header.stuck {
    box-shadow: var(--kt-shadow-lg) !important;
}

header.stuck .header-main,
.header.show-on-scroll .header-main {
    padding: 8px 0 !important;
}

header.stuck #logo img {
    max-height: 50px !important;
}

/* ==========================================================================
   BUTTONS - Modern gradient style
   ========================================================================== */

/* Primary buttons */
.button.primary,
.button.alt,
.button.checkout,
.single_add_to_cart_button,
.woocommerce .button.alt,
.checkout-button,
.wc-proceed-to-checkout .checkout-button,
input[type="submit"].button,
button[type="submit"] {
    background: var(--kt-gradient) !important;
    border: none !important;
    border-radius: var(--kt-radius) !important;
    color: var(--kt-white) !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    padding: 14px 28px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    box-shadow: 0 4px 14px rgba(5,123,184,0.35) !important;
    transition: all 0.25s ease !important;
    cursor: pointer !important;
}

.button.primary:hover,
.button.alt:hover,
.single_add_to_cart_button:hover,
.woocommerce .button.alt:hover,
.checkout-button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(5,123,184,0.45) !important;
    filter: brightness(1.05) !important;
}

/* Secondary / Outline buttons */
.button.secondary,
.button.is-outline,
.button:not(.primary):not(.alt):not(.checkout) {
    background: transparent !important;
    border: 2px solid var(--kt-primary) !important;
    color: var(--kt-primary) !important;
    border-radius: var(--kt-radius) !important;
    font-weight: 600 !important;
    transition: all 0.25s ease !important;
}

.button.secondary:hover,
.button.is-outline:hover {
    background: var(--kt-primary) !important;
    color: var(--kt-white) !important;
}

/* ==========================================================================
   BREADCRUMBS - Subtle & small
   ========================================================================== */

/* Page title container - kompaktní */
.page-title-inner {
    padding: 8px 0 !important;
    min-height: auto !important;
}

.page-title-inner .flex-col {
    padding: 0 !important;
}

.page-title-inner .is-medium {
    padding: 0 !important;
    margin: 0 !important;
}

.breadcrumbs,
.woocommerce-breadcrumb,
.breadcrumb-row {
    font-size: 12px !important;
    color: var(--kt-gray-400) !important;
    padding: 5px 0 !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}

.breadcrumbs a,
.woocommerce-breadcrumb a {
    color: var(--kt-gray-500) !important;
}

.breadcrumbs a:hover,
.woocommerce-breadcrumb a:hover {
    color: var(--kt-primary) !important;
}

/* Breadcrumb divider */
.breadcrumbs .divider,
.woocommerce-breadcrumb .divider {
    margin: 0 6px !important;
    opacity: 0.5;
}

/* ==========================================================================
   PRODUCT PAGE
   ========================================================================== */

/* Hide sidebar on product pages */
.single-product .shop-sidebar,
.single-product .sidebar,
.single-product .product-sidebar,
.single-product .large-3,
.single-product .col.large-3 {
    display: none !important;
}

/* Full width product */
.single-product .large-9,
.single-product .col.large-9 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
}

/* Product title */
.product-title,
.product_title,
h1.product-title {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: var(--kt-gray-900) !important;
    margin-bottom: 12px !important;
    line-height: 1.3 !important;
}

/* Price */
.single-product .price,
.product-info .price {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: var(--kt-primary) !important;
}

.single-product .price del {
    font-size: 16px !important;
    color: var(--kt-gray-400) !important;
}

.single-product .price ins {
    text-decoration: none !important;
}

/* Product image - limit height */
.woocommerce-product-gallery__image img,
.product-gallery-slider img {
    max-height: 350px !important;
    width: auto !important;
    object-fit: contain !important;
}

.product-thumbnails img {
    max-width: 60px !important;
    max-height: 60px !important;
    border-radius: var(--kt-radius-sm) !important;
}

/* ==========================================================================
   PRODUCT PAGE - Icon boxes (Doprava, Záruka) - COMPACT
   ========================================================================== */

.single-product .icon-box,
.product-info .icon-box {
    padding: 10px 0 !important;
    margin: 0 !important;
}

.single-product .icon-box .icon,
.single-product .icon-box-img {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    font-size: 18px !important;
}

.single-product .icon-box img {
    max-width: 28px !important;
    max-height: 28px !important;
}

.single-product .icon-box-text {
    padding-left: 10px !important;
}

.single-product .icon-box-text strong,
.single-product .icon-box-text b {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--kt-gray-800) !important;
}

.single-product .icon-box-text p {
    font-size: 12px !important;
    color: var(--kt-gray-500) !important;
    margin: 0 !important;
}

/* ==========================================================================
   UNI CPO CONFIGURATOR
   ========================================================================== */

.uni-cpo-form-wrapper {
    background: var(--kt-gray-50) !important;
    border-radius: var(--kt-radius-lg) !important;
    padding: 24px !important;
    margin-top: 20px !important;
    border: 1px solid var(--kt-gray-200) !important;
}

.uni-cpo-field-label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--kt-gray-700) !important;
    margin-bottom: 6px !important;
}

.uni-cpo-field select,
.uni-cpo-field input[type="text"],
.uni-cpo-field input[type="number"] {
    border: 2px solid var(--kt-gray-200) !important;
    border-radius: var(--kt-radius) !important;
    padding: 12px 16px !important;
    font-size: 14px !important;
    transition: all 0.2s ease !important;
    background: var(--kt-white) !important;
}

.uni-cpo-field select:focus,
.uni-cpo-field input:focus {
    border-color: var(--kt-primary) !important;
    box-shadow: 0 0 0 4px rgba(5,123,184,0.1) !important;
    outline: none !important;
}

/* ==========================================================================
   PRODUCT CARDS - Category pages
   ========================================================================== */

.products .product,
.product-small {
    margin-bottom: 30px !important;
}

.product-small .col-inner,
.product .col-inner {
    background: var(--kt-white) !important;
    border-radius: var(--kt-radius-lg) !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
    border: 1px solid var(--kt-gray-100) !important;
}

.product-small:hover .col-inner,
.product:hover .col-inner {
    transform: none !important;
    box-shadow: var(--kt-shadow-lg) !important;
    border-color: transparent !important;
}

.product-small .box-image {
    background: var(--kt-gray-50) !important;
}

.product-small .name,
.product-small .name a {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--kt-gray-800) !important;
    line-height: 1.4 !important;
}

.product-small .price {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--kt-primary) !important;
}

.product-small .add_to_cart_button {
    background: var(--kt-primary) !important;
    color: var(--kt-white) !important;
    border-radius: var(--kt-radius) !important;
    font-size: 13px !important;
    padding: 10px 16px !important;
    font-weight: 600 !important;
}

.product-small .add_to_cart_button:hover {
    background: var(--kt-primary-dark) !important;
}

/* ==========================================================================
   BADGES - Sale, TOP, etc. - SJEDNOCENÁ BARVA
   ========================================================================== */

/* Všechny badges - jednotný styl s primární barvou */
.badge,
.badge.onsale,
.onsale,
.badge-container .badge,
.badge-container .badge.onsale,
.callout.badge,
.badge-container .callout,
.badge.top,
.badge-inner,
.badge-circle {
    background: var(--kt-primary) !important;
    color: var(--kt-white) !important;
    border-radius: 20px !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    padding: 6px 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
    box-shadow: 0 2px 8px rgba(5,123,184,0.35) !important;
    border: none !important;
    line-height: 1.2 !important;
}

/* Badge container positioning */
.badge-container {
    gap: 6px !important;
}

.badge-container .badge {
    margin: 0 0 6px 0 !important;
}

/* ==========================================================================
   SHOP NAVIGACE 2026 - Subkategorie + Filtry
   ========================================================================== */

.kt-shop-navigation {
    margin-bottom: 30px;
}

/* === SUBKATEGORIE - Kartičky s obrázkem === */
.kt-subcategories {
    margin-bottom: 20px;
}

.kt-subcategories-scroll {
    display: flex;
    gap: 15px;
    padding: 5px 0;
    overflow-x: auto;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.kt-subcategories-scroll::-webkit-scrollbar {
    display: none;
}

.kt-subcat-card {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-width: 160px;
    height: 100px;
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none;
    color: #fff;
    flex-shrink: 0;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.kt-subcat-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

.kt-subcat-card.active {
    box-shadow: 0 0 0 3px var(--kt-primary), 0 8px 25px rgba(5,123,184,0.25);
}

.kt-subcat-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-size: cover;
    background-position: center;
    transition: transform 0.3s ease;
}

.kt-subcat-card:hover .kt-subcat-bg {
    transform: scale(1.05);
}

.kt-subcat-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.2) 50%, rgba(0,0,0,0) 100%);
}

.kt-subcat-card:not(:has(.kt-subcat-bg)) .kt-subcat-overlay {
    background: var(--kt-gradient);
}

.kt-subcat-content {
    position: relative;
    z-index: 2;
    padding: 15px;
}

.kt-subcat-content .kt-subcat-name {
    display: block;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 3px;
    text-shadow: 0 1px 3px rgba(0,0,0,0.3);
}

.kt-subcat-content .kt-subcat-count {
    font-size: 11px;
    opacity: 0.85;
    font-weight: 500;
}

/* === FILTRY A ŘAZENÍ === */
.kt-filters-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 15px 20px;
    background: var(--kt-white);
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    flex-wrap: wrap;
}

.kt-quick-filters {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.kt-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: var(--kt-gray-100);
    border-radius: 50px;
    font-size: 13px;
    font-weight: 600;
    color: var(--kt-gray-700);
    text-decoration: none;
    transition: all 0.2s ease;
    border: 2px solid transparent;
}

.kt-filter-chip:hover {
    background: var(--kt-gray-200);
    color: var(--kt-gray-800);
}

.kt-filter-chip.active {
    background: rgba(5,123,184,0.1);
    color: var(--kt-primary);
    border-color: var(--kt-primary);
}

.kt-filter-chip svg {
    flex-shrink: 0;
}

.kt-filter-chip.kt-filter-reset {
    background: transparent;
    color: var(--kt-gray-500);
    padding: 8px 12px;
}

.kt-filter-chip.kt-filter-reset:hover {
    background: rgba(220,53,69,0.1);
    color: #dc3545;
}

/* === FILTRY VLASTNOSTÍ SKLA (izolační skla) === */
.kt-glass-filters {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-left: 15px;
    border-left: 1px solid var(--kt-gray-200);
}

/* === LAYOUT PRO IZOLAČNÍ SKLA - DVA ŘÁDKY === */
.kt-filters-bar-insulation {
    flex-direction: column;
    gap: 0;
    padding: 0;
}

.kt-filters-main-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    width: 100%;
    flex-wrap: wrap;
    padding: 15px 20px;
}

/* Řádek s výběrem typu skla */
.kt-glass-type-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    background: rgba(5,123,184,0.03);
    border-bottom: 1px solid var(--kt-gray-200);
    width: 100%;
}

/* Řádek s vlastnostmi skla */
.kt-glass-feature-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    background: rgba(5,123,184,0.02);
    border-bottom: 1px solid var(--kt-gray-200);
    width: 100%;
    border-radius: 0 0 12px 12px;
}

/* Hlavní řádek filtrů pro izolační skla - zaoblení nahoře */
.kt-filters-bar-insulation .kt-filters-main-row {
    border-radius: 12px 12px 0 0;
}

.kt-glass-feature-filters {
    border-left: 1px solid var(--kt-gray-200);
    padding-left: 15px;
    margin-left: 5px;
}

.kt-glass-filters-label {
    font-size: 13px;
    font-weight: 600;
    color: var(--kt-gray-600);
    white-space: nowrap;
}

.kt-glass-filters-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.kt-glass-chip {
    font-size: 12px !important;
    padding: 6px 12px !important;
}

.kt-glass-chip .kt-glass-icon {
    margin-right: 4px;
}

.kt-glass-chip.active {
    background: rgba(5,123,184,0.15) !important;
    border-color: var(--kt-primary) !important;
}

/* === IKONKY SKLA V ŘEZU (DVOJSKLO/TROJSKLO) === */
.kt-glass-type-chip {
    padding: 8px 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

/* Společné styly pro sekce skla */
.kt-glass-section {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    height: 22px;
    padding: 2px 4px;
    background: rgba(255,255,255,0.8);
    border-radius: 4px;
    border: 1px solid var(--kt-gray-200);
}

/* Skleněná tabule */
.kt-glass-section .glass-pane {
    display: block;
    width: 4px;
    height: 18px;
    background: linear-gradient(180deg,
        rgba(186, 230, 253, 0.9) 0%,
        rgba(56, 189, 248, 0.8) 30%,
        rgba(14, 165, 233, 0.9) 60%,
        rgba(2, 132, 199, 1) 100%
    );
    border-radius: 1px;
    box-shadow:
        inset 1px 0 1px rgba(255,255,255,0.6),
        inset -1px 0 1px rgba(0,0,0,0.1),
        0 0 2px rgba(14, 165, 233, 0.3);
}

/* Distanční rámeček */
.kt-glass-section .glass-spacer {
    display: block;
    width: 8px;
    height: 14px;
    background: linear-gradient(180deg,
        #cbd5e1 0%,
        #94a3b8 50%,
        #64748b 100%
    );
    border-radius: 2px;
    box-shadow: inset 0 1px 1px rgba(255,255,255,0.3);
    position: relative;
}

/* Čárkovaný vzor na rámečku (simulace struktury) */
.kt-glass-section .glass-spacer::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    right: 2px;
    bottom: 2px;
    background: repeating-linear-gradient(
        0deg,
        transparent,
        transparent 2px,
        rgba(255,255,255,0.2) 2px,
        rgba(255,255,255,0.2) 3px
    );
    border-radius: 1px;
}

/* Dvojsklo specifické */
.kt-glass-section-double .glass-spacer {
    width: 10px;
}

/* Trojsklo specifické - menší mezery */
.kt-glass-section-triple .glass-spacer {
    width: 7px;
}

/* Hover efekt */
.kt-glass-type-chip:hover .kt-glass-section {
    border-color: var(--kt-primary-light);
    background: rgba(255,255,255,0.95);
}

.kt-glass-type-chip:hover .glass-pane {
    box-shadow:
        inset 1px 0 1px rgba(255,255,255,0.7),
        inset -1px 0 1px rgba(0,0,0,0.1),
        0 0 4px rgba(14, 165, 233, 0.5);
}

/* Aktivní stav */
.kt-glass-type-chip.active .kt-glass-section {
    background: rgba(5, 123, 184, 0.1);
    border-color: var(--kt-primary);
}

.kt-glass-type-chip.active .glass-pane {
    background: linear-gradient(180deg,
        rgba(125, 211, 252, 1) 0%,
        rgba(56, 189, 248, 1) 30%,
        rgba(14, 165, 233, 1) 60%,
        rgba(2, 132, 199, 1) 100%
    );
    box-shadow:
        inset 1px 0 2px rgba(255,255,255,0.8),
        inset -1px 0 1px rgba(0,0,0,0.15),
        0 0 6px rgba(14, 165, 233, 0.6);
}

.kt-glass-type-chip.active .glass-spacer {
    background: linear-gradient(180deg,
        #64748b 0%,
        #475569 50%,
        #334155 100%
    );
}

/* === LEVÁ ČÁST FILTRŮ === */
.kt-filters-left {
    display: flex;
    align-items: center;
    gap: 15px;
    flex-wrap: wrap;
    flex: 1;
}

/* === CENOVÝ FILTR S RANGE SLIDEREM === */
.kt-price-filter {
    display: flex;
    align-items: center;
    gap: 15px;
}

.kt-price-label {
    font-size: 13px;
    font-weight: 600;
    color: var(--kt-gray-600);
    white-space: nowrap;
}

.kt-price-range-wrapper {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 260px;
    max-width: 300px;
}

.kt-price-inputs {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.kt-price-inputs input[type="number"] {
    width: 85px !important;
    padding: 8px 10px !important;
    border: 2px solid var(--kt-gray-200) !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-align: center !important;
    transition: all 0.2s ease !important;
    -moz-appearance: textfield !important;
    background: var(--kt-white) !important;
    color: var(--kt-gray-800) !important;
}

.kt-price-inputs input::-webkit-outer-spin-button,
.kt-price-inputs input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.kt-price-inputs input:focus {
    border-color: var(--kt-primary) !important;
    outline: none !important;
}

.kt-price-sep {
    color: var(--kt-gray-400);
    font-weight: 500;
}

.kt-price-currency {
    font-size: 12px;
    color: var(--kt-gray-500);
    font-weight: 600;
}

/* Range Slider */
.kt-range-slider {
    position: relative;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 4px 10px 0 10px;
}

.kt-range-track {
    position: absolute;
    width: 100%;
    height: 6px;
    background: var(--kt-gray-200);
    border-radius: 3px;
    top: 50%;
    transform: translateY(-50%);
}

.kt-range-fill {
    position: absolute;
    height: 100%;
    background: var(--kt-primary);
    border-radius: 3px;
    transition: left 0.1s, width 0.1s;
}

.kt-range-input {
    position: absolute;
    width: 100%;
    height: 28px;
    background: transparent;
    pointer-events: none;
    -webkit-appearance: none;
    appearance: none;
    margin: 0;
    top: 0;
}

.kt-range-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 22px;
    height: 22px;
    background: var(--kt-white);
    border: 3px solid var(--kt-primary);
    border-radius: 50%;
    cursor: pointer;
    pointer-events: auto;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    margin-top: 0;
}

.kt-range-input::-webkit-slider-thumb:hover {
    transform: scale(1.1);
    box-shadow: 0 3px 12px rgba(5,123,184,0.35);
}

.kt-range-input::-moz-range-thumb {
    width: 22px;
    height: 22px;
    background: var(--kt-white);
    border: 3px solid var(--kt-primary);
    border-radius: 50%;
    cursor: pointer;
    pointer-events: auto;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}

.kt-range-input::-moz-range-track {
    background: transparent;
    height: 28px;
}

/* Tlačítko Filtrovat odstraněno - automatické filtrování */

/* === LOADING OVERLAY === */
.kt-filter-loading {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255,255,255,0.9);
    z-index: 99999;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 15px;
}

.kt-filter-loading.active {
    display: flex;
}

.kt-loading-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid var(--kt-gray-200);
    border-top-color: var(--kt-primary);
    border-radius: 50%;
    animation: kt-spin 0.8s linear infinite;
}

@keyframes kt-spin {
    to { transform: rotate(360deg); }
}

.kt-filter-loading span {
    font-size: 14px;
    font-weight: 600;
    color: var(--kt-gray-600);
}

/* Button styling pro filter chips */
button.kt-filter-chip {
    cursor: pointer;
    border: 2px solid transparent;
}

button.kt-filter-chip:hover {
    background: var(--kt-gray-200);
}

button.kt-filter-chip.active {
    background: rgba(5,123,184,0.1);
    color: var(--kt-primary);
    border-color: var(--kt-primary);
}

.kt-sort-dropdown {
    display: flex;
    align-items: center;
    gap: 10px;
}

.kt-sort-dropdown label {
    font-size: 13px;
    color: var(--kt-gray-600);
    font-weight: 500;
    white-space: nowrap;
}

.kt-sort-dropdown select {
    padding: 10px 40px 10px 15px !important;
    border: 2px solid var(--kt-gray-200) !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--kt-gray-800) !important;
    background-color: var(--kt-white) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    min-width: 170px !important;
    height: auto !important;
    line-height: 1.4 !important;
}

.kt-sort-dropdown select option {
    color: var(--kt-gray-800) !important;
    background: var(--kt-white) !important;
    padding: 10px !important;
}

.kt-sort-dropdown select:hover,
.kt-sort-dropdown select:focus {
    border-color: var(--kt-primary) !important;
    outline: none !important;
}

/* === RESPONZIVNÍ === */
@media (max-width: 768px) {
    .kt-subcategories {
        margin: 0 -15px 15px -15px;
    }

    .kt-subcategories-scroll {
        padding: 5px 15px;
    }

    .kt-subcat-card {
        min-width: 130px;
        height: 85px;
    }

    .kt-subcat-content {
        padding: 12px;
    }

    .kt-subcat-content .kt-subcat-name {
        font-size: 13px;
    }

    .kt-filters-bar {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        padding: 12px 15px;
        margin: 0 -15px;
        border-radius: 0;
    }

    .kt-filters-left {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .kt-quick-filters {
        justify-content: flex-start;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 5px;
    }

    .kt-filter-chip {
        white-space: nowrap;
        flex-shrink: 0;
    }

    .kt-price-filter {
        width: 100%;
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .kt-price-range-wrapper {
        width: 100%;
        min-width: auto;
    }

    .kt-price-inputs {
        width: 100%;
        justify-content: space-between;
    }

    .kt-price-inputs input[type="number"] {
        width: 80px !important;
        flex: 1;
    }

    .kt-price-apply {
        width: 100%;
        justify-content: center;
    }

    .kt-sort-dropdown {
        width: 100%;
    }

    .kt-sort-dropdown select {
        flex: 1;
        width: 100% !important;
    }
}

/* ==========================================================================
   PRODUCT HOVER - Výběr možností overlay
   ========================================================================== */

/* Modrý gradient pozadí pod tlačítkem - grid-tools je správný selektor */
.image-tools.grid-tools {
    background: linear-gradient(to top, rgba(5, 123, 184, 0.95) 0%, rgba(5, 123, 184, 0.8) 60%, transparent 100%) !important;
    padding: 28px 15px 18px !important;
}

/* Tlačítko "Výběr možností" - bílé na modrém pozadí */
.image-tools.grid-tools .button,
.image-tools.grid-tools a.button,
.box-image .image-tools.grid-tools .button {
    background-color: #fff !important;
    background: #fff !important;
    color: #057bb8 !important;
    box-shadow: 0 3px 12px rgba(0,0,0,0.15) !important;
    padding: 12px 28px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
    text-transform: none !important;
    letter-spacing: 0.3px !important;
    transition: all 0.2s ease !important;
    display: inline-block !important;
}

.image-tools.grid-tools .button:hover,
.image-tools.grid-tools a.button:hover,
.box-image .image-tools.grid-tools .button:hover {
    background-color: #f0f8ff !important;
    background: #f0f8ff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 5px 18px rgba(0,0,0,0.2) !important;
}

/* Tlačítko pod produktem (mimo image-tools) */
.product-small .box-text .add_to_cart_button,
.product .box-text .add_to_cart_button,
.product-small .button.add_to_cart_button,
.product .button.add_to_cart_button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--kt-primary) !important;
    color: var(--kt-white) !important;
    min-width: 140px !important;
    height: 40px !important;
    padding: 10px 20px !important;
    border-radius: var(--kt-radius) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.product-small .box-text .add_to_cart_button:hover,
.product .box-text .add_to_cart_button:hover,
.product-small .button.add_to_cart_button:hover,
.product .button.add_to_cart_button:hover {
    background: var(--kt-primary-dark) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(5,123,184,0.3) !important;
}

/* Quick view button */
.product-small .quick-view,
.product .quick-view,
.product-small .image-tools .quick-view-button,
.product .image-tools .quick-view-button {
    order: -1 !important;
}

/* Wishlist button */
.product-small .wishlist-button,
.product .wishlist-button,
.product-small .image-tools [class*="wishlist"],
.product .image-tools [class*="wishlist"] {
    order: 1 !important;
}

/* Text v tlačítkách skrýt na malém prostoru */
.product-small .image-tools .button-text,
.product .image-tools .button-text {
    display: none !important;
}

/* Ikonky v tlačítkách */
.product-small .image-tools i,
.product .image-tools i {
    font-size: 16px !important;
    line-height: 1 !important;
}

/* Hover slide-in efekt (Flatsome default) */
.hover-slide-in .image-tools {
    bottom: auto !important;
    top: 50% !important;
    transform: translateY(-50%) translateX(20px) !important;
    opacity: 0 !important;
    background: none !important;
    flex-direction: column !important;
    right: 10px !important;
    left: auto !important;
    padding: 0 !important;
}

.hover-slide-in:hover .image-tools {
    transform: translateY(-50%) translateX(0) !important;
    opacity: 1 !important;
}

/* Box text (název, cena) */
.product-small .box-text,
.product .box-text {
    padding: 15px !important;
    text-align: center !important;
}

/* Variace produktu v kategorii */
.product-small .product-variations,
.product .product-variations {
    display: flex !important;
    justify-content: center !important;
    gap: 6px !important;
    margin-top: 10px !important;
    flex-wrap: wrap !important;
}

.product-small .product-variations span,
.product .product-variations span {
    width: 20px !important;
    height: 20px !important;
    border-radius: 50% !important;
    border: 2px solid var(--kt-gray-200) !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.product-small .product-variations span:hover,
.product .product-variations span:hover {
    transform: scale(1.2) !important;
    border-color: var(--kt-primary) !important;
}

/* ==========================================================================
   FORMS - Global styling
   ========================================================================== */

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"],
input[type="search"],
textarea,
select {
    border: 2px solid var(--kt-gray-200) !important;
    border-radius: var(--kt-radius) !important;
    padding: 12px 16px !important;
    font-size: 14px !important;
    transition: all 0.2s ease !important;
    background: var(--kt-white) !important;
}

input:focus,
textarea:focus,
select:focus {
    border-color: var(--kt-primary) !important;
    box-shadow: 0 0 0 4px rgba(5,123,184,0.1) !important;
    outline: none !important;
}

/* ==========================================================================
   SIDEBAR - Category pages with icons
   ========================================================================== */

/* Sidebar section titles */
.sidebar .widget-title,
.shop-sidebar .widget-title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--kt-gray-800) !important;
    margin-bottom: 16px !important;
    padding-bottom: 10px !important;
    border-bottom: 2px solid var(--kt-gray-100) !important;
}

.widget_product_categories .product-categories li a {
    padding: 12px 14px !important;
    border-radius: var(--kt-radius) !important;
    display: flex !important;
    align-items: center !important;
    color: var(--kt-gray-600) !important;
    font-size: 14px !important;
    transition: all 0.2s ease !important;
    position: relative !important;
}

/* Add icons before category names */
.widget_product_categories .product-categories li a::before {
    content: '' !important;
    width: 20px !important;
    height: 20px !important;
    margin-right: 10px !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    flex-shrink: 0 !important;
    opacity: 0.7 !important;
    transition: opacity 0.2s ease !important;
}

/* Default icon */
.widget_product_categories .product-categories li a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23057BB8' stroke-width='2'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3C/svg%3E") !important;
}

/* Specific category icons */
.product-categories li a[href*="izolacni"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23057BB8' stroke-width='2'%3E%3Crect x='4' y='2' width='16' height='20' rx='1'/%3E%3Cline x1='12' y1='2' x2='12' y2='22'/%3E%3C/svg%3E") !important;
}

.product-categories li a[href*="bezpecnost"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23057BB8' stroke-width='2'%3E%3Cpath d='M12 2L3 7v6c0 5.5 3.8 10.7 9 12 5.2-1.3 9-6.5 9-12V7l-9-5z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E") !important;
}

.product-categories li a[href*="protislunecni"]::before,
.product-categories li a[href*="protislu"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23057BB8' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='5'/%3E%3Cpath d='M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42'/%3E%3C/svg%3E") !important;
}

.product-categories li a[href*="zrcadl"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23057BB8' stroke-width='2'%3E%3Cellipse cx='12' cy='10' rx='8' ry='10'/%3E%3Cpath d='M8 7c1-2 5-2 6 0'/%3E%3Crect x='10' y='20' width='4' height='2'/%3E%3C/svg%3E") !important;
}

.product-categories li a[href*="obklad"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23057BB8' stroke-width='2'%3E%3Crect x='3' y='3' width='8' height='8'/%3E%3Crect x='13' y='3' width='8' height='8'/%3E%3Crect x='3' y='13' width='8' height='8'/%3E%3Crect x='13' y='13' width='8' height='8'/%3E%3C/svg%3E") !important;
}

.product-categories li a[href*="cir"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23057BB8' stroke-width='2'%3E%3Crect x='5' y='2' width='14' height='20' rx='1' fill='%23e8f4f9' fill-opacity='0.3'/%3E%3C/svg%3E") !important;
}

.product-categories li a[href*="ornament"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23057BB8' stroke-width='2'%3E%3Crect x='4' y='4' width='16' height='16'/%3E%3Ccircle cx='8' cy='8' r='2'/%3E%3Ccircle cx='16' cy='8' r='2'/%3E%3Ccircle cx='8' cy='16' r='2'/%3E%3Ccircle cx='16' cy='16' r='2'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3C/svg%3E") !important;
}

.product-categories li a[href*="krb"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23057BB8' stroke-width='2'%3E%3Crect x='3' y='6' width='18' height='14' rx='1'/%3E%3Cpath d='M12 18c-2 0-3.5-2-3.5-4.5S10 9 11 8c.5 1 1 1.5 1.5 1.5s1-.5 1.5-1.5c1 1 2.5 3 2.5 5.5S14 18 12 18z' fill='%23ff6b35' fill-opacity='0.6'/%3E%3C/svg%3E") !important;
}

.product-categories li a[href*="kovani"]::before,
.product-categories li a[href*="kování"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23057BB8' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='6'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3Cline x1='12' y1='2' x2='12' y2='6'/%3E%3Cline x1='12' y1='18' x2='12' y2='22'/%3E%3Cline x1='2' y1='12' x2='6' y2='12'/%3E%3Cline x1='18' y1='12' x2='22' y2='12'/%3E%3C/svg%3E") !important;
}

.product-categories li a[href*="pozar"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23057BB8' stroke-width='2'%3E%3Cpath d='M12 22c-4 0-7-3-7-7 0-3 2-5 3-7 .5 1.5 1.5 2.5 2.5 2.5s2-1 2.5-2.5c1 2 3 4 3 7 0 4-3 7-7 7z'/%3E%3C/svg%3E") !important;
}

.product-categories li a[href*="protihluk"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23057BB8' stroke-width='2'%3E%3Cpath d='M11 5L6 9H2v6h4l5 4V5z'/%3E%3Cline x1='23' y1='9' x2='17' y2='15'/%3E%3Cline x1='17' y1='9' x2='23' y2='15'/%3E%3C/svg%3E") !important;
}

/* Count badge on right */
.product-categories .count {
    margin-left: auto !important;
    background: var(--kt-gray-100) !important;
    color: var(--kt-gray-500) !important;
    font-size: 11px !important;
    padding: 2px 8px !important;
    border-radius: var(--kt-radius-full) !important;
}

.widget_product_categories .product-categories li a:hover {
    background: var(--kt-gray-50) !important;
    color: var(--kt-primary) !important;
}

.widget_product_categories .product-categories li a:hover::before {
    opacity: 1 !important;
}

.widget_product_categories .product-categories li.current-cat > a {
    background: var(--kt-primary) !important;
    color: var(--kt-white) !important;
    font-weight: 600 !important;
}

.widget_product_categories .product-categories li.current-cat > a::before {
    filter: brightness(0) invert(1) !important;
    opacity: 1 !important;
}

.widget_product_categories .product-categories li.current-cat .count {
    background: rgba(255,255,255,0.2) !important;
    color: var(--kt-white) !important;
}

.product-categories .count {
    background: var(--kt-gray-100) !important;
    color: var(--kt-gray-500) !important;
    font-size: 11px !important;
    padding: 2px 8px !important;
    border-radius: var(--kt-radius-full) !important;
}

/* ==========================================================================
   ALZA-STYLE FLYOUT MEGA MENU
   ========================================================================== */

/* Mega menu container */
.kt-mega-menu-wrapper {
    position: relative;
}

.kt-mega-menu {
    background: var(--kt-white);
    border-radius: var(--kt-radius-lg);
    box-shadow: var(--kt-shadow-lg);
    overflow: visible;
}

/* Main menu header */
.kt-mega-menu-header {
    background: var(--kt-gradient);
    color: var(--kt-white);
    padding: 14px 18px;
    border-radius: var(--kt-radius-lg) var(--kt-radius-lg) 0 0;
    font-weight: 600;
    font-size: 15px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.kt-mega-menu-header svg {
    width: 20px;
    height: 20px;
}

/* Main category list */
.kt-mega-menu-list {
    list-style: none;
    padding: 8px 0;
    margin: 0;
}

.kt-mega-menu-item {
    position: relative;
}

.kt-mega-menu-item > a {
    display: flex;
    align-items: center;
    padding: 12px 18px;
    color: var(--kt-gray-700);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.15s ease;
    position: relative;
}

.kt-mega-menu-item > a:hover,
.kt-mega-menu-item.active > a {
    background: var(--kt-gray-50);
    color: var(--kt-primary);
}

/* Category icon */
.kt-mega-menu-item > a .kt-cat-icon {
    width: 32px;
    height: 32px;
    background: var(--kt-gray-100);
    border-radius: var(--kt-radius);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 12px;
    transition: all 0.15s ease;
}

.kt-mega-menu-item > a:hover .kt-cat-icon,
.kt-mega-menu-item.active > a .kt-cat-icon {
    background: rgba(5, 123, 184, 0.1);
}

.kt-mega-menu-item > a .kt-cat-icon svg {
    width: 18px;
    height: 18px;
    color: var(--kt-primary);
}

/* Arrow for items with submenu */
.kt-mega-menu-item.has-children > a::after {
    content: '';
    width: 16px;
    height: 16px;
    margin-left: auto;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    transition: all 0.15s ease;
}

.kt-mega-menu-item.has-children > a:hover::after,
.kt-mega-menu-item.has-children.active > a::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23057BB8' stroke-width='2'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E");
    transform: translateX(3px);
}

/* Flyout panel - layout a styling */
/* POZOR: pozicovani a viditelnost je reseno na konci souboru */
.kt-mega-flyout {
    /* position: fixed je na konci souboru */
    width: 420px;
    min-height: auto;
    background: var(--kt-white);
    border-radius: var(--kt-radius-lg);
    box-shadow: var(--kt-shadow-xl);
    padding: 20px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    align-content: start;
}

/* Hover efekt je rizen JavaScriptem - nema zde byt CSS hover */

/* Flyout header */
.kt-mega-flyout-header {
    grid-column: 1 / -1;
    padding-bottom: 16px;
    margin-bottom: 8px;
    border-bottom: 2px solid var(--kt-gray-100);
}

.kt-mega-flyout-header h3 {
    font-size: 18px;
    font-weight: 700;
    color: var(--kt-gray-900);
    margin: 0 0 6px 0;
}

.kt-mega-flyout-header p {
    font-size: 13px;
    color: var(--kt-gray-500);
    margin: 0;
}

/* Subcategory items */
.kt-mega-flyout-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-radius: var(--kt-radius);
    color: var(--kt-gray-600);
    text-decoration: none;
    transition: all 0.15s ease;
}

.kt-mega-flyout-item:hover {
    background: var(--kt-gray-50);
    color: var(--kt-primary);
}

.kt-mega-flyout-item .kt-subcat-icon {
    width: 40px;
    height: 40px;
    background: var(--kt-gray-100);
    border-radius: var(--kt-radius);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.kt-mega-flyout-item:hover .kt-subcat-icon {
    background: rgba(5, 123, 184, 0.1);
}

.kt-mega-flyout-item .kt-subcat-icon svg {
    width: 22px;
    height: 22px;
    color: var(--kt-primary);
}

.kt-mega-flyout-item .kt-subcat-info {
    flex: 1;
    min-width: 0;
}

.kt-mega-flyout-item .kt-subcat-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--kt-gray-800);
    display: block;
    margin-bottom: 2px;
}

.kt-mega-flyout-item:hover .kt-subcat-name {
    color: var(--kt-primary);
}

.kt-mega-flyout-item .kt-subcat-count {
    font-size: 12px;
    color: var(--kt-gray-400);
}

/* Featured products in flyout */
.kt-mega-featured {
    grid-column: 1 / -1;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--kt-gray-100);
}

.kt-mega-featured-title {
    font-size: 12px;
    font-weight: 600;
    color: var(--kt-gray-400);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 12px;
}

.kt-mega-featured-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.kt-mega-featured-product {
    text-align: center;
    padding: 10px;
    border-radius: var(--kt-radius);
    transition: all 0.15s ease;
}

.kt-mega-featured-product:hover {
    background: var(--kt-gray-50);
}

.kt-mega-featured-product img {
    width: 60px;
    height: 60px;
    object-fit: contain;
    margin-bottom: 8px;
}

.kt-mega-featured-product span {
    display: block;
    font-size: 12px;
    color: var(--kt-gray-600);
    line-height: 1.3;
}

/* View all link */
.kt-mega-view-all {
    grid-column: 1 / -1;
    display: flex;
    justify-content: center;
    margin-top: 12px;
}

.kt-mega-view-all a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 20px;
    background: var(--kt-gradient);
    color: var(--kt-white);
    border-radius: var(--kt-radius-full);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
}

.kt-mega-view-all a:hover {
    transform: translateY(-2px);
    box-shadow: var(--kt-shadow-md);
}

.kt-mega-view-all a svg {
    width: 16px;
    height: 16px;
}

/* ==========================================================================
   HORNÍ MENU - Zjednodušení (kategorie jsou v bočním mega menu)
   ========================================================================== */

/* Skrýt submenu s kategoriemi v hlavním menu */
.header-nav .nav > li.menu-item-has-children > .nav-dropdown {
    display: none !important;
}

/* Skrýt šipky u položek menu */
.header-nav .nav > li.menu-item-has-children > a .nav-dropdown-toggle {
    display: none !important;
}

/* Nebo alternativně - skrýt celé kategorie produktů z menu */
/* Odkomentujte pokud chcete skrýt konkrétní položky */
/*
.header-nav .nav > li.menu-item a[href*="product-category"] {
    display: none !important;
}
*/

/* ==========================================================================
   SHOP LAYOUT S MEGA MENU - v2 čistá implementace
   ========================================================================== */

/* === SKRÝT NATIVNÍ FLATSOME SIDEBAR na shop stránkách === */
.archive.woocommerce .shop-sidebar,
.archive.woocommerce .sidebar-wrapper,
.archive.woocommerce .col.large-3.pb-0,
.archive.woocommerce .col.large-3.hide-for-medium,
.archive.woocommerce #shop-sidebar,
.archive.woocommerce .category-page-row > .col.large-3,
.post-type-archive-product .shop-sidebar,
.post-type-archive-product .col.large-3,
.tax-product_cat .shop-sidebar,
.tax-product_cat .sidebar-wrapper,
.tax-product_cat .col.large-3.hide-for-medium,
.tax-product_cat #shop-sidebar,
.tax-product_cat .category-page-row > .col.large-3 {
    display: none !important;
}

/* Hlavní obsah na plnou šířku (naše menu je uvnitř) */
.archive.woocommerce .large-9,
.post-type-archive-product .large-9,
.tax-product_cat .large-9 {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
}

/* === ODSTRANIT MEZERU mezi menu a produkty === */
.archive.woocommerce .shop-page-title,
.archive.woocommerce .page-title,
.archive.woocommerce .category-page-row,
.archive.woocommerce .term-description,
.tax-product_cat .shop-page-title,
.tax-product_cat .page-title {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.archive.woocommerce .row.category-page-row {
    margin-top: 0 !important;
}

.kt-shop-with-menu {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Zmenšit výšku shop containeru */
.archive.woocommerce .shop-container {
    padding-top: 15px !important;
}

/* ==========================================================================
   CATEGORY BOXES - Respektovat sidebar menu
   ========================================================================== */

/* Category boxy musí být uvnitř .kt-shop-products, ne full-width */
.kt-shop-products .row.row-full-width,
.kt-shop-products .row.large-columns-4,
.kt-shop-products .row.large-columns-3 {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Pokud category boxy jsou MIMO kt-shop-products, skrýt nebo přesunout */
.archive.woocommerce > .shop-container > .row.row-full-width,
.archive.woocommerce .page-wrapper > .row.row-full-width,
.tax-product_cat > .row.row-full-width,
body.archive .row.row-full-width:not(.kt-shop-products .row) {
    max-width: calc(100% - 310px) !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
}

/* Reset row-full-width expansion */
.archive.woocommerce .row.row-full-width,
.tax-product_cat .row.row-full-width {
    width: 100% !important;
    max-width: 100% !important;
    left: auto !important;
    right: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
}

/* Category box styling */
.product-category .col-inner {
    border-radius: var(--kt-radius-lg) !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
}

.product-category:hover .col-inner {
    transform: translateY(-5px) !important;
    box-shadow: var(--kt-shadow-lg) !important;
}

.product-category .box-category {
    background: var(--kt-white) !important;
}

.product-category .box-text {
    padding: 12px !important;
    background: var(--kt-white) !important;
}

.product-category .header-title {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--kt-gray-800) !important;
    margin: 0 !important;
    line-height: 1.3 !important;
}

.product-category .count {
    font-size: 11px !important;
    color: var(--kt-gray-500) !important;
    margin-top: 4px !important;
}

/* Category box image */
.product-category .box-image {
    background: var(--kt-gray-50) !important;
}

.product-category .box-image img {
    transition: transform 0.4s ease !important;
}

.product-category:hover .box-image img {
    transform: scale(1.08) !important;
}

/* === HOMEPAGE & OSTATNÍ STRÁNKY - sidebar s mega menu === */
.sidebar-wrapper,
.sidebar-wrapper *:not(.kt-submenu):not(.kt-submenu *) {
    overflow: visible !important;
}

.sidebar-wrapper {
    position: relative;
    z-index: 9999 !important;
}

/* Mega menu widget v sidebaru */
.kt-mega-menu-widget {
    margin-bottom: 20px;
    position: relative;
    z-index: 9999 !important;
}

/* === STANDALONE KATALOG MENU (pro UX Builder) === */
.kt-catalog-standalone {
    position: relative;
    z-index: 9999 !important;
}

.kt-catalog-standalone,
.kt-catalog-standalone * {
    overflow: visible !important;
}

.kt-catalog-standalone .kt-mega-menu-wrapper {
    margin-bottom: 0;
}

.kt-catalog-standalone .kt-submenu {
    z-index: 999999 !important;
}

/* Fix pro UX Builder sekce - povolit overflow ale snížit z-index */
.section,
.section-content,
.row,
.col,
[class*="col-"] {
    overflow: visible !important;
}

/* ==========================================================================
   MEGA MENU Z-INDEX FIX - FIXED POSITIONING VERSION
   ========================================================================== */

/*
 * KRITICKÉ: UX Builder elementy mohou mít transform/filter/perspective,
 * které vytváří nový "containing block" pro position: fixed.
 * Musíme tyto vlastnosti resetovat na předcích mega menu.
 */

/* Reset transform/filter na UX Builder sekcích obsahujících mega menu */
.section:has(.kt-mega-menu-widget),
.section:has(.kt-mega-menu),
.row:has(.kt-mega-menu-widget),
.row:has(.kt-mega-menu),
.col:has(.kt-mega-menu-widget),
.col:has(.kt-mega-menu),
.col-inner:has(.kt-mega-menu-widget),
.col-inner:has(.kt-mega-menu),
.ux-element:has(.kt-mega-menu-widget),
.ux-element:has(.kt-mega-menu),
/* Hover stavy - musí přepsat Flatsome hover efekty */
.col-inner:has(.kt-mega-menu-widget):hover,
.col-inner:has(.kt-mega-menu):hover,
.row-box-shadow-4-hover .col-inner:has(.kt-mega-menu):hover,
.row-box-shadow-5-hover .col-inner:has(.kt-mega-menu):hover,
/* Přímý reset pro homepage menu */
.col-inner.text-center:has(.kt-mega-menu-widget),
.col-inner.text-center:has(.kt-mega-menu),
.col-inner.text-center:has(.kt-mega-menu-widget):hover,
.col-inner.text-center:has(.kt-mega-menu):hover {
    transform: none !important;
    filter: none !important;
    perspective: none !important;
    will-change: auto !important;
    contain: none !important;
}

/* Fallback - přímý reset na všechny .col-inner obsahující mega menu (bez :has) */
.kt-mega-menu-widget .col-inner,
.kt-mega-menu .col-inner {
    transform: none !important;
}

/* Fallback pro prohlížeče bez :has() - vynutí na všech sekcích s mega menu widgetem */
.kt-mega-menu-widget,
.kt-mega-menu-widget *,
.kt-mega-menu-wrapper,
.kt-mega-menu {
    transform-style: flat !important;
}

/* FLYOUT POZICOVANI - viz hlavni sekce na konci souboru */
/* JS ridi pozicovani pomoci position:fixed a tridy .kt-submenu-visible */

/* Mega menu widget a wrapper */
.kt-mega-menu-widget,
.kt-mega-menu-wrapper,
.kt-catalog-standalone {
    position: relative;
    z-index: 9999 !important;
}

/* Overflow visible pro rodiče */
.kt-mega-menu,
.kt-mega-menu-list,
.kt-menu-item {
    overflow: visible !important;
}

/* === FLATSOME KOMPATIBILITA - overflow fix pro flyout === */
.kt-shop-with-menu,
.kt-shop-sidebar,
.kt-mega-menu-wrapper,
.kt-mega-menu,
.kt-mega-menu-list,
.shop-container,
.row.category-page-row,
.row.row-main,
.col.large-3,
.col.large-9,
.col.large-12,
.row,
section,
.section,
#content,
#main,
.page-wrapper {
    overflow: visible !important;
}

/* Sloupec s menu musi mit vyssi z-index nez obsah */
.col.large-3:has(.kt-mega-menu-widget),
.col.large-3:has(.sidebar-wrapper),
.col:has(.kt-mega-menu-widget),
.col:has(.sidebar-wrapper) {
    position: relative;
    z-index: 999999 !important;
}

/* Hlavní obsah musí mít nižší z-index než flyout menu */
.kt-shop-products,
.products,
.product-small,
.col.large-9,
.col.large-12:not(:has(.kt-mega-menu-widget)) {
    position: relative;
    z-index: 1;
}

/* === LAYOUT === */
.kt-shop-with-menu {
    display: flex;
    gap: 30px;
    align-items: flex-start;
    position: relative;
}

.kt-shop-sidebar {
    flex: 0 0 280px;
    position: relative;
    z-index: 100;
}

.kt-shop-products {
    flex: 1;
    min-width: 0;
    position: relative;
    z-index: 1;
}

/* === MEGA MENU WRAPPER === */
.kt-mega-menu-wrapper {
    margin-bottom: 20px;
    position: relative;
    z-index: 999;
}

.kt-mega-menu {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    overflow: visible !important;
    position: relative;
    z-index: 999;
}

.kt-mega-menu-header {
    background: linear-gradient(135deg, #057BB8 0%, #18B5E2 100%);
    color: #fff;
    padding: 14px 18px;
    border-radius: 12px 12px 0 0;
    font-weight: 600;
    font-size: 15px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.kt-mega-menu-header svg {
    width: 20px;
    height: 20px;
}

.kt-mega-menu-list {
    list-style: none;
    padding: 8px 0;
    margin: 0;
    overflow: visible !important;
}

/* === SEKCE MENU S ODDĚLOVAČI === */
.kt-menu-section-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px 6px;
    margin-top: 4px;
}

.kt-section-icon {
    font-size: 16px;
    line-height: 1;
}

.kt-section-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #057BB8;
    opacity: 0.9;
}

.kt-menu-section-divider {
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #e2e8f0 20%, #e2e8f0 80%, transparent 100%);
    margin: 8px 14px;
}

/* === MENU POLOŽKY === */
.kt-menu-item {
    position: relative;
    z-index: 10;
}

.kt-menu-item:hover {
    z-index: 99999;
}

.kt-menu-link {
    display: flex;
    align-items: center;
    padding: 10px 14px;
    color: #374151;
    text-decoration: none;
    transition: all 0.15s ease;
    gap: 12px;
}

.kt-menu-link:hover {
    background: linear-gradient(135deg, rgba(5,123,184,0.08) 0%, rgba(24,181,226,0.08) 100%);
    color: #057BB8;
}

/* Aktivní flyout - položka zůstane zvýrazněná když je submenu otevřené */
.kt-menu-item.flyout-active > .kt-menu-link {
    background: linear-gradient(135deg, rgba(5,123,184,0.1) 0%, rgba(24,181,226,0.1) 100%);
    color: #057BB8;
}

.kt-menu-item.flyout-active .kt-menu-arrow {
    opacity: 1;
    color: #057BB8;
    transform: translateX(2px);
}

.kt-menu-item.is-active > .kt-menu-link {
    background: linear-gradient(135deg, rgba(5,123,184,0.12) 0%, rgba(24,181,226,0.12) 100%);
    color: #057BB8;
    font-weight: 600;
}

/* Ikony v menu - výrazné s gradient pozadím */
.kt-menu-icon {
    width: 34px;
    height: 34px;
    min-width: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #057BB8 0%, #18B5E2 100%);
    border-radius: 8px;
    flex-shrink: 0;
    color: #fff;
    font-size: 16px;
}

.kt-menu-icon svg {
    width: 18px;
    height: 18px;
    stroke: #fff !important;
    color: #fff !important;
    fill: none !important;
}

.kt-menu-icon svg rect,
.kt-menu-icon svg circle,
.kt-menu-icon svg path,
.kt-menu-icon svg line,
.kt-menu-icon svg ellipse,
.kt-menu-icon svg polygon {
    stroke: #fff !important;
    vector-effect: non-scaling-stroke;
}

/* Text v menu */
.kt-menu-text {
    flex: 1;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.3;
    color: #334155;
}

.kt-menu-link:hover .kt-menu-text {
    color: #057BB8;
}

/* Šipka */
.kt-menu-arrow {
    width: 14px;
    height: 14px;
    opacity: 0.3;
    transition: all 0.15s ease;
    color: #94a3b8;
}

.kt-menu-arrow svg {
    width: 14px;
    height: 14px;
}

.kt-menu-item:hover .kt-menu-arrow {
    opacity: 1;
    color: #057BB8;
    transform: translateX(2px);
}

/* === SUBMENU FLYOUT === */
/* POZOR: position a transform jsou řešeny v "MEGA MENU Z-INDEX FIX" sekci výše */
.kt-submenu {
    /* position: fixed je v Z-INDEX FIX sekci */
    width: 400px;
    min-width: 400px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 8px 4px 30px rgba(0,0,0,0.18);
    padding: 20px;
    /* visibility je řešena v Z-INDEX FIX sekci */
}

/* Hover efekt - BEZ transform (ten rozbíjí z-index) */
.kt-menu-item:hover > .kt-submenu {
    /* visibility je řešena v Z-INDEX FIX sekci */
}

.kt-submenu-header {
    padding-bottom: 15px;
    margin-bottom: 15px;
    border-bottom: 2px solid #f1f5f9;
}

.kt-submenu-header h3 {
    font-size: 18px;
    font-weight: 700;
    color: #1f2937;
    margin: 0 0 5px 0;
}

.kt-submenu-header p {
    font-size: 13px;
    color: #6b7280;
    margin: 0;
}

.kt-submenu-items {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.kt-submenu-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px;
    border-radius: 8px;
    text-decoration: none;
    color: #374151;
    transition: all 0.15s ease;
}

.kt-submenu-item:hover {
    background: #f8fafc;
    color: #057BB8;
}

.kt-submenu-img {
    width: 48px;
    height: 48px;
    object-fit: cover;
    border-radius: 6px;
    background: #f1f5f9;
}

.kt-submenu-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f1f5f9;
    border-radius: 6px;
    flex-shrink: 0;
}

.kt-submenu-icon svg {
    width: 24px;
    height: 24px;
    color: #057BB8;
}

.kt-submenu-text {
    flex: 1;
    min-width: 0;
}

.kt-submenu-text strong {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: inherit;
}

.kt-submenu-text small {
    display: block;
    font-size: 12px;
    color: #9ca3af;
}

.kt-submenu-all {
    display: block;
    text-align: center;
    padding: 12px;
    margin-top: 15px;
    background: linear-gradient(135deg, #057BB8 0%, #18B5E2 100%);
    color: #fff !important;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    font-size: 13px;
    transition: all 0.2s ease;
}

.kt-submenu-all:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(5,123,184,0.3);
}

/* === MOBILNÍ ZOBRAZENÍ === */
@media (max-width: 991px) {
    .kt-shop-with-menu {
        flex-direction: column;
        gap: 20px;
    }

    .kt-shop-sidebar {
        flex: none;
        width: 100%;
        position: relative;
        top: 0;
    }

    .kt-submenu {
        display: none !important;
    }

    .kt-menu-arrow {
        display: none;
    }

    .kt-mega-menu-list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 5px;
        padding: 10px;
    }

    .kt-menu-link {
        padding: 10px;
        flex-direction: column;
        text-align: center;
        gap: 8px;
    }

    .kt-menu-text {
        font-size: 12px;
    }
}

/* Convert existing WooCommerce Product Categories widget to mega menu style */
.sidebar-shop .widget_product_categories,
.shop-sidebar .widget_product_categories {
    position: relative;
}

/* Style the widget as mega menu on desktop */
@media (min-width: 992px) {
    .sidebar-shop .widget_product_categories,
    .shop-sidebar .widget_product_categories {
        background: var(--kt-white);
        border-radius: var(--kt-radius-lg);
        box-shadow: var(--kt-shadow);
        overflow: visible;
    }

    .sidebar-shop .widget_product_categories .widget-title,
    .shop-sidebar .widget_product_categories .widget-title {
        background: var(--kt-gradient);
        color: var(--kt-white) !important;
        padding: 14px 18px !important;
        margin: 0 !important;
        border-radius: var(--kt-radius-lg) var(--kt-radius-lg) 0 0 !important;
        border-bottom: none !important;
        font-size: 15px !important;
    }

    .sidebar-shop .widget_product_categories .product-categories,
    .shop-sidebar .widget_product_categories .product-categories {
        padding: 8px 0;
    }

    /* Parent category items */
    .sidebar-shop .widget_product_categories .product-categories > li,
    .shop-sidebar .widget_product_categories .product-categories > li {
        position: relative;
    }

    /* Nested subcategories - flyout style */
    .sidebar-shop .widget_product_categories .product-categories > li > .children,
    .shop-sidebar .widget_product_categories .product-categories > li > .children {
        position: absolute;
        left: 100%;
        top: 0;
        width: 400px;
        min-height: 200px;
        background: var(--kt-white);
        border-radius: 0 var(--kt-radius-lg) var(--kt-radius-lg) 0;
        box-shadow: var(--kt-shadow-xl);
        padding: 20px;
        opacity: 0;
        visibility: hidden;
        transform: translateX(-10px);
        transition: all 0.2s ease;
        z-index: 1000;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
        align-content: start;
    }

    .sidebar-shop .widget_product_categories .product-categories > li:hover > .children,
    .shop-sidebar .widget_product_categories .product-categories > li:hover > .children {
        opacity: 1;
        visibility: visible;
        transform: translateX(0);
    }

    /* Style subcategory links in flyout */
    .sidebar-shop .widget_product_categories .product-categories > li > .children li a,
    .shop-sidebar .widget_product_categories .product-categories > li > .children li a {
        padding: 10px 14px !important;
        font-size: 13px !important;
        border-radius: var(--kt-radius-sm) !important;
    }

    /* Arrow indicator for items with children */
    .sidebar-shop .widget_product_categories .product-categories > li.cat-parent > a,
    .shop-sidebar .widget_product_categories .product-categories > li.cat-parent > a {
        padding-right: 35px !important;
    }

    .sidebar-shop .widget_product_categories .product-categories > li.cat-parent > a::after,
    .shop-sidebar .widget_product_categories .product-categories > li.cat-parent > a::after {
        content: '';
        position: absolute;
        right: 15px;
        top: 50%;
        transform: translateY(-50%);
        width: 16px;
        height: 16px;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E");
        background-size: contain;
        background-repeat: no-repeat;
        transition: all 0.15s ease;
    }

    .sidebar-shop .widget_product_categories .product-categories > li.cat-parent:hover > a::after,
    .shop-sidebar .widget_product_categories .product-categories > li.cat-parent:hover > a::after {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23057BB8' stroke-width='2'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E");
        transform: translateY(-50%) translateX(3px);
    }

    /* 3rd level subcategories in flyout */
    .sidebar-shop .widget_product_categories .product-categories .children .children,
    .shop-sidebar .widget_product_categories .product-categories .children .children {
        position: static !important;
        width: auto !important;
        min-height: auto !important;
        box-shadow: none !important;
        padding: 4px 0 4px 15px !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        display: block !important;
        background: transparent !important;
    }

    .sidebar-shop .widget_product_categories .product-categories .children .children li a,
    .shop-sidebar .widget_product_categories .product-categories .children .children li a {
        padding: 6px 10px !important;
        font-size: 12px !important;
        color: var(--kt-gray-500) !important;
    }
}

/* Touch device support - show flyout on first tap */
@media (min-width: 992px) {
    .sidebar-shop .widget_product_categories .product-categories > li.cat-parent.touch-active > .children,
    .shop-sidebar .widget_product_categories .product-categories > li.cat-parent.touch-active > .children {
        opacity: 1;
        visibility: visible;
        transform: translateX(0);
    }

    .sidebar-shop .widget_product_categories .product-categories > li.cat-parent.touch-active > a,
    .shop-sidebar .widget_product_categories .product-categories > li.cat-parent.touch-active > a {
        background: var(--kt-gray-50);
        color: var(--kt-primary);
    }

    .sidebar-shop .widget_product_categories .product-categories > li.cat-parent.touch-active > a::after,
    .shop-sidebar .widget_product_categories .product-categories > li.cat-parent.touch-active > a::after {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23057BB8' stroke-width='2'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E") !important;
        transform: translateY(-50%) translateX(3px) !important;
    }
}

/* Mobile - Accordion style */
@media (max-width: 991px) {
    .sidebar-shop .widget_product_categories .product-categories > li > .children,
    .shop-sidebar .widget_product_categories .product-categories > li > .children {
        display: none;
        padding-left: 20px;
        margin-top: 5px;
    }

    .sidebar-shop .widget_product_categories .product-categories > li.expanded > .children,
    .shop-sidebar .widget_product_categories .product-categories > li.expanded > .children {
        display: block;
    }

    .sidebar-shop .widget_product_categories .product-categories > li.cat-parent > a::after,
    .shop-sidebar .widget_product_categories .product-categories > li.cat-parent > a::after {
        content: '+';
        position: absolute;
        right: 15px;
        font-size: 18px;
        font-weight: 300;
        color: var(--kt-gray-400);
    }

    .sidebar-shop .widget_product_categories .product-categories > li.cat-parent.expanded > a::after,
    .shop-sidebar .widget_product_categories .product-categories > li.cat-parent.expanded > a::after {
        content: '−';
    }
}

/* ==========================================================================
   MY ACCOUNT PAGE
   ========================================================================== */

.woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce-MyAccount-navigation ul li {
    margin-bottom: 4px !important;
}

.woocommerce-MyAccount-navigation ul li a {
    display: block !important;
    padding: 14px 18px !important;
    border-radius: var(--kt-radius) !important;
    color: var(--kt-gray-600) !important;
    font-weight: 500 !important;
    transition: all 0.2s ease !important;
}

.woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--active a {
    background: var(--kt-gray-50) !important;
    color: var(--kt-primary) !important;
}

/* ==========================================================================
   WOOCOMMERCE NOTICES
   ========================================================================== */

.woocommerce-message,
.woocommerce-info {
    background: rgba(5,123,184,0.1) !important;
    border-left: 4px solid var(--kt-primary) !important;
    border-radius: var(--kt-radius) !important;
    color: var(--kt-gray-700) !important;
}

.woocommerce-error {
    background: rgba(239,68,68,0.1) !important;
    border-left: 4px solid #ef4444 !important;
    border-radius: var(--kt-radius) !important;
}

/* ==========================================================================
   FOOTER
   ========================================================================== */

.footer-wrapper,
.footer-1,
.footer-2 {
    background: var(--kt-gray-900) !important;
}

.footer-wrapper *,
.footer-wrapper a {
    color: var(--kt-gray-400) !important;
}

.footer-wrapper h3,
.footer-wrapper .widget-title {
    color: var(--kt-white) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    margin-bottom: 20px !important;
}

.footer-wrapper a:hover {
    color: var(--kt-white) !important;
}

.absolute-footer {
    background: var(--kt-gray-800) !important;
    border-top: 1px solid var(--kt-gray-700) !important;
}

/* ==========================================================================
   HOMEPAGE - Modern sections
   ========================================================================== */

/* Hero banner */
.home .banner,
.home .ux-banner {
    overflow: hidden;
}

.home .banner h1,
.home .banner-h,
.home .text-box h1 {
    font-size: clamp(32px, 5vw, 56px) !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    margin-bottom: 20px !important;
}

.home .banner p,
.home .text-box p {
    font-size: 18px !important;
    line-height: 1.6 !important;
    opacity: 0.9;
}

/* Section titles */
.home h2,
.home .section-title {
    font-size: 36px !important;
    font-weight: 700 !important;
    color: var(--kt-gray-900) !important;
    margin-bottom: 16px !important;
}

/* Category/feature boxes on homepage */
.home .col-inner {
    border-radius: var(--kt-radius-lg) !important;
    overflow: hidden;
    transition: all 0.3s ease !important;
}

.home .col-inner:hover {
    transform: translateY(-6px) !important;
    box-shadow: var(--kt-shadow-lg) !important;
}

/* Icon boxes on homepage */
.home .icon-box {
    text-align: center !important;
    padding: 30px 20px !important;
    background: var(--kt-white) !important;
    border-radius: var(--kt-radius-lg) !important;
    border: 1px solid var(--kt-gray-100) !important;
    transition: all 0.3s ease !important;
}

.home .icon-box:hover {
    border-color: var(--kt-primary) !important;
    box-shadow: var(--kt-shadow-md) !important;
}

.home .icon-box .icon {
    width: 64px !important;
    height: 64px !important;
    background: var(--kt-gradient-glass) !important;
    border-radius: var(--kt-radius-lg) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto 16px !important;
}

.home .icon-box .icon i {
    font-size: 28px !important;
    color: var(--kt-primary) !important;
}

.home .icon-box-text strong {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--kt-gray-900) !important;
    display: block !important;
    margin-bottom: 8px !important;
}

.home .icon-box-text p {
    font-size: 14px !important;
    color: var(--kt-gray-500) !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

/* ==========================================================================
   TOAST NOTIFICATIONS
   ========================================================================== */

.kt-toast-container {
    position: fixed;
    top: 100px;
    right: 20px;
    z-index: 99999;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.kt-toast {
    background: var(--kt-white);
    border-radius: var(--kt-radius-lg);
    padding: 16px 20px;
    box-shadow: var(--kt-shadow-xl);
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 300px;
    max-width: 400px;
    transform: translateX(120%);
    transition: transform 0.3s ease;
}

.kt-toast.show {
    transform: translateX(0);
}

.kt-toast.success {
    border-left: 4px solid #10b981;
}

.kt-toast.error {
    border-left: 4px solid #ef4444;
}

.kt-toast-content strong {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: var(--kt-gray-900);
}

.kt-toast-content span {
    font-size: 13px;
    color: var(--kt-gray-500);
}

.kt-toast-close {
    cursor: pointer;
    font-size: 20px;
    color: var(--kt-gray-400);
    margin-left: auto;
}

/* ==========================================================================
   BACK TO TOP
   ========================================================================== */

.kt-back-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    background: var(--kt-gradient);
    color: var(--kt-white);
    border: none;
    border-radius: var(--kt-radius-full);
    font-size: 20px;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all 0.3s ease;
    z-index: 999;
    box-shadow: var(--kt-shadow-lg);
}

.kt-back-to-top.visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.kt-back-to-top:hover {
    transform: translateY(-3px);
}

/* ==========================================================================
   MOBILE RESPONSIVE
   ========================================================================== */

@media (max-width: 849px) {
    /* Mobile header */
    #masthead.header-main {
        padding: 10px 0 !important;
        min-height: 60px !important;
    }

    #logo img {
        max-height: 45px !important;
    }

    /* Mobile cart */
    a.header-cart-link {
        width: 40px !important;
        height: 40px !important;
    }

    /* Product page */
    .product_title {
        font-size: 22px !important;
    }

    .single-product .price {
        font-size: 20px !important;
    }

    .woocommerce-product-gallery__image img {
        max-height: 250px !important;
    }

    /* Homepage */
    .home .banner h1 {
        font-size: 28px !important;
    }

    .home h2 {
        font-size: 26px !important;
    }
}

/* ==========================================================================
   QUANTITY INPUT
   ========================================================================== */

.quantity {
    display: inline-flex !important;
    align-items: center !important;
}

.quantity input.qty {
    width: 60px !important;
    text-align: center !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    border: 2px solid var(--kt-gray-200) !important;
    border-radius: var(--kt-radius) !important;
    padding: 10px !important;
}

/* ==========================================================================
   TOOLTIP
   ========================================================================== */

.kt-tip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    background: var(--kt-gray-100);
    color: var(--kt-primary);
    border-radius: var(--kt-radius-full);
    font-size: 10px;
    font-weight: 700;
    margin-left: 5px;
    cursor: help;
}

/* ==========================================================================
   PRODUKTOVÁ STRÁNKA - Navigace (styl Alza)
   ========================================================================== */

/* Skrýt původní Flatsome breadcrumb na produktové stránce a kategoriích */
.single-product .breadcrumbs,
.single-product .woocommerce-breadcrumb,
.archive.woocommerce .breadcrumbs,
.archive.woocommerce .woocommerce-breadcrumb,
.tax-product_cat .breadcrumbs,
.tax-product_cat .woocommerce-breadcrumb,
.post-type-archive-product .breadcrumbs,
.post-type-archive-product .woocommerce-breadcrumb {
    display: none !important;
}

/* Navigační bar */
.kt-product-nav {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 12px 0;
    margin-bottom: 20px;
    border-bottom: 1px solid #e5e7eb;
}

/* === ZOBRAZIT KATALOG DROPDOWN === */
.kt-catalog-dropdown {
    position: relative;
    z-index: 99999;
}

.kt-catalog-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    background: linear-gradient(135deg, #057BB8 0%, #18B5E2 100%);
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.kt-catalog-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(5,123,184,0.3);
}

.kt-catalog-btn svg {
    width: 18px;
    height: 18px;
}

.kt-catalog-btn .kt-dropdown-arrow {
    width: 14px;
    height: 14px;
    margin-left: 4px;
    transition: transform 0.2s ease;
}

.kt-catalog-dropdown:hover .kt-dropdown-arrow {
    transform: rotate(180deg);
}

/* Dropdown menu - BEZ TRANSFORM (rozbiji position:fixed u submenu) */
.kt-catalog-menu {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 8px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
    z-index: 99999;
}

.kt-catalog-dropdown:hover .kt-catalog-menu,
.kt-catalog-dropdown.active .kt-catalog-menu {
    opacity: 1;
    visibility: visible;
}

/* Menu uvnitř dropdown */
.kt-catalog-menu .kt-mega-menu-wrapper {
    margin-bottom: 0;
}

.kt-catalog-menu .kt-mega-menu {
    min-width: 280px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.15);
}

/* === BREADCRUMB NAVIGACE === */
.kt-breadcrumb {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    flex-wrap: wrap;
}

.kt-bc-home {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: #f1f5f9;
    border-radius: 6px;
    color: #64748b;
    transition: all 0.15s ease;
}

.kt-bc-home:hover {
    background: #e0f2fe;
    color: #057BB8;
}

.kt-bc-home svg {
    width: 16px;
    height: 16px;
}

.kt-bc-sep {
    display: flex;
    color: #cbd5e1;
}

.kt-bc-sep svg {
    width: 14px;
    height: 14px;
}

.kt-bc-link {
    color: #64748b;
    text-decoration: none;
    transition: color 0.15s ease;
    padding: 4px 0;
}

.kt-bc-link:hover {
    color: #057BB8;
}

.kt-bc-current {
    color: #1f2937;
    font-weight: 500;
    max-width: 300px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* === MOBILNÍ ZOBRAZENÍ === */
@media (max-width: 768px) {
    .kt-product-nav {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .kt-breadcrumb {
        font-size: 12px;
    }

    .kt-bc-current {
        max-width: 200px;
    }

    .kt-catalog-menu {
        left: 0;
        right: auto;
        width: calc(100vw - 30px);
        max-width: 320px;
    }
}

/* ==========================================================================
   HIDE MENU ON CART, CHECKOUT, ACCOUNT PAGES
   ========================================================================== */

/* WooCommerce p�id�v� tyto classes na body */
.woocommerce-cart .kt-shop-with-menu,
.woocommerce-cart .kt-shop-sidebar,
.woocommerce-cart .kt-mega-menu-wrapper,
.woocommerce-checkout .kt-shop-with-menu,
.woocommerce-checkout .kt-shop-sidebar,
.woocommerce-checkout .kt-mega-menu-wrapper,
.woocommerce-account .kt-shop-with-menu,
.woocommerce-account .kt-shop-sidebar,
.woocommerce-account .kt-mega-menu-wrapper {
    display: none !important;
}

/* Zajistit �e produkty na t�chto str�nk�ch maj� plnou ���ku */
.woocommerce-cart .kt-shop-products,
.woocommerce-checkout .kt-shop-products,
.woocommerce-account .kt-shop-products {
    width: 100% !important;
    max-width: 100% !important;
}

/* ==========================================================================
   MINI-CART SIDEBAR - Elegantn� design
   ========================================================================== */

/* Sidebar container */
#cart-popup,
.off-canvas.off-canvas-cart {
    background: #fff !important;
    box-shadow: -5px 0 30px rgba(0,0,0,0.15) !important;
}

/* Nadpis ko��ku */
.cart-popup-title .heading-font {
    font-family: var(--kt-font-sans) !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    color: var(--kt-gray-800) !important;
}

/* Close button - modern� styl */
.mfp-close {
    width: 40px !important;
    height: 40px !important;
    background: var(--kt-gray-100) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    top: 15px !important;
    right: 15px !important;
    opacity: 1 !important;
    transition: all 0.2s ease !important;
}

.mfp-close svg {
    width: 20px !important;
    height: 20px !important;
    stroke: var(--kt-gray-600) !important;
}

.mfp-close:hover {
    background: var(--kt-primary) !important;
    transform: rotate(90deg) !important;
}

.mfp-close:hover svg {
    stroke: #fff !important;
}

/* Mini-cart pr�zdn� stav */
.ux-mini-cart-empty {
    padding: 40px 20px !important;
}

.ux-mini-cart-empty-icon svg {
    opacity: 0.3 !important;
    color: var(--kt-primary) !important;
}

.woocommerce-mini-cart__empty-message {
    font-size: 15px !important;
    color: var(--kt-gray-600) !important;
    margin: 15px 0 !important;
}

/* Mini-cart polo�ky */
.cart-popup-inner .mini_cart_item {
    padding: 15px 0 !important;
    border-bottom: 1px solid var(--kt-gray-100) !important;
}

/* ==========================================================================
   CALCULATE BUTTON - Oprava ikonky
   ========================================================================== */

.uni-cpo-calculate-btn {
    background: var(--kt-gradient) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--kt-radius-full) !important;
    padding: 16px 32px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 15px rgba(5,123,184,0.35) !important;
}

.uni-cpo-calculate-btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(5,123,184,0.45) !important;
}

/* Ikona kalkula�ky - zajistit �e Font Awesome se zobraz� */
.uni-cpo-calculate-btn i.fas,
.uni-cpo-calculate-btn i.fa {
    font-family: Font Awesome 5 Free, FontAwesome, sans-serif !important;
    font-weight: 900 !important;
    font-size: 16px !important;
}

/* Fallback pokud FA nefunguje - SVG ikona */
.uni-cpo-calculate-btn i.fa-calculator::before {
    content: f1ec !important;
}

/* ==========================================================================
   HOMEPAGE REDESIGN - �ist� modern� vzhled
   ========================================================================== */

/* Homepage hero/banner sekce */
.home .banner,
.home .ux-banner {
    border-radius: var(--kt-radius-lg) !important;
    overflow: hidden !important;
    margin-bottom: 30px !important;
}

/* Homepage sekce - konzistentn� spacing */
.home .section,
.home section,
.home .row {
    margin-bottom: 40px !important;
}

/* Sekce nadpisy */
.home .section-title,
.home h2.section-title,
.home .col h2 {
    font-family: var(--kt-font-sans) !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    color: var(--kt-gray-800) !important;
    text-transform: none !important;
    letter-spacing: -0.02em !important;
    margin-bottom: 25px !important;
    position: relative !important;
    padding-bottom: 15px !important;
}

.home .section-title::after,
.home .col h2::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 60px !important;
    height: 3px !important;
    background: var(--kt-gradient) !important;
    border-radius: 3px !important;
}

/* Produktov� slidery - �ist�� look */
.home .row-slider {
    padding: 10px 0 !important;
}

.home .slider-nav-simple .flickity-prev-next-button,
.home .slider-nav-reveal .flickity-prev-next-button {
    background: var(--kt-white) !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1) !important;
    border-radius: 50% !important;
    width: 44px !important;
    height: 44px !important;
    transition: all 0.2s ease !important;
}

.home .slider-nav-simple .flickity-prev-next-button:hover,
.home .slider-nav-reveal .flickity-prev-next-button:hover {
    background: var(--kt-primary) !important;
    box-shadow: 0 4px 15px rgba(5,123,184,0.3) !important;
}

.home .slider-nav-simple .flickity-prev-next-button:hover svg,
.home .slider-nav-reveal .flickity-prev-next-button:hover svg {
    fill: #fff !important;
}

/* Kategorie boxy na homepage */
.home .box-category,
.home .category-box {
    border-radius: var(--kt-radius) !important;
    overflow: hidden !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.home .box-category:hover,
.home .category-box:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.12) !important;
}

/* Info bloky / USP sekce */
.home .icon-box,
.home .text-box {
    text-align: center !important;
    padding: 30px 20px !important;
}

.home .icon-box-img img,
.home .icon-box svg {
    width: 60px !important;
    height: 60px !important;
    margin-bottom: 15px !important;
    color: var(--kt-primary) !important;
}

/* Flip boxes / promo boxy */
.home .flip-box,
.home .banner-box {
    border-radius: var(--kt-radius) !important;
    overflow: hidden !important;
}

/* Odstra� p�ebyte�n� marginy */
.home .is-divider {
    display: none !important;
}

/* USP/benefit strip */
.home .row-divided {
    background: var(--kt-gray-50) !important;
    padding: 25px 0 !important;
    margin: 40px 0 !important;
}

/* Produkty na homepage */
.home .product-small {
    margin-bottom: 20px !important;
}

/* CTA sekce */
.home .button.primary,
.home .button.alt {
    border-radius: var(--kt-radius-full) !important;
    padding: 14px 32px !important;
    font-weight: 600 !important;
    transition: all 0.3s ease !important;
}

.home .button.primary:hover,
.home .button.alt:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(5,123,184,0.35) !important;
}

/* Calculate button SVG icon style */
.uni-cpo-calculate-btn svg {
    vertical-align: middle !important;
    margin-right: 8px !important;
    stroke: currentColor !important;
}

/* ==========================================================================
   GLOBAL NAVIGATION BAR - Pro v�echny str�nky mimo WooCommerce
   ========================================================================== */

.kt-global-nav {
    background: var(--kt-white);
    border-bottom: 1px solid var(--kt-gray-100);
    padding: 12px 0;
    position: relative;
    z-index: 100;
}

.kt-global-nav-inner {
    display: flex;
    align-items: center;
    gap: 20px;
}

/* Sjednocen� styl� s produktovou navigac� */
.kt-global-nav .kt-catalog-dropdown,
.kt-product-nav .kt-catalog-dropdown {
    position: relative;
}

.kt-global-nav .kt-catalog-btn,
.kt-product-nav .kt-catalog-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    background: var(--kt-gradient);
    color: #fff;
    border: none;
    border-radius: var(--kt-radius);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.kt-global-nav .kt-catalog-btn:hover,
.kt-product-nav .kt-catalog-btn:hover {
    background: var(--kt-gradient-dark);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(5,123,184,0.3);
}

.kt-global-nav .kt-catalog-btn svg,
.kt-product-nav .kt-catalog-btn svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.kt-global-nav .kt-dropdown-arrow,
.kt-product-nav .kt-dropdown-arrow {
    width: 14px !important;
    height: 14px !important;
    transition: transform 0.2s ease;
}

.kt-global-nav .kt-catalog-dropdown:hover .kt-dropdown-arrow,
.kt-product-nav .kt-catalog-dropdown:hover .kt-dropdown-arrow {
    transform: rotate(180deg);
}

/* Dropdown menu - BEZ TRANSFORM (rozbiji position:fixed u submenu) */
.kt-global-nav .kt-catalog-menu,
.kt-product-nav .kt-catalog-menu {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 8px;
    background: var(--kt-white);
    border-radius: var(--kt-radius);
    box-shadow: 0 10px 40px rgba(0,0,0,0.15);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
    z-index: 99999;
    min-width: 280px;
}

.kt-global-nav .kt-catalog-dropdown:hover .kt-catalog-menu,
.kt-global-nav .kt-catalog-dropdown.active .kt-catalog-menu,
.kt-product-nav .kt-catalog-dropdown:hover .kt-catalog-menu,
.kt-product-nav .kt-catalog-dropdown.active .kt-catalog-menu {
    opacity: 1;
    visibility: visible;
}

/* Breadcrumb v global nav */
.kt-global-nav .kt-breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: var(--kt-gray-600);
}

.kt-global-nav .kt-bc-home {
    display: flex;
    align-items: center;
    color: var(--kt-gray-500);
}

.kt-global-nav .kt-bc-home svg {
    width: 18px;
    height: 18px;
}

.kt-global-nav .kt-bc-home:hover {
    color: var(--kt-primary);
}

.kt-global-nav .kt-bc-sep {
    color: var(--kt-gray-300);
}

.kt-global-nav .kt-bc-sep svg {
    width: 14px;
    height: 14px;
}

.kt-global-nav .kt-bc-current {
    color: var(--kt-gray-800);
    font-weight: 500;
}

/* Responsive */
@media (max-width: 768px) {
    .kt-global-nav-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .kt-global-nav .kt-catalog-btn {
        width: 100%;
        justify-content: center;
    }

    .kt-global-nav .kt-catalog-menu {
        width: 100%;
        max-width: none;
    }
}

/* Skrýt duplicitní header v dropdown menu */
.kt-catalog-menu .kt-mega-menu-header,
.kt-catalog-dropdown .kt-mega-menu-header {
    display: none !important;
}

/* Upravit padding v dropdown menu bez hlavičky */
.kt-catalog-menu .kt-mega-menu {
    border-radius: var(--kt-radius);
}

.kt-catalog-menu .kt-mega-menu-list {
    padding-top: 8px;
}

/* Lepší zarovnání položek v globálním menu */
.kt-global-nav .kt-mega-menu-list {
    max-height: 60vh;
    overflow-y: auto;
}

/* Fix flyout submenu v global nav */
.kt-global-nav .kt-submenu,
.kt-global-nav .kt-mega-flyout {
    position: fixed !important;
    z-index: 100001 !important;
}

/* ==========================================================================
   HOMEPAGE - Skrýt STARÉ menu (kt-global-nav) - záložní CSS
   ========================================================================== */

/* Skrýt globální navigační lištu na homepage */
.home .kt-global-nav,
.front-page .kt-global-nav,
body.home .kt-global-nav {
    display: none !important;
}

/* Skrýt prázdný paragraph na homepage */
body.home #content > p:first-child,
.home #content > p:first-child {
    display: none !important;
}

/* Menu widget na homepage - ponechat z-index pro flyout */
/* POZOR: z-index pro flyout je nastaven v hlavni sekci na konci souboru */
/* Flyout pouziva position:fixed, takze unikne stacking contextu */

/* ==========================================================================
   MINI-CART REMOVE BUTTON - Elegantní styling
   ========================================================================== */

/* Hlavní remove button */
.woocommerce-mini-cart-item .remove,
.mini_cart_item .remove,
.cart_item .remove,
a.remove {
    width: 24px !important;
    height: 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--kt-gray-100) !important;
    border-radius: 50% !important;
    color: var(--kt-gray-500) !important;
    font-size: 16px !important;
    line-height: 1 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    border: none !important;
}

.woocommerce-mini-cart-item .remove:hover,
.mini_cart_item .remove:hover,
.cart_item .remove:hover,
a.remove:hover {
    background: #ef4444 !important;
    color: #fff !important;
    transform: scale(1.1) !important;
}

/* UNI CPO remove buttons v košíku */
.uni-cpo-cart-item-option-remove,
.cpo-cart-item-remove,
[class*="cpo"] .remove,
[class*="uni"] .remove {
    width: 20px !important;
    height: 20px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--kt-gray-100) !important;
    border-radius: 50% !important;
    color: var(--kt-gray-400) !important;
    font-size: 12px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    margin-left: 5px !important;
}

.uni-cpo-cart-item-option-remove:hover,
.cpo-cart-item-remove:hover,
[class*="cpo"] .remove:hover,
[class*="uni"] .remove:hover {
    background: #ef4444 !important;
    color: #fff !important;
}

/* Mini-cart item layout fix */
.woocommerce-mini-cart-item,
.mini_cart_item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 12px 0 !important;
    position: relative !important;
}

.woocommerce-mini-cart-item .remove,
.mini_cart_item .remove {
    position: absolute !important;
    top: 12px !important;
    right: 0 !important;
    margin: 0 !important;
}

/* ==========================================================================
   VYHLEDÁVÁNÍ - Z-index fix
   ========================================================================== */

/* Search wrapper musí být nad menu i obsahem stránky */
.kt-search-menu-item,
.kt-live-search {
    position: relative !important;
    z-index: 9999999 !important;
}

/* Search results - nejvyšší z-index */
.kt-search-results,
#kt-search-results {
    z-index: 999999 !important;
}

/* Header základ - musí být NAD menu i page contentem */
.header-wrapper,
.header-main,
#header,
header.header {
    z-index: 99999999 !important;
}

/* Širší vyhledávací pole */
.kt-live-search {
    width: 350px !important;
    max-width: 100% !important;
}

.kt-search-input-wrapper {
    width: 100% !important;
}

/* Širší dropdown s výsledky */
.kt-search-results,
#kt-search-results {
    min-width: 350px !important;
    width: 100% !important;
}

/* Lepší viditelnost výsledků */
.kt-search-result-item {
    padding: 14px 16px !important;
}

.kt-search-result-img {
    width: 55px !important;
    height: 55px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
}

.kt-search-result-title {
    font-size: 14px !important;
    font-weight: 500 !important;
    margin-bottom: 4px !important;
}

.kt-search-result-price {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--kt-primary) !important;
}

/* Na menších obrazovkách */
@media (max-width: 1200px) {
    .kt-live-search {
        width: 300px !important;
    }
}

@media (max-width: 992px) {
    .kt-live-search {
        width: 250px !important;
    }
}

/* =============================================================================
   DODACÍ TERMÍNY
   ============================================================================= */

/* Zobrazení na detailu produktu */
.kt-product-delivery {
    margin: 20px 0;
    padding: 15px 20px;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border-radius: 12px;
    border-left: 4px solid var(--kt-primary);
}

.kt-delivery-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(0,0,0,0.08);
}

.kt-delivery-icon {
    font-size: 20px;
}

.kt-delivery-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--kt-gray-800);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.kt-delivery-items {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.kt-delivery-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.kt-delivery-label {
    font-size: 14px;
    color: var(--kt-gray-600);
    min-width: 160px;
}

.kt-delivery-value {
    font-size: 14px;
    font-weight: 600;
    color: var(--kt-primary);
}

/* Tabulka na stránce Dodací termíny */
.kt-delivery-times-table {
    max-width: 900px;
    margin: 0 auto;
}

.kt-delivery-times-table table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

.kt-delivery-times-table thead {
    background: linear-gradient(135deg, var(--kt-primary) 0%, #0a5a8a 100%);
    color: #fff;
}

.kt-delivery-times-table th {
    padding: 16px 20px;
    text-align: left;
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.kt-delivery-times-table td {
    padding: 14px 20px;
    border-bottom: 1px solid #eee;
    font-size: 14px;
}

.kt-delivery-times-table tbody tr:last-child td {
    border-bottom: none;
}

.kt-delivery-times-table tbody tr:hover {
    background: #f8f9fa;
}

.kt-delivery-times-table td:first-child a {
    color: var(--kt-primary);
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s ease;
}

.kt-delivery-times-table td:first-child a:hover {
    color: var(--kt-primary-dark);
    text-decoration: underline;
}

.kt-delivery-times-table td:nth-child(2),
.kt-delivery-times-table td:nth-child(3) {
    font-weight: 500;
    color: var(--kt-gray-700);
}

/* Responzivita */
@media (max-width: 600px) {
    .kt-delivery-times-table th,
    .kt-delivery-times-table td {
        padding: 12px 15px;
        font-size: 13px;
    }

    .kt-delivery-label {
        min-width: auto;
    }

    .kt-delivery-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 2px;
    }
}

/* ==========================================================================
   SKRYTÍ MEGA MENU V PATIČCE
   ========================================================================== */

/* Mega menu widget se nesmí zobrazovat ve footer oblasti */
.footer-widgets .kt-mega-menu-widget,
.footer .kt-mega-menu-widget,
#footer .kt-mega-menu-widget,
.widget-area .kt-mega-menu-widget {
    display: none !important;
}

/* ==========================================================================
   MEGA MENU HEADER JAKO ODKAZ
   ========================================================================== */

a.kt-mega-menu-header {
    text-decoration: none !important;
    color: inherit;
    transition: background 0.2s ease;
}

a.kt-mega-menu-header:hover {
    background: rgba(255,255,255,0.1);
}

/* ==========================================================================
   MEGA MENU NA STRÁNCE /OBCHOD/
   ========================================================================== */

.kt-shop-menu-wrapper {
    margin-bottom: 30px;
}

.kt-shop-menu-title {
    font-size: 22px;
    font-weight: 700;
    color: var(--kt-gray-800);
    margin: 0 0 20px 0;
}

/* Mega menu na shop stránce - širší verze */
.kt-shop-menu-wrapper .kt-mega-menu-wrapper {
    max-width: 100%;
}

.kt-shop-menu-wrapper .kt-mega-menu {
    width: 100%;
    max-width: none;
}

/* ==========================================================================
   OVERRIDE: Header v dropdown menu musí být viditelný a klikatelný
   ========================================================================== */

.kt-catalog-menu .kt-mega-menu-header,
.kt-catalog-dropdown .kt-mega-menu-header {
    display: flex !important;
    cursor: pointer !important;
}

.kt-catalog-menu .kt-mega-menu-header:hover,
.kt-catalog-dropdown .kt-mega-menu-header:hover {
    background: linear-gradient(135deg, #046a9e 0%, #15a3cc 100%) !important;
}

/* ==========================================================================
   IZOLAČNÍ SKLA - skrýt obecné filtry a podkategorie
   ========================================================================== */

/* Skrýt obecné filtry (Skladem, Akce, Cena) na stránce izolačních skel */
.term-izolacni-skla .kt-filter-row,
.term-izolacni-skla .kt-filter-stock,
.term-izolacni-skla .kt-filter-sale,
.term-izolacni-skla .kt-filter-price-range {
    display: none !important;
}

/* Skrýt podkategorie na stránce izolačních skel */
.term-izolacni-skla .term-description + .woocommerce-products-header__title,
.term-izolacni-skla .wc-block-grid.wp-block-product-categories,
.term-izolacni-skla .product-subcategories,
.term-izolacni-skla .woocommerce-loop-category__title,
.term-izolacni-skla ul.products li.product-category {
    display: none !important;
}

/* ==========================================================================
   IZOLAČNÍ SKLA - OPRAVA: správné selektory
   ========================================================================== */

/* Skrýt hlavní řádek filtrů (Skladem, Akce, Cena, Řazení) */
.term-izolacni-skla .kt-filters-main-row {
    display: none !important;
}

/* Skrýt podkategorie */
.term-izolacni-skla .kt-subcategories {
    display: none !important;
}

/* ==========================================================================
   ZOBRAZIT KATALOG - rozdělené na odkaz a toggle
   ========================================================================== */

.kt-catalog-btn-wrapper {
    display: flex;
    align-items: stretch;
    background: var(--kt-gradient, linear-gradient(135deg, #057BB8 0%, #18B5E2 100%));
    border-radius: 8px;
    overflow: hidden;
}

.kt-catalog-btn-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 600;
    font-size: 14px;
    transition: background 0.2s ease;
}

.kt-catalog-btn-link:hover {
    background: rgba(255,255,255,0.1);
    color: #fff !important;
}

.kt-catalog-btn-link svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.kt-catalog-btn-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 12px;
    background: transparent;
    border: none;
    border-left: 1px solid rgba(255,255,255,0.2);
    color: #fff;
    cursor: pointer;
    transition: background 0.2s ease;
}

.kt-catalog-btn-toggle:hover {
    background: rgba(255,255,255,0.1);
}

.kt-catalog-btn-toggle .kt-dropdown-arrow {
    width: 16px;
    height: 16px;
    transition: transform 0.2s ease;
}

.kt-catalog-dropdown.active .kt-catalog-btn-toggle .kt-dropdown-arrow {
    transform: rotate(180deg);
}

/* Zobrazit dropdown menu pri active tride (kliknuti) - BEZ TRANSFORM */
.kt-catalog-dropdown.active .kt-catalog-menu {
    opacity: 1 !important;
    visibility: visible !important;
}

/* FLYOUT POZICOVANI - ODEBRANO, viz hlavni sekce na konci souboru */
/* Pouziva se position:fixed s JS tridou .kt-submenu-visible */

/* V sidebar kategorií - header NENÍ klikatelný */
.kt-shop-sidebar .kt-mega-menu-header,
.kt-shop-with-menu .kt-mega-menu-header {
    pointer-events: none !important;
    cursor: default !important;
}

/* Jen v dropdown menu (produkt stránky) - header je klikatelný */
.kt-catalog-menu .kt-mega-menu-header,
.kt-catalog-dropdown .kt-mega-menu-header {
    pointer-events: auto !important;
    cursor: pointer !important;
}

/* Homepage - header NENÍ klikatelný */
.home .kt-mega-menu-header,
body.home .kt-mega-menu-header,
.front-page .kt-mega-menu-header {
    pointer-events: none !important;
    cursor: default !important;
}

/* ==========================================================================
   STRÁNKA /OBCHOD/ - HEZKÁ MŘÍŽKA KATEGORIÍ
   ========================================================================== */

.kt-shop-categories {
    margin-bottom: 40px;
}

.kt-category-section {
    margin-bottom: 35px;
}

.kt-section-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 22px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 20px 0;
    padding-bottom: 12px;
    border-bottom: 2px solid #f0f0f0;
}

.kt-section-title .kt-section-icon {
    font-size: 24px;
}

.kt-category-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
}

.kt-category-card {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 16px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    border: 1px solid #f0f0f0;
    text-decoration: none !important;
    color: inherit;
    transition: all 0.2s ease;
}

.kt-category-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(5,123,184,0.15);
    border-color: rgba(5,123,184,0.3);
}

.kt-category-card-image {
    flex-shrink: 0;
    width: 70px;
    height: 70px;
    border-radius: 10px;
    overflow: hidden;
    background: linear-gradient(135deg, #057BB8 0%, #18B5E2 100%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.kt-category-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.kt-category-card-icon {
    color: #fff;
}

.kt-category-card-icon svg {
    width: 36px;
    height: 36px;
}

.kt-category-card-content {
    flex: 1;
    min-width: 0;
}

.kt-category-card-title {
    font-size: 16px;
    font-weight: 600;
    color: #1a1a1a;
    margin: 0 0 4px 0;
    line-height: 1.3;
}

.kt-category-card:hover .kt-category-card-title {
    color: #057BB8;
}

.kt-category-card-desc {
    font-size: 13px;
    color: #666;
    margin: 0 0 6px 0;
    line-height: 1.4;
}

.kt-category-card-count {
    font-size: 12px;
    color: #999;
    font-weight: 500;
}

.kt-all-categories-link {
    text-align: center;
    padding: 20px;
    background: #f8f9fa;
    border-radius: 12px;
    margin-top: 20px;
}

.kt-all-categories-link p {
    margin: 0;
    color: #666;
    font-size: 14px;
}

/* Responzivita */
@media (max-width: 768px) {
    .kt-category-grid {
        grid-template-columns: 1fr;
    }

    .kt-section-title {
        font-size: 18px;
    }

    .kt-category-card {
        padding: 12px;
    }

    .kt-category-card-image {
        width: 56px;
        height: 56px;
    }
}

/* ==========================================================================
   FLYOUT MENU - CISTA IMPLEMENTACE (position: fixed + JS trida)
   JavaScript ridi pozicovani a viditelnost pomoci .kt-submenu-visible tridy
   ========================================================================== */

/* Submenu - zakladni styl (VZDY skryte dokud JS neprida tridu) */
.kt-submenu,
.kt-mega-flyout {
    position: fixed !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    z-index: 2147483647 !important;
    /* Styling */
    width: 420px !important;
    min-width: 420px !important;
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.25) !important;
    padding: 20px !important;
    transition: opacity 0.15s ease !important;
}

/* Submenu viditelne - JS prida tuto tridu */
/* VYSOKA SPECIFICITA aby prebila hover pravidla */
.kt-menu-item .kt-submenu.kt-submenu-visible,
.kt-menu-item.has-submenu .kt-submenu.kt-submenu-visible,
.kt-mega-menu-item .kt-mega-flyout.kt-submenu-visible,
.kt-mega-menu-item.has-children .kt-mega-flyout.kt-submenu-visible,
.kt-submenu.kt-submenu-visible,
.kt-mega-flyout.kt-submenu-visible {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

/* Aktivni polozka menu - zvyrazneni */
.kt-menu-item.is-hovered > .kt-menu-link,
.kt-mega-menu-item.is-hovered > a {
    background: rgba(5,123,184,0.08) !important;
    color: #057BB8 !important;
}

.kt-menu-item.is-hovered .kt-menu-arrow {
    color: #057BB8 !important;
}

/* Parent elementy - overflow visible */
.kt-mega-menu-wrapper,
.kt-mega-menu,
.kt-mega-menu-list,
.kt-menu-item,
.kt-mega-menu-item {
    overflow: visible !important;
    position: relative !important;
}

/* Sidebar nesmi orezavat flyout */
.kt-shop-sidebar,
.kt-shop-with-menu,
.kt-mega-menu-widget,
.sidebar-wrapper {
    overflow: visible !important;
}

/* Homepage a ostatni stranky - sidebar s vysokym z-index */
.sidebar-wrapper,
.kt-mega-menu-widget,
.kt-mega-menu-wrapper {
    z-index: 99999 !important;
}

/* Vsechny parent elementy menu nesmí mít transform */
.kt-mega-menu-widget,
.kt-mega-menu-wrapper,
.kt-mega-menu,
.kt-mega-menu-list,
.kt-menu-item,
.kt-catalog-menu,
.kt-catalog-dropdown {
    transform: none !important;
}

/* Skryt stare flyout container pokud existuje */
#kt-flyout-container {
    display: none !important;
}

/* ==========================================================================
   JEDNODUCHÉ ZASKLENÍ - CATEGORY SPECIFIC STYLES
   ========================================================================== */

/* Skrýt subcategory boxy na stránce jednoduché zasklení */
body.term-jednoduche-zaskleni .kt-subcategories {
    display: none !important;
}

/* ==========================================================================
   KOMPAKTNÍ KT-FILTERS-BAR - Globální redesign pro menší výšku
   ========================================================================== */

.kt-filters-bar {
    padding: 6px 12px !important;
    margin-bottom: 8px !important;
}

.kt-filters-main-row {
    gap: 6px !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
}

.kt-filters-left {
    gap: 6px !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    flex: 1 !important;
}

.kt-quick-filters {
    display: flex !important;
    gap: 4px !important;
    flex-shrink: 0 !important;
}

.kt-filter-chip {
    padding: 4px 8px !important;
    font-size: 12px !important;
    gap: 3px !important;
    white-space: nowrap !important;
}

.kt-filter-chip svg {
    width: 11px !important;
    height: 11px !important;
}

/* Zrušit vše - vpravo vedle řazení */
.kt-filter-chip.kt-filter-reset {
    margin-left: auto !important;
    order: 100 !important;
}

.kt-price-filter {
    max-width: 220px !important;
    min-width: 160px !important;
    flex-shrink: 1 !important;
}

.kt-price-label {
    font-size: 12px !important;
    margin-right: 4px !important;
}

.kt-price-range-wrapper {
    flex: 1 !important;
}

.kt-price-inputs {
    gap: 3px !important;
}

.kt-price-inputs input {
    width: 48px !important;
    height: 26px !important;
    font-size: 12px !important;
    padding: 2px 4px !important;
}

.kt-price-sep {
    font-size: 11px !important;
}

.kt-price-currency {
    font-size: 11px !important;
}

/* Range slider - kompaktní, na stejném řádku */
.kt-range-slider {
    height: 16px !important;
    margin-top: 2px !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
}

.kt-range-track {
    height: 3px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}

.kt-range-input {
    height: 16px !important;
}

.kt-range-input::-webkit-slider-thumb {
    width: 14px !important;
    height: 14px !important;
    margin-top: -5px !important;
}

.kt-range-input::-moz-range-thumb {
    width: 14px !important;
    height: 14px !important;
}

.kt-sort-dropdown {
    flex-shrink: 0 !important;
    margin-left: auto !important;
}

.kt-sort-dropdown label {
    font-size: 12px !important;
    margin-right: 3px !important;
}

.kt-sort-dropdown select {
    padding: 4px 28px 4px 8px !important;
    font-size: 12px !important;
    height: 26px !important;
    line-height: 1.2 !important;
}

/* ==========================================================================
   KOMPAKTNÍ ROOF GLASS CONFIGURATOR - Menší výška, zachované písmo
   ========================================================================== */

/* Hlavní kontejner - menší margin */
.kt-roof-cfg {
    margin: 10px 0 !important;
}

/* Header - menší padding */
.kt-roof-cfg .kt-roof-header {
    padding: 12px 16px !important;
}

/* Body - menší padding */
.kt-roof-cfg .kt-roof-body {
    padding: 0 16px 12px !important;
}

.kt-roof-cfg .kt-roof-body > *:first-child {
    padding-top: 12px !important;
}

/* Fieldy - menší mezery */
.kt-roof-cfg .kt-roof-field {
    margin-bottom: 10px !important;
}

/* Radio options - kompaktnější padding */
.kt-roof-cfg .kt-roof-opt {
    padding: 10px 14px !important;
}

/* Poměr stran - 3 options na jednom řádku */
.kt-roof-cfg .kt-roof-options-3 {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
}

.kt-roof-cfg .kt-roof-options-3 .kt-roof-opt {
    flex: 1 !important;
    min-width: 0 !important;
    padding: 8px 10px !important;
}

/* Selecty - výraznější design pro lepší viditelnost */
.kt-roof-cfg .kt-roof-select {
    width: 100% !important;
    height: 44px !important;
    padding: 0 40px 0 12px !important;
    border: 2px solid #d1d5db !important;
    border-radius: 8px !important;
    background-color: #fff !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23057BB8' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 18px !important;
    color: #333 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}

.kt-roof-cfg .kt-roof-select:hover {
    border-color: #057BB8 !important;
}

.kt-roof-cfg .kt-roof-select:focus {
    border-color: #057BB8 !important;
    box-shadow: 0 0 0 3px rgba(5, 123, 184, 0.15) !important;
    outline: none !important;
}

/* Row gap */
.kt-roof-cfg .kt-roof-row {
    gap: 12px !important;
}

/* Result box - menší padding */
.kt-roof-cfg .kt-roof-result {
    padding: 12px 16px !important;
    margin-top: 10px !important;
}

.kt-roof-cfg .kt-roof-result-inner {
    gap: 12px !important;
}

/* Warning - menší padding */
.kt-roof-cfg .kt-roof-warn {
    padding: 8px 12px !important;
    margin-top: 10px !important;
}

/* Active filter badge */
.kt-roof-active-filter {
    padding: 6px 12px !important;
    margin: 6px 0 !important;
}

/* Fix z-index pro rozbalený obsah */
.kt-roof-cfg.is-open .kt-roof-body {
    overflow: visible !important;
    max-height: 2000px !important;
}

/* ==========================================================================
   AJAX FILTERING STYLES
   ========================================================================== */

/* Loading spinner animation */
@keyframes kt-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.kt-spin {
    animation: kt-spin 1s linear infinite;
}

/* AJAX filtered results */
.kt-ajax-filtered-results {
    animation: kt-fade-in 0.3s ease-out;
}

@keyframes kt-fade-in {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Product count badge */
.kt-ajax-product-count {
    background: linear-gradient(135deg, #0066cc 0%, #004999 100%);
    color: #fff;
    padding: 16px 24px;
    border-radius: 12px;
    margin-bottom: 20px;
    font-size: 1.1em;
    display: flex;
    align-items: center;
    gap: 8px;
}

.kt-ajax-product-count strong {
    font-size: 1.4em;
    font-weight: 700;
}

/* No products message */
.kt-ajax-no-products {
    background: #fef3c7;
    color: #92400e;
    padding: 24px;
    border-radius: 12px;
    text-align: center;
    font-size: 1.1em;
    border: 1px solid #fcd34d;
}

/* Disabled button state */
.kt-roof-btn:disabled {
    opacity: 0.7;
    cursor: wait;
}

/* ==========================================================================
   CART ITEM PARAMETERS - Zarovnání pod sebe
   ========================================================================== */

/* Hlavní stránka košíku - parametry produktu pod sebou */
.woocommerce-cart-form .product-name {
    text-align: left !important;
}

/* Variace a custom data - vertikální seznam */
.woocommerce-cart-form .product-name dl.variation,
.woocommerce-cart-form .product-name .variation {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    margin: 8px 0 0 0 !important;
    padding: 0 !important;
}

.woocommerce-cart-form .product-name dl.variation dt,
.woocommerce-cart-form .product-name dl.variation dd {
    display: inline !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-cart-form .product-name dl.variation dt {
    font-weight: 600 !important;
    color: #64748b !important;
    font-size: 12px !important;
}

.woocommerce-cart-form .product-name dl.variation dd {
    margin-bottom: 4px !important;
}

.woocommerce-cart-form .product-name dl.variation dd p {
    margin: 0 !important;
    display: inline !important;
}

/* UNI CPO custom options - vertikální seznam */
.woocommerce-cart-form .product-name .uni-cpo-cart-item-option,
.woocommerce-cart-form .product-name [class*="cpo-cart"],
.woocommerce-cart-form .product-name .cart-item-data {
    display: block !important;
    margin: 3px 0 !important;
    font-size: 13px !important;
    color: #475569 !important;
}

/* Parametry jako samostatné řádky */
.woocommerce-cart-form .product-name br + span,
.woocommerce-cart-form .product-name span + br {
    display: block !important;
}

/* Formátování jednotlivých parametrů */
.woocommerce-cart-form .cart_item td.product-name {
    line-height: 1.6 !important;
}

.woocommerce-cart-form .cart_item td.product-name > a {
    display: block !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    margin-bottom: 8px !important;
}

/* Parametry pod názvem produktu */
.woocommerce-cart-form .cart_item td.product-name > *:not(a):not(.remove) {
    display: block !important;
    font-size: 13px !important;
    color: #64748b !important;
    line-height: 1.5 !important;
}

/* Mini-cart sidebar/popup - stejné zarovnání */
.widget_shopping_cart .cart_list .mini_cart_item .variation,
.woocommerce-mini-cart .mini_cart_item .variation,
#cart-popup .mini_cart_item .variation,
.off-canvas-cart .mini_cart_item .variation {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    margin-top: 6px !important;
}

.widget_shopping_cart .variation dt,
.widget_shopping_cart .variation dd,
.woocommerce-mini-cart .variation dt,
.woocommerce-mini-cart .variation dd {
    display: inline !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 12px !important;
}

.widget_shopping_cart .variation dt,
.woocommerce-mini-cart .variation dt {
    font-weight: 600 !important;
    color: #64748b !important;
}

.widget_shopping_cart .variation dd p,
.woocommerce-mini-cart .variation dd p {
    margin: 0 !important;
    display: inline !important;
}

/* Cart dropdown v headeru */
.cart-dropdown .product-name .variation,
.nav-dropdown.cart-dropdown .variation {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    margin-top: 4px !important;
}

/* Čistší vzhled parametrů */
.woocommerce-cart-form .product-name .variation dd::after {
    content: none !important;
}

/* Reset WooCommerce default inline styles */
.woocommerce table.cart td.product-name dl.variation {
    display: flex !important;
    flex-direction: column !important;
}

.woocommerce table.cart td.product-name dl.variation dt,
.woocommerce table.cart td.product-name dl.variation dd {
    display: inline !important;
    width: auto !important;
    float: none !important;
}
