/* =====================================================================
   PF theme — vzhled podle printform.studio pro Shoptet šablonu Classic (11)
   Soubor:  /user/documents/pf/pf-theme.css
   Párový skript: /user/documents/pf/pf-theme.js
   ===================================================================== */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600&display=swap");

:root {
  --pf-bg: #ffffff;           /* pozadí obchodu */
  --pf-fg: #2c2420;
  --pf-fg-80: rgba(44, 36, 32, .8);
  --pf-fg-70: rgba(44, 36, 32, .7);
  --pf-muted: rgba(44, 36, 32, .65);
  --pf-line: rgba(44, 36, 32, .1);
  --pf-surface: #f9f5f1;      /* podklad fotek produktů, kategorií a pruh výhod */
  --pf-white: #ffffff;
  --pf-accent: #d17c5d;
  --pf-btn: #000000;          /* tlačítka */
  --pf-btn-hover: #2b2b2b;
  --pf-radius: 16px;
  --pf-radius-lg: 24px;
  --pf-heading: "Playfair Display", Georgia, "Times New Roman", serif;
  --pf-body: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --pf-max: 1600px;
  --pf-gutter: 20px;
}
@media (min-width: 640px)  { :root { --pf-gutter: 32px; } }
@media (min-width: 1024px) { :root { --pf-gutter: 48px; } }

/* ---------- Základ ---------- */
html body,
html body .overall-wrapper,
html body .content-wrapper,
html body .content-wrapper-in,
html body #content {
  background: var(--pf-bg) !important;
  color: var(--pf-fg);
  font-family: var(--pf-body);
}
html body { font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased; }

html body .container {
  width: 100% !important;
  max-width: var(--pf-max) !important;
  padding-left: var(--pf-gutter) !important;
  padding-right: var(--pf-gutter) !important;
}

html body h1, html body h2, html body h3, html body h4,
html body .h1, html body .h2, html body .h3, html body .h4,
html body .category-title,
html body .homepage-group-title,
html body .products-top-header,
html body .pageElement__heading {
  font-family: var(--pf-heading) !important;
  font-weight: 400 !important;
  color: var(--pf-fg) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

html body a { color: var(--pf-fg); }
html body a:hover { color: var(--pf-accent); }
html body p, html body li, html body label { color: inherit; }

/* ---------- Horní lišta (printform ji nemá → na desktopu skrytá, přihlášení přesouvá JS do hlavičky) ---------- */
@media (min-width: 1200px) {
  html body .top-navigation-bar { display: none !important; }
}
html body .top-navigation-bar {
  background: var(--pf-white) !important;
  border-bottom: 1px solid var(--pf-line) !important;
  color: var(--pf-fg) !important;
}
html body .top-navigation-bar a,
html body .top-navigation-bar strong,
html body .top-navigation-bar button { color: var(--pf-fg) !important; background: transparent !important; }

/* ---------- Hlavička ---------- */
html body #header .navigation-wrapper,
html body #header .header-top {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
@media (min-width: 1200px) {
  html body #header {
    background: var(--pf-white) !important;
    border-bottom: 1px solid var(--pf-line) !important;
    box-shadow: none !important;
    position: sticky;
    top: 0;
    z-index: 1000;
  }
  html body #navigation,
  html body #navigation .navigation-in { background: transparent !important; border: 0 !important; box-shadow: none !important; }
}

/* Mobil: Shoptet má logo a ikony v pevné horní liště, #header nesmí zabírat místo */
@media (max-width: 1199px) {
  html body #header { border-bottom: 0 !important; margin-bottom: 0 !important; background: transparent !important; box-shadow: none !important; } /* pozici (fixed) nechává Shoptet */
  html body #header .navigation-buttons .btn.cart-count { position: absolute !important; } /* Shoptet ho posazuje do horní lišty */
  html body #header .site-name a img { height: 34px !important; max-height: 34px !important; margin-top: 8px; }
  html body #header .header-top,
  html body #header .navigation-buttons { height: 0 !important; min-height: 0 !important; overflow: visible !important; }
  html body #navigation,
  html body #navigation .navigation-in { background: var(--pf-white) !important; }
  html body #navigation .menu-level-1 { display: block !important; }
  html body #navigation .menu-level-1 > li { border-bottom: 1px solid var(--pf-line) !important; }
  html body #navigation .menu-level-1 > li > a { display: block; padding: 14px 20px !important; }
}
/* Logo: SVG bez pevné šířky by se jinak smrsklo na 0 px – proto pevná výška */
html body #header .site-name a { display: block; }
html body #header .site-name img { height: 48px !important; max-height: 48px !important; width: auto !important; max-width: none !important; }
html body #header .site-name a { color: var(--pf-fg) !important; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }

/* Desktop: logo | menu | ikony — jeden řádek jako printform (h-24).
   Pozor: Shoptet má .navigation-in absolutně a podle šířky #navigation
   přesouvá položky do „Více“ (.menu-helper) — #navigation proto musí mít šířku. */
@media (min-width: 1200px) {
  html body #header .navigation-wrapper {
    display: flex !important;
    align-items: center;
    gap: 24px;
    min-height: 96px;
    position: relative;
  }
  html body #header .header-top { display: contents !important; }
  html body #header .site-name-wrapper { order: 1; flex: 0 0 auto; width: auto !important; padding: 0 !important; margin: 0 !important; }
  html body #header #navigation {
    order: 2;
    flex: 1 1 auto;
    min-width: 0;
    width: auto !important;
    height: 48px !important;
    margin: 0 !important;
    position: relative !important;
    overflow: visible !important;
    background: transparent !important;
  }
  html body #header #navigation .navigation-in { position: static !important; width: auto !important; height: auto !important; }
  html body #header #navigation .menu-level-1 { width: auto !important; flex-wrap: wrap !important; justify-content: center; }
  /* Shoptet po načtení měří menu ještě v původním rozvržení a položky schová do „Více“.
     Jeho přepočet vypínáme: všechny položky zůstanou v menu, „Více“ se nezobrazí. */
  html body #header #navigation .menu-level-1 > li { display: block !important; visibility: visible !important; width: auto !important; }
  html body #header .menu-helper { display: none !important; }
  html body #header #navigation .menu-level-1 > li > a { white-space: nowrap; }
  html body #header .menu-helper { order: 3; flex: 0 0 auto; position: relative !important; }
  html body #header .navigation-buttons {
    order: 4;
    flex: 0 0 auto;
    display: flex !important;
    align-items: center;
    gap: 4px;
    position: static !important;
  }
  /* vyhledávání: schované, rozbalí ho ikona lupy (JS) */
  html body #header .search {
    position: absolute !important;
    top: 100%;
    left: 0; right: 0;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 16px var(--pf-gutter) !important;
    background: var(--pf-white) !important;
    border-bottom: 1px solid var(--pf-line);
    display: none !important;
  }
  html body.pf-search-open #header .search { display: block !important; }
  html body #header .search form { max-width: 640px; margin: 0 auto; }
}

/* Menu 1. úrovně */
html body #navigation .menu-level-1 { background: transparent !important; gap: 0; }
@media (min-width: 1200px) { html body #navigation .menu-level-1 { display: flex; } }

/* „Více“ (.menu-helper) — Shoptet sem přesune položky, které se nevejdou */
@media (min-width: 1200px) {
  html body #header .menu-helper:not(.visible) { display: none !important; }
  html body #header .menu-helper > span {
    display: inline-flex !important; align-items: center; justify-content: center;
    width: auto !important; height: 40px !important; padding: 0 14px !important;
    background: transparent !important; border-radius: 999px;
    font-size: 16px !important; line-height: 40px !important; text-indent: 0 !important;
    cursor: pointer;
  }
  html body #header .menu-helper { color: var(--pf-fg) !important; top: auto !important; right: auto !important; bottom: auto !important; left: auto !important; margin: 0 !important; }
  html body #header .menu-helper::after { display: none !important; } /* modrý čtverec Shoptetu */
  html body #header .menu-helper > span::before { display: none !important; }
  html body #header .menu-helper > span::after {
    content: ""; display: inline-block !important;
    width: 6px; height: 6px; margin-left: 8px;
    border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
    background: none !important;
  }
  html body #header .menu-helper > span:hover { background: #f4f4f5 !important; color: var(--pf-accent) !important; }
  html body #header .menu-helper > ul { display: none !important; right: 0; left: auto !important; min-width: 220px; flex-direction: column; }
  html body #header .menu-helper:hover > ul,
  html body #header .menu-helper:focus-within > ul { display: flex !important; }
  /* v „Více“ má třídu .splitted to, co je vidět v hlavním menu */
  html body #header .menu-helper > ul > li.splitted { display: none !important; }
  html body #header .menu-helper > ul .menu-level-2 { display: none !important; }
}
html body .menu-level-1 > li { background: transparent !important; border: 0 !important; }
html body .menu-level-1 > li > a,
html body .menu-level-1 > li > a b,
html body .menu-helper > span {
  font-family: var(--pf-body) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: rgba(44, 36, 32, .9) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  background: transparent !important;
  text-decoration: none !important;
}
@media (min-width: 1200px) {
  html body .menu-level-1 > li > a { padding: 12px 14px !important; line-height: 24px !important; height: auto !important; }
}
html body .menu-level-1 > li > a:hover,
html body .menu-level-1 > li > a:hover b,
html body .menu-level-1 > li.active > a b,
html body .menu-level-1 > li.exp > a b { color: var(--pf-accent) !important; }
html body .menu-level-1 .submenu-arrow { display: none !important; }

/* Rozbalovací podmenu */
html body .menu-level-2,
html body .menu-helper ul {
  background: var(--pf-white) !important;
  border: 1px solid var(--pf-line) !important;
  border-radius: var(--pf-radius) !important;
  box-shadow: 0 18px 40px -20px rgba(44, 36, 32, .35) !important;
  padding: 12px !important;
}
html body .menu-level-2 a,
html body .menu-helper ul a {
  color: var(--pf-fg) !important;
  font-family: var(--pf-body) !important;
  font-size: 15px !important;
  text-transform: none !important;
  border-radius: 10px;
}
html body .menu-level-2 a:hover,
html body .menu-helper ul a:hover { background: var(--pf-surface) !important; color: var(--pf-accent) !important; }
html body .menu-level-2 .menu-image img { border-radius: 10px; background: var(--pf-surface); }

/* Ikony vpravo */
html body .navigation-buttons a,
html body .navigation-buttons button,
html body .pf-icon-btn {
  background: transparent !important;
  border: 0 !important;
  color: #52525b !important;
  box-shadow: none !important;
}
html body .navigation-buttons a::before,
html body .navigation-buttons button::before { color: #52525b !important; }
html body .navigation-buttons a:hover::before,
html body .pf-icon-btn:hover { color: var(--pf-fg) !important; }
html body .navigation-buttons .cart-count .cart-price {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--pf-fg) !important;
}
html body .navigation-buttons .cart-count i,
html body .navigation-buttons .cart-count .count {
  background: var(--pf-accent) !important;
  color: #fff !important;
  border-radius: 999px !important;
}
.pf-icon-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 40px; height: 40px;
  border-radius: 999px !important;
  cursor: pointer;
  padding: 0 !important;
  transition: background .2s;
}
.pf-icon-btn:hover { background: #f4f4f5 !important; }
.pf-icon-btn svg { width: 20px; height: 20px; }
@media (max-width: 1199px) { .pf-icon-btn { display: none !important; } }

/* Košík v hlavičce: jen ikona tašky + počet kusů (jako printform), ne hnědé tlačítko */
html body #header .navigation-buttons .btn.cart-count {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 40px !important; height: 40px !important; min-height: 0 !important;
  padding: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #52525b !important;
  letter-spacing: 0 !important;
}
html body #header .navigation-buttons .btn.cart-count:hover { background: #f4f4f5 !important; }
html body #header .navigation-buttons .btn.cart-count .cart-price { display: none !important; }
html body #header .navigation-buttons .btn.cart-count::before {
  content: "" !important;
  width: 20px; height: 20px;
  margin: 0 !important;
  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='black' stroke-width='1.8' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1 12H6z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%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='black' stroke-width='1.8' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1 12H6z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E") center / contain no-repeat;
}
html body #header .navigation-buttons .btn.cart-count i,
html body #header .navigation-buttons .btn.cart-count .count {
  position: absolute !important;
  top: 2px !important; right: 0 !important; left: auto !important;
  min-width: 18px; height: 18px;
  padding: 0 5px !important;
  font-size: 11px !important; font-style: normal; font-weight: 700 !important;
  line-height: 18px !important; text-align: center;
}

/* ---------- Tlačítka ---------- */
html body .btn,
html body a.btn,
html body button.btn,
html body .btn-primary,
html body .btn-conversion,
html body .add-to-cart-button,
html body .btn-cart,
html body input[type="submit"].btn {
  font-family: var(--pf-body) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  background: var(--pf-btn) !important;
  border: 0 !important;
  color: #fff !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  min-height: 44px;
  padding: 12px 28px !important;
  line-height: 20px !important;
  transition: background .2s, filter .2s;
}
html body .btn:hover,
html body .btn-conversion:hover,
html body .add-to-cart-button:hover { background: var(--pf-btn-hover) !important; color: #fff !important; }
html body .btn::before, html body .btn::after { color: inherit !important; }

html body .btn-default,
html body .btn-secondary,
html body .search .btn {
  background: transparent !important;
  color: var(--pf-fg) !important;
  border: 1px solid rgba(44, 36, 32, .25) !important;
}
html body .btn-default:hover,
html body .btn-secondary:hover { border-color: var(--pf-accent) !important; color: var(--pf-accent) !important; background: transparent !important; }

/* ---------- Formuláře ---------- */
html body input[type="text"], html body input[type="email"], html body input[type="search"],
html body input[type="tel"], html body input[type="password"], html body input[type="number"],
html body textarea, html body select, html body .form-control {
  background: var(--pf-white) !important;
  color: var(--pf-fg) !important;
  border: 1px solid rgba(44, 36, 32, .18) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  font-family: var(--pf-body) !important;
}
html body input:focus, html body textarea:focus, html body select:focus, html body .form-control:focus {
  border-color: var(--pf-accent) !important;
  outline: 2px solid rgba(209, 124, 93, .2) !important;
  outline-offset: 0;
}

/* ---------- Karty produktů (výpis, úvod, doporučené) ---------- */
html body .products-block,
html body .products-page {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px 16px;
  margin: 0 !important;
  border: 0 !important;
}
@media (min-width: 640px)  { html body .products-block { gap: 32px; } }
@media (min-width: 1024px) {
  html body.one-column-body .products-block { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  html body.multiple-columns-body .products-block { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
html body .products-block::before, html body .products-block::after { display: none !important; }
html body .products-block > .product {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
html body .products-block .p {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  height: 100%;
  display: flex;
  flex-direction: column;
}
html body .products-block .p:hover { box-shadow: none !important; }
html body .products-block .p .image {
  position: relative;
  display: block !important;
  aspect-ratio: 4 / 5;
  height: auto !important;
  background: var(--pf-surface) !important;
  border-radius: var(--pf-radius) !important;
  overflow: hidden;
  margin: 0 !important;
  padding: 0 !important;
}
html body .products-block .p .image img {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain; /* produktové fotky na bílém – nic neořízne */
  mix-blend-mode: multiply;
  transition: transform .5s ease;
}
html body .products-block .p:hover .image img { transform: scale(1.03); }
html body .products-block .p-in,
html body .products-block .p-in-in,
html body .products-block .p-bottom { padding: 0 !important; background: transparent !important; border: 0 !important; height: auto !important; min-height: 0 !important; }
html body .products-block .p-in { padding-top: 16px !important; flex: 1; display: flex; flex-direction: column; }
html body .products-block .p .name {
  display: block;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  text-decoration: none !important;
}
html body .products-block .p .name span {
  font-family: var(--pf-heading) !important;
  font-size: 18px !important;
  line-height: 1.375 !important;
  font-weight: 400 !important;
  color: var(--pf-fg) !important;
  transition: color .2s;
}
html body .products-block .p:hover .name span { color: var(--pf-accent) !important; }
html body .products-block .ratings-wrapper,
html body .products-block .p-desc,
html body .products-block .p-code,
html body .products-block .availability-amount { display: none !important; }
html body .products-block .p-bottom > div { display: block !important; }
html body .products-block .prices { margin: 6px 0 0 !important; padding: 0 !important; display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; text-align: left !important; }
html body .products-block .price-final,
html body .products-block .price-final strong {
  font-family: var(--pf-body) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--pf-fg) !important;
}
html body .products-block .price-standard,
html body .products-block .price-standard span { font-size: 14px !important; color: rgba(44, 36, 32, .5) !important; }
html body .products-block .price-save { display: none !important; }
/* printform nemá na kartě tlačítko – jen název a cena */
html body .products-block .p-tools { display: none !important; }

/* Štítky (Novinka, Sleva, Tip…) */
html body .flags { top: 12px !important; left: 12px !important; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
html body .flag {
  background: var(--pf-accent) !important;
  color: #fff !important;
  border-radius: 6px !important;
  padding: 4px 8px !important;
  font-family: var(--pf-body) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  line-height: 1.2 !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .08);
  margin: 0 !important;
}
html body .flag.flag-discount, html body .flag.flag-action { background: #18181b !important; }

/* Sleva v % (flags-extra) – malý černý štítek dole */
html body .flags-extra { top: auto !important; bottom: 12px !important; left: 12px !important; }
html body .flags-extra .flag-discount {
  background: #18181b !important;
  width: auto !important; height: auto !important; min-width: 0 !important; min-height: 0 !important;
  padding: 4px 8px !important; border-radius: 6px !important;
  display: inline-flex !important; align-items: center; line-height: 1.2 !important;
}
html body .flags-extra .flag-discount .price-standard { display: none !important; }
html body .flags-extra .flag-discount .price-save { display: inline !important; color: #fff !important; font-size: 11px !important; font-weight: 700; }

/* Zbytky modré barvy Shoptetu */
html body a.name { color: var(--pf-fg) !important; border-color: transparent !important; }
html body a.name:hover { color: var(--pf-accent) !important; }
html body .ui-slider { background: var(--pf-line) !important; border: 0 !important; }
html body .ui-slider .ui-slider-range { background: var(--pf-accent) !important; }
html body .ui-slider .ui-slider-handle { background: #fff !important; border: 2px solid var(--pf-accent) !important; border-radius: 999px !important; }
html body .top-products li::before { background: var(--pf-accent) !important; color: #fff !important; }
html body .cat-trigger::before, html body #categories .cat-trigger { color: var(--pf-accent) !important; }
html body .subcategories li a::before { background: transparent !important; color: var(--pf-fg-70) !important; }

/* Odkazová tlačítka (např. „Podrobnosti hodnocení“) nejsou hnědá pilulka */
html body .btn.btn--link, html body .btn--link {
  background: transparent !important; color: var(--pf-accent) !important;
  border: 0 !important; padding: 0 !important; min-height: 0 !important;
  font-size: 13px !important; font-weight: 500 !important;
  letter-spacing: 0 !important; text-transform: none !important;
  text-decoration: underline !important; text-underline-offset: 3px;
}
html body .btn--link:hover { background: transparent !important; color: var(--pf-btn) !important; }

/* ---------- Úvodní stránka ---------- */
html body.one-column-body main.content { padding-left: 0 !important; padding-right: 0 !important; }
html body.type-index .banners-row,
html body.type-index #carousel,
html body.type-index .homepage-box.before-carousel,
html body.type-index main.content > .benefitBanner { display: none !important; }
html body.type-index #content-wrapper > .content-wrapper-in > #content { min-height: 0 !important; padding: 0 !important; }

html body.type-index .homepage-group-title {
  font-size: 30px !important;
  line-height: 1.2 !important;
  margin: 56px 0 32px !important;
  padding: 0 !important;
  text-align: left !important;
  border: 0 !important;
}
html body.type-index .homepage-group-title::before,
html body.type-index .homepage-group-title::after { display: none !important; }
@media (min-width: 640px) { html body.type-index .homepage-group-title { font-size: 36px !important; } }

html body .welcome-wrapper { background: transparent !important; }
html body .welcome-wrapper .welcome { max-width: 672px; margin: 0 auto; text-align: center; padding: 56px 0; }
html body .welcome-wrapper h1, html body .welcome-wrapper h2 { font-size: 30px !important; }
html body .welcome-wrapper p { color: var(--pf-muted); line-height: 1.75; }

/* ---------- Kategorie ---------- */
html body .sidebar,
html body .sidebar .box,
html body .sidebar-inner { background: transparent !important; border: 0 !important; box-shadow: none !important; }
html body .sidebar .box {
  background: rgba(255, 255, 255, .55) !important;
  border: 1px solid var(--pf-line) !important;
  border-radius: var(--pf-radius) !important;
  padding: 20px !important;
  margin-bottom: 16px !important;
}
html body .sidebar .pageElement__heading { font-size: 20px !important; margin: 0 0 12px !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
html body .sidebar .pageElement__heading span { color: var(--pf-fg) !important; }
html body #categories .topic a,
html body #categories .categories a {
  color: var(--pf-fg-70) !important;
  font-size: 15px !important;
  text-transform: none !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 10px;
}
html body #categories .topic.active > a,
html body #categories a:hover { color: var(--pf-accent) !important; }
html body .sidebar .box-onlinePayments { display: none !important; }

html body .category-title { font-size: clamp(30px, 4vw, 48px) !important; line-height: 1.1 !important; margin: 8px 0 24px !important; }
html body .category-perex, html body .category-perex p { color: var(--pf-muted) !important; line-height: 1.75; }

html body .subcategories { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0 0 32px !important; padding: 0 !important; }
@media (min-width: 1024px) { html body .subcategories { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
html body .subcategories li { width: auto !important; padding: 0 !important; float: none !important; }
html body .subcategories li a {
  display: flex !important;
  align-items: center;
  gap: 12px;
  height: auto !important;
  padding: 10px 14px !important;
  background: var(--pf-white) !important;
  border: 1px solid var(--pf-line) !important;
  border-radius: var(--pf-radius) !important;
  color: var(--pf-fg) !important;
  text-decoration: none !important;
  font-size: 15px;
  transition: border-color .2s, color .2s;
}
html body .subcategories li a:hover { border-color: var(--pf-accent) !important; color: var(--pf-accent) !important; }
html body .subcategories .image { background: var(--pf-surface); border-radius: 10px; overflow: hidden; flex: none; }
html body .subcategories .image img { mix-blend-mode: multiply; }

html body .products-top-wrapper {
  background: rgba(255, 255, 255, .55) !important;
  border: 1px solid var(--pf-line) !important;
  border-radius: var(--pf-radius-lg) !important;
  padding: 24px !important;
  margin-bottom: 32px !important;
}
html body .products-top-header { font-size: 24px !important; margin: 0 0 16px !important; }
html body .products-inline .product { background: transparent !important; border: 0 !important; }
html body .products-inline .image { background: var(--pf-surface) !important; border-radius: 12px; overflow: hidden; }

html body .category-header,
html body .listSorting { background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--pf-line) !important; }
html body .listSorting__controls button,
html body .listSorting__control {
  background: transparent !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: var(--pf-fg-70) !important;
  font-size: 14px !important;
  text-transform: none !important;
}
html body .listSorting__control--current,
html body .listSorting__controls .active { background: var(--pf-fg) !important; color: #fff !important; }

html body .filters, html body .filter-section { background: transparent !important; border-color: var(--pf-line) !important; }
html body .filter-section h4 { font-size: 16px !important; }

html body .pagination a, html body .pagination strong, html body .pagination span {
  border-radius: 999px !important;
  border: 1px solid var(--pf-line) !important;
  background: var(--pf-white) !important;
  color: var(--pf-fg) !important;
}
html body .pagination strong, html body .pagination .current { background: var(--pf-fg) !important; color: #fff !important; border-color: var(--pf-fg) !important; }

/* Drobečková navigace */
html body .breadcrumbs, html body .breadcrumbs a, html body .breadcrumbs span { background: transparent !important; color: var(--pf-muted) !important; font-size: 13px !important; border: 0 !important; }
html body .breadcrumbs a:hover { color: var(--pf-accent) !important; }

/* ---------- Detail produktu ---------- */
html body.type-product .p-detail-inner-header h1 { font-size: clamp(30px, 3.4vw, 44px) !important; line-height: 1.1 !important; }
html body.type-product .p-code { color: var(--pf-muted) !important; font-size: 13px; }
html body.type-product .p-detail-inner-header .p-code { display: block; margin-top: 8px; font-size: 13px !important; color: var(--pf-muted) !important; }
html body.type-product .p-image,
html body.type-product .p-main-image,
html body.type-product .p-image-wrapper .p-image {
  background: var(--pf-surface) !important;
  border: 0 !important;
  border-radius: var(--pf-radius-lg) !important;
  overflow: hidden;
}
html body.type-product .p-image img { mix-blend-mode: multiply; }
html body.type-product .p-thumbnails a,
html body.type-product .p-thumbnail {
  background: var(--pf-surface) !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  overflow: hidden;
}
html body.type-product .p-thumbnails a.highlighted,
html body.type-product .p-thumbnail.highlighted { border-color: var(--pf-accent) !important; }
html body.type-product .p-info-wrapper {
  background: transparent !important;
}
html body.type-product .p-final-price-wrapper .price-final,
html body.type-product .price-final-holder,
html body.type-product .p-final-price-wrapper strong {
  font-family: var(--pf-body) !important;
  font-size: 28px !important;
  font-weight: 600 !important;
  color: var(--pf-fg) !important;
}
html body.type-product .price-standard, html body.type-product .price-standard span { color: rgba(44, 36, 32, .5) !important; }
html body.type-product .p-short-description,
html body.type-product .p-short-description p { color: var(--pf-fg-80) !important; line-height: 1.75; }
html body.type-product .detail-parameters th { color: var(--pf-muted) !important; font-weight: 400 !important; }
html body.type-product .detail-parameters td, html body.type-product .detail-parameters th { border-color: var(--pf-line) !important; background: transparent !important; }
html body.type-product .add-to-cart { gap: 12px; }
html body.type-product .p-info-wrapper .quantity {
  background: var(--pf-white) !important;
  border: 1px solid rgba(44, 36, 32, .18) !important;
  border-radius: 999px !important;
  overflow: hidden;
}
html body.type-product .p-info-wrapper .quantity input { border: 0 !important; border-radius: 0 !important; background: transparent !important; }
html body.type-product .p-info-wrapper .quantity button,
html body.type-product .p-info-wrapper .quantity .increase,
html body.type-product .p-info-wrapper .quantity .decrease { background: transparent !important; border: 0 !important; color: var(--pf-fg) !important; }
html body.type-product .add-to-cart-button { min-height: 52px; padding: 14px 32px !important; }
html body.type-product .availability-value,
html body.type-product .availability-label { font-weight: 600 !important; }

/* Záložky (Popis, Parametry, Diskuze) */
html body .shp-tabs-wrapper { background: transparent !important; border: 0 !important; margin-top: 48px !important; }
html body .shp-tabs { border: 0 !important; border-bottom: 1px solid var(--pf-line) !important; background: transparent !important; }
html body .shp-tab-link,
html body .shp-tabs .shp-tab a {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  color: var(--pf-fg-70) !important;
  font-family: var(--pf-body) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  text-transform: none !important;
}
html body .shp-tab.active .shp-tab-link,
html body .shp-tab-link.active,
html body .shp-tabs .active a { color: var(--pf-fg) !important; border-bottom-color: var(--pf-accent) !important; }
html body .tab-content { background: transparent !important; border: 0 !important; padding: 32px 0 !important; }
html body .basic-description, html body .basic-description p { color: var(--pf-fg-80); line-height: 1.75; max-width: 768px; }

/* Výhody ze Shoptetu (benefitBanner) na kategorii a detailu */
html body .benefitBanner {
  background: var(--pf-white) !important;
  border: 1px solid var(--pf-line) !important;
  border-radius: var(--pf-radius) !important;
  padding: 20px !important;
  gap: 16px;
}
html body .benefitBanner__title { font-size: 14px !important; font-weight: 600 !important; color: var(--pf-fg) !important; }
html body .benefitBanner__data, html body .benefitBanner__data p { font-size: 14px !important; color: var(--pf-fg-70) !important; }

/* ---------- Košík / objednávka ---------- */
html body .cart-table, html body .cart-table td, html body .cart-table th { border-color: var(--pf-line) !important; background: transparent !important; }
html body .cart-summary, html body .order-summary-inner, html body .co-box {
  background: var(--pf-white) !important;
  border: 1px solid var(--pf-line) !important;
  border-radius: var(--pf-radius-lg) !important;
}
html body .steps li, html body .cart-header li { color: var(--pf-muted) !important; }
html body .steps li.active, html body .cart-header li.active { color: var(--pf-fg) !important; }

/* Popupy (košík, přihlášení) */
html body .popup-widget,
html body .user-action .popup-widget-inner,
html body .cart-widget-inner {
  background: var(--pf-white) !important;
  border: 1px solid var(--pf-line) !important;
  border-radius: var(--pf-radius) !important;
  box-shadow: 0 24px 48px -24px rgba(44, 36, 32, .4) !important;
  color: var(--pf-fg) !important;
}

/* Cookie lišta */
html body .siteCookies {
  background: var(--pf-white) !important;
  color: var(--pf-fg) !important;
  border: 1px solid var(--pf-line) !important;
  border-radius: var(--pf-radius) !important;
  box-shadow: 0 24px 48px -24px rgba(44, 36, 32, .4) !important;
}
html body .siteCookies__text, html body .siteCookies__text a, html body .siteCookies p { color: var(--pf-fg) !important; }
html body .siteCookies .siteCookies__button, html body .siteCookies .btn { min-height: 40px; padding: 10px 20px !important; font-size: 12px !important; }

/* ---------- Patička Shoptetu (JS ji obalí do PF patičky) ---------- */
html body #footer { background: var(--pf-bg) !important; color: var(--pf-fg) !important; border-top: 1px solid var(--pf-line); padding: 0 !important; }
html body #footer > .container:not(.footer-bottom) { background: transparent !important; }
html body #footer .footer-rows, html body #footer .custom-footer { background: transparent !important; }
html body #footer a { color: var(--pf-fg-70) !important; }
html body #footer a:hover { color: var(--pf-accent) !important; }
html body #footer .footer-bottom {
  max-width: none !important;
  background: var(--pf-accent) !important;
  color: #fff !important;
  padding: 12px 16px !important;
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 4px 16px;
  font-size: 12px !important;
  font-weight: 500;
  text-align: center;
  border: 0 !important;
}
html body #footer .footer-bottom *,
html body #footer .footer-bottom a,
html body #footer .footer-bottom strong { color: #fff !important; font-size: 12px !important; }
html body #footer .footer-bottom img { filter: brightness(0) invert(1); }

/* =====================================================================
   Sekce vkládané skriptem (.pf-*)
   ===================================================================== */
.pf-wrap { width: 100%; max-width: var(--pf-max); margin: 0 auto; padding: 0 var(--pf-gutter); box-sizing: border-box; }
.pf-home *, .pf-footer * { box-sizing: border-box; }
.pf-home p, .pf-footer p { margin: 0; }
.pf-home ul, .pf-home ol, .pf-footer ul { list-style: none; margin: 0; padding: 0; }
.pf-h2 { font-family: var(--pf-heading) !important; font-weight: 400 !important; font-size: 30px !important; line-height: 1.2 !important; margin: 0 !important; color: var(--pf-fg) !important; }
@media (min-width: 640px) { .pf-h2 { font-size: 36px !important; line-height: 40px !important; } }
.pf-section { padding: 56px 0; }
@media (min-width: 1024px) { .pf-section { padding: 64px 0; } }

.pf-link {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 14px; font-weight: 500;
  color: var(--pf-accent) !important;
  text-decoration: none !important;
}
.pf-link:hover { text-decoration: underline !important; }
.pf-eyebrow { font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--pf-accent); }

/* Hero – fotka přes celou šířku, světlý nadpis a světlé tlačítko */
.pf-hero {
  position: relative;
  isolation: isolate;
  min-height: 520px;
  overflow: hidden;
  background: #8a7462;
}
.pf-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
@media (max-width: 639px) { .pf-hero__img { object-position: 68% center; } }
.pf-hero__tint { position: absolute; inset: 0; z-index: -1; background: rgba(60, 34, 16, .24); pointer-events: none; }
.pf-hero__inner { display: flex; align-items: center; min-height: 520px; padding-top: 56px; padding-bottom: 56px; }
.pf-hero__text { max-width: 1000px; }
.pf-hero h1 {
  font-family: var(--pf-heading) !important;
  font-weight: 400 !important;
  font-size: 40px !important;
  line-height: 1.08 !important;
  letter-spacing: -.005em !important;
  margin: 0 !important;
  color: #fbf7f3 !important;
  text-shadow: 0 1px 24px rgba(40, 24, 12, .18);
}
.pf-hero__lead { margin-top: 20px !important; max-width: 480px; font-size: 17px; line-height: 28px; color: rgba(251, 247, 243, .92); }
.pf-hero__btn {
  display: inline-flex; align-items: center; justify-content: center;
  margin-top: 32px;
  min-height: 52px;
  padding: 14px 40px;
  border-radius: 999px;
  background: #fbf7f3;
  color: var(--pf-fg) !important;
  font-family: var(--pf-body);
  font-size: 16px; font-weight: 600; line-height: 22px;
  letter-spacing: 0; text-transform: none;
  text-decoration: none !important;
  box-shadow: 0 6px 24px -12px rgba(40, 24, 12, .45);
  transition: background .2s, transform .2s;
}
.pf-hero__btn:hover { background: #fff; color: var(--pf-fg) !important; transform: translateY(-1px); }
/* bez fotky: tmavý text na béžovém pozadí */
.pf-hero--noimg { background: linear-gradient(120deg, var(--pf-bg) 0%, var(--pf-surface) 100%); }
.pf-hero--noimg .pf-hero__tint { display: none; }
.pf-hero--noimg h1 { color: var(--pf-fg) !important; text-shadow: none; }
.pf-hero--noimg .pf-hero__lead { color: var(--pf-fg-80); }
.pf-hero--noimg .pf-hero__btn { background: var(--pf-btn); color: #fff !important; }
@media (min-width: 640px) {
  .pf-hero, .pf-hero__inner { min-height: 620px; }
  .pf-hero__inner { padding-top: 64px; padding-bottom: 64px; }
  .pf-hero h1 { font-size: 58px !important; }
  .pf-hero__btn { margin-top: 40px; }
}
@media (min-width: 1024px) {
  .pf-hero, .pf-hero__inner { min-height: 770px; }
  .pf-hero__inner { padding-top: 80px; padding-bottom: 80px; }
  .pf-hero h1 { font-size: 76px !important; }
}

/* Pruh výhod – stejná barva jako podklad produktů, vzdušný, položky vycentrované ve sloupcích */
.pf-trust { background: var(--pf-surface); border: 0; }
.pf-trust__grid { display: grid; gap: 28px; padding-top: 40px; padding-bottom: 40px; }
.pf-trust__item { display: flex; align-items: center; gap: 20px; }
.pf-trust__icon { flex: none; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; color: var(--pf-fg); }
.pf-trust__icon svg, .pf-trust__icon img { width: 28px; height: 28px; object-fit: contain; }
.pf-trust strong { display: block; font-size: 16px; font-weight: 600; line-height: 22px; color: var(--pf-fg); }
.pf-trust span.pf-trust__sub { display: block; margin-top: 2px; font-size: 15px; line-height: 22px; color: var(--pf-muted); }
@media (min-width: 640px)  { .pf-trust__grid { grid-template-columns: repeat(2, 1fr); padding-top: 56px; padding-bottom: 56px; } .pf-trust__item { justify-content: center; } }
@media (min-width: 1024px) { .pf-trust__grid { grid-template-columns: repeat(4, 1fr); gap: 32px; padding-top: 84px; padding-bottom: 84px; } }

/* Dlaždice kategorií – fotka přes celou plochu, tmavý přechod, bílý název (styl potzillas.cz) */
.pf-cats { margin-top: 32px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (min-width: 990px) { .pf-cats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; } }
.pf-cat {
  position: relative; display: block; overflow: hidden;
  border-radius: var(--pf-radius);
  background: var(--pf-fg);
  color: #fff !important;
  text-decoration: none !important;
}
.pf-cat__media { position: relative; display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--pf-surface); }
.pf-cat__media img {
  position: absolute; inset: 0;
  width: 100% !important; height: 100% !important; max-width: none !important;
  object-fit: cover; display: block;
  transition: transform .5s ease;
}
.pf-cat:hover .pf-cat__media img { transform: scale(1.05); }
.pf-cat__scrim {
  position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(to top, rgba(20, 16, 14, .62) 0%, rgba(20, 16, 14, .12) 45%, rgba(20, 16, 14, 0) 70%);
}
.pf-cat__caption { position: absolute; left: 0; right: 0; bottom: 0; padding: clamp(12px, 2vw, 18px); display: flex; flex-direction: column; gap: 3px; }
.pf-cat__label {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--pf-heading); font-weight: 600;
  font-size: clamp(17px, 1.9vw, 21px); line-height: 1.15; letter-spacing: -.01em;
  color: #fff !important;
}
.pf-cat__arrow { transition: transform .2s; }
.pf-cat:hover .pf-cat__arrow { transform: translateX(4px); }

/* Kroky 01–04 */
.pf-steps__head { max-width: 672px; margin: 0 auto; text-align: center; }
.pf-steps__head p { margin-top: 12px; font-size: 16px; line-height: 28px; color: var(--pf-muted); }
.pf-steps__grid { margin-top: 40px; display: grid; gap: 24px; }
@media (min-width: 640px)  { .pf-steps__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .pf-steps__grid { grid-template-columns: repeat(4, 1fr); } }
.pf-step { border: 1px solid var(--pf-line); background: rgba(255, 255, 255, .55); border-radius: var(--pf-radius); padding: 24px 20px; }
.pf-step h3 { margin: 12px 0 0 !important; font-size: 20px !important; line-height: 28px !important; }
.pf-step p { margin-top: 8px; font-size: 14px; line-height: 24px; color: var(--pf-muted); }

/* Hlavička sekce produktů (nahrazuje nadpis Shoptetu) */
.pf-prodhead { display: flex; flex-direction: column; gap: 16px; margin: 56px 0 32px; }
.pf-prodhead p { margin-top: 8px; font-size: 14px; color: var(--pf-muted); }
@media (min-width: 640px) { .pf-prodhead { flex-direction: row; align-items: flex-end; justify-content: space-between; } }

/* Promo karty */
.pf-promos { display: grid; gap: 20px; padding-top: 56px; padding-bottom: 56px; }
@media (min-width: 1024px) { .pf-promos { grid-template-columns: repeat(2, 1fr); padding-top: 64px; padding-bottom: 64px; } }
.pf-promo {
  position: relative; display: block; overflow: hidden;
  min-height: 280px; border-radius: var(--pf-radius-lg);
  background: var(--pf-surface);
  text-decoration: none !important;
}
@media (min-width: 640px) { .pf-promo { min-height: 320px; } }
.pf-promo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pf-promo__shade { position: absolute; inset: 0; background: linear-gradient(to right, rgba(249, 245, 241, .92), rgba(249, 245, 241, .72) 50%, rgba(249, 245, 241, .2)); }
.pf-promo__body { position: relative; padding: 40px 32px; }
.pf-promo h3 { margin: 12px 0 0 !important; max-width: 384px; font-size: 30px !important; line-height: 1.25 !important; }
.pf-promo .pf-link { margin-top: 20px; }

/* ---------- PF patička ---------- */
.pf-footer__trust { display: grid; gap: 24px; padding-top: 40px; padding-bottom: 40px; }
@media (min-width: 640px)  { .pf-footer__trust { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .pf-footer__trust { grid-template-columns: repeat(4, 1fr); } }
.pf-footer__trust-item { display: flex; gap: 12px; }
.pf-footer__trust-icon {
  flex: none; width: 40px; height: 40px;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid var(--pf-line); border-radius: 999px;
  background: rgba(255, 255, 255, .7); color: var(--pf-fg);
}
.pf-footer__trust-icon svg, .pf-footer__trust-icon img { width: 20px; height: 20px; object-fit: contain; }
.pf-footer__trust-item strong { display: block; font-family: var(--pf-heading); font-weight: 400; font-size: 16px; color: var(--pf-fg); }
.pf-footer__trust-item span { display: block; margin-top: 4px; font-size: 14px; line-height: 24px; color: var(--pf-muted); }

.pf-footer__main { position: relative; background: var(--pf-white); border-top: 1px solid var(--pf-line); overflow: hidden; }
.pf-footer__pattern {
  position: absolute; top: 0; right: -64px; width: 50%; height: 100%; opacity: .08; pointer-events: none;
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 28px, var(--pf-accent) 28px, var(--pf-accent) 29px);
}
.pf-footer__grid { position: relative; display: grid; gap: 40px; padding-top: 48px; padding-bottom: 48px; }
@media (min-width: 640px)  { .pf-footer__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .pf-footer__grid { grid-template-columns: 1.4fr 1fr 1fr; } }
.pf-footer__brand > * + * { margin-top: 20px !important; }
.pf-footer__logo img { max-height: 48px; width: auto; }
.pf-footer__logo { font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--pf-fg) !important; text-decoration: none !important; }
.pf-footer__claim { max-width: 384px; font-size: 14px; line-height: 28px; color: var(--pf-muted); }
.pf-footer__top {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 12px; border: 1px solid var(--pf-line); border-radius: 8px;
  background: rgba(255, 255, 255, .6);
  font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
  color: var(--pf-fg) !important; text-decoration: none !important;
  transition: border-color .2s, color .2s;
}
.pf-footer__top:hover { border-color: var(--pf-accent); color: var(--pf-accent) !important; }
.pf-footer__top svg { width: 14px; height: 14px; }
.pf-footer__col h3 { font-size: 18px !important; margin: 0 !important; }
.pf-footer__col ul { margin-top: 16px; }
.pf-footer__col li + li { margin-top: 10px; }
.pf-footer__col a { font-size: 14px; color: var(--pf-fg-70) !important; text-decoration: none !important; }
.pf-footer__col a:hover { color: var(--pf-accent) !important; }

/* =====================================================================
   Kategorie: bez boxu „Nejprodávanější“ a bez lišty řazení / počtu položek
   ===================================================================== */
html body .category-top .products-top-wrapper,
html body .products-top-wrapper { display: none !important; }
html body #category-header,
html body .category-header,
html body .listItemsTotal,
html body .listingControls .itemsTotal { display: none !important; }

/* =====================================================================
   Drobečková navigace – jen malý text „Domů / Kategorie / …“, bez šipek
   ===================================================================== */
html body .breadcrumbs {
  display: flex !important; flex-wrap: wrap; align-items: center; gap: 0 !important;
  min-height: 0 !important; height: auto !important;
  margin: 20px 0 8px !important; padding: 0 !important;
  font-size: 12px !important; line-height: 18px !important;
}
html body .breadcrumbs > span { display: inline-flex !important; align-items: center; height: auto !important; padding: 0 !important; margin: 0 !important; }
html body .breadcrumbs a,
html body .breadcrumbs span,
html body .breadcrumbs .navigation-home-icon {
  height: auto !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important;
  font-size: 12px !important; line-height: 18px !important; letter-spacing: .02em;
  color: var(--pf-muted) !important; background: none !important; border: 0 !important;
}
html body .breadcrumbs::before,
html body .breadcrumbs::after,
html body .breadcrumbs *::before,
html body .breadcrumbs *::after { display: none !important; content: none !important; }
html body .breadcrumbs .navigation-home-icon .sr-only {
  position: static !important; width: auto !important; height: auto !important;
  clip: auto !important; overflow: visible !important; white-space: nowrap; margin: 0 !important;
}
html body .breadcrumbs .navigation-bullet { display: inline !important; padding: 0 8px !important; color: rgba(44, 36, 32, .35) !important; }
html body .breadcrumbs a:hover { color: var(--pf-fg) !important; }
html body .breadcrumbs > span:last-child span { color: var(--pf-fg) !important; }

/* =====================================================================
   Černá patička
   ===================================================================== */
html body #footer { background: #14110f !important; color: #f5f1ec !important; border-top: 0 !important; }
html body .pf-footer__main { background: #14110f; border-top: 0; }
html body .pf-footer__pattern { opacity: .06; }
html body .pf-footer__logo img { filter: brightness(0) invert(1); }
html body .pf-footer__logo { color: #fff !important; }
html body .pf-footer__claim { color: rgba(245, 241, 236, .6); }
html body .pf-footer__col h3 { color: #fff !important; }
html body #footer .pf-footer__col a { color: rgba(245, 241, 236, .65) !important; }
html body #footer .pf-footer__col a:hover { color: #fff !important; }
html body #footer .pf-footer__top {
  background: transparent; border-color: rgba(255, 255, 255, .2);
  color: rgba(245, 241, 236, .85) !important;
}
html body #footer .pf-footer__top:hover { border-color: rgba(255, 255, 255, .6); color: #fff !important; }
html body #footer .footer-bottom {
  background: #14110f !important;
  border-top: 1px solid rgba(255, 255, 255, .1) !important;
  padding: 16px var(--pf-gutter) !important;
}
html body #footer .footer-bottom *,
html body #footer .footer-bottom a,
html body #footer .footer-bottom strong { color: rgba(245, 241, 236, .55) !important; }
html body #footer .footer-bottom a:hover { color: #fff !important; }

/* =====================================================================
   Hlavička: logo na okraji stránky, menu hned vedle loga, černé odkazy a ikony
   ===================================================================== */
@media (min-width: 1200px) {
  /* clearfix pseudo-prvky Shoptetu se ve flexu chovají jako položky a odsouvaly logo */
  html body #header .navigation-wrapper::before,
  html body #header .navigation-wrapper::after,
  html body #header .header-top::before,
  html body #header .header-top::after { display: none !important; content: none !important; }
  html body #header #navigation { margin-left: 40px !important; }
  html body #header #navigation .menu-level-1 { justify-content: flex-start !important; }
}
html body #navigation .menu-level-1 > li > a,
html body #navigation .menu-level-1 > li > a b { color: #000 !important; }
html body #navigation .menu-level-1 > li > a:hover,
html body #navigation .menu-level-1 > li > a:hover b,
html body #navigation .menu-level-1 > li.active > a b,
html body #navigation .menu-level-1 > li.exp > a b { color: #555 !important; }
html body #header .pf-icon-btn,
html body #header .navigation-buttons a,
html body #header .navigation-buttons a::before,
html body #header .navigation-buttons button,
html body #header .navigation-buttons .btn.cart-count { color: #000 !important; }
html body .top-navigation-bar a,
html body .top-navigation-bar button,
html body .top-navigation-bar a::before,
html body .top-navigation-bar button::before { color: #000 !important; }

/* =====================================================================
   Výpis produktů: při najetí myší se prolne druhá fotka produktu (pf-theme.js)
   ===================================================================== */
html body .products-block .p .image img.pf-img2 {
  object-fit: cover !important;   /* druhá fotka (obvykle z interiéru) vyplní celou kartu */
  mix-blend-mode: normal !important;
  opacity: 0;
  transition: opacity .35s ease, transform .5s ease;
  pointer-events: none;
}
html body .products-block .p[data-pf-img2="ready"]:hover .image img.pf-img2 { opacity: 1; }

/* =====================================================================
   Detail produktu: název nad cenou, minimalistická dostupnost a množství,
   místo Tisk/Zeptat se/Sdílet „Doplňkové parametry“ a „Popis produktu“ (pf-theme.js)
   ===================================================================== */
html body .pf-hidden { display: none !important; }
html body.type-product .p-info-wrapper { padding-top: 0 !important; }
html body.type-product .pf-detail-head { margin: 0 0 16px; }
html body.type-product .pf-detail-head h1 {
  font-size: clamp(30px, 2.6vw, 42px) !important;
  line-height: 1.12 !important;
  margin: 0 !important;
}
html body.type-product .pf-detail-head .p-code { display: block; margin-top: 8px; font-size: 13px !important; color: var(--pf-muted) !important; }
html body.type-product .p-final-price-wrapper { margin: 0 0 12px !important; }
html body.type-product .p-final-price-wrapper .price-final,
html body.type-product .p-final-price-wrapper strong { font-size: 24px !important; font-weight: 500 !important; }

/* Dostupnost: malá tečka + text */
html body.type-product .availability-value {
  display: inline-flex !important; align-items: center; gap: 6px;
  margin: 0 0 24px !important; padding: 0 !important;
  font-size: 13px !important; line-height: 18px !important;
}
html body.type-product .availability-value .availability-label {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 13px !important; font-weight: 500 !important;
  color: var(--pf-fg) !important;
}
html body.type-product .availability-value .availability-label::before {
  content: ""; width: 7px; height: 7px; border-radius: 50%;
  background: #4f8a3c; flex: none;
}
html body.type-product .availability-value .availability-amount { font-size: 13px !important; color: var(--pf-muted) !important; }

/* Množství: −  1  + v jedné pilulce, stejně vysoké jako tlačítko */
html body.type-product .add-to-cart { display: flex !important; align-items: stretch; gap: 12px; flex-wrap: wrap; margin-bottom: 28px !important; }
html body.type-product .p-info-wrapper .quantity {
  display: inline-flex !important; align-items: center;
  height: 52px !important; min-width: 0 !important; width: auto !important;
  padding: 0 4px !important; margin: 0 !important;
  border: 1px solid rgba(44, 36, 32, .2) !important; border-radius: 999px !important;
  background: #fff !important; overflow: hidden;
}
html body.type-product .p-info-wrapper .quantity label { order: 2; margin: 0 !important; }
html body.type-product .p-info-wrapper .quantity input.amount {
  width: 40px !important; height: 50px !important; padding: 0 !important;
  border: 0 !important; outline: 0 !important; box-shadow: none !important; background: transparent !important;
  text-align: center; font-size: 15px !important; font-weight: 500; color: var(--pf-fg) !important;
  -moz-appearance: textfield;
}
html body.type-product .p-info-wrapper .quantity input.amount::-webkit-inner-spin-button,
html body.type-product .p-info-wrapper .quantity input.amount::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
html body.type-product .p-info-wrapper .quantity button.decrease { order: 1; }
html body.type-product .p-info-wrapper .quantity button.increase { order: 3; }
html body.type-product .p-info-wrapper .quantity button.increase,
html body.type-product .p-info-wrapper .quantity button.decrease {
  position: static !important; display: inline-flex !important; align-items: center; justify-content: center;
  width: 40px !important; height: 40px !important; padding: 0 !important; margin: 0 !important;
  border: 0 !important; border-radius: 50% !important; background: transparent !important;
  font-size: 0 !important; color: var(--pf-fg) !important; cursor: pointer; transform: none !important;
}
html body.type-product .p-info-wrapper .quantity button.increase > *,
html body.type-product .p-info-wrapper .quantity button.decrease > * { display: none !important; }
html body.type-product .p-info-wrapper .quantity button.increase::after,
html body.type-product .p-info-wrapper .quantity button.decrease::after { display: none !important; }
html body.type-product .p-info-wrapper .quantity button.increase::before,
html body.type-product .p-info-wrapper .quantity button.decrease::before {
  display: block !important; position: static !important; transform: none !important;
  font-family: var(--pf-body) !important; font-size: 20px !important; font-weight: 400; line-height: 1;
  color: var(--pf-fg) !important; width: auto; height: auto; background: none !important; border: 0 !important;
}
html body.type-product .p-info-wrapper .quantity button.increase::before { content: "+" !important; }
html body.type-product .p-info-wrapper .quantity button.decrease::before { content: "−" !important; }
html body.type-product .p-info-wrapper .quantity button.increase:hover,
html body.type-product .p-info-wrapper .quantity button.decrease:hover { background: var(--pf-surface) !important; }

/* Odkazy Tisk / Zeptat se / Sdílet a „Detailní informace“ pryč */
html body.type-product .social-buttons-wrapper,
html body.type-product .p-info-wrapper > p[data-testid="productCardDescr"] { display: none !important; }

/* Doplňkové parametry a Popis produktu v pravém sloupci */
html body.type-product .pf-detail-more { margin-top: 8px; border-top: 1px solid var(--pf-line); }
html body.type-product .pf-detail-more > div { padding: 24px 0; border-bottom: 1px solid var(--pf-line); }
html body.type-product .pf-detail-more h3 {
  margin: 0 0 14px !important;
  font-family: var(--pf-body) !important; font-size: 12px !important; font-weight: 600 !important;
  letter-spacing: .14em !important; text-transform: uppercase !important; color: var(--pf-fg) !important;
}
html body.type-product .pf-detail-more table.detail-parameters { width: 100%; border-collapse: collapse; margin: 0 !important; }
html body.type-product .pf-detail-more .detail-parameters th,
html body.type-product .pf-detail-more .detail-parameters td {
  padding: 8px 0 !important; border: 0 !important; background: none !important;
  font-size: 14px !important; line-height: 20px !important; vertical-align: top; text-align: left;
}
html body.type-product .pf-detail-more .detail-parameters th { width: 40%; color: var(--pf-muted) !important; font-weight: 400 !important; }
html body.type-product .pf-detail-more .detail-parameters td,
html body.type-product .pf-detail-more .detail-parameters td a { color: var(--pf-fg) !important; }
html body.type-product .pf-detail-more .row-header-label-colon { display: none; }
html body.type-product .pf-detail-more .basic-description,
html body.type-product .pf-detail-more .basic-description p { max-width: none; font-size: 15px; line-height: 1.75; color: var(--pf-fg-80) !important; }
html body.type-product .pf-detail-more .basic-description p:last-child { margin-bottom: 0; }

/* =====================================================================
   Detail produktu podle předlohy (v15): fotka vlevo ~56 %, vpravo název,
   cena, dostupnost, množství + černé tlačítko, Parametry, Popis produktu
   ===================================================================== */
@media (min-width: 1200px) {
  html body.type-product .product-top .p-image-wrapper { width: 56% !important; padding-right: 32px !important; }
  html body.type-product .product-top .p-info-wrapper { width: 44% !important; padding-left: 32px !important; }
}
html body.type-product .p-image,
html body.type-product .p-image-wrapper .p-image { border-radius: 24px !important; }
html body.type-product .p-image img { width: 100% !important; height: auto !important; max-width: none !important; }
html body.type-product .p-thumbnails-wrapper { margin-top: 12px !important; }
/* Název, cena, dostupnost */
html body.type-product .pf-detail-head { margin: 0 0 12px !important; }
html body.type-product .pf-detail-head h1 { font-size: clamp(32px, 2.9vw, 46px) !important; line-height: 1.1 !important; }
html body.type-product .pf-detail-head .p-code { display: none !important; }
html body.type-product .p-final-price-wrapper { margin: 0 0 20px !important; }
html body.type-product .p-final-price-wrapper .price-final,
html body.type-product .p-final-price-wrapper .price-final-holder,
html body.type-product .p-final-price-wrapper strong {
  font-family: var(--pf-body) !important; font-size: 32px !important; font-weight: 600 !important;
  line-height: 1.1 !important; color: #000 !important;
}
html body.type-product .availability-value { margin: 0 0 48px !important; }
html body.type-product .availability-value .availability-label { font-size: 15px !important; font-weight: 500 !important; color: #000 !important; gap: 10px; }
html body.type-product .availability-value .availability-label::before { width: 8px; height: 8px; background: #3f9b3a; }
html body.type-product .availability-value .availability-amount { display: none !important; }

/* Množství + černé tlačítko */
html body.type-product .add-to-cart { gap: 14px; margin-bottom: 32px !important; }
html body.type-product .p-info-wrapper .quantity { height: 54px !important; padding: 0 8px !important; border-color: rgba(0, 0, 0, .18) !important; }
html body.type-product .p-info-wrapper .quantity input.amount { width: 44px !important; height: 52px !important; font-size: 17px !important; color: #000 !important; }
html body.type-product .p-info-wrapper .quantity button.increase::before,
html body.type-product .p-info-wrapper .quantity button.decrease::before { font-size: 18px !important; color: #000 !important; }
html body.type-product .add-to-cart .add-to-cart-button,
html body.type-product .add-to-cart .btn-conversion {
  min-width: 265px; min-height: 54px !important; height: 54px;
  padding: 0 40px !important;
  background: #000 !important; color: #fff !important;
  font-family: var(--pf-body) !important; font-size: 16px !important; font-weight: 600 !important;
  letter-spacing: 0 !important; text-transform: none !important;
  border-radius: 999px !important;
}
html body.type-product .add-to-cart .add-to-cart-button:hover,
html body.type-product .add-to-cart .btn-conversion:hover { background: #2b2b2b !important; }
html body.type-product .add-to-cart .add-to-cart-button::before,
html body.type-product .add-to-cart .add-to-cart-button::after { display: none !important; content: none !important; }

/* Krátký popis se v předloze neukazuje – celý popis je v sekci Popis produktu */
html body.type-product .p-info-wrapper .p-short-description { display: none !important; }

/* Parametry a Popis produktu */
html body.type-product .pf-detail-more { margin-top: 0; border-top: 1px solid rgba(0, 0, 0, .1); }
html body.type-product .pf-detail-more > div { padding: 28px 0; border-bottom: 1px solid rgba(0, 0, 0, .1); }
html body.type-product .pf-detail-more > div:last-child { border-bottom: 0; }
html body.type-product .pf-detail-more h3 {
  margin: 0 0 16px !important;
  font-size: 15px !important; font-weight: 600 !important;
  letter-spacing: 0 !important; text-transform: none !important; color: #000 !important;
}
html body.type-product .pf-detail-more .detail-parameters th,
html body.type-product .pf-detail-more .detail-parameters td { padding: 9px 0 !important; font-size: 15px !important; line-height: 20px !important; }
html body.type-product .pf-detail-more .detail-parameters th { width: 37%; color: rgba(0, 0, 0, .55) !important; }
html body.type-product .pf-detail-more .detail-parameters td,
html body.type-product .pf-detail-more .detail-parameters td a { color: #000 !important; text-decoration: none !important; }
html body.type-product .pf-detail-more .basic-description,
html body.type-product .pf-detail-more .basic-description p { font-size: 16px !important; line-height: 1.6 !important; color: rgba(0, 0, 0, .72) !important; }

/* =====================================================================
   Víc vzduchu: před patičkou (všechny stránky kromě úvodu) a kolem „Souvisejících produktů“
   ===================================================================== */
html body:not(.type-index) #content-wrapper { padding-bottom: 96px !important; }
html body.type-product .products-related-header { margin: 88px 0 28px !important; font-size: 30px !important; }

/* =====================================================================
   TLAČÍTKA – černá; sekundární s černým okrajem
   ===================================================================== */
html body .btn,
html body a.btn,
html body button.btn,
html body .btn-primary,
html body .btn-conversion,
html body .btn-cart,
html body input[type="submit"].btn {
  background: #000 !important; color: #fff !important; border: 1px solid #000 !important;
  font-family: var(--pf-body) !important; font-size: 15px !important; font-weight: 600 !important;
  letter-spacing: 0 !important; text-transform: none !important;
  border-radius: 999px !important; min-height: 48px; padding: 12px 28px !important;
}
html body .btn:hover, html body .btn-primary:hover, html body .btn-conversion:hover, html body .btn-cart:hover { background: #2b2b2b !important; border-color: #2b2b2b !important; color: #fff !important; }
html body .btn::before, html body .btn::after { color: inherit !important; }
html body .btn-default, html body .btn-secondary, html body .search .btn,
html body .next-step-back, html body a.btn.next-step-back {
  background: transparent !important; color: #000 !important; border: 1px solid #000 !important;
}
html body .btn-default:hover, html body .btn-secondary:hover, html body .search .btn:hover,
html body .next-step-back:hover { background: #000 !important; color: #fff !important; border-color: #000 !important; }
html body .btn--link, html body .btn.btn--link { border: 0 !important; min-height: 0 !important; padding: 0 !important; color: #000 !important; background: transparent !important; }
html body .navigation-buttons .cart-count i,
html body .navigation-buttons .cart-count .count,
html body #header .navigation-buttons .btn.cart-count i { background: #000 !important; color: #fff !important; }

/* Formulářové prvky */
html body input[type="text"], html body input[type="email"], html body input[type="search"],
html body input[type="tel"], html body input[type="password"], html body input[type="number"]:not(.amount),
html body textarea, html body select, html body .form-control {
  min-height: 48px; padding: 12px 16px !important; font-size: 15px !important;
  border: 1px solid rgba(0, 0, 0, .18) !important; border-radius: 12px !important; color: #000 !important;
}
html body textarea { min-height: 120px; }
html body input:focus, html body textarea:focus, html body select:focus, html body .form-control:focus {
  border-color: #000 !important; outline: 3px solid rgba(0, 0, 0, .08) !important;
}
html body input[type="radio"], html body input[type="checkbox"] { accent-color: #000; }
html body label { font-size: 14px; }
html body .smart-label-wrapper > label, html body .form-group > label { font-weight: 500; color: #000; margin-bottom: 6px; }
html body .required-asterisk::after { color: rgba(0, 0, 0, .45) !important; }

/* Hlášky Shoptetu (chyba / úspěch) */
html body .messages .msg, html body .msg {
  font-family: var(--pf-body) !important; font-size: 14px !important; font-weight: 500;
  border: 0 !important; box-shadow: none !important;
}
html body .msg-error, html body .messages .msg-error { background: #b42318 !important; color: #fff !important; }
html body .msg-success, html body .messages .msg-success { background: #1f6b2e !important; color: #fff !important; }
html body .msg-info, html body .messages .msg-info { background: #000 !important; color: #fff !important; }

/* =====================================================================
   ÚČET: přihlášení, registrace, zapomenuté heslo (bez bočního panelu, karta uprostřed)
   ===================================================================== */
html body.in-login .sidebar, html body.in-registrace .sidebar, html body.in-zapomenute-heslo .sidebar,
html body.pf-auth .sidebar { display: none !important; }
html body.in-login main.content, html body.in-registrace main.content, html body.in-zapomenute-heslo main.content,
html body.pf-auth main.content {
  width: 100% !important; max-width: none !important; float: none !important; margin: 0 !important;
  padding-left: 0 !important; padding-right: 0 !important;
}
html body.in-login .breadcrumbs, html body.in-registrace .breadcrumbs, html body.in-zapomenute-heslo .breadcrumbs { display: none !important; }
html body.in-login .content-inner,
html body.in-zapomenute-heslo .content-inner { max-width: 440px !important; margin: 64px auto 0 !important; }
html body.in-registrace .content-inner { max-width: 560px !important; margin: 64px auto 0 !important; }
html body.pf-auth #content form { margin-left: auto !important; margin-right: auto !important; max-width: 100%; }
html body.in-login .content-inner > h1,
html body.in-registrace .content-inner > h1,
html body.in-zapomenute-heslo .content-inner > h1 {
  font-size: clamp(32px, 3vw, 42px) !important; text-align: center; margin: 0 0 12px !important;
}
html body.pf-auth .pf-auth-lead { text-align: center; color: rgba(0, 0, 0, .6); font-size: 15px; margin: 0 0 32px; }
html body.in-zapomenute-heslo .content-inner > p { text-align: center; color: rgba(0, 0, 0, .6); font-size: 15px; margin: 0 0 32px; }
html body.pf-auth .form-group { margin-bottom: 18px !important; }
html body.pf-auth .form-control { width: 100% !important; }
html body.pf-auth .submit-wrapper .btn,
html body.pf-auth form .btn-primary,
html body.pf-auth form button[type="submit"].btn { width: 100%; min-height: 52px; margin-top: 8px; }
html body.in-login .alternative-links {
  display: flex; justify-content: space-between; gap: 16px; margin: 20px 0 0 !important; font-size: 14px;
}
html body.in-login .alternative-links a { color: #000 !important; text-decoration: underline; text-underline-offset: 3px; }
html body.in-login .alternative-links a:hover { color: #555 !important; }
/* registrace – sekce oddělené linkou, žádné boxy */
html body.in-registrace .co-box,
html body.in-registrace fieldset.box,
html body.in-registrace .box {
  background: transparent !important; border: 0 !important; box-shadow: none !important;
  padding: 0 !important; margin: 0 !important;
}
html body.in-registrace #register-form > fieldset,
html body.in-registrace #register-form > .co-box { padding: 28px 0 !important; border-top: 1px solid rgba(0, 0, 0, .1) !important; }
html body.in-registrace #register-form h2,
html body.in-registrace #register-form h4 {
  font-family: var(--pf-body) !important; font-size: 15px !important; font-weight: 600 !important; margin: 0 0 16px !important;
}
html body.in-registrace .form-legend { font-size: 12px; color: rgba(0, 0, 0, .5); text-align: left !important; }
html body.in-registrace #register-form .submit-wrapper, html body.in-registrace #register-form .btn { width: 100%; }

/* =====================================================================
   NÁHLED KOŠÍKU při najetí na ikonu
   ===================================================================== */
html body .cart-widget.popup-widget,
html body #cart-widget {
  width: 400px !important; max-width: calc(100vw - 32px);
  padding: 0 !important; border: 1px solid rgba(0, 0, 0, .08) !important; border-radius: 18px !important;
  box-shadow: 0 24px 60px -24px rgba(0, 0, 0, .35) !important; background: #fff !important; overflow: hidden;
}
html body .cart-widget-inner { padding: 20px 20px 4px !important; background: #fff !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; }
html body .cart-widget-products-inner { max-height: 320px; overflow: auto; }
html body .cart-widget-product {
  display: grid !important; grid-template-columns: 64px 1fr auto; grid-template-areas: "img name del" "img qty qty";
  gap: 6px 14px; align-items: center;
  padding: 0 0 16px !important; margin: 0 0 16px !important; border: 0 !important; border-bottom: 1px solid rgba(0, 0, 0, .08) !important;
}
html body .cart-widget-product:last-child { border-bottom: 0 !important; margin-bottom: 4px !important; }
html body .cart-widget-product > div { width: auto !important; float: none !important; padding: 0 !important; margin: 0 !important; position: static !important; }
html body .cart-widget-product-image { grid-area: img; width: 64px !important; height: 64px; border-radius: 12px; overflow: hidden; background: var(--pf-surface); }
html body .cart-widget-product-image img { width: 100% !important; height: 100% !important; object-fit: contain; mix-blend-mode: multiply; }
html body .cart-widget-product-name { grid-area: name; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
html body .cart-widget-product-name strong a { font-family: var(--pf-heading); font-weight: 400; font-size: 16px; line-height: 1.3; color: #000 !important; text-decoration: none !important; }
html body .cart-widget-product-name span { font-size: 14px; font-weight: 600; color: #000 !important; }
html body .cart-widget-product-amount { grid-area: qty; display: flex; align-items: center; }
html body .cart-widget-product-unit { display: none !important; }
html body .cart-widget-product-delete { grid-area: del; align-self: start; }
html body .cart-widget-free-shipping, html body .cart-free-shipping {
  margin: 0 0 16px !important; padding: 10px 14px !important; border-radius: 10px !important;
  background: var(--pf-surface) !important; color: #000 !important; font-size: 13px !important; text-align: center; border: 0 !important;
}
html body .cart-free-shipping strong, html body .cart-free-shipping * { color: #000 !important; font-weight: 500 !important; }
html body .cart-widget-button { padding: 0 20px 20px !important; background: #fff !important; border: 0 !important; }
html body .cart-widget-button .btn { display: flex !important; width: 100% !important; justify-content: center; min-height: 52px; }
html body .cart-widget-button .btn::before, html body .cart-widget-button .btn::after { display: none !important; }

/* Malé množství (náhled košíku i košík) */
html body .cart-widget .quantity,
html body .cart-table .quantity {
  display: inline-flex !important; align-items: center; height: 36px !important; width: auto !important;
  padding: 0 2px !important; margin: 0 !important; position: relative;
  border: 1px solid rgba(0, 0, 0, .18) !important; border-radius: 999px !important; background: #fff !important; overflow: hidden;
}
html body .cart-widget .quantity label, html body .cart-table .quantity label { order: 2; margin: 0 !important; }
html body .cart-widget .quantity input.amount,
html body .cart-table .quantity input.amount {
  width: 32px !important; height: 34px !important; min-height: 0 !important; padding: 0 !important;
  border: 0 !important; outline: 0 !important; box-shadow: none !important; background: transparent !important;
  text-align: center; font-size: 14px !important; font-weight: 500; color: #000 !important; -moz-appearance: textfield;
}
html body .cart-widget .quantity input.amount::-webkit-inner-spin-button,
html body .cart-table .quantity input.amount::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
html body .cart-widget .quantity button, html body .cart-table .quantity button {
  position: static !important; order: 1; display: inline-flex !important; align-items: center; justify-content: center;
  width: 30px !important; height: 30px !important; padding: 0 !important; margin: 0 !important;
  border: 0 !important; border-radius: 50% !important; background: transparent !important; color: #000 !important;
  font-size: 0 !important; transform: none !important; cursor: pointer;
}
html body .cart-widget .quantity button.increase, html body .cart-table .quantity button.increase { order: 3; }
html body .cart-widget .quantity button > *, html body .cart-table .quantity button > * { display: none !important; }
html body .cart-widget .quantity button::after, html body .cart-table .quantity button::after { display: none !important; }
html body .cart-widget .quantity button::before, html body .cart-table .quantity button::before {
  display: block !important; position: static !important; transform: none !important; width: auto; height: auto;
  font-family: var(--pf-body) !important; font-size: 16px !important; line-height: 1; color: #000 !important; background: none !important; border: 0 !important;
}
html body .cart-widget .quantity button.increase::before, html body .cart-table .quantity button.increase::before { content: "+" !important; }
html body .cart-widget .quantity button.decrease::before, html body .cart-table .quantity button.decrease::before { content: "−" !important; }
html body .cart-widget .quantity button:hover, html body .cart-table .quantity button:hover { background: var(--pf-surface) !important; }

/* Odebrat položku – jen křížek */
html body .remove-item {
  position: relative; width: 32px !important; height: 32px !important; min-height: 0 !important; padding: 0 !important;
  border: 0 !important; border-radius: 50% !important; background: transparent !important; color: rgba(0, 0, 0, .45) !important;
  font-size: 0 !important; cursor: pointer;
}
html body .remove-item::before { display: none !important; }
html body .remove-item::after {
  content: "×" !important; display: block !important; position: absolute; inset: 0; transform: none !important;
  font-family: var(--pf-body) !important; font-size: 22px !important; line-height: 32px !important; text-align: center;
  color: inherit !important; background: none !important; border: 0 !important; width: auto; height: auto;
}
html body .remove-item:hover { color: #000 !important; background: var(--pf-surface) !important; }
html body .remove-item { opacity: 1 !important; visibility: visible !important; }
html body .btn *, html body .btn span { text-transform: none !important; letter-spacing: 0 !important; font: inherit !important; color: inherit !important; }

/* =====================================================================
   KOŠÍK A OBJEDNÁVKA (in-kosik, in-krok-1, in-krok-2)
   ===================================================================== */
html body.ordering-process .content-inner { padding-top: 24px; }
/* kroky */
html body.ordering-process .cart-header {
  display: flex !important; gap: 8px; margin: 0 0 32px !important; padding: 0 0 20px !important;
  border: 0 !important; border-bottom: 1px solid rgba(0, 0, 0, .1) !important; background: none !important; list-style: none;
}
html body.ordering-process .cart-header .step {
  flex: 1; display: flex; align-items: center; padding: 0 !important; margin: 0 !important;
  border: 0 !important; background: none !important; height: auto !important; counter-increment: pfstep;
}
html body.ordering-process .cart-header .step::before,
html body.ordering-process .cart-header .step::after,
html body.ordering-process .cart-header .step a::before,
html body.ordering-process .cart-header .step strong::before,
html body.ordering-process .cart-header .step span::before { display: none !important; }
html body.ordering-process .cart-header { counter-reset: pfstep; }
html body.ordering-process .cart-header .step > a,
html body.ordering-process .cart-header .step > strong {
  display: inline-flex !important; align-items: center; gap: 12px; padding: 0 !important;
  font-family: var(--pf-body) !important; font-size: 14px !important; font-weight: 500 !important;
  letter-spacing: 0 !important; text-transform: none !important; color: rgba(0, 0, 0, .45) !important;
  text-decoration: none !important; background: none !important; border: 0 !important;
}
html body.ordering-process .cart-header .step > a > span,
html body.ordering-process .cart-header .step > strong > span { padding: 0 !important; background: none !important; color: inherit !important; }
html body.ordering-process .cart-header .step > a::after,
html body.ordering-process .cart-header .step > strong::after {
  order: -1; content: counter(pfstep) !important; display: inline-flex !important; align-items: center; justify-content: center;
  position: static !important; transform: none !important;
  width: 28px; height: 28px; border-radius: 50%; border: 1px solid rgba(0, 0, 0, .2) !important;
  font-size: 13px; font-weight: 600; color: rgba(0, 0, 0, .55); background: #fff !important;
}
html body.ordering-process .cart-header .step.active > a,
html body.ordering-process .cart-header .step.active > strong { color: #000 !important; }
html body.ordering-process .cart-header .step.active > a::after,
html body.ordering-process .cart-header .step.active > strong::after { background: #000 !important; border-color: #000 !important; color: #fff !important; }
html body.ordering-process .cart-header .step.completed > a,
html body.ordering-process .cart-header .step.completed > strong { color: #000 !important; }
html body.ordering-process .cart-header .step.completed > a::after,
html body.ordering-process .cart-header .step.completed > strong::after { content: "✓" !important; border-color: #000 !important; color: #000 !important; }

/* tabulka košíku */
html body.in-kosik .cart-table { width: 100%; border: 0 !important; margin: 0 0 24px !important; }
html body.in-kosik .cart-table tr.removeable { border-bottom: 1px solid rgba(0, 0, 0, .08) !important; }
html body.in-kosik .cart-table td { padding: 20px 12px !important; border: 0 !important; vertical-align: middle !important; background: none !important; }
html body.in-kosik .cart-table td:first-child { padding-left: 0 !important; }
html body.in-kosik .cart-table td:last-child { padding-right: 0 !important; }
html body.in-kosik .cart-table .cart-p-image { width: 104px; }
html body.in-kosik .cart-table .cart-p-image a { display: block; width: 88px; height: 88px; border-radius: 14px; overflow: hidden; background: var(--pf-surface); }
html body.in-kosik .cart-table .cart-p-image img { width: 100% !important; height: 100% !important; object-fit: contain; mix-blend-mode: multiply; }
html body.in-kosik .cart-table .p-name .main-link {
  display: block; font-family: var(--pf-heading) !important; font-size: 19px !important; font-weight: 400 !important;
  letter-spacing: 0 !important; text-transform: none !important; color: #000 !important; text-decoration: none !important;
}
html body.in-kosik .cart-table .p-name .show-related { display: inline-block; margin-top: 6px; font-size: 13px; color: rgba(0, 0, 0, .5) !important; }
html body.in-kosik .cart-table .p-label { display: none !important; }
html body.in-kosik .cart-table .p-availability .availability-label {
  display: inline-flex; align-items: center; gap: 8px; font-size: 13px !important; font-weight: 500 !important; color: #000 !important;
}
html body.in-kosik .cart-table .p-availability .availability-label::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #3f9b3a; }
html body.in-kosik .cart-table .p-availability .availability-amount { display: none; }
html body.in-kosik .cart-table .p-price, html body.in-kosik .cart-table .p-price * { font-size: 13px !important; color: rgba(0, 0, 0, .5) !important; font-weight: 400 !important; }
html body.in-kosik .cart-table .p-total { text-align: right; white-space: nowrap; }
html body.in-kosik .cart-table .p-total .price-final { font-size: 16px !important; font-weight: 600 !important; color: #000 !important; margin-right: 8px; }
html body.in-kosik .cart-table .p-total form, html body.in-kosik .cart-table .p-total .inline { display: inline-block; vertical-align: middle; }
html body.in-kosik .cart-table tr.related td { padding: 0 0 16px 104px !important; }
html body.in-kosik .cart-summary {
  background: var(--pf-surface) !important; border: 0 !important; border-radius: 16px !important; padding: 20px 24px !important; box-shadow: none !important;
}
html body.in-kosik .cart-summary h2, html body.in-kosik .cart-summary .h4 { font-family: var(--pf-body) !important; font-size: 15px !important; font-weight: 600 !important; margin: 0 0 8px !important; }
html body.in-kosik .cart-summary .extra, html body.in-kosik .cart-summary .extra * { color: #000 !important; font-size: 14px !important; }
html body.in-kosik .cart-summary .extra.delivery::before, html body.in-kosik .cart-summary .extra::before { color: #000 !important; }

/* boční panel s rekapitulací */
html body.ordering-process .sidebar-in-cart,
html body.ordering-process #checkoutSidebar { padding-left: 32px !important; }
html body.ordering-process .summary-wrapper .box,
html body.ordering-process .order-summary,
html body.ordering-process .order-summary-inner {
  background: #fff !important; border: 1px solid rgba(0, 0, 0, .1) !important; border-radius: 18px !important;
  box-shadow: none !important;
}
html body.ordering-process .summary-wrapper .box,
html body.ordering-process .order-summary { padding: 24px !important; }
html body.ordering-process .order-summary-inner { border: 0 !important; padding: 0 !important; }
html body.ordering-process .order-summary h4, html body.ordering-process .order-summary h3,
html body.ordering-process .order-summary .h4 { font-family: var(--pf-body) !important; font-size: 15px !important; font-weight: 600 !important; }
html body.ordering-process .order-summary * { text-transform: none !important; letter-spacing: 0 !important; }
html body.ordering-process .order-summary .price, html body.ordering-process .order-summary strong { color: #000 !important; }
html body.ordering-process .price-wrapper { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 20px; }
html body.ordering-process .price-wrapper .price-label { font-size: 14px !important; font-weight: 500 !important; color: rgba(0, 0, 0, .6) !important; }
html body.ordering-process .price-wrapper .price,
html body.ordering-process .price-wrapper strong { font-family: var(--pf-body) !important; font-size: 26px !important; font-weight: 600 !important; color: #000 !important; }
html body.ordering-process .next-step { display: flex !important; flex-direction: column-reverse; gap: 10px; margin-top: 16px !important; }
html body.ordering-process .next-step .btn { width: 100% !important; justify-content: center; display: flex !important; align-items: center; min-height: 52px; float: none !important; margin: 0 !important; }
html body.ordering-process .next-step .btn::before, html body.ordering-process .next-step .btn::after { display: none !important; }
html body.ordering-process .checkout-box, html body.ordering-process .contact-box,
html body.ordering-process .sidebar-in-cart .checkout-box-wrapper {
  background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 0 20px !important;
  font-size: 13px; color: rgba(0, 0, 0, .6);
}
html body.ordering-process .checkout-box *, html body.ordering-process .contact-box * {
  font-family: var(--pf-body) !important; font-size: 13px !important; letter-spacing: 0 !important; text-transform: none !important; color: rgba(0, 0, 0, .65) !important;
  background: none !important; border: 0 !important; box-shadow: none !important; text-align: left !important;
}
html body.ordering-process .contact-box img { display: none !important; }
html body.ordering-process .checkout-box-wrapper .h4 { font-size: 13px !important; font-family: var(--pf-body) !important; font-weight: 600 !important; margin: 0 0 6px !important; }
html body.ordering-process .checkout-box-wrapper > .box { background: none !important; border: 0 !important; padding: 0 !important; }

/* krok 1 – doprava a platba */
html body.ordering-process .co-box,
html body.ordering-process .box.co-box {
  background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 0 32px !important; margin: 0 !important;
}
html body.ordering-process .co-box h4, html body.ordering-process .co-box h2, html body.ordering-process .co-box .h4 {
  display: flex; align-items: center; gap: 10px;
  font-family: var(--pf-heading) !important; font-size: 24px !important; font-weight: 400 !important; margin: 0 0 18px !important; color: #000 !important;
}
html body.ordering-process .co-box h4 svg, html body.ordering-process .co-box h4 img, html body.ordering-process .co-box h4::before { display: none !important; }
html body.ordering-process .radio-wrapper {
  position: relative; margin: 0 0 10px !important; padding: 0 !important;
  border: 1px solid rgba(0, 0, 0, .12) !important; border-radius: 14px !important; background: #fff !important; transition: border-color .2s;
}
html body.ordering-process .radio-wrapper:hover { border-color: rgba(0, 0, 0, .35) !important; }
html body.ordering-process .radio-wrapper.active { border-color: #000 !important; box-shadow: inset 0 0 0 1px #000; }
html body.ordering-process .radio-wrapper label {
  display: flex !important; align-items: center; gap: 16px; width: 100%; margin: 0 !important; padding: 16px 18px 16px 48px !important; cursor: pointer;
}
/* Shoptet skrývá skutečný přepínač a kreslí ho přes label::before – kreslíme vlastní kolečko */
html body.ordering-process .radio-wrapper label { position: relative; }
html body.ordering-process .radio-wrapper label::before {
  content: "" !important; display: block !important; position: absolute !important;
  left: 18px !important; top: 50% !important; right: auto !important; transform: translateY(-50%) !important;
  width: 18px !important; height: 18px !important; margin: 0 !important;
  border: 1.5px solid rgba(0, 0, 0, .35) !important; border-radius: 50% !important; background: #fff !important; box-shadow: none !important;
}
html body.ordering-process .radio-wrapper.active label::before,
html body.ordering-process .radio-wrapper input:checked + label::before {
  border-color: #000 !important; background: #000 !important; box-shadow: inset 0 0 0 4px #fff !important;
}
html body.ordering-process .radio-wrapper label::after { display: none !important; }
html body.ordering-process .radio-wrapper .payment-logo { flex: none; }
html body.ordering-process .radio-wrapper .payment-shipping-price { flex: none; margin-left: auto; }
html body.ordering-process .radio-wrapper .payment-info { flex: 1; min-width: 0; max-width: none !important; width: auto !important; }
html body.ordering-process .order-summary .for-free, html body.ordering-process .order-summary [class*="price"] { color: #000 !important; }
html body.ordering-process .radio-wrapper .shipping-billing-name,
html body.ordering-process .radio-wrapper b {
  font-family: var(--pf-body) !important; font-size: 15px !important; font-weight: 600 !important;
  letter-spacing: 0 !important; text-transform: none !important; color: #000 !important;
}
html body.ordering-process .radio-wrapper .sublabel, html body.ordering-process .radio-wrapper .sublabel a { display: block; margin-top: 2px; font-size: 13px !important; color: rgba(0, 0, 0, .55) !important; }
html body.ordering-process .radio-wrapper .payment-logo img { max-height: 24px; width: auto; }
html body.ordering-process .radio-wrapper .payment-shipping-price { font-size: 14px !important; font-weight: 600 !important; color: #000 !important; white-space: nowrap; }
html body.ordering-process .co-box table, html body.ordering-process .co-box td { border: 0 !important; background: none !important; }

/* krok 2 – údaje: sekce oddělené linkou */
html body.in-krok-2 .co-box,
html body.in-krok-2 fieldset.box { padding: 0 0 28px !important; margin: 0 0 28px !important; border-bottom: 1px solid rgba(0, 0, 0, .1) !important; }

/* =====================================================================
   PRÁZDNÝ KOŠÍK
   ===================================================================== */
html body .cart-inner.cart-empty { max-width: 560px; margin: 48px auto 0; text-align: center; }
html body .cart-inner.cart-empty .cart-header { display: none !important; }
html body .cart-inner.cart-empty .cart-row { display: block !important; margin: 0 !important; }
html body .cart-inner.cart-empty .cart-row > [class*="col-"] { width: 100% !important; float: none !important; padding: 0 !important; }
html body .cart-inner.cart-empty .cart-row > .col-md-4 { display: none !important; }
html body .cart-inner.cart-empty .cart-heading { font-size: clamp(30px, 3vw, 40px) !important; margin: 0 0 12px !important; }
html body .cart-inner.cart-empty .empty-cart-boxes { display: block !important; margin: 0 !important; }
html body .cart-inner.cart-empty .empty-cart-boxes > div { width: 100% !important; float: none !important; padding: 0 !important; }
html body .cart-inner.cart-empty .empty-cart-boxes > div:nth-child(2) { display: none !important; }
html body .cart-inner.cart-empty .empty-cart-boxes h3 { font-family: var(--pf-body) !important; font-size: 13px !important; font-weight: 500 !important; color: rgba(0, 0, 0, .5) !important; margin: 40px 0 14px !important; }
html body .cart-inner.cart-empty .empty-cart-boxes ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; list-style: none; padding: 0 !important; margin: 0 !important; }
html body .cart-inner.cart-empty .empty-cart-boxes li { margin: 0 !important; padding: 0 !important; }
html body .cart-inner.cart-empty .empty-cart-boxes li::before { display: none !important; }
html body .cart-inner.cart-empty .empty-cart-boxes li a {
  display: inline-flex; padding: 10px 18px; border: 1px solid rgba(0, 0, 0, .15); border-radius: 999px;
  font-size: 14px; color: #000 !important; text-decoration: none !important; transition: border-color .2s;
}
html body .cart-inner.cart-empty .empty-cart-boxes li a:hover { border-color: #000; }
.pf-empty-icon { width: 72px; height: 72px; margin: 0 auto 24px; border-radius: 50%; background: var(--pf-surface); display: flex; align-items: center; justify-content: center; }
.pf-empty-icon svg { width: 30px; height: 30px; }
.pf-empty-lead { margin: 0 0 28px !important; font-size: 15px; color: rgba(0, 0, 0, .6); }

/* Stránka 404 */
html body.in-404 .sidebar { display: none !important; }
html body.in-404 main.content { width: 100% !important; float: none !important; }
html body .empty-content-404 { max-width: 560px; margin: 64px auto; text-align: center; }
html body .empty-content-404 h1 { font-size: clamp(32px, 3vw, 44px) !important; margin: 0 0 12px !important; }
html body .empty-content-404 h2 { font-family: var(--pf-body) !important; font-size: 16px !important; font-weight: 500 !important; color: rgba(0, 0, 0, .6) !important; }

/* =====================================================================
   KLIENTSKÁ SEKCE (/klient/…) – tabulky a menu účtu
   ===================================================================== */
html body.pf-account .content-inner > h1 { font-size: clamp(30px, 3vw, 40px) !important; margin-bottom: 24px !important; }
html body.pf-account table { width: 100%; border-collapse: collapse; }
html body.pf-account table th {
  padding: 12px 10px !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: .06em; text-transform: uppercase;
  color: rgba(0, 0, 0, .55) !important; background: none !important; border: 0 !important; border-bottom: 1px solid rgba(0, 0, 0, .12) !important; text-align: left;
}
html body.pf-account table td {
  padding: 14px 10px !important; font-size: 14px !important; color: #000 !important;
  background: none !important; border: 0 !important; border-bottom: 1px solid rgba(0, 0, 0, .08) !important;
}
html body.pf-account table tr:hover td { background: var(--pf-surface) !important; }
html body.pf-account table a { color: #000 !important; text-decoration: underline; text-underline-offset: 3px; }
html body.pf-account .sidebar .box { background: #fff !important; border: 1px solid rgba(0, 0, 0, .1) !important; }
html body.pf-account .sidebar a { color: #000 !important; }
html body.pf-account .sidebar li.active > a, html body.pf-account .sidebar a:hover { color: #555 !important; font-weight: 600; }
html body.pf-account .co-box, html body.pf-account fieldset.box {
  background: transparent !important; border: 0 !important; box-shadow: none !important;
  padding: 0 0 28px !important; margin: 0 0 28px !important; border-bottom: 1px solid rgba(0, 0, 0, .1) !important;
}
html body.pf-account h2, html body.pf-account .h4 { font-family: var(--pf-body) !important; font-size: 16px !important; font-weight: 600 !important; }

/* Mobil: košík a objednávka v jednom sloupci */
@media (max-width: 991px) {
  html body.ordering-process .sidebar-in-cart,
  html body.ordering-process #checkoutSidebar { padding-left: 0 !important; margin-top: 24px; }
  html body.in-kosik .cart-table, html body.in-kosik .cart-table tbody, html body.in-kosik .cart-table tr { display: block; }
  html body.in-kosik .cart-table tr.removeable {
    display: grid !important; grid-template-columns: 80px 1fr auto; grid-template-areas: "img name total" "img qty total";
    gap: 8px 14px; padding: 16px 0;
  }
  html body.in-kosik .cart-table td { padding: 0 !important; display: block; }
  html body.in-kosik .cart-table .cart-p-image { grid-area: img; width: 80px; }
  html body.in-kosik .cart-table .cart-p-image a { width: 80px; height: 80px; }
  html body.in-kosik .cart-table .p-name { grid-area: name; }
  html body.in-kosik .cart-table .p-quantity { grid-area: qty; }
  html body.in-kosik .cart-table .p-total { grid-area: total; }
  html body.in-kosik .cart-table .p-availability, html body.in-kosik .cart-table .p-price { display: none !important; }
  html body.ordering-process .cart-header .step > a > span, html body.ordering-process .cart-header .step > strong > span { display: none; }
  html body.ordering-process .cart-header .step.active > a > span, html body.ordering-process .cart-header .step.active > strong > span { display: inline; }
}

/* Rekapitulace objednávky v bočním panelu – čisté řádky */
html body.ordering-process .order-summary .cart-item,
html body.ordering-process .order-summary .order-summary-item,
html body.ordering-process .order-summary .recapitulation-single {
  display: flex !important; justify-content: space-between; align-items: baseline; gap: 12px;
  padding: 10px 0 !important; border: 0 !important; border-bottom: 1px solid rgba(0, 0, 0, .08) !important; background: none !important;
}
html body.ordering-process .order-summary .cart-item > div,
html body.ordering-process .order-summary .order-summary-item > div { border: 0 !important; padding: 0 !important; background: none !important; }
html body.ordering-process .order-summary .cart-item-name { flex: 1; min-width: 0; }
html body.ordering-process .order-summary .cart-item-name a { font-size: 14px !important; color: #000 !important; text-decoration: none !important; }
html body.ordering-process .order-summary .cart-item-amount { color: rgba(0, 0, 0, .5) !important; font-size: 13px !important; }
html body.ordering-process .order-summary .cart-item-price { font-size: 14px !important; font-weight: 600; }
html body.ordering-process .order-summary .order-summary-item strong,
html body.ordering-process .order-summary .recapitulation-shipping-billing-label { font-size: 13px !important; font-weight: 500 !important; color: rgba(0, 0, 0, .6) !important; }
html body.ordering-process .order-summary .recapitulation-shipping-billing-info { font-size: 13px !important; font-weight: 500 !important; text-align: right; }
html body.ordering-process .order-summary .recapitulation-shipping-billing-info span { color: #000 !important; font-weight: 600; margin-right: 6px; }
html body.ordering-process .order-summary .order-summary-item.price { border-bottom: 0 !important; padding-top: 16px !important; }
html body.ordering-process .order-summary .order-summary-item.price .price-wrapper { width: 100%; margin: 0; }
html body.ordering-process .order-summary .order-summary-item { flex-wrap: nowrap !important; }
html body.ordering-process .order-summary .order-summary-item > div:first-child { flex: 1; }
html body.ordering-process .order-summary .order-summary-item > div:last-child { font-size: 14px; font-weight: 600; white-space: nowrap; }
html body.ordering-process .order-summary .order-summary-item.price { display: block !important; margin: 0 !important; }
html body.ordering-process .order-summary .order-summary-item.price .price-wrapper { display: flex !important; justify-content: space-between; align-items: baseline; padding: 0 !important; }
html body.ordering-process .order-summary .order-summary-item.price .price-label { font-size: 14px !important; color: rgba(0, 0, 0, .6) !important; }
html body.ordering-process .order-summary .order-summary-item.price .price,
html body.ordering-process .order-summary .order-summary-item.price .price span { font-size: 26px !important; font-weight: 600 !important; color: #000 !important; }
html body.ordering-process .order-summary .order-summary-item > div:first-child, html body.ordering-process .order-summary .order-summary-item > div:first-child * { width: auto !important; max-width: none !important; white-space: nowrap; }
html body #header .navigation-buttons .btn.cart-count { border: 0 !important; padding: 0 !important; min-height: 0 !important; background: transparent !important; color: #000 !important; }
html body #header .navigation-buttons .btn.cart-count:hover { background: #f4f4f5 !important; }
html body .cart-widget .cart-free-shipping { position: static !important; top: auto !important; bottom: auto !important; left: auto !important; right: auto !important; height: auto !important; }
html body .cart-widget .cart-widget-inner { height: auto !important; }
html body.in-login .alternative-links a { display: inline !important; width: auto !important; margin: 0 !important; }
html body.in-login .alternative-links { flex-direction: row !important; align-items: center; }

/* Přepínače a zaškrtávátka Shoptetu (kreslené přes label::before/::after) – černě */
html body input[type="radio"] + label::before,
html body input[type="checkbox"] + label::before { border-color: rgba(0, 0, 0, .35) !important; }
html body input[type="radio"]:checked + label::before,
html body input[type="checkbox"]:checked + label::before { border-color: #000 !important; }
html body input[type="radio"]:checked + label::after,
html body input[type="checkbox"]:checked + label::after { background-color: #000 !important; }
html body input[type="checkbox"] + label::before,
html body input[type="checkbox"] + label::after { border-radius: 3px !important; }
/* registrace: oddělovací linky bez zaoblení */
html body.in-registrace #register-form > fieldset,
html body.in-registrace #register-form > .co-box,
html body.in-registrace #register-form .box { border-radius: 0 !important; }

/* =====================================================================
   NOTIFIKACE – moderní „toast“ vpravo nahoře místo pruhu přes celou šířku
   ===================================================================== */
html body .messages {
  position: fixed !important; top: 112px !important; right: 24px !important; left: auto !important; bottom: auto !important;
  width: auto !important; max-width: min(420px, calc(100vw - 32px)) !important;
  margin: 0 !important; padding: 0 !important; background: none !important; z-index: 100000 !important;
  display: flex; flex-direction: column; gap: 10px; pointer-events: none;
}
html body .messages .msg, html body .msg {
  position: relative !important; display: flex !important; align-items: center; gap: 12px;
  width: auto !important; min-height: 0 !important; height: auto !important; margin: 0 !important;
  padding: 14px 44px 14px 14px !important;
  background: #fff !important; color: #000 !important;
  border: 1px solid rgba(0, 0, 0, .08) !important; border-radius: 16px !important;
  box-shadow: 0 20px 48px -18px rgba(0, 0, 0, .35) !important;
  font-family: var(--pf-body) !important; font-size: 14px !important; font-weight: 500 !important; line-height: 1.45 !important;
  text-align: left !important; pointer-events: auto;
  animation: pf-toast-in .35s cubic-bezier(.2, .8, .2, 1) both;
}
html body .messages .msg .container { width: auto !important; max-width: none !important; padding: 0 !important; margin: 0 !important; background: none !important; }
html body .messages .msg span, html body .messages .msg .container * { color: #000 !important; font-size: 14px !important; }
html body .messages .msg a { color: #000 !important; text-decoration: underline !important; text-underline-offset: 3px; font-weight: 600; }
html body .messages .msg::before {
  content: "i"; flex: none; display: inline-flex !important; align-items: center; justify-content: center;
  position: static !important; width: 28px; height: 28px; border-radius: 50%;
  background: #000; color: #fff; font-size: 14px; font-weight: 700; line-height: 1;
}
html body .messages .msg-success::before { content: "✓"; background: #1f6b2e; }
html body .messages .msg-error::before { content: "!"; background: #b42318; }
html body .messages .msg-success, html body .messages .msg-error, html body .messages .msg-info { background: #fff !important; color: #000 !important; }
html body .messages .msg::after {
  content: "×"; position: absolute; right: 14px; top: 50%; transform: translateY(-50%);
  font-size: 20px; line-height: 1; color: rgba(0, 0, 0, .4);
}
@keyframes pf-toast-in { from { opacity: 0; transform: translateY(-12px) scale(.98); } to { opacity: 1; transform: none; } }
@media (max-width: 767px) {
  html body .messages { top: 64px !important; right: 12px !important; left: 12px !important; max-width: none !important; }
}

/* =====================================================================
   NÁHLED KOŠÍKU – jedna čistá karta (bez vnitřního rámečku a šipky)
   ===================================================================== */
html body #cart-widget::before, html body #cart-widget::after,
html body .cart-widget.popup-widget::before, html body .cart-widget.popup-widget::after { display: none !important; }
html body #cart-widget .popup-widget-inner,
html body .user-action #cart-widget .cart-widget-inner,
html body .user-action .cart-widget .popup-widget-inner {
  border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: #fff !important;
  padding: 20px 20px 0 !important; margin: 0 !important;
}
html body #cart-widget { margin-top: 8px !important; }
html body #cart-widget .cart-widget-button { padding: 16px 20px 20px !important; margin: 0 !important; }
html body #cart-widget .cart-free-shipping { margin: 4px 0 0 !important; }
html body #cart-widget .cart-widget-product { border-bottom: 0 !important; margin-bottom: 0 !important; padding-bottom: 12px !important; }
html body #cart-widget .cart-widget-product + .cart-widget-product { border-top: 1px solid rgba(0, 0, 0, .08) !important; padding-top: 12px !important; }
html body #cart-widget .cart-widget-product-name strong a { font-size: 17px !important; }

/* =====================================================================
   KOŠÍK – bez „Potřebujete pomoc?“, kroky přes celou šíři, box pod položkami
   ===================================================================== */
html body.ordering-process .checkout-box-wrapper,
html body.ordering-process .sidebar-in-cart > .cart-content:first-child:not(.summary-wrapper),
html body.ordering-process .checkout-box { display: none !important; }
/* kroky přesunuté skriptem nad oba sloupce */
html body.ordering-process .pf-steps-wide { margin: 0 0 36px; }
html body.ordering-process .pf-steps-wide .cart-header { margin: 0 !important; }
html body.ordering-process .pf-steps-wide .cart-header .step { justify-content: flex-start; }
html body.ordering-process .summary-wrapper { margin-top: 0 !important; }
html body.ordering-process .sidebar-in-cart, html body.ordering-process #checkoutSidebar { padding-top: 0 !important; }
/* Dárky a slevy */
html body.in-kosik .cart-summary { display: flex !important; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; }
html body.in-kosik .cart-summary > h2, html body.in-kosik .cart-summary > .h4 { margin: 0 !important; }
html body.in-kosik .cart-summary .extras-wrapper { display: flex !important; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin: 0 !important; width: auto !important; flex: 1; justify-content: flex-end; }
html body.in-kosik .cart-summary .extras-col { width: auto !important; float: none !important; padding: 0 !important; margin: 0 !important; }
html body.in-kosik .cart-summary .extras-col:empty { display: none !important; }
html body.in-kosik .cart-summary .extras-wrap, html body.in-kosik .cart-summary .extra { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
html body.in-kosik .cart-summary .extra { display: inline-flex !important; align-items: center; gap: 10px; }
html body.in-kosik .cart-summary .extra::before { position: static !important; transform: none !important; margin: 0 !important; font-size: 20px !important; color: #000 !important; }
html body.in-kosik .cart-summary .extra span, html body.in-kosik .cart-summary .extra strong { font-size: 14px !important; font-weight: 500 !important; }
html body.in-kosik .cart-summary input.form-control { min-height: 44px; background: #fff !important; }

/* Doprava a platba – ikony u nadpisů černé */
html body.ordering-process .co-box h4 svg, html body.ordering-process .co-box h4 img,
html body.ordering-process .co-box h4::before { display: inline-block !important; }
html body.ordering-process .co-box h4 svg, html body.ordering-process .co-box h4 svg * { color: #000 !important; fill: currentColor; stroke: currentColor; }
html body.ordering-process .co-box h4::before { color: #000 !important; }
html body.ordering-process .co-box h4 img { filter: grayscale(1) brightness(0); }
html body.ordering-process .cart-row > [class*="col-md-8"] > .cart-content,
html body.ordering-process #checkoutContent > .cart-content { padding-left: 0 !important; padding-right: 0 !important; }
html body.ordering-process .cart-row > [class*="col-md-8"] { padding-right: 24px !important; }
html body.in-kosik .cart-summary .extras-col:not(:has(*)) { display: none !important; }
html body.in-kosik .cart-summary .extras-wrapper { justify-content: flex-end !important; }
html body.ordering-process .pf-steps-wide { margin-left: -20px !important; }
html body.in-kosik .cart-summary .extras-wrapper { display: block !important; text-align: right; }
html body.in-kosik .cart-summary .extras-col, html body.in-kosik .cart-summary .extras-wrap { display: inline-block !important; }
@media (max-width: 991px) { html body.ordering-process .pf-steps-wide { margin-left: 0 !important; } }

/* Doprava a platba: vlastní černé ikony místo modrých ikon Shoptetu */
html body.ordering-process h2.order-icon {
  display: flex !important; align-items: center; gap: 14px;
  font-family: var(--pf-heading) !important; font-size: 26px !important; font-weight: 400 !important; color: #000 !important;
  padding-left: 0 !important; margin: 0 0 20px !important;
}
html body.ordering-process h2.order-icon::before {
  content: "" !important; position: static !important; transform: none !important; flex: none;
  display: inline-block !important; width: 44px !important; height: 44px !important; margin: 0 !important;
  border-radius: 50%; background-color: var(--pf-surface) !important;
  background-repeat: no-repeat !important; background-position: center !important; background-size: 22px 22px !important;
  font-size: 0 !important; color: transparent !important;
}
html body.ordering-process h2.order-delivery::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 6h11v10H2z'/%3E%3Cpath d='M13 9h4.5L21 12.5V16h-8'/%3E%3Ccircle cx='6' cy='17.5' r='1.8'/%3E%3Ccircle cx='17' cy='17.5' r='1.8'/%3E%3C/svg%3E") !important;
}
html body.ordering-process h2.order-payment::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='5' width='19' height='14' rx='2.5'/%3E%3Cpath d='M2.5 9.5h19'/%3E%3Cpath d='M6 15h4'/%3E%3C/svg%3E") !important;
}
html body.ordering-process h2.order-icon::after { display: none !important; }

/* =====================================================================
   OBJEDNÁVKA – krok „Informace o vás“ (in-krok-2)
   ===================================================================== */
html body.in-krok-2 #checkoutContent .cart-content > fieldset.co-box,
html body.in-krok-2 #checkoutContent .co-billing-address > fieldset,
html body.in-krok-2 #checkoutContent .co-shipping-address > fieldset,
html body.in-krok-2 #checkoutContent .co-box > fieldset.box {
  display: grid !important; grid-template-columns: 1fr 1fr; gap: 16px 20px; align-items: start;
  padding: 0 !important; margin: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important;
}
html body.in-krok-2 #checkoutContent fieldset > * { grid-column: 1 / -1; }
html body.in-krok-2 #checkoutContent fieldset > .form-group:has(#email),
html body.in-krok-2 #checkoutContent fieldset > .form-group:has(#phone),
html body.in-krok-2 #checkoutContent fieldset > .form-group:has(#billCity),
html body.in-krok-2 #checkoutContent fieldset > .form-group:has(#billZip),
html body.in-krok-2 #checkoutContent fieldset > .form-group:has(#deliveryCity),
html body.in-krok-2 #checkoutContent fieldset > .form-group:has(#deliveryZip) { grid-column: auto; }
html body.in-krok-2 #checkoutContent .co-box,
html body.in-krok-2 #checkoutContent .cart-content > fieldset.co-box {
  padding: 0 0 32px !important; margin: 0 0 32px !important; border: 0 !important; border-bottom: 1px solid rgba(0, 0, 0, .1) !important;
  background: none !important; box-shadow: none !important; border-radius: 0 !important;
}
html body.in-krok-2 #checkoutContent .co-box:last-child { border-bottom: 0 !important; }
/* nadpisy sekcí s ikonou */
html body.in-krok-2 #checkoutContent h2 {
  display: flex !important; align-items: center; gap: 14px; position: relative;
  margin: 0 0 4px !important; padding: 0 !important; min-height: 44px;
  font-family: var(--pf-heading) !important; font-size: 26px !important; font-weight: 400 !important; color: #000 !important;
}
html body.in-krok-2 #checkoutContent h2::before {
  content: "" !important; position: static !important; transform: none !important; flex: none;
  display: inline-block !important; width: 44px !important; height: 44px !important; margin: 0 !important;
  border-radius: 50%; background-color: var(--pf-surface) !important; background-repeat: no-repeat !important;
  background-position: center !important; background-size: 22px 22px !important; font-size: 0 !important; color: transparent !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-6.2 7-11.5A7 7 0 0 0 5 9.5C5 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") !important;
}
html body.in-krok-2 #checkoutContent .cart-content > fieldset.co-box:first-child h2::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E") !important;
}
html body.in-krok-2 #checkoutContent h2::after { display: none !important; }
/* pole: popisek nad polem, pole přes celou šířku sloupce */
html body.in-krok-2 #checkoutContent .form-group,
html body.in-krok-2 #checkoutContent .form-group--inline { display: block !important; margin: 0 !important; padding: 0 !important; }
html body.in-krok-2 #checkoutContent .form-group--inline > label,
html body.in-krok-2 #checkoutContent .form-group--inline > p.label,
html body.in-krok-2 #checkoutContent .smart-label-wrapper > label {
  display: block !important; width: auto !important; float: none !important; min-height: 0 !important; height: auto !important;
  margin: 0 0 6px !important; padding: 0 !important; text-align: left !important;
  font-size: 13px !important; font-weight: 500 !important; color: #000 !important; line-height: 18px !important;
}
html body.in-krok-2 #checkoutContent .form-control-wrapper { display: block !important; width: 100% !important; max-width: none !important; margin: 0 !important; float: none !important; }
html body.in-krok-2 #checkoutContent .form-control { width: 100% !important; max-width: none !important; }
html body.in-krok-2 #checkoutContent .form-control.short { max-width: 100% !important; }
html body.in-krok-2 #checkoutContent .phone-combined-input { display: flex !important; align-items: stretch; gap: 8px; width: 100% !important; max-width: none !important; }
html body.in-krok-2 #checkoutContent .phone-combined-input .country-flags {
  flex: none; border: 1px solid rgba(0, 0, 0, .18) !important; border-radius: 12px !important; background: #fff !important; min-height: 48px;
}
html body.in-krok-2 #checkoutContent .phone-combined-input .form-control { flex: 1; }
html body.in-krok-2 #checkoutContent .form-legend { margin: 0 !important; font-size: 12px !important; text-align: left !important; color: rgba(0, 0, 0, .5) !important; }
html body.in-krok-2 #checkoutContent .form-legend * { font-size: 12px !important; color: rgba(0, 0, 0, .5) !important; }
html body.in-krok-2 #checkoutContent .form-group--inline:has(.login-button) {
  display: flex !important; align-items: center; justify-content: space-between; gap: 16px;
  padding: 14px 16px !important; border-radius: 14px; background: var(--pf-surface);
}
html body.in-krok-2 #checkoutContent .form-group--inline:has(.login-button) > p.label { margin: 0 !important; font-size: 14px !important; color: rgba(0, 0, 0, .65) !important; }
html body.in-krok-2 #checkoutContent .login-button {
  background: #fff !important; color: #000 !important; border: 1px solid #000 !important; min-height: 40px !important; padding: 8px 20px !important; font-size: 14px !important;
}
html body.in-krok-2 #checkoutContent .login-button:hover { background: #000 !important; color: #fff !important; }
html body.in-krok-2 #checkoutContent .form-group--inline:has(.js-location) strong { font-size: 15px; font-weight: 500; }
/* zaškrtávátka (firma, jiná adresa, poznámka, newsletter) */
html body.in-krok-2 #checkoutContent .form-group:has(> input[type="checkbox"]) { padding: 4px 0 !important; }
html body.in-krok-2 #checkoutContent label.whole-width { font-size: 14px !important; font-weight: 500 !important; color: #000 !important; }
html body.in-krok-2 #checkoutContent .stay-in-touch { display: flex !important; flex-direction: column; gap: 8px; border: 0 !important; padding: 0 !important; margin: 12px 0 0 !important; }
/* rekapitulace a tlačítko */
html body.in-krok-2 #checkoutSidebar .order-summary span, html body.ordering-process .order-summary .recapitulation-single span { color: #000 !important; }
html body.ordering-process #submit-order span { color: #fff !important; }
html body.ordering-process #submit-order { display: flex !important; flex-wrap: wrap; gap: 0 6px; justify-content: center; align-items: center; }
html body.ordering-process #submit-order .order-button-suffix { font-weight: 400 !important; opacity: .75; }
html body.ordering-process .next-step-finish ~ *, html body.ordering-process #checkoutSidebar p { font-size: 13px; color: rgba(0, 0, 0, .6); }
@media (max-width: 767px) {
  html body.in-krok-2 #checkoutContent fieldset { grid-template-columns: 1fr !important; }
  html body.in-krok-2 #checkoutContent fieldset > .form-group { grid-column: 1 / -1 !important; }
}
html body.ordering-process #checkoutContent .form-group .js-location--hidden, html body.ordering-process #checkoutContent .js-hidden:not(.visible), html body.ordering-process .js-location--hidden, html body.in-registrace .js-hidden:not(.visible) { display: none !important; }
html body.in-krok-2 #checkoutContent #company-info.visible,
html body.in-krok-2 #checkoutContent #shipping-address.visible > fieldset { display: grid !important; grid-template-columns: 1fr 1fr; gap: 16px 20px; }
html body.in-krok-2 #checkoutContent #company-info > * { grid-column: 1 / -1; }
html body.ordering-process .question-tooltip, html body.in-registrace .question-tooltip { background: #000 !important; color: #fff !important; border-color: #000 !important; }
html body.in-krok-2 #checkoutContent #shipping-address.visible { display: grid !important; grid-template-columns: 1fr; gap: 16px; margin-top: 8px; }
html body.in-krok-2 #checkoutContent #shipping-address.visible > fieldset { gap: 16px 20px !important; }

/* ---------- patička: Shoptet + Ptacnik ---------- */
html body #footer #signature .title { display: none !important; }
html body #footer #signature { white-space: nowrap; }
html body #footer #signature > * { display: inline-block !important; vertical-align: middle; }
html body #footer #signature a.image img { width: 17px; height: 17px; opacity: .8; }
html body #footer #signature .pf-sign-plus { color: rgba(245,241,236,.4) !important; font-size: 14px; line-height: 1; margin: 0 10px; }
html body #footer #signature .pf-sign-partner { line-height: 17px; color: #f5f1ec !important; opacity: .8; font-family: var(--pf-body); font-size: 13px; font-weight: 600; letter-spacing: .02em; text-decoration: none; transition: opacity .2s; }
html body #footer #signature .pf-sign-partner:hover, html body #footer #signature a.image:hover img { opacity: 1; }
html body #footer #signature .pf-sign-partner img { display: block; height: 17px; width: auto; filter: brightness(0) invert(1); }

/* ---------- detail: hlavní fotka vždy 4:3, fotky se scénou vyplní rámeček ---------- */
html body.type-product .p-image .p-main-image { display: block !important; position: relative !important; aspect-ratio: 4 / 3; height: auto !important; overflow: hidden; }
html body.type-product .p-image .p-main-image > img { width: 100% !important; height: 100% !important; object-fit: contain; }
html body.type-product .p-image .p-main-image.pf-photo, html body .products-block .p a.image.pf-photo { background: #ece6df !important; }

/* ---------- detail: miniatury pod fotkou ---------- */
html body.type-product .p-thumbnails, html body.type-product .p-thumbnails-inner { height: 106px !important; }
html body.type-product .p-thumbnails a.p-thumbnail { position: relative; display: block; width: 106px !important; height: 106px !important; margin-right: 8px !important; min-width: 0 !important; padding: 0 !important; background: var(--pf-surface) !important; border: 0 !important; border-radius: 12px !important; box-shadow: none !important; overflow: hidden; opacity: .6; transition: opacity .2s ease; }
html body.type-product .p-thumbnail::before { display: none !important; }
html body.type-product .p-thumbnail::after { content: "" !important; display: block !important; position: absolute !important; inset: 0 !important; z-index: 2; border-radius: inherit; box-shadow: inset 0 0 0 2px transparent; background: none !important; pointer-events: none; transition: box-shadow .2s ease; }
html body.type-product .p-thumbnails a.p-thumbnail img { width: 100% !important; height: 100% !important; object-fit: cover; border: 0 !important; border-radius: 0 !important; mix-blend-mode: multiply; }
html body.type-product .p-thumbnails a.p-thumbnail:hover { opacity: .85; }
html body.type-product .p-thumbnails a.p-thumbnail.highlighted { opacity: 1; }
html body.type-product .p-thumbnail.highlighted::after { box-shadow: inset 0 0 0 2px var(--pf-btn); }
html body.type-product .p-thumbnail.pf-photo { background: #ece6df !important; }

/* ---------- varianty: barevná kolečka ---------- */
html body.type-product .detail-parameters select.pf-swatch-select { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; }
html body.type-product .detail-parameters .variant-list { display: block !important; }
html body.type-product .detail-parameters .variant-list th, html body.type-product .detail-parameters .variant-list td { display: block !important; width: auto !important; padding: 0 !important; text-align: left !important; }
html body.type-product .detail-parameters .variant-list th label { display: block; margin: 0 0 12px !important; font-size: 14px !important; font-weight: 600 !important; color: var(--pf-fg) !important; }
html body.type-product .pf-swatch-name { font-weight: 400; color: var(--pf-muted, #7a706a); }
html body.type-product .pf-swatches { display: flex; flex-wrap: wrap; gap: 12px; }
html body.type-product .pf-swatch { position: relative; width: 36px; height: 36px; padding: 3px !important; border: 0 !important; border-radius: 50% !important; background: transparent !important; box-shadow: inset 0 0 0 1px transparent; cursor: pointer; transition: box-shadow .2s ease; min-height: 0 !important; }
html body.type-product .pf-swatch span { display: block; width: 100%; height: 100%; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0,0,0,.12); }
html body.type-product .pf-swatch:hover { box-shadow: inset 0 0 0 1px rgba(0,0,0,.3); }
html body.type-product .pf-swatch.is-active { box-shadow: inset 0 0 0 2px var(--pf-btn); }
html body.type-product .pf-swatch.is-disabled { opacity: .35; cursor: not-allowed; }
html body.type-product .pf-swatch.is-disabled span::after { content: ""; position: absolute; left: 50%; top: 4px; bottom: 4px; width: 1.5px; background: var(--pf-fg); transform: rotate(45deg); }
html body.type-product .pf-swatch:focus-visible { outline: 2px solid var(--pf-accent); outline-offset: 2px; }

/* ---------- detail: fotky zůstávají při posouvání (sticky) až do konce popisu ---------- */
@media (min-width: 1200px) {
  html body.type-product .product-top { display: flex !important; flex-wrap: wrap; align-items: flex-start; }
  html body.type-product .product-top::before, html body.type-product .product-top::after { display: none !important; }
  html body.type-product .product-top > * { float: none !important; }
  html body.type-product .product-top > :not(.p-image-wrapper):not(.p-info-wrapper) { flex: 0 0 100%; }
  html body.type-product .product-top .p-image-wrapper { position: sticky !important; top: calc(var(--pf-header-h, 128px) + 24px); align-self: flex-start; z-index: 1; }
}

/* =====================================================================
   Textové stránky (Studio, Materiál, Kontakt …) – redakční rozvržení
   ===================================================================== */
html body.type-page .pageArticleDetail.pf-page { max-width: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
html body.type-page .pageArticleDetail.pf-page > header { display: none !important; }
html body.type-page.one-column-body:not(.pf-auth):not(.in-login):not(.in-registrace):not(.in-zapomenute-heslo) #content .content-inner { max-width: none !important; }
.pf-page-body { display: flex; flex-direction: column; gap: clamp(40px, 5vw, 64px); padding: clamp(16px, 3vw, 40px) 0 clamp(56px, 8vw, 112px); }
.pf-page-body p, .pf-contact p { font-size: 16px; line-height: 1.75; color: var(--pf-fg-80); margin: 0 0 16px; }
.pf-page-body p:last-child { margin-bottom: 0; }
.pf-page-body b, .pf-page-body strong { color: var(--pf-fg); font-weight: 600; }

/* úvod */
.pf-page-hero { max-width: 920px; }
.pf-page-hero .pf-eyebrow { margin: 0 0 20px !important; }
html body .pf-page-display { font-family: var(--pf-heading) !important; font-weight: 400 !important; font-size: clamp(44px, 7vw, 96px) !important; line-height: 1.02 !important; letter-spacing: -.02em; color: var(--pf-fg) !important; margin: 0 0 28px !important; }
.pf-page-lead { font-family: var(--pf-heading); font-size: clamp(22px, 2.4vw, 30px) !important; line-height: 1.3 !important; color: var(--pf-fg) !important; margin: 0 0 24px !important; }
.pf-page-hero__text { max-width: 680px; }
.pf-page-hero__text p { font-size: 18px; }

/* sekce: nadpis vlevo, text vpravo */
html body .pf-page-h { font-family: var(--pf-heading) !important; font-weight: 400 !important; font-size: clamp(30px, 3.4vw, 48px) !important; line-height: 1.1 !important; color: var(--pf-fg) !important; margin: 0 !important; }
.pf-page-sec { display: grid; grid-template-columns: 1fr; gap: 20px 64px; padding-top: clamp(40px, 5vw, 64px); border-top: 1px solid var(--pf-line); }
@media (min-width: 900px) { .pf-page-sec { grid-template-columns: 5fr 7fr; } }
.pf-page-sec__text { max-width: 720px; }
.pf-page-sub { font-weight: 600 !important; color: var(--pf-fg) !important; font-size: 17px !important; }

/* karty služeb */
.pf-page-sec--cards { grid-template-columns: 1fr !important; }
.pf-page-sec--cards .pf-page-sec__text { margin-top: -8px; }
.pf-page-cards { display: grid; grid-template-columns: 1fr; gap: 16px; margin-top: 16px; }
@media (min-width: 640px) { .pf-page-cards { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1200px) { .pf-page-cards { grid-template-columns: repeat(4, 1fr); } }
.pf-page-card { position: relative; display: flex; flex-direction: column; background: var(--pf-surface); border-radius: var(--pf-radius-lg); padding: 28px 28px 32px; overflow: hidden; }
.pf-page-card__no { font-family: var(--pf-heading); font-size: 64px; line-height: 1; color: var(--pf-fg); opacity: .12; padding-bottom: 40px; }
.pf-page-card .pf-eyebrow { margin: 0 0 10px !important; font-size: 11px; }
html body .pf-page-card h3 { font-family: var(--pf-heading) !important; font-weight: 400 !important; font-size: 24px !important; line-height: 1.2 !important; color: var(--pf-fg) !important; margin: 0 0 12px !important; }
.pf-page-card p { font-size: 15px !important; line-height: 1.65 !important; }

/* výzva k akci (tmavý blok) */
.pf-page-sec--cta { background: #14110f; color: #f5f1ec; border: 0; border-radius: var(--pf-radius-lg); padding: clamp(36px, 5vw, 72px); }
html body .pf-page-sec--cta .pf-page-h, .pf-page-sec--cta .pf-page-sub { color: #f5f1ec !important; }
.pf-page-sec--cta p { color: rgba(245, 241, 236, .72) !important; }
.pf-page-cta { margin-top: 28px !important; }
html body .pf-page-sec--cta .pf-page-cta .btn { background: #f5f1ec !important; color: #14110f !important; border-color: #f5f1ec !important; }
html body .pf-page-sec--cta .pf-page-cta .btn:hover { background: #fff !important; }
html body .pf-page-cta .btn { display: inline-flex; gap: 10px; align-items: center; text-decoration: none !important; }

/* závěrečné motto */
.pf-page-motto { text-align: center; padding: clamp(40px, 6vw, 80px) 0 0; border-top: 1px solid var(--pf-line); }
.pf-page-motto p { font-family: var(--pf-heading) !important; font-size: clamp(26px, 3.4vw, 44px) !important; line-height: 1.2 !important; color: var(--pf-fg) !important; max-width: 900px; margin: 0 auto !important; }

/* Kontakt */
.pf-contact { display: grid; grid-template-columns: 1fr; gap: 40px 80px; padding: clamp(16px, 3vw, 40px) 0 clamp(56px, 8vw, 112px); align-items: start; }
@media (min-width: 900px) { .pf-contact { grid-template-columns: 5fr 7fr; } }
.pf-contact__intro .pf-eyebrow { margin: 0 0 20px !important; }
.pf-contact__intro .pf-page-h { font-size: clamp(40px, 5vw, 72px) !important; margin-bottom: 24px !important; }
.pf-contact__intro p { font-size: 18px; max-width: 460px; }
.pf-contact__info { list-style: none; margin: 32px 0 0; padding: 0; border-top: 1px solid var(--pf-line); }
.pf-contact__info li { display: flex; gap: 16px; justify-content: space-between; padding: 16px 0; border-bottom: 1px solid var(--pf-line); font-size: 15px; }
.pf-contact__info li span { color: var(--pf-muted); }
.pf-contact__info a { color: var(--pf-fg) !important; text-decoration: none; }
.pf-contact__form { background: var(--pf-surface); border-radius: var(--pf-radius-lg); padding: clamp(24px, 4vw, 48px); }
.pf-contact__form fieldset { border: 0; margin: 0; padding: 0; }
.pf-contact__form .form-group { margin: 0 0 18px !important; }
.pf-contact__form label { display: block; font-size: 13px !important; font-weight: 600; color: var(--pf-fg) !important; margin: 0 0 8px !important; }
.pf-contact__form .form-control { width: 100% !important; max-width: none !important; background: #fff !important; border: 1px solid var(--pf-line) !important; border-radius: 12px !important; padding: 14px 16px !important; font-size: 15px !important; height: auto !important; box-shadow: none !important; }
.pf-contact__form textarea.form-control { min-height: 180px; resize: vertical; }
.pf-contact__form .form-control:focus { border-color: var(--pf-fg) !important; outline: none; }
.pf-contact__form .consents p { font-size: 13px !important; color: var(--pf-muted) !important; margin: 0 !important; }
.pf-contact__form .consents a { color: var(--pf-fg) !important; }
.pf-contact__form .submit-wrapper { margin: 24px 0 0 !important; }
.pf-contact__form .submit-wrapper .btn { width: 100%; }
@media (min-width: 640px) { .pf-contact__form .submit-wrapper .btn { width: auto; min-width: 200px; } }
html body .pf-contact__form form, html body .pf-contact__form fieldset, .pf-contact__form .form-group, .pf-contact__form .form-control-wrapper, .pf-contact__form .smart-label-wrapper { width: 100% !important; max-width: none !important; float: none !important; }

/* ---------- přepínač jazyka a měny ---------- */
.pf-locale-wrap { position: relative; display: inline-flex; align-items: center; }
html body .pf-locale-btn { width: auto !important; gap: 6px; padding: 0 8px !important; }
.pf-locale-btn__txt { font-size: 12px; font-weight: 600; letter-spacing: .04em; color: var(--pf-fg); }
@media (max-width: 767px) { .pf-locale-btn__txt { display: none; } }
.pf-locale { position: absolute; top: calc(100% + 12px); right: 0; z-index: 1200; width: 280px; background: #fff; border: 1px solid var(--pf-line); border-radius: var(--pf-radius); box-shadow: 0 18px 40px rgba(20, 17, 15, .12); padding: 18px; text-align: left; }
.pf-locale[hidden] { display: none !important; }
.pf-locale__h { margin: 0 0 10px !important; font-size: 11px !important; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--pf-muted) !important; }
.pf-locale__opts { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }
html body #header .pf-locale .pf-locale__opt, html body .pf-locale__opt { appearance: none; border: 1px solid var(--pf-line) !important; background: #fff !important; color: var(--pf-fg) !important; border-radius: 999px !important; padding: 7px 12px !important; font: 500 13px/1 var(--pf-body) !important; cursor: pointer; min-height: 0 !important; transition: border-color .2s; }
html body #header .pf-locale .pf-locale__opt:hover, html body .pf-locale__opt:hover { border-color: var(--pf-fg) !important; }
html body #header .pf-locale .pf-locale__opt.is-active, html body .pf-locale__opt.is-active { background: var(--pf-btn) !important; border-color: var(--pf-btn) !important; color: #fff !important; }
.pf-locale__note { margin: 0 !important; font-size: 12px !important; line-height: 1.5 !important; color: var(--pf-muted) !important; }
.pf-currency-note { margin: 0 0 16px !important; padding: 12px 16px; background: var(--pf-surface); border-radius: 12px; font-size: 13px !important; color: var(--pf-fg-80) !important; }
/* Google Překladač – schovat jeho lištu a widget */
.pf-gt, .goog-te-banner-frame, iframe.skiptranslate, #goog-gt-tt, .goog-te-balloon-frame, .VIpgJd-ZVi9od-ORHb-OEVmcd, .VIpgJd-ZVi9od-aZ2wEe-wOHMyf { display: none !important; }
html.pf-translated body { top: 0 !important; position: static !important; }
font[style*="background-color"] { background: transparent !important; box-shadow: none !important; }
html body.ordering-process .price-wrapper { flex-wrap: wrap; }
.pf-czk-approx { display: block; width: 100%; text-align: right; margin-top: 4px; font-size: 13px !important; font-weight: 500; color: var(--pf-muted) !important; }

/* ---------- výpis: barevná kolečka variant ---------- */
.pf-card-swatches { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin: 10px 0 0; order: 99; }
html body .pf-card-swatch { position: relative; width: 20px; height: 20px; min-height: 0 !important; padding: 2px !important; border: 0 !important; border-radius: 50% !important; background: transparent !important; box-shadow: inset 0 0 0 1px transparent; cursor: pointer; transition: box-shadow .2s ease; }
html body .pf-card-swatch span { display: block; width: 100%; height: 100%; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .14); }
html body .pf-card-swatch:hover { box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .35); }
html body .pf-card-swatch.is-active { box-shadow: inset 0 0 0 1.5px var(--pf-btn); }
html body .pf-card-swatch.is-disabled { opacity: .35; }
.pf-card-swatches__more { font-size: 12px; color: var(--pf-muted); margin-left: 2px; }
html body .products-block .p.pf-sw-hover .pf-img2 { opacity: 0 !important; }
html body .products-block .p.pf-sw-hover .image img { transform: none !important; }

/* =====================================================================
   Mobilní hlavička, vyhledávání a menu (do 1199 px)
   ===================================================================== */
@media (max-width: 1199px) {
  :root { --pf-mbar: 64px; }
  html body .top-navigation-bar { height: var(--pf-mbar) !important; min-height: var(--pf-mbar) !important; background: #fff !important; border-bottom: 1px solid var(--pf-line) !important; box-shadow: none !important; z-index: 1001 !important; }
  html body.mobile-header-version-1 { padding-top: 0 !important; }
  html body.mobile-header-version-1 .overall-wrapper { padding-top: var(--pf-mbar) !important; }
  /* #header leží nad lištou (ta má ikony), sám je průhledný a klikatelné jsou jen jeho prvky */
  html body #header { top: 0 !important; left: 0 !important; right: 0 !important; height: var(--pf-mbar) !important; z-index: 1002 !important; pointer-events: none; }
  html body #header .site-name, html body #header a.cart-count, html body #header .search, html body #header #navigation, html body #header .pf-locale-wrap { pointer-events: auto; }
  html body #header .site-name { position: absolute !important; top: 0 !important; left: 16px !important; height: var(--pf-mbar); display: flex !important; align-items: center; margin: 0 !important; padding: 0 !important; }
  html body #header .site-name a img, html body #header .site-name img { height: 38px !important; max-height: 38px !important; margin: 0 !important; }

  /* ikony vpravo: hledat · účet · košík · menu */
  html body .responsive-tools { position: fixed !important; top: 0; right: 8px; height: var(--pf-mbar); display: flex !important; align-items: center; gap: 0; z-index: 1002 !important; padding: 0 !important; margin: 0 !important; background: none !important; }
  html body .responsive-tools > a.toggle-window,
  html body #header a.cart-count { position: relative; display: inline-flex !important; align-items: center; justify-content: center; width: 42px !important; height: 42px !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 50% !important; background: transparent !important; box-shadow: none !important; color: var(--pf-fg) !important; font-size: 0 !important; }
  html body .responsive-tools > a.toggle-window::before,
  html body #header a.cart-count::before { content: "" !important; display: block !important; width: 22px; height: 22px; background: currentColor !important; -webkit-mask: var(--pf-ico) center / contain no-repeat; mask: var(--pf-ico) center / contain no-repeat; font-size: 0 !important; position: static !important; transform: none !important; margin: 0 !important; }
  html body .responsive-tools > a.toggle-window::after { display: none !important; }
  html body .responsive-tools > a[data-target="search"] { order: 1; --pf-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E"); }
  html body .responsive-tools > a[data-target="login"] { order: 2; display: inline-flex !important; --pf-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E"); }
  html body .responsive-tools > a[data-target="navigation"] { order: 4; --pf-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'%3E%3Cpath d='M4 8h16M4 16h16'/%3E%3C/svg%3E"); }
  html body .responsive-tools .pf-mcart-slot { order: 3; width: 42px; height: 42px; }
  html body #header .navigation-buttons a.btn.cart-count, html body #header a.cart-count { position: absolute !important; top: calc((var(--pf-mbar) - 42px) / 2) !important; right: 50px !important; left: auto !important; z-index: 3 !important; --pf-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1 12H6L5 8Z'/%3E%3Cpath d='M9 8a3 3 0 0 1 6 0'/%3E%3C/svg%3E"); }
  html body #header a.cart-count .cart-price, html body #header a.cart-count .sr-only { display: none !important; }
  html body #header a.cart-count i, html body #header a.cart-count .count, html body #header a.cart-count [class*="count"] { position: absolute !important; top: 5px !important; right: 3px !important; left: auto !important; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 9px; background: var(--pf-btn) !important; color: #fff !important; font: 600 10px/17px var(--pf-body) !important; font-style: normal !important; text-align: center; border: 0 !important; }

  /* vyhledávání: pruh pod hlavičkou */
  html body #header .search { display: none !important; }
  html body.search-window-visible #header .search { display: block !important; position: fixed !important; top: var(--pf-mbar) !important; left: 0 !important; right: 0 !important; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 12px 16px 16px !important; background: #fff !important; border-bottom: 1px solid var(--pf-line) !important; box-shadow: 0 16px 32px rgba(20, 17, 15, .08); z-index: 1000 !important; }
  html body #header .search form { width: 100% !important; max-width: none !important; margin: 0 !important; }
  html body #header .site-name a { display: block !important; line-height: 0 !important; margin: 0 !important; padding: 0 !important; }
  html body #header .search fieldset { display: flex !important; gap: 8px; margin: 0 !important; padding: 0 !important; border: 0 !important; position: relative; }
  html body #header .search .search-input { flex: 1; height: 48px !important; border: 1px solid var(--pf-line) !important; border-radius: 999px !important; padding: 0 18px !important; font-size: 16px !important; background: var(--pf-surface) !important; box-shadow: none !important; }
  html body #header .search .search-input:focus { border-color: var(--pf-fg) !important; background: #fff !important; outline: 0; }
  html body #header .search button[type="submit"] { height: 48px !important; padding: 0 20px !important; border-radius: 999px !important; background: var(--pf-btn) !important; border-color: var(--pf-btn) !important; color: #fff !important; font-size: 14px !important; }
  html body.search-window-visible .search-whisperer { top: 56px !important; left: 0 !important; right: 0 !important; border-radius: 16px !important; border: 1px solid var(--pf-line) !important; box-shadow: 0 16px 32px rgba(20, 17, 15, .1) !important; overflow: hidden; }

  /* menu: celá obrazovka */
  html body #navigation { background: #fff !important; padding-top: var(--pf-mbar) !important; z-index: 1100 !important; overflow-y: auto !important; }
  html body.navigation-window-visible #navigation::before { content: ""; position: fixed; top: 0; left: 0; right: 0; height: var(--pf-mbar); border-bottom: 1px solid var(--pf-line); background: #fff; z-index: 1; }
  html body:not(.navigation-window-visible) #navigation .navigation-close { display: none !important; }
  html body #navigation .navigation-close { position: fixed !important; top: calc((var(--pf-mbar) - 42px) / 2) !important; right: 8px !important; width: 42px !important; height: 42px !important; z-index: 2 !important; font-size: 0 !important; background: transparent !important; display: flex !important; align-items: center; justify-content: center; cursor: pointer; }
  html body #navigation .navigation-close::before { content: "" !important; width: 22px; height: 22px; background: var(--pf-fg) !important; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%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='black' stroke-width='1.7' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") center / contain no-repeat; font-size: 0 !important; }
  html body #navigation .navigation-close::after { display: none !important; }
  html body #navigation .navigation-in { padding: 12px 24px 32px !important; position: static !important; height: auto !important; }
  html body #navigation .menu-level-1 > li { border: 0 !important; border-bottom: 1px solid var(--pf-line) !important; }
  html body #navigation .menu-level-1 > li > a { display: flex !important; align-items: center; justify-content: space-between; padding: 18px 0 !important; font-family: var(--pf-heading) !important; font-size: 28px !important; font-weight: 400 !important; line-height: 1.15 !important; color: var(--pf-fg) !important; background: none !important; text-transform: none !important; letter-spacing: 0 !important; }
  html body #navigation .menu-level-1 > li > a b, html body #navigation .menu-level-1 > li > a span { font: inherit !important; padding: 0 !important; margin: 0 !important; color: inherit !important; }
  html body.navigation-window-visible #header .site-name { z-index: 1200 !important; }
  html body #navigation .menu-level-1 > li > a::after { content: "→"; font-family: var(--pf-body); font-size: 18px; color: var(--pf-muted); }
  html body #navigation .menu-level-1 > li > a.active, html body #navigation .menu-level-1 > li.active > a { color: var(--pf-accent) !important; }
  /* původní odkazy pod menu (Přihlášení…) – nahrazuje je náš blok */
  html body #navigation .navigation-in > :not(.menu-level-1):not(.pf-mnav) { display: none !important; }
  html body #navigation .menu-level-1 > li.menu-item-login, html body #navigation .menu-level-1 > li[class*="login"] { display: none !important; }
  .pf-mnav { padding-top: 28px; display: flex; flex-direction: column; gap: 28px; }
  .pf-mnav__links { display: flex; flex-direction: column; gap: 14px; margin: 0 !important; padding: 0 !important; list-style: none; }
  .pf-mnav__links li { margin: 0 !important; padding: 0 !important; border: 0 !important; }
  html body #navigation .pf-mnav a { padding: 0 !important; margin: 0 !important; background: none !important; border: 0 !important; min-height: 0 !important; }
  html body .pf-mnav__links a { font-size: 15px !important; color: var(--pf-fg) !important; text-decoration: none !important; display: inline-flex; align-items: center; gap: 10px; }
  .pf-mnav__links a svg { width: 18px; height: 18px; }
  .pf-mnav__sec { border-top: 1px solid var(--pf-line); padding-top: 20px; }
  .pf-mnav .pf-locale__h { margin: 0 0 10px !important; }
  .pf-mnav .pf-locale__opts { margin-bottom: 16px; }
  html body .pf-mnav .pf-locale__opt { appearance: none; border: 1px solid var(--pf-line) !important; background: #fff !important; color: var(--pf-fg) !important; border-radius: 999px !important; padding: 8px 13px !important; font: 500 13px/1 var(--pf-body) !important; min-height: 0 !important; }
  html body .pf-mnav .pf-locale__opt.is-active { background: var(--pf-btn) !important; border-color: var(--pf-btn) !important; color: #fff !important; }
  .pf-mnav__small { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 0 !important; padding: 20px 0 0 !important; list-style: none; }
  .pf-mnav__small li { margin: 0 !important; padding: 0 !important; border: 0 !important; }
  html body .pf-mnav__small a { font-size: 13px !important; color: var(--pf-muted) !important; text-decoration: none !important; }
  html.pf-nav-lock, html.pf-nav-lock body { overflow: hidden !important; }
}
/* blok mobilního menu (účet, jazyk, odkazy) patří jen na mobil */
@media (min-width: 1200px) {
  html body #navigation .pf-mnav, html body .pf-mcart-slot { display: none !important; }
}
/* více parametrů variant pod sebou – odsazení řádků */
html body.type-product .detail-parameters tr.variant-list { margin-bottom: 22px !important; }
html body.type-product .detail-parameters tr.variant-list:last-of-type { margin-bottom: 12px !important; }

/* ---------- konfigurátor barev ---------- */
html body.type-product .p-main-image .pf-cfg { position: absolute; inset: 0; z-index: 2; display: none; background: var(--pf-surface); overflow: hidden; }
html body.type-product .p-main-image.pf-cfg-on .pf-cfg { display: block; }
.pf-cfg__base { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; max-width: none !important; mix-blend-mode: normal !important; }
.pf-cfg__layer { position: absolute; inset: 0; mix-blend-mode: multiply; -webkit-mask-size: cover; mask-size: cover; -webkit-mask-position: center; mask-position: center; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; transition: background-color .35s ease, opacity .35s ease; pointer-events: none; }
.pf-cfg__badge { position: absolute; left: 16px; top: 16px; z-index: 3; padding: 6px 12px; border-radius: 999px; background: rgba(255, 255, 255, .9); font-size: 12px; font-weight: 600; letter-spacing: .02em; color: var(--pf-fg); pointer-events: none; }
html body.type-product .p-thumbnail.pf-cfg-thumb { position: relative; }
html body.type-product .p-thumbnail.pf-cfg-thumb .pf-cfg--mini { display: block; position: absolute; inset: 0; z-index: 1; }
html body.type-product .p-thumbnail.pf-cfg-thumb > img { opacity: 0; }

/* ===== Cookie lišta (v38) ===== */
html body .siteCookies { position: fixed !important; left: 24px !important; right: auto !important; bottom: 24px !important; top: auto !important; transform: none !important; width: 440px !important; max-width: calc(100vw - 32px) !important; margin: 0 !important; padding: 0 !important; background: transparent !important; border: 0 !important; border-radius: var(--pf-radius-lg) !important; box-shadow: none !important; z-index: 9999 !important; animation: pfCookieIn .45s cubic-bezier(.2,.7,.2,1) both; }
@keyframes pfCookieIn { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
html body .siteCookies .siteCookies__form { display: grid !important; grid-template-columns: 1fr auto; grid-template-areas: "text text" "set btns"; align-items: center; gap: 20px 12px !important; max-width: none !important; width: 100% !important; margin: 0 !important; padding: 26px 26px 22px !important; background: #fff !important; color: var(--pf-fg) !important; border: 1px solid var(--pf-line) !important; border-radius: var(--pf-radius-lg) !important; box-shadow: 0 24px 60px rgba(20, 17, 15, .14), 0 2px 8px rgba(20, 17, 15, .05) !important; }
html body .siteCookies .siteCookies__content { display: contents !important; }
html body .siteCookies .siteCookies__text { grid-area: text; margin: 0 !important; padding: 0 !important; font: 400 14px/1.6 var(--pf-body) !important; color: var(--pf-fg) !important; text-align: left !important; }
html body .siteCookies .siteCookies__text::before { content: "Cookies"; display: block; margin: 0 0 8px; font: 400 24px/1.15 var(--pf-heading); color: var(--pf-fg); }
html body .siteCookies .siteCookies__text a { color: var(--pf-fg) !important; text-decoration: underline !important; text-underline-offset: 3px; text-decoration-thickness: 1px; }
html body .siteCookies .siteCookies__text a:hover { color: var(--pf-accent) !important; }
html body .siteCookies .siteCookies__links { grid-area: set; margin: 0 !important; padding: 0 !important; }
html body .siteCookies .siteCookies__link { height: auto !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; color: var(--pf-muted) !important; font: 500 13px/1.2 var(--pf-body) !important; text-decoration: underline !important; text-underline-offset: 3px; cursor: pointer; }
html body .siteCookies .siteCookies__link:hover { color: var(--pf-fg) !important; }
html body .siteCookies .siteCookies__buttonWrap { grid-area: btns; display: flex !important; flex-direction: row !important; gap: 8px !important; margin: 0 !important; padding: 0 !important; width: auto !important; height: auto !important; }
html body .siteCookies .siteCookies__button { height: 44px !important; min-height: 0 !important; width: auto !important; margin: 0 !important; padding: 0 20px !important; border: 1px solid var(--pf-btn) !important; border-radius: 999px !important; background: #fff !important; color: var(--pf-btn) !important; font: 500 14px/1 var(--pf-body) !important; text-transform: none !important; letter-spacing: 0 !important; box-shadow: none !important; cursor: pointer; transition: background .2s, color .2s, border-color .2s; white-space: nowrap; }
html body .siteCookies .siteCookies__button[value="all"] { background: var(--pf-btn) !important; color: #fff !important; }
html body .siteCookies .siteCookies__button:hover { background: var(--pf-fg) !important; border-color: var(--pf-fg) !important; color: #fff !important; }
html body .siteCookies .siteCookies__button[value="all"]:hover { background: var(--pf-accent) !important; border-color: var(--pf-accent) !important; }
html body .siteCookies .siteCookies__button:focus-visible, html body .siteCookies .siteCookies__link:focus-visible { outline: 2px solid var(--pf-accent) !important; outline-offset: 2px; }
@media (max-width: 767px) {
  html body .siteCookies { left: 12px !important; right: 12px !important; bottom: 12px !important; width: auto !important; max-width: none !important; }
  html body .siteCookies .siteCookies__form { grid-template-columns: 1fr; grid-template-areas: "text" "btns" "set"; gap: 16px !important; padding: 22px 20px 18px !important; }
  html body .siteCookies .siteCookies__text::before { font-size: 22px; }
  html body .siteCookies .siteCookies__buttonWrap { display: grid !important; grid-template-columns: 1fr 1fr; }
  html body .siteCookies .siteCookies__button { width: 100% !important; height: 48px !important; }
  html body .siteCookies .siteCookies__links { text-align: center; }
}
/* Nastavení cookies (modal) */
html body #colorbox .cookiesDialog, html body #colorbox .cookiesDialog #cboxLoadedContent { background: #fff !important; border-radius: var(--pf-radius-lg) !important; }
html body #colorbox .cookiesDialog { border: 0 !important; box-shadow: 0 30px 80px rgba(20, 17, 15, .2) !important; overflow: hidden !important; }
html body #colorbox .cookiesDialog .colorbox-html-content { padding: 0 !important; }
html body .cookiesSetting__form { padding: 36px 36px 30px !important; margin: 0 !important; font-family: var(--pf-body) !important; color: var(--pf-fg) !important; }
html body .cookiesSetting__title { margin: 0 0 10px !important; font: 400 30px/1.1 var(--pf-heading) !important; color: var(--pf-fg) !important; text-align: left !important; }
html body .cookiesSetting__perex { margin: 0 0 22px !important; font-size: 14px !important; line-height: 1.6 !important; color: var(--pf-muted) !important; }
html body .cookiesSetting__data { margin: 0 0 24px !important; padding: 0 !important; background: none !important; border: 0 !important; display: flex; flex-direction: column; gap: 10px; }
html body .cookiesSetting__item { display: flex !important; align-items: center; justify-content: space-between; gap: 20px; margin: 0 !important; padding: 16px 18px !important; background: var(--pf-surface) !important; border: 0 !important; border-radius: var(--pf-radius) !important; }
html body .cookiesSetting__item__name { font-size: 14px !important; color: var(--pf-muted) !important; margin: 0 0 4px !important; }
html body .cookiesSetting__item__name strong { font-weight: 600 !important; color: var(--pf-fg) !important; font-size: 15px; }
html body .cookiesSetting__item__text { font-size: 13px !important; line-height: 1.5 !important; color: var(--pf-muted) !important; }
html body .cookiesSetting__item__col2 { flex: 0 0 auto; margin: 0 !important; padding: 0 !important; }
html body .cookiesSetting__item__status { display: flex !important; align-items: center; gap: 10px; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; cursor: pointer; }
html body .cookiesSetting__item__state { display: none !important; }
html body .cookiesSetting__item__checkbox { -webkit-appearance: none !important; appearance: none !important; position: relative !important; opacity: 1 !important; width: 44px !important; height: 26px !important; margin: 0 !important; border: 0 !important; border-radius: 999px !important; background: #d9d1ca !important; cursor: pointer; transition: background .2s; left: auto !important; top: auto !important; clip: auto !important; }
html body .cookiesSetting__item__checkbox::before { content: "" !important; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.2); transition: transform .2s; }
html body .cookiesSetting__item__checkbox::after { display: none !important; }
html body .cookiesSetting__item__checkbox:checked { background: var(--pf-btn) !important; }
html body .cookiesSetting__item__checkbox:checked::before { transform: translateX(18px); }
html body .cookiesSetting__item__checkbox:focus-visible { outline: 2px solid var(--pf-accent); outline-offset: 2px; }
html body .cookiesSetting__bottom { display: flex !important; align-items: center; gap: 8px; flex-wrap: wrap; margin: 0 !important; padding: 0 !important; border: 0 !important; }
html body .cookiesSetting__uncheck { margin: 0 auto 0 0 !important; padding: 0 !important; }
html body .cookiesSetting__uncheckLink { height: auto !important; padding: 0 !important; border: 0 !important; background: none !important; color: var(--pf-muted) !important; font: 500 13px/1.2 var(--pf-body) !important; text-decoration: underline !important; text-underline-offset: 3px; cursor: pointer; box-shadow: none !important; }
html body .cookiesSetting__uncheckLink:hover { color: var(--pf-fg) !important; }
html body .cookiesSetting__button { height: 44px !important; margin: 0 !important; padding: 0 20px !important; border: 1px solid var(--pf-btn) !important; border-radius: 999px !important; background: #fff !important; color: var(--pf-btn) !important; font: 500 14px/1 var(--pf-body) !important; text-transform: none !important; box-shadow: none !important; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
html body .cookiesSetting__button--green { background: var(--pf-btn) !important; color: #fff !important; }
html body .cookiesSetting__button:hover { background: var(--pf-fg) !important; border-color: var(--pf-fg) !important; color: #fff !important; }
html body .cookiesSetting__button--green:hover { background: var(--pf-accent) !important; border-color: var(--pf-accent) !important; }
html body #colorbox .cookiesDialog #cboxClose { top: 22px !important; right: 22px !important; width: 40px !important; height: 40px !important; border-radius: 50% !important; background: var(--pf-surface) !important; font-size: 0 !important; color: transparent !important; border: 0 !important; }
html body #colorbox .cookiesDialog #cboxClose::before { content: "" !important; position: absolute; inset: 0; margin: auto; width: 18px; height: 18px; background: var(--pf-fg) !important; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%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='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") center / contain no-repeat; font-size: 0 !important; }
html body #colorbox .cookiesDialog #cboxClose::after { display: none !important; }
html body #colorbox .cookiesDialog #cboxClose:hover { background: var(--pf-line) !important; }
@media (max-width: 767px) {
  html body .cookiesSetting__form { padding: 26px 20px 22px !important; }
  html body .cookiesSetting__title { font-size: 24px !important; padding-right: 44px; }
  html body .cookiesSetting__bottom .cookiesSetting__button { flex: 1 1 100%; height: 48px !important; }
  html body .cookiesSetting__uncheck { order: 3; flex: 1 1 100%; text-align: center; margin: 6px 0 0 !important; }
}

/* ===== Kontakt – přímé kontakty (v39) ===== */
.pf-contact__direct { margin-top: 36px; }
.pf-cinfo-grid { display: grid; grid-template-columns: 1fr; gap: 10px; }
html body a.pf-cinfo { display: grid; grid-template-columns: 44px 1fr; grid-template-rows: auto auto; column-gap: 14px; align-items: center; padding: 16px 18px; background: var(--pf-surface); border: 1px solid transparent; border-radius: var(--pf-radius); color: var(--pf-fg) !important; text-decoration: none !important; transition: border-color .2s, background .2s; }
html body a.pf-cinfo:hover { background: #fff; border-color: var(--pf-fg); }
.pf-cinfo svg { grid-row: 1 / 3; width: 44px; height: 44px; padding: 11px; border-radius: 50%; background: #fff; color: var(--pf-fg); box-sizing: border-box; }
html body a.pf-cinfo:hover svg { background: var(--pf-btn); color: #fff; }
.pf-cinfo__l { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--pf-muted); line-height: 1.3; }
.pf-cinfo__v { font-family: var(--pf-heading); font-size: 22px; line-height: 1.25; overflow-wrap: anywhere; }
.pf-contact__direct .pf-contact__info { margin-top: 20px; }
.pf-contact__info li b { font-weight: 500; text-align: right; }
.pf-contact__info li a:hover { color: var(--pf-accent) !important; }
html body .pf-contact .pf-contact__note { margin: 16px 0 0; font-size: 14px; color: var(--pf-muted); }

/* ===== Právní stránky – obchodní podmínky, ochrana údajů (v41) ===== */
.pf-legal { padding: clamp(16px, 3vw, 40px) 0 clamp(56px, 8vw, 112px); }
.pf-legal-hero { max-width: 860px; padding-bottom: clamp(28px, 4vw, 48px); margin-bottom: clamp(32px, 4vw, 56px); border-bottom: 1px solid var(--pf-line); }
.pf-legal-hero .pf-eyebrow { margin: 0 0 20px !important; }
html body .pf-legal-hero .pf-page-display { font-size: clamp(38px, 5.4vw, 72px) !important; margin: 0 0 24px !important; }
.pf-legal-intro p { font-size: 18px !important; line-height: 1.7 !important; color: var(--pf-fg-80) !important; margin: 0 0 12px !important; max-width: 720px; }
.pf-legal-valid { display: inline-flex; align-items: center; gap: 8px; margin: 16px 0 0 !important; padding: 8px 14px; border-radius: 999px; background: var(--pf-surface); font-size: 13px !important; font-weight: 500; color: var(--pf-fg) !important; }
.pf-legal-valid::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--pf-accent); }
.pf-legal-grid { display: grid; grid-template-columns: 1fr; gap: 40px; }
@media (min-width: 1000px) { .pf-legal-grid { grid-template-columns: 260px minmax(0, 760px); gap: 72px; } .pf-legal-grid--single { grid-template-columns: minmax(0, 760px); } }
.pf-legal-toc { align-self: start; }
@media (min-width: 1000px) { .pf-legal-toc { position: sticky; top: calc(var(--pf-header-h, 96px) + 24px); max-height: calc(100vh - var(--pf-header-h, 96px) - 48px); overflow-y: auto; } }
@media (max-width: 999px) { .pf-legal-toc { background: var(--pf-surface); border-radius: var(--pf-radius); padding: 20px 20px 12px; } }
html body .pf-legal-toc__h { margin: 0 0 12px !important; font-size: 12px !important; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--pf-muted) !important; }
.pf-legal-toc ol { list-style: none; margin: 0; padding: 0; border-left: 1px solid var(--pf-line); }
@media (max-width: 999px) { .pf-legal-toc ol { border: 0; columns: 2 200px; column-gap: 24px; } }
html body .pf-legal-toc a { display: flex; gap: 10px; padding: 7px 0 7px 16px; margin-left: -1px; border-left: 2px solid transparent; font-size: 14px; line-height: 1.4; color: var(--pf-muted) !important; text-decoration: none !important; transition: color .2s, border-color .2s; break-inside: avoid; }
@media (max-width: 999px) { html body .pf-legal-toc a { padding-left: 0; border: 0; } }
.pf-legal-toc a span { min-width: 18px; font-variant-numeric: tabular-nums; color: var(--pf-fg); opacity: .45; }
html body .pf-legal-toc a:hover, html body .pf-legal-toc a.is-active { color: var(--pf-fg) !important; border-left-color: var(--pf-fg); }
.pf-legal-toc a.is-active span { opacity: 1; color: var(--pf-accent); }
.pf-legal-main { min-width: 0; }
.pf-legal-sec { padding: 0 0 36px; margin: 0 0 36px; border-bottom: 1px solid var(--pf-line); scroll-margin-top: calc(var(--pf-header-h, 96px) + 24px); }
.pf-legal-sec:last-child { border-bottom: 0; margin-bottom: 0; }
html body .pf-legal-h { display: flex; align-items: baseline; gap: 14px; margin: 0 0 20px !important; font-family: var(--pf-heading) !important; font-weight: 400 !important; font-size: clamp(24px, 2.6vw, 32px) !important; line-height: 1.2 !important; color: var(--pf-fg) !important; }
.pf-legal-no { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; min-width: 34px; height: 34px; padding: 0 8px; border-radius: 999px; background: var(--pf-surface); font: 600 14px/1 var(--pf-body); color: var(--pf-fg); transform: translateY(-4px); }
html body .pf-legal-sub { margin: 24px 0 10px !important; font: 600 16px/1.4 var(--pf-body) !important; color: var(--pf-fg) !important; }
.pf-legal-body p, .pf-legal-body li { font-size: 16px !important; line-height: 1.75 !important; color: var(--pf-fg-80) !important; }
.pf-legal-body p { margin: 0 0 14px !important; }
.pf-legal-body ol, .pf-legal-body ul { margin: 0 0 16px !important; padding: 0 !important; list-style: none !important; }
.pf-legal-body ol { counter-reset: pfl; }
.pf-legal-body > ol > li { counter-increment: pfl; position: relative; padding: 0 0 0 44px !important; margin: 0 0 12px !important; }
.pf-legal-body > ol > li::before { content: counter(pfl); position: absolute; left: 0; top: 2px; min-width: 28px; font: 600 13px/1.8 var(--pf-body); color: var(--pf-muted); font-variant-numeric: tabular-nums; }
.pf-legal-body ul > li { position: relative; padding: 0 0 0 22px !important; margin: 0 0 8px !important; }
.pf-legal-body ul > li::before { content: ""; position: absolute; left: 4px; top: .75em; width: 6px; height: 6px; border-radius: 50%; background: var(--pf-accent); }
.pf-legal-body li > p { margin: 0 !important; }
.pf-legal-body li > ul, .pf-legal-body li > ol { margin: 8px 0 0 !important; }
.pf-legal-body a { color: var(--pf-fg) !important; text-decoration: underline !important; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.pf-legal-body a:hover { color: var(--pf-accent) !important; }
.pf-legal-body strong, .pf-legal-body b { color: var(--pf-fg); font-weight: 600; }
.pf-legal-body code { font: inherit; padding: 1px 6px; border-radius: 6px; background: var(--pf-surface); }
.pf-legal-tablewrap { margin: 8px 0 20px; border: 1px solid var(--pf-line); border-radius: var(--pf-radius); overflow: hidden; }
html body table.pf-legal-table { width: 100% !important; border-collapse: collapse !important; border: 0 !important; margin: 0 !important; font-size: 14px; background: #fff; }
html body .pf-legal-table th { padding: 14px 16px !important; background: var(--pf-surface) !important; border: 0 !important; border-bottom: 1px solid var(--pf-line) !important; text-align: left !important; font: 600 12px/1.3 var(--pf-body) !important; letter-spacing: .06em; text-transform: uppercase; color: var(--pf-muted) !important; }
html body .pf-legal-table td { padding: 14px 16px !important; border: 0 !important; border-bottom: 1px solid var(--pf-line) !important; vertical-align: top; line-height: 1.55; color: var(--pf-fg-80) !important; }
html body .pf-legal-table tr:last-child td { border-bottom: 0 !important; }
html body .pf-legal-table td:first-child { color: var(--pf-fg) !important; font-weight: 500; }
@media (max-width: 767px) {
  .pf-legal-tablewrap { border: 0; border-radius: 0; overflow: visible; }
  html body .pf-legal-table thead { display: none; }
  html body .pf-legal-table, html body .pf-legal-table tbody, html body .pf-legal-table tr, html body .pf-legal-table td { display: block; width: 100%; }
  html body .pf-legal-table { background: none; }
  html body .pf-legal-table tr { margin: 0 0 10px; padding: 16px 18px; border-radius: var(--pf-radius); background: var(--pf-surface); }
  html body .pf-legal-table td { padding: 4px 0 !important; border: 0 !important; }
  html body .pf-legal-table td:first-child { font-family: var(--pf-heading); font-size: 19px; font-weight: 400; padding-bottom: 8px !important; }
  html body .pf-legal-table td:not(:first-child)::before { content: attr(data-label); display: block; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--pf-muted); }
}
