/*
Theme Name: HUSHI
Theme URI: https://hushi.cz
Description: Potomek šablony Kadence pro e-shop HUSHI.
Author: HUSHI
Template: kadence
Version: 1.0.0
Text Domain: hushi-child
*/

/* ----------------------------------------------------------------------
   POZOR — tahle verze style.css obsahuje VŠECHNY styly přímo v sobě.

   Použijte ji, když nemůžete nahrávat soubory přes FTP. Vložíte ji celou
   do Vzhled → Editor souborů šablony → style.css a je hotovo.

   Když soubory nahrávat můžete, je čistší nechat style.css krátký
   a styly mít v assets/hushi-eshop.css. Nepoužívejte obojí najednou,
   načetlo by se to dvakrát.
   ---------------------------------------------------------------------- */

/* ======================================================================
   1. PROMĚNNÉ
   ====================================================================== */

:root {
  --hs-ink:      #2c2c2a;
  --hs-muted:    #666666;
  --hs-faint:    #888888;
  --hs-light:    #999999;
  --hs-line:     #e5e0dc;   /* linky — sladěno s vaší verzí podkategorií */
  --hs-line-2:   #b9a89c;   /* linka při najetí */
  --hs-soft:     #faf9f7;
  --hs-green:    #3b6d11;
  --hs-green-bg: #eaf3de;
  --hs-amber:    #854f0b;
  --hs-amber-bg: #faeeda;

  --hs-pink: var(--global-palette1, #c7949c);

  /* Hranatý design. Kdybyste chtěl zaoblení vrátit, stačí změnit tady. */
  --hs-radius:    0px;
  --hs-radius-sm: 0px;

  --hs-gap:   14px;
  --hs-block: 2.5rem;
}


/* ======================================================================
   2. TLAČÍTKA
   ----------------------------------------------------------------------
   Jednotný tvar napříč e-shopem. Odsazení a písmo nechte v nastavení
   Kadence, tady je jen tvar, verzálky a chování při najetí.
   ====================================================================== */

.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.kb-button {
  border-radius: 0;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 600;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

/* Hlavní tlačítko */
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit {
  background: var(--hs-ink);
  border: 1px solid var(--hs-ink);
  color: #fff;
}

.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit:hover {
  background: var(--hs-pink);
  border-color: var(--hs-pink);
  color: #fff;
}

/* Druhotné tlačítko — obrys */
.woocommerce a.button:not(.alt):not(.add_to_cart_button),
.woocommerce button.button:not(.alt) {
  background: #fff;
  border: 1px solid var(--hs-line);
  color: var(--hs-ink);
}

.woocommerce a.button:not(.alt):not(.add_to_cart_button):hover,
.woocommerce button.button:not(.alt):hover {
  border-color: var(--hs-pink);
  color: var(--hs-pink);
  background: #fff;
}


/* ======================================================================
   3. SDÍLENÉ PRVKY
   ====================================================================== */

.hs-badge {
  display: inline-block;
  background: var(--hs-green-bg);
  color: var(--hs-green);
  font-size: 0.85rem;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: var(--hs-radius-sm);
}

.hs-card {
  background: var(--hs-soft);
  border: 1px solid var(--hs-line);
  border-radius: var(--hs-radius);
  padding: 1.1rem 1.25rem;
}

.hs-eyebrow {
  display: block;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--hs-light);
  margin-bottom: 3px;
}


/* ======================================================================
   4. MENU
   ----------------------------------------------------------------------
   Hlavní položky dostanou podtržení při najetí, rozbalovací nabídka
   je znatelně větší a čitelnější.
   ====================================================================== */

/* --- Hlavní úroveň --- */
.header-navigation .header-menu-container > ul > li > a {
  letter-spacing: 0.06em;
  position: relative;
}

.header-navigation .header-menu-container > ul > li > a .nav-drop-title-wrap,
.header-navigation .header-menu-container > ul > li > a > span {
  position: relative;
}

.header-navigation .header-menu-container > ul > li > a .nav-drop-title-wrap::after,
.header-navigation .header-menu-container > ul > li:not(.menu-item-has-children) > a > span::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -5px;
  height: 2px;
  background: currentColor;
  transform: scaleX(0);
  transition: transform 0.25s ease;
}

.header-navigation .header-menu-container > ul > li:hover > a .nav-drop-title-wrap::after,
.header-navigation .header-menu-container > ul > li.current-menu-item > a .nav-drop-title-wrap::after,
.header-navigation .header-menu-container > ul > li:hover > a > span::after,
.header-navigation .header-menu-container > ul > li.current-menu-item > a > span::after {
  transform: scaleX(1);
}

/* --- Rozbalovací nabídka ---
   Odkaz musí vyplnit celou šířku položky, jinak podbarvení při najetí
   končí v půlce. Linky patří na odkaz, ne na <li> — to je širší než
   nabídka a linky by přetékaly ven.
   -------------------------------------------------------------------- */
.header-navigation .header-menu-container ul ul.sub-menu {
  min-width: 250px;
  padding: 0;
  border: 1px solid var(--hs-line);
  border-radius: 0;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.1);
  background: #fff;
  overflow: hidden;
}

.header-navigation .header-menu-container ul ul.sub-menu li {
  width: 100%;
  border: 0;
}

.header-navigation .header-menu-container ul ul.sub-menu li > a {
  display: block;
  width: 100%;
  padding: 13px 22px;
  border-bottom: 1px solid var(--hs-line);
  font-size: 0.95rem;
  line-height: 1.35;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0.01em;
  color: var(--hs-ink);
  transition: background-color 0.15s ease, color 0.15s ease;
}

.header-navigation .header-menu-container ul ul.sub-menu li:last-child > a {
  border-bottom: 0;
}

/* !important je tu kvůli tomu, že Kadence vysází barvy rozbalovacího
   menu jako vložený styl z nastavení. Když si barvy nastavíte přímo
   v Přizpůsobit → Hlavička → Navigace → Dropdown, můžete tyhle dva
   řádky smazat. */
.header-navigation .header-menu-container ul ul.sub-menu li > a:hover,
.header-navigation .header-menu-container ul ul.sub-menu li > a:focus-visible {
  background: var(--hs-soft) !important;
  color: var(--hs-green) !important;
}

/* --- Mobilní menu --- */
.mobile-navigation ul li a {
  font-size: 1rem;
  padding-top: 15px;
  padding-bottom: 15px;
}

.mobile-navigation ul ul.sub-menu li a {
  font-size: 0.95rem;
  text-transform: none;
}


/* ======================================================================
   5. HLAVIČKA KATEGORIE A PODKATEGORIE
   ====================================================================== */

.product-archive-hero-section .archive-description {
  max-width: 68ch;
  margin-left: auto;
  margin-right: auto;
}

.product-archive-hero-section .archive-description p {
  font-size: 1.02rem;
  line-height: 1.65;
}

/* --- Výpis podkategorií ---
   Pevná mřížka pěti sloupců, na užších displejích tři a dva.
   Mezera 1px prosvítá podkladem, proto vznikne mezi sousedy přesně jedna
   linka místo dvou slepených rámečků.
   -------------------------------------------------------------------- */
.hs-subcats {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1px;
  background: var(--hs-line);
  border: 1px solid var(--hs-line);
  margin: 28px 0 0;
}

/* Vytáhnout blok širší, než je běžný sloupec obsahu, aby se do jednoho
   řádku pohodlně vešlo i pět delších názvů (např. PYŽAMOŽROUTI). Jen
   na širších obrazovkách (na tabletu/mobilu se řeší 3, resp. 2
   sloupce, tam se to do běžné šířky vejde bez problému). left + transform
   vycentruje blok bez ohledu na to, jak široký je nadřazený sloupec. */
@media (min-width: 1001px) {
  .hs-subcats {
    width: 75vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }
}

.hs-subcats a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  /* Basis je schválně menší než cílová šířka (1/5, 1/3, 1/2) — dává
     to flexboxu rezervu, aby se kvůli zaokrouhlení na desétiny pixelu
     nerozhodl zalomit řádek už u přesně pěti položek. Grow pak stejně
     dorovná každou položku na stejnou šířku a vyplní celý řádek bez
     ohledu na to, kolik podkategorií skutečně je — takže žádné
     prazdné/podbarvené pole už nikdy nevznikne. */
  flex: 1 1 19%;
  min-height: 64px;
  padding: 14px 16px;
  background: #fff;
  color: var(--hs-ink);
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1.25;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}

/* Šipka vpravo — poskládaná z okrajů, nezávislá na písmu */
.hs-subcats a::after {
  content: "";
  flex: 0 0 auto;
  width: 7px;
  height: 7px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
  opacity: 0.3;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.hs-subcats a:hover,
.hs-subcats a:focus-visible {
  background: var(--hs-ink);
  color: #fff;
  text-decoration: none;
}

.hs-subcats a:hover::after,
.hs-subcats a:focus-visible::after {
  opacity: 1;
  transform: rotate(45deg) translate(3px, -3px);
}

@media (max-width: 1000px) {
  .hs-subcats a { flex-basis: 30%; }
}

@media (max-width: 640px) {
  .hs-subcats a {
    flex-basis: 45%;
    min-height: 54px;
    padding: 12px 14px;
    font-size: 0.74rem;
    letter-spacing: 0.04em;
  }
}


/* ======================================================================
   6. VÝPIS PRODUKTŮ
   ====================================================================== */

ul.products.grid-cols { gap: var(--hs-gap); }

ul.products li.product {
  border-radius: var(--hs-radius);
  overflow: hidden;
  border: 1px solid var(--hs-line);
  background: #fff;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

ul.products li.product:hover {
  border-color: var(--hs-line-2);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.07);
}

ul.products li.product .woocommerce-loop-image-link {
  display: block;
  overflow: hidden;
  background: var(--hs-soft);
}

ul.products li.product .woocommerce-loop-image-link img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.5s ease;
}

ul.products li.product:hover .woocommerce-loop-image-link img {
  transform: scale(1.04);
}

/* Štítek Sleva */
ul.products li.product .onsale,
.wc-block-grid__product-onsale {
  background: var(--hs-green-bg);
  color: var(--hs-green);
  border: 0;
  border-radius: var(--hs-radius-sm);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 5px 11px;
  min-width: 0;
  min-height: 0;
  line-height: 1.3;
}

ul.products li.product .product-details { padding: 16px 18px 18px; }

ul.products li.product .woocommerce-loop-product__title {
  font-size: 0.95rem;
  line-height: 1.35;
  margin: 0 0 6px;
}

ul.products li.product .woocommerce-loop-product__title a {
  text-decoration: none;
  color: var(--hs-ink);
}

ul.products li.product .woocommerce-loop-product__title a:hover {
  color: var(--hs-pink);
}

ul.products li.product .price {
  display: block;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--hs-ink);
  margin-bottom: 12px;
}

ul.products li.product .price del {
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--hs-faint);
  margin-right: 6px;
  opacity: 1;
}

ul.products li.product .price ins {
  text-decoration: none;
  color: var(--hs-green);
}

ul.products li.product .product-action-wrap .button {
  width: 100%;
  justify-content: center;
  font-size: 0.78rem;
  padding-top: 13px;
  padding-bottom: 13px;
  border-radius: 0;
}


/* ======================================================================
   7. STRÁNKOVÁNÍ
   ====================================================================== */

.woocommerce-pagination ul.page-numbers {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  border: 0;
  padding: 0;
}

.woocommerce-pagination ul.page-numbers li { border: 0; }

.woocommerce-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 12px;
  border: 1px solid var(--hs-line);
  border-radius: var(--hs-radius);
  background: #fff;
  color: var(--hs-ink);
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.woocommerce-pagination .page-numbers:hover {
  border-color: var(--hs-pink);
  color: var(--hs-pink);
}

.woocommerce-pagination .page-numbers.current {
  background: var(--hs-ink);
  border-color: var(--hs-ink);
  color: #fff;
}

.woocommerce-pagination .page-numbers.dots {
  border-color: transparent;
  background: transparent;
}


/* ======================================================================
   8. DETAIL PRODUKTU
   ====================================================================== */

/* --- Galerie --- */
.woocommerce div.product .woocommerce-product-gallery__image img {
  border-radius: var(--hs-radius);
}

.woocommerce div.product .flex-control-thumbs li img {
  border-radius: var(--hs-radius);
  border: 1px solid transparent;
  transition: border-color 0.2s ease, opacity 0.2s ease;
}

.woocommerce div.product .flex-control-thumbs li img.flex-active,
.woocommerce div.product .flex-control-thumbs li img:hover {
  border-color: var(--hs-pink);
  opacity: 1;
}

/* --- Souhrn --- */
.woocommerce div.product .summary .product_title { margin-bottom: 10px; }

.woocommerce div.product .summary > p.price {
  font-size: 1.7rem;
  font-weight: 700;
  color: var(--hs-ink);
  margin-bottom: 18px;
}

.woocommerce div.product .summary > p.price del {
  font-size: 1.05rem;
  font-weight: 500;
  color: var(--hs-faint);
  opacity: 1;
  margin-right: 8px;
}

.woocommerce div.product .summary > p.price ins {
  text-decoration: none;
  color: var(--hs-green);
}

.woocommerce div.product .woocommerce-product-details__short-description {
  font-size: 1rem;
  line-height: 1.7;
  color: var(--hs-muted);
  padding-bottom: 18px;
  margin-bottom: 18px;
  border-bottom: 1px solid var(--hs-line);
}

/* Skladem / vyprodáno */
.woocommerce div.product .summary p.stock {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 0.85rem;
  font-weight: 600;
  padding: 5px 13px;
  border-radius: var(--hs-radius-sm);
  margin-bottom: 16px;
}

.woocommerce div.product .summary p.stock.in-stock {
  background: var(--hs-green-bg);
  color: var(--hs-green);
}

.woocommerce div.product .summary p.stock.out-of-stock {
  background: var(--hs-amber-bg);
  color: var(--hs-amber);
}

/* --- Množství a tlačítko --- */
.woocommerce div.product form.cart {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 10px;
  margin-bottom: 20px;
}

.woocommerce div.product form.cart .quantity {
  flex: 0 0 auto;
  margin: 0;
}

.woocommerce div.product form.cart .quantity .qty {
  height: 100%;
  min-height: 56px;
  width: 84px;
  border: 1px solid var(--hs-line);
  border-radius: 0;
  background: #fff;
  font-size: 1rem;
  font-weight: 600;
  text-align: center;
  color: var(--hs-ink);
}

.woocommerce div.product form.cart .single_add_to_cart_button {
  flex: 1 1 220px;
  min-height: 56px;
  border-radius: 0;
}

/* --- Benefity pod tlačítkem ---
   Obsah se plní v nastavení: WooCommerce → Product Layout → Product Extras.
   Očekávaná struktura:
     <p class="spe-highlight">Doprava zdarma na objednávky nad 2 200 Kč!</p>
     <ul><li>Ruční výroba…</li><li>Certifikované materiály…</li></ul>
   -------------------------------------------------------------------- */
.woocommerce div.product .single-product-extras {
  background: var(--hs-soft);
  border: 1px solid var(--hs-line);
  border-radius: var(--hs-radius);
  padding: 16px 18px;
  font-size: 0.92rem;
  color: var(--hs-muted);
}

.woocommerce div.product .single-product-extras .spe-highlight {
  display: inline-block;
  background: var(--hs-green-bg);
  color: var(--hs-green);
  font-size: 0.85rem;
  font-weight: 700;
  padding: 6px 14px;
  margin: 0 0 14px;
  border-radius: var(--hs-radius-sm);
}

.woocommerce div.product .single-product-extras ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Odrážka (tečka) byla schválně odstraněna — položky mají vlastní
   ikonu z Kadence (.kadence-svg-icon), tečka navíc by dělala dva
   symboly vedle sebe. Řádek je teď flex: ikona vlevo, text vedle ní. */
.woocommerce div.product .single-product-extras li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 8px;
  line-height: 1.5;
}

.woocommerce div.product .single-product-extras li:last-child { margin-bottom: 0; }

.woocommerce div.product .single-product-extras .kadence-svg-icon {
  flex-shrink: 0;
  color: var(--hs-green);
  margin-top: 0.15em; /* opticky srovná ikonu s první řádkou textu */
}

/* --- Záložky --- */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 0;
  margin: 0 0 26px;
  border-bottom: 1px solid var(--hs-line);
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent;
  border: 0;
  border-radius: 0;
  margin: 0;
  padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 12px 20px;
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--hs-faint);
  border-bottom: 2px solid transparent;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--hs-ink); }

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--hs-ink);
  border-bottom-color: var(--hs-pink);
}

.woocommerce div.product .woocommerce-Tabs-panel {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--hs-muted);
}

.woocommerce div.product .woocommerce-Tabs-panel h3 {
  margin-top: 1.8em;
  margin-bottom: 0.6em;
}

.woocommerce div.product .woocommerce-Tabs-panel ul {
  padding-left: 0;
  list-style: none;
}

.woocommerce div.product .woocommerce-Tabs-panel ul li {
  position: relative;
  padding-left: 22px;
  margin-bottom: 9px;
}

.woocommerce div.product .woocommerce-Tabs-panel ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.68em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--hs-green);
}

/* --- Tabulka parametrů --- */
.woocommerce div.product table.shop_attributes {
  border: 1px solid var(--hs-line);
  border-radius: var(--hs-radius);
  border-collapse: collapse;
  width: 100%;
}

.woocommerce div.product table.shop_attributes tr:nth-child(odd) th,
.woocommerce div.product table.shop_attributes tr:nth-child(odd) td {
  background: var(--hs-soft);
}

.woocommerce div.product table.shop_attributes th,
.woocommerce div.product table.shop_attributes td {
  border: 0;
  border-bottom: 1px solid var(--hs-line);
  padding: 13px 18px;
  font-style: normal;
  line-height: 1.5;
}

.woocommerce div.product table.shop_attributes tr:last-child th,
.woocommerce div.product table.shop_attributes tr:last-child td {
  border-bottom: 0;
}

.woocommerce div.product table.shop_attributes th {
  width: 38%;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--hs-light);
}

.woocommerce div.product table.shop_attributes td {
  font-size: 0.95rem;
  color: var(--hs-ink);
}

.woocommerce div.product table.shop_attributes td p { margin: 0; }

/* --- Recenze --- */
.woocommerce div.product .woocommerce-Reviews .woocommerce-noreviews,
.woocommerce div.product .woocommerce-Reviews .woocommerce-verification-required {
  background: var(--hs-soft);
  border: 1px solid var(--hs-line);
  border-radius: var(--hs-radius);
  padding: 14px 18px;
  font-size: 0.92rem;
  color: var(--hs-muted);
}

/* --- Související produkty --- */
.woocommerce div.product section.related > h2,
.woocommerce div.product section.upsells > h2 {
  padding-bottom: 12px;
  border-bottom: 1px solid var(--hs-line);
  margin-bottom: 26px;
}

/* --- Drobečky --- */
.kadence-breadcrumbs {
  font-size: 0.82rem;
  color: var(--hs-faint);
}

.kadence-breadcrumbs a {
  color: var(--hs-faint);
  text-decoration: none;
}

.kadence-breadcrumbs a:hover {
  color: var(--hs-green);
  text-decoration: underline;
  text-underline-offset: 2px;
}


/* ======================================================================
   9. OBSAHOVÉ BLOKY
   ====================================================================== */

.hushi-cc,
.hushi-dp,
.hushi-vnm,
.hushi-vnm-cta,
.hushi-gdpr,
.hushi-cats,
.hushi-duo,
.hushi-banner,
#cmplz-document {
  max-width: var(--global-calc-content-width, 1242px);
  margin-left: auto;
  margin-right: auto;
}

.hushi-cats,
.hushi-duo,
.hushi-banner {
  margin-top: var(--hs-block);
  margin-bottom: var(--hs-block);
}

.hushi-cc,
.hushi-dp,
.hushi-gdpr,
#cmplz-document { max-width: 840px; }

.hushi-hero,
.hushi-wide { max-width: none; }

/* Hranaté dlaždice i v mých blocích */
.hushi-cats .k-tile,
.hushi-duo .b-card,
.hushi-banner .b-card,
.hushi-cc .cc-card,
.hushi-cc .cc-panel,
.hushi-cc .cc-callout,
.hushi-vnm .vnm-terms,
.hushi-vnm-cta .vnm-cta,
.hushi-gdpr .g-controller,
.hushi-gdpr .g-card,
.hushi-gdpr .g-info {
  border-radius: var(--hs-radius);
}


/* ======================================================================
   10. KOŠÍK, POKLADNA, FORMULÁŘE
   ----------------------------------------------------------------------
   Tyto stránky jsem zatím neviděl — po nasazení projděte a napište.
   ====================================================================== */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-top: 0;
  border-radius: var(--hs-radius);
  border: 1px solid var(--hs-line);
  background: var(--hs-soft);
  color: var(--hs-muted);
  font-size: 0.92rem;
}

.woocommerce-message { border-left: 3px solid var(--hs-green); }
.woocommerce-message::before { color: var(--hs-green); }

.woocommerce-error {
  border-left: 3px solid #b82105;
  background: #fdf1ef;
}

.woocommerce table.shop_table {
  border: 1px solid var(--hs-line);
  border-radius: var(--hs-radius);
  border-collapse: collapse;
}

.woocommerce table.shop_table th {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--hs-light);
  background: var(--hs-soft);
}

.woocommerce table.shop_table td { border-top: 1px solid var(--hs-line); }

.woocommerce .cart_totals,
.woocommerce-checkout #order_review {
  background: var(--hs-soft);
  border: 1px solid var(--hs-line);
  border-radius: var(--hs-radius);
  padding: 1.25rem 1.4rem;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single {
  border: 1px solid var(--hs-line);
  border-radius: var(--hs-radius);
  padding: 12px 14px;
  font-size: 0.95rem;
  background: #fff;
  color: var(--hs-ink);
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color: var(--hs-pink);
  outline: none;
  box-shadow: 0 0 0 3px rgba(199, 148, 156, 0.18);
}

.woocommerce form .form-row label {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--hs-ink);
  margin-bottom: 5px;
}


/* ======================================================================
   11. COOKIES
   ====================================================================== */

/* --- Stránka se zásadami ---
   Pozor: Complianz dává třídu cmplz-document i na <body> stránky,
   ne jen na vnitřní <div id="cmplz-document">. Proto tu musí být ID
   selektor (#), jinak by tahle pravidla zasáhla celou stránku včetně
   hlavičky a patičky. */
#cmplz-document a { color: var(--hs-green); }

#cmplz-document > p:first-child em,
#cmplz-document .cmplz-subtitle {
  font-style: normal;
  font-size: 0.9em;
  color: var(--hs-faint);
}

#cmplz-document h5,
#cmplz-document h6 {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--hs-light);
  margin-bottom: 0.15rem;
}

#cmplz-document .cmplz-service {
  background: var(--hs-soft);
  border: 1px solid var(--hs-line);
  border-radius: var(--hs-radius);
  padding: 1rem 1.1rem;
  margin-bottom: 12px;
}

#cmplz-document .cmplz-sync-date {
  font-size: 0.85rem;
  color: var(--hs-light);
}

/* --- Lišta --- */
#cmplz-cookiebanner-container .cmplz-cookiebanner {
  border: 1px solid var(--hs-line);
  border-radius: var(--hs-radius);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12);
  background: #fff;
}

#cmplz-cookiebanner-container .cmplz-header .cmplz-title {
  font-weight: 700;
  color: var(--hs-ink);
}

#cmplz-cookiebanner-container .cmplz-body .cmplz-message { color: var(--hs-muted); }

#cmplz-cookiebanner-container .cmplz-categories .cmplz-category {
  background: var(--hs-soft);
  border: 1px solid var(--hs-line);
  border-radius: var(--hs-radius);
}

#cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn.cmplz-accept {
  background: var(--hs-ink);
  color: #fff;
  border: 1px solid var(--hs-ink);
  border-radius: 0;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 0.04em;
  transition: background 0.2s ease, border-color 0.2s ease;
}

#cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn.cmplz-accept:hover {
  background: var(--hs-pink);
  border-color: var(--hs-pink);
}

#cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn.cmplz-deny,
#cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn.cmplz-view-preferences,
#cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn.cmplz-save-preferences {
  background: #fff;
  color: var(--hs-ink);
  border: 1px solid var(--hs-line);
  border-radius: 0;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 0.04em;
  transition: border-color 0.2s ease, color 0.2s ease;
}

#cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn.cmplz-deny:hover,
#cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn.cmplz-view-preferences:hover,
#cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn.cmplz-save-preferences:hover {
  border-color: var(--hs-pink);
  color: var(--hs-pink);
}

#cmplz-cookiebanner-container .cmplz-links a { color: var(--hs-muted); }
#cmplz-cookiebanner-container .cmplz-links a:hover { color: var(--hs-green); }

.cmplz-manage-consent {
  background: var(--hs-soft);
  border: 1px solid var(--hs-line);
  color: var(--hs-muted);
  border-radius: 0;
  font-size: 0.8rem;
}

.cmplz-manage-consent:hover { color: var(--hs-green); }


/* ======================================================================
   12. DROBNOSTI
   ====================================================================== */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--hs-green);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}


/* ======================================================================
   ZÁLOŽNÍ PRAVIDLA — použít jen když volba chybí v nastavení
   ----------------------------------------------------------------------
   Server tyto prvky stejně vygeneruje, jen je nebude vidět. Proto je
   lepší vypnout je v Přizpůsobit. Když je tam nenajdete, odkomentujte.
   ====================================================================== */

/*
.woocommerce-products-header,
.archive .woocommerce-ordering,
.archive .woocommerce-result-count,
.product-archive-hero-section .kadence-breadcrumbs { display: none; }

.woocommerce div.product .product_meta { display: none; }
*/

/* ===== Společné - odsazení druhého badge, aby se nepřekrýval ===== */

/* Ve výpisu produktů - vpravo nahoře */
ul.products li.product.product_tag-limitovana-edice,
ul.products li.product.product_tag-krauzovi-na-cestach {
  position: relative;
}

ul.products li.product.product_tag-limitovana-edice::before {
  content: "Limitovaná edice";
  position: absolute;
  top: 10px;
  right: 10px;
  background: #c0392b;
  color: #fff;
  font-size: 11px;
  font-weight: bold;
  padding: 4px 8px;
  border-radius: 4px;
  z-index: 10;
  pointer-events: none;
}

ul.products li.product.product_tag-krauzovi-na-cestach::after {
  content: "Krauzovi na cestách";
  position: absolute;
  top: 10px;
  right: 10px;
  background: #2980b9;
  color: #fff;
  font-size: 11px;
  font-weight: bold;
  padding: 4px 8px;
  border-radius: 4px;
  z-index: 10;
  pointer-events: none;
}

/* Pokud má produkt oba štítky zároveň, posuňte druhý badge níž */
ul.products li.product.product_tag-limitovana-edice.product_tag-krauzovi-na-cestach::after {
  top: 38px;
}

/* ===== Na detailu produktu - vlevo nahoře ===== */

div.product.product_tag-limitovana-edice .woocommerce-product-gallery,
div.product.product_tag-krauzovi-na-cestach .woocommerce-product-gallery {
  position: relative;
}

div.product.product_tag-limitovana-edice .woocommerce-product-gallery::before {
  content: "Limitovaná edice";
  position: absolute;
  top: 10px;
  left: 10px;
  background: #c0392b;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  padding: 5px 10px;
  border-radius: 4px;
  z-index: 10;
  pointer-events: none;
}

div.product.product_tag-krauzovi-na-cestach .woocommerce-product-gallery::after {
  content: "Krauzovi na cestách";
  position: absolute;
  top: 10px;
  left: 10px;
  background: #000;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  padding: 5px 10px;
  border-radius: 4px;
  z-index: 10;
  pointer-events: none;
}

/* Pokud má produkt oba štítky zároveň na detailu, posuňte druhý badge níž */
div.product.product_tag-limitovana-edice.product_tag-krauzovi-na-cestach .woocommerce-product-gallery::after {
