/*! Zehnder_templates_V1 | merged: Article->ESHOP->CATEGORY->PRODUKT | build V1 */
/* ---- Zehnder_Article_Template_V10.css ---- */
/* ============================================================================
   Zehnder — ŠABLONA DETAILU ČLÁNKU (plně responzivní s clamp a tokeny) — V2
   ----------------------------------------------------------------------------
   FILOZOFIE:
   • Klient ve vizuálním editoru píše POUZE obsah (H2/H3, odstavce, odrážky,
     číslování, tučné, citace, obrázky). Shoptet to vykreslí do
     `.news-item-detail .text` jako čisté sémantické značky BEZ tříd.
   • Veškerý styl se proto váže na ELEMENTY (h2, p, ul…), ne na třídy.
   • Propojeno s globálními tokeny z Zehnder_global_V73.css (--radius-*, --content-*).
   ============================================================================ */

/* ---------------------------------------------------------------------------
   0) Lokální proměnné (snadné doladění na jednom místě linked na globál)
   --------------------------------------------------------------------------- */
body.type-post {
    --rekusam-tpl-article-width: 760px;  /* optimální šířka textového sloupce */
    --rekusam-tpl-aside-width: 330px;    /* šířka postranního sloupce */
    --rekusam-tpl-sticky-top: 120px;     /* odsazení sticky sidebaru */
}


/* ---------------------------------------------------------------------------
   2) RÁMEC STRÁNKY — BÍLÁ KARTA OBSAHU na modrém pozadí webu
   --------------------------------------------------------------------------- */
body.type-post #content.content,
body.type-post .content-inner {
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

/* Vnější obal udržuje šířku a fluidní vertikální mezery */
body.type-post .content-inner {
    padding: clamp(30px, 4vw, 50px) 0 clamp(40px, 6vw, 80px) !important;
    box-sizing: border-box;
}

/* Samotná bílá karta — nyní bude mít perfektní prostor */
body.type-post .news-item-detail {
    max-width: var(--content-max-width, 1600px);
    margin: 0 auto;
    padding: clamp(32px, 5vw, 56px) clamp(20px, 5vw, 64px);
    box-sizing: border-box;
    background: #ffffff;
    border-radius: var(--radius-lg, 1.5rem);
    box-shadow: 0 24px 60px rgba(7, 67, 67, 0.18);
    font-family: var(--template-font, 'Montserrat', sans-serif);
    color: var(--rekusam-ink);
}

/* ---------------------------------------------------------------------------
   3) HLAVIČKA ČLÁNKU — badge rubriky + H1 + perex
   --------------------------------------------------------------------------- */

/* Badge rubriky (fluidní text) */
body.type-post .rekusam-article-eyebrow {
    display: inline-block;
    font-size: clamp(1rem, 1.5vw, 1.2rem);
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 6px 16px;
    border-radius: 999px;
    margin: 6px 0 clamp(12px, 2vw, 18px);
    background: rgba(7, 67, 67, 0.10);
    color: var(--rekusam-green);
}
body.type-post .rekusam-article-eyebrow.is-legal {
    background: rgba(227, 0, 27, 0.12);
    color: var(--rekusam-red);
}

/* Perex: fluidní písmo a spodní odsazení */
body.type-post .rekusam-article-perex {
    font-size: clamp(1.15rem, 2vw, 1.35rem);
    line-height: 1.55;
    color: var(--rekusam-muted);
    font-weight: 500;
    max-width: 820px;
    margin: 0 0 clamp(20px, 4vw, 34px);
    padding: 0 0 clamp(20px, 4vw, 34px);
    border-bottom: 1px solid var(--rekusam-line);
}
body.type-post .rekusam-article-perex b,
body.type-post .rekusam-article-perex strong { color: var(--rekusam-ink); }

/* ---------------------------------------------------------------------------
   4) DVOUSLOUPCOVÝ LAYOUT — text vlevo, sticky postranní box vpravo
   --------------------------------------------------------------------------- */
body.type-post .rekusam-article-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) var(--rekusam-tpl-aside-width);
    gap: clamp(24px, 4vw, 56px);
    align-items: start;
    margin-bottom: clamp(40px, 6vw, 70px);
}
body.type-post .rekusam-article-main { min-width: 0; }
body.type-post .rekusam-article-main .text { max-width: var(--rekusam-tpl-article-width); }

body.type-post .rekusam-article-aside {
    position: sticky;
    top: var(--rekusam-tpl-sticky-top, 120px);
}

/* ---------------------------------------------------------------------------
   5) TYPOGRAFIE OBSAHU — elementově, fluidní velikost textu
   --------------------------------------------------------------------------- */
body.type-post .news-item-detail .text {
    font-size: clamp(1.1rem, 1.5vw, 1.25rem);
    line-height: 1.75;
    color: var(--rekusam-ink);
}

/* Odstavce uvnitř detailu: přebíjí statický globál fluidním rozsahem pro mobily */
body.type-post .news-item-detail .text p {
    font-size: clamp(1.1rem, 1.5vw, 1.375rem) !important;
    line-height: 1.75 !important;
    font-weight: 400 !important;
    margin: 0 0 1.35em !important;
}

body.type-post .news-item-detail .text b,
body.type-post .news-item-detail .text strong { font-weight: 700; color: var(--rekusam-ink); }
body.type-post .news-item-detail .text i,
body.type-post .news-item-detail .text em { font-style: italic; }

/* ---------------------------------------------------------------------------
   5b) ČITELNOST NA BÍLÉ KARTĚ — přebíjí globální bílou z CORE
       (h1..h6{color:#fff!important}, body{color:white}, #content pravidla).
       Proto vyšší specificita přes #content + !important.
   --------------------------------------------------------------------------- */
/* Nadpis článku + nadpisy v obsahu */
body.type-post #content .news-item-detail h1 {
    color: var(--rekusam-green) !important;
    font-family: var(--template-headings-font) !important;
    font-size: clamp(1.9rem, 4.5vw, 2.8rem) !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.01em;
    margin: 0 0 clamp(16px, 3vw, 24px) !important;
}
body.type-post #content .news-item-detail .text h2 {
    color: var(--rekusam-green) !important;
    font-family: var(--template-headings-font) !important;
    font-size: clamp(1.5rem, 3.2vw, 2rem) !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    margin: clamp(30px, 4.5vw, 48px) 0 clamp(12px, 1.6vw, 18px) !important;
}
body.type-post #content .news-item-detail .text h3 {
    color: var(--rekusam-green) !important;
    font-family: var(--template-headings-font) !important;
    font-size: clamp(1.25rem, 2.4vw, 1.55rem) !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    margin: clamp(22px, 3vw, 32px) 0 10px !important;
}
/* Tělo textu — tmavé a čitelné */
body.type-post #content .news-item-detail,
body.type-post #content .news-item-detail .text,
body.type-post #content .news-item-detail .text p,
body.type-post #content .news-item-detail .text ul,
body.type-post #content .news-item-detail .text ol,
body.type-post #content .news-item-detail .text li,
body.type-post #content .news-item-detail .text span,
body.type-post #content .news-item-detail .text em,
body.type-post #content .news-item-detail .text i {
    color: var(--rekusam-ink) !important;
}
body.type-post #content .news-item-detail .text p,
body.type-post #content .news-item-detail .text li {
    font-size: clamp(1.05rem, 1.4vw, 1.2rem) !important;
    line-height: 1.75 !important;
}
/* Zvýraznění a odkazy */
body.type-post #content .news-item-detail .text b,
body.type-post #content .news-item-detail .text strong {
    color: var(--rekusam-green) !important;
    font-weight: 700 !important;
}
body.type-post #content .news-item-detail .text a {
    color: var(--rekusam-green) !important;
    text-decoration: underline !important;
}
body.type-post #content .news-item-detail .text a:hover { color: var(--rekusam-green-dark) !important; }
/* Datum / meta */
body.type-post #content .news-item-detail time,
body.type-post #content .news-item-detail .news-item-date {
    color: var(--rekusam-muted) !important;
    font-size: var(--rekusam-fs-sm, 0.95rem) !important;
}

/* Odkazy */
body.type-post .news-item-detail .text a {
    color: var(--rekusam-green);
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color .2s ease;
}
body.type-post .news-item-detail .text a:hover { color: var(--rekusam-green-dark); }

/* Odrážkový seznam — modré kosočtverce */
body.type-post .news-item-detail .text ul {
    list-style: none;
    margin: 0 0 1.5em;
    padding: 0;
}
body.type-post .news-item-detail .text ul > li {
    position: relative;
    padding-left: 1.9em;
    margin-bottom: 0.7em;
    font-size: clamp(1.1rem, 1.5vw, 1.375rem) !important;
}
body.type-post .news-item-detail .text ul > li::before {
    content: "";
    position: absolute;
    left: 0.15em;
    top: 0.62em;
    width: 9px;
    height: 9px;
    background: var(--rekusam-green);
    transform: rotate(45deg);
    border-radius: 1px;
}
body.type-post .news-item-detail .text li p { margin: 0 !important; }

/* Číslovaný seznam — modré čtverečky s číslem */
body.type-post .news-item-detail .text ol {
    list-style: none;
    counter-reset: rekusam-ol;
    margin: 0 0 1.5em;
    padding: 0;
}
body.type-post .news-item-detail .text ol > li {
    position: relative;
    counter-increment: rekusam-ol;
    padding-left: 2.4em;
    margin-bottom: 0.7em;
    font-size: clamp(1.1rem, 1.5vw, 1.375rem) !important;
}
body.type-post .news-item-detail .text ol > li::before {
    content: counter(rekusam-ol);
    position: absolute;
    left: 0;
    top: 0.18em;
    width: 1.55em;
    height: 1.55em;
    background: rgba(7, 67, 67, 0.10);
    color: var(--rekusam-green);
    font-size: 0.8em;
    font-weight: 800;
    border-radius: var(--radius-sm, 0.5rem);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Citace / zvýrazněný blok — navázáno na --radius-md */
body.type-post .news-item-detail .text blockquote {
    margin: 1.8em 0;
    padding: clamp(16px, 3vw, 24px) clamp(20px, 3vw, 28px);
    background: var(--rekusam-surface-2);
    border-left: 4px solid var(--rekusam-green);
    border-radius: 0 var(--radius-md, 1rem) var(--radius-md, 1rem) 0;
    color: var(--rekusam-ink);
}
body.type-post .news-item-detail .text blockquote p:last-child { margin-bottom: 0 !important; }
body.type-post .news-item-detail .text blockquote b,
body.type-post .news-item-detail .text blockquote strong { color: var(--rekusam-green); }

/* Obrázky — plně responzivní s globálním zaoblením */
body.type-post .news-item-detail .text img {
    display: block;
    max-width: 100%;
    height: auto;
    border-radius: var(--radius-md, 1rem);
    margin: 1.8em auto;
    box-shadow: 0 12px 30px rgba(7, 67, 67, 0.10);
}
body.type-post .news-item-detail .text figure { margin: 1.8em 0; }
body.type-post .news-item-detail .text figure img { margin: 0 auto 0.6em; }
body.type-post .news-item-detail .text figcaption {
    text-align: center;
    font-size: 0.92rem;
    color: var(--rekusam-muted);
}

/* Tabulky */
body.type-post .news-item-detail .text table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.8em 0;
    font-size: 0.98rem;
}
body.type-post .news-item-detail .text th,
body.type-post .news-item-detail .text td {
    border: 1px solid var(--rekusam-line);
    padding: 12px 14px;
    text-align: left;
}
body.type-post .news-item-detail .text th {
    background: var(--rekusam-surface-2);
    font-weight: 700;
}

/* ---------------------------------------------------------------------------
   6) POSTRANNÍ AUDIT-BOX (vkládá JS) — fluidní vnitřní okraje a texty
   --------------------------------------------------------------------------- */
body.type-post .rekusam-audit-box {
    background: var(--rekusam-surface-2);
    border: 1px solid var(--rekusam-line);
    border-radius: var(--radius-lg, 1.5rem);
    padding: clamp(20px, 3vw, 30px) clamp(16px, 3vw, 28px);
    box-shadow: 0 10px 26px rgba(7, 67, 67, 0.06);
}
body.type-post .rekusam-audit-box .rekusam-audit-icon {
    width: 52px;
    height: 52px;
    border-radius: var(--radius-md, 1rem);
    background: rgba(7, 67, 67, 0.10);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
}
body.type-post .rekusam-audit-box .rekusam-audit-icon svg { width: 26px; height: 26px; }
body.type-post .rekusam-audit-box h3 {
    font-size: clamp(1.15rem, 2vw, 1.35rem) !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    margin: 0 0 12px !important;
}
body.type-post .rekusam-audit-box p {
    font-size: clamp(0.95rem, 1.2vw, 1.05rem) !important;
    line-height: 1.6 !important;
    color: var(--rekusam-muted) !important;
    margin: 0 0 22px !important;
}
body.type-post .rekusam-audit-box .btn {
    width: 100%;
    justify-content: center;
    text-align: center;
    padding: 14px 18px !important;
}
body.type-post .rekusam-audit-box .rekusam-audit-note {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 16px 0 0;
    font-size: 0.86rem;
    color: var(--rekusam-muted);
    font-weight: 600;
}
body.type-post .rekusam-audit-box .rekusam-audit-note svg { width: 16px; height: 16px; color: var(--rekusam-red); flex-shrink: 0; }

/* ---------------------------------------------------------------------------
   7) ZÁVĚREČNÉ SHOWROOM CTA (vkládá JS) — horizontální modrý banner
   --------------------------------------------------------------------------- */
body.type-post .rekusam-article-cta {
    background: linear-gradient(135deg, var(--rekusam-green) 0%, var(--rekusam-green-dark) 100%);
    border-radius: var(--radius-lg, 1.5rem);
    padding: clamp(32px, 5vw, 48px) clamp(24px, 5vw, 56px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(24px, 4vw, 40px);
    margin: 8px 0 0;
    position: relative;
    overflow: hidden;
}
body.type-post .rekusam-article-cta::after {
    content: "";
    position: absolute;
    inset: 0 0 0 auto;
    width: 40%;
    background: radial-gradient(circle at right center, rgba(255,255,255,0.07) 0%, transparent 60%);
    pointer-events: none;
}
body.type-post .rekusam-article-cta .rekusam-cta-text { position: relative; z-index: 2; max-width: 640px; }
body.type-post .rekusam-article-cta .rekusam-cta-eyebrow {
    display: inline-block;
    font-size: clamp(1rem, 1.5vw, 1.2rem) !important;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.7) !important;
    margin-bottom: 12px;
}
body.type-post .rekusam-article-cta h2 {
    color: #fff !important;
    font-size: clamp(1.4rem, 3vw, 2rem) !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    margin: 0 !important;
}
body.type-post .rekusam-article-cta .rekusam-cta-action { position: relative; z-index: 2; flex-shrink: 0; }
body.type-post .rekusam-article-cta .btn {
    white-space: nowrap;
    padding: 16px 34px !important;
    box-shadow: 0 10px 25px rgba(227, 0, 27, 0.3);
}

/* ---------------------------------------------------------------------------
   8) SOULAD S .theme-light & RESET BARREV
   --------------------------------------------------------------------------- */
body.type-post.theme-light .rekusam-article-eyebrow,
body.type-post .theme-light .rekusam-article-eyebrow,
body.type-post .rekusam-article-eyebrow {
    color: var(--rekusam-green) !important;
}
body.type-post.theme-light .rekusam-article-eyebrow.is-legal,
body.type-post .theme-light .rekusam-article-eyebrow.is-legal,
body.type-post .rekusam-article-eyebrow.is-legal {
    color: var(--rekusam-red) !important;
}

body.type-post .theme-light .rekusam-article-cta h2,
body.type-post .rekusam-article-cta h2 { color: #ffffff !important; }
body.type-post .theme-light .rekusam-article-cta .rekusam-cta-eyebrow,
body.type-post .rekusam-article-cta .rekusam-cta-eyebrow { color: rgba(255,255,255,0.7) !important; }
body.type-post .theme-light .rekusam-article-cta p,
body.type-post .theme-light .rekusam-article-cta span { color: rgba(255,255,255,0.92) !important; }

body.type-post .theme-light .rekusam-article-perex,
body.type-post .rekusam-article-perex { color: var(--rekusam-muted) !important; }
body.type-post .theme-light .rekusam-article-perex b,
body.type-post .theme-light .rekusam-article-perex strong { color: var(--rekusam-ink) !important; }

/* ---------------------------------------------------------------------------
   9) STRUKTURÁLNÍ MEDIA QUERIES (Pouze pro změny rozložení elementů)
   --------------------------------------------------------------------------- */
@media (max-width: 991px) {
    body.type-post .rekusam-article-layout {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    body.type-post .rekusam-article-aside { 
        position: static; 
        top: auto; 
    }
    body.type-post .rekusam-article-main .text { 
        max-width: none; 
    }
    body.type-post .rekusam-article-cta {
        flex-direction: column;
        text-align: center;
        padding: clamp(30px, 5vw, 40px) 24px;
        gap: 28px;
    }
    body.type-post .rekusam-article-cta .btn { 
        width: 100%; 
    }
}

@media (max-width: 767px) {
    /* Spodní padding karty upraven pro mobile, zbytek řeší clamp() */
    body.type-post .news-item-detail { 
        padding-bottom: 24px; 
    }
}
/* ---- Zehnder_ESHOP_Template_V10.css ---- */
/* ============================================================================
   Zehnder — E-SHOP HOMEPAGE (Landing Page Styly) — V10
   ----------------------------------------------------------------------------
   V10:
   • Media queries sjednoceny na Shoptet nativní rozsahy:
     MOBIL ≤991  |  TABLET 992–1250  |  DESKTOP ≥1251
     (dřív byly rozházené na 991 / 768 / 600 / min-769 — čtyři různé hranice).
   • Vše, co jde vyřešit fluidně (clamp / auto-fit grid), zůstává mimo
     media query; v nich je jen strukturální reflow.
   • Sekce „Proč chtít kompletní řešení": na mobilu zůstávají jen tučné
     nadpisy bodů, doplňující věty se skrývají (šetří ~2/3 výšky sekce).
   ============================================================================ */

/* --- SKRYTÍ SIDEBARU & RESET ŠÍŘKY POUZE PRO ID 754 --- */
body.id-754 .sidebar-left {
    display: none !important;
}

body.id-754 main#content.narrow {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    padding: 0 !important;
}

/* --- ZÁKLADNÍ KONTEJNER (Napojeno na globální clamp padding) --- */
.rekusam-lp-container {
    max-width: var(--content-max-width, 1600px);
    margin: 0 auto;
    padding-left: var(--content-padding-x);
    padding-right: var(--content-padding-x);
    box-sizing: border-box;
}

.rekusam-lp-center { text-align: center; }

/* ============================================================================
   2) SEKCE 1: Hero Banner — fluidní a vycentrovaný obsah
   ============================================================================ */
.rekusam-lp-hero {
    background: transparent !important;
    padding: var(--section-padding-y) 0 !important;
    color: #ffffff !important;
}

.rekusam-lp-hero .rekusam-lp-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.rekusam-lp-hero .rekusam-eyebrow {
    align-self: center !important;
}

/* Vycentrovaná hlavička sekce → vycentrovaný eyebrow.
   POZOR: CORE má `#content span.rekusam-eyebrow{align-self:flex-start!important}`
   (s id), takže per-sekci pravidla bez #content ho nepřebijí. Proto tady
   všechny centrované hlavičky uvádíme s #content prefixem. */
#content .rekusam-section__head--center span.rekusam-eyebrow,
#content .rekusam-cat-section-header span.rekusam-eyebrow,
#content .rekusam-steps-header span.rekusam-eyebrow,
#content .rekusam-lp-hero span.rekusam-eyebrow,
#content .rekusam-lp-cta-sec span.rekusam-eyebrow {
    align-self: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.rekusam-lp-hero h1 {
    font-size: clamp(2.5rem, 6vw, 3.75rem) !important;
    margin-bottom: clamp(16px, 2.5vw, 24px) !important;
    max-width: 900px;
    color: #ffffff !important;
    text-align: center !important;
}

.rekusam-lp-hero p {
    font-size: clamp(1.15rem, 2vw, 1.375rem) !important;
    max-width: 750px;
    margin-bottom: clamp(28px, 4vw, 40px) !important;
    color: rgba(255, 255, 255, 0.9) !important;
    text-align: center !important;
}

/* ============================================================================
   3) SEKCE 2: The Tech Grid
   Grid se přelévá sám (auto-fit + minmax) → žádné breakpointy:
   4 sloupce na desktopu → 2 na tabletu → 1 na mobilu, plynule.
   ============================================================================ */
.rekusam-lp-grid-sec {
    background-color: #f6f7f8 !important;
    padding: var(--section-padding-y) 0 !important;
}

.rekusam-lp-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
    gap: clamp(16px, 2.5vw, 28px);
}

.rekusam-lp-card {
    background: #ffffff;
    border-radius: var(--radius-md);
    overflow: hidden;
    text-decoration: none !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
}

.rekusam-lp-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 25px rgba(7, 67, 67, 0.15);
}

.rekusam-lp-card-img {
    /* Fluidní výška: na mobilu neklesne pod 160px, na 3K nepřesáhne 220px */
    height: clamp(160px, 14vw, 220px);
    /* 'contain' místo 'cover' — obrázek se raději zmenší, než aby se ořízl */
    background-size: contain;
    background-origin: content-box;
    padding: clamp(12px, 1.5vw, 20px);
    background-position: center;
    background-color: #eceef0;
    background-repeat: no-repeat;
    box-sizing: border-box;
}

.rekusam-lp-card-content {
    padding: clamp(16px, 2vw, 24px);
    display: flex;
    flex-direction: column;
    flex: 1;
}

.rekusam-lp-card-content h3 {
    color: #1A1A1A !important;
    font-size: clamp(1.2rem, 2vw, 1.45rem) !important;
    margin: 0 0 12px 0 !important;
}

.rekusam-lp-card-content p {
    color: #555555 !important;
    font-size: clamp(1rem, 1.5vw, 1.15rem) !important;
    line-height: 1.5 !important;
    margin: 0 0 clamp(16px, 2.4vw, 24px) 0 !important;
}

.rekusam-lp-card-link {
    color: #074343 !important;
    font-weight: 600;
    display: flex;
    align-items: center;
    font-size: clamp(1.05rem, 1.5vw, 1.1rem);
    margin-top: auto; /* Tlačí odkaz vždy dolů nezávisle na množství textu */
    transition: color 0.3s ease;
}

.rekusam-lp-card:hover .rekusam-lp-card-link { color: #053030 !important; }

/* ============================================================================
   4) SEKCE 3: Prodejní argument (Proč chtít kompletní řešení)
   ============================================================================ */
.rekusam-lp-why-sec {
    background-color: #f6f7f8 !important;
    padding: 0 0 var(--section-padding-y) 0 !important;
}

.rekusam-lp-why-box {
    background: #ffffff;
    border-radius: var(--radius-md);
    border: 1px solid #105959;
    padding: clamp(24px, 4vw, 50px) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.rekusam-lp-why-box h2 {
    color: #1A1A1A !important;
    margin-bottom: clamp(20px, 3vw, 30px) !important;
}

.rekusam-lp-why-list {
    list-style: none;
    padding: 0;
    margin: 0 0 clamp(24px, 3.5vw, 35px) 0;
}

.rekusam-lp-why-list li {
    display: flex;
    align-items: flex-start;
    margin-bottom: clamp(14px, 2vw, 20px);
    font-size: clamp(1.1rem, 1.8vw, 1.25rem);
    line-height: 1.6;
}

.rekusam-lp-why-list li,
.rekusam-lp-why-list li span,
.rekusam-lp-why-list li strong {
    color: #1a1a1a !important;
}

.rekusam-lp-why-list li strong {
    font-weight: 700 !important;
}

.rekusam-lp-why-list .rekusam-icon {
    flex-shrink: 0;
    width: clamp(24px, 2.4vw, 28px);
    height: clamp(24px, 2.4vw, 28px);
    margin-right: clamp(12px, 1.4vw, 15px);
    margin-top: 2px;
}

/* ============================================================================
   5) SEKCE 4: Tříkrokový proces — osa shodná s B2B Partneři
   ============================================================================ */
body.id-754 .rekusam-steps-section {
    background-color: #ffffff !important;
    padding: var(--section-padding-y) 0 !important;
    position: relative;
    z-index: 10;
}

body.id-754 .rekusam-steps-inner {
    max-width: var(--content-max-width, 1600px);
    margin: 0 auto;
    padding: 0 var(--content-padding-x);
}

body.id-754 .rekusam-steps-header {
    text-align: center;
    max-width: 760px;
    margin: 0 auto clamp(40px, 5vw, 60px) auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}

body.id-754 .rekusam-steps-header .rekusam-eyebrow {
    align-self: center !important;
}

body.id-754 .rekusam-steps-header h2 {
    color: #1a1a1a !important;
    margin-bottom: 20px !important;
}

body.id-754 .rekusam-steps-header p {
    color: #1a1a1a !important;
    margin: 0 !important;
    line-height: 1.6 !important;
}

body.id-754 .rekusam-steps-timeline {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(20px, 3vw, 40px);
    position: relative;
}

/* Vodorovná spojnice mezi kroky (jen když jsou vedle sebe, tj. ≥992px) */
@media (min-width: 992px) {
    body.id-754 .rekusam-steps-timeline::before {
        content: "";
        position: absolute;
        top: 32px;
        left: 16%;
        right: 16%;
        height: 2px;
        background: rgba(7, 67, 67, 0.2);
        z-index: 1;
    }
}

body.id-754 .rekusam-step-item {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    cursor: default;
}

body.id-754 .rekusam-step-num {
    width: clamp(54px, 4.5vw, 64px);
    height: clamp(54px, 4.5vw, 64px);
    background: linear-gradient(135deg, #105959 0%, #074343 100%);
    color: #ffffff;
    font-size: clamp(1.25rem, 1.9vw, 1.5rem);
    font-weight: 800;
    font-family: var(--template-headings-font);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
    box-shadow: 0 8px 20px rgba(7, 67, 67, 0.25);
    border: 4px solid #ffffff;
    transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.4s ease;
}

body.id-754 .rekusam-step-text {
    transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

body.id-754 .rekusam-step-item h3 {
    color: #1a1a1a !important;
    font-size: clamp(1.2rem, 2vw, 1.45rem) !important;
    font-weight: 800 !important;
    margin-bottom: 12px !important;
    transition: color 0.3s ease;
}

body.id-754 .rekusam-step-item p {
    color: #1a1a1a !important;
    font-size: clamp(1.1rem, 1.6vw, 1.25rem) !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    transition: color 0.3s ease;
}

body.id-754 .rekusam-step-item:hover .rekusam-step-num {
    transform: scale(1.15);
    box-shadow: 0 12px 30px rgba(7, 67, 67, 0.35);
}

body.id-754 .rekusam-step-item:hover .rekusam-step-text {
    transform: translateY(-6px);
}

body.id-754 .rekusam-step-item:hover h3 {
    color: #074343 !important;
}

body.id-754 .rekusam-step-item:hover p {
    color: #1a1a1a !important;
}

/* ============================================================================
   6) SEKCE 5: Last-Chance CTA
   ============================================================================ */
.rekusam-lp-cta-sec {
    background: transparent !important;
    padding: var(--section-padding-y) 0 !important;
    color: #ffffff !important;
}

.rekusam-lp-cta-sec h2 {
    color: #ffffff !important;
    margin-bottom: 20px !important;
}

.rekusam-lp-cta-sec p {
    font-size: clamp(1.15rem, 2vw, 1.375rem) !important;
    max-width: 700px;
    margin: 0 auto clamp(24px, 3.5vw, 35px) auto !important;
    color: rgba(255, 255, 255, 0.9) !important;
}

/* ============================================================================
   7) RESPONZIVITA — Shoptet nativní rozsahy
   ----------------------------------------------------------------------------
   MOBIL ≤991  |  TABLET 992–1250  |  DESKTOP ≥1251

   Kartová mřížka (.rekusam-lp-grid) se přelévá sama přes auto-fit → není tu.
   Zbývá jen strukturální reflow, který fluidně vyřešit nejde.
   ============================================================================ */

/* --- MOBIL (do 991 px) --- */
@media (max-width: 991px) {

    /* Kroky pod sebe, číslo vedle textu, spojnice svisle */
    body.id-754 .rekusam-steps-timeline {
        grid-template-columns: 1fr;
        gap: clamp(28px, 6vw, 40px);
    }

    body.id-754 .rekusam-step-item {
        flex-direction: row;
        text-align: left;
        align-items: flex-start;
        gap: clamp(14px, 3vw, 20px);
    }

    body.id-754 .rekusam-step-num {
        flex-shrink: 0;
        margin-bottom: 0;
    }

    body.id-754 .rekusam-step-item:not(:last-child)::after {
        content: "";
        position: absolute;
        top: 64px;
        bottom: -30px;
        left: 26px;
        width: 2px;
        background: rgba(7, 67, 67, 0.2);
        z-index: -1;
    }

    body.id-754 .rekusam-step-item:hover .rekusam-step-text {
        transform: none;
    }

    /* --- „Proč chtít kompletní řešení" — jen tučné nadpisy bodů ---
       Doplňující věty jsou holé textové uzly ve <span> (bez vlastního
       elementu), takže je nelze skrýt přes display:none. Vynulujeme font-size
       na spanu a <strong> ji dostane zpět. */
    .rekusam-lp-why-list li span {
        font-size: 0 !important;
        line-height: 0 !important;
    }

    .rekusam-lp-why-list li span strong {
        display: block;
        font-size: clamp(1.15rem, 3.5vw, 1.3rem) !important;
        line-height: 1.4 !important;
    }

    .rekusam-lp-why-list li {
        align-items: center;
    }
}
/* ---- Zehnder_CATEGORY_Template_V37.css ---- */
/* ============================================================================
   Zehnder — CATEGORY TEMPLATE (Kategorie 2.+ úrovně) — V31 (Upgraded)
   Změny:
   - Nasazeny globální tokeny zaoblení (--radius-sm, --radius-md, --radius-lg)
   - Implementováno fluidní odsazení sekcí pomocí --section-padding-y
   - Typografie a mezery převedeny na responzivní funkci clamp()
   - Vyčištěny redundantní hodnoty v media queries díky plynulému škálování
   - Přidáno stylování pro spodní popis kategorie (.category__secondDescription)
   ============================================================================ */

/* ============================================================================
   1) BODY & GLOBAL RESET
   ============================================================================ */
body.type-category:not(.id-754) .sidebar-left {
    display: none !important;
}

body.type-category:not(.id-754) main#content.wide,
body.type-category:not(.id-754) main#content.narrow {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    padding: 0 !important;
}

/* Skrytí nativních prvků */
body.type-category:not(.id-754) #filters-wrapper,
body.type-category:not(.id-754) .benefitBanner {
    display: none !important;
}

body.type-category:not(.id-754) .listSorting__control[data-sort="name"] {
    display: none !important;
}

body.type-category:not(.id-754) .product .p-code,
body.type-category:not(.id-754) .listingControls {
    display: none !important;
}

/* ============================================================================
   OPRAVA ZÁCHRANNÉHO TLAČÍTKA SHOPTETU
   ============================================================================ */
/* 1. Plošně skryjeme všechna nechtěná tlačítka "Zpět do obchodu" */
body.type-category:not(.id-754) a[data-testid="buttonBackToShop"] {
    display: none !important;
}

/* 2. Udělíme výjimku a znovu zobrazíme to, které leží v hlavní obálce */
body.type-category:not(.id-754) .category-content-wrapper a[data-testid="buttonBackToShop"] {
    display: inline-flex !important; 
    align-items: center;
    justify-content: center;
}

/* ============================================================================
   2) KONTEJNERY
   ============================================================================ */
.rekusam-cat-container {
    max-width: var(--content-max-width, 1600px);
    margin: 0 auto;
    padding-left: var(--content-padding-x, clamp(20px, 10vw, 160px));
    padding-right: var(--content-padding-x, clamp(20px, 10vw, 160px));
    box-sizing: border-box;
}

/* ============================================================================
   3) HERO — asymetrický (text + trust panel)
   ============================================================================ */
body.type-category:not(.id-754) .rekusam-cat-hero {
    background: transparent !important;
    padding: var(--section-padding-y, clamp(40px, 5vw, 120px)) 0 !important;
    color: #ffffff !important;
}

body.type-category:not(.id-754) .rekusam-cat-hero-grid {
    display: grid;
    /* Dva sloupce: text vlevo, trust panel vpravo. Na ≤1250px kolabuje
       na 1fr (viz media query). NENÍ to auto-fill mřížka jako produkty. */
    grid-template-columns: 1.2fr 0.8fr;
    gap: clamp(30px, 4vw, 60px);
    align-items: center;
}

body.type-category:not(.id-754) .rekusam-cat-hero-text .rekusam-eyebrow {
    margin-bottom: clamp(16px, 2vw, 24px) !important;
}

body.type-category:not(.id-754) .rekusam-cat-hero h1 {
    font-size: clamp(2.3rem, 5.5vw, 3.5rem) !important;
    margin: 0 0 clamp(16px, 2vw, 24px) 0 !important;
    color: #ffffff !important;
    line-height: 1.15 !important;
    letter-spacing: -0.02em !important;
}

body.type-category:not(.id-754) .rekusam-cat-perex {
    font-size: clamp(1.15rem, 1.5vw, 1.3rem);
    margin: 0 0 clamp(24px, 3vw, 32px) 0;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.6;
    max-width: 540px;
}

body.type-category:not(.id-754) .rekusam-cat-perex p {
    margin: 0 0 12px 0;
    color: rgba(255, 255, 255, 0.85) !important;
}

body.type-category:not(.id-754) .rekusam-cat-perex p:last-child {
    margin-bottom: 0;
}

body.type-category:not(.id-754) .rekusam-cat-hero-cta {
    display: flex;
    align-items: center;
    gap: clamp(12px, 2vw, 20px);
    flex-wrap: wrap;
}

body.type-category:not(.id-754) .rekusam-cat-hero-note {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: clamp(1.1rem, 1.2vw, 1.2rem);
    font-weight: 500;
}

body.type-category:not(.id-754) .rekusam-cat-hero-note svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    color: #ffffff;
}

/* Trust panel */
body.type-category:not(.id-754) .rekusam-cat-hero-trust {
    background: rgba(0, 0, 0, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: var(--radius-lg, 1.5rem);
    padding: clamp(20px, 3vw, 28px);
    display: flex;
    flex-direction: column;
    gap: 18px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

body.type-category:not(.id-754) .rekusam-cat-trust-item {
    display: flex;
    align-items: center;
    gap: 16px;
}

body.type-category:not(.id-754) .rekusam-cat-trust-icon {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: var(--radius-sm, 0.5rem);
    display: flex;
    align-items: center;
    justify-content: center;
}

body.type-category:not(.id-754) .rekusam-cat-trust-icon svg {
    width: 22px;
    height: 22px;
    color: #ffffff;
}

body.type-category:not(.id-754) .rekusam-cat-trust-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

body.type-category:not(.id-754) .rekusam-cat-trust-text strong {
    color: #ffffff !important;
    font-size: clamp(1.1rem, 1.2vw, 1.2rem);
    font-weight: 500;
    line-height: 1.2;
}

body.type-category:not(.id-754) .rekusam-cat-trust-text span {
    color: rgba(255, 255, 255, 0.7) !important;
    font-size: clamp(1.05rem, 1.15vw, 1.15rem);
    line-height: 1.4;
}

/* ============================================================================
   4) PODKATEGORIE
   ============================================================================ */
body.type-category:not(.id-754) .rekusam-cat-subgrid-sec {
    background-color: #f6f7f8 !important;
    padding: var(--section-padding-y, clamp(40px, 5vw, 120px)) 0 !important;
}

body.type-category:not(.id-754) .rekusam-cat-section-header {
    text-align: center;
    max-width: 720px;
    margin: 0 auto clamp(30px, 4vw, 40px) auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}

body.type-category:not(.id-754) .rekusam-cat-section-header .rekusam-eyebrow {
    align-self: center !important;
    margin-bottom: 16px !important;
}

body.type-category:not(.id-754) .rekusam-cat-section-header h2 {
    color: #1a1a1a !important;
    margin: 0 0 14px 0 !important;
    font-size: clamp(1.8rem, 3.5vw, 2.2rem) !important;
    font-weight: 800 !important;
}

body.type-category:not(.id-754) .rekusam-cat-section-header p {
    color: #4b5563 !important;
    font-size: clamp(1.15rem, 1.3vw, 1.2rem) !important;
    margin: 0 !important;
    line-height: 1.55 !important;
}

body.type-category:not(.id-754) .rekusam-cat-subgrid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(16px, 2vw, 24px);
}

body.type-category:not(.id-754) .rekusam-cat-subcard {
    background: #ffffff;
    border: 1px solid #f0f2f5;
    border-radius: var(--radius-md, 1rem);
    overflow: hidden;
    text-decoration: none !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
    transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1),
                box-shadow 0.3s ease,
                border-color 0.3s ease;
    display: flex;
    flex-direction: column;
}

body.type-category:not(.id-754) .rekusam-cat-subcard:hover {
    transform: translateY(-5px);
    border-color: #e5e7eb;
    box-shadow: 0 12px 28px rgba(7, 67, 67, 0.12);
}

body.type-category:not(.id-754) .rekusam-cat-subcard-img {
    aspect-ratio: 16 / 11;
    background-size: cover;
    background-position: center;
    background-color: #eceef0;
    background-repeat: no-repeat;
}

body.type-category:not(.id-754) .rekusam-cat-subcard-body {
    padding: clamp(16px, 2vw, 22px);
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 10px;
}

body.type-category:not(.id-754) .rekusam-cat-subcard-body h3 {
    color: #1A1A1A !important;
    font-size: clamp(1.1rem, 1.2vw, 1.2rem) !important;
    font-weight: 700 !important;
    margin: 0 !important;
}

body.type-category:not(.id-754) .rekusam-cat-subcard-desc {
    color: #4b5563 !important;
    font-size: clamp(1.1rem, 1.15vw, 1.15rem) !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

body.type-category:not(.id-754) .rekusam-cat-subcard-link {
    color: #074343 !important;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    font-size: clamp(1.1rem, 1.15vw, 1.15rem);
    margin-top: auto;
    padding-top: 8px;
    transition: color 0.3s ease;
}

/* ============================================================================
   5) CENA — Struktura a úprava zobrazení DPH
   ============================================================================ */
body.type-category:not(.id-754) #products .product .p .price.price-final {
    font-size: clamp(1.35rem, 1.6vw, 1.5rem) !important;
    font-weight: 800 !important;
    color: #1a1a1a !important;
    line-height: 1.1 !important;
    order: 1;
    padding: 0 !important;
    margin: 0 !important;
    letter-spacing: -0.01em;
}

body.type-category:not(.id-754) #products .product .p .price.price-final strong {
    font-weight: 800 !important;
    color: #1a1a1a !important;
}

body.type-category:not(.id-754) #products .product .p .price.price-final::after {
    content: " bez DPH";
    font-size: 0.7em !important;
    font-weight: 600 !important;
    color: #6b7280 !important;
    letter-spacing: 0;
}

body.type-category:not(.id-754) #products .product .p .price-additional {
    font-size: clamp(1.05rem, 1.2vw, 1.15rem) !important;
    font-weight: 500 !important;
    color: #9ca3af !important;
    line-height: 1.2 !important;
    order: 2;
    padding: 0 !important;
    margin: 0 !important;
}

body.type-category:not(.id-754) #products .product .p .price-additional .rekusam-vat-label {
    font-size: 1em !important;
    font-weight: 500 !important;
    color: #9ca3af !important;
    margin-left: 4px;
}

/* ============================================================================
   6) PRODUKTOVÁ SEKCE — wrapper + sortbar
   ============================================================================ */
body.type-category:not(.id-754) .category-content-wrapper {
    background-color: transparent !important;
    padding: var(--section-padding-y, clamp(40px, 5vw, 120px)) 0 !important;
    position: relative;
    z-index: 2;
}

body.type-category:not(.id-754) .category-content-wrapper::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    margin-left: -50vw;
    width: 100vw;
    background-color: #eceef0;
    z-index: -1;
    pointer-events: none;
}

body.type-category:not(.id-754) {
    overflow-x: clip;
}

body.type-category:not(.id-754) .rekusam-cat-sortbar {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: clamp(24px, 3vw, 32px) !important;
    flex-wrap: wrap;
}

body.type-category:not(.id-754) .rekusam-cat-sortbar-label {
    color: #074343 !important;
    font-size: clamp(1.1rem, 1.2vw, 1.2rem);
    font-weight: 600;
    margin: 0;
}

body.type-category:not(.id-754) .category-content-wrapper:has(.empty-content-category) .rekusam-cat-sortbar {
    justify-content: center;
}

body.type-category:not(.id-754) .category-content-wrapper:has(.empty-content-category) .rekusam-cat-sortbar-controls {
    display: none !important;
}

body.type-category:not(.id-754) #category-header {
    display: none !important;
}

body.type-category:not(.id-754) .rekusam-cat-sortbar-controls {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

body.type-category:not(.id-754) .rekusam-cat-sortbar-controls .rekusam-cat-sortbar-prefix {
    color: #9ca3af !important;
    font-size: 1.1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

body.type-category:not(.id-754) .rekusam-cat-sortbar .listSorting {
    display: contents;
}

body.type-category:not(.id-754) .rekusam-cat-sortbar .listSorting__controls {
    display: flex;
    gap: 6px;
    list-style: none;
    padding: 0;
    margin: 0;
    flex-wrap: wrap;
}

body.type-category:not(.id-754) .rekusam-cat-sortbar .listSorting__control {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    color: #4b5563 !important;
    padding: 7px 14px;
    border-radius: 999px;
    font-size: clamp(1.1rem, 1.15vw, 1.15rem);
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
}

body.type-category:not(.id-754) .rekusam-cat-sortbar .listSorting__control:hover {
    border-color: #074343;
    color: #074343 !important;
}

body.type-category:not(.id-754) .rekusam-cat-sortbar .listSorting__control--current {
    background: #ffffff;
    border-color: #074343;
    color: #074343 !important;
    cursor: default;
    box-shadow: 0 0 0 3px rgba(7, 67, 67, 0.08);
}

body.type-category:not(.id-754) .rekusam-cat-sortbar .sr-only {
    position: absolute !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
}

/* ============================================================================
   6b) PRÁZDNÝ STAV — "Produkty teprve připravujeme"
   ============================================================================ */
body.type-category:not(.id-754) .category-content-wrapper .empty-content-category h2 {
    color: #1a1a1a !important;
    font-size: clamp(1.8rem, 4vw, 2.2rem) !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    margin: 0 0 14px 0 !important;
}

body.type-category:not(.id-754) .category-content-wrapper .empty-content-category p {
    color: #4b5563 !important;
    font-size: clamp(1.15rem, 1.25rem, 1.25rem) !important;
    line-height: 1.6 !important;
}

/* ============================================================================
   6c) SPODNÍ POPIS KATEGORIE (Second Description)
   ============================================================================ */
body.type-category:not(.id-754) .category__secondDescription {
    margin-top: clamp(30px, 5vw, 50px) !important;
    padding: clamp(20px, 3vw, 32px) !important;
    background: #ffffff !important; /* Elegantní bílá karta na šedém pozadí wrapperu */
    border-radius: var(--radius-md, 1rem) !important; /* Sjednocení zaoblení s kartami produktů */
    border: 1px solid #f0f2f5 !important;
    box-shadow: 0 4px 15px rgba(7, 67, 67, 0.04) !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

body.type-category:not(.id-754) .category__secondDescription p {
    color: #4b5563 !important; /* Bezpečná tmavě šedá pro čtení dlouhých textů */
    font-size: clamp(1.15rem, 1.3vw, 1.25rem) !important;
    line-height: 1.65 !important;
    font-weight: 400 !important;
    margin-bottom: 1em !important;
}

body.type-category:not(.id-754) .category__secondDescription p:last-child {
    margin-bottom: 0 !important;
}

/* Podpora formátování z Shoptet WYSIWYG editoru uvnitř spodního popisu */
body.type-category:not(.id-754) .category__secondDescription strong,
body.type-category:not(.id-754) .category__secondDescription b {
    color: #1a1a1a !important;
    font-weight: 700 !important;
}

body.type-category:not(.id-754) .category__secondDescription a {
    color: #074343 !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
}

body.type-category:not(.id-754) .category__secondDescription a:hover {
    color: #053030 !important;
}

/* ============================================================================
   7) GRID PRODUKTŮ
   ============================================================================ */
body.type-category:not(.id-754) #products.products {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr));
    gap: clamp(16px, 2vw, 24px);
    margin: 0 0 40px 0 !important;
    padding: 0 !important;
}

body.type-category:not(.id-754) #products .product {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.type-category:not(.id-754) #products .product .p {
    background: #ffffff;
    border: 1px solid #f0f2f5;
    border-radius: var(--radius-md, 1rem);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1),
                box-shadow 0.3s ease,
                border-color 0.3s ease;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
    position: relative;
}

body.type-category:not(.id-754) #products .product .p > a.image {
    display: block;
    aspect-ratio: 1 / 1;
    background: #FAFBFC;
    overflow: hidden;
    position: relative;
}

body.type-category:not(.id-754) #products .product .p > a.image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    padding: clamp(10px, 1.5vw, 16px);
    box-sizing: border-box;
    transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

body.type-category:not(.id-754) #products .product .p:hover > a.image img {
    transform: scale(1.04);
}

/* Tělo karty */
body.type-category:not(.id-754) #products .product .p .p-in {
    padding: clamp(14px, 1.8vw, 20px);
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 0 !important;
}

body.type-category:not(.id-754) #products .product .p .p-in-in,
body.type-category:not(.id-754) #products .product .p .p-bottom,
body.type-category:not(.id-754) #products .product .p .p-bottom > div[data-micro="offer"] {
    display: contents !important;
}

/* 1. Kicker / Nadřazená kategorie */
body.type-category:not(.id-754) #products .product .rekusam-cat-product-cat {
    color: #074343 !important;
    font-size: clamp(1.05rem, 1.1rem, 1.15rem);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    line-height: 1;
    order: 1;
    margin: 0 0 6px 0 !important;
}

/* 2. Název produktu */
body.type-category:not(.id-754) #products .product .p .name {
    display: block;
    order: 2;
    width: 100%;
    margin: 0 0 4px 0 !important;
    padding: 0 !important;
}

body.type-category:not(.id-754) #products .product .p .name span {
    color: #1A1A1A !important;
    font-size: clamp(1.25rem, 1.4vw, 1.4rem) !important; 
    font-weight: 700 !important;
    line-height: 1.3 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden;
    text-overflow: ellipsis;
}

body.type-category:not(.id-754) #products .product .p:hover .name span {
    color: #074343 !important;
}

/* 3. Krátký popis produktu (Perex) */
body.type-category:not(.id-754) #products .product .p .p-desc {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    color: #6b7280 !important; 
    font-size: clamp(1.1rem, 1.15rem, 1.15rem) !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    order: 3;
    margin: 0 0 16px 0 !important; 
    padding: 0 !important;
}

/* 4. Dostupnost (Skladem) */
body.type-category:not(.id-754) #products .product .p .availability {
    font-size: clamp(1.1rem, 1.15rem, 1.2rem) !important;
    order: 4;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
}

body.type-category:not(.id-754) #products .product .p .availability span {
    color: #16a34a !important;
    font-weight: 600 !important;
}

/* 5. Ceny */
body.type-category:not(.id-754) #products .product .p .prices {
    display: flex;
    flex-direction: column;
    order: 5;
    gap: 2px !important;
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
}

/* 6. Tlačítka (Do košíku / Poptat / Detail) */
body.type-category:not(.id-754) #products .product .p .p-tools {
    order: 6;
    margin-top: auto !important;
    width: 100%;
    padding: 0 !important;
}

body.type-category:not(.id-754) #products .product .p .p-tools > a.btn {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 41px;                 
    background: #074343 !important;
    border: 1px solid #074343 !important;
    color: #ffffff !important;
    padding: 10px 12px !important;
    border-radius: 999px !important;
    font-size: clamp(1.15rem, 1.25rem, 1.25rem) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    transition: background 0.2s ease, border-color 0.2s ease;
    line-height: 1.2;
}
body.type-category:not(.id-754) #products .product .p .p-tools > a.btn:hover {
    background: #053030 !important;
    border-color: #053030 !important;
}

body.type-category:not(.id-754) #products .product .p .p-tools form {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px;
    margin: 0 !important;
    padding: 0 !important;
    width: 100%;
}

body.type-category:not(.id-754) #products .product .p .p-tools form .add-to-cart-button,
body.type-category:not(.id-754) #products .product .p .p-tools form .poptat-projekt-btn {
    width: 100%;
    padding: 10px 12px;
    border-radius: var(--radius-sm, 0.5rem);
    font-size: clamp(1.15rem, 1.2rem, 1.2rem);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
    line-height: 1.2;
}

body.type-category:not(.id-754) #products .product .p .p-tools form .add-to-cart-button {
    background: #074343 !important;
    border: 1px solid #074343 !important;
    color: #ffffff !important;
}
body.type-category:not(.id-754) #products .product .p .p-tools form .add-to-cart-button:hover {
    background: #053030 !important;
    border-color: #053030 !important;
}

body.type-category:not(.id-754) #products .product .p .p-tools form .poptat-projekt-btn {
    background: #e3001b !important;
    border: 1px solid #e3001b !important;
    color: #ffffff !important;
}
body.type-category:not(.id-754) #products .product .p .p-tools form .poptat-projekt-btn:hover {
    background: #b80014 !important;
    border-color: #b80014 !important;
}

/* ============================================================================
   7a) FLAG BADGES — Štítky produktů
   ============================================================================ */
body.type-category:not(.id-754) #products .product .flags {
    position: absolute;
    top: 12px;
    left: 12px;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px;
    z-index: 3;
    max-width: calc(100% - 24px);
}

body.type-category:not(.id-754) #products .product .flag {
    display: inline-flex !important;
    align-items: center !important;
    padding: 4px 10px !important;
    border-radius: 999px !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    line-height: 1 !important;
    color: #ffffff !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1) !important;
    transform: none !important;
}

body.type-category:not(.id-754) #products .product .flag::before,
body.type-category:not(.id-754) #products .product .flag::after {
    display: none !important;
}

body.type-category:not(.id-754) #products .product .flag-action { background: #16a34a !important; }
body.type-category:not(.id-754) #products .product .flag-new { background: #074343 !important; }
body.type-category:not(.id-754) #products .product .flag-tip { background: #ea580c !important; }
body.type-category:not(.id-754) #products .product .flag-sale { background: #e3001b !important; }
body.type-category:not(.id-754) #products .product .flag-recommended { background: #ea580c !important; }

/* ============================================================================
   8) PAGINATION
   ============================================================================ */
body.type-category:not(.id-754) .pagination {
    display: flex;
    justify-content: center;
    gap: 6px;
    list-style: none;
    padding: 0 !important;
    margin: 32px 0 0 0 !important;
    flex-wrap: wrap;
}

body.type-category:not(.id-754) .pagination a,
body.type-category:not(.id-754) .pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border-radius: var(--radius-sm, 0.5rem);
    background: #ffffff;
    border: 1px solid #e5e7eb;
    color: #4b5563 !important;
    font-size: 1.2rem;
    font-weight: 500;
    transition: all 0.2s ease;
}

body.type-category:not(.id-754) .pagination a:hover {
    border-color: #074343;
    color: #074343 !important;
}

body.type-category:not(.id-754) .pagination .current,
body.type-category:not(.id-754) .pagination a.current,
body.type-category:not(.id-754) .pagination span.current,
body.type-category:not(.id-754) .pagination .active,
body.type-category:not(.id-754) .pagination a.active {
    background: #074343;
    border-color: #074343;
    color: #ffffff !important;
}

/* ============================================================================
   9) STATS SECTION
   ============================================================================ */
body.type-category:not(.id-754) .rekusam-stats-section {
    background: transparent !important;
    padding: var(--section-padding-y, clamp(40px, 5vw, 120px)) 0 !important;
    position: relative;
    z-index: 2;
}

body.type-category:not(.id-754) .rekusam-stats-inner {
    max-width: var(--content-max-width, 1600px);
    margin: 0 auto;
    padding: 0 var(--content-padding-x, clamp(20px, 10vw, 160px));
}

body.type-category:not(.id-754) .rekusam-stats-section .rekusam-cat-section-header {
    margin-bottom: clamp(32px, 5vw, 50px);
}

body.type-category:not(.id-754) .rekusam-stats-section .rekusam-cat-section-header h2 {
    color: #ffffff !important;
}

body.type-category:not(.id-754) .rekusam-stats-section .rekusam-cat-section-header .rekusam-eyebrow {
    color: rgba(255, 255, 255, 0.85) !important;
}

body.type-category:not(.id-754) .rekusam-stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(24px, 4vw, 50px);
}

body.type-category:not(.id-754) .rekusam-stat-card {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

body.type-category:not(.id-754) .rekusam-stat-circle {
    width: clamp(120px, 12vw, 160px);
    height: clamp(120px, 12vw, 160px);
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(7, 67, 67, 0.15) 0%, rgba(7, 67, 67, 0.25) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
    border: 4px solid rgba(255, 255, 255, 0.25);
    transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.4s ease;
}

body.type-category:not(.id-754) .rekusam-stat-card:hover .rekusam-stat-circle {
    transform: scale(1.06);
    box-shadow: 0 12px 30px rgba(7, 67, 67, 0.25);
}

body.type-category:not(.id-754) .rekusam-stat-number {
    font-size: clamp(2rem, 3vw, 3rem);
    font-weight: 800;
    font-family: var(--template-headings-font, 'Montserrat', sans-serif);
    color: #ffffff;
    line-height: 1;
    letter-spacing: -0.02em;
}

body.type-category:not(.id-754) .rekusam-stat-title {
    color: #ffffff !important;
    font-size: clamp(1.1rem, 1.2vw, 1.2rem) !important;
    font-weight: 700 !important;
    margin: 0 0 6px 0 !important;
}

body.type-category:not(.id-754) .rekusam-stat-desc {
    color: rgba(255, 255, 255, 0.75) !important;
    font-size: clamp(1.05rem, 1.15vw, 1.15rem) !important;
    margin: 0 !important;
    line-height: 1.5 !important;
}

/* ============================================================================
   10) CTA KARTA
   ============================================================================ */
body.type-category:not(.id-754) .rekusam-cat-cta-sec {
    background: #f6f7f8 !important;
    padding: var(--section-padding-y, clamp(40px, 5vw, 120px)) 0 !important;
}

body.type-category:not(.id-754) .rekusam-cat-cta-card {
    background: #ffffff;
    border-radius: var(--radius-lg, 1.5rem);
    padding: clamp(24px, 4vw, 50px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
    border-left: 4px solid #e3001b;
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: clamp(24px, 3vw, 40px);
    align-items: center;
}

body.type-category:not(.id-754) .rekusam-cat-cta-card .rekusam-cat-cta-content .rekusam-eyebrow {
    color: #e3001b !important;
    background: rgba(227, 0, 27, 0.08) !important;
    margin-bottom: 16px !important;
}

body.type-category:not(.id-754) .rekusam-cat-cta-card h2 {
    color: #1a1a1a !important;
    margin: 0 0 12px 0 !important;
    font-size: clamp(1.5rem, 2.5vw, 1.9rem) !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

body.type-category:not(.id-754) .rekusam-cat-cta-card .rekusam-cat-cta-content p {
    color: #4b5563 !important;
    margin: 0 !important;
    font-size: clamp(1.15rem, 1.25rem, 1.25rem) !important;
    line-height: 1.6 !important;
}

body.type-category:not(.id-754) .rekusam-cat-cta-action {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 14px;
}

body.type-category:not(.id-754) .rekusam-cat-cta-note {
    color: #6b7280 !important;
    font-size: clamp(1.1rem, 1.15rem, 1.2rem);
    text-align: right;
}

body.type-category:not(.id-754) .rekusam-eyebrow {
    font-size: 1.1rem !important;
}

/* ============================================================================
   RESPONZIVITA & STRUKTURA GRIDŮ (Shoptet rozsahy: ≤991 / 992–1250 / ≥1251)
   ----------------------------------------------------------------------------
   Produktová i podkategoriová mřížka se přelévají SAMY přes auto-fit (viz
   základní pravidla) → nejsou tady. Zbývá jen reflow, který fluidně nejde.
   ============================================================================ */

/* --- TABLET + MOBIL (do 1250 px) --- */
@media (max-width: 1250px) {
    /* Hero: text a trust panel pod sebe */
    body.type-category:not(.id-754) .rekusam-cat-hero-grid {
        grid-template-columns: 1fr;
    }

    /* Trust panel → řádek tří bílých ikon s nadpisem (bez karty a popisků) */
    body.type-category:not(.id-754) .rekusam-cat-hero-trust {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: flex-start;
        gap: clamp(16px, 3vw, 32px);
        background: transparent;
        border: none;
        border-radius: 0;
        padding: 0;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    body.type-category:not(.id-754) .rekusam-cat-trust-item {
        flex: 1 1 0;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: clamp(6px, 1.2vw, 10px);
        min-width: 0;
    }

    body.type-category:not(.id-754) .rekusam-cat-trust-icon {
        width: auto;
        height: auto;
        background: transparent;
        border: none;
        border-radius: 0;
    }

    body.type-category:not(.id-754) .rekusam-cat-trust-icon svg {
        width: clamp(26px, 4vw, 32px);
        height: clamp(26px, 4vw, 32px);
    }

    body.type-category:not(.id-754) .rekusam-cat-trust-text {
        align-items: center;
        text-align: center;
    }

    body.type-category:not(.id-754) .rekusam-cat-trust-text strong {
        font-size: clamp(1rem, 2.4vw, 1.15rem);
        text-wrap: balance;
    }

    body.type-category:not(.id-754) .rekusam-cat-trust-text span {
        display: none;
    }
}

/* --- MOBIL (do 991 px) --- */
@media (max-width: 991px) {
    /* Podkategorie: 2 sloupce místo 4 (jinak jsou dlaždice moc úzké) */
    body.type-category:not(.id-754) .rekusam-cat-subgrid {
        grid-template-columns: repeat(2, 1fr);
    }

    body.type-category:not(.id-754) .rekusam-cat-cta-card {
        grid-template-columns: 1fr;
    }

    body.type-category:not(.id-754) .rekusam-cat-cta-card .rekusam-cat-cta-action {
        align-items: flex-start;
    }

    body.type-category:not(.id-754) .rekusam-cat-cta-note {
        text-align: left;
    }

    body.type-category:not(.id-754) .rekusam-stats-grid {
        grid-template-columns: 1fr;
    }

    body.type-category:not(.id-754) .rekusam-cat-sortbar {
        flex-direction: column;
        align-items: flex-start;
    }
}
/* ---- Zehnder_PRODUKT_Template_V96.css ---- */
/* ============================================================================
   Zehnder — PRODUKT TEMPLATE — V91
   ----------------------------------------------------------------------------
   V91: Oprava specificity — .price-additional se nezalamovala na nový řádek,
        protože pravidlo .p-final-price-wrapper .price-additional (0,3,0)
        přebíjelo flex: 1 0 100% svým flex: 0 0 auto !important.

   V90: Blok ceny má stejné rozložení ve všech šířkách —
        cena bez DPH (velká) | zelený štítek DPH (inline, s dělítkem)
        a pod tím cena včetně DPH. Dřív byl štítek inline jen na ≥991px,
        jinde padal pod cenu a prohodil se s cenou vč. DPH.
   ============================================================================ */

/* ----------------------------------------------------------------------------
   0) PROMĚNNÉ — Konfigurace adaptivních tokenů a hladkých rozestupů
   ---------------------------------------------------------------------------- */
body.type-product {
    /* === ZAOBLENÍ — používá globální --radius-sm/md/lg z CORE (8/16/24px) === */

    /* === USEKNUTÝ ROH — Signature geometrie (fluidní dle šířky viewportu) === */
    --rekusam-tpl-cut: clamp(18px, 2.2vw, 28px);     
    --rekusam-tpl-cut-sm: clamp(6px, 0.8vw, 8px);    

    /* === FLUIDNÍ ROZESTUPY (Bezpečné pro zoom i ultra-wide zobrazení) === */
    --rekusam-tpl-card-pad: clamp(20px, 3.2vw, 44px);   /* Vnitřní padding hlavní bílé karty */
    --rekusam-tpl-col-gap: clamp(24px, 3.6vw, 48px);    /* Gutter mezi foto a info sloupcem */
    --rekusam-tpl-block-gap: clamp(12px, 1.5vw, 20px);  /* Vertikální mezery mezi bloky prvků */
    --rekusam-tpl-panel-pad: clamp(16px, 2vw, 26px);    /* Odsazení šedých podkladových panelů */
    --rekusam-tpl-tab-pad-y: clamp(8px, 1vw, 12px);     
    --rekusam-tpl-tab-pad-x: clamp(14px, 1.6vw, 24px);  

    /* === BRANDOVÉ BARVY (Synchronizováno s globálním schématem) === */                          
    --rekusam-tpl-panel: #eceef0;                         
}

/* ----------------------------------------------------------------------------
   1) RESET ŠÍŘKY & FLUIDNÍ VNĚJŠÍ CONTAINER (Zarovnání na max 1600px)
   ---------------------------------------------------------------------------- */
body.type-product #content-wrapper.content-wrapper,
body.type-product .content-wrapper-in,
body.type-product main#content.content,
body.type-product main#content.content.wide {
    max-width: none !important;
    width: 100% !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

/* Vnější adaptivní gutter pro detail produktu kopírující globální standard */
body.type-product #content-wrapper.content-wrapper {
    padding: 0 var(--content-padding-x, clamp(20px, 10vw, 160px)) clamp(40px, 5vw, 80px) !important;
    box-sizing: border-box;
}

body.type-product .p-detail,
body.type-product .p-detail-tabs-wrapper {
    max-width: var(--content-max-width, 1600px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box;
}

/* ----------------------------------------------------------------------------
   3) HLAVNÍ KARTA DETAILU & RESPONSIVNÍ DVOUSLOUPCOVÝ LAYOUT
   ---------------------------------------------------------------------------- */
body.type-product .p-detail {
    margin-bottom: clamp(30px, 4vw, 60px);
}

body.type-product .p-detail-inner {
    background: #ffffff;
    border-radius: var(--radius-lg);
    box-shadow: 0 20px 50px rgba(7, 67, 67, 0.1);
    padding: var(--rekusam-tpl-card-pad);
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: var(--rekusam-tpl-col-gap);
    box-sizing: border-box;
}

/* Inteligentní mřížka sloupců přes flex-basis s automatickým zalomením */
body.type-product .p-image-wrapper {
    order: -1;
    flex: 1 1 calc(50% - var(--rekusam-tpl-col-gap) / 2);
    min-width: min(100%, 360px);
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}
body.type-product .p-data-wrapper {
    flex: 1 1 calc(50% - var(--rekusam-tpl-col-gap) / 2);
    min-width: min(100%, 380px);
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ----------------------------------------------------------------------------
   4) GALERIE A NÁHLEDY OBRÁZKŮ (Fluidní mřížka bez fixních velikostí)
   ---------------------------------------------------------------------------- */
body.type-product .p-image-wrapper .p-image {
    filter: drop-shadow(0 18px 32px rgba(7, 67, 67, 0.18));
    margin: 0 !important;
    padding: 0 !important;
}

body.type-product .p-image-wrapper .p-main-image,
body.type-product .p-image-wrapper .p-main-image img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: var(--radius-lg) var(--radius-lg) 0 var(--radius-lg);
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--rekusam-tpl-cut)), calc(100% - var(--rekusam-tpl-cut)) 100%, 0 100%);
    object-fit: cover;
}

/* Fluidní mřížka pro flexibilní velikost náhledů */
body.type-product .p-image-wrapper .p-thumbnails-inner > div {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(clamp(60px, 6vw, 76px), 1fr));
    gap: clamp(8px, 1vw, 14px);
}

body.type-product .p-image-wrapper a.p-thumbnail {
    flex: none;
    width: 100%;
    aspect-ratio: 1 / 1;
    height: auto;
    display: block;
    padding: 0 !important;
	margin-top: clamp(12px, 2vw, 20px) !important;
    border: none !important;
    background: transparent !important;
    filter: drop-shadow(0 6px 10px rgba(7, 67, 67, 0.12));
    transition: transform 0.2s cubic-bezier(0.25, 1, 0.5, 1);
}

body.type-product .p-image-wrapper a.p-thumbnail img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    background: #eef1f1;
    border: none !important;
    border-radius: 10px 10px 0 var(--rekusam-tpl-cut-sm);
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--rekusam-tpl-cut-sm)), calc(100% - var(--rekusam-tpl-cut-sm)) 100%, 0 100%);
}

body.type-product .p-image-wrapper a.p-thumbnail:hover {
    transform: translateY(-3px);
}

body.type-product .p-image-wrapper a.p-thumbnail.highlighted {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    filter:
        drop-shadow(1px 0 0 var(--rekusam-green))
        drop-shadow(-1px 0 0 var(--rekusam-green))
        drop-shadow(0 1px 0 var(--rekusam-green))
        drop-shadow(0 -1px 0 var(--rekusam-green))
        drop-shadow(0 6px 10px rgba(7, 67, 67, 0.18));
}

/* Úplné odstranění nativní Shoptet černé linky u aktivního náhledu I PŘI HOVERU */
body.type-product .p-image-wrapper a.p-thumbnail.highlighted::before,
body.type-product .p-image-wrapper a.p-thumbnail.highlighted::after,
body.type-product .p-image-wrapper a.p-thumbnail:hover::before,
body.type-product .p-image-wrapper a.p-thumbnail:hover::after,
body.type-product #product-detail-form .p-thumbnail.highlighted::before,
body.type-product #product-detail-form .p-thumbnail.highlighted::after,
body.type-product #product-detail-form .p-thumbnail:hover::before,
body.type-product #product-detail-form .p-thumbnail:hover::after {
    display: none !important;
    content: none !important;
    background: transparent !important;
    height: 0 !important;
    border: none !important;
}

/* Pojistka pro vyčištění vnitřního obrázku při hoveru a aktivním stavu */
body.type-product .p-image-wrapper a.p-thumbnail.highlighted img,
body.type-product .p-image-wrapper a.p-thumbnail:hover img {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Nativní vypínače carouselu pryč */
body.type-product .p-image-wrapper .thumbnail-prev,
body.type-product .p-image-wrapper .thumbnail-next,
body.type-product .p-image-wrapper a.cbox-gal,
body.type-product .p-image-wrapper .p-thumbnails,
body.type-product .p-image-wrapper .p-thumbnails-inner,
body.type-product .p-image-wrapper .p-thumbnails-wrapper {
    border: none !important;
    overflow: visible !important;
    position: static !important;
    width: 100% !important;
}

/* ----------------------------------------------------------------------------
   5) PRAVÝ SLOUPEC OBSAHU — Nadpisy, Perexy a Meta Informace
   ---------------------------------------------------------------------------- */
body.type-product .p-data-wrapper .rekusam-detail-eyebrow {
    display: inline-block;
    color: var(--rekusam-green) !important;
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    font-size: clamp(1.1rem, 1.2vw, 1.3rem) !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin: 0 0 clamp(8px, 1vw, 12px) 0;
}

body.type-product .p-detail-inner-header h1 {
    color: var(--rekusam-ink) !important;
    font-family: var(--template-headings-font, 'Montserrat', sans-serif);
    font-size: clamp(1.8rem, 3.5vw, 2.8rem) !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.01em;
    margin: 0 0 var(--rekusam-tpl-block-gap) 0 !important;
}

body.type-product .p-short-description,
body.type-product .p-short-description p,
body.type-product .p-short-description span,
body.type-product .p-short-description b,
body.type-product .p-short-description strong,
body.type-product .p-short-description div {
    color: #1A1A1A !important;        
    font-family: var(--template-font, sans-serif);
}

body.type-product .p-short-description,
body.type-product .p-short-description p {
    font-size: clamp(1.15rem, 1.3vw, 1.3rem) !important;
    line-height: 1.6 !important;
    margin: 0 0 var(--rekusam-tpl-block-gap) 0 !important;
}

/* Fluidní mřížka pro meta informace (Kód, Záruka...) */
body.type-product .rekusam-product-meta {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(10px, 1.2vw, 16px) clamp(20px, 3vw, 36px);
    margin: var(--rekusam-tpl-block-gap) 0;
    padding: 0;
    border: none;
}

body.type-product .rekusam-product-meta .rekusam-meta-item {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    gap: 6px;
}

body.type-product .rekusam-product-meta .rekusam-meta-label {
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--rekusam-muted) !important;       
    font-size: clamp(1.1rem, 1.15vw, 1.2rem);
    font-weight: 800;
    line-height: 1.2;
}
body.type-product .rekusam-product-meta .rekusam-meta-label::after { content: ":"; }

body.type-product .rekusam-product-meta .rekusam-meta-value,
body.type-product .rekusam-product-meta .rekusam-meta-value a {
    color: var(--rekusam-green) !important;
    font-weight: 800;
    font-size: clamp(1.1rem, 1.15vw, 1.2rem);
    text-decoration: none;
}
body.type-product .rekusam-product-meta .rekusam-meta-value a:hover {
    color: var(--rekusam-green-dark) !important;
}

/* ----------------------------------------------------------------------------
   6) ŘÁDEK MNOŽSTVÍ & UKAZATEL DOSTUPNOSTI
   ---------------------------------------------------------------------------- */
body.type-product .p-basic-info-block { display: none !important; }

body.type-product .rekusam-qty-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 12px clamp(16px, 2vw, 24px);
    margin: 0 0 clamp(24px, 3vw, 32px) 0;   /* větší mezera mezi quantity řádkem a tlačítky */
}

body.type-product .availability-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #16a34a !important;          
    font-size: clamp(1.15rem, 1.25vw, 1.3rem) !important;
    font-weight: 800 !important;
    line-height: 1;
}
body.type-product .availability-label::before {
    content: "";
    width: 9px; height: 9px;
    border-radius: 50%;
    background: currentColor;
    flex-shrink: 0;
}

/* ----------------------------------------------------------------------------
   7) CENOVÁ KARTA (p-to-cart-block) — Plně adaptivní panel
   ---------------------------------------------------------------------------- */
body.type-product .p-to-cart-block {
    background: var(--rekusam-tpl-panel);
    border: 1px solid var(--rekusam-line);
    border-radius: var(--radius-lg);
    padding: var(--rekusam-tpl-panel-pad);
    margin: 0 0 var(--rekusam-tpl-block-gap) 0;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
}
body.type-product .p-to-cart-block .p-add-to-cart-wrapper {
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
}

body.type-product .p-final-price-wrapper {
    display: grid !important;
    grid-template-columns: auto auto 1fr;
    align-items: baseline;
    column-gap: clamp(10px, 1.5vw, 20px);
    row-gap: 6px;
    margin: 0 0 clamp(3px, 0.5vw, 7px) 0;   /* těsná mezera mezi cenou a callout boxem */
}

body.type-product .p-final-price-wrapper .price-final,
body.type-product .p-final-price-wrapper .price-additional {
    flex: 0 0 auto !important;
    width: auto !important;
    white-space: nowrap;
    margin: 0 !important;
}

body.type-product .price-final {
    color: var(--rekusam-ink) !important;
    font-size: clamp(2.2rem, 4.2vw, 3.2rem) !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: -0.02em;
}
body.type-product .price-final .price-final-holder {
    color: var(--rekusam-ink) !important;
    font-weight: 800 !important;
}
/* Číslo ceny je zabalené v <span class="nowrap"> a globální dark-theme pravidlo
   CORE (ul, ol, li, span { color: rgba(255,255,255,.9) !important }) ho obarvuje
   na bílo — proto bylo "111 078 Kč" vybledlé, zatímco "od" (textový uzel) černé.
   Vracíme celé cenové číslo na ink, ať je "od 111 078 Kč" jednotně černé a tučné. */
body.type-product .p-final-price-wrapper .price-final .nowrap,
body.type-product .p-final-price-wrapper .price-final-holder .nowrap {
    color: var(--rekusam-ink) !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
}

/* Cena s DPH — vlastní řádek POD hlavní cenou.
   POZOR na specificitu: pravidlo výše (.p-final-price-wrapper .price-additional,
   tj. 0,3,0) nastavuje flex: 0 0 auto !important a width: auto !important —
   proto musí být .p-final-price-wrapper i tady, jinak zalomení neprojde
   a cena s DPH zůstane vedle štítku v jedné řadě. */
body.type-product .p-final-price-wrapper .price-additional {
    flex: 1 0 100% !important;
    width: 100% !important;
    order: 3;
    color: var(--rekusam-muted) !important;
    font-size: clamp(1.15rem, 1.4vw, 1.4rem) !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

/* Zelený štítek DPH — inline vedle hlavní ceny, oddělený svislou linkou.
   Pořadí drží order: cena (1) → štítek (2) → cena s DPH (3, nový řádek).
   Platí ve VŠECH šířkách — dřív byl inline jen na ≥991px. */
body.type-product .p-final-price-wrapper .rekusam-detail-vat-note {
    flex: 0 0 auto !important;
    width: auto !important;
    order: 2;
    align-self: baseline !important;   /* na účaří s velkou cenou, ne vertikálně na střed */
    color: var(--rekusam-ink) !important;
    font-size: clamp(1.25rem, 1.6vw, 1.55rem) !important;   /* větší, ale stále menší než cena */
    font-weight: 600 !important;
    line-height: 1 !important;
    letter-spacing: normal;
    white-space: nowrap;
    border-left: none;
    padding-left: 0;
	margin-left: clamp(10px, 1.2vw, 16px) !important;
}

/* ===== CALLOUT „S MONTÁŽÍ SVÉPOMOCÍ" — úspora pod cenou (staví JS) ===== */
body.type-product .rekusam-svep-box {
    grid-column: 1 / -1;
    margin-top: 0;   /* mezeru nad boxem řídí margin-bottom ceny (těsně) */
    padding: clamp(10px, 1.4vw, 14px) clamp(14px, 1.8vw, 18px);
    background: rgba(227, 0, 27, 0.06);
    border: 1px solid rgba(227, 0, 27, 0.18);
    border-left: 3px solid var(--rekusam-red);
    border-radius: var(--radius-md);
    box-sizing: border-box;
}
#content body.type-product .rekusam-svep-box__label,
body.type-product .rekusam-svep-box__label {
    display: block !important;
    font-family: var(--template-headings-font) !important;
    font-size: clamp(.95rem, .85rem + .4vw, 1.12rem) !important;   /* větší, tučný nadpisek */
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    color: var(--rekusam-red) !important;
    margin-bottom: 6px !important;
}
body.type-product .rekusam-svep-box__line {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 4px 10px;
    font-size: clamp(1.2rem, 1.5vw, 1.45rem);   /* větší, sjednocený text uvnitř boxu */
    font-weight: 500;
    color: var(--rekusam-ink);
    line-height: 1.3;
}
#content body.type-product .rekusam-svep-price,
body.type-product .rekusam-svep-price { font-weight: 800 !important; color: var(--rekusam-ink) !important; white-space: nowrap; }
#content body.type-product .rekusam-svep-save,
body.type-product .rekusam-svep-save { font-weight: 800 !important; color: var(--rekusam-red) !important; white-space: nowrap; }
/* Slovo "ušetříte" červeně (stejně jako částka úspory) */
#content body.type-product .rekusam-svep-save-label,
body.type-product .rekusam-svep-save-label { color: var(--rekusam-red) !important; white-space: nowrap; }
/* Svislý oddělovač mezi "jen …" a "ušetříte …" (místo tečky) */
body.type-product .rekusam-svep-sep {
    align-self: center;
    flex: none;
    width: 1px;
    height: 1.2em;
    background: rgba(17, 17, 17, 0.22);
}

/* Beacon ⓘ + tooltip */
body.type-product .rekusam-svep-info {
    position: relative;
    flex: none;
    width: 20px; height: 20px;
    border: none; padding: 0; margin-left: 2px;
    border-radius: 50%;
    background: var(--rekusam-red);
    color: #ffffff;
    font: 700 12px/20px var(--template-headings-font, sans-serif);
    cursor: pointer;
    animation: rekusamSvepBeacon 2s infinite;
}
body.type-product .rekusam-svep-info::before { content: "i"; font-style: normal; }
@keyframes rekusamSvepBeacon {
    0%   { box-shadow: 0 0 0 0 rgba(227, 0, 27, 0.5); }
    70%  { box-shadow: 0 0 0 8px rgba(227, 0, 27, 0); }
    100% { box-shadow: 0 0 0 0 rgba(227, 0, 27, 0); }
}
body.type-product .rekusam-svep-tooltip {
    position: absolute;
    bottom: calc(100% + 10px);
    left: 50%;
    transform: translateX(-50%) translateY(4px);
    width: min(340px, 84vw);
    background: var(--rekusam-green-deep, #08403a);
    color: #ffffff !important;
    font: 400 1.375rem/1.5 var(--template-font, sans-serif);   /* velikost standardního "p" */
    text-transform: none; letter-spacing: 0; text-align: left;
    padding: 12px 14px;
    border-radius: var(--radius-md);
    box-shadow: 0 16px 40px -16px rgba(0, 0, 0, 0.5);
    opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity .2s ease, transform .2s ease, visibility .2s;
    z-index: 30;
}
body.type-product .rekusam-svep-tooltip::after {
    content: "";
    position: absolute;
    top: 100%; left: 50%;
    transform: translateX(-50%);
    border: 7px solid transparent;
    border-top-color: var(--rekusam-green-deep, #08403a);
}
body.type-product .rekusam-svep-info:hover .rekusam-svep-tooltip,
body.type-product .rekusam-svep-info:focus-visible .rekusam-svep-tooltip,
body.type-product .rekusam-svep-box.is-open .rekusam-svep-tooltip {
    opacity: 1; visibility: visible; pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}

body.type-product .p-final-price-wrapper .price-final    { grid-column: 1;      grid-row: 1; }
body.type-product .p-final-price-wrapper .rekusam-detail-vat-note { grid-column: 2;  grid-row: 1; align-self: center; }
body.type-product .p-final-price-wrapper .price-additional   { grid-column: 1 / -1; grid-row: 2; }
body.type-product .p-final-price-wrapper .price-measure      { grid-column: 1 / -1; grid-row: 3; }

/* ===== POPTAT na DETAILU PRODUKTU — naše červená =====
   Sekundární akce vedle zeleného „Do košíku". Sladěno s červeným POPTAT
   na kartách v kategorii (#e3001b / hover #b80014). */
body.type-product .poptat-projekt-btn,
body.type-product form .poptat-projekt-btn,
body.type-product .p-detail .btn.poptat-projekt-btn {
    background: #e3001b !important;
    border: 1px solid #e3001b !important;
    color: #ffffff !important;
}
body.type-product .poptat-projekt-btn:hover,
body.type-product .poptat-projekt-btn:focus,
body.type-product form .poptat-projekt-btn:hover,
body.type-product form .poptat-projekt-btn:focus {
    background: #b80014 !important;
    border-color: #b80014 !important;
    color: #ffffff !important;
}

/* Varianta, kdy JS štítek vloží DOVNITŘ .price-final (desktopové chování) */
body.type-product .p-final-price-wrapper .price-final {
    order: 1;
    display: inline-flex !important;
    align-items: baseline !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    gap: 0 !important;
}
body.type-product .price-final > * { flex: 0 0 auto !important; }

body.type-product .p-final-price-wrapper .price-measure:empty { display: none !important; }

/* ----------------------------------------------------------------------------
   8) KONTROLER MNOŽSTVÍ & TLACÍTKA (Zaoblené tvary ze schématu)
   ---------------------------------------------------------------------------- */
body.type-product .p-add-to-cart-wrapper .add-to-cart {
    display: flex !important;
    flex-flow: row wrap !important;
    align-items: center;   
    gap: clamp(10px, 1.5vw, 16px);
    width: 100% !important;  
}

body.type-product .add-to-cart .add-to-cart-button.btn,
body.type-product .add-to-cart .poptat-projekt-btn {
    min-height: clamp(48px, 5vw, 56px);
    flex: 1 1 200px; /* Fluidní základ pro šířku tlačítek */
}

body.type-product .quantity,
body.type-product #product-detail-form .quantity {
    display: inline-flex !important;
    align-items: center;
    flex: 0 0 auto !important;
    width: auto !important;           
    background: #ffffff;
    border: 1px solid var(--rekusam-line);
    border-radius: 999px; /* Striktní pill tvar dle globálu */
    overflow: hidden;
    height: clamp(42px, 4.5vw, 48px) !important;          
}

body.type-product .quantity input.amount,
body.type-product #product-detail-form .quantity input.amount {
    width: clamp(36px, 4vw, 46px) !important;           
    border: none !important;
    background: transparent !important;
    text-align: center;
    font-size: clamp(1.2rem, 1.3vw, 1.4rem) !important;
    font-weight: 700 !important;
    color: var(--rekusam-ink) !important;
    box-shadow: none !important;
}

body.type-product .quantity .increase,
body.type-product .quantity .decrease,
body.type-product #product-detail-form .quantity button.increase,
body.type-product #product-detail-form .quantity button.decrease {
    width: clamp(36px, 4.2vw, 42px) !important;             
    height: 100% !important;
    background: transparent !important;
    border: none !important;
    color: var(--rekusam-green) !important;
    cursor: pointer;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.2s ease;
}

body.type-product #product-detail-form .quantity .increase::before,
body.type-product #product-detail-form .quantity .decrease::before {
    content: "" !important; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
    width: 10px; height: 1px; background: currentColor !important;
}
body.type-product #product-detail-form .quantity .increase::after {
    content: "" !important; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
    width: 1px; height: 10px; background: currentColor !important;
}
body.type-product .quantity .decrease { order: 1; }
body.type-product .quantity .increase { order: 3; }
body.type-product .quantity .increase:hover,
body.type-product .quantity .decrease:hover { background: #eef1f1 !important; }

/* ----------------------------------------------------------------------------
   9) VÝBĚR VARIANTY — Odstranění fixních 60% na mobilu
   ---------------------------------------------------------------------------- */
body.type-product .p-variants-block { margin: 0 0 clamp(16px, 2vw, 24px) 0; }

body.type-product .p-variants-block table.detail-parameters,
body.type-product .p-variants-block table.detail-parameters tbody,
body.type-product .p-variants-block table.detail-parameters tr,
body.type-product .p-variants-block table.detail-parameters th,
body.type-product .p-variants-block table.detail-parameters td {
    display: block !important; width: 100% !important; border: none !important; padding: 0 !important; margin: 0 !important; background: transparent !important;
}

body.type-product .p-variants-block table.detail-parameters th {
    color: var(--rekusam-ink) !important; font-size: clamp(1.15rem, 1.25vw, 1.3rem) !important; font-weight: 700 !important; margin: 0 0 8px 0 !important; text-align: left !important;
}

/* Obal dropdownu — responzivně fluidní šířka (Max 480px, na mobilu 100%) */
body.type-product .p-variants-block .rekusam-select {
    position: relative;
    width: 100%;
    max-width: min(100%, 480px);
    font-family: var(--template-font, sans-serif);
}

/* Skrytí nativního (hranatého) Shoptet selectu varianty — JS ho jen obalí do
   .rekusam-select, ale nechá viditelný. Hodnotu drží pro odeslání, jen ho
   vizuálně schováme (náš .rekusam-select__trigger je náhrada). */
body.type-product .p-variants-block .rekusam-select > select,
body.type-product .p-variants-block .rekusam-select .form-control {
    display: none !important;
}

body.type-product .p-variants-block .rekusam-select__trigger {
    display: flex; align-items: center; justify-content: space-between; gap: 12px; box-sizing: border-box; width: 100%; background: #ffffff; border: 1.5px solid #d1d5db;
    border-radius: 50px !important; padding: clamp(10px, 1.2vw, 14px) clamp(16px, 2vw, 22px); font-size: clamp(1.2rem, 1.3vw, 1.35rem); font-weight: 600; cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
body.type-product .p-variants-block .rekusam-select__trigger:hover { border-color: var(--rekusam-green); background: #fbfdff; }
body.type-product .p-variants-block .rekusam-select.is-open .rekusam-select__trigger { border-color: var(--rekusam-green); box-shadow: 0 0 0 3px rgba(7, 67, 67, 0.15); }

body.type-product .p-variants-block .rekusam-select__label { color: var(--rekusam-ink) !important; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.type-product .p-variants-block .rekusam-select__chevron { flex: 0 0 auto; width: 18px; height: 18px; color: var(--rekusam-green); transition: transform 0.25s ease; }
body.type-product .p-variants-block .rekusam-select.is-open .rekusam-select__chevron { transform: rotate(180deg); }

body.type-product .p-variants-block .rekusam-select__panel {
    position: absolute; top: calc(100% + 8px); left: 0; right: 0; z-index: 50; background: #ffffff; border: 1px solid var(--rekusam-line); border-radius: var(--radius-md);
    box-shadow: 0 18px 40px rgba(7, 67, 67, 0.16); padding: 6px; max-height: 280px; overflow-y: auto; transform-origin: top center; opacity: 0;
    transform: translateY(-6px) scale(0.98); visibility: hidden; pointer-events: none; transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
}
body.type-product .p-variants-block .rekusam-select.is-open .rekusam-select__panel { opacity: 1; transform: translateY(0) scale(1); visibility: visible; pointer-events: auto; }

body.type-product .p-variants-block .rekusam-select__option { padding: 10px 18px; border-radius: 50px; font-size: clamp(1.15rem, 1.25vw, 1.3rem); font-weight: 600; color: var(--rekusam-ink) !important; cursor: pointer; transition: background 0.15s ease; }
body.type-product .p-variants-block .rekusam-select__option:hover { background: rgba(7, 67, 67, 0.08); color: var(--rekusam-green-dark) !important; }
body.type-product .p-variants-block .rekusam-select__option.is-selected { background: rgba(7, 67, 67, 0.12); color: var(--rekusam-green) !important; font-weight: 700; }

/* ----------------------------------------------------------------------------
   10) PARAMETRY PRODUKTU — Dvousloupcová adaptivní mřížka
   ---------------------------------------------------------------------------- */
body.type-product #parameters-tab-pane .p-param-block { display: block !important; background: transparent; border: none; box-shadow: none; padding: 0; margin: 0; }
body.type-product .p-param-block .detail-parameters-wrapper { display: block !important; width: 100%; overflow: visible; }

body.type-product .p-param-block table.detail-parameters.second {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr));
    gap: clamp(12px, 1.4vw, 18px) clamp(24px, 4vw, 64px);
    width: 100%; background: transparent; border: none;
}
body.type-product .p-param-block table.detail-parameters.second tbody { display: contents; }

body.type-product .p-param-block table.detail-parameters.second tr {
    display: flex !important; flex-direction: row !important; align-items: baseline; justify-content: space-between; width: 100%; padding: 0; box-shadow: none;
}

body.type-product .p-param-block table.detail-parameters.second th { display: flex; align-items: baseline; flex-grow: 1; padding: 0; border: none; text-align: left; }
body.type-product .p-param-block .row-header-label { color: var(--rekusam-muted) !important; font-size: clamp(1.2rem, 1.3vw, 1.35rem) !important; font-weight: 700 !important; white-space: nowrap; }

body.type-product .p-param-block table.detail-parameters.second th::after {
    content: ""; flex-grow: 1; border-bottom: 2px dotted #d1d5db; margin: 0 16px; position: relative; top: -4px; min-width: 16px;
}

body.type-product .p-param-block table.detail-parameters.second td { padding: 0; border: none; text-align: right; color: var(--rekusam-ink) !important; font-weight: 700; font-size: clamp(1.2rem, 1.3vw, 1.35rem); max-width: 60%; line-height: 1.4; }
body.type-product .p-param-block table.detail-parameters.second td a { color: var(--rekusam-ink) !important; text-decoration: none; }
body.type-product .p-param-block table.detail-parameters.second td a:hover { color: var(--rekusam-green) !important; }

body.type-product .p-param-block table.detail-parameters.second tr.rekusam-param-heading-row {
    grid-column: 1 / -1 !important; display: block !important; width: 100%; margin-top: clamp(24px, 3vw, 38px); margin-bottom: 12px; border-bottom: none !important;
}
body.type-product .p-param-block table.detail-parameters.second tr.rekusam-param-heading-row:first-child { margin-top: 0; }
body.type-product .p-param-block .rekusam-param-group-title { color: var(--rekusam-green) !important; font-size: clamp(1.2rem, 1.3vw, 1.4rem); font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; }

/* ----------------------------------------------------------------------------
   11) SOCIÁLNÍ ODKAZY & SDÍLENÍ
   ---------------------------------------------------------------------------- */
body.type-product .social-buttons-wrapper {
    float: none !important; clear: both; width: 100% !important; margin: clamp(14px, 2vw, 24px) 0 0 0 !important; padding: 0 0 0 clamp(10px, 2vw, 26px) !important; box-sizing: border-box;
}
body.type-product .social-buttons-wrapper .link-icons,
body.type-product .social-buttons-wrapper {
    display: flex !important; flex-flow: row wrap !important; gap: clamp(16px, 2.5vw, 28px) !important; align-items: center; justify-content: flex-start;
}
/* ZMĚNA: Přidán vnitřní span do selektoru, aby texty chytly naši modrou barvu a při hoveru ztmavly */
body.type-product .social-buttons-wrapper .link-icon,
body.type-product .social-buttons-wrapper .link-icon span { color: var(--rekusam-green) !important; font-size: clamp(1.15rem, 1.2vw, 1.25rem); text-decoration: none !important; display: inline-flex; align-items: center; gap: 6px; transition: opacity 0.2s ease, color 0.2s ease; }
body.type-product .social-buttons-wrapper .link-icon:hover,
body.type-product .social-buttons-wrapper .link-icon:hover span { opacity: 0.7; color: var(--rekusam-green-dark) !important; }

/* ----------------------------------------------------------------------------
   12) TABY (Popis / Parametry / Diskuze) — Vzhled pilulek
   ---------------------------------------------------------------------------- */
body.type-product .p-detail-inner > .p-detail-tabs-wrapper { flex: 1 1 100%; width: 100%; max-width: none !important; margin: 4px 0 0 0 !important; padding: 0 !important; order: 20; }
body.type-product .p-detail-tabs { display: flex !important; flex-wrap: wrap; gap: 10px; margin: 0 !important; border: none !important; padding: 0 !important; }
body.type-product .p-detail-tabs-wrapper .shp-tabs-row, body.type-product .p-detail-tabs-wrapper .shp-tabs-holder, body.type-product .p-detail-tabs .shp-tab { border: none !important; margin: 0 !important; padding: 0 !important; background: transparent !important; }

body.type-product .p-detail-tabs .shp-tab-link {
    display: inline-flex; align-items: center; justify-content: center; background: #ffffff !important; border: 1px solid #e5e7eb !important; color: #4b5563 !important;
    padding: var(--rekusam-tpl-tab-pad-y) var(--rekusam-tpl-tab-pad-x) !important; border-radius: 999px !important; font-size: clamp(1.15rem, 1.2vw, 1.3rem) !important; font-weight: 600 !important; transition: all 0.2s ease;
}
body.type-product .p-detail-tabs .shp-tab-link:hover { border-color: var(--rekusam-green) !important; color: var(--rekusam-green) !important; }
body.type-product .p-detail-tabs .shp-tab.active .shp-tab-link { background: #ffffff !important; border-color: var(--rekusam-green) !important; color: var(--rekusam-green) !important; box-shadow: 0 0 0 3px rgba(7, 67, 67, 0.08) !important; }

body.type-product .p-detail-tabs-wrapper .tab-content, body.type-product .p-detail-tabs-wrapper #tab-content { background: transparent !important; border: none !important; box-shadow: none !important; padding: clamp(20px, 3vw, 32px) 0 0 0 !important; margin-top: 0; }

/* Typografie uvnitř popisu */
body.type-product .p-detail-tabs-wrapper .basic-description,
body.type-product .p-detail-tabs-wrapper .basic-description p,
body.type-product .p-detail-tabs-wrapper .basic-description li { color: #334250 !important; font-size: clamp(1.2rem, 1.3vw, 1.375rem); line-height: 1.7; }
body.type-product .p-detail-tabs-wrapper .basic-description h2, body.type-product .p-detail-tabs-wrapper .basic-description h3, body.type-product .p-detail-tabs-wrapper .basic-description h4 { color: var(--rekusam-ink) !important; font-weight: 800 !important; }

body.type-product .p-detail-tabs-wrapper .basic-description ul { list-style: none; padding-left: 0; }
body.type-product .p-detail-tabs-wrapper .basic-description ul li { position: relative; padding-left: 26px; margin-bottom: 10px; }
body.type-product .p-detail-tabs-wrapper .basic-description ul li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--rekusam-red); font-weight: 800; }

/* ----------------------------------------------------------------------------
   13) SOUBORY KE STAŽENÍ — Odstranění fixních 60% šířky na mobilu
   ---------------------------------------------------------------------------- */
body.type-product #relatedFiles.active { display: flex !important; flex-direction: column; align-items: flex-start; gap: 14px; }
body.type-product #relatedFiles li { margin: 0 !important; padding: 0 !important; width: 100%; max-width: min(100%, 680px); } /* Fluidní limit na desktopu, full width na mobilu */
body.type-product #relatedFiles li img { display: none !important; }

body.type-product #relatedFiles li a {
    display: flex; align-items: center; background: #ffffff; border: 1px solid var(--rekusam-green); border-radius: var(--radius-md); padding: clamp(14px, 2vw, 20px) clamp(16px, 2.5vw, 24px);
    text-decoration: none !important; box-shadow: 0 4px 16px rgba(7, 67, 67, 0.03); transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1); width: 100%; box-sizing: border-box;
}
body.type-product #relatedFiles li a:hover { border-color: var(--rekusam-green-dark); box-shadow: 0 8px 24px rgba(7, 67, 67, 0.12); transform: translateY(-2px); }

body.type-product #relatedFiles li a .rekusam-file-icon { flex-shrink: 0; width: 44px; height: 44px; background-color: rgba(7, 67, 67, 0.08); border-radius: 10px; display: flex; align-items: center; justify-content: center; }
body.type-product #relatedFiles li a .rekusam-file-icon::before {
    content: ""; display: block; width: 20px; height: 20px; background-color: var(--rekusam-green);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3C/svg%3E") no-repeat center / contain;
}

body.type-product #relatedFiles li a .rekusam-file-info { display: flex; flex-flow: row wrap; flex-grow: 1; margin: 0 clamp(12px, 2vw, 24px); align-items: center; gap: 8px 16px; min-width: 0; }
body.type-product #relatedFiles li a .rekusam-file-title { color: var(--rekusam-green) !important; font-size: clamp(1.2rem, 1.3vw, 1.4rem) !important; font-weight: 800 !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.type-product #relatedFiles li a:hover .rekusam-file-title { color: var(--rekusam-green-dark) !important; }
body.type-product #relatedFiles li a .rekusam-file-meta { color: var(--rekusam-green) !important; font-size: clamp(1.1rem, 1.15vw, 1.2rem) !important; font-weight: 600 !important; white-space: nowrap; opacity: 0.8; }

body.type-product #relatedFiles li a::after {
    content: ""; flex-shrink: 0; width: 20px; height: 20px; background-color: var(--rekusam-green);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' y1='15' x2='12' y2='3'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' y1='15' x2='12' y2='3'/%3E%3C/svg%3E") no-repeat center / contain;
    transition: background-color 0.2s ease, transform 0.2s ease;
}
body.type-product #relatedFiles li a:hover::after { background-color: var(--rekusam-green-dark); transform: translateY(2px); }

/* ----------------------------------------------------------------------------
   14) POPIS PRODUKTU — Stylování uživatelských tabulek v administraci
   ---------------------------------------------------------------------------- */
body.type-product .basic-description table:not(.detail-parameters) {
    width: 100% !important; border-collapse: collapse !important; margin: clamp(20px, 3vw, 32px) 0 !important; background: #ffffff !important; box-sizing: border-box;
}
body.type-product .basic-description table:not(.detail-parameters) th {
    color: #074343 !important; font-family: var(--template-headings-font, sans-serif); font-weight: 800 !important; font-size: clamp(1.1rem, 1.2vw, 1.25rem) !important;
    text-transform: uppercase; letter-spacing: 0.06em; text-align: left !important; padding: clamp(10px, 1.2vw, 16px) clamp(12px, 1.5vw, 20px) !important; border-bottom: 2px solid #074343 !important; background-color: #f6f7f8 !important;
}
body.type-product .basic-description table:not(.detail-parameters) td {
    padding: clamp(10px, 1.2vw, 16px) clamp(12px, 1.5vw, 20px) !important; font-size: clamp(1.15rem, 1.25vw, 1.30rem) !important; line-height: 1.5 !important; color: #333333 !important; border-bottom: 1px solid var(--rekusam-line) !important; vertical-align: middle;
}
body.type-product .basic-description table:not(.detail-parameters) tbody tr:nth-child(even) { background-color: #fbfcfd !important; }
body.type-product .basic-description table:not(.detail-parameters) tbody tr:last-child td { border-bottom: none !important; }

/* ----------------------------------------------------------------------------
   15) ASIDE STICKY LAYOUT (Popis vlevo, mini-widget vpravo)
   ---------------------------------------------------------------------------- */
body.type-product #description {
    --rekusam-tpl-pd-aside-width: clamp(280px, 25vw, 340px);
    --rekusam-tpl-pd-sticky-top: clamp(80px, 8vw, 120px);
    overflow: visible !important;
}
body.type-product #description .description-inner { padding: 8px 0 clamp(32px, 3.5vw, 44px) 0 !important; overflow: visible !important; }

body.type-product .rekusam-pd-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) var(--rekusam-tpl-pd-aside-width);
    gap: var(--rekusam-tpl-col-gap);
    align-items: start;
}
@media (max-width: 991px) {
    body.type-product .rekusam-pd-layout { grid-template-columns: 1fr; gap: 32px; }
    body.type-product .rekusam-pd-aside { position: static !important; top: auto !important; }
}

body.type-product .rekusam-pd-aside { position: sticky; top: var(--rekusam-tpl-pd-sticky-top); }

body.type-product .rekusam-pd-widget { background: #ffffff; border: 1px solid var(--rekusam-line); border-radius: var(--radius-md); padding: var(--rekusam-tpl-panel-pad); box-shadow: 0 12px 30px rgba(7, 67, 67, 0.06); }
body.type-product .rekusam-pd-widget__title { font-size: clamp(1.25rem, 1.35vw, 1.45rem) !important; font-weight: 800 !important; color: var(--rekusam-ink) !important; margin: 0 0 16px 0 !important; line-height: 1.25 !important; font-family: var(--template-headings-font, sans-serif) !important; }
body.type-product .rekusam-pd-widget__item { display: flex; align-items: flex-start; gap: 14px; padding: 12px 0; border-top: 1px solid #eef1f1; }
body.type-product .rekusam-pd-widget__item:first-of-type { border-top: none; padding-top: 0; }
body.type-product .rekusam-pd-widget__icon { flex: 0 0 auto; width: 42px; height: 42px; border-radius: 11px; background: rgba(7, 67, 67, 0.10); display: flex; align-items: center; justify-content: center; color: var(--rekusam-green); }
body.type-product .rekusam-pd-widget__text strong { display: block; font-size: clamp(1.1rem, 1.18rem, 1.25rem) !important; font-weight: 700 !important; color: var(--rekusam-ink) !important; line-height: 1.3; margin-bottom: 2px; }
body.type-product .rekusam-pd-widget__text span { display: block; font-size: clamp(1rem, 1.05rem, 1.15rem) !important; font-weight: 500 !important; color: var(--rekusam-muted) !important; line-height: 1.4; }

/* ----------------------------------------------------------------------------
   16) PODOBNÉ / SOUVISEJÍCÍ PRODUKTY (Dlaždice s fluidní mřížkou)
   ---------------------------------------------------------------------------- */
body.type-product .products.products-additional {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(clamp(240px, 22vw, 320px), 1fr));
    gap: clamp(16px, 2vw, 24px); margin: 0 !important; padding: 0 !important; float: none !important;
}

body.type-product .products-additional .product { width: 100% !important; max-width: 100% !important; float: none !important; padding: 0 !important; margin: 0 !important; }
body.type-product .products-additional .product .p { background: #ffffff; border: 1px solid #f0f2f5; border-radius: var(--radius-md); overflow: hidden; display: flex; flex-direction: column; height: 100%; transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.3s ease; box-shadow: 0 1px 3px rgba(0,0,0,0.04); position: relative; }
body.type-product .products-additional .product .p:hover { transform: translateY(-4px); box-shadow: 0 12px 28px rgba(7, 67, 67, 0.12); }

body.type-product .products-additional .product .p > a.image { display: block; aspect-ratio: 1 / 1; background: #FAFBFC; overflow: hidden; position: relative; }
body.type-product .products-additional .product .p > a.image img { width: 100% !important; height: 100% !important; object-fit: contain !important; padding: 16px; box-sizing: border-box; transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1); }
body.type-product .products-additional .product .p:hover > a.image img { transform: scale(1.04); }

body.type-product .products-additional .product .p .p-in { padding: 18px 18px 20px 18px; display: flex; flex-direction: column; flex: 1; gap: 0 !important; }
body.type-product .products-additional .product .p .p-in-in, body.type-product .products-additional .product .p .p-bottom, body.type-product .products-additional .product .p .p-bottom > div[data-micro="offer"] { display: contents !important; }

body.type-product .products-additional .product .p .name { display: block; text-decoration: none !important; order: 2; width: 100%; height: auto !important; margin: 0 0 6px 0 !important; padding: 0 !important; }
body.type-product .products-additional .product .p .name span { color: #1A1A1A !important; font-size: clamp(1.25rem, 1.35vw, 1.45rem) !important; font-weight: 700 !important; line-height: 1.3 !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden; }
body.type-product .products-additional .product .p:hover .name span { color: var(--rekusam-green) !important; }

body.type-product .products-additional .product .p .p-desc { display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; color: #6b7280 !important; font-size: clamp(1.1rem, 1.15rem, 1.2rem) !important; line-height: 1.5 !important; order: 3; margin: 0 0 8px 0 !important; }
body.type-product .products-additional .product .p .availability { font-size: clamp(1.1rem, 1.15rem, 1.2rem) !important; order: 4; margin: 0 0 12px 0 !important; }

body.type-product .products-additional .product .p .prices { display: flex; flex-direction: column; order: 5; margin: 0 0 16px 0 !important; gap: 2px !important; }
body.type-product .products-additional .product .p .price.price-final { font-size: clamp(1.35rem, 1.45vw, 1.55rem) !important; font-weight: 800 !important; color: #1a1a1a !important; order: 1; }
body.type-product .products-additional .product .p .price.price-final::after { content: " bez DPH"; font-size: 1.05rem; font-weight: 600; color: #6b7280; }
body.type-product .products-additional .product .p .price-additional { font-size: clamp(1.1rem, 1.15rem, 1.2rem) !important; color: #9ca3af !important; order: 2; }

body.type-product .products-additional .product .p .p-tools { margin-top: auto !important; width: 100%; order: 6; }
body.type-product .products-additional .product .p .p-tools form { display: flex !important; flex-direction: column !important; gap: 8px; width: 100%; }
body.type-product .products-additional .product .p .p-tools form .add-to-cart-button,
body.type-product .products-additional .product .p .p-tools form .poptat-projekt-btn { width: 100%; padding: 10px 12px; border-radius: 10px; font-size: 1.2rem; font-weight: 700; text-transform: uppercase; cursor: pointer; line-height: 1.2; font-family: var(--template-headings-font, sans-serif); }

body.type-product .products-additional .product .p .p-tools form .add-to-cart-button { background: var(--rekusam-green) !important; border: 1px solid var(--rekusam-green) !important; color: #ffffff !important; }
body.type-product .products-additional .product .p .p-tools form .add-to-cart-button:hover { background: var(--rekusam-green-dark) !important; border-color: var(--rekusam-green-dark) !important; }
body.type-product .products-additional .product .p .p-tools form .poptat-projekt-btn { background: var(--rekusam-red) !important; border: 1px solid var(--rekusam-red) !important; color: #ffffff !important; }
body.type-product .products-additional .product .p .p-tools form .poptat-projekt-btn:hover { background: #b80014 !important; border-color: #b80014 !important; }

/* Vlajky */
body.type-product .products-additional .product .flags { position: absolute; top: 12px; left: 12px; display: flex !important; flex-direction: column !important; gap: 6px; z-index: 3; list-style: none; }
body.type-product .products-additional .product .flag { display: inline-flex !important; align-items: center !important; padding: 4px 10px !important; border-radius: 999px !important; font-size: 1.1rem !important; font-weight: 700 !important; text-transform: uppercase !important; color: #ffffff !important; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1) !important; }
body.type-product .products-additional .product .flag-action { background: #16a34a !important; }
body.type-product .products-additional .product .flag-new { background: var(--rekusam-green) !important; }
body.type-product .products-additional .product .flag-tip { background: #ea580c !important; }
body.type-product .products-additional .product .flag-sale { background: #e3001b !important; }

/* Nativní UI cleanupy */
body.type-product .products-additional .product .pin-it-button,
body.type-product .products-additional .product a[data-pin-log],
body.type-product .products-additional .product .p-code,
body.type-product .products-additional .product .p-tools > a { display: none !important; }

/* ----------------------------------------------------------------------------
   17) RESPOZIVNÍ STRUKTURA & MEDIÁLNÍ ZLOMY
   ---------------------------------------------------------------------------- */
@media (max-width: 991px) {
    body.type-product .p-detail-inner { flex-direction: column; }
    body.type-product .p-image-wrapper, body.type-product .p-data-wrapper { flex: 1 1 100%; width: 100% !important; }
    body.type-product .p-data-wrapper .p-image-wrapper { margin: 6px 0 24px 0 !important; }
}

@media (max-width: 600px) {
    body.type-product .p-detail-tabs-wrapper .tab-content, body.type-product .p-detail-tabs-wrapper #tab-content { padding: 24px 16px; }
    body.type-product .add-to-cart-button.btn, body.type-product .add-to-cart-button.btn-conversion { width: 100%; flex: 1 1 100%; }
	body.type-product .p-detail-tabs {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    body.type-product .p-detail-tabs-wrapper .tab-content,
    body.type-product .p-detail-tabs-wrapper #tab-content {
        padding: 24px 16px;
    }
    body.type-product .add-to-cart-button.btn,
    body.type-product .add-to-cart-button.btn-conversion {
        width: 100%;
        flex: 1 1 100%;
    }
}

/* Skrytí nativního tlačítka dotazu */
.link-icon.chat[data-testid="buttonAskQuestion"] { display: none !important; }


/* --- KATEGORIE HERO: TABLET / MALY DESKTOP (768–1250 px) ---
   Dřív se hero pod 1250 px skládal pod sebe: poznámka „Konzultace zdarma“
   vedle tlačítka a trust ikony v řádku pod textem → spousta prázdného
   místa vpravo. Teď: text vlevo (poznámka pod tlačítkem), trust ikony ve
   sloupci vpravo, zarovnané doleva (ikona | nadpis). Mobil (< 768 px)
   beze změny. */
@media (min-width: 768px) and (max-width: 1250px) {
    body.type-category:not(.id-754) .rekusam-cat-hero-grid {
        grid-template-columns: 1.2fr 0.8fr;
        gap: clamp(32px, 4vw, 60px);
        align-items: center;
    }
    body.type-category:not(.id-754) .rekusam-cat-hero-cta {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }
    body.type-category:not(.id-754) .rekusam-cat-hero-trust {
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        gap: clamp(18px, 2.4vw, 26px);
    }
    body.type-category:not(.id-754) .rekusam-cat-trust-item {
        flex: 0 0 auto;
        flex-direction: row;
        align-items: center;
        text-align: left;
        gap: 14px;
    }
    body.type-category:not(.id-754) .rekusam-cat-trust-text {
        align-items: flex-start;
        text-align: left;
    }
}


/* --- KATEGORIE: KARTA PRODUKTU – NIŽŠÍ ---
   1) Fotky produktů jsou 4:3, rámeček byl 1:1 → nad/pod fotkou šedé pruhy
      (~25 % výšky karty navíc). Rámeček teď 4:3.
   2) Shoptet JS srovnává výšku názvů (inline height ~57 px) i u jednořádkových
      → mezera pod názvem. Výšku necháváme na obsahu; tlačítka v řadě drží
      zarovnaná .p-tools{margin-top:auto}. */
body.type-category:not(.id-754) #products .product .p > a.image {
    aspect-ratio: 4 / 3 !important;
}
body.type-category:not(.id-754) #products .product .p > a.image img {
    margin: 0 !important;
}
body.type-category:not(.id-754) #products .product .p .name {
    height: auto !important;
    min-height: 0 !important;
}


/* --- DETAIL PRODUKTU: OPRAVY + DESKTOP ---------------------------------- */

/* 1) Text v záložkách (Popis / Parametry / Diskuze) byl neviditelný:
      globální core pravidlo pro tmavý podklad (ul, ol, li, span, th, h2 …
      bílé !important) platilo i uvnitř bílé karty detailu.
      :where() drží nízkou specifičnost → vlastní styly widgetu a tabulky
      parametrů (šedé popisky) zůstávají. */
body.type-product .p-detail-tabs-wrapper .tab-content :where(span, li, ul, ol, th, td, dt, dd, label, strong, b, em):not(.rekusam-pd-widget *) {
    color: #334250 !important;
}
body.type-product .p-detail-tabs-wrapper .tab-content :where(h2, h3, h4, h5) {
    color: var(--rekusam-ink, #1a1a1a) !important;
}
body.type-product .p-detail-tabs-wrapper .tab-content :where(a:not(.btn)):not(.rekusam-pd-widget *) {
    color: var(--rekusam-green, #074343) !important;
}

/* 2) Box „Se službou svépomocí“ přetékal z cenové karty (flex položka se
      nesměla zúžit pod šířku nezalomitelných částek). */
body.type-product .rekusam-svep-box {
    flex: 1 1 100%;
    min-width: 0;
    max-width: 100%;
}
body.type-product .rekusam-svep-tooltip {
    max-width: min(328px, calc(100vw - 48px));
}

/* 3) Tisk/Sdílet ztlumené; „Tisk“ pryč (na detailu nepotřebný). */
body.type-product .social-buttons-wrapper .link-icon.print { display: none !important; }
body.type-product .social-buttons-wrapper .link-icon,
body.type-product .social-buttons-wrapper .link-icon span {
    font-size: 1rem !important;
    color: #6b7280 !important;
}
body.type-product .social-buttons-wrapper .link-icon:hover,
body.type-product .social-buttons-wrapper .link-icon:hover span { color: var(--rekusam-green) !important; opacity: 1; }

/* 4) DESKTOP: obrázek v levém sloupci zůstává při scrollu na místě
      (pravý sloupec s variantou a cenou je výrazně vyšší → vlevo prázdno).
      Sticky jen uvnitř horní řady karty, do záložek nezasahuje. */
@media (min-width: 992px) {
    body.type-product .p-detail-inner > .p-image-wrapper { align-self: stretch; }
    body.type-product .p-image-wrapper .p-image {
        position: sticky;
        top: calc(var(--rekusam-header-h, 80px) + 32px);
    }
}

/* 5) VÝPISY: cena je v Shoptetu S DPH (priceWithVat), ale karty v kategorii,
      vyhledávání a souvisejících produktech dopisovaly „bez DPH“. */
body.type-category:not(.id-754) #products .product .p .price.price-final::after,
body.type-search #products .product .p .price.price-final::after,
body.type-product .products-additional .product .p .price.price-final::after {
    content: " vč. DPH" !important;
}


/* --- DETAIL PRODUKTU: „Sdílet“ – mezera a zarovnání ikony ---
   Ikona (::before, font shoptet) měla margin-right:10px + flex gap → ~18 px
   mezera; text byl 1rem = jen 10 px (kořenové písmo Shoptetu je 10 px). */
body.type-product .social-buttons-wrapper .link-icon,
body.type-product .social-buttons-wrapper .link-icon span {
    font-size: 1.3rem !important;
    line-height: 1 !important;
}
body.type-product .social-buttons-wrapper .link-icon { gap: 5px; }
body.type-product .social-buttons-wrapper .link-icon::before {
    margin: 0 !important;
    font-size: 14px !important;
    width: 14px !important;
    height: 14px !important;
    line-height: 14px !important;
}


/* --- DETAIL PRODUKTU: záložky Popis/Parametry/Diskuze zarovnané s obsahem (V18) ---
   Řádek záložek měl nulový padding sloupce (obsah pod ním 20 px), takže záložky
   vyčnívaly o 20 px doleva; na mobilu je naopak posouval padding seznamu 16 px. */
html body.type-product .p-detail-tabs-wrapper .shp-tabs-row {
    padding-left: 20px !important;
    padding-right: 20px !important;
}
html body.type-product .p-detail-tabs-wrapper ul.p-detail-tabs {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* ============================================================================
   V19: KOŘEN E-SHOPU (/eshop/, id-719) — dvě velké hlavní dlaždice
   (styl selektorů z homepage, obrázky PNG z 02-Media/02-Homepage)
   ============================================================================ */
body.type-category.id-719 .rekusam-cat-mainsel {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--rekusam-gap, 24px);
    max-width: 1080px;
    margin: 0 auto;
}
body.type-category.id-719 a.rekusam-cat-maincard {
    position: relative;
    display: block;
    overflow: hidden;
    min-height: clamp(300px, 70vw, 440px);
    border-radius: var(--radius-lg, 24px);
    background: var(--rekusam-green-deep, #08403a);
    border: 1px solid var(--rekusam-card-dark-border, rgba(255,255,255,.13));
    box-shadow: 0 26px 50px -24px rgba(0,0,0,.5);
    text-decoration: none !important;
    transition: transform .35s ease, box-shadow .35s ease;
}
body.type-category.id-719 a.rekusam-cat-maincard:hover {
    transform: translateY(-5px);
    box-shadow: 0 34px 58px -26px rgba(0,0,0,.55);
}
body.type-category.id-719 .rekusam-cat-maincard-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center top;
    padding: 28px 28px 120px;
    box-sizing: border-box;
    z-index: 0;
}
body.type-category.id-719 a.rekusam-cat-maincard::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(to top, rgba(8,64,58,.95) 0%, rgba(8,64,58,.4) 40%, rgba(8,64,58,0) 68%);
}
body.type-category.id-719 .rekusam-cat-maincard-foot {
    position: absolute;
    z-index: 2;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--rekusam-space-sm, 14px);
    padding: var(--rekusam-space-md, 24px);
}
body.type-category.id-719 #content .rekusam-cat-maincard-foot h3 {
    color: #fff !important;
    font-size: var(--rekusam-fs-h3, 24px) !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    margin: 0 0 6px !important;
}
body.type-category.id-719 #content .rekusam-cat-maincard-foot p {
    color: rgba(255,255,255,.82) !important;
    font-size: var(--rekusam-fs-sm, 14px) !important;
    line-height: 1.45 !important;
    margin: 0 !important;
    max-width: 34ch;
}
body.type-category.id-719 .rekusam-cat-maincard-arrow {
    flex: none;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: var(--rekusam-red, #E3001B);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .3s ease, background .2s ease;
}
body.type-category.id-719 .rekusam-cat-maincard-arrow svg {
    width: 22px;
    height: 22px;
}
body.type-category.id-719 a.rekusam-cat-maincard:hover .rekusam-cat-maincard-arrow {
    transform: translateX(4px);
    background: var(--rekusam-red-dark, #b80016);
}
body.type-category.id-719 a.rekusam-cat-maincard:focus-visible {
    outline: 3px solid #074343;
    outline-offset: 3px;
}
@media (min-width: 768px) {
    body.type-category.id-719 .rekusam-cat-mainsel {
        grid-template-columns: 1fr 1fr;
    }
    body.type-category.id-719 a.rekusam-cat-maincard {
        min-height: clamp(380px, 38vw, 460px);
    }
}
/* V20: text se nesmí vytlačit šipku ven, obrázek nad textem, menší nadpis u dvou sloupců */
body.type-category.id-719 .rekusam-cat-maincard-text {
    flex: 1 1 auto;
    min-width: 0;
}
body.type-category.id-719 .rekusam-cat-maincard-img {
    padding-bottom: 150px;
}
@media (min-width: 768px) {
    body.type-category.id-719 #content .rekusam-cat-maincard-foot h3 {
        font-size: clamp(20px, 2.2vw, 26px) !important;
    }
    body.type-category.id-719 .rekusam-cat-maincard-img {
        padding-bottom: 170px;
    }
}
/* V21: nadpis dlaždice bez dělení slov; dva sloupce až od 992 px, pod tím pod sebou na střed */
body.type-category.id-719 #content .rekusam-cat-maincard-foot h3 {
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: manual !important;
}
@media (max-width: 991px) {
    body.type-category.id-719 .rekusam-cat-mainsel {
        grid-template-columns: 1fr;
        max-width: 560px;
    }
}
/* V22: obrázky podkategorií = produktové fotky (bílý čtverec / PNG výřez) — celé, bez ořezu, na bílém */
body.type-category:not(.id-754) .rekusam-cat-subcard-img {
    background-color: #ffffff !important;
    background-size: contain !important;
    background-origin: content-box;
    padding: clamp(14px, 2vw, 22px);
    box-sizing: border-box;
    border-bottom: 1px solid #f0f2f5;
}
/* V23: bílá dlaždice podkategorie na světlém pozadí — jemný obrys + stín, zvýraznění při najetí */
body.type-category:not(.id-754) .rekusam-cat-subcard {
    border: 1px solid #cdd7d5 !important;
    box-shadow: 0 1px 2px rgba(7, 67, 67, 0.06), 0 14px 30px -16px rgba(7, 67, 67, 0.30) !important;
}
body.type-category:not(.id-754) .rekusam-cat-subcard:hover {
    border-color: #074343 !important;
    box-shadow: 0 18px 36px -16px rgba(7, 67, 67, 0.38) !important;
}
body.type-category:not(.id-754) .rekusam-cat-subcard-img {
    border-bottom: 1px solid #e3e9e8 !important;
}


/* =====================================================================
   V24: ŘAZENÍ V KATEGORII — po AJAX řazení
   - Shoptet po přeřazení vloží #filters přímo do .category-content-wrapper
     (mimo skrytý #filters-wrapper) → vyskočil nestylovaný cenový slider,
     prázdný checkbox a „Položek k zobrazení". Skryto napevno.
   - .listingControls byla celá skrytá → u kategorií nad 12 produktů
     chybělo „Načíst další" (zbytek produktů nešel zobrazit). Vráceno
     jen tlačítko, stránkování / počet / „Nahoru" zůstávají skryté.
   - Přepínače řazení o kus větší (11,5 px bylo málo čitelné).
   ===================================================================== */
body.type-category:not(.id-754) .category-content-wrapper #filters,
body.type-category:not(.id-754) .category-content-wrapper .filters-wrapper {
    display: none !important;
}

body.type-category:not(.id-754) .category-content-wrapper .listingControls {
    display: flex !important;
    justify-content: center !important;
    margin: clamp(24px, 3vw, 32px) 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
}
body.type-category:not(.id-754) .category-content-wrapper .listingControls > :not(.loadMore) {
    display: none !important;
}
body.type-category:not(.id-754) .category-content-wrapper .listingControls .loadMore {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 0 !important;
}
body.type-category:not(.id-754) .category-content-wrapper .listingControls .loadMore__button {
    min-height: 48px !important;
    padding: 0 28px !important;
    background: #ffffff !important;
    border: 1px solid #074343 !important;
    border-radius: 999px !important;
    color: #074343 !important;
    font-family: var(--template-headings-font, Montserrat, sans-serif) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    box-shadow: none !important;
    transition: background 0.2s ease, color 0.2s ease !important;
}
body.type-category:not(.id-754) .category-content-wrapper .listingControls .loadMore__button:hover {
    background: #074343 !important;
    color: #ffffff !important;
}
body.type-category:not(.id-754) .category-content-wrapper .listingControls .loadMore__button::before,
body.type-category:not(.id-754) .category-content-wrapper .listingControls .loadMore__button::after {
    color: inherit !important;
}

body.type-category:not(.id-754) .rekusam-cat-sortbar .listSorting__control {
    font-size: 13px !important;
    padding: 8px 16px !important;
}
body.type-category:not(.id-754) .rekusam-cat-sortbar-controls .rekusam-cat-sortbar-prefix {
    font-size: 12px !important;
}


/* =====================================================================
   V25: PRÁVNÍ STRÁNKY — BÍLÁ KARTA JAKO U ČLÁNKŮ
   Obchodní podmínky (39), Ochrana osobních údajů (691), Doprava a platby (814),
   Zásady cookies (817), Odstoupení od smlouvy (820). V26: + stránka Zehnder (823).
   Nová právní stránka = přidat její id-XXX do seznamů níže.
   ===================================================================== */
body.type-page:is(.id-39, .id-691, .id-814, .id-817, .id-820, .id-823) #content.content,
body.type-page:is(.id-39, .id-691, .id-814, .id-817, .id-820, .id-823) #content .content-inner {
    background: transparent !important;
}
body.type-page:is(.id-39, .id-691, .id-814, .id-817, .id-820, .id-823) #content .content-inner {
    padding: clamp(30px, 4vw, 50px) 0 clamp(40px, 6vw, 80px) !important;
    box-sizing: border-box;
}
body.type-page:is(.id-39, .id-691, .id-814, .id-817, .id-820, .id-823) #content article.pageArticleDetail {
    max-width: 900px;
    margin: 0 auto;
    padding: clamp(32px, 5vw, 56px) clamp(20px, 5vw, 64px);
    box-sizing: border-box;
    background: #ffffff;
    border-radius: var(--radius-lg, 1.5rem);
    box-shadow: 0 24px 60px rgba(7, 67, 67, 0.18);
    font-family: var(--template-font, 'Montserrat', sans-serif);
}

/* nadpisy */
body.type-page:is(.id-39, .id-691, .id-814, .id-817, .id-820, .id-823) #content article.pageArticleDetail h1 {
    color: var(--rekusam-green, #074343) !important;
    font-family: var(--template-headings-font) !important;
    font-size: clamp(1.9rem, 4.5vw, 2.8rem) !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.01em;
    text-align: left !important;
    margin: 0 0 clamp(16px, 3vw, 24px) !important;
    /* globál ho na stránkách skrývá (sr-only) → zviditelnit */
    position: static !important;
    clip: auto !important;
    clip-path: none !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    white-space: normal !important;
}
body.type-page:is(.id-39, .id-691, .id-814, .id-817, .id-820, .id-823) #content article.pageArticleDetail h2 {
    color: var(--rekusam-green, #074343) !important;
    font-family: var(--template-headings-font) !important;
    font-size: clamp(1.4rem, 3vw, 1.8rem) !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    text-align: left !important;
    margin: clamp(28px, 4vw, 42px) 0 clamp(10px, 1.6vw, 16px) !important;
}
body.type-page:is(.id-39, .id-691, .id-814, .id-817, .id-820, .id-823) #content article.pageArticleDetail h3 {
    color: var(--rekusam-green, #074343) !important;
    font-size: clamp(1.2rem, 2.4vw, 1.45rem) !important;
    font-weight: 700 !important;
    margin: clamp(20px, 3vw, 28px) 0 10px !important;
}

/* text — tmavý a čitelný (globální span/li/p jsou bílé) */
body.type-page:is(.id-39, .id-691, .id-814, .id-817, .id-820, .id-823) #content article.pageArticleDetail :is(p, ul, ol, li, span, em, i, blockquote) {
    color: var(--rekusam-ink, #1a1a1a) !important;
    text-align: left !important;
}
body.type-page:is(.id-39, .id-691, .id-814, .id-817, .id-820, .id-823) #content article.pageArticleDetail :is(p, li) {
    font-size: clamp(1.05rem, 1.4vw, 1.2rem) !important;
    line-height: 1.75 !important;
}
body.type-page:is(.id-39, .id-691, .id-814, .id-817, .id-820, .id-823) #content article.pageArticleDetail p { margin: 0 0 1.1em !important; }
body.type-page:is(.id-39, .id-691, .id-814, .id-817, .id-820, .id-823) #content article.pageArticleDetail :is(b, strong) {
    color: var(--rekusam-green, #074343) !important;
    font-weight: 700 !important;
}
body.type-page:is(.id-39, .id-691, .id-814, .id-817, .id-820, .id-823) #content article.pageArticleDetail a {
    color: var(--rekusam-green, #074343) !important;
    text-decoration: underline !important;
    text-underline-offset: 2px;
    word-break: break-word;
}
body.type-page:is(.id-39, .id-691, .id-814, .id-817, .id-820, .id-823) #content article.pageArticleDetail a:hover { color: var(--rekusam-green-dark, #053030) !important; }
/* „Platné od …“ */
body.type-page:is(.id-39, .id-691, .id-814, .id-817, .id-820, .id-823) #content article.pageArticleDetail [itemprop="about"] > p:first-child em {
    color: var(--rekusam-muted, #5b6770) !important;
    font-size: 0.95rem;
}

/* odrážky — zelené kosočtverce, číslování — čtverečky (jako články) */
body.type-page:is(.id-39, .id-691, .id-814, .id-817, .id-820, .id-823) #content article.pageArticleDetail ul {
    list-style: none !important;
    margin: 0 0 1.4em !important;
    padding: 0 !important;
}
body.type-page:is(.id-39, .id-691, .id-814, .id-817, .id-820, .id-823) #content article.pageArticleDetail ul > li {
    position: relative;
    padding-left: 1.9em !important;
    margin-bottom: 0.6em !important;
    list-style: none !important;
}
body.type-page:is(.id-39, .id-691, .id-814, .id-817, .id-820, .id-823) #content article.pageArticleDetail ul > li::before {
    content: "";
    position: absolute;
    left: 0.15em;
    top: 0.62em;
    width: 9px;
    height: 9px;
    background: var(--rekusam-green, #074343);
    transform: rotate(45deg);
    border-radius: 1px;
}
body.type-page:is(.id-39, .id-691, .id-814, .id-817, .id-820, .id-823) #content article.pageArticleDetail ol {
    list-style: none !important;
    counter-reset: rekusam-legal-ol;
    margin: 0 0 1.4em !important;
    padding: 0 !important;
}
body.type-page:is(.id-39, .id-691, .id-814, .id-817, .id-820, .id-823) #content article.pageArticleDetail ol > li {
    position: relative;
    counter-increment: rekusam-legal-ol;
    padding-left: 2.4em !important;
    margin-bottom: 0.6em !important;
    list-style: none !important;
}
body.type-page:is(.id-39, .id-691, .id-814, .id-817, .id-820, .id-823) #content article.pageArticleDetail ol > li::before {
    content: counter(rekusam-legal-ol);
    position: absolute;
    left: 0;
    top: 0.18em;
    width: 1.55em;
    height: 1.55em;
    background: rgba(7, 67, 67, 0.10);
    color: var(--rekusam-green, #074343);
    font-size: 0.8em;
    font-weight: 800;
    border-radius: var(--radius-sm, 0.5rem);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* vzorový formulář (odstoupení) — šedý box */
body.type-page:is(.id-39, .id-691, .id-814, .id-817, .id-820, .id-823) #content article.pageArticleDetail blockquote {
    margin: 0 0 1.4em !important;
    padding: clamp(18px, 3vw, 28px) !important;
    background: #f6f7f8 !important;
    border: 0 !important;
    border-left: 4px solid var(--rekusam-green, #074343) !important;
    border-radius: 12px !important;
    font-style: normal !important;
}
body.type-page:is(.id-39, .id-691, .id-814, .id-817, .id-820, .id-823) #content article.pageArticleDetail blockquote p { margin: 0 0 0.6em !important; }
body.type-page:is(.id-39, .id-691, .id-814, .id-817, .id-820, .id-823) #content article.pageArticleDetail blockquote p:last-child { margin-bottom: 0 !important; }

@media (max-width: 767px) {
    body.type-page:is(.id-39, .id-691, .id-814, .id-817, .id-820, .id-823) #content-wrapper { padding-left: 12px !important; padding-right: 12px !important; }
}


/* =====================================================================
   V27: DETAIL PRODUKTU — fotky bez useknutého rohu (pozůstatek PDZ)
   Hlavní fotka i náhledy: zaoblené všechny 4 rohy, bez clip-path.
   ===================================================================== */
body.type-product .p-image-wrapper .p-main-image,
body.type-product .p-image-wrapper .p-main-image img {
    clip-path: none !important;
    border-radius: var(--radius-lg) !important;
}
body.type-product .p-image-wrapper a.p-thumbnail img {
    clip-path: none !important;
    border-radius: 10px !important;
}

/* =====================================================================
   REFERENCE — KARTY „ref3“ (titulní strana + /reference/), 2026-10-13
   Zelené tělo + bílá patička, carousel fotek (JS v Templates JS).
   Fotky vyplňují celý rámeček 3:2 (object-fit: cover) — podklady dodávat na šířku 3:2 (např. 1500×1000).
   Texty s vysokou specificitou kvůli bílému textu tmavé sekce.
   Obsah karet generuje Codes/html/24-build_reference.py.
   Bez <dl>/<dt>/<dd> — editor Shoptetu (TinyMCE) je slučuje do textu.
   ===================================================================== */
.rekusam-ref3__grid{display:grid;grid-template-columns:1fr;gap:clamp(16px,2.4vw,28px);align-items:stretch;}
@media (min-width:768px){.rekusam-ref3__grid{grid-template-columns:repeat(2,1fr);}}
.rekusam-ref3__card{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:linear-gradient(180deg,#0b5b58 0%,#084a48 100%);border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 44px rgba(0,0,0,.28);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.rekusam-ref3__card:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.22);box-shadow:0 24px 54px rgba(0,0,0,.34);}
.rekusam-ref3__card.is-hidden{display:none!important;}
.rekusam-ref3__media{position:relative;flex:none;aspect-ratio:3 / 2;overflow:hidden;background:#0a4f4d;}
.rekusam-ref3__track{position:absolute;inset:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;}
.rekusam-ref3__track::-webkit-scrollbar{display:none;}
.rekusam-ref3__track img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;object-position:center;scroll-snap-align:start;display:block;}
.rekusam-ref3__media::after{content:"";position:absolute;inset:auto 0 0 0;height:56px;background:linear-gradient(180deg,rgba(8,74,72,0),rgba(8,74,72,.55));pointer-events:none;}
#content .rekusam-section--dark .rekusam-ref3__card .rekusam-ref3__badge{position:absolute;z-index:2;top:12px;left:12px;display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.96);color:#074343!important;font-size:12px!important;font-weight:700!important;line-height:1;padding:6px 10px;border-radius:999px;box-shadow:0 1px 3px rgba(0,0,0,.2);}
.rekusam-ref3__badge::before{content:"";width:7px;height:7px;border-radius:50%;background:#12b76a;}
.rekusam-ref3__badge--decentral::before{background:#e3001b;}
.rekusam-ref3__dots{position:absolute;z-index:2;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:5px;pointer-events:none;}
.rekusam-ref3__dot{pointer-events:auto;width:6px;height:6px;padding:0;border:0;border-radius:50%;cursor:pointer;background:rgba(255,255,255,.55);transition:width .2s ease,background .2s ease;}
.rekusam-ref3__dot.is-active{width:16px;border-radius:3px;background:#fff;}
.rekusam-ref3__nav{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.95);color:#074343;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.25);opacity:0;transition:opacity .2s ease;padding:0;}
.rekusam-ref3__nav svg{width:15px;height:15px;}
.rekusam-ref3__nav--prev{left:12px;}.rekusam-ref3__nav--next{right:12px;}
.rekusam-ref3__media:hover .rekusam-ref3__nav{opacity:1;}
.rekusam-ref3__nav[disabled]{opacity:0!important;pointer-events:none;}
@media (hover:none){.rekusam-ref3__nav{display:none;}}
.rekusam-ref3__body{display:flex;flex-direction:column;flex:1;padding:20px 22px 4px;}
#content .rekusam-section--dark .rekusam-ref3__card .rekusam-ref3__title{margin:0!important;font-size:19px!important;line-height:1.3!important;font-weight:700!important;color:#fff!important;}
#content .rekusam-section--dark .rekusam-ref3__card .rekusam-ref3__sub{margin:3px 0 14px!important;font-size:13px!important;color:rgba(255,255,255,.62)!important;line-height:1.4!important;}
.rekusam-ref3__specs{margin:0 0 18px;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:22px;}
.rekusam-ref3__row{display:flex;flex-direction:column;gap:2px;padding:10px 0;border-top:1px solid rgba(255,255,255,.12);}
.rekusam-ref3__row--wide{grid-column:1 / -1;}
#content .rekusam-section--dark .rekusam-ref3__card .rekusam-ref3__row .rekusam-ref3__dt{display:block;margin:0!important;font-size:11px!important;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.55)!important;font-weight:600!important;}
#content .rekusam-section--dark .rekusam-ref3__card .rekusam-ref3__row .rekusam-ref3__dd{display:block;margin:0!important;font-size:15px!important;color:#fff!important;font-weight:600!important;font-variant-numeric:tabular-nums;}
.rekusam-ref3__foot{margin-top:auto;display:flex;flex-wrap:wrap;justify-content:center;text-align:center;align-items:flex-start;column-gap:clamp(20px,3vw,36px);row-gap:10px;background:#fff;padding:16px 22px 18px;}
#content .rekusam-section--dark .rekusam-ref3__card .rekusam-ref3__k{display:block;font-size:11px!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.06em;color:#667085!important;margin-bottom:4px;}
#content .rekusam-section--dark .rekusam-ref3__card .rekusam-ref3__price{display:block;font-size:22px!important;font-weight:800!important;color:#e3001b!important;line-height:1.1;white-space:nowrap;font-variant-numeric:tabular-nums;}
#content .rekusam-section--dark .rekusam-ref3__card .rekusam-ref3__was{display:block;font-size:12px!important;color:#98a2b3!important;text-decoration:line-through;margin-top:3px;white-space:nowrap;}
.rekusam-ref3__save-col{text-align:center;}
#content .rekusam-section--dark .rekusam-ref3__card .rekusam-ref3__save{display:inline-block;margin-top:-1px;font-size:14px!important;font-weight:700!important;color:#fff!important;background:#074343;padding:5px 11px;border-radius:999px;white-space:nowrap;font-variant-numeric:tabular-nums;}
.rekusam-ref3__cta{display:flex;margin-top:clamp(20px,3vw,32px);}
@media (min-width:1100px){.rekusam-ref3__row--wide{grid-column:auto;}.rekusam-ref3__grid{max-width:1240px;}}

/* =====================================================================
   REFERENCE — GALERIE PŘES CELOU OBRAZOVKU (klik na fotku v kartě), 2026-10-13
   Fotka v kartě = <a class="rekusam-ref3__zoom" href="velká verze"><img náhled></a>.
   Bez JS odkaz otevře velkou fotku přímo. Okno .rekusam-lb vkládá JS do <body>.
   ===================================================================== */
.rekusam-ref3__track > .rekusam-ref3__zoom{flex:0 0 100%;display:block;width:100%;height:100%;scroll-snap-align:start;cursor:zoom-in;}
.rekusam-ref3__zoom img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
.rekusam-ref3__zoom:focus-visible{outline:3px solid #fff;outline-offset:-3px;}
html.rekusam-lb-lock,html.rekusam-lb-lock body{overflow:hidden!important;}
.rekusam-lb{position:fixed;inset:0;z-index:2147483000;display:none;align-items:center;justify-content:center;background:rgba(3,28,27,.97);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);-webkit-tap-highlight-color:transparent;}
.rekusam-lb.is-open{display:flex;}
.rekusam-lb__img{display:block;max-width:min(94vw,2400px);max-height:calc(100vh - 120px);width:auto;height:auto;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.5);user-select:none;-webkit-user-drag:none;transition:opacity .2s ease;}
.rekusam-lb__img.is-loading{opacity:.25;}
.rekusam-lb__btn{position:absolute;z-index:2;display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.95);color:#074343;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.35);transition:transform .15s ease,background .15s ease;}
.rekusam-lb__btn:hover{transform:scale(1.06);background:#fff;}
.rekusam-lb__btn:focus-visible{outline:3px solid #12b76a;outline-offset:2px;}
.rekusam-lb__btn svg{width:22px;height:22px;}
.rekusam-lb__btn[hidden]{display:none;}
.rekusam-lb__close{top:clamp(10px,2vw,24px);right:clamp(10px,2vw,24px);}
.rekusam-lb__prev{left:clamp(8px,2vw,28px);top:50%;transform:translateY(-50%);}
.rekusam-lb__next{right:clamp(8px,2vw,28px);top:50%;transform:translateY(-50%);}
.rekusam-lb__prev:hover,.rekusam-lb__next:hover{transform:translateY(-50%) scale(1.06);}
.rekusam-lb__bar{position:absolute;left:0;right:0;bottom:clamp(12px,2.5vh,26px);padding:0 72px;text-align:center;color:#fff;font-size:14px;line-height:1.4;}
.rekusam-lb__count{font-weight:700;font-variant-numeric:tabular-nums;margin-right:10px;}
.rekusam-lb__count[hidden]{display:none;}
.rekusam-lb__cap{opacity:.8;}
@media (max-width:767px){
  .rekusam-lb__img{max-width:100vw;max-height:calc(100vh - 150px);border-radius:0;}
  .rekusam-lb__prev,.rekusam-lb__next{top:auto;bottom:clamp(12px,2.5vh,26px);transform:none;width:44px;height:44px;}
  .rekusam-lb__prev:hover,.rekusam-lb__next:hover{transform:none;}
  .rekusam-lb__bar{bottom:calc(clamp(12px,2.5vh,26px) + 54px);padding:0 16px;}
}

/* =====================================================================
   REFERENCE — SVISLÉ / ČTVERCOVÉ FOTKY V KARTĚ, 2026-10-13
   JS přidá .is-fit odkazu s fotkou, jejíž poměr stran je < 1,35 (svislá, čtverec),
   a nastaví --rk-bg = url(fotky). Fotka se ukáže celá, pod ní rozmazaná kopie.
   ===================================================================== */
.rekusam-ref3__track > .rekusam-ref3__zoom{position:relative;overflow:hidden;}
.rekusam-ref3__zoom.is-fit{background:#0a4f4d;}
.rekusam-ref3__zoom.is-fit::before{content:"";position:absolute;inset:-24px;background-image:var(--rk-bg);background-size:cover;background-position:center;filter:blur(20px) brightness(.8) saturate(1.1);transform:scale(1.08);}
.rekusam-ref3__track > .rekusam-ref3__zoom.is-fit img{position:relative;object-fit:contain;}

/* =====================================================================
   REFERENCE — ŠTÍTEK „Centrální / Decentrální větrání“ tmavě zelený, 2026-10-13
   (bílý štítek zanikal na bílém výkresu – výkres je vždy první fotka)
   ===================================================================== */
#content .rekusam-section--dark .rekusam-ref3__card .rekusam-ref3__badge{background:#074343;color:#fff!important;border:1px solid rgba(255,255,255,.28);box-shadow:0 2px 8px rgba(0,0,0,.28);}
.rekusam-ref3__badge::before{box-shadow:0 0 0 2px rgba(255,255,255,.85);}

/* =====================================================================
   REFERENCE — MŘÍŽKA SE 3 KARTAMI (.rekusam-ref3__grid--3, titulní strana), 2026-10-13
   ≥1100 px: 3 menší karty vedle sebe, vycentrované; 768–1099: 2 sloupce, 3. karta na střed.
   ===================================================================== */
@media (min-width:768px) and (max-width:1099px){
  .rekusam-ref3__grid--3 > .rekusam-ref3__card:last-child{grid-column:1 / -1;justify-self:center;width:calc(50% - clamp(16px,2.4vw,28px) / 2);}
}
@media (min-width:1100px){
  .rekusam-ref3__grid.rekusam-ref3__grid--3{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1180px;margin-left:auto;margin-right:auto;gap:24px;}
  .rekusam-ref3__grid--3 .rekusam-ref3__row--wide{grid-column:1 / -1;}
  #content .rekusam-section--dark .rekusam-ref3__grid--3 .rekusam-ref3__title{font-size:18px!important;}
  #content .rekusam-section--dark .rekusam-ref3__grid--3 .rekusam-ref3__price{font-size:20px!important;}
  .rekusam-ref3__grid--3 .rekusam-ref3__body{padding:18px 20px 4px;}
  .rekusam-ref3__grid--3 .rekusam-ref3__foot{padding:14px 18px 16px;column-gap:20px;}
}

/* =====================================================================
   REFERENCE — /reference/: sekce Realizace – eyebrow, nadpis a tlačítka na střed (karty jsou na střed), 2026-10-13
   ===================================================================== */
@media (min-width:992px){
  body.in-reference .rekusam-ref .rekusam-section__head{text-align:center;}
  body.in-reference #content .rekusam-ref .rekusam-section__head h2{margin-left:auto!important;margin-right:auto!important;}
  body.in-reference .rekusam-ref__cta,body.in-reference .rekusam-ref__more{justify-content:center;text-align:center;}
}

/* =====================================================================
   REFERENCE — ŠIROKÁ KARTA (.rekusam-ref3__card--wide, /reference/), 2026-10-14
   Karta přes oba sloupce: fotka vlevo, údaje + cena vpravo. Do 767 px běžná karta.
   (Zúžení mřížky na /reference/ z V36 odstraněno – karty jsou zase přes celou šířku.)
   ===================================================================== */
@media (min-width:768px){
  .rekusam-ref3__card--wide{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);grid-template-rows:1fr auto;}
  .rekusam-ref3__card--wide .rekusam-ref3__media{grid-column:1;grid-row:1 / 3;aspect-ratio:auto;min-height:clamp(340px,34vw,460px);}
  .rekusam-ref3__card--wide .rekusam-ref3__body{grid-column:2;grid-row:1;}
  .rekusam-ref3__card--wide .rekusam-ref3__foot{grid-column:2;grid-row:2;}
}
@media (min-width:992px){
  .rekusam-ref3__card--wide .rekusam-ref3__body{padding:28px 30px 6px;}
  #content .rekusam-section--dark .rekusam-ref3__card--wide .rekusam-ref3__title{font-size:22px!important;}
}

/* =====================================================================
   TITULNÍ STRANA — INTRO RADEK HLAVÁČ (.rekusam-intro), 2026-10-14
   Mezi Finanční logikou a Procesem: text + CTA vlevo, video na výšku (9:16) vpravo.
   ===================================================================== */
.rekusam-intro__grid{display:grid;grid-template-columns:1fr;gap:clamp(28px,4vw,56px);align-items:center;}
@media (min-width:992px){.rekusam-intro__grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);}}
#content .rekusam-intro .rekusam-section__head{margin-bottom:18px;}
#content .rekusam-intro__text p{margin:0 0 14px!important;}
#content .rekusam-intro__text .rekusam-lead{font-size:clamp(17px,1.6vw,20px)!important;line-height:1.55!important;color:#074343!important;font-weight:600;}
.rekusam-intro__sign{display:flex;flex-direction:column;gap:2px;margin:22px 0 26px;padding-left:14px;border-left:3px solid #e3001b;}
#content .rekusam-intro__sign strong{font-size:17px;color:#074343;line-height:1.3;}
#content .rekusam-intro__sign span{font-size:13px;color:#667085;line-height:1.4;}
.rekusam-intro__actions{display:flex;flex-wrap:wrap;gap:12px;}
.rekusam-intro__media{display:flex;justify-content:center;}
.rekusam-intro__frame{position:relative;width:min(100%,340px);aspect-ratio:9 / 16;border-radius:20px;overflow:hidden;background:#0a4f4d;box-shadow:0 24px 50px rgba(7,67,67,.25);}
.rekusam-intro__video{display:block;width:100%;height:100%;object-fit:cover;background:#0a4f4d;}
@media (max-width:767px){
  .rekusam-intro__frame{width:min(100%,300px);}
  .rekusam-intro__actions .btn{width:100%;}
}

/* TITULNÍ STRANA — INTRO: zkrácený text = nadpis + jeden popisek (.rekusam-intro__desc), 2026-10-14 */
#content .rekusam-intro__text .rekusam-intro__desc{max-width:520px;margin:0 0 28px!important;font-size:clamp(17px,1.5vw,19px)!important;line-height:1.6!important;}

/* =====================================================================
   TITULNÍ STRANA — intro jiné pozadí než Finanční logika; Reference: hlavička + CTA na střed, 2026-10-14
   ===================================================================== */
#content .rekusam-section.rekusam-intro{background-color:#e7f1ee!important;background-image:radial-gradient(ellipse at 75% 50%,rgba(255,255,255,.7) 0%,rgba(255,255,255,0) 60%)!important;}
body.in-index .rekusam-ref .rekusam-section__head{text-align:center;}
body.in-index #content .rekusam-ref .rekusam-section__head .rekusam-eyebrow{align-self:center!important;}
body.in-index #content .rekusam-ref .rekusam-section__head h2{margin-left:auto!important;margin-right:auto!important;}
body.in-index .rekusam-ref .rekusam-ref3__cta{justify-content:center;}

/* TITULNÍ STRANA — INTRO: tmavší text popisku kvůli kontrastu na mátovém pozadí, 2026-10-14 */
#content .rekusam-intro .rekusam-intro__text p{color:#24413f!important;}

/* TITULNÍ STRANA — INTRO: na velkých obrazovkách text a video u sebe (blok na střed), 2026-10-14 */
@media (min-width:992px){
  .rekusam-intro__grid{grid-template-columns:minmax(0,560px) 340px;justify-content:center;gap:clamp(48px,6vw,96px);}
}

/* =====================================================================
   TITULNÍ STRANA — INTRO: šířka podle ostatních sekcí na velkých obrazovkách, text na střed na mobilu, 2026-10-14
   (nahrazuje rozložení z V43: blok max 1440 px na střed, video 320–400 px)
   ===================================================================== */
@media (min-width:992px){
  .rekusam-intro__grid{grid-template-columns:minmax(0,1fr) clamp(320px,22vw,400px);justify-content:stretch;max-width:1440px;margin-left:auto;margin-right:auto;gap:clamp(56px,6vw,120px);}
  .rekusam-intro__frame{width:100%;}
  #content .rekusam-intro__text .rekusam-intro__desc{max-width:600px;}
  #content .rekusam-intro .rekusam-section__head h2{max-width:none!important;}
}
@media (max-width:991px){
  .rekusam-intro__text{text-align:center;}
  #content .rekusam-intro .rekusam-section__head{display:flex;flex-direction:column;align-items:center;}
  #content .rekusam-intro .rekusam-section__head .rekusam-eyebrow{align-self:center!important;}
  #content .rekusam-intro .rekusam-section__head h2{margin-left:auto!important;margin-right:auto!important;}
  #content .rekusam-intro__text .rekusam-intro__desc{margin-left:auto!important;margin-right:auto!important;}
  .rekusam-intro__actions{justify-content:center;}
}

/* =====================================================================
   TITULNÍ STRANA — INTRO: nové rozložení, 2026-10-14
   Nadpis (eyebrow + h2) nahoře na střed, pod ním vlevo popisek + CTA, vpravo video; blok na střed (max 920 px).
   HTML: .rekusam-section__head.rekusam-intro__head je nad .rekusam-intro__grid (už ne uvnitř textu).
   ===================================================================== */
#content .rekusam-intro .rekusam-intro__head{display:flex;flex-direction:column;align-items:center;text-align:center;margin:0 auto clamp(28px,4vw,48px)!important;}
#content .rekusam-intro .rekusam-intro__head .rekusam-eyebrow{align-self:center!important;}
#content .rekusam-intro .rekusam-intro__head h2{margin-left:auto!important;margin-right:auto!important;max-width:none!important;text-align:center;}
@media (min-width:992px){
  .rekusam-intro__grid{grid-template-columns:minmax(0,1fr) clamp(320px,22vw,400px);max-width:920px;gap:clamp(48px,5vw,96px);align-items:center;}
  #content .rekusam-intro__text .rekusam-intro__desc{font-size:clamp(18px,1.4vw,22px)!important;}
}

/* =====================================================================
   TITULNÍ STRANA — INTRO varianta A: video uprostřed, 3 body vlevo a 3 vpravo (jen nadpisy bodů), CTA pod tím, 2026-10-14
   HTML: .rekusam-intro__grid--a > ul.rekusam-intro__points--left | .rekusam-intro__media | ul.rekusam-intro__points--right
   ===================================================================== */
#content .rekusam-intro ul.rekusam-intro__points{list-style:none!important;margin:0!important;padding:0!important;display:flex;flex-direction:column;gap:clamp(24px,3.4vw,48px);}
#content .rekusam-intro ul.rekusam-intro__points li{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:14px;align-items:center;margin:0!important;padding:0!important;}
#content .rekusam-intro ul.rekusam-intro__points li::before{content:""!important;position:static!important;width:44px;height:44px;border-radius:50%;margin:0!important;background:#074343 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/20px no-repeat;box-shadow:0 6px 16px rgba(7,67,67,.18);}
#content .rekusam-intro ul.rekusam-intro__points strong{display:block;font-size:clamp(17px,1.3vw,20px);line-height:1.3;color:#074343;}
.rekusam-intro__actions{justify-content:center;margin-top:clamp(28px,4vw,48px);}
@media (min-width:992px){
  .rekusam-intro__grid.rekusam-intro__grid--a{grid-template-columns:minmax(0,1fr) clamp(300px,22vw,380px) minmax(0,1fr);max-width:1200px;gap:clamp(32px,4vw,72px);align-items:center;}
  #content .rekusam-intro ul.rekusam-intro__points--left li{grid-template-columns:minmax(0,1fr) 44px;text-align:right;}
  #content .rekusam-intro ul.rekusam-intro__points--left li::before{grid-column:2;grid-row:1;}
  #content .rekusam-intro ul.rekusam-intro__points--left li strong{grid-column:1;grid-row:1;}
}
@media (max-width:991px){
  .rekusam-intro__grid.rekusam-intro__grid--a{display:flex;flex-direction:column;align-items:center;gap:24px;}
  .rekusam-intro__grid--a .rekusam-intro__media{order:-1;margin-bottom:8px;}
  .rekusam-intro__grid--a ul.rekusam-intro__points{width:100%;max-width:420px;}
}

/* TITULNÍ STRANA — INTRO: eyebrow na mentolovém pozadí bílý, 2026-10-14 */
#content .rekusam-intro .rekusam-eyebrow{background-color:#fff!important;}

/* TITULNÍ STRANA — SLUŽBA OD A DO Z: popisek pod ukázkou projektu odsazený a tmavší (kontrast), 2026-10-14 */
#content .rekusam-az .rekusam-az__caption{margin-top:16px!important;color:#3a4a4a!important;font-size:15px!important;line-height:1.55!important;}

/* TITULNÍ STRANA — šedé odstavce na světlých sekcích tmavší kvůli kontrastu (#3a4a4a), 2026-10-14
   Finanční logika, Výhody, Služba od A do Z, Časté dotazy. Bílý text v tmavé hlavičce tabulky Finanční logiky zůstává. */
body.in-index #content :is(.rekusam-fin,.rekusam-vyhody,.rekusam-az,.rekusam-faq) p{color:#3a4a4a!important;}
body.in-index #content .rekusam-fin .rekusam-fin__thead p{color:rgba(255,255,255,.55)!important;}

/* =====================================================================
   CELÝ WEB — šedé texty na světlém pozadí sjednocené na tmavou #3a4a4a (kontrast), 2026-10-14
   1) token --rekusam-muted (core #7e858a) — na tmavém pozadí se nikde nepoužívá (ověřeno auditem stránek)
   2) ostatní šedé: popisy produktů ve výpisu, řazení, CTA poznámka kategorie, ikony Sdílet/Tisk,
      výpis článků (perex, datum, filtr), karty referencí (štítky, přeškrtnutá cena)
   ===================================================================== */
:root,.rekusam-poptavka-popup,body.rekusam-kosik-rezim{--rekusam-muted:#3a4a4a;}
.p-desc,.rekusam-cat-cta-note,.rekusam-cat-sortbar-prefix{color:#3a4a4a!important;}
.social-buttons-wrapper .link-icons .link-icon span{color:#3a4a4a!important;}
.rekusam-featured-content p,.rekusam-filter-heading,.rekusam-news-inner .description p,.rekusam-news-inner time{color:#3a4a4a!important;}
#content .rekusam-section--dark .rekusam-ref3__card .rekusam-ref3__k,#content .rekusam-section--dark .rekusam-ref3__card .rekusam-ref3__was{color:#3a4a4a!important;}

/* CELÝ WEB — šedé texty, 2. krok: silnější selektory než původní pravidla (kategorie, produkt, hledání, články), 2026-10-14 */
html body.type-category.type-category #products .product .p .p-desc,
html body.type-search.type-search #products .product .p .p-desc,
html body.type-product.type-product .products-additional .product .p .p-desc,
html body.type-category.type-category .rekusam-cat-sortbar-controls .rekusam-cat-sortbar-prefix,
html body.type-category.type-category .rekusam-cat-cta-note,
html body.type-product.type-product .social-buttons-wrapper .link-icon,
html body.type-product.type-product .social-buttons-wrapper .link-icon span,
html body .rekusam-featured-content p,
html body .rekusam-filter-heading,
html body .rekusam-news-inner .description p,
html body .rekusam-news-inner time,
html body .rekusam-toast-desc{color:#3a4a4a!important;}
