.h1, .h2, .h3, .h4, .h5, .h6, body, h1, h2, h3, h4, h5, h6 { 
    color: black !important;
}

body {
    background-color: #f7f3ec !important;
    position: relative;
}

input, a {
    outline: none !important;
}

/* --- IKONA PŘIHLÁŠENÍ VEDLE KOŠÍKU --- */

.navigation-buttons>a[data-target=cart] i { 
    bottom: 10px !important;
}

.top-navigation-bar {
    display: none !important;
}

.header-top .row {
    flex-wrap: nowrap !important;
    align-items: center !important;
}
.header-top .navigation-buttons {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    flex-wrap: nowrap !important;
    min-width: 0 !important;
}
.header-top .moved-user-tools {
    display: flex !important;
    align-items: center !important;
    margin-right: 0 !important;
}
.header-top .moved-user-tools button {
    background: transparent !important;
    border: none !important;
    padding: 5px 8px !important;
    color: #2b2b2b !important; 
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: color 0.2s ease, transform 0.2s ease !important;
    cursor: pointer !important;
    z-index: 900 !important;
}
.header-top .moved-user-tools button::after {
    content: "Přihlásit se" !important;
    display: block !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    z-index: 5 !important;
}
.header-top .moved-user-tools button svg {
    pointer-events: none !important;
}
.header-top .moved-user-tools button:hover {
    color: #666666 !important; 
    transform: scale(1.08) !important; 
}

/* Odstranění Odhlásit se a registrace v přihlášeném stavu */
.navigation-buttons a[href*="logout"],
.navigation-buttons a.top-nav-button-register {
    display: none !important;
}

/* Pokud jsi odhlášen, registraci chceme vidět v lajně */
body:not(.logged-in) .navigation-buttons a.top-nav-button-register {
    display: inline-flex !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #2b2b2b !important;
    text-decoration: none !important;
    margin-left: 10px !important;
}

/* Sjednocení tlačítek s ikonou (Login a Váš účet) */
.navigation-buttons .custom-nav-fix {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 10px !important;
    text-decoration: none !important;
    color: #2b2b2b !important;
    height: 60px !important;
    background: transparent !important;
    border: none !important;
    font-size: 0 !important;
    transition: color 0.2s ease, transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    min-width: 0 !important;
    flex-shrink: 1 !important;
}
.navigation-buttons .custom-nav-fix:hover {
    color: #666666 !important;
    transform: scale(1.08) !important;
}

/* Velikost nápisů 20px přes after */
.navigation-buttons .custom-nav-fix::after {
    display: block !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

.navigation-buttons a.top-nav-button-login::after { content: "Přihlásit se" !important; }
.navigation-buttons a[href*="klient"]::after { content: "Váš účet" !important; }

/* Zákaznické jméno místo "Váš účet" */
.navigation-buttons a[href*="klient"].has-customer-name::after {
    display: none !important;
}
.customer-name-label {
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 200px;
}
@media (max-width: 1200px) {
    .customer-name-label { max-width: 150px; }
}
@media (max-width: 992px) {
    .customer-name-label { max-width: 120px; font-size: 16px !important; }
}

/* Account hover widget */
#account-hover-widget {
    position: fixed !important;
    z-index: 999999 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(-8px) !important;
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease !important;
    pointer-events: none !important;
    padding-top: 8px !important;
}
#account-hover-widget.visible {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
}
.account-widget-inner {
    background-color: #fdfaf7 !important;
    border: 1px solid #efe3d6 !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.15) !important;
    padding: 20px 24px !important;
    min-width: 220px !important;
    text-align: center !important;
}
.account-widget-name {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #2b2b2b !important;
    margin-bottom: 4px !important;
}
.account-widget-email {
    font-size: 13px !important;
    color: #777 !important;
    margin-bottom: 10px !important;
    word-break: break-all !important;
}
.account-widget-group {
    display: inline-block !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: #4e342e !important;
    background: rgba(78,52,46,0.08) !important;
    padding: 4px 10px !important;
    border-radius: 20px !important;
    margin-bottom: 14px !important;
}
.account-widget-logout {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    padding: 10px 0 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #4e342e !important;
    border: 1px solid #efe3d6 !important;
    border-radius: 10px !important;
    text-decoration: none !important;
    transition: background 0.2s ease, color 0.2s ease !important;
}
.account-widget-logout:hover {
    background: #4e342e !important;
    color: #fff !important;
}
@media (max-width: 768px) {
    #account-hover-widget { display: none !important; }
}
.navigation-buttons .cart-count {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    height: 60px !important;
    background: transparent !important;
    color: #2b2b2b !important;
    text-decoration: none !important;
    transition: color 0.2s ease, transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
}
.navigation-buttons .cart-count:hover {
    color: #666666 !important;
    transform: scale(1.08) !important;
}

.navigation-buttons .cart-price {
    font-size: 20px !important;
    font-weight: 700 !important;
    display: inline-block !important;
}

/* Zvětšení ikonky */
.navigation-buttons svg {
    width: 28px !important;
    height: 28px !important;
    flex-shrink: 0 !important;
}

@media (max-width: 768px) {
    .header-top .moved-user-tools {
        display: none !important;
    }
}

.popup-widget-inner {
    z-index: 999 !important;
}

/* Na desktopu fixujeme popupy na viewport, aby sledovaly sticky header */
@media (min-width: 992px) {
    .popup-widget.cart-widget,
    .popup-widget.login-widget {
        position: fixed !important;
    }
}

.popup-widget.login-widget {
    top: 125px !important;
}

/* --- KRÉMOVÉ POZADÍ KARET A PRODUKTŮ --- */
.content-wrapper,
.wrapper,
#content {
    background-color: transparent !important;
    box-shadow: none !important;
}

.banners-row,
.cart-content,
.category-header,
.product-detail,
.products-page,
.products-block,
.welcome-wrapper {
    background-color: #fdfaf7 !important;
    border: 1px solid #efe3d6 !important;
    border-radius: 16px !important;
    padding: 25px !important;
    margin: 0 0 30px 0 !important;
    box-shadow: 0 4px 15px rgba(0,0,0,.03) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}


/* --- KARTA PRO NADPIS A KRÁTKÝ POPIS --- */
.p-header-card {
    background-color: #fdfaf7 !important;
    border: 1px solid #efe3d6 !important;
    border-radius: 16px !important;
    padding: 20px 25px !important;
    margin-bottom: 25px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,.03) !important;
    position: relative !important;
    z-index: 10 !important;
}
.p-header-card .p-detail-inner-header {
    margin: 0 !important;
    padding: 0 !important;
}
.p-header-card h1 {
    margin-top: 0 !important;
    color: #111 !important;
    font-weight: 800 !important;
}
.p-header-card .p-short-description {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 15px !important;
    color: #555 !important;
    line-height: 1.6 !important;
}

/* Tlačítka sdílení a doplňující ikonky */
.social-buttons-wrapper .link-icons { 
    display: flex !important; 
    gap: 25px !important; 
    margin-top: 15px !important; 
    padding: 0 !important; 
}
.social-buttons-wrapper .link-icon { 
    color: #777 !important; 
    text-decoration: none !important; 
    font-size: 14px !important; 
    display: inline-flex !important; 
    align-items: center !important; 
    transition: .2s !important; 
    font-weight: 500 !important; 
    background: transparent !important;
}
.social-buttons-wrapper .link-icon:hover { color: #4e342e !important; }
.social-buttons-wrapper .link-icon span { color: inherit !important; }

/* --- VÝPIS PRODUKTŮ --- */
.carousel {
    background: transparent !important;
    box-shadow: none !important;
}
.product,
.product.active,
.product:hover {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    outline: none !important;
    padding: 15px !important;
    overflow: visible !important;
}
.product::after,
.product::before,
.product .p::after,
.product .p::before {
    display: none !important;
}
.product .p {
    border: 1px solid #eaeaea !important;
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.02) !important;
    transition: all .3s ease !important;
    outline: none !important;
    height: 100% !important;
    overflow: hidden !important;
}
.product:hover .p {
    border-color: transparent !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 25px rgba(0,0,0,.1) !important;
    transform: translateY(-4px) !important;
    z-index: 50 !important;
}
.product img,
.product-item img,
.p-micro-product-id img {
    box-shadow: none !important;
    border: none !important;
}
.product .p-bottom {
    border: none !important;
    background: transparent !important;
}
.product .name span {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #2c1e16 !important;
    text-transform: uppercase !important;
}
.product .price-final {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #111 !important;
    margin: 10px 0 !important;
}
.product .p-desc {
    font-size: 13px !important;
    color: #777 !important;
    line-height: 1.4 !important;
    margin: 15px 0 !important;
}
.product .quantity {
    display: none !important;
}
.product .name {
    min-height: 46px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 5px !important;
}
.product form.pr-action {
    display: block !important;
    width: 100% !important;
    margin-top: 10px !important;
}
.product .btn-primary,
.product .btn-success,
.product .btn-conversion,
.product .add-to-cart-button {
    background-color: #4e342e !important;
    color: #fff !important;
    border: none !important;
    border-radius: 30px !important; 
    height: 44px !important; 
    padding: 0 15px !important;
    font-weight: 700 !important;
    width: 100% !important;
    display: flex !important; 
    align-items: center !important; 
    justify-content: center !important; 
    text-align: center !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    transition: background-color .2s ease !important;
    margin: 10px 0 0 0 !important; 
    box-sizing: border-box !important;
}
.product .btn-primary *,
.product .btn-success *,
.product .btn-conversion *,
.product .add-to-cart-button * {
    background-color: transparent !important;
    color: #fff !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-block !important; 
}
.product .btn-primary:hover,
.product .btn-success:hover,
.product .btn-conversion:hover,
.product .add-to-cart-button:hover {
    background-color: #2c1e16 !important;
    color: #fff !important;
}
.product .btn-primary:hover *,
.product .btn-success:hover *,
.product .btn-conversion:hover *,
.product .add-to-cart-button:hover * {
    background-color: transparent !important;
    color: #fff !important;
}
.product .widget-parameter-list {
    display: flex !important;
    gap: 8px !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 15px 0 5px 0 !important;
    list-style: none !important;
    flex-wrap: wrap !important;
}
.product .widget-parameter-value a {
    background: #fdfaf7 !important;
    color: #4e342e !important;
    padding: 6px 12px !important;
    border-radius: 6px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    border: 1px solid #efe3d6 !important;
    transition: .2s !important;
    display: inline-block !important;
    text-decoration: none !important;
}
.product .widget-parameter-value a:hover {
    background: #4e342e !important;
    color: #fff !important;
}
.product .p-code {
    font-size: 11px !important;
    color: #ccc !important;
    font-weight: normal !important;
}
.product form.pr-action {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
.product .p {
    display: flex !important;
    flex-direction: column !important;
}
.product .p > div,
.product .p-in {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}
.product .p-bottom {
    margin-bottom: auto !important;
    width: 100% !important;
}

/*Skrytí Náš výběr*/
.homepage-group-title,
#products-2 {
    display: none !important;
}

/* --- DETAIL PRODUKTU NÁKUP (PRAVÝ SLOUPEC) --- */
.variant-list label.advanced-parameter { 
    border: none !important; 
    padding: 0 !important;
    margin: 0 10px 10px 0 !important;
    background: transparent !important; 
    display: inline-block !important; 
    position: relative !important;
    box-shadow: none !important;
    border-radius: 50% !important;
}
.variant-list label.advanced-parameter::before { display: none !important; }
.variant-list label.advanced-parameter .advanced-parameter-inner { 
    display: block !important; width: 60px !important; height: 60px !important; 
    border-radius: 50% !important; margin: 0 !important; padding: 0 !important;
    border: 3px solid transparent !important; box-shadow: 0 2px 8px rgba(0,0,0,.06) !important;
    transition: all .2s ease !important; position: relative !important;
}
.variant-list label.advanced-parameter:hover .advanced-parameter-inner { 
    border-color: #efe3d6 !important; transform: scale(1.05) !important;
}
.variant-list label.advanced-parameter:has(input:checked) .advanced-parameter-inner,
.variant-list label.advanced-parameter.active .advanced-parameter-inner { 
    border-color: #4e342e !important; box-shadow: 0 4px 12px rgba(78,52,46,.2) !important; 
}
.variant-list label.advanced-parameter img { 
    width: 100% !important; height: 100% !important; object-fit: cover !important; 
    border-radius: 50% !important; display: block !important; margin: 0 !important;
}
#product-detail-form .advanced-parameter .advanced-parameter-inner.yes-before::before {
    position: absolute !important; top: 50% !important; left: 50% !important;
    transform: translate(-50%, -50%) !important; margin: 0 !important; 
    right: auto !important; bottom: auto !important;
}
table.detail-parameters { 
    background: transparent !important; border: none !important; margin-bottom: 15px !important; 
    border-collapse: collapse !important; width: auto !important; 
}
table.detail-parameters th, table.detail-parameters td { 
    background: transparent !important; background-image: none !important; 
    border: none !important; padding: 6px 25px 6px 0 !important; vertical-align: middle !important; 
}
table.detail-parameters th::after, table.detail-parameters td::after { display: none !important; }
table.detail-parameters th { color: #777 !important; font-weight: 400 !important; font-size: 14px !important; }
table.detail-parameters td { color: #111 !important; font-weight: 700 !important; font-size: 14px !important; }
table.detail-parameters tbody tr th .row-header-label { background-color: transparent; color: var(--color-primary); }

.p-to-cart-block { 
    background: #fdfaf7 !important; border-radius: 16px !important; padding: 20px !important; 
    border: 1px solid #efe3d6 !important; display: flex !important; align-items: center !important; 
    flex-wrap: wrap !important; gap: 15px !important; margin-top: 15px !important; 
}
.p-to-cart-block > div { background: transparent !important; margin: 0 !important; padding: 0 !important; border: none !important; }
.p-final-price-wrapper { flex: 1 1 auto !important; }
.p-final-price-wrapper .price-final { 
    font-size: 28px !important; font-weight: 800 !important; color: #111 !important; 
    background: transparent !important; border: none !important; margin: 0 !important; padding: 0 !important; line-height: 1 !important; 
}
.add-to-cart .quantity { 
    background: #fff !important; border: 1px solid #efe3d6 !important; border-radius: 30px !important; 
    display: inline-flex !important; height: 48px !important; align-items: center !important; 
    overflow: hidden !important; box-shadow: 0 2px 8px rgba(0,0,0,.02) !important;
}
.add-to-cart .quantity input.amount { 
    border: none !important; background: transparent !important; width: 45px !important; text-align: center !important; 
    font-weight: 700 !important; font-size: 16px !important; color: #111 !important; padding: 0 !important; margin: 0 !important; box-shadow: none !important; 
}
.add-to-cart .quantity .increase, .add-to-cart .quantity .decrease { 
    background-color: transparent !important; color: #4e342e !important; width: 45px !important; height: 100% !important; 
    border: none !important; cursor: pointer !important; font-size: 20px !important; font-weight: bold !important; 
    display: flex !important; align-items: center !important; justify-content: center !important; transition: background-color .2s ease !important; 
}
.quantity .decrease:hover:before, .quantity .increase:hover:before {
    background-color: #e0d4c8 !important; transition: background-color .2s ease !important;
}
button.add-to-cart-button, button.add-to-cart-button * { 
    background-color: #4e342e !important; color: #ffffff !important; font-weight: 700 !important; 
    border: none !important; text-transform: uppercase !important; letter-spacing: 1px !important; text-shadow: none !important;
}
button.add-to-cart-button {
    padding: 0 35px !important; height: 48px !important; border-radius: 30px !important; transition: all .3s ease !important; 
    display: inline-flex !important; align-items: center !important; justify-content: center !important; cursor: pointer !important;
}
button.add-to-cart-button:hover, button.add-to-cart-button:hover * { 
    background-color: #2c1e16 !important; color: #ffffff !important;
}
button.add-to-cart-button:hover {
    transform: translateY(-2px) !important; box-shadow: 0 6px 15px rgba(78,52,46,.2) !important; 
}

/* --- PLATEBNÍ LOGA POD KOŠÍKEM --- */
.moved-payment-box {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 15px 0 5px 0 !important;
    margin: 0 !important;
    display: block !important;
    text-align: left !important;
}
.moved-payment-box h3,
.moved-payment-box .pageElement__heading {
    font-size: 12px !important;
    color: #777 !important;
    text-transform: none !important;
    padding: 0 0 8px 0 !important;
    margin: 0 !important;
    border: none !important;
}
.moved-payment-box p {
    margin: 0 !important;
    text-align: left !important;
}
.moved-payment-box img {
    height: 24px !important; 
    width: auto !important;
    opacity: 0.8 !important;
    transition: opacity 0.2s ease !important;
}
.moved-payment-box:hover img {
    opacity: 1 !important;
}

/* --- LEVÝ POSTRANNÍ PANEL --- */
aside.sidebar-left .box {
    background-color: #fdfaf7 !important; border: 1px solid #efe3d6 !important; border-radius: 16px !important;
    padding: 25px !important; margin: 0 0 25px 0 !important; box-shadow: 0 4px 15px rgba(0,0,0,.03) !important; box-sizing: border-box !important; overflow: hidden !important;
}
aside.sidebar-left .box .pageElement__heading, aside.sidebar-left .box h3 {
    background: transparent !important; border: none !important; padding: 0 0 15px 0 !important; margin: 0 !important;
    color: #111 !important; font-size: 16px !important; font-weight: 700 !important; text-align: left !important;
}
aside.sidebar-left .box .pageElement__heading span { background: transparent !important; padding: 0 !important; }
aside.sidebar-left .box-categories .topic > a {
    color: #2c1e16 !important; font-weight: 700 !important; font-size: 16px !important; padding: 10px 0 !important;
    display: block !important; transition: all .2s ease !important; text-decoration: none !important; border: none !important; background: transparent !important;
}
aside.sidebar-left .box-categories .topic > a:hover { color: #4e342e !important; transform: translateX(4px) !important; }
aside.sidebar-left .box-categories .cat-trigger { display: none !important; }
aside.sidebar-left .box-categories .menu-level-2 { padding: 5px 0 0 0 !important; margin: 0 !important; list-style: none !important; }
aside.sidebar-left .box-categories .menu-level-2 > li > a {
    color: #777 !important; padding: 6px 0 6px 15px !important; display: block !important; transition: all .2s ease !important; text-decoration: none !important; font-size: 14px !important;
}
aside.sidebar-left .box-categories .menu-level-2 > li > a:hover { color: #4e342e !important; transform: translateX(4px) !important; }

/* --- HLAVIČKA A MENU (BEZPEČNÝ DESIGN) --- */

/* 3. Jemné zprůhlednění původní linky mezi hledáním a menu */
.header-bottom::before {
    background-color: rgba(239, 227, 214, 0.5) !important;
}

#header {
    background: #ffffff !important;
    box-shadow: none !important;
    z-index: 1005 !important; /* Povýšení celé hlavičky a menu nad ztmavující závoj */
}

/* Sticky header na desktopu */
@media (min-width: 992px) {
    #header {
        position: sticky !important;
        top: 0 !important;
        transition: box-shadow 0.3s ease !important;
    }
    #header.is-stuck {
        box-shadow: 0 4px 20px rgba(0,0,0,0.08) !important;
    }
}

/* --- VYHLEDÁVÁNÍ (Čistá kosmetika, neničí rozložení) --- */
#header .search-form {
    background-color: #fdfaf7 !important;
    border: 1px solid #efe3d6 !important;
    border-radius: 30px !important;
    transition: all 0.3s ease !important;
    position: relative !important;
}
#header .search-form:focus-within {
    border-color: #4e342e !important;
    background-color: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(78,52,46,0.05) !important;
}
#header .search-input {
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    height: 46px !important;
    padding-left: 45px !important; /* Ochrání text před překrytím ikonkou lupy */
    font-size: 14px !important;
    color: #111 !important;
}

#header .search-btn {
    background: transparent !important;
    color: #4e342e !important;
    border: none !important;
    height: 46px !important;
    width: 45px !important; /* Pevná šířka pro lupu */
}

/* --- SPODNÍ ČÁST (Navigace a Menu - ČISTÝ DESIGN) --- */
/* Výchozí stav (pro mobily): Zcela průhledný a neviditelný */
.header-bottom { 
    background-color: transparent !important; 
    border: none !important; 
    box-shadow: none !important; 
    position: relative !important;
}
.header-bottom::before {
    display: none !important; 
}

.header-bottom .navigation-wrapper {
    background-color: transparent !important; 
    border: none !important; 
    border-radius: 0 !important; 
    margin-bottom: 0 !important; 
    padding: 0 30px !important; 
    position: relative !important; 
    box-shadow: none !important;
}

/* Nastavení pouze pro počítače (kde je menu viditelné) */
@media (min-width: 992px) {
    .header-bottom { 
        background-color: #ffffff !important; 
        border-bottom: 1px solid #efe3d6 !important; 
        box-shadow: 0 8px 25px rgba(0,0,0,0.03) !important; 
    }
    .header-bottom::before {
        display: block !important;
        content: "" !important; position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important;
        height: 1px !important; background-color: #efe3d6 !important; opacity: 0.6 !important; z-index: 1 !important; pointer-events: none !important;
    }
}


#navigation { background: transparent !important; border: none !important; }

/* --- HLAVNÍ MENU (Level 1) - POUZE TYPOGRAFIE A HOVER LINKA --- */
/* Přidány třídy pro aktivní stav a tvrdé zrušení výchozích čar */
#navigation .menu-level-1 > li > a,
#navigation .menu-level-1 > li.active > a,
#navigation .menu-level-1 > li.current > a {
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #111 !important;
    position: relative !important;
    background: transparent !important;
    text-decoration: none !important; /* Zabití podtržení textu */
    border: none !important; /* Zabití spodní hrany od Shoptetu */
    box-shadow: none !important;
}

#navigation .menu-level-1 > li:hover > a { color: #4e342e !important; }
#navigation .menu-level-1 > li:hover > a::after { transform: scaleX(1) !important; }

/* --- PODMENU (Level 2) --- */
#navigation .menu-level-2 {
    background-color: #ffffff !important; 
    border: 1px solid #efe3d6 !important; 
    border-radius: 12px !important; 
    box-shadow: 0 10px 30px rgba(0,0,0,.08) !important; 
    padding: 5px !important; 
    position: absolute !important; /* Oprava: Musí viset absolutně v prostoru */
    z-index: 100000 !important;
    min-width: 200px !important; /* Pojistka, aby menu nebylo moc úzké */
}

#navigation .menu-level-2 li a {
    background-color: transparent !important; 
    border-radius: 8px !important; 
    padding: 10px 15px !important; 
    font-weight: 500 !important; 
    transition: background-color 0.2s ease !important;
    text-transform: none !important; 
    letter-spacing: 0 !important;
    white-space: nowrap !important; /* Zákaz zalamování (L'Antico už neodskočí) */
    display: block !important;
}

#navigation .menu-level-2 li a:hover { 
    background-color: #fdfaf7 !important; 
    color: #000000 !important; 
}
.breadcrumbs { margin-top: 15px !important; margin-bottom: 20px !important; padding-left: 5px !important; }

/* --- BEZPEČNOSTNÍ RESET PRO FOOTER A SCROLLING --- */
html { overflow-x: hidden !important; }
body { position: relative !important; margin: 0 !important; min-height: 100vh !important; }
#footer {
    display: block !important; position: relative !important; clear: both !important; z-index: 10 !important; background: #f7f3ec !important; margin-top: 20px !important;
}

/* --- KOMPLETNÍ NABÍDKA (dynamicky načtená sekce na homepage) --- */
#all-products-section {
    margin-top: 30px !important;
}
.all-products-title {
    font-size: 24px !important;
    font-weight: 800 !important;
    color: #2c1e16 !important;
    text-align: center !important;
    margin: 0 0 20px 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}
/* Pie chart na produktové kartě */
.card-pie {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 8px 0 !important;
    justify-content: center !important;
}
.card-pie-svg {
    width: 36px !important;
    height: 36px !important;
    flex-shrink: 0 !important;
}
.card-pie-legend {
    display: flex !important;
    flex-direction: column !important;
    gap: 1px !important;
    font-size: 11px !important;
    color: #555 !important;
    line-height: 1.3 !important;
}
.card-pie-legend b {
    color: #2c1e16 !important;
    font-weight: 700 !important;
}

.card-pie-legend span {
    font-size: 14px !important;
}
/* Nadpis nad variantami + add-to-cart feedback */
.cart-variant-title {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #888 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    text-align: center !important;
    margin: 8px 0 4px 0 !important;
}
#all-products-section .widget-parameter-value a {
    cursor: pointer !important;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.15s ease !important;
}
#all-products-section .widget-parameter-value a:hover {
    background-color: #4e342e !important;
    color: #fff !important;
    transform: scale(1.05) !important;
}
#all-products-section .widget-parameter-value a.adding-to-cart {
    opacity: 0.5 !important;
    pointer-events: none !important;
}
/* Fajfka animace po přidání do košíku — bez #all-products-section omezení */
.widget-parameter-value a.added-to-cart {
    background-color: #4e342e !important;
    color: #fff !important;
}
.widget-parameter-value a .cart-check-icon {
    display: block;
    width: 20px;
    height: 20px;
    margin: 0 auto;
    animation: cartCheckPop 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) both;
}
@keyframes cartCheckPop {
    0% { transform: scale(0) rotate(-45deg); opacity: 0; }
    60% { transform: scale(1.2) rotate(0deg); opacity: 1; }
    100% { transform: scale(1) rotate(0deg); opacity: 1; }
}
.add-to-cart-button.detail-cart-added {
    background-color: #388e3c !important;
    color: #fff !important;
    pointer-events: none !important;
}
.add-to-cart-button.detail-cart-added * {
    background-color: transparent !important;
    color: #fff !important;
}
.add-to-cart-button .detail-cart-check {
    display: inline-block;
    vertical-align: middle;
    margin-right: 6px;
    animation: cartCheckPop 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) both;
}

@media (max-width: 768px) {
    .card-pie-svg { width: 36px !important; height: 36px !important; }
    .card-pie-legend { font-size: 11px !important; }
    .cart-variant-title { font-size: 10px !important; }
}

/* --- RESPONZIVITA (PC a MOBIL) --- */
@media (min-width: 769px) {
    .products-wrapper .products-block, .products-block {
        display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 0px !important; width: 100% !important; transform: none !important; transition: none !important;
    }
    .products-block::before, .products-block::after { display: none !important; }
    .product-slider-pagination, .product-slider-navigation, .owl-item.cloned, .product.cloned { display: none !important; }
    .products-block .product, .product-slider .product, .owl-item { width: 100% !important; max-width: 100% !important; float: none !important; display: block !important; }
}

@media (max-width: 768px) {
    .breadcrumbs { margin-top: 10px !important; margin-bottom: 15px !important; }
    .banners-row, .cart-content, .category-header, .product-detail, .products-wrapper, .products-page, aside.sidebar-left .box { padding: 6px !important; margin-bottom: 15px !important; border-radius: 12px !important; }

    /* Grid na mobilu – kromě homepage karuselu (ten necháme na Shoptetu) */
    .products-page .products-block,
    #all-products-section .products-block,
    .products-wrapper:not([id^="products-"]) .products-block {
        display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 8px !important; width: 100% !important; transform: none !important; transition: none !important; margin: 0 !important; padding: 0 !important;
    }
    .product {padding: 5px !important;}
    .products-page .products-block::before, .products-page .products-block::after,
    #all-products-section .products-block::before, #all-products-section .products-block::after { display: none !important; }
    .product-slider-pagination, .product-slider-navigation { display: none !important; }
    .products-page .products-block .product, .products-page .product-slider .product, .products-page .owl-item,
    #all-products-section .products-block .product, #all-products-section .owl-item { width: 100% !important; max-width: 100% !important; height: 100% !important; padding: 0 !important; margin: 0 !important; float: none !important; display: block !important; }
    .product .p { padding: 12px 8px !important; height: 100% !important; box-sizing: border-box !important; display: flex !important; flex-direction: column !important; justify-content: flex-start !important; }
    .product .p-in { display: flex !important; flex-direction: column !important; flex-grow: 1 !important; justify-content: flex-start !important; width: 100% !important; padding-bottom: 0 !important; }
    .product .p-desc, .product .p-short-description, .product .p-text { display: none !important; }
    .product .name { min-height: 34px !important; margin-bottom: 5px !important; display: flex !important; align-items: flex-start !important; justify-content: center !important; flex-grow: 0 !important; }
    .product .name span { font-size: 11px !important; line-height: 1.3 !important; text-align: center !important; }
    .product .prices { min-height: 20px !important; display: flex !important; align-items: center !important; justify-content: center !important; margin-bottom: 0 !important; }
    .product .price-final { font-size: 15px !important; margin: 0 !important; display: inline-block !important; }
    .product .p-tools { margin-bottom: auto !important; width: 100% !important; display: flex !important; flex-direction: column !important; padding-bottom: 5px !important; }
    .product .btn-primary, .product .btn-success, .product .btn-conversion, .product .add-to-cart-button { height: 36px !important; font-size: 11px !important; padding: 0 5px !important; margin: 5px 0 0 0 !important; width: 100% !important; }
    .product .widget-parameter-list { gap: 3px !important; margin: 8px 0 0 0 !important; justify-content: center !important; }
    .product .widget-parameter-value a { padding: 5px 10px !important; font-size: 12px !important; }
    .product .widget-parameter-wrapper { margin-top: auto !important; position: relative !important; width: 100% !important; }
    
    .p-thumbnails-horizontal .p-thumbnails-inner { position: static !important; width: 100% !important; left: auto !important; transform: none !important; }
    .p-thumbnails-inner > div, .clearfix, .social-buttons-wrapper { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; width: 100% !important; }
    .p-thumbnails-inner .p-thumbnail { float: none !important; margin: 5px !important; display: block !important; }
    .p-thumbnails-inner .cbox-gal { display: none !important; }
    #product-detail-form .detail-parameters { width: 100% !important; display: block !important; margin: 10px 0 20px 0 !important; }
    #product-detail-form .detail-parameters tbody { display: block !important; width: 100% !important; }
    #product-detail-form .detail-parameters tr { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; padding: 10px 0 !important; border-bottom: 1px solid #efe3d6 !important; }
    #product-detail-form .detail-parameters tr:last-child { border-bottom: none !important; }
    #product-detail-form .detail-parameters th, #product-detail-form .detail-parameters td { display: block !important; width: auto !important; padding: 0 !important; margin: 0 !important; }
    #product-detail-form .detail-parameters th { text-align: left !important; }
    #product-detail-form .detail-parameters td { text-align: right !important; }

    .moved-payment-box {
        justify-content: center !important;
    }
}

/* --- RESPONZIVITA (MOBILNÍ VERZE) --- */
@media (max-width: 991px) {
    #navigation .menu-level-2 {
        position: relative !important; /* Vrátí ho zpět do toku dokumentu (harmonika) */
        width: 100% !important; /* Roztáhne ho přes celou šířku */
        min-width: 0 !important;
        box-shadow: none !important; /* Odstraní plovoucí stín */
        border: none !important; /* Odstraní rámeček */
        background-color: transparent !important;
        padding: 5px 0 5px 15px !important; /* Odsadí položky mírně zleva, ať je vidět hierarchie */
        z-index: 1 !important;
    }
    
    #navigation .menu-level-2 li a {
        white-space: normal !important; /* Povolí případné zalamování dlouhých názvů na úzkém displeji */
        padding: 10px 15px !important;
    }

    #moved-p {
        padding: 25px !important;
        margin-bottom: 10px!important;
    }

    .popup-widget-inner .cart-widget-products { 
        overflow: hidden !important;
    }
    
    /* Změníme Grid na Flexbox a nastavíme směr sloupec (pod sebou) */
    .combined-box-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }
    
    .combined-col-separator {
        display: none !important; /* Skrýt vertikální čáru */
    }
    
    /* --- 1. SENZORICKÁ ANALÝZA JDE NAHORU --- */
    .combined-col-right {
        order: 1 !important; 
        padding: 0 !important;
    }
    
    /* Styl pro čáru pod analýzou na mobilu */
    .combined-taste-charts {
        border-bottom: 1px dashed #efe3d6 !important; /* Jemná čára pod grafy */
        padding-bottom: 30px !important;
        margin-bottom: 30px !important;
    }
    
    /* --- 2. POPIS JDE DOLŮ --- */
    .combined-col-left {
        order: 2 !important; 
        padding: 0 !important;
        border-bottom: none !important; /* Zrušíme starou čáru */
        margin-bottom: 0 !important;
    }
    
    .hero-chart-container {
        justify-content: center !important; 
    }

    /* 3. Jemné zprůhlednění původní linky mezi hledáním a menu */
    .header-bottom::before {
        background-color: rgba(239, 227, 214, 0.5) !important;
    }
}

/* ========================================================= */
/* --- 1. KOŠÍK WIDGET (VYSKAKOVACÍ OKNO V HLAVIČCE) --- */
/* ========================================================= */

.popup-widget.cart-widget {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.popup-widget.cart-widget .popup-widget-inner {
    background-color: #fdfaf7 !important;
    border: 1px solid #efe3d6 !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 40px rgba(0,0,0,.3) !important;
    padding: 20px !important;
    z-index: 999999!important;
}

/* Zabití ostré šipky nad okýnkem */
.popup-widget.cart-widget::before,
.popup-widget.cart-widget::after,
.popup-widget.cart-widget .popup-widget-inner::before,
.popup-widget.cart-widget .popup-widget-inner::after {
    display: none !important;
}

.cart-widget-product {
    border-bottom: 1px dashed #efe3d6 !important;
    padding: 15px 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
}
.cart-widget-product:last-child {
    border-bottom: none !important;
}

.cart-widget-product-image {
    display: block !important;
    width: 60px !important;
    height: auto !important;
    padding: 0 !important;
    border: none !important;
}
.cart-widget-product-image img {
    border-radius: 8px !important;
    border: 1px solid #efe3d6 !important;
    width: 100% !important;
}

.cart-widget-product-name {
    flex-grow: 1 !important;
    text-align: left !important;
    padding: 0 !important;
    border: none !important;
}
.cart-widget-product-name a {
    color: #111 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    display: block !important;
}
.cart-widget-product-name a:hover {
    color: #4e342e !important;
}

/* TVRDÝ RESET MNOŽSTVÍ (+ a -) */
.cart-widget-product-amount {
    padding: 0 !important;
    border: none !important;
}

/* Skrytí Shoptet tooltipů, které to dříve rozbíjely */
.cart-widget-product-amount .quantity .increase-tooltip,
.cart-widget-product-amount .quantity .decrease-tooltip {
    display: none !important;
}

/* Hlavní obal pro množství (tvrdá šířka 135px pro zamezení kolapsu) */
.cart-widget-product-amount .quantity {
    background: #fff !important;
    border: 1px solid #efe3d6 !important;
    border-radius: 30px !important;
    display: flex !important;
    flex-direction: row !important;
    width: 135px !important; 
    height: 48px !important;
    align-items: center !important;
    justify-content: space-between !important;
    overflow: hidden !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.02) !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Správné pořadí: - č. + */
.cart-widget-product-amount .quantity .decrease { order: 1 !important; }
.cart-widget-product-amount .quantity label { 
    order: 2 !important; 
    width: 45px !important; 
    margin: 0 !important; 
    padding: 0 !important; 
    display: flex !important; 
    height: 100% !important; 
    align-items: center !important; 
    justify-content: center !important; 
}
.cart-widget-product-amount .quantity .increase { order: 3 !important; }

.cart-widget-product-amount .quantity input.amount {
    border: none !important;
    background: transparent !important;
    width: 100% !important;
    text-align: center !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    color: #111 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    outline: none !important;
}

.cart-widget-product-amount .quantity .increase, 
.cart-widget-product-amount .quantity .decrease {
    background: transparent !important;
    color: #4e342e !important;
    width: 45px !important;
    height: 100% !important;
    border: none !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background-color .2s ease !important;
    padding: 0 !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
    position: relative !important; /* Brání překrývání! */
}

.cart-widget-product-amount .quantity .increase span, 
.cart-widget-product-amount .quantity .decrease span {
    font-size: 24px !important; 
    font-weight: 400 !important;
    color: inherit !important;
    background: transparent !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    line-height: 1 !important;
}

/* Odstranění šedých/tan pseudo-elementů Shoptetu */
.cart-widget-product-amount .quantity .increase::before,
.cart-widget-product-amount .quantity .increase::after,
.cart-widget-product-amount .quantity .decrease::before,
.cart-widget-product-amount .quantity .decrease::after {
    display: none !important;
}

.cart-widget-product-amount .quantity .increase:hover,
.cart-widget-product-amount .quantity .decrease:hover {
    background-color: #e0d4c8 !important;
}

.cart-widget-product-unit {
    display: none !important; 
}

.cart-widget-product-price {
    padding: 0 !important;
    border: none !important;
    text-align: right !important;
    min-width: 70px !important;
}
.cart-widget-product-price strong {
    color: #111 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

.cart-widget-product-delete {
    padding: 0 !important;
    border: none !important;
}
.cart-widget-product-delete .remove-item {
    background: transparent !important;
    border: none !important;
    color: #ccc !important;
    transition: color .2s ease !important;
    padding: 5px !important;
}
.cart-widget-product-delete .remove-item:hover {
    color: #cc0000 !important;
}

.popup-widget.cart-widget .cart-widget-bottom,
.popup-widget.cart-widget .cart-widget-button {
    border-top: none !important;
    background: transparent !important;
    background-color: transparent !important;
    padding: 15px 0 0 0 !important;
    margin: 10px 0 0 0 !important;
}

.cart-widget-button .btn-conversion {
    background-color: #4e342e !important;
    color: #fff !important;
    border: none !important;
    border-radius: 30px !important;
    height: 48px !important;
    padding: 0 25px !important;
    font-weight: 700 !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    transition: all .3s ease !important;
    box-shadow: none !important;
    text-shadow: none !important;
}
.cart-widget-button .btn-conversion:hover {
    background-color: #2c1e16 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 15px rgba(78,52,46,.2) !important;
}

.cart-free-shipping {
    margin-top: 15px !important;
    color: #3c840f !important;
    font-weight: 700 !important;
    text-align: center !important;
    font-size: 14px !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}


/* ========================================================= */
/* --- POPELNICE VE VLASTNÍ BUŇCE (PC) --- */
/* ========================================================= */

.desktop-trash-th,
.desktop-trash-td {
    display: table-cell !important;
    vertical-align: middle !important;
    text-align: right !important;
    width: 50px !important;
    padding-right: 10px !important;
}

.desktop-trash-form {
    margin: 0 !important;
    display: inline-block !important;
}

.desktop-trash-form .remove-item {
    background-color: transparent !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%234e342e' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3 6 5 6 21 6'/%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/%3E%3Cline x1='10' y1='11' x2='10' y2='17'/%3E%3Cline x1='14' y1='11' x2='14' y2='17'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 20px !important;
    border: none !important;
    cursor: pointer !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 6px !important;
    opacity: 1 !important;
    transition: opacity 0.2s ease, background-color 0.2s ease !important;
    display: block !important;
}

.desktop-trash-form .remove-item::before,
.desktop-trash-form .remove-item .sr-only {
    display: none !important;
    content: none !important;
}

.desktop-trash-form .remove-item:hover {
    opacity: 1 !important;
    background-color: rgba(78, 52, 46, 0.08) !important;
}

/* Schování PŮVODNÍ popelnice na PC, která tam dělala vizuální bordel */
@media (min-width: 769px) {
    .cart-table form[action*="deleteCartItem"]:not(.desktop-trash-form) {
        display: none !important;
    }
}

/* Schování NAŠÍ NOVÉ buňky na mobilech (mobily použijí tu výchozí Shoptetí) */
@media (max-width: 768px) {
    .desktop-trash-th,
    .desktop-trash-td {
        display: none !important;
    }

    /* Nahrazení křížku popelnicí na mobilech */
    form[action*="deleteCartItem"] .remove-item,
    .cart-table .remove-item,
    .cart-content .remove-item,
    .removeable .remove-item {
        font-size: 0 !important;
        line-height: 0 !important;
        color: transparent !important;
        text-indent: -9999px !important;
        overflow: hidden !important;
        background-color: transparent !important;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%234e342e' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3 6 5 6 21 6'/%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/%3E%3Cline x1='10' y1='11' x2='10' y2='17'/%3E%3Cline x1='14' y1='11' x2='14' y2='17'/%3E%3C/svg%3E") !important;
        background-repeat: no-repeat !important;
        background-position: center !important;
        background-size: 18px !important;
        min-width: 34px !important;
        min-height: 34px !important;
        width: 34px !important;
        height: 34px !important;
        border: none !important;
        border-radius: 6px !important;
        opacity: 1 !important;
        display: block !important;
        padding: 0 !important;
        box-shadow: none !important;
    }

    form[action*="deleteCartItem"] .remove-item *,
    .cart-table .remove-item *,
    .cart-content .remove-item *,
    .removeable .remove-item * {
        display: none !important;
    }

    form[action*="deleteCartItem"] .remove-item::before,
    form[action*="deleteCartItem"] .remove-item::after,
    .cart-table .remove-item::before,
    .cart-table .remove-item::after,
    .cart-content .remove-item::before,
    .cart-content .remove-item::after,
    .removeable .remove-item::before,
    .removeable .remove-item::after {
        display: none !important;
        content: none !important;
    }

    form[action*="deleteCartItem"] .remove-item:active,
    .cart-table .remove-item:active,
    .cart-content .remove-item:active,
    .removeable .remove-item:active {
        opacity: 1 !important;
        background-color: rgba(78, 52, 46, 0.08) !important;
    }
}

/* ========================================================= */
/* --- 2. PŘIHLÁŠENÍ WIDGET (VYSKAKOVACÍ OKNO V HLAVIČCE) --- */
/* ========================================================= */

.popup-widget.login-widget {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.popup-widget.login-widget .popup-widget-inner {
    background-color: #fdfaf7 !important;
    border: 1px solid #efe3d6 !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 40px rgba(0,0,0,.3) !important;
    padding: 25px !important;
    z-index: 999999!important;
}

.popup-widget.login-widget::before,
.popup-widget.login-widget::after,
.popup-widget.login-widget .popup-widget-inner::before,
.popup-widget.login-widget .popup-widget-inner::after {
    display: none !important;
    content: none !important;
}

.popup-widget.login-widget h2#loginHeading {
    font-size: 18px !important;
    color: #111 !important;
    font-weight: 800 !important;
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
    border: none !important;
    text-align: center !important;
    background: transparent !important;
}

.popup-widget.login-widget .form-group {
    margin-bottom: 15px !important;
}

.popup-widget.login-widget .form-control {
    background-color: #fff !important;
    border: 1px solid #efe3d6 !important;
    border-radius: 12px !important; 
    height: 48px !important;
    padding: 0 20px !important;
    font-size: 14px !important;
    color: #111 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.01) !important;
    transition: all 0.2s ease !important;
}

.popup-widget.login-widget .form-control:focus {
    border-color: #4e342e !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(78,52,46,0.1) !important;
}

.popup-widget.login-widget .form-control::placeholder {
    color: #aaa !important;
}

.popup-widget.login-widget .login-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    margin-top: 5px !important;
}

.popup-widget.login-widget .btn-login {
    background-color: #4e342e !important;
    color: #fff !important;
    border: none !important;
    border-radius: 30px !important;
    height: 48px !important;
    padding: 0 25px !important;
    font-weight: 700 !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    transition: all .3s ease !important;
    box-shadow: none !important;
    text-shadow: none !important;
    margin-bottom: 15px !important;
}

.popup-widget.login-widget .btn-login:hover {
    background-color: #2c1e16 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 15px rgba(78,52,46,.2) !important;
}

.popup-widget.login-widget .password-helper {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    align-items: center !important;
    width: 100% !important;
}

.popup-widget.login-widget .password-helper a {
    color: #777 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.popup-widget.login-widget .password-helper a:hover {
    color: #4e342e !important;
    text-decoration: underline !important;
}

/* --- FORMULÁŘE (REGISTRACE, PŘIHLÁŠENÍ, KLIENT) - KOMPLETNÍ STYLY --- */

/* ========================================================= */
/* --- ODSTRANĚNÍ NECHTĚNÉHO POZADÍ V KROCÍCH KOŠÍKU --- */
/* ========================================================= */

.in-kosik #content.content.narrow .content-inner,
.in-krok-1 #content.content.narrow .content-inner,
.in-krok-2 #content.content.narrow .content-inner,
.in-krok-3 #content.content.narrow .content-inner {
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* 1. Hlavní krémový obal - UZAMČENO NA #content */
.in-registrace #content .content-inner,
.in-login #content .content-inner,
.in-klient #content .content-inner {
    background-color: #fdfaf7 !important;
    border: 1px solid #efe3d6 !important;
    border-radius: 16px !important;
    padding: 40px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,.03) !important;
    margin: 0 auto 40px auto !important;
    max-width: 800px !important;
}

/* Zabití starých šedých Shoptet boxů */
.in-registrace #content fieldset.box, 
.in-login #content fieldset.box, 
.in-klient #content fieldset.box {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
    margin-bottom: 20px !important;
}

/* 2. Zarovnání textů na střed */
.in-registrace #content h1, .in-login #content h1, .in-klient #content h1,
.in-registrace #content h4, .in-login #content h4, .in-klient #content h4 {
    text-align: center !important;
    color: #111 !important;
}

.in-registrace #content h1, .in-login #content h1 {
    margin-bottom: 30px !important;
}

/* Vycentrování chybových hlášek pod inputy */
.in-registrace #content .js-validator-msg, 
.in-login #content .js-validator-msg, 
.in-klient #content .js-validator-msg,
#content .msg-error {
    text-align: center !important;
    width: 100% !important;
    display: block !important;
    margin-top: 5px !important;
}

/* 3. Vstupní pole (Inputy) */
.in-registrace #content input[type="text"],
.in-registrace #content input[type="email"],
.in-registrace #content input[type="password"],
.in-login #content input[type="text"],
.in-login #content input[type="email"],
.in-login #content input[type="password"],
.in-klient #content input[type="text"],
.in-klient #content input[type="email"],
.in-klient #content input[type="password"],
.in-registrace #content .form-control,
.in-login #content .form-control,
.in-klient #content .form-control {
    background-color: #fff !important;
    border: 1px solid #efe3d6 !important;
    border-radius: 12px !important;
    height: 60px !important; 
    padding: 28px 20px 4px 20px !important; 
    font-size: 16px !important;
    color: #111 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.01) !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    text-align: center !important; 
}

/* Hnědá záře po kliknutí */
.in-registrace #content input:focus:not(.js-error-field),
.in-login #content input:focus:not(.js-error-field),
.in-klient #content input:focus:not(.js-error-field),
.in-registrace #content .form-control:focus:not(.js-error-field) {
    border-color: #4e342e !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(78,52,46,0.1) !important;
}

/* Plovoucí placeholdery (Smart Labels) bezpečně na střed */
.in-registrace #content .smart-label-wrapper label,
.in-login #content .smart-label-wrapper label,
.in-klient #content .smart-label-wrapper label {
    left: 0 !important;
    width: 100% !important;
    text-align: center !important;
    pointer-events: none !important; 
    margin-top: -2px !important; 
}

/* 4. Souhlasy s podmínkami */
.in-registrace #content .consents,
.in-registrace #content .submit-wrapper,
.in-login #content .submit-wrapper,
.in-klient #content .submit-wrapper {
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
}

.in-registrace #content .consents label {
    display: block !important;
    text-align: center !important;
    margin-bottom: 10px !important;
}

/* 5. Hlavní odesílací tlačítko - UZAMČENO NA #content */
.in-registrace #content .btn,
.in-registrace #content button[type="submit"],
.in-registrace #content input[type="submit"],
.in-login #content .btn,
.in-login #content button[type="submit"],
.in-login #content input[type="submit"],
.in-klient #content .btn,
.in-klient #content button[type="submit"],
.in-klient #content input[type="submit"] {
    background-color: #4e342e !important;
    color: #fff !important;
    border: none !important;
    border-radius: 30px !important;
    height: 48px !important;
    padding: 0 40px !important;
    font-weight: 700 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    transition: all .3s ease !important;
    box-shadow: none !important;
    text-shadow: none !important;
    cursor: pointer !important;
    margin-top: 15px !important;
    min-width: 200px !important; 
}

/* Hover animace na tlačítku */
.in-registrace #content .btn:hover,
.in-registrace #content button[type="submit"]:hover,
.in-registrace #content input[type="submit"]:hover,
.in-login #content .btn:hover,
.in-login #content button[type="submit"]:hover,
.in-login #content input[type="submit"]:hover,
.in-klient #content .btn:hover,
.in-klient #content button[type="submit"]:hover,
.in-klient #content input[type="submit"]:hover {
    background-color: #2c1e16 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 15px rgba(78,52,46,.2) !important;
    color: #fff !important;
}

/* --- ZAPOMENUTÉ HESLO --- */

/* Hlavní krémový obal posunutý o úroveň výš, aby sežral i nadpis <h1> */
.in-klient-zapomenute-heslo #content .content-inner,
#content .content-inner:has(#formForgottenPassword) {
    background-color: #fdfaf7 !important;
    border: 1px solid #efe3d6 !important;
    border-radius: 16px !important;
    padding: 40px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,.03) !important;
    margin: 0 auto 40px auto !important;
    max-width: 800px !important;
}

/* Vycentrování hlavního nadpisu "Zapomenuté heslo" */
.in-klient-zapomenute-heslo #content h1,
#content .content-inner:has(#formForgottenPassword) h1 {
    text-align: center !important;
    color: #111 !important;
    margin-bottom: 30px !important;
}

/* Původní obal (fieldset) teď zneviditelníme a jen v něm vycentrujeme obsah */
#formForgottenPassword fieldset {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

/* Podnadpis "Váš e-mail" */
#formForgottenPassword h2 {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #111 !important;
    margin: 0 0 15px 0 !important;
    text-align: center !important;
    border: none !important;
}

/* Text s instrukcemi pod nadpisem */
#formForgottenPassword p {
    color: #444 !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    text-align: center !important;
    margin-bottom: 25px !important;
}

/* Obal pro input a label */
#formForgottenPassword .form-group {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

/* Nadpisek nad samotným polem ("Váš e-mail:") */
#formForgottenPassword label {
    display: block !important;
    text-align: center !important;
    font-weight: 700 !important;
    color: #111 !important;
    margin-bottom: 10px !important;
    font-size: 14px !important;
}

/* Vstupní pole pro e-mail */
#formForgottenPassword .form-control {
    background-color: #fff !important;
    border: 1px solid #efe3d6 !important;
    border-radius: 12px !important;
    height: 60px !important;
    padding: 0 20px !important;
    font-size: 16px !important;
    color: #111 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.01) !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    text-align: center !important;
    width: 100% !important;
    max-width: 400px !important; /* Pole nebude přes celou obrazovku, bude elegantně menší */
    box-sizing: border-box !important;
}

/* Hnědá záře po kliknutí do pole */
#formForgottenPassword .form-control:focus {
    border-color: #4e342e !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(78,52,46,0.1) !important;
}

/* Obal pro odesílací tlačítko */
#formForgottenPassword .login-wrapper {
    margin-top: 25px !important;
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
}

/* Odesílací tlačítko (Krásná hnědá pilulka) */
#formForgottenPassword input[type="submit"] {
    background-color: #4e342e !important;
    color: #fff !important;
    border: none !important;
    border-radius: 30px !important;
    height: 48px !important;
    padding: 0 40px !important;
    font-weight: 700 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    transition: all .3s ease !important;
    box-shadow: none !important;
    text-shadow: none !important;
    cursor: pointer !important;
    min-width: 200px !important;
}

/* Hover animace na tlačítku */
#formForgottenPassword input[type="submit"]:hover {
    background-color: #2c1e16 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 15px rgba(78,52,46,.2) !important;
    color: #fff !important;
}

/* --- ŘAZENÍ PRODUKTŮ (Z-INDEX A DESIGN) --- */

/* 1. Vypnutí "gilotiny" (overflow) a nastavení vysokého z-indexu na všechny rodiče */
.category-header,
#category-header,
.list-controls,
.listSorting {
    position: relative !important;
    z-index: 999 !important;
    overflow: visible !important; /* Toto dovolí dropdownu přetéct ven! */
}

/* 2. Samotná vyskakovací nabídka (dropdown) */
.listSorting__controls.listSorting__controls--dropdown {
    position: absolute !important;
    z-index: 1000 !important; 
    background-color: #fdfaf7 !important;
    border: 1px solid #efe3d6 !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 40px rgba(0,0,0,.08) !important;
    padding: 8px 0 !important;
    overflow: hidden !important; /* Tady to chceme, aby hover efekt nepřetekl přes kulaté rohy */
    top: calc(100% + 5px) !important; 
}

/* 3. Jednotlivá tlačítka v dropdownu (Nejlevnější, Nejdražší...) */
.listSorting__controls--dropdown .listSorting__control {
    background: transparent !important;
    color: #111 !important;
    border: none !important;
    padding: 10px 20px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-align: left !important;
    width: 100% !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
}

/* Hover efekt na položkách v menu */
.listSorting__controls--dropdown .listSorting__control:hover,
.listSorting__controls--dropdown .listSorting__control:focus {
    background-color: #e0d4c8 !important;
    color: #4e342e !important;
    outline: none !important;
}

/* 4. Odstranění agresivního modrého rámečku na hlavním tlačítku */
.listSorting__toggle {
    background-color: #fff !important;
    border: 1px solid #efe3d6 !important;
    border-radius: 8px !important;
    outline: none !important;
    box-shadow: none !important;
    transition: all 0.2s ease !important;
}

/* Naše luxusní hnědá záře po rozkliknutí */
.listSorting__toggle:focus,
.listSorting__toggle[aria-expanded="true"] {
    border-color: #4e342e !important;
    box-shadow: 0 0 0 3px rgba(78,52,46,0.1) !important;
    outline: none !important;
}

/* --- OPRAVA ROZPADENÉHO MENU V HLAVIČCE PO PŘIHLÁŠENÍ --- */

/* Hlavní obal pro tlačítka v hlavičce */
.navigation-buttons {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important; /* Zákaz padání do dalších řádků */
    gap: 20px !important; /* Hezká vzdušná mezera mezi všemi položkami */
}

/* Zákaz zalamování pro samotné texty (Můj účet, Odhlásit) */
.navigation-buttons a,
.navigation-buttons > div {
    white-space: nowrap !important; /* Slova zůstanou v jednom řádku */
    flex-shrink: 0 !important; /* Zakáže Shoptetu ty prvky násilně zmačkat */
}

/* Srovnání ikonky košíku a ceny do jedné čisté linie */
.navigation-buttons .cart-widget-link,
.navigation-buttons .cart-count {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important; /* Jemná mezera mezi ikonkou a cenou */
}

/* Tvrdý zákaz zalamování pro cenu a měnu (2 596 Kč) */
.navigation-buttons .cart-price, 
.navigation-buttons .cart-price span {
    white-space: nowrap !important;
    display: inline-block !important;
}

/* ========================================================= */
/* --- 1. KROKY V KOŠÍKU (TIMELINE) - DEFINITIVNÍ OPRAVA --- */
/* ========================================================= */

/* Hlavní obal kroků */
ol.cart-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    background-color: #fdfaf7 !important;
    border: 1px solid #efe3d6 !important;
    border-radius: 16px !important;
    padding: 30px 40px 25px 40px !important;
    margin: 30px auto 40px auto !important;
    max-width: 900px !important;
    position: relative !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03) !important;
    list-style: none !important;
    counter-reset: checkout-step !important;
    background-image: none !important; 
}

/* Spojovací linka mezi kroky */
ol.cart-header::before {
    content: "" !important;
    position: absolute !important;
    top: 53px !important; /* Střed kruhů (padding 30px + polovina 46px) */
    left: 15% !important;
    right: 15% !important;
    height: 2px !important;
    background-color: #efe3d6 !important;
    z-index: 1 !important;
}

/* Samotný krok (obal) */
ol.cart-header .step {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    position: relative !important;
    z-index: 5 !important;
}

/* 1. KROK: VYPNUTÍ VŠECH SHOPTET KRUHŮ (Aby nebyly duplicity) */
ol.cart-header .step::after,
ol.cart-header .step strong::before,
ol.cart-header .step strong::after,
ol.cart-header .step a::before,
ol.cart-header .step a::after,
ol.cart-header .step span::before,
ol.cart-header .step span::after {
    display: none !important;
    content: none !important;
}

/* 2. KROK: NAŠE VLASTNÍ KRUHY */
ol.cart-header .step::before {
    counter-increment: checkout-step !important;
    content: counter(checkout-step) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 46px !important;
    height: 46px !important;
    border-radius: 50% !important;
    background-color: #fff !important;
    border: 2px solid #efe3d6 !important;
    color: #4e342e !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    margin: 0 0 15px 0 !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.03) !important;
    position: relative !important;
    z-index: 2 !important;
}

/* 3. KROK: TEXTY */
ol.cart-header .step a,
ol.cart-header .step strong {
    text-decoration: none !important;
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
}

ol.cart-header .step span {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #777 !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    transition: all 0.3s ease !important;
    background: transparent !important;
    line-height: 1.2 !important;
}

/* --- AKTIVNÍ KROK --- */
ol.cart-header .step.active::before {
    background-color: #4e342e !important;
    border-color: #4e342e !important;
    color: #fff !important;
    transform: scale(1.15) !important;
    box-shadow: 0 8px 20px rgba(78, 52, 46, 0.2) !important;
}

ol.cart-header .step.active span {
    color: #111 !important;
    font-weight: 800 !important;
    transform: translateY(2px) !important;
}

/* Responzivita (Mobily) */
@media (max-width: 768px) {
    ol.cart-header { padding: 20px !important; border-radius: 12px !important; }
    ol.cart-header .step::before { width: 36px !important; height: 36px !important; font-size: 14px !important; margin-bottom: 10px !important; }
    ol.cart-header .step span { font-size: 11px !important; }
    ol.cart-header::before { top: 38px !important; } /* 20px + 18px */
}

/* ========================================================= */
/* --- 2. TABULKA PRODUKTŮ V KOŠÍKU --- */
/* ========================================================= */

/* Hlavní krémový obal pro tabulku */
.cart-wrapper .cart-inner {
    background-color: #fdfaf7 !important;
    border: 1px solid #efe3d6 !important;
    border-radius: 16px !important;
    padding: 30px 40px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03) !important;
    margin-bottom: 40px !important;
}

.cart-table {
    width: 100% !important;
    border-collapse: collapse !important;
    background: transparent !important;
    border: none !important;
}

/* Hlavička tabulky (Dostupnost, Počet, atd.) */
.cart-table-header {
    background: transparent !important;
    border-bottom: 1px solid #efe3d6 !important;
}
.cart-table-header td {
    padding: 0 0 15px 0 !important;
    color: #777 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border: none !important;
}

/* Řádky s jednotlivými produkty */
.cart-table .removeable td {
    padding: 20px 10px 20px 0 !important;
    border-bottom: 1px solid #efe3d6 !important;
    vertical-align: middle !important;
    background: transparent !important;
}
.cart-table .removeable:last-child td {
    border-bottom: none !important;
}

/* Obrázek produktu */
.cart-p-image img {
    border-radius: 8px !important;
    border: 1px solid #efe3d6 !important;
    max-width: 80px !important;
}

/* Název produktu */
.cart-table .p-name a {
    color: #111 !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    text-decoration: none !important;
    display: block !important;
    transition: color 0.2s ease !important;
}
.cart-table .p-name a:hover { color: #4e342e !important; }
.cart-table .availability-label { font-size: 13px !important; }

/* Zaoblený ovladač množství (+/-) */
.cart-table .quantity {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: #fff !important;
    border: 1px solid #efe3d6 !important;
    border-radius: 30px !important;
    width: 120px !important;
    height: 44px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.02) !important;
}
.cart-table .quantity label { display: flex !important; width: 40px !important; margin: 0 !important; padding: 0 !important; }
.cart-table .quantity input.amount {
    border: none !important; background: transparent !important; width: 100% !important; text-align: center !important;
    font-weight: 700 !important; font-size: 16px !important; color: #111 !important; box-shadow: none !important;
    outline: none !important;
}
.cart-table .quantity .increase, .cart-table .quantity .decrease {
    background: transparent !important; color: #4e342e !important; width: 40px !important; height: 100% !important;
    border: none !important; cursor: pointer !important; display: flex !important; align-items: center !important;
    justify-content: center !important; transition: background-color 0.2s !important;
}
.cart-table .quantity .increase span, .cart-table .quantity .decrease span { 
    font-size: 22px !important; font-weight: 400 !important; line-height: 1 !important; margin-top: -2px !important; 
}
.cart-table .quantity .increase:hover, .cart-table .quantity .decrease:hover { background-color: #e0d4c8 !important; }

/* Ceny */
.cart-table .p-price .price-final,
.cart-table .p-total .price-final {
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #111 !important;
}

/* ========================================================= */
/* --- 3. SOUHRN A TLAČÍTKA DOLE (CENA, POKRAČOVAT) --- */
/* ========================================================= */
.cart-table tr td, .cart-table tr td.cart-p-image { 
    background-color: transparent !important;
    color: black !important;
}

.cart-inner .summary {
    margin-top: 20px !important;
    padding-top: 30px !important;
    border-top: 2px dashed #efe3d6 !important; /* Naše jemná oddělovací čára */
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
}

/* Hláška "Dopravu máte zdarma!" */
.cart-inner .summary .box-bg-default {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
}
.cart-inner .summary h4 { display: none !important; }
.cart-inner .summary .extra.delivery strong {
    color: #3c840f !important; font-size: 15px !important; font-weight: 800 !important;
}

/* Celková částka za zboží */
.cart-inner .summary .price-wrapper {
    text-align: right !important;
    margin-bottom: 25px !important;
    width: 100% !important;
}
.cart-inner .summary .price-label { color: #777 !important; font-size: 14px !important; font-weight: 600 !important; margin-right: 10px !important; }
.cart-inner .summary .price-final { font-size: 32px !important; font-weight: 800 !important; color: #111 !important; }

/* Obal pro spodní tlačítka */
.cart-inner .next-step {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 20px !important;
    width: 100% !important;
}

/* Odkaz "Zpět do obchodu" */
.cart-inner .next-step-back {
    color: #777 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    background: transparent !important;
    border: none !important;
    display: inline-flex !important;
    align-items: center !important;
    height: 52px !important;
    transition: color 0.2s ease !important;
}
.cart-inner .next-step-back:hover { color: #4e342e !important; }

/* Hlavní tlačítko "POKRAČOVAT" */
.cart-inner .next-step-forward {
    background-color: #4e342e !important;
    color: #fff !important;
    border: none !important;
    border-radius: 30px !important; /* Naše klasická pilulka */
    height: 52px !important;
    padding: 0 45px !important;
    font-weight: 800 !important;
    font-size: 15px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    transition: all .3s ease !important;
    box-shadow: none !important;
}
.cart-inner .next-step-forward:hover {
    background-color: #2c1e16 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 15px rgba(78,52,46,.2) !important;
}

/* Responzivita košíku (Mobil) */
@media (max-width: 768px) {
    .cart-wrapper .cart-inner { padding: 25px 20px !important; }
    .cart-inner .next-step { flex-direction: column-reverse !important; gap: 15px !important; }
    .cart-inner .next-step-forward { width: 100% !important; }
    .cart-table .quantity { width: 100px !important; }

    .content-wrapper.container .row {
        justify-content: center !important;
    }
    .price-wrapper .price-label.price-primary,
    .price-wrapper .price.price-primary,
    .order-summary h4 {
        text-align: center !important;
    }
}

/* --- OPRAVA ZAROVNÁNÍ ZNAKŮ + A - U MNOŽSTVÍ V KOŠÍKU --- */
.cart-table .quantity .increase span, 
.cart-table .quantity .decrease span {
    font-size: 24px !important; 
    font-weight: 400 !important;
    color: inherit !important;
    background: transparent !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    width: 100% !important;
    height: 100% !important;
}

/* --- ZABITÍ DUPLIKÁTNÍCH ZNAKŮ + A - OD SHOPTETU V KOŠÍKU --- */
.cart-table .quantity .increase::before,
.cart-table .quantity .increase::after,
.cart-table .quantity .decrease::before,
.cart-table .quantity .decrease::after {
    display: none !important;
    content: none !important;
}

/* ========================================================= */
/* --- 3. KROK 2: DOPRAVA & PLATBA (VYLADĚNÍ DESIGNU) --- */
/* ========================================================= */

/* 1. Odsazení kroků (timeline) od hlavního menu */
ol.cart-header {
    margin-top: 60px !important; /* Zvětšené odsazení z původních 30px */
}

/* 2. Obaly pro jednotlivé možnosti dopravy a platby */
.delivery-billing-wrapper .radio-wrapper,
.shipping-billing-table .radio-wrapper,
.step-2 .radio-wrapper {
    background-color: #fff !important;
    border: 1px solid #efe3d6 !important;
    border-radius: 12px !important;
    box-shadow: none !important; /* Odstranění základního stínu */
    margin-bottom: 12px !important;
    padding: 18px 25px !important;
    transition: all 0.2s ease !important;
    display: flex !important;
    align-items: center !important;
}

/* 3. Odstranění hover stínu -> nahrazeno jemnou změnou okraje */
.delivery-billing-wrapper .radio-wrapper:hover,
.shipping-billing-table .radio-wrapper:hover,
.step-2 .radio-wrapper:hover {
    box-shadow: none !important; /* Tímhle zabijeme ten nechtěný stín */
    border-color: #d1c0b1 !important; /* Jemně tmavší okraj při přejetí myší */
    transform: translateY(0) !important; /* Zákaz poskakování */
}

/* 4. Aktivní (zakliknutá) možnost dopravy/platby - FLOAT EFEKT */
.delivery-billing-wrapper .radio-wrapper.active,
.shipping-billing-table .radio-wrapper.active,
.step-2 .radio-wrapper.active,
.delivery-billing-wrapper .radio-wrapper:has(input:checked),
.step-2 .radio-wrapper:has(input:checked) {
    border-color: #4e342e !important; /* Naše výrazná hnědá */
    background-color: #ffffff !important; /* Čistě bílá, aby prvek vystoupil */
    transform: translateY(-4px) !important; /* Zvednutí do prostoru (float) */
    box-shadow: 0 12px 25px rgba(78, 52, 46, 0.12) !important; /* Prémiový rozptýlený stín */
    position: relative !important;
    z-index: 10 !important; /* Zajištění, že stín překryje okolí */
}

/* Úprava samotného zaklikávacího kolečka (Radio button) do naší barvy */
.radio-wrapper input[type="radio"] {
    accent-color: #4e342e !important;
    width: 18px !important;
    height: 18px !important;
    cursor: pointer !important;
}

/* 5. Pravý sloupec (Rekapitulace objednávky) */
.checkout-sidebar, 
.cart-summary,
.step-2 .col-md-4 .box {
    background-color: #fdfaf7 !important;
    border: 1px solid #efe3d6 !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03) !important;
    padding: 30px !important;
}

/* Zjemnění tabulky uvnitř rekapitulace (čárkované čáry místo tvrdých) */
.checkout-sidebar table td, 
.checkout-sidebar table th,
.cart-summary table td, 
.cart-summary table th,
.step-2 .col-md-4 table td,
.step-2 .col-md-4 table th {
    border-bottom: 1px dashed #efe3d6 !important;
    border-top: none !important;
    padding: 15px 0 !important;
    background: transparent !important;
}

/* Poslední řádek v rekapitulaci bez čáry */
.checkout-sidebar table tr:last-child td, 
.checkout-sidebar table tr:last-child th,
.step-2 .col-md-4 table tr:last-child td,
.step-2 .col-md-4 table tr:last-child th {
    border-bottom: none !important;
}

/* Celkem za zboží - text v rekapitulaci */
.checkout-sidebar .price-final,
.cart-summary .price-final,
.step-2 .col-md-4 .price-final {
    color: #111 !important;
    font-weight: 800 !important;
    font-size: 20px !important;
}

/* ========================================================= */
/* --- 4. KROK 3: OSOBNÍ ÚDAJE (DOKONČENÍ OBJEDNÁVKY) --- */
/* ========================================================= */

/* 1. Zprůhlednění hlavního obalu (zabrání box-in-box efektu) */
.in-krok-2 .cart-wrapper .cart-inner {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* 2. Čistě bílé karty pro formuláře (vlevo) */
.in-krok-2 #checkoutContent .box {
    background-color: #fff !important; 
    border: 1px solid #efe3d6 !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.02) !important;
    padding: 30px 40px !important;
    margin-bottom: 25px !important;
}

/* Nadpisy v levých kartách */
.in-krok-2 #checkoutContent .box h4 {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #111 !important;
    border-bottom: 2px dashed #efe3d6 !important;
    padding-bottom: 15px !important;
    margin-bottom: 25px !important;
    background: transparent !important;
}

/* 3. Vstupní pole (Inputy) - Ponechána výchozí Shoptet výška pro Smart Labels */
.in-krok-2 #checkoutContent .form-control {
    border: 1px solid #d1c0b1 !important;
    border-radius: 8px !important;
    background-color: #fdfaf7 !important;
    box-shadow: none !important;
    transition: all 0.2s ease !important;
    color: #111 !important;
    font-weight: 600 !important;
}

/* Animace Inputů po kliknutí */
.in-krok-2 #checkoutContent .form-control:focus {
    background-color: #fff !important;
    border-color: #4e342e !important;
    box-shadow: 0 0 0 3px rgba(78, 52, 46, 0.1) !important;
    outline: none !important;
}

/* Obarvení plovoucích štítků (Smart labels) */
.in-krok-2 #checkoutContent .smart-label-wrapper label {
    color: #777 !important;
}
.in-krok-2 #checkoutContent .smart-label-wrapper.populated label,
.in-krok-2 #checkoutContent .smart-label-wrapper.focused label {
    color: #4e342e !important;
    font-weight: 800 !important;
}

/* 4. Checkboxy a předvolba u telefonu */
.in-krok-2 input[type="checkbox"] {
    accent-color: #4e342e !important;
    width: 18px !important;
    height: 18px !important;
    cursor: pointer !important;
    margin-right: 8px !important;
    vertical-align: middle !important;
}
.in-krok-2 label.whole-width {
    font-weight: 600 !important;
    color: #111 !important;
    cursor: pointer !important;
}
/* Dokonalé splynutí předvolby a telefonu do jednoho pole */
.in-krok-2 .phone-combined-input .country-flags {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
}
.in-krok-2 .phone-combined-input .form-control {
    border-radius: 8px !important;
}

/* --- 5. PRAVÝ SLOUPEC (Souhlasy a Finální tlačítka) --- */

.in-krok-2 .consents label {
    font-size: 13px !important;
    color: #555 !important;
    line-height: 1.6 !important;
    margin-top: 10px !important;
}
.in-krok-2 .consents label a {
    color: #4e342e !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

/* Rozložení spodních tlačítek (Objednat vždy nad Zpět) */
.in-krok-2 .next-step--step-2 {
    display: flex !important;
    flex-direction: column-reverse !important; /* Toto zajistí prohození (Objednat nahoru) */
    gap: 12px !important;
    margin-top: 15px !important;
}

/* Tlačítko OBJEDNAT - Definitivní vycentrování */
.in-krok-2 .next-step-finish {
    background-color: #4e342e !important;
    color: #fff !important;
    border: none !important;
    border-radius: 30px !important;
    height: 60px !important;
    padding: 0 !important; /* Zrušení paddingu, který mohl deformovat střed */
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.3s ease !important;
    width: 100% !important;
    box-shadow: 0 4px 15px rgba(78,52,46,0.2) !important;
}
.in-krok-2 .next-step-finish:hover {
    background-color: #2c1e16 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(78,52,46,0.3) !important;
}
.in-krok-2 .next-step-finish .order-button-text {
    font-size: 16px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    text-indent: 1px !important; /* Správná optická kompenzace za letter-spacing na konci slova */
    line-height: 1.2 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-block !important; /* Žádná 100% šířka, necháme flexbox dělat svou práci */
}
.in-krok-2 .next-step-finish .order-button-suffix {
    font-size: 11px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    opacity: 0.8 !important;
    line-height: 1.2 !important;
    margin: 2px 0 0 0 !important;
    padding: 0 !important;
    display: inline-block !important;
    letter-spacing: 0 !important;
    text-indent: 0 !important;
}

/* Tlačítko Zpět */
.in-krok-2 .next-step-back {
    color: #777 !important;
    font-weight: 600 !important;
    background: transparent !important;
    border: 1px solid #efe3d6 !important;
    border-radius: 30px !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
}
.in-krok-2 .next-step-back:hover {
    color: #4e342e !important;
    border-color: #4e342e !important;
    background: #fff !important;
}

/* Responzivita (Mobily) */
@media (max-width: 768px) {
    .in-krok-2 #checkoutContent .box { padding: 25px 20px !important; }
}

/* ========================================================= */
/* --- BENEFIT BANNERY (IKONY S TEXTEM NA HOMEPAGE) --- */
/* ========================================================= */

/* Hlavní obal pro benefity (mřížka) */
.benefitBanner.position--benefitHomepage,
.benefitBanner.position--benefitCategory
 {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 30px !important; /* Trochu větší mezera mezi kartami */
    width: 100% !important; /* Vynucení plné šířky */
    max-width: 1100px !important; /* Optimální šířka pro čitelnost */
    margin: 50px auto !important; /* Dokonalé vycentrování celého bloku */
    padding: 0 20px !important;
    box-sizing: border-box !important;
}

/* Samotná karta benefitu - ikona nad textem */
.benefitBanner__item {
    background-color: #fdfaf7 !important;
    border: 1px solid #efe3d6 !important;
    border-radius: 16px !important;
    padding: 40px 30px !important; /* Zvětšené vnitřní okraje pro vzdušnost */
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 20px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.02) !important;
    transition: all 0.3s ease !important;
    cursor: default !important;
    min-width: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.benefitBanner__link {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 20px !important; /* Stejná mezera mezi ikonou a textem jako u boxu bez odkazu */
    text-decoration: none !important; /* Zruší případné podtržení odkazu */
    width: 100% !important;
    height: 100% !important;
}

/* Hover efekt karty */
.benefitBanner__item:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 25px rgba(78, 52, 46, 0.08) !important;
    border-color: #d1c0b1 !important;
}

/* Obal pro ikonku (mírně zvetšený, když je to dominanta nahoře) */
.benefitBanner__picture {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 65px !important;
    height: 65px !important;
    flex-shrink: 0 !important;
    overflow: hidden !important;
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    background: transparent !important;
    border: none !important;
}

/* Animace ikonky při najetí na kartu */
.benefitBanner__item:hover .benefitBanner__picture {
    transform: scale(1.15) rotate(-5deg) !important;
}

.benefitBanner__img {
    width: 65px !important;
    height: 65px !important;
    object-fit: contain !important;
}

/* Kompenzace rozdílného interního paddingu SVG ikon —
   jednotlivé SVG mají různé viewBox, takže i při stejném
   width/height se zobrazují odlišně velké. Scale vyrovnává
   vizuální velikost bez změny layoutu. */
.benefitBanner__item:nth-child(2) .benefitBanner__img {
    transform: scale(1.4);
}
.benefitBanner__item:nth-child(3) .benefitBanner__img {
    transform: scale(1.15);
}

/* Textová část */
.benefitBanner__content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important; /* Texty vycentrované k sobě */
    gap: 6px !important;
    flex: 1 !important;
    min-width: 0 !important;
    word-break: normal !important;
    overflow-wrap: break-word !important; /* Bezpečné zalamování */
}

/* Nadpis (např. "Odeslání do 2. dne") */
.benefitBanner__title {
    color: #111 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

/* Doplňující text (např. "Zásilkovnou, PPL...") */
.benefitBanner__data {
    color: #777 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    font-weight: 500 !important;
}

/* Responzivita (Tablety a Mobily) */
@media (max-width: 991px) {
    .benefitBanner.position--benefitHomepage,
    .benefitBanner.position--benefitCategory {
        grid-template-columns: repeat(2, 1fr) !important; /* Dva vedle sebe na tabletu */
        gap: 15px !important;
    }
}

@media (max-width: 600px) {
    .benefitBanner.position--benefitHomepage,
    .benefitBanner.position--benefitCategory {
        grid-template-columns: 1fr !important; /* Na mobilu pěkně pod sebou */
        gap: 12px !important;
        margin: 20px auto !important;
    }
    .benefitBanner__item {
        padding: 20px !important;
    }
}

/* ========================================================= */
/* --- 5. DOKONALÉ LÍCOVÁNÍ CAROUSELU A PRAVÝCH BANNERŮ --- */
/* ========================================================= */

@media (min-width: 768px) {
    /* Přepneme hlavní řádek na flexbox - sloupce se natáhnou do stejné výšky */
    .banners-row {
        display: flex !important;
        align-items: stretch !important;
    }
    
    /* Zrušíme Bootstrap floaty a dáme sloupcům flex */
    .banners-row > .col-sm-8,
    .banners-row > .col-sm-4 {
        float: none !important;
        display: flex !important;
        flex-direction: column !important;
    }
    
    /* --- LEVÁ ČÁST: CAROUSEL --- */
    .banners-row #carousel {
        flex: 1 !important;
        height: 100% !important;
    }
    .banners-row #carousel .carousel-inner,
    .banners-row #carousel .item {
        height: 100% !important;
    }
    .banners-row #carousel .item a {
        display: block !important;
        height: 100% !important;
    }
    .banners-row #carousel .item img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center !important;
    }
    
    /* Šipky carouselu — výška a barva */
    .banners-row #carousel .carousel-control {
        max-height: none !important;
        height: 100% !important;
    }

    /* --- PRAVÁ ČÁST: 2 BANNERY --- */
    .banners-row .next-to-carousel-banners {
        display: flex !important;
        flex-direction: column !important;
        flex: 1 !important;
        height: 100% !important;
        gap: 0 !important; /* Zrušení nechtěné mezery mezi horním a spodním bannerem */
    }   
    .banners-row .next-to-carousel-banners .banner-wrapper {
        flex: 1 !important;
        margin: 0 !important; /* Smazání původního Shoptet odsazení */
    }
    .banners-row .next-to-carousel-banners .banner-wrapper a {
        display: block !important;
        height: 100% !important;
    }
    .banners-row .next-to-carousel-banners .banner-wrapper img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center !important;
    }
}

/* Hover efekt na banner dlaždice vedle carouselu */
.next-to-carousel-banners .banner-wrapper a {
    position: relative !important;
    overflow: hidden !important;
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275),
                box-shadow 0.3s ease !important;
    box-shadow: inset 0 0 0 3px rgba(78,52,46,0.25) !important;
}
/* Šipka — viditelná pořád, pulzuje jemně */
.next-to-carousel-banners .banner-wrapper a::after {
    content: "\2192" !important;
    position: absolute !important;
    bottom: 14px !important;
    right: 16px !important;
    width: 40px !important;
    height: 40px !important;
    background: rgba(255,255,255,0.9) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 20px !important;
    color: #4e342e !important;
    font-weight: 700 !important;
    opacity: 0.85 !important;
    transform: translateX(0) !important;
    transition: opacity 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease !important;
    pointer-events: none !important;
    border-radius: 50% !important;
    z-index: 2 !important;
    animation: arrowPulse 2.5s ease-in-out infinite !important;
}
@keyframes arrowPulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(78,52,46,0.3); }
    50% { box-shadow: 0 0 0 8px rgba(78,52,46,0); }
}
/* Overlay — jemný stálý gradient */
.next-to-carousel-banners .banner-wrapper a::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(135deg, rgba(78,52,46,0.12) 0%, rgba(78,52,46,0.30) 100%) !important;
    z-index: 1 !important;
    transition: opacity 0.3s ease !important;
    pointer-events: none !important;
}
/* Hover — zesvětlení, zoom, stín */
.next-to-carousel-banners .banner-wrapper a:hover {
    transform: scale(1.02) !important;
    box-shadow: inset 0 0 0 3px rgba(78,52,46,0.4), 0 8px 30px rgba(78,52,46,0.15) !important;
}
.next-to-carousel-banners .banner-wrapper a:hover::before {
    opacity: 0.3 !important;
}
.next-to-carousel-banners .banner-wrapper a:hover::after {
    opacity: 1 !important;
    transform: translateX(4px) !important;
    animation: none !important;
}
.next-to-carousel-banners .banner-wrapper img {
    transition: transform 0.4s ease !important;
}
.next-to-carousel-banners .banner-wrapper a:hover img {
    transform: scale(1.05) !important;
}

/* Carousel šipky na mobilu — přilepené k okrajům */
@media (max-width: 768px) {
    #carousel .carousel-control.left {
        left: 3px !important;
    }
    #carousel .carousel-control.right {
        right: 3px !important;
    }
}

/* ========================================================= */
/* --- 6. OPRAVA MENU A KOŠÍKU NA MOBILNÍCH ZAŘÍZENÍCH --- */
/* ========================================================= */

@media (max-width: 768px) {
    /* Zmenšení mezer mezi ikonami (lupa, košík, menu) */
    .navigation-buttons {
        gap: 12px !important;
    }
    
    /* Úprava textů u košíku na mobilu */
    .navigation-buttons .cart-price {
        font-size: 15px !important;
    }
    
    /* Úplné skrytí textu "Prázdný košík", když tam nic není */
    .navigation-buttons .cart-count .empty-cart-note {
        display: none !important;
    }
    
    /* Drobné zmenšení samotných ikonek pro ještě více místa */
    .navigation-buttons svg {
        width: 24px !important;
        height: 24px !important;
    }
    
    /* Ochranná bariéra zprava - odsadíme košík kousek doleva od kraje/hamburgeru */
    .navigation-buttons .cart-count {
        margin-right: 30px !important;
    }

    #header .header-top a.cart-count i {
        right: 0!important;
        left: 0!important;
    }

    #category-header {
        z-index: 10 !important;
    }

    #content .filters-wrapper {
       background-color: #fdfaf7 !important;
        border: 1px solid #efe3d6 !important;
        border-radius: 16px !important;
        padding: 10px !important;
        margin: 0 0 30px 0 !important;
        box-shadow: 0 4px 15px rgba(0,0,0,.03) !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    #content .filters-wrapper>div:first-of-type {
        margin-bottom: 0!important;
    }

    table.detail-parameters { 
        padding: 10px !important;
    }
}

/* ========================================================= */
/* --- KOMPLETNÍ PATIČKA (FINÁLNÍ VERZE S ODKAZEM) --- */
/* ========================================================= */

/* 1. SKRYTÍ SHOPTET ELEMENTŮ */
#signature, .signature, #footer .copyright, #footer .footer-bottom, #footer .cookie-info {
    display: none !important;
}

/* 2. BÍLÝ BLOK S NAVIGACÍ */
#my-custom-footer {
    background-color: #ffffff !important;
    border-top: 1px solid #efe3d6 !important;
    width: 100vw !important; /* Vynucení plné šířky okna */
    max-width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important; /* Prolomení omezujícího kontejneru */
    margin-right: calc(-50vw + 50%) !important;
    display: block !important;
    box-sizing: border-box !important;
}

.custom-footer-columns {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 40px !important;
    max-width: 1100px !important; 
    margin: 0 auto !important;
    padding: 60px 20px !important;
    text-align: center !important;
}

.footer-col h3 { 
    color: #111 !important; 
    font-size: 16px !important; 
    font-weight: 800 !important; 
    text-transform: uppercase !important; 
    margin-bottom: 25px !important; 
}

.footer-col ul { 
    list-style: none !important; 
    padding: 0 !important; 
    margin: 0 !important; 
    display: flex !important; 
    flex-direction: column !important; 
    align-items: center !important; 
}

.footer-col ul li { margin-bottom: 12px !important; }

.footer-col ul li a, .footer-col li { 
    color: #777 !important; 
    text-decoration: none !important; 
    font-size: 14px !important; 
}

.footer-col ul li a:hover { color: #4e342e !important; }

/* 3. KRÉMOVÝ PRUH (SPODEK) */
#custom-copyright-pruh {
    background-color: #ffffff !important;
    color: #777 !important;
    font-size: 13px !important;
    text-align: center !important;
    padding: 25px 20px 25px 20px !important;
    width: 100% !important;
    border-top: 1px solid #efe3d6 !important;
    box-sizing: border-box !important;
}

#custom-copyright-pruh a {
    color: #777 !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
}

#custom-copyright-pruh a:hover {
    color: #4e342e !important;
}

/* Responzivita */
@media (max-width: 768px) {
    .custom-footer-columns { 
        grid-template-columns: 1fr !important; 
        gap: 35px !important; 
        padding: 40px 20px !important; 
    }
}

/* ========================================================= */
/* --- VYPNUTÍ POPOJÍŽDĚNÍ PRAVÉHO BLOKU V KOŠÍKU (OPRAVA) --- */
/* ========================================================= */

#checkoutSidebar,
.js-sticky-sidebar {
    position: static !important; 
    top: auto !important;
    bottom: auto !important;
    transform: none !important; /* Zákaz posouvání od Shoptetu */
}

.js-sticky-sidebar-parent {
    min-height: auto !important;
    height: auto !important;
}

/* ========================================================= */
/* --- SPRÁVA ÚČTU (KLIENTSKÉ CENTRUM) --- */
/* ========================================================= */

/* 1. LEVÉ MENU (Sidebar) */
.client-center-box {
    background-color: #fdfaf7 !important;
    border: 1px solid #efe3d6 !important;
    border-radius: 16px !important;
    padding: 25px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,.03) !important;
    margin-bottom: 30px !important;
}

.client-center-box ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.client-center-box li {
    border-bottom: 1px dashed #efe3d6 !important;
}
.client-center-box li:last-child {
    border-bottom: none !important;
}

.client-center-box li a {
    display: block !important;
    padding: 12px 0 !important;
    color: #777 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    font-size: 14px !important;
}

.client-center-box li.active a,
.client-center-box li a:hover {
    color: #4e342e !important;
    font-weight: 800 !important;
    transform: translateX(4px) !important;
}

/* Nadpis v menu (Jméno) */
.client-center-box li strong {
    color: #111 !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    display: block !important;
    padding-bottom: 5px !important;
}

/* Tlačítko Odhlásit se */
.client-center-box li.logout {
    margin: 10px 0 15px 0 !important;
    border-bottom: none !important;
}
.client-center-box li.logout a.btn {
    background-color: #fff !important;
    color: #111 !important;
    border: 1px solid #efe3d6 !important;
    border-radius: 30px !important;
    padding: 8px 20px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    font-size: 11px !important;
    display: inline-block !important;
}
.client-center-box li.logout a.btn:hover {
    border-color: #4e342e !important;
    color: #4e342e !important;
}

/* 2. PRAVÁ ČÁST (Hlavní obsah) */
#content.content.narrow .content-inner {
    background-color: #fdfaf7 !important;
    border: 1px solid #efe3d6 !important;
    border-radius: 16px !important;
    padding: 40px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,.03) !important;
}

/* Nadpisy */
#content.content.narrow h1 {
    font-size: 24px !important;
    font-weight: 800 !important;
    color: #111 !important;
    margin-bottom: 20px !important;
    border-bottom: 2px dashed #efe3d6 !important;
    padding-bottom: 15px !important;
    text-align: left !important;
}

#content.content.narrow h2 {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #111 !important;
    margin: 30px 0 15px 0 !important;
    text-align: center !important;
}

#content.content.narrow h4 {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #4e342e !important;
    margin-bottom: 10px !important;
    text-align: left !important;
}

#content.content.narrow p {
    color: #555 !important;
    line-height: 1.6 !important;
}

/* Tlačítko Znovu nakoupit */
#content.content.narrow .btn-primary {
    background-color: #4e342e !important;
    color: #fff !important;
    border: none !important;
    border-radius: 30px !important;
    padding: 0 25px !important;
    height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    transition: all 0.3s ease !important;
    margin-top: 10px !important;
}
#content.content.narrow .btn-primary:hover {
    background-color: #2c1e16 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 15px rgba(78,52,46,.2) !important;
}

/* 3. TABULKA S DETAILY OBJEDNÁVKY */
.table-order-details {
    width: 100% !important;
    border-collapse: collapse !important;
    background: transparent !important;
    margin-top: 15px !important;
}

.table-order-details th {
    background-color: #ffffff !important;
    color: #777 !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    padding: 15px !important;
    border: 1px solid #efe3d6 !important;
    border-bottom: 2px solid #efe3d6 !important;
    text-align: left !important;
}

.table-order-details td {
    padding: 20px 15px !important;
    border: 1px solid #efe3d6 !important;
    vertical-align: middle !important;
    background: #ffffff !important;
    color: #111 !important;
}

/* Název a kód produktu */
.table-order-details .p-name__itemLink {
    color: #111 !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    text-decoration: none !important;
    display: block !important;
}
.table-order-details .p-name__itemLink:hover {
    color: #4e342e !important;
}
.table-order-details .p-name__codeLabel,
.table-order-details .p-name__code {
    font-size: 12px !important;
    color: #777 !important;
}

/* Ceny a zvýraznění */
.table-order-details .cell--price strong {
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #111 !important;
}

/* Souhrnný řádek (Cena celkem) */
.table-order-details .row-summary td {
    background-color: #f7f3ec !important;
    border: 1px solid #efe3d6 !important;
}
.table-order-details .list-summary {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 15px !important;
    margin: 0 !important;
}
.table-order-details .list-summary dt {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #777 !important;
    margin: 0 !important;
}
.table-order-details .list-summary dd strong {
    font-size: 24px !important;
    font-weight: 800 !important;
    color: #111 !important;
    margin: 0 !important;
}

/* Skrytí mobilních nadpisů na PC */
@media (min-width: 769px) {
    .table-order-details .client-table-heading {
        display: none !important;
    }
}

/* Responzivita pro mobilní Klientské centrum */
@media (max-width: 768px) {
    #content.content.narrow .content-inner {
        padding: 25px 15px !important;
    }
    .table-order-details th {
        display: none !important; /* Na mobilu Shoptet schovává hlavičku tabulky */
    }
    .table-order-details td {
        display: block !important;
        width: 100% !important;
        border: none !important;
        border-bottom: 1px dashed #efe3d6 !important;
        padding: 10px 0 !important;
    }
    .table-order-details .client-table-heading {
        display: inline-block !important;
        width: 120px !important;
        color: #777 !important;
        font-weight: 600 !important;
        font-size: 13px !important;
    }
}

/* ========================================================= */
/* --- TLAČÍTKA VE SPRÁVĚ ÚČTU A REGISTRACI --- */
/* ========================================================= */

/* Centrování obalů s tlačítky */
.formRegistration .submit-wrapper,
.formRegistration .co-box p:has(.btn) {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 20px !important;
    width: 100% !important;
}

/* Design samotných tlačítek (Uložit, Přidat novou adresu atd.) */
.formRegistration .btn,
.formRegistration input[type="submit"],
.formRegistration .btn-secondary {
    background-color: #4e342e !important;
    color: #fff !important;
    border: none !important;
    border-radius: 30px !important;
    height: 48px !important;
    padding: 0 40px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    transition: all 0.3s ease !important;
    box-shadow: none !important;
    text-shadow: none !important;
    cursor: pointer !important;
    min-width: 250px !important;
    text-decoration: none !important;
    margin: 10px 0 !important;
}

/* Hover efekt */
.formRegistration .btn:hover,
.formRegistration input[type="submit"]:hover,
.formRegistration .btn-secondary:hover {
    background-color: #2c1e16 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 15px rgba(78,52,46,0.2) !important;
    color: #fff !important;
}

/* ========================================================= */
/* --- DOKONČENÍ OBJEDNÁVKY (DĚKOVACÍ STRÁNKA) --- */
/* ========================================================= */

/* Hlavní obal stránky s poděkováním */
#content.content.narrow .content-inner:has(.order-summary-heading) {
    background-color: #fdfaf7 !important;
    border: 1px solid #efe3d6 !important;
    border-radius: 16px !important;
    padding: 50px 40px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,.03) !important;
    max-width: 800px !important;
    margin: 0 auto 40px auto !important;
    text-align: center !important; /* Vycentrování úvodních textů */
}

/* Hlavní nadpis */
.order-summary-heading {
    font-size: 28px !important;
    font-weight: 800 !important;
    color: #111 !important;
    margin-bottom: 15px !important;
    border: none !important;
}

/* Text "Děkujeme za Vaši objednávku..." a číslo */
#content.content.narrow .content-inner:has(.order-summary-heading) > span,
.recapitulation-wrapper > p.reca-number {
    font-size: 16px !important;
    color: #555 !important;
    margin-bottom: 30px !important;
    display: inline-block !important;
}
.reca-number strong,
#content.content.narrow .content-inner:has(.order-summary-heading) > span {
    color: #4e342e !important;
    font-size: 18px !important;
    font-weight: 800 !important;
}

/* --------------------------------------------------------- */
/* Boxy s detaily (Platba a doručení / Obsah) */
/* --------------------------------------------------------- */
.co-box.co-payment-method,
.co-box.co-order {
    padding: 35px !important;
    margin-bottom: 30px !important;
    text-align: left !important;
}

/* Nadpisy v boxech */
.co-box h4.order-icon {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #111 !important;
    border-bottom: 2px dashed #efe3d6 !important;
    padding-bottom: 15px !important;
    margin-bottom: 20px !important;
}

/* Tabulka dopravy a platby */
.recapitulation-table {
    width: 100% !important;
    background: transparent !important;
    border: none !important;
}
.recapitulation-table th,
.recapitulation-table td {
    padding: 12px 0 !important;
    border-bottom: 1px dashed #efe3d6 !important;
    background: transparent !important;
}
.recapitulation-table tr:last-child th,
.recapitulation-table tr:last-child td {
    border-bottom: none !important;
}
.recapitulation-table th {
    font-weight: 600 !important;
    color: #111 !important;
    width: 40% !important;
}
.recapitulation-wrapper table.table tbody>tr>th:after{
    display: none;
}

.recapitulation-wrapper table tr th .row-header-label {
    background-color: #fdfaf7 !important;
}

.recapitulation-table td {
    font-weight: 700 !important;
    color: #111 !important;
    text-align: right !important;
}

/* Tabulka zakoupených položek */
.co-order .cart-table {
    width: 100% !important;
}
.co-order .cart-table-header td {
    font-size: 12px !important;
    color: #777 !important;
    font-weight: 600 !important;
    border-bottom: 2px solid #efe3d6 !important;
    padding-bottom: 10px !important;
}
.co-order .cart-table td {
    padding: 15px 0 !important;
    border-bottom: 1px dashed #efe3d6 !important;
    vertical-align: middle !important;
}
.co-order .cart-table tr:last-child td {
    border-bottom: none !important;
}

/* Fotka a název v tabulce */
.co-order .cart-p-image img {
    border-radius: 8px !important;
    border: 1px solid #efe3d6 !important;
    max-width: 60px !important;
}
.co-order .p-name span {
    font-weight: 700 !important;
    color: #111 !important;
    font-size: 15px !important;
}

/* --------------------------------------------------------- */
/* Závěrečné texty a tlačítka */
/* --------------------------------------------------------- */
.order-summary-item.total {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #555 !important;
    margin: 20px 0 10px 0 !important;
}
.order-summary-item.summary-thx {
    font-size: 24px !important;
    font-weight: 800 !important;
    color: #111 !important;
    margin-bottom: 35px !important;
}

/* Tlačítko Moje Nákupy */
.order-complete-links .btn-primary {
    background-color: #4e342e !important;
    color: #fff !important;
    border: none !important;
    border-radius: 30px !important;
    height: 48px !important;
    padding: 0 40px !important;
    font-weight: 700 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    transition: all .3s ease !important;
    margin-bottom: 25px !important;
    text-decoration: none !important;
}
.order-complete-links .btn-primary:hover {
    background-color: #2c1e16 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 15px rgba(78,52,46,.2) !important;
}

/* Spodní řádek s odkazy (Zpět do obchodu atd.) */
.order-complete-links p:last-child {
    color: #ccc !important; /* Barva lomítek | */
    font-size: 14px !important;
}
.order-complete-links a:not(.btn) {
    color: #777 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    margin: 0 8px !important;
    transition: color 0.2s ease !important;
}
.order-complete-links a:not(.btn):hover {
    color: #4e342e !important;
}

/* Responzivita (Mobily) */
@media (max-width: 768px) {
    #content.content.narrow .content-inner:has(.order-summary-heading) {
        padding: 30px 20px !important;
    }
    .co-box.co-payment-method, .co-box.co-order {
        padding: 20px !important;
    }
    .co-order .cart-table-header {
        display: none !important;
    }
    .recapitulation-table th, .recapitulation-table td {
        display: block !important;
        width: 100% !important;
        text-align: left !important;
    }
    .recapitulation-table td {
        padding-top: 0 !important;
        border-bottom: 1px dashed #efe3d6 !important;
    }
}

/* ========================================================= */
/* --- OPRAVA PŘEKRÝVÁNÍ WIDGETŮ (KOŠÍK A LOGIN) --- */
/* ========================================================= */

.popup-widget.cart-widget,
.popup-widget.login-widget,
.popup-widget.cart-widget .popup-widget-inner,
.popup-widget.login-widget .popup-widget-inner {
    z-index: 999999 !important; /* Definitivní povýšení nad celou hlavičku a navigaci */
}

@media (min-width: 769px) {
    .fitted .navigation-in ul {
        justify-content: center !important;
    }
}


/* --- OBARVENÍ NEPRODUKTOVÝCH ODKAZŮ DO HNĚDA --- */
/* ========================================================= */

/* Tento kód si je najde, ať už je Shoptet přesunul kamkoliv */
#navigation .menu-level-1 a[href*="kontakt"],
#navigation .menu-level-1 a[href*="podminky"],
#navigation .menu-level-1 a[href*="doprava"],
#navigation .menu-level-1 a[href*="ochrana"],
#navigation .menu-level-1 a[href*="osobni"] {
    color: #4e342e7a !important;
}

#navigation .menu-level-1 a[href*="kontakt"]:hover,
#navigation .menu-level-1 a[href*="podminky"]:hover,
#navigation .menu-level-1 a[href*="ochrana"]:hover,
#navigation .menu-level-1 a[href*="osobni"]:hover {
    color: #2c1e16 !important;
}


/* ========================================================= */
/* --- PRÁZDNÝ KOŠÍK --- */
/* ========================================================= */

/* Zrušení nechtěného obalu kolem celého prázdného košíku */
#content.content.narrow .content-inner:has(.cart-empty) {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* Nadpis prázdného košíku */
.cart-empty .cart-heading {
    text-align: center !important;
    font-size: 28px !important;
    font-weight: 800 !important;
    color: #111 !important;
    margin-bottom: 40px !important;
    border: none !important;
}

/* Obaly pro nabídku a kontakt (čisté bílé karty) */
.cart-empty .cart-content {
    background-color: #fff !important; 
    border: 1px solid #efe3d6 !important;
    border-radius: 16px !important;
    padding: 40px !important;
    height: 100% !important; /* Aby byly oba sloupce stejně vysoké */
    box-shadow: 0 4px 15px rgba(0,0,0,.02) !important;
    margin-bottom: 0 !important;
}

/* Srovnání výšek sloupců pomocí flexboxu na řádku */
.cart-empty .cart-row {
    display: flex !important;
    align-items: stretch !important;
    flex-wrap: wrap !important;
}
.cart-empty .cart-row > div[class*="col-"] {
    display: flex !important;
    flex-direction: column !important;
    margin-bottom: 25px !important;
}

/* Podnadpisy v boxech */
.cart-empty .cart-content h3,
.cart-empty .cart-content h4 {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #111 !important;
    border-bottom: 2px dashed #efe3d6 !important;
    padding-bottom: 15px !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
}

/* Seznam kategorií */
.cart-empty .empty-cart-boxes ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.cart-empty .empty-cart-boxes ul li {
    margin-bottom: 10px !important;
}
.cart-empty .empty-cart-boxes ul li a {
    color: #4e342e !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    font-size: 15px !important;
    display: block !important;
    padding: 10px 15px !important;
    background-color: #fdfaf7 !important;
    border-radius: 8px !important;
    transition: all 0.2s ease !important;
    border: 1px solid transparent !important;
}
.cart-empty .empty-cart-boxes ul li a:hover {
    background-color: #fff !important;
    border-color: #4e342e !important;
    color: #4e342e !important;
    transform: translateX(4px) !important;
}

/* Tlačítko Hledat */
.cart-empty .js-try-search-button {
    background-color: #4e342e !important;
    color: #fff !important;
    border: none !important;
    border-radius: 30px !important;
    height: 48px !important;
    padding: 0 30px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    transition: all .3s ease !important;
    box-shadow: none !important;
    margin-top: 10px !important;
}
.cart-empty .js-try-search-button:hover {
    background-color: #2c1e16 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 15px rgba(78,52,46,.2) !important;
    color: #fff !important;
}

/* Vyčištění boxu pro kontakt (zabití šedého Shoptet pozadí) */
.cart-empty .box-bg-default {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
}

.cart-empty .contact-box strong {
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #111 !important;
    display: block !important;
    margin-bottom: 10px !important;
}

.cart-empty .contact-box ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.cart-empty .contact-box ul li {
    margin-bottom: 8px !important;
}
.cart-empty .contact-box ul li a {
    color: #777 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}
.cart-empty .contact-box ul li a:hover {
    color: #4e342e !important;
}

/* Responzivita mobil */
@media (max-width: 768px) {
    .cart-empty .cart-content {
        padding: 25px 20px !important;
    }
    .cart-empty .empty-cart-boxes > div {
        margin-bottom: 30px !important;
    }
    .cart-empty .empty-cart-boxes > div:last-child {
        margin-bottom: 0 !important;
    }
    .cart-empty .cart-heading {
        font-size: 22px !important;
        margin-bottom: 25px !important;
    }
}

/* Skryjeme nativní Shoptet notifikační lištu vizuálně, ale necháme ji v DOM */
.msg {
    opacity: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    position: fixed !important;
}

/* Custom toast notifikace */
#custom-toast-container {
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 999999;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    pointer-events: none;
}
.custom-toast {
    pointer-events: auto;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 24px;
    border-radius: 14px;
    background: #fdfaf7;
    box-shadow: 0 8px 32px rgba(0,0,0,0.12), 0 2px 8px rgba(0,0,0,0.08);
    border: 1px solid #efe3d6;
    border-left: 4px solid #4e342e;
    max-width: 420px;
    min-width: 280px;
    font-size: 14px;
    font-weight: 600;
    color: #2b2b2b;
    transform: translateY(-120%);
    opacity: 0;
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.4s ease;
}
.custom-toast.toast-visible {
    transform: translateY(0);
    opacity: 1;
}
.custom-toast.toast-hiding {
    transform: translateY(-120%);
    opacity: 0;
    transition: transform 0.3s ease-in, opacity 0.3s ease-in;
}
.custom-toast.toast-success {
    border-left-color: #388e3c;
}
.custom-toast.toast-error {
    border-left-color: #d32f2f;
}
.custom-toast.toast-warning {
    border-left-color: #f9a825;
}
.custom-toast.toast-info {
    border-left-color: #4e342e;
}
.custom-toast-icon {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
}
.custom-toast-icon svg {
    width: 28px;
    height: 28px;
    animation: cartCheckPop 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) both;
}
.custom-toast-text {
    flex: 1;
    line-height: 1.4;
}
.custom-toast-close {
    flex-shrink: 0;
    background: none;
    border: none;
    cursor: pointer;
    color: #999;
    font-size: 18px;
    padding: 0 0 0 8px;
    line-height: 1;
    transition: color 0.2s ease;
}
.custom-toast-close:hover {
    color: #333;
}
@media (max-width: 768px) {
    #custom-toast-container {
        top: 10px;
        left: 50%;
        transform: translateX(-50%);
        width: calc(100% - 20px);
    }
    .custom-toast {
        max-width: none;
        min-width: 0;
        width: 100%;
    }
}

#cboxLoadedContent {
    z-index: 999999999 !important;
}

.products-top-wrapper {
    display: none !important;
}

.filter-section {
    background-color: #fdfaf7 !important;
}

/* ========================================================= */
/* --- STYLOVÁNÍ INFO STRÁNEK (DOPRAVA A ROZVOZ) --- */
/* ========================================================= */

/* 1. Odstranění sidebaru, diskuze a dvojitého pozadí */
body:has(.info-page-card) aside.sidebar-left,
body:has(.info-page-card) .discussionContainer,
body:has(.info-page-card) #discussion,
body:has(.info-page-card) .discussion,
body:has(.info-page-card) .article-discussion,
body:has(.info-page-card) .news-item-discussion,
body:has(.info-page-card) .rate-wrapper,
body:has(.info-page-card) .pageArticleDetail + h2 {
    display: none !important;
}

body:has(.info-page-card) #content {
    width: 100% !important;
    max-width: 900px !important;
    margin: 0 auto !important;
    float: none !important;
}

body:has(.info-page-card) #content > .content-inner {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* 2. Karty (Boxy s obsahem) */
.info-page-card {
    padding: 50px 40px !important;
    margin-bottom: 40px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

/* 3. Definice ikon (Vloženo přímo přes CSS, aby je editor nesmazal) */
.info-page-icon {
    width: 60px !important;
    height: 60px !important;
    margin-bottom: 20px !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

/* Ikona pro rozvoz do firem (Šipka) */
.delivery-firms .info-page-icon {
    background-image: url("https://cdn.myshoptet.com/usr/781782.myshoptet.com/user/banners/pravidelny-rozvoz.svg?69d679f4") !important;
}

/* Ikona pro Zásilkovnu (Dodávka) */
.delivery-zasilkovna .info-page-icon {
    background-image: url("https://cdn.myshoptet.com/usr/781782.myshoptet.com/user/banners/delivery-svgrepo-com.svg?69d0409d") !important;
}

.info-page-heading {
    font-size: 24px !important;
    font-weight: 800 !important;
    color: #111 !important;
    margin-bottom: 25px !important;
    border-bottom: 2px dashed #efe3d6 !important;
    padding-bottom: 20px !important;
    text-align: center !important;
    width: 100% !important;
}

.info-page-content p {
    color: #555 !important;
    line-height: 1.7 !important;
    font-size: 15px !important;
    margin-bottom: 20px !important;
    text-align: justify !important;
}

.info-page-content strong {
    color: #4e342e !important; 
    font-weight: 800 !important;
}

/* 4. Ceníky */
.shipping-info-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 25px !important;
    margin-top: 40px !important;
    width: 100% !important;
}

.shipping-method {
    background: #fff !important;
    border: 1px solid #efe3d6 !important;
    border-radius: 12px !important;
    padding: 30px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,.02) !important;
}   

.shipping-method h3 {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #111 !important;
    margin: 0 0 20px 0 !important;
    text-align: center !important;
}

.price-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 12px 0 !important;
    border-bottom: 1px dashed #efe3d6 !important;
    font-size: 14px !important;
    color: #555 !important;
}

.price-row:last-child {
    border-bottom: none !important;
}

.price-row strong {
    color: #111 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
}

@media (max-width: 768px) {
    .shipping-info-grid { grid-template-columns: 1fr !important; }
    .info-page-card { padding: 30px 20px !important; }
}

/* ========================================================= */
/* --- TLAČÍTKO KONTAKT NA INFO STRÁNKÁCH --- */
/* ========================================================= */

.info-page-card .info-page-btn {
    background-color: #4e342e !important;
    color: #fff !important;
    border-radius: 30px !important;
    height: 48px !important;
    padding: 0 40px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 25px !important;
    transition: all 0.3s ease !important;
    font-size: 14px !important;
    box-shadow: none !important;
}

.info-page-card .info-page-btn:hover {
    background-color: #2c1e16 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 15px rgba(78,52,46,0.2) !important;
    color: #fff !important;
}

/* ========================================================= */
/* --- KONTAKTNÍ STRÁNKA: Skrytí diskuze + kontaktní karta --- */
/* ========================================================= */

/* Skrytí diskuze na kontaktní stránce */
body:has(.contactForm) .discussionContainer,
body:has(.contactForm) #discussion,
body:has(.contactForm) .discussion,
body:has(.contactForm) .article-discussion,
body:has(.contactForm) .news-item-discussion,
body:has(.contactForm) .discussionContainer + h2,
body:has(.contactForm) h2:has(+ .discussionContainer) {
    display: none !important;
}

/* Kontaktní karta pod formulářem */
.contact-page-info {
    background-color: #fdfaf7 !important;
    border: 1px solid #efe3d6 !important;
    border-radius: 16px !important;
    padding: 35px 40px !important;
    margin-top: 30px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,.02) !important;
}

.contact-page-info h3 {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #111 !important;
    margin: 0 0 25px 0 !important;
    padding-bottom: 18px !important;
    border-bottom: 2px dashed #efe3d6 !important;
}

.contact-page-items {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 25px !important;
}

.contact-page-item {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    flex: 1 1 200px !important;
}

.contact-page-item svg {
    color: #4e342e !important;
    flex-shrink: 0 !important;
}

.contact-page-item div {
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
}

.contact-page-item strong {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: #999 !important;
}

.contact-page-item a {
    color: #4e342e !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.contact-page-item a:hover {
    color: #2c1e16 !important;
}

@media (max-width: 768px) {
    .contact-page-info { padding: 25px 20px !important; }
    .contact-page-items { flex-direction: column !important; gap: 20px !important; }
}

/* ========================================================= */
/* --- VYCENTROVÁNÍ WELCOME TEXTU NA HOMEPAGE --- */
/* ========================================================= */

.welcome-wrapper {
    margin: 0 auto 40px auto !important; /* "auto" po stranách box vycentruje */
    width: 100% !important;
    padding: 40px 50px !important; /* Trochu větší vnitřní okraj pro vzdušnější design */
}

/* Responzivita pro mobilní zařízení */
@media (max-width: 768px) {
    .welcome-wrapper {
        padding: 25px 20px !important;
    }
}

/* ===== OSOBNÍ ODBĚR POUZE PRO VIP =====
   Fail-closed: defaultně skryté všude (radio, label i wrapper řádek).
   Zobrazí se až když JS přidá třídu .is-vip-customer na <html>.
   :has() funguje ve všech moderních prohlížečích (Chrome 105+, Safari 15.4+, Firefox 121+). */

html:not(.is-vip-customer) .shipping-billing-item:has(#shipping-4) {
    display: none !important;
}

/* Extrémní pojistka: Schová přímo i samotné tlačítko a text, aby nic neprobliklo */
html:not(.is-vip-customer) #shipping-4,
html:not(.is-vip-customer) label[for="shipping-4"] {
    display: none !important;
}

/* VIP STAV: Zobrazit zpět, když JS potvrdí status */
html.is-vip-customer .shipping-billing-item:has(#shipping-4) {
    display: flex !important; 
}
