/* ============================================================
   BASTLIK.CZ — Redesign HLAVIČKY (v26)
   Záhlaví (<style>). K tomu JS bastlik-header-9.js do Zápatí.

   Změny proti v2:
   - MENU necháváme v Shoptet defaultu (jen hover barva), aby se
     nesbalilo do "Více" a nezmizelo.
   - Tenčí horní lišta, širší vyhledávání, míň bílého místa.
   - Zarovnaný košík.
   Hlavička = jen desktop/tablet (≥768). Mobil = Shoptet default
   (+ pokus o horní lištu s "Doprava zdarma").
   NESAHÁ na .admin-bar.
   ============================================================ */

/* ============================================================
   HORNÍ LIŠTA (topbar) — navy, TENČÍ
   ============================================================ */
.top-navigation-bar {
  background: #16233a !important;
  margin-top: 0 !important;
  border-top: none !important;
  border-bottom: 1px solid rgba(255,255,255,.1) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
.top-navigation-bar .container {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 4px clamp(16px, 3.5vw, 48px) !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
/* obsah drží u krajů (menu vlevo, přihlášení vpravo) na všech šířkách */
.top-navigation-bar .container > div { flex: 0 0 auto !important; }
.top-navigation-menu { margin: 0 !important; margin-right: auto !important; padding-right: 0 !important; float: none !important; }
.top-navigation-bar-menu {
  display: flex !important; align-items: center !important;
  gap: clamp(6px, 1.1vw, 28px) !important;
  list-style: none !important; margin: 0 !important; padding: 0 !important;
}
.top-navigation-bar-menu li { margin: 0 !important; padding: 0 !important; }
.top-navigation-bar-menu li a {
  display: flex !important; align-items: center !important; gap: 7px !important;
  color: #f1f5f9 !important; font-size: 13px !important; font-weight: 700 !important; text-decoration: none !important;
}
.top-navigation-bar-menu li a:hover { color: #ffffff !important; }
.top-navigation-bar-menu li a::before {
  content: ""; width: 14px; height: 14px; flex: 0 0 14px;
  background-position: center; background-repeat: no-repeat; background-size: contain;
}
.top-navigation-bar-menu li:nth-child(1) a::before {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239ccc00' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='3' width='15' height='13'/%3E%3Cpolygon points='16 8 20 8 23 11 23 16 16 16 16 8'/%3E%3Ccircle cx='5.5' cy='18.5' r='2.5'/%3E%3Ccircle cx='18.5' cy='18.5' r='2.5'/%3E%3C/svg%3E");
}
.top-navigation-bar-menu li:nth-child(2) a::before {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239ccc00' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E");
}
.top-navigation-menu-trigger,
.top-navigation-bar-menu-helper { display: none !important; }
.top-navigation-tools { display: flex !important; align-items: center !important; gap: 20px !important; }
.top-navigation-tools .top-nav-button {
  color: #cbd5e1 !important; font-size: 13px !important; font-weight: 700 !important;
  background: none !important; border: none !important; padding: 0 !important; text-decoration: none !important; cursor: pointer;
  display: inline-flex !important; align-items: center !important; gap: 6px !important;
}
.top-navigation-tools .top-nav-button:hover { color: #ffffff !important; }
.top-navigation-tools .top-nav-button-login::before,
.top-navigation-tools .top-nav-button-register::before {
  content: "" !important;
  display: inline-block !important;
  width: 14px !important; height: 14px !important; flex: 0 0 14px !important;
  background-position: center !important; background-repeat: no-repeat !important; background-size: contain !important;
}
.top-navigation-tools .top-nav-button-login::before {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239ccc00' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4'/%3E%3Cpolyline points='10 17 15 12 10 7'/%3E%3Cline x1='15' y1='12' x2='3' y2='12'/%3E%3C/svg%3E") !important;
}
.top-navigation-tools .top-nav-button-register::before {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239ccc00' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='8.5' cy='7' r='4'/%3E%3Cline x1='20' y1='8' x2='20' y2='14'/%3E%3Cline x1='23' y1='11' x2='17' y2='11'/%3E%3C/svg%3E") !important;
}

/* MOBIL: topbar jen "Doprava" (Shoptet ho jinak skrývá; je uvnitř #header) */
@media (max-width: 767px) {
  #header .top-navigation-bar,
  .top-navigation-bar { display: block !important; }
  #header .top-navigation-bar .container,
  .top-navigation-bar .container {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    min-height: 0 !important;
    padding: 6px 16px !important;
    width: 100% !important;
    text-align: center !important;
  }
  /* Shoptet dává dětem containeru flex:1 1 50% → zrušit, ať se menu vycentruje */
  #header .top-navigation-bar .container > div,
  .top-navigation-bar .container > div { flex: 0 0 auto !important; }
  #header .top-navigation-bar .top-navigation-menu,
  .top-navigation-bar .top-navigation-menu {
    display: flex !important; justify-content: center !important;
    flex: 0 0 auto !important; width: auto !important; height: auto !important;
    margin: 0 auto !important; padding-right: 0 !important; float: none !important; overflow: visible !important;
  }
  #header .top-navigation-bar .top-navigation-bar-menu,
  .top-navigation-bar .top-navigation-bar-menu { display: flex !important; justify-content: center !important; float: none !important; margin: 0 auto !important; width: auto !important; }
  #header .top-navigation-bar-menu li,
  .top-navigation-bar-menu li { display: block !important; }
  #header .top-navigation-bar-menu li:not(:first-child),
  .top-navigation-bar-menu li:not(:first-child) { display: none !important; }
  #header .top-navigation-bar-menu li:first-child a,
  .top-navigation-bar-menu li:first-child a { display: flex !important; justify-content: center !important; font-size: 12px !important; }
  #header .top-navigation-tools,
  .top-navigation-tools { display: none !important; }
  .bstl-hdr-contact { display: none !important; }

  /* mezera mezi ikonami — blíž, ale křížek nepřekryje košík */
  #header .navigation-buttons { display: flex !important; align-items: center !important; gap: 14px !important; }

  /* --- mobilní košík: outline ikona, vycentrovaná --- */
  #header .navigation-buttons .cart-count {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important; height: 28px !important;
    padding: 0 !important; border: none !important; background: none !important;
    /* mezera od lupy — poměrově dle šířky displeje (≈10px na 375px) */
    margin-left: clamp(8px, 2.7vw, 16px) !important;
  }
  #header .navigation-buttons .cart-count::before {
    content: "" !important;
    font-family: inherit !important; font-size: 0 !important;
    width: 24px !important; height: 24px !important; flex: 0 0 24px !important; margin: 0 !important;
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2316233a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E") center/contain no-repeat !important;
  }
  /* lupa — přesně stejný box i výška jako košík (28×28, ikona 24) */
  #header .navigation-buttons .toggle-window[data-target="search"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important; height: 28px !important;
    padding: 0 !important; margin: 0 0 0 -6px !important; line-height: 1 !important;
  }
  #header .navigation-buttons .toggle-window[data-target="search"]::before {
    content: "" !important;
    font-family: inherit !important; font-size: 0 !important;
    display: block !important;
    width: 24px !important; height: 24px !important; margin: 0 !important;
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2316233a' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.5' cy='10.5' r='8'/%3E%3Cline x1='21.5' y1='21.5' x2='17.2' y2='17.2'/%3E%3C/svg%3E") center/contain no-repeat !important;
  }
  /* skrýt cenu na mobilu, MODRÝ odznak přes roh košíku */
  #header .navigation-buttons .cart-count .cart-price { display: none !important; }
  #header .navigation-buttons .cart-count i {
    position: absolute !important;
    top: -3px !important; right: -3px !important; left: auto !important; bottom: auto !important;
    min-width: 15px !important; height: 15px !important; padding: 0 3px !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    background: #007bff !important; color: #fff !important;
    font-size: 9px !important; font-weight: 700 !important; font-style: normal !important;
    border-radius: 999px !important; border: 2px solid #fff !important;
  }
}

/* ============================================================
   HLAVIČKA — jen desktop/tablet (≥768). Mobil = Shoptet default.
   ============================================================ */
@media (min-width: 768px) {

  #header .header-top { background: #ffffff !important; }
  /* .container má pevné šířky (747/972/1170) a centruje se → v hlavičce
     ho pustíme přes celou šířku, ať nevzniká prázdné místo a nic se neuseká */
  .top-navigation-bar .container,
  #header .header-top-wrapper,
  #header .header-bottom-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  #header .header-top-wrapper {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: end !important;
    column-gap: clamp(16px, 2.5vw, 40px) !important;
    padding: 18px clamp(16px, 3.5vw, 48px) !important;
    margin-top: -9px !important;
  }
  /* Shoptet clearfix pseudo-prvky by v gridu zabraly buňky → skrýt */
  #header .header-top-wrapper::before,
  #header .header-top-wrapper::after { content: none !important; display: none !important; }

  /* Logo — vlevo, spodní hrana v jedné linii s polem a košíkem */
  #header .site-name { justify-self: start !important; align-self: end !important; margin: 0 !important; }
  #header .site-name a { display: block !important; }
  #header .site-name img { height: 64px !important; width: auto !important; max-width: none !important; display: block !important; }

  /* Střed: kontakt (JS) nad hledáním — vycentrované, kratší */
  #header .search {
    display: flex !important; flex-direction: column !important; align-items: center !important;
    gap: 10px !important;
    justify-self: center !important;
    align-self: end !important;        /* zarovnat pole s košíkem dole */
    width: clamp(280px, 40vw, 560px) !important;
    max-width: 100% !important;
    margin: 0 !important;
    position: relative !important;
    z-index: 60 !important;
    /* posun doprava: 93px na 13" MacBooku (1440px) = 6.45vw → poměrově
       stejné na jiných obrazovkách; transform vezme s sebou i e-mail
       nad polem i okno s výsledky vyhledávání */
    transform: translateX(clamp(20px, 4.7vw, 95px)) !important;
  }
  /* okno výsledků vyhledávání POD pole, nikdy mimo obraz */
  #header .search .searchWhisperer {
    top: calc(100% + 3px) !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: min(1100px, 94vw) !important;
    max-width: 94vw !important;
    /* neprůhledné pozadí a nad obsahem stránky (jinak prosvítá menu/bannery) */
    background: #ffffff !important;
    opacity: 1 !important;
    z-index: 1000 !important;
    margin: 0 !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.12) !important;
  }
  .bstl-hdr-contact { display: flex; align-items: center; gap: 8px; font-size: 13px; line-height: 1; }
  .bstl-hdr-contact-ic {
    width: 14px; height: 14px; display: inline-flex; flex: 0 0 14px;
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%233b82f6' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E") center/contain no-repeat;
  }
  .bstl-hdr-contact-lbl { color: #64748b; font-weight: 500; }
  .bstl-hdr-contact-mail { color: #16233a; font-weight: 700; text-decoration: none; }
  .bstl-hdr-contact-mail:hover { color: #3b82f6; }

  /* Vyhledávací pole */
  #header .search .search-form {
    width: 100% !important; display: flex !important; position: relative !important;
    background: #f1f5f9 !important; border-radius: 10px !important;
    border: none !important; overflow: hidden !important; box-shadow: none !important;
    transition: box-shadow .15s, background-color .15s; margin: 0 !important;
  }
  #header .search .search-form fieldset { display: flex !important; align-items: stretch !important; width: 100% !important; border: 0 !important; margin: 0 !important; padding: 0 !important; }
  #header .search .search-form .search-input-icon {
    position: absolute !important; left: 16px !important; top: 50% !important; transform: translateY(-50%) !important;
    width: 16px !important; height: 16px !important; margin: 0 !important; padding: 0 !important;
    background-color: transparent !important;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E") !important;
    background-position: center !important; background-repeat: no-repeat !important; background-size: contain !important;
    border: none !important; box-shadow: none !important; border-radius: 0 !important;
    font-size: 0 !important; color: transparent !important; pointer-events: none !important; z-index: 1 !important;
  }
  #header .search .search-form .search-input-icon::before,
  #header .search .search-form .search-input-icon::after { content: none !important; display: none !important; }
  #header .search .search-input {
    flex: 1 !important; height: 46px !important; padding: 0 16px 0 44px !important;
    border: none !important; background: transparent !important;
    font-size: 14px !important; color: #1e293b !important; outline: none !important; box-shadow: none !important;
  }
  #header .search .search-button {
    align-self: stretch !important; height: auto !important; min-height: 46px !important;
    flex: 0 0 auto !important;
    padding: 0 28px !important;
    background: #3b82f6 !important; color: #ffffff !important;
    border: none !important; border-radius: 0 !important; margin: 0 !important; box-shadow: none !important;
    font-size: 14px !important; font-weight: 700 !important; cursor: pointer;
    display: flex !important; align-items: center !important; justify-content: center !important; transition: background-color .15s;
    white-space: nowrap;
  }
  #header .search .search-button:hover { background: #2563eb !important; }
  #header .search .search-form:focus-within { background: #ffffff !important; box-shadow: 0 0 0 2px #3b82f6 !important; }

  /* Košík — orámovaný blok, vše svisle vycentrované */
  #header .navigation-buttons {
    display: flex !important; align-items: center !important; gap: 0 !important;
    justify-self: end !important; align-self: end !important; margin: 0 !important;
    flex: 0 0 auto !important; min-width: 0 !important;
  }
  #header .navigation-buttons .cart-count { flex: 0 0 auto !important; white-space: nowrap !important; }
  #header .navigation-buttons .cart-count {
    display: flex !important; align-items: center !important;
    height: 46px !important; padding: 0 0 0 16px !important; gap: 10px !important;
    border: 2px solid #e2e8f0 !important; border-radius: 10px !important;
    background: #fff !important; color: #16233a !important; text-decoration: none !important;
    overflow: hidden !important; position: relative !important; transition: border-color .15s ease;
  }
  #header .navigation-buttons .cart-count > * { align-self: center !important; }
  #header .navigation-buttons .cart-count::before {
    content: "" !important; width: 18px !important; height: 18px !important; flex: 0 0 18px !important; margin: 0 !important; align-self: center !important;
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2316233a' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E") center/contain no-repeat !important;
  }
  #header .navigation-buttons .cart-count .cart-price {
    color: #16233a !important; font-weight: 700 !important; font-size: 14px !important;
    white-space: nowrap; margin: 0 !important; padding: 0 !important; line-height: 1 !important;
  }
  #header .navigation-buttons .cart-count i {
    position: static !important; top: auto !important; right: auto !important; left: auto !important; bottom: auto !important;
    align-self: stretch !important; background: #f1f5f9 !important; color: #64748b !important;
    font-style: normal !important; font-weight: 700 !important; font-size: 12px !important;
    padding: 0 14px !important; margin: 0 !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    border-left: 1px solid #e2e8f0 !important; border-radius: 0 !important; min-width: 0 !important; height: auto !important;
  }
  #header .navigation-buttons .cart-count:hover { border-color: #3b82f6 !important; }
  #header .navigation-buttons .cart-count:hover::before {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%233b82f6' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E") !important;
  }
  #header .navigation-buttons .cart-count:hover .cart-price { color: #3b82f6 !important; }
  #header .navigation-buttons .cart-count:hover i { background: rgba(59,130,246,.1) !important; color: #2563eb !important; }
  /* při otevřeném okně košíku sladit obrubu na modrou (ne tmavou navy) */
  #header .navigation-buttons .cart-count[aria-expanded="true"],
  #header .navigation-buttons .cart-count.active,
  #header .navigation-buttons .cart-count.opened {
    border-color: #3b82f6 !important;
    box-shadow: none !important;
    outline: none !important;
  }
  /* po hoveru zůstávala tmavá obruba (focus/outline) — pryč, ale JEN když se nehoveruje */
  #header .navigation-buttons .cart-count:focus:not(:hover),
  #header .navigation-buttons .cart-count:focus-visible:not(:hover),
  #header .navigation-buttons .cart-count:active:not(:hover) {
    outline: none !important;
    box-shadow: none !important;
    border-color: #e2e8f0 !important;
  }

  /* skrýt mobilní ikonky na desktopu */
  #header .navigation-buttons .toggle-window[data-target="search"],
  #header .navigation-buttons .toggle-window[data-target="navigation"] { display: none !important; }

  /* MENU — linka je přímo na UL (na spodní hraně odkazů), takže hover
     podtržení sedí přesně na ní. Žádné flex-end triky. */
  #header .header-top { border-bottom: none !important; }
  #header .header-bottom {
    background: #ffffff !important;
    border-top: none !important;
    border-bottom: none !important;
  }
  #header .menu-level-1 {
    width: 100% !important;
    border-bottom: 1px solid #e5e7eb !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    padding-left: clamp(16px, 3.5vw, 48px) !important;
    padding-right: clamp(90px, 10vw, 140px) !important;  /* místo pro "Více" */
  }
  #header .menu-level-1 > li { margin-bottom: 0 !important; }
  #header .menu-level-1 > li > a {
    position: relative !important;
    padding-top: 16px !important;
    padding-bottom: 12px !important;
    font-size: 16px !important;
  }
  #header .menu-level-1 > li > a,
  #header .menu-level-1 > li > a b { font-weight: 700 !important; }
  #header .menu-level-1 > li > a:hover,
  #header .menu-level-1 > li > a:hover b {
    color: #3b82f6 !important;
    text-decoration: none !important;
  }
  #header .menu-level-1 > li > a::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important; right: 0 !important; bottom: -1px !important;
    height: 2px !important; background: #3b82f6 !important;
    transform: scaleX(0); transform-origin: left center; transition: transform .15s ease;
  }
  #header .menu-level-1 > li > a:hover::after { transform: scaleX(1); }

  /* "Více" — je to <div class="menu-helper"> ZA </nav>, absolutně
     pozicovaný (height:68px, font-size:18px) → srovnat na odkazy */
  .menu-helper,
  #header .header-bottom .menu-helper {
    height: auto !important;
    top: auto !important;
    bottom: 1.3em !important;   /* ≈21px při 16px písmu, škáluje s velikostí */
    right: clamp(16px, 3.5vw, 48px) !important;
    display: flex !important;
    align-items: flex-end !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
  }
  .menu-helper > span,
  .menu-helper > span b,
  #header .header-bottom .menu-helper > span {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 16px 0 12px !important;
    margin: 0 !important;
    color: var(--colors-foregrounds-content-primary, #1e293b) !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    height: auto !important;
  }
  /* "Více" dropdown — dost široký, aby se text neořezával,
     a zarovnaný až k pravému okraji obrazovky */
  .menu-helper > ul {
    right: calc(-1 * clamp(16px, 3.5vw, 48px)) !important;
    left: auto !important;
    width: auto !important;
    min-width: 240px !important;
    max-width: 92vw !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }
  .menu-helper > ul > li {
    width: auto !important;
    white-space: nowrap !important;
  }
  .menu-helper > ul > li > a,
  .menu-helper > ul > li > a b {
    color: var(--colors-foregrounds-content-primary, #1e293b) !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }
  .menu-helper > ul > li > a { padding: 11px 22px !important; width: auto !important; }
  /* podtržení jen pod textem */
  .menu-helper > ul > li > a b {
    background-image: linear-gradient(#3b82f6, #3b82f6);
    background-repeat: no-repeat;
    background-position: 0 100%;
    background-size: 0 2px;
    transition: background-size .15s ease;
  }
  .menu-helper > ul > li > a:hover b { background-size: 100% 2px; }
  .menu-helper > ul > li > a:hover,
  .menu-helper > ul > li > a:hover b { color: #3b82f6 !important; }
  /* jen JEDNO podtržení — vypnout Shoptet text-decoration/border/::after */
  .menu-helper > ul > li > a,
  .menu-helper > ul > li > a:hover,
  .menu-helper > ul > li > a:focus,
  .menu-helper > ul > li > a b,
  .menu-helper > ul > li > a:hover b {
    text-decoration: none !important;
    text-decoration-line: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
  }
  .menu-helper > ul > li > a::after,
  .menu-helper > ul > li > a::before,
  .menu-helper > ul > li > a:hover::after { content: none !important; display: none !important; }
}

/* TABLET (768–991) */
@media (max-width: 991px) and (min-width: 768px) {
  .top-navigation-bar .container { padding: 6px 20px !important; }
  #header .header-top-wrapper { padding: 14px 16px !important; column-gap: 14px !important; }
  #header .site-name img { height: 42px !important; }
  #header .search { width: 380px !important; }
  #header .search .searchWhisperer { width: 680px !important; }
  .bstl-hdr-contact { display: none !important; }
}

/* ============================================================
   OPRAVY OKEN (popup košíku, mobilní overlaye)
   --bstl-topbar-h nastavuje JS = výška horní lišty na mobilu
   ============================================================ */

/* --- DESKTOP: okno košíku ukotvit doprava, šipka na počet --- */
@media (min-width: 992px) {
  .user-action-in .popup-widget.cart-widget,
  .popup-widget.cart-widget {
    left: auto !important;
    right: 20px !important;
    margin-left: 0 !important;
    margin-top: 36px !important;
  }
  .popup-widget.cart-widget:before,
  .scrolled .popup-widget.cart-widget:before {
    right: calc(var(--bstl-cart-count-right, 48px) - 28px) !important;
  }
}

/* --- MOBIL: posunout overlaye o výšku přidané lišty --- */
@media (max-width: 767px) {
  /* okno košíku */
  .user-action-in .popup-widget.cart-widget {
    top: calc(81px + var(--bstl-topbar-h, 30px)) !important;
    height: calc(100% - 81px - var(--bstl-topbar-h, 30px)) !important;
  }
  .popup-widget.cart-widget,
  .popup-widget.login-widget,
  .popup-widget.search-widget {
    top: calc(134px + var(--bstl-topbar-h, 30px)) !important;
  }
  /* hamburger menu overlay — pod celou hlavičkou (logo/košík/křížek zůstanou vidět) */
  .navigation-window-visible #navigation {
    top: var(--bstl-header-h, 80px) !important;
    height: calc(100% - var(--bstl-header-h, 80px)) !important;
  }
}
@media (max-width: 480px) {
  .user-action-in .popup-widget.cart-widget {
    top: calc(50px + var(--bstl-topbar-h, 30px)) !important;
    height: calc(100% - 50px - var(--bstl-topbar-h, 30px)) !important;
  }
}

/* ============================================================
   VYPNUTÍ ZTMAVENÍ STRÁNKY PŘI HLEDÁNÍ
   Shoptet dává přes celou stránku fixní překryv rgba(0,0,0,.3)
   se z-index:1002 — byl NAD oknem výsledků, proto to ztmavnutí.
   ============================================================ */
body.search-focused:before,
.search-focused:before {
  opacity: 0 !important;
  z-index: -1 !important;
  background-color: transparent !important;
  pointer-events: none !important;
}

/* ============================================================
   OBJEDNÁVKOVÝ PROCES — zjednodušená hlavička
   Třídy na <body>:
     ordering-process  = všechny kroky objednávky
     in-kosik          = 1) košík
     in-krok-1         = 2) doprava a platba
     in-krok-2         = 3) dodací údaje
   ============================================================ */

/* 1) + 2) + 3): pryč s vyhledáváním i kontaktem "Máte dotaz?" */
.ordering-process #header .search,
.ordering-process #header .header-top-wrapper .search,
.ordering-process .bstl-hdr-contact {
  display: none !important;
}

/* 1) košík: skrýt i odkazy (doprava, kontakt…), ale NECHAT dělicí linku.
   Skrýváme položky, ne celý seznam — linka je na seznamu. */
.in-kosik #header .menu-level-1 > li,
.in-kosik .menu-helper {
  display: none !important;
}
.in-kosik #header .menu-level-1 {
  min-height: 0 !important;
  border-bottom: 1px solid #e5e7eb !important;
}

/* 2) + 3): menu tam Shoptet nevykresluje → linku doplníme na hlavičku */
.in-krok-1 #header,
.in-krok-2 #header {
  border-bottom: 1px solid #e5e7eb !important;
}
.in-krok-1 #header .header-top,
.in-krok-2 #header .header-top {
  border-bottom: none !important;
}

/* 1) košík: zmenšit mezeru mezi hlavičkou a obsahem.
   Posun je škálovaný — na širokém monitoru ≈ -40px, na užších
   obrazovkách úměrně méně. NA MOBILU NEPLATÍ (tam je to v pořádku). */
@media (min-width: 768px) {
  .in-kosik ol.cart-header.step-0 {
    margin-top: clamp(-40px, -2.8vw, -14px) !important;
  }
}

/* ============================================================
   BLOK KOŠÍKU — prázdný košík a užší obrazovky
   ============================================================ */
@media (min-width: 768px) {
  /* PRÁZDNÝ KOŠÍK: text "Prázdný košík" je poslední prvek (chybí počet)
     → dorovnat odsazení vpravo, ať text nesedí na hraně */
  #header .navigation-buttons .cart-count .cart-price:last-child {
    padding-right: 16px !important;
  }
  /* text se musí vejít celý */
  #header .navigation-buttons .cart-count .cart-price {
    white-space: nowrap !important;
    overflow: visible !important;
  }

  /* jen IKONA v bloku (bez ceny i bez počtu) → vycentrovat */
  #header .navigation-buttons .cart-count:not(:has(i)):not(:has(.cart-price)) {
    padding: 0 !important;
    justify-content: center !important;
    min-width: 58px !important;
  }
}

/* 768–1199: Shoptet cenu skrývá (zobrazí ji až od 1200px).
   Když v bloku zůstane jen ikona, vycentrovat ji. */
@media (min-width: 768px) and (max-width: 1199px) {
  #header .navigation-buttons .cart-count:not(:has(i)) {
    padding: 0 !important;
    justify-content: center !important;
    min-width: 58px !important;
  }
}
