:root {
  --knn-bg: #fbfaf7;
  --knn-surface: #ffffff;
  --knn-soft: #f5f1ea;
  --knn-border: #e6ded3;
  --knn-text: #2e2a26;
  --knn-muted: #70685f;
  --knn-accent: #8b6847;
  --knn-accent-hover: #735338;
  --knn-success: #526b4f;
  --knn-shadow: 0 8px 28px rgba(61, 48, 36, .08);
  --knn-radius: 10px;
}

html, body { background: var(--knn-bg) !important; color: var(--knn-text) !important; }
body { line-height: 1.55; }
a { color: var(--knn-accent); text-decoration-color: rgba(139, 104, 71, .38); }
a:hover, a:focus { color: var(--knn-accent-hover); }
h1, h2, h3, h4, .podnadpis { color: var(--knn-text) !important; letter-spacing: -.015em; }

.hlavicka_modul_logo,
.hlavicka_modul_uzivatel,
.hlavicka_modul_obsah_kosiku3,
.hlavicka_modul_fulltextove_vyhledavani2,
.hlavni_menu,
.responzivni_menu_v3 { background: var(--knn-surface) !important; }

.hlavni_menu { border-top: 1px solid var(--knn-border); border-bottom: 1px solid var(--knn-border); box-shadow: 0 3px 14px rgba(61,48,36,.05); }
.hlavni_menu a, .responzivni_menu_v3 a { color: var(--knn-text) !important; }
.hlavni_menu a:hover, .hlavni_menu .active, .responzivni_menu_v3 a:hover { color: var(--knn-accent) !important; background: var(--knn-soft) !important; }

input, select, textarea, .input, .input_text, .form_input {
  background: var(--knn-surface) !important;
  color: var(--knn-text) !important;
  border: 1px solid var(--knn-border) !important;
  border-radius: 7px !important;
  box-shadow: none !important;
}
input:focus, select:focus, textarea:focus { outline: 2px solid rgba(139,104,71,.28); outline-offset: 1px; border-color: var(--knn-accent) !important; }

.button, button, input[type="submit"], .submit, .button_konverzni, .polozka_odkaz a {
  background: var(--knn-accent) !important;
  color: #fff !important;
  border: 1px solid var(--knn-accent) !important;
  border-radius: 7px !important;
  box-shadow: none !important;
  text-decoration: none !important;
  transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}
.button:hover, button:hover, input[type="submit"]:hover, .submit:hover, .button_konverzni:hover, .polozka_odkaz a:hover {
  background: var(--knn-accent-hover) !important;
  border-color: var(--knn-accent-hover) !important;
}

.Breadcrumb, [class^="Breadcrumb_"] { color: var(--knn-muted) !important; }
.ramec_top { background: var(--knn-soft) !important; color: var(--knn-text) !important; border-radius: 8px 8px 0 0; }
.ramec_body, .ramec_bottom, .ramec { border-color: var(--knn-border) !important; }
.ramec_kategorie_basic, .ramec_kategorie_basic .ramec_body,
.ramec_kategorie_basic ul, .ramec_kategorie_basic li,
.ramec_kategorie_basic .sub0, .ramec_kategorie_basic .sub1, .ramec_kategorie_basic .sub2 {
  background: var(--knn-soft) !important;
  border-color: var(--knn-border) !important;
}
.ramec_kategorie_basic a {
  color: var(--knn-text) !important;
  background: var(--knn-soft) !important;
  border-color: var(--knn-border) !important;
}
.ramec_levy a {
  text-decoration: none !important;
  border-bottom: 0 !important;
}
.ramec_levy a:hover,
.ramec_levy a:focus {
  color: var(--knn-accent-hover) !important;
}
.ramec_kategorie_basic a:hover, .ramec_kategorie_basic .active > a {
  background: #ece4d8 !important;
  color: var(--knn-accent-hover) !important;
}

/* Podtrzeni je vlozene inline na nadrazenych i vnorenych span prvcich. */
.ramec_vlastni_1 .ramec_body p,
.ramec_vlastni_1 .ramec_body span,
.ramec_vlastni_1 .ramec_body a {
  text-decoration: none !important;
}

.order { display: none !important; }
.polozky { gap: 18px; }
.polozka {
  background: var(--knn-surface) !important;
  border: 1px solid var(--knn-border) !important;
  border-radius: var(--knn-radius) !important;
  box-shadow: 0 4px 18px rgba(61,48,36,.055);
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.polozka:hover { transform: translateY(-2px); border-color: #d6c8b8 !important; box-shadow: var(--knn-shadow); }
.polozka_nazev a { color: var(--knn-text) !important; font-weight: 650; line-height: 1.3; text-decoration: none; }
.polozka_popis_text, .kratky_popis { color: var(--knn-muted) !important; line-height: 1.42; }
.polozka_cena, .cena_s_dph, .kosik_cena_s_dph, .rekapitulace_celkem { color: var(--knn-text) !important; }
.dostupnost, [class*="dostupnost_"] { color: var(--knn-success) !important; }
.polozka_foto img, .img_zbozi { background: #fff; }

.detail_flex, .zbozi_tabulka, .zbozi_varianty, .vyber_parametru, .vyber_materialu,
.kosik_polozka, .kosik_rekapitulace, .poznamka_k_objednavce {
  background: var(--knn-surface) !important;
  border-color: var(--knn-border) !important;
  border-radius: var(--knn-radius);
}
.ui-widget-header { background: var(--knn-soft) !important; border-color: var(--knn-border) !important; color: var(--knn-text) !important; }
.ui-widget-content { background: var(--knn-surface) !important; border-color: var(--knn-border) !important; color: var(--knn-text) !important; }
.ui-state-active { background: var(--knn-accent) !important; border-color: var(--knn-accent) !important; color: #fff !important; }

.paticka_modul_3 { background: var(--knn-soft) !important; border-top: 1px solid var(--knn-border); color: var(--knn-text) !important; }
.paticka_modul { color: var(--knn-text) !important; }
.paticka_nadpis {
  color: var(--knn-accent-hover) !important;
  margin: 0 0 10px !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
  font-weight: 650 !important;
}
.paticka_info_telefon_email {
  background: rgba(255,255,255,.62);
  border: 1px solid var(--knn-border);
  border-radius: var(--knn-radius);
  padding: 14px 16px !important;
  display: flex;
  flex-direction: column;
  gap: 5px;
  font-size: 15px !important;
  line-height: 1.35 !important;
}
.paticka_info_firma, .paticka_ico, .paticka_telefon {
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  font-size: inherit !important;
}
.paticka_info_firma { font-weight: 700; color: var(--knn-text) !important; }
.paticka_ico { color: var(--knn-muted); font-size: .94em; }
.paticka_info_telefon_email a,
.paticka_telefon a {
  color: var(--knn-accent-hover) !important;
  overflow-wrap: anywhere;
  text-decoration: none !important;
  border-bottom: 0 !important;
}
.copyright_podpis { color: var(--knn-muted) !important; border-top: 1px solid var(--knn-border); padding-top: 14px; }

@media (max-width: 760px) {
  body { font-size: 15px; }
  .polozky { gap: 12px; }
  .polozka { border-radius: 8px !important; }
  .paticka_modul_3 { padding-left: 16px !important; padding-right: 16px !important; }
  .paticka_info_telefon_email { padding: 12px 14px !important; font-size: 14px !important; }
  .paticka_nadpis { font-size: 15px !important; margin-bottom: 8px !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; scroll-behavior: auto !important; }
}



.paticka_telefon,
.paticka_info_telefon_email {
  text-decoration: none !important;
}


/* Funkcni nacitani katalogu bez chybnych odkazu na strany. */
.strankovani { display: none !important; }
