/*
 * nakup.medihelix.cz — custom.css tématu nuveo (zdroj pravdy: projekt
 * medihelix_scrapping, eshop/design/custom.css; na server se kopíruje do
 * themes/nuveo/assets/css/custom.css). Téma ho načítá samo.
 *
 * Cíl: sourozenec webu medihelix.cz — zaoblené rohy (tlačítka 20 px, karty
 * 12 px, náhledy 10 px, štítky pilulka), měkké stíny místo tvrdých rámečků,
 * linky #d5e3f5, navy #082f49 / modrá #0d94e6. Barvy řídí wpstyleswitcher
 * (styl-v1.json), tady je jen tvar. (design pass v1, 2026-08-29)
 *
 * Původní obsah od výrobce tématu (dva fixy) je zachován dole.
 */

:root {
  --mh-navy: #082f49;
  --mh-blue: #0d94e6;
  --mh-blue-dark: #0a6ea9;
  --mh-sky: #f0f9ff;
  --mh-line: #d5e3f5;
  --mh-radius: 12px;
  --mh-radius-sm: 10px;
  --mh-radius-btn: 20px;
  --mh-shadow: 0 6px 24px rgba(8, 47, 73, 0.08);
  --mh-shadow-hover: 0 12px 32px rgba(8, 47, 73, 0.14);
}

/* ---------- Šířka obsahu: strop 1630 px jako na medihelix.cz ----------
   Modul wpstyleswitcher generuje kontejner procentuálně (změřeno 2026-08-29):
   do 1919 px `width: 100%` (max 2000), od 1920 px `width: 80%` (max 2400).
   Na širokém monitoru z toho vyjde obsah 2048 px, zatímco prezentační web drží
   1630 px — a v 1920 px je navíc skok o 384 px. Petr to viděl jako „zbytečně
   široké" (2026-08-29).

   Žádný klíč WPSTYLE_* na to není — je to natvrdo v generátoru modulu, proto
   se to musí přebít tady. Referenční body: medihelix.cz 1630 px, alza.cz
   1310 px, obojí pevné a vycentrované. Bereme 1630 — eshop má být sourozenec
   webu, aby se obsah při přechodu z webu do obchodu neposunul.

   ⚠️ Musí se přebít `width` i `max-width`. Samotný strop nestačí: modul dává
   od 1920 px `width: 80%`, což je 1536 px — pod stropem, takže by se strop
   vůbec neuplatnil a eshop by zůstal užší než web.

   ⚠️ Odsazení se záměrně nechává na modulu (40 px pod 1920, 25 px nad).
   Na monitoru užším než 1630 px se tím nemění vůbec nic a pravidlo modulu pro
   rozbalené podmenu (`calc(100% - 80px)`) na tom odsazení stojí.

   `!important` je nutné — pravidla modulu mají stejnou specificitu a načítají
   se po nás. */
@media (min-width: 1199px) {
  .container {
    width: 100% !important;
    max-width: 1630px !important;
    margin-left: auto;
    margin-right: auto;
  }
}

/* ---------- Výpis: variantní produkt dostane „Vyberte variantu" ----------
   Produkt s variantami nemá ve výpisu „Přidat do košíku" — Presta u něj neplní
   `$product.add_to_cart_url`, protože zákazník musí nejdřív zvolit kombinaci.
   Karta pak končila cenou a nenabízela žádný další krok (Petr 2026-08-29).

   Nový prvek se ale nekreslí: šablona `miniatures/product.tpl` vedle košíku
   **už odkaz na detail vykresluje** a téma ho jen schovává
   (`.prod-box-grid .btn.btn-primary.view { display: none }`). Stačí ho tedy
   ukázat právě tam, kde košík chybí. Ověřeno na výpisu Laboratorních přístrojů:
   16 karet bez košíku = 16 variantních produktů, 20 s košíkem = 20 jednoduchých,
   nula překryvů. Odkaz navíc nese kotvu na konkrétní kombinaci (`#/892-…`).

   Popisek „View Detail" → „Vyberte variantu" **není tady, ale v překladech**
   (`{l s='View Detail' d='Shop.Theme.Actions'}` → řádek v `mh_translation`),
   aby přežil aktualizaci tématu.

   ⚠️ První selektor s `#index` tu není omylem: téma schovává odkaz na homepage
   pravidlem s **ID** (`#index .btn.btn-primary.view`), které by čistě třídový
   selektor nepřebilo. Takhle se obejdeme bez `!important`. */
#index .product-actions:not(:has(.add-to-cart)) .btn.btn-primary.view,
.product-miniature .product-actions:not(:has(.add-to-cart)) .btn.btn-primary.view {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  /* Rozměry přesně jako `.add-to-cart`, jinak jsou karty vedle sebe rozhozené
     (Petr 2026-08-29: „ať jsou stejné paddingy nad tlačítky"). Naměřeno na
     tlačítku košíku: margin 10 px nad i pod, výška 38 px = řádek 30 px
     + 2× 0,2rem + rámeček, vodorovné odsazení 16 px. Náš odkaz měl proti tomu
     margin 0 a padding 10 px, takže seděl o 10 px výš a byl o 2 px vyšší. */
  margin: 10px 0;
  padding: 0.2rem 1rem;
  line-height: 30px;
}

/* Ikona před popiskem — obdoba `<i class="material-icons">` v tlačítku košíku.
   Do odkazu nejde přidat element (šablona je od výrobce tématu), takže glyf
   kreslí `::before` z fontu, který téma stejně načítá.

   `\e429` = `tune` (posuvníky) — „nastav si volbu", vizuálně odlišné od košíku.
   ⚠️ Téma veze **starší sadu Material Icons**: ověřeno vykreslením na canvas,
   že `category` (\e574) ani `checklist` (\e6b1) v ní nejsou — vyšel by prázdný
   čtvereček. Bezpečně dostupné alternativy, kdyby se `tune` nelíbilo:
   `\e896` list · `\e8ef` view_list · `\e5c3` apps · `\e8b8` settings.
   Rozměry opsané z ikony košíku: 18 px, mezera 5 px. */
#index .product-actions:not(:has(.add-to-cart)) .btn.btn-primary.view::before,
.product-miniature .product-actions:not(:has(.add-to-cart)) .btn.btn-primary.view::before {
  content: "\e429";
  font-family: "Material Icons";
  font-weight: normal;
  font-size: 18px;
  line-height: 1;
  margin-right: 5px;
  -webkit-font-smoothing: antialiased;
}

/* ---------- Focus ring: téma dědí Bootstrap 4 alpha ----------
   theme.css má a:focus / button:focus / .btn:focus
   { outline: 5px auto -webkit-focus-ring-color }. Tu barvu dnešní Chrome kreslí
   jako tlustý tmavý kroužek, a pravidlo sedí na :focus, ne :focus-visible —
   ukáže se tedy i po kliknutí myší a zůstane, dokud neklikneš jinam
   (nahlásil Petr 2026-08-29). Rušit se smí JEN s náhradou pro klávesnici,
   jinak zmizí navigace Tabem. */
a:focus,
button:focus,
.btn:focus,
.btn.focus,
.btn:active:focus,
.btn.active:focus { outline: none; }
a:focus-visible,
button:focus-visible,
.btn:focus-visible {
  outline: 2px solid var(--mh-blue);
  outline-offset: 2px;
}

/* ---------- Tlačítka: pilulky jako na webu ---------- */
.btn,
.btn-primary,
.btn-secondary,
.btn-tertiary,
.btn-outline-primary,
.wpimageslider-wrap .btn-default,
.search-widget form button[type=submit] {
  border-radius: var(--mh-radius-btn) !important;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 600;
  box-shadow: none;
}
.btn-primary,
.btn-secondary {
  padding-left: 22px;
  padding-right: 22px;
}
.btn-primary:focus,
.btn-secondary:focus { box-shadow: 0 0 0 3px rgba(13, 148, 230, 0.25); }

/* ---------- Vyhledávání a newsletter: pilulka s tlačítkem uvnitř ----------
   Téma má tlačítko absolutně přes pravý okraj pole. Půlené rohy (pole vlevo,
   tlačítko vpravo) nechávaly vidět linku pole pod tlačítkem (Petr 2026-08-29).
   Proto: pole je celé pilulka a tlačítko menší pilulka usazená 4 px uvnitř —
   stejný vzor jako „Napište nám" na webu. */
.search-widget form input[type=text],
.block_newsletter form input[type=email] {
  height: 46px;
  border: 1px solid var(--mh-line) !important;
  border-radius: 23px;
  background: #fff;
  box-shadow: none !important;
  padding-left: 18px;
}
.search-widget form input[type=text] { padding-right: 70px; }
.block_newsletter form input[type=email] { padding-right: 130px; }
.search-widget form input[type=text]:focus,
.block_newsletter form input[type=email]:focus {
  border-color: var(--mh-blue) !important;
  background: #fff;
}
.search-widget form button[type=submit],
.block_newsletter form button[type=submit] {
  top: 4px;
  right: 4px;
  height: 38px;
  line-height: 38px;
  padding: 0 16px;
  border-radius: 19px !important;
}
.block_newsletter form button[type=submit] { padding: 0 20px; }

/* Zarovnani newsletteru (Petr 2026-08-30). Modul dava bloku tridu `col-xl-8`,
   takze zabiral 8 z 12 sloupcu a sedel vlevo — vpravo zbyvalo 410 px prazdna.
   Uvnitr jsou popisek (vyska 32 px) a formular s poznamkou o odhlaseni
   (vyska 91 px) jako dva sloupce vedle sebe, takze popisek visel u horniho
   okraje misto u pole.
   Vodorovne: `float: none` + `margin: auto` (Bootstrap 4 alpha sklada sloupce
   floatem, samotne `margin: auto` by neucinkovalo).
   Svisle: popisek je vlastni flex box vysoky jako pole (46 px) zarovnany
   k hornimu okraji — tim sedi na stred POLE, ne na stred sloupce i s poznamkou.
   ⚠️ Jen od xl vys: pod tim je popisek skryty (`hidden-lg-down`) a zobrazuje se
   `.title` s rozbalovatkem, kde by flex rozhodil skladani na mobilu. */
@media (min-width: 1200px) {
  .block_newsletter {
    display: flex;
    align-items: flex-start;
    float: none;
    margin-left: auto;
    margin-right: auto;
  }
  .block_newsletter > .col-md-6 { float: none; }
  .block_newsletter > p.h3 {
    display: flex;
    align-items: center;
    min-height: 46px;
    margin-bottom: 0;
  }
}

/* ---------- Hlavička: bílá, jemná linka místo pruhu ---------- */
#header .header-top { border-bottom: 1px solid var(--mh-line); }
#header .header-nav { font-size: 13px; }
/* Lišta menu navy s bílým textem, hover modrá pilulka (Petr: bílá byla moc bílá). */
#header .header-top #_desktop_top_menu { border-top: none; }
#header .header-top #_desktop_top_menu a[data-depth="0"] {
  font-weight: 700;
  border-radius: var(--mh-radius-btn);
  margin: 6px 2px;
  padding-top: 8px;
  padding-bottom: 8px;
}
#_desktop_top_menu .top-menu .sub-menu {
  border-radius: var(--mh-radius);
  box-shadow: var(--mh-shadow);
  border: 1px solid var(--mh-line);
}

/* ---------- Karty produktů ve výpisech ---------- */
#main .product-miniature .thumbnail-container,
#main .product-miniature.prod-box-grid {
  border-radius: var(--mh-radius);
  border-color: var(--mh-line);
  box-shadow: none;
  transition: box-shadow .2s ease, transform .2s ease;
}
#main .product-miniature .thumbnail-container:hover {
  box-shadow: var(--mh-shadow-hover);
  transform: translateY(-2px);
}
#main .product-miniature .thumbnail.product-thumbnail,
#main .product-miniature .thumbnail.product-thumbnail img {
  border-radius: var(--mh-radius-sm) var(--mh-radius-sm) 0 0;
}
#main .product-miniature .product-flags .new,
#main .product-miniature .product-flags li,
#main .product-miniature .discount-percentage,
#main .product-miniature .discount-amount,
.pb-left-column li.product-flag,
li.product-flag {
  border-radius: 999px;
  padding: 3px 10px;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: .04em;
}

/* Cena a tlacitko v kartickach vypisu na stred (Petr 2026-08-29). */
#main .product-miniature .product-price-and-shipping,
#main .product-miniature .product-actions,
#main .product-miniature .highlighted-informations,
#main .product-miniature .product-title {
  text-align: center;
}
#main .product-miniature .product-actions .btn,
#main .product-miniature .add-to-cart { float: none; margin-left: auto; margin-right: auto; }
#main .product-miniature .product-price-and-shipping .price,
#main .product-miniature .product-price-and-shipping .regular-price { display: inline-block; }

/* ---------- Bloky v levém sloupci (Kategorie, Nové produkty, banner) ---------- */
#left-column .block,
#left-column #wpverticalmenu,
#left-column .wpblocknewproducts,
#left-column .card,
#right-column .block {
  border-radius: var(--mh-radius);
  overflow: hidden;
  border: 1px solid var(--mh-line);
  box-shadow: none;
}
/* Bloky v levem sloupci (Nove produkty, Nejprodavanejsi, odkazy...) stejne
   jako Kategorie: navy hlavicka, zaobleny ramecek, linka. Markup Presty:
   `.sidebar-block > p.h6` je titulek - NE h2/h4 uvnitr, ty jsou nazvy
   produktu (prvni pokus je obarvil navy, Petr 2026-08-29). */
#left-column .sidebar-block {
  border: 1px solid var(--mh-line);
  border-radius: var(--mh-radius);
  overflow: hidden;
  background: #fff;
  margin-bottom: 20px;
  padding: 0;
}
#left-column .sidebar-block > p.h6,
#left-column .sidebar-block > .h6:first-child {
  background: var(--mh-navy);
  color: #fff;
  margin: 0;
  padding: 13px 16px;
  font-family: 'Nunito', sans-serif;
  font-size: 15px;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
}
#left-column .sidebar-block .products { padding: 4px 14px; }
#left-column .sidebar-block .product-miniature,
#left-column .sidebar-block .products > article,
#left-column .sidebar-block .products > div { border-bottom: 1px solid var(--mh-line); }
#left-column .sidebar-block .products > :last-child { border-bottom: none; }
#left-column .sidebar-block .all-products { display: block; padding: 10px 16px; }

/* Kategorie: jediny tenky ramecek jako u ostatnich bloku. Tema (a moje
   drivejsi pravidlo) davaly ramecek bloku i vnitrnimu .vertical-menu — dva
   pres sebe vypadaly jako hruba linka (Petr 2026-08-29). */
#left-column #wpverticalmenu,
#left-column #wpverticalmenu .menu,
#left-column #wpverticalmenu .vertical-menu,
#left-column #wpverticalmenu ul,
#left-column #wpverticalmenu li,
#left-column #wpverticalmenu .menu-header {
  border: none !important;
  box-shadow: none !important;
}
#left-column #wpverticalmenu {
  border: 1px solid var(--mh-line) !important;
  border-radius: var(--mh-radius);
  overflow: hidden;
  background: #fff;
}
/* Oddelovac polozek jen jeden: tema ho dava na <a> (#f1f1f1) i my na <li>
   -> dve linky pres sebe = "hruba". Odkaz bez ramecku, li 1 px. */
#left-column #wpverticalmenu a,
#left-column #wpverticalmenu a[data-depth="0"] { border: none !important; }
/* Skutecny puvodce: modul wpverticalmenu kresli oddelovac jako `li > a:after`
   (1 px #ddd, vsazeny 15 px) a ramecek na `#vertical-menu` — dohromady s nasi
   linkou to bylo dvakrat. Pseudo-element pryc, ramecek modulu pryc. */
#left-column #wpverticalmenu .vertical-menu > .vertical-menu > li > a:after { display: none !important; }
#left-column #wpverticalmenu #vertical-menu { border: none !important; }
#left-column #wpverticalmenu .vertical-menu > .vertical-menu > li {
  border-bottom: 1px solid var(--mh-line) !important;
}
#left-column #wpverticalmenu .vertical-menu > .vertical-menu > li:last-child { border-bottom: none !important; }

#main-wrap #wpverticalmenu h4.h6 {
  border-radius: var(--mh-radius) var(--mh-radius) 0 0;
  text-transform: none;
  font-weight: 700;
  letter-spacing: 0;
}
#wpverticalmenu #_desktop_vertical_menu a[data-depth="0"] {
  text-transform: none;
  font-weight: 600;
}

/* ---------- Karta produktu ---------- */
#product .product-cover img,
#product .product-images img,
#product .images-container,
#product .product-cover {
  border-radius: var(--mh-radius);
}
/* Záložky Popis: rámeček nese `.tab-pane`, ne `.tabs` — proto zaoblení tady.
   Aktivní záložka má modrý horní proužek místo černého. */
#product .tabs { border: none; box-shadow: none; }
#product .tabs .tab-pane {
  border: 1px solid var(--mh-line);
  border-radius: 0 var(--mh-radius) var(--mh-radius) var(--mh-radius);
}
#product .tabs .nav-tabs .nav-link {
  border-radius: var(--mh-radius) var(--mh-radius) 0 0;
  border-color: var(--mh-line);
  text-transform: none;
  font-weight: 700;
  color: var(--mh-navy);
}
#product .tabs .nav-tabs .nav-link.active {
  border-color: var(--mh-line);
  border-top: 2px solid var(--mh-blue);
  color: var(--mh-navy);
}
#product .product-variants select,
#product .product-variants .form-control,
#product .qty .form-control,
.form-control,
input.form-control {
  border-radius: var(--mh-radius-sm);
  border-color: var(--mh-line);
}
.mh-reference { color: var(--mh-navy); }

/* Cena na kartě i v quickview (2026-09-25, B2B): velká cena bez DPH s popiskem,
   pod ní menší s DPH, pod ní cena za kus bez DPH. Obě první vypisuje CZ Kit
   (`jhdsczkit`, hook `custom_price` → `.current-price-value`). Hlavní cena je
   bez DPH proto, že všechny skupiny mají `price_display_method = 1`.
   Popisek tématu („S DPH"/„bez DPH") by byl po CZ Kitu podruhé, proto pryč.
   ⚠️ „bez DPH" u ceny za kus platí JEN díky skupinám bez DPH: jádro vydá
   `unit_price_full` podle skupiny a popisek k němu nemá. Kdyby se některá
   skupina vrátila na s DPH, tohle pravidlo začne lhát. */
.product-prices .tax-shipping-delivery-label {
  display: none;
}
/* Rozestupy a cena za kus podle Petra (2026-09-25): víc místa mezi cenou bez
   a s DPH, cena za kus těsně pod nimi, stejnou šedí a s malým „bez DPH". */
.product-prices .jhdsczkit-price__second--sheet {
  margin-top: 12px;
}
.product-prices .product-unit-price {
  margin-top: 8px;
  color: #444;
  font-size: 12px;
}
.product-prices .product-unit-price::after {
  /* Mezera za \00a0 escape ukončí (jinak by spolkl i „be" jako hex číslice). */
  content: "\00a0 bez DPH";
  font-size: 11px;
}
/* Položka košíku (rozbalovací v hlavičce i stránka /kosik, obě jedna šablona
   `cart-detailed-product-line`): cena balení bez popisku, pod ní CZ Kit „s DPH".
   Platí stejná ⚠️ jako výš: jen díky skupinám bez DPH. */
.cart-item .product-price .current-price .price::after {
  content: "\00a0 bez DPH";
  font-size: 0.85em;
  font-weight: normal;
}
/* Cenu za kus v košíku vůbec (Petr 2026-09-25: „tam už to nikoho nezajímá").
   Jádro ji tam navíc počítá z poměru PRODUKTU (Cart.php:958), u variant s jiným
   balením by lhala, a šablona ji podmínkou `(int)… > 0` skryje pod 1 Kč. */
.cart-item .unit-price-cart {
  display: none;
}

/* ---------- Ikony s popisky nad obsahem (wpblockicons) ----------
   Ramecek kresli SAMA sekce `#wpblockiconsmodule` (modul ji dava 1px #dedede
   a `border-radius: 3px`). Do 2026-08-30 tu pravidlo mirilo na potomky
   `.wp-blockicons` / `.block-icons`, ktere v DOM vubec nejsou — stejny druh
   preklepu jako u slideru, sekce proto zustala skoro hranata. */
#wpblockiconsmodule {
  border-radius: var(--mh-radius);
  border-color: var(--mh-line);
  overflow: hidden;
}

/* ---------- Slider, bannery ----------
   Wrapper hlavniho slideru je TRIDA `.wpimageslider-wrap`, ne ID (modul
   wpimageslider vykresluje `<div class="wpimageslider-wrap wpslider-desktop">`).
   Do 2026-08-30 tu stalo `#wpimageslider-wrap` a pravidlo tedy nesedelo na nic —
   slider zustal hranaty, prestoze v souboru "pravidlo bylo". ID ma jen postranni
   slider (`#wpsideslider-wrap`).
   Radius staci na wrapperu: theme.css mu dava `overflow: hidden`, takze orizne
   i owl-carousel uvnitr. */
.wpimageslider-wrap,
.wpbxslider,
.banner,
#left-column img,
.wpsideslider img {
  border-radius: var(--mh-radius);
}
/* Spodni rohy: radius na wrapperu sam nestaci. Zmereno 2026-08-30 v prohlizeci:
   wrapper je 435 px vysoky, obrazek jen 419 — `ul.wpbxslider` ma zdedeny
   `margin-bottom: 16px`, takze se spodni rohy orezavaly v prazdnem pruhu POD
   obrazkem a fotka tam zustala hranata. `.owl-stage-outer` obepina obrazek
   presne a `overflow: hidden` uz ma od owl-carouselu.
   Zaoblovat misto toho `img` by pri prejezdu slidu ukazalo zaoblene hrany
   obou fotek vedle sebe. */
.wpimageslider-wrap .owl-stage-outer { border-radius: var(--mh-radius); }

/* Bannery pod vypisem (modul wpthemeconfigurator) jsou `.wptc-banner`, ne
   `.banner` — `overflow: hidden` maji, chybel jen radius. */
.wptc-banner,
.wptc-banner img { border-radius: var(--mh-radius); }

/* ---------- Obsahová oblast: bílá karta na světle modrém pozadí ---------- */
#main-wrap {
  border-radius: 0 0 var(--mh-radius) var(--mh-radius);
}
#footer { border-radius: var(--mh-radius) var(--mh-radius) 0 0; }

/* ---------- Nadpisy v Nunito jako na webu (wpstyleswitcher dává jen vybrané) ---------- */
h1, h2, h3, .h1, .h2, .h3, .product-title, .page-heading {
  font-family: 'Nunito', sans-serif;
  color: var(--mh-navy);
}

/* ---------- Bez stínů: čistý design jako na webu (Petr 2026-08-29) ----------
   Stín kolem celého kontejneru (boxed layout) i kolem bloků v levém sloupci
   působil rušivě. Karty produktů dostanou jen jemný stín při najetí. */
#wrapper,
#main-wrap,
#left-column .block,
#left-column > div,
#left-column #wpverticalmenu,
#left-column .wpblocknewproducts,
#right-column .block,
#wrapper .banner img,
.thumbnail-container,
.block-category,
#products .up {
  box-shadow: none !important;
}
#main .product-miniature .thumbnail-container:hover,
#main .product-miniature .thumbnail-container:focus {
  box-shadow: 0 8px 24px rgba(8, 47, 73, 0.08) !important;
  border-color: var(--mh-line);
}
#left-column .block,
#left-column .wpblocknewproducts,
#left-column #wpverticalmenu { border: 1px solid var(--mh-line); }

/* Obrázky v CMS stránkách (O nás, Dodání…).
   ⚠️ Musí to být tady, ne inline u obrázku: Presta pouští obsah CMS stránek
   přes HTMLPurifier, a ten zná jen svůj seznam povolených vlastností —
   `border-radius` ani `max-width` v něm nejsou, takže je ze `style` tiše
   vyhodí a v DOM zbude jen `height:auto`. Ověřeno 2026-09-02 přes
   getComputedStyle (radius vycházel 0px). */
.page-cms .cms-box img,
.page-cms .cms-block img {
  max-width: 100%;
  height: auto;
  border-radius: var(--mh-radius);
}

/* Text CMS stránek (Obchodní podmínky, O nás…): téma dává odstavcům
   line-height 17.5px na 16px písmu (≈1,1) a `h3` bez horního okraje, takže
   se řádky i články lepily na sebe (Petr 2026-09-24). Nadpis článku dostane
   odskok a tenkou linku. Selektory ověřené na živém DOM `cms-id-3`. */
#content.page-cms p,
#content.page-cms li {
  line-height: 1.65;
  margin-bottom: .9em;
}
#content.page-cms h3.page-subheading {
  font-size: 19px;
  line-height: 1.3;
  margin: 2.2em 0 .8em;
  padding-top: 1.1em;
  border-top: 1px solid var(--mh-line);
}
/* Sloupcové stránky (O nás: `.cms-block` / `.cms-box` v `.row`) linku nechtějí
   (Petr 2026-09-24: „at nejdou ty cary nahore") — patří jen článkům pod sebou. */
#content.page-cms :is(.cms-block, .cms-box) h3.page-subheading {
  border-top: 0;
  padding-top: 0;
  margin-top: 1.6em;
}
#content.page-cms :is(.cms-block, .cms-box) h3.page-subheading:first-child {
  margin-top: 0;
}
/* Kontakt na stránce Kontakt (`cms-id-6`, 2026-09-25 přesunut z třetího
   sloupce O nás). Odskok jen pod fotkou — vedle ní má kontakt začínat
   u její horní hrany. */
#content.page-cms img + .cms-kontakt { margin-top: 1.6em; }
#content.page-cms .cms-kontakt p { margin-bottom: .35em; }
#content.page-cms .cms-kontakt .btn {
  margin-top: .8em;
  text-decoration: none;
}
/* Zarovnání doleva: `theme.css` dává `.page-content.page-cms` justify,
   které v úzkých sloupcích O nás (i v delších řádcích VOP) trhalo mezery
   mezi slovy. `#content.page-cms` má vyšší specificitu. */
#content.page-cms { text-align: left; }
/* Odrážky s fajfkou. Obsah nese `<em class="icon-ok">` z výchozího tématu
   Presty, ta ikona v nuveo neexistuje (FA 4.7) — kreslil se prostý puntík.
   Fajfka jde z CSS, obsah stránky se kvůli ní nepřepisuje. */
#content.page-cms ul.list-1 {
  list-style: none;
  padding-left: 0;
}
/* Obyčejné odrážky (Zásady GDPR…): `theme.css` má `.page-content.page-cms ul
   { list-style: disc inside }`, takže zalomený řádek podtékal pod puntík.
   Puntík ven + odsazení = text zarovnaný pod textem (Petr 2026-09-24). */
#content.page-cms ul:not(.list-1) {
  list-style-position: outside;
  padding-left: 1.3em;
}
#content.page-cms ul.list-1 li {
  position: relative;
  padding-left: 1.7em;
}
#content.page-cms ul.list-1 li::before {
  content: "\f00c";
  font-family: FontAwesome;
  position: absolute;
  left: 0;
  top: 0;
  color: var(--mh-blue);
}

/* Odkazy v textu souhlasu (psgdpr): label checkboxu je tučný a téma dává
   odkazu stejnou šedou bez podtržení, takže „obchodní podmínky" a „zásady"
   nešly poznat jako odkaz (2026-09-25). #customer-form = registrace, úprava
   účtu i údaje v pokladně; .psgdpr_consent_message = souhlasy u newsletteru,
   kontaktu a hlídání zboží. */
#customer-form .custom-checkbox label a,
.psgdpr_consent_message a {
  color: var(--mh-blue);
  text-decoration: underline;
  text-underline-offset: 2px;
}
#customer-form .custom-checkbox label a:hover,
.psgdpr_consent_message a:hover {
  color: var(--mh-blue-dark);
}

/* Adresa v pokladně (Petr 2026-09-25: „moc nalepeno"). `.address` sedí v šabloně
   uvnitř `<header class="h4">` a téma jí dává `line-height: inherit`, takže
   dědí nadpisových 1,1 (14 px písmo na 15,4 px řádku). */
body#checkout section.checkout-step .address {
  line-height: 1.5;
}

/* Rozbalovací košík v hlavičce na PC (Petr 2026-09-25: „moc úzké, nečitelné").
   Téma: `min-width: 270px`, obrázek 33 %, text 64 %. Při 400 px by obrázek narostl
   na 132 px, proto pevných 90 px. Křížek sedí ve vnořené bootstrapové mřížce
   sloupce `-right` a sám se nepohne, proto je ukotvený absolutně.
   `z-index` 20: štítky „NOVÉ" ve výpisu mají 9 a prosvítaly přes košík (téma 6). */
@media (min-width: 992px) {
  #header .cart-summary {
    min-width: 400px;
    z-index: 20;
  }
  #header .cart-summary .cart-item .product-line-grid-left {
    width: 90px;
  }
  #header .cart-summary .cart-item .product-line-grid-body {
    width: calc(100% - 90px);
    padding-right: 56px;
  }
  #header .cart-summary .cart-item .product-line-grid-right {
    width: auto;
    padding: 0;
    right: 14px;
  }
  #header .cart-summary .cart-item .remove-from-cart {
    position: absolute;
    top: 0;
    right: 0;
  }
}

/* ==== Původní obsah custom.css od výrobce tématu ==== */

/* hide firstname and lastname alerts in checkout form */
#customer-form input[name="firstname"]+span.form-control-comment, #customer-form input[name="lastname"]+span.form-control-comment {
    display: none;
}
/* fix for Chrome image rendering */
img {
 image-rendering: -webkit-optimize-contrast;
}
