#btnMobilRekapitulace {
  display: none !important;
}


@media only screen and (max-width: 990px) {
  #contentMenu {
    padding: 30px 10px 50px 10px;
  }

  /* =========================================================
     1. HLAVNI KONTEJNER A NADPISY
     ========================================================= */
  #basicMenu {
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 0 10px 0 8px !important;
    padding-bottom: 70px !important;
    overflow-x: hidden !important;
  }

  #basicMenu h2 {
    font-size: 1.3rem !important;
    font-weight: 800 !important;
    color: #1c1917 !important;
    margin: 28px 0 12px 0 !important;
    padding-bottom: 6px !important;
    border-bottom: 2px solid #e7e5e4 !important;
    display: block !important;
  }

  /* =========================================================
     2. TABULKA A BEZNE RADKY
     ========================================================= */
  #basicMenu table, 
  #basicMenu tbody {
    display: block !important;
    width: 100% !important;
    border-collapse: collapse !important;
  }

  /* Bezny radek jidla (vcetne priloh ryze, brambory atd.) */
  #basicMenu tr {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid #e7e5e4 !important;
    padding: 14px 0 34px 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    position: relative !important;
  }

  /* =========================================================
     2B. POUZE CISTE ZAHLAVI MASA S PRILOHOU (NEMA VLASTNI em)
     ========================================================= */
  #basicMenu tr:not(:has(td.jidloND em)):has(+ tr td.jidloND em),
  #basicMenu tr:has(td[style*="border-bottom: none"]),
  #basicMenu tr:has(td[style*="border-bottom:none"]) {
    display: flex !important;
    padding: 14px 0 0 0 !important;
    border-bottom: none !important;
  }

  /* STAZENI MEZERY PRO ZAHLAVI MASA S PRILOHOU */
  #basicMenu tr:not(:has(td.jidloND em)):has(+ tr td.jidloND em) td:first-child,
  #basicMenu tr:has(td[style*="border-bottom: none"]) td:first-child,
  #basicMenu tr:has(td[style*="border-bottom:none"]) td:first-child {
    margin-bottom: -18px !important;
  }

  /* V ZAHLAVI MASA SKRYT TLACITKA A NULU (U PRILOH RYZE/BRAMBORY TLACITKA ZUSTAVAJI!) */
  #basicMenu tr:not(:has(td.jidloND em)):has(+ tr td.jidloND em) td.jidloMen,
  #basicMenu tr:not(:has(td.jidloND em)):has(+ tr td.jidloND em) td.tlacObed,
  #basicMenu tr:not(:has(td.jidloND em)):has(+ tr td.jidloND em) td.pocetO,
  #basicMenu tr:not(:has(td.jidloND em)):has(+ tr td.jidloND em) td.pocetOsk,
  #basicMenu tr:not(:has(td.jidloND em)):has(+ tr td.jidloND em) td.pocetO::after,
  #basicMenu tr:has(td[style*="border-bottom: none"]) td.pocetO::after {
    display: none !important;
  }

  /* Skryti duplicitni gramaze u priloh pod masem */
  #basicMenu tr:has(td.jidloND em:not(:empty)) td:first-child,
  #basicMenu tr:has(td[style*="border-bottom: none"]) + tr td:first-child {
    display: none !important;
  }

  /* =========================================================
     3. 1. RADEK: OBRAZEK + GRAMAZ
     ========================================================= */
  #basicMenu td:first-child {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    padding: 0 0 2px 0 !important;
    margin: 0 0 2px 0 !important;
    border: none !important;
    order: 1 !important;
    position: relative !important;
    min-height: 0 !important;
    height: auto !important;
    line-height: 1 !important;
  }

  /* Prostor pro obrazek vlevo */
  #basicMenu td:first-child:has(img) {
    padding-left: 28px !important;
  }

  /* KDYZ JIDLO NEMA OBRAZEK: Nulovy levy padding */
  #basicMenu td:first-child:not(:has(img)) {
    padding-left: 0 !important;
  }

  /* OBRAZEK: VLEVO, PRESNE O 2px NAHORU */
  #basicMenu td:first-child .imgtypjidla,
  #basicMenu td:first-child div:has(img) {
    position: absolute !important;
    left: 0 !important;
    top: calc(50% - 2px) !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    z-index: 2 !important;
    float: none !important;
  }

  #basicMenu td:first-child img {
    display: block !important;
    height: 18px !important;
    width: auto !important;
    max-height: 18px !important;
    float: none !important;
    margin: 0 !important;
  }

  /* GRAMAZ VEDLE OBRAZKU */
  #basicMenu td:first-child > div:not(.imgtypjidla):not(:has(img)) {
    display: inline-flex !important;
    align-items: center !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #78716c !important;
    letter-spacing: 0.02em !important;
    margin: 0 !important;
    float: none !important;
    line-height: 1.2 !important;
  }

  /* Ramecek gramaze */
  #basicMenu td:first-child > div:not(.imgtypjidla):not(:has(img)):not(:empty) {
    background: #f5f5f4 !important;
    border: 1px solid #e7e5e4 !important;
    border-radius: 5px !important;
    padding: 1px 7px !important;
  }

  /* Skryti prazdnych boxu */
  #basicMenu td:first-child > div:not(.imgtypjidla):empty,
  #basicMenu td:first-child > div[style*="display:none"] {
    display: none !important;
    border: none !important;
  }

  /* =========================================================
     4. 2. RADEK: NAZEV JIDLA
     ========================================================= */
  #basicMenu td.jidloND {
    display: block !important;
    width: 100% !important;
    padding: 2px 0 8px 0 !important;
    margin: 0 !important;
    border: none !important;
    order: 2 !important;
    clear: both !important;
    overflow: visible !important;
  }

  #basicMenu .jidloSpace,
  #basicMenu td.jidloND div.jidloSpace {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    display: block !important;
    float: none !important;
    background: none !important;
    border: none !important;
  }

  /* DEFINITIVNI VYPNUTI TECKOVANEHO PODTRZENI NAZVU */
  #basicMenu td.jidloND,
  #basicMenu td.jidloND *,
  #basicMenu td.jidloND *::before,
  #basicMenu td.jidloND *::after {
    border: 0 none transparent !important;
    border-bottom: 0 none transparent !important;
    border-top: 0 none transparent !important;
    text-decoration: none !important;
    text-decoration-line: none !important;
    text-decoration-style: none !important;
    -webkit-text-decoration-line: none !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    background-image: none !important;
  }

  #basicMenu td.jidloND .jidloT,
  #basicMenu .jidloSpace .jidloT {
    text-overflow: clip !important;
    white-space: normal !important;
    overflow: visible !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    max-width: 100% !important;
    display: inline !important;
    font-size: 15.5px !important;
    font-weight: 700 !important;
    color: #0c0a09 !important;
    line-height: 1.35 !important;
  }

  #basicMenu td.jidloND em {
    color: #44403c !important;
    font-style: normal !important;
    font-weight: 600 !important;
    display: inline !important;
  }

  /* Decentni alergeny pod nazvem */
  #basicMenu td.jidloND .toolku[title]:not([title=""])::after,
  #basicMenu td.jidloND .toolku[data-original-title]:not([data-original-title=""])::after {
    content: "(Alergeny: " attr(title) ")" !important;
    display: block !important;
    font-size: 11.5px !important;
    font-weight: 500 !important;
    font-style: italic !important;
    color: #78716c !important;
    background: transparent !important;
    border: none !important;
    padding: 2px 0 0 0 !important;
    margin-top: 3px !important;
    clear: both !important;
  }
  #basicMenu td.jidloND .toolku[data-original-title]:not([data-original-title=""])::after {
    content: "(Alergeny: " attr(data-original-title) ")" !important;
  }

  /* =========================================================
     5. 3. RADEK DOLE VLEVO: CENA
     ========================================================= */
  #basicMenu td:nth-child(3),
  #basicMenu td.jidloMen {
    display: flex !important;
    align-items: center !important;
    width: auto !important;
    padding: 0 0 0 2px !important;
    border: none !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    color: #0c0a09 !important;
    order: 3 !important;
  }

  /* =========================================================
     6. 3. RADEK DOLE VPRAVO: TLACITKA [-] [POCET] [+]
     ========================================================= */
  #basicMenu td.tlacObed {
    display: flex !important;
    align-items: center !important;
    width: auto !important;
    padding: 0 !important;
    border: none !important;
    order: 4 !important;
    margin-left: auto !important;
    margin-right: 10px !important;
    position: relative !important;
  }

  #basicMenu td.tlacObed > div {
    display: none !important;
  }

  #basicMenu td.tlacObed:has(a) > div {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    background: #f5f5f4 !important;
    border: 1px solid #d6d3d1 !important;
    border-radius: 10px !important;
    padding: 3px !important;
    width: 118px !important;
    box-sizing: border-box !important;
    float: none !important;
  }

  /* Tlacitka */
  #basicMenu td.tlacObed a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 34px !important;
    background: #ffffff !important;
    border: 1px solid #d6d3d1 !important;
    border-radius: 7px !important;
    text-decoration: none !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;
  }
  #basicMenu td.tlacObed a:active {
    background: #e7e5e4 !important;
    transform: scale(0.93) !important;
  }
  #basicMenu td.tlacObed img {
    width: 15px !important;
    height: 15px !important;
  }

  /* Minus vlevo, Plus vpravo */
  #basicMenu td.tlacObed div[id^="menuTlac1sklad"] {
    order: 1 !important;
    display: flex !important;
    float: none !important;
  }
  #basicMenu td.tlacObed div[class*="menuTlacsklad"] {
    order: 2 !important;
    display: flex !important;
    float: none !important;
  }
  #basicMenu td.tlacObed div[class*="menuTlacsklad"] a {
    background: #ffffff !important;
    border-color: #d6d3d1 !important;
  }

  /* =========================================================
     7. POCET KUSU UPROSTRED MEZI TLACITKY
     ========================================================= */
  #basicMenu tr:has(td.tlacObed a) td.pocetO {
    position: absolute !important;
    right: 10px !important;
    top: auto !important;
    bottom: 34px !important;
    width: 118px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: none !important;
    z-index: 5 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
  }

  #basicMenu tr:has(td.tlacObed a) td.pocetO div[id^="zocena"] {
    text-align: center !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    color: #0c0a09 !important;
  }
  #basicMenu tr:has(td.tlacObed a) td.pocetO div[id^="zocena"]:empty::before {
    content: "0 ks" !important;
    color: #78716c !important;
    font-weight: 700 !important;
    font-size: 12px !important;
  }

  /* =========================================================
     8. SEDIVY RAMECEK "zbyva: X" (10px OD SPODNI LINKY)
     ========================================================= */
  #basicMenu tr:has(td.tlacObed a) td.pocetOsk {
    position: absolute !important;
    right: 10px !important;
    bottom: 12px !important;
    width: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    z-index: 3 !important;
  }

  #basicMenu tr:has(td.tlacObed a) td.pocetOsk div[id^="zsklad"] {
    display: inline-block !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #44403c !important;
    background: #f5f5f4 !important;
    border: 1px solid #d6d3d1 !important;
    border-radius: 6px !important;
    padding: 2px 7px !important;
    width: auto !important;
    text-align: center !important;
    line-height: 1.2 !important;
  }

  /* Text "zbyva: " v Unicode escape */
  #basicMenu tr:has(td.tlacObed a) td.pocetOsk div[id^="zsklad"]:not(:empty)::before {
    content: "zb\FDv\E1: " !important;
    color: #78716c !important;
    font-weight: 500 !important;
  }

  /* =========================================================
     9. DEFINITIVNI ODSTRANENI "zbyva 0" U POLEVEK A SKLADU <= 0
     ========================================================= */
  #basicMenu tr:has(a[onclick*=",'O',"]) td.pocetOsk,
  #basicMenu tr:has(input[name*="sklad"][value="0"]) td.pocetOsk,
  #basicMenu tr:has(input[name*="sklad"][value^="-"]) td.pocetOsk,
  #basicMenu td.pocetOsk div[id^="zsklad"][style*="display:none"],
  #basicMenu td.pocetOsk div[id^="zsklad"]:empty {
    display: none !important;
  }

  /* =========================================================
     10. VYPRODANE POLOZKY (BEZ TLACITEK): POUZE CISTE "0"
     ========================================================= */
  #basicMenu tr:not(:has(td.tlacObed a)) {
    padding-bottom: 12px !important;
  }

  #basicMenu tr:not(:has(td.tlacObed a)) td.tlacObed {
    display: none !important;
  }

  #basicMenu tr:not(:has(td.tlacObed a)) td.pocetOsk {
    display: none !important;
  }

  #basicMenu tr:not(:has(td.tlacObed a)) td.pocetO {
    order: 4 !important;
    margin-left: auto !important;
    margin-right: 14px !important;
    width: auto !important;
    height: auto !important;
    display: flex !important;
    align-items: center !important;
    position: static !important;
  }

  #basicMenu tr:not(:has(td.tlacObed a)) td.pocetO div[id^="zocena"] {
    display: none !important;
  }

  #basicMenu tr:not(:has(td.tlacObed a)) td.pocetO::after {
    content: "0" !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #a8a29e !important;
  }

  /* =========================================================
     11. ABSOLUTNI VYPNUTI VSECH CAR A TECEK V BUNCE JIDLA
     ========================================================= */
  #basicMenu td.jidloND,
  #basicMenu td.jidloND *,
  #basicMenu td.jidloND *::before,
  #basicMenu td.jidloND *::after {
    border: 0 none transparent !important;
    border-bottom: 0 none transparent !important;
    border-top: 0 none transparent !important;
    text-decoration: none !important;
    text-decoration-line: none !important;
    text-decoration-style: none !important;
    -webkit-text-decoration-line: none !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    background-image: none !important;
  }

  /* =========================================================
     12. PLOVOUCI TLACITKO REKAPITULACE (MOBIL)
     ========================================================= */
  #btnMobilRekapitulace {
    display: inline-flex !important;
    position: fixed !important;
    bottom: calc(14px + env(safe-area-inset-bottom, 0px)) !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 99999 !important;
    
    /* Touch-friendly rozmery pro palec */
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    height: 44px !important;
    padding: 0 24px !important;
    box-sizing: border-box !important;
    
    /* Vzhled: moderni zaoblena plovouci pilulka */
    background: #ffffff !important;
    color: #0c0a09 !important;
    border: 1.5px solid #d6d3d1 !important;
    border-radius: 9999px !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.16), 0 2px 6px rgba(0, 0, 0, 0.08) !important;
    
    text-decoration: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    transition: transform 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  /* Ikona sipky uvnitr noveho tlacitka */
  #btnMobilRekapitulace img {
    width: 18px !important;
    height: 18px !important;
    display: block !important;
    margin: 0 !important;
    float: none !important;
  }

  /* Text uvnitr noveho tlacitka */
  #btnMobilRekapitulace .rekapitulace {
    display: inline-block !important;
    font-size: 14.5px !important;
    font-weight: 800 !important;
    color: #0c0a09 !important;
    letter-spacing: 0.02em !important;
    text-decoration: none !important;
  }

  /* Efekt stisknuti prstem */
  #btnMobilRekapitulace:active {
    transform: translateX(-50%) scale(0.95) !important;
    background-color: #f5f5f4 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12) !important;
  }

  /* Odstup na konci stranky, aby tlacitko neprekrylo posledni polozku */
  #basicMenu {
    padding-bottom: 70px !important;
  }

  /* Skryti tlacitka v rekapitulaci */
  body:has(#zadavaniMenuRe[style*="display: block"]) #btnMobilRekapitulace,
  body:has(#zadavaniMenuRe[style*="display:block"]) #btnMobilRekapitulace {
    display: none !important;
  }

}

@media only screen and (max-width: 568px) {
  #basicMenu {
    padding: 0 0 0 8px !important;
  }
}  


