/* =======================================================
   HLAVNÍ NAVIGACE A IKONY
   ======================================================= */

/* 1. Zvětšení textu v hlavním menu a podmenu na 20px */
#header #navigation a,
#header .menu-helper span {
    font-size: 20px !important;
}

/* 2. Barva grafických ikon vpravo */
#header .navigation-buttons a,
#header .navigation-buttons button,
#header .navigation-buttons a::before,
#header .navigation-buttons button::before {
    color: #aece6d !important;
}

/* 3. Proporcionální zvětšení ovládacích ikon vpravo */
#header .navigation-buttons a,
#header .navigation-buttons button {
    font-size: 25px !important;
}

/* 4. Texty v hlavním menu a podmenu (Nová barva #1f2817) */
#header #navigation a,
#header #navigation a b,
#header #navigation a span,
#header .menu-helper span {
    color: #1f2817 !important;
}


/* =======================================================
   SKRÝVÁNÍ A GLOBÁLNÍ ÚPRAVY PRVKŮ
   ======================================================= */

/* Skrytí sekce Nejprodávanější v kategoriích */
.products-top-wrapper {
    display: none !important;
}

/* Globální skrytí lišty s řazením produktů v kategoriích */
#category-header {
    display: none !important;
}

/* Změna barvy krátkého popisu na #1f2817 */
.p-short-description,
.p-short-description * {
    color: #1f2817 !important;
}

/* Změna barvy popisků v benefitech na #1f2817 */
.benefitBanner__data {
    color: #1f2817 !important;
}

/* Přebarvení názvů produktů ve výpisu kategorií na #1f2817 */
.p-in-in .name,
.p-in-in .name [data-testid="productCardName"] {
    color: #1f2817 !important;
}

/* Zúžení celého kontejneru webu na velkém monitoru */
@media (min-width: 1440px) {
    .container {
        width: 1380px;
    }
}


/* =======================================================
   ÚPRAVA SEKUNDÁRNÍCH BANNERŮ (KARTY S PŘESAHEM)
   ======================================================= */

/* 1. Globální vzhled boxů */
.next-to-carousel-banners .banner-wrapper {
    background-color: #f7faf5 !important;
    border-radius: 12px !important;
    padding: 20px !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05) !important;
    text-align: center !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

/* Jemný efekt při najetí myší */
.next-to-carousel-banners .banner-wrapper:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1) !important;
}

/* Zajištění, že odkaz roztáhne klikatelnost na celý box */
.next-to-carousel-banners .banner-wrapper a {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    text-decoration: none !important;
}

/* Vynucení automatické výšky a viditelnosti pro Shoptet šablony */
.next-to-carousel-banners .banner-wrapper,
.next-to-carousel-banners .banner-wrapper a,
.next-to-carousel-banners .extended-empty {
    height: auto !important;
    min-height: unset !important;
    overflow: visible !important;
}

/* 2. Zmenšení obrázků */
.next-to-carousel-banners .banner-wrapper img {
    max-height: 120px !important;
    width: auto !important;
    object-fit: contain !important;
    margin: 0 auto 15px auto !important;
}

/* 3. Styling textů */
.custom-banner-content {
    display: block !important;
    margin-top: 5px !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-size: inherit;
}

.custom-banner-title {
    display: block !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #222222 !important;
    margin-bottom: 6px !important;
}

.custom-banner-desc {
    display: block !important;
    font-size: 13px !important;
    color: #666666 !important;
    line-height: 1.4 !important;
}

/* 4. Pozicování a fixní odstup (Desktop) */
@media (min-width: 992px) {
    .next-to-carousel-banners {
        display: flex !important;
        justify-content: center !important;
        gap: 20px !important;
        position: relative !important;
        z-index: 99 !important;
        max-width: 1380px !important;
        margin: -75px auto 0 auto !important;
        padding: 0 15px !important;
    }

    .next-to-carousel-banners .banner-wrapper {
        flex: 1 !important;
        max-width: 320px !important;
    }
}

/* 5. Responsivita (Mobily a tablety) */
@media (max-width: 991px) {
    .next-to-carousel-banners {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
        margin-top: 25px !important;
        padding: 0 10px !important;
    }

    .next-to-carousel-banners .banner-wrapper {
        padding: 15px 10px !important;
    }

    .next-to-carousel-banners .banner-wrapper img {
        max-height: 50px !important;
    }

    .custom-banner-title {
        font-size: 14px !important;
    }

    .custom-banner-desc {
        font-size: 12px !important;
    }
}


/* =======================================================
   PRODUKTOVÉ KARTY A OŘÍZNUTÍ FOTEK
   ======================================================= */

/* 1. Úprava samotného boxu produktu */
.products-block .product .p {
    background-color: #f7faf5 !important;
    border-radius: 12px !important;
    padding: 20px !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    height: 100% !important;
    box-sizing: border-box !important;
}

/* Efekt při najetí myší */
.products-block .product .p:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1) !important;
}

.products-block .product .p .image {
    border-radius: 12px !important;
    background-color: #f7faf5 !important;
    padding: 15px !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

.products-block .product .p .image img {
    border-radius: 8px !important;
    background: transparent !important;
    padding: 0 !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    box-sizing: border-box !important;
}

/* 2. Zarovnání obsahu */
.products-block .product .p .p-in {
    padding: 15px 0 0 0 !important;
    margin: 0 !important;
}


/* =======================================================
   DETAIL PRODUKTU A ROZVRŽENÍ STRÁNKY
   ======================================================= */

/* Šířka welcome elementu */
.welcome {
    max-width: 900px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Šířka dlouhého popisu produktu - roztažení na celou šířku kontejneru */
.description-inner,
.description-inner .basic-description,
.description-inner .basic-description > div {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    float: none !important;
}

/* Odstranění "Detailní popis produktu" nadpisu */
.description-inner .basic-description h4 {
    display: none !important;
}

/* 1. box v popisku: Základní informace - na celou šířku kontejneru */
.description-inner .basic-description > div > div:first-child,
.description-inner .basic-description > div:first-child,
.description-inner div[style*="f7faf5"] {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Ostatní boxy, texty a tabulky pod prvním boxem - vycentrované na max 1000px */
.description-inner .basic-description > div > div:not(:first-child),
.description-inner .basic-description > div > table,
.description-inner .basic-description > div > p,
.description-inner .basic-description > div > h3 {
    max-width: 1000px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* =======================================================
   PŘEHLEDNÁ STRUKTURA SPECIFIKACÍ (1. ZELENÝ BOX)
   ======================================================= */

/* Mřížka parametrů: rozvržení do 2 širokých sloupců na desktopu */
.description-inner div[style*="f7faf5"] > div[style*="grid"],
.description-inner .basic-description > div > div:first-child > div[style*="grid"],
.description-inner .basic-description > div:first-child > div[style*="grid"] {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px 50px !important;
}

/* Jednotlivý řádek parametru: flexbox s pevnou mezerou zabraňující překrývání */
.description-inner div[style*="f7faf5"] > div[style*="grid"] > div,
.description-inner .basic-description > div > div:first-child > div[style*="grid"] > div,
.description-inner .basic-description > div:first-child > div[style*="grid"] > div {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 16px !important;
    padding: 9px 0 !important;
    border-bottom: 1px dashed #e2e8f0 !important;
    box-sizing: border-box !important;
}

/* Levá strana: ikona + název parametru (nezalamuje se do více řádků) */
.description-inner div[style*="f7faf5"] > div[style*="grid"] > div > div:first-child,
.description-inner .basic-description > div > div:first-child > div[style*="grid"] > div > div:first-child,
.description-inner .basic-description > div:first-child > div[style*="grid"] > div > div:first-child {
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
}

.description-inner div[style*="f7faf5"] > div[style*="grid"] > div > div:first-child span,
.description-inner .basic-description > div > div:first-child > div[style*="grid"] > div > div:first-child span,
.description-inner .basic-description > div:first-child > div[style*="grid"] > div > div:first-child span {
    font-weight: 600 !important;
    color: #475569 !important;
    white-space: nowrap !important;
}

/* Pravá strana: hodnota parametru (zarovnaná doprava, nezakrývá název) */
.description-inner div[style*="f7faf5"] > div[style*="grid"] > div > span:last-child,
.description-inner .basic-description > div > div:first-child > div[style*="grid"] > div > span:last-child,
.description-inner .basic-description > div:first-child > div[style*="grid"] > div > span:last-child {
    text-align: right !important;
    font-weight: 600 !important;
    color: #0f172a !important;
    line-height: 1.4 !important;
    word-break: normal !important;
}

/* Responzivita pro tablety (1 sloupec na celou šířku) */
@media (max-width: 820px) {
    .description-inner div[style*="f7faf5"] > div[style*="grid"],
    .description-inner .basic-description > div > div:first-child > div[style*="grid"],
    .description-inner .basic-description > div:first-child > div[style*="grid"] {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }
}

/* Responzivita pro mobilní telefony (uspořádání pod sebe) */
@media (max-width: 480px) {
    .description-inner div[style*="f7faf5"] > div[style*="grid"] > div,
    .description-inner .basic-description > div > div:first-child > div[style*="grid"] > div,
    .description-inner .basic-description > div:first-child > div[style*="grid"] > div {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 3px !important;
        padding: 8px 0 !important;
    }

    .description-inner div[style*="f7faf5"] > div[style*="grid"] > div > span:last-child,
    .description-inner .basic-description > div > div:first-child > div[style*="grid"] > div > span:last-child,
    .description-inner .basic-description > div:first-child > div[style*="grid"] > div > span:last-child {
        text-align: left !important;
        padding-left: 26px !important;
    }
}

/* Mobilní uspořádání benefitů do mřížky 2x2 */
@media (max-width: 767px) {
    .benefitBanner.position--benefitHomepage {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 15px !important;
        padding: 0 10px !important;
    }

    .benefitBanner.position--benefitHomepage .benefitBanner__item,
    .benefitBanner.position--benefitHomepage .benefitBanner__link {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 10px !important;
    }

    .benefitBanner.position--benefitHomepage .benefitBanner__picture {
        margin: 0 0 10px 0 !important;
        display: flex !important;
        justify-content: center !important;
    }

    .benefitBanner.position--benefitHomepage .benefitBanner__title {
        font-size: 14px !important;
        margin-bottom: 4px !important;
    }

    .benefitBanner.position--benefitHomepage .benefitBanner__data {
        font-size: 11px !important;
        line-height: 1.3 !important;
    }
}


/* =======================================================
   PATIČKA (FOOTER) A DALŠÍ PRVKY
   ======================================================= */

/* Skrytí newsletteru na všech stránkách */
.footer-newsletter-full-width {
    display: none !important;
}

/* Změna pozadí patičky */
#footer,
.footer-bottom-full-width {
    background-color: #ffffff !important;
    background-image: none !important;
    border-top: 1px solid #eaeaea;
}

/* Úprava textů na barvu #1f2817 */
#footer,
#footer .copyright,
#footer .contact-box,
#footer .contact-box strong {
    color: #1f2817 !important;
}

#footer h3,
#footer h3 span,
#footer .pageElement__heading,
#footer .pageElement__heading span {
    color: #db7248 !important;
}

/* Úprava odkazů v patičce */
#footer a {
    color: #1f2817 !important;
    text-decoration: none;
    transition: color 0.2s ease;
}

#footer a:hover {
    color: #db7248 !important;
}

/* Vycentrování aktivních sloupců v patičce */
#footer .custom-footer {
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
}

/* Změna barvy textu kategorií v bočním menu */
.box-categories #categories a {
    color: #666666 !important;
}

/* Změna barvy při najetí myší v bočním menu */
.box-categories #categories a:hover {
    color: #db7248 !important;
}

/* Skrytí bloku s hodnocením (hvězdiček) v detailu produktu */
.p-detail .stars-wrapper {
    display: none !important;
}

/* Obarvení a ztučnění ceny za kus v detailu produktu */
.p-price-wrapper .price-measure,
.p-price-wrapper .price-measure span {
    color: #db7248 !important;
    font-weight: bold !important;
}


/* =======================================================
   KONDENZOVANÉ MNOŽSTEVNÍ SLEVY
   ======================================================= */

/* Skrytí prostředních položek, pokud kontejner nemá třídu .is-expanded */
.js-quantity-discounts:not(.is-expanded) .js-hidden-discount {
    display: none !important;
}

/* Stylování řádku pro rozbalení slev */
.quantity-discounts__placeholder-item {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 12px;
    background-color: #fdfdfd;
    border: 1px dashed #db7248;
    border-radius: 6px;
    color: #db7248;
    font-weight: bold;
    font-size: 13px;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    margin: 8px 0;
    text-align: center;
    user-select: none;
}

/* Efekt při najetí myši na slevové tlačítko */
.quantity-discounts__placeholder-item:hover {
    background-color: #fdf5f1;
    border-style: solid;
    box-shadow: 0 2px 6px rgba(219, 114, 72, 0.15);
}

/* Vzhled řádku při rozbalení */
.js-quantity-discounts.is-expanded .quantity-discounts__placeholder-item {
    background-color: #f5f5f5;
    border: 1px solid #d1d5db;
    color: #4b5563;
}

.js-quantity-discounts.is-expanded .quantity-discounts__placeholder-item:hover {
    background-color: #e5e7eb;
}


/* =======================================================
   ETIKETY NA ROLI: PŘEPOČET A NÁKUP CELÝCH KARTONŮ
   ======================================================= */

/* 1. Zalomení formuláře košíku */
.p-to-cart-block .add-to-cart {
    flex-wrap: wrap !important;
}

/* 2. Pomocný text přepočtu etiket pod běžným množstvím kotoučů */
.p-to-cart-block .add-to-cart .js-roll-calculator-helper {
    width: 100% !important;
    order: 10 !important;
    margin-top: 8px !important;
    text-align: left !important;
    font-size: 13px !important;
    color: #166534 !important;
    font-weight: 600 !important;
}

/* 3. Kartonový modul (Nákup po celých kartonech) */
.js-carton-purchase-block {
    width: 100% !important;
    order: 20 !important;
    margin-top: 16px !important;
    padding: 18px 20px !important;
    background: #f8fafc !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
}

.carton-header {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 14px !important;
    flex-wrap: wrap !important;
}

/* Zelený štítek - přesně ladí s nákupním tlačítkem Shoptetu */
.carton-badge {
    background-color: #5eab3d !important;
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    padding: 4px 10px !important;
    border-radius: 4px !important;
    letter-spacing: 0.5px !important;
    display: inline-block !important;
}

.carton-info-text {
    font-size: 13.5px !important;
    color: #334155 !important;
}

/* Sleva štítek při dosažení množstevní slevy */
.carton-discount-tag {
    background-color: #f0fdf4 !important;
    border: 1px solid #86efac !important;
    color: #166534 !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    padding: 3px 8px !important;
    border-radius: 4px !important;
    display: inline-flex !important;
    align-items: center !important;
    margin-left: 6px !important;
}

.carton-action-row {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Stepper pro kartony - nezávislý na Shoptet třídách */
.carton-stepper {
    display: inline-flex !important;
    align-items: center !important;
    background: #ffffff !important;
    border: 1px solid #d1d5db !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    height: 46px !important;
    width: 112px !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
}

.carton-step-btn {
    background: #f3f4f6 !important;
    border: none !important;
    width: 38px !important;
    height: 100% !important;
    font-size: 18px !important;
    font-weight: bold !important;
    color: #374151 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    line-height: 1 !important;
    user-select: none !important;
    transition: background-color 0.15s ease !important;
}

.carton-step-btn:hover {
    background: #e5e7eb !important;
}

.carton-step-input {
    width: 36px !important;
    height: 100% !important;
    border: none !important;
    text-align: center !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    padding: 0 !important;
    background: transparent !important;
    -moz-appearance: textfield !important;
    box-sizing: border-box !important;
}

.carton-step-input::-webkit-outer-spin-button,
.carton-step-input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* Tlačítko pro přidání kartonu - roztáhne se na celou zbývající šířku boxu */
.btn-carton-submit {
    flex: 1 1 auto !important;
    height: 46px !important;
    background-color: #0284c7 !important;
    border: 1px solid #0284c7 !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.1s ease !important;
}

.btn-carton-submit:hover {
    background-color: #0369a1 !important;
    border-color: #0369a1 !important;
    color: #ffffff !important;
}

.btn-carton-submit:active {
    transform: scale(0.99) !important;
}

.carton-total-preview {
    font-size: 13px !important;
    color: #475569 !important;
    margin-top: 10px !important;
    text-align: left !important;
    line-height: 1.4 !important;
}

/* Mobilní responzivita kartonového modulu */
@media (max-width: 576px) {
    .carton-action-row {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    .carton-stepper {
        width: 100% !important;
        justify-content: space-between !important;
    }
    .carton-step-input {
        flex: 1 !important;
        width: auto !important;
    }
    .btn-carton-submit {
        width: 100% !important;
        margin-top: 8px !important;
    }
}


/* =======================================================
   NÁKUP PO ETIKETÁCH & KONTROLA NEDĚLITELNÉHO MNOŽSTVÍ
   ======================================================= */

/* 1. Ovládání množství v etiketách (nahrazuje nativní pole kotoučů) */
.js-labels-stepper {
    display: inline-flex !important;
    align-items: center !important;
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 4px !important;
    height: 46px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    margin-right: 10px !important;
    vertical-align: middle !important;
}

.labels-step-btn {
    background: #f8fafc !important;
    border: none !important;
    width: 38px !important;
    height: 100% !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #334155 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    user-select: none !important;
    transition: background-color 0.15s ease !important;
    padding: 0 !important;
}

.labels-step-btn:hover {
    background: #e2e8f0 !important;
}

.labels-input-wrapper {
    display: flex !important;
    align-items: center !important;
    padding: 0 10px 0 6px !important;
    background: #ffffff !important;
    height: 100% !important;
}

.labels-step-input {
    width: 80px !important;
    height: 100% !important;
    border: none !important;
    text-align: right !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    padding: 0 4px 0 0 !important;
    background: transparent !important;
    -moz-appearance: textfield !important;
}

.labels-step-input::-webkit-outer-spin-button,
.labels-step-input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

.labels-step-unit {
    font-size: 12.5px !important;
    font-weight: 600 !important;
    color: #64748b !important;
    white-space: nowrap !important;
    margin-left: 2px !important;
}

/* 2. Notifikační bublina pro nedělitelné množství */
.js-indivisible-alert {
    width: 100% !important;
    order: 4 !important;
    background-color: #fefce8 !important;
    border: 1px solid #fef08a !important;
    border-left: 4px solid #eab308 !important;
    color: #854d0e !important;
    border-radius: 6px !important;
    padding: 10px 14px !important;
    margin: 10px 0 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    box-sizing: border-box !important;
    animation: fadeInAlert 0.25s ease-out !important;
}

.js-indivisible-alert.no-display {
    display: none !important;
}

.js-indivisible-alert .alert-icon {
    font-size: 16px !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
    margin-top: 1px !important;
}

.js-indivisible-alert .alert-text {
    flex: 1 1 auto !important;
}

.js-indivisible-alert .alert-close {
    background: none !important;
    border: none !important;
    color: #a16207 !important;
    font-size: 18px !important;
    font-weight: bold !important;
    cursor: pointer !important;
    padding: 0 4px !important;
    line-height: 1 !important;
}

@keyframes fadeInAlert {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}


/* =======================================================
   B2B TABULKA VARIANT A SLEV BALENÍ (INSPIRACE EOBALY.CZ)
   ======================================================= */
.js-roll-variants-matrix {
    width: 100% !important;
    margin: 28px 0 32px 0 !important;
    box-sizing: border-box !important;
    clear: both !important;
}

.matrix-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04) !important;
}

.matrix-header {
    background: #f8fafc !important;
    border-bottom: 1px solid #e2e8f0 !important;
    padding: 20px 26px !important;
}

.matrix-header h3 {
    margin: 0 0 6px 0 !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
}

.matrix-header p {
    margin: 0 !important;
    font-size: 15px !important;
    color: #475569 !important;
    line-height: 1.45 !important;
}

.matrix-table-responsive {
    width: 100% !important;
    overflow-x: auto !important;
}

.matrix-table {
    width: 100% !important;
    border-collapse: collapse !important;
    text-align: left !important;
    font-size: 15px !important;
}

.matrix-table th {
    background: #f1f5f9 !important;
    color: #334155 !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.4px !important;
    padding: 14px 12px !important;
    border-bottom: 2px solid #cbd5e1 !important;
    white-space: nowrap !important;
    text-align: center !important;
}

.matrix-table th:first-child,
.matrix-table th:nth-child(2) {
    text-align: left !important;
}

.matrix-table th.th-discount {
    background: #f0f7ff !important;
    color: #0369a1 !important;
    border-bottom: 2px solid #bae6fd !important;
    text-align: center !important;
    padding: 10px 6px !important;
}

.matrix-table th.th-discount .matrix-th-title {
    display: block !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #0369a1 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    line-height: 1.2 !important;
}

.matrix-table th.th-discount .matrix-th-sub {
    display: block !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    color: #0284c7 !important;
    text-transform: none !important;
    margin-top: 3px !important;
    letter-spacing: normal !important;
    line-height: 1.2 !important;
}

.matrix-table th.th-price .matrix-th-sub,
.matrix-table th:nth-child(2) .matrix-th-sub {
    display: block !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    color: #64748b !important;
    text-transform: none !important;
    margin-top: 2px !important;
    letter-spacing: normal !important;
}

.matrix-table td {
    padding: 14px 10px !important;
    border-bottom: 1px solid #e2e8f0 !important;
    vertical-align: middle !important;
    color: #1e293b !important;
    font-size: 15px !important;
}

.matrix-col-variant,
.matrix-col-box {
    text-align: left !important;
}

.matrix-col-price,
.matrix-col-discount,
.matrix-col-quantity,
.matrix-col-action {
    text-align: center !important;
}

/* Interaktivní klikatelné buňky / tlačítka pro slevové balíčky i 1 roli */
.matrix-tier-btn {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 8px 10px !important;
    cursor: pointer !important;
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.18s ease !important;
    text-align: center !important;
    min-width: 95px !important;
    width: 100% !important;
    max-width: 130px !important;
    box-sizing: border-box !important;
    font-family: inherit !important;
    user-select: none !important;
    gap: 3px !important;
    margin: 0 auto !important;
}

.matrix-tier-labels {
    display: block !important;
    font-size: 11px !important;
    color: #64748b !important;
    font-weight: 600 !important;
    margin-top: 2px !important;
    line-height: 1.1 !important;
    letter-spacing: normal !important;
}

.matrix-tier-btn:hover {
    background: #f0f7ff !important;
    border-color: #7dd3fc !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 10px rgba(3, 105, 161, 0.12) !important;
}

.matrix-tier-btn:hover .discount-badge {
    background-color: #bbf7d0 !important;
}

.matrix-tier-btn:active {
    transform: translateY(0) !important;
}

.matrix-tier-btn.is-success {
    background: #166534 !important;
    border-color: #166534 !important;
    color: #ffffff !important;
    box-shadow: 0 2px 8px rgba(22, 101, 52, 0.25) !important;
}

.matrix-tier-btn.is-success * {
    color: #ffffff !important;
    background: transparent !important;
}

.matrix-row:hover {
    background-color: #f8fafc !important;
}

.matrix-row.is-active-row {
    background-color: #f0fdf4 !important;
    border-left: 4px solid #5eab3d !important;
}

.matrix-variant-title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
}

.matrix-variant-sub,
.matrix-box-sub {
    font-size: 13.5px !important;
    color: #64748b !important;
    display: block !important;
    margin-top: 3px !important;
}

.matrix-col-box {
    font-size: 15.5px !important;
}

.matrix-col-price .price-val {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    display: block !important;
    line-height: 1.2 !important;
}

.matrix-col-price .price-sub {
    font-size: 12.5px !important;
    color: #64748b !important;
    line-height: 1.2 !important;
}

.matrix-col-discount .discount-price {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #166534 !important;
    display: block !important;
    line-height: 1.2 !important;
}

.matrix-col-discount .discount-badge {
    display: inline-block !important;
    background: #dcfce7 !important;
    color: #15803d !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    padding: 2px 7px !important;
    border-radius: 4px !important;
    line-height: 1.2 !important;
}

.matrix-stepper {
    display: inline-flex !important;
    align-items: center !important;
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 4px !important;
    height: 44px !important;
    overflow: hidden !important;
}

.matrix-step-btn {
    background: #f8fafc !important;
    border: none !important;
    width: 36px !important;
    height: 100% !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #334155 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.15s ease !important;
    padding: 0 !important;
}

.matrix-step-btn:hover {
    background: #e2e8f0 !important;
}

.matrix-step-input {
    width: 80px !important;
    height: 100% !important;
    border: none !important;
    text-align: center !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    background: transparent !important;
    -moz-appearance: textfield !important;
}

.matrix-step-input::-webkit-outer-spin-button,
.matrix-step-input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

.matrix-unit {
    display: block !important;
    font-size: 12.5px !important;
    color: #64748b !important;
    margin-top: 3px !important;
    font-weight: 600 !important;
}

.btn-matrix-buy {
    background-color: #5eab3d !important;
    color: #ffffff !important;
    border: 1px solid #5eab3d !important;
    padding: 0 18px !important;
    height: 44px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    transition: background-color 0.2s ease, transform 0.1s ease !important;
}

.btn-matrix-buy:hover {
    background-color: #4d9330 !important;
    border-color: #4d9330 !important;
}

.btn-matrix-buy.is-success {
    background-color: #166534 !important;
    border-color: #166534 !important;
}

@media (max-width: 576px) {
    .js-labels-stepper {
        width: 100% !important;
        margin-right: 0 !important;
        margin-bottom: 8px !important;
        justify-content: space-between !important;
    }
    .labels-input-wrapper {
        flex: 1 !important;
        justify-content: center !important;
    }
    .labels-step-input {
        width: 90px !important;
    }
}

/* =======================================================
   SKRYTÍ INFOHLÁŠKY PRODEJNÍ JEDNOTKY V KRÁTKÉM POPISKU
   ======================================================= */
.p-short-description div[style*="#f0fdf4"],
.p-short-description div[style*="bbf7d0"] {
    display: none !important;
}

/* =======================================================
   SKRYTÍ TLAČÍTEK TISK, ZEPTAT SE, SDÍLET A SOCIÁLNÍCH SÍTÍ
   ======================================================= */
.buttons-wrapper.social-buttons-wrapper,
.social-buttons-wrapper,
.link-icons[data-testid="productDetailActionIcons"],
.social-buttons {
    display: none !important;
}

/* =======================================================
   B2B TABULKA: OZNAČENÍ ZVOLENÉHO BALENÍ A ANIMACE STEPPERU
   ======================================================= */
.matrix-tier-btn.is-selected {
    background: #f0fdf4 !important;
    border-color: #5eab3d !important;
    box-shadow: 0 0 0 2px rgba(94, 171, 61, 0.25) !important;
}

@keyframes stepperPulse {
    0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(94, 171, 61, 0.4); }
    50% { transform: scale(1.04); box-shadow: 0 0 0 5px rgba(94, 171, 61, 0.15); border-color: #5eab3d; }
    100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(94, 171, 61, 0); }
}

.matrix-stepper.is-highlighted {
    animation: stepperPulse 0.45s ease-out !important;
    border-color: #5eab3d !important;
}

/* =======================================================
   KOMPAKTNÍ A MODERNÍ DETAIL PRODUKTU NA PC
   (Pouze pro počítače a větší tablety od 768px, na mobilu zůstává pod sebou)
   ======================================================= */
@media (min-width: 768px) {
    /* Dvousloupcový grid pouze pokud produkt skutečně obsahuje varianty */
    #product-detail-form.has-variants-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr) !important;
        column-gap: 28px !important;
        row-gap: 10px !important;
        align-items: stretch !important;
    }

    #product-detail-form.has-variants-grid .p-variants-block {
        grid-column: 1 / 2 !important;
        grid-row: 1 / 3 !important;
        margin-bottom: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        gap: 8px !important;
    }

    #product-detail-form.has-variants-grid .buttons-wrapper.cofidis-buttons-wrapper {
        display: none !important;
    }

    /* Box s cenou a dostupností vpravo: kompaktní, sjednocený a provzdušněný */
    #product-detail-form.has-variants-grid .p-price-wrapper {
        grid-column: 2 / 3 !important;
        grid-row: 1 / 2 !important;
        margin: 0 !important;
        padding: 14px 18px 6px 18px !important;
        background: #f8fafc !important;
        border: 1px solid #e2e8f0 !important;
        border-bottom: none !important;
        border-top-left-radius: 10px !important;
        border-top-right-radius: 10px !important;
        box-sizing: border-box !important;
    }

    #product-detail-form.has-variants-grid .detail-parameters {
        grid-column: 2 / 3 !important;
        grid-row: 2 / 3 !important;
        margin: 0 !important;
        padding: 4px 18px 14px 18px !important;
        background: #f8fafc !important;
        border: 1px solid #e2e8f0 !important;
        border-top: none !important;
        border-bottom-left-radius: 10px !important;
        border-bottom-right-radius: 10px !important;
        box-sizing: border-box !important;
    }

    #product-detail-form.has-variants-grid .p-to-cart-block {
        grid-column: 1 / -1 !important;
        grid-row: 3 / 4 !important;
        margin-top: 14px !important;
    }
}

/* =======================================================
   PRODUKTY BEZ VARIANT (Archové samolepící etikety atd.)
   Kompaktní layout bez prázdného levého sloupce
   ======================================================= */
#product-detail-form.no-variants-form,
#product-detail-form:not(.has-variants-grid) {
    display: block !important;
}

#product-detail-form.no-variants-form .p-variants-block,
#product-detail-form:not(.has-variants-grid) .p-variants-block,
.p-variants-block:empty {
    display: none !important;
}

#product-detail-form.no-variants-form .p-price-wrapper,
#product-detail-form:not(.has-variants-grid) .p-price-wrapper {
    margin: 0 !important;
    padding: 14px 18px 6px 18px !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-bottom: none !important;
    border-top-left-radius: 10px !important;
    border-top-right-radius: 10px !important;
    box-sizing: border-box !important;
    max-width: 440px !important;
}

#product-detail-form.no-variants-form .detail-parameters,
#product-detail-form:not(.has-variants-grid) .detail-parameters {
    margin: 0 0 16px 0 !important;
    padding: 4px 18px 14px 18px !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-top: none !important;
    border-bottom-left-radius: 10px !important;
    border-bottom-right-radius: 10px !important;
    box-sizing: border-box !important;
    max-width: 440px !important;
}

#product-detail-form.no-variants-form .p-to-cart-block,
#product-detail-form:not(.has-variants-grid) .p-to-cart-block {
    margin-top: 0 !important;
    margin-bottom: 20px !important;
    max-width: 440px !important;
}

/* =======================================================
   MNOŽSTEVNÍ SLEVY: INTERAKTIVNÍ VÝBĚR A REPRICING CENY
   ======================================================= */
.quantity-discounts {
    max-width: 440px !important;
}

.quantity-discounts__item {
    cursor: pointer !important;
    transition: all 0.2s ease-in-out !important;
    border-radius: 6px !important;
    padding: 8px 12px !important;
    border: 1.5px solid transparent !important;
}

.quantity-discounts__item:hover {
    background-color: #f8fafc !important;
    border-color: #cbd5e1 !important;
}

.quantity-discounts__item.is-active-discount,
.quantity-discounts__item.active {
    border: 2px solid #5eab3d !important;
    background-color: #f0fdf4 !important;
    box-shadow: 0 1px 5px rgba(94, 171, 61, 0.15) !important;
}

.quantity-discounts__item.is-active-discount .quantity-discounts__price,
.quantity-discounts__item.active .quantity-discounts__price {
    font-weight: 800 !important;
}

.js-active-discount-price {
    font-size: 26px !important;
    font-weight: 800 !important;
    color: #166534 !important;
}

.js-active-discount-orig {
    text-decoration: line-through !important;
    color: #94a3b8 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    margin-left: 8px !important;
}

.js-active-discount-badge {
    background-color: #f0fdf4 !important;
    color: #166534 !important;
    border: 1px solid #86efac !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    padding: 2px 7px !important;
    border-radius: 4px !important;
    margin-left: 6px !important;
    display: inline-block !important;
    vertical-align: middle !important;
}

/* Zajištění spolehlivého skrytí neaktivních variant cen dle tříd Shoptetu */
.p-price-wrapper .no-display,
.p-price-wrapper .noDisplay {
    display: none !important;
}

/* Zmenšení a zjemnění ceny: moderní kompaktní typografie */
.p-price-wrapper .price-final {
    font-size: 26px !important;
    font-weight: 800 !important;
    color: #166534 !important;
    line-height: 1.15 !important;
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
    margin: 0 0 3px 0 !important;
}

.p-price-wrapper .price-final-holder {
    font-size: 26px !important;
    font-weight: 800 !important;
    color: #166534 !important;
    line-height: 1.15 !important;
}

.p-price-wrapper .price-final .pr-list-unit,
.p-price-wrapper .price-final .price-unit,
.p-price-wrapper .price-final-holder .pr-list-unit,
.p-price-wrapper .price-final-holder .price-unit,
.p-price-wrapper .unit {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #64748b !important;
}

.p-price-wrapper .price-additional {
    font-size: 13px !important;
    color: #64748b !important;
    font-weight: 500 !important;
    margin-bottom: 2px !important;
    display: block !important;
}

.p-price-wrapper .price-measure {
    font-size: 12.5px !important;
    font-weight: 600 !important;
    color: #475569 !important;
    margin-top: 3px !important;
    display: block !important;
}

.p-price-wrapper .price-measure span {
    font-size: 12.5px !important;
    font-weight: 600 !important;
    color: #475569 !important;
}

/* Elegantní dostupnost Skladem */
.detail-parameters .detail-parameter-availability {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 13px !important;
    margin-top: 4px !important;
    padding-top: 6px !important;
    border-top: 1px dashed #e2e8f0 !important;
}

.detail-parameters .availability-label {
    color: #166534 !important;
    font-weight: 700 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.detail-parameters .availability-label::before {
    content: '' !important;
    display: inline-block !important;
    width: 8px !important;
    height: 8px !important;
    background-color: #22c55e !important;
    border-radius: 50% !important;
    box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.2) !important;
}

/* Zjemnění volítek parametrů na levé straně */
.p-variants-block .variant-list {
    margin-bottom: 8px !important;
}

.p-variants-block .variant-list:last-child {
    margin-bottom: 0 !important;
}

.p-variants-block select {
    border-radius: 6px !important;
    border: 1px solid #cbd5e1 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    height: 40px !important;
    padding: 0 10px !important;
    background-color: #ffffff !important;
}

/* Nákupní tlačítko a pole etiket */
.js-labels-stepper {
    height: 44px !important;
    border-radius: 6px !important;
    border: 1px solid #cbd5e1 !important;
}

.labels-step-input {
    min-width: 75px !important;
    width: auto !important;
    max-width: 105px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

.p-to-cart-block button.add-to-cart-button {
    height: 44px !important;
    border-radius: 6px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    background-color: #5eab3d !important;
    border: 1px solid #5eab3d !important;
}

/* Zjemnění kartonového nákupního boxu */
.js-carton-purchase-block {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    padding: 14px 18px !important;
    margin-top: 12px !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02) !important;
}

.carton-header {
    margin-bottom: 10px !important;
    gap: 10px !important;
}

.carton-info-text {
    font-size: 13px !important;
    color: #475569 !important;
}

.btn-carton-submit {
    height: 42px !important;
    border-radius: 6px !important;
    font-size: 14.5px !important;
}

.carton-stepper {
    height: 42px !important;
    border-radius: 6px !important;
}

/* Skrytí nativního modulu množstevních slev u etiket na roli (místo něj slouží B2B tabulka) */
.in-samolepici-etikety-na-kotouci .quantity-discounts,
body.has-roll-labels .quantity-discounts,
body:has(.js-roll-variants-matrix) .quantity-discounts,
body:has([data-parameter-name*="Dutinka"]) .quantity-discounts,
body:has([data-parameter-name*="Počet etiket"]) .quantity-discounts,
body:has(.js-labels-calculator-wrap) .quantity-discounts {
    display: none !important;
}

/* Umístění počtu etiket v košíku přímo pod tlačítko množství (stepper) místo pod Skladem */
.p-quantity .js-cart-item-total-labels {
    display: block !important;
    text-align: center !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    color: #166534 !important;
    margin-top: 5px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

.p-name .js-cart-item-total-labels {
    display: none !important;
}

/* Vizuální styl shrnutí přidaného množství v Colorbox popupu */
.js-cbox-cart-summary {
    margin: 12px auto 14px !important;
    padding: 10px 18px !important;
    background: #f0fdf4 !important;
    border: 1.5px solid #86efac !important;
    border-radius: 8px !important;
    text-align: center !important;
    max-width: 440px !important;
    box-shadow: 0 2px 5px rgba(22, 101, 52, 0.06) !important;
}

/* Skrytí původních statických tabulek množstevních slev v dlouhém popisku */
.js-hidden-legacy-table,
#description table[style*="font-size: 13pt"],
.p-detail-tabs table[style*="font-size: 13pt"],
#tab-description table[style*="font-size: 13pt"],
.description-inner table[style*="font-size: 13pt"],
#description h3:has(+ table[style*="font-size: 13pt"]),
.p-detail-tabs h3:has(+ table[style*="font-size: 13pt"]),
#tab-description h3:has(+ table[style*="font-size: 13pt"]),
#description table[style*="font-size: 13pt"] + div[style*="color: #64748b"],
.p-detail-tabs table[style*="font-size: 13pt"] + div[style*="color: #64748b"],
#tab-description table[style*="font-size: 13pt"] + div[style*="color: #64748b"] {
    display: none !important;
}

/* ==========================================================================
   Klientské centrum: Skrytí nevyužívaných záložek (Zálohové faktury, Dodací listy)
   ========================================================================== */
.client-center-box li:has(a[href*="/klientske-proforma-faktury/"]),
.client-center-box li:has(a[href*="/dodaci-listy-klienta/"]),
.client-center-box a[href*="/klientske-proforma-faktury/"],
.client-center-box a[href*="/dodaci-listy-klienta/"] {
    display: none !important;
}



