/* doktormoto – zobrazení na úzké obrazovce, vlna 1 (11/2026), v2 = opravy po kontrole na telefonu
   (přichycená lišta, potvrzení přidání do košíku, dotyková šipka menu, dlaždice podkategorií, tlačítko cookies),
   v3 = vlna 2: košík (karty), doprava a platba, údaje zákazníka, finální kontrola, dokončení, přihlášení a registrace,
   v hlavičce Přihlásit se / Můj účet místo Registrace.
   v4 = vlna 3 (karta položky v košíku), v5 = vlna 5b: krátké kroky objednávky, filtr kategorií dílů (sbalený, jeden
   sloupec, Zobrazit/Zrušit), košík (nadpisy oddílů, zaškrtávátka, +/− u množství), finální kontrola ve třech blocích,
   dlaždice podkategorií zarovnané vlevo, QR platba a Kopírovat na stránce dokončení.
   v6 = vlna 6: filtr kategorií dílů bez tlačítka „Skrýt / Zobrazit kategorie dílů“ (zůstává jen „Upřesnit výběr“),
   hustší řádky (≈ 33 px, zaškrtávátko 20 px, bez linek), menší mezery nad nadpisy, Zobrazit / Zrušit přichycené dole.
   Statický soubor mimo less. VŠECHNA pravidla jsou uvnitř @media pro úzkou obrazovku (max. 959 px),
   na počítači se nic nemění. Styly nákupu pro všechny šířky (chyby, přepínač dopravy, potvrzení přidání…)
   jsou v css/drmoto-nakup-v4.css.
   Při změně souboru zvyšte číslo verze v názvu (styly mají v prohlížeči platnost 1 rok). */

@media screen and (max-width: 959px) {

  /* ---------- základ ---------- */
  html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  /* skok na kotvu (např. #kosik) nesmí skončit pod přichycenou lištou */
  html { scroll-padding-top: 60px; }
  .main_container { width: auto !important; max-width: 100%; margin: 0 !important; }
  body:not(.shop_cart):not(.shop_order_confirm):not(.shop_order_finish) { font-size: 14px; line-height: 1.4; }

  /* ---------- hlavička ---------- */
  #header { position: relative; padding: 0 10px 8px; }
  #header .sp4, #header .sp8 { width: 100% !important; float: none !important; }
  #header #logo { margin: 8px 0 6px !important; height: 48px; width: auto; }
  #header .fb_cloud { position: static !important; background-image: none; display: flex; flex-direction: column; }
  #header .fb_connect { display: none; }

  /* jazyk a měna: vpravo nahoře vedle loga */
  #header #language { position: absolute; top: 12px; right: 6px; }
  #header #language a { display: inline-block; margin: 0; padding: 10px 5px; line-height: 0; }

  /* hledání + registrace v jednom řádku */
  #header .header_bottom_slot { order: 1; display: flex; align-items: stretch; padding-top: 0 !important; }
  #header .header_bottom_slot .clear { display: none; }
  #header #search { flex: 1 1 auto; min-width: 0; width: auto !important; height: auto !important;
    float: none !important; margin: 0 !important; }
  #header #search .input-append { display: flex; width: auto !important; margin: 0; }
  #header #search .input-append input { flex: 1 1 auto; float: none; min-width: 0; width: auto !important;
    height: 40px; line-height: normal; margin: 2px; font-size: 16px !important;
    -webkit-box-sizing: border-box; box-sizing: border-box; }
  #header #search .input-append button { flex: 0 0 auto; float: none; width: auto; height: 44px;
    padding: 0 12px; font-size: 14px; }
  #header #reg_button { flex: 0 0 auto; float: none !important; width: auto; height: auto; margin-left: 6px; }
  #header #reg_button a { width: auto; height: 44px; line-height: 44px; padding: 0 10px; font-size: 13px; }
  /* v3: na telefonu místo Registrace tlačítko Přihlásit se / Můj účet (a.m-ucet v head.php, na počítači skryté);
     Registrace je v Menu (customerBox.php), přihlášení a Zaslat heslo z Menu zmizí */
  #header #reg_button a:not(.m-ucet) { display: none !important; }
  #header #reg_button a.m-ucet { display: block !important; white-space: nowrap; }
  #header #top_menu #login .m-skryt { display: none !important; }
  #header #top_menu #login .m-jen { display: block !important; }

  /* lišta Menu + Košík (prvek .m-bar-misto > .m-bar je v head.php, na počítači skrytý inline stylem).
     .m-bar-misto drží v hlavičce místo; po odjetí stránky přidá js/drmoto-mobil-v3.js třídu m-stuck a lišta
     se přichytí nahoru (position: fixed – sticky nejde, lišta je vnořená v hlavičce). Nezávisí na pruhu kopie. */
  #header .m-bar-misto { order: 2; display: block !important; height: 44px; margin-top: 8px; }
  #header .m-bar { display: flex !important; height: 44px; }
  #header .m-bar-misto.m-stuck .m-bar { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; height: auto;
    padding: 4px 10px; background: #fff; -webkit-box-shadow: 0 2px 6px rgba(0,0,0,.35); box-shadow: 0 2px 6px rgba(0,0,0,.35); }
  #header .m-bar.m-blik .m-cart { -webkit-animation: m-blik 1.5s ease-out; animation: m-blik 1.5s ease-out; }
  @-webkit-keyframes m-blik { 0%, 40% { background-color: #e8a800; color: #1a1a18; } 100% { background-color: #af0303; color: #fff; } }
  @keyframes m-blik { 0%, 40% { background-color: #e8a800; color: #1a1a18; } 100% { background-color: #af0303; color: #fff; } }
  /* potvrzení přidání do košíku (.m-toast) je od v3 v css/drmoto-nakup-v1.css (všechny šířky) */
  .m-toast { left: 10px; right: 10px; max-width: none; -webkit-transform: translate(0, 20px); transform: translate(0, 20px); }
  .m-toast.m-toast-vidim { -webkit-transform: translate(0, 0); transform: translate(0, 0); }
  .m-toast a { padding: 10px 4px; margin: -6px 0 -10px 6px; }
  #header .m-menu-btn { flex: 0 0 auto; height: 44px; padding: 0 16px; margin: 0; border: 0; border-radius: 0;
    background: #1a1a18; color: #fff; font: bold 15px/44px 'Roboto', sans-serif; cursor: pointer; }
  #header .m-menu-btn .m-ico { font-size: 18px; margin-right: 4px; }
  #header .m-cart { flex: 1 1 auto; min-width: 0; margin-left: 6px; height: 44px; line-height: 44px;
    padding: 0 12px; background: #af0303; color: #fff; font-size: 15px; font-weight: bold;
    text-align: right; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  #header .m-cart-pocet { display: inline-block; min-width: 22px; height: 22px; line-height: 22px; margin: 0 4px;
    padding: 0 4px; border-radius: 11px; background: #fff; color: #af0303; text-align: center; font-size: 13px;
    -webkit-box-sizing: border-box; box-sizing: border-box; }
  #header .m-cart .final_price, #header .m-cart .prefered { display: inline; }
  #header .m-cart .shopping_cart_price_first_suffix, #header .m-cart .shopping_cart_price_title { display: none; }

  /* horní menu a přihlášení: jen v rozbaleném menu */
  #header .fb_cloud > .sp12:not(.header_bottom_slot) { order: 3; display: none; margin-top: 6px; }
  .main_container.m-open #header .fb_cloud > .sp12:not(.header_bottom_slot) { display: block; }
  #header #top_menu { float: none; width: auto; height: auto; padding: 0 10px; background: #1a1a18; }
  #header #top_menu .top_menu1 { padding-top: 0; }
  #header #top_menu .top_menu1 li, #header #top_menu #login li { display: block; float: none; }
  #header #top_menu .top_menu1 li a { height: auto; line-height: 20px; padding: 12px 0 12px 14px;
    background-position: left 17px; font-size: 14px; }
  #header #top_menu #login { padding: 0; }
  #header #top_menu .customer-box .custom_box { height: auto; margin: 0; }
  #header #top_menu .customer-box .custom_box li a, #header #top_menu #login a,
  #header #top_menu #login .usermenu { display: block; height: auto; line-height: 20px; margin: 0; padding: 12px 0; font-size: 14px; }

  /* ---------- levý panel = sbalitelné menu ---------- */
  .main_container:not(.m-open) .sidebox { display: none !important; }
  .main_container.m-open #slider { display: none; }
  .sidebox { width: auto !important; float: none !important; min-height: 0 !important; padding: 8px 10px 0 !important; }
  .sidebox #left_cart_holder { display: none; }   /* košík je v liště nahoře */
  .sidebox .widgetMenu .body ul li a { padding-top: 11px; padding-bottom: 11px; font-size: 14px; }
  .sidebox .widgetMenu .body ul li .caret { top: 12px; }
  /* žlutá šipka = dotyková plocha 44 px (celá výška řádku) vpravo; klik na ni obsluhuje původní js/jquery/ajax_menu.js
     (delegovaně na span.caret – rozbalí/sbalí, dočte potomky). Šipka se kreslí pseudo-prvkem uprostřed plochy. */
  .sidebox .widgetMenu .body li.has-children > a.item { padding-right: 52px; }
  .sidebox .widgetMenu .body li.has-children > a.item > span.caret { display: block !important; position: absolute;
    top: 0; right: 0; width: 48px; height: 44px; margin: 0; padding: 0; border: 0 !important; background: transparent;
    cursor: pointer; -webkit-tap-highlight-color: rgba(250,206,9,.3); }
  .sidebox .widgetMenu .body li.has-children > a.item > span.caret:after { content: ""; position: absolute; top: 50%; left: 50%;
    margin: -3px 0 0 -6px; width: 0; height: 0; border-top: 6px solid #face09; border-right: 6px solid transparent;
    border-left: 6px solid transparent; border-bottom: 0; }
  .sidebox .widgetMenu .body li.has-children.open > a.item > span.caret:after { border-top: 0; border-bottom: 6px solid #face09; }
  .sidebox .widgetPsyoSlot .body { padding-left: 15px; padding-right: 15px; }

  /* ---------- obsah a patička ---------- */
  #shop_content { padding: 0 0 15px !important; margin: 0 !important; }
  .shop_content { width: auto !important; float: none !important; padding: 10px 10px 0 !important; }
  .footer { padding: 15px 10px; }
  .footer .footer-left, .footer .footer-right { float: none !important; width: auto !important; padding: 0 !important; text-align: left; }
  /* „Nastavení cookies“: plovoucí tlačítko (cookieconsent.css, position: fixed vlevo dole) překrývalo Koupit a karty –
     na úzké obrazovce je to proužek na konci stránky pod patičkou (odkaz je poslední prvek body), funkce beze změny */
  body #cc-show-preferences { position: static !important; display: block !important; margin: 0 !important;
    padding: 12px 10px !important; border-radius: 0 !important; background: #2a2a2a !important; color: #ddd !important;
    font-size: 13px !important; text-align: center; text-decoration: underline; }

  /* ---------- v3: košík, objednávka, dokončení (vlna 2) ---------- */
  body.shop_cart, body.shop_order_confirm, body.shop_order_finish { font-size: 14px; line-height: 1.4; }
  body.shop_cart .shop_content, body.shop_order_confirm .shop_content, body.shop_order_finish .shop_content {
    overflow-wrap: break-word; word-wrap: break-word; }
  body.shop_cart .shop_content *, body.shop_order_confirm .shop_content *, body.shop_order_finish .shop_content * {
    -webkit-box-sizing: border-box; box-sizing: border-box; }
  body.shop_cart .shop-page, body.shop_cart .shop-page-top, body.shop_cart .shop-page-bottom,
  body.shop_cart #shopCart, body.shop_cart .page-content { width: auto !important; padding-left: 0 !important; padding-right: 0 !important;
    margin-left: 0 !important; margin-right: 0 !important; }
  body.shop_cart .shop_content h1, body.shop_order_confirm .shop_content h1, body.shop_order_finish .shop_content h1 {
    font-size: 20px !important; line-height: 1.25; margin: 8px 0 10px !important; }
  body.shop_cart .shop_content h2, body.shop_order_confirm .shop_content h2 { font-size: 18px !important; line-height: 1.25; margin: 14px 0 8px !important; }
  body.shop_cart .shop_content h3 { font-size: 16px !important; margin: 0 !important; }

  /* kroky objednávky: tři stejně vysoké kroky v řádku, krátký text z data-kratky (v5: dlouhý se lámal a vytékal –
     ul měl z drmoto.css pevnou výšku 20 px) */
  .order-steps ul { display: flex; align-items: stretch; height: auto !important; margin: 0 0 10px !important; padding: 0; border: 0 !important; }
  .order-steps li { display: flex; align-items: center; justify-content: center; flex: 1 1 0; min-width: 0; width: auto !important;
    float: none !important; margin: 0 4px 0 0 !important; padding: 0 !important; min-height: 36px; height: auto !important;
    border: 1px solid #ccc; font-size: 13px !important; line-height: 1.2 !important; text-align: center; overflow: hidden; }
  .order-steps li:last-child { margin-right: 0 !important; }
  .order-steps li.active { font-weight: bold; border-color: #8f8b8b; }
  .order-steps li > a, .order-steps li > span { display: flex; align-items: center; justify-content: center; align-self: stretch;
    width: 100%; padding: 6px 4px; overflow-wrap: break-word; word-wrap: break-word; }
  .order-steps .d-krok-dlouhy { display: none; }
  .order-steps [data-kratky]:before { content: attr(data-kratky); }
  /* „3. Dokončení“ na kroku 2 je na počítači odkaz, který objednávku dokončí bez souhlasu s podmínkami – na telefonu jen text */
  .order-steps li.finish-order-step > a { pointer-events: none; color: inherit; text-decoration: none; }

  /* položky košíku jako karty: název s obrázkem + odebrat, pod tím množství, cena za kus, celkem */
  body.shop_cart .cartList, body.shop_cart .cartList table, body.shop_cart .cartList tbody { display: block; width: 100% !important; }
  body.shop_cart .cartList thead { display: none; }
  body.shop_cart .cartList tr.bodyrow { display: flex; flex-wrap: wrap; align-items: flex-start; margin: 0 0 8px; padding: 10px;
    border: 1px solid #ddd; border-radius: 4px; background: #fff; }
  body.shop_cart .cartList tr.bodyrow > th, body.shop_cart .cartList tr.bodyrow > td { display: block; float: none; border: 0 !important;
    padding: 0 !important; background: none; text-align: left !important; width: auto !important; }
  /* vlna 3: nazev + obrazek pres celou sirku karty vedle odebrat (driv flex-basis 0 -> vse na 1 radku, nazev ~40 px) */
  body.shop_cart .cartList tr.bodyrow > th { order: 1; flex: 0 0 calc(100% - 44px); max-width: calc(100% - 44px); min-width: 0;
    font-size: 15px; line-height: 1.35; font-weight: normal; overflow-wrap: break-word; word-wrap: break-word; }
  body.shop_cart .cartList tr.bodyrow > th .prod_name { display: block; overflow: hidden; }
  body.shop_cart .cartList tr.bodyrow > th img { float: left; width: 44px; height: 44px; margin: 0 10px 4px 0; -o-object-fit: contain; object-fit: contain; }
  body.shop_cart .cartList tr.bodyrow > th .prod_name a { font-weight: bold; }
  body.shop_cart .cartList tr.bodyrow > td.delete { order: 2; flex: 0 0 44px; text-align: right !important; }
  body.shop_cart .cartList tr.bodyrow > td.delete img { display: block; width: 44px; height: 44px; padding: 14px; margin: -10px -10px 0 0;
    -webkit-box-sizing: border-box; box-sizing: border-box; }
  body.shop_cart .cartList tr.bodyrow > td.d-mnozstvi { order: 3; flex: 0 0 76px; margin-top: 8px; }
  body.shop_cart .cartList tr.bodyrow > td.d-cena { order: 4; flex: 1 1 0; min-width: 0; margin-top: 8px; padding-left: 8px !important; }
  body.shop_cart .cartList tr.bodyrow > td.d-celkem { order: 5; flex: 1 1 0; min-width: 0; margin-top: 8px; text-align: right !important; font-weight: bold; }
  body.shop_cart .cartList td[data-label]:before { content: attr(data-label); display: block; margin-bottom: 2px; color: #666;
    font-size: 12px; font-weight: normal; }
  body.shop_cart .cartList td.d-mnozstvi input { width: 64px !important; height: 44px !important; margin: 0; padding: 4px 6px;
    font-size: 16px !important; text-align: center; }
  /* v5: tlačítka − / + u množství (vkládá js/drmoto-mobil-v4.js), přepočet sám; Přepočítat zůstává jen bez skriptu */
  body.shop_cart .cartList tr.bodyrow > td.d-mnozstvi.d-mnozstvi-tl { flex: 0 0 auto; }
  body.shop_cart .cartList .d-mnozstvi-ovl { display: flex; align-items: stretch; }
  body.shop_cart .cartList .d-mnozstvi-ovl input { width: 48px !important; border-radius: 0; }
  body.shop_cart .cartList button.d-mn { flex: 0 0 40px; width: 40px; height: 44px; margin: 0; padding: 0; border: 1px solid #aaa;
    background: #f3f3f3; color: #333; font: bold 20px/1 Arial, sans-serif; cursor: pointer; -webkit-appearance: none; appearance: none; }
  body.shop_cart .cartList button.d-mn-mene { border-right: 0; border-radius: 4px 0 0 4px; }
  body.shop_cart .cartList button.d-mn-vice { border-left: 0; border-radius: 0 4px 4px 0; }
  body.shop_cart .cartList.d-prepocitava { opacity: .6; pointer-events: none; }
  body.shop_cart.d-auto-prepocet #cart_recalculate { display: none !important; }
  body.shop_cart .cartList .final_price, body.shop_cart .cartList .prefered { display: inline; }
  body.shop_cart .cartList [class$="_suffix"] { font-size: 11px; font-weight: normal; color: #666; }
  /* Dále vybírat zboží / Přepočítat: vedlejší tlačítka */
  body.shop_cart .cartList tr.cartNavi { display: flex; justify-content: space-between; }
  body.shop_cart .cartList tr.cartNavi td { display: block; flex: 1 1 0; padding: 0 !important; border: 0 !important; }
  body.shop_cart .cartList tr.cartNavi td + td { text-align: right; padding-left: 8px !important; }
  body.shop_cart #cart_return, body.shop_cart #cart_recalculate, body.shop_cart #shop_coupon_verify {
    display: inline-block; float: none !important; min-height: 44px; padding: 10px 12px !important; margin: 0;
    background: #fff !important; background-image: none !important; color: #333 !important; border: 1px solid #aaa !important;
    -webkit-box-shadow: none !important; box-shadow: none !important; text-shadow: none !important;
    font-size: 14px !important; font-weight: normal; line-height: 22px !important; }
  body.shop_cart .price-list { margin: 10px 0 !important; padding: 10px !important; font-size: 16px; text-align: right; }
  body.shop_cart .price-list .title { display: inline; font-weight: bold; }
  body.shop_cart .price-list .final_price, body.shop_cart .price-list .prefered { display: inline; font-size: 18px; font-weight: bold; }
  body.shop_cart .d-doprava-zdarma { font-size: 15px; }
  /* kupón */
  body.shop_cart #shop_coupon p { display: flex; flex-wrap: wrap; align-items: center; margin: 0 0 6px; }
  body.shop_cart #shop_coupon input[type=text] { flex: 1 1 140px; min-width: 0; height: 44px; margin: 4px 8px 4px 0; font-size: 16px !important; }
  body.shop_cart a.d-sbal-odkaz { padding: 11px 0; font-size: 15px; }

  /* doprava a platba pod sebou, celé řádky klikací a vysoké na prst */
  body.shop_cart .shopShipping > br { display: none; }
  body.shop_cart #binds { display: block; margin: 0; }
  body.shop_cart #binds > .sp6 { width: 100% !important; float: none !important; margin: 0 0 12px !important; padding: 0 !important; }
  body.shop_cart #binds .header { font-size: 17px; font-weight: bold; margin: 0 0 8px; padding: 8px 10px; }
  body.shop_cart #binds #shipping-country-select { display: block; width: 100% !important; max-width: 100%; height: 44px;
    margin: 0 0 8px; font-size: 16px !important; }
  body.shop_cart #binds > .shipping > br { display: none; }
  body.shop_cart #binds .shipping-item { position: relative; clear: both; min-height: 48px; margin: 0 0 6px !important;
    padding: 12px 10px 12px 42px !important; border: 1px solid #ccc; border-radius: 4px; background: #fff; overflow: hidden; }
  body.shop_cart #binds .shipping-item.d-vybrano { border-color: #af0303; -webkit-box-shadow: 0 0 0 1px #af0303; box-shadow: 0 0 0 1px #af0303; }
  body.shop_cart #binds .shipping-item > input[type=checkbox] { position: absolute; top: 13px; left: 12px; float: none !important;
    width: 22px; height: 22px; margin: 0 !important; }
  body.shop_cart #binds .shipping-item label { display: block; float: none; margin: 0; padding: 0; font-size: 15px; line-height: 1.35; }
  body.shop_cart #binds .shipping-item label .price, body.shop_cart #binds .shipping-item label b { display: block; float: none !important;
    margin: 2px 0 0 !important; font-weight: bold; }
  body.shop_cart #binds .shipping-item label > div { margin-left: 0 !important; }
  body.shop_cart #cart_total { margin: 10px 0 !important; padding: 10px !important; font-size: 16px; }
  body.shop_cart #cart_total .final_price, body.shop_cart #cart_total .prefered { font-size: 18px; font-weight: bold; }
  body.shop_cart .note_order textarea { width: 100% !important; font-size: 16px !important; }

  /* údaje zákazníka: popisek nad polem, pole přes celou šířku, 16 px (iPhone nepřibližuje) */
  body.shop_cart #customer .module-list, body.shop_cart #customer table, body.shop_cart #customer thead,
  body.shop_cart #customer tbody, body.shop_cart #customer tr, body.shop_cart #customer th, body.shop_cart #customer td {
    display: block; width: auto !important; float: none; border: 0 !important; padding-left: 0 !important; padding-right: 0 !important;
    background: none; text-align: left; }
  /* v5: šedé nadpisy oddílů s vnitřním odsazením, první popisek odsazený od nadpisu */
  body.shop_cart #customer thead td { padding: 8px 10px !important; margin: 12px 0 10px; }
  body.shop_cart #customer thead td h3 { margin: 0 !important; line-height: 1.3; }
  body.shop_cart #customer tbody tr { margin: 0 0 8px; }
  body.shop_cart #customer th { padding: 0 0 2px !important; font-size: 14px; }
  body.shop_cart #customer td { padding: 0 !important; }
  body.shop_cart #customer .input-append { display: block; margin: 0; }
  body.shop_cart #customer input[type=text], body.shop_cart #customer input[type=email], body.shop_cart #customer input[type=tel],
  body.shop_cart #customer select { display: block; width: 100% !important; max-width: 100%; height: 44px !important; margin: 0;
    padding: 6px 10px; font-size: 16px !important; line-height: normal; }
  body.shop_cart #customer input[type=checkbox], body.shop_cart .note_orders input[type=checkbox] { width: 22px; height: 22px; margin: 0 8px 0 0; vertical-align: middle; }
  /* v5: políčko a text v jedné rovině, stejné písmo (dřív jedno tučně), celý řádek klikací */
  body.shop_cart #customer label.another_adres, body.shop_cart #customer .note_orders { position: static; display: flex; align-items: center;
    flex-direction: row-reverse; justify-content: flex-end; width: 100%; height: auto; min-height: 44px; margin: 6px 0; padding: 0;
    font-size: 15px; font-weight: normal; line-height: 1.3; cursor: pointer; }
  body.shop_cart #customer .note_orders { flex-direction: row; }
  body.shop_cart #customer label.another_adres strong, body.shop_cart #customer .note_orders label {
    position: static; display: block; flex: 1 1 auto; height: auto; margin: 0; padding: 10px 0; font: inherit; font-weight: normal;
    line-height: 1.3; cursor: pointer; }
  body.shop_cart #customer label.another_adres input[type=checkbox], body.shop_cart #customer .note_orders input[type=checkbox] {
    position: static; display: block; flex: 0 0 22px; width: 22px; height: 22px; margin: 0 10px 0 0 !important; }
  body.shop_cart #customer .required_info p { font-size: 13px; }
  body.shop_cart #customer .d-sbal-radek td { padding: 0 !important; }
  /* hlavní tlačítko přes celou šířku */
  body.shop_cart #customer .align-right { text-align: center !important; margin: 14px 0 6px; }
  body.shop_cart #customer input.submit.btn-primary { display: block; width: 100%; min-height: 52px; margin: 0; padding: 12px;
    font-size: 18px !important; font-weight: bold; line-height: 1.2; white-space: normal; }

  /* finální kontrola: tabulky jako bloky pod sebou */
  body.shop_order_confirm .confirm-page, body.shop_order_confirm #shopConfirm { width: auto !important; padding: 0 !important; margin: 0 !important; }
  body.shop_order_confirm .row-fluid > .span6 { width: 100% !important; float: none !important; margin: 0 0 10px !important; }
  body.shop_order_confirm #shopConfirm table, body.shop_order_confirm #shopConfirm tbody, body.shop_order_confirm #shopConfirm tr,
  body.shop_order_confirm #shopConfirm th, body.shop_order_confirm #shopConfirm td { display: block; width: auto !important; }
  body.shop_order_confirm #shopConfirm thead { display: block; }
  body.shop_order_confirm #shopConfirm thead tr { display: flex; }
  body.shop_order_confirm #shopConfirm thead td { flex: 1 1 auto; font-weight: bold; }
  body.shop_order_confirm #shopConfirm .d-blok-polozky .module-list thead { display: none; }
  body.shop_order_confirm #shopConfirm tbody tr { display: flex; flex-wrap: wrap; padding: 8px 0; border-bottom: 1px solid #ddd; }
  body.shop_order_confirm #shopConfirm tbody th { flex: 1 1 100%; padding: 0 0 4px !important; font-size: 15px; text-align: left; }
  body.shop_order_confirm #shopConfirm tbody td { flex: 1 1 auto; padding: 0 8px 0 0 !important; border: 0 !important; text-align: left !important; }
  body.shop_order_confirm #shopConfirm tbody td[data-label]:before { content: attr(data-label) ": "; color: #666; font-size: 12px; }
  body.shop_order_confirm #shopConfirm tbody td.d-celkem { text-align: right !important; font-weight: bold; }
  body.shop_order_confirm .confirmCustomer td { line-height: 1.5; }
  body.shop_order_confirm .final_price, body.shop_order_confirm .prefered { display: inline; }
  /* v5: tři bloky pod sebou; doprava a platba jako řádky název – částka vpravo */
  body.shop_order_confirm .d-blok { margin: 0 0 16px; }
  body.shop_order_confirm .shop_content h2.d-blok-nadpis { margin: 0 0 6px !important; }
  body.shop_order_confirm #shopConfirm table.d-doprava-platba tbody tr { flex-wrap: nowrap; align-items: baseline; }
  body.shop_order_confirm #shopConfirm table.d-doprava-platba th { flex: 0 0 74px; padding: 0 8px 0 0 !important; font-size: 14px; color: #666; font-weight: normal; }
  body.shop_order_confirm #shopConfirm table.d-doprava-platba td { flex: 1 1 auto; min-width: 0; }
  body.shop_order_confirm #shopConfirm table.d-doprava-platba td.d-castka { flex: 0 0 auto; padding: 0 !important; text-align: right !important; white-space: nowrap; font-weight: bold; }
  body.shop_order_confirm #shopConfirm .d-souhrn table, body.shop_order_confirm #shopConfirm .d-souhrn tbody { display: table; width: 100% !important; }
  body.shop_order_confirm #shopConfirm .d-souhrn tbody { display: table-row-group; }
  body.shop_order_confirm #shopConfirm .d-souhrn tr { display: table-row !important; padding: 0; border: 0; }
  body.shop_order_confirm #shopConfirm .d-souhrn td { display: table-cell !important; width: auto !important; padding: 6px 0 !important; border-bottom: 1px solid #ddd !important; }
  body.shop_order_confirm #shopConfirm .d-souhrn td + td { text-align: right !important; white-space: nowrap; padding-left: 8px !important; }
  body.shop_order_confirm #shopConfirm .d-souhrn #head_title { display: none !important; }
  body.shop_order_confirm #shopConfirm .d-souhrn #total_price { font-size: 20px; }
  body.shop_order_confirm .d-poznamka { font-size: 14px; }
  /* souhlasy: text vedle políčka (nezalamuje se pod něj), celý řádek klikací */
  body.shop_order_confirm .souhlas { display: block; margin: 6px 0; font-size: 15px; line-height: 1.4; }
  body.shop_order_confirm .souhlas label { display: flex !important; align-items: flex-start; padding: 8px 0; }
  body.shop_order_confirm .souhlas label > span { flex: 1 1 auto; min-width: 0; }
  body.shop_order_confirm .souhlas input[type=checkbox] { flex: 0 0 24px; width: 24px; height: 24px; margin: -2px 10px 0 0; }
  body.shop_order_confirm .d-tlacitka { display: block; }
  body.shop_order_confirm #cart_continue { display: block; width: 100%; min-height: 52px; margin: 12px 0 10px; padding: 12px;
    font-size: 18px !important; font-weight: bold; line-height: 1.2; white-space: normal; }
  body.shop_order_confirm a.d-zpet { display: block; width: 100%; min-height: 44px; margin: 0 0 10px; padding: 11px 12px;
    font-size: 15px; text-align: center; background: #fff; background-image: none; color: #333; border: 1px solid #aaa; text-shadow: none; }

  /* dokončení */
  body.shop_order_finish .shopFinish { width: auto !important; padding: 0 !important; }
  body.shop_order_finish .shopFinish p, body.shop_order_finish .shopFinish div { max-width: 100%; }
  body.shop_order_finish .shopFinish table { width: 100% !important; }
  body.shop_order_finish .alert-cart { font-size: 14px; }
  /* v5: platební údaje, Kopírovat a QR – QR pod textem, nepřekáží (zákazník platí z téhož telefonu) */
  body.shop_order_finish .d-platba-dokonceni { font-size: 16px !important; line-height: 1.6; }
  body.shop_order_finish .platebni-udaje { overflow-wrap: anywhere; word-break: break-word; }
  body.shop_order_finish button.d-kopirovat { min-height: 36px; padding: 4px 12px; margin: 2px 0 2px 6px; font-size: 14px; }
  body.shop_order_finish .d-qr-platba { margin: 14px 0 0; text-align: center; }
  body.shop_order_finish .d-qr-platba img { width: 180px; height: auto; max-width: 70vw; margin: 0 auto; }

  /* obecné prvky obsahu (mimo košík a objednávku) */
  body:not(.shop_cart):not(.shop_order_confirm):not(.shop_order_finish) .shop_content { overflow-wrap: break-word; word-wrap: break-word; }
  body:not(.shop_cart):not(.shop_order_confirm):not(.shop_order_finish) .shop_content img { max-width: 100%; height: auto; }
  body:not(.shop_cart):not(.shop_order_confirm):not(.shop_order_finish) .shop_content table { max-width: 100%; }
  body:not(.shop_cart):not(.shop_order_confirm):not(.shop_order_finish) .shop_content td { word-wrap: break-word; }
  body:not(.shop_cart):not(.shop_order_confirm):not(.shop_order_finish) .shop_content input[type=text],
  body:not(.shop_cart):not(.shop_order_confirm):not(.shop_order_finish) .shop_content input[type=email],
  body:not(.shop_cart):not(.shop_order_confirm):not(.shop_order_finish) .shop_content input[type=password],
  body:not(.shop_cart):not(.shop_order_confirm):not(.shop_order_finish) .shop_content input[type=tel],
  body:not(.shop_cart):not(.shop_order_confirm):not(.shop_order_finish) .shop_content input[type=number],
  body:not(.shop_cart):not(.shop_order_confirm):not(.shop_order_finish) .shop_content select,
  body:not(.shop_cart):not(.shop_order_confirm):not(.shop_order_finish) .shop_content textarea {
    max-width: 100%; font-size: 16px !important; height: auto; min-height: 40px;
    -webkit-box-sizing: border-box; box-sizing: border-box; }
  body:not(.shop_cart):not(.shop_order_confirm):not(.shop_order_finish) .shop_content td > input[type=text],
  body:not(.shop_cart):not(.shop_order_confirm):not(.shop_order_finish) .shop_content td > input[type=password],
  body:not(.shop_cart):not(.shop_order_confirm):not(.shop_order_finish) .shop_content td > select { width: 100%; }
  body:not(.shop_cart):not(.shop_order_confirm):not(.shop_order_finish) .shop_content .btn,
  body:not(.shop_cart):not(.shop_order_confirm):not(.shop_order_finish) .shop_content input[type=submit] {
    min-height: 40px; padding: 8px 14px; font-size: 14px; }
  .shop_content .breadcrumb li, .shop_content .breadcrumb li a { font-size: 12px; line-height: 1.6; }

  /* ---------- úvod: slider a bannery ---------- */
  #slider { height: auto !important; margin-bottom: 8px; }
  #slider .carousel-inner > .item > img { width: 100%; height: auto; }
  #slider .slider_shadow { display: none; }
  #slider #carousel .carousel-indicators { top: auto; bottom: 6px; right: 6px; }
  #slider #carousel .carousel-indicators li { margin-left: 6px; }
  .widgetBoxAktuality .media { width: auto !important; float: none !important; padding: 0 !important; margin-bottom: 10px !important; }

  /* ---------- výpis produktů (kategorie, hledání, úvod, související) ---------- */
  .shop_content .shop_item { width: 23.8% !important; margin: 0 1.5% 8px 0 !important;
    -webkit-box-sizing: border-box; box-sizing: border-box; }
  .shop_content .shop_item:nth-child(4n) { margin-right: 0 !important; }
  /* karta o 20 px vyšší: název na 3 řádky (užší karta = víc zalomení), zbytek se ořízne místo překrytí obrázku */
  .shop_content .shop_item { height: 320px; }
  .shop_content .shop_item h2 { height: 51px; overflow: hidden; }
  .shop_content .shop-item-img { width: auto; margin: 0 5px; }
  .shop_content .shop-item-img a img { max-width: 100% !important; height: 151px; -o-object-fit: contain; object-fit: contain; }
  .shop_content .item_content .product_stock, .shop_content .item_content .product_add,
  .shop_content .item_content .product_price, .shop_content .item_content .product_code {
    width: 50%; -webkit-box-sizing: border-box; box-sizing: border-box; }
  .shop_content .item_content .product_add { height: 40px; }
  .shop_content .item_content .product_add a { background-position: center top; height: 15px; }
  .shop_content .item_content .product_price .final_price_first { white-space: nowrap; }

  /* kategorie: hledání v kategorii, podkategorie, řazení, stránkování, filtr */
  .shop-list-main > div[style*="float"] { float: none !important; margin: 4px 0 10px !important; display: flex; flex-wrap: wrap; align-items: center; }
  .shop-list-main > div[style*="float"] form { display: flex; flex-wrap: wrap; align-items: center; width: 100%; margin: 0; }
  .shop-list-main > div[style*="float"] label { width: 100%; margin-bottom: 4px; }
  .shop-list-main > div[style*="float"] input[type=text] { flex: 1 1 auto; min-width: 0; margin: 0 6px 0 0; }
  .top_product_block { height: auto !important; }
  /* podkategorie: pravidelná mřížka, všechny dlaždice stejně vysoké (grid-auto-rows: 1fr), celá dlaždice je odkaz */
  .top_product_block .subcategories ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 1fr; grid-gap: 6px; gap: 6px; margin: 0 0 10px; padding: 0; list-style: none; }
  .top_product_block .subcategories li { display: -webkit-box; display: flex; float: none; width: auto; margin: 0; padding: 0;
    border: 0; background: none; list-style: none; -webkit-box-shadow: none; box-shadow: none; }
  .top_product_block .subcategories li a { display: -webkit-box; display: flex; -webkit-box-align: center; align-items: center;
    -webkit-box-flex: 1; flex: 1 1 auto; min-width: 0; min-height: 44px; margin: 0; padding: 8px 10px;
    background: #fff; border: 1px solid #d3d1d1; border-radius: 3px; -webkit-box-shadow: none; box-shadow: none; outline-offset: -2px;
    line-height: 1.25; text-decoration: none; overflow-wrap: break-word; word-wrap: break-word;
    -webkit-box-sizing: border-box; box-sizing: border-box;
    /* v5: dlouhý (zalomený) název zarovnaný vlevo jako ostatní */
    -webkit-box-pack: start; justify-content: flex-start; text-align: left; }
  .top_product_block .sort_product { float: none; width: auto; height: auto; line-height: normal; font-size: 13px; }
  .top_product_block .sort_product ul { margin: 0; padding: 0; }
  .top_product_block .sort_product li a { display: inline-block; padding: 11px 8px; }
  .shop_content .pagination { float: none !important; width: auto !important; margin: 6px 0 10px !important; }
  .shop_content .pagination ul { float: none !important; padding-top: 0 !important; margin: 0; }
  .shop_content .pagination li { display: inline-block; margin: 0 0 6px; }
  .shop_content .pagination li a, .shop_content .pagination li span { display: inline-block; float: none;
    min-width: 40px; padding: 10px 8px !important; font-size: 14px !important; text-align: center;
    -webkit-box-sizing: border-box; box-sizing: border-box; }
  /* v5: filtr kategorií dílů – filtr sbalený pod „Upřesnit výběr“ (js/drmoto-mobil-v4.js),
     jeden sloupec, řádky na prst, dole Zobrazit + Zrušit stejně vysoké vedle sebe.
     v6: přepínač „Skrýt / Zobrazit kategorie dílů“ (odkaz ?crossfilter=0/1) na telefonu není – dělal totéž co „Upřesnit
     výběr“; stránka teď formulář filtru posílá i při vypnutém přepínači (na počítači ho pak skryje drmoto-nakup-v4.css),
     takže zapamatovaný stav filtr na telefonu nezavře. Skryté i dva <br> za odkazem. */
  .shop_content a.d-filtr-prepinac, .shop_content a.d-filtr-prepinac + br,
  .shop_content a.d-filtr-prepinac + br + br { display: none !important; }
  .shop_content button.d-filtr-otevrit { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 44px;
    margin: 0 0 8px; padding: 8px 12px; border: 1px solid #aaa; border-radius: 4px; background: #fff; color: #333;
    font-size: 15px; font-weight: bold; text-align: left; cursor: pointer; }
  .shop_content button.d-filtr-otevrit:after { content: ""; width: 0; height: 0; margin-left: 10px; border-top: 6px solid #333;
    border-right: 6px solid transparent; border-left: 6px solid transparent; }
  .shop_content button.d-filtr-otevrit[aria-expanded="true"]:after { border-top: 0; border-bottom: 6px solid #333; }
  .shop_content #filter_categories.d-filtr-sbaleny .categories-filter { display: none; }
  .shop_content #filter_categories.d-filtr-js .categories-filter > .title { display: none; }
  .shop_content .categories-filter { margin: 0 0 10px; }
  .shop_content .d-filtr-strom > ul { -webkit-columns: auto; columns: auto; }
  /* v6: hustší strom – řádek ≈ 33 px (celý label klikací), zaškrtávátko 20 px, text 15 px, bez linek mezi položkami,
     menší mezery nad nadpisy (1. úroveň 16 px tučně s linkou, 2. úroveň 14 px, 3.+ 13 px šedší), menší odsazení úrovní */
  .shop_content .d-filtr-strom label { display: flex !important; align-items: center; width: auto !important; float: none !important;
    min-height: 33px; margin: 0 !important; padding: 3px 0 !important; font-size: 15px !important; line-height: 1.25 !important;
    border-bottom: 0; -webkit-box-sizing: border-box; box-sizing: border-box; }
  .shop_content .d-filtr-strom input[type=checkbox] { flex: 0 0 20px; width: 20px; height: 20px; margin: 0 8px 0 0 !important; }
  .shop_content .d-filtr-strom > ul > li { margin: 0 0 8px; }
  .shop_content .d-filtr-strom .d-filtr-nadpis { margin: 6px 0 0; padding: 0; font-size: 14px; line-height: 1.3; }
  .shop_content .d-filtr-strom .d-filtr-nadpis-1 { margin: 2px 0 2px; padding: 4px 0 3px; border-bottom: 1px solid #ccc; font-size: 16px; }
  .shop_content .d-filtr-strom .d-filtr-nadpis-3,
  .shop_content .d-filtr-strom .d-filtr-nadpis-4 { margin: 4px 0 0; color: #444; font-size: 13px; }
  .shop_content .d-filtr-strom ul ul { padding-left: 8px; }
  .shop_content .d-filtr-tlacitka { display: flex; margin: 10px 0 0; }
  /* v6: dolní Zobrazit / Zrušit přichycené u spodního okraje obrazovky, dokud je strom vidět */
  .shop_content .categories-filter > .d-filtr-tlacitka { position: -webkit-sticky; position: sticky; bottom: 0; z-index: 2;
    margin: 6px 0 0; padding: 8px 0; background: #fff; -webkit-box-shadow: 0 -1px 0 #ddd; box-shadow: 0 -1px 0 #ddd; }
  .shop_content .d-filtr-tlacitka .btn, .shop_content .d-filtr-tlacitka input[type=submit] { flex: 1 1 0; min-height: 44px !important;
    margin: 0; padding: 8px 10px !important; font-size: 16px !important; line-height: 1.2; text-align: center; float: none !important;
    -webkit-box-sizing: border-box; box-sizing: border-box; }
  .shop_content .d-filtr-tlacitka .btn + .btn, .shop_content .d-filtr-tlacitka input + .btn { margin-left: 8px; }
  .shop_content .d-filtr-tlacitka a.d-filtr-zrusit { display: flex; align-items: center; justify-content: center;
    background: #fff; background-image: none; color: #333; border: 1px solid #aaa; text-shadow: none; -webkit-box-shadow: none; box-shadow: none; }
  .shop_content .d-filtr-prazdny .btn { min-height: 44px; padding: 10px 16px; }

  /* hledání */
  .shop_content .ShopListContent h1.pull-left, .shop_content .ShopListContent .pull-right { float: none !important; display: block; }

  /* ---------- detail produktu: obrázek, název, cena a Koupit nahoře ---------- */
  #shopDetail .detail_pager { padding-top: 0; }
  #shopDetail .detail_pager a { display: inline-block; padding-top: 10px; padding-bottom: 10px; }
  #shopDetail .detail_category { padding: 8px 12px; }
  #shopDetail .detail-description h1 { float: none !important; font-size: 20px !important; line-height: 1.25; margin: 10px 0 !important; }
  #shopDetail .addthis_sharing_toolbox { display: none !important; }
  #shopDetail .shop-detail-middle { display: flex; flex-direction: column; }
  #shopDetail .shop-detail-middle > .sp6 { width: 100% !important; float: none !important; }
  #shopDetail .shop-detail-middle > .sp6:not(.product_listing), #shopDetail .shop-detail-middle .imagesHolder { display: contents; }
  #shopDetail #mainImage { order: 1; }
  #shopDetail .shop-detail-middle > .product_listing { order: 2; }
  #shopDetail #otherImages { order: 3; margin-bottom: 10px; }
  #shopDetail #mainImage a { width: auto !important; max-width: 100%; }
  #shopDetail #mainImage a img { max-width: 100% !important; max-height: 260px !important; width: auto; height: auto; }
  #shopDetail #otherImages a { width: 23% !important; height: 64px !important; margin: 0 1.5% 8px 0 !important;
    -webkit-box-sizing: border-box; box-sizing: border-box; }
  #shopDetail #otherImages a img { max-width: 100% !important; max-height: 62px !important; }
  #shopDetail .add-to-cart { height: auto !important; line-height: 44px !important; padding-bottom: 12px; }
  #shopDetail .add-to-cart input[type=text] { width: 52px !important; height: 44px !important; line-height: normal !important;
    font-size: 16px !important; -webkit-box-sizing: border-box; box-sizing: border-box; }
  #shopDetail .add-to-cart button { height: 44px !important; line-height: 44px !important; font-size: 14px !important; }
  #shopDetail .parameter_table td { padding: 4px 0; }
  #shopDetail #productDetailDescription table { width: 100% !important; }
  #shopDetail #productDetailDescription img { max-width: 100%; height: auto; }

  /* ---------- přihlášení (v3: pole 16 px / 44 px, tlačítko přes celou šířku, odkazy na registraci a heslo) ---------- */
  #sf_guard_auth_form { width: auto !important; max-width: 400px; }
  #sf_guard_auth_form fieldset { margin: 0; padding: 0; border: 0; }
  #sf_guard_auth_form .form-row { margin: 0 0 10px; }
  #sf_guard_auth_form label { display: block; float: none; width: auto; margin: 0 0 2px; font-size: 14px; }
  #sf_guard_auth_form input[type=text], #sf_guard_auth_form input[type=email], #sf_guard_auth_form input[type=password] {
    display: block; width: 100% !important; height: 44px !important; padding: 6px 10px; font-size: 16px !important;
    -webkit-box-sizing: border-box; box-sizing: border-box; }
  #sf_guard_auth_form #sf_guard_auth_remember { display: flex; flex-direction: row-reverse; justify-content: flex-end; align-items: center; min-height: 44px; }
  #sf_guard_auth_form #sf_guard_auth_remember label { display: inline; margin: 0; }
  #sf_guard_auth_form #sf_guard_auth_remember input { width: 22px; height: 22px; margin: 0 8px 0 0; }
  #sf_guard_auth_form input[type=submit] { display: block; width: 100%; min-height: 48px; font-size: 17px !important; font-weight: bold; }
  #sf_guard_auth_form .d-signin-odkazy { display: block; margin: 14px 0 0; font-size: 15px; line-height: 1.4; }
  #sf_guard_auth_form .d-signin-odkazy a { display: inline-block; padding: 10px 0; font-weight: bold; text-decoration: underline; }

  /* ---------- registrace (formulář #customer_form): popisek nad polem, pole přes celou šířku ---------- */
  #customer_form table, #customer_form thead, #customer_form tbody, #customer_form tr, #customer_form th, #customer_form td {
    display: block; width: auto !important; float: none; padding-left: 0 !important; padding-right: 0 !important; border: 0 !important; text-align: left; }
  #customer_form tr { margin: 0 0 6px; }
  #customer_form input[type=text], #customer_form input[type=email], #customer_form input[type=tel], #customer_form input[type=password],
  #customer_form select { display: block; width: 100% !important; max-width: 100%; height: 44px !important; padding: 6px 10px;
    font-size: 16px !important; -webkit-box-sizing: border-box; box-sizing: border-box; }
  #customer_form input[type=checkbox] { width: 22px; height: 22px; vertical-align: middle; }
  #customer_form input[type=submit], #customer_form #form_submit { display: block; width: 100%; min-height: 48px; font-size: 17px !important; font-weight: bold; }
}

/* telefon (úzký): 2 produkty vedle sebe */
@media screen and (max-width: 599px) {
  .shop_content .shop_item { width: 49% !important; }
  .shop_content .shop_item:nth-child(4n) { margin-right: 1.5% !important; }
  .shop_content .shop_item:nth-child(2n) { margin-right: 0 !important; }
}

/* telefon na šířku / malý tablet: 3 produkty vedle sebe */
@media screen and (min-width: 600px) and (max-width: 799px) {
  .shop_content .shop_item { width: 32.3% !important; }
  .shop_content .shop_item:nth-child(4n) { margin-right: 1.5% !important; }
  .shop_content .shop_item:nth-child(3n) { margin-right: 0 !important; }
}

/* od 600 px: podkategorie ve 3 sloupcích */
@media screen and (min-width: 600px) and (max-width: 959px) {
  .top_product_block .subcategories ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* velmi úzký telefon */
@media screen and (max-width: 359px) {
  .shop_content .item_content .product_price .final_price_first { font-size: 13px; }
  #header #reg_button a { padding: 0 6px; font-size: 12px; }
  #header #search .input-append button { padding: 0 8px; }
}
