/*
 * components.css – cassiopeia_drevocentrum, T8 „Hluboký smrk“
 * Mobile-first. Zlomy (podklady-specifikace.md kap. 5.1): M < 640, T 640–1023, D ≥ 1024.
 * Barvy, velikosti a mezery jen z tokens.css. Bez stínů, přechodů, levých pruhů, neproporcionálního písma a emoji.
 * Obsah: 0 základ, 1 skip link, 2 hlavička, 3 tlačítka a odkazy, 4 oznámení, 5 úvod a štítek dnes, 6 rozcestník,
 *        7 tmavý pás (ceník-štos, provoz, aktuality, kontakty), 8 kapitoly oborů, 9 prodejna, doprava, platby,
 *        10 patička, 11 tabulky, 12 obsah článků (záložky, galerie, citát), 13 lightbox, 14 pohyb,
 *        15 chybová a offline stránka (error.php, offline.php).
 */

/* ---------- 0. Základ ---------- */
html { scroll-padding-top: 1rem; }
body {
  margin: 0;
  background: var(--f8-vapno);
  color: var(--f8-ink);
  font-family: var(--f8-font);
  font-size: var(--f8-fs-body);
  line-height: var(--f8-lh-body);
  font-variant-numeric: var(--f8-num-text);
  overflow-x: clip;
  -webkit-text-size-adjust: 100%;
}
img { max-width: 100%; height: auto; }
h1, h2, h3, h4 { font-family: var(--f8-font-display); font-weight: 800; letter-spacing: -.02em; color: var(--f8-smrk-deep); text-wrap: balance; }
.dc-tmave h1, .dc-tmave h2, .dc-tmave h3, .dc-tmave h4 { color: var(--dc-text); }
.dc-tmave .dc-svetle h1, .dc-tmave .dc-svetle h2, .dc-tmave .dc-svetle h3, .dc-tmave .dc-svetle h4 { color: var(--f8-smrk-deep); }

a {
  color: var(--dc-odkaz);
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
}
a:hover { color: var(--dc-odkaz-hover); text-decoration-thickness: 2px; }
a:focus-visible, button:focus-visible, summary:focus-visible, [tabindex="0"]:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid var(--dc-fokus);
  outline-offset: 3px;
  border-radius: 0;
}
/* Fokus na tlačítku s plnou plochou: dvojitý kontrast (mezera ve vápně) */
.dc-tlacitko:focus-visible { outline-offset: 3px; }

.dc-ikona { flex: none; display: inline-block; width: 20px; height: 20px; vertical-align: -.2em; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
main:focus, .dc-obsah:focus { outline: 0; }
/* 0.5.3 (G5 P1-1, WCAG 2.4.7): Cassiopeia a Bootstrap nulují outline ovládacích prvků (.form-control:focus, .form-select:focus,
   .form-check-input:focus, .btn:focus-visible, .nav-link:focus-visible, .page-link:focus, .navbar-toggler:focus, .accordion-button:focus,
   .btn-close:focus, .form-range:focus, .focus-ring:focus, .carousel-control-*:focus) a dávají místo něj modrý stín 25 %. Vyšší specificita
   (.dc-web + třída) vrací jednotný fokus tokenu --dc-fokus 3 px; smrk proti vápnu 7,89 : 1, proti bílé 9,06 : 1, proti dřevu 5,63 : 1. */
.dc-web :is(.form-control, .form-control-plaintext, .form-select, .custom-select, .form-check-input, .form-range, .btn, .btn-close, .nav-link, .page-link,
  .navbar-toggler, .accordion-button, .focus-ring, .carousel-control-prev, .carousel-control-next):focus-visible,
.dc-web .btn-check:focus-visible + .btn {
  outline: 3px solid var(--dc-fokus); outline-offset: 2px; box-shadow:none;
}
.dc-obsah { display: block; }
/* Obaly pozic (index.php, jen při obsazené pozici): vlastní kontext, aby okraje modulů nepřetékaly ven */
.dc-oblast { display: flow-root; }
.dc-oblast:empty { display: none; }
.dc-oblast--oznameni, .dc-oblast--banner { position: relative; }
.dc-oblast--obsah-a, .dc-oblast--obsah-b, .dc-oblast--obsah-c, .dc-oblast--prijezd { position: relative; }
.dc-data { font-weight: 700; font-stretch: var(--f8-stretch-data); font-variant-numeric: var(--f8-num-data); white-space: nowrap; }
.dc-kontejner { box-sizing: border-box; max-width: var(--f8-kontejner); margin-inline: auto; padding-inline: var(--f8-gutter); }
@media (max-width: 1023.98px) { .dc-jen-desktop { display: none; } }
@media (min-width: 1024px) {
  html { scroll-padding-top: 11rem; } /* R12b: sticky hlavička 160 px + 16 px, cíl kotvy nezajede pod hlavičku (WCAG 2.4.11) */
  .dc-jen-mobil { display: none; }
}

/* ---------- 1. Skip link ---------- */
.dc-skok {
  position: absolute; z-index: 40; left: 16px; top: -96px;
  display: inline-flex; align-items: center; min-height: 48px; padding: 0 16px; box-sizing: border-box;
  background: var(--f8-white); color: var(--f8-smrk); border: 2px solid var(--f8-ink); border-radius: var(--f8-radius);
  font-size: var(--f8-fs-ui); font-weight: 600;
}
.dc-skok:focus, .dc-skok:focus-visible { top: 8px; }

/* ---------- 2. Hlavička, horní lišta s lešením, menu (markup: docs/tridy.md) ---------- */
.dc-hlavicka { position: relative; z-index: 20; background: var(--f8-white); border-bottom: 1px solid var(--f8-line); }
.dc-hlavicka__radek { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; min-height: 72px; gap: 0 12px; }
.dc-hlavicka__logo { display: block; padding: 8px 0; line-height: 0; }
.dc-hlavicka__logo-obr { display: block; width: 150px; height: auto; }
/* Bez loga ve stylu: Název stránek jako text */
.dc-hlavicka__logo-obr-text, .dc-paticka__logo-text { display: inline-block; font-family: var(--f8-font-display); font-size: var(--f8-fs-h4); font-weight: 800; line-height: 1.2; color: var(--f8-smrk-deep); }
.dc-hlavicka__menu-text { line-height: 1; }

/* Tlačítko Menu (jen pod 1024 px, dc.js odstraní hidden) */
.dc-hlavicka__menu-tlacitko {
  display: inline-flex; align-items: center; gap: 8px; min-width: 48px; min-height: 48px; padding: 0 14px; box-sizing: border-box;
  background: transparent; color: var(--f8-ink); border: 2px solid var(--f8-ink); border-radius: var(--f8-radius);
  font: inherit; font-size: var(--f8-fs-ui); font-weight: 600; cursor: pointer;
}
.dc-hlavicka__menu-tlacitko[hidden] { display: none; }
.dc-hlavicka__menu-tlacitko[aria-expanded="true"] { background: var(--f8-ink); color: var(--f8-white); }
.dc-hlavicka__menu-tlacitko:focus-visible { outline-offset: 2px; }

/* Panel menu: mobil pod hlavičkou přes celou šířku okna; zavírá ho atribut data-dc-menu="zavreno" */
.dc-menu { flex: 1 1 100%; display: block; margin-inline: calc(var(--f8-gutter) * -1); padding: 0 var(--f8-gutter) 8px; border-top: 1px solid var(--f8-line); }
@media (max-width: 1023.98px) { .dc-hlavicka[data-dc-menu="zavreno"] .dc-menu { display: none; } }

.dc-menu__hlavni ul, .dc-menu__hlavni { margin: 0; padding: 0; list-style: none; }
.dc-menu__hlavni li { border-bottom: 1px solid var(--f8-line); }
.dc-menu__hlavni a, .dc-menu__hlavni .nav-link, .dc-hlavicka__firmy a, .dc-hlavicka__leseni {
  display: flex; align-items: center; min-height: 56px; box-sizing: border-box;
  color: var(--f8-ink); text-decoration: underline 3px transparent; text-underline-offset: 6px;
  font-size: var(--f8-fs-h4); font-weight: 600; line-height: 1.25;
}
.dc-menu__hlavni a:hover, .dc-hlavicka__firmy a:hover, .dc-hlavicka__leseni:hover { color: var(--f8-smrk-deep); text-decoration-color: var(--f8-line); }
.dc-menu__hlavni a[aria-current="page"], .dc-menu__hlavni .active > a, .dc-menu__hlavni .current > a { text-decoration-color: var(--dc-akcent); }
.dc-menu__popis, .dc-hlavicka__firmy small, .dc-hlavicka__firmy .dc-popisek { display: block; font-size: var(--f8-fs-small); font-weight: 400; color: var(--f8-ink-600); }

/* Horní lišta: Pro firmy a lešení (mobil: řádky pod seznamem), telefon jen desktop */
.dc-hlavicka__horni { margin: 0; padding: 0; }
.dc-hlavicka__firmy { border-bottom: 1px solid var(--f8-line); }
.dc-hlavicka__firmy > * { margin: 0; }
.dc-hlavicka__leseni { gap: 8px; border-bottom: 1px solid var(--f8-line); color: var(--f8-ink); }
.dc-hlavicka__tel { display: none; }

/* E-shop: plné smrkové tlačítko v obou rozvrženích (markup .dc-tlacitko--plne; dvě třídy, aby rozměry hlavičky platily i po sekci 3) */
.dc-menu__eshop, .dc-menu__eshop.dc-tlacitko {
  display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; margin: 20px 0 12px; box-sizing: border-box;
  background: var(--f8-smrk); color: var(--f8-on); border: 0; border-radius: var(--f8-radius); text-decoration: none;
  font-size: var(--f8-fs-ui); font-weight: 600;
}
.dc-menu__eshop:hover, .dc-menu__eshop.dc-tlacitko:hover { background: var(--f8-smrk-deep); color: var(--f8-white); }

/* Mobilní pruh pod hlavičkou: věta dnes, Zavolat, Navigovat (pod 1024 px, dc-jen-mobil) */
.dc-pruh { padding: 12px var(--f8-gutter) 16px; background: var(--f8-white); border-bottom: 1px solid var(--f8-line); }
.dc-pruh__stav {
  display: flex; align-items: center; gap: 10px; min-height: 48px; margin-bottom: 8px; padding: 8px 12px; box-sizing: border-box;
  background: var(--f8-vapno-2); border-radius: var(--f8-radius); color: var(--f8-ink); text-decoration: none;
  font-size: var(--f8-fs-ui); font-weight: 600; line-height: 1.3;
}
.dc-pruh__stav[hidden] { display: none; }
.dc-pruh__stav[data-dc-otevreno="1"], .dc-pruh__stav.dc-je-otevreno { background: var(--f8-azur-100); }
.dc-pruh__akce { display: flex; gap: 8px; }
.dc-pruh .dc-pruh__tel { flex: 1 1 auto; min-width: 0; min-height: 56px; padding: 4px 10px; display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 10px; justify-content: start; align-items: center; }
.dc-pruh__tel > .dc-ikona { grid-column: 1; grid-row: 1 / span 2; }
.dc-pruh__tel-popisek { grid-column: 2; grid-row: 1; }
.dc-pruh__tel-cislo { grid-column: 2; grid-row: 2; }
.dc-pruh__tel-popisek { display: block; font-size: var(--f8-fs-small); font-weight: 600; line-height: 1.1; }
.dc-pruh__tel-cislo { display: block; font-size: var(--f8-fs-data); line-height: 1.1; font-weight: 700; font-stretch: var(--f8-stretch-data); font-variant-numeric: var(--f8-num-data); white-space: nowrap; }
.dc-pruh .dc-pruh__navigovat { flex: none; min-height: 56px; padding: 0 14px; }

/* Desktop: hlavička sticky, logo vlevo, vpravo nahoře horní lišta, pod ní menu a E-shop */
@media (min-width: 1024px) {
  .dc-hlavicka { position: sticky; top: 0; }
  .dc-hlavicka__radek { flex-wrap: nowrap; align-items: center; justify-content: flex-start; gap: 8px 48px; min-height: 0; }
  .dc-hlavicka__logo { padding: 10px 0; }
  .dc-hlavicka__logo-obr { width: 188px; }
  .dc-hlavicka__menu-tlacitko, .dc-hlavicka__menu-tlacitko[aria-expanded] { display: none; }
  .dc-pruh { display: none; }

  .dc-menu { flex: 1 1 640px; min-width: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 0 30px; margin: 0; padding: 0; border: 0; }
  .dc-hlavicka__horni { order: -1; flex: 1 1 100%; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 0 32px; padding-top: 6px; }
  .dc-hlavicka__firmy, .dc-hlavicka__leseni { border: 0; }
  .dc-hlavicka__firmy a, .dc-hlavicka__leseni, .dc-hlavicka__tel { min-height: var(--f8-cil); font-size: var(--f8-fs-ui); text-decoration: underline; text-decoration-color: currentColor; text-decoration-thickness: 2px; text-underline-offset: .2em; color: var(--f8-smrk); }
  .dc-hlavicka__firmy a:hover, .dc-hlavicka__leseni:hover { text-decoration-thickness: 3px; color: var(--f8-smrk-deep); }
  .dc-hlavicka__firmy small, .dc-hlavicka__firmy .dc-popisek { display: inline; margin-left: 10px; color: var(--f8-ink-600); text-decoration: none; }
  .dc-hlavicka__tel { display: inline-flex; align-items: center; gap: 10px; color: var(--f8-ink); text-decoration: none; }
  .dc-hlavicka__tel:hover { color: var(--f8-ink); }
  .dc-hlavicka__tel-popisek { font-size: var(--f8-fs-small); color: var(--f8-ink-600); }
  .dc-hlavicka__tel-cislo { font-size: var(--f8-fs-data); line-height: 1.1; font-weight: 700; font-stretch: var(--f8-stretch-data); font-variant-numeric: var(--f8-num-data); white-space: nowrap; }

  .dc-menu__hlavni { flex: 1 1 auto; }
  .dc-menu__hlavni, .dc-menu__hlavni ul { display: flex; flex-wrap: wrap; align-items: center; gap: 0 30px; }
  .dc-menu__hlavni li { border: 0; }
  .dc-menu__hlavni a, .dc-menu__hlavni .nav-link {
    min-height: 52px; border-top: 3px solid transparent; border-bottom: 3px solid transparent;
    text-decoration: none; font-size: var(--f8-fs-ui);
  }
  .dc-menu__hlavni a:hover { border-bottom-color: var(--f8-line); }
  .dc-menu__hlavni a[aria-current="page"], .dc-menu__hlavni .active > a, .dc-menu__hlavni .current > a { border-bottom-color: var(--dc-akcent); }
  .dc-menu__popis { display: none; }
  .dc-menu__eshop, .dc-menu__eshop.dc-tlacitko { margin: 0 0 8px auto; min-height: 48px; padding: 0 22px; }
}

/* Pruh Zavolat a Navigovat jsou tlačítka: .dc-tlacitko--plne a --obrys viz sekce 3 */

/* ---------- 3. Tlačítka a odkazy ---------- */
.dc-tlacitko {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; padding: 0 24px; box-sizing: border-box;
  background: var(--f8-smrk); color: var(--f8-on); border: 0; border-radius: var(--f8-radius); text-decoration: none;
  font: inherit; font-size: var(--f8-fs-ui); font-weight: 600; line-height: 1.2; cursor: pointer;
}
.dc-tlacitko:hover { background: var(--f8-smrk-deep); color: var(--f8-white); }
.dc-tlacitko--plne { background: var(--f8-smrk); color: var(--f8-on); }
.dc-tlacitko--velke { min-height: 56px; padding-inline: 28px; }
.dc-tlacitko--drevo { background: var(--f8-drevo); color: var(--f8-smrk-deep); font-weight: 700; }
.dc-tlacitko--drevo:hover { background: var(--f8-white); color: var(--f8-smrk-deep); }
.dc-tlacitko--obrys { background: transparent; color: var(--dc-odkaz); border: 2px solid currentColor; padding-inline: 20px; }
.dc-tlacitko--obrys:hover { background: var(--dc-akcent); color: var(--f8-on); }
.dc-tmave .dc-tlacitko--obrys { color: var(--f8-on); }
.dc-tmave .dc-tlacitko--obrys:hover { background: var(--f8-on); color: var(--f8-smrk-deep); }
body.studio .dc-tlacitko, body.studio .dc-tlacitko--plne { background: var(--st-orech); }
body.studio .dc-tlacitko:hover { background: var(--st-orech-deep); }
body.studio .dc-tlacitko--drevo { background: var(--f8-drevo); }
body.studio .dc-tlacitko--obrys { background: transparent; }
body.studio .dc-tlacitko--obrys:hover { background: var(--st-orech); }
body.studio .dc-menu__eshop, body.studio .dc-menu__eshop.dc-tlacitko { background: var(--f8-smrk); }
body.studio .dc-menu__eshop.dc-tlacitko:hover { background: var(--f8-smrk-deep); }
@media (max-width: 639.98px) { .dc-tlacitko--siroke-mobil { display: flex; width: 100%; } }

/* Odkaz s cílem aspoň 48 px (řádek pod ceníkem, kategorie e-shopu, Všechny aktuality) */
.dc-odkaz-ven { display: inline-flex; align-items: center; gap: 8px; }
.dc-odkaz { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; font-size: var(--f8-fs-ui); font-weight: 600; }
.dc-odkaz--tlusty { text-decoration-thickness: 2px; }
.dc-telefon {
  display: inline-flex; align-items: center; gap: 10px; min-height: 48px; color: var(--dc-text); text-decoration: none;
}
.dc-telefon .dc-data { font-size: var(--f8-fs-data); }
.dc-telefon:hover { text-decoration: underline; text-decoration-thickness: 2px; color: var(--dc-text); }
.dc-popisek { font-size: var(--f8-fs-small); color: var(--dc-text-tlumeny); }

/* ---------- 4. Provozní oznámení (K2) ---------- */
.dc-oznameni { background: var(--f8-azur-100); border-top: 4px solid var(--f8-azur); color: var(--f8-ink); }
.dc-oznameni p, .dc-oznameni > div { box-sizing: border-box; max-width: var(--f8-kontejner); margin: 0 auto; padding: 12px var(--f8-gutter); font-size: var(--f8-fs-small); line-height: 1.45; }
.dc-oznameni strong { font-weight: 600; }
.dc-oznameni a { color: var(--f8-smrk); }
.dc-oznameni__platnost { color: var(--f8-ink-700); white-space: nowrap; }
@media (min-width: 1024px) { .dc-oznameni p, .dc-oznameni > div { padding-block: 10px; } }

/* ---------- 5. Úvod a štítek dnes ---------- */
.dc-uvod { position: relative; }
.dc-uvod__foto { position: relative; height: 300px; overflow: hidden; }
.dc-uvod__foto img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 0 50%; }
.dc-uvod__stitek-obal { position: absolute; inset: auto 0 0 0; }
.dc-uvod__smrk { background: var(--f8-smrk); color: var(--f8-on); }
.dc-uvod__smrk-vnitrek {
  box-sizing: border-box; max-width: var(--f8-kontejner); margin-inline: auto; padding: 28px var(--f8-gutter) 32px;
  display: flex; flex-wrap: wrap; align-items: flex-end; gap: 28px 64px;
}
.dc-uvod h1 {
  flex: 7 1 600px; min-width: 0; max-width: 46rem; margin: 0;
  font-size: var(--f8-fs-h1); line-height: 1; letter-spacing: -.025em; font-weight: 800; color: var(--f8-on);
}
.dc-uvod__akce { flex: 5 1 420px; min-width: 0; }
.dc-uvod__perex { margin: 16px 0 0; max-width: 32rem; font-size: var(--f8-fs-small); line-height: 1.45; color: var(--f8-on-muted); }
.dc-uvod__telefon { display: none; }
.dc-uvod__tlacitka { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin: 20px 0 0; }
.dc-uvod__tlacitka .dc-tlacitko--obrys { display: none; } /* Navigovat je na mobilu v pruhu */

/* Štítek „dnes“: bílá plocha, kotouč a věta. Naplní ho dc.js, bez JS zůstane týdenní doba. */
.dc-stitek-dnes {
  display: inline-flex; align-items: center; gap: 14px; min-height: 64px; max-width: 100%; box-sizing: border-box;
  padding: 10px 20px 10px var(--f8-gutter); background: var(--f8-white); color: var(--f8-ink); text-decoration: none;
}
.dc-stitek-dnes:hover { color: var(--f8-ink); }
.dc-stitek-dnes:hover .dc-stitek-dnes__veta { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .2em; }
.dc-stitek-dnes__text { display: flex; flex-direction: column; line-height: 1.3; }
.dc-stitek-dnes__veta { font-size: var(--f8-fs-ui); font-weight: 700; }
.dc-stitek-dnes__doba { font-size: var(--f8-fs-small); color: var(--f8-ink-600); font-variant-numeric: var(--f8-num-data); }
.dc-kotouc {
  flex: none; display: flex; align-items: center; justify-content: center; box-sizing: border-box;
  width: 28px; height: 28px; border-radius: 50%; border: 2px solid var(--f8-smrk); background: var(--f8-vapno-2);
  animation: dc-kotouc 700ms cubic-bezier(.2, .7, .2, 1) 300ms 1 both;
}
.dc-kotouc::after { content: ""; display: block; width: 7px; height: 7px; box-sizing: content-box; border-radius: 50%; background: var(--f8-white); border: 2px solid var(--f8-smrk); }
.dc-kotouc.dc-je-otevreno, [data-dc-otevreno="1"] > .dc-kotouc, [data-dc-otevreno="1"] .dc-kotouc { background: var(--f8-azur); }
@keyframes dc-kotouc { from { transform: scale(.2); opacity: 0; } to { transform: scale(1); opacity: 1; } }

@media (min-width: 640px) {
  .dc-uvod__tlacitka .dc-tlacitko--obrys { display: inline-flex; }
}
@media (min-width: 1024px) {
  .dc-uvod__foto { height: 380px; }
  .dc-uvod__foto img { object-position: 18% 85%; }
  .dc-uvod__stitek-obal > .dc-kontejner { padding-inline: var(--f8-gutter); }
  .dc-stitek-dnes { gap: 18px; min-height: 76px; padding: 16px 36px 16px 22px; }
  .dc-stitek-dnes__veta { font-size: var(--f8-fs-h4); }
  .dc-kotouc { width: 32px; height: 32px; }
  .dc-kotouc::after { width: 8px; height: 8px; }
  .dc-uvod__smrk-vnitrek { padding-block: 32px 36px; }
  .dc-uvod__telefon { display: inline-flex; align-items: center; gap: 14px; min-height: 56px; color: var(--f8-on); text-decoration: none; }
  .dc-uvod__telefon:hover { color: var(--f8-white); }
  .dc-uvod__telefon span { display: flex; flex-direction: column; line-height: 1.02; }
  .dc-uvod__telefon small { font-size: var(--f8-fs-small); color: var(--f8-on-muted); }
  .dc-uvod__telefon .dc-data { font-size: var(--f8-fs-h2); }
  .dc-uvod__tlacitka { margin-top: 18px; }
  .dc-uvod__perex { margin-top: 14px; }
}

/* ---------- 6. Rozcestník: dlaždice oborů ---------- */
.dc-rozcestnik { box-sizing: border-box; max-width: var(--f8-kontejner); margin-inline: auto; padding: 32px var(--f8-gutter) 0; }
.dc-dlazdice { display: flex; flex-wrap: wrap; gap: 28px 16px; margin: 0; padding: 0; list-style: none; }
.dc-dlazdice > li { flex: 1 1 150px; min-width: 0; }
.dc-dlazdice__odkaz { display: flex; flex-direction: column; height: 100%; color: var(--f8-ink); text-decoration: none; }
.dc-dlazdice__odkaz:hover { color: var(--f8-ink); }
.dc-dlazdice__kod { display: block; height: 8px; background: var(--f8-kod-stavba); }
.dc-dlazdice__kod--stavba { background: var(--f8-kod-stavba); }
.dc-dlazdice__kod--truhlari { background: var(--f8-kod-truhlari); }
.dc-dlazdice__kod--dum { background: var(--f8-kod-dum); }
.dc-dlazdice__kod--barvy { display: flex; background: none; }
.dc-dlazdice__kod--barvy > span { flex: 1; }
.dc-dlazdice__kod { order: 0; }
.dc-dlazdice__foto { order: 1; display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.dc-dlazdice__text { order: 2; display: block; }
.dc-dlazdice__nazev {
  display: block; padding-top: 12px; font-family: var(--f8-font-display); font-size: var(--f8-fs-h3); line-height: 1.1;
  font-weight: 800; letter-spacing: -.02em; color: var(--f8-smrk-deep);
}
.dc-dlazdice__odkaz:hover .dc-dlazdice__nazev { text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: .14em; }
.dc-dlazdice__popis { display: block; margin-top: 4px; font-size: var(--f8-fs-small); line-height: 1.4; color: var(--f8-ink-600); }
.dc-dlazdice__popis--dlouhy { display: none; }
@media (min-width: 880px) {
  .dc-dlazdice { gap: 32px 24px; }
  .dc-dlazdice > li { flex-basis: 200px; }
}
@media (min-width: 1024px) {
  .dc-dlazdice > li { flex-basis: 260px; }
  .dc-dlazdice__odkaz { display: flex; }
  .dc-dlazdice__text { order: 1; min-height: 128px; }
  .dc-dlazdice__nazev { padding-top: 14px; line-height: 1.15; }
  .dc-dlazdice__foto { order: 2; margin-top: 16px; aspect-ratio: 4 / 3; }
  .dc-dlazdice__popis--kratky { display: none; }
  .dc-dlazdice__popis--dlouhy { display: block; }
}

/* ---------- 7. Tmavý pás (hluboký petrolej --f8-smrk-deep): aktuality, provoz, komu volat, případně ceník-štos ---------- */
.dc-pas { margin-top: 64px; background: var(--f8-smrk-deep); color: var(--f8-on); }
.dc-pas__mrizka {
  padding-block: 64px;
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 48px;
}
/* R20: mobilní pořadí aktuality, provoz, kontakty (ceník-štos, je-li na stránce, až za nimi) */
.dc-pas__aktuality { order: 1; }
.dc-pas__provoz { order: 2; }
.dc-pas__kontakty { order: 3; }
.dc-pas__cenik { order: 4; }
.dc-pas__cenik h2 { margin: 0; font-size: var(--f8-fs-h2); line-height: 1.05; }
.dc-pas__uvod { margin: 14px 0 0; max-width: 40rem; color: var(--f8-on-muted); }

@media (min-width: 1024px) {
  .dc-pas { margin-top: var(--f8-sp-9); }
  /* R20 (návrh „titulka, aktuality a tmavý pás“, varianta Petrolej): aktuality přes celou šířku, pod linkou otevírací doba 5/12 a Komu volat 7/12 */
  .dc-pas__mrizka {
    padding-block: 80px 96px; gap: 0 56px; align-items: start;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    grid-template-areas: "aktuality aktuality" "provoz kontakty";
  }
  .dc-pas__mrizka:not(:has(> .dc-pas__aktuality)) { grid-template-areas: "provoz kontakty"; }
  .dc-pas__mrizka:not(:has(> .dc-pas__provoz)) { grid-template-areas: "aktuality aktuality" "kontakty kontakty"; }
  /* stránka s ceníkem-štosem v pásu (dc-pas-levy): původní rozložení R4 */
  .dc-pas__mrizka:has(> .dc-pas__cenik) {
    gap: 0 72px; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    grid-template-areas: "cenik provoz" "cenik aktuality" "kontakty kontakty";
  }
  .dc-pas__provoz, .dc-pas__kontakty, .dc-pas__cenik, .dc-pas__aktuality { order: 0; }
  .dc-pas__cenik { grid-area: cenik; }
  .dc-pas__provoz { grid-area: provoz; }
  .dc-pas__aktuality { grid-area: aktuality; }
  .dc-pas__kontakty { grid-area: kontakty; }
  .dc-pas__mrizka:has(> .dc-pas__provoz) > .dc-pas__aktuality, .dc-pas__mrizka:has(> .dc-pas__kontakty) > .dc-pas__aktuality { margin-bottom: 56px; padding-bottom: 56px; border-bottom: 1px solid var(--f8-on-line); }
  .dc-pas__mrizka:has(> .dc-pas__provoz) > .dc-pas__kontakty { padding-top: 36px; }
  .dc-pas__mrizka:has(> .dc-pas__cenik) > .dc-pas__kontakty { margin-top: 72px; padding-top: 0; }
  .dc-pas__mrizka:has(> .dc-pas__cenik) > .dc-pas__aktuality { margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
}

/* Vápenný pult: provoz je světlý ostrov na smrku vždy, aktuality jen na desktopu (na mobilu leží přímo na smrku) */
.dc-pas__provoz, .dc-pas__aktuality--pult { background: var(--f8-vapno); }
.dc-pas__provoz { padding: 28px 20px 20px; --dc-text: var(--f8-ink); --dc-text-tlumeny: var(--f8-ink-600); --dc-odkaz: var(--dc-akcent); --dc-odkaz-hover: var(--dc-akcent-deep); --dc-fokus: var(--dc-akcent); --dc-linka: var(--f8-line); color: var(--f8-ink); }
.dc-pas__provoz h2, .dc-pas__aktuality h2, .dc-pas__kontakty h2 { margin: 0; font-size: var(--f8-fs-h3); line-height: 1.2; font-weight: 700; font-stretch: var(--f8-stretch-nadpis); letter-spacing: 0; }
.dc-pas__provoz h2 { color: var(--f8-smrk-deep); }
@media (min-width: 640px) { .dc-pas__provoz { padding: 32px 32px 24px; } }
@media (min-width: 1024px) {
  .dc-pas__provoz { padding: 36px 36px 28px; }
  /* R20: aktuality už nejsou ve vápenném pultu, jen vedle ceníku-štosu (stránka s dc-pas-levy) zůstávají na vápně */
  .dc-pas__mrizka:has(> .dc-pas__cenik) > .dc-pas__aktuality { padding: 28px 36px 32px; background: var(--f8-vapno); border-top: 2px solid var(--f8-smrk-deep); --dc-text: var(--f8-ink); --dc-text-tlumeny: var(--f8-ink-600); --dc-odkaz: var(--dc-akcent); --dc-odkaz-hover: var(--dc-akcent-deep); --dc-fokus: var(--dc-akcent); --dc-linka: var(--f8-line); color: var(--f8-ink); }
  .dc-pas__mrizka:has(> .dc-pas__cenik) > .dc-pas__aktuality h2 { color: var(--f8-smrk-deep); }
}

/* R20: kompaktní otevírací doba v pásu (stejný model jako patička): menší věta stavu a časy */
.dc-pas__provoz .dc-provoz__veta { margin-top: 14px; padding: 10px 14px; font-size: var(--f8-fs-ui); }
.dc-pas__provoz .dc-provoz__tabulka th, .dc-pas__provoz .dc-provoz__tabulka td { padding-block: 11px; }
.dc-pas__provoz .dc-provoz__tabulka td { font-size: var(--f8-fs-body); }
.dc-pas__provoz .dc-provoz__veta .dc-ikona, .dc-pas__provoz .dc-provoz__veta svg { flex-shrink: 0; }

/* Ceník-štos (varianta C): pruh ve výšce úměrné tloušťce, výšky dodává dc-stos-pruhy.css */
.dc-stos__tabulka-obal { margin-top: 24px; overflow-x: auto; }
.dc-stos { width: 100%; border-collapse: collapse; font-variant-numeric: var(--f8-num-data); border-bottom: 2px solid var(--f8-on-line); }
.dc-stos caption { caption-side: bottom; padding-top: 12px; text-align: left; font-size: var(--f8-fs-small); color: var(--f8-on-muted); }
.dc-stos thead tr { border-bottom: 2px solid var(--f8-on-line); }
.dc-stos thead th { padding: 10px 16px 10px 0; text-align: left; font-size: var(--f8-fs-small); font-weight: 600; color: var(--f8-on-muted); }
.dc-stos thead th:last-child { padding-right: 0; }
.dc-stos thead th.dc-stos__th-cena { text-align: right; } /* R4b: vpravo jen Cena (sloupec čísel), Tloušťka vždy vlevo */
.dc-stos__skupina { padding: 24px 0 8px; text-align: left; font-size: var(--f8-fs-ui); font-weight: 700; color: var(--f8-on); }
.dc-stos tbody + tbody .dc-stos__skupina { padding-top: 28px; }
.dc-stos__tl { text-align: left; font-size: var(--f8-fs-data); line-height: 1.2; font-weight: 700; font-stretch: var(--f8-stretch-data); font-variant-numeric: var(--f8-num-data); white-space: nowrap; color: var(--f8-on); }
.dc-stos__pruh-bunka { vertical-align: middle; }
.dc-stos__pruh { display: block; background: var(--f8-drevo); border-radius: var(--f8-radius); block-size: 14px; }
.dc-stos__pruh--caru, .dc-stos__pruh--ceka { background: none; box-sizing: border-box; border: 2px dashed var(--f8-drevo); }
.dc-stos__format { font-size: var(--f8-fs-small); color: var(--f8-on-muted); font-variant-numeric: var(--f8-num-data); white-space: nowrap; }
.dc-stos__cena { text-align: right; font-size: var(--f8-fs-h3); line-height: 1.2; font-weight: 700; font-stretch: var(--f8-stretch-data); font-variant-numeric: var(--f8-num-data); white-space: nowrap; color: var(--f8-on); }
.dc-stos__stitek { display: inline-block; margin-left: 10px; padding: 0 8px; background: var(--f8-azur); color: var(--f8-ink); border-radius: var(--f8-radius); font-size: var(--f8-fs-small); font-weight: 600; line-height: 1.6; vertical-align: middle; }
.dc-stos tbody tr:not(:first-child) { height: 60px; }
.dc-stos tbody td, .dc-stos tbody th:not(.dc-stos__skupina) { padding: 8px 16px 8px 0; }
.dc-stos tbody td:last-child { padding-right: 0; }
.dc-stos__pruh-bunka { width: 46%; padding-right: 28px; }
.dc-stos__odkazy { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 32px; margin: 28px 0 0; padding: 0; list-style: none; }
.dc-stos__odkazy .dc-tlacitko { min-height: 56px; padding-inline: 28px; }
.dc-stos__odkazy a:not(.dc-tlacitko) { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; font-size: var(--f8-fs-ui); font-weight: 600; }
.dc-stos__odkazy .dc-tlacitko--drevo { color: var(--f8-smrk-deep); }

/* Mobil a T: tři sloupce na řádek (tloušťka a formát pod ní | čelo desky | cena), bez vodorovného posunu.
   Tabulka se mění na mřížku, role zachovává markup (role="table|row|rowheader|cell" viz docs/tridy.md). */
@media (max-width: 1023.98px) {
  .dc-stos thead { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: inset(50%); }
  .dc-stos, .dc-stos tbody, .dc-stos tr, .dc-stos caption { display: block; }
  .dc-stos tbody tr:not(:first-child) { height: auto; }
  .dc-stos tbody tr { display: grid; grid-template-columns: minmax(5.5rem, auto) minmax(0, 1fr) auto; grid-template-areas: "tl pruh cena" "fmt pruh cena"; align-items: center; column-gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--f8-on-line); }
  .dc-stos tbody tr:first-child { display: block; padding: 0; border: 0; }
  .dc-stos tbody td, .dc-stos tbody th:not(.dc-stos__skupina) { display: block; padding: 0; }
  .dc-stos .dc-stos__tl { grid-area: tl; align-self: end; }
  .dc-stos .dc-stos__format { grid-area: fmt; align-self: start; }
  .dc-stos .dc-stos__pruh-bunka { grid-area: pruh; width: auto; padding: 0; }
  .dc-stos .dc-stos__cena { grid-area: cena; font-size: var(--f8-fs-h3); }
}
@media (max-width: 639.98px) {
  .dc-stos__odkazy { flex-direction: column; align-items: stretch; gap: 0; }
  .dc-stos__odkazy .dc-tlacitko { justify-content: center; margin-bottom: 12px; }
}

/* Provoz (K3): věta dnes, tabulka týdne, příjezd */
.dc-provoz__veta {
  display: flex; align-items: center; gap: 12px; margin: 18px 0 0; padding: 14px 16px;
  background: var(--f8-vapno-2); border-radius: var(--f8-radius); font-size: var(--f8-fs-h4); line-height: 1.25; font-weight: 700; color: var(--f8-ink);
}
.dc-provoz__veta[data-dc-otevreno="1"], .dc-provoz__veta.dc-je-otevreno { background: var(--f8-azur-100); }
.dc-provoz__tabulka { width: 100%; margin-top: 8px; border-collapse: collapse; font-variant-numeric: var(--f8-num-data); }
.dc-provoz__tabulka tr { border-bottom: 1px solid var(--f8-line); }
.dc-provoz__tabulka th { padding: 14px 8px; text-align: left; font-weight: 400; }
.dc-provoz__tabulka td { padding: 14px 8px; text-align: right; vertical-align: top; white-space: nowrap; font-size: var(--f8-fs-data); font-weight: 700; font-stretch: var(--f8-stretch-data); }
.dc-provoz__tabulka td.dc-provoz__zavreno { font-size: var(--f8-fs-body); font-stretch: normal; }
.dc-provoz__tabulka th small { display: block; font-size: var(--f8-fs-small); font-weight: 400; color: var(--f8-ink-600); }
/* Štítek „dnes“ v řádku a „Novinka“: azur s textem ink (8,38 : 1) */
.dc-dnes, .dc-stitek {
  display: inline-block; margin-left: 8px; padding: 0 8px; background: var(--f8-azur); color: var(--f8-ink); border-radius: var(--f8-radius);
  font-size: var(--f8-fs-small); font-weight: 600; line-height: 1.6; vertical-align: baseline;
}
.dc-aktuality__polozka .dc-stitek { margin-left: 0; }
/* Dnešní řádek tabulky (nastaví dc.js, atribut data-dc-dnes) */
.dc-provoz__tabulka tr[data-dc-dnes="1"], .dc-provoz__tabulka tr.dc-dnes-radek { background: var(--f8-azur-100); }
.dc-provoz__vyjimka { margin: 12px 0 0; font-weight: 600; }
.dc-provoz__pata { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 24px; margin: 16px 0 0; }
.dc-provoz__adresa { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; }
.dc-provoz__pata a { display: inline-flex; align-items: center; min-height: 48px; font-size: var(--f8-fs-ui); font-weight: 600; text-decoration-thickness: 2px; }
/* R3: cíle, které odkrývá dc.js. Atribut hidden musí vyhrát nad display komponenty (kontrakt provozu kap. 3, 4, 5). */
.dc-provoz__veta[hidden], .dc-provoz__vyjimka[hidden], .dc-dnes[hidden], .dc-kotouc[hidden], .dc-stitek-dnes__veta[hidden] { display: none; }
/* Prodejna a příjezd (K6): mapa jako obrázek s odkazem na Mapy.cz */
a.dc-prijezd__mapa { display: block; margin-top: 32px; }
.dc-prijezd__mapa .dc-mapa { margin-top: 0; object-fit: cover; }

/* Aktuality (K5, R20): přes celou šířku pásu. Položka = velké datum (den + měsíc), visačka typu s ikonou (provoz azur,
   akce dřevo, novinka a ceník vápno), titulek, perex. Hlavní aktualita (nejnovější, mladší než 45 dnů) na ploše petroleje
   s piktogramem typu a tlačítkem z Odkazu A článku. Počet 1–3; bez hlavní stejné sloupce. Na mobilu nejvýš dvě položky. */
.dc-aktuality__hlava { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 24px; }
.dc-pas .dc-aktuality-sekce h2 { margin: 0; font-size: var(--f8-fs-h2); line-height: 1.05; font-weight: 800; font-stretch: normal; letter-spacing: -.025em; color: var(--f8-on); }
.dc-aktuality { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; margin: 24px 0 0; padding: 0; list-style: none; }
.dc-aktuality__polozka { position: relative; display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: 0 20px; align-items: start; padding: 22px 0; border-bottom: 1px solid var(--dc-linka); }
.dc-aktuality__polozka:last-child { border-bottom: 0; }
.dc-aktuality__datum { margin: 0; display: flex; flex-direction: column; line-height: 1; font-variant-numeric: var(--f8-num-data); }
.dc-aktuality__den { font-family: var(--f8-font-display); font-size: 2.5rem; font-weight: 800; letter-spacing: -.03em; color: var(--f8-drevo); }
.dc-aktuality__mesic { margin-top: 6px; font-size: var(--f8-fs-small); font-weight: 700; color: var(--dc-text-tlumeny); }
.dc-aktuality__obsah { min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.dc-aktuality__meta { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; font-size: var(--f8-fs-small); font-variant-numeric: var(--f8-num-data); color: var(--dc-text); }
.dc-aktuality__meta > span:not(.dc-visacka) { font-weight: 700; }
.dc-visacka { display: inline-flex; align-items: center; gap: 7px; padding: 3px 10px 3px 8px; border-radius: var(--f8-radius); background: var(--f8-vapno); color: var(--f8-ink); font-size: var(--f8-fs-small); font-weight: 700; line-height: 1.4; }
.dc-visacka svg { flex-shrink: 0; width: 16px; height: 16px; }
.dc-visacka--provoz { background: var(--f8-azur); }
.dc-visacka--akce { background: var(--f8-drevo); }
.dc-aktuality__nadpis { margin: 0; font-family: var(--f8-font-display); font-size: var(--f8-fs-h4); line-height: 1.2; font-weight: 800; letter-spacing: -.02em; color: var(--dc-text); }
.dc-tmave .dc-aktuality__nadpis, .dc-aktuality__nadpis { color: var(--dc-text); }
.dc-aktuality__nadpis a { color: var(--f8-white); text-decoration: none; }
.dc-svetle .dc-aktuality__nadpis a, .dc-pas__mrizka:has(> .dc-pas__cenik) .dc-aktuality__nadpis a { color: var(--f8-ink); }
.dc-aktuality__nadpis a:hover { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .15em; }
.dc-aktuality__text { margin: 0; font-size: var(--f8-fs-ui); line-height: 1.5; color: var(--dc-text-tlumeny); max-width: 38em; }
.dc-aktuality__akce { margin: 6px 0 0; }
.dc-aktuality__akce .dc-tlacitko { gap: 10px; padding-inline: 22px; }
.dc-aktuality__piktogram { display: none; }
.dc-aktuality__polozka--hlavni { margin: 0 calc(-1 * var(--f8-gutter)); padding: 24px var(--f8-gutter) 28px; background: var(--f8-smrk); border-bottom: 0; overflow: hidden; }
.dc-aktuality__polozka--hlavni .dc-aktuality__nadpis { font-size: var(--f8-fs-h3); line-height: 1.12; }
.dc-aktuality__polozka--hlavni .dc-aktuality__text { color: var(--f8-on); }
.dc-aktuality__vse { display: inline-flex; align-items: center; min-height: 48px; font-size: var(--f8-fs-ui); font-weight: 700; color: var(--f8-drevo); text-decoration-thickness: 2px; text-underline-offset: .2em; }
.dc-aktuality__vse:hover { color: var(--f8-white); }
.dc-aktuality__vse--pod { display: none; }
@media (max-width: 639.98px) {
  .dc-aktuality__hlava .dc-aktuality__vse { display: none; }
  .dc-aktuality__vse--pod { display: inline-flex; margin-top: 12px; }
  .dc-aktuality__polozka:nth-child(n+3) { display: none; }
  .dc-aktuality__polozka:nth-child(2) { border-bottom: 0; }
  .dc-aktuality__polozka--hlavni .dc-aktuality__text { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; }
}
@media (min-width: 640px) {
  .dc-aktuality__polozka--hlavni { margin: 0; padding: 32px 36px 36px; grid-template-columns: 5.5rem minmax(0, 1fr); gap: 0 28px; }
  .dc-aktuality__polozka--hlavni .dc-aktuality__den { font-size: 4rem; }
}
@media (min-width: 1024px) {
  .dc-aktuality--hlavni.dc-aktuality--n2, .dc-aktuality--hlavni.dc-aktuality--n3 { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: 56px; }
  .dc-aktuality--hlavni .dc-aktuality__polozka--hlavni { grid-row: 1 / span 2; align-self: start; min-height: 260px; padding: 40px 44px 44px; border: 1px solid var(--f8-on-line); }
  .dc-aktuality--hlavni .dc-aktuality__polozka:not(.dc-aktuality__polozka--hlavni) { padding: 40px 0 28px; }
  .dc-aktuality--hlavni .dc-aktuality__polozka:nth-child(3) { padding: 28px 0 4px; }
  .dc-aktuality--hlavni.dc-aktuality--n1 { grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); }
  .dc-aktuality--n2:not(.dc-aktuality--hlavni) { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 56px; }
  .dc-aktuality--n3:not(.dc-aktuality--hlavni) { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 48px; }
  .dc-aktuality:not(.dc-aktuality--hlavni) .dc-aktuality__polozka { border-bottom: 0; border-top: 1px solid var(--dc-linka); padding-top: 24px; }
  .dc-aktuality__polozka--hlavni .dc-aktuality__nadpis { font-size: 2.25rem; max-width: 16em; }
  .dc-aktuality__piktogram { display: block; position: absolute; right: -40px; bottom: -52px; width: 260px; height: 260px; color: var(--f8-on-line); stroke-width: .9; pointer-events: none; }
  .dc-aktuality__polozka--hlavni .dc-aktuality__datum, .dc-aktuality__polozka--hlavni .dc-aktuality__obsah { position: relative; }
  /* vedle ceníku-štosu (stránka s dc-pas-levy) zůstává úzký sloupec bez hlavní plochy */
  .dc-pas__mrizka:has(> .dc-pas__cenik) .dc-aktuality { grid-template-columns: minmax(0, 1fr); }
  .dc-pas__mrizka:has(> .dc-pas__cenik) .dc-aktuality__polozka--hlavni { grid-row: auto; margin: 0; padding: 20px 0; background: none; }
  .dc-pas__mrizka:has(> .dc-pas__cenik) .dc-aktuality__piktogram { display: none; }
}
@media (prefers-reduced-motion: no-preference) {
  .dc-aktuality__akce .dc-tlacitko svg { transition: transform 150ms ease-out; }
  .dc-aktuality__akce .dc-tlacitko:hover svg { transform: translateX(3px); }
}

/* Komu volat (K4): čtyři kontakty vedle sebe na smrku */
.dc-kontakty { display: flex; flex-wrap: wrap; gap: 0 32px; margin: 16px 0 0; padding: 0; list-style: none; border-top: 2px solid var(--f8-on-muted); }
.dc-kontakty > li { flex: 1 1 260px; min-width: 0; padding: 16px 0 8px; border-top: 1px solid var(--f8-on-line); }
.dc-kontakty__ucel { margin: 0; font-weight: 600; line-height: 1.35; }
.dc-kontakty__ucel small { display: block; font-size: var(--f8-fs-small); font-weight: 400; color: var(--f8-on-muted); }
.dc-kontakty__cisla { display: flex; flex-wrap: wrap; align-items: center; gap: 0 20px; margin: 4px 0 0; }
.dc-kontakty a { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; margin-top: 4px; color: var(--f8-on); text-decoration: none; font-weight: 600; font-variant-numeric: var(--f8-num-data); white-space: nowrap; }
.dc-kontakty a:hover { color: var(--f8-white); text-decoration: underline; text-decoration-thickness: 2px; }
.dc-kontakty a.dc-kontakty__hlavni, .dc-kontakty .dc-data { font-size: var(--f8-fs-data); font-weight: 700; font-stretch: var(--f8-stretch-data); }
.dc-kontakty a[href^="mailto:"] { text-decoration: underline; white-space: normal; overflow-wrap: anywhere; }
.dc-kontakty__stitek { font-size: var(--f8-fs-small); font-weight: 400; color: var(--f8-on-muted); }

/* ---------- 8. Kapitoly oborů (sortiment podle oboru) ---------- */
.dc-sortiment { padding-top: var(--f8-rytmus); }
.dc-sortiment__hlavicka { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 16px 64px; }
.dc-sortiment__hlavicka h2 { flex: 1 1 22rem; margin: 0; font-size: var(--f8-fs-h2); line-height: 1.05; }
.dc-sortiment__hlavicka p { flex: 1 1 22rem; max-width: 38rem; margin: 0; color: var(--f8-ink-700); }
.dc-kapitola { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 24px 56px; margin-top: 64px; }
.dc-kapitola__foto { flex: 1 1 100%; min-width: 0; display: block; width: 100%; height: auto; object-fit: cover; aspect-ratio: 16 / 10; }
.dc-kapitola__text { flex: 1 1 320px; min-width: 0; }
.dc-kapitola__kod { display: block; width: 96px; height: 8px; background: var(--f8-kod-stavba); }
.dc-kapitola__kod--stavba { background: var(--f8-kod-stavba); }
.dc-kapitola__kod--truhlari { background: var(--f8-kod-truhlari); }
.dc-kapitola__kod--dum { background: var(--f8-kod-dum); }
.dc-kapitola__kod--barvy { display: flex; background: none; }
.dc-kapitola__kod--barvy > span { flex: 1; }
.dc-kapitola__nazev { margin: 16px 0 0; font-size: var(--f8-fs-h2); line-height: 1; }
.dc-kapitola__nazev a { display: inline-block; padding: 2px 0; color: var(--f8-smrk-deep); text-decoration-thickness: 3px; text-underline-offset: .12em; }
.dc-kapitola__nazev a:hover { color: var(--f8-smrk); }
.dc-kapitola__pro { margin: 10px 0 0; font-size: var(--f8-fs-small); color: var(--f8-ink-600); }
.dc-kapitola__popis { margin: 20px 0 0; max-width: 36rem; }
.dc-kapitola__jen { display: flex; flex-wrap: wrap; align-items: center; gap: 0 10px; margin: 12px 0 0; font-size: var(--f8-fs-small); color: var(--f8-ink-700); }
.dc-kapitola__jen a { display: inline-flex; align-items: center; min-height: var(--f8-cil); color: var(--f8-ink); font-size: var(--f8-fs-ui); }
.dc-kapitola__eshop-popis { display: flex; align-items: center; gap: 8px; margin: 20px 0 0; font-size: var(--f8-fs-small); color: var(--f8-ink-600); }
/* Kategorie e-shopu: zalomený řádek odkazů (výchozí) nebo svislý seznam s linkami (--seznam) */
.dc-eshop { display: flex; flex-wrap: wrap; gap: 0 24px; margin: 0; padding: 0; list-style: none; }
.dc-eshop a { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; font-size: var(--f8-fs-ui); font-weight: 600; }
.dc-eshop--seznam { display: block; margin-top: 4px; border-top: 2px solid var(--f8-smrk-deep); }
.dc-eshop--seznam li { border-bottom: 1px solid var(--f8-line); }
.dc-eshop--seznam a { display: flex; }
.dc-kapitola--hrany .dc-kapitola__foto { flex: 1 1 300px; aspect-ratio: 4 / 5; }
.dc-kapitola__detail { flex: 0 0 112px; width: 112px; height: 112px; object-fit: cover; }
.dc-kapitola--dum .dc-kapitola__foto { aspect-ratio: 3 / 2; }

/* Nábytkové studio v kapitole Truhláři: bílý list */
.dc-studio-list { display: flex; flex-wrap: wrap; align-items: stretch; margin-top: 32px; background: var(--f8-white); }
.dc-studio-list__foto { flex: 1 1 100%; min-width: 0; display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.dc-studio-list__text { flex: 1 1 320px; min-width: 0; padding: 24px 16px 24px; box-sizing: border-box; }
.dc-studio-list h3, .dc-studio-list h4 { margin: 0; font-size: var(--f8-fs-h3); line-height: 1.15; color: var(--f8-smrk-deep); }
.dc-studio-list p { margin: 16px 0 0; }
.dc-studio-list__akce { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 32px; margin: 24px 0 0; }

/* Vzorník Barev: přes celé okno, 2 × 2 bez mezer, tóny jsou dekor (aria-hidden) */
.dc-vzornik { display: flex; flex-wrap: wrap; margin: 32px calc(50% - 50vw) 0; padding: 0; list-style: none; }
.dc-vzornik > li { flex: 1 1 50%; min-width: 0; box-sizing: border-box; }
.dc-vzornik__tony { display: flex; height: 88px; }
.dc-vzornik__tony > span { flex: 1; }
.dc-vzornik__text { display: block; padding: 16px 16px 0; }
.dc-vzornik__text strong { display: block; font-size: var(--f8-fs-h4); line-height: 1.25; font-weight: 700; }
.dc-vzornik__text > span { display: block; margin-top: 4px; }
.dc-vzornik__text small { display: block; font-size: var(--f8-fs-small); color: var(--f8-ink-600); }
.dc-vzornik > li:nth-child(odd) .dc-vzornik__text { padding-left: max(var(--f8-gutter), calc((100vw - 1232px) / 2)); }
.dc-vzornik > li:nth-child(even) .dc-vzornik__text { padding-right: max(var(--f8-gutter), calc((100vw - 1232px) / 2)); }
/* 0.5.2 (B19): 100vw zahrnuje šířku posuvníku (desktop: 8 px vodorovný posun, vzorník uříznutý) – plná šířka podle kontejneru dc-obsah */
@supports (container-type: inline-size) {
  .dc-obsah { container-type: inline-size; }
  .dc-vzornik { margin-inline: calc(50% - 50cqi); }
  .dc-vzornik > li:nth-child(odd) .dc-vzornik__text { padding-left: max(var(--f8-gutter), calc((100cqi - 1232px) / 2)); }
  .dc-vzornik > li:nth-child(even) .dc-vzornik__text { padding-right: max(var(--f8-gutter), calc((100cqi - 1232px) / 2)); }
}
.dc-vzornik-pod { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 24px 56px; margin-top: 40px; }
.dc-vzornik-pod > * { flex: 1 1 280px; min-width: 0; }

/* Nárazový pás (jen od M výše skrytý, na mobilu zbytečných 450 px) */
.dc-pas-foto { display: none; }
.dc-pas-foto img { display: block; width: 100%; height: 560px; object-fit: cover; object-position: 30% 50%; }

@media (min-width: 640px) {
  .dc-vzornik > li { flex-basis: 50%; }
  .dc-vzornik__tony { height: 120px; }
  .dc-kapitola__foto { aspect-ratio: 16 / 10; }
  .dc-studio-list__text { padding: 32px 32px 32px; }
}
@media (min-width: 1024px) {
  .dc-kapitola { margin-top: 64px; gap: 32px 56px; }
  .dc-kapitola--stavba .dc-kapitola__foto { flex: 8 1 640px; }
  .dc-kapitola--stavba .dc-kapitola__text { flex: 4 1 320px; }
  .dc-kapitola--truhlari { margin-top: var(--f8-rytmus); }
  .dc-kapitola--dum { align-items: flex-end; margin-top: var(--f8-rytmus); padding-bottom: var(--f8-rytmus); }
  .dc-kapitola--dum .dc-kapitola__text { order: 0; flex: 4 1 320px; }
  .dc-kapitola--dum .dc-kapitola__foto { order: 1; flex: 8 1 640px; aspect-ratio: 21 / 10; }
  .dc-kapitola--hrany { align-items: flex-end; }
  .dc-kapitola--hrany .dc-kapitola__text { flex: 5 1 380px; align-self: flex-start; }
  .dc-kapitola--hrany .dc-kapitola__foto { flex: 4 1 300px; }
  .dc-kapitola--hrany .dc-kapitola__detail { flex: 3 1 220px; width: auto; height: auto; aspect-ratio: 1 / 1; }
  .dc-studio-list { margin-top: 48px; }
  .dc-studio-list__foto { flex: 7 1 520px; aspect-ratio: auto; min-height: 400px; }
  .dc-studio-list__text { flex: 5 1 380px; padding: 48px 48px 44px; }
  .dc-vzornik > li { flex-basis: 0; }
  .dc-vzornik__tony { height: 180px; }
  .dc-vzornik__text { padding-right: 24px; }
  .dc-pas-foto { display: block; }
  .dc-vzornik { margin-top: 40px; }
}
@media (min-width: 640px) and (max-width: 1023.98px) { .dc-pas-foto { display: block; } }
@media (max-width: 639.98px) { .dc-pas-foto { display: none; } }
@media (min-width: 640px) and (max-width: 1023.98px) { .dc-vzornik > li { flex-basis: 50%; } }

/* ---------- 9. Prodejna a příjezd, doprava, platba a firmy ---------- */
.dc-prijezd-blok { box-sizing: border-box; max-width: var(--f8-kontejner); margin-inline: auto; padding: 64px var(--f8-gutter); }
.dc-prijezd { display: flex; flex-wrap: wrap; align-items: stretch; gap: 32px 64px; }
.dc-prijezd__text { flex: 5 1 340px; min-width: 0; }
.dc-prijezd__foto { flex: 7 1 420px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.dc-prijezd__foto img { display: block; width: 100%; height: auto; object-fit: cover; aspect-ratio: 3 / 2; }
.dc-prijezd h2 { margin: 0; font-size: var(--f8-fs-h2); line-height: 1.05; }
.dc-prijezd__adresa { display: flex; align-items: flex-start; gap: 8px; margin: 24px 0 0; font-size: var(--f8-fs-h4); font-weight: 700; }
.dc-prijezd__akce { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; margin: 20px 0 0; }
.dc-prijezd__body { margin: 24px 0 0; padding: 0; list-style: none; border-top: 2px solid var(--f8-ink); }
.dc-prijezd__body li { padding: 10px 0; border-bottom: 1px solid var(--f8-line); }
.dc-prijezd__body strong { font-weight: 600; }
.dc-mapa { display: block; width: 100%; height: 200px; margin-top: 32px; border: 0; background: var(--f8-mapa); }
.dc-mapa--odkaz { display: flex; align-items: center; justify-content: center; color: var(--f8-ink-600); font-size: var(--f8-fs-small); }
.dc-prijezd__dvur { display: none; }
.dc-praktika { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 48px 64px; margin-top: 64px; }
.dc-doprava { flex: 7 1 480px; min-width: 0; }
.dc-platby { flex: 5 1 360px; min-width: 0; }
.dc-doprava h3, .dc-platby h3 { margin: 0; font-size: var(--f8-fs-h3); line-height: 1.2; font-weight: 700; font-stretch: var(--f8-stretch-nadpis); letter-spacing: 0; }
.dc-doprava > p { margin: 12px 0 0; max-width: 60ch; }
.dc-doprava__obal { margin-top: 16px; overflow-x: auto; }

@media (min-width: 1024px) {
  .dc-prijezd-blok { padding-block: 112px; }
  .dc-mapa { height: 240px; }
  .dc-prijezd__foto img.dc-prijezd__vchod { flex: 1 1 auto; min-height: 440px; aspect-ratio: auto; }
  .dc-prijezd__dvur { display: block; aspect-ratio: 21 / 6; overflow: hidden; }
  .dc-prijezd__dvur img { height: 100%; aspect-ratio: auto; transform: scale(1.8); transform-origin: 100% 50%; object-position: 50% 30%; }
  .dc-praktika { margin-top: var(--f8-sp-9); }
}

/* ---------- 10. Patička (K7, R13): pásy služeb, světlé dřevo, kontakt, otevírací doba v bílém panelu, skupiny odkazů (markup: docs/tridy.md) ---------- */
.dc-paticka {
  background: var(--f8-drevo); color: var(--f8-ink); border-top: 4px solid var(--f8-azur);
  font-size: var(--f8-fs-small); line-height: 1.55;
  --dc-text: var(--f8-ink); --dc-text-tlumeny: var(--f8-ink-700); --dc-odkaz: var(--f8-ink); --dc-odkaz-hover: var(--f8-ink); --dc-fokus: var(--f8-smrk); --dc-linka: var(--f8-ink-700);
}
.dc-paticka__drevo { padding: 40px 0 0; background: var(--f8-drevo); }
.dc-paticka__mrizka { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px 40px; align-items: start; }
.dc-paticka__znacka a { display: inline-block; line-height: 0; }
.dc-paticka__logo { display: block; width: 176px; height: auto; }
.dc-paticka ul { margin: 0; padding: 0; list-style: none; }
.dc-paticka__polozka { margin: 0; }
.dc-paticka a, .dc-paticka button {
  display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--f8-ink);
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em;
}
.dc-paticka a:hover, .dc-paticka button:hover { color: var(--f8-ink); text-decoration-thickness: 2px; }
.dc-paticka button { padding: 0; background: none; border: 0; font: inherit; cursor: pointer; }
.dc-paticka__znacka a { min-height: 0; text-decoration: none; }

/* Hlavní kontakt pod logem */
.dc-paticka__kontakt-blok { margin-top: 20px; }
.dc-paticka__adresa { margin: 0; font-size: var(--f8-fs-body); font-weight: 600; line-height: 1.4; }
.dc-paticka__kontakt { display: flex; flex-direction: column; align-items: flex-start; margin: 12px 0 0; }
.dc-paticka a.dc-paticka__tel { flex-direction: column; align-items: flex-start; justify-content: center; gap: 0; min-height: 52px; line-height: 1.1; text-decoration: none; }
.dc-paticka__tel-popisek { font-size: var(--f8-fs-small); color: var(--f8-ink-700); }
.dc-paticka__tel-cislo { font-size: var(--f8-fs-data); font-weight: 700; font-stretch: var(--f8-stretch-data); font-variant-numeric: var(--f8-num-data); white-space: nowrap; }
.dc-paticka a.dc-paticka__tel:hover .dc-paticka__tel-cislo { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .2em; }
.dc-paticka__email { font-weight: 600; overflow-wrap: anywhere; }
.dc-paticka__navigovat { margin: 16px 0 0; }
.dc-paticka .dc-paticka__navigovat a.dc-tlacitko { min-height: 48px; padding: 0 18px; background: transparent; color: var(--f8-ink); border: 2px solid var(--f8-ink); text-decoration: none; font-size: var(--f8-fs-ui); font-weight: 600; }
.dc-paticka .dc-paticka__navigovat a.dc-tlacitko:hover { background: var(--f8-ink); color: var(--f8-white); }

/* Otevírací doba: bílý panel, pás stavu přes celou šířku panelu, týden po dnech s pruhem doby na ose 6–18 h */
.dc-paticka__provoz { padding: 20px 14px 16px; background: var(--f8-white); border-radius: var(--f8-radius); }
.dc-paticka__provoz-nadpis { margin: 0; font-size: var(--f8-fs-h3); line-height: 1.1; }
.dc-paticka__stav { display: flex; align-items: center; gap: 14px; margin: 16px -14px 0; padding: 12px 14px; background: var(--f8-vapno-2); }
.dc-paticka__stav[hidden], .dc-hlavicka__stav[hidden], .dc-tyden__duvod[hidden], .dc-stav__detail[hidden] { display: none; }
.dc-paticka__stav .dc-kotouc { width: 36px; height: 36px; }
.dc-stav__text { display: flex; flex-direction: column; line-height: 1.25; }
.dc-stav__hlavni { font-weight: 700; }
.dc-stav__detail { color: var(--f8-ink-700); font-variant-numeric: var(--f8-num-data); }
.dc-paticka__stav .dc-stav__hlavni { font-size: var(--f8-fs-h4); }
.dc-paticka__stav .dc-stav__detail { font-size: var(--f8-fs-small); }
[data-dc-stav][data-dc-kod="otevreno"] { background: var(--f8-azur-100); }
[data-dc-stav][data-dc-kod="konci"] { background: var(--f8-drevo-100); }
[data-dc-stav][data-dc-kod="brzy"], [data-dc-stav][data-dc-kod="zavreno"] { background: var(--f8-vapno-2); }
/* Kotouč: za chvíli zavíráme = hnědý, za chvíli otevíráme = světle azurový (stav nese vždy i věta) */
.dc-kotouc[data-dc-kod="konci"] { background: var(--f8-s-8); }
.dc-kotouc[data-dc-kod="brzy"] { background: var(--f8-azur-100); }

.dc-tyden__hlava, .dc-tyden__den { display: grid; grid-template-columns: 6.6rem minmax(0, 1fr) 6.4rem; align-items: center; gap: 0 10px; padding-inline: 6px; }
.dc-tyden__hlava { margin: 14px 0 4px; font-size: var(--f8-fs-small); color: var(--f8-ink-600); }
.dc-tyden__hlava > [data-dc-tyden-nadpis] { grid-column: 1; }
.dc-tyden__osa { grid-column: 2; display: flex; justify-content: space-between; font-variant-numeric: var(--f8-num-data); }
.dc-tyden { font-variant-numeric: var(--f8-num-data); }
.dc-tyden__den { min-height: 44px; box-sizing: border-box; border-top: 1px solid var(--f8-line); }
.dc-tyden__den[data-dc-dnes="1"] { background: var(--f8-azur-100); }
.dc-tyden__den[data-dc-dnes="1"][data-dc-kod="konci"] { background: var(--f8-drevo-100); }
.dc-tyden__den[data-dc-dnes="1"][data-dc-kod="zavreno"], .dc-tyden__den[data-dc-dnes="1"][data-dc-kod="brzy"] { background: var(--f8-vapno-2); }
.dc-tyden__nazev { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; padding-block: 6px; line-height: 1.25; }
.dc-tyden__den[data-dc-dnes="1"] .dc-tyden__nazev { font-weight: 700; }
.dc-tyden__nazev .dc-dnes { padding: 0 7px; background: var(--f8-ink); color: var(--f8-white); border-radius: var(--f8-radius); font-size: var(--f8-fs-small); font-weight: 600; line-height: 1.5; }
.dc-tyden__duvod, .dc-tyden__pozn { flex-basis: 100%; font-size: var(--f8-fs-small); font-weight: 400; color: var(--f8-ink-700); }
.dc-tyden__pas { position: relative; display: block; height: 6px; margin-bottom: 6px; border-bottom: 1px solid var(--f8-line); }
.dc-tyden__den[data-dc-pas="1"] .dc-tyden__pas::before { content: ""; position: absolute; top: 1px; height: 12px; left: var(--dc-od, 0); width: var(--dc-sirka, 0); background: var(--f8-smrk); border-radius: 1px; }
.dc-tyden__den[data-dc-ted="1"] .dc-tyden__pas::after { content: ""; position: absolute; top: -6px; height: 26px; left: var(--dc-ted, 0); width: 3px; margin-left: -1px; background: var(--f8-ink); }
.dc-tyden__cas { text-align: right; white-space: nowrap; font-weight: 700; font-stretch: var(--f8-stretch-data); }
.dc-paticka__pozn { margin: 12px 0 0; padding: 0 6px; font-weight: 600; }

/* R19 (návrh „výdejní místo v patičce“ B v3): kompaktní otevírací doba – věta stavu jako řádek bez plochy,
   řádky DČ Provoz jako tabulka tr[data-day] (dnešní řádek plochou azur-100, bez levého proužku); týden li[data-dc-den] výše
   zůstává pro jiné použití. Prostřední sloupec = otevírací doba + Platba v prodejně, vlevo pod kontaktem výdejní místo. */
.dc-paticka__stred { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
.dc-paticka__provoz { --dc-pad: 14px; }
.dc-paticka .dc-paticka__stav[data-dc-stav] { gap: 10px; margin: 10px 0 0; padding: 0; background: none; }
.dc-paticka__stav .dc-kotouc { width: 28px; height: 28px; }
.dc-paticka__stav .dc-stav__text { flex-direction: row; flex-wrap: wrap; gap: 0 6px; }
.dc-paticka__stav .dc-stav__hlavni { font-size: var(--f8-fs-ui); }
.dc-paticka__stav .dc-stav__hlavni::after { content: ","; }
.dc-paticka__stav:has(.dc-stav__detail[hidden]) .dc-stav__hlavni::after { content: none; }
.dc-paticka__stav .dc-stav__detail { font-size: var(--f8-fs-ui); font-weight: 600; color: var(--f8-ink); }
.dc-paticka__doba { width: calc(100% + 2 * var(--dc-pad)); margin: 12px calc(-1 * var(--dc-pad)) 0; border-collapse: collapse; font-size: var(--f8-fs-small); font-variant-numeric: var(--f8-num-data); }
.dc-paticka__doba th, .dc-paticka__doba td { padding: 9px var(--dc-pad); border-top: 1px solid var(--f8-line); vertical-align: top; }
.dc-paticka__doba th { text-align: left; font-weight: 400; }
.dc-paticka__doba th small { display: block; font-size: var(--f8-fs-small); color: var(--f8-ink-700); }
.dc-paticka__doba th .dc-dnes { margin-left: 4px; padding: 0 7px; background: var(--f8-ink); color: var(--f8-white); border-radius: var(--f8-radius); font-size: .875rem; font-weight: 600; line-height: 1.5; }
.dc-paticka__doba td { text-align: right; white-space: nowrap; font-weight: 700; font-stretch: var(--f8-stretch-data); }
.dc-paticka__doba tr[data-dc-dnes="1"] { background: var(--f8-azur-100); }
.dc-paticka__doba tr[data-dc-dnes="1"] th { font-weight: 700; }
.dc-paticka__doba + .dc-paticka__pozn { margin-top: 0; padding: 10px 0 0; border-top: 1px solid var(--f8-line); font-weight: 400; }

/* R19: bloky s logy (layout mod_custom dc-loga): výdejní a podací místo balíků, platba v prodejně */
.dc-paticka__balikovna { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--dc-linka); }
.dc-loga__nadpis { margin: 0 0 12px; font-size: var(--f8-fs-h4); line-height: 1.2; }
h3.dc-loga__nadpis { margin-bottom: 10px; font-family: var(--f8-font); font-size: var(--f8-fs-ui); font-weight: 700; letter-spacing: 0; color: var(--f8-ink); }
.dc-loga__seznam { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.dc-loga__polozka { display: flex; align-items: center; justify-content: center; height: 60px; margin: 0; background: var(--f8-white); border-radius: var(--f8-radius); }
.dc-loga__obr { display: block; width: auto; height: 24px; max-width: 78%; }
.dc-loga__obr--ppl { height: 24px; }
.dc-loga__obr--dpd { height: 32px; }
.dc-loga__obr--gls { height: 25px; }
.dc-loga__obr--dhl { height: 19px; }
.dc-loga__text { margin-top: 12px; color: var(--f8-ink-700); }
.dc-loga__text > * { margin: 0; }
.dc-loga__text > * + * { margin-top: 8px; }
.dc-loga--platba .dc-loga__seznam { grid-template-columns: repeat(auto-fill, 60px); }
.dc-loga--platba .dc-loga__polozka { width: 60px; height: 40px; }
.dc-loga__obr--mastercard { height: 24px; }
.dc-loga__obr--visa { height: 16px; }
.dc-loga--platba .dc-loga__text { margin-top: 10px; }

/* Mobil a tablet: pořadí kontakt, otevírací doba a platba, výdejní místo, odkazy (znacka se rozpustí do mřížky) */
@media (max-width: 1023.98px) {
  .dc-paticka__znacka { display: contents; }
  .dc-paticka__kontakt-blok { margin-top: -20px; }
  .dc-paticka__stred { order: 2; }
  .dc-paticka__balikovna { order: 3; margin-top: 0; }
  .dc-paticka__odkazy { order: 4; }
  .dc-paticka__moduly { order: 5; }
}
@media (min-width: 640px) {
  .dc-paticka__provoz { --dc-pad: 24px; }
  .dc-loga--balikovna .dc-loga__seznam { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .dc-loga--balikovna .dc-loga__polozka { height: 52px; }
  .dc-loga__obr--ppl { height: 20px; }
  .dc-loga__obr--dpd { height: 28px; }
  .dc-loga__obr--gls { height: 22px; }
  .dc-loga__obr--dhl { height: 16px; }
}
@media (min-width: 1024px) {
  .dc-paticka__provoz { --dc-pad: 28px; }
}

/* Odkazy: skupiny s nadpisem (Na našem webu, Tipy na Vysočině) */
.dc-paticka__menu { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; }
.dc-paticka__menu > * { margin: 0; }
.dc-paticka__skupina { margin: 0 0 4px; padding-bottom: 8px; border-bottom: 2px solid var(--f8-ink); font-family: var(--f8-font); font-size: var(--f8-fs-ui); font-weight: 700; letter-spacing: 0; color: var(--f8-ink); }
.dc-paticka__odkazy .dc-paticka__seznam { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
.dc-paticka--weby .dc-paticka__seznam, .dc-paticka__odkazy .dc-paticka--weby .dc-paticka__seznam { grid-template-columns: minmax(0, 1fr); }
.dc-paticka a.dc-paticka__odkaz.dc-odkaz-ven { flex-wrap: wrap; column-gap: 6px; row-gap: 0; padding-block: 4px; box-sizing: border-box; }
.dc-paticka__domena { flex-basis: 100%; font-size: var(--f8-fs-small); line-height: 1.3; color: var(--f8-ink-700); text-decoration: none; }

/* Spodní řádek: provozovatel, právní odkazy a cookies, ©, verze webu, kredit */
.dc-paticka__spodek { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 32px; margin-top: 40px; padding-block: 12px 18px; border-top: 1px solid var(--f8-ink-700); color: var(--f8-ink-700); }
.dc-paticka__provozovatel { margin: 0; flex: 1 1 32rem; min-width: 0; color: var(--f8-ink-700); }
.dc-paticka__pravni { display: flex; flex-wrap: wrap; align-items: center; gap: 0 20px; }
.dc-paticka__pravni .dc-paticka__seznam { display: flex; flex-wrap: wrap; gap: 0 20px; }
.dc-paticka__pata { flex: 1 1 100%; display: flex; flex-wrap: wrap; align-items: center; gap: 0 24px; }
.dc-paticka__copy { margin: 0; color: var(--f8-ink-700); }
.dc-paticka__verze, .dc-paticka__verze > *, .dc-paticka__verze p { margin: 0; color: var(--f8-ink-700); font-variant-numeric: var(--f8-num-data); }
/* Kredit RETURN ({rtn-credit}): světlé pozadí, vpravo; vlastní styly pluginu se nepoužívají */
.rtn-credit { margin-left: auto; text-align: right; }
.rtn-credit a { color: var(--f8-ink); }

/* Pásy služeb přes celou šířku (layout mod_custom dc-sluzba, pozice dc-paticka-pasy) */
.dc-sluzba { padding-block: 26px 28px; --dc-text: var(--f8-on); --dc-text-tlumeny: var(--f8-on-muted); --dc-odkaz: var(--f8-on); --dc-odkaz-hover: var(--f8-white); --dc-fokus: var(--f8-azur); color: var(--f8-on); }
.dc-sluzba--osb { background: var(--f8-smrk-deep); }
.dc-sluzba--leseni { background: var(--f8-leseni); color: var(--f8-white); --dc-text-tlumeny: var(--f8-leseni-on-muted); --dc-fokus: var(--f8-leseni-zluta); }
.dc-sluzba__mrizka { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 48px; }
.dc-sluzba__grafika { flex: none; }
.dc-sluzba__stos { display: flex; flex-direction: column; gap: 3px; width: 96px; }
.dc-sluzba__pruh { display: block; background: var(--f8-drevo); border-radius: 1px; }
.dc-sluzba__leseni { width: 150px; height: 48px; color: var(--f8-leseni-zluta); }
.dc-sluzba__text { flex: 1 1 22rem; min-width: 0; }
.dc-sluzba__text > :first-child { margin-top: 0; }
.dc-sluzba__text > :last-child { margin-bottom: 0; }
.dc-sluzba__text p { margin: 8px 0 0; max-width: 60ch; color: var(--dc-text); font-size: var(--f8-fs-body); }
.dc-sluzba__stitek, .dc-sluzba__text p.dc-sluzba__stitek { margin: 0 0 6px; font-size: var(--f8-fs-small); font-weight: 600; color: var(--f8-drevo); }
.dc-sluzba h2, .dc-sluzba .dc-sluzba__nadpis { margin: 0; font-size: var(--f8-fs-h3); line-height: 1.08; color: var(--f8-white); }
.dc-sluzba__akce { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 32px; }
.dc-paticka .dc-sluzba a { color: var(--dc-odkaz); }
.dc-paticka .dc-sluzba a.dc-sluzba__tel { flex-direction: column; align-items: flex-start; justify-content: center; gap: 0; min-height: 52px; line-height: 1.1; color: var(--f8-white); text-decoration: none; }
.dc-sluzba__tel-popisek { font-size: var(--f8-fs-small); color: var(--dc-text-tlumeny); }
.dc-sluzba__tel-cislo { font-size: var(--f8-fs-data); font-weight: 700; font-stretch: var(--f8-stretch-data); font-variant-numeric: var(--f8-num-data); white-space: nowrap; }
.dc-paticka .dc-sluzba a.dc-sluzba__tel:hover .dc-sluzba__tel-cislo { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .2em; }
.dc-paticka .dc-sluzba a.dc-sluzba__tlacitko { min-height: 56px; padding: 0 24px; border: 0; border-radius: var(--f8-radius); text-decoration: none; font-size: var(--f8-fs-body); font-weight: 700; }
.dc-paticka .dc-sluzba--osb a.dc-sluzba__tlacitko { background: var(--f8-drevo); color: var(--f8-ink); }
.dc-paticka .dc-sluzba--leseni a.dc-sluzba__tlacitko { background: var(--f8-leseni-zluta); color: var(--f8-ink); }
.dc-paticka .dc-sluzba a.dc-sluzba__tlacitko:hover { background: var(--f8-white); color: var(--f8-ink); }
.dc-sluzba a:focus-visible { outline-color: var(--dc-fokus); }

/* Mobil: osa hodin a stoh desek by se do úzkého sloupce nevešly (pruhy dnů zůstávají) */
@media (max-width: 639.98px) {
  .dc-tyden__osa, .dc-sluzba__stos { display: none; }
}

/* Stav provozu v desktopové hlavičce (na mobilu je v pruhu pod hlavičkou) */
.dc-hlavicka__stav { display: none; }

@media (min-width: 640px) {
  .dc-paticka__provoz { padding: 24px 24px 20px; }
  .dc-paticka__stav { margin-inline: -24px; padding-inline: 24px; }
  .dc-tyden__hlava, .dc-tyden__den { grid-template-columns: 8.5rem minmax(0, 1fr) 7.5rem; gap: 0 16px; padding-inline: 8px; }
  .dc-paticka__menu { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 28px; }
  .dc-paticka__odkazy .dc-paticka__seznam { grid-template-columns: minmax(0, 1fr); }
  .dc-sluzba__stos { width: 150px; gap: 4px; }
  .dc-sluzba__leseni { width: 200px; height: 64px; }
  .dc-sluzba h2, .dc-sluzba .dc-sluzba__nadpis { font-size: 2.25rem; }
  .dc-sluzba--leseni .dc-sluzba__nadpis { font-size: var(--f8-fs-h3); }
}
@media (min-width: 1024px) {
  .dc-paticka__drevo { padding-top: 56px; }
  .dc-paticka__mrizka { grid-template-columns: minmax(0, 3.6fr) minmax(0, 4.4fr) minmax(0, 4fr); gap: 48px 40px; } /* R19: širší levý sloupec kvůli logům přepravců */
  .dc-paticka__provoz { padding: 28px 28px 24px; }
  .dc-paticka__stav { margin-inline: -28px; padding-inline: 28px; }
  .dc-paticka__moduly { grid-column: 1 / -1; }
  .dc-paticka__spodek { margin-top: 48px; }
  .dc-sluzba { padding-block: 28px; }
  .dc-hlavicka__stav {
    display: inline-flex; align-items: center; gap: 12px; min-height: 52px; padding: 6px 16px 6px 10px; box-sizing: border-box;
    background: var(--f8-vapno-2); border-radius: var(--f8-radius); color: var(--f8-ink); text-decoration: none;
  }
  .dc-hlavicka__stav[hidden] { display: none; }
  .dc-hlavicka__stav:hover { color: var(--f8-ink); }
  .dc-hlavicka__stav:hover .dc-stav__hlavni { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .2em; }
  .dc-hlavicka__stav .dc-stav__hlavni { font-size: var(--f8-fs-ui); }
  .dc-hlavicka__stav .dc-stav__detail { font-size: var(--f8-fs-small); }
  .dc-hlavicka__stav .dc-kotouc { width: 30px; height: 30px; }
}

/* ---------- 11. Tabulky (obecné, výstupy modulů a obsah článků) ---------- */
.dc-tabulka, .com-content-article table { width: 100%; background: var(--f8-white); border-collapse: collapse; border-top: 2px solid var(--f8-ink); border-bottom: 2px solid var(--f8-ink); font-variant-numeric: var(--f8-num-data); }
.dc-tabulka caption, .com-content-article table caption { caption-side: bottom; padding-top: 8px; text-align: left; font-size: var(--f8-fs-small); color: var(--f8-ink-700); }
.dc-tabulka thead tr, .com-content-article table thead tr { background: var(--f8-vapno-2); }
.dc-tabulka th, .dc-tabulka td, .com-content-article table th, .com-content-article table td { padding: 12px 16px; text-align: left; vertical-align: top; }
.dc-tabulka thead th, .com-content-article table thead th { font-size: var(--f8-fs-small); font-weight: 600; }
.dc-tabulka tbody tr, .com-content-article table tbody tr { border-top: 1px solid var(--f8-line); }
.dc-tabulka tbody th, .com-content-article table tbody th { font-weight: 600; }
.dc-tabulka .dc-vpravo, .dc-tabulka td:last-child { text-align: right; }
.dc-tabulka .dc-tabulka__cena { font-size: var(--f8-fs-data); font-weight: 700; font-stretch: var(--f8-stretch-data); font-variant-numeric: var(--f8-num-data); }
.dc-tabulka--oblast { overflow-x: auto; }
.dc-tabulka__obal { overflow-x: auto; }

/* Platba a firmy: definiční seznam na bílé tabuli */
.dc-platby__seznam { margin: 16px 0 0; background: var(--f8-white); border-top: 2px solid var(--f8-ink); border-bottom: 2px solid var(--f8-ink); }
.dc-platby__seznam > div { display: flex; flex-wrap: wrap; gap: 4px 16px; padding: 12px 16px; border-bottom: 1px solid var(--f8-line); }
.dc-platby__seznam > div:last-child { border-bottom: 0; }
.dc-platby__seznam dt { flex: 0 0 8rem; font-weight: 600; }
.dc-platby__seznam dd { flex: 1 1 12rem; min-width: 0; margin: 0; }
.dc-platby__odkazy { display: flex; flex-wrap: wrap; align-items: center; gap: 0 32px; margin: 12px 0 0; }
.dc-platby__odkazy a { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; font-size: var(--f8-fs-ui); font-weight: 600; }

/* ---------- 12. Obsah článků: typografie, záložky (F5 dc-content.css), galerie, citát, poznámky ---------- */
.com-content-article__body { max-width: 46rem; }
.com-content-article__body h2 { margin: 1.6em 0 .4em; font-size: var(--f8-fs-h3); line-height: 1.2; }
.com-content-article__body h3 { margin: 1.4em 0 .4em; font-size: var(--f8-fs-h4); line-height: 1.3; }
.com-content-article__body p { margin: 0 0 1em; }
.com-content-article__body ul, .com-content-article__body ol { margin: 0 0 1em; padding-left: 1.4em; }
.dc-perex { font-size: var(--f8-fs-h4); line-height: 1.5; color: var(--f8-ink-700); }

/* Záložky BS5: div.dc-tabs > ul.nav.nav-tabs > li > button.nav-link + div.tab-content > div.tab-pane.
   Barvy záložek F5 (modrá, zelená, oranžová…) se nepřenášejí: kód záložky nese jen text, označení aktivní má linka 3 px. */
.dc-web .dc-tabs { margin-bottom: 1em; }
.dc-web .dc-tabs:last-child { margin-bottom: 0; }
.dc-web .dc-tabs > .nav-tabs { display: flex; flex-wrap: wrap; gap: 4px 0; margin: 0; padding: 0; list-style: none; border-bottom: 1px solid var(--f8-line); }
.dc-web .dc-tabs > .nav-tabs > .nav-item { margin: 0 0 -1px; }
.dc-web .dc-tabs > .nav-tabs .nav-link {
  display: block; min-height: var(--f8-cil); margin-right: 2px; padding: .6rem .9rem; box-sizing: border-box;
  color: var(--f8-smrk); background: transparent; border: 1px solid var(--f8-line); border-radius: var(--f8-radius) var(--f8-radius) 0 0;
  font: inherit; font-size: var(--f8-fs-ui); font-weight: 600; line-height: 1.2; text-decoration: none; cursor: pointer;
}
.dc-web .dc-tabs > .nav-tabs .nav-link:hover { color: var(--f8-smrk-deep); background: var(--f8-vapno-2); }
.dc-web .dc-tabs > .nav-tabs .nav-link.active, .dc-web .dc-tabs > .nav-tabs .nav-link.active:hover {
  color: var(--f8-ink); background: var(--f8-white); border-bottom-color: var(--f8-white); cursor: default;
  border-top: 3px solid var(--dc-akcent); padding-top: calc(.6rem - 2px);
}
.dc-web .dc-tabs > .nav-tabs .nav-link:focus-visible { outline: 3px solid var(--f8-smrk); outline-offset: -3px; }
.dc-web .dc-tabs > .tab-content { background: var(--f8-white); border: 1px solid var(--f8-line); border-top: 0; border-radius: 0 0 var(--f8-radius) var(--f8-radius); }
.dc-web .dc-tabs > .tab-content > .tab-pane { padding: 16px; overflow-x: auto; }
.dc-web .dc-tabs > .tab-content > .tab-pane > :first-child { margin-top: 0; }
.dc-web .dc-tabs > .tab-content > .tab-pane > :last-child { margin-bottom: 0; }
/* Bootstrap: neaktivní panel skrytý (rezerva, kdyby BS CSS chybělo) */
.dc-web .dc-tabs > .tab-content > .tab-pane:not(.active):not(.show) { display: none; }
.dc-web .dc-tabs > .tab-content > .tab-pane.active { display: block; }

.dc-web .dc-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 180px), 1fr)); gap: 8px; margin: 1em 0; }
.dc-web .dc-gallery figure { margin: 0; }
.dc-web .dc-gallery a { display: block; line-height: 0; overflow: hidden; border-radius: var(--f8-radius); }
.dc-web .dc-gallery img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.dc-web .dc-gallery a:focus-visible { outline-offset: 2px; }
.dc-web .dc-gallery figcaption { margin-top: 6px; line-height: 1.4; font-size: var(--f8-fs-small); color: var(--f8-ink-600); }

.dc-web .dc-contact { margin: 0 0 1em; }
.dc-web .dc-contact table { max-width: 100%; }
.dc-web .dc-contact img { max-width: 100%; height: auto; }
.dc-web .dc-contact a { overflow-wrap: anywhere; }

.dc-web .dc-quote { margin: 24px 0; padding: 16px 24px; background: var(--f8-vapno-2); border: 0; border-radius: var(--f8-radius); color: var(--f8-ink-700); font-size: var(--f8-fs-h4); }
.dc-web .dc-quote p { margin: 0; }
.dc-web .dc-quote small { display: block; margin-top: 8px; font-size: var(--f8-fs-small); color: var(--f8-ink-600); }
.dc-web .dc-quote--left { float: left; width: 50%; margin: 20px 20px 20px 0; }
.dc-web .dc-quote--right { float: right; width: 50%; margin: 20px 0 20px 20px; }
@media (max-width: 575.98px) { .dc-web .dc-quote--left, .dc-web .dc-quote--right, .dc-web .dc-box--left, .dc-web .dc-box--right, .dc-web .dc-list--left, .dc-web .dc-list--right { float: none; width: auto; margin: 20px 0; } }

.dc-web .dc-note { margin: 1em 0; padding: 12px 16px; background: var(--f8-vapno-2); border: 1px solid var(--f8-line); border-radius: var(--f8-radius); color: var(--f8-ink); }
.dc-web .dc-note--info, .dc-web .dc-note--feed { background: var(--f8-azur-100); border-color: var(--f8-azur); }
.dc-web .dc-note--alert, .dc-web .dc-note--warning, .dc-web .dc-note--sticky { background: var(--f8-drevo); border-color: var(--f8-drevo); }
.dc-web .dc-note--download { background: var(--f8-white); }
.dc-web .dc-code { display: block; margin: 1em 0; padding: 8px 12px; background: var(--f8-white); border: 1px solid var(--f8-line); white-space: pre-wrap; overflow-wrap: anywhere; }
.dc-web .dc-dropcap { float: left; margin: 0 .1em 0 0; font-family: var(--f8-font-display); font-size: 3em; line-height: .9; font-weight: 800; }
.dc-web .dc-xbutton { display: inline-block; margin: .5em 0; padding: .6em 1.2em; background: var(--f8-smrk); color: var(--f8-on); border-radius: var(--f8-radius); text-decoration: none; font-weight: 600; }
.dc-web .dc-box { margin: 1em 0; padding: 16px; border: 1px solid var(--f8-line); border-radius: var(--f8-radius); background: var(--f8-white); }
.dc-web .dc-box--left, .dc-web .dc-list--left { float: left; width: 50%; margin-right: 20px; }
.dc-web .dc-box--right, .dc-web .dc-list--right { float: right; width: 50%; margin-left: 20px; }
.dc-web .dc-list { margin: 1em 0; }

/* Obal výstupu komponenty (index.php): kontejner pro všechny pohledy (blog, featured, kategorie, článek, kontakt, …),
   plná šířka jen u layoutů dc-* (.dc-komponenta--plna, layout si kontejnery řeší sám). G1 P1-3. */
.dc-komponenta { min-width: 0; overflow-wrap: break-word; }
.dc-komponenta--kontejner { box-sizing: border-box; max-width: var(--f8-kontejner); margin-inline: auto; padding: 32px var(--f8-gutter) 64px; }
.dc-komponenta--kontejner img { max-width: 100%; height: auto; }
.com-content-article > .page-header h1, .com-content-article__header h1 { margin: 0 0 24px; font-size: var(--f8-fs-h2); line-height: 1.05; }
.dc-oblast--zpravy { box-sizing: border-box; max-width: var(--f8-kontejner); margin-inline: auto; padding-inline: var(--f8-gutter); }
.mod-breadcrumbs__wrapper ol { display: flex; flex-wrap: wrap; gap: 4px 8px; margin: 0 0 16px; padding: 0; list-style: none; font-size: var(--f8-fs-small); color: var(--f8-ink-600); }
.mod-breadcrumbs__item + .mod-breadcrumbs__item::before { content: "/"; margin-right: 8px; }
.mod-breadcrumbs a { display: inline-flex; align-items: center; min-height: 32px; }

/* Systémová hlášení Joomly a formuláře: základ nese Cassiopeia, tady jen barvy značky */
.alert { border-radius: var(--f8-radius); }
.btn-primary, .btn-primary:hover { background: var(--f8-smrk); border-color: var(--f8-smrk); color: var(--f8-on); }
.btn-primary:hover { background: var(--f8-smrk-deep); border-color: var(--f8-smrk-deep); }
.form-control, .form-select { border-radius: var(--f8-radius); border-color: var(--f8-ink-600); min-height: 48px; }
/* Stránkování: jádro vypíše až 14 položek (první, předchozí, 10 stran, další, poslední) = ~450 px, na 390 px proto zalomit (G1 P1-2) */
.pagination { flex-wrap: wrap; gap: 4px; }
.pagination .page-link { display: inline-flex; align-items: center; justify-content: center; min-inline-size: 40px; min-block-size: 40px; margin: 0; border-radius: var(--f8-radius); }
.page-link { color: var(--f8-smrk); }
.active > .page-link, .page-link.active { background: var(--f8-smrk); border-color: var(--f8-smrk); color: var(--f8-on); }

/* Ikony jádra icon-* bez Font Awesome (G1 P1-2): inline SVG jako CSS maska, barva = currentColor.
   Jen vyjmenované třídy (neznámá icon-* zůstane prázdná, ne plný čtvereček). Používá je stránkování, formuláře, ikony článku. */
.dc-web .icon-angle-left, .dc-web .icon-chevron-left, .dc-web .icon-angle-right, .dc-web .icon-chevron-right, .dc-web .icon-angle-up, .dc-web .icon-chevron-up, .dc-web .icon-angle-down, .dc-web .icon-chevron-down, .dc-web .icon-angle-double-left, .dc-web .icon-angle-double-right, .dc-web .icon-arrow-left, .dc-web .icon-arrow-right, .dc-web .icon-arrow-up, .dc-web .icon-arrow-down, .dc-web .icon-search, .dc-web .icon-times, .dc-web .icon-cancel, .dc-web .icon-remove, .dc-web .icon-delete, .dc-web .icon-close, .dc-web .icon-check, .dc-web .icon-checkmark, .dc-web .icon-publish, .dc-web .icon-plus, .dc-web .icon-new, .dc-web .icon-minus, .dc-web .icon-calendar, .dc-web .icon-user, .dc-web .icon-envelope, .dc-web .icon-mail, .dc-web .icon-phone, .dc-web .icon-eye, .dc-web .icon-eye-slash, .dc-web .icon-lock, .dc-web .icon-print, .dc-web .icon-printer, .dc-web .icon-edit, .dc-web .icon-pencil, .dc-web .icon-folder, .dc-web .icon-folder-open, .dc-web .icon-folder-close, .dc-web .icon-home, .dc-web .icon-info-circle, .dc-web .icon-info, .dc-web .icon-exclamation-triangle, .dc-web .icon-warning, .dc-web .icon-external-link, .dc-web .icon-new-tab, .dc-web .icon-download, .dc-web .icon-star, .dc-web .icon-featured {
  display: inline-block; inline-size: 1em; block-size: 1em; vertical-align: -.125em; flex: none;
  background-color: currentColor; -webkit-mask: var(--dc-ikona) center / contain no-repeat; mask: var(--dc-ikona) center / contain no-repeat;
}
:is(.dc-web .icon-angle-left, .dc-web .icon-chevron-left, .dc-web .icon-angle-right, .dc-web .icon-chevron-right, .dc-web .icon-angle-up, .dc-web .icon-chevron-up, .dc-web .icon-angle-down, .dc-web .icon-chevron-down, .dc-web .icon-angle-double-left, .dc-web .icon-angle-double-right, .dc-web .icon-arrow-left, .dc-web .icon-arrow-right, .dc-web .icon-arrow-up, .dc-web .icon-arrow-down, .dc-web .icon-search, .dc-web .icon-times, .dc-web .icon-cancel, .dc-web .icon-remove, .dc-web .icon-delete, .dc-web .icon-close, .dc-web .icon-check, .dc-web .icon-checkmark, .dc-web .icon-publish, .dc-web .icon-plus, .dc-web .icon-new, .dc-web .icon-minus, .dc-web .icon-calendar, .dc-web .icon-user, .dc-web .icon-envelope, .dc-web .icon-mail, .dc-web .icon-phone, .dc-web .icon-eye, .dc-web .icon-eye-slash, .dc-web .icon-lock, .dc-web .icon-print, .dc-web .icon-printer, .dc-web .icon-edit, .dc-web .icon-pencil, .dc-web .icon-folder, .dc-web .icon-folder-open, .dc-web .icon-folder-close, .dc-web .icon-home, .dc-web .icon-info-circle, .dc-web .icon-info, .dc-web .icon-exclamation-triangle, .dc-web .icon-warning, .dc-web .icon-external-link, .dc-web .icon-new-tab, .dc-web .icon-download, .dc-web .icon-star, .dc-web .icon-featured)::before { content: none; }
.dc-web .icon-angle-left, .dc-web .icon-chevron-left { --dc-ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 6l-6 6 6 6'/%3E%3C/svg%3E"); }
.dc-web .icon-angle-right, .dc-web .icon-chevron-right { --dc-ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E"); }
.dc-web .icon-angle-up, .dc-web .icon-chevron-up { --dc-ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 15l6-6 6 6'/%3E%3C/svg%3E"); }
.dc-web .icon-angle-down, .dc-web .icon-chevron-down { --dc-ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); }
.dc-web .icon-angle-double-left { --dc-ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 6l-6 6 6 6'/%3E%3Cpath d='M19 6l-6 6 6 6'/%3E%3C/svg%3E"); }
.dc-web .icon-angle-double-right { --dc-ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 6l6 6-6 6'/%3E%3Cpath d='M13 6l6 6-6 6'/%3E%3C/svg%3E"); }
.dc-web .icon-arrow-left { --dc-ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12H4'/%3E%3Cpath d='M10 6l-6 6 6 6'/%3E%3C/svg%3E"); }
.dc-web .icon-arrow-right { --dc-ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16'/%3E%3Cpath d='M14 6l6 6-6 6'/%3E%3C/svg%3E"); }
.dc-web .icon-arrow-up { --dc-ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20V4'/%3E%3Cpath d='M6 10l6-6 6 6'/%3E%3C/svg%3E"); }
.dc-web .icon-arrow-down { --dc-ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v16'/%3E%3Cpath d='M6 14l6 6 6-6'/%3E%3C/svg%3E"); }
.dc-web .icon-search { --dc-ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%3E%3C/svg%3E"); }
.dc-web .icon-times, .dc-web .icon-cancel, .dc-web .icon-remove, .dc-web .icon-delete, .dc-web .icon-close { --dc-ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12'/%3E%3Cpath d='M18 6L6 18'/%3E%3C/svg%3E"); }
.dc-web .icon-check, .dc-web .icon-checkmark, .dc-web .icon-publish { --dc-ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E"); }
.dc-web .icon-plus, .dc-web .icon-new { --dc-ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E"); }
.dc-web .icon-minus { --dc-ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E"); }
.dc-web .icon-calendar { --dc-ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='1'/%3E%3Cpath d='M3 10h18'/%3E%3Cpath d='M8 3v4'/%3E%3Cpath d='M16 3v4'/%3E%3C/svg%3E"); }
.dc-web .icon-user { --dc-ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 3.6-6 8-6s8 2 8 6'/%3E%3C/svg%3E"); }
.dc-web .icon-envelope, .dc-web .icon-mail { --dc-ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='M22 6l-10 7L2 6'/%3E%3C/svg%3E"); }
.dc-web .icon-phone { --dc-ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E"); }
.dc-web .icon-eye { --dc-ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E"); }
.dc-web .icon-eye-slash { --dc-ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M4 4l16 16'/%3E%3C/svg%3E"); }
.dc-web .icon-lock { --dc-ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='1'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E"); }
.dc-web .icon-print, .dc-web .icon-printer { --dc-ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 9V3h10v6'/%3E%3Cpath d='M7 17H4v-8h16v8h-3'/%3E%3Cpath d='M7 14h10v7H7z'/%3E%3C/svg%3E"); }
.dc-web .icon-edit, .dc-web .icon-pencil { --dc-ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h4L19 9l-4-4L4 16z'/%3E%3C/svg%3E"); }
.dc-web .icon-folder, .dc-web .icon-folder-open, .dc-web .icon-folder-close { --dc-ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h6l2 2h10v11H3z'/%3E%3C/svg%3E"); }
.dc-web .icon-home { --dc-ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-8 9 8'/%3E%3Cpath d='M5 9v12h14V9'/%3E%3C/svg%3E"); }
.dc-web .icon-info-circle, .dc-web .icon-info { --dc-ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v6'/%3E%3Cpath d='M12 7.5v.5'/%3E%3C/svg%3E"); }
.dc-web .icon-exclamation-triangle, .dc-web .icon-warning { --dc-ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l10 18H2z'/%3E%3Cpath d='M12 10v5'/%3E%3Cpath d='M12 18v.5'/%3E%3C/svg%3E"); }
.dc-web .icon-external-link, .dc-web .icon-new-tab { --dc-ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6'/%3E%3Cpath d='M20 4l-9 9'/%3E%3Cpath d='M18 14v6H4V6h6'/%3E%3C/svg%3E"); }
.dc-web .icon-download { --dc-ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11'/%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3Cpath d='M4 20h16'/%3E%3C/svg%3E"); }
.dc-web .icon-star, .dc-web .icon-featured { --dc-ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l2.8 5.9 6.2.9-4.5 4.4 1 6.3L12 17.6l-5.5 2.9 1-6.3L3 9.8l6.2-.9z'/%3E%3C/svg%3E"); }
@media (forced-colors: active) { :is(.dc-web .icon-angle-left, .dc-web .icon-chevron-left, .dc-web .icon-angle-right, .dc-web .icon-chevron-right, .dc-web .icon-angle-up, .dc-web .icon-chevron-up, .dc-web .icon-angle-down, .dc-web .icon-chevron-down, .dc-web .icon-angle-double-left, .dc-web .icon-angle-double-right, .dc-web .icon-arrow-left, .dc-web .icon-arrow-right, .dc-web .icon-arrow-up, .dc-web .icon-arrow-down, .dc-web .icon-search, .dc-web .icon-times, .dc-web .icon-cancel, .dc-web .icon-remove, .dc-web .icon-delete, .dc-web .icon-close, .dc-web .icon-check, .dc-web .icon-checkmark, .dc-web .icon-publish, .dc-web .icon-plus, .dc-web .icon-new, .dc-web .icon-minus, .dc-web .icon-calendar, .dc-web .icon-user, .dc-web .icon-envelope, .dc-web .icon-mail, .dc-web .icon-phone, .dc-web .icon-eye, .dc-web .icon-eye-slash, .dc-web .icon-lock, .dc-web .icon-print, .dc-web .icon-printer, .dc-web .icon-edit, .dc-web .icon-pencil, .dc-web .icon-folder, .dc-web .icon-folder-open, .dc-web .icon-folder-close, .dc-web .icon-home, .dc-web .icon-info-circle, .dc-web .icon-info, .dc-web .icon-exclamation-triangle, .dc-web .icon-warning, .dc-web .icon-external-link, .dc-web .icon-new-tab, .dc-web .icon-download, .dc-web .icon-star, .dc-web .icon-featured) { background-color: CanvasText; forced-color-adjust: none; } }

/* ---------- 13. Lightbox (z F5: div.dc-lb vytváří dc-lightbox.js) ---------- */
.dc-web .dc-lb { position: fixed; inset: 0; z-index: 1060; display: flex; align-items: center; justify-content: center; background: rgba(14, 55, 66, .95); }
.dc-web .dc-lb[hidden], .dc-web .dc-lb__btn[hidden] { display: none; }
.dc-web .dc-lb__img { max-width: 92vw; max-height: 86vh; width: auto; height: auto; background: var(--f8-ink); }
.dc-web .dc-lb__btn {
  position: absolute; display: flex; align-items: center; justify-content: center; width: 3rem; height: 3rem; padding: 0;
  background: var(--f8-ink); border: 2px solid var(--f8-on); color: var(--f8-on); font-size: 2rem; line-height: 1; cursor: pointer; border-radius: 50%;
}
.dc-web .dc-lb__btn:hover { background: var(--f8-on); color: var(--f8-ink); }
.dc-web .dc-lb__btn:focus-visible { outline: 3px solid var(--f8-azur); outline-offset: 3px; }
.dc-web .dc-lb__close { right: 1rem; top: 1rem; }
.dc-web .dc-lb__prev { left: 1rem; top: 50%; transform: translateY(-50%); }
.dc-web .dc-lb__next { right: 1rem; top: 50%; transform: translateY(-50%); }
.dc-web .dc-lb__count { position: absolute; bottom: 1rem; left: 0; right: 0; text-align: center; color: var(--f8-on); font-size: var(--f8-fs-small); }

body.dc-lb-otevreno { overflow: hidden; }

/* ---------- 14. Pohyb ---------- */
@media (prefers-reduced-motion: reduce) {
  .dc-kotouc { animation: none; }
  html { scroll-behavior: auto; }
}

/* ---------- 15. Chybová a offline stránka (error.php, offline.php) ---------- */
.dc-chyba { padding-block: 48px 72px; }
.dc-chyba__nadpis { margin: 0 0 16px; font-size: var(--f8-fs-h2); line-height: 1.05; }
.dc-chyba__text, .dc-chyba__moduly { max-width: 46rem; margin: 0 0 16px; font-size: var(--f8-fs-h4); line-height: 1.5; }
.dc-chyba__moduly > :last-child { margin-bottom: 0; }
.dc-chyba__akce { margin: 24px 0 0; }
.dc-chyba__zprava { max-width: 46rem; margin: 32px 0 0; padding-top: 12px; border-top: 1px solid var(--f8-line); font-size: var(--f8-fs-small); color: var(--f8-ink-600); overflow-wrap: anywhere; }
.dc-chyba__ladeni { margin-top: 24px; overflow-x: auto; font-size: var(--f8-fs-small); }
@media (min-width: 1024px) { .dc-chyba { padding-block: 72px 104px; } }

.dc-offline { display: flex; flex-direction: column; justify-content: center; min-height: 100vh; min-height: 100dvh; padding-block: 48px; }
.dc-offline__nadpis { margin: 0 0 24px; font-size: var(--f8-fs-h3); line-height: 1.2; }
.dc-offline__logo { display: block; width: 188px; height: auto; }
.dc-offline__obrazek { display: block; max-width: 100%; height: auto; margin: 0 0 24px; }
.dc-offline__text { max-width: 46rem; font-size: var(--f8-fs-h4); line-height: 1.5; }
.dc-offline__text > :last-child { margin-bottom: 0; }

/* == R4 menu == */
/* Hlavní menu (layout mod_menu dc-hlavni): odkaz + tlačítko podmenu, mobil 56 px, desktop rozbalovací seznam otevíraný tlačítkem (bez :hover). Markup: docs/tridy.md */
.dc-menu__seznam, .dc-menu__sub { margin: 0; padding: 0; list-style: none; }
.dc-menu__polozka { display: flex; flex-wrap: wrap; align-items: stretch; }
.dc-menu__polozka > .dc-menu__odkaz, .dc-menu__polozka > .dc-menu__nadpis, .dc-menu__polozka > .dc-menu__prepinac--text { flex: 1 1 0; min-width: 0; }
.dc-menu__odkaz { gap: 8px; }
.dc-menu__nadpis { display: flex; align-items: center; min-height: 56px; font-size: var(--f8-fs-h4); font-weight: 600; line-height: 1.25; color: var(--f8-ink); }
.dc-menu__prepinac {
  flex: none; display: inline-flex; align-items: center; justify-content: center; min-width: 56px; min-height: 56px; padding: 0; box-sizing: border-box;
  background: transparent; border: 0; border-radius: 0; color: var(--f8-ink); font: inherit; cursor: pointer;
}
.dc-menu__prepinac[hidden] { display: none; }
.dc-menu__prepinac--text { justify-content: space-between; padding: 0; text-align: left; font-size: var(--f8-fs-h4); font-weight: 600; line-height: 1.25; text-decoration: underline 3px transparent; text-underline-offset: 6px; }
.dc-menu__prepinac--text .dc-menu__sipka { margin-right: 22px; }
.dc-menu__prepinac:hover { color: var(--f8-smrk-deep); }
.dc-menu__sipka { flex: none; display: block; width: 10px; height: 10px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-3px) rotate(45deg); }
.dc-menu__prepinac[aria-expanded="true"] .dc-menu__sipka { transform: translateY(2px) rotate(-135deg); }
.dc-menu__seznam .dc-menu__polozka[data-dc-podmenu="zavreno"] > .dc-menu__sub { display: none; }
.dc-menu__sub { flex: 1 1 100%; padding-left: 16px; }
.dc-menu__sub > .dc-menu__polozka:last-child { border-bottom: 0; }
.dc-menu__sub .dc-menu__odkaz, .dc-menu__sub .dc-menu__nadpis { font-size: var(--f8-fs-ui); font-weight: 500; }
/* značka aktivní větve a stránky (podtržení akcentem); aria-current="location" = nadřazená položka */
.dc-menu__odkaz[aria-current], .dc-menu__polozka--vetev > .dc-menu__odkaz, .dc-menu__polozka--vetev > .dc-menu__prepinac--text { text-decoration-color: var(--dc-akcent); }
.dc-menu__odkaz[aria-current="page"] { font-weight: 700; }

@media (min-width: 1024px) {
  .dc-menu__seznam { flex: 1 1 auto; flex-wrap: wrap; align-items: center; gap: 0 30px; }
  .dc-menu__polozka { position: relative; flex-wrap: nowrap; align-items: center; border: 0; }
  .dc-menu__polozka > .dc-menu__odkaz, .dc-menu__polozka > .dc-menu__prepinac--text { flex: 0 1 auto; }
  .dc-menu__nadpis { min-height: 52px; font-size: var(--f8-fs-ui); }
  .dc-menu__prepinac { min-width: 44px; min-height: 52px; }
  .dc-menu__prepinac--text { margin-left: 0; gap: 10px; padding: 0; border-top: 3px solid transparent; border-bottom: 3px solid transparent; font-size: var(--f8-fs-ui); text-decoration: none; }
  .dc-menu__prepinac--text .dc-menu__sipka { margin-right: 0; }
  .dc-menu__hlavni .dc-menu__odkaz[aria-current], .dc-menu__hlavni .dc-menu__polozka--vetev > .dc-menu__odkaz { text-decoration: none; }
  .dc-menu__hlavni .dc-menu__odkaz[aria-current="page"], .dc-menu__hlavni .dc-menu__polozka--vetev > .dc-menu__odkaz, .dc-menu__hlavni .dc-menu__polozka--vetev > .dc-menu__prepinac--text { border-bottom-color: var(--dc-akcent); }
  .dc-menu__seznam .dc-menu__sub--u2 {
    position: absolute; top: 100%; left: 0; z-index: 30; display: block; min-width: 260px; padding: 8px 0;
    background: var(--f8-white); border: 1px solid var(--f8-line); border-top: 3px solid var(--dc-akcent);
  }
  .dc-menu__seznam > .dc-menu__polozka:last-child > .dc-menu__sub--u2 { left: auto; right: 0; }
  .dc-menu__sub .dc-menu__polozka { flex-wrap: wrap; }
  .dc-menu__sub .dc-menu__odkaz, .dc-menu__sub .dc-menu__nadpis { min-height: 48px; padding: 0 20px; border: 0; white-space: nowrap; }
  .dc-menu__sub .dc-menu__odkaz:hover { background: var(--f8-vapno-2); }
  .dc-menu__hlavni .dc-menu__sub .dc-menu__odkaz[aria-current] { text-decoration: underline 3px var(--dc-akcent); text-underline-offset: 6px; border: 0; }
  .dc-menu__sub .dc-menu__prepinac { min-height: 48px; margin-left: 0; }
  .dc-menu__seznam .dc-menu__sub .dc-menu__sub { position: static; display: block; padding: 0 0 0 16px; border: 0; }
}

/* Patička: odkazy z layoutu dc-paticka (cíl 44 px dává pravidlo .dc-paticka a) */
.dc-paticka__navigace { margin: 0; }
.dc-paticka__nadpis-polozky { display: flex; align-items: center; min-height: 44px; font-weight: 700; }

/* == R4 pas == layouty modulu Články: dc-cenik-stos, dc-cenik-plny, dc-kontakty(-barvy), dc-aktualne, dc-doprava, dc-platby (markup: docs/tridy.md, kap. R4.3) */

/* Ceník-štos: skupina bez názvu nemá řádek záhlaví, první řádek dat proto vrátí vzhled datového řádku */
.dc-stos tbody.dc-stos__tb--bez tr { height: 60px; }
@media (max-width: 1023.98px) {
  .dc-stos tbody.dc-stos__tb--bez tr { height: auto; }
  .dc-stos tbody.dc-stos__tb--bez tr:first-child { display: grid; padding: 12px 0; border-bottom: 1px solid var(--f8-on-line); }
}
.dc-stos .dc-stos__skupina .dc-stos__stitek { vertical-align: baseline; }

/* Úplný ceník (Stavba): běžná tabulka, skupiny jako řádek záhlaví */
.dc-cenik-plny h2 { margin: 0; font-size: var(--f8-fs-h3); line-height: 1.2; font-weight: 700; font-stretch: var(--f8-stretch-nadpis); letter-spacing: 0; }
.dc-cenik-plny__uvod { margin-top: 12px; max-width: 60ch; }
.dc-cenik-plny__uvod > :first-child { margin-top: 0; }
.dc-cenik-plny .dc-tabulka__obal { margin-top: 16px; }
.dc-tabulka .dc-tabulka__skupina { background: var(--f8-vapno-2); font-size: var(--f8-fs-ui); font-weight: 700; }
.dc-tabulka td.dc-tabulka__odkaz { text-align: left; }
.dc-tabulka--cenik tbody th[scope="row"] { white-space: nowrap; font-size: var(--f8-fs-data); font-weight: 700; font-stretch: var(--f8-stretch-data); font-variant-numeric: var(--f8-num-data); }
.dc-cenik-plny__odkazy { display: flex; flex-wrap: wrap; align-items: center; gap: 0 32px; margin: 12px 0 0; padding: 0; list-style: none; }

/* Tučná linka nad řádkem tabulky (Větší nákladní auto) */
.dc-tabulka tbody tr.dc-tabulka__linka { border-top: 1px solid var(--f8-ink); }

/* Doprava a Platba a firmy: dva moduly pozice dc-prijezd vedle sebe pod blokem Prodejna a příjezd (jeden obal pozice = kontejner) */
.dc-oblast--prijezd {
  display: flex; flex-wrap: wrap; align-items: flex-start; gap: 48px 64px;
  box-sizing: border-box; max-width: var(--f8-kontejner); margin-inline: auto; padding-inline: var(--f8-gutter); padding-bottom: 64px;
}
.dc-oblast--prijezd > .dc-prijezd-blok { flex: 1 1 100%; max-width: none; padding-inline: 0; padding-bottom: 0; }
.dc-doprava__platba { margin: 12px 0 0; font-weight: 600; }
.dc-doprava__tel { margin-top: 4px; font-size: var(--f8-fs-ui); font-weight: 600; }
.dc-doprava__tel .dc-data { font-size: inherit; }
.dc-platby__odkazy .dc-data { font-size: inherit; }
@media (min-width: 1024px) { .dc-oblast--prijezd { gap: 64px 64px; padding-bottom: 112px; } }

/* == R4 uvod == */
/* Obrázky z layoutu dc.obrazek: s <picture> nese třídu (flex, order, poměr stran) obal, <img> ho vyplní. */
picture[class] > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: inherit; }
.dc-uvod__foto picture { display: block; height: 100%; }

/* Hero (layout článku uvod): štítek bez fotky, mobilní a desktopová první řádka štítku, perex z editoru */
.dc-uvod__stitek-obal--volny { position: static; }
.dc-stitek-dnes__nazev { font-size: var(--f8-fs-ui); font-weight: 700; }
@media (max-width: 1023.98px) { .dc-stitek-dnes__veta { display: none; } } /* věta stavu je na mobilu v pruhu hlavičky */
@media (min-width: 1024px) { .dc-stitek-dnes__nazev { display: none; } }
.dc-uvod__perex > :first-child { margin-top: 0; }
.dc-uvod__perex > :last-child { margin-bottom: 0; }
.dc-uvod__telefon:focus-visible, .dc-stitek-dnes:focus-visible { outline-color: var(--f8-azur); }

/* == R4 obory == */
/* Barevný kód Barev (šest tónů vzorníku, tokeny --f8-s-*) na dlaždici i nad názvem kapitoly */
.dc-dlazdice__kod--barvy > span:nth-child(1), .dc-kapitola__kod--barvy > span:nth-child(1) { background: var(--f8-s-2); }
.dc-dlazdice__kod--barvy > span:nth-child(2), .dc-kapitola__kod--barvy > span:nth-child(2) { background: var(--f8-s-3); }
.dc-dlazdice__kod--barvy > span:nth-child(3), .dc-kapitola__kod--barvy > span:nth-child(3) { background: var(--f8-s-5); }
.dc-dlazdice__kod--barvy > span:nth-child(4), .dc-kapitola__kod--barvy > span:nth-child(4) { background: var(--f8-s-6); }
.dc-dlazdice__kod--barvy > span:nth-child(5), .dc-kapitola__kod--barvy > span:nth-child(5) { background: var(--f8-s-8); }
.dc-dlazdice__kod--barvy > span:nth-child(6), .dc-kapitola__kod--barvy > span:nth-child(6) { background: var(--f8-s-12); }

/* Kapitoly: text z editoru, řádek „Jen v prodejně“ s telefonem, kategorie e-shopu */
.dc-kapitola__popis > :first-child { margin-top: 0; }
.dc-kapitola__popis > :last-child { margin-bottom: 0; }
.dc-kapitola__eshop-popis + .dc-eshop { margin-top: 0; }
.dc-sortiment__hlavicka p:first-child { margin-top: 0; }
.dc-sortiment__hlavicka p:last-child { margin-bottom: 0; }

/* Truhláři: v DOM jde fotka první (mobil), na desktopu text, portrét, detail; studio přes celý řádek */
.dc-kapitola > .dc-studio-list { flex: 1 1 100%; order: 3; }
.dc-studio-list__text > :first-child { margin-top: 0; }
.dc-studio-list__akce a { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; font-size: var(--f8-fs-ui); font-weight: 600; }
.dc-studio-list__akce .dc-data { font-size: var(--f8-fs-data); }

/* Barvy: název vlevo, specialista vpravo, vzorník (tóny jako inline SVG) a tónování */
.dc-kapitola--barvy { align-items: flex-end; justify-content: space-between; gap: 16px 56px; }
.dc-kapitola__specialista { display: inline-flex; align-items: center; gap: 14px; min-height: 56px; color: var(--f8-ink); text-decoration: none; }
.dc-kapitola__specialista:hover { color: var(--f8-ink); }
.dc-kapitola__specialista:hover .dc-data { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .2em; }
.dc-kapitola__specialista > span { display: flex; flex-direction: column; line-height: 1.1; }
.dc-kapitola__specialista small { margin-bottom: 4px; font-size: var(--f8-fs-small); line-height: 1.3; color: var(--f8-ink-600); }
.dc-kapitola__specialista .dc-data { font-size: var(--f8-fs-data); }
svg.dc-vzornik__tony { display: block; width: 100%; }
.dc-vzornik-pod__foto { display: block; width: 100%; aspect-ratio: 16 / 9; }
.dc-vzornik-pod__eshop .dc-kapitola__eshop-popis:first-child { margin-top: 0; }

@media (max-width: 639.98px) {
  /* fotky kapitol a tónování přes celou šířku okna (záporný okraj vůči 16px okraji, kanon mobil) */
  .dc-kapitola__foto, .dc-vzornik-pod__foto, .dc-studio-list { margin-inline: calc(-1 * var(--f8-gutter)); max-width: none; }
  .dc-kapitola__foto, .dc-vzornik-pod__foto { width: auto; }
}
@media (min-width: 640px) { .dc-vzornik-pod__foto { aspect-ratio: 4 / 3; } }
@media (min-width: 1024px) {
  .dc-kapitola--hrany .dc-kapitola__text { order: 0; }
  .dc-kapitola--hrany .dc-kapitola__foto { order: 1; }
  .dc-kapitola--hrany .dc-kapitola__detail { order: 2; }
}

/* == R4b == opravy po G4 (nárazový pás, ceník, příjezd, patička, dotykové cíle) */

/* Nárazový pás (mod_custom dc-naraz, pozice dc-obsah-c, jen desktop): fotka přes celou šířku okna, výška 560 px jako T8;
   odstup nad ním dává spodní okraj kapitoly Dům (T8 padding-bottom 128), pod ním horní okraj Prodejny a příjezdu (112) */
.dc-naraz__obr { display: block; width: 100%; height: 560px; object-fit: cover; object-position: 30% 50%; }

/* Ceník: sloupec pruhu v záhlaví nemá text (jen skrytý název) */
.dc-stos thead th.dc-stos__th-pruh { padding: 0; }

/* Příjezd: fotka dvora je předřezaná na 7 : 2 (r4/foto-r4.py), výřez z T8 (scale 1.8) by ji zvětšil podruhé */
@media (min-width: 1024px) {
  .dc-prijezd__dvur img { transform: none; object-position: 50% 50%; }
}

/* Mobil: Navigovat přes celou šířku (G4 P2-9) */
@media (max-width: 1023.98px) {
  .dc-prijezd__akce .dc-tlacitko { width: 100%; justify-content: center; }
}

/* Názvy kapitol: dotykový cíl 44 px i na mobilu (spec. 5.4, G4 P2-8) */
.dc-kapitola__nazev a { display: inline-flex; align-items: center; min-height: var(--f8-cil); }

/* Logo jako odkaz: dotykový cíl 44 px (G4 P3-10) */
.dc-paticka__znacka a { display: inline-flex; align-items: center; min-height: var(--f8-cil); }
.dc-hlavicka__logo { min-height: var(--f8-cil); }

/* Patička: tlačítko Nastavení cookies (n3t) vypadá jako odkaz */
.dc-paticka__cookies { padding: 0; background: none; border: 0; font: inherit; cursor: pointer; }

/* == R5 == oborové stránky, Další obory, blog Aktuality, Akce na dřevě, lešení (modul), opravy B3 a B4, formuláře com_contact */

/* B3: mobilní menu, „Pro firmy“ a podtitul pod sebou (odkaz je flex, text a <small> by jinak splynuly: „Pro firmyfaktura“) */
@media (max-width: 1023.98px) {
  .dc-hlavicka__firmy a { flex-direction: column; align-items: flex-start; justify-content: center; gap: 2px; }
}

/* B4: tlačítko ceníku na mobilu přes celou šířku (li je roztažené, samotné tlačítko bylo inline-flex a šířka obsahu) */
@media (max-width: 639.98px) {
  .dc-stos__odkazy .dc-tlacitko { display: flex; width: 100%; box-sizing: border-box; }
}

/* Linka kódu oboru (8 px): hlavička oboru a Další obory; Barvy = šest tónů vzorníku (tokeny --f8-s-*) */
.dc-obor__kod, .dc-dalsi__kod { display: block; height: 8px; background: var(--f8-kod-stavba); }
.dc-obor__kod--stavba, .dc-dalsi__kod--stavba { background: var(--f8-kod-stavba); }
.dc-obor__kod--truhlari, .dc-dalsi__kod--truhlari { background: var(--f8-kod-truhlari); }
.dc-obor__kod--dum, .dc-dalsi__kod--dum { background: var(--f8-kod-dum); }
.dc-obor__kod--barvy, .dc-dalsi__kod--barvy { display: flex; background: none; }
.dc-obor__kod--barvy > span, .dc-dalsi__kod--barvy > span { flex: 1; }
.dc-obor__kod--barvy > span:nth-child(1), .dc-dalsi__kod--barvy > span:nth-child(1) { background: var(--f8-s-2); }
.dc-obor__kod--barvy > span:nth-child(2), .dc-dalsi__kod--barvy > span:nth-child(2) { background: var(--f8-s-3); }
.dc-obor__kod--barvy > span:nth-child(3), .dc-dalsi__kod--barvy > span:nth-child(3) { background: var(--f8-s-5); }
.dc-obor__kod--barvy > span:nth-child(4), .dc-dalsi__kod--barvy > span:nth-child(4) { background: var(--f8-s-6); }
.dc-obor__kod--barvy > span:nth-child(5), .dc-dalsi__kod--barvy > span:nth-child(5) { background: var(--f8-s-8); }
.dc-obor__kod--barvy > span:nth-child(6), .dc-dalsi__kod--barvy > span:nth-child(6) { background: var(--f8-s-12); }

/* Oborová stránka (layout článku obor): fotka, linka kódu, smrková plocha s H1, perex a telefon */
.dc-oblast--obsah-d { position: relative; }
.dc-obor__hlavicka { position: relative; }
.dc-obor__foto { height: 240px; overflow: hidden; }
.dc-obor__foto picture { display: block; height: 100%; }
.dc-obor__foto img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
.dc-obor__smrk { background: var(--f8-smrk); color: var(--f8-on); }
.dc-obor__smrk-vnitrek {
  box-sizing: border-box; max-width: var(--f8-kontejner); margin-inline: auto; padding: 28px var(--f8-gutter) 32px;
  display: flex; flex-wrap: wrap; align-items: flex-end; gap: 24px 64px;
}
.dc-obor__titul { flex: 7 1 480px; min-width: 0; }
.dc-obor__smrk h1 { margin: 0; max-width: 40rem; font-size: var(--f8-fs-h2); line-height: 1.05; letter-spacing: -.025em; font-weight: 800; color: var(--f8-on); }
.dc-obor__pro { margin: 12px 0 0; font-size: var(--f8-fs-small); color: var(--f8-on-muted); }
.dc-obor__akce { flex: 5 1 340px; min-width: 0; }
.dc-obor__perex { max-width: 32rem; font-size: var(--f8-fs-small); line-height: 1.45; color: var(--f8-on-muted); }
.dc-obor__perex > :first-child { margin-top: 0; }
.dc-obor__perex > :last-child { margin-bottom: 0; }
.dc-obor__perex a { color: var(--f8-on); }
.dc-obor__telefon { display: inline-flex; align-items: center; gap: 14px; min-height: 56px; margin-top: 16px; color: var(--f8-on); text-decoration: none; }
.dc-obor__telefon:hover { color: var(--f8-white); }
.dc-obor__telefon:hover .dc-data { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .2em; }
.dc-obor__telefon > span { display: flex; flex-direction: column; line-height: 1.05; }
.dc-obor__telefon small { font-size: var(--f8-fs-small); color: var(--f8-on-muted); }
.dc-obor__telefon .dc-data { font-size: var(--f8-fs-data); }
.dc-obor__telefon:focus-visible { outline-color: var(--f8-azur); }

/* Tělo oboru: sortiment a „Jen v prodejně“, kategorie e-shopu na bílém listu, celý text článku */
.dc-obor__telo { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px 64px; padding-top: 40px; }
.dc-obor__sortiment-text { margin: 0; max-width: 40rem; font-size: var(--f8-fs-h4); line-height: 1.4; font-weight: 600; color: var(--f8-ink); }
.dc-obor__sortiment .dc-kapitola__jen { margin-top: 16px; }
.dc-obor__eshop-obal { align-self: start; box-sizing: border-box; padding: 20px 20px 12px; background: var(--f8-white); }
.dc-obor__eshop-obal .dc-kapitola__eshop-popis { margin-top: 0; }
.dc-obor__text { max-width: 46rem; }
.dc-obor__text > :first-child { margin-top: 0; }
@media (min-width: 640px) {
  .dc-obor__foto { height: 300px; }
}
@media (min-width: 1024px) {
  .dc-obor__foto { height: 380px; }
  .dc-obor__smrk-vnitrek { padding-block: 40px 44px; }
  .dc-obor__telo { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); padding-top: 64px; }
  .dc-obor__text { grid-column: 1 / -1; }
}

/* Ceník plný a Lešení (modul) v pozici stránky: vlastní kontejner (moduly mají výchozí styl bez chromu) */
.dc-oblast > .dc-cenik-plny, .dc-oblast > .dc-leseni-blok { box-sizing: border-box; max-width: var(--f8-kontejner); margin-inline: auto; padding-inline: var(--f8-gutter); }
.dc-oblast > .dc-cenik-plny { padding-top: 48px; }
.dc-oblast > .dc-leseni-blok { padding-block: 24px 0; }
@media (min-width: 1024px) { .dc-oblast > .dc-cenik-plny { padding-top: 80px; } }

/* Lešení: odkaz mimo web z jednoho zdroje (layout mod_menu dc-odkaz-ven) */
.dc-leseni-blok__nadpis { margin: 0 0 8px; font-size: var(--f8-fs-h3); line-height: 1.2; font-weight: 700; font-stretch: var(--f8-stretch-nadpis); letter-spacing: 0; }
.dc-leseni-blok__veta { margin: 0; color: var(--f8-ink-700); }
.dc-leseni-blok__odkaz { margin: 0; }
.dc-leseni-blok__a { min-height: 48px; font-size: var(--f8-fs-ui); font-weight: 600; text-decoration-thickness: 2px; }

/* Další obory (K8b): bez fotek, linka kódu, název, řádek sortimentu; aktuální obor layout vynechá */
.dc-dalsi { padding-block: var(--f8-sp-8); }
.dc-dalsi h2 { margin: 0 0 24px; font-size: var(--f8-fs-h3); line-height: 1.2; font-weight: 700; font-stretch: var(--f8-stretch-nadpis); letter-spacing: 0; }
.dc-dalsi__seznam { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; margin: 0; padding: 0; list-style: none; }
.dc-dalsi__odkaz { display: flex; flex-direction: column; gap: 4px; min-height: 48px; height: 100%; box-sizing: border-box; color: var(--f8-ink); text-decoration: none; }
.dc-dalsi__odkaz:hover { color: var(--f8-ink); }
.dc-dalsi__kod { margin-bottom: 8px; }
.dc-dalsi__nazev { font-family: var(--f8-font-display); font-size: var(--f8-fs-h3); line-height: 1.15; font-weight: 800; letter-spacing: -.02em; color: var(--f8-smrk-deep); }
.dc-dalsi__odkaz:hover .dc-dalsi__nazev { text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: .14em; }
.dc-dalsi__popis { font-size: var(--f8-fs-small); line-height: 1.4; color: var(--f8-ink-600); }
@media (min-width: 640px) { .dc-dalsi__seznam { grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 32px 24px; } }
@media (min-width: 1024px) { .dc-dalsi { padding-block: var(--f8-sp-9); } }

/* Akce na ploše světlého dřeva (B2): modul dc-aktualne na smrku i ve vápenném pultu, blog Aktuality */
.dc-aktuality__polozka--akce { margin-block: 12px 4px; }
.dc-aktuality__polozka--akce .dc-aktuality__meta { font-weight: 700; }
.dc-aktuality__polozka--akce + .dc-aktuality__polozka { margin-top: 8px; }
.dc-aktuality__polozka--akce .dc-aktuality__nadpis a { text-decoration-thickness: 2px; }

/* Blog kategorie Aktuality (layout aktuality + aktuality_item): seznam karet, Akce na dřevě, Novinka se štítkem */
.dc-aktblog__nadpis { margin: 0 0 16px; font-size: var(--f8-fs-h2); line-height: 1.05; }
.dc-aktblog__popis { max-width: 46rem; margin: 0 0 32px; }
.dc-aktblog__popis > :last-child { margin-bottom: 0; }
.dc-aktblog__prazdno { margin: 0; color: var(--f8-ink-700); }
.dc-aktblog__seznam { display: grid; align-items: start; grid-template-columns: minmax(0, 1fr); gap: 16px 24px; margin: 0; padding: 0; list-style: none; }
.dc-aktblog__radek { min-width: 0; }
.dc-akt { box-sizing: border-box; padding: 8px 20px 16px; background: var(--f8-white); border-top: 2px solid var(--f8-smrk-deep); color: var(--f8-ink); --dc-text: var(--f8-ink); --dc-text-tlumeny: var(--f8-ink-600); }
.dc-akt--akce { background: var(--f8-drevo); border-top-color: var(--f8-ink); --dc-text-tlumeny: var(--f8-ink-700); --dc-odkaz: var(--f8-ink); --dc-odkaz-hover: var(--f8-ink); --dc-fokus: var(--f8-smrk); }
.dc-akt__foto { display: block; max-width: none; width: calc(100% + 40px); margin: -8px -20px 12px; aspect-ratio: 16 / 9; object-fit: cover; }
.dc-akt__meta { margin: 12px 0 0; font-size: var(--f8-fs-small); line-height: 1.4; font-variant-numeric: var(--f8-num-data); color: var(--dc-text-tlumeny); }
.dc-akt__meta strong { font-size: var(--f8-fs-ui); font-weight: 700; color: var(--dc-text); }
.dc-akt__meta span { font-weight: 600; }
.dc-akt .dc-stitek { margin-left: 0; }
.dc-akt--akce .dc-akt__meta { font-weight: 700; }
.dc-akt__nadpis { margin: 0; font-family: var(--f8-font); font-size: var(--f8-fs-h4); line-height: 1.3; font-weight: 700; letter-spacing: 0; color: var(--f8-ink); }
.dc-akt__nadpis a { display: inline-block; padding: 10px 0; color: var(--f8-ink); text-decoration-thickness: 1px; }
.dc-akt__nadpis a:hover { text-decoration-thickness: 2px; }
.dc-akt__text { font-size: var(--f8-fs-body); color: var(--dc-text-tlumeny); }
.dc-akt__odstavec { margin: 0 0 .6em; }
.dc-akt__text > :last-child { margin-bottom: 0; }
.dc-aktblog__stranky { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; margin-top: 40px; }
.dc-aktblog__pocitadlo { margin: 0; font-size: var(--f8-fs-small); color: var(--f8-ink-600); }
.dc-aktblog .pagination { display: flex; margin: 0; padding: 0; list-style: none; }
.dc-aktblog .pagination .page-link { min-inline-size: var(--f8-cil); min-block-size: var(--f8-cil); background: var(--f8-white); border: 1px solid var(--f8-line); font-weight: 600; }
.dc-aktblog .pagination .page-link:hover { background: var(--f8-vapno-2); color: var(--f8-smrk-deep); }
.dc-aktblog .pagination .disabled > .page-link { color: var(--f8-ink-600); background: var(--f8-vapno-2); }
.dc-aktblog .pagination .active > .page-link { background: var(--f8-smrk); border-color: var(--f8-smrk); color: var(--f8-on); }
@media (min-width: 1024px) { .dc-aktblog__seznam { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; } }

/* Formuláře com_contact (kontakty 26 až 29): pole, chyby, captcha, GDPR, tlačítko v jazyce šablony (bez override jádra) */
.com-contact__form, .contact-form { max-width: 46rem; }
.contact-form form { margin: 0; padding: 0; background: none; border: 0; }
.contact-form fieldset { min-width: 0; margin: 0 0 24px; padding: 0; border: 0; }
.contact-form legend { float: none; width: 100%; margin: 0 0 16px; padding: 0 0 8px; border-bottom: 2px solid var(--f8-ink); font-family: var(--f8-font-display); font-size: var(--f8-fs-h4); line-height: 1.25; font-weight: 800; color: var(--f8-smrk-deep); }
.contact-form .control-group { margin: 0 0 20px; }
.contact-form .control-label label, .contact-form label { display: inline-block; margin: 0 0 6px; font-size: var(--f8-fs-ui); font-weight: 600; line-height: 1.3; color: var(--f8-ink); }
.contact-form .star { color: var(--f8-ink); font-weight: 700; }
.contact-form .controls { min-width: 0; }
.contact-form input[type="text"], .contact-form input[type="email"], .contact-form input[type="tel"], .contact-form input[type="url"], .contact-form input[type="number"], .contact-form input[type="password"], .contact-form textarea, .contact-form select {
  display: block; width: 100%; box-sizing: border-box; min-height: 48px; padding: 10px 12px;
  background: var(--f8-white); color: var(--f8-ink); border: 1px solid var(--f8-ink-600); border-radius: var(--f8-radius);
  font: inherit; font-size: var(--f8-fs-body); line-height: 1.4;
}
.contact-form textarea { min-height: 10rem; resize: vertical; }
.contact-form input:focus, .contact-form textarea:focus, .contact-form select:focus { border-color: var(--f8-smrk); box-shadow:none; }
/* Fokus polí formuláře (G5 P1-1): rámeček ztmavne a přidá se outline 3 px; platí i pro zaškrtávací pole (GDPR, kopie) a PoW widget */
.dc-web .contact-form :is(input, textarea, select, button):focus-visible { outline: 3px solid var(--dc-fokus); outline-offset: 2px; }
.dc-web .contact-form altcha-widget :is(input, button, a):focus-visible { outline: 3px solid var(--dc-fokus); outline-offset: 2px; }
.contact-form .form-text, .contact-form .form-text small { display: block; margin-top: 6px; font-size: var(--f8-fs-small); line-height: 1.4; color: var(--f8-ink-600); }
/* Chyby: kromě barvy silnější rámeček a zpráva textem (validátor Joomly označí pole třídou invalid a aria-invalid) */
.contact-form input.invalid, .contact-form textarea.invalid, .contact-form select.invalid, .contact-form [aria-invalid="true"] { border: 3px solid var(--f8-chyba); padding: 8px 10px; }
.contact-form label.invalid, .contact-form .control-label .invalid { color: var(--f8-chyba); }
.contact-form .form-control-feedback, .contact-form .invalid-feedback { display: block; margin-top: 6px; font-size: var(--f8-fs-small); font-weight: 600; line-height: 1.4; color: var(--f8-chyba); }
/* Captcha (PoW): widget na plnou šířku pole; proměnné sedí na knihovnu Altcha, ostatní widgety dostanou jen rozestup */
.contact-form altcha-widget, .contact-form .altcha, .contact-form [class*="captcha"] {
  display: block; max-width: 24rem;
  --altcha-color-base: var(--f8-white); --altcha-color-text: var(--f8-ink); --altcha-color-border: var(--f8-ink-600);
  --altcha-color-border-focus: var(--f8-smrk); --altcha-color-active: var(--f8-smrk); --altcha-border-radius: 2px;
}
/* GDPR souhlas a zaškrtávací pole: větší cíl, popisek vedle políčka */
.contact-form input[type="checkbox"], .contact-form input[type="radio"] { flex: none; width: 24px; height: 24px; margin: 0; accent-color: var(--f8-smrk); }
.contact-form .form-check, .contact-form fieldset.checkboxes, .contact-form fieldset.radio { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 20px; min-height: var(--f8-cil); margin: 0; padding: 0; }
.contact-form .form-check { padding-left: 0; }
.contact-form .form-check-input { float: none; margin: 0; }
.contact-form .form-check label, .contact-form fieldset.checkboxes label, .contact-form fieldset.radio label { display: inline-flex; align-items: center; gap: 10px; min-height: var(--f8-cil); margin: 0; font-weight: 400; }
.contact-form .controls p { margin: 0 0 8px; font-size: var(--f8-fs-small); color: var(--f8-ink-700); }
.contact-form .controls a { font-weight: 600; }
/* Tlačítko Odeslat: plné smrkové jako .dc-tlacitko, na mobilu přes celou šířku */
.contact-form .btn, .contact-form button[type="submit"] {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; padding: 0 28px; box-sizing: border-box;
  border-radius: var(--f8-radius); font: inherit; font-size: var(--f8-fs-ui); font-weight: 600; line-height: 1.2; text-decoration: none; cursor: pointer;
}
.contact-form .btn-primary, .contact-form button[type="submit"] { background: var(--f8-smrk); border: 0; color: var(--f8-on); }
.contact-form .btn-primary:hover, .contact-form button[type="submit"]:hover { background: var(--f8-smrk-deep); color: var(--f8-white); }
@media (max-width: 639.98px) {
  .contact-form .btn-primary, .contact-form button[type="submit"] { display: flex; width: 100%; }
}
/* 0.5.2 (B19): skupina vlastních polí bez názvu (legenda „Pole“) navazuje na formulář, legenda zůstává pro čtečky */
.contact-form fieldset + fieldset > legend { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
/* GDPR text (com-contact__miscinfo): šířka formuláře, nadpis velikosti legendy, ikona vedle textu i na mobilu */
.com-contact__miscinfo { max-width: 46rem; margin: 0 0 32px; }
.com-contact > h2:has(+ .com-contact__miscinfo) { margin: 32px 0 8px; font-size: var(--f8-fs-h4); line-height: 1.25; }
.contact-miscinfo dl, .com-contact__miscinfo dl { display: flex; align-items: flex-start; gap: 10px; margin: 0; }
.com-contact__miscinfo dt, .com-contact__miscinfo dd { float: none; width: auto; margin: 0; padding: 0; }
.com-contact__miscinfo dt { flex: none; padding-top: 3px; color: var(--f8-ink-600); }
.com-contact__miscinfo p, .com-contact__miscinfo p.small { margin: 0; font-size: var(--f8-fs-small); line-height: 1.5; color: var(--f8-ink-700); }

/* == R6 == katalog Barvy: layout dc-katalog (výpis, filtry účelu a značky), řádek výrobku, layout dc-vyrobek (detail), upozornění redaktorovi */

/* Hlavička katalogu: nadpis, popis, filtry jako odkazy (skryté položky menu s filtrem štítku) */
.dc-katalog__hlavicka { padding-block: 32px 8px; }
.dc-katalog__nadpis { margin: 0 0 16px; font-size: var(--f8-fs-h2); line-height: 1.05; }
.dc-katalog__popis { max-width: 46rem; margin: 0 0 24px; }
.dc-katalog__popis > :last-child { margin-bottom: 0; }
.dc-katalog__filtr + .dc-katalog__filtr { margin-top: 8px; }
.dc-katalog__filtr ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.dc-katalog__filtr a {
  display: inline-flex; align-items: center; min-height: var(--f8-cil); padding: 0 16px; box-sizing: border-box;
  background: var(--f8-white); color: var(--f8-smrk); border: 1px solid var(--f8-line); border-radius: var(--f8-radius);
  font-size: var(--f8-fs-ui); font-weight: 600; line-height: 1.2; text-decoration: none;
}
.dc-katalog__filtr a:hover { background: var(--f8-vapno-2); color: var(--f8-smrk-deep); }
.dc-katalog__filtr a[aria-current="page"] { background: var(--f8-smrk); border-color: var(--f8-smrk); color: var(--f8-on); }
.dc-katalog__filtr a[aria-current="true"] { border: 2px solid var(--f8-smrk); padding-inline: 15px; }
.dc-katalog__filtr--znacka a { min-height: 40px; font-weight: 400; }
.dc-katalog__filtr--znacka a[aria-current="page"] { font-weight: 600; }

/* Druhy a řádky výrobků: velký packshot na bílém poli, text vedle; strany se střídají od 1024 px */
.dc-katalog__telo { padding-block: 24px 64px; }
.dc-katalog__prazdno { margin: 0; color: var(--f8-ink-700); }
.dc-katalog__druh + .dc-katalog__druh { margin-top: 48px; }
.dc-katalog__druh-nadpis { margin: 0 0 8px; padding-top: 16px; border-top: 2px solid var(--f8-ink); font-size: var(--f8-fs-h3); line-height: 1.2; }
.dc-katalog__seznam { display: grid; grid-template-columns: minmax(0, 1fr); }
.dc-vyrobek-radek { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; padding-block: 24px; border-bottom: 1px solid var(--f8-line); }
.dc-vyrobek-radek:last-child { border-bottom: 0; }
.dc-vyrobek-radek__foto { display: flex; align-items: center; justify-content: center; box-sizing: border-box; height: 200px; padding: 16px; background: var(--f8-white); }
.dc-vyrobek-radek__foto picture, .dc-vyrobek-radek__foto img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.dc-vyrobek-radek__telo { min-width: 0; }
.dc-vyrobek-radek__znacka, .dc-vyrobek__znacka { margin: 0 0 4px; font-size: var(--f8-fs-small); font-weight: 600; color: var(--f8-ink-700); }
.dc-znacka-logo { display: block; width: auto; height: 24px; max-width: 160px; object-fit: contain; object-position: left center; }
.dc-vyrobek-radek__nazev { margin: 0 0 8px; font-size: var(--f8-fs-h4); line-height: 1.25; letter-spacing: -.01em; }
.dc-vyrobek-radek__nazev a { color: var(--f8-smrk-deep); text-decoration: none; }
.dc-vyrobek-radek__nazev a:hover { text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: .14em; }
.dc-vyrobek-radek__perex { max-width: 40rem; color: var(--f8-ink-700); }
.dc-vyrobek-radek__perex > :first-child { margin-top: 0; }
.dc-vyrobek-radek__perex > :last-child { margin-bottom: 0; }
.dc-vyrobek-radek__tonovani, .dc-vyrobek__tonovani { margin: 12px 0 0; }
.dc-fakta { display: flex; flex-wrap: wrap; gap: 4px 32px; margin: 12px 0 0; }
.dc-fakta > div { display: flex; flex-direction: column; min-width: 0; }
.dc-fakta dt { font-size: var(--f8-fs-small); color: var(--f8-ink-600); }
.dc-fakta dd { margin: 0; font-weight: 600; font-variant-numeric: var(--f8-num-data); }
.dc-katalog__eshop { box-sizing: border-box; max-width: 32rem; margin-top: 48px; padding: 20px 20px 12px; background: var(--f8-white); }
.dc-katalog__eshop .dc-kapitola__eshop-popis { margin-top: 0; }
.dc-katalog__stranky { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; margin-top: 40px; }
.dc-katalog__pocitadlo { margin: 0; font-size: var(--f8-fs-small); color: var(--f8-ink-600); }
.dc-katalog .pagination { display: flex; margin: 0; padding: 0; list-style: none; }
.dc-katalog .pagination .page-link { min-inline-size: var(--f8-cil); min-block-size: var(--f8-cil); background: var(--f8-white); border: 1px solid var(--f8-line); font-weight: 600; }
.dc-katalog .pagination .active > .page-link { background: var(--f8-smrk); border-color: var(--f8-smrk); color: var(--f8-on); }

/* Upozornění redaktorovi (vidí jen uživatel s právem úpravy): bílý lístek s rámečkem, ne barevný pruh */
.dc-upozorneni { display: block; box-sizing: border-box; margin: 12px 0 0; padding: 8px 12px; background: var(--f8-white); border: 2px solid var(--f8-ink); border-radius: var(--f8-radius); font-size: var(--f8-fs-small); font-weight: 600; line-height: 1.4; color: var(--f8-ink); }

/* Detail výrobku (layout dc-vyrobek) */
.dc-vyrobek__drobecky { padding-top: 24px; font-size: var(--f8-fs-small); }
.dc-vyrobek__drobecky ol { display: flex; flex-wrap: wrap; gap: 0 8px; margin: 0; padding: 0; list-style: none; }
.dc-vyrobek__drobecky li { display: inline-flex; align-items: center; gap: 8px; min-height: 32px; color: var(--f8-ink-700); }
.dc-vyrobek__drobecky li + li::before { content: ""; flex: none; width: 6px; height: 6px; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(45deg); }
.dc-vyrobek__drobecky a { display: inline-flex; align-items: center; min-height: 32px; font-weight: 600; }
.dc-vyrobek__hlavicka { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; padding-block: 16px 32px; }
.dc-vyrobek__foto { display: flex; align-items: center; justify-content: center; box-sizing: border-box; min-height: 240px; padding: 24px; background: var(--f8-white); }
.dc-vyrobek__foto picture, .dc-vyrobek__obr { display: block; max-width: 100%; max-height: 420px; width: auto; height: auto; object-fit: contain; }
.dc-vyrobek__titul { min-width: 0; }
.dc-vyrobek__nazev { margin: 0 0 16px; font-size: var(--f8-fs-h2); line-height: 1.05; }
.dc-vyrobek__perex { max-width: 40rem; font-size: var(--f8-fs-h4); line-height: 1.5; color: var(--f8-ink-700); }
.dc-vyrobek__perex > :first-child { margin-top: 0; }
.dc-vyrobek__perex > :last-child { margin-bottom: 0; }
.dc-vyrobek__akce { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 32px; margin-top: 24px; }
.dc-vyrobek__eshop { margin: 0; }
.dc-vyrobek__poradime { display: flex; flex-direction: column; margin: 0; font-size: var(--f8-fs-small); color: var(--f8-ink-700); }
.dc-vyrobek__poradime .dc-telefon { min-height: 44px; font-weight: 700; }
.dc-vyrobek__telo { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; padding-block: 8px 64px; }
.dc-vyrobek__dokumenty { box-sizing: border-box; align-self: start; padding: 20px 20px 12px; background: var(--f8-white); }
.dc-vyrobek__dokumenty-nadpis { margin: 0 0 8px; font-size: var(--f8-fs-h4); line-height: 1.25; }
.dc-vyrobek__dokumenty-seznam { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--f8-smrk-deep); }
.dc-vyrobek__dokumenty-seznam li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 8px; min-height: 44px; padding-block: 8px; border-bottom: 1px solid var(--f8-line); }
.dc-vyrobek__dokumenty-seznam a { font-weight: 600; overflow-wrap: anywhere; }
.dc-vyrobek__dokumenty-seznam small { font-size: var(--f8-fs-small); color: var(--f8-ink-600); }
.dc-vyrobek__text { min-width: 0; max-width: 46rem; }
.dc-vyrobek__text > :first-child { margin-top: 0; }
.dc-vyrobek__text img { max-width: 100%; height: auto; }

@media (min-width: 640px) {
  .dc-vyrobek-radek { grid-template-columns: 220px minmax(0, 1fr); gap: 24px 32px; align-items: center; }
  .dc-vyrobek-radek__foto { height: 220px; }
  .dc-vyrobek-radek:not(:has(.dc-vyrobek-radek__foto)) { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 1024px) {
  .dc-katalog__hlavicka { padding-block: 48px 8px; }
  .dc-katalog__telo { padding-block: 32px 96px; }
  .dc-vyrobek-radek { grid-template-columns: 320px minmax(0, 1fr); gap: 24px 48px; padding-block: 32px; }
  .dc-vyrobek-radek__foto { height: 260px; }
  .dc-vyrobek-radek:nth-child(even) { grid-template-columns: minmax(0, 1fr) 320px; }
  .dc-vyrobek-radek:nth-child(even) .dc-vyrobek-radek__foto { order: 2; }
  .dc-vyrobek-radek:not(:has(.dc-vyrobek-radek__foto)) { grid-template-columns: minmax(0, 1fr); }
  .dc-vyrobek__hlavicka { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 32px 64px; padding-block: 24px 48px; align-items: center; }
  .dc-vyrobek__hlavicka--bez-fota { grid-template-columns: minmax(0, 1fr); }
  .dc-vyrobek__foto { min-height: 420px; }
  .dc-vyrobek__telo { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 32px 64px; padding-block: 16px 96px; }
  .dc-vyrobek__dokumenty { grid-column: 2; grid-row: 1; }
  .dc-vyrobek__text { grid-column: 1; grid-row: 1; }
  .dc-vyrobek__telo:not(:has(.dc-vyrobek__dokumenty)) { grid-template-columns: minmax(0, 1fr); }
  .dc-vyrobek__telo:not(:has(.dc-vyrobek__dokumenty)) .dc-vyrobek__text { grid-column: 1; }
}

/* == R7 obsah == třídy obsahu článků (plán kap. 2.2): dc-text, dc-lead, dc-dl, dc-tabulka (sekce 11), dc-figura, dc-tlacitko (sekce 3),
   dc-poznamka, dc-sekce; dc-modul = obal {loadmoduleid N} v textu (plugin nahradí jen značku, <p> kolem modulu by byl neplatný).
   Stejný seznam je v editor.css a v menu stylů TinyMCE (R9). Starší názvy dc-perex a dc-note platí dál. */
.dc-text { max-width: 46rem; }
.dc-text > :first-child { margin-top: 0; }
.dc-text > :last-child { margin-bottom: 0; }
.dc-lead { margin: 0 0 1em; font-size: var(--f8-fs-h4); line-height: 1.5; color: var(--f8-ink-700); }

.dc-dl { margin: 0 0 1em; padding: 0; background: var(--f8-white); border-top: 2px solid var(--f8-ink); border-bottom: 2px solid var(--f8-ink); }
.dc-dl > div { display: flex; flex-wrap: wrap; gap: 4px 16px; padding: 12px 16px; border-bottom: 1px solid var(--f8-line); }
.dc-dl > div:last-child { border-bottom: 0; }
.dc-dl > div > dt { flex: 0 0 12rem; font-weight: 600; }
.dc-dl > div > dd { flex: 1 1 16rem; min-width: 0; margin: 0; }
.dc-dl > dt { padding: 12px 16px 0; font-weight: 600; }
.dc-dl > dd { margin: 0; padding: 4px 16px 12px; border-bottom: 1px solid var(--f8-line); }
.dc-dl > dd:last-child { border-bottom: 0; }

.dc-tabulka__obal { margin: 0 0 1em; }
.dc-tabulka__obal > .dc-tabulka { margin: 0; }

.dc-figura { margin: 1.5em 0; }
.dc-figura img { display: block; max-width: 100%; height: auto; border-radius: var(--f8-radius); }
.dc-figura figcaption { margin-top: 8px; line-height: 1.4; font-size: var(--f8-fs-small); color: var(--f8-ink-600); }

.dc-poznamka { margin: 1em 0; padding: 12px 16px; background: var(--f8-vapno-2); border: 1px solid var(--f8-line); border-radius: var(--f8-radius); color: var(--f8-ink); }
.dc-poznamka > :last-child { margin-bottom: 0; }
.dc-poznamka--info { background: var(--f8-azur-100); border-color: var(--f8-azur); }
.dc-poznamka--dulezite { background: var(--f8-drevo); border-color: var(--f8-drevo); }

.dc-sekce { margin: 2.5em 0 0; padding-top: 1.5em; border-top: 1px solid var(--f8-line); }
.dc-sekce:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.dc-sekce > h2:first-child, .dc-sekce > h3:first-child { margin-top: 0; }

.dc-modul { margin: 0 0 1em; }
.dc-modul:empty { display: none; }
/* K4 Komu volat je kreslený pro tmavý pás (tokeny --f8-on*); vložený do textu článku ({loadmoduleid}) stojí na světlém pozadí */
.dc-modul .dc-kontakty { --f8-on: var(--f8-ink); --f8-on-muted: var(--f8-ink-600); --f8-on-line: var(--f8-line); }
.dc-modul .dc-kontakty a:hover { color: var(--f8-ink); }

/* == R8 studio == Nábytkové studio: akcent ořech (tokeny --dc-akcent-studio v tokens.css), layouty dc-portfolio, dc-realizace, dc-studio, výběr realizací, blok studia u Truhlářů */

/* Společné: nadpisy a plné tlačítko v obsahu studia mají ořech; hlavička a patička zůstávají smrk (kořen .dc-studio-obsah přepíná jen obsah) */
.dc-studio-obsah h1, .dc-studio-obsah h2, .dc-studio-obsah h3, .dc-studio-obsah h4 { color: var(--dc-akcent-deep); }
.dc-studio-obsah .dc-tlacitko, .dc-studio-obsah .dc-tlacitko--plne { background: var(--dc-akcent-studio); }
.dc-studio-obsah .dc-tlacitko:hover { background: var(--dc-akcent-studio-deep); }
.dc-studio-obsah .dc-tlacitko--obrys { background: transparent; color: var(--dc-akcent-studio); }
.dc-studio-obsah .dc-tlacitko--obrys:hover { background: var(--dc-akcent-studio); color: var(--f8-on); }
body.studio .dc-pas { background: var(--dc-akcent-studio-deep); }
body.studio .dc-pas h2, body.studio .dc-pas h3 { color: var(--f8-on); }
/* R8b: vápenný ostrov pásu (dc-pas-provoz) má i ve studiu tmavý nadpis; řádek o studiu (dc-studio-kde) místo otevírací doby prodejny */
body.studio .dc-pas .dc-pas__provoz h2 { color: var(--dc-akcent-studio-deep); }
.dc-provoz__studio { margin: 12px 0 0; font-weight: 600; line-height: 1.35; }
.dc-provoz__studio small { display: block; font-size: var(--f8-fs-small); font-weight: 400; color: var(--f8-ink-600); }
body.studio .dc-svetle h1, body.studio .dc-svetle h2, body.studio .dc-svetle h3, body.studio .dc-svetle h4 { color: var(--dc-akcent-studio-deep); }
/* R20b: pásy služeb v patičce (levneosb na hl. petroleji, lešení na modré) mají na studiu zůstat bílé – patička má třídu dc-svetle */
body.studio .dc-sluzba h2, body.studio .dc-sluzba .dc-sluzba__nadpis { color: var(--f8-white); }

/* Portfolio: hlavička s filtrem typu, popis kategorie jako úvod */
.dc-portfolio { padding-bottom: var(--f8-sp-8); }
.dc-portfolio__hlavicka { padding-block: 32px 8px; }
.dc-portfolio__radek { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 8px 32px; }
.dc-portfolio__nadpis { margin: 0; font-size: var(--f8-fs-h2); line-height: 1.05; }
.dc-portfolio__filtr ul { display: flex; flex-wrap: wrap; gap: 0 24px; margin: 0; padding: 0; list-style: none; }
.dc-portfolio__filtr a {
  display: inline-flex; align-items: center; min-height: var(--f8-cil); box-sizing: border-box; border-bottom: 3px solid transparent;
  color: var(--f8-ink); font-size: var(--f8-fs-ui); font-weight: 600; line-height: 1.2; text-decoration-thickness: 1px; text-underline-offset: .25em;
}
.dc-portfolio__filtr a:hover { color: var(--dc-akcent-studio-deep); }
.dc-portfolio__filtr a[aria-current="page"] { border-bottom-color: var(--dc-akcent-studio); font-weight: 800; text-decoration: none; }
.dc-portfolio__popis { max-width: 46rem; margin-top: 16px; }
.dc-portfolio__popis > :first-child { margin-top: 0; }
.dc-portfolio__popis > :last-child { margin-bottom: 0; }
.dc-portfolio__telo { padding-block: 32px 0; }
.dc-portfolio__prazdno { margin: 0; color: var(--f8-ink-700); }

/* Portfolio: rytmus měřítek podle pořadí (osm tvarů t1 až t8, řady 8+4, 5+7, 12, 3+4+5), mobil jiné rozvržení téže osmice */
.dc-portfolio__mrizka { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 40px var(--f8-mezera-mrizky); align-items: start; }
.dc-portfolio__polozka { min-width: 0; }
.dc-portfolio__odkaz, .dc-portfolio__odkaz:hover { display: block; color: var(--f8-ink); text-decoration: none; }
.dc-portfolio__foto { display: block; aspect-ratio: var(--dc-pomer, 3 / 2); overflow: hidden; background: var(--f8-vapno-2); }
.dc-portfolio__foto picture, .dc-portfolio__obr { display: block; width: 100%; height: 100%; object-fit: cover; }
.dc-portfolio__nazev { margin: 12px 0 0; font-size: var(--f8-fs-h4); line-height: 1.15; color: var(--f8-ink); }
.dc-studio-obsah .dc-portfolio__nazev { color: var(--f8-ink); }
.dc-portfolio__odkaz:hover .dc-portfolio__nazev { text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: .14em; text-decoration-color: var(--dc-akcent-studio); }
.dc-portfolio__meta { display: block; margin-top: 4px; font-size: var(--f8-fs-small); line-height: 1.4; color: var(--f8-ink-600); }
.dc-portfolio__odkaz:focus-visible { outline: 3px solid var(--dc-akcent-studio); outline-offset: 4px; }

/* Mobil: 1 celá šířka 3 : 2, 2 a 3 dvojice 7+5 s posunem, 4 v okrajích 4 : 3, 5 celá šířka 16 : 9, 6 a 7 dvojice 5+7, 8 v okrajích 5 : 4 */
.dc-portfolio__polozka--t1 { grid-column: span 12; --dc-pomer: 3 / 2; margin-inline: calc(-1 * var(--f8-gutter)); }
.dc-portfolio__polozka--t1 .dc-portfolio__nazev, .dc-portfolio__polozka--t1 .dc-portfolio__meta,
.dc-portfolio__polozka--t5 .dc-portfolio__nazev, .dc-portfolio__polozka--t5 .dc-portfolio__meta { padding-inline: var(--f8-gutter); }
.dc-portfolio__polozka--t2 { grid-column: span 7; --dc-pomer: 4 / 5; }
.dc-portfolio__polozka--t3 { grid-column: span 5; --dc-pomer: 4 / 5; margin-top: 48px; }
.dc-portfolio__polozka--t4 { grid-column: span 12; --dc-pomer: 4 / 3; }
.dc-portfolio__polozka--t5 { grid-column: span 12; --dc-pomer: 16 / 9; margin-inline: calc(-1 * var(--f8-gutter)); }
.dc-portfolio__polozka--t6 { grid-column: span 5; --dc-pomer: 4 / 5; }
.dc-portfolio__polozka--t7 { grid-column: span 7; --dc-pomer: 4 / 5; margin-top: 48px; }
.dc-portfolio__polozka--t8 { grid-column: span 12; --dc-pomer: 5 / 4; }

@media (min-width: 640px) {
  .dc-portfolio__mrizka { gap: 64px var(--f8-mezera-mrizky); }
  .dc-portfolio__polozka--t1 { grid-column: span 8; --dc-pomer: 3 / 2; margin-inline: 0; }
  .dc-portfolio__polozka--t2 { grid-column: span 4; --dc-pomer: 3 / 4; margin-top: 80px; }
  .dc-portfolio__polozka--t3 { grid-column: span 5; --dc-pomer: 4 / 5; margin-top: 0; }
  .dc-portfolio__polozka--t4 { grid-column: span 7; --dc-pomer: 4 / 3; align-self: end; }
  .dc-portfolio__polozka--t5 { grid-column: span 12; --dc-pomer: 21 / 9; margin-inline: 0; }
  .dc-portfolio__polozka--t6 { grid-column: span 3; --dc-pomer: 2 / 3; }
  .dc-portfolio__polozka--t7 { grid-column: span 4; --dc-pomer: 1 / 1; margin-top: 56px; }
  .dc-portfolio__polozka--t8 { grid-column: span 5; --dc-pomer: 5 / 4; margin-top: 20px; }
  .dc-portfolio__polozka--t1 .dc-portfolio__nazev, .dc-portfolio__polozka--t1 .dc-portfolio__meta,
  .dc-portfolio__polozka--t5 .dc-portfolio__nazev, .dc-portfolio__polozka--t5 .dc-portfolio__meta { padding-inline: 0; }
  .dc-portfolio__polozka--t5 .dc-portfolio__odkaz { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 24px; align-items: baseline; }
  .dc-portfolio__polozka--t5 .dc-portfolio__foto { grid-column: 1 / -1; }
  .dc-portfolio__polozka--t5 .dc-portfolio__meta { margin-top: 12px; text-align: right; }
}
@media (min-width: 1024px) {
  .dc-portfolio__mrizka { gap: 80px var(--f8-mezera-mrizky); }
  .dc-portfolio__polozka--t2 { margin-top: 160px; }
  .dc-portfolio__polozka--t7 { margin-top: 64px; }
  .dc-portfolio__nazev { font-size: var(--f8-fs-h3); }
}

/* Portfolio: stránkování (jen Novější / Starší realizace a Strana X z N) */
.dc-portfolio__stranky-obal { margin-top: var(--f8-sp-8); }
.dc-portfolio__stranky { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; padding-top: 16px; border-top: 1px solid var(--f8-ink); }
.dc-portfolio__pocitadlo, .dc-portfolio__dalsi { margin: 0; }
.dc-portfolio__pocitadlo { color: var(--f8-ink-600); font-size: var(--f8-fs-small); }
.dc-portfolio__dalsi { display: flex; flex-wrap: wrap; gap: 8px 16px; }

/* Detail realizace: hlavička, drobečky, řádek typ a místo */
.dc-realizace { padding-bottom: var(--f8-sp-8); }
.dc-realizace__hlavicka { padding-block: 32px 24px; }
.dc-realizace__drobecky ol { display: flex; flex-wrap: wrap; gap: 4px 0; margin: 0; padding: 0; list-style: none; font-size: var(--f8-fs-small); }
.dc-realizace__drobecky li { display: inline-flex; align-items: center; min-height: 32px; }
.dc-realizace__drobecky li:not(:last-child)::after { content: "/"; margin-inline: 12px; color: var(--f8-ink-600); }
@supports (content: "/" / "") { .dc-realizace__drobecky li:not(:last-child)::after { content: "/" / ""; } }
.dc-realizace__radek { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 32px; margin-top: 24px; }
.dc-realizace__nadpis { margin: 0; max-width: 14em; font-size: var(--f8-fs-h1); line-height: 1.02; }
.dc-realizace__meta { display: flex; flex-wrap: wrap; gap: 4px 24px; margin: 0; font-size: var(--f8-fs-ui); color: var(--f8-ink-600); }
.dc-realizace__meta a { font-weight: 700; }

/* Galerie: řady 8+4 a 5+4+3 podle tvaru fotek, popisek vždy viditelný; mobil první fotka přes celou šířku, dvojice 7+5, zbytek v lightboxu */
.dc-web .dc-gallery.dc-realizace__galerie { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 32px 16px; margin: 0; align-items: start; }
.dc-realizace__foto { grid-column: span 12; min-width: 0; }
.dc-web .dc-realizace__galerie img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.dc-web .dc-realizace__galerie .dc-realizace__foto--na-vysku img { aspect-ratio: 4 / 5; }
.dc-web .dc-realizace__galerie .dc-realizace__foto--ctverec img { aspect-ratio: 1 / 1; }
.dc-realizace__galerie picture[class] > img { height: auto; }
.dc-web .dc-realizace__galerie figcaption { margin-top: 8px; font-size: var(--f8-fs-small); line-height: 1.4; color: var(--f8-ink-700); }
.dc-realizace__foto a:focus-visible { outline: 3px solid var(--dc-akcent-studio); outline-offset: 3px; }
.dc-realizace__vsechny { margin: 24px 0 0; }
@media (max-width: 639.98px) {
  .dc-realizace__foto:nth-child(1) { grid-column: span 12; margin-inline: calc(-1 * var(--f8-gutter)); }
  .dc-realizace__foto:nth-child(1) figcaption { padding-inline: var(--f8-gutter); }
  .dc-realizace__foto:nth-child(2) { grid-column: span 7; }
  .dc-realizace__foto:nth-child(3) { grid-column: span 5; }
  .dc-realizace__foto:nth-child(n+4) { display: none; }
}
@media (min-width: 640px) {
  .dc-web .dc-gallery.dc-realizace__galerie { gap: 40px 24px; }
  .dc-realizace__foto--r12 { grid-column: span 12; }
  .dc-realizace__foto--r8 { grid-column: span 8; }
  .dc-realizace__foto--r5 { grid-column: span 5; }
  .dc-realizace__foto--r4 { grid-column: span 4; }
  .dc-realizace__foto--r3 { grid-column: span 3; }
  .dc-realizace__vsechny { display: none; }
}

/* Detail: text se shrnutím a materiály vedle sebe, CTA, navigace */
.dc-realizace__telo { display: flex; flex-wrap: wrap; gap: 40px 64px; margin-top: 48px; }
.dc-realizace__text { flex: 7 1 360px; min-width: 0; }
.dc-realizace__text > :first-child { margin-top: 0; font-size: var(--f8-fs-h4); font-weight: 600; line-height: 1.35; color: var(--f8-ink); }
.dc-realizace__materialy { flex: 5 1 320px; min-width: 0; }
.dc-realizace__materialy-nadpis { margin: 0; font-size: var(--f8-fs-h3); line-height: 1.2; }
.dc-realizace__material-seznam { margin: 16px 0 0; border-top: 2px solid var(--dc-akcent-studio-deep); border-bottom: 2px solid var(--dc-akcent-studio-deep); }
.dc-realizace__material-seznam > div { display: flex; flex-wrap: wrap; gap: 4px 16px; padding: 12px 8px; }
.dc-realizace__material-seznam > div + div { border-top: 1px solid var(--f8-line); }
.dc-realizace__material-seznam dt { flex: 0 0 9em; font-weight: 700; }
.dc-realizace__material-seznam dd { flex: 1 1 10em; margin: 0; }
.dc-realizace__materialy .dc-kapitola__eshop-popis { margin: 24px 0 0; font-size: var(--f8-fs-small); color: var(--f8-ink-600); }
.dc-realizace__materialy .dc-eshop--seznam { border-top: 0; }
.dc-realizace__cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px 32px; margin-top: var(--f8-sp-8); padding: 24px 16px; background: var(--f8-white); }
.dc-realizace__cta-telo { flex: 1 1 300px; min-width: 0; }
.dc-realizace__cta-nadpis { margin: 0; font-size: var(--f8-fs-h3); line-height: 1.2; }
.dc-realizace__cta-text { margin: 8px 0 0; }
.dc-realizace__cta-akce { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 32px; margin: 0; }
.dc-realizace__cta-tel { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; color: var(--f8-ink); text-decoration: none; }
.dc-realizace__cta-tel .dc-data { font-size: var(--f8-fs-data); }
.dc-realizace__navigace-obal { margin-top: var(--f8-sp-7); }
.dc-realizace__navigace { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 16px 24px; padding-top: 16px; border-top: 2px solid var(--dc-akcent-studio-deep); }
.dc-realizace__navigace p { display: flex; flex-direction: column; margin: 0; }
.dc-realizace__navigace span { font-size: var(--f8-fs-small); color: var(--f8-ink-600); }
.dc-realizace__navigace a { display: inline-flex; align-items: center; min-height: var(--f8-cil); font-weight: 600; }
.dc-realizace__dalsi { text-align: right; align-items: flex-end; }
.dc-realizace__vse { align-self: flex-end; }
@media (max-width: 639.98px) {
  .dc-realizace__navigace { flex-direction: column; align-items: flex-start; }
  .dc-realizace__dalsi { text-align: left; align-items: flex-start; }
  .dc-realizace__vse { order: 3; align-self: flex-start; }
}
@media (min-width: 640px) { .dc-realizace__cta { padding: 32px 40px; } }

/* Úvod studia: hlavička, výběr realizací, spolupráce jako seznam bez číslování */
.dc-studio { padding-bottom: var(--f8-sp-8); }
.dc-studio__uvod { padding-block: 48px 16px; }
.dc-studio__nadpis { margin: 0; font-size: var(--f8-fs-h1); line-height: 1.02; }
.dc-studio__perex { max-width: 46rem; margin-top: 24px; }
.dc-studio__perex > :first-child { margin-top: 0; font-size: var(--f8-fs-h4); font-weight: 600; line-height: 1.35; color: var(--f8-ink); }
.dc-studio__perex > :last-child { margin-bottom: 0; }
.dc-studio__akce { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 32px; margin: 32px 0 0; }
.dc-studio__vyber { margin-top: 32px; }
.dc-studio__spoluprace { display: flex; flex-wrap: wrap; gap: 32px 64px; margin-top: var(--f8-rytmus); }
.dc-studio__spoluprace-hlava { flex: 5 1 320px; min-width: 0; }
.dc-studio__spoluprace-nadpis { margin: 0 0 32px; font-size: var(--f8-fs-h2); line-height: 1.05; }
.dc-studio__foto { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.dc-studio__spoluprace-hlava picture[class] { display: block; aspect-ratio: 1 / 1; }
.dc-studio__spoluprace-telo { flex: 7 1 360px; min-width: 0; border-top: 2px solid var(--dc-akcent-studio-deep); }
.dc-studio__spoluprace-telo > :first-child { margin-top: 0; }
.dc-studio__spoluprace-telo dl { margin: 0; }
.dc-studio__spoluprace-telo dt { margin: 0; padding-top: 20px; border-top: 1px solid var(--f8-line); font-size: var(--f8-fs-h4); font-weight: 800; line-height: 1.25; color: var(--f8-ink); }
.dc-studio__spoluprace-telo dd { margin: 0; padding: 4px 0 20px; }
.dc-studio__spoluprace-telo dt:first-of-type { border-top: 0; }
@media (min-width: 640px) {
  .dc-studio__spoluprace-telo dl { display: grid; grid-template-columns: minmax(0, 11em) minmax(0, 1fr); column-gap: 24px; }
  .dc-studio__spoluprace-telo dd { padding: 20px 0; border-top: 1px solid var(--f8-line); }
  .dc-studio__spoluprace-telo dd:first-of-type { border-top: 0; }
}
.dc-studio__spoluprace-telo ul, .dc-studio__spoluprace-telo ol { margin: 0; padding: 0; list-style: none; }
.dc-studio__spoluprace-telo li { padding: 20px 0; }
.dc-studio__spoluprace-telo li + li { border-top: 1px solid var(--f8-line); }
.dc-studio__spoluprace-telo li::marker { content: none; }

/* Výběr realizací (modul): tři náhledy v rytmu 3 : 2, 3 : 4 posunutá, 4 : 5 */
.dc-realizace-vyber { margin-top: 48px; }
.dc-realizace-vyber__nadpis { margin: 0 0 24px; font-size: var(--f8-fs-h2); line-height: 1.05; }
.dc-realizace-vyber__mrizka { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px var(--f8-mezera-mrizky); align-items: start; }
.dc-realizace-vyber__polozka { min-width: 0; }
.dc-realizace-vyber__polozka--p1 .dc-portfolio__foto { --dc-pomer: 3 / 2; }
.dc-realizace-vyber__polozka--p2 .dc-portfolio__foto { --dc-pomer: 3 / 4; }
.dc-realizace-vyber__polozka--p3 .dc-portfolio__foto { --dc-pomer: 4 / 5; }
.dc-realizace-vyber__vsechny { margin: 32px 0 0; }
@media (min-width: 640px) {
  .dc-realizace-vyber__mrizka { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .dc-realizace-vyber__polozka--p1 { grid-column: span 6; }
  .dc-realizace-vyber__polozka--p2 { grid-column: span 3; margin-top: 64px; }
  .dc-realizace-vyber__polozka--p3 { grid-column: span 3; }
}

/* Blok studia na oborové stránce Truhláři: bílý list v kontejneru, bez záporných okrajů kapitoly */
.dc-obor-studio { margin-top: 48px; }
.dc-obor-studio .dc-studio-list { margin: 0; }
.dc-obor-studio .dc-studio-list h2 { margin: 0; font-size: var(--f8-fs-h3); line-height: 1.15; color: var(--f8-smrk-deep); }
.dc-studio-list__stranka { font-weight: 600; }
.dc-studio-list__akce .dc-studio-list__stranka { display: inline-flex; align-items: center; min-height: 48px; }

/* == R11 Kontakty na nás == úvod s náhledem mapy, Komu volat vedle otevírací doby, Lidé, statické sekce, náhled mapy */
.dc-kontakt-uvod { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 32px 64px; }
.dc-kontakt-uvod__text { flex: 6 1 360px; min-width: 0; }
.dc-kontakt-uvod__text h1 { margin: 0; }
.dc-kontakt-uvod__clanek .dc-lead, .dc-kontakt-uvod__clanek > p:first-child { margin: 20px 0 0; max-width: 46ch; font-size: var(--f8-fs-h4); line-height: 1.5; color: var(--f8-ink); }
.dc-kontakt-uvod__adresa { display: flex; align-items: flex-start; gap: 8px; margin: 24px 0 0; font-size: var(--f8-fs-h4); font-weight: 700; }
.dc-kontakt-uvod__mapa { flex: 6 1 360px; min-width: 0; }
.dc-kotvy { display: flex; flex-wrap: wrap; gap: 0 24px; margin: 8px 0 0; padding: 0; list-style: none; }
.dc-kotvy a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; }

.dc-nahled-mapy { position: relative; margin: 0; }
.dc-nahled-mapy__tlacitko { position: relative; display: block; width: 100%; margin: 0; padding: 0; border: 1px solid var(--f8-line); background: var(--f8-vapno-2); color: inherit; font: inherit; cursor: pointer; }
.dc-nahled-mapy__tlacitko img, .dc-nahled-mapy__ramec { display: block; width: 100%; height: auto; aspect-ratio: 12 / 7; object-fit: cover; }
.dc-nahled-mapy__ramec { border: 1px solid var(--f8-line); }
.dc-nahled-mapy__stitek { position: absolute; left: 12px; bottom: 12px; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; background: var(--f8-smrk-deep); color: var(--f8-on); font-weight: 600; }
.dc-nahled-mapy__tlacitko:hover .dc-nahled-mapy__stitek, .dc-nahled-mapy__tlacitko:focus-visible .dc-nahled-mapy__stitek { text-decoration: underline; text-decoration-thickness: 2px; }
.dc-nahled-mapy__pod { display: flex; flex-wrap: wrap; align-items: center; gap: 0 24px; margin: 8px 0 0; font-size: var(--f8-fs-small); color: var(--f8-ink-700); }
.dc-nahled-mapy__pod a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-size: var(--f8-fs-ui); font-weight: 600; }
.dc-prijezd__text .dc-nahled-mapy { margin-top: 32px; }

.dc-pas--kontakt { margin-top: 0; }
@media (min-width: 1024px) {
  .dc-pas--kontakt .dc-pas__mrizka { grid-template-areas: "kontakty provoz"; }
  .dc-pas--kontakt .dc-pas__kontakty { margin-top: 0; }
}
.dc-pas--kontakt .dc-kontakty { --sekce: var(--f8-on-muted); display: block; border-top: 0; }
.dc-pas--kontakt .dc-kontakty > li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0 32px; margin-top: 8px; padding: 14px 16px; border-top: 4px solid var(--sekce); background: color-mix(in srgb, var(--sekce) 14%, transparent); }
.dc-pas--kontakt .dc-kontakty__ucel { flex: 1 1 14rem; }
.dc-pas--kontakt .dc-kontakty__uvod { margin: 14px 0 0; max-width: 40rem; color: var(--f8-on-muted); }
.dc-kontakt-uvod__clanek--dalsi .dc-kotvy { margin-top: 16px; }
.dc-pas--kontakt .dc-kontakty__cisla { justify-content: flex-end; margin: 0; }
.dc-pas--kontakt .dc-kontakty__radek--prodejna { --sekce: var(--f8-azur); }
.dc-pas--kontakt .dc-kontakty__radek--barvy { --sekce: var(--f8-s-3); }
.dc-pas--kontakt .dc-kontakty__radek--studio { --sekce: var(--f8-drevo); }
.dc-pas--kontakt .dc-kontakty__radek--leseni { --sekce: var(--f8-s-5); }
.dc-pas--kontakt .dc-kontakty > li.dc-kontakty__radek--e-mail { background: none; border-top: 1px solid var(--f8-on-line); }

.dc-lide { padding-block: 64px 0; }
.dc-lide h2 { margin: 0; font-size: var(--f8-fs-h2); line-height: 1.05; }
.dc-lide__uvod { margin: 16px 0 0; max-width: 60ch; }
.dc-lide__uvod > :first-child { margin-top: 0; }
.dc-lide__uvod > :last-child { margin-bottom: 0; }
.dc-lide__obal { margin-top: 24px; }
.dc-lide__tabulka th, .dc-lide__tabulka td { vertical-align: middle; }
.dc-lide__tabulka td:last-child { text-align: left; }
.dc-lide__tabulka tbody { border-top: 1px solid var(--f8-line); }
.dc-lide__tabulka tbody th[scope="row"] { font-weight: 600; }
.dc-lide__tabulka a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; white-space: nowrap; }
.dc-lide__tabulka td:last-child a { white-space: normal; overflow-wrap: anywhere; }
.dc-lide__cisla { display: flex; flex-wrap: wrap; align-items: center; gap: 0 16px; }
.dc-lide__stitek { margin-right: 6px; font-size: var(--f8-fs-small); color: var(--f8-ink-700); }
.dc-lide__role { color: var(--f8-ink-700); }
@media (max-width: 767.98px) {
  .dc-lide__tabulka thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .dc-lide__tabulka, .dc-lide__tabulka tbody, .dc-lide__tabulka tr, .dc-lide__tabulka th, .dc-lide__tabulka td { display: block; }
  .dc-lide__tabulka tbody tr { padding: 12px 16px; }
  .dc-lide__tabulka tbody tr.dc-tabulka__skupina { padding: 0; }
  .dc-lide__tabulka tbody tr.dc-tabulka__skupina th { padding: 16px 16px 8px; }
  .dc-lide__tabulka tbody tr:not(.dc-tabulka__skupina) > * { padding: 0; }
}
@media (min-width: 1024px) { .dc-lide { padding-top: 112px; } }

.dc-oblast--obsah-d:has(.dc-blok) { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 48px 64px; box-sizing: border-box; max-width: var(--f8-kontejner); margin-inline: auto; padding: 0 var(--f8-gutter) 64px; }
.dc-blok { flex: 5 1 360px; min-width: 0; }
.dc-blok.dc-firma__udaje { flex: 7 1 480px; }
.dc-blok h2 { margin: 0; font-size: var(--f8-fs-h3); line-height: 1.2; font-weight: 700; font-stretch: var(--f8-stretch-nadpis); letter-spacing: 0; }
.dc-blok p { margin: 12px 0 0; max-width: 46ch; }
/* prostý dl > dt + dd (bez obalových div – editor je nerozbije): dvě kolonky, na úzkém okně pod sebou */
.dc-blok dl { display: grid; grid-template-columns: minmax(0, 1fr); margin: 16px 0 0; background: var(--f8-white); border-top: 2px solid var(--f8-ink); border-bottom: 2px solid var(--f8-ink); }
.dc-blok dt { padding: 12px 16px 0; font-weight: 600; }
.dc-blok dd { min-width: 0; margin: 0; padding: 2px 16px 12px; border-bottom: 1px solid var(--f8-line); font-variant-numeric: var(--f8-num-data); }
.dc-blok dd:last-of-type { border-bottom: 0; }
@media (min-width: 640px) {
  .dc-blok dl { grid-template-columns: minmax(8rem, 11rem) minmax(0, 1fr); }
  .dc-blok dt, .dc-blok dd { padding: 12px 16px; border-bottom: 1px solid var(--f8-line); }
  .dc-blok dt:last-of-type, .dc-blok dd:last-of-type { border-bottom: 0; }
}
.dc-blok a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 600; overflow-wrap: anywhere; }
.dc-blok ul { margin: 12px 0 0; padding: 0; list-style: none; }
@media (min-width: 1024px) { .dc-oblast--obsah-d:has(.dc-blok) { padding-bottom: 112px; } }

/* == R12 Barvy a omítky == layout článku dc-barvy (rozcestník): úvod s panelem Poradíme, regál, vzorník, účely, tónování, značky;
   moduly K tomu v prodejně (dc-sekce, třída dc-barvy-prodejna) a Technické listy / Aktuality na pozicích dc-obsah-a a dc-obsah-b stránky obor-barvy */
.dc-barvy__uvod { padding-block: 40px 64px; }
.dc-barvy__hlava { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 48px 64px; }
.dc-barvy__titul { flex: 7 1 560px; min-width: 0; }
.dc-barvy__titul h1 { margin: 0; font-size: var(--f8-fs-h1); line-height: 1; letter-spacing: -.025em; }
.dc-barvy__perex { margin-top: 24px; max-width: 40em; font-size: var(--f8-fs-h4); line-height: 1.45; color: var(--f8-ink-700); }
.dc-barvy__perex p { margin: 0; }
.dc-barvy__perex p + p { margin-top: 12px; }
.dc-barvy__akce { margin: 32px 0 0; }
.dc-barvy__poradime { flex: 4 1 340px; min-width: 0; box-sizing: border-box; padding: 24px 24px 16px; background: var(--f8-white); border-top: 4px solid var(--f8-smrk-deep); }
.dc-barvy__poradime h2 { margin: 0; font-size: var(--f8-fs-h3); line-height: 1.1; }
.dc-barvy__kontakty { margin: 16px 0 0; padding: 0; list-style: none; }
.dc-barvy__kontakty li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0 16px; padding: 10px 0; border-top: 1px solid var(--f8-line); }
.dc-barvy__kontakt-tema { line-height: 1.3; font-weight: 600; }
.dc-barvy__kontakt-tema small { display: block; font-size: var(--f8-fs-small); font-weight: 400; color: var(--f8-ink-600); }
.dc-barvy__kontakty a { display: inline-flex; align-items: center; min-height: 48px; color: var(--f8-ink); text-decoration: none; font-size: var(--f8-fs-data); }
.dc-barvy__kontakty a:hover { text-decoration: underline; }
.dc-barvy__regal { margin: 64px 0 0; }
.dc-barvy__regal-police { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; padding: 0 8px; border-bottom: 8px solid var(--f8-drevo); }
.dc-barvy__regal-obr { display: block; flex: 0 1 auto; min-width: 0; width: auto; max-width: 200px; max-height: 150px; object-fit: contain; }
.dc-barvy__regal-odkaz { display: block; flex: 0 1 auto; min-width: 0; line-height: 0; }
.dc-barvy__regal-odkaz .dc-barvy__regal-obr { max-width: 100%; }
.dc-barvy__regal figcaption { margin-top: 12px; font-size: var(--f8-fs-small); color: var(--f8-ink-600); }
.dc-barvy__vzornik { display: block; width: 100%; height: 56px; }

.dc-barvy__ucely { background: var(--f8-white); padding-block: var(--f8-sp-9); }
.dc-barvy__sekce-hlava { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 16px 48px; }
.dc-barvy__sekce-hlava h2 { margin: 0; font-size: var(--f8-fs-h2); line-height: 1.02; letter-spacing: -.025em; }
.dc-barvy__sekce-hlava p { flex: 0 1 34em; margin: 0; color: var(--f8-ink-700); }
.dc-barvy__skupiny { display: flex; flex-wrap: wrap; gap: 56px 64px; margin-top: 56px; }
.dc-barvy__skupina, .dc-barvy__toner { flex: 1 1 520px; min-width: 0; }
.dc-barvy__skupina-kod { display: block; width: 120px; height: 8px; }
.dc-barvy__skupina h3 { margin: 12px 0 0; font-family: var(--f8-font); font-size: var(--f8-fs-ui); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--f8-ink-600); }
.dc-barvy__seznam { margin: 12px 0 0; padding: 0; list-style: none; border-top: 2px solid var(--f8-ink); border-bottom: 1px solid var(--f8-line); }
.dc-barvy__ucel { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 24px; padding: 16px 0; }
.dc-barvy__ucel + .dc-barvy__ucel { border-top: 1px solid var(--f8-line); }
.dc-barvy__ucel-obr { flex: none; width: 96px; height: 96px; object-fit: contain; }
.dc-barvy__ucel-text { flex: 1 1 16rem; min-width: 0; }
.dc-barvy__ucel-nazev { display: inline-flex; align-items: center; min-height: 44px; font-family: var(--f8-font-display); font-size: var(--f8-fs-h3); line-height: 1.1; font-weight: 800; letter-spacing: -.02em; color: var(--f8-smrk-deep); text-decoration-thickness: 2px; }
.dc-barvy__ucel-text p { margin: 0; font-size: var(--f8-fs-small); color: var(--f8-ink-600); }
.dc-barvy__ucel-meta { margin: 0 0 0 auto; font-size: var(--f8-fs-small); line-height: 1.4; text-align: right; }
.dc-barvy__ucel-meta strong { display: block; font-weight: 600; }
.dc-barvy__ucel-meta span { color: var(--f8-ink-600); font-variant-numeric: var(--f8-num-data); }
.dc-barvy__toner { align-self: flex-start; box-sizing: border-box; padding: 24px; background: var(--f8-vapno); }
.dc-barvy__toner-tony { display: block; width: 100%; height: 40px; }
.dc-barvy__toner-text h2, .dc-barvy__toner-text h3 { margin: 20px 0 0; font-size: var(--f8-fs-h3); line-height: 1.1; }
.dc-barvy__toner-text p { margin: 12px 0 0; color: var(--f8-ink-700); }
.dc-barvy__toner-tel, .dc-blok__kontakt { display: flex; flex-wrap: wrap; align-items: center; gap: 0 16px; margin: 16px 0 0; padding-top: 8px; border-top: 1px solid var(--f8-line); font-weight: 600; }
.dc-barvy__toner-tel a, .dc-blok .dc-blok__kontakt a { display: inline-flex; align-items: center; min-height: 48px; color: var(--f8-ink); text-decoration: none; font-size: var(--f8-fs-data); }
.dc-barvy__toner-tel a:hover, .dc-blok .dc-blok__kontakt a:hover { text-decoration: underline; }
.dc-barvy__eshop-obal { margin-top: 56px; }

.dc-barvy__znacky { background: var(--f8-smrk-deep); color: var(--dc-text); padding-block: var(--f8-sp-9); }
.dc-barvy__znacky .dc-barvy__sekce-hlava p { color: var(--f8-on-muted); }
.dc-barvy__znacky-seznam { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 40px 32px; margin: 48px 0 0; padding: 0; list-style: none; }
.dc-barvy__znacka { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.dc-barvy__logo { display: flex; align-items: center; justify-content: center; box-sizing: border-box; height: 112px; margin: 0; padding: 16px 24px; background: var(--f8-white); }
.dc-barvy__logo img { display: block; width: auto; max-width: 100%; max-height: 80px; }
.dc-barvy__logo--text { font-family: var(--f8-font-display); font-size: var(--f8-fs-h3); font-weight: 800; color: var(--f8-ink); }
.dc-barvy__znacka-popis p { margin: 0; }
.dc-barvy__znacka-odkaz { margin: auto 0 0; }
.dc-barvy__znacka-odkaz a { display: inline-flex; align-items: center; min-height: 44px; color: var(--f8-white); font-weight: 600; }

/* Moduly stránky oboru Barvy (dc-sekce): v kontejneru, K tomu v prodejně jako mřížka skupin (vnořený seznam z editoru) */
.obor-barvy .dc-oblast--obsah-a, .obor-barvy .dc-oblast--obsah-b { box-sizing: border-box; max-width: var(--f8-kontejner); margin-inline: auto; padding: var(--f8-sp-9) var(--f8-gutter) 0; }
.obor-barvy .dc-oblast--obsah-b { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 48px 96px; padding-bottom: var(--f8-sp-9); }
.obor-barvy .dc-oblast--obsah-b > * { flex: 1 1 420px; min-width: 0; }
.dc-blok.dc-barvy-prodejna h2 { font-family: var(--f8-font-display); font-size: var(--f8-fs-h2); line-height: 1.02; font-weight: 800; letter-spacing: -.025em; font-stretch: normal; }
.dc-blok.dc-barvy-prodejna > p { max-width: 40em; color: var(--f8-ink-700); }
.dc-blok.dc-barvy-prodejna > ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 40px 32px; margin-top: 48px; }
.dc-blok.dc-barvy-prodejna > ul > li { padding-top: 16px; border-top: 2px solid var(--f8-ink); }
.dc-blok.dc-barvy-prodejna > ul > li > h3 { margin: 0; font-size: var(--f8-fs-h4); line-height: 1.15; }
.dc-blok.dc-barvy-prodejna > ul > li > p { margin: 4px 0 0; font-size: var(--f8-fs-small); font-weight: 600; color: var(--f8-ink-600); }
.dc-blok.dc-barvy-prodejna > ul > li > ul { margin: 12px 0 0; padding-left: 20px; list-style: disc; color: var(--f8-ink-700); }
.dc-blok.dc-barvy-dokumenty p { max-width: 40em; color: var(--f8-ink-700); }

@media (max-width: 639.98px) {
  .dc-barvy__uvod { padding-block: 24px 40px; }
  .dc-barvy__regal { margin-top: 32px; }
  .dc-barvy__regal-police { gap: 6px; padding: 0 4px; border-bottom-width: 6px; }
  .dc-barvy__regal-obr { max-height: 72px; }
  .dc-barvy__regal-police > :nth-child(n+6) { display: none; }
  .dc-barvy__vzornik { height: 40px; }
  .dc-barvy__ucely, .dc-barvy__znacky { padding-block: var(--f8-sp-7); }
  .dc-barvy__skupiny { margin-top: 32px; gap: 40px; }
  .dc-barvy__ucel { align-items: flex-start; gap: 4px 12px; padding: 12px 0; }
  .dc-barvy__ucel-obr { order: 2; width: 72px; height: 72px; }
  .dc-barvy__ucel-text { flex-basis: 0; }
  .dc-barvy__ucel-nazev { font-size: var(--f8-fs-h4); }
  .dc-barvy__ucel-meta { order: 3; flex-basis: 100%; margin: 0; text-align: left; }
  .dc-barvy__ucel-meta strong { display: inline; }
  .dc-barvy__ucel-meta strong + span::before { content: " / "; }
  .dc-barvy__znacky-seznam { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 16px; margin-top: 32px; }
  .dc-barvy__logo { height: 80px; padding: 10px 12px; }
  .dc-barvy__logo img { max-height: 56px; }
  .obor-barvy .dc-oblast--obsah-a { padding-top: var(--f8-sp-7); }
  .obor-barvy .dc-oblast--obsah-b { padding-block: var(--f8-sp-7); gap: 40px; }
}

/* R12b: Prodejna a příjezd bez fotky vchodu (jen dvůr): text a mapa vedle sebe, panorama dvora pod nimi přes celou šířku (bez prázdného sloupce) */
@media (min-width: 1024px) {
  .dc-prijezd:not(:has(.dc-prijezd__vchod)) .dc-prijezd__text { flex: 1 1 100%; display: flex; flex-wrap: wrap; align-items: flex-start; gap: 32px 64px; }
  .dc-prijezd:not(:has(.dc-prijezd__vchod)) .dc-prijezd__text > * { flex: 1 1 420px; min-width: 0; margin-top: 0; }
  .dc-prijezd:not(:has(.dc-prijezd__vchod)) .dc-prijezd__foto { flex: 1 1 100%; }
  .dc-prijezd:not(:has(.dc-prijezd__vchod)) .dc-prijezd__foto img { aspect-ratio: auto; max-height: 360px; }
}
/* R12b: plovoucí tlačítko nastavení cookies (n3t; s rtconsent se nepoužije) na mobilu menší a tlumené; odkaz Nastavení cookies je i v patičce */
@media (max-width: 1023.98px) {
  body.dc-web a.cc-trigger.cc-trigger-icon { width: 40px; height: 40px; left: 8px; bottom: 8px; opacity: .6; }
  body.dc-web a.cc-trigger.cc-trigger-icon:hover, body.dc-web a.cc-trigger.cc-trigger-icon:focus-visible { opacity: 1; }
  body.dc-web a.cc-trigger.cc-trigger-icon svg { width: 22px; height: 22px; }
}

/* == R14 Napište nám == sekce s dotazovým formulářem (layout dc.dotaz; modul dc-dotaz na Kontaktech, layout kontaktu dc-dotaz) */
.dc-dotaz { padding-block: 64px; scroll-margin-top: 120px; }
.dc-dotaz__mrizka { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; align-items: start; }
@media (min-width: 1024px) { .dc-dotaz { padding-block: 112px; } .dc-dotaz__mrizka { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 64px; } .dc-dotaz__uvod { position: sticky; top: 140px; } }
.dc-dotaz__uvod h1, .dc-dotaz__uvod h2 { margin: 0; font-size: var(--f8-fs-h2); line-height: 1.05; }
.dc-dotaz__text { margin: 16px 0 0; max-width: 34ch; font-size: var(--f8-fs-h4); line-height: 1.45; }
.dc-dotaz__text > * { margin: 0 0 .5em; }
.dc-dotaz__jinak { margin: 28px 0 0; padding: 0; list-style: none; border-top: 2px solid var(--f8-ink); }
.dc-dotaz__jinak li { padding: 12px 0; border-bottom: 1px solid var(--f8-line); }
.dc-dotaz__jinak small { display: block; font-size: var(--f8-fs-small); color: var(--f8-ink-700); }
.dc-dotaz__jinak a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 700; overflow-wrap: anywhere; }
.dc-dotaz__jinak a.dc-dotaz__tel { font-size: var(--f8-fs-data); font-stretch: var(--f8-stretch-data); font-variant-numeric: var(--f8-num-data); color: var(--f8-ink); text-decoration: none; }
.dc-dotaz__tabule { min-width: 0; background: var(--f8-white); border-top: 2px solid var(--f8-ink); border-bottom: 2px solid var(--f8-ink); padding: 24px 16px 28px; }
@media (min-width: 640px) { .dc-dotaz__tabule { padding: 32px 32px 36px; } }
.dc-dotaz .contact-form { max-width: none; }
.dc-dotaz .contact-form fieldset.dc-dotaz__smer { margin: 0 0 24px; }
.dc-dotaz .contact-form fieldset.dc-dotaz__smer legend { margin: 0 0 8px; padding: 0; border: 0; font-family: var(--f8-font); font-size: var(--f8-fs-ui); font-weight: 700; color: var(--f8-ink); }
.dc-smer { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--f8-line); }
.dc-smer li { border-bottom: 1px solid var(--f8-line); }
.dc-dotaz .contact-form .dc-smer label { display: flex; align-items: flex-start; gap: 14px; width: 100%; min-height: 56px; margin: 0; padding: 14px 12px; box-sizing: border-box; cursor: pointer; font-weight: 400; }
.dc-smer input[type="radio"] { margin-top: 2px; }
.dc-smer__text { display: flex; flex-direction: column; gap: 2px; font-weight: 600; line-height: 1.3; }
.dc-smer__text small { font-size: var(--f8-fs-small); font-weight: 400; color: var(--f8-ink-700); }
.dc-dotaz .contact-form .dc-smer label:hover { background: color-mix(in srgb, var(--f8-smrk) 5%, transparent); }
.dc-dotaz .contact-form .dc-smer li:has(input:checked) label { background: color-mix(in srgb, var(--f8-smrk) 9%, transparent); }
.dc-smer li:has(input:checked) .dc-smer__text { color: var(--f8-smrk-deep); }
@media (min-width: 768px) { .dc-smer { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 0; } .dc-smer li { border: 1px solid var(--f8-line); margin: 0 -1px -1px 0; } }
.dc-dotaz__doplnek { margin: 0 0 24px; padding: 16px 16px 4px; background: var(--f8-vapno); border-top: 1px solid var(--f8-line); }
.dc-dotaz__doplnek[hidden], .dc-dotaz [data-dc-showon][hidden] { display: none; }
.dc-dotaz__poznamka { margin: 0 0 16px; }
.dc-dotaz__poznamka a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; }
.dc-dotaz__dvojice { display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 24px; }
.dc-dotaz__dvojice > * { min-width: 0; }
@media (min-width: 640px) { .dc-dotaz__dvojice { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.dc-dotaz .contact-form .dc-nepovinne { font-weight: 400; color: var(--f8-ink-700); }
.dc-dotaz .contact-form textarea { min-height: 9.5rem; }
.dc-dotaz__udaje { margin: 0 0 16px; font-size: var(--f8-fs-small); color: var(--f8-ink-700); }
.dc-dotaz__udaje a { font-weight: 600; }
.dc-dotaz__odeslat { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.dc-dotaz__odeslat .dc-tlacitko { min-height: 56px; padding: 0 32px; font-size: var(--f8-fs-ui); border: 0; cursor: pointer; }
@media (max-width: 639.98px) { .dc-dotaz__odeslat .dc-tlacitko { width: 100%; justify-content: center; } }
.dc-dotaz__chyby { margin: 0 0 24px; padding: 16px; border: 3px solid var(--f8-chyba); background: var(--f8-white); }
.dc-dotaz__chyby:focus, .dc-dotaz__odeslano:focus { outline: none; }
.dc-dotaz__chyby h3 { margin: 0 0 8px; font-family: var(--f8-font); font-size: var(--f8-fs-ui); font-weight: 700; color: var(--f8-chyba); }
.dc-dotaz__chyby ul { margin: 0; padding-left: 20px; }
.dc-dotaz__chyby a { display: inline-flex; align-items: center; min-height: 32px; color: var(--f8-chyba); font-weight: 600; }
.dc-dotaz__odeslano h3 { margin: 0; font-size: var(--f8-fs-h3); color: var(--f8-smrk-deep); }
.dc-dotaz__odeslano p { margin: 12px 0 0; max-width: 46ch; }
.dc-dotaz__odeslano ul { margin: 16px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--f8-line); }
.dc-dotaz__odeslano li { border-bottom: 1px solid var(--f8-line); }
.dc-dotaz__odeslano li a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 56px; padding: 8px 0; text-decoration: none; }
.dc-dotaz__odeslano li a > span { display: flex; flex-direction: column; }
.dc-dotaz__odeslano li a b { text-decoration: underline; }
.dc-dotaz__odeslano li a small { color: var(--f8-ink-700); }
/* Lidé v Dřevocentru na Kontaktech za Prodejnou a příjezdem: první blok pozice dc-obsah-d přes celou šířku */
.dc-oblast--obsah-d > .dc-lide { flex: 1 1 100%; max-width: none; padding: 0; }

/* =====================================================================
   Stránka Lepidla a tmely (/lepidla, článek 271, kat. 101)
   Obsah = článek s třídami .dc-lepidla__*; obrázky images/lepidla/.
   Vložit na konec components.css (nebo jako samostatný soubor v joomla.asset.json).
   Jen tokeny --f8-*; barvy odstínů vosků jsou data (--odstin v článku).
   ===================================================================== */

.com-content-article__body:has(> .dc-lepidla) { max-width: none; }
.dc-lepidla { --dc-lep-police: 8px; }
.dc-lepidla h1,
.dc-lepidla h2,
.dc-lepidla h3 { font-family: var(--f8-font-display); font-weight: 800; color: var(--f8-smrk-deep); text-wrap: balance; }
.dc-lepidla h2 { margin: 0; font-size: var(--f8-fs-h2); line-height: 1.02; letter-spacing: -.02em; }
.dc-lepidla p { margin: 0; }
.dc-lepidla .dc-data { font-weight: 700; font-stretch: var(--f8-stretch-data); font-variant-numeric: var(--f8-num-data); }

/* úvod */
.dc-lepidla__uvod { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 32px 64px; }
.dc-lepidla__uvod-text { flex: 999 1 560px; min-width: 0; }
.dc-lepidla__uvod h1 { margin: 0; max-width: 15ch; font-size: var(--f8-fs-h1); line-height: 1; letter-spacing: -.025em; }
.dc-lepidla__perex { margin-top: 24px !important; max-width: 60ch; font-size: var(--f8-fs-h4); line-height: 1.5; color: var(--f8-ink-700); }
.dc-lepidla__skladem { flex: 0 1 380px; min-width: 0; box-sizing: border-box; padding: 20px 24px 22px; background: var(--f8-white); border-top: 3px solid var(--f8-smrk); }
.dc-lepidla__skladem h2 { font-size: var(--f8-fs-h3); line-height: 1.15; letter-spacing: 0; }
.dc-lepidla__skladem p { margin-top: 8px; font-size: var(--f8-fs-small); line-height: 1.45; color: var(--f8-ink-700); }
.dc-lepidla__skladem a { display: inline-flex; align-items: center; min-height: var(--f8-cil, 44px); font-size: var(--f8-fs-ui); font-weight: 600; color: var(--f8-smrk); text-decoration-thickness: 2px; text-underline-offset: .2em; }

/* rozcestník */
.dc-lepidla__rozcestnik { margin-top: 40px; }
.dc-lepidla__rozcestnik ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0 24px; }
.dc-lepidla__rozcestnik li { flex: 1 1 160px; min-width: 0; padding-bottom: 12px; border-top: 2px solid var(--f8-smrk-deep); }
.dc-lepidla__rozcestnik a { display: inline-flex; align-items: center; min-height: 44px; padding-top: 6px; font-family: var(--f8-font-display); font-weight: 800; font-size: var(--f8-fs-h4); line-height: 1.15; color: var(--f8-smrk); text-decoration-thickness: 2px; text-underline-offset: .2em; }
.dc-lepidla__rozcestnik span { display: block; font-size: var(--f8-fs-small); line-height: 1.4; color: var(--f8-ink-600); }

/* výloha (police s výrobky) */
.dc-lepidla__vyloha { margin: 48px 0 0; }
.dc-lepidla__police { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; padding: 0 8px; border-bottom: var(--dc-lep-police) solid var(--f8-drevo); }
.dc-lepidla__vyloha-obr { display: block; flex: 0 1 auto; min-width: 0; width: auto; max-height: 230px; object-fit: contain; }
.dc-lepidla__vyloha-obr[src*="tmel-na-drevo"] { max-height: 110px; }
.dc-lepidla__vyloha-obr[src*="67a"], .dc-lepidla__vyloha-obr[src*="hranicoll"] { max-height: 170px; }
.dc-lepidla__vyloha-obr[src*="pena"] { max-height: 270px; }
.dc-lepidla__vyloha figcaption { margin-top: 12px; font-size: var(--f8-fs-small); color: var(--f8-ink-600); }

/* sekce */
.dc-lepidla__sekce { margin-top: var(--f8-sp-9, 96px); }
.dc-lepidla__hlava { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 16px 64px; }
.dc-lepidla__hlava h2 { flex: 1 1 320px; }
.dc-lepidla__hlava p { flex: 2 1 480px; min-width: 0; max-width: 62ch; color: var(--f8-ink-700); }
.dc-lepidla__pozn { margin-top: 16px !important; font-size: var(--f8-fs-small); color: var(--f8-ink-600); }

/* regál výrobků s popisky */
.dc-lepidla__regal { list-style: none; margin: 40px 0 0; padding: 0 8px; display: flex; flex-wrap: wrap; align-items: stretch; justify-content: space-between; gap: 0 28px;
  background: linear-gradient(var(--f8-drevo), var(--f8-drevo)) 0 220px / 100% var(--dc-lep-police) no-repeat; }
.dc-lepidla__regal--stred { justify-content: center; gap: 0 40px; }
.dc-lepidla__vyrobek { flex: 0 1 140px; min-width: 0; display: flex; flex-direction: column; }
.dc-lepidla__foto { height: 220px; display: flex; align-items: flex-end; justify-content: center; }
.dc-lepidla__obr { display: block; max-height: 100%; max-width: 100%; width: auto; object-fit: contain; }
.dc-lepidla__popis { display: block; padding-top: calc(var(--dc-lep-police) + 14px); font-size: var(--f8-fs-small); line-height: 1.35; color: var(--f8-ink-700); }
.dc-lepidla__popis strong { display: block; font-size: var(--f8-fs-ui); line-height: 1.25; color: var(--f8-ink); }
.dc-lepidla__znacka { display: block; color: var(--f8-ink-600); }
.dc-lepidla__regal--vysoky { background-position: 0 260px; }
.dc-lepidla__regal--vysoky .dc-lepidla__foto { height: 260px; }
.dc-lepidla__regal--uzky { margin-top: 24px; padding: 0 16px; gap: 0 16px; justify-content: space-around; background-position: 0 190px; }
.dc-lepidla__regal--uzky .dc-lepidla__foto { height: 190px; }
.dc-lepidla__regal--uzky .dc-lepidla__vyrobek { flex-basis: 120px; }

/* dvě kolony (text + regál) */
.dc-lepidla__dva { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 40px 64px; }
.dc-lepidla__dva > .dc-lepidla__text { flex: 2 1 380px; min-width: 0; }
.dc-lepidla__dva > .dc-lepidla__regal { flex: 3 1 460px; min-width: 0; margin-top: 0; }
.dc-lepidla__dva--obracene { flex-wrap: wrap-reverse; }
.dc-lepidla__dva > .dc-lepidla__regal { flex-wrap: nowrap; gap: 0 20px; }
.dc-lepidla__dva > .dc-lepidla__regal .dc-lepidla__vyrobek { flex: 0 1 130px; }
.dc-lepidla__text p { margin-top: 16px; max-width: 56ch; color: var(--f8-ink-700); }

/* krátký postup / rozdíly (dl) */
.dc-lepidla__postup { margin: 24px 0 0; border-top: 2px solid var(--f8-smrk-deep); }
.dc-lepidla__postup > div { display: flex; flex-wrap: wrap; gap: 2px 16px; padding: 12px 0; border-bottom: 1px solid var(--f8-line); }
.dc-lepidla__postup dt { flex: 0 0 9rem; font-weight: 600; }
.dc-lepidla__postup dd { flex: 1 1 16rem; min-width: 0; margin: 0; color: var(--f8-ink-700); }

/* třídy D2–D4 */
.dc-lepidla__tridy { display: flex; flex-wrap: wrap; margin-top: 40px; background: var(--f8-white); border-top: 2px solid var(--f8-smrk-deep); }
.dc-lepidla__trida { flex: 2 1 300px; min-width: 0; display: flex; flex-direction: column; border-right: 1px solid var(--f8-line); border-bottom: 1px solid var(--f8-line); }
.dc-lepidla__trida--d3 { flex-grow: 3; }
.dc-lepidla__trida-hlava { min-height: 132px; box-sizing: border-box; padding: 18px 20px 16px; background: var(--f8-drevo-100); }
.dc-lepidla__trida--d3 .dc-lepidla__trida-hlava { background: var(--f8-drevo); }
.dc-lepidla__trida--d4 .dc-lepidla__trida-hlava { background: var(--f8-smrk); color: var(--f8-on); }
.dc-lepidla__trida-kod { display: flex; align-items: baseline; gap: 12px; font-size: var(--f8-fs-small); font-weight: 600; }
.dc-lepidla__trida-kod .dc-data { font-size: 2.5rem; line-height: 1; color: var(--f8-kod-truhlari); }
.dc-lepidla__trida--d4 .dc-data { color: var(--f8-drevo); }
.dc-lepidla__trida-hlava p + p { margin-top: 8px; font-size: var(--f8-fs-small); line-height: 1.4; color: var(--f8-ink-700); }
.dc-lepidla__trida--d4 .dc-lepidla__trida-hlava p + p { color: var(--f8-on-muted); }
.dc-lepidla__trida .dc-lepidla__regal { flex: 1 1 auto; padding-bottom: 20px; }

/* opravné vosky */
.dc-lepidla__vosky { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 40px; }
.dc-lepidla__vosk { flex: 1 1 440px; min-width: 0; display: flex; flex-direction: column; background: var(--f8-white); border-top: 3px solid var(--f8-kod-truhlari); }
.dc-lepidla__vosk--mekky { border-top-color: var(--f8-kod-stavba); }
.dc-lepidla__vosk-foto { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.dc-lepidla__vosk-text { flex: 1 1 auto; display: flex; flex-direction: column; gap: 10px; padding: 20px 24px 24px; }
.dc-lepidla__vosk h3 { margin: 0; font-size: var(--f8-fs-h3); line-height: 1.15; }
.dc-lepidla__vosk-pod { font-size: var(--f8-fs-small); font-weight: 600; color: var(--f8-ink-600); }
.dc-lepidla__vosk-text > p { color: var(--f8-ink-700); }
.dc-lepidla__vosk-text > .dc-lepidla__pozn { margin-top: auto !important; padding-top: 10px; }
.dc-lepidla__odstiny { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 14px 10px; }
.dc-lepidla__odstiny li { flex: 0 0 64px; display: flex; flex-direction: column; gap: 6px; font-size: var(--f8-fs-small); line-height: 1.2; color: var(--f8-ink-700); }
.dc-lepidla__odstiny strong { display: block; color: var(--f8-ink); }
.dc-lepidla__tycinka { display: block; height: 72px; background: var(--odstin, var(--f8-drevo)); border: 1px solid var(--f8-line); clip-path: polygon(0 18%, 50% 0, 100% 18%, 100% 100%, 0 100%); }

/* mobil */
@media (max-width: 639.98px) {
  .dc-lepidla__vyloha-obr:nth-child(n+6) { display: none; }
  .dc-lepidla__vyloha-obr { max-height: 150px !important; }
  .dc-lepidla__regal, .dc-lepidla__dva > .dc-lepidla__regal { flex-wrap: wrap; gap: 0 16px; justify-content: flex-start; background: none; }
  .dc-lepidla__vyrobek, .dc-lepidla__dva > .dc-lepidla__regal .dc-lepidla__vyrobek { flex: 0 1 calc(50% - 8px); margin-bottom: 24px; }
  .dc-lepidla__foto, .dc-lepidla__regal--vysoky .dc-lepidla__foto, .dc-lepidla__regal--uzky .dc-lepidla__foto { height: 170px; border-bottom: var(--dc-lep-police) solid var(--f8-drevo); }
  .dc-lepidla__popis { padding-top: 12px; }
  .dc-lepidla__trida { border-right: 0; }
  .dc-lepidla__trida-hlava { min-height: 0; }
  .dc-lepidla__postup dt { flex-basis: 100%; }
  .dc-lepidla__sekce { margin-top: 64px; }
}

/* =====================================================================
   R17 Truhlářský materiál (0.13.0): rozcestník /truhlarna (čl. 386), lamino, pracovní desky, hrany,
   vzorníky /krono a /egger, kování a jeho podstránky, dřezy, /informace.
   Obsah = články s třídami .dc-tm__* (stejný model jako Lepidla .dc-lepidla__*), obrázky images/truhlari/.
   Barva dekoru je data v článku (vlastnost --odstin v atributu stylu položky), jinak jen tokeny --f8-*.
   Filtr vzorníku: media/js/dc-dekory.js (asset template.dc.dekory, jen stránky s třídou stránky dc-dekory).
   ===================================================================== */

.com-content-article__body:has(> .dc-tm) { max-width: none; }
.dc-tm h1,
.dc-tm h2,
.dc-tm h3 { font-family: var(--f8-font-display); font-weight: 800; color: var(--f8-smrk-deep); text-wrap: balance; }
.dc-tm h2 { margin: 0; font-size: var(--f8-fs-h2); line-height: 1.04; letter-spacing: -.02em; }
.dc-tm h3 { margin: 0; font-size: var(--f8-fs-h3); line-height: 1.15; letter-spacing: -.01em; }
.dc-tm p { margin: 0; }
.dc-tm .dc-data { font-weight: 700; font-stretch: var(--f8-stretch-data); font-variant-numeric: var(--f8-num-data); }
.dc-tm a[href^="https://obchod.drevocentrum.cz"]::after,
.dc-tm a.dc-tm__ven::after { content: ""; display: inline-block; width: .9em; height: .9em; margin-left: .3em; vertical-align: -.1em; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6'/%3E%3Cpath d='M20 4l-9 9'/%3E%3Cpath d='M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6'/%3E%3Cpath d='M20 4l-9 9'/%3E%3Cpath d='M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5'/%3E%3C/svg%3E") center / contain no-repeat; }

/* navigace v sekci (sourozenci) */
.dc-tm__sekce { margin: 0 0 28px; border-bottom: 1px solid var(--f8-line); }
.dc-tm__sekce ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0 28px; }
.dc-tm__sekce a { display: inline-flex; align-items: center; min-height: var(--f8-cil); border-bottom: 3px solid transparent; color: var(--f8-ink); text-decoration: none; font-size: var(--f8-fs-small); font-weight: 600; }
.dc-tm__sekce a:hover { color: var(--f8-smrk); border-bottom-color: var(--f8-line); }
.dc-tm__sekce a[aria-current] { border-bottom-color: var(--f8-smrk); }

/* úvod */
.dc-tm__uvod { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 32px 64px; }
.dc-tm__uvod-text { flex: 999 1 560px; min-width: 0; }
.dc-tm__uvod h1 { margin: 0; max-width: 16ch; font-size: var(--f8-fs-h1); line-height: 1; letter-spacing: -.025em; }
.dc-tm .dc-tm__perex { margin-top: 24px; max-width: 60ch; font-size: var(--f8-fs-h4); line-height: 1.5; color: var(--f8-ink-700); }
.dc-tm__panel { flex: 0 1 380px; min-width: 0; box-sizing: border-box; padding: 20px 24px 22px; background: var(--f8-white); border-top: 3px solid var(--f8-smrk); }
.dc-tm__panel h2 { font-size: var(--f8-fs-h3); line-height: 1.15; letter-spacing: 0; }
.dc-tm__panel p { margin-top: 8px; font-size: var(--f8-fs-small); line-height: 1.45; color: var(--f8-ink-700); }
.dc-tm__panel a { display: inline-flex; align-items: center; min-height: var(--f8-cil); font-size: var(--f8-fs-ui); font-weight: 600; color: var(--f8-smrk); text-decoration-thickness: 2px; text-underline-offset: .2em; }
.dc-tm__panel .dc-tm__panel-pozn { color: var(--f8-ink-600); }

/* bloky */
.dc-tm__blok { margin-top: var(--f8-sp-9); }
.dc-tm__blok--mensi { margin-top: var(--f8-sp-8); }
.dc-tm__hlava { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 16px 64px; margin-bottom: 32px; }
.dc-tm__hlava h2 { flex: 1 1 320px; }
.dc-tm__hlava p { flex: 2 1 480px; min-width: 0; max-width: 62ch; color: var(--f8-ink-700); }
.dc-tm .dc-tm__pozn { margin-top: 14px; font-size: var(--f8-fs-small); color: var(--f8-ink-600); }
.dc-tm .dc-tm__odkazy { display: flex; flex-wrap: wrap; gap: 0 28px; margin-top: 10px; }
.dc-tm__odkazy a { display: inline-flex; align-items: center; min-height: var(--f8-cil); font-size: var(--f8-fs-small); font-weight: 600; color: var(--f8-smrk); }

/* index (řádky sortimentu / druhů kování) */
.dc-tm__radek-index { display: flex; flex-wrap: wrap; gap: 24px 48px; align-items: stretch; margin-top: var(--f8-sp-8); }
.dc-tm__index { flex: 3 1 640px; min-width: 0; list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--f8-smrk-deep); }
.dc-tm__index > li { display: grid; grid-template-columns: minmax(0, 13rem) minmax(0, 1fr); gap: 0 32px; align-items: baseline; padding: 18px 0 16px; border-bottom: 1px solid var(--f8-line); }
.dc-tm__index > li > :not(h2):not(h3) { grid-column: 2; }
.dc-tm__index h2,
.dc-tm__index h3 { font-size: 1.5rem; line-height: 1.1; letter-spacing: -.01em; }
.dc-tm__index h2 a,
.dc-tm__index h3 a { display: inline-flex; align-items: center; min-height: var(--f8-cil); color: var(--f8-smrk-deep); text-decoration-thickness: 2px; text-underline-offset: .2em; }
.dc-tm__index p { color: var(--f8-ink-700); }
.dc-tm__index strong { color: var(--f8-ink); font-weight: 600; }
.dc-tm__index .dc-tm__eshop a,
.dc-tm__index .dc-tm__eshop span { display: inline-flex; align-items: center; min-height: var(--f8-cil); font-size: var(--f8-fs-small); }
.dc-tm__index .dc-tm__eshop a { font-weight: 600; color: var(--f8-smrk); }
.dc-tm__index .dc-tm__eshop span { color: var(--f8-ink-600); }

/* fotky a zástupky fotek (do dodání fotek prodejnou) */
.dc-tm__foto { flex: 2 1 340px; min-width: 0; margin: 0; display: flex; flex-direction: column; }
.dc-tm__foto img { display: block; width: 100%; height: auto; }
.dc-tm__foto figcaption { margin-top: 10px; font-size: var(--f8-fs-small); color: var(--f8-ink-600); }
.dc-tm__zastupka { flex: 1 1 auto; min-height: 280px; aspect-ratio: 4 / 3; display: flex; align-items: flex-end; padding: 16px; box-sizing: border-box; background: var(--f8-drevo); border-top: 18px solid var(--f8-vapno-2); border-bottom: 4px solid var(--f8-kod-stavba); }
.dc-tm__zastupka span { background: var(--f8-white); padding: 6px 10px; font-size: var(--f8-fs-small); color: var(--f8-ink-700); }
.dc-tm__radek-index .dc-tm__zastupka { aspect-ratio: auto; min-height: 420px; }

/* vzorníky (panely Kronospan / Egger) */
.dc-tm__vzorniky { display: flex; flex-wrap: wrap; gap: 24px; }
.dc-tm__vzornik { flex: 1 1 460px; min-width: 0; display: flex; flex-direction: column; gap: 14px; padding: 22px 24px 24px; background: var(--f8-white); border-top: 3px solid var(--f8-smrk); }
.dc-tm__vzornik--objednavka { border-top-color: var(--f8-kod-stavba); }
.dc-tm__vzornik-hlava { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 16px; }
.dc-tm__stav { font-size: var(--f8-fs-small); font-weight: 600; color: var(--f8-smrk); }
.dc-tm__stav--objednavka { color: #7B4B23; }
.dc-tm__vzornik > p:last-of-type { margin-top: auto; }
.dc-tm__vzornik a { display: inline-flex; align-items: center; min-height: var(--f8-cil); font-weight: 600; color: var(--f8-smrk); }

/* dekory (vzorky) */
.dc-tm__dekory { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 16px 12px; }
.dc-tm__dekory li { min-width: 0; font-size: 15px; line-height: 1.25; color: var(--f8-ink-700); }
.dc-tm__dekory li::before { content: ""; display: block; height: 64px; margin-bottom: 6px; background: var(--odstin, var(--f8-vapno-2)); border: 1px solid rgba(20, 32, 38, .18); }
.dc-tm__dekory b { display: block; color: var(--f8-ink); font-size: var(--f8-fs-small); font-weight: 700; font-stretch: var(--f8-stretch-data); font-variant-numeric: var(--f8-num-data); }
.dc-tm__dekory .dc-tm__ano { display: block; font-weight: 600; color: var(--f8-smrk); }
.dc-tm__dekory .dc-tm__dotaz { display: block; font-weight: 600; color: #7B4B23; }

/* skupiny dekorů (řádky se seznamem vzorků) */
.dc-tm__skupiny { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--f8-smrk-deep); }
.dc-tm__skupiny > li { display: flex; flex-wrap: wrap; gap: 16px 40px; padding: 24px 0; border-bottom: 1px solid var(--f8-line); }
.dc-tm__skupina-hlava { flex: 1 1 200px; min-width: 0; }
.dc-tm__skupina-hlava h3 { font-size: 1.5rem; }
.dc-tm .dc-tm__skupina-hlava p { margin-top: 4px; font-size: var(--f8-fs-small); color: var(--f8-ink-600); }
.dc-tm__skupina-hlava a { display: inline-flex; align-items: center; min-height: var(--f8-cil); font-size: var(--f8-fs-small); font-weight: 600; color: var(--f8-smrk); }
.dc-tm__skupiny .dc-tm__dekory { flex: 4 1 640px; }

/* tabulky (na mobilu skládané řádky, popisek z data-l) */
.dc-tm__tabulka { width: 100%; border-collapse: collapse; background: var(--f8-white); }
.dc-tm__tabulka caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.dc-tm__tabulka th,
.dc-tm__tabulka td { padding: 12px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--f8-line); }
.dc-tm__tabulka thead th { font-size: var(--f8-fs-small); font-weight: 600; color: var(--f8-ink-600); border-bottom: 2px solid var(--f8-smrk-deep); }
.dc-tm__tabulka tbody th { font-weight: 600; }
.dc-tm__tabulka .dc-tm__vel { white-space: nowrap; font-size: 1.375rem; font-weight: 700; font-stretch: var(--f8-stretch-data); font-variant-numeric: var(--f8-num-data); }
.dc-tm__tabulka td.dc-tm__pozn-bunka { color: var(--f8-ink-700); }
.dc-tm__stitek { display: inline-block; white-space: nowrap; padding: 0 8px; background: #D6E8EC; color: var(--f8-smrk-deep); font-size: var(--f8-fs-small); font-weight: 600; border-radius: var(--f8-radius); }
.dc-tm__stitek--objednavka { background: var(--f8-drevo-100); color: #5B3A1E; }
.dc-tm__dva { display: flex; flex-wrap: wrap; gap: 40px 56px; align-items: flex-start; }
.dc-tm__dva > div { flex: 3 1 560px; min-width: 0; }
.dc-tm__dva > .dc-tm__foto { flex: 2 1 340px; }

/* tabulka „jeden dekor“ s vodorovným posunem v rámečku */
.dc-tm__posun { overflow-x: auto; }
.dc-tm__posun:focus-visible { outline: 3px solid var(--f8-smrk); outline-offset: 3px; }
.dc-tm__posun table { min-width: 640px; }
.dc-tm__posun tbody th { position: sticky; left: 0; background: var(--f8-white); font-weight: 400; }
.dc-tm__dekor { display: flex; align-items: center; gap: 12px; }
.dc-tm__dekor::before { content: ""; flex: 0 0 40px; height: 40px; background: var(--odstin, var(--f8-vapno-2)); border: 1px solid rgba(20, 32, 38, .18); }
.dc-tm__dekor b { display: block; font-weight: 700; font-stretch: var(--f8-stretch-data); font-variant-numeric: var(--f8-num-data); }

/* technické kresby (profily desek, typy pantů) */
.dc-tm__kresby { display: flex; flex-wrap: wrap; gap: 24px; }
.dc-tm__kresba { flex: 1 1 300px; min-width: 0; margin: 0; padding: 22px 24px 24px; background: var(--f8-white); border-top: 2px solid var(--f8-smrk-deep); }
.dc-tm__kresby--dve .dc-tm__kresba { flex-basis: 460px; }
.dc-tm__kresba img { display: block; width: 100%; height: auto; max-height: 190px; }
.dc-tm__kresba figcaption { margin-top: 14px; font-size: var(--f8-fs-small); color: var(--f8-ink-700); }
.dc-tm__kresba figcaption strong { display: block; font-family: var(--f8-font-display); font-weight: 800; font-size: 1.5rem; line-height: 1.15; color: var(--f8-smrk-deep); }

/* „K tomu“ a další odkazy */
.dc-tm__ktomu h2 { margin-bottom: 14px; font-size: var(--f8-fs-h3); }
.dc-tm__ktomu ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0 24px; }
.dc-tm__ktomu li { flex: 1 1 220px; min-width: 0; padding-bottom: 12px; border-top: 2px solid var(--f8-smrk-deep); }
.dc-tm__ktomu a { display: inline-flex; align-items: center; min-height: var(--f8-cil); font-size: 1.3125rem; font-weight: 700; color: var(--f8-smrk); }
.dc-tm__ktomu span { display: block; font-size: var(--f8-fs-small); color: var(--f8-ink-600); }

/* proužek s odkazem (lepidla, Egger, dřezy) */
.dc-tm__prouzek { display: flex; flex-wrap: wrap; align-items: center; gap: 24px 48px; padding: 24px 0; border-top: 1px solid var(--f8-line); border-bottom: 1px solid var(--f8-line); }
.dc-tm__prouzek-obr { flex: 0 0 auto; display: flex; align-items: flex-end; gap: 12px; height: 120px; }
.dc-tm__prouzek-obr img { display: block; height: 100%; width: auto; }
.dc-tm__prouzek-obr img + img { height: 80%; }
.dc-tm__prouzek > div { flex: 1 1 420px; min-width: 0; }
.dc-tm__prouzek h2 { font-size: var(--f8-fs-h3); line-height: 1.15; letter-spacing: 0; }
.dc-tm__prouzek > div p { margin-top: 6px; max-width: 62ch; color: var(--f8-ink-700); }
.dc-tm__tlacitko { flex: 0 0 auto; display: inline-flex; align-items: center; min-height: 48px; padding: 0 22px; box-sizing: border-box; border: 2px solid var(--f8-smrk); border-radius: var(--f8-radius); color: var(--f8-smrk); text-decoration: none; font-size: var(--f8-fs-ui); font-weight: 600; }
.dc-tm__tlacitko:hover { background: var(--f8-smrk); color: var(--f8-white); }

/* Pro truhlářské dílny (světlý panel; tmavá plocha stránky je pás Otevírací doba / Komu volat) */
.dc-tm__dilny { display: flex; flex-wrap: wrap; gap: 32px 64px; padding: 32px; background: var(--f8-white); border-top: 3px solid var(--f8-kod-truhlari); }
.dc-tm__dilny > div { flex: 1 1 340px; min-width: 0; }
.dc-tm__dilny > div p { margin-top: 14px; max-width: 44ch; color: var(--f8-ink-700); }
.dc-tm__dilny .dc-tm__tlacitko { margin-top: 18px; background: var(--f8-smrk); color: var(--f8-white); }
.dc-tm__dilny .dc-tm__tlacitko:hover { background: var(--f8-smrk-deep); }
.dc-tm__dilny dl { flex: 1 1 420px; min-width: 0; margin: 0; border-top: 2px solid var(--f8-drevo); }
.dc-tm__dilny dl > div { display: flex; flex-wrap: wrap; gap: 2px 16px; padding: 14px 0; border-bottom: 1px solid var(--f8-line); }
.dc-tm__dilny dt { flex: 0 0 9rem; font-weight: 600; }
.dc-tm__dilny dd { flex: 1 1 16rem; min-width: 0; margin: 0; color: var(--f8-ink-700); }

/* drobné kování (seznam ve sloupcích) */
.dc-tm__seznam { list-style: none; margin: 0; padding: 0; columns: 2 16rem; column-gap: 40px; border-top: 2px solid var(--f8-smrk-deep); }
.dc-tm__seznam li { break-inside: avoid; padding: 12px 0; border-bottom: 1px solid var(--f8-line); }
.dc-tm__seznam b { font-weight: 600; }
.dc-tm__seznam span { display: block; font-size: var(--f8-fs-small); color: var(--f8-ink-600); }

/* vzorník dekorů (stránky /krono a /egger), jmenný prostor dc-dekory; třída dc-vzornik patří pruhu tónů Barev */
.dc-dekory__filtr { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 40px; padding: 18px 0; border-top: 2px solid var(--f8-smrk-deep); border-bottom: 1px solid var(--f8-line); }
.dc-dekory__filtr[hidden] { display: none; }
.dc-dekory__skupina { display: flex; flex-wrap: wrap; gap: 8px; }
.dc-dekory__tl { display: inline-flex; align-items: center; min-height: var(--f8-cil); padding: 0 16px; background: var(--f8-white); color: var(--f8-ink); border: 2px solid var(--f8-smrk-deep); border-radius: var(--f8-radius); font: inherit; font-size: var(--f8-fs-small); font-weight: 600; cursor: pointer; }
.dc-dekory__tl[aria-pressed="true"] { background: var(--f8-smrk-deep); color: var(--f8-on); }
.dc-dekory__tl:focus-visible { outline: 3px solid var(--f8-smrk); outline-offset: 3px; }
.dc-dekory__sklad { display: inline-flex; align-items: center; gap: 10px; min-height: var(--f8-cil); font-size: var(--f8-fs-small); font-weight: 600; cursor: pointer; }
.dc-dekory__sklad input { width: 22px; height: 22px; margin: 0; accent-color: var(--f8-smrk-deep); }
.dc-tm .dc-dekory__pocet { margin: 0 0 0 auto; font-size: var(--f8-fs-small); color: var(--f8-ink-600); }
.dc-dekory__pocet b { color: var(--f8-ink); font-weight: 700; font-variant-numeric: var(--f8-num-data); }
.dc-dekory .dc-tm__dekory { margin-top: 32px; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 28px 16px; }
.dc-dekory .dc-tm__dekory li::before { height: auto; aspect-ratio: 1 / 1; }
.dc-dekory .dc-tm__dekory b { font-size: var(--f8-fs-body); }
.dc-dekory .dc-tm__dekory li[hidden] { display: none; }
.dc-dekory__pouziti { display: block; margin-top: 6px; color: var(--f8-ink-600); }
.dc-tm .dc-dekory__prazdne { margin-top: 24px; color: var(--f8-ink-700); }

@media (max-width: 639.98px) {
  .dc-tm__sekce { overflow-x: auto; margin-inline: calc(var(--f8-gutter) * -1); padding-inline: var(--f8-gutter); }
  .dc-tm__sekce ul { flex-wrap: nowrap; gap: 0 20px; white-space: nowrap; }
  .dc-tm__index > li { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .dc-tm__index > li > *, .dc-tm__index > li > :not(h2):not(h3) { grid-column: 1; }
  .dc-tm__radek-index .dc-tm__zastupka { min-height: 220px; }
  .dc-tm__tabulka:not(.dc-tm__tabulka--posun) thead { display: none; }
  .dc-tm__tabulka:not(.dc-tm__tabulka--posun) tr { display: block; padding: 10px 0; border-bottom: 1px solid var(--f8-line); }
  .dc-tm__tabulka:not(.dc-tm__tabulka--posun) th,
  .dc-tm__tabulka:not(.dc-tm__tabulka--posun) td { display: block; padding: 2px 14px; border: 0; }
  .dc-tm__tabulka:not(.dc-tm__tabulka--posun) td[data-l]::before { content: attr(data-l) ": "; color: var(--f8-ink-600); }
  .dc-tm__dilny { padding: 24px 16px; }
  .dc-tm__prouzek-obr { height: 96px; }
  .dc-dekory .dc-tm__dekory { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 12px; }
  .dc-tm .dc-dekory__pocet { margin-left: 0; }
}
.dc-tm__dva h2 + .dc-tm__tabulka { margin-top: 20px; }
.dc-tm__dva--seznam > div { flex: 1 1 320px; }
.dc-tm__dva--seznam > .dc-tm__seznam { flex: 2 1 560px; min-width: 0; }
.dc-tm .dc-tm__odsazeni { margin-top: 20px; }

/* R17b galerie fotek (panty, dřezy, drobné kování); --produkt = výrobek na bílém pozadí, celý (contain) */
.dc-tm h2.dc-tm__nadpis-galerie { margin-bottom: 24px; font-size: var(--f8-fs-h3); }
.dc-tm .dc-tm__galerie { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 24px 16px; }
.dc-tm__galerie figure { margin: 0; }
.dc-tm__galerie img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; background: var(--f8-white); }
.dc-tm__galerie--produkt img { object-fit: contain; padding: 12px; box-sizing: border-box; }
.dc-tm__galerie figcaption { margin-top: 8px; font-size: var(--f8-fs-small); line-height: 1.35; color: var(--f8-ink-700); }
.dc-tm__galerie figcaption b { display: block; color: var(--f8-ink); font-weight: 600; }
@media (max-width: 639.98px) { .dc-tm .dc-tm__galerie { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 12px; } }

/* =====================================================================
   R18 Rychlá cesta k sortimentu (0.14.0): titulka (čl. 384, rejstřík ve 4 sloupcích oborů) a /prodejna
   (článek „Sortiment prodejny“, celý sortiment s miniaturami). Obsah = články s třídami .dc-sort__*,
   miniatury images/sortiment/. Filtr a přepínač oborů: media/js/dc-sortiment.js (asset template.dc.sortiment,
   jen stránky s třídou stránky dc-rejstrik; třída dc-sortiment patří bloku kapitol R4). Bez JS: celý rejstřík, formulář hledání vede na /prodejna?q=.
   Modul „Nachystáme vám to k vyzvednutí“ = Vlastní obsah dc-sekce s třídou dc-sort-objednat kotva-objednat kontakt-prodejna.
   ===================================================================== */

.com-content-article__body:has(> .dc-sort) { max-width: none; }
.dc-sort [hidden] { display: none !important; }
.dc-sort h1,
.dc-sort h2,
.dc-sort h3 { font-family: var(--f8-font-display); font-weight: 800; color: var(--f8-smrk-deep); text-wrap: balance; }
.dc-sort p { margin: 0; }
.dc-sort ul { list-style: none; margin: 0; padding: 0; }
.dc-sort a[href^="https://obchod.drevocentrum.cz"]::after { content: ""; display: inline-block; flex: none; width: .85em; height: .85em; margin-left: .3em; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7'/%3E%3Cpath d='M8 7h9v9'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7'/%3E%3Cpath d='M8 7h9v9'/%3E%3C/svg%3E") center / contain no-repeat; }

/* úvod: H1, perex, hledání (titulka) / + fotka dvora (prodejna) */
.dc-sort__uvod { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 28px 64px; }
.dc-sort__uvod-text { flex: 999 1 520px; min-width: 0; }
.dc-sort__uvod h1 { margin: 0; max-width: 18ch; font-size: clamp(2.125rem, 1.4rem + 2.6vw, 3.625rem); line-height: 1.02; letter-spacing: -.025em; }
.dc-sort .dc-sort__perex { margin-top: 16px; max-width: 56ch; font-size: var(--f8-fs-h4); line-height: 1.5; color: var(--f8-ink-700); }
.dc-sort__hledani { flex: 1 1 380px; min-width: 0; max-width: 540px; }
.dc-sort__uvod--foto .dc-sort__hledani { margin-top: 22px; }
.dc-sort__hledani label { display: block; font-size: var(--f8-fs-ui); font-weight: 700; color: var(--f8-ink); }
.dc-sort__pole { display: flex; align-items: center; margin-top: 8px; background: var(--f8-white); border: 2px solid var(--f8-ink); border-radius: var(--f8-radius); }
.dc-sort__pole::before { content: ""; flex: none; width: 22px; height: 22px; margin-left: 14px; background: var(--f8-ink-600);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%3E%3C/svg%3E") center / contain no-repeat; }
.dc-sort__pole input { flex: 1 1 auto; min-width: 0; min-height: 52px; padding: 0 14px; border: 0; background: transparent; font: inherit; font-size: var(--f8-fs-body); color: var(--f8-ink); }
.dc-sort__pole input:focus { outline: none; }
.dc-sort__pole:focus-within { outline: 3px solid var(--f8-smrk); outline-offset: 3px; }
.dc-sort__casto,
.dc-sort .dc-sort__odkazy { display: flex; flex-wrap: wrap; align-items: center; gap: 0 18px; margin-top: 6px; font-size: var(--f8-fs-small); }
.dc-sort__casto .dc-sort__casto-popis { color: var(--f8-ink-600); }
.dc-sort__casto a,
.dc-sort__odkazy a { display: inline-flex; align-items: center; min-height: var(--f8-cil); font-weight: 600; color: var(--f8-smrk); }
.dc-sort a.dc-sort__akce { font-weight: 700; }
.dc-sort__foto { flex: 4 1 340px; min-width: 0; margin: 0; }
.dc-sort__foto img { display: block; width: 100%; height: 280px; object-fit: cover; }
.dc-sort__foto figcaption { margin-top: 8px; font-size: var(--f8-fs-small); color: var(--f8-ink-600); }
.dc-sort__uvod--foto .dc-sort__uvod-text { flex: 6 1 460px; }
.dc-sort__uvod--foto { align-items: stretch; }

/* stav hledání, nic nenalezeno */
.dc-sort__stav { font-size: var(--f8-fs-small); color: var(--f8-ink-600); }
.dc-sort--titulka .dc-sort__stav { display: inline; font-size: var(--f8-fs-ui); color: var(--f8-ink-700); }
.dc-sort__zrusit { min-height: var(--f8-cil); padding: 0 6px; border: 0; background: none; color: var(--f8-smrk); font: inherit; font-size: var(--f8-fs-small); font-weight: 600; text-decoration: underline; cursor: pointer; }
.dc-sort__nic { margin: 16px 0; padding: 20px 24px; background: var(--f8-white); border-top: 3px solid var(--f8-smrk); }
.dc-sort__nic p + p { margin-top: 4px; color: var(--f8-ink-700); }
.dc-sort__nic a { font-weight: 600; color: var(--f8-smrk); }

/* titulka: rejstřík ve 4 sloupcích oborů (Stavba a Truhláři širší) */
.dc-sort__rejstrik { margin-top: 36px; }
.dc-sort__sloupce { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 40px 48px; margin-top: 8px; }
.dc-sort__obor { min-width: 0; border-top: 3px solid var(--f8-smrk-deep); }
.dc-sort__obor-hlava { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 2px 12px; padding: 14px 0 10px; border-bottom: 2px solid var(--f8-ink); }
.dc-sort__obor-hlava h3 { margin: 0; font-size: var(--f8-fs-h3); line-height: 1.1; }
.dc-sort__obor-hlava h3 a { color: var(--f8-smrk-deep); text-decoration-thickness: 2px; text-underline-offset: .15em; }
.dc-sort__obor-hlava .dc-sort__pro { font-size: var(--f8-fs-small); color: var(--f8-ink-600); }
.dc-sort__seznam > li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 0 12px; align-items: start; padding: 8px 0 10px; border-bottom: 1px solid var(--f8-line); }
.dc-sort__seznam img,
.dc-sort__seznam .dc-sort__bez { display: block; width: 48px; height: 48px; margin-top: 4px; }
.dc-sort__seznam img,
.dc-sort__th img { box-sizing: border-box; padding: 2px; background: var(--f8-white); border: 1px solid var(--f8-line); object-fit: contain; }
.dc-sort__polozka { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "nm st" "fk fk"; align-items: baseline; gap: 0 16px; }
.dc-sort__seznam > li > img { grid-column: 1; }
.dc-sort__seznam .dc-sort__polozka { grid-column: 2; }
.dc-sort__polozka > .dc-sort__nazev { grid-area: nm; }
.dc-sort__polozka > .dc-sort__eshop,
.dc-sort__polozka > .dc-sort__prodejna { grid-area: st; }
.dc-sort__polozka > .dc-sort__fakt { grid-area: fk; }
.dc-sort a.dc-sort__nazev { display: inline-flex; align-items: center; min-height: var(--f8-cil); color: var(--f8-ink); font-size: 1.1875rem; font-weight: 600; line-height: 1.2; }
.dc-sort a.dc-sort__nazev:hover { color: var(--f8-smrk); }
.dc-sort__eshop,
.dc-sort__prodejna { display: inline-flex; align-items: center; min-height: var(--f8-cil); font-size: var(--f8-fs-small); }
.dc-sort a.dc-sort__eshop { font-weight: 600; color: var(--f8-smrk); }
.dc-sort__prodejna { color: var(--f8-ink-600); }
.dc-sort__fakt { font-size: var(--f8-fs-small); line-height: 1.4; color: var(--f8-ink-600); }
.dc-sort .dc-sort__dalsi { display: flex; flex-wrap: wrap; gap: 0 20px; margin-top: 8px; }
.dc-sort__dalsi a { display: inline-flex; align-items: center; min-height: var(--f8-cil); font-size: var(--f8-fs-ui); font-weight: 600; color: var(--f8-smrk); }
.dc-sort__dalsi a.dc-sort__vse { font-weight: 700; text-decoration-thickness: 2px; }
.dc-sort__prepinac { display: none; }

/* titulka: pás s fotkou dvora */
.dc-sort__dvur { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 40px; margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--f8-line); }
.dc-sort__dvur > img { flex: 4 1 320px; min-width: 0; display: block; width: 100%; height: 220px; object-fit: cover; }
.dc-sort__dvur-text { flex: 5 1 380px; min-width: 0; }
.dc-sort__dvur h2 { margin: 0; font-size: var(--f8-fs-h3); line-height: 1.12; }
.dc-sort__dvur-text > p:first-of-type { margin-top: 8px; max-width: 58ch; color: var(--f8-ink-700); }
.dc-sort__dvur-text a { color: var(--f8-smrk); }
.dc-sort .dc-sort__tlacitka { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; margin-top: 14px; }
.dc-sort__tlacitka a { display: inline-flex; align-items: center; min-height: 48px; font-size: var(--f8-fs-ui); font-weight: 600; }
.dc-sort a.dc-sort__tlacitko { padding: 0 22px; background: var(--f8-smrk); color: var(--f8-white); text-decoration: none; font-weight: 700; border-radius: var(--f8-radius); }
.dc-sort a.dc-sort__tlacitko:hover { background: var(--f8-smrk-deep); color: var(--f8-white); }

/* prodejna: řádek oborů (text, bez fotek), lišta filtru, sekce s tabulkou položek */
.dc-sort__obory { margin-top: 32px; }
.dc-sort__obory ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 28px; }
.dc-sort__obory a { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 2px 8px; min-height: 72px; padding: 8px 0 10px; border-top: 2px solid var(--f8-smrk-deep); color: var(--f8-ink); text-decoration: none; }
.dc-sort__obory-nazev { font-family: var(--f8-font-display); font-weight: 800; font-size: 1.3125rem; line-height: 1.15; color: var(--f8-smrk-deep); }
.dc-sort__obory a:hover .dc-sort__obory-nazev { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .2em; }
.dc-sort__obory-pocet { font-size: var(--f8-fs-small); font-weight: 600; color: var(--f8-ink-600); font-variant-numeric: var(--f8-num-data); }
.dc-sort__obory-co { grid-column: 1 / -1; font-size: var(--f8-fs-small); line-height: 1.35; color: var(--f8-ink-600); }
.dc-sort__lista { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 24px; margin-top: 20px; padding: 12px 0; border-top: 1px solid var(--f8-line); border-bottom: 1px solid var(--f8-line); }
.dc-sort__lista .dc-sort__stav { margin-left: auto; }
.dc-sort__filtr,
.dc-sort__prepinac { border: 2px solid var(--f8-ink); border-radius: var(--f8-radius); background: var(--f8-white); }
.dc-sort__filtr { display: flex; }
.dc-sort__filtr button,
.dc-sort__prepinac button { min-height: var(--f8-cil); padding: 0 16px; border: 0; border-right: 1px solid var(--f8-line); background: var(--f8-white); color: var(--f8-ink); font: inherit; font-size: var(--f8-fs-small); font-weight: 700; cursor: pointer; }
.dc-sort__filtr button:last-child,
.dc-sort__prepinac button:last-child { border-right: 0; }
.dc-sort__filtr button[aria-pressed="true"],
.dc-sort__prepinac button[aria-pressed="true"] { background: var(--f8-smrk-deep); color: var(--f8-white); }
.dc-sort__sekce { margin-top: 52px; scroll-margin-top: 11rem; }
.dc-sort__sekce-hlava { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 32px; }
.dc-sort__sekce h2 { margin: 0; font-size: clamp(1.625rem, 1.2rem + 1.2vw, 2.375rem); line-height: 1.08; }
.dc-sort__sekce h2 .dc-sort__podnadpis { display: block; margin-top: 4px; font-family: var(--f8-font); font-size: var(--f8-fs-body); font-weight: 600; letter-spacing: 0; color: var(--f8-ink-700); }
.dc-sort__sekce-hlava > a { display: inline-flex; align-items: center; min-height: var(--f8-cil); font-size: var(--f8-fs-ui); font-weight: 700; color: var(--f8-smrk); text-decoration-thickness: 2px; }
.dc-sort__radek { display: grid; grid-template-columns: 64px minmax(0, 15rem) minmax(0, 1fr) minmax(0, 13rem); grid-template-areas: "th nm fk kde"; gap: 2px 24px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--f8-line); }
/* umístění podle tříd (ne pořadí): editor smí vynechat prázdné prvky a miniatura je jen u položek s fotkou */
.dc-sort__radek > .dc-sort__th { grid-area: th; }
.dc-sort__radek > .dc-sort__nazev,
.dc-sort__radek > .dc-sort__h-nm { grid-area: nm; }
.dc-sort__radek > .dc-sort__fakt,
.dc-sort__radek > .dc-sort__h-fk { grid-area: fk; }
.dc-sort__radek > .dc-sort__kde,
.dc-sort__radek > .dc-sort__h-kde { grid-area: kde; }
.dc-sort__radek--hlava { margin-top: 12px; padding: 8px 0; border-bottom: 2px solid var(--f8-ink); font-size: var(--f8-fs-small); font-weight: 600; color: var(--f8-ink-600); }
.dc-sort__th img,
.dc-sort__th .dc-sort__bez { display: block; width: 64px; height: 64px; }
.dc-sort__radek .dc-sort__fakt { flex: none; font-size: var(--f8-fs-small); line-height: 1.45; color: var(--f8-ink-700); }
.dc-sort__kde { display: flex; flex-wrap: wrap; align-items: center; gap: 0 8px; font-size: var(--f8-fs-small); }
.dc-sort__kde a { display: inline-flex; align-items: center; min-height: var(--f8-cil); font-weight: 600; color: var(--f8-smrk); }

/* modul Nachystáme vám to k vyzvednutí (dc-sekce) */
.dc-blok.dc-sort-objednat { max-width: calc(var(--f8-kontejner) - 2 * var(--f8-gutter)); margin: var(--f8-sp-7) auto 0; padding: 24px 28px 26px; box-sizing: border-box; background: var(--f8-white); border-top: 3px solid var(--f8-smrk); scroll-margin-top: 11rem; }
.dc-sort-objednat h2 { margin: 0; font-family: var(--f8-font-display); font-size: var(--f8-fs-h3); font-weight: 800; line-height: 1.12; color: var(--f8-smrk-deep); }
.dc-sort-objednat p { max-width: 70ch; margin: 10px 0 0; color: var(--f8-ink-700); }
.dc-sort-objednat a { font-weight: 700; color: var(--f8-smrk); }
.dc-sort-objednat .dc-sort-objednat__pozn { font-size: var(--f8-fs-small); color: var(--f8-ink-600); }
.dc-sort-objednat .dc-blok__kontakt { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin-top: 16px; }
.dc-sort-objednat .dc-blok__kontakt .dc-data { font-size: var(--f8-fs-data); color: var(--f8-ink); text-decoration: none; }

@media (max-width: 1023.98px) {
  .dc-sort__obory ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 639.98px) {
  .dc-sort__uvod { gap: 20px; }
  .dc-sort__foto img { height: 170px; }
  .dc-sort__rejstrik { margin-top: 24px; }
  .dc-sort--js .dc-sort__prepinac { display: flex; margin-bottom: 4px; }
  .dc-sort__prepinac button { flex: 1 1 0; min-width: 0; min-height: 52px; padding: 0 4px; }
  .dc-sort--js:not(.dc-sort--hleda) .dc-sort__obor:not(.je-vybrany) { display: none; }
  .dc-sort__sloupce { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .dc-sort__dvur > img { height: 160px; }
  .dc-sort__obory ul { grid-template-columns: minmax(0, 1fr); }
  .dc-sort__obory a { min-height: 0; }
  .dc-sort__lista .dc-sort__stav { margin-left: 0; }
  .dc-sort__filtr { width: 100%; }
  .dc-sort__filtr button { flex: 1 1 auto; padding: 0 8px; }
  .dc-sort__radek { grid-template-columns: 56px minmax(0, 1fr); grid-template-areas: "th nm" "th fk" "th kde"; gap: 0 14px; align-items: start; padding: 12px 0; }
  .dc-sort__th img,
  .dc-sort__th .dc-sort__bez { width: 56px; height: 56px; }
  .dc-sort__radek--hlava { display: none; }
  .dc-blok.dc-sort-objednat { margin-left: var(--f8-gutter); margin-right: var(--f8-gutter); padding: 20px; }
}
/* R18: titulka i /prodejna mají fotku v obsahu článku; „Obrázek celého článku“ čl. 384 zůstává jen pro Open Graph */
.dc-rejstrik .com-content-article > .item-image,
.dc-rejstrik .com-content-article figure.item-image { display: none; }

/* R20b: e-mail v seznamu Platba a firmy – dotykový cíl 44 px (QA R20) */
.dc-platby__seznam dd a[href^="mailto:"] { display: inline-flex; align-items: center; min-height: var(--f8-cil); overflow-wrap: anywhere; }

/* R20: lišta a okno souhlasu s cookies (n3t, cookieconsent v2) v barvách webu – petrolej a vápno místo výchozí modrošedé */
html:root, html .c_darkmode {
  --cc-bg: var(--f8-white);
  --cc-text: var(--f8-ink);
  --cc-block-text: var(--f8-ink);
  --cc-btn-primary-bg: var(--f8-smrk);
  --cc-btn-primary-text: var(--f8-white);
  --cc-btn-primary-hover-bg: var(--f8-smrk-deep);
  --cc-btn-secondary-bg: var(--f8-vapno);
  --cc-btn-secondary-text: var(--f8-ink);
  --cc-btn-secondary-hover-bg: var(--f8-vapno-2);
  --cc-toggle-bg-on: var(--f8-smrk);
  --cc-cookie-category-block-bg: var(--f8-vapno);
  --cc-cookie-category-block-bg-hover: var(--f8-vapno-2);
  --cc-section-border: var(--f8-line);
  --cc-cookie-table-border: var(--f8-line);
  --cc-trigger-icon: var(--f8-smrk);
  --cc-trigger-icon-hover: var(--f8-smrk-deep);
}

/* ---------- R21 Dřevo s nadsázkou: pila v otevírací době, skládací metr, kurzor tesařské tužky ---------- */
/* Pila (layout dc-provoz, nastaví dc.js): prkno dne na ose 6–18 h, rozříznutá část, piliny, kotouč z loga */
.dc-pila { margin-top: 18px; }
.dc-pila[hidden], .dc-pila__vtip[hidden] { display: none; }
.dc-pila__draha { position: relative; height: 64px; }
.dc-pila__prkno { position: absolute; left: var(--dc-pila-od, 8.33%); width: var(--dc-pila-sirka, 79.17%); top: 22px; height: 24px; overflow: hidden; border-radius: var(--f8-radius); background: var(--f8-drevo) url("../images/prkno-kresba.svg") left center / auto 100% repeat-x; }
.dc-pila__rez { position: absolute; left: 0; top: 11px; height: 2px; width: calc(var(--dc-pila-rez, 0) * 100%); background: var(--f8-ink); }
.dc-pila__piliny { position: absolute; left: var(--dc-pila-od, 8.33%); width: calc(var(--dc-pila-sirka, 79.17%) * var(--dc-pila-rez, 0)); top: 50px; height: 10px; background: url("../images/piliny.svg") left top / 36px 10px repeat-x; opacity: .85; }
.dc-pila__kotouc { position: absolute; left: var(--dc-pila-x, 8.33%); top: 2px; width: 64px; height: 64px; margin-left: -32px; }
.dc-pila__kotouc svg { display: block; width: 100%; height: 100%; }
.dc-pila__kotouc polygon { fill: var(--f8-azur); stroke: var(--f8-smrk-deep); stroke-width: 2; stroke-linejoin: round; }
.dc-pila__kotouc circle { fill: var(--f8-vapno); stroke: var(--f8-smrk-deep); stroke-width: 2; }
.dc-pila__kotouc .dc-pila__osa-stred { fill: var(--f8-smrk-deep); stroke: none; }
[data-dc-pila-stav="pred"] .dc-pila__kotouc polygon, [data-dc-pila-stav="zavreno"] .dc-pila__kotouc polygon { fill: var(--f8-vapno-2); }
.dc-pila__osa { display: flex; justify-content: space-between; margin: 2px 0 0; font-size: var(--f8-fs-small); color: var(--f8-ink-600); font-variant-numeric: var(--f8-num-data); }
.dc-pila__vtip { margin: 10px 0 0; font-size: var(--f8-fs-ui); color: var(--f8-ink-700); }
@media (prefers-reduced-motion: no-preference) {
  [data-dc-pila-stav="otevreno"] .dc-pila__kotouc svg, [data-dc-pila-stav="konci"] .dc-pila__kotouc svg { animation: dc-pila-toc 9s linear infinite; }
}
@keyframes dc-pila-toc { to { transform: rotate(360deg); } }
@media (max-width: 639.98px) {
  .dc-pila__draha { height: 52px; }
  .dc-pila__prkno { top: 18px; height: 20px; }
  .dc-pila__rez { top: 9px; }
  .dc-pila__piliny { top: 42px; }
  .dc-pila__kotouc { width: 48px; height: 48px; margin-left: -24px; top: 4px; }
}

/* Skládací metr nad tmavým pásem (layout dc.metr, titulka a Prodejna) */
.dc-metr { margin-top: var(--f8-sp-8); margin-bottom: calc(-1 * var(--f8-sp-7)); }
.dc-metr__svg { display: block; width: 100%; max-width: 1290px; height: auto; overflow: visible; }
.dc-metr__dil rect { fill: var(--f8-drevo); stroke: #B07A47; stroke-width: 1.5; }
.dc-metr__rysky { fill: none; stroke: var(--f8-ink); stroke-width: 1.4; }
.dc-metr__dil text { font-family: var(--f8-font); font-size: 15px; font-weight: 700; fill: var(--f8-ink); font-variant-numeric: var(--f8-num-data); }
.dc-metr__kloub { fill: #B07A47; }
@media (max-width: 639.98px) { .dc-metr { margin-top: var(--f8-sp-6); margin-bottom: calc(-1 * var(--f8-sp-5)); } }

/* Kurzor tesařské tužky nad hlavní aktualitou (třída těla dc-tuzka, jen myš) */
@media (hover: hover) and (pointer: fine) {
  .dc-tuzka .dc-aktuality__polozka--hlavni { cursor: url("../images/kurzor-tuzka.svg") 5 27, auto; }
  .dc-tuzka .dc-aktuality__polozka--hlavni a { cursor: url("../images/kurzor-tuzka.svg") 5 27, pointer; }
}


/* == R22 Nábytkové studio (návrh „Dřevocentrum – Nábytkové studio“, schváleno 5. 11. 2026) ==
   Nadpisy v inkoustu jako zbytek webu, ořech jen na tlačítka, odkazy, aktivní stav a tmavé plochy. Fotky realizací mají 800 px: nezvětšovat nad ~640 px. */
.dc-studio-obsah h1, .dc-studio-obsah h2, .dc-studio-obsah h3, .dc-studio-obsah h4,
body.studio .dc-svetle h1, body.studio .dc-svetle h2, body.studio .dc-svetle h3, body.studio .dc-svetle h4 { color: var(--f8-ink); }

/* Úvod: text a fotka 6/6, pod tlačítkem věta o schůzce zdarma, fakta z <dl> úvodního textu */
.dc-studio:has(> .dc-studio__spoluprace:last-child) { padding-bottom: 0; }
.dc-studio .dc-studio__uvod { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; padding-block: 32px 48px; }
.dc-studio__uvod-text { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.dc-studio .dc-studio__perex { max-width: 40rem; margin-top: 0; }
.dc-studio .dc-studio__akce { margin: 4px 0 0; gap: 12px 28px; }
.dc-studio__tel { display: inline-flex; flex-direction: column; justify-content: center; min-height: 56px; color: var(--f8-ink); text-decoration: none; }
.dc-studio__tel:hover { color: var(--dc-akcent-studio-deep); }
.dc-studio__tel-popis { font-size: var(--f8-fs-small); line-height: 1.2; color: var(--f8-ink-600); }
.dc-studio__tel .dc-data { font-size: var(--f8-fs-data); font-weight: 800; line-height: 1.15; }
.dc-studio__zdarma { margin: -8px 0 0; font-size: var(--f8-fs-small); line-height: 1.45; color: var(--f8-ink-700); }
.dc-studio__fakta { display: grid; grid-template-columns: minmax(0, 1fr); margin: 8px 0 0; border-top: 2px solid var(--f8-ink); }
.dc-studio__fakta > div { display: grid; grid-template-columns: minmax(0, 9.5em) minmax(0, 1fr); gap: 4px 16px; align-items: baseline; padding: 12px 0; border-bottom: 1px solid var(--f8-line); }
.dc-studio__fakta dt { font-size: var(--f8-fs-h4); font-weight: 800; line-height: 1.15; color: var(--dc-akcent-studio); overflow-wrap: anywhere; }
.dc-studio__fakta dd { margin: 0; font-size: var(--f8-fs-small); line-height: 1.45; color: var(--f8-ink-700); }
.dc-studio__foto-obal { position: relative; margin: 0 calc(-1 * var(--f8-gutter)); }
.dc-studio__hlavni, picture.dc-studio__hlavni > img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.dc-studio__detail { display: none; }
.dc-studio__foto-obal figcaption { margin-top: 8px; padding-inline: var(--f8-gutter); font-size: var(--f8-fs-small); line-height: 1.4; color: var(--f8-ink-600); }
@media (min-width: 1024px) {
  .dc-studio .dc-studio__uvod { padding-block: 64px 96px; }
  .dc-studio .dc-studio__uvod--foto { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); column-gap: 72px; align-items: start; }
  .dc-studio__fakta { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 24px; margin-top: 16px; padding-top: 16px; }
  .dc-studio__fakta > div { display: flex; flex-direction: column; gap: 6px; padding: 0; border-bottom: 0; }
  .dc-studio__foto-obal { width: 100%; max-width: 640px; justify-self: end; margin: 0; }
  .dc-studio__foto-obal--detail { padding-bottom: 56px; }
  .dc-studio__foto-obal--detail .dc-studio__detail { display: block; position: absolute; left: -48px; bottom: 0; width: 200px; height: 200px; border: 8px solid var(--f8-vapno); object-fit: cover; }
  picture.dc-studio__detail > img { display: block; width: 100%; height: 100%; object-fit: cover; }
  .dc-studio__foto-obal figcaption { padding-inline: 0; text-align: right; }
  .dc-studio__foto-obal--detail figcaption { position: absolute; right: 0; bottom: 12px; max-width: calc(100% - 200px); margin: 0; }
}

/* Výběr realizací na úvodu: tři stejné karty 4 : 3, filtr typu a Všechny realizace v hlavičce */
.dc-studio .dc-realizace-vyber { margin-top: 0; }
.dc-realizace-vyber__hlava { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 8px 32px; padding-top: 32px; border-top: 1px solid var(--f8-line); }
.dc-realizace-vyber__hlava-text { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.dc-realizace-vyber .dc-realizace-vyber__nadpis { margin: 0; }
.dc-realizace-vyber__filtr { border-bottom: 1px solid var(--f8-line); }
.dc-realizace-vyber__vse { display: inline-flex; align-items: center; gap: 8px; min-height: var(--f8-cil); font-size: var(--f8-fs-ui); font-weight: 700; }
.dc-realizace-vyber__vse svg { width: 20px; height: 20px; }
.dc-realizace-vyber .dc-realizace-vyber__mrizka { grid-template-columns: minmax(0, 1fr); gap: 32px; margin-top: 28px; }
.dc-realizace-vyber .dc-realizace-vyber__polozka { grid-column: auto; margin-top: 0; }
.dc-realizace-vyber .dc-realizace-vyber__polozka .dc-portfolio__foto { --dc-pomer: 4 / 3; }
@media (min-width: 640px) { .dc-realizace-vyber .dc-realizace-vyber__mrizka { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .dc-realizace-vyber .dc-realizace-vyber__mrizka { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* Spolupráce: plocha vápno-2, úvod vedle nadpisu, kroky na skládacím metru (mobil svisle, desktop vodorovně), panel Než přijdete */
.dc-studio .dc-studio__spoluprace { display: block; margin-top: var(--f8-rytmus); padding-block: 48px 56px; background: var(--f8-vapno-2); }
.dc-studio__spoluprace > .dc-kontejner { display: flex; flex-direction: column; gap: 28px; }
.dc-studio .dc-studio__spoluprace-hlava { display: grid; flex: none; gap: 12px; }
.dc-studio .dc-studio__spoluprace-nadpis { margin: 0; }
.dc-studio__spoluprace-uvod > * { margin: 0; color: var(--f8-ink-700); }
.dc-studio__kroky { position: relative; display: grid; gap: 28px; margin: 0; padding: 0 0 0 56px; list-style: none; }
.dc-studio__kroky::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 32px; box-sizing: border-box;
  border: 1.5px solid var(--f8-kod-stavba); border-radius: 3px;
  background: var(--f8-drevo) url("../images/metr-rysky-v.svg") 0 0 / 32px 80px repeat-y;
}
.dc-studio__kroky li { position: relative; min-width: 0; }
.dc-studio__kroky li::before { content: ""; position: absolute; left: -46px; top: 7px; width: 12px; height: 12px; border-radius: 50%; background: var(--dc-akcent-studio); }
.dc-studio__kroky li + li::after { content: ""; position: absolute; left: -56px; top: -15px; width: 32px; height: 2px; background: var(--f8-kod-stavba); }
.dc-studio__kroky .dc-studio__krok { margin: 0; font-size: var(--f8-fs-h4); line-height: 1.2; }
.dc-studio__kroky p { margin: 6px 0 0; font-size: var(--f8-fs-small); line-height: 1.55; color: var(--f8-ink-700); }
.dc-studio__panel { display: grid; gap: 12px; margin-top: 12px; padding: 24px 20px; background: var(--f8-vapno); border-top: 2px solid var(--f8-ink); }
.dc-studio .dc-studio__panel-nadpis { margin: 0; font-size: var(--f8-fs-h3); line-height: 1.15; }
.dc-studio__panel-telo > :first-child { margin-top: 0; }
.dc-studio__panel-telo > :last-child { margin-bottom: 0; }
.dc-studio__panel-telo ul { display: grid; gap: 10px; margin: 0; padding-left: 20px; color: var(--f8-ink-700); }
@media (min-width: 1024px) {
  .dc-studio .dc-studio__spoluprace { padding-block: 72px 96px; }
  .dc-studio .dc-studio__spoluprace-hlava { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: 72px; align-items: end; }
  .dc-studio__kroky { grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 0; margin-top: 12px; padding: 72px 0 0; }
  .dc-studio__kroky::before {
    left: 0; right: 0; bottom: auto; width: auto; height: 44px;
    background: var(--f8-drevo) url("../images/metr-rysky-h.svg") 0 0 / 80px 44px repeat-x;
  }
  .dc-studio__kroky li { padding-right: 36px; }
  .dc-studio__kroky li::before { left: 10px; top: -56px; }
  .dc-studio__kroky li + li::after { left: 0; top: -72px; width: 2px; height: 44px; }
  .dc-studio__panel { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); column-gap: 48px; margin-top: 36px; padding: 32px 40px; }
  .dc-studio__panel-telo ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 40px; }
}

/* Tmavý pás „Přijďte do studia“ (modul dc-studio-kde na dc-pas-spodni): jediný obsah pásu na stránkách studia */
.dc-pas--studio .dc-pas__mrizka, body.studio .dc-pas__mrizka:has(.dc-studio-pas) { display: block; }
.dc-studio-pas { display: grid; gap: 32px; color: var(--f8-on); }
.dc-pas .dc-studio-pas h2 { margin: 0; font-size: var(--f8-fs-h2); line-height: 1.05; color: var(--f8-on); }
.dc-studio-pas__cesta { max-width: 34em; margin: 16px 0 0; color: var(--dc-studio-on-muted); }
.dc-studio-pas__adresa { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 20px; margin: 16px 0 0; }
.dc-studio-pas__adresa > span { display: inline-flex; align-items: center; gap: 10px; }
.dc-studio-pas__adresa svg { width: 22px; height: 22px; color: var(--f8-drevo); }
.dc-studio-pas a:not(.dc-tlacitko):not(.dc-studio-pas__tel) { display: inline-flex; align-items: center; min-height: var(--f8-cil); color: var(--f8-drevo); font-weight: 700; }
.dc-studio-pas a:not(.dc-tlacitko):not(.dc-studio-pas__tel):hover { color: var(--f8-white); }
.dc-studio-pas a:focus-visible { outline: 3px solid var(--f8-drevo); outline-offset: 3px; }
.dc-studio-pas__kontakt { display: flex; flex-direction: column; gap: 10px; padding-top: 20px; border-top: 1px solid var(--dc-studio-on-line); }
.dc-studio-pas__tema, .dc-studio-pas__domluva { margin: 0; color: var(--dc-studio-on-muted); }
.dc-studio-pas__tema { font-size: var(--f8-fs-small); }
.dc-studio-pas__tema small { display: block; font-size: inherit; }
.dc-studio-pas__tel { display: inline-flex; align-items: center; min-height: var(--f8-cil); color: var(--f8-white); text-decoration: none; }
.dc-studio-pas__tel .dc-data { font-size: clamp(2rem, 1.4rem + 2vw, 2.75rem); font-weight: 800; line-height: 1; }
.dc-studio-pas__akce { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin: 6px 0 0; }
@media (min-width: 1024px) { .dc-studio-pas { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: 72px; } }

@media (max-width: 639.98px) { .dc-realizace .dc-realizace__galerie .dc-realizace__foto:nth-child(2), .dc-realizace .dc-realizace__galerie .dc-realizace__foto:nth-child(3) { grid-column: span 6; } }

/* Výpis realizací: tři stejné karty 4 : 3 místo rytmu t1–t8 */
.dc-portfolio .dc-portfolio__mrizka { grid-template-columns: minmax(0, 1fr); gap: 40px 32px; }
.dc-portfolio .dc-portfolio__polozka { grid-column: auto; align-self: start; margin: 0; --dc-pomer: 4 / 3; }
.dc-portfolio .dc-portfolio__polozka .dc-portfolio__nazev, .dc-portfolio .dc-portfolio__polozka .dc-portfolio__meta { padding-inline: 0; }
.dc-portfolio .dc-portfolio__polozka--t5 .dc-portfolio__odkaz { display: block; }
.dc-portfolio .dc-portfolio__polozka--t5 .dc-portfolio__meta { margin-top: 4px; text-align: left; }
.dc-portfolio .dc-portfolio__nazev { font-size: var(--f8-fs-h4); line-height: 1.2; }
@media (min-width: 640px) { .dc-portfolio .dc-portfolio__mrizka { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px 32px; } }
@media (min-width: 1024px) { .dc-portfolio .dc-portfolio__mrizka { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 56px 32px; } }

/* Výzva (CTA) na ploše hlubokého ořechu: pás pod výpisem a karta v postranním sloupci detailu */
.dc-realizace__cta { flex-direction: column; align-items: flex-start; gap: 12px; padding: 28px 24px; background: var(--dc-akcent-studio-deep); color: var(--f8-on); }
.dc-studio-obsah .dc-realizace__cta h2 { margin: 0; color: var(--f8-on); }
.dc-realizace__cta-text { margin: 0; color: var(--dc-studio-on-muted); }
.dc-realizace__cta .dc-realizace__cta-tel { color: var(--f8-white); }
.dc-realizace__cta .dc-realizace__cta-tel .dc-data { font-size: var(--f8-fs-h3); font-weight: 800; }
.dc-realizace__cta a:focus-visible { outline: 3px solid var(--f8-drevo); outline-offset: 3px; }
.dc-realizace__cta--pas { margin-top: 72px; }
.dc-realizace__materialy .dc-realizace__cta { margin-top: 0; }
.dc-studio-obsah .dc-realizace__cta .dc-tlacitko--drevo, .dc-studio-pas .dc-tlacitko--drevo { background: var(--f8-drevo); color: var(--f8-ink); }
.dc-studio-obsah .dc-realizace__cta .dc-tlacitko--drevo:hover, .dc-studio-pas .dc-tlacitko--drevo:hover { background: var(--f8-white); color: var(--f8-ink); }
@media (min-width: 640px) {
  .dc-realizace__cta { padding: 28px; }
  .dc-realizace__cta--pas { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; padding: 40px 48px; }
}

/* Detail: galerie 2 sloupce (na desktopu první 4 fotky, zbytek v lightboxu), text 7 + postranní sloupec O zakázce a výzva, navigace s náhledy */
@media (min-width: 640px) {
  .dc-web .dc-realizace .dc-gallery.dc-realizace__galerie { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .dc-realizace .dc-realizace__galerie .dc-realizace__foto { grid-column: auto; }
  .dc-web .dc-realizace .dc-realizace__galerie .dc-realizace__foto img { aspect-ratio: 3 / 2; }
  .dc-realizace .dc-realizace__galerie .dc-realizace__foto:nth-child(n+5) { display: none; }
  .dc-realizace .dc-realizace__vsechny--vic { display: flex; justify-content: flex-end; margin-top: 16px; }
}
.dc-realizace .dc-realizace__telo { gap: 40px 96px; }
.dc-realizace .dc-realizace__materialy { flex: 4 1 300px; display: flex; flex-direction: column; gap: 28px; }
.dc-realizace .dc-realizace__materialy-nadpis { font-size: var(--f8-fs-h4); }
.dc-realizace .dc-realizace__material-seznam { margin-top: -16px; border-top: 2px solid var(--f8-ink); border-bottom: 0; }
.dc-realizace .dc-realizace__material-seznam > div { padding-inline: 0; }
.dc-realizace .dc-realizace__material-seznam dt { flex-basis: 7em; font-weight: 400; color: var(--f8-ink-600); }
.dc-realizace .dc-realizace__navigace { border-top: 1px solid var(--f8-line); align-items: center; }
.dc-realizace .dc-realizace__navigace a { gap: 16px; text-decoration: none; }
.dc-realizace .dc-realizace__navigace .dc-realizace__nav-text { display: flex; flex-direction: column; gap: 2px; font-size: var(--f8-fs-ui); font-weight: 700; color: var(--f8-ink); }
.dc-realizace .dc-realizace__navigace .dc-realizace__nav-text > span { font-size: var(--f8-fs-small); font-weight: 400; color: var(--f8-ink-600); }
.dc-realizace__nahled, picture.dc-realizace__nahled > img { display: block; flex: none; width: 96px; height: 72px; object-fit: cover; }
.dc-realizace .dc-realizace__vse a { padding: 0 20px; border: 2px solid var(--dc-akcent-studio); }
@media (min-width: 640px) { .dc-realizace__nahled, picture.dc-realizace__nahled > img { width: 120px; height: 90px; } }

/* R24: fotka prodejny v úvodu stránky pro truhláře (figure.dc-tm__foto v úvodním textu článku) */
.dc-tm__uvod-text > .dc-tm__foto { margin-top: 32px; max-width: 760px; }
.dc-tm__uvod-text > .dc-tm__foto img { aspect-ratio: 16 / 9; object-fit: cover; }
/* R25: fotka prodejny místo zástupky vedle přehledu (truhláři, kování) – vyplní výšku řádku, na užší šířce pevná výška / čtverec */
.dc-tm__radek-index > .dc-tm__foto img { flex: 1 1 0; min-height: 420px; object-fit: cover; }
@media (max-width: 639.98px) { .dc-tm__radek-index > .dc-tm__foto img { flex: none; min-height: 0; aspect-ratio: 1 / 1; } }

/* R25b: fotka prodejny na /barvy – pravý sloupec úvodu nad panelem Poradíme (div.dc-barvy__bok jen s fotkou) */
.dc-barvy__bok { flex: 4 1 340px; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.dc-barvy__bok > .dc-barvy__poradime { flex: none; }
.dc-barvy__foto { margin: 0; }
.dc-barvy__foto img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.dc-barvy__foto figcaption { margin-top: 8px; font-size: var(--f8-fs-small); color: var(--f8-ink-600); }
.dc-barvy__hlava:has(> .dc-barvy__bok) { align-items: flex-start; }

/* R29: lišta a předvolby cookies pluginu rtconsent (vanilla-cookieconsent 3, #cc-main) v barvách webu – petrolej a vápno místo
   navy/indigo/oranžové return.cz z rtconsent.css; body.dc-web má vyšší specificitu než #cc-main pluginu (načítá se po šabloně). */
body.dc-web #cc-main {
  --cc-font-family: var(--f8-font);
  --cc-modal-border-radius: var(--f8-radius);
  --cc-btn-border-radius: var(--f8-radius);
  --cc-bg: var(--f8-white);
  --cc-primary-color: var(--f8-ink);
  --cc-secondary-color: var(--f8-ink-700);
  --cc-link-color: var(--f8-smrk);
  --cc-btn-primary-bg: var(--f8-smrk);
  --cc-btn-primary-color: var(--f8-white);
  --cc-btn-primary-border-color: var(--f8-smrk);
  --cc-btn-primary-hover-bg: var(--f8-smrk-deep);
  --cc-btn-primary-hover-color: var(--f8-white);
  --cc-btn-primary-hover-border-color: var(--f8-smrk-deep);
  --cc-btn-secondary-bg: var(--f8-vapno);
  --cc-btn-secondary-color: var(--f8-ink);
  --cc-btn-secondary-border-color: var(--f8-line);
  --cc-btn-secondary-hover-bg: var(--f8-vapno-2);
  --cc-btn-secondary-hover-color: var(--f8-ink);
  --cc-btn-secondary-hover-border-color: var(--f8-line);
  --cc-separator-border-color: var(--f8-line);
  --cc-toggle-on-bg: var(--f8-smrk);
  --cc-toggle-off-bg: var(--f8-ink-600);
  --cc-toggle-readonly-bg: var(--f8-line);
  --cc-cookie-category-block-bg: var(--f8-vapno);
  --cc-cookie-category-block-border: var(--f8-line);
  --cc-cookie-category-block-hover-bg: var(--f8-vapno-2);
  --cc-cookie-category-block-hover-border: var(--f8-line);
  --cc-cookie-category-expanded-block-bg: var(--f8-white);
  --cc-footer-bg: var(--f8-vapno);
  --cc-footer-border-color: var(--f8-line);
  --cc-footer-color: var(--f8-ink-700);
  --cc-overlay-bg: rgba(14, 55, 66, .6);
}
body.dc-web #cc-main .cm__title, body.dc-web #cc-main .pm__title, body.dc-web #cc-main .pm__section-title { font-family: var(--f8-font-display); }
body.dc-web #cc-main .cm { border-top: 4px solid var(--f8-smrk); }
body.dc-web #cc-main a { color: var(--f8-smrk); }
body.dc-web #cc-main a:hover { color: var(--f8-smrk-deep); }
body.dc-web #cc-main .pm__badge { background: var(--f8-vapno-2); color: var(--f8-ink); }
body.dc-web #cc-main :focus-visible { outline: 3px solid var(--f8-smrk); outline-offset: 2px; }
/* Mobil (B33): lišta nesmí být vyšší než okno a nesmí zakrýt víc, než je nutné – posun uvnitř lišty */
@media (max-width: 639.98px) {
  body.dc-web #cc-main .cm { max-height: calc(100dvh - 16px); overflow-y: auto; }
}
