/* ═══════════════════════════════════════════════════════════════════════
   STYLE-SECTIONS.CSS — sdílené utility a block komponenty společné všem page-typům
   Načítá: globálně z hlavičky šablony (2. v pořadí PDU CSS: global.css → SECTIONS →
     blog → category → pages → products); navíc @import v paste-html — viz meta/manual.md kap. 4
   Prefix tříd: různé — viz mapa (.pdu-sec-* + přestyl šablon); .pdu-ai-* = sections/ai/style-ai.css
   ───────────────────────────────────────────────────────────────────────
   MAPA SEKCÍ (Ctrl+F na "SEKCE N."):
    1. SKRÝVÁNÍ PRVKŮ — .pdu-sec-hide-element-* (visibility podle šířky displeje)
    2. SIDEBAR NAV — .pdu-sec-snav-* (3 barevná CTA v bílé kartě, sidebar banner)
    3. TOPBAR — .pdu-sec-topbar-* (banner + bonus CTA nad obsahem) — NENASAZENO
    4. COUNTER — .pdu-sec-counter-* (animovaný countup box)
    5. DOPRAVA — .pdu-sec-doprava-* (cenová pásma dopravy, karta do sidebaru)
    6. SLEVOVÝ INFORMAČNÍ PROUŽEK — .pdu-sec-sleva* (pruh v obsahu) — NENASAZENO
    7. SLEVOVÁ HORNÍ LIŠTA — .pdu-sec-promobar* (tmavý pruh nad obsahem) — NENASAZENO
    8. REŽIM AI — PŘESUNUTO do sections/ai/style-ai.css (2026-08-20); číslování sekcí se nemění
    9. VÝPIS ČLÁNKŮ /radce-pro-vyber-vhodneho-oploceni/ — přestyl na mřížku nástrojů
   10. SHOPTET NADPISY — přestyl .homepage-group-title / .category-title / titulku stránky
   11. HP NOVÉ ČLÁNKY — přestyl .in-index .homepage-blog-wrapper (karty jako blog listing)
   12. PATIČKA — .pdu-sec-foot-* (redesign 2026-07-23, v2 one-banner)
   13. CLS REZERVACE — rezervace místa pro pozdě dorenderované prvky (logo, košík, HP widget)
   ═══════════════════════════════════════════════════════════════════════ */

/* ───────────────────────────────────────────────────────────────────────
   SEKCE 1. SKRÝVÁNÍ PRVKŮ
   Truly-shared visibility utility (manuál kap. 11) — schová prvek pod/nad hranicí
   mobilního zobrazení Shoptetu (991/992 px).
   STAV: NENASAZENO v obsahu — 0× v záloze e-shopu (stránky/články/produkty,
   2026-07-27) i v pdu-code; drží se záměrně jako sdílená utilita.
   ─────────────────────────────────────────────────────────────────────── */

/* Skrýt prvek při šířce displeje menší než 61.9375em */
@media screen and (max-width: 61.9375em) {
    .pdu-sec-hide-element-max991 {
        display: none;
    }
}

/* Skrýt prvek při šířce displeje větší než 62em */
@media screen and (min-width: 62em) {
    .pdu-sec-hide-element-min992 {
        display: none;
    }
}


/* ───────────────────────────────────────────────────────────────────────
   SEKCE 2. SIDEBAR NAV (.pdu-sec-snav-*)
   Tři barevná CTA tlačítka ve svislém stacku v bílé kartě — sidebar banner,
   použitelné na kterékoliv stránce (homepage, kategorie, blog, info-page).
   ───────────────────────────────────────────────────────────────────────
   Popis:
   - Vertikální stack 3 CTA buttonů v bílé kartě s 1px gray rámečkem
     (radius xl, padding 1.125em) — wrapper se chová jako hero karta
   - Per-button:
       * radial-gradient overlay v pravém horním rohu (subtle highlight)
       * 1px gray ring (box-shadow) jako jemný rámeček
       * 0.125em colored border (matches bg color v default stavu)
   - Modifikátory barev: .is-primary (zelená akcent), .is-accent (žlutá CTA),
     .is-dark (tmavomodrá). Hover ve všech 3 → bílé bg + zelený gradient
     (jako dekovaci hero karta) + tmavý border + translateY(-1px)
   - Šipka uvnitř buttonu se posune o 3 px doprava na hover
   - Font: inherit ze Shoptet šablony (žádný hardcode font-family)
   - Vhodné pro sidebar na kterékoliv stránce (homepage, kategorie, blog, info-page)

   HTML:
     <nav class="pdu-sec-snav-card" aria-label="Hlavní sekce">
       <a class="pdu-sec-snav is-primary" href="/kalkulace-..." title="...">
         <span class="pdu-sec-snav-label">Kalkulátor</span>
         <svg class="pdu-sec-snav-arrow" viewBox="0 0 24 24" aria-hidden="true" focusable="false">
           <path d="M5 12h14M13 6l6 6-6 6" fill="none" stroke="currentColor"
                 stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/>
         </svg>
       </a>
       <a class="pdu-sec-snav is-accent" href="/realizace-montaze/" title="...">...</a>
       <a class="pdu-sec-snav is-dark" href="/kontakty/" title="...">...</a>
     </nav>
   ─────────────────────────────────────────────────────────────────────── */
.pdu-sec-snav-card {
  display: flex;
  flex-direction: column;
  gap: 0.625em;
  margin: 1.125em 0;
  padding: 1.125em;
  background: var(--pdu-barva-bila);
  border: 1px solid var(--pdu-barva-okraj-jemny);
  border-radius: var(--pdu-radius-xl);
}
/* Flex centered group — label + arrow jako jeden celek centered v buttonu.
   Konzistentní visual napříč všemi labely (krátký "Kalkulátor" i delší
   "Pobočky a kontakty") — arrow drží blízko textu jako jeden vizuální blok.
   Selektor pro snav používá nav.pdu-sec-snav-card a.pdu-sec-snav (specifity 0,2,2)
   aby přebil Shoptet base, který má `nav a { display: block }` na anchor uvnitř <nav>. */
nav.pdu-sec-snav-card a.pdu-sec-snav {
  display: flex;
  align-items: center;
  justify-content: center;
  /* gap + font-size + boční padding řeší override na konci sekce (stejný selektor, níž v souboru). */
  padding: 1.25em 1em;
  border: 0.125em solid;
  border-radius: var(--pdu-radius-card);
  font-family: inherit;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;
  transition:
    background-color var(--pdu-prechod-dur-stredni) ease,
    background-image var(--pdu-prechod-dur-stredni) ease,
    color var(--pdu-prechod-dur-stredni) ease,
    border-color var(--pdu-prechod-dur-stredni) ease,
    transform var(--pdu-prechod-dur-rychly) ease,
    box-shadow var(--pdu-prechod-dur-stredni) ease;
  width: 100%;
  box-sizing: border-box;
  /* Žádný gray ring na snav — card wrapper + 0.125em colored border frame stačí. */
}
.pdu-sec-snav-label {
  flex: 0 1 auto;
  font-family: inherit;
  text-align: center;
  /* line-height + white-space (1 řádek) řeší override na konci sekce, vyšší specificita. */
}
.pdu-sec-snav-arrow {
  flex: 0 0 auto;
  display: block;
  /* width/height řeší override na konci sekce (1.1em), vyšší specificita. */
  opacity: .85;
  transition: transform var(--pdu-prechod-dur-stredni) ease, opacity var(--pdu-prechod-dur-stredni) ease;
}
.pdu-sec-snav:hover, .pdu-sec-snav:focus-visible {
  transform: translateY(-1px);
  outline: none;
  box-shadow: 0 0.25em 0.75em -0.25em rgba(0, 0, 0, .12);
}
.pdu-sec-snav:hover .pdu-sec-snav-arrow,
.pdu-sec-snav:focus-visible .pdu-sec-snav-arrow {
  transform: translateX(0.1875em);
  opacity: 1;
}

/* Glossy gradient varianty — z global.css tokenů (--pdu-grad-btn-*).
   Default/light/dark sady reflektují kontrast podle base color. */

/* POZN.: border-color s !important kvůli specificity konfliktu —
   base selektor `nav.pdu-sec-snav-card a.pdu-sec-snav` (0,2,2) má
   `border: 0.125em solid;` (border-color = currentColor implicit) a přebíjí
   tyto variantní selektory (0,2,0). Bez !important by border byl barva textu
   (např. dark navy na žluté = viditelný "černý rámeček", user 2026-05-22). */

/* Primary — zelená akcent (default glossy) */
.pdu-sec-snav.is-primary {
  background-color: var(--pdu-barva-zelena-akcent);
  background-image: var(--pdu-grad-btn-corner), var(--pdu-grad-btn-glossy);
  border-color: var(--pdu-barva-zelena-akcent) !important;
  color: var(--pdu-barva-bila) !important;
}
.pdu-sec-snav.is-primary:hover,
.pdu-sec-snav.is-primary:focus-visible {
  background-color: var(--pdu-barva-bila);
  background-image: var(--pdu-grad-btn-hover-corner), var(--pdu-grad-btn-hover-glossy);
  border-color: var(--pdu-barva-tmavomodra) !important;
  color: var(--pdu-barva-tmavomodra) !important;
}

/* Accent — žlutá CTA (light glossy, žlutá je už světlá) */
.pdu-sec-snav.is-accent {
  background-color: var(--pdu-barva-zluta-cta);
  background-image: var(--pdu-grad-btn-corner-light), var(--pdu-grad-btn-glossy-light);
  border-color: var(--pdu-barva-zluta-cta) !important;
  color: var(--pdu-barva-tmavomodra) !important;
}
.pdu-sec-snav.is-accent:hover,
.pdu-sec-snav.is-accent:focus-visible {
  background-color: var(--pdu-barva-bila);
  background-image: var(--pdu-grad-btn-hover-corner), var(--pdu-grad-btn-hover-glossy);
  border-color: var(--pdu-barva-tmavomodra) !important;
  color: var(--pdu-barva-tmavomodra) !important;
}

/* Dark — tmavomodrá (dark glossy — slabší highlight, silnější bottom shadow) */
.pdu-sec-snav.is-dark {
  background-color: var(--pdu-barva-tmavomodra);
  background-image: var(--pdu-grad-btn-corner-dark), var(--pdu-grad-btn-glossy-dark);
  border-color: var(--pdu-barva-tmavomodra) !important;
  color: var(--pdu-barva-bila) !important;
}
.pdu-sec-snav.is-dark:hover,
.pdu-sec-snav.is-dark:focus-visible {
  background-color: var(--pdu-barva-bila);
  background-image: var(--pdu-grad-btn-hover-corner), var(--pdu-grad-btn-hover-glossy);
  border-color: var(--pdu-barva-tmavomodra) !important;
  color: var(--pdu-barva-tmavomodra) !important;
}

/* POZN.: font-size a šipku tady NEnastavovat — override blok na konci sekce
   (`nav.pdu-sec-snav-card a.pdu-sec-snav …`) je později v souboru a se stejnou
   nebo vyšší specificitou, takže by to stejně přebil. Zbývá jen svislý padding. */
@media (max-width: 23.75em) {
  .pdu-sec-snav-card { padding: 0.875em; }
  nav.pdu-sec-snav-card a.pdu-sec-snav { padding-top: 1em; padding-bottom: 1em; }
}

@media (prefers-reduced-motion: reduce) {
  .pdu-sec-snav, .pdu-sec-snav-arrow { transition: none; }
  .pdu-sec-snav:hover, .pdu-sec-snav:focus-visible { transform: none; }
}

/* ── .pdu-sec-snav-ico — animovaná ikona vlevo od labelu ──
   Korekce 2026-07-29: dřívější text tvrdil „injektuje foot.js" — NEPRAVDA, foot.js
   ani žádný jiný .js v pdu-code slovo „snav" neobsahuje. Ikony jsou statické inline
   <svg> přímo v markupu sidebar banneru (shodně manual.md kap. 8 a llms.txt).
   Dědí currentColor → správná barva v klidu i na hover (is-dark hover = navy).
   Kalkulátor=pop, Montáž=otočení kola (hover), Pobočky=pin „zapíchnutí" (hover + scroll). */
.pdu-sec-snav-ico { flex: 0 0 auto; display: block; width: 1.1em; height: 1.1em; overflow: visible; color: inherit; transform-box: fill-box; transform-origin: center; }
/* :has-free (funguje i na starších prohlížečích bez :has) — sidebar má vždy ikony, tak platí pro všechna tlačítka:
   stáhnout font+gap+padding+ikonu+šipku → i nejdelší label ("Pobočky a kontakty") drží 1 řádek.
   Změřeno na sidebaru 255 px: label potřebuje 143 px, k dispozici 156 px = rezerva 13 px (8,8 %)
   na odchylky fontu. Předchozí varianta (1.25em + wrap) zalamovala kontakty na 2 řádky. */
nav.pdu-sec-snav-card a.pdu-sec-snav { font-size: 1.2em; gap: 0.25em; padding-left: 0.35em; padding-right: 0.35em; }
nav.pdu-sec-snav-card a.pdu-sec-snav .pdu-sec-snav-arrow { width: 1.1em; height: 1.1em; }
nav.pdu-sec-snav-card a.pdu-sec-snav .pdu-sec-snav-ico { width: 1em; height: 1em; }
nav.pdu-sec-snav-card a.pdu-sec-snav .pdu-sec-snav-label { white-space: nowrap; min-width: 0; line-height: 1.15; }
.pdu-sec-snav-ico path, .pdu-sec-snav-ico rect, .pdu-sec-snav-ico circle, .pdu-sec-snav-ico line { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.pdu-sec-snav-ico.is-kontakt { transform-origin: 50% 100%; } /* origin = hrot pinu (úplně dole) */
.pdu-sec-snav:hover .pdu-sec-snav-ico.is-kalkulator,
.pdu-sec-snav:focus-visible .pdu-sec-snav-ico.is-kalkulator { animation: pduSnavPop .5s ease; }
.pdu-sec-snav:hover .pdu-sec-snav-ico.is-montaz,
.pdu-sec-snav:focus-visible .pdu-sec-snav-ico.is-montaz { animation: pduSnavSpin .9s ease; }
.pdu-sec-snav:hover .pdu-sec-snav-ico.is-kontakt,
.pdu-sec-snav:focus-visible .pdu-sec-snav-ico.is-kontakt { animation: pduSnavPin .6s cubic-bezier(.4, 1.4, .5, 1); }
@keyframes pduSnavPop { 45% { transform: scale(1.18); } }
@keyframes pduSnavSpin { to { transform: rotate(360deg); } }
@keyframes pduSnavPin { 0% { transform: translateY(-4px); opacity: .4; } 40% { transform: translateY(0); opacity: 1; } 55% { transform: translateY(0) scaleY(.76) scaleX(1.16); } 72% { transform: translateY(0) scaleY(1.1) scaleX(.94); } 86% { transform: translateY(0) scaleY(.97) scaleX(1.02); } 100% { transform: translateY(0) scale(1); } }
@media (prefers-reduced-motion: reduce) { .pdu-sec-snav-ico { animation: none !important; } }


/* ───────────────────────────────────────────────────────────────────────
   SEKCE 3. TOPBAR (.pdu-sec-topbar-*)
   Bílá karta nad obsahem: vlevo sezonní/akční banner, vpravo CTA na aktuální event.
   STAV: NENASAZENO — markup .pdu-sec-topbar se nevyskytuje nikde v pdu-code ani
   v záloze e-shopu (stránky/články/produkty, 2026-07-27). Komponenta je připravená.
   ───────────────────────────────────────────────────────────────────────
   Popis:
   - Bílá karta nahoře, vizuálně sjednoceno s .pdu-sec-snav-card
   - Levá strana (flex-grow) = banner image (sezonní/akční, rounded corners)
   - Pravá strana (fixní šířka) = CTA na aktuální event (kurz, sleva, novinka)
   - Responzivní: desktop row, mobil column (banner top, CTA bottom)
   - Banner sources: 1200×198 desktop (ratio 6:1), 800×300 mobil (ratio 8:3)
     <picture> swap přes (max-width: 40em)

   HTML:
     <section class="pdu-sec-topbar" aria-label="Aktuální nabídka">
       <a class="pdu-sec-topbar-banner" href="/realizace-montaze/" title="Teď je ideální čas řešit nový plot">
         <picture>
           <source media="(max-width: 40em)" srcset="/user/banners/ted_je_idealni_cas_mobil.png">
           <img src="/user/banners/ted_je_idealni_cas_desktop.png" alt="Teď je ideální čas řešit nový plot — poradíme, vyřešíme, vyrobíme" width="1200" height="198" loading="lazy">
         </picture>
       </a>
       <a class="pdu-sec-topbar-cta" href="/den-otevrenych-dveri-a-ukazka-stavby-plotu/" title="Kurzy stavby plotů — naučte se postavit plot svépomocí">
         <span class="pdu-sec-topbar-cta-label">Kurzy stavby plotů</span>
         <span class="pdu-sec-topbar-cta-sub">Naučíme vás postavit plot</span>
         <svg class="pdu-sec-topbar-cta-arrow" viewBox="0 0 24 24" aria-hidden="true" focusable="false">
           <path d="M5 12h14M13 6l6 6-6 6" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/>
         </svg>
       </a>
     </section>
   ─────────────────────────────────────────────────────────────────────── */
.pdu-sec-topbar {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 0.625em;
  margin: 0 0 1.125em;
  padding: 0.625em;
  background: var(--pdu-barva-bila);
  border-radius: var(--pdu-radius-xl);
}
.pdu-sec-topbar-banner {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  border-radius: var(--pdu-radius-card);
  overflow: hidden;
  background: var(--pdu-barva-sede-svetla);
  line-height: 0;
  transition: transform var(--pdu-prechod-dur-rychly) ease, box-shadow var(--pdu-prechod-dur-stredni) ease;
}
.pdu-sec-topbar-banner:hover,
.pdu-sec-topbar-banner:focus-visible {
  transform: translateY(-1px);
  outline: none;
  box-shadow: 0 0.25em 0.625em -0.25em rgba(0, 0, 0, .15);
}
.pdu-sec-topbar-banner img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.pdu-sec-topbar-cta {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.25em;
  min-width: 11em;
  max-width: 14em;
  padding: 0.875em 1.25em;
  background-color: var(--pdu-barva-zluta-cta);
  background-image: var(--pdu-grad-btn-corner-light), var(--pdu-grad-btn-glossy-light);
  border: 1px solid var(--pdu-barva-zluta-cta);
  border-radius: var(--pdu-radius-card);
  color: var(--pdu-barva-tmavomodra) !important;
  font-family: inherit;
  text-decoration: none !important;
  text-align: center;
  box-shadow: 0 0 0 1px var(--pdu-barva-okraj-jemny);
  transition:
    background-color var(--pdu-prechod-dur-stredni) ease,
    background-image var(--pdu-prechod-dur-stredni) ease,
    border-color var(--pdu-prechod-dur-stredni) ease,
    transform var(--pdu-prechod-dur-rychly) ease;
}
.pdu-sec-topbar-cta:hover,
.pdu-sec-topbar-cta:focus-visible {
  background-color: var(--pdu-barva-bila);
  background-image: var(--pdu-grad-btn-hover-corner), var(--pdu-grad-btn-hover-glossy);
  border-color: var(--pdu-barva-tmavomodra);
  transform: translateY(-1px);
  outline: none;
}
.pdu-sec-topbar-cta-label {
  display: block;
  font-size: 1.0625em;
  font-weight: 800;
  line-height: 1.15;
}
.pdu-sec-topbar-cta-sub {
  display: block;
  font-size: 0.8125em;
  font-weight: 500;
  line-height: 1.3;
  opacity: 0.85;
}
.pdu-sec-topbar-cta-arrow {
  display: block;
  flex: 0 0 auto;
  width: 1.25em;
  height: 1.25em;
  margin-top: 0.25em;
  transition: transform var(--pdu-prechod-dur-stredni) ease;
}
.pdu-sec-topbar-cta:hover .pdu-sec-topbar-cta-arrow,
.pdu-sec-topbar-cta:focus-visible .pdu-sec-topbar-cta-arrow {
  transform: translateX(0.1875em);
}

/* Mobile: stack column (banner top, CTA bottom) */
@media (max-width: 47.5em) {
  .pdu-sec-topbar { flex-direction: column; gap: 0.5em; padding: 0.5em; }
  .pdu-sec-topbar-cta { max-width: none; width: 100%; padding: 0.75em 1em; }
  .pdu-sec-topbar-cta-arrow { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .pdu-sec-topbar-banner,
  .pdu-sec-topbar-cta,
  .pdu-sec-topbar-cta-arrow { transition: none; }
  .pdu-sec-topbar-banner:hover,
  .pdu-sec-topbar-banner:focus-visible,
  .pdu-sec-topbar-cta:hover,
  .pdu-sec-topbar-cta:focus-visible { transform: none; }
}


/* ───────────────────────────────────────────────────────────────────────
   SEKCE 4. COUNTER (.pdu-sec-counter-*)
   Zelený CTA box s velkým počítadlem (namontované ploty), retro řádkem za loňský
   rok, claimem a žlutým CTA. Animaci 0 → target dělá script-sections.js BLOK 1.
   ───────────────────────────────────────────────────────────────────────
   Popis:
   - Zelený CTA box s velkým counter číslem ("Plotů namontováno v roce 2026")
   - Pod ním retro řádek s druhým countdownem (loňský rok), pak claim + žluté CTA
   - JS animace 0 → target přes IntersectionObserver (script-sections.js BLOK 1)
   - Decorative SVG mřížka v pozadí (white stroke .09 opacity)
   - data-target = cílové číslo. JS parseInt + format cs-CZ (1 000 separator)
   - Respektuje prefers-reduced-motion (skip animation, ukáže final)
   - Glossy gradient z global.css tokens (corner highlight)

   HTML:
     <div class="pdu-sec-counter-box" role="region" aria-label="Počet namontovaných plotů">
       <div class="pdu-sec-counter-inner">
         <span class="pdu-sec-counter-label">Plotů namontováno<br>v roce 2026</span>
         <div class="pdu-sec-counter-number" data-target="791" aria-live="polite">791</div>
         <span class="pdu-sec-counter-accent" aria-hidden="true"></span>
         <p class="pdu-sec-counter-retro">
           V roce 2025 jsme namontovali
           <strong class="pdu-sec-counter-retro-num" data-target="2241" aria-live="polite">2 241</strong>
           plotů.
         </p>
         <p class="pdu-sec-counter-claim">Další plot můžeme postavit<br>třeba právě Vám.</p>
         <a class="pdu-sec-counter-cta" href="/realizace-montaze/" title="...">
           <span>Plot na klíč</span>
           <svg viewBox="0 0 24 24" width="18" height="18" aria-hidden="true">
             <path d="M5 12h14M13 6l6 6-6 6" fill="none" stroke="currentColor"
                   stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
           </svg>
         </a>
       </div>
       <svg class="pdu-sec-counter-bg" viewBox="0 0 200 100"
            preserveAspectRatio="xMidYMid slice" aria-hidden="true">
         <g fill="none" stroke="#ffffff" stroke-opacity="0.09" stroke-width="1.5">
           <line x1="20" y1="15" x2="20" y2="88"/> ... grid lines ...
         </g>
       </svg>
     </div>
   ─────────────────────────────────────────────────────────────────────── */
.pdu-sec-counter-box {
  position: relative;
  overflow: hidden;
  margin: 1.25em 0;
  padding: 1.5em 1em 1.25em;
  background-color: var(--pdu-barva-zelena-akcent);
  /* Jen corner highlight — vertical glossy by tvořil tmavý pruh u spodního okraje
     (rgba 0,0,0,.12 na 100 %) což na velkém boxu vypadá jako "divný stín". */
  background-image: var(--pdu-grad-btn-corner);
  border: 0.125em solid var(--pdu-barva-tmavomodra);
  border-radius: var(--pdu-radius-l);
  box-shadow: 0 0 0 1px var(--pdu-barva-okraj-jemny);
  color: var(--pdu-barva-bila);
  text-align: center;
  font-family: inherit;
}
.pdu-sec-counter-inner { position: relative; z-index: 2; }
.pdu-sec-counter-bg {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  z-index: 1; pointer-events: none;
}
.pdu-sec-counter-label {
  display: inline-block;
  font-family: inherit;
  font-size: 0.9375em;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.3;
  text-transform: uppercase;
  opacity: .95;
  margin-bottom: 0.5em;
}
.pdu-sec-counter-number {
  font-family: inherit;
  font-size: clamp(3em, 7vw, 4.5em);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.03em;
  font-variant-numeric: tabular-nums;
  text-shadow: 0 0.125em 0 rgba(25, 25, 50, .15);
  margin: 0.15em 0 0.6em;
}
.pdu-sec-counter-accent {
  display: block;
  width: 3em; height: 0.1875em;
  margin: 0 auto 0.875em;
  background: var(--pdu-barva-zluta-cta);
  border-radius: 0.125em;
}
.pdu-sec-counter-retro {
  font-family: inherit;
  font-size: 1em;
  line-height: 1.5;
  margin: 0 0 0.875em;
  opacity: .95;
}
.pdu-sec-counter-retro-num {
  font-weight: 800;
  color: var(--pdu-barva-zluta-cta);
  font-size: 1.125em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.pdu-sec-counter-claim {
  font-family: inherit;
  font-size: 1em;
  font-weight: 500;
  line-height: 1.4;
  margin: 0 0 1em;
  opacity: .98;
}
/* CTA — sjednoceno s .pdu-pag-btn-cta / .pdu-cat-btn-cta (gray ring, žádný pressed shadow).
   POZN.: bumped selektor (.pdu-sec-counter-box a.pdu-sec-counter-cta = specificity 0,3,1)
   aby přebil Shoptet base, který má `a { display: block }` v některých kontextech a rozbíjel
   inline-flex (svg se posunulo na nový řádek). */
.pdu-sec-counter-box a.pdu-sec-counter-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  background-color: var(--pdu-barva-zluta-cta);
  background-image: var(--pdu-grad-btn-corner-light), var(--pdu-grad-btn-glossy-light);
  border: 1px solid var(--pdu-barva-zluta-cta);
  color: var(--pdu-barva-tmavomodra) !important;
  text-decoration: none !important;
  padding: 0.9em 1.7em;
  font-size: 1.25em;
  font-weight: 800;
  font-family: inherit;
  border-radius: var(--pdu-radius-m);
  box-shadow: 0 0 0 1px var(--pdu-barva-okraj-jemny);
  transition:
    background-color var(--pdu-prechod-dur-stredni) ease,
    background-image var(--pdu-prechod-dur-stredni) ease,
    color var(--pdu-prechod-dur-stredni) ease,
    border-color var(--pdu-prechod-dur-stredni) ease,
    transform var(--pdu-prechod-dur-rychly) ease;
}
/* Hover bumped specificity (0,3,2) aby přebil base (.pdu-sec-counter-box a.pdu-sec-counter-cta = 0,3,1) */
.pdu-sec-counter-box a.pdu-sec-counter-cta:hover,
.pdu-sec-counter-box a.pdu-sec-counter-cta:focus-visible {
  background-color: var(--pdu-barva-bila);
  background-image: var(--pdu-grad-btn-hover-corner), var(--pdu-grad-btn-hover-glossy);
  border-color: var(--pdu-barva-tmavomodra);
  color: var(--pdu-barva-tmavomodra) !important;
  transform: translateY(-1px);
  outline: none;
}
/* Span uvnitř CTA — line-height: 1 (default 1.2-1.5 dělalo baseline mismatch s SVG arrow) */
.pdu-sec-counter-cta > span {
  display: block;
  line-height: 1;
  font-family: inherit;
}
/* SVG arrow — paralelní pattern jako .pdu-sec-snav-arrow (display: block + explicit em size + flex no-shrink).
   display: block odstraňuje inline baseline, em width/height override HTML width="18" attribute. */
.pdu-sec-counter-cta svg {
  display: block;
  flex: 0 0 auto;
  width: 1.125em;
  height: 1.125em;
  transition: transform var(--pdu-prechod-dur-stredni) ease;
}
.pdu-sec-counter-cta:hover svg,
.pdu-sec-counter-cta:focus-visible svg { transform: translateX(0.1875em); }

@media (max-width: 30em) {
  .pdu-sec-counter-box { padding: 1.25em 0.875em 1em; border-radius: var(--pdu-radius-card); }
  .pdu-sec-counter-label { font-size: 0.875em; letter-spacing: .06em; }
  .pdu-sec-counter-retro { font-size: 0.9375em; }
  .pdu-sec-counter-retro-num { font-size: 1.0625em; }
  .pdu-sec-counter-claim { font-size: 0.9375em; }
  .pdu-sec-counter-accent { width: 2.5em; }
}
@media (prefers-reduced-motion: reduce) {
  .pdu-sec-counter-cta, .pdu-sec-counter-cta svg { transition: none; }
  .pdu-sec-counter-cta:hover, .pdu-sec-counter-cta:focus-visible { transform: none; }
}


/* ───────────────────────────────────────────────────────────────────────
   SEKCE 5. DOPRAVA (.pdu-sec-doprava-*)
   Bílá karta do sidebaru s cenovými pásmy dopravy (label/hodnota), zeleným
   „zdarma" řádkem, odkazem na /cena-dopravy/ a poznámkou.
   ───────────────────────────────────────────────────────────────────────
   Popis:
   - Nahrazuje legacy inline-styled banner „Doprava po celé ČR" (Shoptet banner14,
     promo-id 42) — původně h2 + <span style="color:#666"> + 2 odrážkové seznamy
   - Bílá karta na šedém sidebaru (#F6F6F6) — záměrně LEHKÁ, aby nekonkurovala
     zelenému .pdu-sec-counter-box, který stojí hned pod ní
   - Cenová pásma = řádky label/hodnota (flex space-between, tabular-nums), takže
     se cena čte v jednom sloupci; poslední pásmo „zdarma" = zelený benefit řádek
   - Nadpis zůstává <h2> (zachovává původní outline dokumentu), ale je resetovaný
     na velikost karty — Shoptet base by dal ~1.5em + velké marginy
   - Ikony: lucide truck (stejný path jako I_TRUCK ve foot.js) + šipka jako
     .pdu-sec-counter-cta → vizuální kontinuita se zbytkem sidebaru
   - Sidebar = 255 px @ 14 px base; nejdelší řádek potřebuje 138 px → bez zalomení

   HTML (vkládá se do Shoptet banneru, bez inline stylů):
     <div class="pdu-sec-doprava">
       <h2 class="pdu-sec-doprava-head"><svg …truck… /><span>Doprava po celé ČR</span></h2>
       <span class="pdu-sec-doprava-label">Klasická objednávka</span>
       <ul class="pdu-sec-doprava-list">
         <li><span class="pdu-sec-doprava-tier">do 1&nbsp;499 Kč</span>
             <span class="pdu-sec-doprava-cena">229 Kč</span></li>
         …
         <li class="is-zdarma"><span class="pdu-sec-doprava-tier">nad 12&nbsp;000 Kč</span>
             <span class="pdu-sec-doprava-cena">zdarma</span></li>
       </ul>
       <a class="pdu-sec-doprava-link" href="/cena-dopravy/">…<svg …arrow… /></a>
       <p class="pdu-sec-doprava-note">…individuální doprava betonových výrobků…</p>
     </div>
   ─────────────────────────────────────────────────────────────────────── */
.pdu-sec-doprava {
  margin: 1.25em 0;
  padding: 1em 1.125em 0.875em;
  background: var(--pdu-barva-bila);
  border: 1px solid var(--pdu-barva-okraj-jemny);
  border-radius: var(--pdu-radius-l);
  box-shadow: var(--pdu-stin-jemny);
  color: var(--pdu-barva-tekst-zakladni);
  font-family: inherit;
  font-size: 1em;
  line-height: 1.45;
}
/* Nadpis — bumped selektor (0,2,1) kvůli resetu Shoptet base h2 (velikost + marginy) */
.pdu-sec-doprava .pdu-sec-doprava-head {
  display: flex;
  align-items: center;
  gap: 0.5em;
  margin: 0 0 0.75em;
  padding: 0;
  border: 0;
  font-family: inherit;
  font-size: 1.125em;
  font-weight: 800;
  line-height: 1.25;
  color: var(--pdu-barva-tmavomodra);
  text-transform: none;
}
.pdu-sec-doprava-head svg {
  display: block;
  flex: 0 0 auto;
  width: 1.35em;
  height: 1.35em;
  color: var(--pdu-barva-zelena-akcent);
}
.pdu-sec-doprava-label {
  display: block;
  margin: 0 0 0.125em;
  font-size: 0.8125em;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--pdu-barva-text-sedy);
}
.pdu-sec-doprava-list {
  list-style: none;
  margin: 0 0 0.75em;
  padding: 0;
}
.pdu-sec-doprava-list li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5em;
  margin: 0;
  padding: 0.375em 0;
  border-bottom: 1px solid var(--pdu-barva-okraj-svetly);
  list-style: none;
}
.pdu-sec-doprava-list li:last-child { border-bottom: 0; }
.pdu-sec-doprava-tier { color: var(--pdu-barva-text-sekundarni); }
.pdu-sec-doprava-cena {
  flex: 0 0 auto;
  font-weight: 800;
  color: var(--pdu-barva-tmavomodra);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
/* Poslední pásmo = prodejní benefit → zelený řádek přes celou šířku karty */
.pdu-sec-doprava-list li.is-zdarma {
  margin-top: 0.375em;
  padding: 0.5em 0.625em;
  background: var(--pdu-barva-zelena-svetla);
  border-bottom: 0;
  border-left: 0.1875em solid var(--pdu-barva-zelena-akcent);
  border-radius: var(--pdu-radius-m);
}
.pdu-sec-doprava-list li.is-zdarma .pdu-sec-doprava-tier {
  color: var(--pdu-barva-tmavomodra);
  font-weight: 600;
}
.pdu-sec-doprava-list li.is-zdarma .pdu-sec-doprava-cena {
  color: var(--pdu-barva-zelena-akcent-hover);
  text-transform: uppercase;
  letter-spacing: .02em;
}
/* Odkaz — bumped selektor (0,2,1) kvůli Shoptet base `a { display: block }` v sidebaru */
.pdu-sec-doprava a.pdu-sec-doprava-link {
  display: inline-flex;
  align-items: center;
  gap: 0.375em;
  margin: 0.25em 0 0;
  font-weight: 700;
  color: var(--pdu-barva-zelena-akcent) !important;
  text-decoration: none !important;
  transition: color var(--pdu-prechod-dur-stredni) ease;
}
.pdu-sec-doprava a.pdu-sec-doprava-link:hover,
.pdu-sec-doprava a.pdu-sec-doprava-link:focus-visible {
  color: var(--pdu-barva-zelena-akcent-hover) !important;
  text-decoration: underline !important;
}
.pdu-sec-doprava-link svg {
  display: block;
  flex: 0 0 auto;
  width: 1.0625em;
  height: 1.0625em;
  transition: transform var(--pdu-prechod-dur-stredni) ease;
}
.pdu-sec-doprava-link:hover svg,
.pdu-sec-doprava-link:focus-visible svg { transform: translateX(0.1875em); }
.pdu-sec-doprava-note {
  margin: 0.875em 0 0;
  padding-top: 0.75em;
  border-top: 1px solid var(--pdu-barva-okraj-svetly);
  font-size: 0.875em;
  line-height: 1.45;
  color: var(--pdu-barva-text-sedy);
}
.pdu-sec-doprava-note a {
  color: var(--pdu-barva-text-sedy) !important;
  font-weight: 600;
  text-decoration: underline !important;
}
.pdu-sec-doprava-note a:hover,
.pdu-sec-doprava-note a:focus-visible { color: var(--pdu-barva-zelena-akcent) !important; }

@media (max-width: 30em) {
  .pdu-sec-doprava { padding: 0.875em 1em 0.75em; border-radius: var(--pdu-radius-card); }
}
@media (prefers-reduced-motion: reduce) {
  .pdu-sec-doprava-link, .pdu-sec-doprava-link svg { transition: none; }
  .pdu-sec-doprava-link:hover svg, .pdu-sec-doprava-link:focus-visible svg { transform: none; }
}


/* ───────────────────────────────────────────────────────────────────────
   SEKCE 6. SLEVOVÝ INFORMAČNÍ PROUŽEK (.pdu-sec-sleva*)
   Pruh se slevovým kódem do obsahu / pole „Informační proužek", 4 sezonní varianty.
   STAV: NENASAZENO — živý prázdninový proužek běží pod jinou třídou
   (.pdu-prazdniny-sleva, viz internal-code/early.js), .pdu-sec-sleva se nikde
   v pdu-code ani v záloze e-shopu (2026-07-27) nevyskytuje. Komponenta je připravená.
   ───────────────────────────────────────────────────────────────────────
   Popis:
   - Nahrazuje inline-style „div-informacni-prouzek-zluty-celyweb" (LEDEN25/UNOR26)
   - Vizuálně navazuje na .pdu-pag-vyjimky: 0.3em LEVÝ akcent border + diagonální
     animace (zde vlastní keyframe pduSecStripes 15s, aby byl soubor self-contained)
   - Slevový KÓD = kontrastní chip; datum s &nbsp; nezalomí
   - Barvy řídí 5 CSS proměnných → tematické varianty jen přepnou akcent + chip
   - Bez modifikátoru = žlutá „celyweb" (vizuálně = původní proužek)
   - style-sections.css se načítá site-wide → proužek stačí vložit jednou do
     Shoptet pole „Informační proužek" BEZ vlastního @importu
   - Reduced-motion: animace off (dole)

   Témata: is-prazdniny (léto ☀️) · is-vanoce (🎄) · is-zima (leden ❄️) · is-jaro (🌿)

   HTML:
     <div class="pdu-sec-sleva is-prazdniny">
       <p><span class="pdu-sec-sleva-emoji">☀️</span><strong>Prázdninová SLEVA 10 %</strong>
       s kódem <span class="pdu-sec-sleva-kod">PRAZDNINY26</span> na celý sortiment
       i montáž plotu na klíč. Platí do <span class="pdu-sec-sleva-datum">31.&nbsp;7.&nbsp;2026</span>.
       <a href="/prazdniny26/">Nakupte výhodně</a></p>
     </div>
   ─────────────────────────────────────────────────────────────────────── */
.pdu-sec-sleva {
  --sleva-akcent:   var(--pdu-barva-zluta-warm);
  --sleva-kod-bg:   var(--pdu-barva-tmavomodra);
  --sleva-kod-text: var(--pdu-barva-bila);
  --sleva-pruh-a:   var(--pdu-barva-sede-svetla);
  --sleva-pruh-b:   var(--pdu-barva-bila);
  border-left: 0.3em solid var(--sleva-akcent);
  background: repeating-linear-gradient(65deg, var(--sleva-pruh-a) 0 1.25em, var(--sleva-pruh-b) 1.25em 2.5em);
  background-size: 200% 100%;
  animation: pduSecStripes 15s linear infinite;
  padding: 1em 1.375em; margin: 1.25em 0;
  border-radius: var(--pdu-radius-m);
  font-size: 1.02em; line-height: 1.55; text-align: center;
}
.pdu-sec-sleva p { margin: 0.15em 0; }
.pdu-sec-sleva strong { color: var(--pdu-barva-tmavomodra); }
.pdu-sec-sleva-emoji { font-style: normal; margin-right: 0.3em; }
.pdu-sec-sleva-kod {
  display: inline-block; font-weight: 700; letter-spacing: 0.04em;
  background: var(--sleva-kod-bg); color: var(--sleva-kod-text);
  padding: 0.12em 0.55em; border-radius: var(--pdu-radius-s);
  margin: 0 0.15em; white-space: nowrap;
}
.pdu-sec-sleva-datum { font-weight: 700; color: var(--pdu-barva-tmavomodra); white-space: nowrap; }
.pdu-sec-sleva a { color: var(--pdu-barva-zelena-akcent); font-weight: 600; text-decoration: underline; }
.pdu-sec-sleva a:hover { text-decoration: none; }
@keyframes pduSecStripes { 0% { background-position: 0 0; } 100% { background-position: 100% 0; } }
/* Témata — přepínají jen akcent, chip a jemný tint pruhu */
.pdu-sec-sleva.is-prazdniny { --sleva-akcent: #F39C12; --sleva-kod-bg: #E9600A; --sleva-pruh-a: #FFF6E6; }
.pdu-sec-sleva.is-vanoce    { --sleva-akcent: #C0392B; --sleva-kod-bg: #1E6B3A; --sleva-pruh-a: #FBEDEA; }
.pdu-sec-sleva.is-zima      { --sleva-akcent: #4A90D9; --sleva-kod-bg: #1F3C88; --sleva-pruh-a: #EAF3FB; }
.pdu-sec-sleva.is-jaro      { --sleva-akcent: var(--pdu-barva-zelena-akcent); --sleva-kod-bg: var(--pdu-barva-zelena-brand); --sleva-pruh-a: var(--pdu-barva-zelena-svetla); }
@media (prefers-reduced-motion: reduce) {
  .pdu-sec-sleva { animation: none; background: var(--sleva-pruh-a); }
}


/* ───────────────────────────────────────────────────────────────────────
   SEKCE 7. SLEVOVÁ HORNÍ LIŠTA (.pdu-sec-promobar*)
   Tmavý celoplošný pruh nad obsahem se slevovým kódem, 4 sezonní varianty.
   STAV: NENASAZENO — živá horní lišta běží pod jinou třídou (.pdu-promobar-praz,
   vkládá internal-code/early.js pre-paint); .pdu-sec-promobar se nikde v pdu-code
   ani v záloze e-shopu (2026-07-27) nevyskytuje. Komponenta je připravená.
   ───────────────────────────────────────────────────────────────────────
   Popis:
   - Přepis inline-style „#top-promo-bar" (VOL2 z kampaňového checklistu)
   - Tmavý celoplošný pruh, centrovaný text, slevový KÓD v akcentní barvě
   - Mobil/desktop text řeší SDÍLENÉ utility .pdu-sec-hide-element-min992
     (mobil-only, kratší text) / .pdu-sec-hide-element-max991 (desktop-only, delší)
   - Barvy: --promo-bg + --promo-akcent → tematické varianty přepnou akcent
   - Vkládá se do hlavní šablony (nad obsah) — správce Tomáš Lohr

   Témata: is-prazdniny (☀️) · is-vanoce (🎄) · is-zima (❄️) · is-jaro (🌿)

   HTML:
     <div class="pdu-sec-promobar is-prazdniny">
       <span class="pdu-sec-hide-element-min992">☀️ SLEVA 10 % s kódem
         <span class="pdu-sec-promobar-kod">PRAZDNINY26</span>. <a href="/prazdniny26/">Více zde</a>.</span>
       <span class="pdu-sec-hide-element-max991">☀️ SLEVA 10 % s kódem
         <span class="pdu-sec-promobar-kod">PRAZDNINY26</span> na celý sortiment i montáž plotu
         na klíč. <a href="/prazdniny26/">Více zde</a>.</span>
     </div>
   ─────────────────────────────────────────────────────────────────────── */
.pdu-sec-promobar {
  --promo-bg:     var(--pdu-barva-tmavomodra);
  --promo-akcent: var(--pdu-barva-zluta-warm);
  background: var(--promo-bg); color: var(--pdu-barva-bila);
  text-align: center; padding: 0.7em 1em;
  font-size: 0.95em; line-height: 1.4; width: 100%;
}
.pdu-sec-promobar strong { color: var(--promo-akcent); }
.pdu-sec-promobar-kod { color: var(--promo-akcent); font-weight: 700; letter-spacing: 0.03em; white-space: nowrap; }
.pdu-sec-promobar a { color: var(--pdu-barva-bila); text-decoration: underline; font-weight: 700; margin-left: 0.25em; }
.pdu-sec-promobar a:hover { text-decoration: none; opacity: 0.9; }
/* Témata — jen akcentní barva (bright, kvůli tmavému pozadí) */
.pdu-sec-promobar.is-prazdniny { --promo-akcent: #FFC24B; }
.pdu-sec-promobar.is-vanoce    { --promo-akcent: #7FD19A; }
.pdu-sec-promobar.is-zima      { --promo-akcent: #8FC0F0; }
.pdu-sec-promobar.is-jaro      { --promo-akcent: #6FE0A6; }


/* ═══════════════════════════════════════════════════════════════════════════
   TOOLTIPY — jednotný vzhled napříč eshopem (2026-08-19)
   ───────────────────────────────────────────────────────────────────────────
   Rozšíření tooltipů z hlavičky Režimu AI (18. 8.) na celý web. Původní blok
   byl zúžený na `.pdu-ai-panel-head [data-tip]`; nově stačí kdekoliv atribut
   `data-tip` a štítek se objeví. Hlavička Režimu AI tím jede beze změny dál.

   ⚠ ROZSAH ZÚŽEN 19. 8. (rozhodnutí uživatele: „necháme je jen u hlavních
   věcí"). Bublinu dostávají POUZE holé ikony ovládacích prvků — zavřít,
   odstranit z košíku, ovládání Režimu AI, šipky galerie. Plošný převod
   `title` → bublina na obsahových prvcích byl zrušen (dělal 24 bublin na
   úvodní a 51 na kartě produktu a u CTA v postranním banneru přetékal přes
   výpis produktů). Nové `data-tip` se přidává jen na prvek, který bez něj
   nejde přečíst — ne na odkaz, který má vlastní text.

   POUŽITÍ
     <button aria-label="Zavřít" data-tip="Zavřít">×</button>

   DVA MECHANISMY, JEDEN VZHLED:

   A) [data-tip] — čisté CSS, bez JS a bez závislostí.
      Pro KRÁTKÉ jednořádkové popisky ikon, tlačítek a CTA.
      Směr: výchozí pod prvkem zarovnaný doprava; modifikátory
      is-left, is-center, is-top, is-side, is-wrap.

   B) Nativní Bootstrap 3 tooltip Shoptetu (.show-tooltip,
      .question-tooltip) — tady se mění POUZE barvy a tvar.
      Pro DLOUHÉ vysvětlivky odborných pojmů.

   PROČ DVA: čistě CSS bublina se u okraje okna ořízne a nemá jak se
   překlopit. Přesně z tohoto důvodu tu `.pdu-pro-tip` padl 30. 7.
   (viz style-products.css, sekce 18). Bootstrap si překlopení řeší sám,
   takže dlouhé texty zůstávají na něm. Krátký nowrap štítek u tlačítka
   tenhle problém nemá.

   CHOVÁNÍ: obojí jen na myši, @media (hover: hover). Na dotyku se
   nezobrazí nic, aby první ťuknutí neblokovalo proklik.

   PRAVIDLO PŘÍSTUPNOSTI: `data-tip` NENÍ popisek pro čtečku, obsah
   ::after se nečte spolehlivě. U každého ikonového prvku musí být
   zvlášť aria-label nebo viditelný text.

   POZOR NA DVOJITÝ ŠTÍTEK: prvek, který má zároveň `title` i `data-tip`,
   ukáže naši bublinu i nativní tooltip prohlížeče. Při přidávání
   `data-tip` se text z `title` přesouvá, needupluje.
   ═══════════════════════════════════════════════════════════════════════════ */

@media (hover: hover) {

  [data-tip] { position: relative; }

  [data-tip]::after {
    content: attr(data-tip);
    position: absolute;
    z-index: 10001;
    top: calc(100% + 6px);
    right: 0;
    left: auto;
    background: var(--pdu-barva-zelena-tmava, #243b2f);
    color: var(--pdu-barva-bila, #fff);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.3;
    padding: 5px 9px;
    border-radius: 6px;
    white-space: nowrap;
    box-shadow: 0 3px 10px rgba(0, 0, 0, .22);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-3px);
    transition: opacity .12s ease, transform .12s ease;
    pointer-events: none;
  }

  [data-tip]:hover::after,
  [data-tip]:focus-visible::after {
    opacity: 1;
    visibility: visible;
    transform: none;
  }

  /* ── Směr bubliny ─────────────────────────────────────────────────────────
     Pojmenováno podle toho, KDE bublina vyskočí. Výchozí stav (bez
     modifikátoru) je pod prvkem, pravým okrajem zarovnaná k prvku — stav
     zděděný z hlavičky Režimu AI, kde tlačítka sedí u pravého okraje panelu.
     Modifikátory jsou schválně vázané na [data-tip], protože samotné `is-left`
     je moc obecný název na to, aby žil globálně. */

  [data-tip].is-left::after   { right: auto; left: 0; }

  [data-tip].is-center::after { right: auto; left: 50%; transform: translate(-50%, -3px); }
  [data-tip].is-center:hover::after,
  [data-tip].is-center:focus-visible::after { transform: translate(-50%, 0); }

  [data-tip].is-top::after    { top: auto; bottom: calc(100% + 6px); transform: translateY(3px); }
  [data-tip].is-top:hover::after,
  [data-tip].is-top:focus-visible::after    { transform: none; }

  [data-tip].is-top.is-center::after { transform: translate(-50%, 3px); }
  [data-tip].is-top.is-center:hover::after,
  [data-tip].is-top.is-center:focus-visible::after { transform: translate(-50%, 0); }

  [data-tip].is-side::after   { top: 50%; bottom: auto; right: auto; left: calc(100% + 8px); transform: translate(3px, -50%); }
  [data-tip].is-side:hover::after,
  [data-tip].is-side:focus-visible::after   { transform: translate(0, -50%); }

  /* ── Dvouřádkový štítek ───────────────────────────────────────────────────
     Jen pro popisky, které se na jeden řádek nevejdou. Delší text patří na
     Bootstrap variantu níže, ne sem. */
  [data-tip].is-wrap::after { white-space: normal; width: max-content; max-width: 220px; }

}

@media (prefers-reduced-motion: reduce) { [data-tip]::after { transition: none; } }


/* ═══════════════════════════════════════════════════════════════════════════
   B) NATIVNÍ BOOTSTRAP 3 TOOLTIP SHOPTETU DO STEJNÉHO KABÁTU
   ───────────────────────────────────────────────────────────────────────────
   Shoptet Classic jede na Bootstrapu 3.3.5. Vlastní tooltip používá u
   .show-tooltip a .question-tooltip: vysvětlivky „?" u parametrů produktu,
   skladová dostupnost, info bublina u betonových produktů. Výchozí vzhled je
   černý obdélník s ostrými rohy, patkovým sans-serifem a průhledností 0,9.

   Měníme jen barvy a tvar. Pozicování, překlápění u okraje okna i chování
   zůstávají na Bootstrapu.

   POZOR: `.tooltip.pdu-pro-beton-bublina .tooltip-inner` ve style-products.css
   drží pevnou šířku 300 px. Má vyšší specificitu, takže max-width níže ji
   nepřebije a betonová bublina zůstane široká.
   ═══════════════════════════════════════════════════════════════════════════ */

.tooltip { font-family: inherit; }

/* Bootstrap dává .in opacity 0.9, tmavý štítek tím prosvítá. */
.tooltip.in { opacity: 1; }

.tooltip-inner {
  background-color: var(--pdu-barva-zelena-tmava, #243b2f);
  color: var(--pdu-barva-bila, #fff);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.35;
  padding: 5px 9px;
  border-radius: 6px;
  max-width: 260px;
  text-align: left;
  box-shadow: 0 3px 10px rgba(0, 0, 0, .22);
}

/* Šipka: Bootstrap ji kreslí přes border, barva se nastavuje zvlášť pro každý
   směr. Varianty -left/-right vznikají u tooltipů širších než samotný prvek. */
.tooltip.top .tooltip-arrow,
.tooltip.top-left .tooltip-arrow,
.tooltip.top-right .tooltip-arrow    { border-top-color: var(--pdu-barva-zelena-tmava, #243b2f); }

.tooltip.bottom .tooltip-arrow,
.tooltip.bottom-left .tooltip-arrow,
.tooltip.bottom-right .tooltip-arrow { border-bottom-color: var(--pdu-barva-zelena-tmava, #243b2f); }

.tooltip.left .tooltip-arrow         { border-left-color: var(--pdu-barva-zelena-tmava, #243b2f); }
.tooltip.right .tooltip-arrow        { border-right-color: var(--pdu-barva-zelena-tmava, #243b2f); }
/* ───────────────────────────────────────────────────────────────────────
   SEKCE 9. VÝPIS ČLÁNKŮ RUBRIKY /radce-pro-vyber-vhodneho-oploceni/
   Nativní výpis článků přestylovaný na mřížku nástrojů. Scope =
   body.in-radce-pro-vyber-vhodneho-oploceni → mřížka, nadpis (::before) i skrytí .pdg
   prosáklého z perexu fungují od prvního paintu čistým CSS (žádný CLS z JS).
   ⚠ Vzhled samotného průvodce (.pdgh) se 20. 8. 2026 přesunul do style-pdg.css, ale
     zelené ikony karet (.pdgh-ico) tu zůstávají: vykresluje je foot.js i tam, kde průvodce
     vůbec neběží — na LIVE je vypnutý a ikony tam jsou. Patří k výpisu, ne k průvodci. Tady
     zůstává jen výpis článků: musí platit od prvního paintu, kdežto style-pdg.css se
     stahuje až po něm. Dvě pravidla, která skrývají prosáklý `.pdg`, jsou také zdejší:
     skrývají SERVEROVÉ HTML, které je na stránce od prvního bajtu.
   ─────────────────────────────────────────────────────────────────────── */
/* perex clanku "Vyber vhodneho plotu" prosakuje do vypisu i s .pdg blokem -> ve vypisu vzdy skryt */
.in-radce-pro-vyber-vhodneho-oploceni .news-item .pdg{display:none}
.in-radce-pro-vyber-vhodneho-oploceni .news-wrapper{display:grid;grid-template-columns:repeat(2,1fr);gap:1em}
.in-radce-pro-vyber-vhodneho-oploceni .news-wrapper::before{content:'Nástroje a články rádce';grid-column:1/-1;margin:.9em 0 0;font-weight:700;font-size:1.3em;line-height:1.3;color:var(--pdu-barva-tmavomodra,#191932)}
/* karta = maly obrazek clanku (PNG z adminu) vlevo + text; zadny velky obrazkovy pruh */
/* karta "Vyber vhodneho plotu" (perex obsahuje .pdg) se od 2026-09-21 UKAZUJE: rozbalovaci menu Radce ma 8 polozek,
   vypis musi mit stejnych 8 (pokyn majitele). Drive skryta jako redundantni k hubu nad vypisem; skryty zustava jen .pdg uvnitr (radek vyse). */
.in-radce-pro-vyber-vhodneho-oploceni .news-wrapper .news-item{margin:0;display:grid;grid-template-columns:3.25em 1fr;gap:.85em;align-items:center;padding:.95em 1em 1.05em;border:1px solid var(--pdu-barva-okraj-jemny,#e0e0e0);border-bottom:.125em solid var(--pdu-barva-zelena-akcent,#00b46e);border-radius:var(--pdu-radius-card,.625em);background:var(--pdu-barva-bila,#fff);box-shadow:var(--pdu-stin-jemny,0 .25em .625em rgba(0,0,0,.04));transition:box-shadow var(--pdu-prechod-dur-stredni,.25s) ease,transform var(--pdu-prechod-dur-stredni,.25s) ease}
.in-radce-pro-vyber-vhodneho-oploceni .news-wrapper .news-item:hover{box-shadow:var(--pdu-stin-stredni,0 .375em 1.25em rgba(0,0,0,.06));transform:translateY(-2px)}
/* width:auto prebiji sablonove @media(min-width:1200px){.news-item .image{width:370px}} — jinak ikona pretece doprava pres text */
.in-radce-pro-vyber-vhodneho-oploceni .news-wrapper .news-item .image{margin:0;grid-column:1;width:auto;min-width:0;display:flex;align-items:center;justify-content:center}
.in-radce-pro-vyber-vhodneho-oploceni .news-wrapper .news-item .image img{display:block;width:3.25em;height:3.25em;aspect-ratio:1/1;object-fit:contain;transition:transform var(--pdu-prechod-dur-stredni,.25s) ease}
/* zelena guide ikona vlozena JS (foot.js radceCards) misto PNG — vraceno 2026-07-27 na LIVE stav */
.in-radce-pro-vyber-vhodneho-oploceni .news-wrapper .news-item .image .pdgh-ico{display:block;width:2.7em;height:2.7em;margin:0;fill:none;stroke:var(--pdu-barva-zelena-akcent,#00b46e);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.in-radce-pro-vyber-vhodneho-oploceni .news-wrapper .news-item .text{grid-column:2;padding:0;display:flex;flex-direction:column;gap:.35em;align-items:flex-start;justify-content:center;text-align:left}
.in-radce-pro-vyber-vhodneho-oploceni .news-wrapper .news-item .title{font-weight:700;color:var(--pdu-barva-tmavomodra,#191932);text-decoration:none;font-size:1.02em;line-height:1.3}
/* cela karta proklikavaci: odkaz nazvu se pres ::after roztahne pres celou kartu (stretched link) */
.in-radce-pro-vyber-vhodneho-oploceni .news-wrapper .news-item{position:relative;cursor:pointer}
/* head.css div#newsWrapper.news-wrapper div.news-item{margin-bottom:35px} má ID specificitu → ID-boost reset (rozestupy řeší grid gap) */
.in-radce-pro-vyber-vhodneho-oploceni div#newsWrapper.news-wrapper div.news-item{margin:0}
.in-radce-pro-vyber-vhodneho-oploceni .news-wrapper .news-item .title::after{content:'';position:absolute;inset:0}
/* hover cele karty (vc. obrazku) = zeleny nazev + jemne zvetseny obrazek, ne jen hover textu */
.in-radce-pro-vyber-vhodneho-oploceni .news-wrapper .news-item:hover .title{color:var(--pdu-cat-barva-link,#00b46e)}
.in-radce-pro-vyber-vhodneho-oploceni .news-wrapper .news-item:hover .image img{transform:scale(1.08)}
.in-radce-pro-vyber-vhodneho-oploceni .news-wrapper .news-item .pdgh-ico{transition:transform var(--pdu-prechod-dur-stredni,.25s) ease}
.in-radce-pro-vyber-vhodneho-oploceni .news-wrapper .news-item:hover .pdgh-ico{transform:scale(1.12)}
/* kratky popis = perex oriznuty na 2 radky (line-clamp) */
.in-radce-pro-vyber-vhodneho-oploceni .news-wrapper .news-item .description{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0;color:var(--pdu-barva-text-sekundarni,#5b5b6e);font-size:.86em;line-height:1.45}
.in-radce-pro-vyber-vhodneho-oploceni .news-wrapper .news-item .description p{margin:0;display:inline}
.in-radce-pro-vyber-vhodneho-oploceni .news-wrapper .news-item .description ul{margin:0;padding:0;list-style:none;display:inline}
.in-radce-pro-vyber-vhodneho-oploceni .news-wrapper .news-item .description li{display:inline}
.in-radce-pro-vyber-vhodneho-oploceni .news-wrapper .news-item .description li+li:before{content:' · '}
/* mobil: 1 sloupec, tesnejsi karta, mensi ikona, mensi nadpis sekce */
@media(max-width:37.49em){
.in-radce-pro-vyber-vhodneho-oploceni .news-wrapper{grid-template-columns:1fr;gap:.7em}
.in-radce-pro-vyber-vhodneho-oploceni .news-wrapper::before{font-size:1.15em;margin:.6em 0 0}
.in-radce-pro-vyber-vhodneho-oploceni .news-wrapper .news-item{grid-template-columns:2.6em 1fr;gap:.7em;padding:.75em .85em .85em}
.in-radce-pro-vyber-vhodneho-oploceni .news-wrapper .news-item .image .pdgh-ico{width:2.2em;height:2.2em}
.in-radce-pro-vyber-vhodneho-oploceni .news-wrapper .news-item .image img{width:2.6em;height:2.6em}
.in-radce-pro-vyber-vhodneho-oploceni .news-wrapper .news-item .title{font-size:1em}
}

/* ───────────────────────────────────────────────────────────────────────
   SEKCE 10. SHOPTET NADPISY (přestylování šablonových tříd)
   Naše BOLD pro nativní nadpisy (site-wide, 2026-07-24). Šablonové nadpisy jsou tenké
   (font-weight:400) — sjednotit na náš bold. Cíle (ověřeno v DOM):
     .homepage-group-title  = HP sekce (Nové články, produktové carousely, Naposledy navštívené)
     .category-title        = H1 kategorie (bold + trochu větší, user 2026-07-24)
   !important přebíjí šablonový .homepage-group-title.h4{font-weight:400} / .category-title{font-size:26px}.
   ─────────────────────────────────────────────────────────────────────── */
.homepage-group-title,
.category-title {
  font-weight: 800 !important;
  color: var(--pdu-barva-tmavomodra, #191932);
}
.category-title { font-size: 2.15em !important; line-height: 1.25; }
/* Stránky (typ page): šablonový titulek <header> h1 vs. náš pdu-pag hero v obsahu = duplicita/kolize
   (viz /pujcovna-naradi/). Tam, kde stránka MÁ hero (.pdu-pag-intro), šablonový titulek zmenšit
   na malý „nadtitulek" nad hero — hero zůstává hlavní (user: „hero nechat, titulky stránek zmenšit").
   Scope :has() → stránky BEZ hero (např. bez redesignu) titulek nechávají velký. Hero je samostatný H1. */
.pageArticleDetail:has(.pdu-pag-intro) > header h1 {
  font-size: 1.2em;
  font-weight: 600;
  color: var(--pdu-barva-text-sekundarni, #5b5b6e);
  margin-bottom: 0.4em;
}

/* ───────────────────────────────────────────────────────────────────────
   SEKCE 11. HP NOVÉ ČLÁNKY (přestyl .in-index .homepage-blog-wrapper)
   Přestyl šablonové sekce „Nové články" (2 nejnovější články, markup needitovatelný:
   .homepage-group-title.h4 + .news-item×2, celá karta = <a> →
   .image/.text(.title,.description,.read-article)). Karty jako blog listing
   (style-blog.css BLOK 12): foto 3/2 cover, zelený spodní akcent, hover lift+zoom;
   .read-article = zelený link se šipkou. Tlačítko „Všechny články" vkládá JS
   (script-sections.js HP BLOG NAV) do .pdu-sec-blognav.
   ─────────────────────────────────────────────────────────────────────── */
/* CLS: padding-bottom = rezervovaný slot pro .pdu-sec-blognav (JS append po first paintu, tlačítko
   absolute do paddingu, grid ho neroztahuje).
   2026-07-31: slot zvětšen 3.2em → 4.4em. Tlačítko má 48 px, rezerva byla 44,8 px, takže
   přesahovalo do karet o 3–4 px (měřeno na produkci, desktop i mobil). Teď 61,6 px = tlačítko
   + ~14 px mezera pod kartami.
   align-items: center → stretch. Při center se karty vycentrovaly na svou vlastní výšku, takže
   při různě dlouhém perexu byly různě vysoké (rozdíl 19–20 px) a nezarovnané. Stretch je
   výchozí chování gridu — karty vyplní řádek, výšku určí ta delší, spodní hrany sedí. */
.in-index .homepage-blog-wrapper{display:grid;grid-template-columns:1fr;gap:1.25em;margin:2.75em 0 1.5em;padding:0 0 4.4em;align-items:stretch;position:relative}
/* šablonový .row clearfix (::before/::after display:table) by v gridu vytvořil phantom itemy → pryč */
.in-index .homepage-blog-wrapper::before,.in-index .homepage-blog-wrapper::after{content:none}
@media(min-width:48em){.in-index .homepage-blog-wrapper{grid-template-columns:repeat(2,1fr)}}
.in-index .homepage-blog-wrapper .homepage-group-title{grid-column:1/-1;align-self:start;margin:0;padding-left:0;padding-right:0}
/* width:auto+padding:0 přebíjí šablonové .blog-wrapper .news-item{width:50%/25%;padding:20px} */
.in-index .homepage-blog-wrapper .news-item{margin:0;width:auto;max-width:none;padding:0;background:var(--pdu-barva-bila,#fff);border:1px solid var(--pdu-barva-okraj-jemny,#e0e0e0);border-bottom:.125em solid var(--pdu-barva-zelena-akcent,#00b46e);border-radius:var(--pdu-radius-card,.625em);overflow:hidden;box-shadow:var(--pdu-stin-jemny,0 .25em .625em rgba(0,0,0,.04));transition:box-shadow var(--pdu-prechod-dur-stredni,.25s) ease,transform var(--pdu-prechod-dur-stredni,.25s) ease}
.in-index .homepage-blog-wrapper .news-item:hover{box-shadow:var(--pdu-stin-stredni,0 .375em 1.25em rgba(0,0,0,.06));transform:translateY(-2px)}
.in-index .homepage-blog-wrapper .news-item>a{display:flex;flex-direction:column;height:100%;text-decoration:none;color:var(--pdu-barva-tmavomodra,#191932)}
.in-index .homepage-blog-wrapper .news-item .image{margin:0;width:auto;min-width:0;overflow:hidden;line-height:0}
.in-index .homepage-blog-wrapper .news-item .image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;transition:transform var(--pdu-prechod-dur-stredni,.25s) ease}
.in-index .homepage-blog-wrapper .news-item:hover .image img{transform:scale(1.04)}
/* CLS: padding-top 2.15em = 1em původní + 1.15em slot pro datum (JS insert po window.load → absolute, žádný posun titulku) */
.in-index .homepage-blog-wrapper .news-item .text{padding:2.15em 1.15em 1.15em;display:flex;flex-direction:column;gap:.4em;flex:1 1 auto;text-align:left;position:relative}
/* datum (vkládá JS z /blog/) — stejný badge jako výpis /blog/: nad titulkem, malé, tučné; absolute do rezervovaného padding-top slotu (CLS 0) */
.in-index .homepage-blog-wrapper .news-item time{position:absolute;top:1em;left:1.15em;right:1.15em;margin:0;font-size:.78em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--pdu-barva-text-sekundarni,#5b5b6e)}
.in-index .homepage-blog-wrapper .news-item .title{margin:0;font-weight:700;font-size:1.1em;line-height:1.35;color:var(--pdu-barva-tmavomodra,#191932)}
.in-index .homepage-blog-wrapper .news-item:hover .title{color:var(--pdu-barva-zelena-akcent,#00b46e)}
.in-index .homepage-blog-wrapper .news-item .description{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0;color:var(--pdu-barva-text-sekundarni,#5b5b6e);font-size:.9em;line-height:1.5}
/* „Číst článek" pryč — jako výpis /blog/ (celá karta je klikací <a>); necháváme šablonové display:none */
/* karta bez obrázku — kompaktní, obsah svisle vycentrovaný (žádná prázdná díra), jemně zelené pozadí */
.in-index .homepage-blog-wrapper .news-item:not(:has(.image)){background:var(--pdu-barva-zelena-svetla-2,#f5faf5)}
.in-index .homepage-blog-wrapper .news-item:not(:has(.image))>a{justify-content:center}
.in-index .homepage-blog-wrapper .news-item:not(:has(.image)) .description{-webkit-line-clamp:4;line-clamp:4}
/* tlačítko „Všechny články" (vkládá JS) — absolute do rezervovaného padding-bottom slotu wrapperu (CLS 0), vycentrovaný */
.in-index .pdu-sec-blognav{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:center;margin:0}
@media(prefers-reduced-motion:reduce){
.in-index .homepage-blog-wrapper .news-item,.in-index .homepage-blog-wrapper .news-item:hover,.in-index .homepage-blog-wrapper .news-item .image img{transform:none!important;transition:none!important}
}

/* ───────────────────────────────────────────────────────────────────────
   SEKCE 12. PATIČKA (.pdu-sec-foot-* + přestyl #footer)
   Redesign 2026-07-23, v2 one-banner — LIVE.
   ───────────────────────────────────────────────────────────────────────
   Celý spodek patičky = JEDEN textový banner (.pdu-sec-foot-main:
   informace | kontakt karta s CTA | prodejny+mapa+platby), druhý
   banner = rádce pás (.pdu-sec-foot-rdc, SVG set shodný s megamenu).
   Moduly Kontakty a Menu box se v patičce NEPOUŽÍVAJÍ (odebrané).
   - hover přepínání mapy: stávající script-pages.js SEKCE 7 (root
     .pdu-mapka2 + zóny .pdu-kraj2 = seznam prodejen, bez změn JS)
   - ostatní bannery v .custom-footer (mobilní počítadlo/doprava)
     se na desktopu skrývají — jinak dělají díry v layoutu
   - .footer-bottom → tmavý řádek (kontrast ≥ #cfd3e6 na #191932)
   ─────────────────────────────────────────────────────────────────────── */
#footer{background:var(--pdu-barva-sede-svetla,#F5F5F5);border-top:1px solid var(--pdu-barva-okraj-jemny,#E0E0E0)}
/* šablona: .site-name je position:absolute (left:20/top:96) a .custom-footer má
   padding-left:275px + padding-top:76px (prostor pro logo) → vše přebít na stack */
#footer .footer-rows{display:block;min-height:0;padding:1.9em 1.25em 1em}
#footer .footer-rows .site-name{position:static;display:block;float:none;width:auto;max-width:72em;margin:0 auto 1.4em;text-align:left}
#footer .site-name img{height:2.6em;width:auto}
#footer .custom-footer{display:block;width:100%;max-width:72em;margin:0 auto;padding:0;border-top:0}
#footer .custom-footer .banner,#footer .custom-footer .banner-wrapper{margin:0;padding:0}
/* šablonový .banner má overflow:hidden → ořezával stíny karet */
#footer .custom-footer .banner{overflow:visible}
#footer .custom-footer>div{margin:0 0 1.75em;padding:0;width:auto;float:none}
@media screen and (min-width:62em){
#footer .custom-footer>div:not(:has([class*="pdu-sec-foot"])){display:none}
}
/* mobil: cizí bannery bez pdu stylingu (např. Doprava zdarma) dostanou kartu, ať nevisí jako holý text */
@media screen and (max-width:61.9375em){
#footer .custom-footer>div:not(:has([class*="pdu-sec-"])) .banner-wrapper{display:block;background:var(--pdu-barva-bila,#fff);border:1px solid var(--pdu-barva-okraj-jemny,#E0E0E0);border-radius:var(--pdu-radius-card,.625em);padding:1em 1.1em;box-shadow:var(--pdu-stin-jemny,0 .25em .625em rgba(0,0,0,.04))}
}

/* ── sdílený nadpis sloupce (tmavý, zelené podtržení) — vč. aliasu -rdc-h ── */
#footer .pdu-sec-foot-h,#footer .pdu-sec-foot-rdc-h{display:inline-block;font-size:1.08em;text-transform:uppercase;letter-spacing:.04em;font-weight:800;color:var(--pdu-barva-tmavomodra,#191932);border-bottom:2px solid var(--pdu-barva-zelena-akcent,#00B46E);padding-bottom:.5em;margin:0 0 1em;text-decoration:none!important}
#footer a.pdu-sec-foot-h:hover,#footer .pdu-sec-foot-rdc-h:hover{color:var(--pdu-barva-zelena-akcent,#00B46E)}

/* ── BANNER 1: rádce pás ── */
#footer .pdu-sec-foot-rdc-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:.85em}
@media screen and (max-width:74.99em){#footer .pdu-sec-foot-rdc-grid{grid-template-columns:repeat(4,1fr)}}
/* <62em = mobilní zobrazení Shoptetu (hranice 991/992, stejně jako mobile-menu) */
@media screen and (max-width:61.9375em){
#footer .pdu-sec-foot-rdc-grid{grid-template-columns:repeat(2,1fr);gap:.5em}
#footer .pdu-sec-foot-rdc-grid .pdu-sec-foot-rdc-item{flex-direction:row!important;justify-content:flex-start;text-align:left;gap:.55em;padding:.55em .75em}
#footer .pdu-sec-foot-rdc-grid .pdu-sec-foot-rdc-item svg{width:1.35em;height:1.35em}
#footer .pdu-sec-foot-rdc-grid .pdu-sec-foot-rdc-item:hover{transform:none}
}
#footer .pdu-sec-foot-rdc-item{display:flex!important;flex-direction:column!important;align-items:center;gap:.5em;background:var(--pdu-barva-bila,#fff);border:1px solid var(--pdu-barva-okraj-jemny,#E0E0E0);border-radius:var(--pdu-radius-card,.625em);padding:.9em .6em;font-size:.83em;font-weight:600;color:var(--pdu-barva-tekst-zakladni,#333)!important;text-align:center;text-decoration:none!important;box-shadow:var(--pdu-stin-jemny,0 .25em .625em rgba(0,0,0,.04));transition:all var(--pdu-prechod-dur-stredni,.25s) ease}
#footer .pdu-sec-foot-rdc-item:hover{border-color:var(--pdu-barva-zelena-akcent,#00B46E);color:var(--pdu-barva-zelena-akcent,#00B46E)!important;transform:translateY(-3px);box-shadow:var(--pdu-stin-stredni,0 .375em 1.25em rgba(0,0,0,.06))}
#footer .pdu-sec-foot-rdc-item span{display:block}
#footer .pdu-sec-foot-rdc-item svg{width:1.9em;height:1.9em;overflow:visible;flex:none}
#footer .pdu-sec-foot-rdc-item svg path,#footer .pdu-sec-foot-rdc-item svg rect,#footer .pdu-sec-foot-rdc-item svg circle,#footer .pdu-sec-foot-rdc-item svg line{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ── BANNER 2: hlavní grid (informace | kontakt | prodejny) ── */
#footer .pdu-sec-foot-main{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:1.25em;align-items:stretch}
/* nadpisy sloupců v kartách — jednotně jako „Kontakt" */
#footer .pdu-sec-foot-main .pdu-sec-foot-h{font-size:1.18em;text-transform:none;letter-spacing:0;border-bottom:0;padding-bottom:0;margin:0 0 .6em}
@media screen and (max-width:61.9375em){
/* mobilní režim: obsah nejede na plnou šířku — strop ~36em, vycentrovat */
#footer .footer-rows .site-name{max-width:36em}
#footer .custom-footer{max-width:36em}
#footer .pdu-sec-foot-main{grid-template-columns:1fr;gap:1em}
#footer .pdu-sec-foot-info,#footer .pdu-sec-foot-kont,#footer .pdu-sec-foot-map.pdu-mapka2{padding:1.25em}
#footer .pdu-sec-foot-kont{order:1}
#footer .pdu-sec-foot-map{order:2}
#footer .pdu-sec-foot-info{order:3}
#footer .pdu-sec-foot-map .pdu-sec-foot-mapobr{max-width:24em}
}

/* informace — odkazy ve 2 sloupcích */
#footer .pdu-sec-foot-info{background:var(--pdu-barva-bila,#fff);border-top:.25em solid var(--pdu-barva-zelena-akcent,#00B46E);border-radius:var(--pdu-radius-card,.625em);box-shadow:var(--pdu-stin-stredni,0 .375em 1.25em rgba(0,0,0,.06));padding:1.4em}
#footer .pdu-sec-foot-info ul{columns:2;column-gap:1.5em;margin:0;padding:0;list-style:none}
#footer .pdu-sec-foot-info li{margin:0 0 .7em;break-inside:avoid}
#footer .pdu-sec-foot-info li a{font-size:.9em;color:#444;text-decoration:none}
#footer .pdu-sec-foot-info li a:hover{color:var(--pdu-barva-zelena-akcent,#00B46E)}

/* kontakt karta (bílá, zelené pilly, žluté CTA) */
#footer .pdu-sec-foot-kont{display:flex;flex-direction:column;gap:.6em;background:var(--pdu-barva-bila,#fff);border-top:.25em solid var(--pdu-barva-zelena-akcent,#00B46E);border-radius:var(--pdu-radius-card,.625em);box-shadow:var(--pdu-stin-stredni,0 .375em 1.25em rgba(0,0,0,.06));padding:1.4em}
/* kontakt obsah = živé komponenty .pdu-pag-tel-hero + .pdu-pag-info-line (style-pages, site-wide).
   Šablona v patičce přepíná odkazy na display:block → flex vynutit scoped pravidlem. */
#footer .pdu-sec-foot-kont .pdu-pag-tel-hero{display:inline-flex;align-items:center;align-self:flex-start;margin:0}
#footer .pdu-sec-foot-kont .pdu-pag-info-line{display:flex;align-items:center;gap:.55em;margin:0;font-size:.95em}
#footer .pdu-sec-foot-kont .pdu-pag-info-line a{display:inline}
#footer .pdu-sec-foot-kont-h{font-size:1.18em;font-weight:800;color:var(--pdu-barva-tmavomodra,#191932);margin:0}
#footer .pdu-sec-foot-kont-hod{font-size:.82em;color:var(--pdu-barva-text-sekundarni,#5B5B6E);margin:0 0 .15em}
#footer .pdu-sec-foot-pill{display:inline-flex;align-self:flex-start;align-items:center;gap:.55em;background:var(--pdu-barva-zelena-svetla-2,#F5FAF5);border:1px solid var(--pdu-barva-okraj-zeleny-jemny,#E0ECE0);color:var(--pdu-barva-tmavomodra,#191932)!important;font-weight:700;font-size:.9em;padding:.6em .85em;border-radius:.5em;text-decoration:none!important;transition:all var(--pdu-prechod-dur-stredni,.25s) ease}
#footer .pdu-sec-foot-pill-tel{font-size:1.02em;font-weight:800;letter-spacing:.02em}
#footer .pdu-sec-foot-pill:hover{background:var(--pdu-barva-zelena-akcent,#00B46E);border-color:var(--pdu-barva-zelena-akcent,#00B46E);color:var(--pdu-barva-bila,#fff)!important}
#footer .pdu-sec-foot-pill svg{width:1.05em;height:1.05em;flex:none;fill:var(--pdu-barva-zelena-akcent,#00B46E);transition:fill var(--pdu-prechod-dur-stredni,.25s) ease}
#footer .pdu-sec-foot-pill:hover svg{fill:var(--pdu-barva-bila,#fff)}
#footer .pdu-sec-foot-soc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45em;max-width:22em}
#footer .pdu-sec-foot-soc a{display:flex;justify-content:flex-start;align-items:center;gap:.45em;background:var(--pdu-barva-bila,#fff);border:1px solid var(--pdu-barva-okraj-jemny,#E0E0E0);border-radius:1.25em;padding:.45em .9em;font-size:.85em;font-weight:700;color:var(--pdu-barva-tmavomodra,#191932)!important;text-decoration:none!important;box-shadow:var(--pdu-stin-jemny,0 .25em .625em rgba(0,0,0,.04));transition:all var(--pdu-prechod-dur-stredni,.25s) ease}
/* ikona sítě: mask data-URI (bez zásahu do HTML), barva = zelený akcent, hover bílá */
#footer .pdu-sec-foot-soc a::before{content:"";width:1.1em;height:1.1em;flex:none;background:var(--pdu-barva-zelena-akcent,#00B46E);-webkit-mask:var(--pdu-soc-ico) center/contain no-repeat;mask:var(--pdu-soc-ico) center/contain no-repeat}
#footer .pdu-sec-foot-soc a[href*="facebook"]{--pdu-soc-ico:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M13.5%2022v-8h2.7l.4-3.2h-3.1V8.4c0-.9.3-1.6%201.7-1.6h1.5V4c-.3%200-1.2-.1-2.3-.1-2.3%200-3.9%201.4-3.9%204v2.9H7.8V14h2.7v8z'/%3E%3C/svg%3E")}
#footer .pdu-sec-foot-soc a[href*="instagram"]{--pdu-soc-ico:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M12%208.5A3.5%203.5%200%201015.5%2012%203.5%203.5%200%200012%208.5zm0-2.5a6%206%200%2011-6%206%206%206%200%20016-6zm6.3-.4a1.4%201.4%200%2011-1.4-1.4%201.4%201.4%200%20011.4%201.4zM12%204.2c-2.5%200-2.8%200-3.8.1a5.2%205.2%200%2000-1.7.3%203.4%203.4%200%2000-2%202%205.2%205.2%200%2000-.3%201.7c-.1%201-.1%201.3-.1%203.8s0%202.8.1%203.8a5.2%205.2%200%2000.3%201.7%203.4%203.4%200%20002%202%205.2%205.2%200%20001.7.3c1%20.1%201.3.1%203.8.1s2.8%200%203.8-.1a5.2%205.2%200%20001.7-.3%203.4%203.4%200%20002-2%205.2%205.2%200%2000.3-1.7c.1-1%20.1-1.3.1-3.8s0-2.8-.1-3.8a5.2%205.2%200%2000-.3-1.7%203.4%203.4%200%2000-2-2%205.2%205.2%200%2000-1.7-.3c-1-.1-1.3-.1-3.8-.1z'/%3E%3C/svg%3E")}
#footer .pdu-sec-foot-soc a[href*="youtube"]{--pdu-soc-ico:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M21.6%207.2a2.5%202.5%200%2000-1.8-1.8C18.3%205%2012%205%2012%205s-6.3%200-7.8.4a2.5%202.5%200%2000-1.8%201.8A26%2026%200%20002%2012a26%2026%200%2000.4%204.8%202.5%202.5%200%20001.8%201.8c1.5.4%207.8.4%207.8.4s6.3%200%207.8-.4a2.5%202.5%200%20001.8-1.8A26%2026%200%200022%2012a26%2026%200%2000-.4-4.8zM10%2015.2V8.8l5.5%203.2z'/%3E%3C/svg%3E")}
#footer .pdu-sec-foot-soc a[href*="tiktok"]{--pdu-soc-ico:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M16.6%203a4.9%204.9%200%20003.9%204v3a7.9%207.9%200%2001-3.9-1.3v5.7A5.7%205.7%200%201111%208.7v3.1a2.6%202.6%200%20102.5%202.6V3z'/%3E%3C/svg%3E")}
#footer .pdu-sec-foot-soc a:hover{background:var(--pdu-barva-zelena-akcent,#00B46E);border-color:var(--pdu-barva-zelena-akcent,#00B46E);color:#fff!important;transform:translateY(-1px)}
#footer .pdu-sec-foot-soc a:hover::before{background:#fff}
#footer .pdu-sec-foot-cta-btn{display:inline-flex;align-self:center;width:fit-content;align-items:center;justify-content:center;background-color:var(--pdu-barva-zluta-cta,#F4E732);background-image:var(--pdu-grad-btn-corner-light),var(--pdu-grad-btn-glossy-light);color:var(--pdu-barva-tmavomodra,#191932)!important;font-weight:800;padding:.75em 1.75em;border-radius:var(--pdu-radius-m,.375em);border:1px solid var(--pdu-barva-zluta-cta,#F4E732);font-size:.92em;text-decoration:none!important;box-shadow:0 0 0 1px var(--pdu-barva-okraj-jemny,#E0E0E0);transition:all var(--pdu-prechod-dur-stredni,.25s) ease;margin-top:1em}
#footer .pdu-sec-foot-cta-btn:hover,#footer .pdu-sec-foot-cta-btn:focus-visible{background-color:var(--pdu-barva-bila,#fff);background-image:var(--pdu-grad-btn-hover-corner),var(--pdu-grad-btn-hover-glossy);border-color:var(--pdu-barva-tmavomodra,#191932);transform:translateY(-1px);outline:none}

/* prodejny + mapa + platby (root nese .pdu-mapka2 kvůli JS → neutralizace layoutu) */
#footer .pdu-sec-foot-map.pdu-mapka2{line-height:1.5;max-width:none;margin:0;background:var(--pdu-barva-bila,#fff);border-top:.25em solid var(--pdu-barva-zelena-akcent,#00B46E);border-radius:var(--pdu-radius-card,.625em);box-shadow:var(--pdu-stin-stredni,0 .375em 1.25em rgba(0,0,0,.06));padding:1.4em}
#footer .pdu-sec-foot-shops{display:grid;grid-template-columns:1fr 1fr;gap:.15em .7em;margin:0 0 .9em;padding:0;list-style:none}
#footer .pdu-sec-foot-shops li{margin:0}
#footer .pdu-sec-foot-shops a{display:flex;align-items:center;gap:.4em;padding:.18em .4em;border-radius:var(--pdu-radius-m,.375em);font-size:.85em;color:#444;text-decoration:none;border:1px solid transparent;transition:all var(--pdu-prechod-dur-stredni,.25s) ease}
#footer .pdu-sec-foot-shops a::before{content:"";width:.45em;height:.45em;border-radius:50%;background:var(--pdu-barva-zelena-akcent,#00B46E);flex:none}
#footer .pdu-sec-foot-shops a:hover{background:var(--pdu-barva-bila,#fff);border-color:var(--pdu-barva-okraj-jemny,#E0E0E0);color:var(--pdu-barva-zelena-akcent,#00B46E)}
#footer .pdu-sec-foot-shops a.pdu-sec-foot-shops-all{font-weight:700;color:var(--pdu-barva-zelena-akcent,#00B46E)}
#footer .pdu-sec-foot-shops a.pdu-sec-foot-shops-all::before{background:transparent}
#footer .pdu-sec-foot-mapobr{line-height:0;max-width:19em}
#footer .pdu-sec-foot-mapobr img{width:100%;height:auto;display:block}
#footer .pdu-sec-foot-map .pdu-mapka2-btn{margin:.5em 0 0}
#footer .pdu-sec-foot-pays{display:none}

/* ── mikro-patička (.footer-bottom) — tmavý řádek, ČITELNÝ ── */
#footer .footer-bottom{background:var(--pdu-barva-tmavomodra,#191932);color:#cfd3e6;max-width:none;padding:1em 1.5em;margin-top:1em;display:flex;flex-wrap:wrap;gap:.5em 1.75em;align-items:center;justify-content:center;font-size:.85em}
#footer .footer-bottom .copyright{color:#cfd3e6}
#footer .footer-bottom .copyright strong{color:#fff}
#footer .footer-bottom a{color:#fff;text-decoration:underline}
#footer .footer-bottom a:hover{color:var(--pdu-barva-zelena-akcent,#00B46E)}
#footer .footer-bottom #signature,#footer .footer-bottom #signature a{color:#cfd3e6}
#footer .footer-bottom #signature img{filter:brightness(0) invert(1);opacity:.85}

/* ───────────────────────────────────────────────────────────────────────
   SEKCE 13. CLS REZERVACE (přestylování šablonových tříd)
   Perf audit 2026-07-24 — náhrada za vypnutý homepage-cls.css: rezervace místa pro
   prvky, které se dorenderují až po first paintu (logo, košík, HP widget, pořadí HP sekcí).
   Hodnoty REVALIDOVANÉ proti živému markupu 2026-07-24 (staré 600/1000/1931 px a 1:1
   karty už neplatí — product img mají width/height atributy 360×270, itoppanel zmizel
   s patičkou 7/23, hero má atributy 3000×495 + žádný srcset → mobilní 800/300 override
   by dnes deformoval). Detail viz meta/CHANGELOG.md.
   ─────────────────────────────────────────────────────────────────────── */

/* Logo: šablona nedává width/height (fetchpriority=low, natural 764×180) → bez rezervace
   header poskočí po načtení PNG. AR všude; pevná výška jen ≥768px (mobil má vlastní scale). */
/* POZOR: jen aspect-ratio, ŽÁDNÁ pevná výška. Pokus s `@media(min-width:48em){height:60px}`
   deformoval logo v pásmu 768–991 px (kontejner .site-name je tam 236 px, ale AR si pro
   h=60px žádá 254,7 px → max-width:100% ořízne šířku, výška zůstane zamčená → poměr 3,93
   místo 4,24 = 8 % roztažení). Šablona sama renderuje 55,5 px (768–991) / 60 px (≥992),
   což je správně; aspect-ratio drží CLS rezervaci bez zásahu do rozměru. Změřeno 2026-07-28. */
.site-name a img{aspect-ratio:764/180}
/* Nová mobilní hlavička (UMS mobile_header_v1, 2026-08): nativ dává img padding 5px 0
   + max-width:125px a kotva <a> má fixní height:50px → rezervaci výšky drží kotva, AR
   rezervace není potřeba. Hlavně: Blink počítá aspect-ratio přes BORDER box (border-box
   + padding) → logo splácnuté 6,43:1; WebKit přes content box (4,25 OK) — interop rozdíl.
   Na mobilu pod novou hlavičkou proto AR vypnout; desktop hlavička (≥768px) beze změny. */
@media (max-width:47.99em){
  body.ums_mobile_header_v1--on .site-name a img{aspect-ratio:auto}
}

/* Košík: text se mění JS („Prázdný košík" → „N položek…") → min-width proti mikroposunu.
   Jen desktop — mobil má icon-only tlačítko. */
/* 75em (1200px), NE 62em: text košíku má šablonový `.visible-lg-inline-block`, takže pod
   1200 px je skrytý a tlačítko je icon-only (50 px). Na 62em by rezervace vnutila 154 px =
   ~104 px mrtvého místa v pásmu 992–1199 px, aniž by měla co chránit. Změřeno 2026-07-28. */
@media(min-width:75em){.navigation-buttons>a.btn.cart-count{min-width:154px;text-align:center}}

/* Shoptet HP widget #products-5: rezervace pod naměřenou výškou (desktop 359px/4 karty)
   → absorbuje růst při dorenderování, neudělá prázdno. Mobil 2 sloupce ≈ 2 řady. */
body.type-index #products-5,
body.type-index .homepage-products-5{min-height:600px}
@media(min-width:62em){body.type-index #products-5,
body.type-index .homepage-products-5{min-height:350px}}

/* HP pořadí sekcí: foot.js §1 přesouvá .welcome-wrapper za .banners-row až po exec
   (≈DCL, PO progressive paintu) → viditelný skok hero. CSS order to samé od first
   paintu; JS přesun zůstává (DOM pořadí pro ostatní skripty), vizuálně už neposune. */
body.type-index main#content.content{display:flex;flex-direction:column}
body.type-index main#content.content>.banners-row{order:-2}
body.type-index main#content.content>.homepage-box.welcome-wrapper{order:-1}
/* flex vypíná margin-collapsing → jediná dotčená mezera (welcome ↓38px + nadpis ↑57px se
   místo kolapsu na 57 sečetly na 95). Ostatní mezery měřeny beze změny. Změřeno 2026-07-28. */
body.type-index main#content.content>.homepage-box.welcome-wrapper{margin-bottom:0}

/* ═══════════════════════════════════════════════════════════════════════
   PDU-SEC KALKULACKA BETONU (.pdu-sec-kb) — sbalovaci blok „Kolik betonu na
   sloupky?". Mount = <div class="pdu-sec-kb" data-kb></div> v popisu produktu
   nebo v hornim popisu kategorie; obsah vykresli script-sections.js BLOK 6.
   Sdilena komponenta (produkt i kategorie) -> patri do style-sections.css.
   Predlohy: sbalovani = .pdu-pag-faq-details, vysledek = .pdg-inline,
   tlacitko = .pdu-pag-btn-primary. Jen svetly rezim.
   ═══════════════════════════════════════════════════════════════════════ */
.pdu-sec-kb{
  --kb-g:var(--pdu-barva-zelena-akcent,#00B46E);
  --kb-navy:var(--pdu-barva-tmavomodra,#191932);
  --kb-bd:var(--pdu-barva-okraj-jemny,#e0e0e0);
  --kb-sec:var(--pdu-barva-text-sekundarni,#5b5b6e);
  --kb-mut:var(--pdu-barva-text-sedy,#666);
  margin:1.5em 0;font-size:16px;line-height:1.5;
  color:var(--pdu-barva-tekst-zakladni,#333);
}
/* rezervace vysky do doby, nez se blok vykresli (bez skoku layoutu) */
.pdu-sec-kb[data-kb]:not([data-kb-init]){min-height:4.25em}

/* Zavreny stav MA byt videt (pripominka 2026-08-12: „at to sviti"): svetle
   zeleny podklad + zeleny ramecek + ikona v kolecku + stitek „Spocitat" vpravo.
   Po otevreni hlavicka zbeli, aby pozornost prevzal obsah. Varianta „cele zelene
   tlacitko" byla vyzkousena a zamitnuta (2026-08-12) — tahle se libi vic. */
.pdu-sec-kb-box{
  background:var(--pdu-barva-zelena-svetla-3,#E8F8F0);
  border:2px solid var(--kb-g);border-bottom-width:.1875em;
  border-radius:var(--pdu-radius-card,.625em);overflow:hidden;
  box-shadow:var(--pdu-stin-jemny,0 .25em .625em rgba(0,0,0,.04));
  transition:box-shadow var(--pdu-prechod-dur-stredni,.25s) ease,
             transform var(--pdu-prechod-dur-rychly,.15s) ease;
}
.pdu-sec-kb-box:not([open]):hover{
  box-shadow:var(--pdu-stin-stredni,0 .375em 1.25em rgba(0,0,0,.06));transform:translateY(-1px);
}
.pdu-sec-kb-box[open]{background:var(--pdu-barva-bila,#fff)}
.pdu-sec-kb-sum{
  padding:.75em 2.25em .75em .875em;color:var(--kb-navy);font-weight:800;font-size:1.08em;
  cursor:pointer;list-style:none;position:relative;outline:none;
  display:flex;align-items:center;gap:.625em;flex-wrap:wrap;
}
.pdu-sec-kb-sum::-webkit-details-marker{display:none}
.pdu-sec-kb-sum::after{
  content:"▼";position:absolute;right:.75em;top:50%;margin-top:-.4em;
  color:var(--kb-g);font-size:.6875em;
  transition:transform var(--pdu-prechod-dur-stredni,.25s) ease;
}
.pdu-sec-kb-box[open] .pdu-sec-kb-sum::after{transform:rotate(180deg)}
.pdu-sec-kb-sum:focus-visible{box-shadow:inset 0 0 0 2px var(--kb-g)}
/* ikona v zelenem kolecku */
.pdu-sec-kb-ico{
  flex:0 0 auto;width:2.125em;height:2.125em;border-radius:50%;
  background:var(--kb-g);color:var(--pdu-barva-bila,#fff);
  display:flex;align-items:center;justify-content:center;
}
.pdu-sec-kb-ico svg{width:1.125em;height:1.125em;display:block}
.pdu-sec-kb-tit{flex:0 1 auto}
.pdu-sec-kb-note{font-weight:400;font-size:.8em;color:var(--kb-mut);flex:1 1 8em}
/* stitek „Spocitat" — vypada jako tlacitko, ale je soucast summary */
.pdu-sec-kb-cta{
  flex:0 0 auto;font-size:.8em;font-weight:700;letter-spacing:.01em;
  background:var(--kb-g);color:var(--pdu-barva-bila,#fff);
  padding:.3em .85em;border-radius:1.25em;white-space:nowrap;
}
.pdu-sec-kb-box[open] .pdu-sec-kb-cta{background:var(--kb-navy)}
@media (max-width:32.5em){
  .pdu-sec-kb-sum{font-size:1em;gap:.5em}
  .pdu-sec-kb-note{flex-basis:100%;order:3}
}

.pdu-sec-kb-body{
  padding:1.125em 1.125em 1.25em;border-top:1px solid var(--pdu-barva-okraj-svetly,#f0f0f0);
  background:var(--pdu-barva-sede-svetla,#f5f5f5);
}
.pdu-sec-kb-row{display:grid;grid-template-columns:1fr 1fr;gap:.875em;margin-bottom:.875em}
.pdu-sec-kb-row.is-1col{grid-template-columns:1fr}
@media (max-width:32.5em){.pdu-sec-kb-row{grid-template-columns:1fr}}
.pdu-sec-kb-lab{display:block;font-size:.8125em;font-weight:600;color:var(--kb-sec);margin-bottom:.375em;line-height:1.35}
.pdu-sec-kb-in{
  width:100%;font:inherit;font-size:.9375em;color:var(--pdu-barva-tekst-zakladni,#333);
  background:var(--pdu-barva-bila,#fff);border:1px solid var(--kb-bd);
  border-radius:var(--pdu-radius-m,.375em);padding:.625em .75em;height:auto;
  transition:border-color var(--pdu-prechod-dur-rychly,.15s) ease;
}
.pdu-sec-kb-in:hover{border-color:var(--kb-g)}
.pdu-sec-kb-in:focus{outline:2px solid var(--kb-g);outline-offset:1px;border-color:var(--kb-g)}

/* vysledek: zeleny ramecek po vzoru .pdg-inline */
.pdu-sec-kb-res{
  margin-top:1.125em;padding:1em 1.0625em;border:1px solid var(--kb-g);border-bottom-width:.1875em;
  border-radius:var(--pdu-radius-card,.625em);background:var(--pdu-barva-zelena-svetla-3,#E8F8F0);
}
.pdu-sec-kb-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4em}
.pdu-sec-kb-num{font-size:1.9em;font-weight:800;line-height:1.1;color:var(--kb-navy)}
.pdu-sec-kb-unit{font-size:.9375em;color:var(--kb-sec)}
.pdu-sec-kb-price{margin-left:auto;font-size:1.05em;font-weight:800;color:var(--kb-navy)}
.pdu-sec-kb-sub{margin:.375em 0 0;font-size:.8125em;color:var(--kb-sec)}

.pdu-sec-kb-btn{
  display:flex;align-items:center;justify-content:center;gap:.5em;width:100%;
  margin-top:.75em;padding:.75em 1.5em;font:inherit;font-size:1em;font-weight:700;cursor:pointer;
  border-radius:var(--pdu-radius-m,.375em);
  background-color:var(--kb-g);
  background-image:var(--pdu-grad-btn-corner),var(--pdu-grad-btn-glossy);
  color:var(--pdu-barva-bila,#fff);border:1px solid var(--kb-g);
  box-shadow:0 0 0 1px var(--kb-bd);
  transition:all var(--pdu-prechod-dur-stredni,.25s) ease;
}
.pdu-sec-kb-btn:hover,.pdu-sec-kb-btn:focus-visible{
  background-color:var(--pdu-barva-bila,#fff);
  background-image:var(--pdu-grad-btn-hover-corner),var(--pdu-grad-btn-hover-glossy);
  color:var(--kb-navy);border-color:var(--kb-navy);transform:translateY(-1px);outline:none;
}
.pdu-sec-kb-tip{margin:.5em 0 0;font-size:.8125em;color:var(--kb-mut);min-height:1em}
/* na detailu produktu neni co vybirat -> misto selectu jen nazev betonu */
.pdu-sec-kb-fix{
  margin:0;padding:.625em .75em;font-size:.9375em;font-weight:600;color:var(--kb-navy);
  background:var(--pdu-barva-bila,#fff);border:1px solid var(--kb-bd);
  border-radius:var(--pdu-radius-m,.375em);
}
/* proklik na produkt (jen v kategorii) */
.pdu-sec-kb-link{
  display:inline-block;margin-top:.625em;font-size:.8125em;font-weight:700;
  color:var(--pdu-barva-zelena-akcent-hover,#009458);text-decoration:underline;
}
.pdu-sec-kb-link::after{content:" →"}
.pdu-sec-kb-link:hover{color:var(--kb-navy)}
.pdu-sec-kb-tip.is-warn{color:var(--pdu-barva-cervena-alert,#E63C24);font-weight:600}
.pdu-sec-kb-how{margin-top:.625em}
.pdu-sec-kb-how>summary{cursor:pointer;font-size:.8125em;color:var(--kb-mut);font-weight:600}
.pdu-sec-kb-how p{margin:.5em 0 0;font-size:.8125em;color:var(--kb-sec)}

/* ═══════════════════════════════════════════════════════════════════════════
   SEKCE 14. KOŠÍK & CHECKOUT — PŘESUNUTO 2026-08-20
   ───────────────────────────────────────────────────────────────────────────
   Celá sekce žije v `sections/checkout/style-checkout.css`, který se v hlavičce
   načítá hned za tímhle souborem (kaskáda tím zůstala stejná).

   DŮVOD: tenhle soubor sdílíme s Režimem AI a jeho verze se staví jako
   „stažený LIVE soubor + vlastní diff", takže rozpracovaný košík z něj
   pokaždé vypadl. Vlastní soubor to vylučuje.

   ⚠ Sem už pravidla pro `body.ordering-process`, `body.in-kosik`,
   `body.in-dekujeme` ani `.cart-widget` NEPŘIDÁVAT — patří do style-checkout.css.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── trust pás (fáze 2 patičky, otevřeno 2026-09-18) — certifikační značky ──
   1. položka: Dun & Bradstreet, stupeň AA = hodnocení VYSOKÉ důvěryhodnosti.
   Sedí ve spodku karty .pdu-sec-foot-info, kde jinak zůstávalo prázdné místo
   (karty jsou ve gridu stretchnuté na nejvyšší z trojice).
   ⚠ Nejvyšší stupeň škály je AAA — copy nesmí tvrdit „nejvyšší hodnocení".
   ⚠ Bílý prostor v SVG = povinná ochranná zóna D&B (½x). NEOŘEZÁVAT, žádné
     záporné marginy, logo NEPŘEBARVOVAT (červená #e40042 je brand D&B).
   ⚠ Šířky v px, ne v em: šablona má body{font-size:14px} a html{font-size:10px},
     takže 1em = 14 px a 1rem = 10 px. Měřeno v prohlížeči na LIVE i TESTu.
     Minimum D&B pro AA = 18 mm šířky značky. Značka zabírá 67,6 % artboardu,
     takže 124 px artboardu ≈ 84 px značky ≈ 22,2 mm. Pod 107 px se jde pod minimum. */
#footer .pdu-sec-foot-info{display:flex;flex-direction:column}
#footer .pdu-sec-foot-info>ul{flex:none}
#footer .pdu-sec-foot-trust{margin:1.6em 0 0;padding:1.1em 0 0;border-top:1px solid var(--pdu-barva-okraj-jemny,#E0E0E0)}
#footer .pdu-sec-foot-info .pdu-sec-foot-trust{margin-top:auto}
#footer .pdu-sec-foot-trust-item{display:flex;align-items:center;gap:.9em;text-decoration:none!important;color:var(--pdu-barva-tekst-zakladni,#333)!important}
#footer .pdu-sec-foot-trust-item:focus-visible{outline:2px solid var(--pdu-barva-tmavomodra,#191932);outline-offset:3px;border-radius:.25em}
#footer .pdu-sec-foot-trust-logo{display:block;flex:none;width:124px;height:auto}
#footer .pdu-sec-foot-trust-txt{display:flex;flex-direction:column;gap:.15em;min-width:0}
#footer .pdu-sec-foot-trust-h{font-size:.9em;font-weight:800;line-height:1.3;color:var(--pdu-barva-tmavomodra,#191932)}
#footer .pdu-sec-foot-trust-p{font-size:.8em;line-height:1.4;color:var(--pdu-barva-text-sekundarni,#5B5B6E)}
/* podtržení jen pod textem, ne pod šipkou; hover nemění barvu (kontrast) */
#footer .pdu-sec-foot-trust-more{font-size:.8em;font-weight:700;color:var(--pdu-barva-tmavomodra,#191932);margin-top:.15em}
#footer .pdu-sec-foot-trust-more-t{text-decoration:underline;text-underline-offset:.15em;text-decoration-thickness:1px}
#footer .pdu-sec-foot-trust-arr{display:inline-block;transition:transform var(--pdu-prechod-dur-stredni,.25s) ease}
#footer .pdu-sec-foot-trust-item:hover .pdu-sec-foot-trust-more-t{text-decoration-thickness:2px}
#footer .pdu-sec-foot-trust-item:hover .pdu-sec-foot-trust-arr{transform:translateX(.2em)}
@media screen and (max-width:61.9375em){
#footer .pdu-sec-foot-trust{margin-top:1.3em;padding-top:1em}
#footer .pdu-sec-foot-trust-logo{width:120px}
}
@media (prefers-reduced-motion:reduce){
#footer .pdu-sec-foot-trust-arr{transition:none}
}
