/* doktormoto – nákupní proces, mobilní vlna 2 (11/2026): styly pro VŠECHNY šířky, jen změny výslovně povolené
   i na počítači (zadání body 2, 4, 5, 6, 7, 8, 9, 12): chyby formuláře, doprava a platba jako přepínač, sbalená pole,
   doprava zdarma, finální kontrola (zpět, kontakt, souhlas), potvrzení přidání do košíku, přihlášení v košíku.
   Úpravy pro telefon jsou v css/drmoto-mobil-v6.css (jen @media). Statický soubor mimo less.
   v2 = vlna 5b (i na počítači podle zadání bodů 2, 4, 5, 6): filtr kategorií dílů jako strom, finální kontrola ve třech
   blocích, klidné poznámky, souhlasy, pole země pro prohlížeč, QR platba a Kopírovat na stránce dokončení.
   v3 = vlna 5c: oprava stromu filtru dílů na počítači (zrušený float/šířka labelu z inline stylu, sloupce, nadpisy podle
   úrovně, tlačítka i nahoře); jinak beze změny proti v2.
   v4 = vlna 6: filtr dílů na počítači opravdu ve třech sloupcích (užší sloupec, menší mezera, text 12 px); formulář filtru
   při vypnutém přepínači „Skrýt / Zobrazit kategorie dílů“ na počítači skrytý (stránka ho posílá kvůli telefonu);
   jinak beze změny proti v3.
   Při změně souboru zvyšte číslo verze v názvu (styly mají v prohlížeči platnost 1 rok). */

/* ---------- 4. chyby formuláře: červeně u pole, pole zvýrazněné ---------- */
.form-error-msg, #d-doprava-chyba, #d-souhlas-chyba { display: block; margin: 2px 0 4px; color: #c00000; font-size: 13px;
  font-weight: bold; line-height: 1.35; white-space: pre-line; }
#d-doprava-chyba { margin: 0 0 10px; padding: 8px 10px; border: 1px solid #c00000; background: #fff4f4; }
.form-error input, .form-error select, .form-error textarea { border-color: #c00000 !important; background-color: #fff4f4 !important;
  -webkit-box-shadow: 0 0 0 1px #c00000; box-shadow: 0 0 0 1px #c00000; }

/* ---------- 5. doprava a platba: vzhled přepínače, celý řádek klikací (pole jsou dál zaškrtávací políčka) ---------- */
#binds .shipping-item { cursor: pointer; }
#binds .shipping-item > input[type=checkbox] { -webkit-appearance: none; -moz-appearance: none; appearance: none;
  width: 18px; height: 18px; margin: 1px 8px 0 0; padding: 0; border: 2px solid #777; border-radius: 50%; background: #fff;
  vertical-align: middle; cursor: pointer; -webkit-box-sizing: border-box; box-sizing: border-box; }
#binds .shipping-item > input[type=checkbox]:checked { border-color: #af0303; background: #fff;
  -webkit-box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 10px #af0303; box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 10px #af0303; }
#binds .shipping-item > input[type=checkbox]:focus { outline: 2px solid #face09; outline-offset: 1px; }
#binds .shipping-item > input[type=checkbox]:disabled { opacity: .35; cursor: default; }
#binds .shipping-item.d-nelze { cursor: default; }
#binds .shipping-item.d-nelze label { opacity: .55; }
#binds .shipping-item label { cursor: pointer; }

/* ---------- 6. sbalená pole (kupón, vzkaz, firemní údaje) – sbaluje je až skript ---------- */
.d-sbaleno { display: none !important; }
.d-sbal { margin: 8px 0; }
a.d-sbal-odkaz { display: inline-block; padding: 4px 0; font-weight: bold; text-decoration: underline; cursor: pointer; }
a.d-sbal-odkaz:before { content: "+ "; }

/* ---------- 8. doprava zdarma v košíku ---------- */
.d-doprava-zdarma { margin: 0 0 15px; padding: 8px 12px; border: 1px solid #d9d9d9; background: #f6f6f6; color: #333;
  font-size: 14px; line-height: 1.4; }
.d-doprava-zdarma.d-zdarma { border-color: #9fc78a; background: #f1f8ec; color: #2e6b12; font-weight: bold; }

/* ---------- 12. přihlášení v košíku ---------- */
.d-kosik-prihlaseni { margin: -4px 0 12px; font-size: 14px; }
.d-kosik-prihlaseni a { font-weight: bold; text-decoration: underline; }

/* ---------- 7. finální kontrola: zpět, souhlas ---------- */
.confirm-page a.d-zpet { margin-right: 10px; vertical-align: middle; }
.confirm-page .souhlas label { display: inline; margin: 0; font-size: inherit; font-weight: inherit; line-height: inherit; cursor: pointer; }
.confirm-page .souhlas.d-chyba { color: #c00000; }
.confirm-page .souhlas.d-chyba input { outline: 2px solid #c00000; outline-offset: 1px; }
#d-souhlas-chyba { text-align: inherit; }

/* ---------- 9. potvrzení přidání do košíku (neblokující, vytváří js/drmoto-mobil-v3.js) ---------- */
.m-toast { position: fixed; left: 50%; bottom: 20px; z-index: 1001; max-width: 90%; padding: 12px 18px;
  -webkit-transform: translate(-50%, 20px); transform: translate(-50%, 20px); opacity: 0; visibility: hidden;
  -webkit-transition: opacity .2s, visibility .2s, -webkit-transform .2s; transition: opacity .2s, visibility .2s, transform .2s;
  background: #1a1a18; color: #fff; border-radius: 6px; font: bold 15px/1.3 'Roboto', sans-serif; text-align: center;
  -webkit-box-shadow: 0 2px 10px rgba(0,0,0,.4); box-shadow: 0 2px 10px rgba(0,0,0,.4); }
.m-toast.m-toast-vidim { opacity: 1; visibility: visible; -webkit-transform: translate(-50%, 0); transform: translate(-50%, 0); }
.m-toast a { display: inline-block; margin-left: 8px; padding: 4px 0; color: #face09; text-decoration: underline; white-space: nowrap; }
.m-toast a:hover, .m-toast a:focus { color: #fff; }

/* ---------- v2 / vlna 5b: filtr kategorií dílů (strom: skupiny jako nadpisy, „ostatní“ = zboží přímo ve skupině) ---------- */
.d-filtr-otevrit { display: none; }
.d-filtr-strom ul { margin: 0; padding: 0; list-style: none; }
.d-filtr-strom > ul { -webkit-columns: 3 220px; -moz-columns: 3 220px; columns: 3 220px; -webkit-column-gap: 28px; column-gap: 28px; }
/* v3 / vlna 5c: sloupce smí dělit skupinu 1. úrovně mezi jejími skupinami 2. úrovně; nedělí se blok „nadpis 1. úrovně + první
   podpoložka“ (.d-filtr-blok), skupina 2. a nižší úrovně ani položka (dřív nedělitelná celá skupina 1. úrovně → jeden dlouhý sloupec) */
.d-filtr-strom > ul > li { margin: 0 0 14px; }
.d-filtr-strom .d-filtr-blok, .d-filtr-strom li li, .d-filtr-strom > ul > li.d-filtr-polozka {
  -webkit-column-break-inside: avoid; page-break-inside: avoid; break-inside: avoid; }
.d-filtr-strom li { list-style: none; }
.d-filtr-strom ul ul { padding-left: 14px; }
.d-filtr-strom .d-filtr-nadpis { display: block; margin: 4px 0 2px; font-weight: bold; }
.d-filtr-strom label { display: block; margin: 0; padding: 2px 0; font-weight: normal; cursor: pointer; }
.d-filtr-strom input[type=checkbox] { margin: 0 6px 0 0; vertical-align: middle; }
.d-filtr-strom .d-filtr-ostatni label { font-style: italic; }
.d-filtr-tlacitka { margin: 10px 0 0; }
.d-filtr-tlacitka .btn, .d-filtr-tlacitka input[type=submit] { margin: 0 8px 0 0; vertical-align: middle; }
.d-filtr-prazdny p { margin: 0 0 10px; }
/* v3 / vlna 5c: inline styl v layout-shop/shopIndex.php dává každému label ve filtru float:left, width:110px, font-size:10px
   a text-indent:-20px (pro starý plochý seznam) → strom se rozsypal (li výšky 0, zaškrtávátka vedle sebe). Zrušeno pro strom
   při všech šířkách (telefon to už přebíjel přes !important, text-indent ne); id kvůli síle proti inline stylu bez !important. */
#filter_categories .d-filtr-strom label { float: none; width: auto; text-indent: 0; }
#filter_categories .d-filtr-tlacitka-nahore { display: none; }          /* tlačítka u titulku jen na počítači (níže) */

/* v3 / vlna 5c: filtr dílů na počítači – nadpisy podle úrovně, položky odsazené, zaškrtávátko a text na jednom řádku
   (dlouhý text se zalomí pod sebe, ne pod zaškrtávátko), Zobrazit / Zrušit i nahoře u titulku. Jen #filter_categories. */
@media screen and (min-width: 960px) {
  #filter_categories .categories-filter > .title { display: inline-block; margin: 0 14px 0 0; font-size: 15px; line-height: 30px; vertical-align: middle; }
  #filter_categories .d-filtr-tlacitka-nahore { display: inline-block; margin: 0; vertical-align: middle; }
  #filter_categories .d-filtr-tlacitka input[type=submit] { float: none; }
  #filter_categories .d-filtr-strom { padding: 14px 0 0; }
  #filter_categories .d-filtr-strom label { display: flex; align-items: flex-start; margin: 0; padding: 2px 0; font-size: 13px; line-height: 1.35; }
  #filter_categories .d-filtr-strom input[type=checkbox] { flex: 0 0 auto; margin: 2px 6px 0 0; }
  #filter_categories .d-filtr-strom .d-filtr-text { flex: 1 1 auto; min-width: 0; }
  #filter_categories .d-filtr-strom .d-filtr-nadpis-1 { margin: 0 0 4px; padding: 0 0 3px; border-bottom: 1px solid #ccc; font-size: 15px; line-height: 1.3; }
  #filter_categories .d-filtr-strom .d-filtr-nadpis-2 { margin: 8px 0 2px; font-size: 13px; line-height: 1.3; }
  #filter_categories .d-filtr-strom .d-filtr-nadpis-3,
  #filter_categories .d-filtr-strom .d-filtr-nadpis-4 { margin: 6px 0 1px; color: #444; font-size: 12px; line-height: 1.3; }
  #filter_categories .d-filtr-strom .d-filtr-blok > ul > li:first-child > .d-filtr-nadpis-2 { margin-top: 4px; }
  /* v4 / vlna 6: opravdu 3 sloupce – dřív „columns: 3 220px“ s mezerou 28 px pustilo v šířce obsahu 705 px jen dva
     sloupce (3 × 220 + 2 × 28 = 716 px); teď pevně 3 sloupce (≈ 224 px) s mezerou 16 px, menší písmo a odsazení úrovní.
     Dělení sloupců z 5c beze změny (.d-filtr-blok a skupiny 2.+ úrovně se nedělí). */
  #filter_categories .d-filtr-strom > ul { -webkit-columns: 3; -moz-columns: 3; columns: 3; -webkit-column-width: auto;
    -moz-column-width: auto; column-width: auto; -webkit-column-gap: 16px; -moz-column-gap: 16px; column-gap: 16px; }
  #filter_categories .d-filtr-strom > ul > li { margin: 0 0 10px; }
  #filter_categories .d-filtr-strom ul ul { padding-left: 10px; }
  #filter_categories .d-filtr-strom label { padding: 1px 0; font-size: 12px; line-height: 1.3; }
  #filter_categories .d-filtr-strom input[type=checkbox] { margin: 1px 5px 0 0; }
  #filter_categories .d-filtr-strom .d-filtr-nadpis-1 { font-size: 14px; }
  #filter_categories .d-filtr-strom .d-filtr-nadpis-2 { margin: 6px 0 1px; font-size: 12.5px; }
  #filter_categories .d-filtr-strom .d-filtr-nadpis-3,
  #filter_categories .d-filtr-strom .d-filtr-nadpis-4 { margin: 5px 0 1px; font-size: 12px; }
  /* v4 / vlna 6: přepínač „Zobrazit kategorie dílů“ vypnutý → na počítači filtr skrytý jako dřív (formulář je ve stránce
     kvůli telefonu, kde přepínač není a filtr je vždy pod „Upřesnit výběr“) */
  #filter_categories.d-filtr-jen-telefon { display: none; }
}

/* ---------- v2 / vlna 5b: košík – text u odběru novinek klikací, beze změny vzhledu ---------- */
.note_orders label { display: inline; margin: 0; font: inherit; color: inherit; cursor: pointer; }
/* země pro předvyplnění prohlížečem (bez name, neodesílá se) – neviditelné, mimo tok stránky */
input.d-zeme-pro-prohlizec { position: absolute !important; width: 1px !important; height: 1px !important; margin: 0 !important;
  padding: 0 !important; border: 0 !important; opacity: 0; overflow: hidden; pointer-events: none; }

/* ---------- v2 / vlna 5b: finální kontrola ve třech blocích ---------- */
.confirm-page .d-blok { margin: 0 0 20px; }
.confirm-page h2.d-blok-nadpis { margin: 0 0 8px; padding: 0 0 4px; border-bottom: 1px solid #ccc; font-size: 18px; line-height: 1.3; }
.confirm-page table.d-doprava-platba th { width: 22%; text-align: left; font-weight: bold; vertical-align: top; }
.confirm-page table.d-doprava-platba td.d-castka { width: 28%; text-align: right; white-space: nowrap; vertical-align: top; }
.confirm-page .d-zdarma-cena { font-weight: bold; color: #2e6b12; }
.confirm-page .d-souhrn { max-width: 460px; margin: 0 0 12px auto; }
.confirm-page .d-souhrn #total_price { font-size: 20px; }
.confirm-page .d-dokonceni { max-width: 640px; margin: 0 0 0 auto; text-align: left; }
.confirm-page p.d-poznamka { margin: 0 0 8px; padding: 8px 10px; border-left: 3px solid #ccc; background: #f6f6f6; color: #333;
  font-size: 13px; font-weight: normal; line-height: 1.45; }
.confirm-page .souhlas { margin: 8px 0; }
.confirm-page .souhlas label { display: -webkit-box; display: flex; -webkit-box-align: start; align-items: flex-start; cursor: pointer; }
.confirm-page .souhlas label > span { -webkit-box-flex: 1; flex: 1 1 auto; min-width: 0; }
.confirm-page .souhlas input[type=checkbox] { -webkit-box-flex: 0; flex: 0 0 auto; margin: 2px 8px 0 0; }
.confirm-page .d-tlacitka { margin: 14px 0 0; }
.confirm-page .d-tlacitka a.d-zpet { margin: 0 0 0 10px; }

/* ---------- v2 / vlna 5b: dokončení – Kopírovat a QR platba ---------- */
button.d-kopirovat { margin: 0 0 0 6px; padding: 1px 8px; border: 1px solid #aaa; border-radius: 3px; background: #fff; color: #333;
  font-size: 12px; line-height: 1.5; vertical-align: middle; cursor: pointer; }
button.d-kopirovat.d-zkopirovano { border-color: #9fc78a; background: #f1f8ec; color: #2e6b12; }
.d-qr-platba { margin: 12px 0 0; }
.d-qr-platba img { display: block; width: 180px; height: auto; image-rendering: pixelated; }
.d-qr-platba p { margin: 4px 0 0; font-size: 14px; }
