/* =============================================================================
   custom.css — Penove desky child theme
   Doplňující styly nad rámec Iqit Theme Editoru.
   Design tokeny ze starého e-shopu https://www.penove-desky.cz (theme: electronic).
   ========================================================================== */

@import url('https://fonts.googleapis.com/css?family=Poppins:300,400,500,600,700&display=swap');

/* Globální font — Poppins na celém shopu (override Iqit themeditor + parent warehouse) */
html,
body,
button,
input,
select,
textarea,
.btn,
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.block-title,
.page-title,
.modal-title,
.step-title,
.product-title {
    font-family: 'Poppins', sans-serif !important;
}

/* Globální semibold — místo 700/bold všude 600 (lehčí, čitelnější přes Poppins).
   `body *[style*="font-weight: 700"]` i atribute-selector zabere i pro inline styly. */
body b,
body strong,
body dt,
body h1, body h2, body h3, body h4, body h5, body h6,
body .h1, body .h2, body .h3, body .h4, body .h5, body .h6,
body .font-weight-bold,
body .fw-bold,
body .block-title,
body .page-title,
body .section-title,
body .product-price,
body .cart-summary-line.cart-total,
body .cart-item-header,
body .form-control-label,
body .label,
body .badge,
body .nav-link,
body .dropdown-item.current,
body .alert-link,
body .elementor-accordion-title,
body .elementor-alert-title,
body .elementor-toggle-title,
body .mobile-menu__column-title,
body .title,
body .name,
body .close,
body [style*="font-weight: 700"],
body [style*="font-weight:700"] {
    font-weight: 600 !important;
}

:root {
    /* Brand barvy */
    --pd-primary: #00A875;        /* zelená — CTA, links, accents */
    --pd-primary-dark: #007a55;   /* hover na CTA */
    --pd-accent: #FC441E;         /* oranžová — sale, badge */
    --pd-text: #323232;           /* body text */
    --pd-text-muted: #8c8c8c;     /* meta text */
    --pd-border: #ebebeb;         /* borders */
    --pd-bg-soft: #f6f6f6;        /* sekundární pozadí (sekce) */
    --pd-error: #ff4c4c;

    /* Layout — sjednocená šířka levého „sidebaru":
       KATEGORIE button v menu + kategorie box pod hero bannerem. */
    --pd-sidebar-w: 25%;
    --pd-sidebar-min-w: 240px;
    --pd-sidebar-max-w: 330px;
}

/* =============================================================================
   Topbar — jeden řádek, info text vlevo (oranžový), utility vpravo
   Iqit Editor generuje "#header .header-nav { background:#f8f8f8 ... }"
   → musíme použít stejnou nebo vyšší specificitu (#header) + !important kde nutné
   ========================================================================== */

/* Bílé pozadí topbaru (Iqit defaultně dává #f8f8f8) */
#header .header-nav {
    background: #ffffff !important;
    border-bottom: 1px solid var(--pd-border);
}

/* Sticky header — když je `#header-sticky` fixován (stuck-down / visible-stuck-up),
   parent neaplikuje pozadí → menu by bylo přes obsah průsvitné. Vynutit bílé pozadí
   + jemný shadow pro oddělení od obsahu. */
#header-sticky.stuck-down,
#header-sticky.stuck-up.visible-stuck-up,
#desktop-header.stuck-header,
#iqitmegamenu-wrapper.stuck-menu,
#mobile-header-sticky.stuck-down {
    background: #ffffff !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .06);
}

/* Sticky menu — theme při `.stuck-menu` přidává vnitřnímu containeru
   15px boční padding; náš layout má container s paddingem 0, takže by
   KATEGORIE při přichycení odskočila doprava. Držet 0 i ve stuck stavu. */
#iqitmegamenu-wrapper.stuck-menu .container-iqitmegamenu {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Skrýt prázdný header-banner div (info text přesunut do header-nav) */
#header .header-banner {
    display: none !important;
}

/* Info text v left-nav — wrapper htmlbanneru */
#header .header-nav .left-nav .block-iqithtmlandbanners-html {
    padding: 0;
}

#header .header-nav .left-nav .block-iqithtmlandbanners-html .block-title {
    display: none !important;
}

#header .header-nav .left-nav .block-iqithtmlandbanners-html .block-content {
    padding: 0;
}

#header .header-nav .topbar-info {
    color: var(--pd-accent) !important;
    font-size: 13px;
    font-weight: 300;
    padding: 0;
    text-align: left;
    /* Vždy na jednom řádku — delší DE text se jinak láme na 2 řádky a rozbíjí
       výšku topbaru (na mobilu je text skrytý, viz @media níže, takže nehrozí
       horizontální přetečení). */
    white-space: nowrap;
}

/* Vertikální centrování topbar info textu — zarovnat s pravými utility linky */
#header .header-nav .left-nav {
    display: flex !important;
    align-items: center;
}

#header .header-nav .left-nav .block-iqithtmlandbanners-html,
#header .header-nav .left-nav .block-iqithtmlandbanners-html .block-content,
#header .header-nav .left-nav .rte-content {
    display: flex;
    align-items: center;
    height: 100%;
}

/* Skrýt CMS link block "Doprava a platba | Velkoodběr | Domů" (nahrazeno info textem) */
#header .header-nav .left-nav .block-iqitlinksmanager {
    display: none !important;
}

/* Skrýt celý wrapper kolem "Oblíbené" wishlist linku (B2B e-shop ho nepotřebuje) */
#header .header-nav .right-nav .d-inline-block:has(> a[href*="iqitwishlist"]),
#header .header-nav .right-nav a[href*="iqitwishlist"] {
    display: none !important;
}

/* Flexbox layout pro right-nav — umožní změnit pořadí přes `order`.
   Jednotný gap mezi top-level utility skupinami (linksblok / měna / jazyk). */
#header .header-nav .right-nav {
    display: flex !important;
    justify-content: flex-end;
    align-items: center;
    gap: 20px;
}

/* Kontakt link (z block-iqitlinksmanager-5) — první vpravo, s phone ikonou.
   Žádné vlastní margin; jednotné odsazení řídí flex `gap` na .right-nav. */
#header .header-nav .right-nav .block-iqitlinksmanager {
    margin: 0;
    order: -1;
}

#header .header-nav .right-nav .block-iqitlinksmanager ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: inline-flex;
    align-items: center;
    gap: 20px;
}

#header .header-nav .right-nav .block-iqitlinksmanager li {
    display: inline-block;
    margin: 0;
}

#header .header-nav .right-nav .block-iqitlinksmanager a {
    color: var(--pd-text) !important;
    text-decoration: none;
    font-weight: 500;
}

#header .header-nav .right-nav .block-iqitlinksmanager a:hover {
    color: var(--pd-primary) !important;
}

/* První link (Kontakt) — phone ikona; druhý link (Přihlásit se) — user ikona */
#header .header-nav .right-nav .block-iqitlinksmanager li:nth-child(1) a::before {
    content: "\f095";  /* fa-phone */
    font-family: FontAwesome;
    margin-right: 6px;
    color: var(--pd-text-muted);
}

#header .header-nav .right-nav .block-iqitlinksmanager li:nth-child(2) a::before {
    content: "\f007";  /* fa-user */
    font-family: FontAwesome;
    margin-right: 6px;
    color: var(--pd-text-muted);
}

/* ===========================================================================
   Language / Currency dropdown — minimalizace
   Triggery jsou očištěné v override šablonách (jen vlajka / jen ISO kód).
   ========================================================================= */

/* Odstranit svislé oddělovače mezi položkami v right-nav / left-nav
   (parent warehouse přidává `> div:after` jako 1.5em vysokou linku, a stejně
   tak mezi <li> v `.block-links-inline` — typicky Kontakt | Přihlásit). */
#header .header-nav .right-nav > div:after,
#header .header-nav .left-nav > div:after,
#header .header-nav .block-links-inline ul > li:after {
    display: none !important;
}

/* Prohození pořadí: měna (CZK) jako první, pak jazyk (vlajka) */
#header .header-nav .right-nav #currency_selector { order: 1; }
#header .header-nav .right-nav #language_selector { order: 2; }

/* Vlajky — předloha z penove-desky.cz (zaoblené čtvercové emoji-style, 112×112).
   Cílem je vizuálně stejně velký dojem jako CZK/šipky — proto trochu menší
   a hlavně přesný vertikální střed na text-baseline (translateY kompenzuje
   typografický optical-shift čtvercového ikonového flagu). */
#header .header-nav #language_selector .expand-more img.lang-flag {
    width: 20px;
    height: 20px;
    object-fit: contain;
    margin: 0;
    vertical-align: middle;
    border-radius: 3px;
    display: block;
    flex: 0 0 auto;
}

/* Optický posun celého jazykového triggeru (vlajka + šipka) dolů — text má
   víc volného prostoru nahoře než dole, geometrický střed je opticky výš. */
#header .header-nav #language_selector .expand-more {
    transform: translateY(3px);
}

/* Vertikálně vystředit ISO kód měny i šipky vedle obsahu */
#header .header-nav #language_selector .expand-more,
#header .header-nav #currency_selector .expand-more {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    line-height: 1;
}

/* CZK v trigeru — brand oranžová, tučnější (jen kód, ne šipka; šipka nesmí
   zdědit font-weight aby FA glyph zůstal čitelný) */
#header .header-nav #currency_selector .currency-selector > .expand-more .pd-iso {
    color: var(--pd-accent);
    font-weight: 600;
}

#header .header-nav #language_selector .expand-more .fa,
#header .header-nav #currency_selector .expand-more .fa {
    line-height: 1;
    vertical-align: middle;
}

/* Dropdown items — plný text */
#header .header-nav #language_selector .dropdown-menu .dropdown-item,
#header .header-nav #currency_selector .dropdown-menu .dropdown-item {
    font-size: 14px;
}

#header .header-nav #language_selector .dropdown-menu img.lang-flag {
    width: 18px;
    height: auto;
    border-radius: 2px;
    margin-right: 6px;
}

/* =============================================================================
   Desktop header (logo + search + utility links + cart) — match penove-desky.cz
   ========================================================================== */

/* Vertikální vzduch nad i pod celou hlavičkou + spodní oddělující linka */
#desktop-header .header-top {
    padding: 22px 0;
}

#desktop-header.desktop-header-style-1 {
    border-bottom: 1px solid var(--pd-border);
}

/* Odstranit FA chevron prefix u všech `.block-links` odkazů (parent přidává FA ikonu
   přes :before u všech link-blocků — v topbaru/footeru). */
.block-links ul > li a:before {
    content: none !important;
    display: none !important;
}

/* Odstranit padding-left u `.block-links ul>li a` (parent ho přidává pro místo pod FA chevron) */
.block-links ul > li a {
    padding-left: 0 !important;
}

/* Logo — menší, vertikálně vystředěné v hlavičce. Originál 600×194 px. */
#desktop-header #desktop_logo img.logo {
    max-height: 56px;
    width: auto;
    height: auto;
}

/* Pravý sloupec: utility linky + košík jako jeden řádek (flex namísto inline-block,
   aby se cart nezalamoval pod linky kvůli `text-right` + block-level diff). */
#desktop-header .col-header-right {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 24px;
}

/* Search box — širší, výraznější submit button vpravo + vzduch po stranách */
#desktop-header .col-header-center {
    padding-left: 40px;
    padding-right: 40px;
}

#desktop-header #search_widget {
    max-width: 720px;
    margin: 0 auto;
}

#desktop-header #search_widget form .input-group {
    border: 1px solid var(--pd-border);
    border-radius: 4px;
    background: #fff;
    overflow: hidden;
    transition: border-color .15s;
}

#desktop-header #search_widget form .input-group:focus-within {
    border-color: var(--pd-primary);
}

#desktop-header #search_widget input.form-search-control {
    border: 0 !important;
    box-shadow: none !important;
    height: 48px;
    padding: 0 16px;
    font-size: 15px;
    background: transparent;
}

#desktop-header #search_widget input.form-search-control::placeholder {
    color: var(--pd-text-muted);
}

#desktop-header #search_widget button.search-btn {
    width: 56px;
    min-width: 56px;
    height: 48px;
    border: 0;
    border-left: 1px solid var(--pd-border);
    background: var(--pd-bg-soft);
    color: #8C8C8C;
    font-size: 18px;
    cursor: pointer;
    transition: background .15s, color .15s;
}

#desktop-header #search_widget button.search-btn:hover {
    background: var(--pd-primary);
    color: #fff;
}

#desktop-header #search_widget button.search-btn .fa {
    color: inherit;
}

/* Utility links vpravo (Velkoodběr | Kalkulace na míru) — vždy jeden řádek.
   Ikona Velkoodběru = SVG warehouse přepsané přes ::before (převzato 1:1
   z penove-desky.cz), Kalkulace = text s levým borderem jako oddělovač. */
#desktop-header .header-utility-links {
    flex-wrap: nowrap;
    white-space: nowrap;
    gap: 0;
}

#desktop-header .header-utility-link {
    color: var(--pd-text) !important;
    font-weight: 600;
    text-decoration: none;
    font-size: 15px;
    line-height: 1;
}

#desktop-header .header-utility-link:hover {
    color: var(--pd-primary) !important;
}

/* Velkoodběr — SVG warehouse v zelené brand barvě.
   Flexbox + align-items:center vystředí ikonu vertikálně k textu. */
#desktop-header #header-icon {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    line-height: 1;
}

#desktop-header #header-icon::before {
    content: '';
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    background-image: url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M27.2859 19.2952H23.4714V13.0201C23.4714 12.7936 23.2878 12.61 23.0612 12.61C22.8346 12.61 22.6511 12.7936 22.6511 13.0201V19.2952C21.8111 19.2952 16.422 19.2952 15.524 19.2952V17.5179C15.524 17.2913 15.3404 17.1077 15.1138 17.1077H10.9953C10.9953 16.6034 10.9953 8.16694 10.9953 7.33016H15.6535V9.0175C15.6535 9.37865 15.9473 9.67243 16.3084 9.67243H17.3379C17.699 9.67243 17.9929 9.37865 17.9929 9.0175V7.33016H22.6511V11.3803C22.6511 11.6068 22.8347 11.7904 23.0613 11.7904C23.2878 11.7904 23.4714 11.6068 23.4714 11.3803V7.22402C23.4714 6.83026 23.1511 6.50985 22.7573 6.50985C20.744 6.50985 15.9982 6.50985 14.1246 6.50985V0.714166C14.1246 0.320415 13.8042 0 13.4104 0H5.87717C5.48336 0 5.163 0.32036 5.163 0.714166V3.30723C5.163 3.5338 5.34664 3.71739 5.57316 3.71739C5.79967 3.71739 5.98332 3.5338 5.98332 3.30723V0.820314H8.47406V2.50765C8.47406 2.8688 8.76785 3.16258 9.129 3.16258H10.1585C10.5197 3.16258 10.8134 2.8688 10.8134 2.50765V0.820314H13.3042V6.50985H10.5852C10.3587 6.50985 10.175 6.69344 10.175 6.92001V10.338H5.98337V4.9471C5.98337 4.72053 5.79973 4.53694 5.57321 4.53694C5.3467 4.53694 5.16306 4.72053 5.16306 4.9471V10.338H2.74794C2.35414 10.338 2.03378 10.6583 2.03378 11.0521V17.1077H0.714111C0.32036 17.1077 0 17.4281 0 17.8219V27.5688C0 27.7954 0.183641 27.979 0.410157 27.979H4.75323C4.97974 27.979 5.16338 27.7954 5.16338 27.5688C5.16338 27.3423 4.97974 27.1587 4.75323 27.1587H0.820314V17.928H6.59232V19.6153C6.59232 19.9765 6.88615 20.2703 7.24726 20.2703H8.2767C8.63785 20.2703 8.93163 19.9765 8.93163 19.6153V17.928H14.7036V27.1587H6.39309C6.16657 27.1587 5.98293 27.3423 5.98293 27.5688C5.98293 27.7954 6.16657 27.979 6.39309 27.979H27.5898C27.8164 27.979 28 27.7954 28 27.5688V20.0094C28.0001 19.6156 27.6797 19.2952 27.2859 19.2952ZM9.99307 2.34222H9.29438V0.820369H9.99307V2.34222ZM17.1725 7.33016V8.85207H16.4738V7.33016H17.1725ZM6.16515 11.1584H6.8639V12.6802H6.16515V11.1584ZM2.85409 11.1584H5.34484V12.8456C5.34484 13.2068 5.63867 13.5006 5.99978 13.5006H7.02927C7.39043 13.5006 7.68421 13.2068 7.68421 12.8456V11.1584H10.175V17.1077C8.58951 17.1077 4.17923 17.1077 2.85409 17.1077V11.1584ZM8.11132 19.4499H7.41263V17.928H8.11132V19.4499ZM21.7012 20.1155V21.6374H21.0025V20.1155H21.7012ZM27.1797 27.1587H15.524V20.1155H20.1822V21.8028C20.1822 22.164 20.476 22.4578 20.8372 22.4578H21.8666C22.2278 22.4578 22.5216 22.164 22.5216 21.8028V20.1155H27.1798L27.1797 27.1587Z' fill='%2300A875'/%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
}

/* Kalkulace — text s levým borderem (oddělovač) */
#desktop-header .kalkulace-text-top {
    font-weight: 500;
    padding-left: 16px;
    border-left: 1px solid #ADADAD;
    margin-left: 16px;
}

/* Cart — redesign: ikona vlevo + červený badge s počtem, vpravo celková částka.
   Žádné tmavé pozadí, žádný text "Košík / Empty". */
#desktop-header #ps-shoppingcart .header-cart-btn,
#desktop-header #ps-shoppingcart .cart-toogle.header-btn {
    background: transparent !important;
    color: var(--pd-text) !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center;
    gap: 12px;
}

#desktop-header #ps-shoppingcart .header-cart-btn:hover {
    color: var(--pd-primary) !important;
}

#desktop-header #ps-shoppingcart .header-cart-btn .icon {
    position: relative;
    display: inline-block;
    width: 40px;
    height: 32px;
    line-height: 1;
}

/* Skrýt původní FA glyph a nahradit SVG basketem z penove-desky.cz */
#desktop-header #ps-shoppingcart .header-cart-btn .fa-shopping-basket::before {
    content: '';
    position: absolute;
    top: 4px;
    left: 6px;
    width: 29px;
    height: 25px;
    background-image: url("data:image/svg+xml,%3Csvg width='29' height='25' viewBox='0 0 29 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.3986 6.21715L11.0757 16.3699L24.9795 16.9828L28.4278 5.66337L6.89648 5.10217L7.3986 6.21715Z' fill='%2399DCC8'/%3E%3Cpath d='M24.0196 17.7212H11.4671C10.4695 17.7197 9.59602 17.0515 9.33315 16.0894L5.49358 2.02315C5.40426 1.69163 5.09857 1.46496 4.75522 1.47674H0.738369C0.330782 1.47674 0 1.14596 0 0.738369C0 0.330782 0.330782 0 0.738369 0H4.77731C5.77486 0.00147266 6.64838 0.66972 6.91124 1.63182L7.64961 4.43033H26.7885C28.012 4.43253 29.0022 5.42567 29 6.64917C29 6.87069 28.966 7.09074 28.9003 7.30263L26.1314 16.1632C25.8442 17.0884 24.9884 17.719 24.0196 17.7212ZM8.08529 5.90706L10.7582 15.698C10.8475 16.0296 11.1532 16.2562 11.4966 16.2444H24.0491C24.3843 16.26 24.6871 16.0473 24.7875 15.7276L27.5565 6.86701C27.679 6.47789 27.4634 6.06367 27.0743 5.94031C26.9916 5.91448 26.9045 5.90264 26.818 5.90706H8.08529Z' fill='%2300A875'/%3E%3Cpath d='M12.9217 24.3667C11.4945 24.3667 10.3374 23.2096 10.3374 21.7823C10.3374 20.3551 11.4945 19.198 12.9217 19.198C14.349 19.198 15.5061 20.3551 15.5061 21.7823C15.5061 23.2096 14.349 24.3667 12.9217 24.3667ZM12.9217 20.6747C12.3104 20.6747 11.8142 21.1709 11.8142 21.7823C11.8142 22.3937 12.3104 22.8898 12.9217 22.8898C13.5331 22.8898 14.0293 22.3937 14.0293 21.7823C14.0293 21.1702 13.5331 20.6747 12.9217 20.6747Z' fill='%2300A875'/%3E%3Cpath d='M21.7823 24.3667C20.3551 24.3667 19.198 23.2096 19.198 21.7823C19.198 20.3551 20.3551 19.198 21.7823 19.198C23.2096 19.198 24.3667 20.3551 24.3667 21.7823C24.3667 23.2096 23.2096 24.3667 21.7823 24.3667ZM21.7823 20.6747C21.171 20.6747 20.6748 21.1709 20.6748 21.7823C20.6748 22.3937 21.171 22.8898 21.7823 22.8898C22.3937 22.8898 22.8899 22.3937 22.8899 21.7823C22.89 21.1702 22.3937 20.6747 21.7823 20.6747Z' fill='%2300A875'/%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
    color: transparent !important;
}

#desktop-header #ps-shoppingcart .header-cart-btn .cart-products-count-btn {
    position: absolute;
    top: -8px;
    right: -10px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 50%;
    background: var(--pd-accent);
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    line-height: 18px;
    text-align: center;
    display: inline-block;
    font-family: inherit;
}

#desktop-header #ps-shoppingcart .cart-total-amount {
    font-weight: 600;
    font-size: 15px;
    color: var(--pd-text);
    white-space: nowrap;
}

#desktop-header #ps-shoppingcart .info-wrapper {
    display: inline-flex;
    align-items: center;
}

/* Skrýt duplicitní user_info (Přihlásit se je už v topbaru) */
#desktop-header #user_info {
    display: none !important;
}

/* Responzivní úpravy ---------------------------------------------------------
   <= 1199px: zmenšit gap + skrýt text "Kalkulace na míru" (jen Velkoodběr ikona+text)
   <= 991px:  skrýt celé utility linky (mobilní header obstará separátní variantu)
*/
@media (max-width: 1199.98px) {
    #desktop-header .col-header-right {
        gap: 16px;
    }
    #desktop-header .header-utility-link--text .header-utility-link-text {
        display: none;
    }
}

@media (max-width: 991.98px) {
    #desktop-header .header-utility-links {
        display: none !important;
    }
    #desktop-header .header-top {
        padding: 14px 0;
    }
    /* Topbar-info text („Na naší adrese nenajdete kamennou prodejnu…") — schovat na mobilu */
    #header .header-nav .topbar-info,
    .topbar-info {
        display: none !important;
    }
}

/* =============================================================================
   Hlavní menu (iqitmegamenu horizontal) — match penove-desky.cz layout
   Struktura: [KATEGORIE button vlevo] [E-SHOP dropdown] [Ostatní NOVÉ] [AKCE SLEVA!] [POPTAT vpravo]
   ========================================================================== */

/* Wrapper menu baru — border NEPATŘÍ na wrapper (na penove-desky.cz jsou hranice
   na vnitřním `.container`, tj. nejdou přes celou šířku viewportu). Žádný
   margin-bottom — `desktop-header-style-1` má spodní border, který by jinak
   visel ve vzduchu 28 px pod menu. Vzduch před hero přidáváme až ZA border. */
#iqitmegamenu-wrapper {
    background: transparent;
    margin: 0;
}

/* Bootstrap `.container` s top + right borderem (identicky jako penove-desky.cz:
   `.header-menu>.container { border-top: 1px solid #eee; border-right: 1px solid #eee }`).
   Padding 0 a content stretch — KATEGORIE box do levé strany containeru,
   POPTAT do pravé strany těsně před vertikální linkou. Container má normální
   Bootstrap max-width — tj. KATEGORIE začíná u CONTAINER edge (ne viewport),
   aby se vizuálně zarovnal s hero-sekcí níže. */
.iqit-megamenu-container {
    padding: 0 !important;
    background: #fff;
    border-top: 1px solid var(--pd-border);
    border-right: 1px solid var(--pd-border);
}

/* Hlavní řádek menu — vystředit vertikálně, jednotná výška */
#iqitmegamenu-horizontal {
    min-height: 64px;
    align-items: stretch;
}

#cbp-hrmenu > ul {
    align-items: center;
    min-height: 64px;
}

/* Layout horizontalního baru jako flex (KATEGORIE / E-SHOP / utility / POPTAT) */
#iqitmegamenu-horizontal {
    display: flex;
    align-items: stretch;
    gap: 0;
}

#iqitmegamenu-horizontal .cbp-vertical-on-top {
    flex: 0 0 auto;
}

#cbp-hrmenu {
    flex: 1 1 auto;
}

#cbp-hrmenu > ul {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
    gap: 20px;
    list-style: none;
    margin: 0;
    padding: 0 20px;
    min-width: 0;
}

#cbp-hrmenu > ul > li.cbp-hrmenu-tab {
    margin: 0;
    border: 0;
    list-style: none;
    float: none !important;
    flex: 0 0 auto;
    min-width: 0;
}

#cbp-hrmenu > ul > li.cbp-pulled-right {
    margin-left: auto;
}

/* Top-level link — uppercase, bold, dark text, jeden řádek (žádné zalamování) */
#cbp-hrmenu > ul > li.cbp-hrmenu-tab > a,
#cbp-hrmenu > ul > li.cbp-hrmenu-tab > a > .cbp-tab-title {
    color: var(--pd-text) !important;
    font-weight: 600;
    text-transform: uppercase !important;
    letter-spacing: .2px;
    font-size: 13px;
    text-decoration: none;
    line-height: 1.2;
    white-space: nowrap !important;
}

/* Užší viewporty / delší překlady (de/en) — menší font + mezery, ať se menu vejde */
@media (max-width: 1366px) {
    #cbp-hrmenu > ul { gap: 14px; padding: 0 14px; }
    #cbp-hrmenu > ul > li.cbp-hrmenu-tab > a,
    #cbp-hrmenu > ul > li.cbp-hrmenu-tab > a > .cbp-tab-title {
        font-size: 12px;
        letter-spacing: 0;
    }
}

/* BULLETPROOF flex layout horizontálního menu — přebíjí původní Codrops
   inline-block + `.cbp-horizontal > ul { font-size: 0 }` (který „slepoval"
   položky k sobě). Bez tohoto se delší DE/EN názvy překrývaly. */
#cbp-hrmenu.cbp-horizontal > ul,
#cbp-hrmenu > ul {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    column-gap: 22px !important;
    font-size: 14px !important;
}

#cbp-hrmenu.cbp-horizontal > ul > li.cbp-hrmenu-tab,
#cbp-hrmenu > ul > li.cbp-hrmenu-tab {
    display: flex !important;
    align-items: center !important;
    position: relative !important; /* kotva pro absolutní submenu (ne static!) */
    float: none !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    width: auto !important;
    min-width: 0 !important;
}

#cbp-hrmenu > ul > li.cbp-hrmenu-tab.cbp-pulled-right,
#cbp-hrmenu > ul > li.cbp-pulled-right {
    margin-left: auto !important;
}

/* SKUTEČNÁ PŘÍČINA překryvu: menu `<a>` má `max-width: 200px` (z mega-menu CSS).
   U kratšího CZ textu (<200px) to nevadilo, u delšího DE/EN (~240px) se text
   ořízl na 200px a s `overflow:visible` přetekl přes box → překryl sousední
   položku. Fix: zrušit max-width + width auto, ať se `<a>` roztáhne na obsah. */
#cbp-hrmenu.cbp-horizontal > ul > li.cbp-hrmenu-tab > a,
#cbp-hrmenu > ul > li.cbp-hrmenu-tab > a,
#cbp-hrmenu > ul > li.cbp-hrmenu-tab > a > .cbp-tab-title {
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    max-width: none !important;
    white-space: nowrap !important;
}

#cbp-hrmenu > ul > li.cbp-hrmenu-tab > a > .cbp-tab-title {
    display: inline-block !important;
}

@media (max-width: 1366px) {
    #cbp-hrmenu.cbp-horizontal > ul,
    #cbp-hrmenu > ul { column-gap: 14px !important; }
}

#cbp-hrmenu > ul > li.cbp-hrmenu-tab > a {
    padding: 8px 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    position: relative;
    border: 0 !important;
    background: transparent !important;
}

/* Bezpečnostní override — žádné levo/pravo bordery na top-level tabs ani
   na <a>, ani na cbp-tab-title (parent občas přidává decorative dividers). */
#cbp-hrmenu > ul > li.cbp-hrmenu-tab,
#cbp-hrmenu > ul > li.cbp-hrmenu-tab > a,
#cbp-hrmenu > ul > li.cbp-hrmenu-tab > a > .cbp-tab-title,
#cbp-hrmenu > ul > li.cbp-hrmenu-tab::before,
#cbp-hrmenu > ul > li.cbp-hrmenu-tab::after,
#cbp-hrmenu > ul > li.cbp-hrmenu-tab > a::before,
#cbp-hrmenu > ul > li.cbp-hrmenu-tab > a::after {
    border-left: 0 !important;
    border-right: 0 !important;
    content: none !important;
}

/* …ale label badge MUSI mít přípustný content (přepíše předchozí `content:none`) */
#cbp-hrmenu > ul > li.cbp-hrmenu-tab > a > .label.cbp-legend-main {
    content: normal;
}

#cbp-hrmenu > ul > li.cbp-hrmenu-tab > a:hover,
#cbp-hrmenu > ul > li.cbp-hrmenu-tab > a:focus {
    color: var(--pd-primary) !important;
}

#cbp-hrmenu > ul > li.cbp-hrmenu-tab > a .cbp-submenu-aindicator {
    font-size: 12px;
    color: var(--pd-text-muted);
    margin-left: 4px;
}

/* Skrýt prefix-ikonky před textem (icon_type=1 fa-* z DB) — necháváme jen text */
#cbp-hrmenu > ul > li.cbp-hrmenu-tab > a > .cbp-tab-title > i.cbp-mainlink-icon {
    display: none;
}

/* Label badge (NOVÉ / SLEVA!) — nad textem, oranžová pilulka. `overflow:visible`
   na <a> + na li zajistí že široký badge (např. SLEVA!) se nezalomí ani neořeže. */
#cbp-hrmenu > ul > li.cbp-hrmenu-tab,
#cbp-hrmenu > ul > li.cbp-hrmenu-tab > a {
    overflow: visible !important;
}

#cbp-hrmenu > ul > li.cbp-hrmenu-tab > a > .label.cbp-legend-main {
    position: absolute !important;
    top: -16px !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%);
    background: var(--pd-accent) !important;
    color: #fff !important;
    font-size: 10px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 3px;
    text-transform: uppercase;
    letter-spacing: .5px;
    line-height: 1.4;
    white-space: nowrap !important;
    border: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    box-shadow: none !important;
    display: inline-block;
}

/* KATEGORIE button (Iqit vertical-on-top) — green, šířka řízená CSS proměnnou
   (--pd-sidebar-w/min/max) aby seděla s kategorie boxem pod hero bannerem. */
.cbp-vertical-on-top {
    background: var(--pd-primary);
    color: #fff;
    width: var(--pd-sidebar-w);
    min-width: var(--pd-sidebar-min-w);
    max-width: var(--pd-sidebar-max-w);
    display: flex;
    align-items: center;
}

.cbp-vertical-on-top #cbp-hrmenu1 {
    width: 100%;
    background: transparent !important;
    border: 0 !important;
    margin: 0;
}

.cbp-vertical-on-top .cbp-vertical-title {
    color: #fff !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: .3px;
    padding: 14px 20px !important;
    background: transparent !important;
    border: 0 !important;
    cursor: pointer;
    margin: 0 !important;
    display: flex !important;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    line-height: 1 !important;
}

/* Skrýt FontAwesome bar-glyph, nahradit ho SVG ikonou převzatou z penove-desky.cz
   (16×16, „bullets + lines" list-with-dots motiv, bílá výplň). */
.cbp-vertical-on-top .cbp-vertical-title .cbp-iconbars {
    font-size: 0 !important;  /* skryje FA glyph */
    color: transparent !important;
    margin: 0 !important;
    width: 18px;
    height: 18px;
    display: inline-block;
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.5 12.3077H0.5C0.367392 12.3077 0.240215 12.3725 0.146447 12.4879C0.0526784 12.6033 0 12.7599 0 12.9231L0 15.3846C0 15.5478 0.0526784 15.7044 0.146447 15.8198C0.240215 15.9352 0.367392 16 0.5 16H2.5C2.63261 16 2.75979 15.9352 2.85355 15.8198C2.94732 15.7044 3 15.5478 3 15.3846V12.9231C3 12.7599 2.94732 12.6033 2.85355 12.4879C2.75979 12.3725 2.63261 12.3077 2.5 12.3077ZM2.5 0H0.5C0.367392 0 0.240215 0.064835 0.146447 0.180242C0.0526784 0.295649 0 0.452174 0 0.615385L0 3.07692C0 3.24013 0.0526784 3.39666 0.146447 3.51207C0.240215 3.62747 0.367392 3.69231 0.5 3.69231H2.5C2.63261 3.69231 2.75979 3.62747 2.85355 3.51207C2.94732 3.39666 3 3.24013 3 3.07692V0.615385C3 0.452174 2.94732 0.295649 2.85355 0.180242C2.75979 0.064835 2.63261 0 2.5 0ZM2.5 6.15385H0.5C0.367392 6.15385 0.240215 6.21868 0.146447 6.33409C0.0526784 6.4495 0 6.60602 0 6.76923L0 9.23077C0 9.39398 0.0526784 9.55051 0.146447 9.66591C0.240215 9.78132 0.367392 9.84615 0.5 9.84615H2.5C2.63261 9.84615 2.75979 9.78132 2.85355 9.66591C2.94732 9.55051 3 9.39398 3 9.23077V6.76923C3 6.60602 2.94732 6.4495 2.85355 6.33409C2.75979 6.21868 2.63261 6.15385 2.5 6.15385ZM15.5 12.9231H5.5C5.36739 12.9231 5.24021 12.9879 5.14645 13.1033C5.05268 13.2187 5 13.3753 5 13.5385V14.7692C5 14.9324 5.05268 15.089 5.14645 15.2044C5.24021 15.3198 5.36739 15.3846 5.5 15.3846H15.5C15.6326 15.3846 15.7598 15.3198 15.8536 15.2044C15.9473 15.089 16 14.9324 16 14.7692V13.5385C16 13.3753 15.9473 13.2187 15.8536 13.1033C15.7598 12.9879 15.6326 12.9231 15.5 12.9231ZM15.5 0.615385H5.5C5.36739 0.615385 5.24021 0.68022 5.14645 0.795627C5.05268 0.911034 5 1.06756 5 1.23077V2.46154C5 2.62475 5.05268 2.78127 5.14645 2.89668C5.24021 3.01209 5.36739 3.07692 5.5 3.07692H15.5C15.6326 3.07692 15.7598 3.01209 15.8536 2.89668C15.9473 2.78127 16 2.62475 16 2.46154V1.23077C16 1.06756 15.9473 0.911034 15.8536 0.795627C15.7598 0.68022 15.6326 0.615385 15.5 0.615385ZM15.5 6.76923H5.5C5.36739 6.76923 5.24021 6.83407 5.14645 6.94947C5.05268 7.06488 5 7.22141 5 7.38462V8.61539C5 8.77859 5.05268 8.93512 5.14645 9.05053C5.24021 9.16594 5.36739 9.23077 5.5 9.23077H15.5C15.6326 9.23077 15.7598 9.16594 15.8536 9.05053C15.9473 8.93512 16 8.77859 16 8.61539V7.38462C16 7.22141 15.9473 7.06488 15.8536 6.94947C15.7598 6.83407 15.6326 6.76923 15.5 6.76923Z' fill='white'/%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    /* FA `fa-bars::before` má `content:"\f0c9"` ze sdílené FA fonts — nahradit prázdným */
}

.cbp-vertical-on-top .cbp-vertical-title .cbp-iconbars::before {
    content: '' !important;
    font-family: inherit !important;
    display: none !important;
}

/* Override parent's `.cbp-vertical-title-text { display: none !important }` */
.cbp-vertical-on-top .cbp-vertical-title .cbp-vertical-title-text,
#iqitmegamenu-horizontal .cbp-vertical-on-top .cbp-vertical-title-text {
    display: inline !important;
    color: #fff !important;
}

/* Hover ponechat stejnou zelenou jako v klidovém stavu (žádná tmavší varianta). */
.cbp-vertical-on-top:hover,
.cbp-vertical-on-top:hover .cbp-vertical-title {
    background: var(--pd-primary) !important;
}

/* KATEGORIE dropdown — vertikální seznam kategorií co se rozbalí pod buttonem.
   Iqit renderuje `<ul id="cbp-hrmenu1-ul">` uvnitř `.cbp-vertical-on-top`.
   Stylujeme jako čistý dropdown panel pod zeleným hlavičkovým buttonem. */
.cbp-vertical-on-top {
    position: relative;
}

/* Sjednocení submenu (KATEGORIE + E-SHOP) — bílé pozadí, 1px border,
   shadow, padding 8px 0, 270 px šířka. Stejné rozměry → menu vypadá konzistentně. */
.cbp-vertical-on-top #cbp-hrmenu1-ul {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: auto !important;
    width: 100% !important;
    min-width: 270px !important;
    margin: 0 !important;
    padding: 8px 0 !important;
    list-style: none;
    background: #fff !important;
    border: 1px solid var(--pd-border) !important;
    border-top: 0 !important;
    border-radius: 0 !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .08) !important;
    z-index: 100;
    display: none;
}

/* Otevření dropdownu — Iqit používá `.cbp-hover` na <nav> nebo na <li> při hoveru */
.cbp-vertical-on-top:hover #cbp-hrmenu1-ul,
.cbp-vertical-on-top .cbp-hover #cbp-hrmenu1-ul,
.cbp-vertical-on-top #cbp-hrmenu1:hover #cbp-hrmenu1-ul {
    display: block;
}

/* Položky v dropdownu */
.cbp-vertical-on-top #cbp-hrmenu1-ul > li.cbp-hrmenu-tab {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    list-style: none;
    display: block !important;
    width: 100%;
    float: none !important;
}

.cbp-vertical-on-top #cbp-hrmenu1-ul > li.cbp-hrmenu-tab > a {
    display: block !important;
    padding: 13px 22px !important;
    color: var(--pd-text) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
    background: #fff !important;
    border: 0 !important;
    transition: background .15s, color .15s;
}

.cbp-vertical-on-top #cbp-hrmenu1-ul > li.cbp-hrmenu-tab > a:hover {
    background: var(--pd-bg-soft) !important;
    color: var(--pd-primary) !important;
}

.cbp-vertical-on-top #cbp-hrmenu1-ul > li.cbp-hrmenu-tab > a > span {
    color: inherit !important;
    font-weight: inherit !important;
}

/* Schovat `cbp-onlyicon` (prázdné položky s jen badgem) v případě že DB obsahuje neaktivované */
.cbp-vertical-on-top #cbp-hrmenu1-ul > li.cbp-onlyicon {
    display: none !important;
}

/* Schovat trailing submenu arrow indicator a label badges uvnitř dropdownu */
.cbp-vertical-on-top #cbp-hrmenu1-ul .cbp-submenu-aindicator,
.cbp-vertical-on-top #cbp-hrmenu1-ul .cbp-legend-arrow {
    display: none !important;
}

/* E-SHOP dropdown — plochý seznam kategorií (stejný styl jako KATEGORIE dropdown).
   Iqit defaultně renderuje submenu_type=1 jako 2-sloupcový tabs panel
   (col-2 navigace + col-10 obsah). My obsah nepoužíváme, tak ho schováme. */
#cbp-hrmenu-tab-28 .cbp-hrsub {
    width: 270px !important;
    min-width: 270px !important;
    background: #fff !important;
    border: 1px solid var(--pd-border) !important;
    border-top: 0 !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .08) !important;
    border-radius: 0 !important;
    padding: 8px 0 !important;
    margin-top: 0 !important;
    /* Tab je position:relative → submenu kotvíme pod položku (default CSS dává
       záporný top kalibrovaný na jiný anchor, což ho házelo nahoru ke stránce). */
    top: 100% !important;
    left: 0 !important;
    bottom: auto !important;
}

/* Vynutit bílé pozadí na všech vnitřních kontejnerech E-SHOP submenu
   (Iqit občas šedý/transparent přebíjí přes nested wrappers) */
#cbp-hrmenu-tab-28 .cbp-hrsub,
#cbp-hrmenu-tab-28 .cbp-hrsub-inner,
#cbp-hrmenu-tab-28 .iqitmegamenu-submenu-container,
#cbp-hrmenu-tab-28 .cbp-tabs-container,
#cbp-hrmenu-tab-28 .tabs-links,
#cbp-hrmenu-tab-28 .cbp-hrsub-tabs-names,
#cbp-hrmenu-tab-28 .cbp-hrsub-tabs-names > li {
    background: #fff !important;
}

#cbp-hrmenu-tab-28 .cbp-hrsub-inner,
#cbp-hrmenu-tab-28 .iqitmegamenu-submenu-container,
#cbp-hrmenu-tab-28 .cbp-tabs-container {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

#cbp-hrmenu-tab-28 .row.no-gutters {
    margin: 0 !important;
}

/* Skrýt prázdný pravý sloupec s tab-pane obsahem */
#cbp-hrmenu-tab-28 .tab-content {
    display: none !important;
}

/* Levý sloupec (tab navigace s kategoriemi) — roztáhnout na full-width */
#cbp-hrmenu-tab-28 .tabs-links {
    flex: 1 1 100%;
    max-width: 100%;
    padding: 0 !important;
}

#cbp-hrmenu-tab-28 .cbp-hrsub-tabs-names {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

#cbp-hrmenu-tab-28 .cbp-hrsub-tabs-names > li {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    display: block !important;
    width: 100%;
    float: none !important;
}

#cbp-hrmenu-tab-28 .cbp-hrsub-tabs-names > li > a {
    display: block !important;
    padding: 13px 22px !important;
    color: var(--pd-text) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    line-height: 1.4 !important;
    background: #fff !important;
    border: 0 !important;
    white-space: nowrap;
    transition: background .15s, color .15s;
}

#cbp-hrmenu-tab-28 .cbp-hrsub-tabs-names > li > a:hover,
#cbp-hrmenu-tab-28 .cbp-hrsub-tabs-names > li.active > a {
    background: var(--pd-bg-soft) !important;
    color: var(--pd-primary) !important;
}

/* Schovat pravou „chevron-right" šipku — vizuálně příliš agresivní */
#cbp-hrmenu-tab-28 .cbp-hrsub-tabs-names .cbp-submenu-it-indicator {
    display: none !important;
}

/* Inner-border-hider — Iqit defaultní separátor mezi tabs, schovat */
#cbp-hrmenu-tab-28 .cbp-hrsub-tabs-names .cbp-inner-border-hider {
    display: none !important;
}

/* POPTAT (right-floated tab #26) — zelený text + zelená cube ikona, bez pozadí */
#cbp-hrmenu > ul > li.cbp-hrmenu-tab.cbp-pulled-right > a,
#cbp-hrmenu > ul > li.cbp-hrmenu-tab.pull-right > a,
#cbp-hrmenu > ul > li.cbp-hrmenu-tab.cbp-pulled-right > a > .cbp-tab-title,
#cbp-hrmenu > ul > li.cbp-hrmenu-tab.pull-right > a > .cbp-tab-title {
    background: transparent !important;
    color: var(--pd-primary) !important;
    padding: 8px 0 !important;
}

/* POPTAT ikona — SVG „stacked diamonds" převzato z penove-desky.cz
   (`.menu-float-right:before` v themes/electronic/assets/css/custom.css).
   28×22 px, světle zelená výplň `#99DCC8` + tmavě zelený obrys `#00A875`. */
#cbp-hrmenu > ul > li.cbp-pulled-right > a > .cbp-tab-title > i.cbp-mainlink-icon,
#cbp-hrmenu > ul > li.pull-right > a > .cbp-tab-title > i.cbp-mainlink-icon {
    display: inline-block !important;
    font-size: 0 !important;
    color: transparent !important;
    width: 28px;
    height: 22px;
    margin-right: 10px;
    background-image: url("data:image/svg+xml,%3Csvg width='28' height='22' viewBox='0 0 28 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M26.8458 7.03931L13.6434 13.6405L0.44104 7.03931L13.6434 0.43811L26.8458 7.03931Z' fill='%2399DCC8'/%3E%3Cpath d='M13.6428 16.7211V18.4814L0.44043 11.8802V10.1199L13.6428 16.7211Z' fill='%2399DCC8'/%3E%3Cpath d='M26.8452 10.1199V11.8802L13.6428 18.4814V16.7211L26.8452 10.1199Z' fill='%2399DCC8'/%3E%3Cpath d='M27.042 9.72597L24.7487 8.57956L27.042 7.43535C27.1152 7.39886 27.1768 7.34266 27.2199 7.27309C27.263 7.20351 27.2858 7.12331 27.2858 7.04148C27.2858 6.95966 27.263 6.87946 27.2199 6.80988C27.1768 6.7403 27.1152 6.68411 27.042 6.64761L13.8396 0.0464136C13.7785 0.0158903 13.7112 0 13.6429 0C13.5746 0 13.5073 0.0158903 13.4462 0.0464136L0.243775 6.64761C0.170543 6.68411 0.108936 6.7403 0.065874 6.80988C0.022812 6.87946 0 6.95966 0 7.04148C0 7.12331 0.022812 7.20351 0.065874 7.27309C0.108936 7.34266 0.170543 7.39886 0.243775 7.43535L2.53703 8.57956L0.243775 9.72597C0.170619 9.76253 0.109097 9.81874 0.0661102 9.88832C0.0231234 9.95789 0.000372875 10.0381 0.000410984 10.1198V11.8802C-3.74689e-05 11.9623 0.0225197 12.043 0.0655294 12.113C0.108539 12.183 0.170284 12.2395 0.243775 12.2762L2.53703 13.4204L0.243775 14.5646C0.170543 14.6011 0.108936 14.6573 0.065874 14.7269C0.022812 14.7965 0 14.8767 0 14.9585C0 15.0403 0.022812 15.1205 0.065874 15.1901C0.108936 15.2597 0.170543 15.3159 0.243775 15.3524L13.4462 21.9536C13.5073 21.9841 13.5746 22 13.6429 22C13.7112 22 13.7785 21.9841 13.8396 21.9536L27.042 15.3524C27.1152 15.3159 27.1768 15.2597 27.2199 15.1901C27.263 15.1205 27.2858 15.0403 27.2858 14.9585C27.2858 14.8767 27.263 14.7965 27.2199 14.7269C27.1768 14.6573 27.1152 14.6011 27.042 14.5646L24.7487 13.4204L27.042 12.2762C27.1155 12.2395 27.1772 12.183 27.2202 12.113C27.2633 12.043 27.2858 11.9623 27.2854 11.8802V10.1198C27.2854 10.0381 27.2627 9.95789 27.2197 9.88832C27.1767 9.81874 27.1152 9.76253 27.042 9.72597ZM13.6429 0.930094L25.8613 7.03928L13.6429 13.1485L1.42451 7.03928L13.6429 0.930094ZM13.4462 14.0366C13.5073 14.0671 13.5746 14.083 13.6429 14.083C13.7112 14.083 13.7785 14.0671 13.8396 14.0366L23.7647 9.07157L25.8613 10.1198L13.6429 16.229L1.42451 10.1198L3.52105 9.07157L13.4462 14.0366ZM0.880571 10.8319L13.2028 16.993V17.7693L0.880571 11.6082V10.8319ZM25.8613 14.9607L13.6429 21.0699L1.42451 14.9607L3.52105 13.9124L13.4462 18.8774C13.5073 18.908 13.5746 18.9238 13.6429 18.9238C13.7112 18.9238 13.7785 18.908 13.8396 18.8774L23.7647 13.9124L25.8613 14.9607ZM14.083 17.7693V16.993L26.4052 10.8319V11.6082L14.083 17.7693Z' fill='%2300A875'/%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
    background-position: center;
    vertical-align: middle;
}

/* Skrýt původní FA fa-cube glyph (jinak by se vykreslil přes SVG) */
#cbp-hrmenu > ul > li.cbp-pulled-right > a > .cbp-tab-title > i.cbp-mainlink-icon::before,
#cbp-hrmenu > ul > li.pull-right > a > .cbp-tab-title > i.cbp-mainlink-icon::before {
    content: '' !important;
    font-family: inherit !important;
    display: none !important;
}

#cbp-hrmenu > ul > li.cbp-pulled-right > a:hover,
#cbp-hrmenu > ul > li.pull-right > a:hover {
    color: var(--pd-primary) !important;
}

/* Schovat trailing submenu indicator u POPTAT (nemá dropdown obsah) */
#cbp-hrmenu > ul > li.cbp-pulled-right > a > .cbp-tab-title > .cbp-submenu-aindicator,
#cbp-hrmenu > ul > li.pull-right > a > .cbp-tab-title > .cbp-submenu-aindicator,
#cbp-hrmenu > ul > li.cbp-pulled-right > a > .cbp-submenu-aindicator,
#cbp-hrmenu > ul > li.pull-right > a > .cbp-submenu-aindicator {
    display: none !important;
}

/* Responzivní úprava hlavního menu --------------------------------------------
   <= 1399px: zmenšit gap mezi položkami a font, KATEGORIE button zmenšit na 220px
   <= 1199px: skrýt POPTAT desktop variantu (zobrazuje se v hamburger / topbaru)
   <= 991px:  skrýt celý horizontální bar — Iqit má vlastní mobile menu */
@media (max-width: 1399.98px) {
    #cbp-hrmenu > ul {
        gap: 18px;
        padding: 0 16px;
    }
    #cbp-hrmenu > ul > li.cbp-hrmenu-tab > a,
    #cbp-hrmenu > ul > li.cbp-hrmenu-tab > a > .cbp-tab-title {
        font-size: 13px;
        letter-spacing: 0;
    }
    :root {
        --pd-sidebar-max-w: 260px;
    }
}

@media (max-width: 1199.98px) {
    #cbp-hrmenu > ul {
        gap: 14px;
    }
    /* KATEGORIE button NEsbalovat na ikonu — na menu-baru je dost místa (mezera
       k POPTAT ~430px @1024px) a sbalení navíc nefungovalo: skrytí textu
       (display:none na .cbp-vertical-title-text) přebíjelo dřívější pravidlo s ID
       #iqitmegamenu-horizontal (vyšší specificita) → text zůstal, ale 56px šířka
       ho ořízla na „KA". Ponecháváme plný button z base pravidla
       (šířka 25% / min 240 / max 260). */
}

@media (max-width: 991.98px) {
    .iqit-megamenu-container {
        padding: 0;
    }
}

/* =============================================================================
   HERO sekce — kategorie box (levý sloupec) + clickable hero banner (pravý)
   ========================================================================== */

/* HERO banner — obrázek už obsahuje text + CTA z penove-desky.cz */
.pd-hero-link {
    display: block;
    line-height: 0;
    overflow: hidden;
    transition: opacity .15s ease;
}

.pd-hero-link:hover {
    opacity: .95;
    text-decoration: none;
}

.pd-hero-image {
    width: 100%;
    height: auto;
    display: block;
}

/* Sekce hero v Iqit Elementor — vynulovat default padding/margin column wrapperů
   (Iqit dává `.elementor-column .elementor-element-populated { padding: 10px }`
   a podobné defaulty, které vytvářejí mezery a posuvy). */
.iqit-elementor-landing .elementor-section .elementor-column .elementor-element-populated {
    padding: 0 !important;
}

.iqit-elementor-landing .elementor-section .elementor-widget-text-editor {
    margin: 0 !important;
}

.iqit-elementor-landing .elementor-section .elementor-widget-text-editor > .elementor-widget-container {
    padding: 0 !important;
    margin: 0 !important;
}

/* Homepage `#content.page-home` má v parent CSS `padding: 1rem; border: 1px solid`
   — to vytváří 16 px ohraničení kolem elementor sekce. Na homepage nechceme. */
#content.page-home {
    padding: 0 !important;
    border: 0 !important;
    margin: 0 !important;
}

/* Elementor section-boxed default constrain `max-width: 1270px` — chceme aby
   landing využíval celou container-šířku (1320 px), tak max-width zrušíme. */
.elementor-section-boxed > .elementor-container {
    max-width: 100% !important;
}

/* Hlavní wrapper `section#main` občas dostává `padding-top` od parent CSS;
   na homepage ho nuluju, ať landing začíná těsně pod menu. */
.page-index #main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Homepage — vynulovat horizontální padding `.container` (15 px Bootstrap default)
   a top padding `#wrapper` aby hero sekce začínala přesně u container-edge. */
.page-index #wrapper {
    padding-top: 10px !important;
}

.page-index #wrapper > .container,
.page-index .container.iqit-elementor-landing,
.page-index #main > .container {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Kategorie box (vlevo od hero banneru) — přesně dle penove-desky.cz designu:
   bílé pozadí, 1 px light border, tenké oddělovače mezi položkami, prostorný
   padding, výrazný tučný titulek, lehčí podtitulek, větší šedá outline 3D
   kostka jako ikona. */
.pd-cat-box {
    background: #fff;
    border: 1px solid var(--pd-border);
    border-radius: 0;
    overflow: hidden;
    width: 100%;
}

.pd-cat-item {
    display: flex !important;
    align-items: center;
    gap: 16px;
    padding: 18px 22px;
    color: var(--pd-text) !important;
    text-decoration: none !important;
    border-bottom: 1px solid var(--pd-border);
    background: #fbfbfb;
    transition: background .15s, color .15s;
}

.pd-cat-item:last-child {
    border-bottom: 0;
}

.pd-cat-item:hover {
    background: var(--pd-bg-soft);
    color: var(--pd-primary) !important;
    text-decoration: none !important;
}

/* Ikona — outline 3D kostka v jemné šedé (#a0a0a0), 28×28 px.
   Stejný styl jako na penove-desky.cz: hexagonální obrys + horní a dolní hrany. */
.pd-cat-item-icon {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    font-size: 0 !important;
    color: transparent !important;
    background-image: url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z' stroke='%23a0a0a0' stroke-width='1.6' stroke-linejoin='round' fill='none'/%3E%3Cpath d='M3.27 6.96L12 12.01l8.73-5.05M12 22.08V12' stroke='%23a0a0a0' stroke-width='1.6' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    line-height: 1;
}

/* Hover stav — ikona zezelená spolu s textem */
.pd-cat-item:hover .pd-cat-item-icon {
    background-image: url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z' stroke='%2300A875' stroke-width='1.6' stroke-linejoin='round' fill='none'/%3E%3Cpath d='M3.27 6.96L12 12.01l8.73-5.05M12 22.08V12' stroke='%2300A875' stroke-width='1.6' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E%0A");
}

.pd-cat-item-icon::before {
    content: '' !important;
    display: none !important;
}

.pd-cat-item-text {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1 1 auto;
}

.pd-cat-item-title {
    font-weight: 600;
    font-size: 15px;
    color: var(--pd-text);
    white-space: nowrap;
    line-height: 1.3;
}

.pd-cat-item:hover .pd-cat-item-title {
    color: var(--pd-primary);
}

/* =============================================================================
   Sekce „Ochráníme vaše produkty" — světle-šedé pozadí, full-width, 3 sloupce
   s ikonou + textem + CTA button. Sjednocené sloupce (stejná výška, vertikálně
   vystředěné texty).
   ========================================================================== */

/* Celá sekce má světle-šedé pozadí — nepoužíváme přímo na elementor section
   (která má constrained-container), ale na `body.page-index` přes pseudo-prvek
   nebo wrapper. Nejjednodušší: pozadí na konkrétní inner-section. */
.pd-protect-heading {
    text-align: center;
    color: var(--pd-text);
    font-size: 36px;
    font-weight: 500;
    margin: 0 0 50px;
    line-height: 1.2;
}

/* Sekce „Ochráníme vaše produkty" — identifikujeme přes `:has()` (Chrome 105+).
   Pozadí roztáhneme přes celou viewport-šířku přes calc-margin trick. */
.elementor-section.elementor-top-section:has(.pd-protect-heading) {
    background: var(--pd-bg-soft);
    padding-top: 60px !important;
    padding-bottom: 60px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: calc(50vw - 50%) !important;
    padding-right: calc(50vw - 50%) !important;
}

.pd-protect-col {
    display: flex;
    align-items: center;
    gap: 24px;
    text-align: left;
    height: 100%;
}

.pd-protect-icon {
    flex: 0 0 auto;
    width: 80px;
    height: auto;
    margin: 0;
}

/* Truncate text v Ochráníme sloupcích na 2 řádky s elipsou + click-to-expand
   (JS přidá `.is-expanded` na <p>). Pseudo-prvek "více" pod textem signalizuje
   uživateli, že je text rozklikatelný. */
/* Wrapper kolem paragraphu + "více" buttonu — JS ho injektne aby
   button mohl viset pod textem (4. řádek), ne vedle ikony. */
.pd-protect-text-wrap {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.pd-protect-col p {
    margin: 0;
    color: var(--pd-text);
    font-size: 15px;
    line-height: 1.7;
    width: 100%;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
}

.pd-protect-col p.is-expanded {
    -webkit-line-clamp: unset;
    line-clamp: unset;
    display: block;
}

/* "více / méně" tlačítko — injected JS-em když text přetéká.
   Sedí jako 4. řádek pod textem, vlevo, šedé regular-weight. */
.pd-protect-more {
    display: none;
    margin-top: 4px;
    padding: 0;
    background: transparent;
    border: 0;
    color: var(--pd-text-muted);
    font: inherit;
    font-weight: 400;
    text-decoration: underline;
    cursor: pointer;
    text-align: left;
    align-self: flex-start;
}

.pd-protect-col.has-overflow .pd-protect-more {
    display: inline-block;
}

.pd-protect-more:hover {
    color: var(--pd-primary);
}

.pd-protect-col p a {
    color: var(--pd-primary);
    text-decoration: none;
    font-weight: 500;
}

.pd-protect-col p a:hover {
    text-decoration: underline;
}

/* Sjednotit výšku sloupců — inner-section který obsahuje pd-protect-col.
   `:has()` (Chrome 105+) najde inner-section co obsahuje naše pd-protect-col. */
.elementor-section.elementor-inner-section:has(.pd-protect-col) > .elementor-container,
.elementor-section.elementor-inner-section:has(.pd-protect-col) > .elementor-container > .elementor-row {
    display: flex !important;
    align-items: stretch !important;
}

.elementor-section.elementor-inner-section:has(.pd-protect-col) .elementor-column {
    display: flex !important;
    flex-direction: column;
}

.elementor-section.elementor-inner-section:has(.pd-protect-col) .elementor-column-wrap,
.elementor-section.elementor-inner-section:has(.pd-protect-col) .elementor-widget-wrap {
    width: 100%;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Vynutit min-width na widget container aby se text v p mohl rozvinout do
   plné šířky sloupce (parent flex `flex: 1 1 auto` jinak může shrinknout). */
.elementor-section.elementor-inner-section:has(.pd-protect-col) .elementor-widget-container {
    min-width: 0;
    width: 100%;
}

/* CTA button "Přejít do e-shopu »" — oranžová, centered, větší padding */
.pd-protect-cta-wrap {
    text-align: center;
    margin-top: 40px;
}

.pd-protect-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 32px;
    background: var(--pd-accent);
    color: #fff !important;
    font-weight: 600;
    font-size: 16px;
    text-decoration: none !important;
    border-radius: 0;
    transition: background-color .15s, transform .1s;
}

.pd-protect-cta:hover {
    background: #d93a16;
    transform: translateY(-1px);
    color: #fff !important;
}

/* Mobile — `Ochráníme vaše produkty` jako karty s ikonou nahoře a textem pod ní */
@media (max-width: 767.98px) {
    .pd-protect-heading {
        font-size: 24px;
        margin: 0 0 28px;
        padding: 0;
        text-align: center;
    }

    /* RESET desktop full-bleed triku (`margin: calc(50% - 50vw)` + matching
       padding) — způsoboval na mobilu posun obsahu doprava a horizontal overflow,
       protože parent container je v některých Elementor stavech širší než viewport.
       Mobile: normální container-bound box, 40 px top padding pro vzduch nad nadpisem. */
    .elementor-section.elementor-top-section:has(.pd-protect-heading) {
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
        padding-top: 40px !important;
        padding-bottom: 36px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow-x: hidden;
    }

    /* Parent container/row protect sekce nesmí mít fixed šířku ani offset */
    .elementor-section.elementor-top-section:has(.pd-protect-heading) > .elementor-container,
    .elementor-section.elementor-top-section:has(.pd-protect-heading) .elementor-row {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Inner-section s pd-protect-col — vertikální stack, žádný flex-row */
    .elementor-section.elementor-inner-section:has(.pd-protect-col) > .elementor-container,
    .elementor-section.elementor-inner-section:has(.pd-protect-col) > .elementor-container > .elementor-row {
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Banner „Poptejte pěnové desky" — sjednotit mezery nad/pod */
    .elementor-section.elementor-top-section:has(.pd-hero-link) {
        padding-top: 0 !important;
        padding-bottom: 10px !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    /* Vertical layout — ikona uprostřed nahoře, text centrovaně pod ní (bez karty) */
    .pd-protect-col {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 12px;
        padding: 16px 0;
        height: auto;
        background: transparent;
        border: 0;
    }

    .pd-protect-icon {
        width: 56px;
    }

    .pd-protect-text-wrap {
        align-items: center;
        width: 100%;
    }

    .pd-protect-col p {
        font-size: 14px;
        line-height: 1.6;
        text-align: center;
        -webkit-line-clamp: 4;
        line-clamp: 4;
    }

    .pd-protect-more {
        align-self: center;
        text-align: center;
    }

    /* Mezery mezi sloupci v inner-section (Elementor stackuje column → column) */
    .elementor-section.elementor-inner-section:has(.pd-protect-col) .elementor-column + .elementor-column .elementor-widget-text-editor {
        margin-top: 12px;
    }

    /* CTA button — full-width pilulka */
    .pd-protect-cta-wrap {
        margin-top: 24px;
    }

    .pd-protect-cta {
        display: flex;
        justify-content: center;
        width: 100%;
        max-width: 320px;
        margin: 0 auto;
        padding: 14px 20px;
        font-size: 15px;
    }
}

.pd-protect-cta .fa {
    font-size: 14px;
}

/* Responzivně — < 768px stacked sloupce */
@media (max-width: 767.98px) {
    .pd-protect-heading {
        font-size: 28px;
        margin-bottom: 30px;
    }
    .pd-protect-col {
        margin-bottom: 24px;
    }
}

/* =============================================================================
   „Výhody pěnových desek" — položky (ikona + text), používá je lišta
   `.pd-home-ben` pod hero bannerem na homepage
   ========================================================================== */
.pd-ben-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    color: #fff;
}

/* Ikony mají různé šířky (29×60, 53×60, 60×60) — fixujeme jen výšku, šířka
   auto zachová poměr stran. Parent `.pd-ben-col` je flex column align-items:center,
   takže ikony se vystředí horizontálně na svém řádku.
   POZOR: selektor musí přebít theme `.rte-content img { height: auto }`
   (specificita 0,1,1) — proto `img.pd-ben-icon` uvnitř `.pd-ben-col`. */
.pd-ben-col img.pd-ben-icon {
    width: auto;
    height: 32px;
    object-fit: contain;
    margin-bottom: 8px;
    display: block;
}

.pd-ben-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
    line-height: 1.3;
}

.pd-ben-line1 {
    font-size: 14px;
    font-weight: 400;
    color: #fff;
}

.pd-ben-line2 {
    font-size: 15px;
    font-weight: 600;
    color: #fff;
}

.pd-ben-line1 strong,
.pd-ben-line2 strong {
    font-weight: 600;
}


@media (max-width: 767.98px) {
    .pd-ben-col {
        min-width: 0;
        overflow: hidden;
    }
    .pd-ben-line1,
    .pd-ben-line2 {
        word-break: break-word;
    }
}

.pd-cat-item-sub {
    font-weight: 400;
    font-size: 13px;
    color: var(--pd-text-muted) !important;
    margin-top: 3px;
    white-space: nowrap;
    line-height: 1.3;
}

/* =============================================================================
   Sale / Discount badge — oranžová z původního webu
   ========================================================================== */
.product-flag.on-sale,
.product-flag.discount,
.product-flag.discount-percentage,
.product-flag.discount-amount {
    background: var(--pd-accent);
    color: #fff;
}

/* =============================================================================
   Cena — důraz na primární barvu (jako starý web)
   ========================================================================== */
.product-price,
.current-price,
.product-list-prices .product-price .price {
    color: var(--pd-primary);
    font-weight: 600;
}

.regular-price {
    color: var(--pd-text-muted);
    text-decoration: line-through;
}

/* =============================================================================
   Buttons — explicitní override (Editor obarvil pozadí, doplníme drobnosti)
   ========================================================================== */
.btn-primary,
.btn-action {
    border: none;
    transition: background-color .15s ease;
}

.btn-primary:focus,
.btn-action:focus {
    outline: 2px solid var(--pd-primary-dark);
    outline-offset: 2px;
}

/* =============================================================================
   Section spacing — vzdušnost jako starý web
   ========================================================================== */
.featured-products,
.homefeatured,
#index .iqitcustomwidget,
.page-home > section {
    padding-top: 40px;
    padding-bottom: 40px;
}

/* =============================================================================
   Sekce „Náš výběr produktů" — heading + intro před produktovým carouselem
   ========================================================================== */
.pd-sel-heading {
    text-align: center;
    color: var(--pd-text);
    font-size: 36px;
    font-weight: 500;
    margin: 0 0 16px;
    line-height: 1.2;
}

.pd-sel-subtitle {
    text-align: center;
    color: var(--pd-text);
    font-size: 16px;
    font-weight: 400;
    margin: 0 0 110px;
    line-height: 1.5;
}

/* Elementor ProductsList grid view — 2 řádky × 4 karty, padding aby
   border edge boxů nebyl ořezán parent overflow. */
.elementor-widget-prestashop-widget-ProductsList,
.elementor-widget-prestashop-widget-ProductsList .elementor-widget-container,
.elementor-widget-prestashop-widget-ProductsList .products-grid,
.elementor-widget-prestashop-widget-ProductsList .products {
    overflow: visible !important;
}

/* Mezera pod subtitlem `Aktuálně máme...` — aplikujeme margin-top na widget
   wrapper, protože margin-bottom na samotném `.pd-sel-subtitle` neprosakuje
   díky Elementor containeru. */
.elementor-widget-prestashop-widget-ProductsList {
    margin-top: 40px !important;
}

/* Pojistka pro card edge — výchozí border nesmí být překryt swiper/grid wrapperem */
.elementor-widget-prestashop-widget-ProductsList .product-miniature {
    box-sizing: border-box;
}

/* Mezera mezi 2 řádky produktů — 15px gap. */
.elementor-widget-prestashop-widget-ProductsList .products-grid .row,
.elementor-widget-prestashop-widget-ProductsList .row.products {
    row-gap: 20px !important;
}

.elementor-widget-prestashop-widget-ProductsList .products-grid .row > [class*="col-"],
.elementor-widget-prestashop-widget-ProductsList .row.products > [class*="col-"] {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.elementor-widget-prestashop-widget-ProductsList .product-miniature {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.pd-sel-subtitle a {
    color: var(--pd-text);
    text-decoration: underline;
    font-weight: 600;
}

.pd-sel-subtitle a:hover {
    color: var(--pd-primary);
}

@media (max-width: 767.98px) {
    .pd-sel-heading { font-size: 28px; }
}

/* =============================================================================
   Produktové karty — 1:1 dle penove-desky.cz
   - bílá karta s light borderem, hover lift
   - thumbnail vyplní šířku, čtvercový poměr
   - title 18px se max 2-line clamp
   - cena: oranžová `#ff4200` 24px bold + řádek „X Kč s DPH" 12px šedá
   - „Přidat do košíku" button v brand zelené s cart-icon SVG (převzato 1:1
     z penove-desky.cz `.product-miniature .add-to-cart:before`)
   - Iqit-specific funkční doplňky (wishlist/compare/quick-view, category-name,
     reference, availability badge) skryty — na originále nejsou
   ========================================================================== */

/* Grid wrapper (`ps_featuredproducts` modul + Iqit `iqitcrossselling`) */
#products .featured-products,
.featured-products {
    margin: 0 0 60px;
}

.featured-products .products,
.featured-products > .products {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Karta produktu — bílá s 1 px borderem, padding 16 px, hover lift */
/* Větší vzduch v gridu produktů — warehouse row má jen 0.5rem gutter, navýšit. */
.products-grid {
    margin-right: -12px;
    margin-left: -12px;
}

.products-grid > .js-product-miniature-wrapper {
    padding-right: 12px;
    padding-left: 12px;
    margin-bottom: 24px;
}

.products-grid .product-miniature-layout-1 {
    margin: 10px;
}

.product-miniature {
    background: #fff;
    border: 1px solid var(--pd-border);
    border-radius: 4px;
    overflow: hidden;
    padding: 0;
    margin-bottom: 0;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
}

.product-miniature:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 22px rgba(0, 0, 0, .08);
    border-color: var(--pd-primary);
}

/* Thumbnail — full-width karty, čtvercový poměr, light bg */
.product-miniature .thumbnail-container {
    display: block;
    width: 100%;
    margin: 0;
    border: 0;
    background: #fafafa;
    border-radius: 0;
    position: relative;
    overflow: hidden;
}

.product-miniature .thumbnail-container a.thumbnail,
.product-miniature .product-thumbnail {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    overflow: hidden;
    border: 0;
}

.product-miniature .thumbnail-container img,
.product-miniature .product-thumbnail img,
.product-miniature .thumbnail-container picture {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
}

/* Skrýt Iqit funkční doplňky: kategorie-name, reference, wishlist/compare/
   quick-view, availability badge, krátký popis — na penove-desky.cz cards nejsou. */
.product-miniature .product-category-name,
.product-miniature .product-reference,
.product-miniature .product-availability,
.product-miniature .product-description-short,
.product-miniature .product-functional-buttons,
.product-miniature .product-functional-buttons-bottom,
.product-miniature .product-functional-buttons-top,
.product-miniature .product-flags-mobile,
.product-miniature .quick-view {
    display: none !important;
}

/* Product description (text pod thumbnail) — větší vertikální vzduch */
.product-miniature .product-description {
    padding: 32px 24px 24px;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    text-align: center;
}

/* Title — 20 px, bold, 2 řádky max, dostatek vzduchu pod */
.product-miniature .product-title,
.product-miniature h1.product-title,
.product-miniature .product-title.h3 {
    font-size: 20px !important;
    font-weight: 600;
    color: var(--pd-text);
    margin: 0 0 32px;
    padding: 0;
    line-height: 1.35;
    min-height: 0;
    max-height: 2.7em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-decoration: none;
    text-align: center;
}

.product-miniature .product-title a,
.product-miniature a.product-title {
    color: inherit !important;
    text-decoration: none !important;
    font-size: inherit;
    line-height: inherit;
}

.product-miniature .product-title a:hover,
.product-miniature a.product-title:hover {
    color: var(--pd-primary) !important;
}

/* Cena — oranžová `#ff4200`, 24 px bold (převzato z penove-desky.cz) */
.product-miniature .product-price-and-shipping {
    margin: 0 0 28px;
    color: #ff4200;
    line-height: 1.2;
    text-align: center;
}

.product-miniature .product-price,
.product-miniature .price {
    color: #ff4200 !important;
    font-size: 24px;
    font-weight: 600;
    display: inline-block;
}

.product-miniature .product-price-and-shipping a {
    color: #ff4200;
    text-decoration: none;
}

/* Cena „s DPH" — šedá 12 px (penove-desky.cz `.small-with-dph`) */
.product-miniature .small-with-dph,
.product-miniature .tax-label,
.product-miniature .product-price-and-shipping .tax-shipping-delivery-label {
    display: block;
    font-size: 12px;
    color: var(--pd-text-muted);
    font-weight: 400;
    margin-top: 4px;
}

/* Regular-price (přeškrtnutá pre-discount) — šedá */
.product-miniature .regular-price {
    color: var(--pd-text-muted);
    text-decoration: line-through;
    font-size: 14px;
    font-weight: 400;
    margin-right: 8px;
    display: inline-block;
}

/* Discount badge — oranžová pilulka */
.product-miniature .discount-percentage,
.product-miniature .discount-amount {
    background: #ff4200;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 3px;
    margin-left: 6px;
    display: inline-block;
    vertical-align: middle;
}

/* Product flags (NEW / SALE) — top-left rohové pilulky */
.product-miniature .product-flags {
    position: absolute;
    top: 10px;
    left: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.product-miniature .product-flag {
    background: #ff4200;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 3px;
    display: inline-block;
    text-transform: uppercase;
    letter-spacing: .3px;
}

.product-miniature .product-flag.new {
    background: var(--pd-primary);
}

/* Featured products section — schovat duplicitní h4 nadpis „Naše produkty"
   (vlastní nadpis „Náš výběr produktů" je už v Elementor sekci nad ním) */
.featured-products > .section-title,
section.featured-products > h4.section-title {
    display: none !important;
}

/* Section-title (Podobné produkty v kategorii, Crossselling, ...) —
   sjednocený nadpis sekcí na produktové stránce */
.ps-category-products .section-title,
#product section .section-title,
#product .ps-category-products .section-title {
    display: block;
    margin: 32px 0 18px;
    padding: 0 0 12px;
    font-size: 22px;
    font-weight: 700;
    color: var(--pd-text);
    text-transform: uppercase;
    letter-spacing: .3px;
    border-bottom: 1px solid var(--pd-border);
    position: relative;
}

.ps-category-products .section-title::after,
#product section .section-title::after,
#product .ps-category-products .section-title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 60px;
    height: 2px;
    background: var(--pd-primary);
}

.ps-category-products .section-title > span,
#product section .section-title > span,
#product .ps-category-products .section-title > span {
    display: inline-block;
}

/* Grid produktů v ps_categoryproducts — 4-col layout */
.ps-category-products .products {
    margin: 0 -10px;
}

.ps-category-products .products > * {
    padding: 0 10px !important;
    margin-bottom: 20px;
}

/* „Přidat do košíku" button — brand zelená, basket-icon SVG vlevo.
   Parent warehouse má `.products-grid .product-miniature .product-add-cart{display:none!important}`
   — proto je nutný override s !important.
   Hodnoty (padding, SVG, výška) 1:1 převzaty z `penove-desky.cz` custom.css. */
.products-grid .product-miniature .product-add-cart,
.product-miniature .product-add-cart {
    display: block !important;
    margin-top: auto;
    padding: 0 18px 22px;
}

.product-miniature .product-add-cart form {
    margin: 0;
    width: 100%;
}

.product-miniature .product-add-cart .input-group-add-cart {
    width: 100%;
    flex-wrap: nowrap;
    display: flex;
    justify-content: center;
}

/* Skrýt qty input (na penove-desky.cz není — jen plnošířkový button) */
.product-miniature .product-add-cart .input-qty {
    display: none !important;
}

/* Skrýt FA ikony uvnitř buttonu (nahrazené naším SVG před textem) */
.product-miniature .add-to-cart .bag-icon,
.product-miniature .add-to-cart .spinner-icon,
.product-miniature .add-to-cart > i.fa {
    display: none !important;
}

.product-miniature .add-to-cart,
.product-miniature .btn.add-to-cart,
.product-miniature .btn-product-list.add-to-cart {
    position: relative;
    display: inline-flex !important;
    align-items: center;
    background: var(--pd-primary) !important;
    border: 0 !important;
    color: #fff !important;
    font-weight: 500;
    font-size: 14px;
    /* Užší button — text + košík ikona vždy na jednom řádku */
    height: 42px;
    line-height: 1;
    padding: 0 16px 0 38px;
    border-radius: 5px;
    text-decoration: none !important;
    transition: background-color .15s;
    width: auto;
    max-width: 100%;
    min-width: 0;
    justify-content: center;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    flex-shrink: 0;
}

/* Wrapper kolem buttonu — centrovat v rámci karty (button už není 100% width) */
.product-miniature .product-add-cart .add {
    display: flex;
    justify-content: center;
}

.product-miniature .add-to-cart:hover {
    background: var(--pd-primary-dark) !important;
}

/* Mobile (<768 px) — cart button na miniaturách jako full-width pilulka s menším
   paddingem, aby se „Přidat do košíku" + ikona vždy vešly. */
@media (max-width: 767.98px) {
    .product-miniature .product-add-cart {
        padding: 0 10px 14px !important;
    }
    .product-miniature .product-add-cart .add {
        width: 100%;
    }
    .product-miniature .btn.add-to-cart,
    .product-miniature .btn-product-list.add-to-cart {
        width: 100%;
        height: 40px;
        padding: 0 10px 0 28px;
        font-size: 13px;
        letter-spacing: -0.005em;
    }
    .product-miniature .add-to-cart::before {
        left: 8px !important;
        width: 14px !important;
        height: 11px !important;
        margin-top: -5.5px !important;
        background-size: contain;
    }
}

/* Velmi malé telefony (<380 px) — ještě užší: zkrátit text na „Do košíku" via
   pseudoelement (font-size hack), případně použít jen ikonu */
@media (max-width: 379.98px) {
    .product-miniature .btn.add-to-cart,
    .product-miniature .btn-product-list.add-to-cart {
        font-size: 12px;
        padding: 0 8px 0 26px;
    }
}

/* Basket icon SVG — 1:1 z `penove-desky.cz` custom.css `.fa-shopping-basket:before`
   (18×14 košík se 3 svislými čárami uvnitř, fill white). */
.product-miniature .add-to-cart::before {
    content: '';
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 14px;
    width: 18px;
    height: 14px;
    margin-top: -7px;
    background-image: url("data:image/svg+xml,%3Csvg width='18' height='14' viewBox='0 0 18 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18 5.75005V6.25005C18 6.66427 17.6642 7.00004 17.25 7.00004H17L16.184 12.7121C16.0784 13.4511 15.4455 14 14.6991 14H3.30094C2.55447 14 1.92159 13.4511 1.816 12.7121L1 7.00004H0.75C0.335781 7.00004 0 6.66427 0 6.25005V5.75005C0 5.33584 0.335781 5.00006 0.75 5.00006H2.85441L6.19128 0.41193C6.51613 -0.0346925 7.1415 -0.133473 7.58819 0.191369C8.03484 0.51621 8.13359 1.14161 7.80875 1.58827L5.32741 5.00006H12.6726L10.1912 1.58823C9.86641 1.14161 9.96519 0.516179 10.4118 0.191337C10.8584 -0.133504 11.4839 -0.034755 11.8088 0.411898L15.1456 5.00006H17.25C17.6642 5.00006 18 5.33584 18 5.75005ZM9.75 11.25V7.75004C9.75 7.33582 9.41422 7.00004 9 7.00004C8.58578 7.00004 8.25 7.33582 8.25 7.75004V11.25C8.25 11.6642 8.58578 12 9 12C9.41422 12 9.75 11.6642 9.75 11.25ZM13.25 11.25V7.75004C13.25 7.33582 12.9142 7.00004 12.5 7.00004C12.0858 7.00004 11.75 7.33582 11.75 7.75004V11.25C11.75 11.6642 12.0858 12 12.5 12C12.9142 12 13.25 11.6642 13.25 11.25ZM6.25 11.25V7.75004C6.25 7.33582 5.91422 7.00004 5.5 7.00004C5.08578 7.00004 4.75 7.33582 4.75 7.75004V11.25C4.75 11.6642 5.08578 12 5.5 12C5.91422 12 6.25 11.6642 6.25 11.25Z' fill='white'/%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
}

/* =============================================================================
   Linky — primární barva, podtržení až na hover (jako starý web)
   ========================================================================== */
a {
    color: var(--pd-primary);
    text-decoration: none;
    transition: color .15s ease;
}

a:hover {
    color: var(--pd-primary-dark);
    text-decoration: underline;
}

/* Výjimky: linky v navigaci/menu zachovají styl z Iqit Editoru */
nav a,
.iqit-megamenu a,
.product-miniature a,
.btn a,
a.btn {
    text-decoration: none !important;
}

/* =============================================================================
   Footer — light theme s jemným borderem
   ========================================================================== */
/* Footer wrapper — světle-šedé pozadí, dostatek vzduchu, žádný top border */
#footer {
    background: var(--pd-bg-soft);
}

.footer-container,
#footer-container-main {
    background: transparent;
    border-top: 0;
    padding: 50px 0 40px;
}

#footer-container-main .row {
    align-items: flex-start;
}

/* Iqit renderuje link bloky před HTML bannery, takže DOM pořadí je:
   Produkty, Odkazy, Logo, Kontakt, Mapa. Přes flex `order` přerovnáme na
   vizuálně správné: Logo | Produkty | Odkazy | Kontakt | Mapa. */
#footer-container-main #iqithtmlandbanners-block-6 { order: 1; }
#footer-container-main .block-iqitlinksmanager-3   { order: 2; }
#footer-container-main .block-iqitlinksmanager-4   { order: 3; }
#footer-container-main #iqithtmlandbanners-block-2 { order: 4; }
#footer-container-main #iqithtmlandbanners-block-3 { order: 5; }

/* Sloupce — sjednotit padding mezi nimi */
#footer-container-main .col,
#footer-container-main [class*="col-md-"] {
    padding-left: 16px;
    padding-right: 16px;
}

/* Titulek bloku (Produkty, Odkazy, Kontakt, Kde nás najdete?) */
#footer-container-main .block-title.h5 {
    font-size: 18px !important;
    font-weight: 600;
    color: var(--pd-text);
    margin-bottom: 22px;
    padding-bottom: 0;
    border-bottom: 0;
    text-transform: none;
}

#footer-container-main .block-title.h5 > span {
    color: inherit;
    font-weight: inherit;
}

/* Schovat prázdné titulky (col-1 logo block nemá title) */
#footer-container-main .block-title.h5:empty,
#footer-container-main .block-title.h5 > span:empty {
    display: none;
}

#footer-container-main .block-title.h5:has(> span:empty) {
    display: none;
}

/* Schovat default Sledujte nás (social) a Newsletter — duplicitní */
#footer-container-main .block-social-links,
#footer-container-main .block-newsletter,
#footer-container-main .block-iqitlinksmanager-3 + div .block-social-links,
#footer-container-main .col-md-auto {
    display: none !important;
}

/* Copyright řádek pod patičkou — decentní šedý 12px text na střed */
#footer-copyrights {
    display: block !important;
    background: var(--pd-bg-soft);
    border-top: 1px solid var(--pd-border);
    padding: 14px 0 !important;
    color: var(--pd-text-muted);
    font-size: 12px;
    line-height: 1.4;
    text-align: center;
}

#footer-copyrights .copyright-txt {
    color: var(--pd-text-muted);
    text-align: center;
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
}

#footer-copyrights .copyright-img {
    display: none !important;
}

/* Mobilní patička — všechny bloky otevřené (žádný collapse), logo nahoře,
   2-column grid: [Produkty | Odkazy] a [Kontakt | Mapa]. */
@media (max-width: 767.98px) {
    /* Force-show logo block + ostatní bloky (přebíjí všechna display:none pravidla) */
    #footer-container-main #iqithtmlandbanners-block-6,
    #footer-container-main #iqithtmlandbanners-block-2,
    #footer-container-main #iqithtmlandbanners-block-3,
    #footer-container-main .block-iqitlinksmanager-3,
    #footer-container-main .block-iqitlinksmanager-4,
    #footer-container-main .footer-brand-block,
    #footer-container-main .footer-brand-logo,
    #footer-container-main .footer-brand-about {
        display: block !important;
        visibility: visible !important;
    }

    /* Wrap blocks v 2-col grid (logo full-width, ostatní 2 vedle sebe) */
    #footer-container-main > .container > .row {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 24px 16px;
        align-items: start;
    }

    /* Logo span 2 sloupce */
    #footer-container-main #iqithtmlandbanners-block-6 {
        grid-column: 1 / -1;
        text-align: center;
        margin-bottom: 8px;
        padding: 0 !important;
    }

    #footer-container-main #iqithtmlandbanners-block-6 img {
        max-width: 200px;
        height: auto;
        margin: 0 auto;
    }

    /* Wide bloky zachovávají jeden col */
    #footer-container-main .col,
    #footer-container-main [class*="col-md-"],
    #footer-container-main [class*="col-12"] {
        width: auto !important;
        max-width: 100% !important;
        flex: unset !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Disable Bootstrap toggle/collapse — všechny sekce vždy otevřené, žádný chevron */
    #footer-container-main .block-toggle .block-title,
    #footer-container-main .js-block-toggle .block-title {
        cursor: default;
        pointer-events: none;
    }

    #footer-container-main .block-toggle .block-content,
    #footer-container-main .js-block-toggle .block-content,
    #footer-container-main .block.collapsed .block-content,
    #footer-container-main .block .collapse,
    #footer-container-main .block .collapsing {
        display: block !important;
        height: auto !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    /* Skrýt chevron šipku u nadpisu */
    #footer-container-main .block-title .fa-angle-down,
    #footer-container-main .block-title .fa-chevron-down,
    #footer-container-main .block-title::after,
    #footer-container-main .block-title > i,
    #footer-container-main .block-title .toggle-icon {
        display: none !important;
    }

    /* Titulek menší + bez velkého margin-bottom */
    #footer-container-main .block-title.h5 {
        font-size: 16px !important;
        margin-bottom: 12px;
    }

    /* Padding patičky na mobilu menší */
    .footer-container,
    #footer-container-main {
        padding: 32px 16px 24px !important;
    }
}

/* Odkazy v Produkty a Odkazy sloupcích */
#footer-container-main .block-iqitlinksmanager ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

#footer-container-main .block-iqitlinksmanager li {
    margin-bottom: 12px;
}

#footer-container-main .block-iqitlinksmanager li a {
    color: var(--pd-text) !important;
    font-size: 14px;
    text-decoration: none;
    transition: color .15s;
}

#footer-container-main .block-iqitlinksmanager li a:hover {
    color: var(--pd-primary) !important;
}

/* =============================================================================
   COL 1 — Logo + about + certifikace
   ========================================================================== */
.footer-brand-block {
    color: var(--pd-text);
}

.footer-brand-logo {
    display: inline-block;
    margin-bottom: 18px;
}

.footer-brand-logo img {
    max-height: 56px;
    width: auto;
    height: auto;
}

.footer-brand-about {
    color: var(--pd-text);
    font-size: 14px;
    line-height: 1.55;
    margin-bottom: 14px;
}

.footer-brand-about strong {
    font-weight: 600;
}

.footer-cert-block {
    margin-top: 22px;
}

.footer-cert-title {
    font-weight: 600;
    font-size: 14px;
    color: var(--pd-text);
    margin-bottom: 14px;
}

.footer-cert-row {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: nowrap;
}

.footer-cert-row img {
    flex: 0 1 auto;
    max-height: 84px;
    width: auto;
    max-width: 32%;
    height: auto;
    object-fit: contain;
}

/* =============================================================================
   COL 4 — Kontakt (address, phone, social)
   ========================================================================== */
.footer-contact-block {
    color: var(--pd-text);
}

.footer-contact-row {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 18px;
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0;
}

.footer-contact-icon {
    color: var(--pd-primary);
    font-size: 20px;
    flex: 0 0 auto;
    margin-top: 2px;
    width: 20px;
    text-align: center;
}

.footer-contact-text {
    font-size: 14px;
    line-height: 1.55;
    color: var(--pd-text);
}

/* Overrides Iqit themeditor `#footer-container-main a { color:#777 }` (ID-level specificity) */
#footer-container-main .footer-contact-text a,
#footer-container-main .footer-contact-text a:link,
#footer-container-main .footer-contact-text a:visited {
    color: var(--pd-text);
    text-decoration: none;
}

#footer-container-main .footer-contact-text a:hover {
    color: var(--pd-primary);
}

.footer-contact-socials {
    display: flex;
    gap: 8px;
    margin-top: 8px;
}

.footer-social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    color: #fff !important;
    text-decoration: none;
    transition: opacity .15s;
}

.footer-social-link:hover {
    opacity: .85;
    text-decoration: none;
}

/* Tmavší modrá FB barva (#48629b) — převzato z penove-desky.cz */
.footer-social-fb {
    background: #48629b;
}

.footer-social-ig {
    background: #000;
}

.footer-social-link .fa {
    font-size: 13px;
    color: #fff;
}

/* =============================================================================
   COL 5 — Kde nás najdete? (map + payments)
   ========================================================================== */
.footer-map-block {
    color: var(--pd-text);
}

.footer-map-embed {
    border: 1px solid var(--pd-border);
    border-radius: 4px;
    overflow: hidden;
    background: #fff;
}

.footer-map-embed iframe {
    width: 100%;
    border: 0;
    display: block;
}

.footer-payments {
    margin-top: 18px;
}

.footer-payments img {
    display: block;
    max-width: 100%;
    height: auto;
}

/* =============================================================================
   Responzivně: < 992px → 2 sloupce, < 576px → 1 sloupec
   ========================================================================== */
@media (max-width: 991.98px) {
    #footer-container-main .col,
    #footer-container-main [class*="col-md-"] {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        margin-bottom: 30px;
    }
}

@media (max-width: 575.98px) {
    #footer-container-main .col,
    #footer-container-main [class*="col-md-"] {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}

/* =============================================================================
   Stránka kategorií — levý sloupec + category description
   Replikace penove-desky.cz (theme electronic): bílá karta s category-tree
   v levém sloupci + nadpis kategorie a popisný text nad produkty.
   ========================================================================== */

/* Levý sloupec — bílá karta s borderem, sticky neaplikováno */
#left-column {
    padding-right: 16px;
}

/* Desktop: levý sloupec zarovnat se zeleným KATEGORIE tlačítkem v menu —
   stejná šířka (sdílené proměnné --pd-sidebar-*) a levá hrana na hraně
   containeru (zrušit levý gutter sloupce). Obsahový sloupec (col-md-9)
   dopočítá zbytek flexem. */
@media (min-width: 1200px) {
    .page-category #left-column,
    #category #left-column {
        flex: 0 0 auto;
        width: calc(clamp(var(--pd-sidebar-min-w), var(--pd-sidebar-w), var(--pd-sidebar-max-w)) + 16px);
        max-width: none;
        padding-left: 0;
    }

    /* Pozn.: #content-wrapper je v DOM PŘED #left-column (řazení přes
       `order-md-first`), sourozenecký selektor `~` by nechytil. */
    .page-category.layout-left-column #content-wrapper,
    #category.layout-left-column #content-wrapper {
        flex: 1 1 0;
        max-width: none;
        min-width: 0;
    }
}

/* Na tabletu/mobilu (<1200 px) skrýt levou lištu na kategorii — produkty + filtr
   ve výpisu jsou dostupné nahoře přes hamburger/horizontal filter. */
@media (max-width: 1199.98px) {
    .page-category #left-column,
    #category #left-column {
        display: none !important;
    }
    .page-category #content-wrapper,
    .page-category #left-column ~ #content-wrapper,
    #category #content-wrapper {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    /* 2 produkty na řádek na tabletu i mobilu */
    .page-category .products-grid > .js-product-miniature-wrapper,
    #category .products-grid > .js-product-miniature-wrapper,
    .page-category #products .products-grid > [class*="col-"],
    #category #products .products-grid > [class*="col-"] {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        width: 50% !important;
    }
}

/* Mobil — popis kategorie line-clamp 5 řádků + „více" toggle (JS injektne button) */
@media (max-width: 767.98px) {
    .category-description-top,
    .category-description-image {
        position: relative;
        margin: 0 0 18px;
    }

    /* Zkrácení přes max-height (NE -webkit-line-clamp — ten s `display:-webkit-box`
       glitchoval na <ul><li>: vykresloval stray „..." doprostřed seznamu). */
    .category-description-top .rte-content,
    .category-description-image .rte-content {
        font-size: 14px;
        line-height: 1.55;
        color: var(--pd-text);
        max-height: 10em;   /* ~náhled úvod + 3 odrážky */
        overflow: hidden;
        position: relative;
    }

    /* Jemný fade na spodku zkráceného textu (signalizuje pokračování místo elipsy) */
    .category-description-top.has-overflow:not(.is-expanded) .rte-content::after,
    .category-description-image.has-overflow:not(.is-expanded) .rte-content::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 2em;
        background: linear-gradient(rgba(255, 255, 255, 0), #fff);
        pointer-events: none;
    }

    .category-description-top.is-expanded .rte-content,
    .category-description-image.is-expanded .rte-content {
        max-height: none;
    }

    .pd-cat-desc-more {
        display: none;
        margin-top: 6px;
        padding: 0;
        background: transparent;
        border: 0;
        color: var(--pd-text-muted);
        font: inherit;
        font-weight: 400;
        text-decoration: underline;
        cursor: pointer;
        text-align: left;
    }

    .category-description-top.has-overflow .pd-cat-desc-more,
    .category-description-image.has-overflow .pd-cat-desc-more {
        display: inline-block;
    }

    .pd-cat-desc-more:hover {
        color: var(--pd-primary);
    }
}

/* Strom kategorií (ps_categorytree) — sdílené pro levý sloupec kategorie
   (#left-column) i homepage (#index, widget v iqitelementor sloupci). */
:is(#left-column, #index) .block-categories {
    background: #fbfbfb;
    border: 0 !important;
    padding: 6px 8px;
    margin-top: 5px;
    margin-bottom: 24px;
}

/* Homepage: bez horního odsazení — horní hrana karty lícuje s hero bannerem */
#index .block-categories {
    margin-top: 0;
}

/* Mobil: strom kategorií na homepage skrýt — vždy rozbalený strom by na mobilu
   zabral několik obrazovek nad hero bannerem; navigace je v hamburger menu.
   (Na kategorii je levý sloupec < 1200 px skrytý už výše.) */
@media (max-width: 767.98px) {
    #index .elementor-element-d8e18f7e {
        display: none !important;
    }
}

/* Odstranit border u všech levých sloupcových widgetů (faceted search + ostatní) */
#left-column #search_filters_wrapper,
#left-column #search_filters,
#left-column .block-categories ~ * {
    border: 0 !important;
    background: transparent;
    padding: 0;
    box-shadow: none;
}

/* Skrýt block-title v `.block-categories` — na referenci `penove-desky.cz` levý
   sloupec ukazuje JEN seznam podkategorií, bez nadpisu aktuální kategorie.
   Na homepage skrývá „Domů". */
:is(#left-column, #index) .block-categories .block-title {
    display: none;
}

/* Subcategory list — bordered bottom, šedý font, hover zelený */
:is(#left-column, #index) .block-categories .category-sub-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

:is(#left-column, #index) .block-categories .category-sub-menu li {
    margin: 0;
    padding: 0;
}

:is(#left-column, #index) .block-categories .category-sub-menu li[data-depth="0"] {
    border-bottom: 1px solid #ededed;
}

:is(#left-column, #index) .block-categories .category-sub-menu li[data-depth="0"]:last-child {
    border-bottom: 0;
}

:is(#left-column, #index) .block-categories .category-sub-menu li[data-depth="0"] > a {
    display: block;
    padding: 11px 14px;
    color: #222;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    transition: color .15s, padding .15s;
}

:is(#left-column, #index) .block-categories .category-sub-menu li[data-depth="0"] > a:hover {
    padding-left: 20px;
    background: transparent !important;
}

:is(#left-column, #index) .block-categories .category-sub-menu li[data-depth="0"] > a:hover,
:is(#left-column, #index) .block-categories .category-sub-menu li.current > a {
    color: var(--pd-primary);
}

/* AKCE (kategorie 11) — oranžová jako štítek AKCE/SLEVA v menu; barva nese
   význam „sleva". Cílení přes URL slug
   (cs /11-akce, en /11-action, de /11-aktion). Platí i pro hover/current. */
:is(#left-column, #index) .block-categories .category-sub-menu li[data-depth="0"] > a[href$="/11-akce"],
:is(#left-column, #index) .block-categories .category-sub-menu li[data-depth="0"] > a[href$="/11-action"],
:is(#left-column, #index) .block-categories .category-sub-menu li[data-depth="0"] > a[href$="/11-aktion"],
:is(#left-column, #index) .block-categories .category-sub-menu li[data-depth="0"] > a[href$="/11-akce"]:hover,
:is(#left-column, #index) .block-categories .category-sub-menu li[data-depth="0"] > a[href$="/11-action"]:hover,
:is(#left-column, #index) .block-categories .category-sub-menu li[data-depth="0"] > a[href$="/11-aktion"]:hover,
:is(#left-column, #index) .block-categories .category-sub-menu li.current > a[href$="/11-akce"],
:is(#left-column, #index) .block-categories .category-sub-menu li.current > a[href$="/11-action"],
:is(#left-column, #index) .block-categories .category-sub-menu li.current > a[href$="/11-aktion"] {
    color: var(--pd-accent);
}

/* Nested deeper sub-menu (data-depth>=1) — odsazení + zelená odrážka
   (tenký chevron kreslený bordery, 1:1 s odrážkami popisu na produktovém
   detailu, viz `#product .rte-content ul li::before`) */
:is(#left-column, #index) .block-categories .category-sub-menu li:not([data-depth="0"]) {
    position: relative;
    padding: 8px 0 8px 32px;
}

:is(#left-column, #index) .block-categories .category-sub-menu li:not([data-depth="0"])::before {
    content: '';
    position: absolute;
    border-right: 1px solid #00A875;
    border-bottom: 1px solid #00A875;
    width: 5px;
    height: 5px;
    top: 50%;
    left: 15px;
    transform: translateY(-50%) rotate(-270deg);
}

:is(#left-column, #index) .block-categories .category-sub-menu li:not([data-depth="0"]) > a {
    color: #4c4c4c;
    font-size: 14px;
    text-decoration: none;
    transition: color .15s;
}

:is(#left-column, #index) .block-categories .category-sub-menu li:not([data-depth="0"]) > a:hover {
    color: var(--pd-primary);
}

/* Homepage — lišta „Výhody pěnových desek" pod hero bannerem (přesunuta ze
   samostatné full-width sekce; iqitelementor text-editor widget
   `pd-home-ben-widget` ve sloupci e98d04ff vedle stromu kategorií).
   Položky používají sdílené styly `.pd-ben-col` / `.pd-ben-icon` / `.pd-ben-text`. */
/* Margin-top 10px = stejná mezera jako nad bannerem (`.page-index #wrapper`
   padding-top 10px) — mezery nad/pod hero jsou sjednocené */
.pd-home-ben-widget {
    margin: 10px 0 0 10px;
}

.pd-home-ben {
    background: var(--pd-primary);
    padding: 20px 30px 22px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 28px;
}

/* Nadpis zarovnaný vlevo — lícuje s nadpisem „Poptejte pěnové desky" v hero
   obrázku nad panelem (inset ~30px = padding panelu) */
.pd-home-ben-heading {
    text-align: left;
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    margin: 0;
    line-height: 1.2;
}

.pd-home-ben-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    align-items: start;
}

@media (max-width: 767px) {
    .pd-home-ben-widget {
        margin-left: 0;
    }

    .pd-home-ben-row {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px 12px;
    }

    .pd-home-ben-heading {
        font-size: 20px;
        text-align: center;
    }
}

/* Facetedsearch (filtry) v levém sloupci — sjednotit s block-categories */
#left-column #search_filters_wrapper,
#left-column #search_filters,
#left-column .block-categories ~ * {
    background: #fff;
    border: 1px solid var(--pd-border);
    border-radius: 4px;
    margin-bottom: 24px;
}

/* Vertikální menu z iqit (KATEGORIE button v left-column) — v category page schovat
   (KATEGORIE už je v hlavičce hlavního menu, na kategorii potřebujeme jen category-tree) */
#category #left-column #iqitmegamenu-wrapper-vertical,
.page-category #left-column #iqitmegamenu-wrapper-vertical {
    display: none;
}

/* H1 nadpis kategorie — větší, bold */
#js-product-list-header .page-title,
#js-product-list-header h1.h1 {
    font-size: 32px;
    font-weight: 600;
    color: var(--pd-text);
    margin: 0 0 16px;
    padding: 0;
}

/* Category description — světle šedý text, větší řádkování, prose styling */
.category-description,
.category-description-top {
    color: #464646;
    font-size: 15px;
    line-height: 1.6;
    margin: 0 0 28px;
}

.category-description p,
.category-description-top p {
    color: #464646;
    margin: 0 0 12px;
}

.category-description ul,
.category-description-top ul {
    list-style: none;
    padding-left: 0;
    margin: 6px 0 12px;
}

.category-description ul li,
.category-description-top ul li {
    position: relative;
    padding-left: 22px;
    margin: 0 0 6px;
    line-height: 1.5;
}

/* Green right-chevron marker (jako na reference penove-desky.cz) */
.category-description ul li::before,
.category-description-top ul li::before {
    content: '›';
    position: absolute;
    left: 4px;
    top: -1px;
    color: var(--pd-primary);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
}

.category-description a,
.category-description-top a {
    color: var(--pd-primary);
    text-decoration: none;
}

.category-description a:hover,
.category-description-top a:hover {
    color: var(--pd-primary-dark);
    text-decoration: underline;
}

/* Breadcrumb na kategorii — bez bg, symetrický padding nad/pod */
.page-category #wrapper .breadcrumb,
#category #wrapper .breadcrumb {
    background: transparent;
    padding: 0 0 10px 0 ;
    margin: 0;
    min-height: 0;
}

/* Page title (název kategorie) — odstranit Iqit border-bottom + zbytečný padding */
#js-product-list-header .page-title,
.page-category .page-title,
#category .page-title {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Home ikona místo textu „Domů" — child override breadcrumb.tpl emituje
   `<li class="breadcrumb-home"><a><i class="fa fa-home"></i></a></li>` */
.breadcrumb .breadcrumb-home a {
    color: var(--pd-text-muted);
    text-decoration: none;
    display: inline-block;
    transition: color .15s;
}

.breadcrumb .breadcrumb-home a:hover {
    color: var(--pd-primary);
}

.breadcrumb .breadcrumb-home .fa {
    font-size: 12px;
    line-height: 1;
    vertical-align: middle;
}

/* Mobile — breadcrumb vždy v jednom řádku (horizontal scroll), bez šipky vpravo */
@media (max-width: 767.98px) {
    .breadcrumb .row {
        flex-wrap: nowrap !important;
        align-items: center;
    }

    /* Skrýt `displayAfterBreadcrumb` hook (`>` šipka navigace mezi kategoriemi) */
    .breadcrumb .row > .col.col-auto {
        display: none !important;
    }

    .breadcrumb ol {
        display: flex;
        flex-wrap: nowrap !important;
        align-items: center;
        overflow-x: auto;
        overflow-y: hidden;
        white-space: nowrap;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
        margin: 0;
        padding: 0 0 4px;
        gap: 0;
    }

    .breadcrumb ol::-webkit-scrollbar {
        display: none;
    }

    .breadcrumb ol li {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .breadcrumb ol li span,
    .breadcrumb ol li a {
        white-space: nowrap;
    }
}

/* Mobile + Tablet (<1200 px) — produktová stránka: nadpis NAD fotku.
   Markup: `.row.product-info-row > .col-product-image + .col-product-info`.
   Title je uvnitř `.col-product-info > #col-product-info > .product_header_container`.
   Trik: použijeme `display: contents` na `.col-product-info` a `#col-product-info`,
   aby se jejich děti chovaly jako přímí potomci `.row.product-info-row` flex containeru.
   Pak title order:1 (nahoru), fotka order:2, info blok order:3. */
@media (max-width: 1199.98px) {
    #product .row.product-info-row,
    #main-product-wrapper > .row.product-info-row {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        padding-left: 10px;
        padding-right: 10px;
    }

    #product .row.product-info-row > .col-product-info,
    #product .row.product-info-row > .col-product-info > #col-product-info {
        display: contents;
    }

    #product .row.product-info-row > .col-product-image {
        order: 2;
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }

    #product .product_header_container {
        order: 1;
        width: 100% !important;
        margin-bottom: 12px !important;
    }

    #product .product-information,
    #product #col-product-info > .product-information {
        order: 3;
        width: 100% !important;
        margin-top: 16px;
        padding: 10px;
    }

    /* Padding na samotném main wrapperu — aby nic nebylo nalepené na levou hranu */
    #main-product-wrapper,
    #product #main-product-wrapper {
        padding-left: 10px;
        padding-right: 10px;
    }
}

/* Block-categories: skrýt collapse-icons chevron (na referenci nejsou),
   force show nested collapse content. Sdílené i pro homepage (#index). */
:is(#left-column, #index) .block-categories .collapse-icons {
    display: none !important;
}

:is(#left-column, #index) .block-categories .collapse {
    display: block !important;
    height: auto !important;
}

/* Subcategories cards pod popisem — child override `category-subcategories.tpl`
   renderuje `<aside class="product-list-subcategories-wrapper">
     <h2 class="subcategories-heading">Kategorie</h2>
     <div class="product-list-subcategories"><div class="row"><div class="col-*">
       <div class="subcategory-image"><a><img></a></div>
       <a class="subcategory-name">...</a>
     </div></div></div>
   </aside>`. */
.product-list-subcategories-wrapper {
    margin: 0 0 28px;
}

.product-list-subcategories-wrapper .subcategories-heading {
    font-size: 16px;
    font-weight: 500;
    color: var(--pd-text);
    margin: 0 0 12px;
    padding: 0;
    line-height: 1.3;
}

.product-list-subcategories {
    margin: 0;
}

.product-list-subcategories > .row {
    margin-left: -8px;
    margin-right: -8px;
}

.product-list-subcategories > .row > [class*="col-"] {
    padding-left: 8px;
    padding-right: 8px;
    margin-bottom: 16px;
}

.product-list-subcategories .subcategory-image {
    display: none;  /* obrázky podkategorií skryt — reference je bez */
}

.product-list-subcategories a.subcategory-name {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 70px;
    padding: 18px 16px;
    background: #fff;
    border: 1px solid var(--pd-border);
    border-radius: 4px;
    text-align: center;
    color: var(--pd-text);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none;
    transition: border-color .15s, color .15s, box-shadow .15s;
}

.product-list-subcategories a.subcategory-name:hover {
    border-color: var(--pd-primary);
    color: var(--pd-primary);
    box-shadow: 0 2px 8px rgba(0, 0, 0, .04);
}

/* Nadpis „Kategorie" před boxy — `.subcategory-heading` neexistuje v warehouse,
   ale pro jistotu nastylovat */
p.subcategory-heading,
.subcategory-heading {
    font-size: 20px;
    font-weight: 600;
    color: var(--pd-text);
    margin: 0 0 14px;
    padding: 0;
}

/* Products-top (showing + sort) — vlevo „Zobrazeno..." text, vpravo sort dropdown.
   Parent přidává border-top/border-bottom — explicitně vynulujeme. */
#js-product-list-top {
    padding: 10px 0;
    margin: 0 0 20px;
    background: transparent;
    border-top: 0 !important;
    border-bottom: 0 !important;
}

#js-product-list-top .showing {
    color: var(--pd-text);
    font-size: 14px;
}

#js-product-list-top .products-sort-nb-dropdown {
    margin: 0;
    display: inline-block;
}

/* Sort + per-page dropdowns — outlined světlé pillboxes, jemný hover.
   Markup: `.products-sort-nb-dropdown.dropdown > a.select-title.form-control` */
#js-product-list-top .products-sort-nb-dropdown .select-title {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    min-width: 140px;
    height: 40px;
    padding: 0 14px;
    background: #fff;
    border: 1px solid var(--pd-border);
    border-radius: 4px;
    color: var(--pd-text);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    transition: border-color .15s, color .15s;
    box-shadow: none;
}

#js-product-list-top .products-sort-nb-dropdown.products-nb-per-page .select-title {
    min-width: 70px;
    gap: 12px;
    color: var(--pd-text-muted);
}

#js-product-list-top .products-sort-nb-dropdown .select-title:hover,
#js-product-list-top .products-sort-nb-dropdown .select-title:focus,
#js-product-list-top .products-sort-nb-dropdown.show .select-title {
    border-color: var(--pd-primary);
    color: var(--pd-text);
}

#js-product-list-top .products-sort-nb-dropdown .select-title i.fa-angle-down {
    color: var(--pd-text-muted);
    font-size: 14px;
    margin-left: 4px;
}

/* Dropdown menu (rozbalovací seznam položek) — bílá karta s borderem */
#js-product-list-top .products-sort-nb-dropdown .dropdown-menu {
    min-width: 100%;
    margin-top: 4px;
    padding: 6px 0;
    background: #fff;
    border: 1px solid var(--pd-border);
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .08);
}

#js-product-list-top .products-sort-nb-dropdown .dropdown-item {
    padding: 8px 14px;
    color: var(--pd-text);
    font-size: 14px;
    text-decoration: none;
    transition: background .15s;
}

#js-product-list-top .products-sort-nb-dropdown .dropdown-item:hover {
    background: var(--pd-bg-soft);
    color: var(--pd-primary);
}

/* Mobile (<768 px) — products-list-top: vše v jednom řádku.
   „Zobrazení 1-24 z 28 položek" vlevo, dropdowny (sort + per-page) vpravo. */
@media (max-width: 767.98px) {
    #js-product-list-top {
        display: flex !important;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        flex-wrap: nowrap;
        gap: 8px;
        padding: 6px 0 14px;
        margin: 0 0 14px;
    }

    #js-product-list-top > .row {
        display: flex !important;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        flex-wrap: nowrap;
        width: 100%;
        max-width: 100%;
        margin: 0;
        gap: 8px;
    }

    #js-product-list-top > [class*="col-"] {
        flex: 0 0 auto;
        max-width: none;
        width: auto;
        padding: 0;
        margin: 0;
    }

    #js-product-list-top .showing {
        order: 1;
        flex: 1 1 auto;
        text-align: left;
        font-size: 13px;
        line-height: 1.3;
        padding: 0;
        margin: 0;
        min-width: 0;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    #js-product-list-top .products-selection,
    #js-product-list-top .sort-by-row,
    #js-product-list-top .total-products {
        order: 2;
        flex: 0 0 auto;
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 6px;
        margin-left: auto;
    }

    #js-product-list-top .products-sort-nb-dropdown {
        display: inline-block;
        flex: 0 0 auto;
        margin: 0;
    }

    #js-product-list-top .products-sort-nb-dropdown .select-title {
        height: 38px;
        min-width: 0;
        gap: 6px;
        padding: 0 10px;
        font-size: 13px;
    }

    #js-product-list-top .products-sort-nb-dropdown.products-sort-by .select-title {
        min-width: 110px;
    }

    #js-product-list-top .products-sort-nb-dropdown.products-nb-per-page .select-title {
        min-width: 56px;
        padding: 0 10px;
        gap: 6px;
    }
}

#js-product-list-top .products-sort-nb-dropdown .dropdown-item.current {
    color: var(--pd-primary);
    font-weight: 600;
}

/* =============================================================================
   Produktová stránka — match `penove-desky.cz`
   ========================================================================== */

/* H1 nadpis — větší 32px bold, dark text */
#product #js-product-list-header .page-title,
#product h1.h1.page-title,
#product h1.h1 {
    font-size: 32px;
    font-weight: 600;
    color: var(--pd-text);
    margin: 0 0 18px;
    padding: 0;
    line-height: 1.25;
}

/* Cena — hlavní (bez DPH) BIG zelená, s DPH malá pod ní */
#product .product-prices {
    margin: 18px 0 22px;
}

#product .product-prices .current-price .product-price,
#product .current-price .product-price {
    color: var(--pd-primary);
    font-size: 36px;
    font-weight: 600;
    line-height: 1.1;
    display: inline-block;
}

#product .product-prices .product-without-taxes,
#product .product-without-taxes {
    color: var(--pd-text-muted);
    font-size: 14px;
    font-weight: 400;
    margin: 4px 0 0;
    line-height: 1.4;
}

#product .product-prices .product-without-taxes .tax-shipping-delivery-label {
    color: var(--pd-text-muted);
    font-size: 13px;
}

#product .product-prices .tax-shipping-delivery-label {
    font-size: 13px;
    color: var(--pd-text-muted);
}

#product .product-prices > .tax-shipping-delivery-label:empty {
    display: none;
}

/* Skrýt informaci o dodací lhůtě u ceny */
.delivery-information {
    display: none !important;
}

/* Discount badge — oranžová pilulka */
#product .product-discount {
    margin-left: 10px;
}

#product .product-discount .regular-price {
    color: var(--pd-text-muted);
    text-decoration: line-through;
    font-size: 18px;
    margin-right: 8px;
}

#product .badge-discount {
    background: var(--pd-accent);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 3px;
}

/* Krátký popis (description-short) — větší řádkování, dark gray */
#product .product-information {
    color: var(--pd-text);
    font-size: 15px;
    line-height: 1.6;
}

#product .product-information p {
    margin: 0 0 10px;
}

#product .product-information strong {
    font-weight: 600;
}

/* Add-to-cart blok — qty input + button + wishlist/compare */
#product .product-add-to-cart {
    padding-top: 18px;
    border-top: 0 !important;
    border-bottom: 0 !important;
    margin-top: 18px;
}

/* Price wrapper (above-button position) — bez border-top/bottom (parent občas přidá oddělovač) */
#product .product_p_price_container {
    border-top: 0 !important;
    border-bottom: 0 !important;
    margin-top:  0 !important;
    padding-top: 0 !important;
}

/* „s DPH" label vedle ceny v `.product-without-taxes` (na jednom řádku s with-tax cenou) */
#product .product-without-taxes {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin: 4px 0 0;
    font-size: 13px;
    color: var(--pd-text-muted);
}

#product .product-without-taxes .tax-shipping-delivery-label {
    display: inline;
    margin: 0;
    padding: 0;
    font-size: 13px;
    color: var(--pd-text-muted);
}

/* Nav-tabs / card-header-tabs — bez výchozího margin-right na nav-item */
.card-header-tabs .nav-item,
.nav-tabs .nav-item {
    margin-right: 0 !important;
}

/* Detail tab — skrýt řádek „Skladem / In stock" (product-quantities) */
#product-details .product-quantities {
    display: none !important;
}

/* Detail tab — `.product-reference` (a další key/value řádky) jako tabulka */
#product-details .product-reference,
#product-details .product-condition,
#product-details .product-availability-date,
#product-details .specific-references > div {
    display: flex;
    align-items: baseline;
    gap: 16px;
    padding: 10px 14px;
    border-bottom: 1px solid var(--pd-border);
    margin: 0;
}

#product-details .product-reference > .label,
#product-details .product-condition > .label,
#product-details .product-availability-date > label,
#product-details .specific-references > div > .label {
    flex: 0 0 180px;
    margin: 0;
    padding: 0;
    font-weight: 600;
    color: var(--pd-text);
    text-transform: none;
    font-size: 14px;
}

#product-details .product-reference > span,
#product-details .product-condition > span,
#product-details .product-availability-date > span,
#product-details .specific-references > div > span {
    flex: 1 1 auto;
    color: var(--pd-text);
    font-size: 14px;
}

/* Product-variants pod cenou — form je flex column, řadíme pomocí `order`.
   DOM pořadí: variants → price_container → add_to_cart. Chceme:
   price_container → variants → add_to_cart. */
#product #add-to-cart-or-refresh {
    display: flex;
    flex-direction: column;
}

#product #add-to-cart-or-refresh > .product_p_price_container {
    order: 1;
}

#product #add-to-cart-or-refresh > .product-variants,
#product #add-to-cart-or-refresh > .js-product-variants {
    order: 2;
}

/* Množstevní slevy mezi „Cena" (variants=2) a „Počet" (add-to-cart=4) */
#product #add-to-cart-or-refresh > .product-discounts {
    order: 3;
}

#product #add-to-cart-or-refresh > .product-add-to-cart {
    order: 4;
}

#product #add-to-cart-or-refresh > .product-pack {
    order: 5;
}

/* Stylovější odrážky v krátkém i dlouhém popisu produktu —
   tenký zelený chevron (border-right + border-bottom rotated). */
#product .rte-content ul,
#product .tab-content ul {
    list-style: none;
    margin: 12px 0;
}

#product .rte-content ul li,
#product .tab-content ul li {
    position: relative;
    margin-bottom: 8px;
    line-height: 1.55;
}

#product .rte-content ul li::before,
#product .tab-content ul li::before {
    content: '';
    position: absolute;
    border-right: 1px solid #00A875;
    border-bottom: 1px solid #00A875;
    width: 5px;
    height: 5px;
    top: calc(50%);
    left: -15px;
    transform: translateY(-50%) rotate(-270deg);
}

/* Ordered list — vlastní číslování v primární barvě */
#product .rte-content ol,
#product .tab-content ol {
    list-style: none;
    padding-left: 0;
    margin: 12px 0;
    counter-reset: pd-ol;
}

#product .rte-content ol li,
#product .tab-content ol li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 8px;
    line-height: 1.55;
    counter-increment: pd-ol;
}

#product .rte-content ol li::before,
#product .tab-content ol li::before {
    content: counter(pd-ol) ".";
    position: absolute;
    left: 0;
    top: 0;
    width: 22px;
    color: var(--pd-primary);
    font-weight: 700;
    text-align: left;
}

/* Nested list odsazení */
#product .rte-content ul ul,
#product .rte-content ol ol,
#product .rte-content ul ol,
#product .rte-content ol ul,
#product .tab-content ul ul,
#product .tab-content ol ol,
#product .tab-content ul ol,
#product .tab-content ol ul {
    margin: 6px 0 6px 12px;
}

/* ============================================================================
 * Statické (CMS) stránky — sjednocení typografie do grafiky e-shopu.
 * Text obsahu se NEMĚNÍ; ladí se jen vizuál (font, mezery, nadpisy, seznamy,
 * odkazy, obrázky, tabulky). Obsah je z editoru (inline styly Barlow/0pt apod.).
 * ============================================================================ */

/* Theme nadpis stránky (`<header class="page-header"><h1>`) na CMS skryt —
   je duplicitní k nadpisu v obsahu a nese podtrženou čáru, kterou nechceme. */
body.page-cms .page-header {
    display: none;
}

/* ---------------------------------------------------------------------------
   CMS iqitelementor obsah — moderní styl (nadpis, text, kontaktní formulář)
   --------------------------------------------------------------------------- */

/* Nadpis sekce */
body.page-cms .elementor-widget-text-editor h2,
body.page-cms .pd-velko-title {
    font-size: 1.75rem !important;
    font-weight: 800 !important;
    color: #2b2b2b !important;
    line-height: 1.2 !important;
    padding-left: 14px;
    border-left: 4px solid #00A875;
    margin: 0 0 18px !important;
}

body.page-cms .elementor-text-editor p {
    line-height: 1.75;
    color: #444444;
    margin-bottom: 12px;
}

/* Podnadpisy v elementor obsahu */
body.page-cms .elementor-text-editor h3 {
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    color: #2b2b2b !important;
    line-height: 1.3 !important;
    margin: 24px 0 10px !important;
}

body.page-cms .elementor-text-editor h3:first-child {
    margin-top: 0 !important;
}

/* Podnadpisy 4. úrovně */
body.page-cms .elementor-text-editor h4 {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #333333 !important;
    line-height: 1.3 !important;
    margin: 20px 0 8px !important;
}

/* Odkazy v elementor obsahu — brand zelené */
body.page-cms .elementor-text-editor a {
    color: #00A875;
    text-decoration: underline;
    text-underline-offset: 2px;
    word-break: break-word;
}

body.page-cms .elementor-text-editor a:hover {
    color: #007a55;
}

/* Download tlačítko (např. PDF formulář) v CMS obsahu */
body.page-cms .elementor-text-editor .pd-cms-btn-wrap {
    margin: 6px 0 22px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

body.page-cms .elementor-text-editor a.pd-cms-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #00A875;
    color: #ffffff !important;
    text-decoration: none !important;
    padding: 12px 22px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 14px;
    transition: background .15s;
}

body.page-cms .elementor-text-editor a.pd-cms-btn::before {
    content: "\2193";
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
}

body.page-cms .elementor-text-editor a.pd-cms-btn:hover {
    background: #007a55;
    color: #ffffff !important;
}

/* Seznamy v elementor obsahu — zelený chevron */
body.page-cms .elementor-text-editor ul {
    list-style: none;
    padding-left: 0;
    margin: 12px 0;
}

body.page-cms .elementor-text-editor ul > li {
    position: relative;
    padding-left: 22px;
    margin-bottom: 8px;
    line-height: 1.65;
    color: #444444;
}

body.page-cms .elementor-text-editor ul > li::before {
    content: '';
    position: absolute;
    left: 2px;
    top: 0.55em;
    width: 5px;
    height: 5px;
    border-right: 1px solid #00A875;
    border-bottom: 1px solid #00A875;
    transform: rotate(-45deg);
}

/* --- O nás — highlight boxy a feature karty --- */
body.page-cms .pd-about-highlight {
    background: rgba(0, 168, 117, 0.06);
    border-left: 4px solid #00A875;
    border-radius: 8px;
    padding: 18px 22px;
    margin: 18px 0;
}

body.page-cms .pd-about-highlight strong {
    display: block;
    color: #1a1a1a;
    font-size: 1.05rem;
    margin-bottom: 4px;
}

body.page-cms .pd-about-highlight p {
    margin: 0;
    color: #555555;
}

body.page-cms .pd-about-card {
    background: #f8f9fa;
    border-top: 3px solid #00A875;
    border-radius: 12px;
    padding: 22px 22px 20px;
    height: 100%;
    margin-bottom: 16px;   /* rozestup mezi boxy (hlavně na mobilu, kde jsou pod sebou) */
}

body.page-cms .pd-about-card strong {
    display: block;
    color: #1a1a1a;
    font-size: 1.05rem;
    margin-bottom: 8px;
}

body.page-cms .pd-about-card p {
    margin: 0;
    color: #555555;
    line-height: 1.6;
    font-size: 14px;
}

body.page-cms .pd-about-operator {
    color: #777777;
    font-size: 14px;
    margin-top: 14px;
}

/* --- Doprava a platba — karty s ikonou --- */
body.page-cms .pd-dp-card {
    background: #ffffff;
    border: 1px solid #ececec;
    border-radius: 12px;
    padding: 22px 24px 16px;
    margin-bottom: 14px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.05);
}

body.page-cms .pd-dp-card-head {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 12px;
    font-weight: 700;
    color: #1a1a1a;
    font-size: 0.95rem;
    line-height: 1.35;
}

body.page-cms .pd-dp-ico {
    flex: 0 0 auto;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: rgba(0, 168, 117, 0.1);
    color: #00A875;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

body.page-cms .pd-dp-ico svg {
    width: 22px;
    height: 22px;
    display: block;
}

body.page-cms .pd-dp-card ul {
    margin: 0;
}

/* Levý sloupec (text) — mírné horní zarovnání + pravý padding (2-sloupcové CMS) */
body.page-cms .elementor-widget-text-editor {
    padding-right: 10px;
}

/* Kontaktní formulář jako moderní karta */
body.page-cms .elementor-contactform-wrapper {
    background: #ffffff;
    border: 1px solid #ececec;
    border-radius: 14px;
    padding: 30px 30px 26px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.07);
}

body.page-cms .elementor-contactform-wrapper .form-group {
    margin-bottom: 16px;
}

body.page-cms .elementor-contactform-wrapper .form-control-label {
    display: block;
    font-weight: 600;
    color: #333333;
    margin-bottom: 6px;
    font-size: 14px;
}

body.page-cms .elementor-contactform-wrapper .form-control {
    border: 1px solid #dcdcdc;
    border-radius: 8px;
    background: #fafafa;
    padding: 10px 14px;
    transition: border-color .15s, box-shadow .15s, background .15s;
}

body.page-cms .elementor-contactform-wrapper .form-control:focus {
    border-color: #00A875;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(0, 168, 117, 0.12);
    outline: none;
}

body.page-cms .elementor-contactform-wrapper textarea.form-control {
    min-height: 150px;
}

/* GDPR checkbox řádek */
body.page-cms .elementor-contactform-wrapper .form-group label {
    font-size: 13px;
    color: #555555;
}

/* Tlačítko Odeslat — brand zelená, plná šířka, moderní */
body.page-cms .btn-elementor-send,
body.page-cms .elementor-contactform-wrapper input[type="submit"],
body.page-cms .elementor-contactform-wrapper button[type="submit"] {
    width: 100%;
    height: 48px;
    border-radius: 8px;
    background-color: #00A875 !important;
    border-color: #00A875 !important;
    color: #ffffff !important;
    font-weight: 600;
    font-size: 15px;
    margin-top: 6px;
    transition: background-color .15s;
    --bs-btn-bg: #00A875;
    --bs-btn-border-color: #00A875;
    --bs-btn-color: #ffffff;
    --bs-btn-hover-bg: #008f63;
    --bs-btn-hover-border-color: #008f63;
}

body.page-cms .btn-elementor-send:hover,
body.page-cms .elementor-contactform-wrapper input[type="submit"]:hover,
body.page-cms .elementor-contactform-wrapper button[type="submit"]:hover {
    background-color: #008f63 !important;
    border-color: #008f63 !important;
}

/* Mobil — sloupce pod sebou, menší padding karty */
@media (max-width: 767.98px) {
    body.page-cms .elementor-widget-text-editor {
        padding-right: 0;
    }
    body.page-cms .elementor-contactform-wrapper {
        padding: 22px 18px 20px;
        margin-top: 8px;
    }
}

#content.page-cms {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
    padding: 4px 16px 48px;
}

.page-cms .rte-content {
    color: var(--pd-text, #323232);
    font-size: 15px;
    line-height: 1.75;
}

/* Sjednotit font (obsah z Google Docs nese inline font-family Barlow apod.) */
.page-cms .rte-content,
.page-cms .rte-content * {
    font-family: var(--bs-body-font-family) !important;
}

/* Normalizovat inline mezery z editoru (margin:0pt → čitelné odstavce) */
.page-cms .rte-content p {
    margin: 0 0 14px !important;
    line-height: 1.75 !important;
}

.page-cms .rte-content p:empty {
    display: none;
}

.page-cms .rte-content > *:first-child {
    margin-top: 0 !important;
}

/* Nadpisy — brand */
.page-cms .rte-content h1,
.page-cms .rte-content h2,
.page-cms .rte-content h3,
.page-cms .rte-content h4 {
    font-weight: 700 !important;
    color: #2b2b2b !important;
    line-height: 1.25 !important;
    margin: 28px 0 14px !important;
}

.page-cms .rte-content h1 {
    font-size: 1.9rem !important;
}

.page-cms .rte-content h2 {
    font-size: 1.5rem !important;
    padding-left: 14px;
    border-left: 4px solid var(--pd-primary);
}

.page-cms .rte-content h3 {
    font-size: 1.2rem !important;
}

/* Seznamy — zelený chevron (jako jinde na e-shopu) */
.page-cms .rte-content ul {
    list-style: none;
    padding-left: 0;
    margin: 14px 0;
}

.page-cms .rte-content ul > li {
    position: relative;
    padding-left: 22px;
    margin-bottom: 8px;
    line-height: 1.65;
    list-style: none !important;
}

.page-cms .rte-content ul > li::before {
    content: '';
    position: absolute;
    left: 2px;
    top: 0.6em;
    width: 5px;
    height: 5px;
    border-right: 1px solid var(--pd-primary);
    border-bottom: 1px solid var(--pd-primary);
    transform: rotate(-45deg);
}

.page-cms .rte-content li > p {
    margin: 0 !important;
}

.page-cms .rte-content ol {
    padding-left: 20px;
    margin: 14px 0;
}

.page-cms .rte-content ol > li {
    margin-bottom: 8px;
    line-height: 1.65;
}

/* Odkazy — brand */
.page-cms .rte-content a {
    color: var(--pd-primary);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.page-cms .rte-content a:hover {
    color: var(--pd-primary-dark);
}

/* Obrázky */
.page-cms .rte-content img {
    max-width: 100%;
    height: auto;
    border-radius: 6px;
}

/* Tabulky v CMS — stejný „card" styl jako jinde (1. řádek = hlavička) */
.page-cms .rte-content table {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    border: 0 !important;
    background: transparent !important;
    border-collapse: separate !important;
    border-spacing: 0 8px !important;
    margin: 18px 0;
    font-size: 14px;
}

.page-cms .rte-content table td,
.page-cms .rte-content table th {
    width: auto !important;
    height: auto !important;
    border: 0 !important;
    padding: 12px 14px;
    vertical-align: middle;
}

.page-cms .rte-content table tr:first-child td,
.page-cms .rte-content table tr:first-child th {
    background: transparent !important;
    border-bottom: 1px solid #e5e5e5;
    padding: 2px 14px 8px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    color: #555555;
}

.page-cms .rte-content table tr:not(:first-child) {
    background: #ffffff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}

.page-cms .rte-content table tr:not(:first-child) td:first-child {
    border-radius: 8px 0 0 8px;
    font-weight: 700;
    color: #1a1a1a;
}

.page-cms .rte-content table tr:not(:first-child) td:last-child {
    border-radius: 0 8px 8px 0;
}

@media (max-width: 575.98px) {
    #content.page-cms {
        padding: 4px 12px 32px;
    }
    .page-cms .rte-content {
        font-size: 14px;
    }
    .page-cms .rte-content h1 {
        font-size: 1.5rem !important;
    }
    .page-cms .rte-content h2 {
        font-size: 1.25rem !important;
    }
}

#product .product-quantity {
    align-items: center;
    flex-wrap: nowrap;
    gap: 14px;
    margin: 0;
}

#product .product-quantity > .col,
#product .product-quantity > [class*="col-"] {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    padding: 0;
}

#product .product-quantity .col-qty-label .control-label {
    color: var(--pd-text);
    font-size: 15px;
    font-weight: 400;
    margin: 0;
}

/* Qty input — Bootstrap TouchSpin (warehouse JS) wrappuje `<input>` do
   `.bootstrap-touchspin` + `.input-group-btn-vertical` s 2 buttony nad sebou.
   Parent CSS dává `max-width: 75px` na wrapper → buttony wrappují pod input.
   Override: flex display, dostatek šířky pro input + buttony bez wrappingu. */
#product .product-quantity .qty {
    margin: 0;
}

#product .product-quantity .bootstrap-touchspin,
#product .product-quantity .qty .bootstrap-touchspin {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    min-height: 44px;
}

#product .product-quantity #quantity_wanted,
#product input#quantity_wanted {
    flex: 0 0 auto;
    width: 58px !important;
    height: 44px;
    padding: 0 6px;
    border: 1px solid var(--pd-border);
    border-radius: 4px 0 0 4px;
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    color: var(--pd-text);
    background: #fff;
    -moz-appearance: textfield;
    appearance: textfield;
}

/* Skrýt browser-default spinner (nahrazeno TouchSpin tlačítky) */
#product input#quantity_wanted::-webkit-inner-spin-button,
#product input#quantity_wanted::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* TouchSpin vertikální buttony — sloupec 22px vpravo od inputu */
#product .product-quantity .input-group-btn-vertical {
    display: flex !important;
    flex-direction: column;
    flex: 0 0 22px;
    width: 22px !important;
    height: 44px;
    margin-left: -1px;
}

#product .product-quantity .input-group-btn-vertical > .btn,
#product .product-quantity .input-group-btn-vertical > .btn-touchspin {
    flex: 1 1 50%;
    width: 22px !important;
    max-width: 22px;
    height: 22px !important;
    min-height: 0;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid var(--pd-border);
    background: #fff;
    color: var(--pd-text-muted);
    border-radius: 0 !important;
    line-height: 1;
}

#product .product-quantity .input-group-btn-vertical > .btn:first-child {
    border-top-right-radius: 4px !important;
    border-bottom: 0;
}

#product .product-quantity .input-group-btn-vertical > .btn:last-child {
    border-bottom-right-radius: 4px !important;
}

#product .product-quantity .input-group-btn-vertical > .btn:hover {
    color: var(--pd-primary);
    background: var(--pd-bg-soft);
}

#product .product-quantity .input-group-btn-vertical i.fa,
#product .product-quantity .input-group-btn-vertical i.fa-solid {
    position: static !important;
    font-size: 10px !important;
    top: auto !important;
    left: auto !important;
    line-height: 1;
}

/* Add-to-cart button — ORANŽOVÁ na detailu (vs zelená na listingu) — match
   `penove-desky.cz` (`#product .product-actions .add-to-cart{background:#FC441E}`).
   Auto-width (ne plnošířkový), s `fa-shopping-cart` ikonou. */
#product .product-add-to-cart .btn.add-to-cart,
#product .add-to-cart.btn-primary {
    background: var(--pd-accent) !important;
    border: 0 !important;
    color: #fff !important;
    height: 44px;
    padding: 0 24px;
    border-radius: 4px;
    font-size: 16px;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
    transition: background-color .15s;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
    width: auto;
}

#product .product-add-to-cart .btn.add-to-cart:hover {
    background: #e23b18 !important;
}

#product .product-add-to-cart .btn.add-to-cart .bag-icon,
#product .product-add-to-cart .btn.add-to-cart .spinner-icon {
    font-size: 16px;
}

/* Mobile + tablet (<992 px) — add-to-cart button na produktové stránce má wrap +
   menší font/padding aby nepřetékal mimo parent kontejner (`.product-quantity`
   je flex row `Počet input + button`). */
@media (max-width: 991.98px) {
    #product .product-quantity {
        flex-wrap: wrap;
        gap: 10px;
    }
    #product .product-add-to-cart .btn.add-to-cart,
    #product .add-to-cart.btn-primary {
        flex: 1 1 auto;
        min-width: 0;
        padding: 0 14px;
        font-size: 14px;
        height: 44px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

/* Velmi malé telefony (<400 px) — button na vlastní řádek pod qty inputem */
@media (max-width: 399.98px) {
    #product .product-add-to-cart .btn.add-to-cart,
    #product .add-to-cart.btn-primary {
        flex: 0 0 100%;
        width: 100%;
    }
}

/* Wishlist / compare buttons — outlined kruh */
#product .product-add-to-cart .btn-iqitwishlist-add,
#product .product-add-to-cart .btn-iqitcompare-add {
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid var(--pd-border);
    background: #fff;
    color: var(--pd-text-muted);
    border-radius: 4px;
    transition: border-color .15s, color .15s;
}

#product .product-add-to-cart .btn-iqitwishlist-add:hover,
#product .product-add-to-cart .btn-iqitcompare-add:hover {
    border-color: var(--pd-primary);
    color: var(--pd-primary);
}

/* Availability badge */
#product #product-availability,
#product .product-availability {
    display: inline-block;
    margin-top: 14px;
    font-weight: 600;
    font-size: 14px;
}

#product #product-availability .product-available,
#product .product-availability .product-available {
    color: var(--pd-primary);
}

#product #product-availability .product-unavailable {
    color: var(--pd-accent);
}

/* Product cover/images — bílé pozadí, jemný border */
#product .images-container .product-cover {
    background: #fff;
    border: 1px solid var(--pd-border);
    border-radius: 4px;
    padding: 16px;
}

#product .images-container .product-cover img {
    background: #fff;
}

#product .images-container .product-images > li.thumb-container > .thumb {
    border: 1px solid var(--pd-border);
    border-radius: 4px;
    background: #fff;
}

#product .images-container .product-images > li.thumb-container > .thumb.selected,
#product .images-container .product-images > li.thumb-container > .thumb:hover {
    border-color: var(--pd-primary);
}

/* Product flags na detailu — oranžová pilulka top-left */
#product .product-flags {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
}

/* Tabs (Detailní popis | Specifikace | …) — světle šedé pilulky se zeleným underlinem u aktivního */
#product .nav-tabs,
#product .product-tabs .nav-tabs {
    border: 0;
    border-bottom: 1px solid var(--pd-border);
    margin: 0 0 24px;
    gap: 4px;
}

#product .nav-tabs .nav-item {
    margin-bottom: -1px;
}

#product .nav-tabs .nav-link {
    color: #7a7a7a;
    background: #fafafa !important;
    border: 0 !important;
    border-bottom: 2px solid transparent !important;
    padding: 14px 32px;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .4px;
    transition: color .15s, border-color .15s, background .15s;
}

#product .nav-tabs .nav-link:hover {
    color: var(--pd-text);
    background: #f3f3f3 !important;
}

#product .nav-tabs .nav-link.active {
    color: var(--pd-text);
    background: #fafafa !important;
    border-bottom-color: var(--pd-primary) !important;
}

#product .tab-content {
    padding: 8px 0 24px;
    font-size: 15px;
    line-height: 1.6;
    color: var(--pd-text);
}

#product .tab-content p {
    margin: 0 0 12px;
}

/* Product information tabulka — jemné šedé pozadí */
#product .product-information table {
    width: 100%;
    margin: 12px 0;
    background: #fbfbfb;
    border: 1px solid var(--pd-border);
    border-radius: 4px;
    font-size: 14px;
    color: var(--pd-text);
}

#product .product-information table td,
#product .product-information table th {
    padding: 8px 12px;
    border-bottom: 1px solid var(--pd-border);
}

#product .product-information table tr:last-child td {
    border-bottom: 0;
}

/* =============================================================================
   Mobilní hlavička — moderní 3-sloupcový layout
   [menu] [logo center] [search][user][cart]   na 56 px výšce
   ========================================================================== */
@media (max-width: 991.98px) {
    /* Wrapper bar */
    #mobile-header {
        background: #fff;
        border-bottom: 1px solid var(--pd-border);
        box-shadow: 0 1px 0 rgba(0, 0, 0, .02);
    }

    #mobile-header-sticky {
        padding: 6px 0;
    }

    #mobile-header .mobile-main-bar {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    /* Skrýt badge štítky (NOVÉ / SLEVA!) v mobilním popup mega-menu */
    .mobile-menu__legend,
    .iqit-mobile-menu .mobile-menu__legend,
    #_mobile_iqitmegamenu-mobile .mobile-menu__legend {
        display: none !important;
    }

    #mobile-header .container {
        padding-left: 12px;
        padding-right: 12px;
    }

    #mobile-header .row-mobile-header {
        flex-wrap: nowrap !important;
        align-items: center;
        min-height: 56px;
        gap: 2px;
    }

    /* Ikona-buttony — kompaktní 44×44, čisté SVG-style ikony, jednotná tloušťka */
    #mobile-header .col-mobile-btn {
        flex: 0 0 auto;
        padding: 0 !important;
    }

    #mobile-header .col-mobile-btn .m-nav-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        padding: 0;
        margin: 0;
        color: var(--pd-text);
        background: transparent;
        border: 0;
        border-radius: 0;
        font-size: 0;
        transition: color .15s, background .15s;
        text-decoration: none;
    }

    #mobile-header .col-mobile-btn .m-nav-btn:hover,
    #mobile-header .col-mobile-btn .m-nav-btn:focus {
        color: var(--pd-primary);
        background: transparent;
    }

    /* Skrýt výchozí FA glyphy a nahradit je SVG ikonami (line-style, weight 1.5) */
    #mobile-header .col-mobile-btn .m-nav-btn .fa::before,
    #mobile-header .col-mobile-btn .m-nav-btn i::before {
        content: '' !important;
    }

    #mobile-header .col-mobile-btn .m-nav-btn .fa,
    #mobile-header .col-mobile-btn .m-nav-btn i {
        display: inline-block;
        width: 22px;
        height: 22px;
        font-size: 0;
        line-height: 1;
        color: inherit;
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
    }

    /* Menu — hamburger 3 lines */
    #mobile-header .col-mobile-btn-menu .m-nav-btn .fa-bars {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cline x1='3' y1='12' x2='21' y2='12'/%3E%3Cline x1='3' y1='18' x2='21' y2='18'/%3E%3C/svg%3E");
    }

    /* Search — magnifier */
    #mobile-header .col-mobile-btn-search .m-nav-btn .fa-search {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");
    }

    /* User — outline person */
    #mobile-header .col-mobile-btn-account .m-nav-btn .fa-user {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
    }

    /* Cart — match desktop SVG basket (line + zelený accent) */
    #mobile-header .col-mobile-btn-cart .m-nav-btn .fa-shopping-bag,
    #mobile-header .col-mobile-btn-cart .m-nav-btn .mobile-bag-icon {
        width: 26px;
        height: 22px;
        background-image: url("data:image/svg+xml,%3Csvg width='29' height='25' viewBox='0 0 29 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.3986 6.21715L11.0757 16.3699L24.9795 16.9828L28.4278 5.66337L6.89648 5.10217L7.3986 6.21715Z' fill='%2399DCC8'/%3E%3Cpath d='M24.0196 17.7212H11.4671C10.4695 17.7197 9.59602 17.0515 9.33315 16.0894L5.49358 2.02315C5.40426 1.69163 5.09857 1.46496 4.75522 1.47674H0.738369C0.330782 1.47674 0 1.14596 0 0.738369C0 0.330782 0.330782 0 0.738369 0H4.77731C5.77486 0.00147266 6.64838 0.66972 6.91124 1.63182L7.64961 4.43033H26.7885C28.012 4.43253 29.0022 5.42567 29 6.64917C29 6.87069 28.966 7.09074 28.9003 7.30263L26.1314 16.1632C25.8442 17.0884 24.9884 17.719 24.0196 17.7212ZM8.08529 5.90706L10.7582 15.698C10.8475 16.0296 11.1532 16.2562 11.4966 16.2444H24.0491C24.3843 16.26 24.6871 16.0473 24.7875 15.7276L27.5565 6.86701C27.679 6.47789 27.4634 6.06367 27.0743 5.94031C26.9916 5.91448 26.9045 5.90264 26.818 5.90706H8.08529Z' fill='%2300A875'/%3E%3Cpath d='M12.9217 24.3667C11.4945 24.3667 10.3374 23.2096 10.3374 21.7823C10.3374 20.3551 11.4945 19.198 12.9217 19.198C14.349 19.198 15.5061 20.3551 15.5061 21.7823C15.5061 23.2096 14.349 24.3667 12.9217 24.3667ZM12.9217 20.6747C12.3104 20.6747 11.8142 21.1709 11.8142 21.7823C11.8142 22.3937 12.3104 22.8898 12.9217 22.8898C13.5331 22.8898 14.0293 22.3937 14.0293 21.7823C14.0293 21.1702 13.5331 20.6747 12.9217 20.6747Z' fill='%2300A875'/%3E%3Cpath d='M21.7823 24.3667C20.3551 24.3667 19.198 23.2096 19.198 21.7823C19.198 20.3551 20.3551 19.198 21.7823 19.198C23.2096 19.198 24.3667 20.3551 24.3667 21.7823C24.3667 23.2096 23.2096 24.3667 21.7823 24.3667ZM21.7823 20.6747C21.171 20.6747 20.6748 21.1709 20.6748 21.7823C20.6748 22.3937 21.171 22.8898 21.7823 22.8898C22.3937 22.8898 22.8899 22.3937 22.8899 21.7823C22.89 21.1702 22.3937 20.6747 21.7823 20.6747Z' fill='%2300A875'/%3E%3C/svg%3E");
    }

    /* Hover — všechny ikony zezelenají přebarvením stroke přes filter */
    #mobile-header .col-mobile-btn .m-nav-btn:hover .fa-bars,
    #mobile-header .col-mobile-btn .m-nav-btn:hover .fa-search,
    #mobile-header .col-mobile-btn .m-nav-btn:hover .fa-user {
        filter: hue-rotate(120deg) brightness(.85) saturate(2);
    }

    /* Schovat texty pod ikonami („Menu", „Search", „Hello", „Cart") */
    #mobile-header .col-mobile-btn .m-nav-btn > span:not(.cart-products-count) {
        display: none !important;
    }

    /* Logo na střed, bez okrajů */
    #mobile-header .col-mobile-logo {
        flex: 1 1 auto;
        padding: 0 8px;
        text-align: center;
    }

    #mobile-header .col-mobile-logo .logo,
    #mobile-header .col-mobile-logo img {
        display: inline-block;
        max-height: 38px;
        width: auto;
        max-width: 100%;
        margin: 0;
    }

    /* Pravý cluster (search/user/cart) — pohromadě, žádné mezery */
    #mobile-header #mobile-btn-search,
    #mobile-header .col-mobile-btn-account,
    #mobile-header .col-mobile-btn-cart {
        flex: 0 0 44px;
    }

    /* Cart badge — moderní zelená pilulka v rohu ikony, skrytá pokud :empty */
    #mobile-header .col-mobile-btn-cart .m-nav-btn {
        position: relative;
    }

    #mobile-header .col-mobile-btn-cart .mobile-bag-icon {
        position: relative;
    }

    #mobile-header .cart-products-count-btn {
        position: absolute;
        top: -6px;
        right: -8px;
        min-width: 18px;
        height: 18px;
        padding: 0 5px;
        background: var(--pd-primary);
        color: #fff;
        border-radius: 9px;
        font-size: 11px;
        font-weight: 700;
        line-height: 18px;
        text-align: center;
        display: inline-block;
        box-shadow: 0 0 0 2px #fff;
    }

    /* Badge zobrazujeme vždy (i pro „0"), parent template `mqty.tpl` vrací počet
       položek. Empty-rule (display:none) odstraněn na žádost uživatele. */

    /* Empty dropdown placeholdery (mobilní cart `#_mobile_blockcart-content`,
       mobilní mega-menu `#_mobile_iqitmegamenu-mobile`) jsou v DOM jako prázdné
       divy — parent CSS jim občas dává min-height/border. Schovat ve všech stavech. */
    #mobile-header #_mobile_blockcart-content,
    #mobile-header #_mobile_iqitmegamenu-mobile,
    #mobile-header .dropdown-menu-custom {
        background: transparent;
        border: 0;
        box-shadow: none;
        padding: 0;
        margin: 0;
        min-height: 0;
        min-width: 0;
    }

    #mobile-header #_mobile_blockcart-content:not(.show):not(:has(*)),
    #mobile-header #_mobile_iqitmegamenu-mobile:not(.show):not(:has(*)),
    #mobile-header .dropdown-menu-custom:not(.show):not(:has(*)),
    #mobile-header #_mobile_blockcart-content:empty,
    #mobile-header #_mobile_iqitmegamenu-mobile:empty,
    #mobile-header .dropdown-menu-custom:empty {
        display: none !important;
    }

    /* Side-cart wrapper na mobilu se občas zobrazuje jako prázdný white box pod ikonou */
    #mobile-header .col-mobile-btn-cart.side-cart .dropdown-content,
    #mobile-header .col-mobile-btn-cart.side-cart .dropdown-menu:empty,
    #mobile-header #mobile-cart-wrapper > div:empty {
        display: none !important;
    }

    /* Dropdown menu (mobile mega-menu, search, cart) — full-width, čisté pozadí */
    #mobile-header .dropdown-menu-custom,
    #mobile-header .dropdown-menu {
        margin-top: 6px;
        border: 0;
        border-radius: 0;
        box-shadow: 0 8px 24px rgba(0, 0, 0, .08);
        padding: 16px;
    }

    /* Sticky-down — menší výška + jemný shadow */
    #mobile-header-sticky.stuck-down {
        padding: 0;
        box-shadow: 0 2px 8px rgba(0, 0, 0, .06);
    }

    #mobile-header-sticky.stuck-down .row-mobile-header {
        min-height: 50px;
    }
}

/* Velmi malé telefony — ještě užší kompakt */
@media (max-width: 380px) {
    #mobile-header .col-mobile-btn .m-nav-btn {
        width: 40px;
        height: 40px;
    }
    #mobile-header .col-mobile-btn .m-nav-btn .fa {
        font-size: 18px;
    }
    #mobile-header .col-mobile-logo img {
        max-height: 32px;
    }
}

/* Product header — odstranit border-bottom (parent warehouse oddělí title/price linkou) */
#product .product_header_container {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Cena na produktové stránce — primární orange #ff4200 */
#product .product-prices .current-price,
#product .product-prices .current-price-value,
#product .product-prices .product-price,
#product .product_p_price_container .current-price,
#product .product_p_price_container .current-price-value,
#product .product_p_price_container .product-price {
    color: #ff4200 !important;
}

/* Product variants — label + select/radio/color v jednom řádku.
   Parent warehouse renderuje `.product-variants-item` jako block s
   labelem nad selectem; sjednocujeme do flex-row. */
#product .product-variants .product-variants-item {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 12px;
}

#product .product-variants .product-variants-item > .form-control-label {
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
    min-width: 90px;
    font-weight: 600;
    color: var(--pd-text);
}

#product .product-variants .product-variants-item > .custom-select2,
#product .product-variants .product-variants-item > ul {
    flex: 0 1 auto;
    margin: 0;
}

#product .product-variants .product-variants-item .custom-select2 .select2-container,
#product .product-variants .product-variants-item > select {
    min-width: 180px;
}

/* ============================================================
   Unifikace — žádné zaoblené rohy u tlačítek a štítků/badges.
   Aplikováno na konci pro maximální specificitu/cascade.
   POZOR: úmyslně NEcílí na kontejnery (.block-categories, panely,
   inputy, obrázky, alerts), jen na klikatelné prvky a label/badge.
   ============================================================ */
.btn,
.btn-primary,
.btn-secondary,
.btn-success,
.btn-danger,
.btn-warning,
.btn-info,
.btn-light,
.btn-dark,
.btn-link,
.btn-action,
.btn-outline-primary,
.btn-outline-secondary,
.btn-outline-success,
.btn-outline-light,
.btn-outline-dark,
button,
button.btn,
input[type="button"],
input[type="submit"],
input[type="reset"],
.label,
.badge,
.bootstrap-tagsinput .tag,
.product-flag,
.product-flags li,
.discount,
.iqit-megamenu .mm_badge,
.iqit-megamenu .mm_menu_content_title .mm_badge,
.cbp-vertical-on-top,
.cbp-vertical-on-top .cbp-vertical-title,
.pd-more-btn,
.add-to-cart,
.btn-add-to-cart,
[class*="btn-large-warehouse"],
[class*="btn-warehouse"] {
    border-radius: 0 !important;
}

/* =============================================================================
   Tablet (768–1199 px) — polish: kompromisní layouty mezi mobilní a desktop verzí
   ========================================================================== */
@media (min-width: 768px) and (max-width: 1199.98px) {
    /* Homepage hero kategorie box — užší padding (desktop má 22 px 28 px) */
    .pd-cat-item {
        padding: 14px 18px !important;
    }
    .pd-cat-item-icon {
        width: 48px !important;
        height: 48px !important;
    }
    .pd-cat-item-title {
        font-size: 16px !important;
    }
    .pd-cat-item-subtitle {
        font-size: 12px !important;
    }

    /* „Ochráníme vaše produkty" sekce — menší padding + ikona */
    .elementor-section.elementor-top-section:has(.pd-protect-heading) {
        padding-top: 44px !important;
        padding-bottom: 44px !important;
    }
    .pd-protect-heading {
        font-size: 28px;
        margin-bottom: 32px;
    }
    .pd-protect-col {
        gap: 16px;
    }
    .pd-protect-icon {
        width: 64px;
    }
    .pd-protect-col p {
        font-size: 14px;
    }

    /* Lišta „Výhody pěnových desek" pod hero — na tabletu 2x2 grid */
    .pd-home-ben-row {
        grid-template-columns: repeat(2, 1fr);
        gap: 28px 24px;
    }

    /* Patička — místo 5 sloupců raději 2x2 grid, logo nahoře full-width */
    #footer-container-main > .container > .row {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 32px 32px;
        align-items: start;
    }
    #footer-container-main #iqithtmlandbanners-block-6 {
        grid-column: 1 / -1;
        max-width: 480px;
    }
    #footer-container-main .col,
    #footer-container-main [class*="col-md-"],
    #footer-container-main [class*="col-12"] {
        width: auto !important;
        max-width: 100% !important;
        flex: unset !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    /* Otevřené sekce, žádný collapse, žádné chevrony */
    #footer-container-main .block-toggle .block-content,
    #footer-container-main .js-block-toggle .block-content,
    #footer-container-main .block.collapsed .block-content {
        display: block !important;
        height: auto !important;
        visibility: visible !important;
    }
    #footer-container-main .block-title .fa-angle-down,
    #footer-container-main .block-title .fa-chevron-down,
    #footer-container-main .block-title .toggle-icon {
        display: none !important;
    }
    .footer-container,
    #footer-container-main {
        padding: 44px 24px 32px !important;
    }

    /* Product miniature cart button — full-width pilulka (aby se text vždy vešel) */
    .product-miniature .product-add-cart .add {
        width: 100%;
    }
    .product-miniature .btn.add-to-cart,
    .product-miniature .btn-product-list.add-to-cart {
        width: 100%;
        height: 42px;
        padding: 0 12px 0 44px !important;
        font-size: 13px;
    }
    /* Ikona — větší levý offset aby byla mezera mezi ikonou a textem */
    .product-miniature .add-to-cart::before {
        left: 18px !important;
    }

    /* Produktová stránka — menší titulek (default ~32 px je moc na tabletu) */
    #product .product_header_container .page-title {
        font-size: 26px;
        line-height: 1.25;
    }

    /* Section-title (Podobné produkty v kategorii) — menší na tabletu */
    .ps-category-products .section-title,
    #product section .section-title {
        font-size: 20px;
        margin: 24px 0 16px;
    }
}

/* Tablet portrait (768–991 px) — užší tablety, dodatečné menší úpravy */
@media (min-width: 768px) and (max-width: 991.98px) {
    /* Hero banner — menší výška, full-width */
    .pd-hero-link {
        max-width: 100%;
    }

    /* Footer 2x2 grid → 2 cols ale s menším gap */
    #footer-container-main > .container > .row {
        gap: 24px 20px;
    }

    /* Featured-products grid — 3 sloupce na tabletu (desktop má 4) */
    .featured-products .products,
    .ps-category-products .products,
    .elementor-widget-prestashop-widget-ProductsList .products {
        --bs-gutter-x: 16px;
    }

    /* Product page galerie — max 50 % šířky, info-col plnou šíři pod */
    #product .col-product-info,
    #product .col-product-images {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
    #product .col-product-info {
        margin-top: 24px;
    }
}

/* Hero + kategorie sekce na mobilu + tabletu — stack vertikálně + kategorie jako 3-col grid */
@media (max-width: 1199.98px) {
    /* Section obsahující .pd-hero-link + .pd-cat-box → flex column (banner top,
       categories below) */
    .elementor-section.elementor-top-section:has(.pd-hero-link):has(.pd-cat-box) > .elementor-container,
    .elementor-section.elementor-top-section:has(.pd-hero-link):has(.pd-cat-box) > .elementor-container > .elementor-row {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    /* Oba sloupce full-width */
    .elementor-section.elementor-top-section:has(.pd-hero-link):has(.pd-cat-box) .elementor-column {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }

    /* Banner příjde první (zelená hero), kategorie druhé pod ním */
    .elementor-section.elementor-top-section:has(.pd-hero-link):has(.pd-cat-box) .elementor-column:has(.pd-hero-link) {
        order: 1;
        margin-bottom: 10px;
    }
    .elementor-section.elementor-top-section:has(.pd-hero-link):has(.pd-cat-box) .elementor-column:has(.pd-cat-box) {
        order: 2;
    }

    /* Kategorie box jako horizontální 2-col grid (místo svislého seznamu) */
    .pd-cat-box {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0;
        border: 1px solid var(--pd-border);
        overflow: hidden;
    }
    .pd-cat-item {
        border-bottom: 1px solid var(--pd-border);
        border-right: 1px solid var(--pd-border);
        padding: 14px 14px;
        background: #fff;
        min-width: 0;
        overflow: hidden;
        gap: 12px !important;
    }
    /* Zrušit border-right u sudých itemů (poslední ve sloupci 2) */
    .pd-cat-item:nth-child(2n) {
        border-right: 0;
    }
    /* Zrušit border-bottom u posledních 2 itemů (poslední řádek 2-col gridu) */
    .pd-cat-item:last-child,
    .pd-cat-item:nth-last-child(2):nth-child(2n+1) {
        border-bottom: 0;
    }

    .pd-cat-item-text {
        min-width: 0 !important;
        overflow: hidden;
    }

    .pd-cat-item-title {
        white-space: normal !important;
        font-size: 14px !important;
        line-height: 1.25;
        word-break: break-word;
    }
    .pd-cat-item-sub,
    .pd-cat-item-subtitle {
        white-space: normal !important;
        font-size: 12px !important;
        line-height: 1.3;
        word-break: break-word;
    }
}

/* ============================================================================
 * Popup okna nákupního košíku (add-to-cart modal + header blockcart popup)
 * Pravidla musí být v globálním custom.css, protože popups se zobrazují
 * i mimo /objednavka stránku (kde TC_custom_css není načtené).
 * ============================================================================ */

/* Blockcart popup — skrýt řádek "Doručení" JEN v popup */
#cart-subtotal-shipping-blockcart,
#blockcart-content #cart-subtotal-shipping-blockcart,
.dropdown-menu-custom #cart-subtotal-shipping-blockcart,
#blockcart-content .cart-summary-line[id*="shipping"],
.dropdown-menu-custom .cart-summary-line[id*="shipping"],
[id$="-shipping-blockcart"] {
    display: none !important;
}

/* Add-to-cart modal — label/value vždy na jeden řádek + diferencované mezery */
#blockcart-modal .cart-content .cart-subtotals > div,
#blockcart-modal .cart-content .cart-total-tax-excluded-modal,
#blockcart-modal .cart-content > .clearfix.mb-2,
#blockcart-modal .cart-content div.clearfix {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    width: 100% !important;
    flex-wrap: nowrap !important;
    padding-bottom: 0 !important;
    padding-top: 0 !important;
    gap: 8px !important;
}

#blockcart-modal .cart-content .cart-subtotals > div > strong,
#blockcart-modal .cart-content > .clearfix > strong,
#blockcart-modal .cart-content .cart-total-tax-excluded-modal > strong {
    white-space: nowrap !important;
    float: none !important;
    flex: 0 1 auto !important;
    margin-right: auto !important;
}

#blockcart-modal .cart-content .cart-subtotals > div > .value,
#blockcart-modal .cart-content > .clearfix > .value,
#blockcart-modal .cart-content .cart-total-tax-excluded-modal > .value {
    white-space: nowrap !important;
    float: none !important;
    flex: 0 0 auto !important;
    margin-left: auto !important;
    text-align: right !important;
}

#blockcart-modal .cart-content .cart-subtotals {
    margin-bottom: 16px !important;
}

#blockcart-modal .cart-content .cart-subtotals > div {
    margin-bottom: 4px !important;
    margin-top: 0 !important;
}

html body #blockcart-modal .cart-content .cart-total-tax-excluded-modal,
html body div#blockcart-modal .cart-content div.cart-total-tax-excluded-modal,
html body #blockcart-modal .cart-content .clearfix.mb-2.cart-total-tax-excluded-modal {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
}

#blockcart-modal .cart-content .cart-total-tax-excluded-modal ~ .clearfix.mb-2 {
    margin-top: 0 !important;
    margin-bottom: 6px !important;
}

/* Header blockcart popup — label/value vždy na jeden řádek + diferencované mezery */
#blockcart-content .cart-totals > .clearfix,
#blockcart-content .cart-totals > div,
#blockcart-content .cart-total-tax-excluded-blockcart {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    width: 100% !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
}

#blockcart-content .cart-totals .label,
#blockcart-content .cart-totals > div > .label,
#blockcart-content .cart-total-tax-excluded-blockcart .label {
    white-space: nowrap !important;
    float: none !important;
    flex: 0 1 auto !important;
    margin-right: auto !important;
}

#blockcart-content .cart-totals .value,
#blockcart-content .cart-totals > div > .value,
#blockcart-content .cart-total-tax-excluded-blockcart .value {
    white-space: nowrap !important;
    float: none !important;
    flex: 0 0 auto !important;
    margin-left: auto !important;
    text-align: right !important;
}

#blockcart-content .cart-subtotals .cart-summary-line {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
}

#blockcart-content .cart-subtotals .cart-summary-line .label {
    white-space: nowrap !important;
    flex: 0 1 auto !important;
    margin-right: auto !important;
}

#blockcart-content .cart-subtotals .cart-summary-line .value {
    white-space: nowrap !important;
    flex: 0 0 auto !important;
    margin-left: auto !important;
    text-align: right !important;
}

#blockcart-content .cart-subtotals {
    margin-bottom: 16px !important;
}

#blockcart-content .cart-total-tax-excluded-blockcart {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
}

#blockcart-content .cart-total-tax-excluded-blockcart ~ .clearfix,
#blockcart-content .cart-total-tax-excluded-blockcart ~ div {
    margin-top: 0 !important;
    margin-bottom: 6px !important;
}

/* Velikost cen: BEZ DPH (primární) větší, S DPH (sekundární) menší */
#blockcart-modal .cart-content .cart-total-tax-excluded-modal,
#blockcart-modal .cart-content .cart-total-tax-excluded-modal > strong,
#blockcart-modal .cart-content .cart-total-tax-excluded-modal > .value {
    font-weight: 700 !important;
    font-size: 1.1rem !important;
    color: #333333 !important;
}

/* Label se může shrinknout, value vždy plně viditelná */
#blockcart-modal .cart-content .cart-total-tax-excluded-modal > strong {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

#blockcart-modal .cart-content .cart-total-tax-excluded-modal > .value {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
}

#blockcart-modal .cart-content .cart-total-tax-excluded-modal ~ .clearfix.mb-2,
#blockcart-modal .cart-content .cart-total-tax-excluded-modal ~ .clearfix.mb-2 > strong,
#blockcart-modal .cart-content .cart-total-tax-excluded-modal ~ .clearfix.mb-2 > .value {
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    color: #555555 !important;
}

#blockcart-content .cart-totals .cart-total-tax-excluded-blockcart,
#blockcart-content .cart-totals .cart-total-tax-excluded-blockcart .label,
#blockcart-content .cart-totals .cart-total-tax-excluded-blockcart .value {
    font-weight: 700 !important;
    font-size: 1.1rem !important;
    color: #333333 !important;
}

#blockcart-content .cart-totals .cart-total-tax-excluded-blockcart .label {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

#blockcart-content .cart-totals .cart-total-tax-excluded-blockcart .value {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
}

#blockcart-content .cart-totals .cart-total-tax-excluded-blockcart ~ .clearfix,
#blockcart-content .cart-totals .cart-total-tax-excluded-blockcart ~ .clearfix .label,
#blockcart-content .cart-totals .cart-total-tax-excluded-blockcart ~ .clearfix .value,
#blockcart-content .cart-totals .cart-total-tax-excluded-blockcart ~ div,
#blockcart-content .cart-totals .cart-total-tax-excluded-blockcart ~ div .label,
#blockcart-content .cart-totals .cart-total-tax-excluded-blockcart ~ div .value {
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    color: #555555 !important;
}

/* ============================================================================
 * Množstevní slevy (product-discounts) — nativní PS tabulka v buy-boxu
 * ============================================================================ */
#product .product-discounts {
    margin-top: 14px;
    margin-bottom: 14px;
}

/* Odebrat pozadí + rámeček, který tému dává všem tabulkám v .product-information
   (cílí na element `table` → kreslil vnější box kolem tabulky slev). */
#product .product-information table {
    background: none !important;
    border: 0 !important;
}

#product .product-discounts-title {
    margin: 0 0 6px;
    padding-left: 10px;
    border-left: 3px solid #00A875;
    font-size: 0.85rem;
    font-weight: 700;
    color: #2b2b2b;
    line-height: 1.2;
}

/* Kompaktní „card" styl (jako tabulka variant): bílé řádky s mezerou + jemný stín */
#product .table-product-discounts {
    width: 100%;
    max-width: 360px;
    margin: 0;
    border: 0;
    background: transparent;
    border-collapse: separate;
    border-spacing: 0 5px;
    font-size: 10px;
}

#product .table-product-discounts thead th {
    background: transparent;
    border: 0;
    border-bottom: 1px solid #e5e5e5;
    padding: 2px 12px 5px;
    font-weight: 600;
    font-size: 9px;
    letter-spacing: 0.2px;
    text-transform: uppercase;
    color: #555555;
    text-align: left;
    white-space: nowrap;
}

#product .table-product-discounts tbody tr {
    background: #ffffff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    transition: background 0.15s ease;
}

#product .table-product-discounts tbody tr:hover {
    background: #fcfcfc;
}

#product .table-product-discounts tbody td {
    border: 0 !important;
    padding: 8px 12px;
    color: #333333;
    vertical-align: middle;
}

#product .table-product-discounts tbody td:first-child {
    border-radius: 6px 0 0 6px;
    font-weight: 700;
    color: #1a1a1a;
}

#product .table-product-discounts tbody td:last-child {
    border-radius: 0 6px 6px 0;
    color: #FC441E;
    font-weight: 700;
}

@media (max-width: 575.98px) {
    #product .table-product-discounts {
        font-size: 12px;
    }
    #product .table-product-discounts thead th,
    #product .table-product-discounts tbody td {
        padding: 10px 12px;
    }
    #product .table-product-discounts thead th {
        padding-top: 0;
        padding-bottom: 8px;
    }
}

/* ============================================================================
 * Tabulky v popisu produktu (.rte-content) — stejný „card" styl jako slevy.
 * Uživatelské HTML tabulky (inline styly, bez thead) → 1. <tr> = hlavička.
 * ============================================================================ */
#product .rte-content table {
    width: 100% !important;
    max-width: 640px !important;
    height: auto !important;
    border: 0 !important;
    background: transparent !important;
    border-collapse: separate !important;
    border-spacing: 0 8px !important;
    font-size: 13px;
    margin: 16px 0;
}

#product .rte-content table td {
    width: auto !important;
    height: auto !important;
    border: 0 !important;
    padding: 12px 14px;
    vertical-align: middle;
    color: #333333;
}

/* První řádek = hlavička (popisky šedé uppercase, spodní linka, bez karty) */
#product .rte-content table tr:first-child td {
    background: transparent !important;
    border-bottom: 1px solid #e5e5e5;
    padding: 2px 14px 8px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.2px;
    color: #555555;
}

/* Datové řádky = bílé karty s mezerou + jemný stín + zaoblené rohy */
#product .rte-content table tr:not(:first-child) {
    background: #ffffff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
    transition: background 0.15s ease;
}

#product .rte-content table tr:not(:first-child):hover {
    background: #fcfcfc;
}

#product .rte-content table tr:not(:first-child) td:first-child {
    border-radius: 8px 0 0 8px;
    font-weight: 700;
    color: #1a1a1a;
}

#product .rte-content table tr:not(:first-child) td:last-child {
    border-radius: 0 8px 8px 0;
}

@media (max-width: 575.98px) {
    #product .rte-content table {
        font-size: 12px;
    }
    #product .rte-content table td {
        padding: 9px 10px;
    }
}

/* ============================================================================
 * displaycombinations modul — tabulka kombinací na product detail
 * Design dle reference penove-desky.cz: bílé „floating" řádky (karty), černá
 * tučná cena, červené množství, zelené tlačítko „Přidat do košíku" s ikonou,
 * qty input se stacked spinnery, čisté hlavičky se sort indikátorem.
 * (Header popisky lokalizovány přes modules/displaycombinations/translations/cs.php)
 * ============================================================================ */

/* --- Nadpis nad tabulkou (modul sám nadpis nerenderuje → injektujeme) --- */
#product .table_d_c_grid {
    margin: 28px 0;
    background: transparent;
    border: 0;
    font-size: 14px;
}

/* Nadpis tabulky – reálný element v tpl (.dc-table-title), text přes {l} (přeložitelný) */
#product .table_d_c_grid .dc-table-title {
    display: block;
    padding-left: 14px;
    border-left: 5px solid #00A875;
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.15;
    color: #2b2b2b;
    margin: 0 0 20px;
}

/* --- Filtr atributů (selector checkboxů nad tabulkou) --- */
/* Vrchní filtr atributů skryt (na přání) */
#product .attribute_choice,
#product [id^="choice_attributes"] {
    display: none !important;
}

#product .attribute_choice table {
    width: 100%;
    border-collapse: collapse;
}

#product .attribute_choice td {
    padding: 6px 0;
    vertical-align: middle;
}

#product .attribute_choice .attribute_public_name {
    font-weight: 600;
    color: #333333;
    padding-right: 16px;
    white-space: nowrap;
    width: 1%;
}

#product .attribute_choice .d_c_selector {
    margin: 0 6px 0 8px;
    accent-color: #00A875;
}

#product .attribute_choice .d_c_selector:first-child {
    margin-left: 0;
}

#product .attribute_choice .img_attributes,
#product .attribute_choice .colorsquare {
    display: inline-block !important;
    width: 26px !important;
    height: 26px !important;
    margin-right: 10px !important;
    border: 1px solid #d2d2d2 !important;
    vertical-align: middle !important;
    border-radius: 0 !important;
}

/* --- Řádky tabulky = bílé karty s mezerou + jemný stín --- */
#product .table_d_c_grid .table_d_c_line_container {
    border: 0 !important;
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
    margin-bottom: 10px;
    overflow: hidden;
}

#product .table_d_c_grid .table_d_c_line_container:first-child {
    border-top: 0 !important;
}

/* Hlavička je „plain" – žádná karta, jen popisky se spodní linkou */
#product .table_d_c_grid .table_d_c_line_container.sticky {
    position: static;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
    margin-bottom: 6px;
}

/* --- Mřížka řádku: 4 sloupce (obrázek skryt) --- */
#product .table_d_c_grid .table_d_c_line {
    display: grid;
    grid-template-columns:
        minmax(160px, 2.4fr)
        minmax(80px, 0.9fr)
        minmax(110px, 1.2fr)
        minmax(210px, 2.3fr);
    align-items: center;
}

/* Skrytí sloupce s obrázkem (header i řádky) – reference obrázek neukazuje */
#product .table_d_c_grid .d_c_item.center,
#product .table_d_c_grid .firstline .d_c_image {
    display: none !important;
}

#product .table_d_c_grid .table_d_c_line:not(.firstline):hover {
    background: #fcfcfc;
}

/* --- Hlavička sloupců --- */
#product .table_d_c_grid .table_d_c_line.firstline {
    background: transparent;
    border-bottom: 1px solid #e5e5e5;
    font-weight: 600;
    color: #555555;
    text-transform: none;
    letter-spacing: 0;
    font-size: 14px;
}

/* Hlavička: flex (label + sort šipka inline, ne stacked v gridu).
   Pozor: `:not(.d_c_image)` aby flex nepřebil skrytí obrázkového sloupce
   (jinak by se „Kombinace" odkrylo a posunulo celou hlavičku o sloupec). */
#product .table_d_c_grid .table_d_c_line.firstline .d_c_item:not(.d_c_image) {
    padding: 4px 12px 8px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

/* První sloupec (varianty) zarovnán doleva – modul má .d_c_item grid s
   justify-content:center, proto přebíjíme justify i text-align. */
#product .table_d_c_grid .table_d_c_line.firstline .d_c_attributs {
    justify-content: flex-start;
}

#product .table_d_c_grid .d_c_attributs {
    justify-content: start !important;
    justify-items: start !important;
    text-align: left !important;
}

/* Řaditelné sloupce – kurzor + sort indikátor */
#product .table_d_c_grid .firstline .dc-sortable {
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
}

#product .table_d_c_grid .firstline .dc-sortable::after {
    content: "\2195";
    color: #c8c8c8;
    font-size: 11px;
    flex: 0 0 auto;
}

#product .table_d_c_grid .firstline .dc-sortable.dc-sort-asc::after {
    content: "\2191";
    color: #FC441E;
}

#product .table_d_c_grid .firstline .dc-sortable.dc-sort-desc::after {
    content: "\2193";
    color: #FC441E;
}

#product .table_d_c_grid .firstline .dc-sortable:hover {
    color: #FC441E;
}

/* --- Buňky – užší řádky, menší písmo --- */
#product .table_d_c_grid .d_c_item {
    padding: 9px 12px;
    font-size: 12px;
    color: #333333;
    line-height: 1.35;
    text-align: center;
}

/* Atributy / varianta – šedý uppercase text vlevo */
#product .table_d_c_grid .table_d_c_line:not(.firstline) .d_c_attributs {
    text-transform: uppercase;
    color: #333333;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.2px;
}

#product .table_d_c_grid .d_c_attributs p {
    margin: 0;
}

/* Reference / kód dodavatele (pokud zapnuto) */
#product .table_d_c_grid .d_c_reference,
#product .table_d_c_grid .d_c_supplier_reference {
    color: #777777;
    font-size: 12px;
}

/* Množství (stock) – jen informace skladovosti */
#product .table_d_c_grid .d_c_stock p {
    margin: 0;
}

#product .table_d_c_grid .dc-stock-in {
    color: #00A875;
    font-weight: 500;
    font-size: 12px;
}

#product .table_d_c_grid .dc-stock-out {
    color: #999999;
    font-weight: 600;
    font-size: 12px;
}

/* Cena – BEZ DPH primární (oranžová tučná), S DPH přeškrtnutá pod tím (šedá) */
#product .table_d_c_grid .table_d_c_line:not(.firstline) .d_c_prices,
#product .table_d_c_grid .table_d_c_line:not(.firstline) .td_price {
    white-space: nowrap;
    line-height: 1.25;
}

#product .table_d_c_grid .d_c_prices p {
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1px;
}

#product .table_d_c_grid .d_c_prices br {
    display: none;
}

/* Cena BEZ DPH – primární (oranžová, tučná) */
#product .table_d_c_grid .d_c_prices .dc-price-ht {
    color: #FC441E !important;
    font-weight: 800 !important;
    font-size: 15px !important;
}

/* Cena S DPH – přeškrtnutá, šedá, menší */
#product .table_d_c_grid .d_c_prices .dc-price-ttc {
    color: #9a9a9a !important;
    text-decoration: line-through;
    font-weight: 400 !important;
    font-size: 11px !important;
}

/* --- Sloupec Qty + Přidat do košíku (jedna buňka, vedle sebe) --- */
#product .table_d_c_grid .d_c_add_to_cart {
    padding: 12px 14px;
}

#product .table_d_c_grid .d_c_add_to_cart form {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
    flex-wrap: nowrap;
    margin: 0;
}

#product .table_d_c_grid .d_c_add_to_cart .mini_qty {
    display: none;
}

/* Wrapper tlačítka (div style=display:block s <br/>) → inline, br pryč */
#product .table_d_c_grid .d_c_add_to_cart form > div:has(> .add-to-cart) {
    display: flex !important;
    align-items: center;
    margin: 0;
}

#product .table_d_c_grid .d_c_add_to_cart form > div:has(> .add-to-cart) br {
    display: none;
}

/* Qty input se stacked spinner šipkami (input vlevo, ▲ nahoře / ▼ dole) */
#product .table_d_c_grid .number-input {
    display: grid;
    grid-template-columns: 46px 22px;
    grid-template-rows: 18px 18px;
    width: max-content;
    border: 1px solid #cccccc;
    border-radius: 6px;
    overflow: hidden;
    background: #ffffff;
}

#product .table_d_c_grid .number-input .qty,
#product .table_d_c_grid .number-input input[type="number"] {
    grid-column: 1;
    grid-row: 1 / 3;
    width: 46px !important;
    height: 36px !important;
    border: 0 !important;
    border-right: 1px solid #e0e0e0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    text-align: center;
    font-size: 14px;
    color: #333333;
    padding: 0 !important;
    outline: none;
}

#product .table_d_c_grid .number-input .plus,
#product .table_d_c_grid .number-input .minus {
    background: #ffffff;
    border: 0;
    padding: 0;
    width: 22px;
    cursor: pointer;
    font-size: 0;
    color: #333333;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s ease;
}

#product .table_d_c_grid .number-input .plus {
    grid-column: 2;
    grid-row: 1;
    border-bottom: 1px solid #e0e0e0;
}

#product .table_d_c_grid .number-input .minus {
    grid-column: 2;
    grid-row: 2;
}

#product .table_d_c_grid .number-input .plus::after {
    content: "\25B2";
    font-size: 9px;
}

#product .table_d_c_grid .number-input .minus::after {
    content: "\25BC";
    font-size: 9px;
}

#product .table_d_c_grid .number-input .plus:hover,
#product .table_d_c_grid .number-input .minus:hover {
    background: #f2f2f2;
}

#product .table_d_c_grid .number-input .plus:disabled,
#product .table_d_c_grid .number-input .minus:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

/* Zelené tlačítko „Přidat do košíku" (text injektujeme, šablona má jen ikonu) */
/* Tlačítko – stejné jako hlavní tlačítko do košíku: oranžové, bez zaoblení */
#product .table_d_c_grid .d_c_add_to_cart .add-to-cart {
    background-color: var(--pd-accent) !important;
    border: 0 !important;
    color: #ffffff !important;
    border-radius: 0 !important;
    height: 40px;
    padding: 0 18px !important;
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
    box-shadow: none;
    --bs-btn-bg: #FC441E;
    --bs-btn-border-color: #FC441E;
    --bs-btn-color: #ffffff;
    --bs-btn-hover-bg: #e23b18;
    --bs-btn-hover-border-color: #e23b18;
    --bs-btn-active-bg: #e23b18;
    --bs-btn-border-radius: 0;
    --bs-btn-padding-x: 18px;
}

/* Text tlačítka – reálný element .dc-btn-label v tpl (přeložitelný přes {l}) */
#product .table_d_c_grid .d_c_add_to_cart .add-to-cart .dc-btn-label {
    font-size: 13px;
    font-weight: 600;
    color: #ffffff;
}

/* Původní <i> má dva icon-fonty naráz (material-icons + fa) → garbled. Skryjeme. */
#product .table_d_c_grid .d_c_add_to_cart .add-to-cart i {
    display: none !important;
}

/* Ikona košíku – stejná basket SVG jako na hlavním tlačítku do košíku */
#product .table_d_c_grid .d_c_add_to_cart .add-to-cart::before {
    content: '';
    width: 17px;
    height: 13px;
    flex: 0 0 auto;
    background-image: url("data:image/svg+xml,%3Csvg width='18' height='14' viewBox='0 0 18 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18 5.75005V6.25005C18 6.66427 17.6642 7.00004 17.25 7.00004H17L16.184 12.7121C16.0784 13.4511 15.4455 14 14.6991 14H3.30094C2.55447 14 1.92159 13.4511 1.816 12.7121L1 7.00004H0.75C0.335781 7.00004 0 6.66427 0 6.25005V5.75005C0 5.33584 0.335781 5.00006 0.75 5.00006H2.85441L6.19128 0.41193C6.51613 -0.0346925 7.1415 -0.133473 7.58819 0.191369C8.03484 0.51621 8.13359 1.14161 7.80875 1.58827L5.32741 5.00006H12.6726L10.1912 1.58823C9.86641 1.14161 9.96519 0.516179 10.4118 0.191337C10.8584 -0.133504 11.4839 -0.034755 11.8088 0.411898L15.1456 5.00006H17.25C17.6642 5.00006 18 5.33584 18 5.75005ZM9.75 11.25V7.75004C9.75 7.33582 9.41422 7.00004 9 7.00004C8.58578 7.00004 8.25 7.33582 8.25 7.75004V11.25C8.25 11.6642 8.58578 12 9 12C9.41422 12 9.75 11.6642 9.75 11.25ZM13.25 11.25V7.75004C13.25 7.33582 12.9142 7.00004 12.5 7.00004C12.0858 7.00004 11.75 7.33582 11.75 7.75004V11.25C11.75 11.6642 12.0858 12 12.5 12C12.9142 12 13.25 11.6642 13.25 11.25ZM6.25 11.25V7.75004C6.25 7.33582 5.91422 7.00004 5.5 7.00004C5.08578 7.00004 4.75 7.33582 4.75 7.75004V11.25C4.75 11.6642 5.08578 12 5.5 12C5.91422 12 6.25 11.6642 6.25 11.25Z' fill='white'/%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

#product .table_d_c_grid .d_c_add_to_cart .add-to-cart:hover {
    background-color: #e23b18 !important;
}

#product .table_d_c_grid .d_c_add_to_cart .add-to-cart:disabled,
#product .table_d_c_grid .d_c_add_to_cart .add-to-cart.disabled {
    background-color: #c2c2c2 !important;
    color: #ffffff !important;
    cursor: not-allowed;
    --bs-btn-bg: #c2c2c2;
    --bs-btn-border-color: #c2c2c2;
}

/* Single „one-button" varianta (config one_btn) */
#product .table_d_c_grid .one_btn_add_to_cart {
    background-color: #00A875 !important;
    border: 0 !important;
    color: #ffffff !important;
    border-radius: 6px !important;
    height: 48px;
    font-size: 15px;
    font-weight: 600;
}

/* --- Responsive: tablet --- */
@media (max-width: 991.98px) {
    #product .table_d_c_grid::before {
        font-size: 1.2rem;
        margin-bottom: 16px;
    }

    #product .table_d_c_grid .table_d_c_line {
        grid-template-columns: minmax(96px, 1.6fr) minmax(60px, 0.7fr) minmax(86px, 1fr) minmax(150px, 1.9fr);
    }

    #product .table_d_c_grid .d_c_item {
        padding: 11px 8px;
    }
}

/* --- Responsive: mobil – řádek na 2 patra (info nahoře, akce dole) --- */
@media (max-width: 767.98px) {
    #product .table_d_c_grid {
        margin: 18px 0;
    }

    #product .table_d_c_grid .table_d_c_line {
        grid-template-columns: 1fr auto;
        row-gap: 4px;
        padding: 6px 4px 12px;
    }

    #product .table_d_c_grid .table_d_c_line.firstline {
        display: none;
    }

    #product .table_d_c_grid .table_d_c_line:not(.firstline) .d_c_attributs {
        grid-column: 1 / -1;
        padding-bottom: 2px;
        font-size: 13px;
        font-weight: 700;
        color: #333333;
    }

    #product .table_d_c_grid .d_c_stock {
        text-align: left;
        justify-content: start !important;
    }

    #product .table_d_c_grid .d_c_prices {
        text-align: right;
        justify-content: end !important;
    }

    #product .table_d_c_grid .d_c_prices p {
        align-items: flex-end;
    }

    #product .table_d_c_grid .d_c_add_to_cart {
        grid-column: 1 / -1;
        padding: 8px 4px 4px;
    }

    #product .table_d_c_grid .d_c_add_to_cart form {
        justify-content: space-between;
        gap: 10px;
    }

    #product .table_d_c_grid .d_c_add_to_cart .add-to-cart {
        flex: 1 1 auto;
        justify-content: center;
    }

    #product .attribute_choice {
        padding: 12px 14px;
    }
}

/* =========================================================================
   Stránka Poptávka / Kontakt (#contact) — child override contact.tpl
   Moderní CMS vzhled dle předlohy penove-desky.cz/poptavka-penove-desky:
   nadpis + podtitul, vlevo kontaktní info karta, vpravo formulář v kartě.
   ========================================================================= */
#contact .pd-contact-header {
    text-align: center;
    margin: 8px 0 28px;
}
#contact .pd-contact-header .page-title {
    margin: 0 0 10px;
    font-size: clamp(22px, 3vw, 30px);
    font-weight: 800;
    line-height: 1.25;
    color: var(--pd-text);
}
#contact .pd-contact-sub {
    max-width: 680px;
    margin: 0 auto;
    color: var(--pd-text-muted);
    font-size: 15px;
    line-height: 1.6;
}

#contact .pd-contact {
    display: grid;
    grid-template-columns: 330px 1fr;
    gap: 30px;
    align-items: start;
}
@media (max-width: 991px) {
    #contact .pd-contact { grid-template-columns: 1fr; }
}

/* --- levý sloupec: kontaktní info karta --- */
#contact .pd-contact-aside-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--pd-text);
    margin: 0 0 14px;
}
/* neutralizace bootstrap col-sm-4 z modulové šablony (jsme v gridu) */
#contact .pd-contact-aside .contact-page-info {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    padding: 0 !important;
}
#contact .contact-rich {
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 14px;
    padding: 22px 22px 8px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, .07);
}
#contact .contact-rich > strong {
    display: block;
    font-size: 16px;
    font-weight: 800;
    color: var(--pd-text);
    margin-bottom: 14px;
}
#contact .contact-rich hr {
    border: 0;
    border-top: 1px solid var(--pd-border);
    margin: 14px 0;
}
#contact .contact-rich .part {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}
#contact .contact-rich .part .icon {
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 168, 117, .1);
    color: var(--pd-primary);
    border-radius: 50%;
    font-size: 16px;
}
#mobile-header .m-nav-btn > i,
.contact-rich .part .icon i {
    font-size: 1.3rem;
}
#contact .contact-rich .part .data {
    align-self: center;
    font-size: 14px;
    line-height: 1.5;
    color: var(--pd-text);
}
#contact .contact-rich .part .data a {
    color: var(--pd-text);
    font-weight: 600;
    text-decoration: none;
}
#contact .contact-rich .part .data a:hover {
    color: var(--pd-primary);
}

/* --- pravý sloupec: formulář v kartě (.contact-form, child override) ---
   Vzhled sjednocen se stránkou Velkoodběr (.elementor-contactform-wrapper):
   karta s jemným stínem, inputy #fafafa/radius 8, plnošířkové zelené tlačítko. */
#contact .pd-contact-main .contact-form {
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 14px;
    padding: 30px 30px 26px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, .07);
}
#contact .pd-contact-main .form-fields {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
#contact .pd-contact-main .form-row {
    display: block;
    margin: 0;
}
#contact .pd-contact-main .form-row > label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #333;
    margin-bottom: 6px;
}
#contact .pd-contact-main .form-row .form-control,
#contact .pd-contact-main .form-row input[type="email"],
#contact .pd-contact-main .form-row select,
#contact .pd-contact-main .form-row textarea {
    width: 100%;
    border: 1px solid #dcdcdc;
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 14px;
    color: var(--pd-text);
    background: #fafafa;
    transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
#contact .pd-contact-main .form-row input[type="file"] {
    width: 100%;
    font-size: 13px;
    padding: 9px 0;
    border: 0;
    background: transparent;
}
#contact .pd-contact-main .form-row textarea {
    min-height: 150px;
    resize: vertical;
}
#contact .pd-contact-main .form-row .form-control:focus,
#contact .pd-contact-main .form-row select:focus,
#contact .pd-contact-main .form-row textarea:focus {
    outline: none;
    border-color: var(--pd-primary);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(0, 168, 117, .12);
}
#contact .pd-contact-main .form-footer {
    margin-top: 8px;
    text-align: left;
    border: 0;
    padding: 0;
}
#contact .pd-contact-main .form-footer .btn-primary[type="submit"] {
    display: block;
    width: 100%;
    height: 48px;
    background: var(--pd-primary);
    color: #fff;
    border: 0;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s ease;
}
#contact .pd-contact-main .form-footer .btn-primary[type="submit"]:hover {
    background: var(--pd-primary-dark);
}

/* =========================================================================
   Heuréka recenze widget v levém sloupci (dm_heureka, displayLeftColumn)
   — nastyleno do designu (karta jako sidebar) + odkaz na ověřování recenzí.
   ========================================================================= */
#heureka-review {
    background: #fff;
    border: 1px solid var(--pd-border);
    border-radius: 14px;
    padding: 18px 16px 14px !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .04);
    margin-bottom: 20px;
}
#heureka-review > p.h6 {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    color: var(--pd-text-muted);
    text-align: center;
    margin: 0 0 6px;
}
#heureka-logo {
    padding: 4px 0 12px !important;
    text-align: center;
    border-bottom: 1px solid var(--pd-border);
    margin-bottom: 6px;
}
#heureka-logo img {
    max-width: 130px;
    height: auto;
    width: auto !important;
}
#item-heureka-review {
    padding: 12px 0;
    border-bottom: 1px solid var(--pd-border);
    overflow: hidden;
}
#item-heureka-review:last-child {
    border-bottom: 0;
}
#heureka-avatar {
    float: left;
    width: 28px !important;
    height: 28px;
    padding: 0 !important;
    margin: 2px 10px 0 0;
    opacity: .85;
}
#heureka-customer-name {
    overflow: hidden;
}
#heureka-customer-name b span {
    font-size: 13px;
    font-weight: 600;
    color: var(--pd-text);
}
#heureka-review-date {
    font-size: 11px;
    color: var(--pd-text-muted);
}
#heureka-star {
    clear: both;
    font-size: 13px;
    line-height: 1;
    color: #f5a623;
    margin: 6px 0 4px;
}
#heureka-star img {
    height: 14px;
    width: auto;
}
#heureka-review-text {
    font-size: 12.5px;
    line-height: 1.5;
    color: var(--pd-text);
}
#heureka-review-text b,
#heureka-review-text strong {
    color: var(--pd-text-muted);
    font-weight: 600;
    font-size: 11.5px;
}
/* odkaz „více informací o ověřování recenzí" (přidán přes JS) */
.heureka-review-info {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid var(--pd-border);
    text-align: center;
}
.heureka-review-info a {
    font-size: 11.5px;
    color: var(--pd-text-muted);
    text-decoration: underline;
    text-underline-offset: 2px;
}
.heureka-review-info a:hover {
    color: var(--pd-primary);
}

/* =========================================================================
   Kontaktní karta v levém sloupci (pod heureka) — styl jako kontaktní stránka.
   ========================================================================= */
.pd-sidebar-contact {
    margin-bottom: 20px;
}
.pd-sidebar-contact .pd-sidebar-contact-title {
    text-transform: none !important;
    font-size: 16px;
    font-weight: 700;
    color: var(--pd-text);
    margin: 0 0 12px;
    letter-spacing: 0;
}
.pd-sidebar-contact .contact-rich {
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 14px;
    padding: 18px 16px 8px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .05);
}
.pd-sidebar-contact .contact-rich > strong {
    display: block;
    font-size: 15px;
    font-weight: 800;
    color: var(--pd-text);
    margin-bottom: 12px;
}
.pd-sidebar-contact .contact-rich hr {
    border: 0;
    border-top: 1px solid #ececec;
    margin: 12px 0;
}
.pd-sidebar-contact .contact-rich .part {
    display: flex;
    align-items: flex-start;
    gap: 11px;
}
.pd-sidebar-contact .contact-rich .part .icon {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 168, 117, .1);
    color: var(--pd-primary);
    border-radius: 50%;
    font-size: 15px;
}
.pd-sidebar-contact .contact-rich .part .data {
    align-self: center;
    font-size: 13px;
    line-height: 1.5;
    color: var(--pd-text);
}
.pd-sidebar-contact .contact-rich .part .data a {
    color: var(--pd-text);
    font-weight: 600;
    text-decoration: none;
    word-break: break-word;
}
.pd-sidebar-contact .contact-rich .part .data a:hover {
    color: var(--pd-primary);
}

/* =========================================================================
   CTA box na konci produktů v kategorii — „Nenašli jste správný rozměr?"
   Velikost jako produktová karta, světle zelené pozadí, oranžové tlačítko.
   ========================================================================= */
.pd-cta-cell {
    margin-bottom: 24px;
}
.pd-cta-box {
    margin: 10px;
    min-height: 540px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: #e9f6ef;
    border: 1px solid #dcefe4;
    border-radius: 4px;
    padding: 26px 22px;
}
.pd-cta-title {
    font-size: 20px;
    line-height: 1.3;
    font-weight: 500;
    color: var(--pd-text);
    margin: 0 0 18px;
}
.pd-cta-icon {
    margin: 4px 0 20px;
}
.pd-cta-icon svg {
    width: 120px;
    height: auto;
    display: block;
}
.pd-cta-text {
    margin: 0 0 20px;
    line-height: 1.45;
}
.pd-cta-text strong {
    display: block;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--pd-text);
}
.pd-cta-text span {
    display: block;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--pd-primary);
}
.pd-cta-btn {
    display: inline-block;
    background: var(--pd-accent);
    color: #fff !important;
    font-size: 15px;
    font-weight: 600;
    padding: 11px 32px;
    border-radius: 0;
    text-decoration: none;
    transition: background .15s ease;
}
.pd-cta-btn:hover {
    background: #e03c18;
    color: #fff;
}

/* ============================================================
   Blog — single článek (.pd-blog-article)
   ============================================================ */
.pd-blog-article {
    max-width: 860px;
    margin: 0 auto;
}
.pd-blog-cover {
    margin: 0 0 28px;
}
.pd-blog-cover img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 10px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, .08);
}
/* meta řádek (datum / kategorie / tagy) */
.pd-blog-meta ul {
    list-style: none;
    margin: 0 0 22px;
    padding: 0 0 18px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 18px;
    border-bottom: 1px solid #ececec;
}
.pd-blog-meta li {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 14px;
    margin: 0;
}
.pd-blog-meta li i {
    color: #3aaa6e;
    font-size: 14px;
}
.pd-blog-meta a {
    display: inline-block;
    background: #e9f6ef;
    color: #2c8d59 !important;
    font-weight: 600;
    padding: 4px 13px;
    border-radius: 40px;
    text-decoration: none;
    transition: background .15s ease;
}
.pd-blog-meta a:hover {
    background: #d6efe1;
}
/* tělo článku — typografie */
.pd-blog-content {
    font-size: 1.06rem;
    line-height: 1.78;
    color: #3a3a3a;
}
.pd-blog-content p {
    margin: 0 0 1.2em;
}
.pd-blog-content h2,
.pd-blog-content h3 {
    margin: 1.6em 0 .6em;
    line-height: 1.3;
    color: #1f2d24;
}
.pd-blog-content h2 { font-size: 1.5rem; }
.pd-blog-content h3 { font-size: 1.25rem; }
.pd-blog-content ul,
.pd-blog-content ol {
    margin: 0 0 1.2em;
    padding-left: 1.4em;
}
.pd-blog-content li { margin-bottom: .4em; }
.pd-blog-content img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 8px 0;
}
.pd-blog-content a {
    color: #2c8d59;
    text-decoration: underline;
}
.pd-blog-share {
    margin-top: 36px;
    padding-top: 24px;
    border-top: 1px solid #ececec;
}
@media (max-width: 575px) {
    .pd-blog-content { font-size: 1rem; }
    .pd-blog-cover img { border-radius: 8px; }
}

/* ============================================================
   Blog — výpis (karty článků)
   ============================================================ */
/* téma používá float grid → vynutíme flex, aby karty měly stejnou výšku */
.simpleblog__listing > .row {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    margin: 0;          /* zruš BS negativní marginy → vznikne vnější odsazení */
}
.simpleblog__listing__post {
    float: none;
    display: flex;
    padding-left: 15px;     /* gutter mezi boxy (15+15=30px) + vnější odsazení */
    padding-right: 15px;
    margin-bottom: 30px;
}
.simpleblog__listing__post__wrapper {
    display: flex;
    flex-direction: column;
    width: 100%;
    background: #fff;
    border: 1px solid #e8eced;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .04);
    transition: transform .18s ease, box-shadow .18s ease;
}
.simpleblog__listing__post__wrapper:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, .10);
}
/* thumbnail nahoře, edge-to-edge, jednotná výška */
.simpleblog__listing__post__wrapper > a:first-child {
    display: block;
    overflow: hidden;
    line-height: 0;
}
.simpleblog__listing__post__wrapper .photo {
    width: 100%;
    height: 200px;
    object-fit: cover;
    margin: 0 !important;
    display: block;
    transition: transform .35s ease;
}
.simpleblog__listing__post__wrapper:hover .photo {
    transform: scale(1.045);
}
/* obsah */
.simpleblog__listing__post__wrapper .simpleblog__listing__post__wrapper__content {
    padding: 18px 20px 8px !important;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}
.simpleblog__listing__post__wrapper__content__headline {
    font-size: 1.15rem;
    line-height: 1.3;
    margin: 0 0 10px;
}
.simpleblog__listing__post__wrapper__content__headline a {
    color: #2c8d59;
    transition: color .15s ease;
}
.simpleblog__listing__post__wrapper__content__headline a:hover {
    color: #1f6e44;
}
.simpleblog__listing__post__wrapper__content p[itemprop="description"] {
    color: #5c5c5c;
    font-size: .95rem;
    line-height: 1.6;
    margin: 0 0 12px;
    display: block;
}
.simpleblog__listing__post__wrapper__content__readmore {
    margin-top: auto;
    color: #2c8d59 !important;
    font-weight: 600;
    white-space: nowrap;
}
.simpleblog__listing__post__wrapper__content__readmore .fa {
    font-size: 11px;
}
/* footer — kategorie / datum */
.simpleblog__listing__post__wrapper__footer {
    margin: 0 !important;
    padding: 11px 20px 15px !important;
    border-top: 1px solid #f0f0f0;
    font-size: .85rem;
}
.simpleblog__listing__post__wrapper__footer a {
    color: #2c8d59 !important;
    font-weight: 600;
}
.simpleblog__listing__post__wrapper__footer .fa {
    color: #3aaa6e;
}

/* ============================================================
   Zákaznický účet — všechny stránky (sidebar + obsah)
   ============================================================ */
.my-account-page-content-wrapper > .row {
    margin-left: -12px;
    margin-right: -12px;
}
.my-account-page-content-wrapper .my-account-side-links,
.my-account-page-content-wrapper .my-account-page-content {
    padding-left: 12px;
    padding-right: 12px;
}

/* --- Sidebar menu (karty odkazů) --- */
.my-account-side-links {
    margin-bottom: 22px;
}
.my-account-side-links > a {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 9px !important;
    padding: 0 !important;
    border: 1px solid #e8eced;
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
    transition: border-color .15s ease, background .15s ease, transform .15s ease;
}
.my-account-side-links > a .link-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 16px !important;
    border: 0 !important;
    color: #33404a;
    font-weight: 500;
    box-shadow: none !important;
}
.my-account-side-links > a .link-item i {
    color: #3aaa6e;
    font-size: 1.05rem;
    width: 20px;
    text-align: center;
}
.my-account-side-links > a:hover {
    border-color: #c7e6d5;
    background: #f3faf6;
    transform: translateX(2px);
}
.my-account-side-links > a:hover .link-item {
    color: #1f6e44;
}
/* aktivní položka (dle controlleru v body) */
.page-identity #identity-link,
.page-addresses #addresses-link,
.page-address #addresses-link,
.page-order-history #history-link,
.page-history #history-link,
.page-order-detail #history-link,
.page-order-slip #order-slips-link,
.page-discount #discounts-link,
.page-order-follow #returns-link,
.page-order-return #returns-link {
    border-color: #3aaa6e !important;
    background: #eef8f2 !important;
}
.page-identity #identity-link .link-item,
.page-addresses #addresses-link .link-item,
.page-address #addresses-link .link-item,
.page-order-history #history-link .link-item,
.page-history #history-link .link-item,
.page-order-slip #order-slips-link .link-item,
.page-discount #discounts-link .link-item,
.page-order-follow #returns-link .link-item {
    color: #1f6e44;
    font-weight: 600;
}

/* psgdpr odkaz „Moje osobní údaje" (/module/psgdpr/gdpr) sdílí chybně
   id="identity-link" s „Informace" → na stránce identity se zvýrazňovaly obě.
   De-aktivovat zvýraznění psgdpr odkazu (cílíme přes href, psgdpr je ps_ modul). */
.my-account-side-links > a#identity-link[href*="psgdpr"],
.page-identity .my-account-side-links > a#identity-link[href*="psgdpr"] {
    border-color: #e8eced !important;
    background: #fff !important;
}
.my-account-side-links > a#identity-link[href*="psgdpr"] .link-item {
    color: #33404a !important;
    font-weight: 500 !important;
}

/* --- Mobil: navigace účtu jako kompaktní 2sloupcové dlaždice (ikona nad
   popiskem) — 6 plných karet jinak zabíralo ~650px nad obsahem na každé
   stránce účtu. --- */
@media (max-width: 767.98px) {
    .my-account-side-links {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        margin-bottom: 18px;
    }
    .my-account-side-links > a {
        margin: 0 !important;
    }
    .my-account-side-links > a .link-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 7px;
        padding: 12px 13px !important;
        font-size: 13px;
        line-height: 1.3;
        height: 100%;
    }
    .my-account-side-links > a:hover {
        transform: none;
    }
}

/* --- Obsahová karta --- */
.my-account-page-content {
    background: #fff;
    border: 1px solid #e8eced;
    border-radius: 12px;
    padding: 26px 28px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .03);
}
.my-account-page-content > h6,
.my-account-page-content > .page_content > h6 {
    color: #6a6a6a;
    font-weight: 400;
    font-size: 1rem;
    margin-bottom: 22px;
}
.my-account-page-content h2 {
    font-size: 1.4rem;
    color: #1f2d24;
    margin-bottom: 18px;
}

/* --- Tabulky (historie objednávek / dobropisy / slevy) --- */
.my-account-page-content .table {
    border: 1px solid #eceff1;
    border-radius: 10px;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
}
.my-account-page-content .table thead th,
.my-account-page-content .table .thead-default th {
    background: #f4f7f6;
    border-bottom: 2px solid #e3e9e6;
    border-top: 0;
    color: #33404a;
    font-weight: 600;
    font-size: .9rem;
    padding: 13px 14px;
    vertical-align: middle;
}
.my-account-page-content .table td,
.my-account-page-content .table tbody th {
    padding: 13px 14px;
    vertical-align: middle;
    border-color: #f0f2f3;
}
.my-account-page-content .table tbody tr:hover {
    background: #f7fbf9;
}
.my-account-page-content .table a {
    color: #2c8d59;
    font-weight: 600;
}
.label-pill {
    border-radius: 40px;
    padding: 5px 13px;
    font-size: .78rem;
    font-weight: 600;
    display: inline-block;
}
.order-actions a {
    color: #2c8d59;
    font-weight: 600;
}

/* mobilní varianty (definition list) */
.orders .order,
.credit-slips .credit-slip,
.cart-rules .cart-rule {
    border: 1px solid #e8eced;
    border-radius: 10px;
    padding: 14px 16px;
    margin-bottom: 14px;
}
.orders .order ul,
.credit-slips .credit-slip ul,
.cart-rules .cart-rule ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* --- Adresy (karty) --- */
.address {
    background: #fff;
    border: 1px solid #e8eced;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 24px;
    display: flex;
    flex-direction: column;
    height: calc(100% - 24px);
    transition: box-shadow .15s ease, transform .15s ease;
}
.address:hover {
    box-shadow: 0 8px 22px rgba(0, 0, 0, .08);
    transform: translateY(-2px);
}
.address .address-body {
    padding: 20px 22px;
    flex: 1 1 auto;
}
.address .address-body h4 {
    color: #1f2d24;
    font-size: 1.1rem;
    margin-bottom: 12px;
}
.address .address-body address {
    color: #555;
    line-height: 1.7;
    font-style: normal;
    margin: 0;
}
.address .address-footer {
    display: flex;
    gap: 18px;
    padding: 12px 22px;
    border-top: 1px solid #f0f0f0;
    background: #fafbfb;
}
.address .address-footer a {
    color: #2c8d59;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.address .address-footer a:hover {
    color: #1f6e44;
}
.addresses-footer {
    margin-top: 6px;
}
.addresses-footer a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--pd-accent, #f04e23);
    color: #fff !important;
    padding: 11px 22px;
    border-radius: 6px;
    font-weight: 600;
    text-decoration: none;
}
.addresses-footer a:hover {
    background: #e03c18;
}

/* --- Formuláře (identita / adresa / heslo) --- */
.my-account-page-content .form-control,
.my-account-page-content .form-control-select {
    border: 1px solid #dfe4e6;
    border-radius: 6px;
}
.my-account-page-content .form-control:focus {
    border-color: #3aaa6e;
    box-shadow: 0 0 0 .15rem rgba(58, 170, 110, .15);
}
.my-account-page-content .form-control-label,
.my-account-page-content label {
    font-weight: 600;
    color: #33404a;
}
.my-account-page-content .btn-primary {
    background: #3aaa6e;
    border-color: #3aaa6e;
    border-radius: 6px;
    font-weight: 600;
}
.my-account-page-content .btn-primary:hover {
    background: #2c8d59;
    border-color: #2c8d59;
}

/* --- Checkout (thecheckout) — sjednotit šířku bloků na mobilu ---------------
   Modulové CSS dávalo account/adresám/souhrnu margin 7px (užší box, víc odsazený)
   než payment/shipping (margin 0, plná šířka). Srovnáno na 0 → všechny bloky stejně. */
@media (max-width: 767.98px) {
    /* #checkout (2 ID) přebije modulové `html body#checkout .checkout-block`
       s margin 7px !important (specificita (1,1,2)). */
    #checkout #tc-container-mobile > .checkout-block {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* --- Detail objednávky --- */
.order-confirmation-table,
#order-products,
.order-detail-content .box,
.order-items {
    border-radius: 10px;
}
#order-detail-content .table,
.order-detail-content .table {
    border: 1px solid #eceff1;
}

/* --- dm_remainingprice — lišta „doprava zdarma" sladěná do designu ---------
   Scope přes :has(meter) → cílí přesně informační box modulu (obsahuje <meter>),
   ne ostatní .alert-info na webu. Přebíjí inline styly modulu (proto !important). */
.alert.alert-info:has(meter) {
    border: 1px solid var(--pd-primary) !important;
    background: #f1faf5 !important;          /* jemný zelený tint */
    color: var(--pd-text) !important;
    border-radius: 10px !important;
    padding: 14px 18px !important;
    margin: 12px 0 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .04);
}
.alert.alert-info:has(meter) strong {
    color: var(--pd-primary-dark);
    font-weight: 700;
}
/* druhý řádek „Doprava zdarma je od …" jako sekundární text */
.alert.alert-info:has(meter) > div:nth-of-type(2) {
    margin-top: 2px;
    font-size: .85rem;
    color: var(--pd-text-muted);
}

/* progress bar — sjednocený vzhled <meter> napříč prohlížeči */
.alert.alert-info:has(meter) meter {
    width: 100%;
    height: 10px;
    margin-top: 12px;
    border: none;
    border-radius: 999px;
    background: #dcefe6;                      /* prázdná dráha */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.alert.alert-info:has(meter) meter::-webkit-meter-bar {
    background: #dcefe6;
    border: none;
    border-radius: 999px;
    height: 10px;
}
.alert.alert-info:has(meter) meter::-webkit-meter-optimum-value,
.alert.alert-info:has(meter) meter::-webkit-meter-suboptimum-value,
.alert.alert-info:has(meter) meter::-webkit-meter-even-less-good-value {
    background: linear-gradient(90deg, var(--pd-primary), var(--pd-primary-dark));
    border-radius: 999px;
}
.alert.alert-info:has(meter) meter::-moz-meter-bar {
    background: linear-gradient(90deg, var(--pd-primary), var(--pd-primary-dark));
    border-radius: 999px;
}
/* Na stránce košíku skryj duplikát v rozpisu (hook displayCheckoutSubtotalDetails) —
   lišta zůstává v horním banneru (displayCheckoutSummaryTop), v modálu po přidání
   do košíku a v blockcart popupu. */
.cart-detailed-totals .alert.alert-info:has(meter) {
    display: none !important;
}

/* --- dm_historyprice — „Historie ceny" utlumeno + posunuto NAD oddělovací čáru
   Legislativně povinné (vývoj ceny / EU směrnice), ale záměrně nenápadné. Čára
   (border-top na .product-additional-info) přesunuta POD historii → tlačítko je
   nad ní; samotné tlačítko ztlumeno na malý šedý odkaz s malou ikonou. */
#product .product-additional-info {
    border-top: none !important;
    padding-top: 4px !important;
    border-bottom: 1px solid rgba(160, 160, 160, .25);
    padding-bottom: 14px;
    margin-bottom: 14px;
}
#dm-historyprice #dm_prices_popup_button,
#dm-historyprice #dm_history_chart_button {
    color: var(--pd-text-muted) !important;
    font-weight: 400 !important;
    font-size: 12px !important;
    text-decoration: underline;
}
#dm-historyprice #dm_prices_popup_button:hover,
#dm-historyprice #dm_history_chart_button:hover {
    color: var(--pd-text) !important;
}
#product #dm-historyprice img {
    width: 13px !important;
    height: 13px !important;
    opacity: .4;
    vertical-align: middle;
}

/* ==== Checkout — checkbox souhlasů ====
   Fajfku kreslí thecheckout nativně přes SVG mask (::after). Uvnitř boxu je ještě
   <i class="material-icons">, kterou thecheckout skrývá jen když má třídu `check-icon`.
   DM souhlasy (dm_heureka, dm_zbozi) tuhle třídu nemají → ikona prosvítá přes fajfku
   jako artefakt. Skryjeme <i> u všech checkout checkboxů; fajfka z ::after zůstává. */
#checkout .custom-checkbox input[type=checkbox] + span > i.material-icons {
    display: none;
}
/* Povinný souhlas (obchodní podmínky) má v šabloně napevno `required`, label je
   v .condition-label → dostane červenou *. Dobrovolné souhlasy hvězdičku nemají. */
#checkout #conditions-to-approve .condition-label label::after {
    content: " *";
    color: #e02b27;
    font-weight: 700;
}
