/*!
 * PU theme – vlastní vzhled Shoptetu (šablona Classic) podle Shopify „Local ver. 2“
 * perfektneuklizeno.cz · zdroj: git 11_shoptet/theme (v adminu musí být přesně verze z gitu)
 * Písmo Roboto načítá Shoptet sám (všechny řezy 100–900); řezy 400, 500 a 400 kurzíva přepíše fonts.css (načtený před
 * tímto souborem) stejnými soubory jako na Shopify – stejná šířka písmen = stejné zalamování řádků.
 */

/* ==========================================================================
   0) Proměnné (hodnoty ze Shopify settings_data.json)
   ========================================================================== */
:root {
  --pu-pink: #c24090;          /* hlavička, menu, patička */
  --pu-accent: #c34191;        /* tlačítka, odkazy */
  --pu-text: #1d1d1d;
  --pu-muted: #6b6b6b;
  --pu-border: #dfdfdf;
  --pu-border-card: #e9e9e9;
  --pu-radius: 12px;
  --pu-radius-btn: 30px;
  --pu-max: 1360px;            /* max. šířka obsahu vč. okrajů */
  --pu-pad: 40px;              /* boční okraj kontejneru (desktop) */
  --pu-gap: 36px;              /* mezera mřížky */
  --pu-yellow: #fed27a;
  --pu-green: #3fbf6b;
  --pu-ls: -0.03em;            /* letter-spacing nadpisů i textu v Shopify */
}

/* ==========================================================================
   1) Základ: písmo, barvy, kontejner
   ========================================================================== */
body {
  font-family: Roboto, sans-serif;
  font-size: 17px;
  line-height: 1.2;
  color: var(--pu-text);
  letter-spacing: var(--pu-ls);
  background: #fff;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4 { color: var(--pu-text); letter-spacing: var(--pu-ls); }
a { color: var(--pu-accent); }
.container {
  max-width: var(--pu-max);
  padding-left: var(--pu-pad);
  padding-right: var(--pu-pad);
}
/* Shoptet má pevné šířky kontejneru (747/972/1178/1418 px) → plynulá šířka jako Shopify */
@media (min-width: 768px) { html body .container { width: auto; } }
html body .content-wrapper.container { padding-left: var(--pu-pad); padding-right: var(--pu-pad); }
.overall-wrapper { overflow-x: clip; }

/* Univerzální tlačítka (Shopify: radius 30 px) */
.btn, .btn-conversion, .btn-cart, .btn-primary, .btn-secondary, .btn-default {
  border-radius: var(--pu-radius-btn);
}
.pu-hidden { display: none !important; }

/* ==========================================================================
   2) Horní bílá lišta: sociální ikony vlevo, měna/jazyk vpravo
   ========================================================================== */
.top-navigation-bar {
  background: #fff;
  border-bottom: 0;
  font-size: 15px;
}
.top-navigation-bar .container {
  display: flex;
  align-items: center;
  min-height: 40px;
}
.top-navigation-contacts,
.top-navigation-menu,
.top-navigation-bar-menu-helper { display: none !important; }
html body .top-navigation-bar .pu-topsocial {
  display: flex;
  align-items: center;
  gap: 32px;
  margin-left: 75px;
  margin-right: auto;
}
html body .top-navigation-bar a.pu-topsocial__link {
  display: inline-flex;
  color: var(--pu-text);
  line-height: 0;
}
html body .top-navigation-bar a.pu-topsocial__link:hover { color: var(--pu-accent); }
.top-navigation-tools { margin-left: auto; display: flex; align-items: center; }
.top-navigation-tools .languagesMenu__flags { display: none; }
.top-navigation-bar .languagesMenu__header--actual,
.top-navigation-bar .languagesMenu__header { color: var(--pu-text); font-size: 15px; }

/* ==========================================================================
   3) Hlavička (růžová): logo | vyhledávání | Účet | košík
   ========================================================================== */
#header {
  background: var(--pu-pink);
  border-bottom: 0;
}
#header .navigation-wrapper { position: static; }
#header .header-top {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 57px;
  padding: 0;
  height: auto;
}
#header .site-name-wrapper { flex: 0 0 auto; margin-right: 108px; width: auto; }
#header .site-name { margin: 0; padding: 0; }
#header .site-name a { display: block; line-height: 0; }
#header .site-name img { width: 56px; max-width: 56px; height: auto; max-height: 40px; object-fit: contain; }

/* Vyhledávání – bílé zaoblené pole s lupou */
#header .search {
  flex: 1 1 auto;
  max-width: none;
  margin: 0;
  padding: 0;
  position: relative;
  width: auto;
}
#header .search .search-form,
#header .search fieldset { margin: 0; padding: 0; border: 0; position: relative; width: 100%; }
#header .search .query-input,
#header .search .search-input {
  width: 100%;
  height: 44px;
  border: 0;
  border-radius: var(--pu-radius-btn);
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Ccircle cx='10' cy='10' r='7' fill='none' stroke='%231d1d1d' stroke-width='2'/%3E%3Cpath d='m15 15 5 5' stroke='%231d1d1d' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat 20px 50% / 21px 21px;
  padding: 0 20px 0 53px;
  font-size: 17px;
  color: var(--pu-text);
  box-shadow: none;
  letter-spacing: var(--pu-ls);
}
#header .search .query-input::placeholder { color: #5c5c5c; opacity: 1; }
#header .search button[type="submit"],
#header .search .btn {
  position: absolute !important;
  width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0, 0, 0, 0); border: 0; white-space: nowrap;
}

/* Tlačítka vpravo */
#header .navigation-buttons {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;
  position: static;
  margin: 0;
  width: auto;
  top: auto; right: auto;
}
.pu-account,
#header .navigation-buttons .pu-account {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  height: 49px;
  padding: 0 20px;
  border: 2px solid var(--pu-text);
  border-radius: var(--pu-radius-btn);
  background: transparent;
  color: var(--pu-text);
  font-size: 17px;
  font-weight: 500;
  letter-spacing: var(--pu-ls);
  text-transform: none;
  text-decoration: none;
  cursor: pointer;
  line-height: 1;
}
.pu-account:hover { background: var(--pu-text); color: #fff; }
.pu-account::before, .pu-account::after { display: none !important; content: none !important; }
#header .navigation-buttons .cart-count {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  height: 49px;
  padding: 0 22px;
  border-radius: var(--pu-radius-btn);
  background: var(--pu-text);
  color: #fff;
  font-size: 17px;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  width: auto;
  min-width: 0;
  position: relative;
}
#header .navigation-buttons .cart-count::before { display: none !important; content: none !important; }
#header .navigation-buttons .cart-count:hover { background: #000; }
#header .navigation-buttons .cart-count .cart-price {
  display: inline !important;
  color: #fff;
  font-size: 17px;
  font-weight: 500;
  padding: 0;
  margin: 0;
  letter-spacing: var(--pu-ls);
}
#header .navigation-buttons .cart-count i {
  position: static;
  display: inline;
  font-style: normal;
  background: none;
  color: #fff;
  font-size: 17px;
  font-weight: 500;
  width: auto; height: auto; line-height: 1;
  border: 0;
  margin: 0;
  padding: 0;
  order: 3;
}
#header .navigation-buttons .cart-count i::before { content: "("; }
#header .navigation-buttons .cart-count i::after { content: ")"; }
.pu-cart-icon { display: inline-flex; line-height: 0; }
.pu-cart-zero { font-weight: 500; }

/* ==========================================================================
   4) Hlavní menu (růžový pruh, položky na střed) + rozbalovací podmenu
      Menu (ul.pu-menu) staví theme.js z dat MENU; nativní ul.menu-level-1 je skryté.
   ========================================================================== */
#navigation ul.pu-native-menu,
.menu-helper { display: none !important; }
#navigation .pu-menu b { font-weight: inherit; }
#navigation .pu-chev { display: inline-flex; line-height: 0; }
#navigation .pu-sub-toggle { display: none; }
@media (min-width: 768px) {
  html body #navigation {
    height: auto;
    overflow: visible;
    background: var(--pu-pink);
    width: auto;
    float: none;
    position: relative;
    z-index: 20;
  }
  /* dělicí linka přes celou šířku okna */
  #navigation::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 100vw;
    transform: translateX(-50%);
    border-top: 1px solid rgba(0, 0, 0, .08);
  }
  html body #navigation .navigation-in {
    position: static;
    width: auto !important;
    background: transparent;
    display: flex;
    justify-content: center;
    overflow: visible;
    font-size: 17px;
    line-height: 1.2;
  }
  html body #navigation .navigation-in ul.pu-menu,
  html body:not(.pu-menu-ready) #navigation .navigation-in ul.menu-level-1 {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 0 40px;
    margin: 0;
    padding: 0;
    list-style: none;
    background: transparent;
    float: none;
  }
  html body:not(.pu-menu-ready) #navigation .navigation-in ul.menu-level-1 > li:not(.appended-category) {
    display: flex; align-items: center; border: 0; background: transparent;
  }
  html body:not(.pu-menu-ready) #navigation .navigation-in ul.menu-level-1 > li > a {
    height: 67px; padding: 0; display: inline-flex; align-items: center; color: #fff;
    font-size: 17px; font-weight: 700; text-transform: uppercase; background: transparent;
  }
  html body:not(.pu-menu-ready) #navigation .navigation-in ul.menu-level-1 b { font-weight: inherit; }
  html body #navigation .navigation-in ul.pu-menu > li {
    position: relative;
    display: flex;
    align-items: center;
    float: none;
    border: 0;
    background: transparent;
    visibility: visible;
  }
  html body #navigation .navigation-in ul.pu-menu > li > a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    height: 67px;
    padding: 0;
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: var(--pu-ls);
    background: transparent !important;
    border: 0;
  }
  html body #navigation .navigation-in ul.pu-menu > li > a:hover,
  html body #navigation .navigation-in ul.pu-menu > li.active > a { color: #fff; text-decoration: underline; text-underline-offset: 6px; }
  html body #navigation .navigation-in ul.pu-sub {
    display: none;
    position: absolute;
    top: 100%;
    left: -20px;
    width: auto;
    min-width: 250px;
    margin: 0;
    padding: 14px 0;
    list-style: none;
    background: #fff;
    border: 1px solid var(--pu-border);
    border-radius: var(--pu-radius);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .08);
    z-index: 1002;
  }
  html body #navigation .navigation-in ul.pu-sub li { position: relative; display: block; float: none; border: 0; }
  html body #navigation .navigation-in ul.pu-sub a {
    display: block;
    padding: 9px 22px;
    color: var(--pu-text);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.3;
    text-decoration: none;
    text-transform: none;
    white-space: nowrap;
    background: transparent;
  }
  html body #navigation .navigation-in ul.pu-sub a:hover { color: var(--pu-accent); text-decoration: underline; }
  html body #navigation .navigation-in ul.pu-sub ul.pu-sub { top: -15px; left: 100%; }
  html body #navigation .navigation-in ul.pu-sub .pu-has-sub > a::after { content: "›"; float: right; margin-left: 16px; }
  html body #navigation .navigation-in ul.pu-menu li.pu-has-sub:hover > ul.pu-sub,
  html body #navigation .navigation-in ul.pu-menu li.pu-has-sub:focus-within > ul.pu-sub,
  html body #navigation .navigation-in ul.pu-menu li.pu-open > ul.pu-sub { display: block; }
  /* košík: vypnout posun hlavičky při scrollu (pravidlo mobilní hlavičky v1) */
  html body #header .navigation-buttons .cart-count { transform: none !important; top: auto; right: auto; left: auto; }
}

/* ==========================================================================
   5) Titulní strana – skrytí nativních částí Shoptetu, které Shopify nemá
   ========================================================================== */
.type-index .banners-row,
.type-index .welcome-wrapper .welcome > .h1,
.type-index .welcome-wrapper .welcome > h1,
.type-index .breadcrumbs,
.pu-home-page .homepage-group-title.pu-hidden,
.pu-welcome-empty { display: none !important; }
html body.pu-home-page #content-wrapper { max-width: none; width: auto; margin: 0; padding: 0; }
.pu-home-page #content-wrapper > .content-wrapper-in,
.pu-home-page #content { padding: 0; margin: 0; width: 100%; max-width: none; float: none; }
.type-index .welcome-wrapper, .type-index .welcome { background: transparent; border: 0; padding: 0; margin: 0; }
.type-index .homepage-box { background: transparent; border: 0; padding: 0; }
/* bez JS zůstává úvodní text v .welcome-wrapper – ať má plnou šířku jako po přesunu */
html body.type-index .welcome-wrapper .container,
html body.type-index .welcome-wrapper .content-wrapper-in { max-width: none; width: auto; padding: 0; }

/* Než theme.js přesune nativní bloky produktů do sekcí, jsou skryté (bez „skoku“ stránky).
   Pojistka: když JS neproběhne, po 3 s se zobrazí na původním místě. */
@keyframes pu-reveal { to { visibility: visible; } }
body.type-index:not(.pu-ready) #content > .products-block,
body.type-index:not(.pu-ready) #content > .homepage-group-title { visibility: hidden; animation: pu-reveal 0s 3s forwards; }

/* Sekce – kontejner jako Shopify (1280 px obsah) */
.pu-home { color: var(--pu-text); font-size: 17px; line-height: 1.2; }
.pu-home p { margin: 0; }
.pu-sec {
  max-width: var(--pu-max);
  margin: 0 auto 80px;
  padding: 0 var(--pu-pad);
  box-sizing: border-box;
}
.pu-h2 {
  margin: 0 0 40px;
  text-align: center;
  font-size: 30px;
  line-height: 1.1;
  font-weight: 700;
  letter-spacing: var(--pu-ls);
  color: var(--pu-text);
}
.pu-more { text-align: center; margin: 50px 0 0 !important; }
.pu-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 47px;
  padding: 0 36px;
  border-radius: var(--pu-radius-btn);
  font-size: 18px;
  font-weight: 500;
  letter-spacing: var(--pu-ls);
  text-decoration: none !important;
  transition: background-color .2s, color .2s;
}
.pu-btn--outline { border: 1px solid var(--pu-accent); color: var(--pu-accent) !important; background: #fff; }
.pu-btn--outline:hover { background: var(--pu-accent); color: #fff !important; }
.pu-btn--solid { border: 1px solid var(--pu-accent); background: var(--pu-accent); color: #fff !important; min-height: 54px; padding: 0 47px; }
.pu-btn--solid:hover { background: #a8337b; }
.pu-btn--lg { min-height: 60px; font-size: 21px; padding: 0 48px; }

/* 1) Hero */
.pu-hero { max-width: none; padding: 0; margin-bottom: 40px; }
.pu-hero__link { display: block; line-height: 0; }
.pu-hero__img { display: block; width: 100%; height: auto; }
.pu-hero__img--mob { display: none; }

/* 2) Lišta výhod */
.pu-features { margin-bottom: 36px; }
.pu-features__in {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  max-width: 1200px;
  margin: 0 auto;
  border-radius: 9px;
  background: var(--pu-yellow) url("/user/documents/upload/pu-theme/pozadi-zlute.jpg") center / cover no-repeat;
}
.pu-feature {
  flex: 1 1 30%;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 12px;
  min-height: 100px;
  text-decoration: none !important;
  color: inherit;
  transition: box-shadow .3s, border-radius .3s;
}
.pu-feature:hover { box-shadow: 0 8px 20px rgba(0, 0, 0, .1); border-radius: 12px; }
.pu-feature img { width: 150px; height: auto; flex-shrink: 0; }
.pu-feature__text { display: flex; flex-direction: column; text-align: left; }
.pu-feature__title { font-size: 20px; font-weight: 700; color: #111; line-height: 1.3; }
.pu-feature__sub { font-size: 17px; color: #555; margin-top: 4px; line-height: 1.2; }

/* 3–4) Bloky produktů */
.pu-products { margin-bottom: 94px; }
.pu-slot { font-size: 0; }
.pu-slot > * { font-size: 17px; }

/* 5) Kdo jsem? */
.pu-about__box {
  display: flex;
  align-items: stretch;
  min-height: 541px;
  border-radius: var(--pu-radius);
  overflow: hidden;
  background: #fffac8 url("/user/documents/upload/pu-theme/pozadi-zlute.jpg") center / cover no-repeat;
}
.pu-about__text {
  flex: 1 1 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 60px 80px;
}
.pu-about__title {
  font-size: 40px;
  line-height: 1;
  font-weight: 400;
  margin: 0 0 24px;
  letter-spacing: var(--pu-ls);
}
.pu-about__title strong { font-weight: 500; }
.pu-about__text p { font-size: 17px; line-height: 1.2; }
.pu-about__text p strong { font-weight: 700; }
.pu-about__btn { margin-top: 56px !important; }
.pu-about__img { flex: 1 1 50%; display: flex; align-items: flex-end; justify-content: center; }
.pu-about__img img { display: block; width: 100%; max-width: 640px; height: auto; }

/* 6) Kolekce */
.pu-colls { margin-top: -44px; }
.pu-colls__grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: var(--pu-gap); }
.pu-coll {
  display: block;
  border: 1px solid var(--pu-border);
  border-radius: var(--pu-radius);
  overflow: hidden;
  background: #fff;
  color: var(--pu-text) !important;
  text-decoration: none !important;
  text-align: center;
}
.pu-coll__img { display: block; aspect-ratio: 1 / 1; overflow: hidden; }
.pu-coll__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.pu-coll:hover .pu-coll__img img { transform: scale(1.04); }
.pu-coll__title { display: block; padding: 14px 10px 15px; font-size: 17px; }
.pu-coll:hover .pu-coll__title { text-decoration: underline; }
.pu-colls .pu-more { margin-top: 50px !important; }

/* 7) Spolehněte se na účinnost */
.pu-ucinnost {
  margin-top: -44px;
  padding: 100px 20px;
  background: var(--pu-yellow) url("/user/documents/upload/pu-theme/ucinnost-pozadi.jpg") center / cover no-repeat;
  max-width: 1280px;
}
.pu-ucinnost__head { text-align: center; }
.pu-ucinnost__title { font-size: 40px !important; font-weight: 700; margin: 0 0 8px; line-height: 1.1; }
.pu-ucinnost__sub { display: block; font-size: 40px; font-weight: 300; margin-top: -10px; line-height: 1.1; }
.pu-ucinnost__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 47px;
  max-width: 1200px;
  margin: 40px auto 0;
  text-align: center;
}
.pu-ucinnost__item { display: flex; flex-direction: column; align-items: center; color: #000; }
.pu-ucinnost__item img { width: 231px; height: 151px; object-fit: contain; margin-bottom: 16px; }
.pu-ucinnost__item p { max-width: 240px; font-size: 22px; line-height: 1.4; margin: 0 auto; }

/* 8–9) Produkty s fotkou */
.pu-cpi { margin-top: -44px; margin-bottom: 50px; }
.pu-cpi .pu-h2 { margin-bottom: 36px; }
.pu-cpi__grid.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--pu-gap);
  align-items: start;
  margin: 0;
}
.pu-cpi__img { display: flex; align-items: center; justify-content: center; align-self: center; }
.pu-cpi__img img { display: block; width: 298px; max-width: 100%; height: auto; }

/* 10) Sociální sítě – v patičce (html/footer.html), bílý pruh nad růžovou patičkou */
.pu-footer .pu-social { background: #fff; color: var(--pu-text); text-align: center; padding: 100px 20px 40px; }
.pu-footer .pu-social p { margin: 0; }
.pu-footer .pu-social a { border: 0; }
.pu-footer .pu-social a:hover { opacity: 1; }
.pu-social .pu-h2 { margin-bottom: 26px; }
.pu-social__sub { font-size: 26px; margin: 0 0 24px !important; }
.pu-social .pu-more { margin-top: 0 !important; }
.pu-social__icons { display: flex; justify-content: center; gap: 18px; margin-top: 36px !important; }
.pu-social__icons a { display: inline-flex; line-height: 0; transition: transform .3s; }
.pu-social__icons a:hover { transform: scale(1.15); }
.pu-social__icons img { width: 32px; height: 32px; }

/* ==========================================================================
   6) Karty produktů (nativní výpisy Shoptetu + statické karty z homepage.html)
      Selektory začínají „html body“ kvůli vyšší specifičnosti než CSS šablony.
   ========================================================================== */
html body .products-block.products,
html body .pu-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--pu-gap);
  margin: 0;
  border: 0;
}
html body .products-block.products::before,
html body .products-block.products::after { display: none; }
html body .products-block.pu-grid--oblibene { grid-template-columns: repeat(3, 1fr); }
html body .products .product {
  width: auto !important;
  max-width: none;
  float: none;
  margin: 0;
  padding: 0;
  border: 0 !important;
  flex: none;
}
html body .products .product::before,
html body .products .product::after { display: none !important; }
html body .products .product .p {
  display: flex;
  flex-direction: column;
  height: 100%;
  margin: 0;
  padding: 0 0 26px;
  border: 1px solid var(--pu-border-card) !important;
  border-radius: var(--pu-radius);
  overflow: hidden;
  background: #fff;
  text-align: center;
  box-shadow: none;
}
html body .products .product .p .image {
  display: block;
  margin: 0;
  padding: 0;
  line-height: 0;
  aspect-ratio: 1 / 1;   /* náhledy Shoptetu jsou 4:3 s bílým okrajem → čtverec + cover = větší produkt jako Shopify */
  overflow: hidden;
  background: #fff;
  text-align: center;
}
html body .products .product .p .image::before,
html body .products .product .p .image::after { display: none !important; content: none !important; }
html body .products .product .p .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  max-height: none;
}
html body .products .product .p .p-in {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  height: auto;
  padding: 0 25px;
  position: static;
  text-align: center;
}
html body .products .product .p .p-in-in,
html body .products .product .p .p-bottom,
html body .products .product .p .p-bottom > div { display: contents; }
html body .products .product .p .name {
  order: 1;
  display: block !important;
  -webkit-line-clamp: unset;
  height: auto;
  min-height: 0;
  max-height: none;
  margin: 26px 0 0;
  overflow: visible;
  color: var(--pu-text) !important;
  font-size: 24px;
  line-height: 1.25;
  font-weight: 400;
  text-align: center;
  text-decoration: none;
  font-family: Roboto, sans-serif;
}
html body .products .product .p .name span { display: inline; white-space: normal; }
html body .products .product .p .name:hover { text-decoration: underline; }
html body .products .product .p .prices {
  order: 2;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: baseline;
  gap: 0 10px;
  margin: 22px 0 0;
  padding: 0;
  float: none;
  width: auto;
  flex-basis: auto;
  text-align: center;
}
html body .products .product .p .price-final { order: 1; line-height: 1.2; }
html body .products .product .p .price-final strong,
html body .products .product .p .price-final span { font-size: 17px; font-weight: 400; color: var(--pu-text); }
html body .products .product .p .price-standard {
  order: 2;
  display: inline-block;
  font-size: 17px;
  color: var(--pu-muted);
  text-decoration: line-through;
}
html body .products .product .p .price-standard span { font-size: 17px; text-decoration: line-through; }
html body .products .product .p .price-save,
html body .products .product .p .price-additional,
html body .products .product .p .price-measure { display: none; }
html body .products .product .p .ratings-wrapper {
  order: 3;
  display: flex;
  justify-content: center;
  min-height: 0;
  margin: 16px 0 0;
  padding: 0;
  float: none;
  width: auto;
}
html body .products .product .p .stars-wrapper,
html body .products .product .p .stars-placeholder,
html body .products .product .p .p-code,
html body .products .product .p .availability-amount,
html body .products .product .p .p-desc,
html body .products .product .p .flags { display: none !important; }
html body .products .product .p .availability {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
  font-size: 15px;
  color: var(--pu-text);
  margin: 0;
  padding: 0;
  text-align: center;
}
html body .products .product .p .availability span { color: var(--pu-text) !important; }
html body .products .product .p .availability::before {
  content: "";
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--pu-green);
  flex: 0 0 auto;
}
html body .products .product .p .p-tools {
  order: 4;
  margin: auto 0 0;
  padding: 26px 0 0;
  float: none;
  width: 100%;
  flex-basis: auto;
  position: static;
  text-align: center;
}
html body .products .product .p .p-tools form { margin: 0; }
html body .products .product .p .p-tools .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 50px;
  padding: 0 15px;
  margin: 0;
  border: 0;
  border-radius: var(--pu-radius-btn);
  background: var(--pu-accent);
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: var(--pu-ls);
  text-decoration: none;
  float: none;
}
html body .products .product .p .p-tools .btn::before { display: none !important; content: none !important; }
/* text „Do košíku“ → „Dát do košíku“ (jako Shopify); aria-label tlačítka zůstává nativní */
html body .products .product .p .p-tools .btn-cart,
html body .products .product .p .p-tools .add-to-cart-button { font-size: 0; }
html body .products .product .p .p-tools .btn-cart span,
html body .products .product .p .p-tools .add-to-cart-button span { display: none; }
html body .products .product .p .p-tools .btn-cart::after,
html body .products .product .p .p-tools .add-to-cart-button::after {
  content: "Dát do košíku";
  display: inline;
  position: static;
  width: auto; height: auto;
  font-size: 18px;
  background: none;
  transform: none;
  border: 0;
}
html body .products .product .p .p-tools .btn:hover { background: #a8337b; color: #fff; }

/* ==========================================================================
   7) Kategorie: bez levého panelu, mřížka 5 sloupců jako Shopify
   ========================================================================== */
.type-category .sidebar,
.type-detail .sidebar,
.type-page .sidebar,
.type-posts-listing .sidebar,
.type-post .sidebar { display: none !important; }
.type-category .content-wrapper-in > .content,
.type-detail .content-wrapper-in > .content,
.type-page .content-wrapper-in > .content,
.type-posts-listing .content-wrapper-in > .content,
.type-post .content-wrapper-in > .content { width: 100% !important; max-width: none; float: none; margin-left: 0 !important; padding-left: 0; padding-right: 0; }
html body.type-category .products-page.products { grid-template-columns: repeat(5, 1fr); gap: 20px; }
.type-category #filters-wrapper, .type-category .filters-unveil-button-wrapper { display: none !important; }
.type-category .listSorting__controls { border: 0; }
.type-category .products-top-wrapper { display: none; }
.type-category .category-title { font-size: 40px; font-weight: 400; margin: 20px 0 30px; text-transform: none; }
.type-category .category-perex { font-size: 17px; }
.type-category .category-header { background: transparent; border: 0; padding: 0; margin: 0 0 20px; }
html body.type-category .products-page .product .p .name { font-size: 24px; }
html body.type-category .products-page .product .p .p-in { padding: 0 16px; }
/* v kategorii má Shopify užší tlačítko (podle textu), ne přes celou kartu */
html body.type-category .products-page .product .p .p-tools .btn { width: auto; display: inline-flex; height: 44px; padding: 0 18px; }
html body.type-category .products-page .product .p .p-tools .btn-cart::after,
html body.type-category .products-page .product .p .p-tools .add-to-cart-button::after { font-size: 16px; }

/* Drobečková navigace: „Domů / Kategorie / Produkt“ jako Shopify */
@media (min-width: 992px) {
  html body .breadcrumbs { display: flex; flex-wrap: wrap; margin: 0; padding: 28px 0 40px; border: 0; background: transparent; font-size: 14px; color: var(--pu-text); }
}
html body .breadcrumbs::before { display: none; content: none; }
html body .breadcrumbs > span > a, html body .breadcrumbs > span > span { display: inline; padding: 0; min-height: 0; }
html body .breadcrumbs > span > a::before, html body .breadcrumbs > span > a::after { display: none; content: none; }
html body .breadcrumbs a { color: var(--pu-text); }
html body .breadcrumbs a:hover { color: var(--pu-accent); }
html body .breadcrumbs .navigation-bullet { display: inline; margin: 0 12px; }
html body .breadcrumbs #navigation-first a { padding-left: 0; }
html body .breadcrumbs .navigation-home-icon .sr-only {
  position: static; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; white-space: normal;
}

/* ==========================================================================
   8) Detail produktu – vlevo galerie, vpravo název/cena/košík/popis (theme.js přesune DOM)
   ========================================================================== */
.type-detail .p-detail-inner-header .p-code,
.type-detail .p-detail-info,
.type-detail .social-buttons-wrapper,
.type-detail .p-info-wrapper > p,
.type-detail .extended-description,
.type-detail .benefitBanner,
.type-detail #productDiscussion,
.type-detail .p-detail-tabs-wrapper .navigation-btn { display: none !important; }
html body.type-detail .p-detail-inner-header { margin: 0 0 16px; padding: 0; border: 0; }
html body.type-detail .p-detail-inner-header h1 {
  font-size: 44px;
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: var(--pu-ls);
  margin: 0;
}
@media (min-width: 992px) {
  html body.pu-pd-layout .p-detail .product-top { display: flex; flex-wrap: wrap; align-items: flex-start; margin: 0; }
  html body.pu-pd-layout .p-detail .p-image-wrapper { width: 50%; flex: 0 0 50%; padding: 0 56px 0 0; position: sticky; top: 20px; }
  html body.pu-pd-layout .p-detail .p-info-wrapper { width: 50%; flex: 0 0 50%; padding: 12px 0 0; }
}
html body.type-detail .p-image-wrapper .p-image { border: 0; }
html body.type-detail .p-image-wrapper .p-main-image img { width: 100%; height: auto; max-width: none; }
html body.type-detail .p-final-price-wrapper { margin: 0 0 18px; padding: 0 0 22px; border-bottom: 1px solid var(--pu-border); }
html body.type-detail .p-final-price-wrapper .price-final,
html body.type-detail .p-final-price-wrapper .price-final-holder { font-size: 24px; font-weight: 500; color: var(--pu-text); }
html body.type-detail .p-final-price-wrapper .price-standard { font-size: 18px; color: var(--pu-muted); margin-right: 10px; }
html body.type-detail .p-final-price-wrapper .price-save { font-size: 15px; color: var(--pu-accent); margin-right: 10px; }
html body.type-detail .p-info-wrapper .availability-value { display: flex; align-items: center; gap: 8px; font-size: 15px; margin: 0 0 16px; }
html body.type-detail .p-info-wrapper .availability-value::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--pu-green); }
html body.type-detail .p-info-wrapper .availability-label { color: var(--pu-text) !important; }
html body.type-detail .p-info-wrapper .detail-parameters { margin: 0 0 12px; }

/* Množství: kulatá tlačítka − 1 + a růžové tlačítko „Dát do košíku“ */
html body.type-detail .p-info-wrapper .add-to-cart { display: flex; align-items: center; gap: 16px; margin: 0 0 24px; }
html body.type-detail .p-info-wrapper .quantity {
  display: flex; align-items: center; gap: 8px; border: 0; padding: 0; flex: 0 0 auto;
}
html body.type-detail .p-info-wrapper .quantity label { order: 2; margin: 0; }
html body.type-detail .p-info-wrapper .quantity input.amount {
  width: 56px; height: 60px; text-align: center; font-family: Roboto, sans-serif; font-size: 22px; border: 0; background: transparent;
}
html body.type-detail .p-info-wrapper .quantity .decrease,
html body.type-detail .p-info-wrapper .quantity .increase {
  position: static; order: 1; width: 60px; height: 60px; border: 1px solid var(--pu-text); border-radius: 50%;
  background: #fff; color: var(--pu-text); display: flex; align-items: center; justify-content: center; font-size: 28px; line-height: 1;
}
html body.type-detail .p-info-wrapper .quantity .increase { order: 3; }
html body.type-detail .p-info-wrapper .quantity .decrease::before,
html body.type-detail .p-info-wrapper .quantity .increase::before { display: none; content: none; }
html body.type-detail .p-info-wrapper .quantity .increase__sign,
html body.type-detail .p-info-wrapper .quantity .decrease__sign { display: inline; position: static; font-size: 28px; font-weight: 300; }
html body.type-detail .p-info-wrapper .add-to-cart .add-to-cart-button {
  flex: 1 1 auto; height: 60px; border-radius: var(--pu-radius-btn); background: var(--pu-accent); border: 0;
  color: #fff; font-size: 20px; font-weight: 500; letter-spacing: var(--pu-ls); padding: 0 20px;
}
html body.type-detail .p-info-wrapper .add-to-cart .add-to-cart-button::before { display: none; content: none; }
html body.type-detail .p-info-wrapper .add-to-cart .add-to-cart-button:hover { background: #a8337b; }

/* Popis produktu v pravém sloupci (typografie jako Shopify) */
html body .pu-desc { font-size: 16px; line-height: 1.25; color: var(--pu-text); width: 100%; max-width: 100%; float: none; }
html body .pu-desc p { margin: 0 0 16px; }
html body .pu-desc h2, html body .pu-desc h3 {
  font-size: 36px; font-weight: 400; line-height: 1; letter-spacing: var(--pu-ls); margin: 24px 0 16px; color: var(--pu-text);
}
html body .pu-desc h4 { font-size: 22px; font-weight: 500; margin: 20px 0 12px; }
html body .pu-desc img { max-width: 100%; height: auto; }
html body .pu-desc ul, html body .pu-desc ol { padding-left: 22px; margin: 0 0 16px; }

/* Popisy produktů ze Shopify: akordeony (checkbox + label) a TIP box. Jejich vlastní <style>
   v popisu prohrává se styly formulářů Shoptetu → doplněno zde. */
html body .basic-description .accordion-toggle,
html body .basic-description .acc-toggle,
html body .basic-description .acc2-toggle { display: none !important; }
html body .basic-description .accordion-label,
html body .basic-description .acc-label,
html body .basic-description .acc2-label {
  display: flex !important; justify-content: space-between; align-items: center; width: 100%;
  box-sizing: border-box; margin: 0 0 8px; padding: 12px 16px; padding-left: 16px !important;
  border-radius: 999px; background: #e9c8a8; font-weight: 700; font-size: 16px; cursor: pointer; line-height: 1.3;
}
html body .basic-description .accordion-label::before, html body .basic-description .accordion-label::after,
html body .basic-description .acc-label::before, html body .basic-description .acc-label::after,
html body .basic-description .acc2-label::before, html body .basic-description .acc2-label::after { display: none !important; content: none !important; }
html body .basic-description .accordion-label svg,
html body .basic-description .acc-label svg,
html body .basic-description .acc2-label svg { width: 18px; height: 18px; flex: 0 0 18px; fill: #5a4431; }
html body .basic-description .tip-box { max-width: 100%; }
html body .basic-description .tip-img img { width: 140px !important; max-width: 140px !important; height: auto; }

/* ==========================================================================
   9) Stránky a blog
   ========================================================================== */
html body.type-page .content h1,
html body.type-posts-listing .content h1,
html body.type-post .content h1 { font-size: 44px; font-weight: 400; line-height: 1.1; letter-spacing: var(--pu-ls); margin: 0 0 30px; }

html body.type-page .content-inner, html body.type-posts-listing .content-inner, html body.type-post .content-inner { max-width: none; }

/* Stránky s importovaným obsahem ze Shopify (obal .pu-page, třídy sekcí Shopify „rich-text“) */
html body .pu-page .container,
html body .pu-page [class*="container--"] { max-width: none; width: auto; margin: 0; padding: 0; }
.pu-page .shopify-section { margin: 0 0 40px; }
.pu-page .rte:empty, .pu-page .main-page:empty { display: none; }
.pu-page .rich-text {
  border-radius: var(--pu-radius); overflow: hidden;
  background: #fffac8 url("/user/documents/upload/pu-theme/pozadi-zlute.jpg") center / cover no-repeat;
}
.pu-page .rich-text__container { display: flex; align-items: stretch; }
.pu-page .rich-text__container--image-right { flex-direction: row-reverse; }
.pu-page .rich-text__container--image-top { display: block; }
.pu-page .rich-text__image { flex: 1 1 50%; display: flex; align-items: flex-end; justify-content: center; }
html body .pu-page .rich-text__image .lazy-image { padding-top: 0 !important; margin: 0; width: 100%; position: static; }
html body .pu-page .rich-text__image img { position: static; display: block; width: 100%; height: auto; max-height: none; object-fit: contain; }
.pu-page .rich-text__text { flex: 1 1 50%; display: flex; align-items: center; justify-content: center; text-align: center; }
.pu-page .card__text { padding: 60px 80px; }
.pu-page .no-image .card__text { padding: 48px 80px; }
html body .pu-page .rich-text__title { font-size: 36px; line-height: 1.05; font-weight: 400; margin: 0 0 24px; letter-spacing: var(--pu-ls); }
.pu-page .rich-text__title strong { font-weight: 700; }
.pu-page .rte p { margin: 0 0 16px; font-size: 17px; line-height: 1.25; }
.pu-page .increased-spacing { margin-top: 32px; }
html body .pu-page a.button {
  display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 0 40px;
  border-radius: var(--pu-radius-btn); background: var(--pu-accent); color: #fff; font-size: 18px; font-weight: 500;
  text-decoration: none; border: 0;
}
html body .pu-page a.button:hover { background: #a8337b; color: #fff; }

/* Výpis článků blogu: mřížka 3 sloupců jako Shopify (obrázek, nadpis, perex max. 5 řádků) */
html body .news-wrapper { display: grid; grid-template-columns: repeat(3, 1fr); gap: 50px var(--pu-gap); margin: 0; }
html body .news-wrapper .news-item { display: flex; flex-direction: column; margin: 0; padding: 0; border: 0; width: auto; float: none; }
html body .news-wrapper .news-item .image { width: 100%; max-width: none; float: none; margin: 0 0 16px; padding: 0; }
html body .news-wrapper .news-item .image a { display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--pu-radius); }
html body .news-wrapper .news-item .image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
html body .news-wrapper .news-item:hover .image img { transform: scale(1.03); }
html body .news-wrapper .news-item .text { width: auto; float: none; padding: 0; margin: 0; }
html body .news-wrapper .news-item .title { display: block; margin: 0 0 10px; color: var(--pu-text); font-size: 17px; font-weight: 700; line-height: 1.25; text-decoration: none; }
html body .news-wrapper .news-item .title:hover { text-decoration: underline; }
html body .news-wrapper .news-item .description > * { display: none; }
html body .news-wrapper .news-item .description > p:first-of-type {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 5; overflow: hidden;
  margin: 0; font-size: 15px; line-height: 1.3; color: var(--pu-text);
}

/* Detail článku: obrázek přes celou šířku, pod ním sloupec textu (jako Shopify) */
html body.type-post .news-item-detail { max-width: none; margin: 0; }
.pu-article-img { margin: 0 0 40px; border-radius: var(--pu-radius); overflow: hidden; aspect-ratio: 2 / 1; background: #f4f4f4; }
.pu-article-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
html body.type-post .news-item-detail > h1,
html body.type-post .news-item-detail > .pu-article-date,
html body.type-post .news-item-detail > .text,
html body.type-post .news-item-detail > .next-prev { max-width: 944px; margin-left: auto; margin-right: auto; }
html body.type-post .news-item-detail > h1 { margin-bottom: 14px; }
.pu-article-date { font-size: 14px; color: var(--pu-text); margin-bottom: 40px !important; }
html body.type-post .news-item-detail > .text { padding-right: 284px; box-sizing: border-box; }
html body.type-post .news-item-detail .text h2 { font-size: 40px; font-weight: 500; line-height: 1.05; margin: 0 0 16px; letter-spacing: var(--pu-ls); }
html body.type-post .news-item-detail .text h3 { font-size: 32px; font-weight: 500; line-height: 1.05; margin: 28px 0 14px; letter-spacing: var(--pu-ls); }
html body.type-post .news-item-detail .text p,
html body.type-post .news-item-detail .text li { font-size: 16px; line-height: 1.3; }
html body.type-post .news-item-detail .text img { max-width: 100%; height: auto; border-radius: var(--pu-radius); }
html body.type-post .next-prev .btn { border-radius: var(--pu-radius-btn); }

/* ==========================================================================
   10) Patička (html/footer.html) – růžová, 4 sloupce + spodní lišta
   ========================================================================== */
#footer { background: var(--pu-pink); color: #fff; border-top: 0; margin-top: 0; padding: 0; }
#footer.pu-footer-on > .container:not(.footer-bottom),
#footer.pu-footer-on .footer-rows,
#footer.pu-footer-on .footer-links-icons { display: none !important; }
.pu-footer { background: var(--pu-pink); color: #fff; font-size: 17px; line-height: 1.2; letter-spacing: var(--pu-ls); }
.pu-footer a { color: #fff; text-decoration: none; border-bottom: 1px solid rgba(255, 255, 255, .8); }
.pu-footer a:hover { border-bottom-color: #fff; opacity: .85; }
.pu-footer__top { padding: 80px 0; }
.pu-footer__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 56px;
  max-width: var(--pu-max);
  margin: 0 auto;
  padding: 0 var(--pu-pad);
  box-sizing: border-box;
}
.pu-footer__col p { margin: 0 0 16px; }
.pu-footer__menu { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.pu-footer__menu a { line-height: 1.25; }
.pu-footer__bottom { border-top: 1px solid rgba(255, 255, 255, .15); }
.pu-footer__bottom-in {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  max-width: var(--pu-max);
  margin: 0 auto;
  padding: 24px var(--pu-pad);
  box-sizing: border-box;
}
.pu-footer__pay { display: flex; flex-wrap: wrap; gap: 8px; }
.pu-footer__pay img { width: 38px; height: 24px; display: block; }
/* nativní spodní řádek Shoptetu (podpis Shoptetu) – ponechán beze změny; „Upravit nastavení cookies“ přesune theme.js do spodního řádku patičky */
#footer.pu-footer-on .footer-bottom {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 24px;
  padding-top: 0;
  padding-bottom: 20px;
  border: 0;
  background: transparent;
  color: rgba(255, 255, 255, .8);
  font-size: 14px;
}
#footer.pu-footer-on .footer-bottom .copyright { font-size: 0; color: transparent; }
#footer.pu-footer-on .footer-bottom .copyright a { font-size: 14px; color: rgba(255, 255, 255, .85); }
#footer.pu-footer-on .footer-bottom .copyright a { color: rgba(255, 255, 255, .85); }
/* Podpis „Vytvořil Shoptet“ (#signature) se nijak neupravuje ani nepřesouvá – VOP Shoptet 07/2026 čl. 11.3 */

/* ==========================================================================
   4b) Mobilní hlavička (≤ 767 px): hamburger vlevo, logo na střed, košík vpravo,
       pod tím vždy viditelné vyhledávání. Zachováno chování Shoptetu „mobile header v1“
       (pevná hlavička, při scrollu dolů se schová, při scrollu nahoru ukáže).
       V objednávkovém procesu (body.ordering-process) zůstává hlavička Shoptetu beze změny.
   ========================================================================== */
@media (max-width: 767px) {
  html body:is(:not(.ordering-process), .in-kosik) .top-navigation-bar { height: 57px; background: var(--pu-pink); }
  html body:is(:not(.ordering-process), .in-kosik) .top-navigation-bar .pu-topsocial { display: none; }
  html body:is(:not(.ordering-process), .in-kosik) .top-navigation-bar .container { min-height: 57px; padding: 0 5px; }
  html body:is(:not(.ordering-process), .in-kosik) .top-navigation-bar .responsive-tools { padding: 0; }
  html body:is(:not(.ordering-process), .in-kosik) .top-navigation-bar .responsive-tools > a[data-target="search"] { display: none; }
  html body:is(:not(.ordering-process), .in-kosik) .top-navigation-bar .responsive-tools > a[data-target="navigation"] {
    left: 5px; right: auto; top: 8px; width: 42px; height: 42px; padding: 0;
    display: flex; align-items: center; justify-content: center; color: #1d1d1d;
  }
  html body:is(:not(.ordering-process), .in-kosik) .top-navigation-bar .responsive-tools > a[data-target="navigation"]::before {
    content: ""; width: 20px; height: 16px; font-size: 0; border-radius: 0; border: 0;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 16'%3E%3Cpath d='M0 1h20M0 8h20M0 15h20' stroke='%231d1d1d' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat;
  }
  html body:is(:not(.ordering-process), .in-kosik) #header { top: 57px; background: var(--pu-pink); transition: transform .15s; }
  html body:is(:not(.ordering-process), .in-kosik) #header .navigation-wrapper { padding: 0 15px; }
  html body:is(:not(.ordering-process), .in-kosik) #header .header-top { display: block; min-height: 0; }
  html body:is(:not(.ordering-process), .in-kosik) #header .site-name-wrapper { margin: 0; }
  html body:is(:not(.ordering-process), .in-kosik) #header .site-name { top: -57px; left: calc(50% - 45px); width: 90px; }
  html body:is(:not(.ordering-process), .in-kosik) #header .site-name > a { height: 57px; justify-content: center; }
  html body:is(:not(.ordering-process), .in-kosik) #header .site-name img { width: 78px; max-width: 78px; max-height: 57px; padding: 6px 0; }
  html body:is(:not(.ordering-process), .in-kosik) #header .search { display: block; padding: 0 0 13px; }
  html body:is(:not(.ordering-process), .in-kosik) #header .search .search-form, html body:is(:not(.ordering-process), .in-kosik) #header .search fieldset { display: block; margin: 0; }
  html body:is(:not(.ordering-process), .in-kosik) #header .search .query-input { height: 40px; font-size: 16px; background-position: 14px 50%; padding-left: 44px; }
  html body:is(:not(.ordering-process), .in-kosik) #header .navigation-buttons .pu-account { display: none !important; }
  html body:is(:not(.ordering-process), .in-kosik) #header .navigation-buttons .cart-count {
    position: absolute; top: -45px; right: 10px; height: 34px; padding: 0 4px; gap: 0;
    background: transparent; color: #1d1d1d; border-radius: 0;
  }
  html body:is(:not(.ordering-process), .in-kosik) #header .navigation-buttons .cart-count .cart-price { display: none !important; }
  html body:is(:not(.ordering-process), .in-kosik) #header .navigation-buttons .cart-count i,
  html body:is(:not(.ordering-process), .in-kosik) #header .navigation-buttons .cart-count .pu-cart-zero {
    position: absolute; top: -2px; right: -4px; min-width: 16px; height: 16px; padding: 0 3px;
    border-radius: 8px; background: #1d1d1d; color: #fff; font-size: 11px; line-height: 16px; text-align: center;
    font-weight: 500;
  }
  html body:is(:not(.ordering-process), .in-kosik) #header .navigation-buttons .cart-count i::before,
  html body:is(:not(.ordering-process), .in-kosik) #header .navigation-buttons .cart-count i::after { content: none; }
  .pu-cart-zero { font-size: 0 !important; }
  .pu-cart-zero::after { content: "0"; font-size: 11px; }
  html body:is(:not(.ordering-process), .in-kosik) .overall-wrapper { padding-top: 110px; }
  .scrolled-down body:is(:not(.ordering-process), .in-kosik):not(.search-window-visible) #header { transform: translateY(-120px); }

  /* objednávkový proces na mobilu: hlavička Shoptetu (jen růžový pruh s menu) */
  html body.ordering-process .top-navigation-bar { background: var(--pu-pink); }
  html body.ordering-process .top-navigation-bar .pu-topsocial,
  html body.ordering-process #header .pu-account { display: none !important; }
  html body.ordering-process #header .header-top { min-height: 0; }

  /* Mobilní menu (Shoptet otevírá #navigation jako panel) – akordeon */
  html body #navigation .navigation-in ul.pu-menu { display: block; margin: 44px 0 0; padding: 0; list-style: none; }
  html body #navigation .navigation-in ul.pu-menu li { position: relative; display: block; border: 0; border-top: 1px solid #eee; }
  html body #navigation .navigation-in ul.pu-menu a {
    display: block; padding: 16px 60px 16px 20px; color: var(--pu-text); font-size: 16px; line-height: 1.25;
    font-weight: 700; text-transform: uppercase; text-decoration: none; background: transparent;
  }
  html body #navigation .navigation-in ul.pu-menu b { display: inline; padding: 0; font-weight: inherit; }
  html body #navigation .navigation-in ul.pu-menu .pu-chev { display: none; }
  html body #navigation .navigation-in ul.pu-menu .pu-sub-toggle {
    display: flex; align-items: center; justify-content: center;
    position: absolute; top: 0; right: 0; width: 56px; height: 52px; padding: 0;
    border: 0; border-left: 1px solid #eee; background: transparent; color: var(--pu-text); cursor: pointer;
  }
  html body #navigation .navigation-in ul.pu-menu .pu-open > .pu-sub-toggle svg { transform: rotate(180deg); }
  html body #navigation .navigation-in ul.pu-sub { display: none; margin: 0; padding: 0; list-style: none; background: #f7f7f7; }
  html body #navigation .navigation-in ul.pu-menu li.pu-open > ul.pu-sub { display: block; }
  html body #navigation .navigation-in ul.pu-sub a { padding-left: 34px; font-weight: 400; text-transform: none; }
  html body #navigation .navigation-in ul.pu-sub ul.pu-sub a { padding-left: 50px; }
}

/* ==========================================================================
   11) Tablet
   ========================================================================== */
@media (min-width: 768px) and (max-width: 991px) {
  html body #navigation .navigation-in ul.pu-menu { gap: 0 16px; }
  html body #navigation .navigation-in ul.pu-menu > li > a { font-size: 14px; height: 56px; gap: 6px; }
  #header .site-name-wrapper { margin-right: 12px; }
  .pu-account span { display: none; }
}
@media (max-width: 1199px) {
  html body .top-navigation-bar .pu-topsocial { margin-left: 0; }
  #header .site-name-wrapper { margin-right: 24px; }
  .pu-menu { gap: 0 24px; }
  html body .products-block.products, html body .pu-grid { grid-template-columns: repeat(3, 1fr); }
  html body.type-category .products-page.products { grid-template-columns: repeat(4, 1fr); }
  .pu-colls__grid { grid-template-columns: repeat(4, 1fr); }
  html body .news-wrapper { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 1024px) {
  .pu-features__in { flex-wrap: wrap; }
  .pu-feature { flex: 1 1 45%; }
  .pu-ucinnost__grid { grid-template-columns: repeat(2, 1fr); gap: 32px; }
  .pu-ucinnost__item img { width: 180px; height: auto; }
  .pu-ucinnost__item p { font-size: 20px; }
  .pu-footer__grid { grid-template-columns: repeat(2, 1fr); }
}

/* ==========================================================================
   12) Mobil (≤ 767 px) – hamburger vlevo, logo na střed, košík vpravo, hledání pod
   ========================================================================== */
@media (max-width: 767px) {
  :root { --pu-pad: 15px; --pu-gap: 20px; }
  .container { padding-left: var(--pu-pad); padding-right: var(--pu-pad); }

  .pu-topsocial { display: none; }

  .pu-hero__img--desk { display: none; }
  .pu-hero__img--mob { display: block; }
  .pu-hero { margin-bottom: 48px; }

  .pu-sec { margin-bottom: 60px; }
  .pu-h2 { font-size: 24px; margin-bottom: 20px; }
  .pu-more { margin-top: 20px !important; }
  .pu-btn { font-size: 17px; min-height: 40px; padding: 0 24px; }

  .pu-features__in { flex-direction: column; gap: 8px; align-items: stretch; padding: 8px 0; }
  .pu-feature { flex: 1 1 100%; gap: 12px; padding: 8px; }
  .pu-feature img { width: 80px; }
  .pu-feature__sub { font-size: 16px; }

  html body .products-block.products, html body .pu-grid, html body .pu-grid--oblibene { grid-template-columns: 1fr; gap: 20px; }
  html body.type-category .products-page.products { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  html body .products .product .p .name { font-size: 17px; margin-top: 20px; }
  html body.type-category .products-page .product .p .name { font-size: 17px; }
  html body.type-category .products-page .product .p .p-in { padding: 0 10px; }
  html body.type-category .products-page .product .p .p-tools .btn { height: 40px; padding: 0 14px; }

  .pu-about__box { flex-direction: column-reverse; min-height: 0; }
  .pu-about__text { padding: 30px 20px 26px; }
  .pu-about__title { font-size: 28px; margin-bottom: 20px; }
  .pu-about__btn { margin-top: 50px !important; }
  .pu-about__img img { max-width: 100%; }

  .pu-colls { margin-top: -40px; }
  .pu-colls__grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }

  .pu-ucinnost { margin: -40px 15px 60px; padding: 60px 16px; }
  .pu-ucinnost__title { font-size: 24px !important; }
  .pu-ucinnost__sub { font-size: 24px; margin-top: 0; }
  .pu-ucinnost__grid { grid-template-columns: 1fr; gap: 24px; }
  .pu-ucinnost__item img { width: 160px; height: auto; }
  .pu-ucinnost__item p { font-size: 18px; }

  .pu-cpi { margin-top: -40px; }
  .pu-cpi__grid.products { grid-template-columns: 1fr; gap: 20px; }
  .pu-cpi--img-left .pu-cpi__img { order: 3; }
  .pu-cpi__img { padding: 40px 0; }
  .pu-cpi__img img { width: 266px; }

  .pu-footer .pu-social { padding: 60px 15px 30px; }
  html body .news-wrapper { grid-template-columns: 1fr; gap: 36px; }
  .pu-page .rich-text__container, .pu-page .rich-text__container--image-right { flex-direction: column; }
  .pu-page .card__text, .pu-page .no-image .card__text { padding: 30px 20px; }
  html body .pu-page .rich-text__title { font-size: 28px; }
  html body.type-page .content h1, html body.type-posts-listing .content h1, html body.type-post .content h1,
  html body.type-detail .p-detail-inner-header h1 { font-size: 32px; }
  html body.type-post .news-item-detail > .text { padding-right: 0; }
  html body.type-post .news-item-detail .text h2 { font-size: 28px; }
  html body.type-post .news-item-detail .text h3 { font-size: 22px; }
  .pu-article-img { margin-bottom: 24px; }
  html body .breadcrumbs { display: flex; flex-wrap: wrap; margin: 0; padding: 16px 0 12px; border: 0; font-size: 14px; }
  html body .pu-desc h2, html body .pu-desc h3 { font-size: 28px; }
  html body.type-detail .p-info-wrapper .quantity .decrease, html body.type-detail .p-info-wrapper .quantity .increase { width: 48px; height: 48px; }
  html body.type-detail .p-info-wrapper .quantity input.amount { width: 40px; height: 48px; }
  html body.type-detail .p-info-wrapper .add-to-cart .add-to-cart-button { height: 50px; font-size: 18px; }
  .pu-social__sub { font-size: 26px; }

  .pu-footer__top { padding: 40px 0; }
  .pu-footer__grid { grid-template-columns: 1fr; gap: 40px; }
  .pu-footer__bottom-in { flex-direction: column; align-items: flex-start; }
}

/* Texty ze Shopify obsahují inline style="font-size: 1rem" (na Shopify = běžná velikost textu).
   Šablona Classic má kořenové písmo 10 px, takže by takové řádky byly drobné → převzít velikost odstavce. */
#description [style*="font-size: 1rem"], #description [style*="font-size:1rem"],
.content-inner [style*="font-size: 1rem"], .content-inner [style*="font-size:1rem"],
.news-item-detail [style*="font-size: 1rem"], .news-item-detail [style*="font-size:1rem"],
.category-perex [style*="font-size: 1rem"], .category-perex [style*="font-size:1rem"] { font-size: inherit !important; }

/* ==========================================================================
   13) Doladění identity (25. 9. 2026) – rozměry podle computed styles Shopify
       (reports/shoptet_import/design_compare_v2/ref/*.json)
   ========================================================================== */
/* Hlavička: položky menu tučnost 500 (Shopify), přepínač „(CZK Kč) ▾“ vpravo nahoře, jazyk jen v patičce */
html body #navigation .navigation-in ul.pu-menu > li > a { font-weight: 500; }
html body .top-navigation-tools .languagesMenu { display: none !important; }
.pu-disc { position: relative; display: inline-flex; }
.pu-disc__btn {
  display: inline-flex; align-items: center; gap: 8px; padding: 6px 0; border: 0; background: transparent;
  color: inherit; font: inherit; font-size: 15px; letter-spacing: var(--pu-ls); cursor: pointer; line-height: 1.2;
}
.pu-disc__btn svg { transition: transform .2s; }
.pu-disc.is-open .pu-disc__btn svg { transform: rotate(180deg); }
.pu-disc__list {
  display: none; position: absolute; right: 0; top: 100%; z-index: 1100; min-width: 220px; max-height: 320px; overflow: auto;
  margin: 6px 0 0; padding: 8px 0; list-style: none; background: #fff; color: var(--pu-text);
  border: 1px solid var(--pu-border); border-radius: var(--pu-radius); box-shadow: 0 10px 30px rgba(0, 0, 0, .1); text-align: left;
}
.pu-disc--up .pu-disc__list { top: auto; bottom: 100%; margin: 0 0 6px; left: 50%; right: auto; transform: translateX(-50%); }
.pu-disc.is-open .pu-disc__list { display: block; }
.pu-disc__list li { margin: 0; padding: 0; }
html body .pu-disc__item, html body .pu-footer a.pu-disc__item {
  display: block; padding: 8px 18px; color: var(--pu-text); font-size: 15px; line-height: 1.3; text-decoration: none;
  border: 0; white-space: nowrap; opacity: 1;
}
.pu-disc__item:hover { background: #f5f5f5; }
.pu-disc__item.is-active { font-weight: 500; text-decoration: underline; }

/* Detail produktu – dvě stejné kolony s mezerou 62 px jako Shopify (80–690 | 752–1360 při 1440 px) */
@media (min-width: 992px) {
  html body.pu-pd-layout .p-detail .product-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); /* minmax: široký obrázek v popisu nesmí rozšířit sloupec (Mycí proužky) */ column-gap: 62px; align-items: start; }
  html body.pu-pd-layout .p-detail .product-top > .col-xs-12:first-child { grid-column: 1 / -1; }
  html body.pu-pd-layout .p-detail .p-image-wrapper,
  html body.pu-pd-layout .p-detail .p-info-wrapper { width: auto; max-width: none; flex: none; padding: 0; float: none; }
  html body.pu-pd-layout .p-detail .p-image-wrapper { position: sticky; top: 20px; }
}
html body.type-detail .p-detail-inner-header h1 { font-size: 49px; line-height: 1; letter-spacing: -0.03em; margin: 0 0 22px; }
html body.type-detail .p-final-price-wrapper { margin: 0; padding: 0; border: 0; }
html body.type-detail .p-final-price-wrapper .price-final,
html body.type-detail .p-final-price-wrapper .price-final-holder { font-size: 25.5px; line-height: 1.2; font-weight: 500; }
html body.type-detail .p-final-price-wrapper .price-additional {
  display: block; margin: 22px 0 22px; font-size: 14.875px; line-height: 1.2; color: var(--pu-text); font-weight: 400;
}
html body.type-detail .p-final-price-wrapper .price-measure:empty,
html body.type-detail .p-final-price-wrapper .price-measure .sr-only:only-child { display: none; }
html body.type-detail .p-info-wrapper .detail-parameters tr.pu-hidden { display: none !important; }
/* štítek VYPRODÁNO (Shopify: #757575, bílé písmo, 14,875 px, velká písmena, radius 3 px, výška 28 px) */
.pu-badges { margin: 0 0 22px; display: flex; gap: 8px; }
.pu-badge {
  display: inline-block; height: 28px; line-height: 28px; padding: 0 9px; border-radius: 3px;
  background: #757575; color: #fff; font-size: 14.875px; text-transform: uppercase; letter-spacing: var(--pu-ls);
}
/* varianty jako pilulky (Shopify product-variant: nadpis 19,125 px/500, pilulka 17 px, padding 12/20, radius 30) */
.pu-variants { margin: 0 0 26px; }
.pu-variant-title { display: block; margin: 0 0 10px; font-size: 19.125px; line-height: 1.2; font-weight: 500; color: var(--pu-text); }
.pu-pills { display: flex; flex-wrap: wrap; gap: 10px 15px; }
.pu-pill {
  display: inline-flex; align-items: center; min-height: 46px; padding: 12px 20px; border: 1px solid rgba(29, 29, 29, .3);
  border-radius: 30px; background: #fff; color: var(--pu-text); font: inherit; font-size: 17px; line-height: 1.2;
  font-weight: 400; letter-spacing: var(--pu-ls); cursor: pointer;
}
.pu-pill:hover { border-color: var(--pu-text); }
.pu-pill.is-selected { border-color: var(--pu-text); font-weight: 500; }
.pu-pill.is-sold { text-decoration: line-through; color: rgba(29, 29, 29, .5); }
.pu-pill.is-sold.is-selected { color: var(--pu-text); }
/* řádek s tlačítky – dělicí čára nad ním jako Shopify */
html body.type-detail .p-info-wrapper .add-to-cart,
.pu-soldout { border-top: 1px solid var(--pu-border); padding-top: 26px; margin: 0 0 24px; }
.pu-soldout { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.pu-soldout__btn {
  flex: 0 1 316px; height: 60px; border: 0; border-radius: 30px; background: var(--pu-pink); opacity: .36;
  color: #fff; font: inherit; font-size: 21.25px; font-weight: 500; letter-spacing: -0.03em; cursor: not-allowed;
}
html body.type-detail .p-info-wrapper .add-to-cart .add-to-cart-button { font-size: 21.25px; }
/* galerie – posuvník se šipkami a tečkami, lupa vpravo nahoře */
html body .p-image-wrapper.pu-gal-on > .p-image,
html body .p-image-wrapper.pu-gal-on > .p-thumbnails-wrapper { display: none !important; }
.pu-gal { position: relative; }
.pu-gal__vp { overflow: hidden; }
.pu-gal__track { display: flex; transition: transform .35s ease; }
.pu-gal__slide { flex: 0 0 100%; min-width: 0; }
.pu-gal__slide img { display: block; width: 100%; height: auto; }
.pu-gal__zoom {
  position: absolute; top: 4px; right: 20px; width: 40px; height: 40px; padding: 8px; border: 0; background: transparent;
  color: var(--pu-text); cursor: zoom-in; line-height: 0;
}
.pu-gal__nav { display: flex; align-items: center; justify-content: center; gap: 18px; margin: 16px 0 0; }
.pu-gal__arrow { width: 24px; height: 24px; padding: 0; border: 0; background: transparent; color: var(--pu-text); cursor: pointer; line-height: 0; display: inline-flex; align-items: center; justify-content: center; }
.pu-gal__dots { display: flex; align-items: center; gap: 8px; }
.pu-gal__dot { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 5px; background: #c4c4c4; cursor: pointer; transition: width .2s; }
.pu-gal__dot.is-active { width: 30px; background: var(--pu-text); }
.pu-gal__count { display: none; font-size: 17px; }
/* Sdílejte */
.pu-share { border-top: 1px solid var(--pu-border); margin: 24px 0 0; padding: 22px 0 0; }
.pu-share__title { margin: 0 0 20px !important; font-size: 19.125px; font-weight: 500; line-height: 1.2; }
.pu-share__links { display: flex; flex-wrap: wrap; gap: 12px 22px; }
.pu-share__links a { display: inline-flex; align-items: center; gap: 10px; color: var(--pu-text); font-size: 17px; text-decoration: none; }
.pu-share__links a:hover span { text-decoration: underline; }
/* drobečky „Domů / Kolekce / …“ */
.pu-bc-native { display: none !important; }
.pu-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; padding: 28px 0 40px; font-size: 14.875px; line-height: 1.1; color: var(--pu-text); }
.pu-breadcrumb__link { color: var(--pu-text); text-decoration: none; }
.pu-breadcrumb__link:hover { text-decoration: underline; }
.pu-breadcrumb__sep { margin: 0 12px; }

/* Ceny ve výpisech: „bez DPH: X“ pod cenou (Shopify product-item__price-vat 14,875 px) */
html body .products .product .p .price-additional {
  display: block; order: 3; flex-basis: 100%; margin: 6px 0 0; font-size: 14.875px; color: var(--pu-text); opacity: .7; font-weight: 400;
}

/* Patička – spodní řádek: © vlevo, jazyk + měna uprostřed, platby vpravo; odkaz na cookies nenápadně */
.pu-footer__bottom-in { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; }
.pu-footer__pay { justify-self: end; }
.pu-footer__loc { display: flex; align-items: center; gap: 24px; justify-self: center; color: rgba(255, 255, 255, .75); }
.pu-footer__loc .pu-disc__btn { color: rgba(255, 255, 255, .75); font-size: 15px; }
.pu-footer__col, .pu-footer__col p, .pu-footer__menu a { font-weight: 400; }
html body .pu-footer a.pu-cookies {
  display: inline-block; margin-left: 14px; font-size: 13px; border-bottom: 0; opacity: .75; text-decoration: underline;
}
#footer.pu-footer-on .footer-bottom { padding-top: 6px; }

/* „Sledujte mě“ – karusel Instagramu mezi podnadpisem a tlačítkem Sleduj (Shopify: 5 × 1:1, mezera 12 px, radius 12 px) */
.pu-footer .pu-social .pu-h2 { font-size: 25px; margin-bottom: 20px; }
.pu-social__sub { font-size: 25px; }
.pu-ig { position: relative; max-width: 1240px; margin: 20px auto 28px; }
.pu-ig__vp { overflow: hidden; }
.pu-ig__track { display: flex; gap: 12px; transition: transform .5s ease; }
html body .pu-footer .pu-ig__item {
  position: relative; flex: 0 0 calc((100% - 48px) / 5); aspect-ratio: 1 / 1; border-radius: 12px; overflow: hidden;
  display: block; border: 0; line-height: 0;
}
.pu-ig__item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pu-ig__type { position: absolute; top: 12px; right: 12px; color: #fff; filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .4)); }
.pu-ig__hover {
  position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px;
  background: rgba(0, 0, 0, .45); color: #fff; opacity: 0; transition: opacity .2s; line-height: 1.2; font-size: 15px;
}
.pu-ig__item:hover .pu-ig__hover { opacity: 1; }
.pu-ig__hover > svg { width: 28px; height: 28px; }
.pu-ig__stats { display: flex; gap: 16px; }
.pu-ig__stats span { display: inline-flex; align-items: center; gap: 6px; }
.pu-ig__arrow {
  position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border: 0; border-radius: 50%;
  background: rgba(255, 255, 255, .9); color: var(--pu-text); box-shadow: 0 2px 8px rgba(0, 0, 0, .15); cursor: pointer;
  display: flex; align-items: center; justify-content: center; line-height: 0;
}
.pu-ig__arrow--prev { left: 12px; }
.pu-ig__arrow--next { right: 12px; }
.pu-ig--start .pu-ig__arrow--prev { display: none; }

@media (max-width: 991px) {
  html body.type-detail .p-detail-inner-header h1 { font-size: 32px; }
  .pu-gal__dots { display: none; }
  .pu-gal__count { display: inline; }
}
@media (max-width: 767px) {
  .pu-footer__bottom-in { grid-template-columns: 1fr; justify-items: start; }
  .pu-footer__loc, .pu-footer__pay { justify-self: start; }
  .pu-ig__track { gap: 4px; }
  html body .pu-footer .pu-ig__item { flex-basis: calc((100% - 4px) / 2); }
  .pu-ig__arrow { display: none; }
  .pu-soldout__btn { flex: 1 1 100%; }
}

/* Kategorie (změřeno na Shopify /collections/produkty při 1440 px): H1 49 px; „Seřadit podle:“ 17 px (mezera 12),
   select 233×46, rámeček 1 px rgba(29,29,29,.3), radius 5, padding 12/53/12/16; pod ním „N produkty/produktů“ 17 px;
   karty 227 px, mezera 36 px, obrázek 225×182 (cover), název 3 řádky se „…“, tlačítko přes šířku karty 19,125 px/500 */
html body.type-category .category-title, html body.pu-cat #content h1 { font-size: 49px; line-height: 1; font-weight: 400; margin: 0 0 50px; letter-spacing: -0.03em; }
html body.pu-cat .category-perex,
html body.pu-cat .listSorting,
html body.pu-cat .category-header .listItemsTotal,
html body.pu-cat .category-header > *:not(.pu-colbar) { display: none !important; }
.pu-colbar { display: flex; flex-direction: column-reverse; align-items: flex-start; gap: 15px; margin: 0 0 40px; }
.pu-count { font-size: 17px; line-height: 1.2; color: var(--pu-text); }
.pu-sort__label { display: block; margin: 0 0 12px; font-size: 17px; font-weight: 400; color: var(--pu-text); }
.pu-sort__wrap { position: relative; display: inline-block; width: 233px; }
.pu-sort__select {
  -webkit-appearance: none; appearance: none; width: 100%; height: 46px; padding: 12px 53px 12px 16px; margin: 0;
  border: 1px solid rgba(29, 29, 29, .3); border-radius: 5px; background: #fff; color: var(--pu-text);
  font: inherit; font-size: 17px; line-height: 1.2; letter-spacing: var(--pu-ls); cursor: pointer; box-shadow: none;
}
.pu-sort__wrap svg { position: absolute; right: 18px; top: 50%; transform: translateY(-50%); pointer-events: none; color: var(--pu-text); }
html body.type-category .products-page.products { gap: 36px; }
html body .products .product .p .image { aspect-ratio: 225 / 182; }
html body .products .product .p .name {
  display: -webkit-box !important; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden;
  line-height: 30px; max-height: 90px; margin-bottom: 0;
}
html body .products .product .p .prices { margin-top: 17px; }
html body .products .product .p .price-final strong, html body .products .product .p .price-final span { font-size: 17px; }
html body .products .product .p .availability { font-size: 14.875px; margin-top: 4px; }
html body.type-category .products-page .product .p .p-tools .btn,
html body .products .product .p .p-tools .btn { width: 100%; display: flex; height: 50px; padding: 0 12px; }
html body .products .product .p .p-tools .btn-cart::after,
html body .products .product .p .p-tools .add-to-cart-button::after,
html body.type-category .products-page .product .p .p-tools .btn-cart::after,
html body.type-category .products-page .product .p .p-tools .add-to-cart-button::after { font-size: 19.125px; font-weight: 500; }
@media (max-width: 767px) {
  html body.type-category .category-title, html body.pu-cat #content h1 { font-size: 32px; margin-bottom: 30px; }
  html body.type-category .products-page.products { gap: 12px; }
}
/* karty: vnitřní odsazení 25 px, cena → bez DPH → dostupnost pod sebou (Shopify: 17 px, −3 px, 14,875 px) */
html body .products .product .p .p-in,
html body.type-category .products-page .product .p .p-in { padding: 0 25px; }
html body .products .product .p .prices { flex-direction: column; align-items: center; gap: 0; margin: 17px 0 0; }
html body .products .product .p .price-final { margin: 0 0 14px; }
html body .products .product .p .prices .price-standard { margin: -10px 0 14px; }
html body .products .product .p .price-additional { margin: 0 !important; opacity: 1; order: 3; }
html body .products .product .p .ratings-wrapper { margin: 15px 0 0; }
html body .products .product .p .availability { margin: 1px 0 0; }
html body .products .product .p .image { aspect-ratio: 4 / 3; }
html body .products .product .p .prices { flex-wrap: nowrap; height: auto; max-height: none; min-height: 0; width: 100%; }
html body .products .product .p .prices > * { flex: 0 0 auto; width: auto; max-width: 100%; }
/* název karty (Shopify product-item__title span: 25,5 px / 28,05 px / 500, max. 3 řádky, odstup 25 px od obrázku) */
html body .products .product .p .name,
html body.type-category .products-page .product .p .name {
  margin: 25px 0 0; font-size: 25.5px; line-height: 28.05px; font-weight: 500; max-height: 87.15px; padding-bottom: 3px;
}
html body .products .product .p .p-tools { padding-top: 14.875px; }
@media (max-width: 767px) {
  html body .products .product .p .name, html body.type-category .products-page .product .p .name { font-size: 17px; line-height: 21px; max-height: 66px; }
}
.pu-sort-mob { display: none; position: relative; }
@media (max-width: 767px) {
  /* růžová hlavička se posouvá se stránkou; prázdný bílý pruh 40 px nad ní (Shopify announcement-bar) je skrytý –
     rozhodnutí uživatele 26. 9. 2026 (DECISIONS, DESIGN L20) */
  html body:is(:not(.ordering-process), .in-kosik) .top-navigation-bar { position: relative !important; top: auto !important; margin-top: 0; transform: none !important; }
  html body:is(:not(.ordering-process), .in-kosik) #header { position: relative !important; top: auto !important; transform: none !important; }
  html body:is(:not(.ordering-process), .in-kosik) .overall-wrapper { padding-top: 0 !important; }
  .scrolled-down body:is(:not(.ordering-process), .in-kosik):not(.search-window-visible) #header { transform: none !important; }
  /* mřížka karet: 2 sloupce bez přetečení, mezera 18 px (Shopify 171 + 18 + 171) */
  html body.type-category .products-page.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 18px !important; }
  html body .products .product .p { border-radius: 8px; padding-bottom: 15px; }
  html body .products .product .p .p-in, html body.type-category .products-page .product .p .p-in { padding: 0 15px; }
  html body .products .product .p .name, html body.type-category .products-page .product .p .name {
    margin-top: 15px; font-size: 17px; line-height: 18.7px; font-weight: 500; max-height: 59.1px;
  }
  html body .products .product .p .prices { margin-top: 12.75px; }
  html body .products .product .p .price-final strong, html body .products .product .p .price-final span { font-size: 14.875px; }
  html body .products .product .p .price-final { margin-bottom: 9.75px; }
  html body .products .product .p .price-additional { font-size: 12.75px; }
  html body .products .product .p .ratings-wrapper { margin-top: 12.75px; }
  html body .products .product .p .availability { font-size: 12.75px; }
  html body .products .product .p .p-tools { padding-top: 12.75px; }
  html body.type-category .products-page .product .p .p-tools .btn,
  html body .products .product .p .p-tools .btn { width: auto; display: inline-flex; height: 41px; padding: 0 12px; }
  html body .products .product .p .p-tools .btn-cart::after,
  html body .products .product .p .p-tools .add-to-cart-button::after,
  html body.type-category .products-page .product .p .p-tools .btn-cart::after,
  html body.type-category .products-page .product .p .p-tools .add-to-cart-button::after { font-size: 17px; }
  /* řazení: tlačítko „Řazení“ místo selectu, pod ním počet */
  .pu-sort { display: none; }
  .pu-sort-mob { display: inline-block; }
  .pu-sort-mob__btn {
    display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 16px; border: 2px solid var(--pu-pink);
    border-radius: 30px; color: var(--pu-pink); font-size: 14.875px; font-weight: 500;
  }
  .pu-sort-mob__select { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
  .pu-colbar { gap: 14px; margin-bottom: 28px; }
  .pu-count { font-size: 14.875px; color: #6b6b6b; }
  .pu-breadcrumb { font-size: 12.75px; padding: 16px 0 16px; }
  html body.type-category .category-title, html body.pu-cat #content h1 { font-size: 32.67px; margin-bottom: 30px; }
}
/* šedé doplňkové texty Shopify (text-color--opacity = opacity .62) */
html body .products .product .p .price-additional { opacity: .62; }
.pu-count { color: var(--pu-text) !important; opacity: .66; }
/* štítek slevy na kartě (Shopify product-item__badge--sale: #d14545, 12,75 px, velká písmena, radius 3, výška 24) */
html body .products .product .p .image { position: relative; }
.pu-card-badge {
  position: absolute; top: 15px; right: 15px; z-index: 2; display: block; height: 24px; line-height: 24px; padding: 0 7px;
  border-radius: 3px; background: #d14545; color: #fff; font-size: 12.75px; text-transform: uppercase; letter-spacing: var(--pu-ls);
}
/* stará cena vedle nové (Shopify: „384,00 Kč 427,00 Kč“) */
html body .products .product .p .price-final .price-standard { display: inline; margin: 0 0 0 8px; font-size: 17px; color: var(--pu-text); opacity: .62; text-decoration: line-through; }
html body .products .product .p .price-final .price-standard span { font-size: inherit; }
/* „Kdo jsem?“ – blok 1280×542, obrázek contain (Shopify image-with-text), nadpis 37,33 px */
.pu-about__box { min-height: 0; height: 542px; }
.pu-about__img { align-items: stretch; }
.pu-about__img img { width: 100%; height: 542px; max-width: none; object-fit: contain; object-position: center bottom; }
.pu-about__title { font-size: 37.33px; line-height: 1; margin-bottom: 16px; }
@media (max-width: 767px) {
  .pu-about__box { height: auto; }
  .pu-about__img img { height: auto; }
  .pu-about__title { font-size: 28px; }
}
/* titulní strana – rytmus sekcí podle Shopify (nadpisy sekcí 28 px, mezery 80 / 36 px) */
.pu-home .pu-h2, .pu-h2 { font-size: 28px; line-height: 1; }
html body .pu-slot .products-block, html body .pu-slot .products { margin-left: 0 !important; margin-right: 0 !important; }
.pu-products.pu-products--novinky { margin-bottom: 80px; }
.pu-products.pu-products--oblibene { margin-bottom: 36px; }
/* Kontakt (Shopify /pages/kontakt, 1440 px): 3 karty 403 px, mezera 30, výška 606; rámeček rgba(29,29,29,.15), radius 12,
   padding 24; nadpis formuláře 28 px; pole 46 px, rámeček rgba(29,29,29,.3), radius 5; obrysové „Odeslat“ 19,125 px */
html body .pu-page--kontakt .contact-form.grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; align-items: stretch; margin: 0; }
html body .pu-page--kontakt .contact-form.grid > * { width: auto; float: none; margin: 0; padding: 0; min-height: 606px; }
html body .pu-page--kontakt .contact-form__info-content {
  height: 100%; box-sizing: border-box; padding: 24px; background: #fff !important;
  border: 1px solid rgba(29, 29, 29, .15) !important; border-radius: 12px;
}
html body .pu-page--kontakt .contact-form__info-content p { margin: 0 0 16px; font-size: 17px; line-height: 1.2; }
html body .pu-page--kontakt .contact-form__image {
  display: flex; align-items: center; justify-content: center; overflow: hidden;
  border: 1px solid rgba(29, 29, 29, .15); border-radius: 12px; background: #fff;
}
html body .pu-page--kontakt .contact-form__image figure { position: static; padding: 0 !important; margin: 0; width: 100%; height: 100%; }
html body .pu-page--kontakt .contact-form__image img {
  position: static; display: block; width: 100%; height: 100%; max-height: none; object-fit: contain; padding: 52px; box-sizing: border-box;
}
html body .pu-page--kontakt .contact-form__the-form { display: flex; flex-direction: column; }
.pu-form-title { font-size: 28px; line-height: 1; font-weight: 400; margin: 0 0 16px; padding: 0 0 15px; letter-spacing: var(--pu-ls); }
html body .pu-page--kontakt #formContact {
  flex: 1 1 auto; box-sizing: border-box; background: #fff; border: 1px solid rgba(29, 29, 29, .15); border-radius: 12px; padding: 24px;
}
html body .pu-page--kontakt #formContact fieldset { margin: 0; padding: 0; border: 0; }
html body .pu-page--kontakt #formContact .form-group { margin: 0 0 15px; padding: 0; }
html body .pu-page--kontakt #formContact .form-group.pu-ph:first-of-type { margin-bottom: 36px; }
html body .pu-page--kontakt #formContact .pu-ph > label {
  position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}
html body .pu-page--kontakt #formContact input.form-control,
html body .pu-page--kontakt #formContact textarea.form-control {
  width: 100%; height: 46px; padding: 12px; border: 1px solid rgba(29, 29, 29, .3); border-radius: 5px; background: #fff;
  font: inherit; font-size: 17px; line-height: 1.2; color: var(--pu-text); box-shadow: none; letter-spacing: var(--pu-ls);
}
html body .pu-page--kontakt #formContact textarea.form-control { height: 228px; padding: 10px 12px 12px; line-height: 1.4; resize: vertical; }
html body .pu-page--kontakt #formContact .form-control::placeholder { color: rgba(29, 29, 29, .6); opacity: 1; }
html body .pu-page--kontakt #formContact .submit-wrapper { margin: 35px 0 0; }
html body .pu-page--kontakt #formContact .submit-wrapper .btn {
  height: 48px; padding: 0 36px; border: 1px solid var(--pu-pink); border-radius: 30px; background: #fff; color: var(--pu-pink);
  font-size: 19.125px; font-weight: 500; text-transform: none; letter-spacing: -0.03em; box-shadow: none;
}
html body .pu-page--kontakt #formContact .submit-wrapper .btn:hover { background: var(--pu-pink); color: #fff; }
html body .pu-page--kontakt #formContact .consents { margin: 14px 0 0; }
html body .pu-page--kontakt #formContact .consents .label { font-size: 12.75px; line-height: 1.3; color: var(--pu-text); opacity: .66; margin: 0; }
html body .pu-page--kontakt #formContact .consents .label a { color: inherit; text-decoration: underline; }
@media (max-width: 991px) {
  html body .pu-page--kontakt .contact-form.grid { grid-template-columns: 1fr; gap: 20px; }
  html body .pu-page--kontakt .contact-form.grid > * { min-height: 0; }
  html body .pu-page--kontakt .contact-form__image img { height: auto; padding: 30px; }
}
html body .pu-page--kontakt div.contact-form.grid { width: 100% !important; max-width: none !important; }
html body .pu-page--kontakt form#formContact.contact-form { width: auto !important; max-width: none !important; float: none; margin: 0; }
/* Kontakt – fotka: Shopify zobrazuje výřez na výšku (≈ 296×356 px) uprostřed karty */
html body .pu-page--kontakt .contact-form__image img { width: calc(100% - 104px); height: 356px; padding: 0; object-fit: cover; object-position: 38% 50%; margin: auto; }

/* Mobil – typografie Shopify (základ 14,875 px / 17,85 px; drobné texty 12,75 px; H1 32,67 px; nadpisy bloků 28 px) */
@media (max-width: 767px) {
  body, .pu-home, .pu-footer, .pu-footer a, .pu-page .rte p, html body .pu-desc,
  html body .pu-page--kontakt .contact-form__info-content p, .pu-share__links a,
  html body.type-post .news-item-detail .text p, html body.type-post .news-item-detail .text li,
  html body .pu-page .rte li { font-size: 14.875px; line-height: 17.85px; }
  html body.type-page .content h1, html body.type-posts-listing .content h1, html body.type-post .content h1,
  html body.type-detail .p-detail-inner-header h1 { font-size: 32.67px; line-height: 1; }
  html body.type-detail .p-final-price-wrapper .price-final,
  html body.type-detail .p-final-price-wrapper .price-final-holder { font-size: 17px; }
  html body.type-detail .p-final-price-wrapper .price-additional { font-size: 12.75px; }
  html body .pu-page .rich-text__title, .pu-form-title { font-size: 28px; }
  html body.type-detail .p-info-wrapper .quantity .decrease, html body.type-detail .p-info-wrapper .quantity .increase { width: 50px; height: 50px; }
  html body.type-detail .p-info-wrapper .add-to-cart .add-to-cart-button { height: 50px; font-size: 19.125px; }
  .pu-ig__arrow { display: flex; width: 36px; height: 36px; }
  .pu-ig__arrow--prev { left: 6px; } .pu-ig__arrow--next { right: 6px; }
  html body .pu-page--kontakt .contact-form__image img { width: calc(100% - 104px); height: 260px; }
}
html body .top-navigation-tools [data-testid="topnavCurrencyDropdown"] { display: none !important; }

/* ==========================================================================
   17) Karty článků, vyhledávání, výpis blogu, detail článku, stránkování, prázdný košík, 404
       (míry Shopify změřené 25. 9. 2026 na 1440 a 390 px)
   ========================================================================== */
.pu-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.pu-btn-dark {
  display: inline-block; padding: 15px 46px; border: 1px solid var(--pu-pink); border-radius: 30px; background: #1d1d1d;
  color: #fff !important; font-size: 21.25px; line-height: 26.5625px; font-weight: 500; letter-spacing: -0.03em; text-decoration: none !important;
}
.pu-btn-dark:hover { background: var(--pu-pink); }

/* karta článku (Shopify blog-item) */
.pu-blog-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 36px; }
.pu-blog-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pu-blog-item__image { display: block; aspect-ratio: 4 / 3; margin: 0 0 17px; border: 1px solid #dfdfdf; border-radius: 12px; overflow: hidden; background: #f4f4f4; }
.pu-blog-item__image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.pu-blog-item:hover .pu-blog-item__image img { transform: scale(1.03); }
.pu-blog-item__title { margin: 0 0 8.5px; }
.pu-blog-item__title a { color: var(--pu-text); text-decoration: none; }
.pu-blog-item__title span { font-size: 19.125px; line-height: 22.95px; font-weight: 500; letter-spacing: -0.51px; padding-bottom: 3px; }
.pu-blog-item__title a:hover span { text-decoration: underline; }
.pu-blog-item__meta { opacity: .62; }
.pu-blog-item__date { font-size: 14.875px; line-height: 17.85px; }

/* Vyhledávání */
.pu-search-page .sidebar { display: none !important; }
.pu-search-page .content-wrapper-in > .content { width: 100% !important; max-width: none; float: none; margin-left: 0 !important; padding-left: 0; padding-right: 0; }
.pu-search-main > h2:not([class]), .pu-search-main > .search-results-groups,
.pu-search-main #products-found, .pu-search-main .search-products-heading { display: none !important; }
.pu-search__title { margin: 0 0 16px; font-size: 49px; line-height: 49px; font-weight: 400; letter-spacing: -1.47px; color: var(--pu-text); }
.pu-search__form { display: flex; align-items: center; gap: 25px; margin: 0; }
.pu-search__field {
  position: relative; flex: 1 1 auto; display: flex; align-items: center; height: 48px; box-sizing: border-box;
  border: 1px solid var(--pu-pink); border-radius: 30px; background: #fff;
}
.pu-search__field svg { position: absolute; left: 20px; top: 50%; transform: translateY(-50%); width: 21px; height: 21px; color: var(--pu-text); pointer-events: none; }
html body .pu-search__field input {
  width: 100%; height: 46px; margin: 0; padding: 11px 36px 11px 53px; border: 0; border-radius: 30px; background: transparent;
  font: inherit; font-size: 17px; line-height: 20.4px; color: var(--pu-text); letter-spacing: -0.51px; box-shadow: none; outline: 0;
}
.pu-search__field input::placeholder { color: #5c5c5c; opacity: 1; }
.pu-search__field:focus-within { box-shadow: 0 0 0 1px var(--pu-pink); }
.pu-search__btn {
  flex: 0 0 auto; height: 48px; padding: 11px 36px; border: 1px solid var(--pu-pink); border-radius: 30px; background: #fff;
  color: var(--pu-pink); font: inherit; font-size: 19.125px; line-height: 23.9px; font-weight: 500; letter-spacing: -0.57px; cursor: pointer;
}
.pu-search__btn:hover { background: var(--pu-pink); color: #fff; }
.pu-search__results { padding-top: 50px; font-size: 17px; line-height: 20.4px; color: var(--pu-text); }
.pu-search__none { margin: 0 0 50px; }
.pu-search__count { margin: 0 0 50px; }
.pu-search__range { opacity: .62; }
.pu-search__h { margin: 0 0 25px; font-size: 21px; line-height: 21px; font-weight: 400; letter-spacing: -0.63px; color: var(--pu-text); text-align: left; }
.pu-search__h--more { padding-top: 80px; }
html body .pu-search__grid.products { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 36px; }
/* karty ve výsledcích: cena → bez DPH → dostupnost → název → tlačítko (pořadí Shopify search) */
html body .pu-search__grid .product .p .prices { order: 1; margin-top: 25px; }
html body .pu-search__grid .product .p .ratings-wrapper { order: 2; margin: 0; }
html body .pu-search__grid .product .p .name { order: 3; margin: 14.875px 0 17px; -webkit-line-clamp: 3; }
html body .pu-search__grid .product .p .p-tools { order: 4; padding-top: 0; }
html body .pu-search__grid .product .p .price-final { margin-bottom: 3px; }
html body .pu-search__grid .product .p .availability { margin: 1px 0 0; }

/* Výpis blogu (Shopify: 3 sloupce 403 px, mezery 80/36 px, název 19,125/500, datum 14,875 (62 %), úryvek 17 px) */
html body .news-wrapper { gap: 80px 36px; }
html body .news-wrapper .news-item .image { margin: 0 0 17px; }
html body .news-wrapper .news-item .image a { border: 1px solid #dfdfdf; box-sizing: border-box; }
html body .news-wrapper .news-item .title { margin: 0 0 8.5px; font-size: 19.125px; line-height: 22.95px; font-weight: 500; letter-spacing: -0.51px; }
.pu-blog-date { margin: 0 0 8.5px; opacity: .62; }
.pu-blog-date span { font-size: 14.875px; line-height: 17.85px; }
html body .news-wrapper .news-item .description.pu-blog-excerpt { display: block; font-size: 17px; line-height: 20.4px; color: var(--pu-text); overflow: visible; }

/* Detail článku: text 663 px + „Sdílet“ 200 px (mezera 80), nadpisy a text podle Shopify */
html body.type-post .news-item-detail > .pu-article-body { display: grid; grid-template-columns: minmax(0, 663px) 200px; gap: 80px; max-width: 943px; margin: 0 auto; }
html body.type-post .news-item-detail .pu-article-body > .text { max-width: none; margin: 0; padding-right: 0; }
.pu-article-share__in { position: sticky; top: 30px; }
.pu-article-share__title { font-size: 19.125px; line-height: 22.95px; }
.pu-article-share__icons { display: flex; gap: 20px; margin: 0 0 0 -5px; padding: 15px 0 0; }
.pu-article-share__icons a { display: flex; margin: 5px; color: var(--pu-text); }
.pu-article-share__icons svg { width: 20px; height: 20px; }
html body.type-post .news-item-detail .text h2 { font-size: 49px; line-height: 1; font-weight: 400; margin: 0 0 16px; letter-spacing: -0.03em; }
html body.type-post .news-item-detail .text h3 { font-size: 37.33px; line-height: 1; font-weight: 400; margin: 0 0 16px; letter-spacing: -0.03em; }
html body.type-post .news-item-detail .text p { font-size: 17px; line-height: 20.4px; margin: 0 0 16px; }
html body.type-post .news-item-detail .text li { font-size: 17px; line-height: 20.4px; }
html body.type-post .news-item-detail .text li + li { margin-top: 12px; }
.pu-more-articles { max-width: 943px; margin: 80px auto 0; }
.pu-more-articles__title { margin: 0 0 16px; padding: 50px 0 0; font-size: 28px; line-height: 28px; font-weight: 400; letter-spacing: -0.84px; }
.pu-more-articles .pu-blog-grid { padding-top: 25px; }

/* Stránkování */
.listingControls .goToTop, .listingControls .itemsTotal, nav.pagination.pu-pag-done { display: none !important; }
.pu-pag { display: block; margin: 0; padding: 50px 0 0; list-style: none; font-size: 17px; line-height: 20.4px; }
.pu-pag li { display: inline-block; vertical-align: middle; margin: 0 5px; padding: 0; text-align: center; }
.pu-pag li:first-child { margin-left: 0; }
.pu-pag__num, .pu-pag__prev, .pu-pag__next { width: 40px; height: 40px; line-height: 38px; }
.pu-pag__num a, .pu-pag__prev a, .pu-pag__next a {
  display: block; width: 40px; height: 40px; box-sizing: border-box; border: 1px solid transparent; border-radius: 50%;
  color: var(--pu-text); text-decoration: none; line-height: 38px;
}
.pu-pag__prev a, .pu-pag__next a { display: flex; align-items: center; justify-content: center; border-color: rgba(29, 29, 29, .15); }
.pu-pag__prev.is-disabled, .pu-pag__next.is-disabled { display: inline-flex; align-items: center; justify-content: center; opacity: .5; }
.pu-pag__num a:hover, .pu-pag__prev a:hover, .pu-pag__next a:hover { border-color: #1d1d1d; }
.pu-pag__num.is-active { box-sizing: border-box; border: 1px solid rgba(29, 29, 29, .15); border-radius: 50%; background: #1d1d1d; color: #fff; }
.pu-pag__mob { display: none !important; }

/* Prázdný košík */
.pu-cart-empty { color: var(--pu-text); }
.pu-cart-empty__title { margin: 0 0 40px; font-size: 49px; line-height: 49px; font-weight: 400; letter-spacing: -1.47px; }
.pu-cart-empty__box { max-width: 856px; margin: 0 0 25px; font-size: 17px; line-height: 20.4px; }
.pu-cart-empty__cta { margin-top: 26px; }
.pu-cart-rec { margin: 80px 0 0; }
.pu-sechead { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 10px 30px; margin: 0 0 40px; }
.pu-sechead__title { margin: 0; font-size: 28px; line-height: 28px; font-weight: 400; letter-spacing: -0.84px; color: var(--pu-text); }
.pu-sechead__link { font-size: 19.125px; line-height: 22.95px; color: var(--pu-text) !important; text-decoration: underline; text-underline-offset: 3px; }
html body .pu-cart-rec__grid.products { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 36px; }
.pu-cart-page .sidebar { display: none !important; }
.pu-cart-page .content-wrapper-in > .content { width: 100% !important; max-width: none; float: none; margin-left: 0 !important; }

/* 404 */
.pu-404-page .breadcrumbs { visibility: hidden; }
html body .empty-content-404.pu-404 { padding: 0; margin: 0; text-align: left; background: transparent; border: 0; }
.pu-404__title { margin: 0 0 16px !important; font-size: 49px !important; line-height: 49px !important; font-weight: 400 !important; letter-spacing: -1.47px; color: var(--pu-text); text-align: left; }
.pu-404__text p { margin: 0 0 16px; font-size: 17px; line-height: 20.4px; }
.pu-404 .pu-btn-dark { margin-top: 21.25px; } /* Shopify: okraj tlačítka (inline) se nesčítá s okrajem odstavce – 16 + 21,25 px */

@media (max-width: 767px) {
  .pu-btn-dark { padding: 12px 32px; font-size: 19.125px; line-height: 23.9px; }
  .pu-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  .pu-blog-grid--2 { grid-template-columns: 1fr; }
  .pu-blog-item { margin-bottom: 20px; }
  .pu-blog-item__image { border-radius: 8px; margin-bottom: 14.875px; }
  .pu-blog-item__title span { font-size: 17px; line-height: 20.4px; }
  .pu-blog-item__date { font-size: 12.75px; line-height: 15.3px; }
  .pu-search__title, .pu-cart-empty__title, .pu-404__title { font-size: 32.67px !important; line-height: 32.67px !important; letter-spacing: -0.98px; }
  .pu-cart-empty__title { margin-bottom: 20px; }
  .pu-search__form { flex-direction: column; align-items: flex-start; gap: 15px; }
  .pu-search__field { width: 100%; height: 40px; flex: 0 0 auto; }
  html body .pu-search__field input { height: 38px; font-size: 14.875px; }
  .pu-search__btn { height: 39px; padding: 8px 24px; font-size: 17px; line-height: 21.25px; }
  .pu-search__results, .pu-cart-empty__box, .pu-404__text p { font-size: 14.875px; line-height: 17.85px; }
  .pu-search__results { padding-top: 24px; }
  .pu-search__count, .pu-search__none { margin-bottom: 25px; }
  .pu-search__h { font-size: 18.67px; line-height: 18.67px; margin-bottom: 16px; }
  .pu-search__h--more { padding-top: 40px; }
  html body .pu-search__grid.products { grid-template-columns: 1fr !important; gap: 18px !important; }
  html body .pu-search__grid .product .p .prices { margin-top: 15px; }
  html body .pu-search__grid .product .p .name { margin: 12.75px 0 14.875px; }
  html body .pu-search__grid .product .p .p-tools .btn { width: 100%; }
  html body .news-wrapper { gap: 40px 18px; }
  html body .news-wrapper .news-item .image a { border-radius: 8px; }
  html body .news-wrapper .news-item .image { margin-bottom: 14.875px; }
  html body .news-wrapper .news-item .title { font-size: 17px; line-height: 20.4px; }
  .pu-blog-date { margin-bottom: 7.44px; }
  .pu-blog-date span { font-size: 12.75px; line-height: 15.3px; }
  html body .news-wrapper .news-item .description.pu-blog-excerpt { font-size: 14.875px; line-height: 17.85px; }
  html body.type-post .news-item-detail > .pu-article-body { display: block; }
  .pu-article-share { margin: 30px 0 0; }
  html body.type-post .news-item-detail .text h2 { font-size: 32.67px; line-height: 1; letter-spacing: -0.03em; }
  html body.type-post .news-item-detail .text h3 { font-size: 28px; line-height: 1; letter-spacing: -0.03em; }
  html body.type-post .news-item-detail .text p, html body.type-post .news-item-detail .text li { font-size: 14.875px; line-height: 17.85px; }
  .pu-more-articles { margin-top: 40px; }
  .pu-more-articles__title { font-size: 23.33px; line-height: 23.33px; padding-top: 25px; }
  .pu-more-articles .pu-blog-grid { padding-top: 15px; }
  .pu-pag { padding-top: 25px; text-align: center; font-size: 14.875px; }
  .pu-pag__num { display: none !important; }
  .pu-pag__mob { display: inline-block !important; }
  .pu-sechead { flex-direction: column; align-items: flex-start; margin-bottom: 20px; }
  .pu-sechead__title { font-size: 23.33px; line-height: 23.33px; }
  .pu-sechead__link { font-size: 17px; }
  .pu-cart-rec { margin-top: 47px; }
  html body .pu-cart-rec__grid.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 18px !important; }
}
/* doladění podle náhledu 25. 9.: pole hledání (tmavá linka nahoře jako Shopify), karty ve výsledcích, košík, 404 */
.pu-search__field { background: #1d1d1d; overflow: hidden; }
html body .pu-search__field input { height: 45px; margin-top: 1px; background: #fff; }
html body .pu-search__grid .product .p .price-final { margin: 0 0 11px; }
html body .pu-search__grid .product .p .price-additional { margin: 0 0 14.875px !important; }
html body .pu-search__grid .product .p .ratings-wrapper { margin: 0; }
html body .pu-search__grid .product .p .name { margin: 14.875px 0 17px; }
.pu-cart-page #content { padding-left: 0; padding-right: 0; }

html body .empty-content-404.pu-404 h1.pu-404__title { color: var(--pu-text) !important; }
html body .empty-content-404.pu-404 .pu-404__text p { font-size: 17px; line-height: 20.4px; margin: 0 0 16px; color: var(--pu-text); }
@media (max-width: 767px) {
  html body .pu-search__field input { height: 37px; }
  html body .empty-content-404.pu-404 .pu-404__text p { font-size: 14.875px; line-height: 17.85px; }
}
/* obsah článků ze Shopify: třídy „flex“ (zbytky kopírovaného HTML) nemají na Shopify žádný styl → block jako Shopify;
   tučné písmo Shopify = 500; seznamy 12 px nad */
html body.type-post .news-item-detail .text .flex { display: block; }
html body.type-post .news-item-detail .text strong, html body.type-post .news-item-detail .text b { font-weight: 500; }
html body.type-post .news-item-detail .text ol, html body.type-post .news-item-detail .text ul { margin-top: 12px; }
.pu-article-share__icons { justify-content: center; }
/* drobečky: Shopify text 14,875 px, 198 px od horního okraje, H1 na 246 px */
@media (min-width: 768px) {
  html body .breadcrumbs, .pu-breadcrumb { font-size: 14.875px; line-height: 16.36px; padding: 33px 0 32px; }
  html body.type-posts-listing .content h1 { font-size: 49px; line-height: 49px; letter-spacing: -1.47px; margin: 0 0 40px; }
  html body .listingControls { display: block; margin: 0; }
}
/* „Sledujte mě“: Shopify má od konce obsahu k nadpisu 160 px na všech typech stránek (80 okraj stránky + 80 sekce) */
@media (min-width: 768px) {
  .pu-footer .pu-social { padding-top: 160px; }
}
@media (min-width: 768px) { html body.type-index .pu-footer .pu-social { padding-top: 130px; } }
@media (max-width: 767px) {
  html body .listingControls { display: block; margin: 0; }
  .pu-footer .pu-social { padding-top: 96px; }
}
@media (max-width: 767px) {
  /* drobečky: Shopify text 12,75 px na 170 px, H1 na 201 px */
  html body .breadcrumbs, .pu-breadcrumb { font-size: 12.75px; line-height: 14.03px; padding: 1px 0 17px; color: var(--pu-text); }
  html body .breadcrumbs span, html body .breadcrumbs a { color: var(--pu-text); font-size: 12.75px; }
  html body .breadcrumbs .navigation-bullet, .pu-breadcrumb__sep { margin: 0 10px; }
  .pu-social__sub { line-height: 1.25; }
  .pu-search__field { background: #fff; }
  html body .pu-search__field input { height: 38px; margin-top: 0; }
  html body .pu-cart-rec__grid .product .p .p-tools .btn { width: 100%; display: flex; }
}
html body.pu-cart-step1 .content-inner { max-width: none; width: auto; }
.pu-cart-rec { margin-top: 104px; }
@media (max-width: 767px) { .pu-cart-rec { margin-top: 62px; } }

/* ==========================================================================
   18) Stránky: typografie obsahu jako Shopify .rte (h2 49 · h3 37,33 · h4 28 · h5 21 · h6 17 / mobil 32,67 · 28 ·
       23,33 · 18,67 · 14,875; váha 400, řádkování 1, odstup 16 px; odkazy tmavé podtržené; tučné 500)
   ========================================================================== */
html body.type-page .content h1 { font-size: 49px; line-height: 1; letter-spacing: -0.03em; margin: 0 0 16px; }
.pageArticleDetail [itemprop="about"] h2:not(.pu-form-title), .pu-page .rte h2:not(.pu-form-title) { font-size: 49px; line-height: 1; font-weight: 400; letter-spacing: -0.03em; margin: 0 0 16px; }
.pageArticleDetail [itemprop="about"] h3:not(.pu-form-title), .pu-page .rte h3:not(.pu-form-title) { font-size: 37.33px; line-height: 1; font-weight: 400; letter-spacing: -0.03em; margin: 0 0 16px; }
.pageArticleDetail [itemprop="about"] h4:not(.pu-form-title), .pu-page .rte h4:not(.pu-form-title) { font-size: 28px; line-height: 1; font-weight: 400; letter-spacing: -0.03em; margin: 0 0 16px; text-transform: none; }
.pageArticleDetail [itemprop="about"] h5:not(.pu-form-title), .pu-page .rte h5:not(.pu-form-title) { font-size: 21px; line-height: 1; font-weight: 400; letter-spacing: -0.03em; margin: 0 0 16px; }
.pageArticleDetail [itemprop="about"] h6:not(.pu-form-title), .pu-page .rte h6:not(.pu-form-title) { font-size: 17px; line-height: 1; font-weight: 400; margin: 0 0 16px; }
.pageArticleDetail [itemprop="about"] p { font-size: 17px; line-height: 20.4px; margin: 0 0 16px; }
.pageArticleDetail [itemprop="about"] a, .pu-page .rte a:not(.button), html body.type-post .news-item-detail .text a,
html body.type-detail .basic-description a, html body.type-detail .p-detail .description a {
  /* Shopify .rte a: barva textu, podtržení = spodní čára 1 px + odsazení 1 px */
  color: var(--pu-text) !important; text-decoration: none; border-bottom: 1px solid var(--pu-text); padding-bottom: 1px; transition: all .1s linear;
}
.pageArticleDetail [itemprop="about"] strong, .pageArticleDetail [itemprop="about"] b, .pu-page .rte strong, .pu-page .rte b { font-weight: 500; }

/* bloky „rich-text“ (O mně, Blog): výšku určuje text (odsazení 80 px), fotka vyplní svou polovinu (cover) */
html body.type-page .pu-page .shopify-section { margin: 0 0 80px; }
html body.type-page .pu-page .shopify-section:first-child { margin-top: 24px; }
.pu-page .rich-text__image { position: relative; overflow: hidden; }
html body .pu-page .rich-text__image .lazy-image, html body .pu-page .rich-text__image figure { position: absolute; inset: 0; height: 100%; }
html body .pu-page .rich-text__image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pu-page .card__text, .pu-page .no-image .card__text { padding: 80px; }
html body .pu-page .rich-text__title { font-size: 37.33px; line-height: 37.33px; margin: 0 0 16px; letter-spacing: -1.12px; }
.pu-page .rich-text__title strong { font-weight: 500; }
.pu-page .rte p { line-height: 20.4px; }
html body .pu-page a.button { min-height: 61px; padding: 15px 46px; font-size: 21.25px; line-height: 26.56px; }
@media (max-width: 767px) {
  html body.type-page .content h1 { font-size: 32.67px; line-height: 1; letter-spacing: -0.98px; margin-bottom: 16px; }
  .pageArticleDetail [itemprop="about"] h2:not(.pu-form-title), .pu-page .rte h2:not(.pu-form-title) { font-size: 32.67px; line-height: 1; }
  .pageArticleDetail [itemprop="about"] h3:not(.pu-form-title), .pu-page .rte h3:not(.pu-form-title) { font-size: 28px; line-height: 1; }
  .pageArticleDetail [itemprop="about"] h4:not(.pu-form-title), .pu-page .rte h4:not(.pu-form-title) { font-size: 23.33px; line-height: 1; letter-spacing: -0.7px; }
  .pageArticleDetail [itemprop="about"] h5:not(.pu-form-title), .pu-page .rte h5:not(.pu-form-title) { font-size: 18.67px; line-height: 1; }
  .pageArticleDetail [itemprop="about"] h6:not(.pu-form-title), .pu-page .rte h6:not(.pu-form-title) { font-size: 14.875px; line-height: 1; }
  .pageArticleDetail [itemprop="about"] p { font-size: 14.875px; line-height: 17.85px; }
  html body.type-page .pu-page .shopify-section { margin-bottom: 47px; }
  html body.type-page .pu-page .shopify-section:first-child { margin-top: 20px; }
  .pu-page .rich-text { border-radius: 8px; }
  .pu-page .rich-text__container, .pu-page .rich-text__container--image-right { display: flex; flex-direction: column; }
  .pu-page .rich-text__image { flex: 0 0 auto; width: 100%; aspect-ratio: 1 / 1; }
  .pu-page .card__text, .pu-page .no-image .card__text { padding: 25px; }
  html body .pu-page .rich-text__title { font-size: 28px; line-height: 28px; letter-spacing: -0.84px; }
  .pu-page .rte p { font-size: 14.875px; line-height: 17.85px; }
  html body .pu-page a.button { min-height: 52px; padding: 12px 32px; font-size: 19.125px; line-height: 23.9px; }
}
html body.type-page .pu-page .shopify-section:first-child { margin-top: 0; }
html body.type-page .pu-page .shopify-section.pu-first { margin-top: 40px; }
@media (max-width: 767px) { html body.type-page .pu-page .shopify-section.pu-first { margin-top: 20px; } }
/* Shopify „element--height-regular“: blok s fotkou má min. výšku 540 px, text svisle na střed */
@media (min-width: 768px) {
  html body .pu-page .rich-text.element--height-regular:has(.rich-text__image) { min-height: 540px; display: flex; }
  html body .pu-page .rich-text.element--height-regular:has(.rich-text__image) > .rich-text__container { flex: 1 1 auto; }
}
html body.type-page .pu-page > .shopify-section:last-child { margin-bottom: 0; }
/* Shopify policies (/policies/privacy-policy, /policies/contact-information): bez drobečků, H1 67,67 px 70 px pod hlavičkou,
   tělo bez atributů align (Shopify je odstraní), <b> normální váhou, seznamy 12/17 px, odsazení 34 px */
html body.pu-policy .breadcrumbs, html body.pu-policy .pu-breadcrumb { display: none !important; }
html body.pu-policy .content h1 { margin: 70px 0 16px; font-size: 67.67px; line-height: 67.67px; letter-spacing: -2.03px; }
.pu-policy [itemprop="about"] p[align], .pu-policy [itemprop="about"] [align] { text-align: start; }
.pu-policy [itemprop="about"] b { font-weight: 400; }
.pu-policy [itemprop="about"] ul, .pu-policy [itemprop="about"] ol { margin: 12px 0 17px 34px; padding: 0; }
.pu-policy [itemprop="about"] li + li { margin-top: 12px; }
@media (max-width: 767px) {
  html body.pu-policy .content h1 { margin-top: 48px; font-size: 39.67px; line-height: 39.67px; letter-spacing: -1.19px; }
  .pu-policy [itemprop="about"] ul, .pu-policy [itemprop="about"] ol { margin: 12px 0 14.875px 29.75px; }
}
/* řádkování jako Shopify (bez jednotky 1,2 → vnořené menší písmo nezvětšuje řádek), poslední odstavec bez spodního okraje */
html body .pageArticleDetail [itemprop="about"], html body .pageArticleDetail [itemprop="about"] p { line-height: 1.2; }
html body .pageArticleDetail [itemprop="about"] > :last-child { margin-bottom: 0; }
@media (max-width: 767px) { html body.pu-policy .content h1 { margin-top: 32px; } }
/* Odstoupení od smlouvy (Shopify šablona „withdrawal“): nadpis a úvod na střed (620/520 px), rámeček „Máte u nás účet?“
   620 px s obrysovým tlačítkem přes celou šířku. Formulář Shoptetu (widget ve stínovém DOM) se nemění – limit, DESIGN.md */
html body .pageArticleDetail:has(.pu-page--odstoupeni-od-smlouvy) h1 {
  max-width: 620px; margin: 0 auto 12px; text-align: center; font-size: 37.33px; line-height: 37.33px; letter-spacing: -1.12px;
}
.pu-page--odstoupeni-od-smlouvy .withdrawal__header { max-width: 620px; margin: 0 auto 32px; text-align: center; }
.pu-page--odstoupeni-od-smlouvy .withdrawal__intro p { max-width: 520px; margin: 0 auto; }
.pu-page--odstoupeni-od-smlouvy .shopify-section { margin: 0 !important; }
.pu-page--odstoupeni-od-smlouvy .pu-form--withdrawal { max-width: 620px; margin: 0 auto 48px; }
.pu-page--odstoupeni-od-smlouvy .wac { max-width: 620px; margin: 0 auto; }
.pu-page--odstoupeni-od-smlouvy .wac__box { padding: 18px 20px; border: 1px solid rgba(29, 29, 29, .15); border-radius: 12px; background: #fff; }
.pu-page--odstoupeni-od-smlouvy .wac__text p { margin: 0 0 13px; }
html body .pu-page--odstoupeni-od-smlouvy .wac a.button {
  display: flex; width: 100%; min-height: 48px; padding: 11px 36px; box-sizing: border-box; border: 1px solid var(--pu-pink);
  background: #fff; color: var(--pu-pink) !important; font-size: 19.125px; line-height: 23.9px; font-weight: 500;
}
html body .pu-page--odstoupeni-od-smlouvy .wac a.button:hover { background: var(--pu-pink); color: #fff !important; }
@media (max-width: 767px) {
  html body .pageArticleDetail:has(.pu-page--odstoupeni-od-smlouvy) h1 { font-size: 28px; line-height: 28px; letter-spacing: -0.84px; }
  .pu-page--odstoupeni-od-smlouvy .wac__box { border-radius: 8px; }
  html body .pu-page--odstoupeni-od-smlouvy .wac a.button { min-height: 39px; padding: 8px 24px; font-size: 17px; line-height: 21.25px; }
}
html body .pu-page--kontakt .contact-form__image figure { display: flex; align-items: center; justify-content: center; }
/* Kontakt – mobil podle Shopify: mezery 16 px, karty rádius 8 a odsazení 16 px, fotka v kartě 360×432 (contain, okraj 46,8 px),
   nadpis 23,33 px, pole 38 px, tlačítko 45 px / 17 px */
@media (max-width: 767px) {
  html body .pu-page--kontakt .contact-form.grid { gap: 16px; }
  html body .pu-page--kontakt .contact-form__info-content { padding: 16px; border-radius: 8px; }
  html body .pu-page--kontakt .contact-form__image { height: 432px; border-radius: 8px; }
  html body .pu-page--kontakt .contact-form__image img { width: 100%; height: 100%; padding: 46.8px; object-fit: contain; margin: 0; }
  html body .pu-page--kontakt .pu-form-title { font-size: 23.33px; line-height: 23.33px; padding-bottom: 9px; }
  html body .pu-page--kontakt #formContact { padding: 16px; border-radius: 8px; }
  html body .pu-page--kontakt #formContact input.form-control { height: 38px; padding: 8px; }
  html body .pu-page--kontakt #formContact textarea.form-control { padding: 10px 8px 8px; }
  html body .pu-page--kontakt #formContact .submit-wrapper .btn { height: 45px; font-size: 17px; }
}
@media (max-width: 767px) {
  html body .pu-page--kontakt #formContact .form-group { margin-bottom: 9px; }
  html body .pu-page--kontakt #formContact .form-group.pu-ph:first-of-type { margin-bottom: 30px; }
  html body .pu-page--kontakt #formContact .submit-wrapper { margin-top: 29px; }
}
/* Úvod – sekce „produkty + fotka“: fotka přes celý sloupec (Shopify 403×503, zarovnaná nahoru), na mobilu 360×450;
   u varianty fotka vlevo je na mobilu nad produkty, u fotky vpravo pod nimi (jako Shopify) */
html body .pu-cpi__img { align-self: start; display: block; }
html body .pu-cpi__img img { width: 100%; max-width: none; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
@media (max-width: 767px) {
  html body .pu-cpi__img { padding: 0; }
  html body .pu-cpi--img-left .pu-cpi__img { order: -1; }
  html body .pu-cpi__img img { width: 100%; }
}
@media (min-width: 768px) {
  html body .pu-cpi.pu-cpi--img-left { margin-top: -22px; }
  html body.type-index .pu-footer .pu-social { padding-top: 108px; }
}
/* Karty – mobil podle Shopify (product-item): název 17/18,7 v řádku 22,31 (max. 3 řádky), cena 15 px řádek, bez DPH 13,
   dostupnost 15, mezery 15/12/13/13 px, tlačítko přes celou šířku karty */
@media (max-width: 767px) {
  html body .products .product .p .name, html body.type-category .products-page .product .p .name {
    font-size: 14.875px; line-height: 22.3125px; max-height: 66.94px; margin: 15px 0 0; padding-bottom: 0;
  }
  html body .products .product .p .name span { font-size: 17px; line-height: 18.7px; font-weight: 500; }
  html body .products .product .p .prices { margin-top: 14.875px; }
  html body .products .product .p .price-final { margin: 0 0 12px; line-height: 15px; }
  html body .products .product .p .price-final strong, html body .products .product .p .price-final span { line-height: 15px; }
  html body .products .product .p .price-additional { line-height: 13px; }
  html body .products .product .p .ratings-wrapper { margin-top: 13px; }
  html body .products .product .p .availability { line-height: 15px; }
  html body .products .product .p .p-tools { padding-top: 13px; }
  html body.type-category .products-page .product .p .p-tools .btn,
  html body .products .product .p .p-tools .btn { width: 100%; display: flex; }
  .pu-home .pu-h2, .pu-h2 { font-size: 23.33px; line-height: 23.33px; }
}
/* Úvod – mobil podle Shopify (390 px): mezery mezi sekcemi 48/48/48/18 px, výhody (podnadpis +16 px), „Kdo jsem“ (text 14,875,
   odsazení 25, tlačítko 19,125 px), kolekce (mezera 18, karta rádius 8, popisek 34 px), poslední sekce bez spodního okraje */
@media (max-width: 767px) {
  html body.type-index .pu-hero { margin-top: -16px; margin-bottom: 48px; }
  html body .pu-features { margin-bottom: 48px; }
  html body .pu-feature__sub { margin-bottom: 16px; }
  html body .pu-products.pu-products--novinky { margin-bottom: 48px; }
  html body .pu-products.pu-products--oblibene { margin-bottom: 18px; }
  html body .pu-about { margin-bottom: 58px; }
  html body .pu-about__box { border-radius: 8px; }
  html body .pu-about__text { padding: 25px; }
  html body .pu-about__title { margin-bottom: 16px; }
  html body .pu-about__text p { font-size: 14.875px; line-height: 17.85px; }
  html body .pu-about__btn { margin-top: 34px !important; }
  html body .pu-about__btn a, html body .pu-about .pu-btn { min-height: 52px; padding: 12px 32px; font-size: 19.125px; line-height: 23.9px; border-width: 2px; }
  html body .pu-colls__grid { gap: 18px; }
  html body .pu-coll { border-radius: 8px; border-color: #dfdfdf; }
  html body .pu-coll__title { padding: 9px 9px 8px; font-size: 14.875px; line-height: 16.36px; }
  html body .pu-colls .pu-more { margin-top: 25px !important; }
  html body .pu-colls .pu-more a { min-height: 39px; padding: 8px 24px; font-size: 17px; line-height: 21.25px; }
  html body .pu-colls { margin-bottom: 58px; }
  html body .pu-home > .pu-sec:last-child { margin-bottom: 0; }
}
@media (max-width: 767px) { html body .pu-cpi .pu-h2 { margin-bottom: 20px; } }
/* „Sledujte mě“ podle Shopify (Instafeed): tlačítko Sleduj 18 px / 400, ikony 45 px (mobil 40) pod tlačítkem;
   mobil: karusel s okrajem 16 px (dlaždice 162 px), řádkování nadpisů 32,5 px, tlačítko 50 px */
html body .pu-social .pu-more a { font-weight: 400; }
html body .pu-social__icons { margin-top: 45px !important; }
@media (max-width: 767px) {
  html body .pu-footer .pu-social .pu-h2, html body .pu-social__sub { line-height: 32.5px; }
  html body .pu-ig { padding: 0 16px; margin-bottom: 20px; }
  html body .pu-social .pu-more a { min-height: 50px; padding: 14px 32px; font-size: 18px; line-height: 22px; }
  html body .pu-social__icons { margin-top: 40px !important; }
}
@media (max-width: 767px) { html body .pu-footer .pu-social .pu-h2 { margin-bottom: 12px; } html body .pu-social__sub { margin-bottom: 12px !important; } }
html body .products .product .p .prices { flex-grow: 0; }
/* Karty – desktop podle Shopify: název = odkaz 17/25,5 se spanem 25,5/28,05 (řádek ≈ 30,6 px, max. 3 řádky), cena 17 px
   řádek (odstup 14 px), bez DPH 14 px řádek; blok cen neroste (volné místo jde nad tlačítko jako na Shopify) */
@media (min-width: 768px) {
  html body .products .product .p .name, html body.type-category .products-page .product .p .name {
    font-size: 17px; line-height: 25.5px; max-height: 92px; padding-bottom: 0;
  }
  html body .products .product .p .name span { font-size: 25.5px; line-height: 28.05px; font-weight: 500; }
  html body .products .product .p .price-final { line-height: 17px; margin-bottom: 14px; }
  html body .products .product .p .price-final strong, html body .products .product .p .price-final span { line-height: 17px; }
  html body .products .product .p .price-additional { line-height: 14px; }
}
/* výsledky hledání – pořadí cena → bez DPH → dostupnost → název → tlačítko: odstupy podle Shopify (přebíjí obecná pravidla karet) */
html body .pu-search__grid.products .product .p .ratings-wrapper { margin-top: 0; }
html body .pu-search__grid.products .product .p .p-tools { padding-top: 0; }
@media (max-width: 767px) {
  html body .pu-search__grid.products .product .p .price-additional { margin-bottom: 0 !important; }
  html body .pu-search__grid.products .product .p .ratings-wrapper { margin-top: 13px; }
  html body .pu-search__grid.products .product .p .name { margin: 13px 0 14.875px; }
}
/* Detail produktu podle Shopify: štítek slevy #d14545; cena 25,5/500 a za ní přeškrtnutá původní 25,5 (62 %) o 20 px dál,
   bez „–10 %“; okno galerie podle výšky snímku (JS); popis = typografie .rte */
.pu-badge--sale { background: #d14545; }
html body.type-detail .p-final-price-wrapper { display: flex; flex-wrap: wrap; align-items: baseline; }
html body.type-detail .p-final-price-wrapper > * { order: 5; }
html body.type-detail .p-final-price-wrapper .price-final { order: 1; display: inline-block; width: auto; }
html body.type-detail .p-final-price-wrapper .price-standard {
  order: 2; display: inline-block; margin: 0 0 0 20px; font-size: 25.5px; line-height: 30.6px; font-weight: 400;
  color: var(--pu-text); opacity: .62; text-decoration: line-through;
}
html body.type-detail .p-final-price-wrapper .price-standard span { font-size: inherit; color: inherit; }
html body.type-detail .p-final-price-wrapper .price-save { display: none !important; }
html body.type-detail .p-final-price-wrapper .price-additional { order: 3; flex: 0 0 100%; }
.pu-gal__vp { transition: height .25s ease; }
html body .pu-desc { font-size: 17px; line-height: 20.4px; }
html body .pu-desc p { margin: 0 0 16px; }
html body .pu-desc h2 { font-size: 49px; line-height: 1; font-weight: 400; margin: 0 0 16px; letter-spacing: -0.03em; }
html body .pu-desc h3 { font-size: 37.33px; line-height: 1; font-weight: 400; margin: 0 0 16px; letter-spacing: -0.03em; }
html body .pu-desc h4 { font-size: 28px; line-height: 1; font-weight: 400; margin: 0 0 16px; letter-spacing: -0.03em; }
html body .pu-desc strong, html body .pu-desc b { font-weight: 500; }
html body .pu-desc ul, html body .pu-desc ol { margin: 12px 0 17px; }
html body .pu-desc li + li { margin-top: 12px; }
@media (max-width: 767px) {
  html body.type-detail .p-final-price-wrapper .price-standard { font-size: 17px; line-height: 20.4px; }
  html body .pu-desc { font-size: 14.875px; line-height: 17.85px; }
  html body .pu-desc h2 { font-size: 32.67px; line-height: 1; letter-spacing: -0.03em; }
  html body .pu-desc h3 { font-size: 28px; line-height: 1; letter-spacing: -0.03em; }
  html body .pu-desc h4 { font-size: 23.33px; line-height: 1; letter-spacing: -0.03em; }
}
html body.type-detail .p-detail-inner-header { margin-bottom: 0; }
html body.type-detail .p-info-wrapper .add-to-cart { margin-bottom: 21px; }
html body.type-detail .p-info-wrapper .detail-parameters { margin: 0; }
.pu-badges:empty { display: block; height: 0; }
@media (max-width: 767px) { .pu-gal { margin-bottom: 29px; } }
/* seznamy v textech jako Shopify .rte: odsazení 34 px okrajem (mobil 29,75), bez vnitřního odsazení, položky bez spodních 5 px Shoptetu */
html body .pu-desc ul, html body .pu-desc ol,
html body.type-post .news-item-detail .text ul, html body.type-post .news-item-detail .text ol,
html body .pageArticleDetail [itemprop="about"] ul, html body .pageArticleDetail [itemprop="about"] ol { margin: 12px 0 17px 34px; padding: 0; }
html body .pu-desc li, html body.type-post .news-item-detail .text li, html body .pageArticleDetail [itemprop="about"] li { padding-bottom: 0; }
html body .pageArticleDetail [itemprop="about"] li + li { margin-top: 12px; }
@media (max-width: 767px) {
  html body .pu-desc ul, html body .pu-desc ol,
  html body.type-post .news-item-detail .text ul, html body.type-post .news-item-detail .text ol,
  html body .pageArticleDetail [itemprop="about"] ul, html body .pageArticleDetail [itemprop="about"] ol { margin: 12px 0 14.875px 29.75px; }
}
/* detail článku: nadpis 49/49 (mobil 32,67), datum 14,875 px v řádku 21 px (mobil 12,75) */
html body.type-post .news-item-detail > h1 { font-size: 49px; line-height: 49px; letter-spacing: -1.47px; margin-bottom: 16px; }
html body.type-post .pu-article-date { font-size: 14.875px; line-height: 21px; }
@media (max-width: 767px) {
  html body.type-post .news-item-detail > h1 { font-size: 32.67px; line-height: 32.67px; letter-spacing: -0.98px; }
  html body.type-post .pu-article-date { font-size: 12.75px; line-height: 15.3px; }
}
@media (max-width: 767px) {
  html body.type-post .pu-article-date { line-height: 18px; margin-bottom: 24px !important; }
  .pu-article-share { margin: 0; }
  .pu-article-share__title { font-size: 17px; line-height: 20px; }
  .pu-article-share__icons { padding-top: 10px; }
  .pu-more-articles { margin-top: 48px; }
  .pu-blog-grid .pu-blog-item:last-child { margin-bottom: 0; }
}
@media (max-width: 767px) {
  html body.type-posts-listing .content h1 { margin-bottom: 20px; }
  html body .news-wrapper .news-item { margin-bottom: 20px; }
  html body .news-wrapper .news-item .title { line-height: 21px; }
}

/* ==========================================================================
   19) Účet – samostatná stránka jako Shopify customer accounts (systémové písmo, 379 px uprostřed)
   ========================================================================== */
html body.pu-acct { --pu-acct-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; background: #fff; }
html body.pu-acct .top-navigation-bar, html body.pu-acct #header, html body.pu-acct .breadcrumbs, html body.pu-acct .pu-breadcrumb,
html body.pu-acct .pu-footer, html body.pu-acct .sidebar, html body.pu-acct .user-action { display: none !important; }
.pu-acct__top { padding: 40px 16px 0; text-align: center; font-family: var(--pu-acct-font); }
.pu-acct__top a { color: #000; font-size: 20px; line-height: 24px; font-weight: 600; text-decoration: none; letter-spacing: 0; }
html body.pu-acct .content-wrapper-in > .content { width: 100% !important; max-width: none; float: none; margin: 0 !important; padding: 0; }
html body.pu-acct #content .content-inner {
  display: flex; flex-direction: column; justify-content: center; min-height: calc(100vh - 64px - 60px); box-sizing: border-box;
  max-width: 379px; margin: 0 auto; padding: 40px 0 24px; font-family: var(--pu-acct-font); font-size: 14px; letter-spacing: 0;
}
html body.pu-acct.in-registrace #content .content-inner { max-width: 480px; }
html body.pu-acct #content h1 { margin: 0 0 6px; font-size: 20px; line-height: 24px; font-weight: 600; letter-spacing: 0; color: #000; text-align: left; }
html body.pu-acct #content h2 { font-size: 16px; font-weight: 600; letter-spacing: 0; }
.pu-acct__sub, html body.pu-acct #content .content-inner > p { margin: 0 0 20px; font-size: 14px; line-height: 19px; color: rgba(0, 0, 0, .56); }
html body.pu-acct #content .form-control {
  height: 47px; padding: 12px; border: 1px solid #dedede; border-radius: 12px; font-family: var(--pu-acct-font); font-size: 14px; box-shadow: none;
}
html body.pu-acct #content .form-control:focus { border: 2px solid var(--pu-pink); padding: 11px; outline: 0; }
html body.pu-acct #content label { font-size: 12px; color: #707070; letter-spacing: 0; }
html body.pu-acct #content .btn, html body.pu-acct #content button[type="submit"] {
  width: 100%; height: 47px; border: 0; border-radius: 12px; background: var(--pu-pink); color: #fff; font-family: var(--pu-acct-font);
  font-size: 14px; font-weight: 600; text-transform: none; letter-spacing: 0; box-shadow: none;
}
html body.pu-acct #content .alternative-links { display: flex; justify-content: space-between; margin: 14px 0 0; }
html body.pu-acct #content .alternative-links a, .pu-acct__foot a { color: var(--pu-pink); font-size: 14px; text-decoration: none; }
.pu-acct__foot { margin-top: auto; padding-top: 40px; text-align: center; }
html body.pu-acct #footer { background: #fff; }
html body.pu-acct #footer .footer-bottom { justify-content: center; padding: 8px 0 16px; }
@media (max-width: 767px) {
  html body.pu-acct #content .content-inner { padding-left: 24px; padding-right: 24px; }
  html body.pu-acct:not(.ordering-process) .top-navigation-bar { display: none !important; }
}
html body.pu-acct #content .content-inner > h1 { margin-top: auto; }
html body.pu-acct #content .alternative-links a { display: inline-block; }

/* ==========================================================================
   20) Menu podle Shopify: desktop rozbalovací nabídka růžová 222 px (položky 37 px, 17/500 bílé, odsazení 10/30, okraj 20 px);
       mobil panel „Menu“ (hlavička 65 px, šedý pruh, řádky 39 px 14,875/400, podmenu jako panel se „Zpět“, dole sítě + jazyk + měna)
   ========================================================================== */
.pu-back, .pu-mnav__head, .pu-mnav__strip, .pu-mnav__foot, .pu-mnav__acc { display: none !important; }
@media (min-width: 768px) {
  html body #navigation .navigation-in ul.pu-sub {
    left: -10px; min-width: 222px; padding: 20px 0; background: var(--pu-pink); border: 0; border-radius: 0; box-shadow: none;
  }
  html body #navigation .navigation-in ul.pu-sub a {
    padding: 10px 30px; color: #fff; font-size: 17px; line-height: 17px; font-weight: 500; letter-spacing: -0.51px; white-space: nowrap;
  }
  html body #navigation .navigation-in ul.pu-sub a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
  html body #navigation .navigation-in ul.pu-sub ul.pu-sub { top: -20px; left: 100%; }
}
@media (max-width: 767px) {
  html body #navigation .navigation-in > ul:not(.pu-menu), html body #navigation .navigation-close { display: none !important; }
  html body #navigation .navigation-in { display: flex; flex-direction: column; min-height: 100%; padding: 0; }
  .pu-mnav__head {
    display: flex !important; align-items: center; justify-content: space-between; height: 65px; box-sizing: border-box;
    padding: 14px 15px 10px; border-bottom: 1px solid rgba(29, 29, 29, .15); background: #fff;
  }
  .pu-mnav__title { font-size: 18.67px; line-height: 18.67px; color: var(--pu-text); }
  .pu-mnav__close { width: 40px; height: 40px; margin-right: -5px; padding: 0; border: 0; background: transparent; color: #000; display: flex; align-items: center; justify-content: center; }
  .pu-mnav__strip { display: block !important; height: 20px; background: rgba(29, 29, 29, .04); border-bottom: 1px solid rgba(29, 29, 29, .15); }
  html body #navigation .navigation-in ul.pu-menu { margin: 0; flex: 0 0 auto; }
  html body #navigation .navigation-in ul.pu-menu li { border-top: 0; border-bottom: 1px solid rgba(29, 29, 29, .15); }
  html body #navigation .navigation-in ul.pu-menu a {
    display: flex; align-items: center; min-height: 39px; box-sizing: border-box; padding: 10px 40px 10px 15px;
    font-size: 14.875px; line-height: 17.85px; font-weight: 400; text-transform: none; letter-spacing: -0.45px;
  }
  html body #navigation .navigation-in ul.pu-sub { background: #fff; }
  html body #navigation .navigation-in ul.pu-sub a { padding-left: 15px; }
  html body #navigation .navigation-in ul.pu-sub ul.pu-sub a { padding-left: 15px; }
  /* šipka „›“ vpravo místo tlačítka s rámečkem */
  html body #navigation .navigation-in ul.pu-menu .pu-sub-toggle {
    top: 0; right: 0; width: 40px; height: 39px; border: 0; color: var(--pu-text); pointer-events: none;
  }
  html body #navigation .navigation-in ul.pu-menu .pu-sub-toggle svg { width: 8px; height: 13px; transform: rotate(-90deg) scale(.9); }
  /* podmenu jako samostatný panel */
  html body #navigation .navigation-in ul:has(> li.pu-cur) > li:not(.pu-cur) { display: none; }
  html body #navigation .navigation-in li.pu-cur { border-bottom: 0 !important; }
  html body #navigation .navigation-in li.pu-cur > a.pu-link, html body #navigation .navigation-in li.pu-cur > .pu-sub-toggle { display: none; }
  html body #navigation .navigation-in li.pu-cur > ul.pu-sub { display: block; }
  html body #navigation .navigation-in ul.pu-menu li.pu-open:not(.pu-cur) > ul.pu-sub { display: none; }
  html body #navigation .navigation-in li.pu-back { display: block !important; background: rgba(29, 29, 29, .04); }
  .pu-back__btn {
    display: flex; align-items: center; gap: 12px; width: 100%; min-height: 39px; padding: 10px 15px; border: 0; background: transparent;
    font: inherit; font-size: 14.875px; color: var(--pu-text); text-align: left; cursor: pointer;
  }
  .pu-mnav__acc { display: block !important; }
  html body #navigation .navigation-in .pu-mnav__acc a { gap: 10px; }
  html body #navigation .navigation-in .pu-mnav__acc svg { width: 20px; height: 20px; }
  .pu-mnav__foot {
    display: flex !important; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding: 18px 15px 20px;
    border-top: 1px solid rgba(29, 29, 29, .15); background: #fff; box-shadow: 0 -30px 30px -10px rgba(255, 255, 255, .9);
  }
  .pu-mnav__social { display: flex; align-items: center; gap: 30px; margin-left: 5px; }
  .pu-mnav__social a { display: inline-flex; color: var(--pu-text); line-height: 0; }
  .pu-mnav__social svg { width: 18px; height: 18px; }
  .pu-mnav__foot .pu-disc__btn { color: var(--pu-text); font-size: 14.875px; }
}
.pu-arr { display: none; }
@media (max-width: 767px) {
  html body #navigation .navigation-in ul.pu-menu a b { font-weight: 400 !important; }
  html body #navigation .navigation-in ul.pu-menu a { min-height: 38px; }
  html body #navigation .navigation-in ul.pu-menu .pu-sub-toggle { display: none !important; }
  html body #navigation .navigation-in ul.pu-menu .pu-arr { display: inline-flex; position: absolute; right: 15px; top: 50%; transform: translateY(-50%); line-height: 0; }
  html body #navigation .navigation-in ul.pu-menu .pu-arr svg { width: 8px; height: 13px; }
}
@media (min-width: 768px) {
  html body #navigation .navigation-in ul.pu-sub .pu-has-sub > a::after { content: none; }
  html body #navigation .navigation-in ul.pu-sub .pu-arr { display: inline-flex; margin-left: 12px; vertical-align: middle; line-height: 0; }
  html body #navigation .navigation-in ul.pu-sub .pu-arr svg { width: 6px; height: 10px; }
}
@media (max-width: 767px) {
  html body #navigation .navigation-in ul:has(> li.pu-cur) > li.pu-back,
  html body #navigation .navigation-in ul:has(> li.pu-cur) > li.pu-mnav__acc { display: none !important; }
}

/* ==========================================================================
   21) Našeptávač podle Shopify predictive search (panel 376 px, rádius 12, odsazení 30, ztmavení rgba(0,0,0,.36))
   ========================================================================== */
body.pu-ps-open::after { content: ""; position: fixed; inset: 0; background: rgba(0, 0, 0, .36); z-index: 900; pointer-events: none; }
html body #header .search .search-whisperer {
  left: 0; right: auto; top: calc(100% + 12px); width: 376px; max-width: calc(100vw - 30px); box-sizing: border-box; padding: 30px 30px 0;
  background: #fff; border: 0; border-radius: 12px; box-shadow: 0 10px 40px rgba(0, 0, 0, .12); z-index: 1100;
  max-height: calc(100vh - 140px); overflow: auto; font-family: Roboto, sans-serif; color: var(--pu-text);
}
html body #header .search .search-whisperer-documents { display: none !important; }
.pu-ps__sug { padding: 0 0 20px; margin: 0 0 20px; border-bottom: 1px solid rgba(29, 29, 29, .15); }
.pu-ps__item { display: block; padding: 5px 0; font-size: 17px; line-height: 20.4px; font-weight: 500; color: var(--pu-text) !important; text-decoration: none; }
.pu-ps__item mark { background: rgba(29, 29, 29, .08); color: inherit; padding: 0; }
.pu-ps__title { display: block; margin: 0 0 20px; font-size: 17px; line-height: 20px; font-weight: 400; }
html body #header .search .search-whisperer-products { margin: 0; padding: 0; list-style: none; border: 0; }
html body #header .search .search-whisperer-products li { margin: 0 0 19px; padding: 0; border: 0; background: transparent; }
html body #header .search .search-whisperer-products li a {
  display: grid; grid-template-columns: 100px 1fr; grid-template-rows: auto auto; column-gap: 20px; align-content: center; align-items: center;
  padding: 0; text-decoration: none; color: var(--pu-text); background: transparent;
}
html body #header .search .search-whisperer-image {
  grid-row: 1 / 3; display: flex; align-items: center; justify-content: center; width: 100px; height: 120px; box-sizing: border-box;
  border: 1px solid rgba(29, 29, 29, .15); border-radius: 12px; overflow: hidden; background: #fff; margin: 0;
}
html body #header .search .search-whisperer-image img { width: 98px; height: 118px; object-fit: contain; }
html body #header .search .search-whisperer-products .p-info { display: contents; }
html body #header .search .search-whisperer-products .p-availability { display: none !important; }
html body #header .search .search-whisperer-products .price {
  grid-column: 2; grid-row: 1; align-self: end; margin: 0; font-size: 17px; line-height: 20px; font-weight: 500; color: var(--pu-text); text-align: left;
}
html body #header .search .search-whisperer-products .p-name {
  grid-column: 2; grid-row: 2; align-self: start; margin: 2px 0 0; font-size: 17px; line-height: 21px; font-weight: 500; color: var(--pu-text);
}
.pu-ps__foot { position: sticky; bottom: 0; margin: 0 -30px; padding: 16px 30px 20px; background: #fff; }
.pu-ps__btn {
  display: flex; align-items: center; justify-content: center; height: 46px; border-radius: 30px; background: #1d1d1d; color: #fff !important;
  font-size: 17px; font-weight: 500; text-decoration: none;
}
@media (max-width: 767px) {
  html body #header .search .search-whisperer { width: 100%; max-width: none; padding: 30px 30px 0; top: calc(100% + 20px); }
}
html body #header .search .search-whisperer-image img { width: auto; height: 98px; max-width: none; object-fit: contain; }
body.pu-ps-open #header { position: relative; z-index: 1000; }
html body #header .search .search-whisperer-image { width: 100px !important; min-width: 100px; max-width: 100px !important; flex: none; }
html body #header .search .search-whisperer-products .price, html body #header .search .search-whisperer-products .p-name { width: auto !important; max-width: none !important; text-align: left !important; }
@media (min-width: 768px) { html body #header .search .search-whisperer { top: calc(100% + 40px); } }

/* ==========================================================================
   22) Boční panel košíku podle Shopify (420 px, odsazení 40, náhled 100×120, rádius 12, Celkem 42 px, tlačítko obrysové)
   ========================================================================== */
.pu-cd__ov { position: fixed; inset: 0; background: rgba(0, 0, 0, .36); z-index: 10000; opacity: 0; visibility: hidden; transition: opacity .3s; }
.pu-cd {
  position: fixed; top: 0; right: 0; bottom: 0; width: 420px; max-width: 100%; z-index: 10001; display: flex; flex-direction: column;
  background: #fff; color: var(--pu-text); font-family: Roboto, sans-serif; letter-spacing: -0.03em;
  transform: translateX(100%); transition: transform .35s ease; box-shadow: -10px 0 40px rgba(0, 0, 0, .08);
}
body.pu-cd-open .pu-cd__ov { opacity: 1; visibility: visible; }
body.pu-cd-open .pu-cd { transform: none; }
.pu-cd__head { display: flex; align-items: center; justify-content: space-between; height: 80px; flex: 0 0 auto; padding: 0 40px; box-sizing: border-box; border-bottom: 1px solid rgba(29, 29, 29, .15); }
.pu-cd__title { font-size: 21.25px; line-height: 1; }
.pu-cd__close { width: 32px; height: 32px; margin-right: -6px; padding: 0; border: 0; background: transparent; color: var(--pu-text); cursor: pointer; display: flex; align-items: center; justify-content: center; }
.pu-cd__body { flex: 1 1 auto; overflow: auto; }
.pu-cd__items { padding: 40px; border-bottom: 1px solid rgba(29, 29, 29, .15); }
.pu-cd__item { display: grid; grid-template-columns: 100px 1fr; gap: 20px; align-items: center; }
.pu-cd__item + .pu-cd__item { margin-top: 24px; }
.pu-cd__thumb { display: flex; align-items: center; justify-content: center; width: 100px; height: 120px; box-sizing: border-box; border: 1px solid rgba(29, 29, 29, .15); border-radius: 12px; overflow: hidden; }
.pu-cd__thumb img { height: 98px; width: auto; max-width: none; }
.pu-cd__price { display: block; font-size: 17px; font-weight: 500; line-height: 20px; }
.pu-cd__name { display: block; margin: 2px 0 12px; font-size: 17px; font-weight: 500; line-height: 21px; color: var(--pu-text) !important; text-decoration: none; }
.pu-cd__qty { display: flex; align-items: center; gap: 10px; }
.pu-cd__qty button {
  width: 30px; height: 30px; padding: 0; border: 1px solid #1d1d1d; border-radius: 50%; background: #fff; color: #1d1d1d;
  font-size: 18px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center;
}
.pu-cd__qty span { min-width: 16px; text-align: center; font-size: 17px; }
.pu-cd__rm { margin-left: 16px; font-size: 12.75px; color: var(--pu-text) !important; text-decoration: underline; text-underline-offset: 3px; }
.pu-cd__empty { padding: 40px; margin: 0; font-size: 17px; }
.pu-cd__recs { padding: 40px 40px 20px; overflow: hidden; }
.pu-cd__recs-title { display: block; margin: 0 0 16px; font-size: 17px; font-weight: 500; }
.pu-cd__rec-vp { overflow: hidden; margin: 0 -18px 0 0; }
.pu-cd__rec-track { display: flex; transition: transform .35s ease; }
.pu-cd__rec { flex: 0 0 50%; box-sizing: border-box; padding: 0 18px 0 0; }
.pu-cd__rec-img { display: flex; align-items: center; justify-content: center; aspect-ratio: 152 / 182; border: 1px solid rgba(29, 29, 29, .15); border-radius: 12px; overflow: hidden; margin: 0 0 14px; }
.pu-cd__rec-img img { width: 100%; height: 100%; object-fit: cover; }
.pu-cd__rec-price { display: block; font-size: 14.875px; margin: 0 0 6px; }
.pu-cd__rec-name { display: block; font-size: 17px; font-weight: 500; line-height: 20.4px; color: var(--pu-text) !important; text-decoration: none; margin: 0 0 8px; }
.pu-cd__rec-add { padding: 3px 12px; border: 1px solid #1d1d1d; border-radius: 30px; background: #fff; color: #1d1d1d; font: inherit; font-size: 14.875px; cursor: pointer; }
.pu-cd__rec-nav { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 18px 0 0; }
.pu-cd__rec-nav button { border: 0; background: transparent; padding: 4px; color: var(--pu-text); cursor: pointer; line-height: 0; }
.pu-cd__dot { width: 9px; height: 9px; border-radius: 5px; background: #c4c4c4; }
.pu-cd__dot.is-active { width: 30px; background: #1d1d1d; }
.pu-cd__foot { flex: 0 0 auto; padding: 40px; border-top: 1px solid rgba(29, 29, 29, .15); }
.pu-cd__foot:empty { display: none; }
.pu-cd__tot-label { display: block; font-size: 17px; }
.pu-cd__tot { display: block; margin: 0 0 22px; font-size: 42.5px; line-height: 1; font-weight: 500; letter-spacing: -0.03em; }
.pu-cd__go {
  display: flex; align-items: center; justify-content: center; height: 46px; border: 1px solid var(--pu-pink); border-radius: 30px;
  color: var(--pu-pink) !important; font-size: 19.125px; font-weight: 500; text-decoration: none;
}
.pu-cd__go:hover { background: var(--pu-pink); color: #fff !important; }
@media (max-width: 767px) {
  .pu-cd { width: 100%; }
  .pu-cd__head { height: 65px; padding: 0 15px; }
  .pu-cd__title { font-size: 18.67px; }
  .pu-cd__items, .pu-cd__recs, .pu-cd__foot { padding-left: 15px; padding-right: 15px; }
  .pu-cd__items { padding-top: 15px; padding-bottom: 20px; }
  .pu-cd__foot { padding-top: 12px; padding-bottom: 15px; }
  .pu-cd__tot { font-size: 32px; margin-bottom: 14px; }
}
.pu-cd__rec-vp { margin-right: -36px; }
.pu-cd__rec { padding-right: 36px; }
@media (max-width: 767px) { .pu-cd__rec-vp { margin-right: -18px; } .pu-cd__rec { padding-right: 18px; } }

/* ==========================================================================
   23) Plný košík podle Shopify (karta tabulky 855 px + karta souhrnu 399 px, mezera 26, rádius 12, hlavička tabulky šedá 55 px)
   ========================================================================== */
.pu-cartfull-page .cart-header, .pu-cartfull-page .sidebar-in-cart .checkout-box-wrapper, .pu-cartfull-page .next-step-back,
.pu-cartfull-page .cart-table .p-availability, .pu-cartfull-page .cart-table .show-related, .pu-cartfull-page .cart-table tr.related,
.pu-cartfull-page .cart-table td.p-price, .pu-cartfull-page .price-label.price-secondary, .pu-cartfull-page .price.price-secondary,
.pu-cartfull-page .cart-summary > h2 { display: none !important; }
html body.pu-cartfull-page .cart-row { display: grid; grid-template-columns: minmax(0, 855fr) minmax(0, 399fr); gap: 26px; margin: 0; align-items: start; }
html body.pu-cartfull-page .cart-row > [class*="col-"] { width: auto; max-width: none; padding: 0; float: none; }
html body.pu-cartfull-page .cart-row > .col-md-8 > .cart-content { border: 1px solid rgba(29, 29, 29, .15); border-radius: 12px; overflow: hidden; background: #fff; padding: 0; }
html body.pu-cartfull-page .cart-table { width: 100%; margin: 0; border: 0; border-collapse: collapse; }
.pu-thead th { height: 55px; padding: 0 25px; background: #f2f2f2; font-size: 17px; font-weight: 400; text-align: left; color: var(--pu-text); border: 0; }
.pu-thead th.pu-th-t { text-align: right; }
.pu-thead th.pu-th-p { width: 55%; }
html body.pu-cartfull-page .cart-table tr.pu-row td { padding: 25px; border: 0; border-top: 1px solid rgba(29, 29, 29, .15); vertical-align: middle; background: #fff; }
html body.pu-cartfull-page .cart-table tr.pu-row td.cart-p-image { width: 100px; padding-right: 0; }
html body.pu-cartfull-page .cart-table td.cart-p-image a {
  display: flex; align-items: center; justify-content: center; width: 100px; height: 120px; box-sizing: border-box;
  border: 1px solid rgba(29, 29, 29, .15); border-radius: 12px; overflow: hidden;
}
html body.pu-cartfull-page .cart-table td.cart-p-image img { height: 98px; width: auto; max-width: none; }
.pu-row__price { display: block; font-size: 17px; line-height: 20px; color: var(--pu-text); }
html body.pu-cartfull-page .cart-table td.p-name .main-link { font-size: 17px; line-height: 21px; font-weight: 500; color: var(--pu-text); text-transform: none; text-decoration: none; }
html body.pu-cartfull-page .cart-table td.p-quantity .p-label, html body.pu-cartfull-page .cart-table td.p-total .p-label { display: none; }
html body.pu-cartfull-page .cart-table td.p-quantity > div { display: flex; align-items: center; gap: 12px; }
html body.pu-cartfull-page .cart-table .quantity { display: inline-flex; align-items: center; gap: 10px; border: 0; width: auto; }
html body.pu-cartfull-page .cart-table .quantity input.amount { order: 2; width: 22px; height: 30px; padding: 0; border: 0; text-align: center; font-size: 17px; background: transparent; -moz-appearance: textfield; }
html body.pu-cartfull-page .cart-table .quantity input.amount::-webkit-inner-spin-button { -webkit-appearance: none; }
html body.pu-cartfull-page .cart-table .quantity .decrease { order: 1; }
html body.pu-cartfull-page .cart-table .quantity .increase { order: 3; }
html body.pu-cartfull-page .cart-table .quantity .decrease, html body.pu-cartfull-page .cart-table .quantity .increase {
  position: static; width: 30px; height: 30px; padding: 0; border: 1px solid #1d1d1d; border-radius: 50%; background: #fff; color: #1d1d1d;
  display: inline-flex; align-items: center; justify-content: center; font-size: 18px; line-height: 1;
}
html body.pu-cartfull-page .cart-table .quantity label { order: 2; margin: 0; }
html body.pu-cartfull-page .cart-table form[action*="deleteCartItem"] { display: inline; margin: 0; }
html body.pu-cartfull-page .cart-table .pu-rm {
  width: auto; height: auto; padding: 0; margin: 0 0 0 4px; border: 0; background: none; font-size: 12.75px; color: var(--pu-text);
  text-decoration: underline; text-underline-offset: 3px; cursor: pointer; text-indent: 0;
}
html body.pu-cartfull-page .cart-table .pu-rm::before, html body.pu-cartfull-page .cart-table .pu-rm::after { content: none !important; display: none !important; }
html body.pu-cartfull-page .cart-table td.p-total { text-align: right; white-space: nowrap; }
html body.pu-cartfull-page .cart-table td.p-total .price-final { font-size: 17px; font-weight: 500; }
html body.pu-cartfull-page .summary-wrapper { margin: 0; }
html body.pu-cartfull-page .pu-sum { padding: 25px; border: 1px solid rgba(29, 29, 29, .15); border-radius: 12px; background: #fff !important; }
html body.pu-cartfull-page .pu-sum .price-wrapper { display: block; margin: 0 0 24px; padding: 0; border: 0; text-align: left; }
html body.pu-cartfull-page .pu-sum .price-label.price-primary { display: block; font-size: 17px; font-weight: 400; text-transform: none; color: var(--pu-text); }
html body.pu-cartfull-page .pu-sum .price.price-primary { display: block; font-size: 49px; line-height: 1.1; font-weight: 500; color: var(--pu-text); letter-spacing: -0.03em; }
.pu-coupon { margin: 0 0 20px; border-top: 1px solid rgba(29, 29, 29, .15); border-bottom: 1px solid rgba(29, 29, 29, .15); }
.pu-coupon summary { padding: 14px 0; font-size: 17px; cursor: pointer; list-style: none; display: flex; justify-content: space-between; }
.pu-coupon summary::-webkit-details-marker { display: none; }
.pu-coupon summary::after { content: ""; width: 9px; height: 9px; border-right: 2px solid #1d1d1d; border-bottom: 2px solid #1d1d1d; transform: rotate(45deg); margin: 2px 4px 0 0; }
.pu-coupon[open] summary::after { transform: rotate(-135deg); margin-top: 8px; }
.pu-coupon .cart-summary { padding: 0 0 16px; margin: 0; border: 0; }
.pu-coupon .discount-coupon form { display: flex; gap: 10px; }
.pu-coupon .discount-coupon input { height: 46px; border: 1px solid rgba(29, 29, 29, .3); border-radius: 5px; font-size: 15px; }
.pu-coupon .discount-coupon .btn { height: 46px; border-radius: 30px; padding: 0 20px; border: 1px solid var(--pu-pink); background: #fff; color: var(--pu-pink); text-transform: none; }
html body.pu-cartfull-page .pu-sum .next-step { display: block; margin: 0; padding: 0; }
html body.pu-cartfull-page .pu-sum .next-step-forward {
  display: flex; align-items: center; justify-content: center; width: 100%; height: 48px; padding: 0; border: 1px solid var(--pu-pink);
  border-radius: 30px; background: #fff; color: var(--pu-pink) !important; font-size: 19.125px; font-weight: 400; text-transform: none; box-shadow: none;
}
html body.pu-cartfull-page .pu-sum .next-step-forward::after, html body.pu-cartfull-page .pu-sum .next-step-forward::before { content: none !important; }
html body.pu-cartfull-page .pu-sum .next-step-forward:hover { background: var(--pu-pink); color: #fff !important; }
.pu-cartfull-head .pu-cart-empty__title { margin-bottom: 40px; }
@media (max-width: 767px) {
  html body.pu-cartfull-page .cart-row { grid-template-columns: 1fr; gap: 45px; }
  html body.pu-cartfull-page .cart-row > .col-md-8 > .cart-content { border: 0; border-radius: 0; overflow: visible; }
  .pu-thead { display: none; }
  html body.pu-cartfull-page .cart-table tr.pu-row { display: grid; grid-template-columns: 100px 1fr; column-gap: 15px; }
  html body.pu-cartfull-page .cart-table tr.pu-row td { display: block; padding: 0; border: 0; }
  html body.pu-cartfull-page .cart-table tr.pu-row td.cart-p-image { grid-row: 1 / 4; }
  html body.pu-cartfull-page .cart-table tr.pu-row td.p-name { align-self: end; }
  html body.pu-cartfull-page .cart-table tr.pu-row td.p-quantity { margin-top: 12px; }
  html body.pu-cartfull-page .cart-table tr.pu-row td.p-total { display: none; }
  html body.pu-cartfull-page .pu-sum { padding: 15px; border-radius: 8px; }
  html body.pu-cartfull-page .pu-sum .price.price-primary { font-size: 42px; }
  .pu-cartfull-head .pu-cart-empty__title { margin-bottom: 20px; }
}
html body.pu-cartfull-page .cart-row > .col-md-8 { grid-column: 1; grid-row: 1; order: 0; }
html body.pu-cartfull-page .cart-row > .sidebar-in-cart { grid-column: 2; grid-row: 1; order: 0; }
html body.pu-cartfull-page .cart-table .quantity .increase__sign, html body.pu-cartfull-page .cart-table .quantity .decrease__sign { display: inline; font-size: 18px; line-height: 1; color: #1d1d1d; }
html body.pu-cartfull-page .cart-table .quantity .increase::before, html body.pu-cartfull-page .cart-table .quantity .increase::after,
html body.pu-cartfull-page .cart-table .quantity .decrease::before, html body.pu-cartfull-page .cart-table .quantity .decrease::after { content: none !important; display: none !important; }
html body.pu-cartfull-page .cart-table .increase-tooltip, html body.pu-cartfull-page .cart-table .decrease-tooltip { display: none !important; }
html body.pu-cartfull-page .pu-sum .order-button-text { text-transform: none; font-size: 19.125px; font-weight: 400; }
html body.pu-cartfull-page .pu-sum .price-wrapper, html body.pu-cartfull-page .pu-sum .price.price-primary { text-align: left !important; }
@media (max-width: 767px) {
  html body.pu-cartfull-page .cart-row > .col-md-8, html body.pu-cartfull-page .cart-row > .sidebar-in-cart { grid-column: 1; grid-row: auto; }
  html body.pu-cartfull-page .cart-table, html body.pu-cartfull-page .cart-table tr, html body.pu-cartfull-page .cart-table tbody { border: 0 !important; }
}
.pu-thead th.pu-th-p { width: auto; }
.pu-thead th.pu-th-q { width: 260px; }
html body.pu-cartfull-page .cart-table tr.pu-row td.p-name { width: auto; padding-left: 25px; }
html body.pu-cartfull-page .cart-table tr.pu-row td.p-quantity { width: 260px; }
html body.pu-cartfull-page .sidebar-in-cart, html body.pu-cartfull-page .sidebar-in-cart .summary-wrapper { margin: 0 !important; padding: 0 !important; }
html body.pu-cartfull-page .pu-sum .price.price-primary { margin: 0; padding: 0; }
@media (max-width: 767px) {
  html body.pu-cartfull-page .cart-row > .col-md-8 > .cart-content, html body.pu-cartfull-page .cart-row > .col-md-8 { margin: 0; padding: 0; }
  html body.pu-cartfull-page .cart-table tr.pu-row td.p-name { padding-left: 0; }
  html body.pu-cartfull-page .cart-table tr.pu-row td.p-quantity { width: auto; }
}
@media (max-width: 767px) {
  html body.pu-cartfull-page .cart-row { gap: 0; }
  html body.pu-cartfull-page .cart-row > .sidebar-in-cart { margin-top: 45px !important; }
}

/* nadpis bloků rich-text má přednost před obecnými nadpisy stránek (.pageArticleDetail … h2) */
html body .pageArticleDetail [itemprop="about"] .pu-page .rich-text__title.rich-text__title { font-size: 37.33px; line-height: 37.33px; letter-spacing: -1.12px; margin: 0 0 16px; font-weight: 400; }
@media (max-width: 767px) {
  html body .pageArticleDetail [itemprop="about"] .pu-page .rich-text__title.rich-text__title { font-size: 28px; line-height: 28px; letter-spacing: -0.84px; }
}

/* 25) Prázdný boční panel košíku jako Shopify: věta + „Pokračovat v procházení“ (obrysové růžové, 340×48, zaoblení 30) */
.pu-cd__emptybox { padding: 40px; }
.pu-cd__emptybox .pu-cd__empty { padding: 0; margin: 0 0 25px; font-size: 17px; line-height: 20.4px; }
.pu-cd__continue {
  display: flex; align-items: center; justify-content: center; width: 100%; height: 48px; padding: 0 20px; box-sizing: border-box;
  border: 1px solid var(--pu-pink, #c24090); border-radius: 30px; background: #fff; color: var(--pu-pink, #c24090);
  font: 500 19.125px/1 Roboto, sans-serif; letter-spacing: -0.03em; cursor: pointer;
}
.pu-cd__continue:hover { background: var(--pu-pink, #c24090); color: #fff; }
.pu-cd__title { position: relative; top: 3px; }
@media (max-width: 767px) {
  .pu-cd__title { top: 2px; }
  .pu-cd__emptybox { padding: 15px; }
  .pu-cd__emptybox .pu-cd__empty { margin-bottom: 24px; font-size: 14.875px; line-height: 17.85px; }
  .pu-cd__continue { height: 39px; font-size: 17px; }
}

/* 26) Karty ve výpisech: „Od“ stejnou velikostí jako cena, „Vybrat variantu“ bez velkých písmen (Shopify) */
html body .products .product .p .price-final small { font-size: inherit; font-weight: inherit; text-transform: none; }
html body .products .product .p .p-tools a.btn-primary.pu-choose { text-transform: none; }
@media (max-width: 767px) { .pu-card-badge { top: 9px; right: 9px; } }
/* 27) Úvod „Fungují 100% lépe“ / „Nemusíš nic zkoušet“: karty v řadě stejně vysoké, tlačítko dole (Shopify quick-buy margin-top auto) */
html body .pu-cpi__grid.products { align-items: stretch; }
html body .pu-cpi__grid .pu-static-card { display: flex; }
html body .pu-cpi__grid .pu-static-card > .p { flex: 1 1 auto; }
html body .pu-cpi__grid .pu-static-card .p-in,
html body .pu-cpi__grid .pu-static-card .p-bottom,
html body .pu-cpi__grid .pu-static-card .pu-offer { flex: 1 1 auto; display: flex; flex-direction: column; }
html body .pu-cpi__grid .pu-static-card .p-tools { margin-top: auto; }

/* 28) Mobil: stránkování galerie jako Shopify css-slider
   (kulaté šipky 40×40 hned u „1 / 3“ 14,875 px, neaktivní šipka průhlednost .3, aktivní .8) */
@media (max-width: 991px) {
  html body .pu-gal__nav { gap: 0; margin-top: 9px; }
  html body .pu-gal__nav .pu-gal__arrow { width: 40px; height: 40px; border-radius: 50%; opacity: .8; }
  html body .pu-gal__nav .pu-gal__arrow.is-off { opacity: .3; }
  html body .pu-gal__count { font-size: 14.875px; min-width: 28px; text-align: center; }
}

/* 29) Vyprodaný produkt jako Shopify: mobil „Vyprodáno“ 50 px / 19,125 px; nativní řádek „Položka byla vyprodána…“ skrytý
   („Upozornit mě na dostupnost“ odstraněno – Hlídací pes se nekupuje, rozhodnutí 29. 9. 2026) */
html body .pu-soldout { align-items: flex-start; }
html body.type-detail .detail-parameters tr.sold-out { display: none !important; }
@media (max-width: 767px) {
  html body .pu-soldout { padding-top: 18px; }
  html body .pu-soldout__btn { height: 50px; font-size: 19.125px; }
}

/* 30) Detail: tlačítko Shoptetu „Zobrazit všechny související produkty“ (Shopify ho nemá) */
html body.type-detail .browse-p { display: none !important; }
/* 31) Hlavní obrázek článku v přirozeném poměru stran (Shopify figure padding-top = poměr obrázku: čtverec 1280×1280,
   4:3 …), ne pevně 2:1 */
html body .pu-article-img { aspect-ratio: auto; background: transparent; }
html body .pu-article-img img { height: auto; object-fit: initial; }
/* 32) Mobil: drobečky na jednom řádku s vodorovným posunem (Shopify nav.breadcrumb 546 px v 360 px, nezalamuje) */
@media (max-width: 767px) {
  html body .pu-breadcrumb, html body .breadcrumbs { flex-wrap: nowrap !important; white-space: nowrap; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
  html body .pu-breadcrumb::-webkit-scrollbar, html body .breadcrumbs::-webkit-scrollbar { display: none; }
  html body .pu-breadcrumb > *, html body .breadcrumbs > * { flex: 0 0 auto; }
}
/* 33) Mobil: galerie s více snímky – stránkování Shopify přesahuje box galerie o 12 px, další obsah začíná o 9 px výš (29 → 20 px) */
@media (max-width: 767px) { html body .pu-gal.pu-gal--multi { margin-bottom: 20px; } }

/* 34) Mobil: patička rozměry jako Shopify (sloupce po 32 px, spodní řádek 15 px, jazyk/měna 18 px na řádku s odkazem
   „Upravit nastavení cookies“, platby těsně pod) */
@media (max-width: 767px) {
  html body .pu-footer__grid { gap: 32px; }
  html body .pu-footer__col:nth-child(2) p:last-child { margin-bottom: 0; }
  html body .pu-footer__menu { padding-bottom: 4px; }
  html body .pu-footer__bottom-in { display: block; padding: 15px; }
  html body .pu-footer__copy { display: block; line-height: 18px; }
  html body .pu-footer__loc { margin: 12px 0 2px; height: 18px; gap: 20px; }
  html body .pu-footer__loc .pu-disc__btn { height: 18px; line-height: 18px; padding-top: 0; padding-bottom: 0; }
  html body .pu-footer__loc a.pu-cookies { margin: 0; }
  html body .pu-footer__pay { margin: 0; }
}
/* 35) „Sledujte mě“ rozměry jako Shopify (aplikace GSC): desktop nadpis a podnadpis výška řádku 33 px, ikony 38 px pod
   tlačítkem; mobil ikony 28 px, 36 px pod tlačítkem, patička 9 px pod ikonami (přebíjí starší pravidla s !important) */
@media (min-width: 768px) {
  html body .pu-footer .pu-social .pu-h2 { line-height: 33px; margin-bottom: 16px !important; }
  html body .pu-footer .pu-social .pu-social__sub { line-height: 33px; margin-bottom: 15px !important; }
  html body .pu-footer .pu-social .pu-ig { margin-top: 15px; margin-bottom: 29px; }
  html body .pu-footer .pu-social .pu-social__icons { margin-top: 38px !important; }
}
@media (max-width: 767px) {
  html body .pu-footer .pu-social { padding-bottom: 9px; }
  html body .pu-footer .pu-social .pu-social__icons { margin-top: 36px !important; line-height: 0; }
  html body .pu-footer .pu-social .pu-social__icons img { width: 28px; height: 28px; }
}
/* 36) Kategorie: prázdná nativní hlavička výpisu (.category-header, řazení Shoptetu skryté) bez okraje 20 px;
   „Seřadit podle:“ výška řádku 20 px jako Shopify → mřížka karet začíná stejně jako Shopify (499 px) */
@media (min-width: 768px) {
  html body .category-content-wrapper > .category-header { margin-bottom: 0; }
  html body .pu-sort__label { line-height: 20px; }
}
@media (max-width: 767px) {
  html body .category-content-wrapper > .category-header { margin-bottom: 17px; }
  html body .pu-colbar { margin-bottom: 20px; }
}
/* 37) Úvod „Spolehněte se na účinnost“: nadpis výška řádku = písmo (40 / mobil 25,6 px), podnadpis 1,2 a řez 400
   (Shopify chce 200, ale načítá jen řezy 400/500 → vykreslí 400; Shoptet by použil skutečný tenký řez 300) */
html body .pu-ucinnost__title { line-height: 40px; }
html body .pu-ucinnost__sub { line-height: 48px; font-weight: 400; }
@media (max-width: 767px) {
  html body .pu-ucinnost__title { font-size: 25.6px !important; line-height: 25.6px; }
  html body .pu-ucinnost__sub { font-size: 25.6px; line-height: 30.72px; }
}
@media (max-width: 767px) {
  html body .pu-ucinnost__title { margin-top: 10px; }
  html body .pu-ucinnost__sub { margin-top: -10px; }
}
/* 38) Nadpis H1 uvnitř obsahu (popis produktu, článek, stránka) jako Shopify .rte h1: 67,67 px / mobil 39,67 px */
html body.type-detail .basic-description h1, .pageArticleDetail [itemprop="about"] h1, .pu-page .rte h1 {
  font-size: 67.67px; line-height: 1; font-weight: 400; margin: 0 0 16px; letter-spacing: -0.03em;
}
@media (max-width: 767px) {
  html body.type-detail .basic-description h1, .pageArticleDetail [itemprop="about"] h1, .pu-page .rte h1 { font-size: 39.67px; line-height: 1; }
}
/* 39) Obrázky v textu (článek, popis produktu, stránka) jako Shopify .rte img: přirozená šířka (max. 100 %), bez zaoblení,
   zarovnání podle rodiče (text-align: center) – Shoptet je roztahoval na celou šířku */
html body.type-post .news-item-detail .text img,
html body.type-detail .basic-description img,
html body .pu-page .rte img { width: auto; max-width: 100%; height: auto; border-radius: 0; }
/* obrázek s atributem width (např. 622): Shopify ho respektuje (max. 100 %) → šířku neresetovat */
html body.type-post .news-item-detail .text img[width],
html body.type-detail .basic-description img[width],
html body .pu-page .rte img[width] { width: revert-layer; }
/* 40) Popis produktu: bloky <div> mají dole 20 px jako Shopify .rte div */
html body.type-detail .basic-description > div:not(:last-child) { margin-bottom: 20px; }
/* 41) Pilulky variant: vybraná má navíc prstenec 1 px (Shopify box-shadow 0 0 0 1px); mobil 14,875 px, 8×20 px, mezera 10 px,
   nadpis volby 17 px */
html body .pu-pill.is-selected { box-shadow: 0 0 0 1px var(--pu-text); }
@media (max-width: 767px) {
  html body .pu-pills { gap: 10px; }
  html body .pu-pill { font-size: 14.875px; line-height: 17.85px; padding: 8px 20px; min-height: 36px; }
  html body .pu-variant-title { font-size: 17px; line-height: 20.4px; }
}
/* 42) Kontaktní formulář: pole Zpráva bez úchytu pro změnu velikosti (Shopify textarea resize: none) */
html body #formContact textarea { resize: none; }
/* 43) Bez rezervovaného pruhu pro posuvník (Shoptet html { scrollbar-gutter: stable }, Shopify auto) – při překryvných
   posuvnících (macOS) byla stránka o 15 px užší a obsah o 7,5 px posunutý */
html { scrollbar-gutter: auto !important; }
/* 44) Úvod desktop: sekce Novinky o 5 px níž (mezera pod výhodami 40 px jako Shopify) */
@media (min-width: 768px) { html body .pu-home .pu-products--novinky { padding-top: 5px; } }
/* 45) Úvod desktop: sekce s produkty a fotkou – nadpis 40 px nad kartami, druhá sekce 35 px pod první (Shopify) */
@media (min-width: 768px) {
  html body .pu-home .pu-cpi .pu-h2 { margin-bottom: 40px; }
  html body .pu-home .pu-cpi.pu-cpi--img-left { margin-top: -15px; }
}
/* 46) Úvod mobil: karty produktů pod sebou s mezerou 18 px, cena 10 px nad „bez DPH“ (Shopify 481 px vysoká karta) */
@media (max-width: 767px) {
  html body .pu-home .pu-products .products { row-gap: 18px !important; gap: 18px !important; }
  html body .pu-home .pu-products .products .p .price-final { margin-bottom: 10px; }
}
/* 48) Článek: nadpisy H1, H4–H6 v textu jako Shopify .rte (H2/H3 už výše) */
html body.type-post .news-item-detail .text h1 { font-size: 67.67px; line-height: 1; font-weight: 400; letter-spacing: -0.03em; margin: 0 0 16px; }
html body.type-post .news-item-detail .text h4 { font-size: 28px; line-height: 1; font-weight: 400; letter-spacing: -0.03em; margin: 0 0 16px; text-transform: none; }
html body.type-post .news-item-detail .text h5 { font-size: 21px; line-height: 1; font-weight: 400; letter-spacing: -0.03em; margin: 0 0 16px; }
html body.type-post .news-item-detail .text h6 { font-size: 17px; line-height: 1; font-weight: 400; margin: 0 0 16px; }
@media (max-width: 767px) {
  html body.type-post .news-item-detail .text h1 { font-size: 39.67px; line-height: 1; letter-spacing: -0.03em; }
  html body.type-post .news-item-detail .text h4 { font-size: 23.33px; line-height: 1; letter-spacing: -0.03em; }
  html body.type-post .news-item-detail .text h5 { font-size: 18.67px; line-height: 1; }
  html body.type-post .news-item-detail .text h6 { font-size: 14.875px; line-height: 1; }
}
/* 49) Prázdná rubrika: „Na tomto blogu momentálně nejsou žádné články.“ bez spodního okraje (Shopify span) */
html body .pu-blog-empty { margin-bottom: 0; }
/* 50) Popis s vlastním blokem .product-info-section (Sada Perkarbonát + TAED, TAED): styly bloku mají přednost jako na
   Shopify (obecná pravidla nadpisů popisu je jinak přebijí) */
html body .pu-desc .product-info-section h2 { font-size: 24px; line-height: 24px; font-weight: 700; letter-spacing: -0.72px; color: #222; }
html body .pu-desc .product-info-section h3 { color: #222; }
html body .pu-desc .product-info-section .warning-box h3 { font-size: 22px; line-height: 22px; font-weight: 700; letter-spacing: -0.66px; margin: 0 0 12px; color: #b00000; }
html body .pu-desc .product-info-section .accordion-label { line-height: 27.2px; }
/* 51) „Účet“ jako odkaz (od C0096): Shoptet dává odkazům v .navigation-buttons pevnou šířku ikony 44 px → šířka podle obsahu */
html body #header .navigation-buttons a.pu-account { width: auto !important; min-width: 0; max-width: none; flex: 0 0 auto; overflow: visible; white-space: nowrap; }
/* 52) Desktop hlavička: tlačítka Účet a košík končí 10 px před okrajem obsahu jako Shopify (1350 px) */
@media (min-width: 768px) { html body #header .navigation-buttons { margin-right: 10px; } }
/* 53) Vyhledávání bez výsledků: spodní okraj počtu se na Shopify slévá s okrajem sekce „Sledujte mě“ → mezera jen 160 / 96 px */
.pu-search__results > .pu-search__count:last-child { margin-bottom: 0; }
/* 54) Stará cena na kartě: mezera = mezera + 8 px (Shopify padding-left), na mobilu 14,875 px → obě ceny na jednom řádku (jinak karta +17 px) */
@media (max-width: 767px) { html body .products .product .p .price-final .price-standard { font-size: 14.875px; } }
/* 55) Mobil – výpis článků: poslední článek bez spodního okraje 20 px (Shopify: mřížka končí kartou, pak hned 48 + 48 px) */
@media (max-width: 767px) { html body .news-wrapper > .news-item:last-child { margin-bottom: 0; } }
/* 56) 404 mobil: tlačítko 16 + 19,125 px pod textem (Shopify) */
@media (max-width: 767px) { .pu-404 .pu-btn-dark { margin-top: 19.125px; } }
/* 57) Ikony odkazů vložené z ChatGPT (<svg class="block …"> v odkazu, Zásady zpracování OÚ): Shoptet má utilitu .block = display:block
   → odkaz se lámal na víc řádků; Shopify tuto třídu nemá → ikona inline 20×20 */
.pageArticleDetail a svg.block, .pu-page .rte a svg.block, .news-item-detail .text a svg.block, .basic-description a svg.block { display: inline; }
/* 58) Obrázky s příponou velikosti Shopify CDN v názvu (…_480x480.jpg, …_600x600.png): Shopify je servíruje zmenšené do čtverce
   480 / 600 px, import převzal originál → stejné maximum (poměr stran zůstává; Mycí proužky, článek o proužcích, Využití krabice) */
html body.type-post .news-item-detail .text img[src*="_480x480."]:not([width]), html body.type-detail .basic-description img[src*="_480x480."]:not([width]),
html body .pu-page .rte img[src*="_480x480."]:not([width]) { max-width: min(100%, 480px); max-height: 480px; }
html body.type-post .news-item-detail .text img[src*="_600x600."]:not([width]), html body.type-detail .basic-description img[src*="_600x600."]:not([width]),
html body .pu-page .rte img[src*="_600x600."]:not([width]) { max-width: min(100%, 600px); max-height: 600px; }
/* 59) „Další články“ bez karet (jediný článek v blogu, Shopify): nadpis bez spodního okraje */
.pu-more-articles--empty .pu-more-articles__title { margin-bottom: 0; }
/* 60) Mobilní hlavička podle Shopify (měřeno po pixelech): logo viditelně 74 px široké, horní okraj 53 px, střed 190 px;
   košík o 11 px vlevo, odznak počtu blíž ikoně; vyhledávací pole 16 px od okrajů, horní hrana 101 px (výška hlavičky beze změny) */
@media (max-width: 767px) {
  html body:is(:not(.ordering-process), .in-kosik) #header .site-name img { width: 74px; max-width: 74px; padding: 0; transform: translate(0, 13px); }
  html body:is(:not(.ordering-process), .in-kosik) #header .navigation-buttons .cart-count { right: 21px; }
  html body:is(:not(.ordering-process), .in-kosik) #header .navigation-buttons .cart-count i,
  html body:is(:not(.ordering-process), .in-kosik) #header .navigation-buttons .cart-count .pu-cart-zero { top: 2px; }
  html body:is(:not(.ordering-process), .in-kosik) #header .search { padding: 4px 1px 12px; } /* růžová hlavička 113 px jako Shopify → banner hned pod ní */
  html body:is(:not(.ordering-process), .in-kosik) #header { margin-bottom: 16px; } /* hlavička o 3 px vyšší → obsah ve stejné vzdálenosti od hlavičky jako Shopify */
}
/* 61) Zástupný text polí (hledání v hlavičce i na stránce, kontaktní formulář) jako Shopify: barva textu s průhledností .66 */
html body input::placeholder, html body textarea::placeholder { color: var(--pu-text) !important; opacity: .66 !important; }
/* 62) Mobilní hlavička – ROZHODNUTÍ UŽIVATELE 26. 9. 2026 (vědomá odchylka od Shopify): menu Shoptetu se vysouvá zprava,
   proto je ikona menu vpravo (napravo od košíku), ne vlevo jako na Shopify. Logo na středu stránky (195 px). */
@media (max-width: 767px) {
  html body:is(:not(.ordering-process), .in-kosik) .top-navigation-bar .responsive-tools > a[data-target="navigation"] { left: auto; right: 5px; }
  html body:is(:not(.ordering-process), .in-kosik) #header .navigation-buttons .cart-count { right: 50px; }
}
/* 63) Detail produktu: skladová dostupnost pod cenou – ROZHODNUTÍ UŽIVATELE 26. 9. 2026 (Shopify ji na detailu nemá).
   Nativní prvek Shoptetu (u variant ho Shoptet přepíná podle zvolené varianty), vzhled jako na kartách: tečka + text,
   zelená = skladem, červená = vyprodáno; počet kusů se nezobrazuje */
html body.type-detail .p-info-wrapper .availability-value {
  display: block !important; margin: 0 0 22px; font-size: 14.875px; line-height: 17.85px; color: var(--pu-text);
}
html body.type-detail .p-info-wrapper .availability-value::before { content: none; display: none; }
html body.type-detail .p-info-wrapper .availability-value .choose-variant.noDisplay,
html body.type-detail .p-info-wrapper .availability-value .availability-amount { display: none !important; }
html body.type-detail .p-info-wrapper .availability-value .availability-label {
  display: inline-flex; align-items: center; gap: 8px; color: var(--pu-text) !important; font-weight: 400;
}
html body.type-detail .p-info-wrapper .availability-value .availability-label::before {
  content: ""; flex: 0 0 auto; width: 8px; height: 8px; border-radius: 50%; background: #757575;
}
html body.type-detail .p-info-wrapper .availability-value .availability-label[style*="3c840f"]::before { background: var(--pu-green); }
html body.type-detail .p-info-wrapper .availability-value .availability-label[style*="d00000"]::before { background: #d00000; }
@media (max-width: 767px) { html body.type-detail .p-info-wrapper .availability-value { margin-bottom: 18px; } }
/* 64) Karty produktů: obrázek v pevném čtvercovém rámečku (velikost podle lahví) – ROZHODNUTÍ UŽIVATELE 26. 9. 2026
   (Shopify má výšku obrázku podle poměru stran fotky → v řadě různě vysoké karty). Nic se neořízne: náhled Shoptetu 4:3
   s bílým okrajem → u výšky ≥ šířky „cover“ (ořízne jen bílý okraj), u širokých produktů „contain“ (celý produkt) */
html body .products .product .p .image { aspect-ratio: 1 / 1 !important; }
html body .products .product .p .image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
html body .products .product .p .image.pu-img-wide img { object-fit: contain; }
/* volné místo v kartě až pod název → cena, bez DPH, dostupnost a tlačítko jsou v řadě karet na stejné výšce */
html body .products .product .p .name { margin-bottom: auto !important; }
html body .products .product .p .p-tools { margin-top: 0 !important; }

/* 65) Mobilní menu: plynulé vysunutí zprava (celý panel posunem, obsah se během animace nepřeskládává),
   položky naskočí postupně; stejně podmenu a návrat „‹ Zpět“. Shoptet animoval šířku panelu (left 390 → 0 px) */
@keyframes pu-mnav-in { from { opacity: 0; transform: translate3d(24px, 0, 0); } to { opacity: 1; transform: none; } }
@keyframes pu-mnav-fade { from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 767px) {
  html body #navigation {
    left: 0 !important; right: 0 !important; width: 100% !important;
    transform: translate3d(100%, 0, 0); visibility: hidden; will-change: transform;
    transition: transform .42s cubic-bezier(.22, .61, .36, 1), visibility 0s linear .42s !important;
  }
  html body.navigation-window-visible #navigation {
    transform: none; visibility: visible; box-shadow: -10px 0 30px rgba(29, 29, 29, .14);
    transition: transform .42s cubic-bezier(.22, .61, .36, 1), visibility 0s !important;
  }
  html body.navigation-window-visible #navigation .navigation-in ul.pu-menu > li,
  html body.navigation-window-visible #navigation .navigation-in li.pu-cur > ul.pu-sub > li {
    animation: pu-mnav-in .36s cubic-bezier(.22, .61, .36, 1) both;
  }
  html body.navigation-window-visible #navigation .navigation-in ul.pu-menu > li:nth-child(1) { animation-delay: .10s; }
  html body.navigation-window-visible #navigation .navigation-in ul.pu-menu > li:nth-child(2) { animation-delay: .13s; }
  html body.navigation-window-visible #navigation .navigation-in ul.pu-menu > li:nth-child(3) { animation-delay: .16s; }
  html body.navigation-window-visible #navigation .navigation-in ul.pu-menu > li:nth-child(4) { animation-delay: .19s; }
  html body.navigation-window-visible #navigation .navigation-in ul.pu-menu > li:nth-child(5) { animation-delay: .22s; }
  html body.navigation-window-visible #navigation .navigation-in ul.pu-menu > li:nth-child(6) { animation-delay: .25s; }
  html body.navigation-window-visible #navigation .navigation-in ul.pu-menu > li:nth-child(7) { animation-delay: .28s; }
  html body.navigation-window-visible #navigation .navigation-in ul.pu-menu > li:nth-child(n+8) { animation-delay: .31s; }
  html body.navigation-window-visible #navigation .navigation-in li.pu-cur > ul.pu-sub > li:nth-child(2) { animation-delay: .03s; }
  html body.navigation-window-visible #navigation .navigation-in li.pu-cur > ul.pu-sub > li:nth-child(3) { animation-delay: .06s; }
  html body.navigation-window-visible #navigation .navigation-in li.pu-cur > ul.pu-sub > li:nth-child(4) { animation-delay: .09s; }
  html body.navigation-window-visible #navigation .navigation-in li.pu-cur > ul.pu-sub > li:nth-child(n+5) { animation-delay: .12s; }
  html body.navigation-window-visible #navigation .pu-mnav__foot { animation: pu-mnav-fade .4s ease .3s both; }
}
@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  html body #navigation, html body.navigation-window-visible #navigation { transition: none !important; }
  html body.navigation-window-visible #navigation * { animation: none !important; }
}
/* 66) Článek s vnořeným <div class="text"> v obsahu (Jak mít doma perfektně uklizeno, Velikonoční tradice): Shoptet mu dával
   spodní okraj 40 px jako kontejneru článku → „Další články“ o 40 px níž než na Shopify */
html body.type-post .news-item-detail .text .text { margin: 0; padding: 0; max-width: none; width: auto; float: none; }
/* 67) Tabulky v obsahu (článek, stránka, popis produktu) jako Shopify .rte table: plná šířka, rámeček a oddělovače řádků
   rgba(29,29,29,.15), buňky 10/14/8 px zarovnané nahoru (Jak na skvrny z oblečení – tabulka „Shrnutí“);
   tabulky s vlastní třídou a stylem v obsahu (Mycí proužky: table.compare-table) si nechávají svůj vzhled jako na Shopify */
html body.type-post .news-item-detail .text table:not([class]), html body .pu-page .rte table:not([class]), .pageArticleDetail [itemprop="about"] table:not([class]),
html body.type-detail .basic-description table:not([class]) {
  width: 100%; margin: 0 0 16px; border: 1px solid rgba(29, 29, 29, .15); border-collapse: collapse; text-align: left;
}
html body.type-post .news-item-detail .text table:not([class]) tr, html body .pu-page .rte table:not([class]) tr, .pageArticleDetail [itemprop="about"] table:not([class]) tr,
html body.type-detail .basic-description table:not([class]) tr { border: 0; border-top: 1px solid rgba(29, 29, 29, .15); }
html body.type-post .news-item-detail .text table:not([class]) :is(td, th), html body .pu-page .rte table:not([class]) :is(td, th),
.pageArticleDetail [itemprop="about"] table:not([class]) :is(td, th), html body.type-detail .basic-description table:not([class]) :is(td, th) {
  padding: 10px 14px 8px; border: 0; vertical-align: top; text-align: left;
}
/* 68) Obrázky v textu (článek, popis, stránka): vertical-align baseline jako Shopify (Shoptet middle → odstavec s obrázkem o 4–5 px nižší) */
html body.type-post .news-item-detail .text img, html body.type-detail .basic-description img, html body .pu-page .rte img { vertical-align: baseline; }
/* 69) Mobil – vyprodaný produkt: tlačítko „Vyprodáno“ o 8 px (s variantami 4 px) níž jako Shopify, popis pod ním 22 px */
@media (max-width: 767px) {
  html body.type-detail .pu-soldout { padding-top: 26px; margin-bottom: 22px; }
  html body.type-detail .p-info-wrapper:has(.pu-pills) .pu-soldout { padding-top: 22px; }
}
/* 70) Obsah s inline „font-size: 1rem“ (4 produkty, 1 článek): na Shopify 1rem = 16 px, Shoptet má kořenové písmo 10 px
   → text byl 10 px. Stejně jako Shopify 16 px a řádkování 1,2 */
:is(html body.type-post .news-item-detail .text, html body.type-detail .basic-description, html body .pu-page .rte, .pageArticleDetail [itemprop="about"])
  :is([style*="font-size: 1rem"], [style*="font-size:1rem"]) { font-size: 16px !important; line-height: 1.2; }

/* 71) Zaoblené rohy všech obrázků – ROZHODNUTÍ UŽIVATELE 26. 9. 2026 (vědomá odchylka od Shopify, DESIGN L25):
   12 px, na mobilu 8 px. Radius je na rámečku s overflow:hidden tam, kde je obrázek na bílém / contain.
   Výjimky: hlavní banner úvodu (.pu-hero), logo, ikony (výhody, sítě, grafiky účinnosti), platební ikony, podpis Shoptetu. */
:root { --pu-img-radius: 12px; }
@media (max-width: 767px) { :root { --pu-img-radius: 8px; } }
/* karty produktů (výpisy, úvod, související, vyhledávání, doporučené v košíku) */
html body .products .product .p .image { border-radius: var(--pu-img-radius); overflow: hidden; isolation: isolate; }
/* galerie detailu produktu */
html body .pu-gal__vp { border-radius: var(--pu-img-radius); isolation: isolate; }
/* obrázky v textech (článek, popis produktu, stránka) – ruší border-radius: 0 z §39 i vložené 8 px */
html body.type-post .news-item-detail .text img, html body.type-detail .basic-description img,
html body .pu-page .rte img, .pageArticleDetail [itemprop="about"] img { border-radius: var(--pu-img-radius) !important; }
/* hlavní obrázek článku */
html body .pu-article-img, html body .pu-article-img img { border-radius: var(--pu-img-radius); }
/* úvod: fotky Elišky u produktů, sekce „Spolehněte se“ (pozadí), kolekce, „Kdo jsem“ */
html body .pu-cpi__img { border-radius: var(--pu-img-radius); overflow: hidden; isolation: isolate; }
html body .pu-ucinnost { border-radius: var(--pu-img-radius); overflow: hidden; }
html body .pu-coll, html body .pu-about__box { border-radius: var(--pu-img-radius); }
/* blog, „Další články“, výsledky článků ve vyhledávání */
html body .news-wrapper .news-item .image a, html body .pu-blog-item__image { border-radius: var(--pu-img-radius); isolation: isolate; }
/* Instagram karusel */
html body .pu-footer .pu-ig__item { border-radius: var(--pu-img-radius); }
/* našeptávač, panel košíku, košík */
html body #header .search .search-whisperer-image, html body .pu-cd__thumb, html body .pu-cd__rec-img,
html body.pu-cartfull-page .cart-table td.cart-p-image a { border-radius: var(--pu-img-radius); }
/* stránka Recenze (galerie v obsahu stránky) */
html body .dg-gallery-grid img, html body .dg-lightbox-img { border-radius: var(--pu-img-radius) !important; }
/* kontakt: fotka v kartě (desktop odsazená cover, mobil celá fotka se zaoblením místo průhledného okraje) */
html body .pu-page--kontakt .contact-form__figure img { border-radius: var(--pu-img-radius); }
@media (max-width: 767px) {
  html body .pu-page--kontakt .contact-form__figure img { padding: 0 !important; width: calc(100% - 93.6px) !important; height: auto !important; max-height: calc(100% - 93.6px); object-fit: contain; margin: auto; }
}

/* 72) Cookie lišta a okno nastavení cookies ve vzhledu webu (DESIGN L26): písmo Roboto, „Souhlasím“ / „Povolit vše“ růžové
   plné tlačítko, ostatní růžový obrys (jako „Odeslat“), zaoblený bílý panel se stínem. Funkce Shoptetu beze změny. */
html body .siteCookies { font-family: inherit; }
html body .siteCookies .siteCookies__form {
  background: #fff; color: var(--pu-text); border: 1px solid var(--pu-border-card); border-radius: var(--pu-radius);
  box-shadow: 0 10px 30px rgba(29, 29, 29, .16); font-size: 14.875px; line-height: 17.85px; letter-spacing: var(--pu-ls);
}
html body .siteCookies .siteCookies__text, html body .siteCookies .siteCookies__text * { color: var(--pu-text); font-size: 14.875px; line-height: 17.85px; }
html body .siteCookies .siteCookies__text a { color: var(--pu-text); text-decoration: none; border-bottom: 1px solid var(--pu-text); }
html body .siteCookies .siteCookies__button, html body .siteCookies .siteCookies__link,
html body #colorbox .cookiesSetting__button, html body #colorbox .cookiesSetting__uncheckLink {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 26px; border-radius: var(--pu-radius-btn);
  border: 1px solid var(--pu-accent); background: #fff; color: var(--pu-accent); font-family: inherit; font-size: 17px; font-weight: 500;
  letter-spacing: var(--pu-ls); text-transform: none; box-shadow: none; cursor: pointer; transition: background-color .2s, color .2s;
}
html body .siteCookies .siteCookies__button:hover, html body .siteCookies .siteCookies__link:hover,
html body #colorbox .cookiesSetting__button:hover, html body #colorbox .cookiesSetting__uncheckLink:hover { background: var(--pu-accent); color: #fff; }
html body .siteCookies .siteCookies__button[value="all"], html body #colorbox .cookiesSetting__button--green,
html body #colorbox .cookiesSetting__button[value="all"] { background: var(--pu-accent); border-color: var(--pu-accent); color: #fff; }
html body .siteCookies .siteCookies__button[value="all"]:hover, html body #colorbox .cookiesSetting__button--green:hover { background: #a8337b; border-color: #a8337b; }
/* okno nastavení (colorbox Shoptetu) */
html body #colorbox.shoptet-modal-md #cboxContent, html body #colorbox.shoptet-modal-md #cboxWrapper { border-radius: var(--pu-radius); }
html body #colorbox .cookiesSetting__form { font-family: inherit; color: var(--pu-text); letter-spacing: var(--pu-ls); }
html body #colorbox .cookiesSetting__title { font-size: 28px; line-height: 1; font-weight: 400; letter-spacing: -0.03em; color: var(--pu-text); }
html body #colorbox .cookiesSetting__perex, html body #colorbox .cookiesSetting__item__text { font-size: 14.875px; line-height: 17.85px; color: var(--pu-text); }
html body #colorbox .cookiesSetting__data { border: 1px solid var(--pu-border-card); border-radius: var(--pu-radius); }
html body #colorbox .cookiesSetting__item__status { border-radius: var(--pu-radius-btn); border-color: var(--pu-border); }
html body #colorbox .cookiesSetting__item__checkbox { accent-color: var(--pu-accent); }
@media (max-width: 767px) {
  html body .siteCookies .siteCookies__form { border-radius: 8px 8px 0 0; }
  html body #colorbox.shoptet-modal-md #cboxContent, html body #colorbox.shoptet-modal-md #cboxWrapper, html body #colorbox .cookiesSetting__data { border-radius: 8px; }
  html body .siteCookies .siteCookies__button, html body .siteCookies .siteCookies__link, html body #colorbox .cookiesSetting__button,
  html body #colorbox .cookiesSetting__uncheckLink { min-height: 40px; font-size: 15px; padding: 0 20px; }
}

/* 73) Statické karty úvodu: vyprodaný produkt (živá data ze stránky produktu) – neaktivní tlačítko „Vyprodáno“ */
html body .pu-static-card .pu-add.is-sold { opacity: .36; pointer-events: none; cursor: default; }
/* široký produkt v kartě (contain): viditelná fotka je menší než čtvercový rámeček → zaoblit přímo obrázek
   (přirozený poměr, uprostřed rámečku), jinak by rohy fotky zůstaly hranaté */
html body .products .product .p .image.pu-img-wide { display: flex !important; align-items: center; justify-content: center; }
html body .products .product .p .image.pu-img-wide img { width: 100%; height: auto; max-height: 100%; object-fit: contain; border-radius: var(--pu-img-radius); }

/* 74) Rozhodnutí 29. 9. 2026 – doplňky Související produkty a Hlídací pes se nekupují: jejich prvky Shoptetu se nikde
   nezobrazí (ani kdyby je Shoptet vykreslil), po bloku nezůstane nadpis ani prázdné místo (DESIGN L-body, CHECKS O-body) */
html body .products-related, html body .products-related-header, html body .browse-p,
html body a.watchdog, html body .watchdog, html body #watchdog-form { display: none !important; }
/* 75) Vyprodaný produkt ve výpisu (ruční dostupnost „Vyprodáno“): štítek VYPRODÁNO jako na detailu (#757575), šedá tečka,
   tlačítko „Vyprodáno“ neaktivní jako statické karty úvodu (průhlednost .36) */
html body .pu-card-badge--sold { background: #757575; }
html body .products .product .p.pu-sold .availability::before { background: #9e9e9e; }
html body .products .product .p.pu-sold .p-tools .pu-sold-btn { opacity: .36; pointer-events: none; cursor: default; }
html body .products .product .p.pu-sold .p-tools .pu-sold-btn span { display: none; }
html body .products .product .p.pu-sold .p-tools .pu-sold-btn::after { content: "Vyprodáno"; }

/* ==========================================================================
   R) Detail produktu – redesign 8. 10. 2026 (rozhodnutí Davida: modernější, texty a obrázky beze změny)
   theme.js pdModern() přidá body.pu-pd2, náhledy galerie, .pu-lead (úvodní odstavce popisu u ceny),
   sekci .pu-pd-about (popis přes celou šířku) a mobilní lištu .pu-buybar.
   ========================================================================== */
:root { --pu-cream: #f8f3ed; --pu-cream-line: #ece2d6; --pu-ink-2: #4a4a4a; }

/* rozložení: větší galerie, užší nákupní sloupec */
@media (min-width: 992px) {
  html body.pu-pd2 .p-detail .product-top { grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); column-gap: 64px; }
  html body.pu-pd2 .p-detail .p-image-wrapper { top: 24px; }
  html body.pu-pd2 .p-detail .p-info-wrapper { padding-top: 8px; max-width: 560px; }
}

/* galerie: krémová karta, bílé pozadí fotek splyne (multiply), náhledy */
html body.pu-pd2 .pu-gal__vp { background: var(--pu-cream); border-radius: 24px; }
html body.pu-pd2 .pu-gal__slide { background: var(--pu-cream); } /* multiply musí mít pozadí ve stejném kontextu (track má transform) */
html body.pu-pd2 .pu-gal__slide img { mix-blend-mode: multiply; }
html body.pu-pd2 .pu-gal__zoom {
  top: 16px; right: 16px; width: 44px; height: 44px; border-radius: 50%; background: rgba(255,255,255,.92);
  box-shadow: 0 2px 10px rgba(0,0,0,.08); display: flex; align-items: center; justify-content: center;
}
.pu-gal__thumbs { display: none; }
@media (min-width: 992px) {
  html body.pu-pd2 .pu-gal--multi .pu-gal__nav { display: none; }
  html body.pu-pd2 .pu-gal__thumbs { display: flex; flex-wrap: wrap; gap: 12px; margin: 16px 0 0; }
  html body.pu-pd2 .pu-gal__thumb {
    width: 84px; height: 84px; padding: 0; border: 2px solid transparent; border-radius: 14px; overflow: hidden;
    background: var(--pu-cream); cursor: pointer; transition: border-color .2s, transform .2s;
  }
  html body.pu-pd2 .pu-gal__thumb:hover { transform: translateY(-2px); }
  html body.pu-pd2 .pu-gal__thumb.is-active { border-color: var(--pu-accent); }
  html body.pu-pd2 .pu-gal__thumb img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; display: block; }
}

/* název, cena, dostupnost */
html body.pu-pd2 .pu-badges { margin-bottom: 14px; }
html body.pu-pd2 .p-detail-inner-header { margin-bottom: 18px; }
html body.pu-pd2 .p-detail-inner-header h1 { font-size: 40px; font-weight: 500; line-height: 1.08; letter-spacing: -0.035em; }
html body.pu-pd2 .p-final-price-wrapper {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; border: 0; padding: 0; margin: 0 0 16px;
}
html body.pu-pd2 .p-final-price-wrapper .price-final,
html body.pu-pd2 .p-final-price-wrapper .price-final-holder { font-size: 30px; font-weight: 600; letter-spacing: -0.02em; }
html body.pu-pd2 .p-final-price-wrapper .price-additional { font-size: 14px; color: var(--pu-muted); margin: 0; }
html body.pu-pd2 .p-info-wrapper .availability-value {
  display: inline-flex !important; width: fit-content; gap: 8px; margin: 0 0 22px; padding: 7px 14px 7px 12px; border-radius: 999px;
  background: #eaf6ee; font-size: 14px; font-weight: 500;
}
html body.pu-pd2 .p-info-wrapper .availability-value .availability-label { color: #1f7a42 !important; }
html body.pu-pd2 .p-info-wrapper .availability-value::before { box-shadow: 0 0 0 3px rgba(63,191,107,.2); }
html body.pu-pd2 .p-info-wrapper:has(.pu-soldout:not(.pu-hidden)) .availability-value { background: #f2f2f2; }
html body.pu-pd2 .p-info-wrapper:has(.pu-soldout:not(.pu-hidden)) .availability-value .availability-label { color: var(--pu-muted) !important; }
html body.pu-pd2 .p-info-wrapper:has(.pu-soldout:not(.pu-hidden)) .availability-value::before { background: #9e9e9e; box-shadow: none; }
html body.pu-pd2 .pu-soldout__btn { flex: 1 1 auto; height: 58px; border-radius: 999px; }

/* úvodní text u ceny */
html body.pu-pd2 .pu-lead { margin: 0 0 24px; font-size: 17px; line-height: 1.55; color: var(--pu-ink-2); }
html body.pu-pd2 .pu-lead p { margin: 0 0 10px; }
html body.pu-pd2 .pu-lead p:last-child { margin-bottom: 0; }

/* varianty */
html body.pu-pd2 .pu-variants { padding: 20px 0 0; border-top: 1px solid var(--pu-cream-line); }

/* množství jako jedna „pilulka“ + tlačítko košíku */
html body.pu-pd2 .p-info-wrapper .add-to-cart {
  gap: 12px; margin: 0 0 8px; padding: 22px 0 0; border-top: 1px solid var(--pu-cream-line); flex-wrap: nowrap;
}
html body.pu-pd2 .p-info-wrapper .quantity {
  gap: 0; height: 58px; padding: 0 6px; border: 1px solid #d8d2cb; border-radius: 999px; background: #fff;
}
html body.pu-pd2 .p-info-wrapper .quantity .decrease,
html body.pu-pd2 .p-info-wrapper .quantity .increase {
  width: 44px; height: 44px; border: 0; background: transparent; transition: background .15s;
}
html body.pu-pd2 .p-info-wrapper .quantity .decrease:hover,
html body.pu-pd2 .p-info-wrapper .quantity .increase:hover { background: var(--pu-cream); }
html body.pu-pd2 .p-info-wrapper .quantity .increase__sign,
html body.pu-pd2 .p-info-wrapper .quantity .decrease__sign { font-size: 24px; }
html body.pu-pd2 .p-info-wrapper .quantity input.amount { width: 36px; height: 44px; font-size: 18px; font-weight: 500; }
html body.pu-pd2 .p-info-wrapper .add-to-cart .add-to-cart-button {
  height: 58px; font-size: 18px; font-weight: 600; letter-spacing: -0.01em;
  box-shadow: 0 8px 20px -8px rgba(195,65,145,.55); transition: background .2s, transform .15s, box-shadow .2s;
}
html body.pu-pd2 .p-info-wrapper .add-to-cart .add-to-cart-button:hover { transform: translateY(-1px); box-shadow: 0 12px 24px -10px rgba(195,65,145,.6); }
html body.pu-pd2 .p-info-wrapper .add-to-cart .add-to-cart-button:active { transform: translateY(0); }
html body.pu-pd2 .pu-soldout { border-top-color: var(--pu-cream-line); }

/* sdílení: decentně */
html body.pu-pd2 .pu-share { border-top: 0; margin-top: 20px; padding-top: 0; display: flex; align-items: center; flex-wrap: wrap; gap: 8px 18px; }
html body.pu-pd2 .pu-share__title { margin: 0 !important; font-size: 14px; font-weight: 500; color: var(--pu-muted); }
html body.pu-pd2 .pu-share__links { gap: 8px 16px; }
html body.pu-pd2 .pu-share__links a { font-size: 14px; color: var(--pu-muted); gap: 6px; }
html body.pu-pd2 .pu-share__links a svg { width: 14px; height: 14px; }

/* popis přes celou šířku: krémová karta, čitelný sloupec */
html body.pu-pd2 .pu-pd-about {
  clear: both; margin: 72px 0 24px; padding: 64px 40px 56px; border-radius: 28px; background: var(--pu-cream);
}
html body.pu-pd2 .pu-pd-about > * { max-width: 760px; margin-left: auto; margin-right: auto; }
html body.pu-pd2 .pu-pd-about__title {
  margin-top: 0; margin-bottom: 28px; font-size: 14px !important; font-weight: 600; letter-spacing: .08em;
  text-transform: uppercase; color: var(--pu-accent);
}
html body.pu-pd2 .pu-pd-about .pu-desc { font-size: 17px; line-height: 1.6; color: var(--pu-text); }
html body.pu-pd2 .pu-pd-about .pu-desc p { margin: 0 0 14px; }
html body.pu-pd2 .pu-pd-about .pu-desc h2,
html body.pu-pd2 .pu-pd-about .pu-desc h3 {
  font-size: 30px; font-weight: 600; line-height: 1.15; letter-spacing: -0.03em; margin: 44px 0 14px;
}
html body.pu-pd2 .pu-pd-about .pu-desc > :first-child,
html body.pu-pd2 .pu-pd-about .pu-desc > .pu-hidden:first-child + * { margin-top: 0; }
html body.pu-pd2 .pu-pd-about .pu-desc h4 { font-size: 20px; font-weight: 600; margin: 28px 0 10px; }
html body.pu-pd2 .pu-pd-about .pu-desc img { border-radius: 18px; }
html body.pu-pd2 .pu-pd-about .pu-desc > p > img, html body.pu-pd2 .pu-pd-about .pu-desc > img,
html body.pu-pd2 .pu-pd-about .pu-desc > div > img { display: block; margin: 8px 0 20px; }
html body.pu-pd2 .pu-pd-about .pu-desc ul, html body.pu-pd2 .pu-pd-about .pu-desc ol { margin-bottom: 18px; }
html body.pu-pd2 .pu-pd-about .pu-desc li { margin: 0 0 6px; }

/* akordeony a TIP v popisu */
html body.pu-pd2 .basic-description .accordion-label,
html body.pu-pd2 .basic-description .acc-label,
html body.pu-pd2 .basic-description .acc2-label {
  margin: 0 0 10px; padding: 18px 22px !important; border-radius: 16px; background: #fff;
  border: 1px solid var(--pu-cream-line); font-size: 17px; font-weight: 600; transition: border-color .2s, box-shadow .2s;
}
html body.pu-pd2 .basic-description .accordion-label:hover,
html body.pu-pd2 .basic-description .acc-label:hover,
html body.pu-pd2 .basic-description .acc2-label:hover { border-color: #d9c7b4; box-shadow: 0 4px 14px -8px rgba(90,68,49,.25); }
html body.pu-pd2 .basic-description .accordion-label svg,
html body.pu-pd2 .basic-description .acc-label svg,
html body.pu-pd2 .basic-description .acc2-label svg { fill: var(--pu-accent); }
html body.pu-pd2 .basic-description .tip-img img { mix-blend-mode: multiply; }
html body.pu-pd2 .basic-description .tip-box { border-radius: 20px !important; background: #fffbea; border-color: #f1dd9b !important; }

/* mobil a tablet */
@media (max-width: 991px) {
  html body.pu-pd2 .pu-gal__vp { border-radius: 20px; }
  html body.pu-pd2 .p-detail-inner-header h1 { font-size: 30px; }
  html body.pu-pd2 .p-final-price-wrapper .price-final,
  html body.pu-pd2 .p-final-price-wrapper .price-final-holder { font-size: 26px; }
  html body.pu-pd2 .pu-lead { font-size: 16px; }
  html body.pu-pd2 .p-info-wrapper .quantity { height: 52px; }
  html body.pu-pd2 .p-info-wrapper .quantity .decrease,
  html body.pu-pd2 .p-info-wrapper .quantity .increase { width: 40px; height: 40px; }
  html body.pu-pd2 .p-info-wrapper .add-to-cart .add-to-cart-button { height: 52px; font-size: 17px; }
  html body.pu-pd2 .pu-pd-about { margin: 40px -8px 16px; padding: 36px 20px 28px; border-radius: 22px; }
  html body.pu-pd2 .pu-pd-about .pu-desc { font-size: 16px; }
  html body.pu-pd2 .pu-pd-about .pu-desc h2, html body.pu-pd2 .pu-pd-about .pu-desc h3 { font-size: 24px; margin-top: 32px; }
  html body.pu-pd2 .basic-description .accordion-label,
  html body.pu-pd2 .basic-description .acc-label,
  html body.pu-pd2 .basic-description .acc2-label { padding: 15px 18px !important; font-size: 16px; }
}

/* mobilní lišta s košíkem */
.pu-buybar { display: none; }
@media (max-width: 991px) {
  .pu-buybar {
    display: flex; align-items: center; gap: 12px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 900;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: rgba(255,255,255,.96);
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: 0 -6px 24px rgba(0,0,0,.08);
    transform: translateY(110%); transition: transform .28s cubic-bezier(.2,.8,.2,1); visibility: hidden;
  }
  .pu-buybar.is-on { transform: translateY(0); visibility: visible; }
  .pu-buybar__txt { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
  .pu-buybar__name { font-size: 13px; color: var(--pu-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .pu-buybar__price { font-size: 18px; font-weight: 600; color: var(--pu-text); }
  .pu-buybar__btn {
    flex: 0 0 auto; height: 48px; padding: 0 22px; border: 0; border-radius: 999px; background: var(--pu-accent);
    color: #fff; font: 600 16px/1 Roboto, sans-serif; letter-spacing: -0.01em; cursor: pointer;
  }
  html body.pu-buybar-on { padding-bottom: 76px; }
}
@media (prefers-reduced-motion: reduce) {
  .pu-buybar, html body.pu-pd2 .pu-gal__thumb, html body.pu-pd2 .p-info-wrapper .add-to-cart .add-to-cart-button { transition: none; }
}

/* Informační proužek nahoře (pokyn Davida 8. 10. 2026; text v theme.js NOTICE) */
.pu-notice { background: var(--pu-yellow); color: var(--pu-text); text-align: center; position: relative; z-index: 5; }
html body .pu-notice__text { margin: 0 auto; max-width: var(--pu-max); padding: 9px var(--pu-pad); font-size: 14px; line-height: 1.35; letter-spacing: -0.01em; }
.pu-notice__text strong { font-weight: 700; }
@media (max-width: 767px) { html body .pu-notice__text { padding: 8px 16px; font-size: 13px; } }


/* Košík – slevový kód: celá šířka (Shoptet dává pole do poloviny .extras-wrapper a před něj ikonu „-%“) */
html body .pu-coupon .extras-wrapper { display: block; }
html body .pu-coupon .extras-col { width: 100%; max-width: none; flex: none; padding: 0; margin: 0; }
html body .pu-coupon .extras-col:empty, html body .pu-coupon .extras-col:not(:has(*)) { display: none; }
html body .pu-coupon .discount-coupon { display: block; width: 100%; padding: 0; margin: 0; }
html body .pu-coupon .discount-coupon::before { display: none !important; content: none !important; }
html body .pu-coupon .discount-coupon form { display: flex; width: 100%; gap: 10px; margin: 0; }
html body .pu-coupon .discount-coupon input.form-control { flex: 1 1 auto; width: auto; min-width: 0; padding: 0 14px; }
html body .pu-coupon .discount-coupon .btn { flex: 0 0 auto; }
/* Informace v košíku a v krocích objednávky (pokyn Davida 8. 10. 2026) */
html body .pu-cart-notice { margin: 0 0 16px; padding: 12px 14px; border-radius: 10px; background: #fff4d6; border: 1px solid #f1d58a; }
html body .pu-cart-notice p { margin: 0; font-size: 14px; line-height: 1.4; color: var(--pu-text); letter-spacing: -0.01em; text-align: left; }
html body .pu-cart-notice strong { font-weight: 700; }

