/* dietashopbrno.cz – věrný vzhled původního Shoptetu */
:root {
  --oliva: #557632;        /* menu, odkazy, názvy produktů */
  --oliva-tm: #46621f;
  --zelena: #009901;       /* Skladem */
  --modra: #3293d8;        /* tlačítko koupit, procenta */
  --modra-sytа: #086df7;   /* slevová bublina */
  --cervena: #ff0000;      /* Akce */
  --zluta: #ffc702;        /* Výprodej */
  --novinka: #3a800e;
  --text: #4d4d4d;
  --seda: #f6f6f6;
  --linka: #e5e5e5;
}
* { box-sizing: border-box; }
body { margin: 0; font-family: Verdana, Geneva, sans-serif; color: var(--text); font-size: 14px; line-height: 1.55; background: #fff; }
/* jednotný font i velikost Verdana 14px i uvnitř importovaného popisu (přebije inline styly) */
.pm-desc, .pm-desc *, .pm-legal, .pm-legal * { font-family: Verdana, Geneva, sans-serif !important; font-size: 15px !important; line-height: 1.55 !important; }
/* nadpisy sekcí detailu menší, jako na www */
.pm-hsec-left { font-size: 16px !important; font-weight: 700; margin: 22px 0 8px; }
.pm-legal p { margin: 0 0 12px; }
/* zoom hlavního obrázku po najetí myší (jako na Shoptetu) */
.pm-dt-img a { display: block; overflow: hidden; }
#pmMainImg { transition: transform .12s ease; cursor: zoom-in; }
.pm-dt-img a:hover #pmMainImg { transform: scale(2.2); }
.pm-legal p strong, .pm-legal p b { color: #222; }
a { color: var(--oliva); text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; height: auto; }
.pm-container { max-width: 1290px; margin: 0 auto; padding: 0 15px; }

/* ── horní lišta ── */
.pm-topbar { border-bottom: 1px solid var(--linka); font-size: 13px; background: #fff; }
/* 096 – lišta se jako celek nezalamuje: vlevo kontakty, uprostřed odkazy (ty se
   zalomí samy do víc řádků), vpravo natvrdo jazyk + měna. Díky tomu má EUR
   ve všech jazycích stejnou X pozici, i když jsou přeložené odkazy různě dlouhé. */
.pm-topbar-in { display: flex; align-items: center; justify-content: flex-start; gap: 12px; padding-top: 8px; padding-bottom: 8px; flex-wrap: nowrap; }
.pm-top-contact { flex: 0 1 auto; min-width: 0; }
.pm-top-right { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; margin-left: auto; }
.pm-topbar a { color: var(--text); }
.pm-toplinks { display: flex; gap: 25px; flex: 0 1 auto; min-width: 0; flex-wrap: wrap; row-gap: 4px; }
.pm-toplinks a { letter-spacing: .3px; }
.pm-top-cur { color: var(--text); }
.pm-top-mail { display: inline-flex; gap: 6px; align-items: center; }

/* ── hlavička ── */
.pm-header { background: #fff; }
.pm-headmain { display: flex; align-items: center; gap: 30px; padding-top: 22px; padding-bottom: 22px; flex-wrap: wrap; }
.pm-logo img { display: block; width: 330px; max-width: 100%; height: auto; }
.pm-search { flex: 1 1 280px; display: flex; max-width: 420px; }
.pm-search input { flex: 1; border: 1px solid #d5d5d5; border-right: 0; padding: 11px 15px; font-size: 15px; font-family: inherit; }
.pm-search input:focus { outline: none; border-color: #999; }
.pm-search button { border: 0; background: #000; color: #fff; padding: 0 22px; font-weight: 700; font-size: 13px; letter-spacing: .5px; cursor: pointer; font-family: inherit; }
.pm-cartbox { display: flex; align-items: center; gap: 12px; margin-left: auto; color: var(--oliva); }
.pm-cartbox:hover { text-decoration: none; }
.pm-cart-info { font-size: 15px; line-height: 1.3; color: var(--oliva); }
.pm-cart-empty { color: var(--oliva); }

/* ── menu ── */
.pm-mainnav { background: var(--oliva); }
.pm-menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; }
.pm-menu > li > a { display: block; color: #fff; padding: 11px 20px; font-size: 14px; border-right: 1px solid rgba(255,255,255,.15); }
.pm-menu > li > a:hover { background: var(--oliva-tm); text-decoration: none; }
.pm-burger { display: none; border: 0; background: none; cursor: pointer; padding: 8px; }
/* mobilní vstup do kategorií a jeho overlay – na desktopu se nikdy neukazují (079) */
.pm-catbtn, .pm-side-overlay, .pm-side-close { display: none; }
.pm-burger span { display: block; width: 26px; height: 3px; background: var(--oliva); margin: 5px 0; border-radius: 2px; }

/* ── breadcrumb ── */
.pm-bcbar { border-bottom: 1px solid var(--linka); }
.pm-bc { font-size: 13px; color: #888; padding: 10px 0; }
.pm-bc a { color: #666; }
.pm-bc-sep { margin: 0 4px; color: #bbb; }

/* ── layout se sidebarem ── */
.pm-layout { display: flex; gap: 0; align-items: flex-start; min-height: 55vh; }
.pm-sidebar { flex: 0 0 305px; background: var(--seda); padding: 25px 0 40px; align-self: stretch; }
.pm-main { flex: 1; padding: 20px 0 40px 40px; min-width: 0; }
.pm-side-title { font-size: 15px; font-weight: 700; color: #333; margin: 0 0 12px; padding: 0 20px; letter-spacing: .5px; }
.pm-side-list { list-style: none; margin: 0; padding: 0; }
.pm-side-list > li { position: relative; }
.pm-side-list > li > a { display: block; padding: 8px 20px 8px 34px; color: var(--text); font-size: 15px; }
.pm-side-list > li > a:hover { color: var(--oliva); text-decoration: none; }
.pm-side-list > li > a.pm-side-act { background: var(--oliva); color: #fff; }
.pm-side-toggle { position: absolute; left: 12px; top: 8px; border: 0; background: none; color: var(--oliva); font-size: 15px; font-weight: 700; cursor: pointer; width: 18px; padding: 0; line-height: 1.4; }
.pm-side-noexp { position: absolute; left: 12px; width: 18px; }
.pm-side-sub { list-style: none; margin: 0; padding: 0 0 4px; }
.pm-side-sub a { display: block; padding: 6px 20px 6px 52px; color: var(--text); font-size: 14px; }
.pm-side-sub a:hover { color: var(--oliva); text-decoration: none; }
.pm-side-sub a.pm-side-act { background: var(--oliva); color: #fff; }

/* ── nadpisy sekcí ── */
.pm-hsec { text-align: center; font-size: 30px; font-weight: 400; color: #333; margin: 25px 0 20px; }
.pm-hsec-left { text-align: left; font-size: 24px; }

/* ── řádkový výpis produktů ── */
.pm-rows { margin-bottom: 30px; }
.pm-row { display: flex; align-items: center; gap: 18px; border-bottom: 1px solid var(--linka); padding: 14px 0; }
.pm-row-img { flex: 0 0 70px; text-align: center; }
.pm-row-img img { max-height: 70px; max-width: 70px; object-fit: contain; }
.pm-row-mid { flex: 1; min-width: 0; }
.pm-row-name { color: var(--oliva); font-size: 16px; }
.pm-row-flags { display: flex; gap: 10px; align-items: center; margin-top: 6px; flex-wrap: wrap; }
.pm-flag { display: inline-block; color: #fff; font-size: 13px; font-weight: 700; padding: 2px 10px; }
.pm-flag-akce { background: var(--cervena); }
.pm-flag-vypr { background: var(--zluta); }
.pm-flag-new { background: var(--novinka); }
.pm-in { color: var(--zelena); font-weight: 400; }
.pm-out { color: #999; }
/* prodej na objednávku (113) – vlastní barvu nezavádíme, bere modrou z palety */
.pm-order { color: var(--modra); font-weight: 400; }
.pm-row-price { flex: 0 0 175px; text-align: right; }
.pm-price-old { font-size: 14px; color: #999; }
.pm-price-old s { color: #999; }
.pm-pct { color: var(--modra); }
.pm-price-cur b { font-size: 19px; color: #333; }
.pm-unit { color: #777; font-size: 14px; }
.pm-price-msr { font-size: 13px; color: #888; margin-top: 3px; }
.pm-row-buy { flex: 0 0 145px; display: flex; justify-content: flex-end; align-items: center; gap: 0; }

/* ── mřížka karet (kategorie, hledání, akce/výprodej, související zboží) ── */
.pm-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-bottom: 30px; }
.pm-cardg { display: flex; flex-direction: column; border: 1px solid var(--linka); padding: 14px; background: #fff; }
.pm-cardg-img { position: relative; display: block; text-align: center; height: 160px; }
.pm-cardg-img img { max-height: 160px; max-width: 100%; object-fit: contain; }
/* kolečko se slevou sedí v rohu karty (v odsazení), ne přes obrázek; „−XX %" na jednom řádku (070) */
.pm-cardg-bubble { position: absolute; top: -12px; right: -12px; background: var(--cervena); color: #fff; font-weight: 700;
  font-size: 12px; border-radius: 50%; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center;
  white-space: nowrap; box-shadow: 0 1px 4px rgba(0,0,0,.18); z-index: 2; }
.pm-cardg-flags { display: flex; gap: 6px; flex-wrap: wrap; margin: 10px 0 0; min-height: 22px; }
.pm-cardg-name { display: block; color: var(--oliva); font-size: 15px; line-height: 1.35; margin: 6px 0 4px;
  /* dlouhé názvy se ořežou na tři řádky, ať jsou karty stejně vysoké */
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.pm-cardg-exp { font-size: 13px; color: #8a6d00; }
.pm-cardg-avail { font-size: 14px; margin: 2px 0 8px; }
.pm-cardg-price { margin-top: auto; }
.pm-cardg-buy { display: flex; align-items: center; gap: 8px; margin-top: 10px; min-height: 34px; }
.pm-cardg-buy .pm-btn-buy { width: auto; flex: 1; justify-content: center; gap: 6px; padding: 0 10px; height: 34px; font-size: 14px; }
.pm-cardg-buy .pm-qty { height: 34px; }
.pm-cardg-buy .pm-qty-in { width: 38px; }
.pm-cardg-buy .pm-qty-arrows button { height: 16px; }
@media (max-width: 1100px) { .pm-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px)  { .pm-grid { grid-template-columns: 1fr; } }

/* qty spinner (Shoptet styl: input + šipky nahoru/dolů) */
.pm-qty { display: inline-flex; border: 1px solid #ccc; }
.pm-qty-in { width: 48px; border: 0; text-align: center; font-size: 15px; font-family: inherit; -moz-appearance: textfield; }
.pm-qty-in::-webkit-outer-spin-button, .pm-qty-in::-webkit-inner-spin-button { -webkit-appearance: none; }
.pm-qty-arrows { display: flex; flex-direction: column; border-left: 1px solid #ccc; }
.pm-qty-arrows button { border: 0; background: #fff; width: 26px; height: 21px; font-size: 10px; color: #666; cursor: pointer; line-height: 1; padding: 0; }
.pm-qty-arrows button:first-child { border-bottom: 1px solid #ccc; }
.pm-qty-arrows button:hover { background: var(--seda); }

/* koupit tlačítko */
.pm-btn-buy { border: 0; background: var(--modra); color: #fff; width: 46px; height: 44px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; margin-left: -1px; }
.pm-btn-buy:hover { background: #2380c4; }
.pm-btn-buy-lg { width: auto; padding: 0 26px; font-size: 15px; font-weight: 700; height: 48px; font-family: inherit; }

/* obecné tlačítko */
.pm-btn { display: inline-block; border: 0; background: var(--modra); color: #fff !important; padding: 11px 24px; font-size: 15px; font-weight: 700; cursor: pointer; text-align: center; font-family: inherit; }
.pm-btn:hover { background: #2380c4; text-decoration: none; }
.pm-btn-lg { padding: 13px 30px; font-size: 16px; }

/* ── detail produktu ── */
.pm-dt-title { font-size: 28px; font-weight: 400; color: #333; margin: 15px 0 6px; }
.pm-dt-code { font-size: 14px; color: #999; margin-left: 8px; }
.pm-dt-meta { display: flex; gap: 12px; align-items: center; margin-bottom: 18px; flex-wrap: wrap; }
.pm-dt-brand { color: #777; font-size: 15px; }
.pm-dt-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 35px; margin-bottom: 25px; }
.pm-dt-img { position: relative; text-align: center; }
.pm-dt-img > a > img { max-height: 400px; object-fit: contain; }
.pm-dt-bubble { position: absolute; right: 8%; bottom: 5%; background: var(--modra-sytа); color: #fff; border-radius: 50%; width: 105px; height: 105px; display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: 16px; font-weight: 700; z-index: 2; line-height: 1.35; }
.pm-dt-bubble s { font-weight: 400; font-size: 14px; }
.pm-dt-bubble, .pm-dt-bubble s { white-space: nowrap; }
.pm-thumbs { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; justify-content: center; }
.pm-thumb { width: 62px; height: 62px; object-fit: contain; border: 1px solid var(--linka); cursor: pointer; }
.pm-dt-info .pm-price-old { font-size: 15px; }
.pm-dt-price { font-size: 34px; font-weight: 700; color: #333; }
.pm-dt-novat { color: #888; font-size: 14px; }
.pm-dt-avail { font-size: 21px; margin: 22px 0 5px; font-weight: 400; }
.pm-dt-avail.pm-in { color: var(--zelena); }
.pm-dt-buy { display: flex; align-items: stretch; margin: 18px 0 25px; }
.pm-qty-lg .pm-qty-in { width: 55px; font-size: 16px; }
.pm-qty-lg .pm-qty-arrows button { height: 23px; }
.pm-params { border-collapse: collapse; margin-top: 10px; font-size: 14px; }
.pm-params th { text-align: left; padding: 5px 15px 5px 0; color: #777; font-weight: 400; vertical-align: top; white-space: nowrap; }
.pm-params td { padding: 5px 0; }
.pm-desc { margin: 15px 0 30px; max-width: 860px; }
.pm-catdesc { color: #666; max-width: 800px; margin-bottom: 10px; }
.pm-pager { display: flex; gap: 6px; margin: 20px 0; justify-content: center; }
.pm-pager a, .pm-pager .pm-cur { padding: 6px 12px; border: 1px solid var(--linka); }
.pm-pager .pm-cur { background: var(--oliva); color: #fff; border-color: var(--oliva); }

/* ── košík ── */
.pm-cart-table { width: 100%; border-collapse: collapse; margin: 15px 0; }
.pm-cart-table th { text-align: left; border-bottom: 2px solid var(--oliva); padding: 8px; font-size: 13px; }
.pm-cart-table td { border-bottom: 1px solid var(--linka); padding: 10px 8px; vertical-align: middle; }
.pm-ct-img img { width: 60px; height: 60px; object-fit: contain; }
.pm-remove { border: 0; background: none; color: var(--cervena); font-size: 18px; cursor: pointer; }
.pm-cart-sum { text-align: right; margin: 20px 0; }
.pm-cart-total { font-size: 22px; color: #333; }
.pm-freeship { color: #777; }
.pm-freeship.pm-in { color: var(--zelena); }

/* ── objednávka ── */
.pm-checkout label { display: block; margin-bottom: 12px; font-size: 14px; }
.pm-checkout input[type=text], .pm-checkout input[type=email], .pm-checkout input[type=tel], .pm-checkout textarea { width: 100%; border: 1px solid #d5d5d5; padding: 10px 12px; font-size: 15px; font-family: inherit; margin-top: 3px; }
.pm-co-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.pm-co-row { display: grid; grid-template-columns: 2fr 1fr; gap: 12px; }
.pm-h2 { font-size: 20px; margin: 22px 0 12px; border-bottom: 2px solid var(--oliva); padding-bottom: 6px; color: #333; font-weight: 700; }
.pm-radio { display: flex !important; align-items: center; gap: 10px; border: 1px solid var(--linka); padding: 11px 14px !important; cursor: pointer; margin-bottom: 8px !important; }
.pm-radio:has(input:checked) { border-color: var(--oliva); background: #f4f8ef; }
.pm-radio span { flex: 1; }
.pm-radio b { color: var(--oliva); }
.pm-co-firma summary { cursor: pointer; margin-bottom: 10px; color: var(--oliva); }
.pm-co-summary { max-width: 560px; margin: 30px 0 0 auto; border: 1px solid var(--linka); padding: 20px; background: var(--seda); }
.pm-co-items { width: 100%; border-collapse: collapse; font-size: 14px; }
.pm-co-items td { padding: 5px 4px; border-bottom: 1px solid var(--linka); }
.pm-co-total td { font-size: 17px; padding-top: 10px; color: #333; }
.pm-agree { margin: 15px 0; position: relative; display: block; padding-left: 26px; }
.pm-agree > input[type=checkbox] { position: absolute; left: 0; top: 3px; margin: 0; }
.pm-btn-order { width: 100%; }
.pm-errors { background: #ffe9e9; border: 1px solid var(--cervena); padding: 10px 15px; margin: 15px 0; }
.pm-errors p { margin: 4px 0; color: #b30000; }
.pm-thanks-tab { margin: 15px 0; }
.pm-payinfo { border: 1px solid var(--linka); padding: 15px 20px; margin: 20px 0; background: var(--seda); max-width: 480px; }
.pm-pickup { margin: 8px 0 15px; }
.pm-pickup input { width: 100%; border: 1px solid #d5d5d5; padding: 10px 12px; font-family: inherit; }
.pm-404 { text-align: center; padding: 40px 0; }
.pm-static table { border-collapse: collapse; }
.pm-static td, .pm-static th { border: 1px solid var(--linka); padding: 6px 10px; }

/* ── zákaznický účet ── */
.pm-account-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; max-width: 860px; }
.pm-account-box { border: 1px solid var(--linka); padding: 20px; }
.pm-account-box label { display: block; margin: 0 0 12px; }
.pm-account-box input[type=text], .pm-account-box input[type=email], .pm-account-box input[type=password], .pm-account-box input[type=tel] { width: 100%; border: 1px solid #d5d5d5; padding: 9px 12px; font-family: inherit; font-size: 14px; margin-top: 3px; }
.pm-account-single { max-width: 430px; }
.pm-account-links { margin: 12px 0 0; font-size: 13px; }
.pm-account-ok { background: #e9f7ef; color: #1c7c47; padding: 10px 15px; margin-bottom: 15px; max-width: 860px; }
.pm-account-hello { margin: 0 0 15px; }
.pm-account-orders { border-collapse: collapse; width: 100%; max-width: 860px; }
.pm-account-orders th, .pm-account-orders td { border-bottom: 1px solid var(--linka); padding: 8px 10px; text-align: left; }
.pm-account-orders .num { text-align: right; }
@media (max-width: 700px) { .pm-account-grid { grid-template-columns: 1fr; } }

/* ── lišta odběru novinek ── */
.pm-nl-bar { background: var(--oliva); margin-top: 30px; }
.pm-nl-in { display: flex; align-items: center; justify-content: center; gap: 20px; padding: 18px 15px; flex-wrap: wrap; }
.pm-nl-title { color: #fff; font-size: 16px; font-weight: 700; }
.pm-nl-form { display: flex; }
.pm-nl-form input[type=email] { border: 0; padding: 11px 15px; font-size: 14px; font-family: inherit; min-width: 240px; }
.pm-nl-form input[type=email]:focus { outline: none; }
.pm-nl-form button { border: 0; background: var(--modra); color: #fff; padding: 0 20px; font-weight: 700; font-size: 13px; cursor: pointer; font-family: inherit; }
.pm-nl-form button:hover { filter: brightness(1.08); }

/* ── patička ── */
.pm-footer { border-top: 1px solid var(--linka); margin-top: 0; font-size: 14px; color: #666; }
.pm-foot-in { padding: 18px 15px; }
.pm-footer a { color: var(--oliva); }

/* ── toast ── */
.pm-freeship-note { font-size: 13px; color: #777; margin: 4px 0 0; }

/* „Načíst další" pod výpisem */
.pm-more-wrap { text-align: center; margin: 6px 0 14px; }
.pm-more { display: inline-block; border: 1px solid var(--oliva); color: var(--oliva); background: #fff;
  padding: 10px 26px; font-size: 15px; cursor: pointer; }
.pm-more:hover { background: var(--oliva); color: #fff; }

/* skupiny doprav v objednávce + štítek nejvýhodnější nabídky */
.pm-ship-group { margin: 14px 0 6px; font-weight: 700; color: #555; font-size: 14px; }
.pm-ship-group:first-of-type { margin-top: 0; }
.pm-best { display: inline-block; border: 1px solid var(--zelena); color: var(--zelena); font-size: 12px;
  font-weight: 700; padding: 0 6px; border-radius: 3px; margin-left: 6px; vertical-align: 1px; }

.pm-toast { position: fixed; right: 20px; bottom: 20px; background: var(--zelena); color: #fff; padding: 12px 22px; box-shadow: 0 4px 14px rgba(0,0,0,.25); z-index: 999; animation: pmToast .3s; max-width: 380px; }
/* upozornění (ořez množství na skladovou zásobu) – jiná barva než potvrzení */
.pm-toast-warn { background: var(--zluta); color: #3a2d00; }
@keyframes pmToast { from { opacity: 0; transform: translateY(15px); } }

/* ── responsivita ── */
@media (max-width: 1199px) {
  .pm-burger { display: block; }
  .pm-mainnav { display: none; }
  .pm-mainnav.pm-open { display: block; }
  .pm-menu { flex-direction: column; }
  .pm-menu > li > a { border-right: 0; }
  .pm-main { padding-left: 0; }

  /* ── kategorie jako výsuvný panel zleva (079) ──────────────────────────
     Je to TÝŽ #pmSidebar jako na desktopu, jen vytažený z toku. Otevírá ho
     třída na <body> (JS), a bez JS `:target` po kliknutí na odkaz „Kategorie". */
  .pm-catbtn { display: inline-flex; align-items: center; gap: 6px; color: var(--oliva); font-weight: 700;
    font-size: 14px; padding: 6px 10px; border: 1px solid var(--linka); border-radius: 4px; text-decoration: none; }
  .pm-catbtn:hover { text-decoration: none; background: var(--seda); }
  .pm-sidebar { display: block; position: fixed; top: 0; left: 0; z-index: 300;
    width: 86%; max-width: 330px; height: 100%; overflow-y: auto; -webkit-overflow-scrolling: touch;
    padding: 18px 0 40px; box-shadow: 2px 0 16px rgba(0,0,0,.25);
    transform: translateX(-102%); transition: transform .22s ease; }
  body.pm-side-open .pm-sidebar, .pm-sidebar:target { transform: none; }
  .pm-side-close { display: block; position: absolute; top: 6px; right: 10px; font-size: 30px; line-height: 1;
    color: #98a1ab; text-decoration: none; padding: 0 6px; }
  .pm-side-overlay { position: fixed; inset: 0; background: rgba(15,20,30,.45); z-index: 290; }
  body.pm-side-open .pm-side-overlay { display: block; }   /* overlay má smysl jen s JS */
  body.pm-side-open { overflow: hidden; }
}
@media (max-width: 900px) {
  .pm-dt-grid { grid-template-columns: 1fr; }
  .pm-co-grid { grid-template-columns: 1fr; gap: 10px; }
  .pm-row { flex-wrap: wrap; }
  .pm-row-mid { flex: 1 1 60%; }
  .pm-row-price { flex: 1 1 30%; }
  .pm-row-buy { flex: 1 1 100%; justify-content: flex-start; }
}
@media (max-width: 540px) {
  .pm-headmain { gap: 12px; }
  .pm-logo img { width: 250px; }
  .pm-search { order: 3; flex-basis: 100%; max-width: none; }
  .pm-toplinks { display: none; }
  .pm-hsec { font-size: 23px; }
  .pm-dt-title { font-size: 22px; }
  .pm-dt-bubble { width: 80px; height: 80px; font-size: 13px; }
  .pm-cart-table thead { display: none; }
  .pm-cart-table td { display: inline-block; border: 0; }
  .pm-cart-table tr { display: block; border-bottom: 1px solid var(--linka); padding: 8px 0; }
}

.pm-pickname { margin-top: 8px; color: var(--zelena); font-weight: 700; }

/* přepínač měny + zákonné údaje + našeptávač */
.pm-top-cur a { color: #999; }
.pm-top-cur a.pm-cur-act { color: var(--oliva); font-weight: 700; }
/* přepínač jazyka vedle měny – stejný vzhled, jen jiný obsah */
.pm-top-lang { margin-left: 10px; }
.pm-top-lang a { color: #999; margin-left: 6px; }
.pm-top-lang a.pm-cur-act { color: var(--oliva); font-weight: 700; }
.pm-country .pm-radio { margin-bottom: 6px; }
.pm-legal { max-width: 860px; }
.pm-nutri-h { font-size: 17px; margin: 18px 0 6px; }
.pm-nutri-h span { color: #888; font-weight: 400; font-size: 14px; }
/* tabulka živin (114) – řádek „z toho…" je odsazený a světlejší; padding musí sedět
   na buňce, na <tr> se neuplatní */
.pm-nutri { border-collapse: collapse; width: 100%; max-width: 480px; font-size: 14px; margin: 0 0 12px; }
.pm-nutri th, .pm-nutri td { border: 1px solid var(--linka); padding: 6px 10px; text-align: left; }
.pm-nutri thead th { background: #f6f7f4; }
.pm-nutri tbody th { font-weight: 400; color: #222; }
.pm-nutri td { text-align: right; white-space: nowrap; }
.pm-nutri-sub th { padding-left: 26px; color: #666; }
.pm-nutri-sub td { color: #666; }
.pm-producer { font-size: 13px; color: #555; margin-top: 14px; }
.pm-legal-note { font-size: 12px; color: #999; margin-top: 8px; }

/* --- šarže / expirace ------------------------------------------------- */
.pm-flag-exp{background:#b8860b}
.pm-row-exp{font-size:12px;color:#6b7280;margin-top:3px}
.pm-row-exp-past{color:#b03027;font-weight:600}
.pm-ct-exp{font-size:12px;color:#6b7280}
.pm-batch{margin:10px 0 14px;border:1px solid #e2e5e9;border-radius:8px;padding:10px 12px;background:#fafbfc}
.pm-batch-h{font-size:13px;font-weight:700;margin:0 0 8px;color:#333}
.pm-batch label{display:flex;align-items:center;gap:10px;padding:7px 4px;border-top:1px solid #edeff2;cursor:pointer;font-size:14px}
.pm-batch label:first-of-type{border-top:0}
.pm-batch input{margin:0}
.pm-batch .pm-b-price{margin-left:auto;font-weight:700;white-space:nowrap}
.pm-batch .pm-b-off{color:#b03027;font-size:12px;font-weight:700}
.pm-batch .pm-b-qty{color:#8a929c;font-size:12px}
.pm-expwarn{margin:10px 0;padding:9px 12px;border:1px solid #f0c9a0;background:#fdf6ec;border-radius:8px;font-size:13px;color:#8a5a00}
.pm-dt-exp{font-size:13px;color:#4d4d4d;margin:6px 0 10px}

/* --- kontakty z administrace ------------------------------------------ */
.pm-top-contact{display:inline-flex;gap:14px;align-items:center;flex-wrap:wrap}
.pm-top-sep{color:#b9bfc6}
.pm-top-tel{white-space:nowrap}
/* v úzkém topbaru „·" jen překáží; v patičce (běžný text) zůstává */
@media (max-width: 640px){ .pm-top-contact .pm-top-sep{display:none} }
.pm-top-tel{font-weight:700}
.pm-foot-comp{margin-bottom:6px;line-height:1.7}
.pm-foot-comp a{color:inherit}
.pm-contactbox{margin:22px 0 0;padding:16px 18px;border:1px solid #e5e5e5;background:#fafafa}
.pm-contactbox .pm-h2{margin-top:0}
.pm-ord-stav{display:inline-block;padding:2px 9px;border-radius:11px;color:#fff;font-size:12px;white-space:nowrap}

/* --- přihlášení přes Google / Seznam / mojeID ---------------------------- */
.pm-social{margin:14px 0 0;padding-top:12px;border-top:1px solid #e5e5e5}
.pm-social-t{display:block;font-size:13px;color:#777;margin-bottom:8px}
.pm-social-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;margin:0 6px 6px 0;
  border:1px solid #d3d7dd;border-radius:4px;background:#fff;color:#333;text-decoration:none;font-size:14px;font-weight:600}
.pm-social-btn:hover{background:#f4f6f8;border-color:#b9c0c8}
.pm-social-btn svg{flex:0 0 18px}
.pm-linked{width:100%;border-collapse:collapse}
.pm-linked td{padding:9px 0;border-top:1px solid #eee;vertical-align:middle;font-size:14px}
.pm-linked tr:first-child td{border-top:0}
.pm-linked td.num{text-align:right}
.pm-linked svg{vertical-align:-4px;margin-right:4px}
.pm-btn-sm{padding:5px 12px;font-size:13px}

/* zákonná reference u slevy (Omnibus): nejnižší cena za 30 dní */
.pm-ref30{display:block;font-size:11px;color:#8a929c;line-height:1.3;font-weight:400}

/* slevový kód v objednávce */
.pm-coupon{margin:10px 0 0;display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}
.pm-coupon label{flex:1 1 0;min-width:150px;font-size:13px;margin:0}
.pm-coupon input{width:100%;height:40px;margin:0;padding:8px 10px;border:1px solid #ccc;border-radius:6px;font-family:inherit;text-transform:uppercase;box-sizing:border-box}
.pm-coupon .pm-btn{height:40px;margin:0;padding:0 22px;box-sizing:border-box;display:inline-flex;align-items:center}
.pm-note{font-size:12px;color:#5a6472;margin:6px 0 0;line-height:1.45;flex-basis:100%}
.pm-note-err{color:#b03027}
.pm-linkbtn{background:none;border:0;padding:0;color:#3293d8;text-decoration:underline;cursor:pointer;font:inherit}
.pm-co-coupon td{color:#3a800e}

/* ── Dotazník k jídelníčku (prompt 058) ──────────────────────────────────────
   Formulář na výšku: popisek nad polem, sekce jako karty, na mobilu vše pod sebou. */
.pm-dotaznik{max-width:820px}
.dot-sekce{background:#fff;border:1px solid #e3e7ea;border-radius:12px;padding:16px 18px;margin:0 0 18px}
.dot-h2{font-size:18px;font-weight:700;color:#333;margin:0 0 14px;padding-bottom:8px;border-bottom:2px solid var(--oliva)}
.dot-item{margin:0 0 16px}
.dot-item:last-child{margin-bottom:0}
.dot-label{display:block;font-weight:600;font-size:14px;color:#333;margin:0 0 4px}
.dot-req{color:#b3261e}
.dot-hint{display:block;font-size:12px;color:#7b838b;margin:0 0 6px}
.pm-dotaznik input[type=text],.pm-dotaznik input[type=email],.pm-dotaznik input[type=date],
.pm-dotaznik input[type=number],.pm-dotaznik textarea{
  width:100%;box-sizing:border-box;padding:9px 11px;border:1px solid #ccd3d9;border-radius:8px;
  font:inherit;font-size:14px;background:#fff}
.pm-dotaznik textarea{resize:vertical;min-height:84px;line-height:1.5}
.pm-dotaznik input:focus,.pm-dotaznik textarea:focus{outline:none;border-color:var(--oliva);box-shadow:0 0 0 3px rgba(85,118,50,.12)}
.dot-grid{display:grid;gap:12px 16px}
.dot-half{grid-template-columns:1fr 1fr}
.dot-third{grid-template-columns:1fr 1fr 1fr}
.dot-num{position:relative;display:block}
.dot-num input{padding-right:44px}
.dot-unit{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#7b838b;font-size:13px}
.dot-yesno{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dot-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid #ccd3d9;border-radius:999px;
  background:#fff;cursor:pointer;font-size:14px;user-select:none}
.dot-pill input{margin:0}
.dot-pill-on,.dot-pill:has(input:checked){border-color:var(--oliva);background:#f2f7ec;font-weight:600}
.dot-detail{flex:1;min-width:200px}
.dot-odeslat{margin:22px 0 0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
/* tlačítko se ve flexu nesmí smrsknout na nejdelší slovo (byla z něj tříznaková placka) */
.dot-odeslat .pm-btn{flex:0 0 auto;width:auto;white-space:nowrap;min-width:200px}
.pm-btn-lg{padding:12px 26px;font-size:16px;line-height:1.2}
@media (max-width:720px){
  .dot-odeslat{display:block}
  .dot-odeslat .pm-btn{width:100%;min-width:0}     /* na mobilu přes celou šířku, ať se dobře trefí */
  .dot-odeslat .muted{display:block;margin-top:8px}
  .dot-half,.dot-third{grid-template-columns:1fr}
  .dot-sekce{padding:14px}
  /* na mobilu 16px, jinak iOS při kliknutí do pole zoomuje stránku */
  .pm-dotaznik input[type=text],.pm-dotaznik input[type=email],.pm-dotaznik input[type=date],
  .pm-dotaznik input[type=number],.pm-dotaznik textarea{font-size:16px}
}

/* ── Oznamovací pruh (dovolená / výluka) – prompt 062 ─────────────────────── */
.pm-notice{position:sticky;top:0;z-index:60;padding:10px 0;font-size:15px;line-height:1.45;font-weight:600;
  color:#fff;box-shadow:0 1px 4px rgba(0,0,0,.15)}
.pm-notice-info{background:#2f6fbf}
.pm-notice-warn{background:#b3261e}
.pm-notice-in{display:flex;align-items:center;gap:14px;justify-content:space-between}
.pm-notice-text a{color:#fff;text-decoration:underline}
.pm-notice-x{flex:0 0 auto;background:transparent;border:0;color:#fff;font-size:18px;line-height:1;
  cursor:pointer;padding:2px 6px;opacity:.85}
.pm-notice-x:hover{opacity:1}
@media (max-width:720px){ .pm-notice{font-size:14px;padding:9px 0} }
/* připomenutí oznámení v košíku a objednávce (062) – výraznější než běžná poznámka */
.pm-cart-table + .pm-note,.pm-note.pm-note-warn{}
h1.pm-h1 + .pm-note{font-size:14px;font-weight:600;color:#22406b;background:#eaf1fb;border:1px solid #c9dcf5;
  border-radius:8px;padding:10px 12px;margin:0 0 14px}
h1.pm-h1 + .pm-note.pm-note-warn{color:#7a1f1f;background:#fdecec;border-color:#f0c4c4}

/* množstevní akce „N+M zdarma" (063a) */
.pm-flag-promo{background:#7b4fbf}
.pm-ct-promo{display:inline-block;font-size:12px;font-weight:700;color:#5c3a99;background:#f2ecfb;
  border-radius:6px;padding:2px 7px;margin-top:4px}
.pm-promo-note{margin:8px 0 0;font-size:14px;font-weight:600;color:#5c3a99;background:#f2ecfb;
  border:1px solid #ddd0f2;border-radius:8px;padding:9px 12px}

/* speciální výpisy v levém menu pod kategoriemi (068) */
.pm-side-special:first-of-type{border-top:1px solid #dfe3e6;margin-top:6px;padding-top:6px}
.pm-side-list > li.pm-side-special > a{font-weight:700;letter-spacing:.02em}
.pm-side-list > li.pm-side-special > a.pm-side-spec{color:#b03027}
.pm-side-list > li.pm-side-special > a.pm-side-act{color:#fff}

/* balíčky – produkt A + připojený produkt B (063b) */
.pm-flag-bundle{background:#0f8a7e}
.pm-bundle-note{margin:10px 0 0;padding:10px 12px;border:1px solid #cfe8e5;background:#f0faf8;border-radius:8px;font-size:14px}
.pm-bundle-note ul{margin:6px 0 4px;padding-left:18px}
.pm-bundle-note li{margin:2px 0}
.pm-ct-bundle > td{background:#f7fcfb}
.pm-ct-bundle td:first-child{padding-left:22px}
.pm-ct-bundle-note{display:inline-block;font-size:12px;font-weight:700;color:#0f6d63;background:#e6f5f3;border-radius:6px;padding:2px 7px;margin-top:4px}
.pm-ct-bqty{color:#5a6472;font-size:13px}

/* --- detail produktu: formátování popisu (069) ------------------------- */
/* sekce v importovaném popisu (Charakteristika / Složení / Alergeny …) mají
   blokový nadpis, takže na sebe nelepí */
.pm-desc .pm-desc-h { display: block; font-size: 16px !important; font-weight: 700; margin: 20px 0 4px; color: #222; }
.pm-desc > *:first-child .pm-desc-h:first-child, .pm-desc .pm-desc-h:first-child { margin-top: 0; }
.pm-desc .pm-desc-red { display: block; margin-top: 10px; }
.pm-legal p { margin: 0 0 18px; }            /* větší mezera mezi sekcemi (Skladování × Výživové hodnoty) */
/* poznámka o šarži – stejný font i velikost jako zbytek textu */
.pm-legal .pm-legal-note { font-size: 15px !important; color: #666; margin-top: 16px; }
/* „Vhodné pro" v odrážkách pod tlačítkem do košíku */
.pm-fitfor { margin: 14px 0 4px; }
.pm-fitfor-h { margin: 0 0 4px; font-weight: 700; font-size: 14px; color: #333; }
.pm-fitfor ul { margin: 0; padding-left: 20px; }
.pm-fitfor li { margin: 2px 0; font-size: 14px; color: #444; }

/* --- kód produktu ve výpisu (070) -------------------------------------- */
.pm-cardg-code { font-size: 12px; color: #9aa0a6; margin: 0 0 2px; }
.pm-row-code { display: block; font-size: 12px; color: #9aa0a6; margin: 2px 0 0; }

/* --- třídění výpisu (077) ---------------------------------------------- */
.pm-sort { display: flex; justify-content: flex-end; align-items: center; gap: 8px; margin: 0 0 12px; }
.pm-sort label { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; color: #666; }
.pm-sort select { font-family: inherit; font-size: 14px; padding: 5px 8px; border: 1px solid var(--linka); background: #fff; color: var(--text); }
.pm-sort-go { font-size: 14px; padding: 5px 10px; }
@media (max-width: 540px) { .pm-sort { justify-content: flex-start; } }

/* --- plovoucí košík (080) ---------------------------------------------- */
/* Je pod off-canvas panelem kategorií (z-index 300) i jeho overlayem (290),
   ale nad běžným obsahem. Ukazuje se jen s neprázdným košíkem. */
/* Ukazuje se, až když hlavička (a s ní košík v ní) vyjede z obrazovky – jinak by
   plovoucí box seděl přesně přes košík v hlavičce. Pak už drží při scrollu pořád. */
.pm-cart-float { position: fixed; z-index: 200; display: none; align-items: center; gap: 10px;
  top: calc(64px + env(safe-area-inset-top, 0px)); right: calc(16px + env(safe-area-inset-right, 0px));
  min-width: 44px; min-height: 44px; padding: 8px 14px; background: #fff; color: var(--oliva);
  border: 1px solid var(--linka); border-radius: 30px; box-shadow: 0 3px 14px rgba(0,0,0,.16);
  font-size: 15px; line-height: 1.25; text-decoration: none; }
body.pm-scrolled .pm-cart-float { display: flex; }
.pm-cart-float:hover { text-decoration: none; box-shadow: 0 4px 18px rgba(0,0,0,.22); }
.pm-cart-float[hidden] { display: none !important; }
.pm-cf-ico { position: relative; display: flex; align-items: center; }
.pm-cf-badge { display: none; position: absolute; top: -6px; right: -8px; min-width: 19px; height: 19px;
  padding: 0 5px; border-radius: 10px; background: var(--cervena); color: #fff; font-size: 12px;
  font-weight: 700; line-height: 19px; text-align: center; }
.pm-cf-info b { font-weight: 700; }

@media (max-width: 1199px) {
  /* na mobilu jen ikona s počtem a až po odscrollování (dokud je vidět hlavička, košík je v ní) */
  .pm-cart-float { top: calc(12px + env(safe-area-inset-top, 0px));
    padding: 10px; border-radius: 50%; min-width: 48px; min-height: 48px; justify-content: center; }
  .pm-cf-info { display: none; }
  .pm-cf-badge { display: block; }
}

/* ── Listování na předchozí / další produkt v kategorii (101) ──────────────── */
.p-listovani { display: flex; justify-content: space-between; align-items: stretch; gap: 10px;
  margin: 22px 0 4px; padding: 10px 0; border-top: 1px solid var(--linka); border-bottom: 1px solid var(--linka); }
.p-listovani > a { display: flex; align-items: center; gap: 6px; max-width: 45%;
  color: var(--oliva); text-decoration: none; font-weight: 700; font-size: 14px; line-height: 1.35; }
.p-listovani > a:hover { color: var(--modra); }
.p-list-next { margin-left: auto; text-align: right; }
.p-list-nazev { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.p-list-sip { flex: 0 0 auto; font-size: 20px; line-height: 1; color: #9a9a9a; }
