/* ==========================================================================
   ONSUS HEADER FIX – loaded LAST, overrides style.css / responsive.css
   ========================================================================== */

/* style.css sets a global `header { height:90px; line-height:90px }` which makes
   the mainbar overlap the nav bar below it. */
header.onsus-header,
.onsus-header {
  height: auto !important;
  min-height: 0 !important;
  line-height: normal !important;
}
header.onsus-header form.onsus-search > button.onsus-search__submit {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
}
.onsus-header {
  background: #fff !important;
  position: relative !important;
  z-index: 300 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  width: 100% !important;
}

.onsus-topbar {
  background: #f5f5f5 !important;
  border-bottom: 1px solid #ebebeb !important;
  font-size: 13px !important;
  color: #666 !important;
}
.onsus-topbar__row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  min-height: 40px !important;
}
.onsus-topbar__left,
.onsus-topbar__center,
.onsus-topbar__right {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  min-width: 0 !important;
}
.onsus-topbar__center { flex: 1 !important; justify-content: center !important; }
.onsus-topbar__right { justify-content: flex-end !important; flex-wrap: wrap !important; }
.onsus-topbar__link,
.onsus-topbar__ship,
.onsus-topbar__account {
  color: #555 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
  font-size: 13px !important;
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
.onsus-topbar__link i,
.onsus-topbar__ship i,
.onsus-topbar__account i {
  color: var(--themeColorTwo, #e11d2e) !important;
  font-size: 13px !important;
}
.onsus-topbar__account:hover { color: var(--themeColorTwo, #e11d2e) !important; }

/* Topbar support: small label + strong phone (matches nav .onsus-nav__support) */
html body .onsus-topbar .onsus-topbar__support,
.onsus-topbar a.onsus-topbar__support,
.onsus-topbar span.onsus-topbar__support {
  align-items: center !important;
  gap: 10px !important;
  color: #333 !important;
  line-height: 1.15 !important;
}
html body .onsus-topbar .onsus-topbar__support-text,
.onsus-topbar__support-text {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 1px !important;
  min-width: 0 !important;
  line-height: 1.15 !important;
}
html body .onsus-topbar .onsus-topbar__support-text > small,
.onsus-topbar__support-text > small {
  display: block !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  color: #888 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body .onsus-topbar .onsus-topbar__support-text > strong,
.onsus-topbar__support-text > strong {
  display: block !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  color: #111 !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body .onsus-topbar a.onsus-topbar__support:hover .onsus-topbar__support-text > strong,
.onsus-topbar a.onsus-topbar__support:hover strong {
  color: var(--themeColorTwo, #e11d2e) !important;
}

.os-switcher {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
  cursor: pointer !important;
  position: relative !important;
  color: #333 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}
.os-switcher > .fa-coins,
.os-switcher > .fa-globe {
  color: var(--themeColorTwo, #e11d2e) !important;
  font-size: 14px !important;
}
.os-switcher select {
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 0 !important;
  background: transparent !important;
  padding: 0 14px 0 0 !important;
  margin: 0 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #222 !important;
  height: auto !important;
  line-height: 1.2 !important;
  cursor: pointer !important;
  box-shadow: none !important;
  outline: none !important;
  width: auto !important;
  min-width: 70px !important;
}
.os-switcher__caret {
  font-size: 10px !important;
  color: #999 !important;
  pointer-events: none !important;
  position: absolute !important;
  right: 0 !important;
}
.onsus-topbar .nice-select { display: none !important; }

.onsus-mainbar {
  padding: 18px 0 !important;
  background: #fff !important;
  border-bottom: 1px solid #eee !important;
}
.onsus-mainbar__row {
  display: grid !important;
  grid-template-columns: 200px minmax(0, 1fr) auto !important;
  gap: 28px !important;
  align-items: center !important;
}
.onsus-mainbar__logo {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  min-width: 0 !important;
}
.onsus-logo {
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
}
.onsus-logo img {
  max-height: 48px !important;
  width: auto !important;
  display: block !important;
}
.onsus-brand {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}
.onsus-mainbar__mobile {
  display: none !important;
  align-items: center !important;
  gap: 2px !important;
  flex-shrink: 0 !important;
  margin-left: auto !important;
}
@media (max-width: 991.98px) {
  /* Compact frosted header bar (mobile / tablet < lg) */
  .onsus-header {
    background: rgba(255, 255, 255, .88) !important;
    -webkit-backdrop-filter: saturate(1.2) blur(16px) !important;
    backdrop-filter: saturate(1.2) blur(16px) !important;
    box-shadow:
      0 1px 0 rgba(17, 17, 17, .05),
      0 10px 28px rgba(17, 17, 17, .06) !important;
    border-bottom: 0 !important;
  }
  .onsus-mainbar__mobile { display: flex !important; }
  .onsus-mainbar__row { grid-template-columns: 1fr !important; gap: 0 !important; }
  .onsus-mainbar {
    padding: 11px 0 !important;
    background: transparent !important;
    border-bottom: 0 !important;
    position: relative !important;
  }
  /* Thin brand accent under the bar */
  .onsus-mainbar::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 2px !important;
    background: linear-gradient(
      90deg,
      var(--themeColorTwo, #e11d2e) 0%,
      var(--themeColorCta, #ff4c1a) 42%,
      transparent 88%
    ) !important;
    opacity: .9 !important;
    pointer-events: none !important;
  }
  .onsus-mainbar__logo {
    width: 100% !important;
    justify-content: space-between !important;
    gap: 10px !important;
    min-height: 44px !important;
  }
  .onsus-brand {
    min-width: 0 !important;
    max-width: calc(100% - 104px) !important;
    gap: 10px !important;
  }
  .onsus-logo {
    min-width: 0 !important;
    max-width: 100% !important;
    flex-shrink: 0 !important;
  }
  .onsus-logo img { max-height: 34px !important; }
  .onsus-logo > span { font-size: 19px !important; }
  .onsus-logo > span span { font-size: 19px !important; }

  .onsus-mainbar__mobile {
    gap: 8px !important;
  }

  .onsus-mainbar__switchers {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-left: auto !important;
    margin-right: 4px !important;
    flex-shrink: 0 !important;
  }

  .onsus-mainbar__switchers .os-pick--compact .os-pick__btn {
    min-height: 34px !important;
    padding: 0 10px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    gap: 4px !important;
    border-radius: 999px !important;
    background: rgba(17, 17, 17, .05) !important;
    border: 1px solid rgba(17, 17, 17, .06) !important;
  }

  .onsus-mainbar__switchers .os-pick__code {
    letter-spacing: .02em;
  }

  .onsus-mainbar__switchers .os-pick__caret {
    font-size: 9px !important;
    opacity: .65;
  }

  .onsus-mainbar__switchers .os-pick__menu {
    right: 0 !important;
    left: auto !important;
    min-width: 168px !important;
    z-index: 1200 !important;
  }

  .onsus-brand {
    max-width: calc(100% - 220px) !important;
  }
}

.os-mob-btn {
  position: relative !important;
  width: 44px !important;
  height: 44px !important;
  border: 0 !important;
  background: transparent !important;
  color: #222 !important;
  font-size: 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  border-radius: 10px !important;
  -webkit-tap-highlight-color: transparent !important;
  transition: background-color .15s ease, color .15s ease, box-shadow .15s ease !important;
}
.os-mob-btn:hover,
.os-mob-btn:focus-visible {
  background: color-mix(in srgb, var(--themeColorTwo, #e11d2e) 10%, #fff) !important;
  color: var(--themeColorTwo, #e11d2e) !important;
  outline: none !important;
}
.os-mob-btn:active {
  background: color-mix(in srgb, var(--themeColorTwo, #e11d2e) 16%, #fff) !important;
  color: var(--themeColorTwo, #e11d2e) !important;
}
/* Soft circular action chips — mobile only (after base so they win) */
@media (max-width: 991.98px) {
  .os-mob-btn {
    width: 40px !important;
    height: 40px !important;
    border-radius: 999px !important;
    background: rgba(17, 17, 17, .05) !important;
    color: #1f2937 !important;
    font-size: 15px !important;
    box-shadow: 0 1px 0 rgba(255, 255, 255, .7) inset !important;
  }
  .os-mob-btn:hover,
  .os-mob-btn:focus-visible {
    background: color-mix(in srgb, var(--themeColorTwo, #e11d2e) 12%, #fff) !important;
    color: var(--themeColorTwo, #e11d2e) !important;
  }
  .os-mob-btn:active {
    background: color-mix(in srgb, var(--themeColorTwo, #e11d2e) 18%, #fff) !important;
    color: var(--themeColorTwo, #e11d2e) !important;
  }
}
.os-mob-badge {
  position: absolute !important;
  top: 2px !important;
  right: 2px !important;
  min-width: 16px !important;
  height: 16px !important;
  padding: 0 4px !important;
  border-radius: 999px !important;
  background: var(--themeColorTwo, #e11d2e) !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
/* Prázdny alebo nulový počet sa neukazuje */
.os-mob-badge:empty,
.os-mob-badge.is-zero {
  display: none !important;
}

/* SEARCH */
.onsus-search.header-search-form,
form.onsus-search {
  display: flex !important;
  align-items: stretch !important;
  width: 100% !important;
  height: 50px !important;
  border: 1px solid #ddd !important;
  border-radius: 6px !important;
  /* visible so the suggestion panel can drop out of the bar; the edge
     children carry the matching corner radii instead */
  overflow: visible !important;
  background: #fff !important;
  margin: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  position: relative !important;
}
.onsus-search__cat,
.onsus-search select.onsus-search__cat,
.onsus-search .select2-container {
  width: 220px !important;
  min-width: 200px !important;
  max-width: 260px !important;
  flex: 0 0 220px !important;
  border: 0 !important;
  border-right: 1px solid #eee !important;
  border-radius: 0 !important;
  height: 100% !important;
  background: #fafafa !important;
  margin: 0 !important;
  float: none !important;
}
@media (min-width: 1400px) {
  .onsus-search__cat,
  .onsus-search select.onsus-search__cat,
  .onsus-search .select2-container {
    width: 260px !important;
    min-width: 240px !important;
    max-width: 280px !important;
    flex: 0 0 260px !important;
  }
}
.onsus-search .select2-container .select2-selection--single {
  height: 48px !important;
  border: 0 !important;
  background: transparent !important;
  border-radius: 5px 0 0 5px !important;
}
.onsus-search .select2-container .select2-selection__rendered {
  line-height: 48px !important;
  padding-left: 14px !important;
  font-size: 13px !important;
  color: #333 !important;
}
.onsus-search .select2-container .select2-selection__arrow { height: 48px !important; }
.onsus-search__field {
  flex: 1 !important;
  min-width: 0 !important;
  position: relative !important;
  display: flex !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
}
.onsus-search__field input,
.onsus-search input#hdr_search {
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  padding: 0 14px !important;
  font-size: 14px !important;
  background: #fff !important;
  border-radius: 0 !important;
  margin: 0 !important;
}
.onsus-search__submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-width: 110px !important;
  padding: 0 20px !important;
  border: 0 !important;
  border-radius: 0 5px 5px 0 !important;
  background: var(--themeColorTwo, #e11d2e) !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  margin: 0 !important;
  height: auto !important;
  cursor: pointer !important;
  position: static !important;
  width: auto !important;
  box-shadow: none !important;
}
.onsus-search__submit:hover,
.onsus-search__submit:focus {
  filter: brightness(.95);
  color: #fff !important;
  background: var(--themeColorTwo, #e11d2e) !important;
}

/* ACTIONS – isolated, no style.css .menu_icon fights */
.onsus-mainbar__actions {
  align-items: center !important;
  justify-content: flex-end !important;
  flex-shrink: 0 !important;
  min-width: 300px !important;
}
.onsus-mainbar__actions.d-none { display: none !important; }
@media (min-width: 992px) {
  .onsus-mainbar__actions,
  .onsus-mainbar__actions.d-none.d-lg-flex { display: flex !important; }
}
.onsus-actions,
ul.onsus-actions {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;
  gap: 14px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-wrap: nowrap !important;
  float: none !important;
  width: auto !important;
  height: auto !important;
}
.onsus-actions > li,
.onsus-actions > li.os-act {
  position: relative !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  width: auto !important;
  height: auto !important;
  display: block !important;
}
html body .onsus-actions .os-act__link,
.os-act__link {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  text-decoration: none !important;
  color: #222 !important;
  padding: 2px 4px !important;
  position: relative !important;
  background: transparent !important;
  border: 0 !important;
  margin: 0 !important;
  width: auto !important;
  min-width: 72px !important;
  max-width: 88px !important;
  height: auto !important;
  line-height: 1.15 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
html body .onsus-actions .os-act__icon,
.os-act__icon {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: #f3f4f6 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 17px !important;
  color: #1f2937 !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  position: static !important;
  line-height: 1 !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  box-shadow: none !important;
}
.os-act__icon i {
  display: inline-block !important;
  font-style: normal !important;
  line-height: 1 !important;
  color: #1f2937 !important;
  background: none !important;
  -webkit-mask: none !important;
  mask: none !important;
  width: auto !important;
  height: auto !important;
}
.os-act__icon img { display: none !important; }
/* Jemný hover – svetlý nádych značkovej farby, aby červená bublina s počtom
   ostala výrazná a nesplývala s ikonou. */
.os-act__link .os-act__icon {
  transition: background-color .18s ease, box-shadow .18s ease, color .18s ease !important;
}
.os-act__link:hover .os-act__icon,
.os-act__link:focus-visible .os-act__icon {
  background: color-mix(in srgb, var(--themeColorTwo, #e11d2e) 10%, #fff) !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--themeColorTwo, #e11d2e) 28%, #fff) !important;
}
.os-act__link:hover .os-act__icon i,
.os-act__link:focus-visible .os-act__icon i {
  color: var(--themeColorTwo, #e11d2e) !important;
}
.os-act__link:hover .os-act__label {
  color: var(--themeColorTwo, #e11d2e) !important;
}
.os-act__link:hover .os-act__badge {
  box-shadow: 0 0 0 2px #fff !important;
}
.os-act__badge {
  position: absolute !important;
  top: -2px !important;
  left: 50% !important;
  margin-left: 10px !important;
  min-width: 18px !important;
  height: 18px !important;
  padding: 0 5px !important;
  border-radius: 999px !important;
  background: var(--themeColorTwo, #e11d2e) !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  font-style: normal !important;
  line-height: 18px !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 3 !important;
  transform: none !important;
  width: auto !important;
  right: auto !important;
  text-align: center !important;
}
.os-act__badge:not(:empty) { display: inline-flex !important; }
.os-act__label {
  font-size: 12px !important;
  font-weight: 600 !important;
  max-width: 80px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #333 !important;
  position: static !important;
  background: transparent !important;
  width: auto !important;
  height: auto !important;
  line-height: 1.2 !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  border-radius: 0 !important;
  display: block !important;
  text-align: center !important;
}
/* Guest register sits beside login – slightly wider so the label fits */
.os-act--register .os-act__link {
  min-width: 84px !important;
  max-width: 104px !important;
}
.os-act--register .os-act__label {
  max-width: 100px !important;
}
@media (max-width: 1199.98px) {
  .os-act__label { display: none !important; }
  .os-act__link { min-width: 48px !important; max-width: 56px !important; padding: 4px !important; }
  .onsus-mainbar__actions { min-width: 0 !important; }
}

.os-act__dropdown {
  display: none !important;
  position: absolute !important;
  right: 0 !important;
  top: calc(100% + 6px) !important;
  min-width: 210px !important;
  background: #fff !important;
  border: 1px solid #eee !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.12) !important;
  border-radius: 8px !important;
  padding: 8px 0 !important;
  z-index: 90 !important;
  list-style: none !important;
  margin: 0 !important;
}
/* Invisible bridge so pointer can travel from trigger into menu without leaving :hover */
.os-act__dropdown::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: -10px !important;
  height: 10px !important;
}
.os-act--user:hover .os-act__dropdown { display: block !important; }
.os-act__dropdown a {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 16px !important;
  color: #333 !important;
  text-decoration: none !important;
  font-size: 13px !important;
  width: auto !important;
  height: auto !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}
.os-act__dropdown a:hover {
  background: #f7f7f7 !important;
  color: var(--themeColorTwo, #e11d2e) !important;
}
.os-act__dropdown a i { width: 16px; text-align: center; }

/* NAV */
.onsus-nav {
  background: #fff !important;
  border-bottom: 1px solid #eee !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  position: relative !important;
  z-index: 50 !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.onsus-nav__row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 54px !important;
}
.onsus-nav__cats-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 280px !important;
  min-width: 260px !important;
  max-width: 100% !important;
  background: var(--themeColorTwo, #e11d2e) !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  padding: 14px 16px !important;
  border-radius: 4px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  border: 0 !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}
@media (min-width: 1400px) {
  .onsus-nav__cats-btn { width: 300px !important; }
  .os-hero__grid { grid-template-columns: 300px minmax(0, 1fr) 300px !important; }
  .os-cats { min-height: 440px !important; max-height: 440px !important; }
}
.onsus-nav__cats-btn:hover { filter: brightness(.95); color: #fff !important; }
html body .onsus-nav .onsus-nav__links,
.onsus-nav__links {
  display: flex !important;
  align-items: center !important;
  gap: 2px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 1 1 auto !important;
  flex-wrap: wrap !important;
  visibility: visible !important;
  opacity: 1 !important;
  float: none !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
}
html body .onsus-nav .onsus-nav__links > li,
.onsus-nav__links > li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: auto !important;
  height: auto !important;
}
html body .onsus-nav .onsus-nav__links > li > a,
.onsus-nav__links > li > a {
  display: block !important;
  padding: 14px 14px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #111 !important;
  text-decoration: none !important;
  background: transparent !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: auto !important;
  height: auto !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}
.onsus-nav__links > li > a:hover,
.onsus-nav__links > li > a.active {
  color: var(--themeColorTwo, #e11d2e) !important;
}
.onsus-nav__support {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-left: auto !important;
  text-decoration: none !important;
  color: #222 !important;
  white-space: nowrap !important;
  padding-left: 12px !important;
}
.onsus-nav__support-icon {
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  background: #fee2e2 !important;
  color: var(--themeColorTwo, #e11d2e) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 18px !important;
}
.onsus-nav__support strong {
  display: block !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  color: #111 !important;
}
.onsus-nav__support small {
  display: block !important;
  font-size: 10px !important;
  color: #888 !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  line-height: 1.2 !important;
  margin-bottom: 1px !important;
}

/* HERO BANNER FIX */
.os-hero__slider {
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #111 !important;
  position: relative !important;
  min-height: 420px !important;
}
.os-hero__slider .os-slider { margin: 0 !important; }
.os-hero__slider .slick-list,
.os-hero__slider .slick-track { margin: 0 !important; }
.os-slide {
  position: relative !important;
  min-height: 420px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: #111 !important;
  overflow: hidden !important;
  display: block !important;
}
.os-slide__img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
}
.os-slide__text {
  position: relative !important;
  z-index: 2 !important;
  max-width: 55% !important;
  color: #fff !important;
  padding: 48px 52px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 420px !important;
  background: transparent !important;
}
.os-promos {
  display: grid !important;
  grid-template-rows: 1fr 1fr !important;
  gap: 16px !important;
  min-height: 420px !important;
}
.os-promo {
  position: relative !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #eee !important;
  min-height: 0 !important;
}
.os-promo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  margin: 0 !important;
}

.os-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: var(--themeColorTwo, #e11d2e) !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  padding: 12px 22px !important;
  border-radius: 4px !important;
  text-decoration: none !important;
  border: 0 !important;
}

@media (max-width: 1199.98px) {
  .onsus-nav__cats-btn { width: auto !important; }
  .os-hero__grid { grid-template-columns: minmax(0,1fr) 240px !important; }
  .os-cats { display: none !important; }
}
@media (max-width: 767.98px) {
  .os-hero__grid { grid-template-columns: 1fr !important; }
  .os-promos {
    grid-template-rows: none !important;
    grid-template-columns: 1fr 1fr !important;
    min-height: 0 !important;
  }
  .os-promo { min-height: 140px !important; }
  .os-hero__slider, .os-slide, .os-slide__text { min-height: 240px !important; }
  .os-slide__text { padding: 24px !important; max-width: 90% !important; }
}

/* ==========================================================================
   MOBILE BOTTOM NAV — floating dock (< lg)
   Dock height --os-bnb-h; float insets --os-bnb-inset-*; stack clearance
   --os-bnb-stack (= h + inset-b + safe-area). Keep in sync with sheet / bubble.
   ========================================================================== */
.os-bottom-nav {
  display: none;
}
@media (max-width: 991.98px) {
  :root {
    --os-bnb-h: 60px;
    --os-bnb-inset-x: 14px;
    --os-bnb-inset-b: 12px;
    --os-bnb-radius: 24px;
    --os-bnb-stack: calc(var(--os-bnb-h) + var(--os-bnb-inset-b) + env(safe-area-inset-bottom, 0px));
  }
  body {
    padding-bottom: var(--os-bnb-stack) !important;
  }
  .os-bottom-nav {
    display: flex !important;
    position: fixed !important;
    left: max(var(--os-bnb-inset-x), env(safe-area-inset-left, 0px)) !important;
    right: max(var(--os-bnb-inset-x), env(safe-area-inset-right, 0px)) !important;
    bottom: calc(var(--os-bnb-inset-b) + env(safe-area-inset-bottom, 0px)) !important;
    /* Above categories sheet so bar stays tappable while sheet is open */
    z-index: 1070 !important;
    align-items: stretch !important;
    justify-content: space-between !important;
    gap: 0 !important;
    width: auto !important;
    max-width: none !important;
    min-height: var(--os-bnb-h) !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    padding: 6px 6px !important;
    margin: 0 !important;
    background: rgba(255, 255, 255, .92) !important;
    -webkit-backdrop-filter: saturate(1.25) blur(18px) !important;
    backdrop-filter: saturate(1.25) blur(18px) !important;
    border: 1px solid rgba(17, 17, 17, .07) !important;
    border-radius: var(--os-bnb-radius) !important;
    box-shadow:
      0 1px 0 rgba(255, 255, 255, .75) inset,
      0 10px 28px rgba(17, 17, 17, .12),
      0 2px 8px rgba(17, 17, 17, .06) !important;
  }
  .os-bottom-nav__item {
    position: relative !important;
    flex: 1 1 0 !important;
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    min-width: 0 !important;
    max-width: 20% !important;
    padding: 5px 2px 4px !important;
    margin: 0 1px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: transparent !important;
    color: #6b7280 !important;
    text-decoration: none !important;
    font-size: 8px !important;
    font-weight: 500 !important;
    letter-spacing: -.01em !important;
    line-height: 1.15 !important;
    cursor: pointer !important;
    -webkit-tap-highlight-color: transparent !important;
    transition: color .18s ease, background-color .18s ease !important;
  }
  /* Extra specificity override – prevents theme/style.css from upsizing labels */
  nav.os-bottom-nav .os-bottom-nav__item > span,
  nav.os-bottom-nav .os-bottom-nav__item > span:last-child {
    font-size: 9px !important;
    line-height: 1.15 !important;
    font-weight: 500 !important;
    letter-spacing: -.01em !important;
  }
  /* No top-bar indicator — active uses tint + colored label only */
  .os-bottom-nav__item::before {
    content: none !important;
    display: none !important;
  }
  .os-bottom-nav__item > i,
  .os-bottom-nav__icon-wrap > i {
    font-size: 18px !important;
    line-height: 1 !important;
    transition: color .18s ease !important;
  }
  .os-bottom-nav__item > span:last-child {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    text-align: center !important;
    padding: 0 1px !important;
    font-weight: inherit !important;
    transition: font-weight .15s ease, color .18s ease !important;
  }
  .os-bottom-nav__icon-wrap {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 22px !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transition: none !important;
  }
  .os-bottom-nav__badge {
    position: absolute !important;
    top: -4px !important;
    right: -7px !important;
    min-width: 14px !important;
    height: 14px !important;
    padding: 0 3px !important;
    border-radius: 999px !important;
    background: var(--themeColorTwo, #e11d2e) !important;
    color: #fff !important;
    font-size: 8px !important;
    font-weight: 800 !important;
    font-style: normal !important;
    line-height: 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 0 0 2px #fff !important;
  }
  .os-bottom-nav__badge:empty,
  .os-bottom-nav__badge.is-zero {
    display: none !important;
  }
  /* Active: soft tint + brand-colored label (no top bar) */
  .os-bottom-nav__item.is-active,
  .os-bottom-nav__item:active {
    color: var(--themeColorTwo, #e11d2e) !important;
    background: color-mix(in srgb, var(--themeColorTwo, #e11d2e) 9%, #fff) !important;
    font-weight: 500 !important;
  }
  .os-bottom-nav__item.is-active .os-bottom-nav__icon-wrap {
    background: transparent !important;
    box-shadow: none !important;
  }
  .os-bottom-nav__item.is-active .os-bottom-nav__icon-wrap > i {
    transform: none !important;
    color: var(--themeColorTwo, #e11d2e) !important;
  }
  .os-bottom-nav__item--cart.is-active,
  .os-bottom-nav__item--cart:active {
    color: var(--themeColorCta, #ff4c1a) !important;
    background: color-mix(in srgb, var(--themeColorCta, #ff4c1a) 10%, #fff) !important;
  }
  .os-bottom-nav__item--cart.is-active .os-bottom-nav__icon-wrap {
    background: transparent !important;
    box-shadow: none !important;
  }
  .os-bottom-nav__item--cart.is-active .os-bottom-nav__icon-wrap > i {
    color: var(--themeColorCta, #ff4c1a) !important;
  }
  /* Keep scroll-to-top clear of the floating dock */
  .progress-wrap {
    bottom: calc(var(--os-bnb-stack) + 12px) !important;
    right: 16px !important;
  }

  /* Extra-compact under ~400px so all 5 labels fit */
  @media (max-width: 400px) {
    :root {
      --os-bnb-h: 56px;
      --os-bnb-inset-x: 12px;
      --os-bnb-inset-b: 10px;
      --os-bnb-radius: 22px;
    }
    .os-bottom-nav {
      padding: 5px 4px !important;
    }
    .os-bottom-nav__item {
      font-size: 7.5px !important;
      gap: 2px !important;
      letter-spacing: -.02em !important;
      padding: 4px 1px 3px !important;
      border-radius: 12px !important;
    }
    .os-bottom-nav__item > i,
    .os-bottom-nav__icon-wrap > i {
      font-size: 17px !important;
    }
    .os-bottom-nav__icon-wrap {
      width: 22px !important;
      height: 20px !important;
    }
    .os-bottom-nav__badge {
      top: -3px !important;
      right: -6px !important;
      min-width: 13px !important;
      height: 13px !important;
      font-size: 7.5px !important;
      line-height: 13px !important;
    }
  }
}

/* ==========================================================================
   CATEGORIES BOTTOM SHEET (from bottom nav “Kategórie”)
   ========================================================================== */
.os-cats-sheet {
  display: none;
}
@media (max-width: 991.98px) {
  html.os-cats-sheet-open,
  body.os-cats-sheet-open {
    overflow: hidden !important;
  }

  .os-cats-sheet {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 1060;
    pointer-events: none;
  }
  .os-cats-sheet.is-open {
    pointer-events: auto;
  }
  .os-cats-sheet[hidden] {
    display: none !important;
  }

  .os-cats-sheet__backdrop {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    /* Leave floating dock undimmed / clear */
    bottom: var(--os-bnb-stack, calc(68px + 12px + env(safe-area-inset-bottom, 0px)));
    background: rgba(17, 17, 17, .48);
    opacity: 0;
    transition: opacity .28s ease;
    -webkit-tap-highlight-color: transparent;
  }
  .os-cats-sheet.is-open .os-cats-sheet__backdrop {
    opacity: 1;
  }

  .os-cats-sheet__panel {
    position: absolute;
    left: 0;
    right: 0;
    /* Sit above floating dock (nav z-index stays higher / tappable) */
    bottom: var(--os-bnb-stack, calc(68px + 12px + env(safe-area-inset-bottom, 0px)));
    display: flex;
    flex-direction: column;
    max-height: min(78vh, 640px);
    padding-bottom: 8px;
    background:
      linear-gradient(180deg, #fff7f4 0%, #fff 56px),
      #fff;
    border-radius: 20px 20px 0 0;
    box-shadow: 0 -12px 40px rgba(17, 17, 17, .18);
    transform: translate3d(0, 110%, 0);
    transition: transform .3s cubic-bezier(.22, 1, .36, 1);
    overflow: hidden;
  }
  .os-cats-sheet.is-open .os-cats-sheet__panel {
    transform: translate3d(0, 0, 0);
  }

  .os-cats-sheet__handle {
    width: 40px;
    height: 4px;
    margin: 10px auto 0;
    border-radius: 999px;
    background: #e5e7eb;
    flex-shrink: 0;
  }

  .os-cats-sheet__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px 10px;
    border-bottom: 1px solid #f0f0f0;
    flex-shrink: 0;
  }
  .os-cats-sheet__title {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 800;
    letter-spacing: -.02em;
    color: #111;
    line-height: 1.2;
  }
  .os-cats-sheet__title::after {
    content: "";
    display: block;
    width: 28px;
    height: 3px;
    margin-top: 6px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--themeColorTwo, #e11d2e), var(--themeColorCta, #ff4c1a));
  }
  .os-cats-sheet__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #f3f4f6;
    color: #374151;
    font-size: 15px;
    cursor: pointer;
    transition: background .15s ease, color .15s ease, transform .15s ease;
    -webkit-tap-highlight-color: transparent;
  }
  .os-cats-sheet__close:hover,
  .os-cats-sheet__close:active {
    background: color-mix(in srgb, var(--themeColorTwo, #e11d2e) 12%, #fff);
    color: var(--themeColorTwo, #e11d2e);
  }
  .os-cats-sheet__close:active {
    transform: scale(.96);
  }

  .os-cats-sheet__body {
    flex: 1 1 auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding: 6px 10px 16px;
  }

  .os-cats-sheet__list,
  .os-cats-sheet__sub {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .os-cats-sheet__item {
    margin: 0;
  }
  .os-cats-sheet__row {
    display: flex;
    align-items: center;
    gap: 4px;
    min-height: 48px;
    border-radius: 12px;
    transition: background .15s ease;
  }
  .os-cats-sheet__item:not(.os-cats-sheet__item--all) > .os-cats-sheet__row:hover,
  .os-cats-sheet__item:not(.os-cats-sheet__item--all) > .os-cats-sheet__row:active {
    background: #fafafa;
  }

  .os-cats-sheet__link {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 10px 8px 10px 10px;
    color: #111;
    text-decoration: none;
    font-weight: 600;
    font-size: .95rem;
    line-height: 1.25;
    -webkit-tap-highlight-color: transparent;
  }
  .os-cats-sheet__link:hover,
  .os-cats-sheet__link:focus-visible {
    color: var(--themeColorTwo, #e11d2e);
  }

  .os-cats-sheet__thumb {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: color-mix(in srgb, var(--themeColorTwo, #e11d2e) 9%, #fff);
    color: var(--themeColorTwo, #e11d2e);
    font-size: 17px;
    overflow: hidden;
  }
  .os-cats-sheet__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .os-cats-sheet__thumb i {
    line-height: 1;
  }

  .os-cats-sheet__text {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .os-cats-sheet__toggle {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 4px 0 0;
    padding: 0;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #9ca3af;
    font-size: 12px;
    cursor: pointer;
    transition: color .15s ease, background .15s ease, transform .2s ease;
    -webkit-tap-highlight-color: transparent;
  }
  .os-cats-sheet__toggle:hover,
  .os-cats-sheet__toggle:active {
    background: #f3f4f6;
    color: var(--themeColorTwo, #e11d2e);
  }
  .os-cats-sheet__item.is-open > .os-cats-sheet__row .os-cats-sheet__toggle {
    color: var(--themeColorTwo, #e11d2e);
    transform: rotate(180deg);
  }

  .os-cats-sheet__sub {
    display: none;
    padding: 0 0 6px 18px;
    margin: 0 0 4px 22px;
    border-left: 2px solid color-mix(in srgb, var(--themeColorCta, #ff4c1a) 35%, #f3f4f6);
  }
  .os-cats-sheet__item.is-open > .os-cats-sheet__sub {
    display: block;
  }
  .os-cats-sheet__sub .os-cats-sheet__row {
    min-height: 40px;
  }
  .os-cats-sheet__sub .os-cats-sheet__link {
    padding: 8px 8px 8px 10px;
    font-size: .9rem;
    font-weight: 500;
    color: #374151;
  }
  .os-cats-sheet__sub .os-cats-sheet__thumb {
    display: none;
  }

  .os-cats-sheet__item--all {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px dashed #ececec;
  }
  .os-cats-sheet__item--all .os-cats-sheet__link {
    color: var(--themeColorTwo, #e11d2e);
    font-weight: 700;
  }
  .os-cats-sheet__item--all .os-cats-sheet__thumb {
    background: linear-gradient(135deg, var(--themeColorTwo, #e11d2e), var(--themeColorCta, #ff4c1a));
    color: #fff;
  }
  .os-cats-sheet__item--all .os-cats-sheet__row:hover,
  .os-cats-sheet__item--all .os-cats-sheet__row:active {
    background: color-mix(in srgb, var(--themeColorTwo, #e11d2e) 6%, #fff);
  }
}
