@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@1,500;1,600&family=Manrope:wght@400;500;600;700;800&display=swap");

:root {
  --ohlala-page: #FFFDF9;
  --ohlala-cream: #F7F2E8;
  --ohlala-white: #FFFDF8;
  --ohlala-coral: #E87557;
  --ohlala-coral-text: #B64A35;
  --ohlala-coral-script: #C95E43;
  --ohlala-yellow: #F3D66F;
  --ohlala-teal: #5D8D84;
  --ohlala-teal-hover: #4E7C74;
  --ohlala-black: #292724;
  --ohlala-coral-light: #F6C7B9;
  --ohlala-yellow-light: #FAEFC1;
  --ohlala-teal-light: #C8DED7;
  --ohlala-teal-wash: #EFF6F3;
  --ohlala-border: #E4DED3;
  --ohlala-muted: #6F6B65;
  --ohlala-success: #3F6A63;
  --ohlala-danger: #B64A35;
  --ohlala-radius-input: 12px;
  --ohlala-radius-card: 18px;
  --ohlala-radius-pill: 999px;
  --ohlala-shadow-card: 0 4px 14px rgba(41, 39, 36, .08);
  --color-primary: #C8DED7 !important;
  --color-primary-h: 161 !important;
  --color-primary-s: 25% !important;
  --color-primary-l: 82.7% !important;
  --color-primary-hover: #4E7C74 !important;
  --color-primary-hover-h: 169.6 !important;
  --color-primary-hover-s: 22.8% !important;
  --color-primary-hover-l: 39.6% !important;
  --color-secondary: #C8DED7 !important;
  --color-secondary-h: 161 !important;
  --color-secondary-s: 25% !important;
  --color-secondary-l: 82.7% !important;
  --color-secondary-hover: #4E7C74 !important;
  --color-secondary-hover-h: 169.6 !important;
  --color-secondary-hover-s: 22.8% !important;
  --color-secondary-hover-l: 39.6% !important;
  --color-tertiary: #C8DED7 !important;
  --color-tertiary-hover: #F7F2E8 !important;
}

/* Vetsi bocni odsazeni pouze pro hlavni obsah homepage a kategorii. */
@media (min-width: 992px) and (max-width: 1399px) {
  body.type-index #content,
  body.in-index #content,
  body.type-category #content {
    width: 100% !important;
    padding-right: 32px !important;
    padding-left: 32px !important;
    box-sizing: border-box !important;
  }
}

@media (min-width: 1400px) {
  body.type-index #content,
  body.in-index #content,
  body.type-category #content {
    width: 100% !important;
    padding-right: 56px !important;
    padding-left: 56px !important;
    box-sizing: border-box !important;
  }
}

html,
body,
.overall-wrapper,
#content-wrapper,
.content-wrapper-in {
  background-color: var(--ohlala-page) !important;
  color: var(--ohlala-black);
}

body,
input,
textarea,
select,
button {
  font-family: "Manrope", Arial, sans-serif !important;
  color: var(--ohlala-black);
}

a {
  color: var(--ohlala-success);
}

a:hover {
  color: var(--ohlala-black);
}

main,
#content,
#header,
#navigation,
footer,
.footer,
.product,
.products,
.breadcrumbs,
.subcategories,
.listSorting,
.btn {
  font-family: "Manrope", Arial, sans-serif !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.category-title,
.products-top-header,
.homepage-group-title {
  color: var(--ohlala-black) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -.035em !important;
}

h1,
.h1,
.category-title {
  font-size: clamp(32px, 3vw, 40px) !important;
  line-height: 1.08 !important;
}

h2,
.h2,
.products-top-header,
.homepage-group-title {
  font-size: clamp(27px, 2.4vw, 32px) !important;
  line-height: 1.15 !important;
}

.top-navigation-bar,
.top-navigation-bar .container {
  background: #C8DED7 !important;
  color: #292724 !important;
}

.top-navigation-bar .top-navigation-contacts {
  background: #FFFDF8 !important;
  color: #292724 !important;
}

.top-navigation-bar .top-navigation-contacts strong,
.top-navigation-bar .top-navigation-contacts a,
.top-navigation-bar .top-navigation-contacts span,
.top-navigation-bar .top-navigation-bar-menu a {
  color: #292724 !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-weight: 500 !important;
}

.top-navigation-bar a:hover,
.top-navigation-bar .top-navigation-contacts a:hover {
  color: #4E7C74 !important;
}

#header,
#header .header-top,
#header .header-top > .container,
#header > .container {
  background-color: var(--ohlala-white) !important;
  color: var(--ohlala-black) !important;
}

#header a,
#header button {
  color: var(--ohlala-black);
}

#header .top-nav-button-login,
#header .cart-count,
#header [data-testid="signin"],
#header [data-testid="headerCart"] {
  font-family: "Manrope", Arial, sans-serif !important;
  font-weight: 600 !important;
}

#header a:hover,
#header button:hover {
  color: var(--ohlala-coral-text);
}

.navigation-wrapper,
.navigation-wrapper > .container,
#navigation,
#navigation .navigation-in {
  background-color: var(--ohlala-white) !important;
  color: var(--ohlala-black) !important;
}

.navigation-wrapper {
  border-top: 1px solid var(--ohlala-border) !important;
  border-bottom: 1px solid var(--ohlala-border) !important;
}

#navigation .navigation-in > ul > li > a {
  background-color: transparent !important;
  color: var(--ohlala-black) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: -.01em !important;
}

#navigation .navigation-in > ul > li > a:hover,
#navigation .navigation-in > ul > li.active > a,
#navigation .navigation-in > ul > li.exp > a {
  background-color: transparent !important;
  color: var(--ohlala-teal-hover) !important;
}

/* Aktivni polozka hlavni navigace */
#navigation .navigation-in > ul > li.exp > a,
#navigation .navigation-in > ul > li.active > a {
  box-shadow: inset 0 -2px 0 var(--ohlala-teal-hover) !important;
}

#navigation .navigation-in > ul > li.exp > a .submenu-arrow::after,
#navigation .navigation-in > ul > li.active > a .submenu-arrow::after,
#navigation .navigation-in > ul > li > a:hover .submenu-arrow::after {
  color: var(--ohlala-teal-hover) !important;
}

/* Kompaktni desktopove mega-menu */
@media (min-width: 992px) {
  /* Hlavni kategorie nejsou nalepene na okraje navigacniho pruhu. */
  #navigation .navigation-in > ul.menu-level-1 {
    width: 100% !important;
    padding-right: 28px !important;
    padding-left: 28px !important;
    box-sizing: border-box !important;
  }

  #navigation .navigation-in > ul > li.ext > .menu-level-2 {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    column-gap: 28px !important;
    row-gap: 4px !important;
    padding: 18px 24px 14px !important;
    background: var(--ohlala-white) !important;
    border-top: 1px solid var(--ohlala-teal-light) !important;
    border-bottom: 1px solid var(--ohlala-border) !important;
    box-shadow: 0 14px 28px rgba(41, 39, 36, .09) !important;
  }

  #navigation .menu-level-2 > li:not(.menu-item-category) {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #navigation .menu-level-2 > li:not(.menu-item-category) > .menu-no-image {
    width: 100% !important;
    height: 100% !important;
  }

  #navigation .menu-level-2 > li:not(.menu-item-category) > .menu-no-image > a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 46px !important;
    padding: 10px 6px !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--ohlala-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--ohlala-black) !important;
    font-family: "Manrope", Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease, padding .2s ease !important;
  }

  #navigation .menu-level-2 > li:not(.menu-item-category) > .menu-no-image > a::after {
    content: "\2192" !important;
    flex: 0 0 auto !important;
    margin-left: 12px !important;
    color: var(--ohlala-teal) !important;
    font-family: Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
  }

  #navigation .menu-level-2 > li:not(.menu-item-category) > .menu-no-image > a:hover,
  #navigation .menu-level-2 > li:not(.menu-item-category) > .menu-no-image > a:focus-visible {
    padding-right: 10px !important;
    padding-left: 10px !important;
    background: var(--ohlala-teal-wash) !important;
    border-bottom-color: var(--ohlala-teal-light) !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    color: var(--ohlala-success) !important;
    transform: none !important;
  }

  #navigation .menu-level-2 > .menu-item-category {
    grid-column: 1 / -1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: 100% !important;
    min-height: 34px !important;
    margin: 2px 0 0 !important;
    padding: 8px 0 0 !important;
    border-top: 0 !important;
  }

  #navigation .menu-level-2 > .menu-item-category > a:first-child {
    display: none !important;
  }

  #navigation .menu-level-2 > .menu-item-category > div {
    margin-left: 0 !important;
  }

  #navigation .menu-level-2 > .menu-item-category > div > a {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 30px !important;
    padding: 4px 0 !important;
    color: var(--ohlala-muted) !important;
    font-family: "Manrope", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
  }

  #navigation .menu-level-2 > .menu-item-category > div > a::after {
    content: "\2192" !important;
    margin-left: 8px !important;
    color: var(--ohlala-teal) !important;
    font-family: Arial, sans-serif !important;
    font-size: 15px !important;
  }

  #navigation .menu-level-2 > .menu-item-category > div > a:hover,
  #navigation .menu-level-2 > .menu-item-category > div > a:focus-visible {
    color: var(--ohlala-success) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
  }

  body.submenu-visible #cboxOverlay {
    background: rgba(41, 39, 36, .28) !important;
    opacity: 1 !important;
  }
}

@media (min-width: 1600px) {
  #navigation .navigation-in > ul > li.ext > .menu-level-2 {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  }
}

#navigation a[href*="firemni"] {
  color: var(--ohlala-black) !important;
}

#navigation a[href*="firemni"]:hover,
#navigation li.active > a[href*="firemni"],
#navigation li.exp > a[href*="firemni"] {
  color: var(--ohlala-teal-hover) !important;
}

#header .search-form,
#header .search-form input,
#header .search-input {
  background-color: var(--ohlala-cream) !important;
  color: var(--ohlala-black) !important;
}

#header .search-form input {
  border-color: var(--ohlala-cream) !important;
}

#header .search-form input::placeholder {
  color: var(--ohlala-muted) !important;
  font-weight: 500 !important;
  opacity: 1;
}

/* Vyhledávací pole a tlačítko vždy v jednom řádku */
#formSearchForm,
#formSearchForm fieldset {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}

#formSearchForm input.search-input {
  display: block !important;
  width: 100% !important;
  padding-right: 80px !important;
  border-radius: var(--ohlala-radius-input) !important;
  box-sizing: border-box !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
}

#header .search-form button,
#header .search-form .btn {
  background-color: #C8DED7 !important;
  border-color: #C8DED7 !important;
  color: #292724 !important;
}

#header .search-form button:hover,
#header .search-form .btn:hover {
  background-color: #4E7C74 !important;
  border-color: #4E7C74 !important;
  color: #FFFDF8 !important;
}

#formSearchForm button[data-testid="searchBtn"],
#formSearchForm button[data-testid="searchBtn"]:hover,
#formSearchForm button[data-testid="searchBtn"]:focus,
#formSearchForm button[data-testid="searchBtn"]:active {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: none !important;
  width: 64px !important;
  min-width: 64px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 0 var(--ohlala-radius-input) var(--ohlala-radius-input) 0 !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: 0 !important;
}

#formSearchForm button[data-testid="searchBtn"]::before {
  position: static !important;
  inset: auto !important;
  display: block !important;
  margin: 0 !important;
  color: #292724 !important;
  font-family: "apollo" !important;
  font-size: 23px !important;
  line-height: 1 !important;
  opacity: 1 !important;
  transform: none !important;
}

#formSearchForm button[data-testid="searchBtn"]:hover::before,
#formSearchForm button[data-testid="searchBtn"]:focus::before,
#formSearchForm button[data-testid="searchBtn"]:active::before {
  color: #FFFDF8 !important;
}

.btn.btn-conversion,
.btn.btn-cart,
.add-to-cart-button,
button.add-to-cart-button {
  background-color: #C8DED7 !important;
  border-color: #C8DED7 !important;
  border-radius: var(--ohlala-radius-pill) !important;
  color: #292724 !important;
  box-shadow: none !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: -.01em !important;
}

.btn.btn-conversion:hover,
.btn.btn-cart:hover,
.add-to-cart-button:hover,
button.add-to-cart-button:hover {
  background-color: #4E7C74 !important;
  border-color: #4E7C74 !important;
  color: #FFFDF8 !important;
}

.btn.btn-primary {
  background-color: #C8DED7 !important;
  border-color: #C8DED7 !important;
  border-radius: var(--ohlala-radius-pill) !important;
  color: #292724 !important;
  box-shadow: none !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-weight: 700 !important;
}

.btn.btn-primary:hover {
  background-color: #4E7C74 !important;
  border-color: #4E7C74 !important;
  color: #FFFDF8 !important;
}

input,
textarea,
select {
  border-color: var(--ohlala-border) !important;
  border-radius: var(--ohlala-radius-input) !important;
  font-family: "Manrope", Arial, sans-serif !important;
}

input:focus,
textarea:focus,
select:focus {
  border-color: var(--ohlala-teal) !important;
  box-shadow: 0 0 0 3px rgba(78, 124, 116, .18) !important;
  outline: none !important;
}

/* ==================================================
   OHLALA TYPOGRAFIE A KOMPONENTY
   ================================================== */

/* Běžné textové odkazy: čitelný hover bez světlé korálové */
#content a:not(.btn):not(.add-to-cart-button):hover,
.content-wrapper-in a:not(.btn):not(.add-to-cart-button):hover {
  color: var(--ohlala-black) !important;
}

/* Drobečková navigace */
.breadcrumbs,
.breadcrumbs a,
.breadcrumbs span {
  color: var(--ohlala-muted) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

.breadcrumbs a:hover {
  color: var(--ohlala-black) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

/* Podkategorie na výpisu */
.subcategories li a {
  background: #F1E5D5 !important;
  border: 1px solid var(--ohlala-border) !important;
  border-radius: var(--ohlala-radius-card) !important;
  box-shadow: var(--ohlala-shadow-card) !important;
  color: var(--ohlala-black) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-weight: 700 !important;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease !important;
}

.subcategories li a:hover {
  border-color: var(--ohlala-teal-light) !important;
  box-shadow: 0 8px 22px rgba(41, 39, 36, .10) !important;
  color: var(--ohlala-black) !important;
  transform: translateY(-2px) !important;
}

/* Řazení produktů */
.listSorting__control {
  min-height: 42px !important;
  background: var(--ohlala-teal-light) !important;
  border: 1px solid transparent !important;
  border-radius: var(--ohlala-radius-pill) !important;
  color: var(--ohlala-black) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .015em !important;
  box-shadow: none !important;
  transition: background-color .2s ease, color .2s ease, transform .2s ease !important;
}

.listSorting__control:hover,
.listSorting__control:focus-visible {
  background: var(--ohlala-teal-hover) !important;
  border-color: var(--ohlala-teal-hover) !important;
  color: var(--ohlala-white) !important;
  transform: translateY(-1px) !important;
}

.listSorting__control--current,
.listSorting__control--current:hover,
.listSorting__control--current:focus-visible {
  background: var(--ohlala-black) !important;
  border-color: var(--ohlala-black) !important;
  color: var(--ohlala-white) !important;
}

/* Produktové názvy, ceny a dostupnost */
.product .name,
.product .name a,
.products .name,
.products .name a {
  color: var(--ohlala-black) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: -.015em !important;
  line-height: 1.38 !important;
}

/* Hlavni nazev na detailu produktu zustava vyraznejsi nez na kartach. */
.p-name,
.p-name a {
  color: var(--ohlala-black) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: -.015em !important;
  line-height: 1.38 !important;
}

.price,
.price-final,
.p-final-price-wrapper,
.p-final-price-wrapper strong {
  color: var(--ohlala-black) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -.02em !important;
}

/* Slevovy priznak na produktovych kartach: klidny koralovy stitek. */
.products .product .image > .flags-extra {
  /* Obrazek presahuje obal .image o 30 px vpravo a 20 px nahoru. */
  top: -8px !important;
  right: -18px !important;
  bottom: auto !important;
  left: auto !important;
  width: auto !important;
  height: auto !important;
  align-items: flex-end !important;
}

.products .product .flag.flag-discount {
  width: auto !important;
  min-width: 64px !important;
  height: auto !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 8px 13px !important;
  background: var(--ohlala-coral) !important;
  border: 2px solid var(--ohlala-white) !important;
  border-radius: var(--ohlala-radius-pill) !important;
  box-shadow: 0 6px 16px rgba(41, 39, 36, .18) !important;
  color: var(--ohlala-white) !important;
}

.products .product .flag.flag-discount::before,
.products .product .flag.flag-discount::after {
  display: none !important;
  content: none !important;
  background: none !important;
}

.products .product .flag.flag-discount .price-save {
  color: var(--ohlala-white) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  letter-spacing: -.01em !important;
}

/* Dostupnost na kartach nezobrazuje dalsi informacni radek. */
.products .product .availability,
.products .product .availability-label {
  display: none !important;
}

/*
 * Kompaktni spodni radek produktove karty na sirokem desktopu:
 * cena vlevo, tlacitko vpravo. Na uzsich kartach zustava puvodni
 * bezpecne vertikalni rozlozeni sablony.
 */
@media (min-width: 1200px) {
  .products .product .p {
    padding-bottom: 30px !important;
  }

  .products .product .p-in {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    width: 100% !important;
  }

  .products .product .p-in-in {
    flex: 1 0 auto !important;
  }

  .products .product .p-bottom {
    display: flex !important;
    align-items: center !important;
    width: calc(100% - 144px) !important;
    min-height: 62px !important;
    margin-top: auto !important;
  }

  .products .product .p-bottom > div,
  .products .product .prices {
    width: 100% !important;
  }

  .products .product .prices {
    display: block !important;
    margin: 0 !important;
  }

  .products .product .price.price-final {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    min-height: 52px !important;
    line-height: 1.15 !important;
  }

  .products .product .price.price-final .price-standard {
    display: block !important;
    margin: 0 0 3px !important;
    color: #77737F !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
    letter-spacing: -.01em !important;
    white-space: nowrap !important;
  }

  /* Shoptet nastavuje velikost i vnorenemu spanu, proto ji sjednocujeme. */
  .products .product .price.price-final .price-standard > span {
    color: #77737F !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
  }

  .products .product .price.price-final > strong {
    display: block !important;
    color: var(--ohlala-black) !important;
    font-size: 22px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    letter-spacing: -.025em !important;
    white-space: nowrap !important;
  }

  .products .product .product-btn {
    position: absolute !important;
    right: 30px !important;
    bottom: 30px !important;
    left: auto !important;
    width: 132px !important;
    height: 52px !important;
    margin: 0 !important;
  }

  .products .product .product-btn form,
  .products .product .product-btn .pr-action {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
  }

  .products .product .product-btn .btn.btn-cart,
  .products .product .product-btn .add-to-cart-button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 52px !important;
    padding: 9px 12px !important;
    font-size: 14px !important;
  }
}

.availability,
.availability-label {
  font-family: "Manrope", Arial, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
}

.availability-label[style*="#3c840f"],
.availability-label[style*="#3C840F"],
.availability-label[style*="rgb(60, 132, 15)"],
.availability span[style*="#3c840f"],
.availability span[style*="#3C840F"],
.availability span[style*="rgb(60, 132, 15)"] {
  color: var(--ohlala-success) !important;
}

.availability-label[style*="#d00000"],
.availability-label[style*="#D00000"],
.availability-label[style*="rgb(208, 0, 0)"],
.availability span[style*="#d00000"],
.availability span[style*="#D00000"],
.availability span[style*="rgb(208, 0, 0)"] {
  color: var(--ohlala-danger) !important;
}

/* Velké tlačítko na detailu produktu */
.p-detail .btn.btn-lg.btn-conversion,
.p-detail .add-to-cart-button,
.type-detail .btn.btn-lg.btn-conversion {
  min-height: 58px !important;
  padding: 15px 26px !important;
  font-size: 17px !important;
  font-weight: 700 !important;
}

/* Množství na detailu produktu */
.quantity,
.quantity input,
.quantity button,
.quantity .increase,
.quantity .decrease {
  border-color: var(--ohlala-border) !important;
  color: var(--ohlala-black) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-weight: 700 !important;
}

.quantity {
  border-radius: var(--ohlala-radius-input) !important;
}

/* Footer */
.footer,
footer,
.footer a,
footer a,
.footer p,
footer p {
  font-family: "Manrope", Arial, sans-serif !important;
}

.footer .pageElement__heading,
footer .pageElement__heading {
  color: var(--ohlala-coral) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
}

/* CTA na vlastních kategoriálních bannerech */
.ohc-title {
  font-family: "Manrope", Arial, sans-serif !important;
  font-weight: 800 !important;
  text-shadow: 0 2px 14px rgba(41, 39, 36, .48) !important;
}

.ohc-button,
a:has(.ohc-title) .btn,
a:has(.ohc-title) [class*="button"] {
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
}

/* Jemný spodní gradient zaručí čitelnost i na světlých obrázcích */
a:has(.ohc-title) {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
}

a:has(.ohc-title)::after {
  content: "" !important;
  position: absolute !important;
  z-index: 1 !important;
  inset: 42% 0 0 !important;
  pointer-events: none !important;
  background: linear-gradient(to top, rgba(41, 39, 36, .55), rgba(41, 39, 36, 0)) !important;
}

a:has(.ohc-title) .ohc-title,
a:has(.ohc-title) .ohc-button,
a:has(.ohc-title) [class*="button"] {
  position: relative !important;
  z-index: 2 !important;
}

/* Dekorativní kurzíva v hero – tmavší korálová pro lepší kontrast */
html body #ohlala-carousel-hero .oh-carousel__script,
html body #ohlala-mobile-hero .oh-mobile-hero__script {
  color: var(--ohlala-coral-script) !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
}

html body #ohlala-carousel-hero .oh-carousel__button,
html body #ohlala-mobile-hero .oh-mobile-hero__button {
  font-family: "Manrope", Arial, sans-serif !important;
  font-weight: 800 !important;
}

/* ==================================================
   HLAVIČKA: HOVER A OTEVŘENÉ PANELY
   ================================================== */

#header .top-nav-button-login:hover,
#header .cart-count:hover,
#header .cart-count.hovered {
  background: var(--ohlala-cream) !important;
  border-color: var(--ohlala-border) !important;
  color: var(--ohlala-black) !important;
}

body.login-window-visible #header .top-nav-button-login,
body.cart-window-visible #header .cart-count,
#header .top-nav-button-login[aria-expanded="true"],
#header .cart-count[aria-expanded="true"] {
  background: var(--ohlala-white) !important;
  border: 1px solid var(--ohlala-border) !important;
  border-bottom-color: var(--ohlala-white) !important;
  color: var(--ohlala-black) !important;
  box-shadow: none !important;
}

#header .top-nav-button-login:hover,
#header .top-nav-button-login:hover span,
#header .top-nav-button-login:hover::before,
#header .top-nav-button-login:hover::after,
#header .cart-count:hover,
#header .cart-count:hover span,
#header .cart-count:hover::before,
#header .cart-count:hover::after,
#header .cart-count.hovered,
#header .cart-count.hovered span,
#header .cart-count.hovered::before,
#header .cart-count.hovered::after,
body.login-window-visible #header .top-nav-button-login,
body.login-window-visible #header .top-nav-button-login span,
body.login-window-visible #header .top-nav-button-login::before,
body.login-window-visible #header .top-nav-button-login::after,
body.cart-window-visible #header .cart-count,
body.cart-window-visible #header .cart-count span,
body.cart-window-visible #header .cart-count::before,
body.cart-window-visible #header .cart-count::after {
  color: var(--ohlala-black) !important;
  -webkit-text-fill-color: var(--ohlala-black) !important;
  opacity: 1 !important;
}

#header .cart-count i,
#header .cart-count:hover i,
#header .cart-count.hovered i,
body.cart-window-visible #header .cart-count i {
  background: var(--ohlala-teal-light) !important;
  border-color: var(--ohlala-teal-light) !important;
  color: var(--ohlala-black) !important;
  -webkit-text-fill-color: var(--ohlala-black) !important;
}

/* ==================================================
   PŘIHLÁŠENÍ A ROZBALOVACÍ KOŠÍK
   ================================================== */

#login.login-widget,
#cart-widget.cart-widget {
  background: var(--ohlala-white) !important;
  border: 1px solid var(--ohlala-border) !important;
  color: var(--ohlala-black) !important;
  box-shadow: 0 14px 34px rgba(41, 39, 36, .13) !important;
}

#login .popup-widget-inner,
#cart-widget .popup-widget-inner {
  background: var(--ohlala-white) !important;
}

#login label,
#login .required-asterisk,
#login .popup-widget-inner {
  color: var(--ohlala-black) !important;
}

#login input {
  background: var(--ohlala-page) !important;
  border: 1px solid var(--ohlala-border) !important;
  color: var(--ohlala-black) !important;
}

#login input:focus,
#login input:focus-visible {
  border-color: var(--ohlala-teal) !important;
  box-shadow: 0 0 0 3px rgba(78, 124, 116, .18) !important;
  outline: none !important;
}

#login [data-testid="signup"] {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 50px !important;
  background: var(--ohlala-cream) !important;
  border: 1px solid var(--ohlala-border) !important;
  border-radius: var(--ohlala-radius-pill) !important;
  color: var(--ohlala-black) !important;
  box-shadow: none !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-weight: 700 !important;
}

#login [data-testid="signup"]:hover {
  background: var(--ohlala-teal-light) !important;
  border-color: var(--ohlala-teal-light) !important;
  color: var(--ohlala-black) !important;
}

#login a[href*="zapomenute-heslo"] {
  color: var(--ohlala-muted) !important;
  font-weight: 700 !important;
}

#login a[href*="zapomenute-heslo"]:hover {
  color: var(--ohlala-black) !important;
}

#cart-widget .cart-widget-title,
#cart-widget .cart-widget-product-name,
#cart-widget .cart-widget-product-name a,
#cart-widget [data-testid="cartWidgetProductPrice"] {
  color: var(--ohlala-black) !important;
  font-family: "Manrope", Arial, sans-serif !important;
}

#cart-widget .cart-widget-title {
  font-weight: 800 !important;
}

#cart-widget .cart-widget-button,
#cart-widget .cart-widget-button.is-free-shipping {
  background: var(--ohlala-cream) !important;
  border-top: 1px solid var(--ohlala-border) !important;
}

#cart-widget .cart-free-shipping,
#cart-widget .cart-free-shipping strong {
  color: var(--ohlala-success) !important;
}

/* Původní ukazatel dopravy zdarma kreslí dva zářivě zelené proužky. */
#cart-widget .cart-free-shipping::before,
#cart-widget .cart-free-shipping::after {
  display: none !important;
  content: none !important;
}

/* Ikona dopravy v rozbalovacím i hlavním košíku. */
#cart-widget .cart-free-shipping > div::before,
.ordering-process .extra.delivery::before,
.in-kosik .extra.delivery::before {
  color: var(--ohlala-teal) !important;
  -webkit-text-fill-color: var(--ohlala-teal) !important;
  border-color: var(--ohlala-teal) !important;
}

#cart-widget .quantity,
#cart-widget .quantity input,
#cart-widget .quantity button,
.ordering-process .quantity,
.ordering-process .quantity input,
.ordering-process .quantity button {
  background: var(--ohlala-white) !important;
  border-color: var(--ohlala-border) !important;
  color: var(--ohlala-black) !important;
}

#cart-widget .remove-item,
#cart-widget .remove-item::before,
.ordering-process .remove-item,
.ordering-process .remove-item::before {
  color: var(--ohlala-muted) !important;
  border-color: var(--ohlala-muted) !important;
  opacity: 1 !important;
}

#cart-widget .remove-item:hover,
#cart-widget .remove-item:hover::before,
.ordering-process .remove-item:hover,
.ordering-process .remove-item:hover::before {
  color: var(--ohlala-danger) !important;
  border-color: var(--ohlala-danger) !important;
}

/* ==================================================
   KOŠÍK A OBJEDNÁVKOVÝ PROCES
   ================================================== */

html {
  --basket-bg: #F7F2E8 !important;
  --basket-choose-box-bg: #FFFDF8 !important;
  --basket-choose-box-border: #5D8D84 !important;
  --basket-free-delivery-bg: #F7F2E8 !important;
  --basket-free-delivery-top-bg: #C8DED7 !important;
}

.ordering-process,
.ordering-process .cart-header,
.ordering-process .cart-header .step,
.ordering-process .price-wrapper,
.ordering-process .next-step {
  font-family: "Manrope", Arial, sans-serif !important;
}

.ordering-process .cart-header .step {
  border-color: var(--ohlala-border) !important;
  color: #5A5651 !important;
}

.ordering-process .cart-header .step span,
.ordering-process .cart-header .step strong,
.ordering-process .cart-header .step a {
  color: #5A5651 !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-weight: 700 !important;
}

.ordering-process .cart-header .step span::before {
  background: var(--ohlala-cream) !important;
  border: 1px solid #CFC6B8 !important;
  color: #5A5651 !important;
}

.ordering-process .cart-header .step.completed,
.ordering-process .cart-header .step.completed a,
.ordering-process .cart-header .step.completed span {
  color: var(--ohlala-success) !important;
}

.ordering-process .cart-header .step.completed span::before {
  background: var(--ohlala-teal-light) !important;
  border-color: var(--ohlala-teal) !important;
  color: var(--ohlala-success) !important;
}

.ordering-process .cart-header .step.active {
  background: var(--ohlala-teal-wash) !important;
  border-color: var(--ohlala-teal) !important;
  color: var(--ohlala-success) !important;
}

.ordering-process .cart-header .step.active strong,
.ordering-process .cart-header .step.active span,
.ordering-process .cart-header .step.active a {
  color: var(--ohlala-success) !important;
}

.ordering-process .cart-header .step.active span::before {
  background: var(--ohlala-teal-hover) !important;
  border-color: var(--ohlala-teal-hover) !important;
  color: var(--ohlala-white) !important;
}

/* Kompaktnejsi spodni odsazeni prvniho kroku kosiku */
.ordering-process.in-kosik .content-wrapper-in {
  padding-bottom: 28px !important;
}

.ordering-process.in-kosik .cart-summary,
.ordering-process.in-kosik .summary-wrapper,
.ordering-process.in-kosik .extras-col {
  margin-bottom: 0 !important;
}

.in-kosik .summary-wrapper,
.ordering-process .order-summary-top,
.ordering-process .order-summary-bottom,
.ordering-process .checkout-box-wrapper,
.in-kosik .cart-summary .extras-col:not(.extras-col-empty) {
  background: var(--ohlala-cream) !important;
}

.ordering-process .order-summary-top,
.ordering-process .order-summary-bottom,
.in-kosik .summary-wrapper,
.in-kosik .cart-summary .extras-col:not(.extras-col-empty) {
  border-radius: 20px !important;
}

.ordering-process .price-label,
.ordering-process .price-wrapper,
.ordering-process .unit-value {
  font-family: "Manrope", Arial, sans-serif !important;
}

.ordering-process .price-label.price-primary {
  color: var(--ohlala-black) !important;
  font-weight: 600 !important;
}

.ordering-process .price-label.price-secondary,
.ordering-process .unit-value {
  color: var(--ohlala-muted) !important;
}

.cart-free-shipping strong,
.extra.delivery strong,
.payment-shipping-price.for-free,
.order-recapitulation [data-testid="recapItemPrice"] {
  color: var(--ohlala-success) !important;
}

.shipping-billing-table .radio-wrapper label {
  background: var(--ohlala-white) !important;
  border: 1px solid var(--ohlala-border) !important;
  border-radius: 20px !important;
  color: var(--ohlala-black) !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}

.shipping-billing-table .radio-wrapper label:hover {
  background: var(--ohlala-teal-wash) !important;
  border-color: var(--ohlala-teal-light) !important;
}

.shipping-billing-table .radio-wrapper.active label {
  background: var(--ohlala-teal-wash) !important;
  border: 2px solid var(--ohlala-teal) !important;
  color: var(--ohlala-black) !important;
}

.shipping-billing-table .radio-wrapper label::before {
  background: var(--ohlala-white) !important;
  border-color: var(--ohlala-muted) !important;
}

.shipping-billing-table .radio-wrapper.active label::before {
  background: var(--ohlala-teal) !important;
  border-color: var(--ohlala-teal) !important;
}

.shipping-billing-table .radio-wrapper.active label::after {
  border-color: var(--ohlala-white) !important;
}

.shipping-billing-table .radio-wrapper.active .payment-info,
.shipping-billing-table .radio-wrapper.active .shipping-billing-name,
.shipping-billing-table .radio-wrapper .shipping-billing-name {
  color: var(--ohlala-black) !important;
}

.shipping-billing-table .shipping-billing-name {
  font-weight: 600 !important;
}

.shipping-billing-table [data-testid="deliveryPoint"] a {
  color: var(--ohlala-teal-hover) !important;
  font-weight: 700 !important;
}

.shipping-billing-table [data-testid="deliveryPoint"] a:hover {
  color: var(--ohlala-black) !important;
}

.ordering-process .next-step-back {
  background: var(--ohlala-cream) !important;
  border: 1px solid var(--ohlala-border) !important;
  border-radius: var(--ohlala-radius-pill) !important;
  color: var(--ohlala-black) !important;
  box-shadow: none !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-weight: 700 !important;
}

.ordering-process .next-step-back:hover {
  background: var(--ohlala-teal-light) !important;
  border-color: var(--ohlala-teal-light) !important;
  color: var(--ohlala-black) !important;
}

.ordering-process .form-control:focus,
.ordering-process input:focus,
.ordering-process select:focus,
.ordering-process textarea:focus {
  border-color: var(--ohlala-teal) !important;
  box-shadow: 0 0 0 3px rgba(78, 124, 116, .18) !important;
  outline: none !important;
}

.ordering-process .has-error .form-control,
.ordering-process .has-error input,
.ordering-process .has-error select,
.ordering-process .has-error textarea {
  border-color: var(--ohlala-danger) !important;
}

/* Jednotný viditelný focus */
.btn:focus-visible,
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(78, 124, 116, .42) !important;
  outline-offset: 3px !important;
}

/* ==================================================
   KOMPAKTNI DESKTOPOVA HLAVICKA
   ================================================== */

@media (min-width: 992px) {
  /* Puvodni pravni odkazy zustavaji, kontaktni e-mail se nezobrazuje. */
  .top-navigation-bar,
  .top-navigation-bar > .container {
    min-height: 34px !important;
    height: 34px !important;
  }

  .top-navigation-bar > .container {
    display: flex !important;
    align-items: center !important;
  }

  .top-navigation-bar .top-navigation-contacts,
  .top-navigation-bar > .container > .site-name,
  .top-navigation-bar .top-navigation-tools,
  .top-navigation-bar .top-navigation-menu-trigger,
  .top-navigation-bar .top-navigation-bar-menu-helper {
    display: none !important;
  }

  .top-navigation-bar .top-navigation-menu {
    display: flex !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    width: 100% !important;
    height: 34px !important;
  }

  .top-navigation-bar .top-navigation-bar-menu {
    display: flex !important;
    align-items: center !important;
    width: auto !important;
    height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 0 !important;
  }

  .top-navigation-bar .top-navigation-bar-menu > li {
    display: flex !important;
    align-items: center !important;
    height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .top-navigation-bar .top-navigation-bar-menu > li + li::before {
    content: "" !important;
    position: static !important;
    inset: auto !important;
    display: block !important;
    flex: 0 0 4px !important;
    width: 4px !important;
    height: 4px !important;
    margin: 0 12px !important;
    background: var(--ohlala-muted) !important;
    border: 0 !important;
    border-radius: 50% !important;
    opacity: .55 !important;
  }

  .top-navigation-bar .top-navigation-bar-menu > li > a {
    display: flex !important;
    align-items: center !important;
    height: 34px !important;
    padding: 0 !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
  }

  /* Logo, vyhledavani a uzivatelske akce v jednom kompaktnim radku. */
  #header .header-top {
    display: grid !important;
    grid-template-columns: 200px minmax(420px, 620px) auto !important;
    align-items: center !important;
    justify-content: space-between !important;
    column-gap: 32px !important;
    min-height: 76px !important;
    height: 76px !important;
    padding: 11px 0 !important;
  }

  #header .header-top .site-name-wrapper {
    width: 200px !important;
    min-width: 0 !important;
    max-width: 200px !important;
  }

  #header .header-top .site-name,
  #header .header-top .site-name > a {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    height: 54px !important;
  }

  #header .header-top .site-name img {
    width: auto !important;
    max-width: 185px !important;
    max-height: 54px !important;
  }

  #header .header-top .search {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 620px !important;
    margin: 0 !important;
  }

  /* Pozadi formulare nesmi vyplnit zaoblene leve rohy samotneho inputu. */
  #header #formSearchForm,
  #header #formSearchForm fieldset {
    background: transparent !important;
    border-radius: var(--ohlala-radius-input) !important;
  }

  #header #formSearchForm input.search-input {
    border-top-left-radius: var(--ohlala-radius-input) !important;
    border-bottom-left-radius: var(--ohlala-radius-input) !important;
  }

  #header .header-top .navigation-buttons {
    display: flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    width: auto !important;
    min-width: 0 !important;
  }

  /* Prihlaseni pouze jako piktogram. Text zustava pristupny cteckam. */
  #header .top-nav-button-login {
    position: relative !important;
    display: flex !important;
    flex: 0 0 50px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 50px !important;
    min-width: 50px !important;
    height: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 50% !important;
    box-shadow: none !important;
    color: var(--ohlala-black) !important;
    font-size: 0 !important;
  }

  #header .top-nav-button-login > span {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  #header .top-nav-button-login::before {
    position: static !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    color: var(--ohlala-black) !important;
    font-size: 27px !important;
    line-height: 1 !important;
  }

  #header .top-nav-button-login::after {
    display: none !important;
    content: none !important;
  }

  #header .top-nav-button-login:hover,
  #header .top-nav-button-login[aria-expanded="true"],
  body.login-window-visible #header .top-nav-button-login {
    background: var(--ohlala-cream) !important;
    border: 0 !important;
    border-radius: 50% !important;
    color: var(--ohlala-black) !important;
  }

  /* Kosik ve forme pilulky; samotny piktogram tvori koralovy akcent. */
  #header .cart-count,
  #header .cart-count:hover,
  #header .cart-count.hovered,
  #header .cart-count[aria-expanded="true"],
  body.cart-window-visible #header .cart-count {
    position: relative !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-width: 146px !important;
    width: auto !important;
    height: 52px !important;
    margin: 0 !important;
    padding: 5px 16px 5px 5px !important;
    overflow: visible !important;
    background: var(--ohlala-cream) !important;
    border: 0 !important;
    border-radius: var(--ohlala-radius-pill) !important;
    box-shadow: none !important;
    color: var(--ohlala-black) !important;
  }

  #header .cart-count::before,
  #header .cart-count:hover::before,
  #header .cart-count.hovered::before,
  #header .cart-count[aria-expanded="true"]::before,
  body.cart-window-visible #header .cart-count::before {
    position: static !important;
    display: inline-flex !important;
    flex: 0 0 42px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    margin: 0 11px 0 0 !important;
    background: var(--ohlala-teal) !important;
    border: 0 !important;
    border-radius: 50% !important;
    color: var(--ohlala-white) !important;
    -webkit-text-fill-color: var(--ohlala-white) !important;
    font-size: 23px !important;
    line-height: 1 !important;
  }

  #header .cart-count::after {
    display: none !important;
    content: none !important;
  }

  #header .cart-count .cart-price {
    display: block !important;
    margin: 0 !important;
    color: var(--ohlala-black) !important;
    -webkit-text-fill-color: var(--ohlala-black) !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
  }

  #header .cart-count i,
  #header .cart-count:hover i,
  #header .cart-count.hovered i,
  body.cart-window-visible #header .cart-count i {
    position: absolute !important;
    top: 2px !important;
    left: 34px !important;
    z-index: 2 !important;
    display: flex !important;
    width: 18px !important;
    height: 18px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    background: var(--ohlala-white) !important;
    border: 2px solid var(--ohlala-teal) !important;
    border-radius: 50% !important;
    color: var(--ohlala-black) !important;
    -webkit-text-fill-color: var(--ohlala-black) !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
  }
}

@media (max-width: 991px) {
  #header,
  #header .header-top,
  #header .header-top > .container,
  .navigation-wrapper {
    background-color: var(--ohlala-white) !important;
  }

  .top-navigation-bar,
  .top-navigation-bar .container {
    background-color: var(--ohlala-cream) !important;
  }

  .top-navigation-bar a[data-testid="hamburgerMenu"],
  .top-navigation-bar a[data-testid="hamburgerMenu"]::before,
  .top-navigation-bar a[data-testid="hamburgerMenu"]::after,
  #header .top-nav-button-login,
  #header .top-nav-button-login::before,
  #header .top-nav-button-login::after,
  #header .cart-count,
  #header .cart-count::before,
  #header .cart-count::after {
    color: #292724 !important;
    border-color: #292724 !important;
    opacity: 1 !important;
  }

  html body .top-navigation-bar .responsive-tools > a.toggle-window,
  html body .top-navigation-bar .responsive-tools > a.toggle-window::before,
  html body .top-navigation-bar .responsive-tools > a.toggle-window::after,
  html body #header [data-testid="headerCart"],
  html body #header [data-testid="headerCart"]::before,
  html body #header [data-testid="headerCart"]::after,
  html body #header [data-testid="headerCart"] span,
  html body #header [data-testid="signin"],
  html body #header [data-testid="signin"]::before,
  html body #header [data-testid="signin"]::after {
    color: #292724 !important;
    -webkit-text-fill-color: #292724 !important;
    border-color: #292724 !important;
    opacity: 1 !important;
  }

  html body .top-navigation-bar .responsive-tools svg,
  html body #header [data-testid="headerCart"] svg,
  html body #header [data-testid="signin"] svg {
    fill: #292724 !important;
    stroke: #292724 !important;
    color: #292724 !important;
  }

  /* Apollo při třídě is-header-black nutí mobilní košík do bílé */
  html body.is-header-black a[data-testid="headerCart"],
  html body.is-header-black a[data-testid="headerCart"]::before,
  html body.is-header-black a[data-testid="headerCart"]::after,
  html body.is-header-black a[data-testid="headerCart"] span,
  html body.is-header-black a[data-testid="headerCart"] span::before,
  html body.is-header-black a[data-testid="headerCart"] span::after,
  html body.is-header-black .cart-count,
  html body.is-header-black .cart-count::before,
  html body.is-header-black .cart-count::after {
    color: #292724 !important;
    -webkit-text-fill-color: #292724 !important;
    border-color: #292724 !important;
    opacity: 1 !important;
    filter: none !important;
  }

  html body.is-header-black a[data-testid="headerCart"] svg,
  html body.is-header-black a[data-testid="headerCart"] svg * {
    fill: #292724 !important;
    stroke: #292724 !important;
    color: #292724 !important;
    filter: none !important;
  }

  #formSearchForm button[data-testid="searchBtn"] {
    width: 58px !important;
    min-width: 58px !important;
  }

  #formSearchForm input.search-input {
    padding-right: 72px !important;
    font-size: 16px !important;
  }

  #formSearchForm button[data-testid="searchBtn"]::before {
    font-size: 22px !important;
  }
}

/* ==================================================
   KROK 2 KOSIKU – DOPRAVA A PLATBA
   ================================================== */

/* Stejne ciste rozlozeni jako v prvnim kroku – bez obvodoveho ramecku. */
.ordering-process.in-krok-1 .cart-inner {
  padding: 8px 60px 32px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Kompaktni kontakt v zahlavi. */
.ordering-process.in-krok-1 .cart-header-block {
  align-items: center !important;
  margin-bottom: 26px !important;
}

.ordering-process.in-krok-1 .cart-header__contact {
  width: auto !important;
  margin: 0 0 0 auto !important;
}

.ordering-process.in-krok-1 .cart-header__contact .checkout-box-wrapper {
  display: flex !important;
  align-items: center !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 12px 18px !important;
  background: var(--ohlala-teal-wash) !important;
  border: 0 !important;
  border-radius: var(--ohlala-radius-pill) !important;
  box-shadow: none !important;
}

.ordering-process.in-krok-1 .cart-header__contact .h4 {
  width: auto !important;
  height: auto !important;
  margin: 0 16px 0 0 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
}

.ordering-process.in-krok-1 .cart-header__contact .contact-box ul {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin: 0 !important;
}

.ordering-process.in-krok-1 .cart-header__contact .contact-box li {
  margin: 0 !important;
}

.ordering-process.in-krok-1 .cart-header__contact .contact-box a {
  color: var(--ohlala-black) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

/* Jednotlive obsahove sekce bez dalsich ramecku. */
.ordering-process.in-krok-1 .co-box {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.ordering-process.in-krok-1 .co-basic-information,
.ordering-process.in-krok-1 .co-delivery-method {
  margin-bottom: 42px !important;
}

/* Vyber zeme jako klidne vyplnene pole, nikoliv oramovana karta. */
.ordering-process.in-krok-1 #deliveryCountryId {
  height: 52px !important;
  padding: 8px 50px 8px 18px !important;
  background-color: var(--ohlala-cream) !important;
  border: 0 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  color: var(--ohlala-black) !important;
}

.ordering-process.in-krok-1 #deliveryCountryId:focus {
  background-color: var(--ohlala-teal-wash) !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

/* Doprava a platba: bez obrysu, aktivni stav urcuje pouze podklad. */
.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper {
  margin-bottom: 10px !important;
}

.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper label,
.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper label:hover,
.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper.active label {
  min-height: 78px !important;
  margin-right: 0 !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  background: var(--ohlala-cream) !important;
  border: 0 !important;
  border-radius: 16px !important;
  box-shadow: none !important;
  transform: none !important;
}

.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper label:hover {
  background: #EEF4F1 !important;
}

.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper.active label {
  background: #E2EFEB !important;
}

.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper.active .payment-shipping-price {
  color: var(--ohlala-teal-hover) !important;
}

.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper label::before {
  background: var(--ohlala-white) !important;
  border: 1px solid var(--ohlala-muted) !important;
  box-shadow: none !important;
}

.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper.active label::before {
  background: var(--ohlala-teal) !important;
  border-color: var(--ohlala-teal) !important;
}

/* Souhrn a ovladaci tlacitka bez dodatecnych obrysu. */
.ordering-process.in-krok-1 .order-summary-top,
.ordering-process.in-krok-1 .order-summary-bottom,
.ordering-process.in-krok-1 .next-step {
  border: 0 !important;
  box-shadow: none !important;
}

@media (max-width: 767px) {
  .ordering-process.in-krok-1 .cart-inner {
    padding: 4px 10px 20px !important;
  }

  .ordering-process.in-krok-1 .cart-header-block {
    display: block !important;
    margin-bottom: 20px !important;
  }

  .ordering-process.in-krok-1 .cart-header__contact {
    width: 100% !important;
    margin: 12px 0 0 !important;
  }

  .ordering-process.in-krok-1 .cart-header__contact .checkout-box-wrapper {
    justify-content: center !important;
    width: 100% !important;
    padding: 10px 14px !important;
    border-radius: 14px !important;
  }

  .ordering-process.in-krok-1 .cart-header__contact .h4 {
    display: none !important;
  }

  .ordering-process.in-krok-1 .cart-header__contact .contact-box ul {
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 8px 16px !important;
  }

  .ordering-process.in-krok-1 .co-basic-information,
  .ordering-process.in-krok-1 .co-delivery-method {
    margin-bottom: 30px !important;
  }

  .ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper label,
  .ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper label:hover,
  .ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper.active label {
    min-height: 70px !important;
    padding: 12px 14px 12px 66px !important;
    border-radius: 14px !important;
  }
}

/* ==================================================
   OHLALA V21 – KOMPAKTNEJSI HOMEPAGE A NEWSLETTER
   - sjednocuje mezery mezi hero, rozcestnikem a produkty
   - odstranuje tecky pod produktovymi carousely i jejich rezervovane misto
   - sjednocuje barvy newsletteru
   ================================================== */

body.type-index.in-index {
  --ohlala-home-section-gap: 20px;
  --ohlala-home-title-gap: 14px;
}

@media (min-width: 600px) {
  body.type-index.in-index {
    --ohlala-home-section-gap: 26px;
    --ohlala-home-title-gap: 18px;
  }
}

@media (min-width: 1200px) {
  body.type-index.in-index {
    --ohlala-home-section-gap: 34px;
    --ohlala-home-title-gap: 20px;
  }
}

/* Hero uz nevytvari druhy spodni okraj. Mezeru ridi nasledujici blok. */
body.type-index.in-index #ohlala-carousel-hero,
body.type-index.in-index #ohlala-mobile-hero {
  margin-bottom: 0 !important;
}

/* Shoptet obalu banneru nepridava dalsi skryte vertikalni odsazeni. */
body.type-index.in-index .footer-banners:has(#ohlala-gift-directory),
body.type-index.in-index .footer-banner:has(#ohlala-gift-directory),
body.type-index.in-index .footer-banner:has(#ohlala-gift-directory) > span,
body.type-index.in-index .banner-wrapper:has(#ohlala-gift-directory),
body.type-index.in-index .banner-wrapper:has(#ohlala-gift-directory) > span {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.type-index.in-index #ohlala-gift-directory {
  margin-top: var(--ohlala-home-section-gap) !important;
  margin-bottom: 0 !important;
}

/* Nadpis prvniho i dalsich produktovych carouselu ma jen jednu mezeru. */
body.type-index.in-index .content-wrapper.container.products-group {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.type-index.in-index .homepage-group-title,
body.type-index.in-index .products-top-header {
  margin-top: var(--ohlala-home-section-gap) !important;
  margin-bottom: var(--ohlala-home-title-gap) !important;
}

/* Produkt vykukuje a carousel ma sipky, strankovaci tecky proto skryvame. */
body.type-index.in-index .products.products-block .swiper-pagination,
body.type-index.in-index .products.products-block .swiper-pagination-bullets,
body.type-index.in-index .slider-group-products > .swiper-pagination,
body.type-index.in-index .products.products-block [class*="swiper-pagination"] {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.type-index.in-index .products.products-block,
body.type-index.in-index .products.products-block .swiper-container,
body.type-index.in-index .products.products-block .slider-group-products {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Newsletter: tmavy text bez ohledu na puvodni barevnost sablony. */
#footer [class*="newsletter"],
footer [class*="newsletter"],
#footer [class*="newsletter"] h2,
#footer [class*="newsletter"] h3,
#footer [class*="newsletter"] h4,
#footer [class*="newsletter"] p,
#footer [class*="newsletter"] label,
#footer [class*="newsletter"] small,
#footer [class*="newsletter"] a,
footer [class*="newsletter"] h2,
footer [class*="newsletter"] h3,
footer [class*="newsletter"] h4,
footer [class*="newsletter"] p,
footer [class*="newsletter"] label,
footer [class*="newsletter"] small,
footer [class*="newsletter"] a {
  color: #292724 !important;
  -webkit-text-fill-color: #292724 !important;
}

#footer [class*="newsletter"] input[type="email"],
footer [class*="newsletter"] input[type="email"],
#footer form[id*="Newsletter"] input[type="email"],
footer form[id*="Newsletter"] input[type="email"] {
  color: #292724 !important;
  -webkit-text-fill-color: #292724 !important;
  background: #FFFDF8 !important;
  border-color: rgba(41, 39, 36, .22) !important;
}

#footer [class*="newsletter"] input[type="email"]::placeholder,
footer [class*="newsletter"] input[type="email"]::placeholder,
#footer form[id*="Newsletter"] input[type="email"]::placeholder,
footer form[id*="Newsletter"] input[type="email"]::placeholder {
  color: #6B665E !important;
  -webkit-text-fill-color: #6B665E !important;
  opacity: 1 !important;
}

#footer [class*="newsletter"] button,
#footer [class*="newsletter"] .btn,
footer [class*="newsletter"] button,
footer [class*="newsletter"] .btn,
#footer form[id*="Newsletter"] button,
#footer form[action*="newsletter"] button,
footer form[id*="Newsletter"] button,
footer form[action*="newsletter"] button {
  background: #292724 !important;
  border-color: #292724 !important;
  color: #FFFDF8 !important;
  -webkit-text-fill-color: #FFFDF8 !important;
  box-shadow: none !important;
}

#footer [class*="newsletter"] button:hover,
#footer [class*="newsletter"] button:focus-visible,
#footer [class*="newsletter"] .btn:hover,
#footer [class*="newsletter"] .btn:focus-visible,
footer [class*="newsletter"] button:hover,
footer [class*="newsletter"] button:focus-visible,
footer [class*="newsletter"] .btn:hover,
footer [class*="newsletter"] .btn:focus-visible,
#footer form[id*="Newsletter"] button:hover,
#footer form[id*="Newsletter"] button:focus-visible,
#footer form[action*="newsletter"] button:hover,
#footer form[action*="newsletter"] button:focus-visible,
footer form[id*="Newsletter"] button:hover,
footer form[id*="Newsletter"] button:focus-visible,
footer form[action*="newsletter"] button:hover,
footer form[action*="newsletter"] button:focus-visible {
  background: #4E7C74 !important;
  border-color: #4E7C74 !important;
  color: #FFFDF8 !important;
  -webkit-text-fill-color: #FFFDF8 !important;
}

/* ==================================================
   KROK 3 KOSIKU – OSOBNI UDAJE A ADRESA
   ================================================== */

/* Bez velkeho obvodoveho ramecku, stejne jako predchozi kroky. */
.ordering-process.in-krok-2 .cart-inner {
  padding: 8px 60px 32px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Kompaktni kontakt v zahlavi. */
.ordering-process.in-krok-2 .cart-header-block {
  align-items: center !important;
  margin-bottom: 26px !important;
}

.ordering-process.in-krok-2 .cart-header__contact {
  width: auto !important;
  margin: 0 0 0 auto !important;
}

.ordering-process.in-krok-2 .cart-header__contact .checkout-box-wrapper {
  display: flex !important;
  align-items: center !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 12px 18px !important;
  background: var(--ohlala-teal-wash) !important;
  border: 0 !important;
  border-radius: var(--ohlala-radius-pill) !important;
  box-shadow: none !important;
}

.ordering-process.in-krok-2 .cart-header__contact .h4 {
  width: auto !important;
  height: auto !important;
  margin: 0 16px 0 0 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
}

.ordering-process.in-krok-2 .cart-header__contact .contact-box ul {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin: 0 !important;
}

.ordering-process.in-krok-2 .cart-header__contact .contact-box li {
  margin: 0 !important;
}

.ordering-process.in-krok-2 .cart-header__contact .contact-box a {
  color: var(--ohlala-black) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

/* Ciste obsahove sekce formulare. */
.ordering-process.in-krok-2 .co-box,
.ordering-process.in-krok-2 .co-box > fieldset,
.ordering-process.in-krok-2 #checkoutContent fieldset.box {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.ordering-process.in-krok-2 .co-contact-information,
.ordering-process.in-krok-2 .co-billing-address,
.ordering-process.in-krok-2 .co-shipping-address,
.ordering-process.in-krok-2 .co-box-additional {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 0 42px !important;
  padding: 0 !important;
}

.ordering-process.in-krok-2 #checkoutContent h2 {
  margin-bottom: 24px !important;
  color: var(--ohlala-black) !important;
}

/* Vstupni pole bez obrysu – odlisena vyplni, pri psani jemne tyrkysova. */
.ordering-process.in-krok-2 #checkoutContent .form-control,
.ordering-process.in-krok-2 #checkoutContent input[type="text"],
.ordering-process.in-krok-2 #checkoutContent input[type="email"],
.ordering-process.in-krok-2 #checkoutContent input[type="tel"],
.ordering-process.in-krok-2 #checkoutContent textarea,
.ordering-process.in-krok-2 #checkoutContent select {
  min-height: 52px !important;
  padding: 10px 16px !important;
  background-color: var(--ohlala-cream) !important;
  border: 0 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  color: var(--ohlala-black) !important;
}

.ordering-process.in-krok-2 #checkoutContent textarea.form-control {
  min-height: 120px !important;
  resize: vertical !important;
}

.ordering-process.in-krok-2 #checkoutContent .form-control:focus,
.ordering-process.in-krok-2 #checkoutContent input[type="text"]:focus,
.ordering-process.in-krok-2 #checkoutContent input[type="email"]:focus,
.ordering-process.in-krok-2 #checkoutContent input[type="tel"]:focus,
.ordering-process.in-krok-2 #checkoutContent textarea:focus,
.ordering-process.in-krok-2 #checkoutContent select:focus {
  background-color: var(--ohlala-teal-wash) !important;
  border: 0 !important;
  box-shadow: inset 0 0 0 1px var(--ohlala-teal) !important;
  outline: 0 !important;
}

/* Telefon je slozeny z vice prvku – navenek ma pusobit jako jedno pole. */
.ordering-process.in-krok-2 .phone-combined-input {
  min-height: 52px !important;
  background: var(--ohlala-cream) !important;
  border: 0 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.ordering-process.in-krok-2 .phone-combined-input:focus-within {
  background: var(--ohlala-teal-wash) !important;
  box-shadow: inset 0 0 0 1px var(--ohlala-teal) !important;
}

.ordering-process.in-krok-2 .phone-combined-input .form-control,
.ordering-process.in-krok-2 .phone-combined-input input,
.ordering-process.in-krok-2 .phone-combined-input button {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Prihlaseni je sekundarni akce, nikoliv hlavni CTA. */
.ordering-process.in-krok-2 .login-button {
  min-height: 44px !important;
  padding: 10px 20px !important;
  background: var(--ohlala-teal-light) !important;
  border: 0 !important;
  border-radius: var(--ohlala-radius-pill) !important;
  box-shadow: none !important;
  color: var(--ohlala-black) !important;
  font-weight: 700 !important;
}

.ordering-process.in-krok-2 .login-button:hover {
  background: var(--ohlala-teal) !important;
  color: var(--ohlala-white) !important;
}

/* Checkboxy v barvach webu. */
.ordering-process.in-krok-2 #checkoutContent input[type="checkbox"] + label::before {
  background: var(--ohlala-white) !important;
  border: 1px solid #B9B1A5 !important;
  border-radius: 5px !important;
  box-shadow: none !important;
}

.ordering-process.in-krok-2 #checkoutContent input[type="checkbox"]:checked + label::before {
  background: var(--ohlala-teal) !important;
  border-color: var(--ohlala-teal) !important;
}

.ordering-process.in-krok-2 #checkoutContent input[type="checkbox"]:checked + label::after {
  border-color: var(--ohlala-white) !important;
}

/* Informace o zemi a volitelne polozky jako jemne bloky bez ramecku. */
.ordering-process.in-krok-2 .country-wrapper,
.ordering-process.in-krok-2 .co-box-additional .stay-in-touch {
  background: var(--ohlala-cream) !important;
  border: 0 !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}

.ordering-process.in-krok-2 .co-box-additional .stay-in-touch {
  padding: 16px 18px !important;
}

/* Rekapitulace a souhlasy – stejne klidne karty jako v predchozim kroku. */
.ordering-process.in-krok-2 .order-summary-top,
.ordering-process.in-krok-2 .order-summary-bottom,
.ordering-process.in-krok-2 .consents,
.ordering-process.in-krok-2 .next-step {
  background: var(--ohlala-cream) !important;
  border: 0 !important;
  box-shadow: none !important;
}

.ordering-process.in-krok-2 .order-summary-top {
  border-radius: 20px 20px 0 0 !important;
}

.ordering-process.in-krok-2 .order-summary-bottom {
  border-radius: 0 0 20px 20px !important;
}

.ordering-process.in-krok-2 .consents {
  margin-top: 18px !important;
  padding: 20px 24px 10px !important;
  border-radius: 20px 20px 0 0 !important;
}

.ordering-process.in-krok-2 .next-step {
  padding: 8px 24px 24px !important;
  border-radius: 0 0 20px 20px !important;
}

.ordering-process.in-krok-2 .consents a {
  color: var(--ohlala-teal-hover) !important;
  font-weight: 600 !important;
}

/* Hlavni objednavkove tlacitko stejne vyrazne jako pokracovani v kosiku. */
.ordering-process.in-krok-2 #submit-order {
  width: 100% !important;
  min-height: 58px !important;
  padding: 10px 24px !important;
  background: var(--ohlala-teal-hover) !important;
  border: 0 !important;
  border-radius: var(--ohlala-radius-pill) !important;
  box-shadow: none !important;
  color: var(--ohlala-white) !important;
  font-weight: 800 !important;
}

.ordering-process.in-krok-2 #submit-order:hover {
  background: var(--ohlala-black) !important;
  color: var(--ohlala-white) !important;
}

.ordering-process.in-krok-2 .next-step-back {
  border: 0 !important;
}

@media (max-width: 767px) {
  .ordering-process.in-krok-2 .cart-inner {
    padding: 4px 10px 20px !important;
  }

  .ordering-process.in-krok-2 .cart-header-block {
    display: block !important;
    margin-bottom: 20px !important;
  }

  .ordering-process.in-krok-2 .cart-header__contact {
    width: 100% !important;
    margin: 12px 0 0 !important;
  }

  .ordering-process.in-krok-2 .cart-header__contact .checkout-box-wrapper {
    justify-content: center !important;
    width: 100% !important;
    padding: 10px 14px !important;
    border-radius: 14px !important;
  }

  .ordering-process.in-krok-2 .cart-header__contact .h4 {
    display: none !important;
  }

  .ordering-process.in-krok-2 .cart-header__contact .contact-box ul {
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 8px 16px !important;
  }

  .ordering-process.in-krok-2 .co-contact-information,
  .ordering-process.in-krok-2 .co-billing-address,
  .ordering-process.in-krok-2 .co-shipping-address,
  .ordering-process.in-krok-2 .co-box-additional {
    margin-bottom: 30px !important;
  }

  .ordering-process.in-krok-2 #checkoutSidebar {
    padding-left: 0 !important;
  }

  .ordering-process.in-krok-2 .consents {
    margin-top: 14px !important;
    padding: 18px 18px 8px !important;
  }

  .ordering-process.in-krok-2 .next-step {
    padding: 8px 18px 20px !important;
  }
}

/* ==================================================
   DEKOVACI STRANKA PO DOKONCENI OBJEDNAVKY
   ================================================== */

/* Po dokonceni uz nedava smysl zobrazovat nadpis Muj kosik. */
.ordering-process.in-dekujeme .cart-header-block {
  display: none !important;
}

.ordering-process.in-dekujeme #content {
  padding-top: 34px !important;
  padding-bottom: 70px !important;
}

.ordering-process.in-dekujeme .content-inner {
  margin: 0 !important;
}

/* Hlavni potvrzeni objednavky. */
.ordering-process.in-dekujeme .recapitulation-wrapper-box {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: calc(100% - 32px) !important;
  max-width: 1000px !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 34px 30px 36px !important;
  background: #E2EFEB !important;
  border: 0 !important;
  border-radius: 24px !important;
  box-shadow: none !important;
  text-align: center !important;
}

.ordering-process.in-dekujeme .recapitulation-wrapper-box::before {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  margin-bottom: 18px !important;
  background: var(--ohlala-teal) !important;
  border-radius: 50% !important;
  color: var(--ohlala-white) !important;
  content: "\2713" !important;
  font-family: Arial, sans-serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

.ordering-process.in-dekujeme .order-summary-heading {
  margin: 0 0 12px !important;
  color: var(--ohlala-black) !important;
  font-size: 32px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

.ordering-process.in-dekujeme .recapitulation-wrapper-box .order-summary-item.total {
  margin: 0 0 18px !important;
  color: var(--ohlala-muted) !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
}

.ordering-process.in-dekujeme .recapitulation-wrapper-box .order-number {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: auto !important;
  margin: 0 !important;
  padding: 10px 16px !important;
  background: rgba(255, 253, 248, .82) !important;
  border: 0 !important;
  border-radius: var(--ohlala-radius-pill) !important;
  color: var(--ohlala-black) !important;
}

.ordering-process.in-dekujeme .recapitulation-wrapper-box .order-number strong {
  margin: 0 !important;
  color: var(--ohlala-black) !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
}

.ordering-process.in-dekujeme .recapitulation-wrapper-box [data-testid="orderNumber"] {
  color: var(--ohlala-teal-hover) !important;
  font-weight: 800 !important;
}

.ordering-process.in-dekujeme .recapitulation-wrapper-box .summary-thx {
  display: none !important;
}

/* Rekapitulace je rozdelena do dvou klidnych karet. */
.ordering-process.in-dekujeme .recapitulation-wrapper.in-thanks-page:not(.recapitulation-wrapper-box) {
  width: calc(100% - 32px) !important;
  max-width: 1000px !important;
  height: auto !important;
  margin: 24px auto 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.ordering-process.in-dekujeme .recapitulation-wrapper .reca-number {
  display: none !important;
}

.ordering-process.in-dekujeme .recapitulation-wrapper .co-payment-method,
.ordering-process.in-dekujeme .recapitulation-wrapper .co-order {
  margin: 0 0 18px !important;
  padding: 28px 32px !important;
  background: var(--ohlala-cream) !important;
  border: 0 !important;
  border-radius: 20px !important;
  box-shadow: none !important;
}

.ordering-process.in-dekujeme .recapitulation-wrapper .order-icon {
  margin: 0 0 20px !important;
  color: var(--ohlala-black) !important;
  font-size: 21px !important;
  font-weight: 800 !important;
}

/* Prehled dopravy, platby a celkove castky. */
.ordering-process.in-dekujeme .recapitulation-table {
  width: 100% !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

.ordering-process.in-dekujeme .recapitulation-table th,
.ordering-process.in-dekujeme .recapitulation-table td {
  padding: 13px 12px !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ohlala-border) !important;
  color: var(--ohlala-black) !important;
  vertical-align: middle !important;
}

.ordering-process.in-dekujeme .recapitulation-table th {
  color: var(--ohlala-muted) !important;
  font-weight: 500 !important;
}

.ordering-process.in-dekujeme .recapitulation-table td {
  text-align: right !important;
}

.ordering-process.in-dekujeme .recapitulation-table tr:last-child th,
.ordering-process.in-dekujeme .recapitulation-table tr:last-child td {
  border-bottom: 0 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
}

.ordering-process.in-dekujeme [data-testid="orderTotalPrice"] {
  color: var(--ohlala-teal-hover) !important;
  font-size: 20px !important;
  font-weight: 800 !important;
}

/* Polozky objednavky. */
.ordering-process.in-dekujeme .co-order .cart-table {
  width: 100% !important;
  margin: 0 !important;
  border: 0 !important;
}

.ordering-process.in-dekujeme .co-order .cart-table td {
  padding-top: 16px !important;
  padding-bottom: 16px !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ohlala-border) !important;
  vertical-align: middle !important;
}

.ordering-process.in-dekujeme .co-order .cart-table tr:last-child td {
  border-bottom: 0 !important;
}

.ordering-process.in-dekujeme .co-order .cart-p-image {
  width: 76px !important;
  min-width: 76px !important;
  padding-right: 14px !important;
}

.ordering-process.in-dekujeme .co-order .cart-p-image img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 60px !important;
  max-height: 60px !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center !important;
  mix-blend-mode: multiply !important;
}

.ordering-process.in-dekujeme .co-order .p-name {
  color: var(--ohlala-black) !important;
  font-weight: 650 !important;
}

.ordering-process.in-dekujeme .co-order .p-price {
  color: var(--ohlala-black) !important;
  font-weight: 800 !important;
  text-align: right !important;
}

/* Navrat do obchodu jako zretelna dalsi akce. */
.ordering-process.in-dekujeme .order-complete-links {
  width: calc(100% - 32px) !important;
  max-width: 1000px !important;
  margin: 8px auto 0 !important;
  text-align: center !important;
}

.ordering-process.in-dekujeme .order-complete-links .btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 220px !important;
  min-height: 54px !important;
  margin: 0 !important;
  padding: 10px 24px !important;
  background: var(--ohlala-teal-hover) !important;
  border: 0 !important;
  border-radius: var(--ohlala-radius-pill) !important;
  box-shadow: none !important;
  color: var(--ohlala-white) !important;
  font-weight: 800 !important;
}

.ordering-process.in-dekujeme .order-complete-links .btn:hover {
  background: var(--ohlala-black) !important;
  color: var(--ohlala-white) !important;
}

@media (max-width: 767px) {
  .ordering-process.in-dekujeme #content {
    padding: 22px 14px 48px !important;
  }

  .ordering-process.in-dekujeme .recapitulation-wrapper-box,
  .ordering-process.in-dekujeme .recapitulation-wrapper.in-thanks-page:not(.recapitulation-wrapper-box),
  .ordering-process.in-dekujeme .order-complete-links {
    width: 100% !important;
  }

  .ordering-process.in-dekujeme .recapitulation-wrapper-box {
    padding: 28px 18px 30px !important;
    border-radius: 18px !important;
  }

  .ordering-process.in-dekujeme .order-summary-heading {
    font-size: 26px !important;
  }

  .ordering-process.in-dekujeme .recapitulation-wrapper-box .order-number {
    flex-direction: column !important;
    gap: 4px !important;
    padding: 10px 18px !important;
  }

  .ordering-process.in-dekujeme .recapitulation-wrapper .co-payment-method,
  .ordering-process.in-dekujeme .recapitulation-wrapper .co-order {
    padding: 22px 16px !important;
    border-radius: 16px !important;
  }

  .ordering-process.in-dekujeme .recapitulation-table th,
  .ordering-process.in-dekujeme .recapitulation-table td {
    padding: 11px 8px !important;
  }

  .ordering-process.in-dekujeme .co-order .cart-p-image {
    width: 58px !important;
    min-width: 58px !important;
    padding-right: 10px !important;
  }

  .ordering-process.in-dekujeme .co-order .cart-p-image img {
    max-width: 48px !important;
    max-height: 48px !important;
  }

  .ordering-process.in-dekujeme .order-complete-links .btn {
    width: 100% !important;
    max-width: 320px !important;
  }
}

/* ==================================================
   SPOLECNA RESPONZIVNI VRSTVA OBJEDNAVKOVEHO PROCESU
   Tablet, telefon na sirku a telefon na vysku
   ================================================== */

/* Tablet a mensi notebook / telefon na sirku. */
@media (max-width: 1024px) {
  .ordering-process.in-kosik .cart-inner,
  .ordering-process.in-krok-1 .cart-inner,
  .ordering-process.in-krok-2 .cart-inner {
    width: 100% !important;
    padding: 8px 24px 28px !important;
  }

  /* Kontakt se na uzsim displeji presune pod nadpis a vyplni sirku. */
  .ordering-process.in-kosik .cart-header-block,
  .ordering-process.in-krok-1 .cart-header-block,
  .ordering-process.in-krok-2 .cart-header-block {
    display: block !important;
    margin-bottom: 24px !important;
  }

  .ordering-process.in-kosik .cart-header__contact,
  .ordering-process.in-krok-1 .cart-header__contact,
  .ordering-process.in-krok-2 .cart-header__contact {
    width: 100% !important;
    margin: 12px 0 0 !important;
  }

  .ordering-process.in-kosik .cart-header__contact .checkout-box-wrapper,
  .ordering-process.in-krok-1 .cart-header__contact .checkout-box-wrapper,
  .ordering-process.in-krok-2 .cart-header__contact .checkout-box-wrapper {
    justify-content: center !important;
    width: 100% !important;
    padding: 11px 16px !important;
    border-radius: 14px !important;
  }

  .ordering-process.in-kosik .cart-header__contact .h4,
  .ordering-process.in-krok-1 .cart-header__contact .h4,
  .ordering-process.in-krok-2 .cart-header__contact .h4 {
    display: none !important;
  }

  .ordering-process.in-kosik .cart-header__contact .contact-box ul,
  .ordering-process.in-krok-1 .cart-header__contact .contact-box ul,
  .ordering-process.in-krok-2 .cart-header__contact .contact-box ul {
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 8px 16px !important;
  }

  /* Doprava a osobni udaje se skladaji do jednoho sloupce. */
  .ordering-process.in-krok-1 .cart-row,
  .ordering-process.in-krok-2 .cart-row {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .ordering-process.in-krok-1 #checkoutContent,
  .ordering-process.in-krok-1 #checkoutSidebar,
  .ordering-process.in-krok-2 #checkoutContent,
  .ordering-process.in-krok-2 #checkoutSidebar {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .ordering-process.in-krok-1 #checkoutSidebar,
  .ordering-process.in-krok-2 #checkoutSidebar {
    margin-top: 24px !important;
  }

  .ordering-process.in-krok-1 #checkoutSidebar .order-summary,
  .ordering-process.in-krok-2 #checkoutSidebar .order-summary,
  .ordering-process.in-krok-1 #checkoutSidebar .order-summary-inner,
  .ordering-process.in-krok-2 #checkoutSidebar .order-summary-inner {
    width: 100% !important;
    max-width: 100% !important;
  }

  .ordering-process.in-krok-1 .co-basic-information,
  .ordering-process.in-krok-1 .co-delivery-method,
  .ordering-process.in-krok-2 .co-contact-information,
  .ordering-process.in-krok-2 .co-billing-address,
  .ordering-process.in-krok-2 .co-shipping-address,
  .ordering-process.in-krok-2 .co-box-additional {
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 32px !important;
  }

  .ordering-process.in-krok-1 .shipping-billing-table,
  .ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper,
  .ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper label {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
  }

  .ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper label,
  .ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper label:hover,
  .ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper.active label {
    min-height: 72px !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }

  .ordering-process.in-krok-1 #deliveryCountryId,
  .ordering-process.in-krok-2 #checkoutContent .form-control,
  .ordering-process.in-krok-2 #checkoutContent input,
  .ordering-process.in-krok-2 #checkoutContent textarea,
  .ordering-process.in-krok-2 #checkoutContent select {
    max-width: 100% !important;
  }

  .ordering-process.in-krok-2 .consents,
  .ordering-process.in-krok-2 .next-step {
    width: 100% !important;
  }

  /* Kosik: souhrn i kupon vzdy pod sebou a bez desktopovych minimalnich sirek. */
  .ordering-process.in-kosik .cart-summary .extras-wrapper {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    gap: 16px !important;
  }

  .ordering-process.in-kosik .cart-summary .extras-col-basket,
  .ordering-process.in-kosik .cart-summary .js-extras-col-summary,
  .ordering-process.in-kosik .discount-coupon,
  .ordering-process.in-kosik .summary-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }

  /* Dekovaci stranka nesmi drzet desktopovou sirku 1000 px. */
  .ordering-process.in-dekujeme #content {
    padding: 28px 24px 58px !important;
  }

  .ordering-process.in-dekujeme .content-inner {
    width: 100% !important;
    margin: 0 !important;
  }

  .ordering-process.in-dekujeme .recapitulation-wrapper-box,
  .ordering-process.in-dekujeme .recapitulation-wrapper.in-thanks-page:not(.recapitulation-wrapper-box),
  .ordering-process.in-dekujeme .order-complete-links {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .ordering-process.in-dekujeme .recapitulation-wrapper .co-payment-method,
  .ordering-process.in-dekujeme .recapitulation-wrapper .co-order {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Telefon. */
@media (max-width: 767px) {
  .ordering-process.in-kosik .cart-inner,
  .ordering-process.in-krok-1 .cart-inner,
  .ordering-process.in-krok-2 .cart-inner {
    padding: 4px 10px 20px !important;
  }

  .ordering-process .cart-header {
    width: 100% !important;
    overflow: visible !important;
  }

  .ordering-process .cart-header .step > strong,
  .ordering-process .cart-header .step > a {
    min-width: 0 !important;
  }

  /* Formulare osobnich udaju skutecne pres celou sirku. */
  .ordering-process.in-krok-2 #checkoutContent .form-group--inline,
  .ordering-process.in-krok-2 #checkoutContent .form-group,
  .ordering-process.in-krok-2 #checkoutContent .form-control-wrapper {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .ordering-process.in-krok-2 #checkoutContent .form-group--inline > label,
  .ordering-process.in-krok-2 #checkoutContent .form-group > label {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 7px !important;
  }

  .ordering-process.in-krok-2 #checkoutContent .form-control,
  .ordering-process.in-krok-2 #checkoutContent input[type="text"],
  .ordering-process.in-krok-2 #checkoutContent input[type="email"],
  .ordering-process.in-krok-2 #checkoutContent input[type="tel"],
  .ordering-process.in-krok-2 #checkoutContent textarea,
  .ordering-process.in-krok-2 #checkoutContent select,
  .ordering-process.in-krok-2 .phone-combined-input {
    width: 100% !important;
    max-width: 100% !important;
  }

  .ordering-process.in-krok-2 .login-button {
    width: 100% !important;
    justify-content: center !important;
  }

  .ordering-process.in-krok-2 .co-box-additional .stay-in-touch {
    padding: 14px !important;
  }

  .ordering-process.in-krok-2 #submit-order,
  .ordering-process.in-krok-2 .next-step-back {
    width: 100% !important;
    max-width: 100% !important;
  }

  .ordering-process.in-krok-2 .next-step {
    flex-direction: column-reverse !important;
    gap: 10px !important;
  }

  /* Doprava: misto i cena maji dost prostoru a nic nepreteka. */
  .ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper label,
  .ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper label:hover,
  .ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper.active label {
    min-height: 68px !important;
    padding: 12px 12px 12px 58px !important;
  }

  .ordering-process.in-krok-1 .shipping-billing-table .payment-info {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
  }

  .ordering-process.in-krok-1 .shipping-billing-table .payment-logo {
    max-width: 64px !important;
  }

  .ordering-process.in-krok-1 .shipping-billing-table .payment-shipping-price {
    white-space: nowrap !important;
  }

  /* Dekovaci stranka: polozka objednavky do citelne mrizky. */
  .ordering-process.in-dekujeme #content {
    padding: 22px 14px 48px !important;
  }

  .ordering-process.in-dekujeme .co-order .cart-table,
  .ordering-process.in-dekujeme .co-order .cart-table tbody {
    display: block !important;
    width: 100% !important;
  }

  .ordering-process.in-dekujeme .co-order .cart-table tr {
    display: grid !important;
    grid-template-columns: 50px minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    align-items: center !important;
    gap: 3px 10px !important;
    width: 100% !important;
    padding: 14px 0 !important;
    border-bottom: 1px solid var(--ohlala-border) !important;
  }

  .ordering-process.in-dekujeme .co-order .cart-table tr:last-child {
    border-bottom: 0 !important;
  }

  .ordering-process.in-dekujeme .co-order .cart-table td {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .ordering-process.in-dekujeme .co-order .cart-p-image {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
  }

  .ordering-process.in-dekujeme .co-order .p-name {
    grid-column: 2 !important;
    grid-row: 1 !important;
    overflow-wrap: anywhere !important;
  }

  .ordering-process.in-dekujeme .co-order .p-quantity {
    grid-column: 2 !important;
    grid-row: 2 !important;
    color: var(--ohlala-muted) !important;
    font-size: 12px !important;
  }

  .ordering-process.in-dekujeme .co-order .p-price {
    grid-column: 3 !important;
    grid-row: 1 / span 2 !important;
    white-space: nowrap !important;
  }
}

/* Male telefony. */
@media (max-width: 480px) {
  .ordering-process.in-kosik .discount-coupon {
    padding: 16px !important;
  }

  .ordering-process.in-kosik .discount-coupon form[data-testid="formDiscountCoupon"] button[type="submit"] {
    flex-basis: 86px !important;
    width: 86px !important;
    min-width: 86px !important;
    padding: 0 8px !important;
  }

  .ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper label,
  .ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper label:hover,
  .ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper.active label {
    padding-right: 10px !important;
    padding-left: 52px !important;
  }

  .ordering-process.in-dekujeme .recapitulation-table th,
  .ordering-process.in-dekujeme .recapitulation-table td {
    font-size: 12px !important;
  }
}

/* Mobilni Apollo pridava vlastni ramecek pri checked/focus stavu.
   Toto pravidlo musi byt az na konci souboru, aby jej spolehlive prepsalo. */
@media (max-width: 1024px) {
  html body.ordering-process.in-krok-1 .shipping-billing-table {
    background: transparent !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
  }

  html body.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper,
  html body.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper:hover,
  html body.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper.active,
  html body.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper:focus,
  html body.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper:focus-within {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
  }

  html body.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper label,
  html body.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper label:hover,
  html body.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper label:focus,
  html body.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper label:focus-visible,
  html body.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper.active label,
  html body.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper input:checked + label,
  html body.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper input:focus + label,
  html body.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper input:focus-visible + label,
  html body.ordering-process.in-krok-1 .shipping-billing-table label.active,
  html body.ordering-process.in-krok-1 .shipping-billing-table .billing-name.active {
    border: 0 !important;
    outline: 0 !important;
    outline-offset: 0 !important;
    box-shadow: none !important;
    filter: none !important;
    -webkit-tap-highlight-color: transparent !important;
    border-radius: 16px !important;
    color: var(--ohlala-black) !important;
  }

  html body.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper input[type="radio"],
  html body.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper input[type="radio"]:focus,
  html body.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper input[type="radio"]:focus-visible {
    outline: 0 !important;
    outline-offset: 0 !important;
    box-shadow: none !important;
  }

  html body.ordering-process.in-krok-1 #deliveryCountryId,
  html body.ordering-process.in-krok-1 #deliveryCountryId:hover,
  html body.ordering-process.in-krok-1 #deliveryCountryId:focus,
  html body.ordering-process.in-krok-1 #deliveryCountryId:focus-visible {
    border: 0 !important;
    outline: 0 !important;
    outline-offset: 0 !important;
    box-shadow: none !important;
  }

  /* Stejne barvy a stavy jako na desktopu. */
  html body.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper label,
  html body.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper input + label {
    background: var(--ohlala-cream) !important;
  }

  html body.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper:not(.active) label:hover {
    background: #EEF4F1 !important;
  }

  html body.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper.active label,
  html body.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper input:checked + label,
  html body.ordering-process.in-krok-1 .shipping-billing-table .billing-name.active {
    background: #E2EFEB !important;
  }

  html body.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper label::before {
    background: var(--ohlala-white) !important;
    border: 1px solid var(--ohlala-muted) !important;
    box-shadow: none !important;
  }

  html body.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper.active label::before,
  html body.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper input:checked + label::before {
    background: var(--ohlala-teal) !important;
    border-color: var(--ohlala-teal) !important;
  }

  html body.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper.active label::after,
  html body.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper input:checked + label::after {
    border-color: var(--ohlala-white) !important;
  }

  html body.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper.active .payment-shipping-price,
  html body.ordering-process.in-krok-1 .shipping-billing-table .radio-wrapper input:checked + label .payment-shipping-price {
    color: var(--ohlala-teal-hover) !important;
  }
}

@media (max-width: 767px) {
  h1,
  .h1,
  .category-title {
    font-size: 30px !important;
  }

  h2,
  .h2,
  .products-top-header,
  .homepage-group-title {
    font-size: 26px !important;
  }

  .listSorting__control {
    min-height: 44px !important;
    font-size: 12px !important;
  }

  .btn.btn-conversion,
  .btn.btn-cart,
  .add-to-cart-button,
  button.add-to-cart-button,
  .btn.btn-primary {
    min-height: 48px !important;
  }

  .ohc-button,
  a:has(.ohc-title) .btn,
  a:has(.ohc-title) [class*="button"] {
    font-size: 12px !important;
  }
}

@media (min-width: 1200px) {
  body.type-category #products.products-page > .product {
    flex: 0 0 25% !important;
    width: 25% !important;
    max-width: 25% !important;
  }
}

/* =========================================================
   SYSTEMOVE HLASKY / TOASTY
   ========================================================= */

html body .messages .msg,
html body .msg,
html body .notification-wrapper .notification,
html body .notifications .notification {
  border: 1px solid var(--ohlala-border) !important;
  border-radius: 22px !important;
  box-shadow: 0 10px 30px rgba(41, 39, 36, .14) !important;
  color: var(--ohlala-black) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-weight: 600 !important;
}

/* Uspesna akce: pridani do kosiku, ulozeni formulare apod. */
html body .messages .msg-success,
html body .msg.msg-success,
html body .notification.notification-success,
html body .notification.success,
html body .alert.alert-success {
  background: var(--ohlala-teal-light) !important;
  border-color: var(--ohlala-teal) !important;
  color: var(--ohlala-black) !important;
}

/* Bezna informacni hlaska */
html body .messages .msg-info,
html body .msg.msg-info,
html body .notification.notification-info,
html body .notification.info,
html body .alert.alert-info {
  background: var(--ohlala-cream) !important;
  border-color: var(--ohlala-teal-light) !important;
  color: var(--ohlala-black) !important;
}

/* Upozorneni */
html body .messages .msg-warning,
html body .msg.msg-warning,
html body .notification.notification-warning,
html body .notification.warning,
html body .alert.alert-warning {
  background: var(--ohlala-yellow-light) !important;
  border-color: #D3B949 !important;
  color: var(--ohlala-black) !important;
}

/* Chyba: tlumena koralova, nikoliv kriklave cervena */
html body .messages .msg-error,
html body .messages .msg-danger,
html body .msg.msg-error,
html body .msg.msg-danger,
html body .notification.notification-error,
html body .notification.notification-danger,
html body .notification.error,
html body .alert.alert-error,
html body .alert.alert-danger {
  background: var(--ohlala-coral-light) !important;
  border-color: var(--ohlala-danger) !important;
  color: #7A2E20 !important;
}

html body .messages .msg a,
html body .notification-wrapper .notification a,
html body .notifications .notification a,
html body .alert[class*="alert-"] a {
  color: inherit !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

html body .messages .msg .close,
html body .messages .msg button.close,
html body .notification-wrapper .notification .close,
html body .notifications .notification .close {
  color: currentColor !important;
  opacity: .72 !important;
}

html body .messages .msg .close:hover,
html body .messages .msg button.close:hover,
html body .notification-wrapper .notification .close:hover,
html body .notifications .notification .close:hover {
  opacity: 1 !important;
}

/* =========================================================
   VYHLEDAVANI – AKTIVNI POLE A NASEPTAVAC
   ========================================================= */

/* Apollo pri otevreni naseptavace pridava formulari bocni padding.
   Ten vytvarel druhy ramecek a posouval vysledky dovnitr. */
#header .search.is-searching #formSearchForm {
  width: 100% !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 12px 12px 0 0 !important;
  box-shadow: none !important;
}

#header .search.is-searching #formSearchForm fieldset {
  width: 100% !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 12px 12px 0 0 !important;
  box-shadow: none !important;
}

/* Jediny subtilni ramecek, bez modreho ani dvojiteho focus obrysu. */
#header .search.is-searching #formSearchForm input.search-input,
#header .search.is-searching #formSearchForm input.search-input:focus,
#header .search.is-searching #formSearchForm input.search-input:active {
  width: 100% !important;
  padding-left: 18px !important;
  background: var(--ohlala-cream) !important;
  border: 1px solid var(--ohlala-teal-light) !important;
  border-bottom-color: transparent !important;
  border-radius: 12px 12px 0 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
}

#header .search.is-searching #formSearchForm button[data-testid="searchBtn"],
#header .search.is-searching #formSearchForm button[data-testid="searchBtn"]:hover,
#header .search.is-searching #formSearchForm button[data-testid="searchBtn"]:focus,
#header .search.is-searching #formSearchForm button[data-testid="searchBtn"]:active {
  right: 0 !important;
  border-radius: 0 12px 0 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* Naseptavac presne navazuje na spodni hranu vyhledavaciho pole. */
#header .search.is-searching #formSearchForm .search-whisperer.active {
  top: calc(100% - 1px) !important;
  right: 0 !important;
  left: 0 !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  background: #FFFDF8 !important;
  border: 1px solid var(--ohlala-teal-light) !important;
  border-top: 0 !important;
  border-radius: 0 0 12px 12px !important;
  box-shadow: 0 14px 28px rgba(41, 39, 36, .14) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  z-index: 1000 !important;
}

/* =========================================================
   KOSIK V2 – CISTSI KROKY, KUPON A SOUHRN
   ========================================================= */

/* Jednoduchy ukazatel objednavky bez velkych ramecku. */
.ordering-process .cart-header {
  position: relative !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: center !important;
  min-height: 72px !important;
  margin: 0 0 26px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

.ordering-process .cart-header::before {
  position: absolute !important;
  top: 35px !important;
  right: 16.666% !important;
  left: 16.666% !important;
  z-index: 0 !important;
  height: 2px !important;
  background: var(--ohlala-border) !important;
  content: "" !important;
}

.ordering-process .cart-header .step,
.ordering-process .cart-header .step.active,
.ordering-process .cart-header .step.completed {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-height: 72px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.ordering-process .cart-header .step > strong,
.ordering-process .cart-header .step > a {
  position: relative !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  max-width: 100% !important;
  padding: 0 12px !important;
  background: var(--ohlala-white) !important;
  text-decoration: none !important;
}

.ordering-process .cart-header .step span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  color: var(--ohlala-muted) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-align: center !important;
}

.ordering-process .cart-header .step span::before {
  display: inline-flex !important;
  flex: 0 0 30px !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  margin: 0 !important;
  background: var(--ohlala-white) !important;
  border: 1px solid #CFC6B8 !important;
  border-radius: 50% !important;
  color: var(--ohlala-muted) !important;
  box-sizing: border-box !important;
}

.ordering-process .cart-header .step.active span,
.ordering-process .cart-header .step.completed span,
.ordering-process .cart-header .step.completed a {
  color: var(--ohlala-teal-hover) !important;
}

.ordering-process .cart-header .step.active span::before {
  background: var(--ohlala-teal) !important;
  border-color: var(--ohlala-teal) !important;
  color: var(--ohlala-white) !important;
}

.ordering-process .cart-header .step.completed span::before {
  background: var(--ohlala-teal-light) !important;
  border-color: var(--ohlala-teal) !important;
  color: var(--ohlala-teal-hover) !important;
}

/* Hlavni obsah kosiku bez velkeho obvodoveho ramecku. */
.ordering-process.in-kosik .cart-inner {
  padding: 8px 60px 14px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.ordering-process.in-kosik .cart-table {
  width: 100% !important;
  margin: 8px 0 12px !important;
  border: 0 !important;
}

.ordering-process.in-kosik .cart-table td {
  border-bottom: 1px solid var(--ohlala-border) !important;
}

.ordering-process.in-kosik .cart-table tr:last-child td {
  border-bottom: 0 !important;
}

/* Nahled produktu v kosiku – vzdy cely obrazek bez orezu. */
.ordering-process.in-kosik .cart-table .cart-p-image {
  width: 96px !important;
  min-width: 96px !important;
  padding-right: 16px !important;
  background: transparent !important;
  vertical-align: middle !important;
}

.ordering-process.in-kosik .cart-table .cart-p-image > a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 76px !important;
  height: 76px !important;
  background: transparent !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

.ordering-process.in-kosik .cart-table .cart-p-image img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 76px !important;
  max-height: 76px !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  mix-blend-mode: multiply !important;
}

/* Jeden souvisly ramecek kolem celeho ovladani mnozstvi. */
.ordering-process.in-kosik .cart-table .p-quantity .quantity {
  width: 116px !important;
  height: 42px !important;
  background: var(--ohlala-white) !important;
  border: 1px solid #D8D0C3 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.ordering-process.in-kosik .cart-table .p-quantity .quantity:focus-within {
  border-color: var(--ohlala-teal) !important;
  box-shadow: 0 0 0 1px var(--ohlala-teal) !important;
}

.ordering-process.in-kosik .cart-table .p-quantity .quantity input.amount {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.ordering-process.in-kosik .cart-table .p-quantity .quantity button.increase,
.ordering-process.in-kosik .cart-table .p-quantity .quantity button.decrease {
  top: 1px !important;
  bottom: 1px !important;
  width: 38px !important;
  height: auto !important;
  background: var(--ohlala-white) !important;
  border: 0 !important;
  box-shadow: none !important;
}

.ordering-process.in-kosik .cart-table .p-quantity .quantity button.decrease {
  left: 1px !important;
  right: auto !important;
  border-radius: 10px 0 0 10px !important;
}

.ordering-process.in-kosik .cart-table .p-quantity .quantity button.increase {
  right: 1px !important;
  left: auto !important;
  border-radius: 0 10px 10px 0 !important;
}

.ordering-process.in-kosik .cart-table .p-quantity .quantity button:hover {
  background: var(--ohlala-teal-wash) !important;
  color: var(--ohlala-teal-hover) !important;
}

/* Kompaktni zahlavi s kontaktem. */
.ordering-process.in-kosik .cart-header-block {
  align-items: center !important;
  margin-bottom: 26px !important;
}

.ordering-process.in-kosik .cart-header__contact {
  width: auto !important;
  margin: 0 0 0 auto !important;
}

.ordering-process.in-kosik .cart-header__contact .checkout-box-wrapper {
  display: flex !important;
  align-items: center !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 12px 18px !important;
  background: var(--ohlala-teal-wash) !important;
  border: 0 !important;
  border-radius: var(--ohlala-radius-pill) !important;
  box-shadow: none !important;
}

.ordering-process.in-kosik .cart-header__contact .h4 {
  width: auto !important;
  height: auto !important;
  margin: 0 16px 0 0 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
}

.ordering-process.in-kosik .cart-header__contact .contact-box ul {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin: 0 !important;
}

.ordering-process.in-kosik .cart-header__contact .contact-box li {
  margin: 0 !important;
}

.ordering-process.in-kosik .cart-header__contact .contact-box a {
  color: var(--ohlala-black) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

/* Souhrn: vlevo nenapadny kupon, vpravo cena a hlavni CTA. */
.ordering-process.in-kosik .cart-summary {
  height: auto !important;
  padding-top: 26px !important;
}

.ordering-process.in-kosik .cart-summary > .h4 {
  display: none !important;
}

.ordering-process.in-kosik .cart-summary .extras-wrapper {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 1fr) !important;
  align-items: stretch !important;
  gap: 24px !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
}

.ordering-process.in-kosik .cart-summary .extras-col {
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.ordering-process.in-kosik .cart-summary .extras-col-empty {
  display: none !important;
}

.ordering-process.in-kosik .cart-summary .extras-col-basket {
  display: block !important;
  align-self: stretch !important;
  padding: 0 !important;
}

/* Kupon je stale otevreny – bez mezikroku s rozbalovacim odkazem. */
.ordering-process.in-kosik .discount-coupon-checkbox {
  display: none !important;
}

.ordering-process.in-kosik .discount-coupon-checkbox::before {
  display: none !important;
  content: none !important;
}

.ordering-process.in-kosik .discount-coupon-checkbox::after {
  color: var(--ohlala-teal) !important;
  content: "+" !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
}

.ordering-process.in-kosik .discount-coupon {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 158px !important;
  margin: 0 !important;
  padding: 26px !important;
  background: var(--ohlala-cream) !important;
  border: 0 !important;
  border-radius: 18px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

.ordering-process.in-kosik .discount-coupon > .h4 {
  display: block !important;
  width: 100% !important;
  margin: 0 0 16px !important;
  color: var(--ohlala-black) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-align: left !important;
}

.ordering-process.in-kosik .discount-coupon > .h4 strong,
.ordering-process.in-kosik .discount-coupon .h4 strong {
  color: var(--ohlala-black) !important;
  -webkit-text-fill-color: var(--ohlala-black) !important;
}

.ordering-process.in-kosik .discount-coupon form[data-testid="formDiscountCoupon"] {
  display: flex !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: none !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
}

.ordering-process.in-kosik #discountCouponCode {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 10px 14px !important;
  background: var(--ohlala-white) !important;
  border: 1px solid var(--ohlala-teal-light) !important;
  border-right: 0 !important;
  border-radius: 12px 0 0 12px !important;
  box-shadow: none !important;
}

.ordering-process.in-kosik #discountCouponCode:focus {
  border-color: var(--ohlala-teal) !important;
  box-shadow: inset 0 0 0 1px var(--ohlala-teal) !important;
}

.ordering-process.in-kosik .discount-coupon form[data-testid="formDiscountCoupon"] button[type="submit"] {
  flex: 0 0 auto !important;
  min-width: 112px !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 20px !important;
  background: var(--ohlala-teal) !important;
  border: 1px solid var(--ohlala-teal) !important;
  border-radius: 0 12px 12px 0 !important;
  color: var(--ohlala-white) !important;
  box-shadow: none !important;
  font-size: 0 !important;
  font-weight: 700 !important;
}

.ordering-process.in-kosik .discount-coupon form[data-testid="formDiscountCoupon"] button[type="submit"]::after {
  color: var(--ohlala-white) !important;
  content: "Potvrdit" !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

.ordering-process.in-kosik .discount-coupon form[data-testid="formDiscountCoupon"] button[type="submit"]:hover {
  background: var(--ohlala-teal-hover) !important;
  border-color: var(--ohlala-teal-hover) !important;
}

/* Stav po uspesnem pouziti kuponu. Shoptet zde vlozi jinou strukturu
   s formularem pro odebrani – nesmi zdedit rozmery tlacitka Potvrdit. */
.ordering-process.in-kosik .discount-coupon .applied-coupon__heading {
  display: none !important;
}

.ordering-process.in-kosik .discount-coupon .applied-coupon {
  display: grid !important;
  grid-template-columns: 32px minmax(0, 1fr) 32px !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  background: #E8F1EE !important;
  border: 0 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

.ordering-process.in-kosik .discount-coupon .applied-coupon::before {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  background: var(--ohlala-teal) !important;
  border-radius: 50% !important;
  color: var(--ohlala-white) !important;
  content: "\2713" !important;
  font-family: Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

.ordering-process.in-kosik .discount-coupon .applied-coupon > strong {
  min-width: 0 !important;
  margin: 0 !important;
  color: var(--ohlala-black) !important;
  -webkit-text-fill-color: var(--ohlala-black) !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  line-height: 1.4 !important;
  overflow-wrap: anywhere !important;
}

.ordering-process.in-kosik .discount-coupon .applied-coupon form.js-remove-form,
.ordering-process.in-kosik .discount-coupon .applied-coupon form.js-remove-form fieldset {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  position: static !important;
  inset: auto !important;
  transform: none !important;
}

.ordering-process.in-kosik .discount-coupon button[data-testid="buttonRemoveDiscountCoupon"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 50% !important;
  color: var(--ohlala-muted) !important;
  box-shadow: none !important;
  font-size: 0 !important;
  line-height: 1 !important;
  position: static !important;
  inset: auto !important;
  float: none !important;
  transform: none !important;
  overflow: hidden !important;
}

.ordering-process.in-kosik .discount-coupon button[data-testid="buttonRemoveDiscountCoupon"]::before {
  display: none !important;
  content: none !important;
}

.ordering-process.in-kosik .discount-coupon button[data-testid="buttonRemoveDiscountCoupon"]::after {
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  color: var(--ohlala-muted) !important;
  content: "\00D7" !important;
  font-family: Arial, sans-serif !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  position: static !important;
  inset: auto !important;
  transform: none !important;
}

.ordering-process.in-kosik .discount-coupon button[data-testid="buttonRemoveDiscountCoupon"]:hover {
  background: var(--ohlala-coral-light) !important;
  color: var(--ohlala-danger) !important;
}

.ordering-process.in-kosik .discount-coupon button[data-testid="buttonRemoveDiscountCoupon"]:hover::after {
  color: var(--ohlala-danger) !important;
}

/* Cenovy souhrn a hlavni tlacitko. */
.ordering-process.in-kosik .summary-wrapper {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 26px !important;
  background: var(--ohlala-cream) !important;
  border: 0 !important;
  border-radius: 18px !important;
  box-shadow: none !important;
}

.ordering-process.in-kosik .summary-wrapper .box {
  width: 100% !important;
  height: auto !important;
}

.ordering-process.in-kosik .price-wrapper {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 7px 18px !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 0 20px !important;
}

.ordering-process.in-kosik .price-wrapper .price-primary {
  color: var(--ohlala-black) !important;
  font-weight: 800 !important;
}

.ordering-process.in-kosik .price-wrapper strong.price-primary {
  font-size: 24px !important;
  line-height: 1.15 !important;
}

.ordering-process.in-kosik .price-wrapper .price-secondary {
  color: var(--ohlala-muted) !important;
  font-size: 13px !important;
}

.ordering-process.in-kosik .next-step.next-step--cart {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

.ordering-process.in-kosik #continue-order-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 58px !important;
  margin: 0 !important;
  padding: 10px 24px !important;
  background: var(--ohlala-teal) !important;
  border: 1px solid var(--ohlala-teal) !important;
  border-radius: var(--ohlala-radius-pill) !important;
  color: var(--ohlala-white) !important;
  box-shadow: none !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

.ordering-process.in-kosik #continue-order-button:hover {
  background: var(--ohlala-teal-hover) !important;
  border-color: var(--ohlala-teal-hover) !important;
  color: var(--ohlala-white) !important;
}

@media (max-width: 767px) {
  .ordering-process .cart-header {
    min-height: 64px !important;
    margin-bottom: 16px !important;
  }

  .ordering-process .cart-header::before {
    top: 15px !important;
  }

  .ordering-process .cart-header .step,
  .ordering-process .cart-header .step.active,
  .ordering-process .cart-header .step.completed {
    min-height: 64px !important;
    align-items: flex-start !important;
  }

  .ordering-process .cart-header .step > strong,
  .ordering-process .cart-header .step > a {
    padding: 0 4px !important;
  }

  .ordering-process .cart-header .step span {
    flex-direction: column !important;
    gap: 5px !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
  }

  .ordering-process .cart-header .step span::before {
    flex-basis: 28px !important;
    width: 28px !important;
    height: 28px !important;
  }

  .ordering-process.in-kosik .cart-inner {
    padding: 4px 10px 12px !important;
  }

  .ordering-process.in-kosik .cart-table .cart-p-image {
    width: 76px !important;
    min-width: 76px !important;
    padding-right: 12px !important;
  }

  .ordering-process.in-kosik .cart-table .cart-p-image > a {
    width: 64px !important;
    height: 64px !important;
  }

  .ordering-process.in-kosik .cart-table .cart-p-image img {
    max-width: 64px !important;
    max-height: 64px !important;
  }

  .ordering-process.in-kosik .cart-header-block {
    display: block !important;
    margin-bottom: 20px !important;
  }

  .ordering-process.in-kosik .cart-header__contact {
    width: 100% !important;
    margin: 12px 0 0 !important;
  }

  .ordering-process.in-kosik .cart-header__contact .checkout-box-wrapper {
    justify-content: center !important;
    width: 100% !important;
    padding: 10px 14px !important;
    border-radius: 14px !important;
  }

  .ordering-process.in-kosik .cart-header__contact .h4 {
    display: none !important;
  }

  .ordering-process.in-kosik .cart-header__contact .contact-box ul {
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 8px 16px !important;
  }

  .ordering-process.in-kosik .cart-summary .extras-wrapper {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .ordering-process.in-kosik .cart-summary .extras-col-basket {
    padding: 0 !important;
  }

  .ordering-process.in-kosik .discount-coupon form[data-testid="formDiscountCoupon"] {
    max-width: none !important;
  }

  .ordering-process.in-kosik .summary-wrapper {
    padding: 20px !important;
    border-radius: 16px !important;
  }

  .ordering-process.in-kosik .price-wrapper strong.price-primary {
    font-size: 22px !important;
  }
}

/* Mobil vcetne zobrazeni telefonu na sirku. */
@media (max-width: 991px) {
  .ordering-process.in-kosik .cart-summary,
  .ordering-process.in-kosik .cart-summary .extras-wrapper,
  .ordering-process.in-kosik .cart-summary .extras-col,
  .ordering-process.in-kosik .cart-summary .extras-col-basket,
  .ordering-process.in-kosik .cart-summary .js-extras-col-summary {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
  }

  /* Apollo nektere casti kuponu na mobilu skryva. Vynutime proto
     viditelnost cele cesty od souhrnu az po samotne vstupni pole. */
  html body.ordering-process.in-kosik .cart-summary {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
  }

  .ordering-process.in-kosik .cart-summary .extras-wrapper {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    margin: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
  }

  html body.ordering-process.in-kosik .cart-summary .extras-col-basket {
    display: block !important;
    order: 1 !important;
    position: static !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
  }

  html body.ordering-process.in-kosik .cart-summary .js-extras-col-summary {
    display: block !important;
    order: 2 !important;
    position: static !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  html body.ordering-process.in-kosik .discount-coupon {
    display: flex !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 20px !important;
    border-radius: 16px !important;
    position: static !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
  }

  .ordering-process.in-kosik .discount-coupon > .h4,
  .ordering-process.in-kosik .discount-coupon > .h4 strong,
  .ordering-process.in-kosik .discount-coupon .h4 strong {
    color: var(--ohlala-black) !important;
    -webkit-text-fill-color: var(--ohlala-black) !important;
  }

  html body.ordering-process.in-kosik .discount-coupon form[data-testid="formDiscountCoupon"] {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: none !important;
    margin: 0 !important;
    gap: 0 !important;
    position: static !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
  }

  html body.ordering-process.in-kosik #discountCouponCode {
    display: block !important;
    flex: 1 1 auto !important;
    width: 1% !important;
    min-width: 0 !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: none !important;
    position: static !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  html body.ordering-process.in-kosik .discount-coupon form[data-testid="formDiscountCoupon"] button[type="submit"] {
    display: inline-flex !important;
    flex: 0 0 94px !important;
    width: 94px !important;
    min-width: 94px !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 12px !important;
    position: static !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}

/* ==================================================
   TABLET 768–1024 PX + SIROKY DOTYKOVY TABLET DO 1366 PX
   Vlastni mezistupen mezi desktopem a mobilem
   ================================================== */

@media (min-width: 768px) and (max-width: 1024px),
       (min-width: 1025px) and (max-width: 1366px) and (orientation: landscape) and (hover: none),
       (min-width: 1025px) and (max-width: 1366px) and (orientation: landscape) and (any-pointer: coarse) {
  /* Stejne bocni odsazeni napric celou homepage. */
  body.type-index #content,
  body.in-index #content,
  body.type-category #content {
    width: 100% !important;
    padding-right: 30px !important;
    padding-left: 30px !important;
    box-sizing: border-box !important;
  }

  /* Horni informacni lista: bez e-mailu, pouze puvodni odkazy. */
  .top-navigation-bar,
  .top-navigation-bar > .container {
    min-height: 34px !important;
    height: 34px !important;
    background: var(--ohlala-teal-light) !important;
  }

  .top-navigation-bar > .container {
    display: flex !important;
    align-items: center !important;
    width: calc(100% - 60px) !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  .top-navigation-bar .top-navigation-contacts,
  .top-navigation-bar > .container > .site-name,
  .top-navigation-bar .responsive-tools,
  .top-navigation-bar .top-navigation-menu-trigger,
  .top-navigation-bar .top-navigation-bar-menu-helper {
    display: none !important;
  }

  .top-navigation-bar .top-navigation-menu,
  .top-navigation-bar .top-navigation-bar-menu {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .top-navigation-bar .top-navigation-bar-menu {
    gap: 0 !important;
    overflow: hidden !important;
    font-size: 0 !important;
  }

  .top-navigation-bar .top-navigation-bar-menu > li {
    display: flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .top-navigation-bar .top-navigation-bar-menu > li + li::before {
    content: "" !important;
    position: static !important;
    inset: auto !important;
    display: block !important;
    flex: 0 0 4px !important;
    width: 4px !important;
    height: 4px !important;
    margin: 0 10px !important;
    background: var(--ohlala-muted) !important;
    border: 0 !important;
    border-radius: 50% !important;
    opacity: .48 !important;
  }

  .top-navigation-bar .top-navigation-bar-menu > li > a {
    display: flex !important;
    align-items: center !important;
    height: 34px !important;
    padding: 0 !important;
    color: var(--ohlala-black) !important;
    font-size: 11px !important;
    line-height: 1.15 !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
  }

  /* Logo, hledani, prihlaseni a kosik v jednom tabletem radku. */
  #header .navigation-wrapper {
    width: calc(100% - 60px) !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  #header .header-top {
    display: grid !important;
    grid-template-columns: 132px minmax(230px, 1fr) auto !important;
    align-items: center !important;
    column-gap: 14px !important;
    width: 100% !important;
    min-height: 78px !important;
    height: 78px !important;
    padding: 12px 0 !important;
  }

  #header .header-top .site-name-wrapper {
    display: block !important;
    width: 132px !important;
    min-width: 0 !important;
    max-width: 132px !important;
  }

  #header .header-top .site-name,
  #header .header-top .site-name > a {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    height: 50px !important;
  }

  #header .header-top .site-name img {
    width: auto !important;
    max-width: 128px !important;
    max-height: 50px !important;
  }

  #header .header-top .search {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
  }

  #header #formSearchForm,
  #header #formSearchForm fieldset,
  #header #formSearchForm input.search-input {
    border-radius: var(--ohlala-radius-input) !important;
  }

  #header #formSearchForm button[data-testid="searchBtn"] {
    width: 54px !important;
    min-width: 54px !important;
    border-radius: 0 var(--ohlala-radius-input) var(--ohlala-radius-input) 0 !important;
  }

  #header .header-top .navigation-buttons {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    width: auto !important;
    min-width: 0 !important;
  }

  /* Prihlaseni zustava pouze jako piktogram. */
  #header .top-nav-button-login {
    position: relative !important;
    display: flex !important;
    flex: 0 0 44px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 50% !important;
    color: var(--ohlala-black) !important;
    font-size: 0 !important;
  }

  #header .top-nav-button-login > span {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
  }

  #header .top-nav-button-login::before {
    position: static !important;
    display: block !important;
    margin: 0 !important;
    color: var(--ohlala-black) !important;
    font-size: 25px !important;
    line-height: 1 !important;
  }

  #header .top-nav-button-login::after {
    display: none !important;
    content: none !important;
  }

  /* Kosik jako kompaktni tyrkysova pilulka. */
  #header .cart-count,
  #header .cart-count:hover,
  #header .cart-count.hovered,
  #header .cart-count[aria-expanded="true"] {
    position: relative !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-width: 118px !important;
    width: auto !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 4px 13px 4px 4px !important;
    background: var(--ohlala-cream) !important;
    border: 0 !important;
    border-radius: var(--ohlala-radius-pill) !important;
    color: var(--ohlala-black) !important;
    box-shadow: none !important;
  }

  #header .cart-count::before,
  #header .cart-count:hover::before,
  #header .cart-count.hovered::before {
    position: static !important;
    display: inline-flex !important;
    flex: 0 0 38px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    margin: 0 9px 0 0 !important;
    background: var(--ohlala-teal) !important;
    border: 0 !important;
    border-radius: 50% !important;
    color: var(--ohlala-white) !important;
    -webkit-text-fill-color: var(--ohlala-white) !important;
    font-size: 21px !important;
  }

  #header .cart-count::after {
    display: none !important;
    content: none !important;
  }

  #header .cart-count .cart-price {
    display: block !important;
    color: var(--ohlala-black) !important;
    -webkit-text-fill-color: var(--ohlala-black) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
  }

  #header .cart-count i {
    position: absolute !important;
    top: 0 !important;
    left: 31px !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 17px !important;
    height: 17px !important;
    padding: 0 !important;
    background: var(--ohlala-white) !important;
    border: 2px solid var(--ohlala-teal) !important;
    border-radius: 50% !important;
    color: var(--ohlala-black) !important;
    font-size: 9px !important;
    font-weight: 800 !important;
  }

  /* Kategorie v menu jsou na tabletu v jednom posuvnem radku. */
  #navigation {
    width: 100% !important;
    height: 54px !important;
    overflow: hidden !important;
  }

  #navigation .navigation-in {
    width: 100% !important;
    height: 54px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }

  #navigation .navigation-in::-webkit-scrollbar {
    display: none !important;
  }

  #navigation .navigation-in > ul.menu-level-1 {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    width: max-content !important;
    min-width: 100% !important;
    height: 54px !important;
    margin: 0 !important;
    padding: 0 8px !important;
    box-sizing: border-box !important;
  }

  #navigation .navigation-in > ul.menu-level-1 > li {
    display: block !important;
    flex: 0 0 auto !important;
    width: auto !important;
    height: 54px !important;
    margin: 0 !important;
  }

  #navigation .navigation-in > ul.menu-level-1 > li > a {
    display: flex !important;
    align-items: center !important;
    width: auto !important;
    min-width: 0 !important;
    height: 54px !important;
    padding: 0 13px !important;
    font-size: 12px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
  }

  /* Sablona umistuje sipku absolutne pres text. Na tabletu je soucasti
     flex radku a ma vlastni mezeru za nazvem kategorie. */
  #navigation .navigation-in > ul.menu-level-1 > li.ext > a::after {
    position: static !important;
    inset: auto !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    height: auto !important;
    margin: 0 0 0 7px !important;
    font-size: 9px !important;
    line-height: 1 !important;
    transform: none !important;
  }

  #navigation .navigation-in > ul.menu-level-1 > li.ext > a .submenu-arrow {
    display: none !important;
  }

  /* Pomocne menu "Vice" duplikuje kategorie a vytvari bile pole.
     Vsechny kategorie jsou dostupne vodorovnym posunem hlavniho radku. */
  #navigation .menu-helper,
  #navigation .menu-helper.visible {
    display: none !important;
  }

  /* Hlavni hero zustava siroky, ale na tabletu neni zbytecne vysoky. */
  body.type-index #ohlala-carousel-hero,
  body.in-index #ohlala-carousel-hero {
    min-height: 310px !important;
    height: 310px !important;
    border-radius: 22px !important;
    background-position: center center !important;
  }

  #ohlala-carousel-hero .oh-carousel__content {
    width: 44% !important;
    padding: 28px !important;
  }

  #ohlala-carousel-hero .oh-carousel__main {
    font-size: 36px !important;
    line-height: 1.02 !important;
  }

  #ohlala-carousel-hero .oh-carousel__script {
    font-size: 38px !important;
    line-height: 1 !important;
  }

  /* Vyber kategorii je na tabletu ve trech sloupcich i tehdy,
     kdy je ve Shoptetu jeste starsi verze HTML bloku. */
  html body #ohlala-category-section-static #ohlala-category-grid-static {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 26px 0 0 !important;
  }

  html body #ohlala-category-section-static #ohlala-category-grid-static .ohc-card {
    min-height: 60px !important;
    padding: 10px 12px !important;
    border-radius: 15px !important;
  }

  html body #ohlala-category-section-static #ohlala-category-grid-static .ohc-title {
    font-size: 17px !important;
  }

  /* Na vypisu kategorie zustavaji tri produkty. Homepage carouselu
     ponechavame vlastni sirky Swiperu, aby se nerozpadlo posouvani. */
  body.type-category #products.products-page > .product {
    flex: 0 0 33.333333% !important;
    width: 33.333333% !important;
    max-width: 33.333333% !important;
  }

  /* Stredni bannerovy blok vyuzije celou tabletovou sirku s 30px okrajem. */
  .middle-banners-wrapper > .content-wrapper-in > .container {
    width: calc(100% - 60px) !important;
    max-width: none !important;
    margin-right: 30px !important;
    margin-left: 30px !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .middle-banners-wrapper .body-banners,
  .middle-banners-wrapper .body-banners > span,
  .middle-banners-wrapper .body-banners > .col-sm-12,
  .middle-banners-wrapper .body-banners .banner-wrapper,
  .middle-banners-wrapper .body-banners .banner-wrapper > span {
    width: 100% !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .products.products-block .product .p,
  body.type-category #products.products-page .product .p {
    padding: 22px 18px 76px !important;
  }

  .products.products-block .product .name,
  .products.products-block .product .name a,
  body.type-category #products.products-page .product .name,
  body.type-category #products.products-page .product .name a {
    font-size: 15px !important;
    line-height: 1.35 !important;
  }

  .products.products-block .product .price.price-final > strong,
  body.type-category #products.products-page .product .price.price-final > strong {
    font-size: 19px !important;
  }

  .products.products-block .product .product-btn,
  body.type-category #products.products-page .product .product-btn {
    right: 18px !important;
    bottom: 18px !important;
    left: 18px !important;
    width: auto !important;
    margin: 0 !important;
  }

  .products.products-block .product .product-btn .btn.btn-cart,
  .products.products-block .product .product-btn .add-to-cart-button,
  body.type-category #products.products-page .product .product-btn .btn.btn-cart,
  body.type-category #products.products-page .product .product-btn .add-to-cart-button {
    width: 100% !important;
    min-width: 0 !important;
    font-size: 13px !important;
  }

  .products .product .image > .flags-extra {
    top: -5px !important;
    right: -10px !important;
  }

  .products .product .flag.flag-discount {
    min-width: 58px !important;
    min-height: 36px !important;
    padding: 7px 11px !important;
  }

  .products .product .flag.flag-discount .price-save {
    font-size: 14px !important;
  }

  .products-top-header,
  .homepage-group-title {
    margin-top: 48px !important;
    font-size: 28px !important;
  }
}

/* ==================================================
   TELEFON NA SIRKU 560–767 PX
   Sirka telefonu nesmi zustat totozna s portretnim mobilem
   ================================================== */

@media (min-width: 560px) and (max-width: 767px) and (orientation: landscape) {
  body.type-index #content,
  body.in-index #content,
  body.type-category #content {
    width: 100% !important;
    padding-right: 24px !important;
    padding-left: 24px !important;
    box-sizing: border-box !important;
  }

  /* Mobilni hlavicka zustava ovladatelna jednou rukou, ale dostane
     stejne ciste odsazeni a tvary jako tabletova varianta. */
  .top-navigation-bar,
  .top-navigation-bar > .container {
    min-height: 52px !important;
    height: 52px !important;
    background: var(--ohlala-cream) !important;
  }

  .top-navigation-bar > .container {
    width: 100% !important;
    max-width: none !important;
    padding-right: 16px !important;
    padding-left: 16px !important;
  }

  .top-navigation-bar > .container > .site-name {
    height: 52px !important;
  }

  .top-navigation-bar > .container > .site-name img {
    width: auto !important;
    max-width: 104px !important;
    max-height: 42px !important;
  }

  .top-navigation-bar .responsive-tools {
    height: 52px !important;
  }

  .top-navigation-bar .responsive-tools > a.toggle-window {
    width: 46px !important;
    height: 46px !important;
    margin: 3px 0 !important;
    border-radius: 50% !important;
  }

  #header,
  #header .navigation-wrapper,
  #header .header-top {
    min-height: 62px !important;
    height: 62px !important;
  }

  #header .navigation-wrapper {
    width: 100% !important;
    max-width: none !important;
    padding: 0 24px !important;
  }

  #header .header-top {
    width: 100% !important;
    padding: 6px 0 !important;
  }

  #header .header-top .search,
  #header #formSearchForm {
    width: 100% !important;
    height: 50px !important;
    margin: 0 !important;
    border-radius: var(--ohlala-radius-input) !important;
  }

  #header #formSearchForm input.search-input {
    height: 50px !important;
    border-radius: var(--ohlala-radius-input) 0 0 var(--ohlala-radius-input) !important;
  }

  #header #formSearchForm button[data-testid="searchBtn"] {
    width: 56px !important;
    min-width: 56px !important;
    height: 50px !important;
    border-radius: 0 var(--ohlala-radius-input) var(--ohlala-radius-input) 0 !important;
  }

  /* Mobilni hero se z vertikalni karty zmeni na nizky horizontalni banner. */
  body.type-index #ohlala-mobile-hero,
  body.in-index #ohlala-mobile-hero {
    display: grid !important;
    grid-template-columns: 55% 45% !important;
    align-items: stretch !important;
    width: 100% !important;
    min-height: 250px !important;
    height: 250px !important;
    margin: 16px 0 0 !important;
    padding: 14px !important;
    border-radius: 22px !important;
    box-sizing: border-box !important;
  }

  #ohlala-mobile-hero .oh-mobile-hero__media {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    border-radius: 16px !important;
    background-position: center center !important;
  }

  #ohlala-mobile-hero .oh-mobile-hero__content {
    align-items: flex-start !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 18px 12px 18px 22px !important;
    box-sizing: border-box !important;
  }

  #ohlala-mobile-hero .oh-mobile-hero__title {
    font-size: 31px !important;
    line-height: 1.02 !important;
  }

  #ohlala-mobile-hero .oh-mobile-hero__script {
    margin-top: 7px !important;
    font-size: 33px !important;
    line-height: 1 !important;
  }

  #ohlala-mobile-hero .oh-mobile-hero__button {
    width: auto !important;
    min-width: 132px !important;
    min-height: 42px !important;
    margin-top: 18px !important;
    padding: 10px 17px !important;
  }

  /* Sest kategorii se vejde do dvou rad po trech. */
  #ohlala-category-section-static {
    padding: 30px 0 36px !important;
  }

  html body #ohlala-category-section-static #ohlala-category-grid-static {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 20px 0 0 !important;
  }

  html body #ohlala-category-section-static #ohlala-category-grid-static .ohc-card {
    min-height: 54px !important;
    padding: 8px 8px !important;
    border-radius: 13px !important;
  }

  html body #ohlala-category-section-static #ohlala-category-grid-static .ohc-title {
    font-size: 14px !important;
    line-height: 1.2 !important;
  }

  /* V kategorii tri produkty; homepage carousel zustava plne v rezii
     Swiperu, aby byly funkcni sipky, dotykovy posun i strankovani. */
  body.type-category #products.products-page > .product {
    flex: 0 0 33.333333% !important;
    width: 33.333333% !important;
    max-width: 33.333333% !important;
  }

  .middle-banners-wrapper > .content-wrapper-in > .container {
    width: calc(100% - 48px) !important;
    max-width: none !important;
    margin-right: 24px !important;
    margin-left: 24px !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .products.products-block .product .p,
  body.type-category #products.products-page .product .p {
    padding: 16px 12px 64px !important;
  }

  .products.products-block .product .name,
  .products.products-block .product .name a,
  body.type-category #products.products-page .product .name,
  body.type-category #products.products-page .product .name a {
    font-size: 13px !important;
    line-height: 1.3 !important;
  }

  .products.products-block .product .price.price-final > strong,
  body.type-category #products.products-page .product .price.price-final > strong {
    font-size: 17px !important;
  }

  .products.products-block .product .product-btn,
  body.type-category #products.products-page .product .product-btn {
    right: 12px !important;
    bottom: 12px !important;
    left: 12px !important;
    width: auto !important;
    height: 44px !important;
    margin: 0 !important;
  }

  .products.products-block .product .product-btn .btn.btn-cart,
  .products.products-block .product .product-btn .add-to-cart-button,
  body.type-category #products.products-page .product .product-btn .btn.btn-cart,
  body.type-category #products.products-page .product .product-btn .add-to-cart-button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    padding: 7px 8px !important;
    font-size: 12px !important;
  }

  .products-top-header,
  .homepage-group-title {
    margin-top: 38px !important;
    font-size: 25px !important;
  }
}

/* ==================================================
   HOMEPAGE PRODUKTOVE CAROUSELY – MOBIL/TABLET NA SIRKU
   Pocet karet nastavuje doplnkovy skript ve Footeru. CSS zde pouze
   drzi Swiper v jednom radku a brani skladani produktu pod sebe.
   ================================================== */

@media (min-width: 560px) and (max-width: 1366px) and (orientation: landscape) {
  body.type-index .products.products-block .swiper-container,
  body.in-index .products.products-block .swiper-container {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  body.type-index .products.products-block .swiper-wrapper,
  body.in-index .products.products-block .swiper-wrapper {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
  }

  body.type-index .products.products-block .swiper-slide,
  body.in-index .products.products-block .swiper-slide {
    display: block !important;
    flex-shrink: 0 !important;
    height: auto !important;
    min-width: 0 !important;
  }

  body.type-index .products.products-block .swiper-slide > .product,
  body.in-index .products.products-block .swiper-slide > .product {
    display: flex !important;
    width: calc(100% - 16px) !important;
    max-width: calc(100% - 16px) !important;
    height: 100% !important;
    margin-right: 8px !important;
    margin-left: 8px !important;
  }

  body.type-index .products.products-block .product .p,
  body.in-index .products.products-block .product .p {
    width: 100% !important;
    padding: 14px 12px 62px !important;
  }

  body.type-index .products.products-block .product .name,
  body.type-index .products.products-block .product .name a,
  body.in-index .products.products-block .product .name,
  body.in-index .products.products-block .product .name a {
    font-size: 13px !important;
    line-height: 1.28 !important;
  }

  body.type-index .products.products-block .product .price.price-final > strong,
  body.in-index .products.products-block .product .price.price-final > strong {
    font-size: 17px !important;
  }

  body.type-index .products.products-block .product .product-btn,
  body.in-index .products.products-block .product .product-btn {
    right: 12px !important;
    bottom: 12px !important;
    left: 12px !important;
    width: auto !important;
    min-width: 0 !important;
    height: 42px !important;
    margin: 0 !important;
  }

  body.type-index .products.products-block .product .product-btn .btn,
  body.type-index .products.products-block .product .product-btn .add-to-cart-button,
  body.in-index .products.products-block .product .product-btn .btn,
  body.in-index .products.products-block .product .product-btn .add-to-cart-button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
    padding: 6px 7px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
  }

  body.type-index .slider-group-products .js-swiper-arrow-prev,
  body.type-index .slider-group-products .js-swiper-arrow-next,
  body.in-index .slider-group-products .js-swiper-arrow-prev,
  body.in-index .slider-group-products .js-swiper-arrow-next {
    z-index: 8 !important;
    pointer-events: auto !important;
  }
}

/* Mobil na vysku: dve cele produktove karty a cast treti karty.
   Samotny pocet 2.18 nastavuje Swiper skript ve Footeru. */
@media (max-width: 767px) and (orientation: portrait) {
  body.type-index .products.products-block .swiper-container,
  body.in-index .products.products-block .swiper-container {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  body.type-index .products.products-block .swiper-slide > .product,
  body.in-index .products.products-block .swiper-slide > .product {
    width: calc(100% - 12px) !important;
    max-width: calc(100% - 12px) !important;
    margin-right: 6px !important;
    margin-left: 6px !important;
  }

  body.type-index .products.products-block .product .p,
  body.in-index .products.products-block .product .p {
    padding: 12px 9px 58px !important;
  }

  body.type-index .products.products-block .product .name,
  body.type-index .products.products-block .product .name a,
  body.in-index .products.products-block .product .name,
  body.in-index .products.products-block .product .name a {
    font-size: 13px !important;
    line-height: 1.25 !important;
  }

  body.type-index .products.products-block .product .price.price-final > strong,
  body.in-index .products.products-block .product .price.price-final > strong {
    font-size: 16px !important;
  }

  body.type-index .products.products-block .product .product-btn,
  body.in-index .products.products-block .product .product-btn {
    right: 9px !important;
    bottom: 10px !important;
    left: 9px !important;
    width: auto !important;
    min-width: 0 !important;
    height: 40px !important;
    margin: 0 !important;
  }

  body.type-index .products.products-block .product .product-btn .btn,
  body.type-index .products.products-block .product .product-btn .add-to-cart-button,
  body.in-index .products.products-block .product .product-btn .btn,
  body.in-index .products.products-block .product .product-btn .add-to-cart-button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 40px !important;
    padding: 5px 5px !important;
    gap: 4px !important;
    font-size: 11px !important;
    white-space: nowrap !important;
  }
}

/* ==================================================
   OVLADANI PRODUKTOVYCH CAROUSELU NA DOTYKOVYCH ZARIZENICH
   Apollo na mobilu sipky standardne schovava. Zde zustava zachovano
   tazeni prstem a navic jsou dostupna i zretelna tlacitka zpet/dalsi.
   ================================================== */

@media (max-width: 767px),
       (min-width: 768px) and (max-width: 1366px) and (orientation: landscape) {
  body.type-index .slider-group-products,
  body.in-index .slider-group-products {
    position: relative !important;
  }

  body.type-index .slider-group-products .js-swiper-arrow-prev,
  body.type-index .slider-group-products .js-swiper-arrow-next,
  body.in-index .slider-group-products .js-swiper-arrow-prev,
  body.in-index .slider-group-products .js-swiper-arrow-next {
    position: absolute !important;
    top: 30% !important;
    z-index: 12 !important;
    display: block !important;
    width: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
    cursor: pointer !important;
    pointer-events: auto !important;
  }

  body.type-index .slider-group-products .js-swiper-arrow-prev,
  body.in-index .slider-group-products .js-swiper-arrow-prev {
    right: auto !important;
    left: 6px !important;
  }

  body.type-index .slider-group-products .js-swiper-arrow-next,
  body.in-index .slider-group-products .js-swiper-arrow-next {
    right: 6px !important;
    left: auto !important;
  }

  body.type-index .slider-group-products .swiper-arrow-content,
  body.in-index .slider-group-products .swiper-arrow-content {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    background: var(--ohlala-white) !important;
    border: 1px solid rgba(93, 141, 132, 0.24) !important;
    border-radius: 50% !important;
    box-shadow: 0 5px 16px rgba(41, 39, 36, 0.14) !important;
    color: var(--ohlala-teal-hover) !important;
    -webkit-text-fill-color: var(--ohlala-teal-hover) !important;
  }

  body.type-index .slider-group-products .swiper-button-disabled,
  body.in-index .slider-group-products .swiper-button-disabled {
    opacity: 0.25 !important;
    cursor: default !important;
    pointer-events: none !important;
  }
}

/* ==================================================
   OHLALA V19 – JEDNOTNY RESPONZIVNI RASTR

   Jeden zdroj pravdy pro bocni odsazeni. Predchozi casti souboru
   pouzivaji ruzne hodnoty 20/24/30/32/56 px; tento koncovy blok je
   zamerne prepisuje bez zasahu do hotove grafiky karet a kosiku.

   0–599 px       12 px
   600–899 px     20 px
   900–1199 px    28 px
   1200–1599 px   32 px
   1600–2199 px   40 px
   2200 px+       56 px, obsah maximalne 2200 px
   ================================================== */

:root {
  --ohlala-layout-gutter: 12px;
  --ohlala-layout-max: 2200px;
  --ohlala-layout-width: min(
    var(--ohlala-layout-max),
    calc(100vw - var(--ohlala-layout-gutter) - var(--ohlala-layout-gutter))
  );
}

@media (min-width: 600px) {
  :root {
    --ohlala-layout-gutter: 20px;
  }
}

@media (min-width: 900px) {
  :root {
    --ohlala-layout-gutter: 28px;
  }
}

@media (min-width: 1200px) {
  :root {
    --ohlala-layout-gutter: 32px;
  }
}

@media (min-width: 1600px) {
  :root {
    --ohlala-layout-gutter: 40px;
  }
}

@media (min-width: 2200px) {
  :root {
    --ohlala-layout-gutter: 56px;
  }
}

/* Hlavicka, informacni lista a navigace sleduji stejny rastr jako obsah. */
.top-navigation-bar > .container,
#header .navigation-wrapper,
#navigation .navigation-in {
  width: var(--ohlala-layout-width) !important;
  max-width: none !important;
  margin-right: auto !important;
  margin-left: auto !important;
  box-sizing: border-box !important;
}

/* Hlavni homepage, produktove skupiny, stredni bannery a kategorie. */
body.type-index #content-wrapper,
body.in-index #content-wrapper,
body.type-index .content-wrapper.container.products-group,
body.in-index .content-wrapper.container.products-group,
body.type-index .middle-banners-wrapper > .content-wrapper-in > .container,
body.in-index .middle-banners-wrapper > .content-wrapper-in > .container,
body.type-category #content-wrapper {
  width: var(--ohlala-layout-width) !important;
  max-width: none !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
  box-sizing: border-box !important;
}

body.type-index #content-wrapper > .content-wrapper-in,
body.in-index #content-wrapper > .content-wrapper-in,
body.type-index .content-wrapper.container.products-group > .content-wrapper-in,
body.in-index .content-wrapper.container.products-group > .content-wrapper-in,
body.type-category #content-wrapper > .content-wrapper-in {
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

body.type-index #content,
body.in-index #content,
body.type-index .content-wrapper.container.products-group .content,
body.in-index .content-wrapper.container.products-group .content,
body.type-category #content {
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
  box-sizing: border-box !important;
}

/* Produktove carousely uz nemaji druhy, vnoreny okraj. */
body.type-index .content-wrapper.container.products-group .products,
body.in-index .content-wrapper.container.products-group .products,
body.type-index .content-wrapper.container.products-group .slider-group-products,
body.in-index .content-wrapper.container.products-group .slider-group-products,
body.type-index .content-wrapper.container.products-group .swiper-container,
body.in-index .content-wrapper.container.products-group .swiper-container {
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

/* Bannerove obaly Shoptetu nesmi pridavat dalsi bocni odsazeni. */
body.type-index .middle-banners-wrapper .body-banners,
body.in-index .middle-banners-wrapper .body-banners,
body.type-index .middle-banners-wrapper .banner-wrapper,
body.in-index .middle-banners-wrapper .banner-wrapper,
body.type-index .middle-banners-wrapper .banner-wrapper > span,
body.in-index .middle-banners-wrapper .banner-wrapper > span {
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

/* Vlastni obsahove bannery jsou vlozene i do uzsiho rodice. Relativni
   posun je vycentruje podle spolecneho rastru i na ultra-wide monitoru. */
#ohlala-gift-directory,
#ohlala-monthly-feature {
  position: relative !important;
  left: 50% !important;
  width: var(--ohlala-layout-width) !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  transform: translateX(-50%) !important;
  box-sizing: border-box !important;
}

body.type-index #ohlala-carousel-hero,
body.in-index #ohlala-carousel-hero,
body.type-index #ohlala-mobile-hero,
body.in-index #ohlala-mobile-hero,
#ohlala-category-section-static,
#ohlala-category-grid-static {
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  box-sizing: border-box !important;
}

/* Desktopove menu zacina na stejne hrane jako hero a produktove sekce. */
@media (min-width: 992px) {
  .top-navigation-bar > .container,
  #header .navigation-wrapper,
  #navigation .navigation-in {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  #navigation .navigation-in > ul.menu-level-1 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
}

/* Mobil a tablet: stejne okraje pro logo, ovladaci prvky a hledani. */
@media (max-width: 991px) {
  .top-navigation-bar > .container,
  #header .navigation-wrapper {
    width: var(--ohlala-layout-width) !important;
    max-width: none !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  #header .header-top,
  #header .header-top .search,
  #header #formSearchForm {
    width: 100% !important;
    max-width: none !important;
  }
}

/* Zachovani plynuleho swipe: zadne skladani slidu pod sebe. */
body.type-index .products.products-block .swiper-wrapper,
body.in-index .products.products-block .swiper-wrapper {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: stretch !important;
}

body.type-index .products.products-block .swiper-slide,
body.in-index .products.products-block .swiper-slide {
  flex-shrink: 0 !important;
  height: auto !important;
  min-width: 0 !important;
}

/* Pojistka proti vodorovnemu posuvniku stranky pri sirokem banneru. */
html,
body {
  max-width: 100% !important;
  overflow-x: clip !important;
}

@supports not (overflow: clip) {
  html,
  body {
    overflow-x: hidden !important;
  }
}

/* ==================================================
   OHLALA V20 – HOMEPAGE: CENA + KULATY KOSIK

   Pet produktu zmensuje sirku karty. Puvodni 132px tlacitko proto
   nahrazujeme 48px kruhem a cenu nechavame v samostatnem levem bloku.
   Pravidla jsou omezena pouze na produktove carousely homepage.
   ================================================== */

body.type-index.in-index .products.products-block .product .p {
  position: relative !important;
  padding-bottom: 24px !important;
}

body.type-index.in-index .products.products-block .product .p-in {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  width: 100% !important;
}

body.type-index.in-index .products.products-block .product .p-in-in {
  flex: 1 0 auto !important;
}

body.type-index.in-index .products.products-block .product .p-bottom {
  display: flex !important;
  align-items: center !important;
  width: calc(100% - 64px) !important;
  min-height: 52px !important;
  margin-top: auto !important;
  padding: 0 !important;
}

body.type-index.in-index .products.products-block .product .p-bottom > div,
body.type-index.in-index .products.products-block .product .prices {
  width: 100% !important;
  margin: 0 !important;
}

body.type-index.in-index .products.products-block .product .price.price-final {
  display: flex !important;
  min-width: 0 !important;
  min-height: 48px !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  line-height: 1.1 !important;
  text-align: left !important;
}

body.type-index.in-index .products.products-block .product .price.price-final .price-standard,
body.type-index.in-index .products.products-block .product .price.price-final .price-standard > span {
  display: block !important;
  margin: 0 0 3px !important;
  color: #77737F !important;
  font-size: 13px !important;
  line-height: 1.1 !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
}

body.type-index.in-index .products.products-block .product .price.price-final > strong {
  display: block !important;
  color: var(--ohlala-black) !important;
  font-size: 20px !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  letter-spacing: -.02em !important;
  white-space: nowrap !important;
}

body.type-index.in-index .products.products-block .product .product-btn {
  position: absolute !important;
  right: 24px !important;
  bottom: 24px !important;
  left: auto !important;
  width: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  margin: 0 !important;
}

body.type-index.in-index .products.products-block .product .product-btn form,
body.type-index.in-index .products.products-block .product .product-btn .pr-action {
  display: block !important;
  width: 48px !important;
  height: 48px !important;
  margin: 0 !important;
}

body.type-index.in-index .products.products-block .product .product-btn .btn.btn-cart,
body.type-index.in-index .products.products-block .product .product-btn .add-to-cart-button {
  display: flex !important;
  width: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  aspect-ratio: 1 / 1 !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: var(--ohlala-teal-light) !important;
  border: 0 !important;
  border-radius: 50% !important;
  box-shadow: 0 4px 12px rgba(41, 39, 36, .08) !important;
  color: var(--ohlala-black) !important;
  -webkit-text-fill-color: var(--ohlala-black) !important;
  font-size: 0 !important;
  line-height: 1 !important;
}

/* Text zustava dostupny cteckam, ale vizualne se zobrazuje jen ikona. */
body.type-index.in-index .products.products-block .product .product-btn .btn.btn-cart span,
body.type-index.in-index .products.products-block .product .product-btn .add-to-cart-button span {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

body.type-index.in-index .products.products-block .product .product-btn .btn.btn-cart::after,
body.type-index.in-index .products.products-block .product .product-btn .add-to-cart-button::after {
  margin: 0 !important;
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  font-size: 21px !important;
  line-height: 1 !important;
}

body.type-index.in-index .products.products-block .product .product-btn .btn.btn-cart:hover,
body.type-index.in-index .products.products-block .product .product-btn .btn.btn-cart:focus-visible,
body.type-index.in-index .products.products-block .product .product-btn .add-to-cart-button:hover,
body.type-index.in-index .products.products-block .product .product-btn .add-to-cart-button:focus-visible {
  background: var(--ohlala-teal-hover) !important;
  color: var(--ohlala-white) !important;
  -webkit-text-fill-color: var(--ohlala-white) !important;
  box-shadow: 0 6px 16px rgba(41, 39, 36, .14) !important;
}

@media (min-width: 768px) and (max-width: 1199px) {
  body.type-index.in-index .products.products-block .product .p {
    padding-bottom: 18px !important;
  }

  body.type-index.in-index .products.products-block .product .p-bottom {
    width: calc(100% - 60px) !important;
    min-height: 48px !important;
  }

  body.type-index.in-index .products.products-block .product .price.price-final > strong {
    font-size: 19px !important;
  }

  body.type-index.in-index .products.products-block .product .product-btn {
    right: 16px !important;
    bottom: 16px !important;
  }

  body.type-index.in-index .products.products-block .product .product-btn,
  body.type-index.in-index .products.products-block .product .product-btn form,
  body.type-index.in-index .products.products-block .product .product-btn .pr-action,
  body.type-index.in-index .products.products-block .product .product-btn .btn.btn-cart,
  body.type-index.in-index .products.products-block .product .product-btn .add-to-cart-button {
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
  }
}

@media (max-width: 767px) {
  body.type-index.in-index .products.products-block .product .p {
    padding-bottom: 12px !important;
  }

  body.type-index.in-index .products.products-block .product .p-bottom {
    width: calc(100% - 56px) !important;
    min-height: 44px !important;
  }

  body.type-index.in-index .products.products-block .product .price.price-final > strong {
    font-size: 18px !important;
  }

  body.type-index.in-index .products.products-block .product .product-btn {
    right: 10px !important;
    bottom: 10px !important;
  }

  body.type-index.in-index .products.products-block .product .product-btn,
  body.type-index.in-index .products.products-block .product .product-btn form,
  body.type-index.in-index .products.products-block .product .product-btn .pr-action,
  body.type-index.in-index .products.products-block .product .product-btn .btn.btn-cart,
  body.type-index.in-index .products.products-block .product .product-btn .add-to-cart-button {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
  }
}

/* V21 FINAL OVERRIDE – musi zustat na samem konci souboru. */
body.type-index.in-index #ohlala-carousel-hero,
body.type-index.in-index #ohlala-mobile-hero {
  margin-bottom: 0 !important;
}

body.type-index.in-index .footer-banners:has(#ohlala-gift-directory),
body.type-index.in-index .footer-banner:has(#ohlala-gift-directory),
body.type-index.in-index .footer-banner:has(#ohlala-gift-directory) > span,
body.type-index.in-index .banner-wrapper:has(#ohlala-gift-directory),
body.type-index.in-index .banner-wrapper:has(#ohlala-gift-directory) > span {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.type-index.in-index #ohlala-gift-directory {
  margin-top: var(--ohlala-home-section-gap) !important;
  margin-bottom: 0 !important;
}

body.type-index.in-index .content-wrapper.container.products-group {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.type-index.in-index .homepage-group-title,
body.type-index.in-index .products-top-header {
  margin-top: var(--ohlala-home-section-gap) !important;
  margin-bottom: var(--ohlala-home-title-gap) !important;
}

body.type-index.in-index .products.products-block .swiper-pagination,
body.type-index.in-index .products.products-block .swiper-pagination-bullets,
body.type-index.in-index .slider-group-products > .swiper-pagination,
body.type-index.in-index .products.products-block [class*="swiper-pagination"] {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.type-index.in-index .products.products-block,
body.type-index.in-index .products.products-block .swiper-container,
body.type-index.in-index .products.products-block .slider-group-products {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

#footer [class*="newsletter"],
footer [class*="newsletter"],
#footer [class*="newsletter"] :is(h2, h3, h4, p, label, small, a),
footer [class*="newsletter"] :is(h2, h3, h4, p, label, small, a) {
  color: #292724 !important;
  -webkit-text-fill-color: #292724 !important;
}

#footer [class*="newsletter"] :is(button, .btn),
footer [class*="newsletter"] :is(button, .btn),
#footer form[id*="Newsletter"] button,
#footer form[action*="newsletter"] button,
footer form[id*="Newsletter"] button,
footer form[action*="newsletter"] button {
  background: #292724 !important;
  border-color: #292724 !important;
  color: #FFFDF8 !important;
  -webkit-text-fill-color: #FFFDF8 !important;
  box-shadow: none !important;
}

#footer [class*="newsletter"] :is(button, .btn):hover,
#footer [class*="newsletter"] :is(button, .btn):focus-visible,
footer [class*="newsletter"] :is(button, .btn):hover,
footer [class*="newsletter"] :is(button, .btn):focus-visible,
#footer form[id*="Newsletter"] button:hover,
#footer form[id*="Newsletter"] button:focus-visible,
#footer form[action*="newsletter"] button:hover,
#footer form[action*="newsletter"] button:focus-visible,
footer form[id*="Newsletter"] button:hover,
footer form[id*="Newsletter"] button:focus-visible,
footer form[action*="newsletter"] button:hover,
footer form[action*="newsletter"] button:focus-visible {
  background: #4E7C74 !important;
  border-color: #4E7C74 !important;
  color: #FFFDF8 !important;
  -webkit-text-fill-color: #FFFDF8 !important;
}

/* V22 FINAL OVERRIDE – mobilni carousely potrebuji prostor pro stin. */
@media (max-width: 767px) {
  body.type-index.in-index .products.products-block .swiper-container {
    box-sizing: border-box !important;
    padding-top: 5px !important;
    padding-bottom: 13px !important;
  }

  body.type-index.in-index .products.products-block .swiper-wrapper {
    box-sizing: border-box !important;
    align-items: stretch !important;
  }

  html body.type-category #productsTop,
  html body[class*="type-category"] #productsTop {
    box-sizing: border-box !important;
    padding: 5px 10px 13px 6px !important;
    scroll-padding-right: 10px !important;
    scroll-padding-left: 6px !important;
  }
}

/* ==================================================
   V23 – SLEVOVA PILULKA A CASTKA, KTEROU ZAKAZNIK USETRI
   ================================================== */

/* Zachovava stavajici pozici priznaku, meni pouze jeho grafiku. */
html body .products .product .flag.flag-discount {
  width: auto !important;
  min-width: 58px !important;
  height: auto !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 6px 11px !important;
  background: #F6C7B9 !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  color: #7D3A2B !important;
}

html body .products .product .flag.flag-discount .price-save {
  color: #7D3A2B !important;
  -webkit-text-fill-color: #7D3A2B !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

/* Skript prida castku pred aktualni cenu. Na vetsich kartach je vedle
   puvodni ceny, na mobilu se bezpecne zalomi na samostatny radek. */
html body .products .product .price.price-final.ohlala-has-saving {
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) !important;
  grid-template-areas:
    "old saving"
    "current current" !important;
  align-items: baseline !important;
  justify-content: start !important;
  gap: 3px 7px !important;
  min-width: 0 !important;
  text-align: left !important;
}

html body .products .product .price.price-final.ohlala-has-saving .price-standard {
  grid-area: old !important;
  margin: 0 !important;
}

html body .products .product .price.price-final.ohlala-has-saving > strong {
  grid-area: current !important;
  margin: 0 !important;
}

html body .products .product .ohlala-saving-amount {
  grid-area: saving !important;
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: #C5533E !important;
  -webkit-text-fill-color: #C5533E !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 11px !important;
  line-height: 1.15 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

@media (max-width: 767px) {
  html body .products .product .price.price-final.ohlala-has-saving {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "old"
      "saving"
      "current" !important;
    gap: 2px !important;
    min-height: 58px !important;
  }

  html body .products .product .ohlala-saving-amount {
    font-size: 10px !important;
  }

  body.type-index.in-index .products.products-block .product .p-bottom:has(.ohlala-has-saving) {
    min-height: 58px !important;
  }
}

/* Styly, ktere byly drive v zapati, jsou nyni v externim CSS.
   Diky tomu zustane kompletni kod zapati pod limitem Shoptetu. */
@media (max-width: 767px) and (orientation: portrait) {
  #ohl .ohp .swiper-slide {
    padding: 0 3px !important;
  }

  #ohl .ohp .swiper-slide > .product {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  #ohl .ohp .p {
    position: relative !important;
    padding: 10px 9px 12px !important;
  }

  #ohl .ohp .p-in {
    display: flex !important;
    flex-direction: column !important;
  }

  #ohl .ohp .p-in-in {
    flex: 1 !important;
  }

  #ohl .ohp .p-bottom {
    display: flex !important;
    align-items: center !important;
    width: calc(100% - 54px) !important;
    margin: auto 0 0 !important;
    padding: 0 !important;
  }

  #ohl .ohp .p-bottom > div,
  #ohl .ohp .prices {
    width: 100% !important;
  }

  #ohl .ohp .price-final {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    min-height: 42px !important;
    line-height: 1.1 !important;
    text-align: left !important;
  }

  #ohl .ohp .price-final.ohlala-has-saving {
    display: grid !important;
  }

  #ohl .ohp .price-standard {
    font-size: 11px !important;
    white-space: nowrap !important;
  }

  #ohl .ohp .price-final > strong {
    font-size: 18px !important;
    white-space: nowrap !important;
  }

  #ohl .ohp .product-btn {
    position: absolute !important;
    right: 9px !important;
    bottom: 10px !important;
    left: auto !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
  }

  #ohl .ohp .product-btn form {
    display: block !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
  }

  #ohl .ohp .add-to-cart-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    aspect-ratio: 1 / 1 !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 0 !important;
    border-radius: 50% !important;
  }

  #ohl .ohp .add-to-cart-button span {
    display: none !important;
  }

  #ohl .ohp .add-to-cart-button::after {
    margin: 0 !important;
    font-size: 20px !important;
  }
}

.products-top-wrapper {
  position: relative !important;
  margin: 26px 0 30px !important;
  padding: 0 !important;
  background: transparent !important;
}

.products-top-wrapper .products-top-header {
  margin: 0 0 10px !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}

#productsTop {
  display: flex !important;
  flex-flow: row nowrap !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
}

#productsTop::-webkit-scrollbar {
  display: none !important;
}

#productsTop > .product {
  display: flex !important;
  flex: 0 0 350px !important;
  height: 112px !important;
  padding: 0 !important;
}

#productsTop > .product > .p {
  display: grid !important;
  grid-template-columns: 112px minmax(0, 1fr) !important;
  width: 100% !important;
  height: 112px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #FFFDF8 !important;
  border-radius: 14px !important;
}

#productsTop .image {
  width: 112px !important;
  height: 112px !important;
  margin: 0 !important;
}

#productsTop .image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

#productsTop .p-in {
  display: grid !important;
  align-content: center !important;
  min-width: 0 !important;
  height: 112px !important;
  padding: 10px 14px !important;
  text-align: left !important;
}

#productsTop .p-in-in {
  position: static !important;
  min-height: 0 !important;
  overflow: visible !important;
}

#productsTop .name {
  position: static !important;
  display: -webkit-box !important;
  margin: 0 0 7px !important;
  overflow: hidden !important;
  color: #292724 !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  font-weight: 650 !important;
  transform: none !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
}

#productsTop .p-bottom,
#productsTop .offers {
  width: 100% !important;
  margin: 0 !important;
  text-align: left !important;
}

#productsTop .prices {
  display: flex !important;
  align-items: baseline !important;
  gap: 8px !important;
}

#productsTop .price-final {
  order: 1 !important;
}

#productsTop .price-standard-wrapper {
  order: 2 !important;
}

#productsTop .price-final,
#productsTop .price-final strong {
  color: #292724 !important;
  font-size: 16px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

#productsTop .price-standard-wrapper-placeholder,
.products-top-wrapper > .button-wrapper {
  display: none !important;
}

#productsTop .price-standard,
#productsTop .price-standard span {
  color: #77737F !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-decoration: line-through !important;
  white-space: nowrap !important;
}

.ohl-top-arrow {
  position: absolute !important;
  z-index: 5 !important;
  top: 68px !important;
  right: 5px !important;
  display: grid !important;
  place-items: center !important;
  width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  border: 1px solid #C8DED7 !important;
  border-radius: 50% !important;
  background: #FFFDF8 !important;
  color: #5D8D84 !important;
  font-size: 27px !important;
  line-height: 1 !important;
  box-shadow: 0 3px 12px rgba(41, 39, 36, .12) !important;
}

@media (max-width: 767px) {
  .products-top-wrapper {
    margin: 22px 0 26px !important;
  }

  #productsTop > .product {
    flex-basis: 310px !important;
    height: 102px !important;
  }

  #productsTop > .product > .p {
    grid-template-columns: 102px minmax(0, 1fr) !important;
    height: 102px !important;
  }

  #productsTop .image {
    width: 102px !important;
    height: 102px !important;
  }

  #productsTop .p-in {
    height: 102px !important;
    padding: 8px 12px !important;
  }

  #productsTop .name {
    margin-bottom: 6px !important;
    font-size: 15px !important;
  }

  .ohl-top-arrow {
    top: 65px !important;
    width: 34px !important;
    height: 34px !important;
    font-size: 24px !important;
  }
}

/* ==================================================
   V24 – SLEVA: DESKTOP, TABLET, MOBIL A DETAIL PRODUKTU
   ================================================== */

/* Na vsech kartach je uspora pod preskrtnutou cenou. Toto rozlozeni
   je stabilni i na uzkych kartach a nikdy se netlaci do tlacitka. */
html body .products .product .price.price-final.ohlala-has-saving {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-areas:
    "old"
    "saving"
    "current" !important;
  align-items: start !important;
  justify-content: start !important;
  gap: 2px !important;
  min-height: 62px !important;
}

html body .products .product .p-bottom:has(.ohlala-has-saving) {
  min-height: 62px !important;
}

/* Na telefonu a tabletu musi byt pilulka uvnitr obrazku, nikoli na
   jeho hrane. Desktopovou pozici, ktera byla v poradku, nemenime. */
@media (max-width: 1199px) {
  html body .products .product .image > .flags-extra {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    bottom: auto !important;
    left: auto !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    transform: none !important;
  }
}

@media (max-width: 479px) {
  html body .products .product .image > .flags-extra {
    top: 10px !important;
    right: 10px !important;
  }

  html body .products .product .flag.flag-discount {
    min-width: 56px !important;
    min-height: 32px !important;
    padding: 6px 10px !important;
  }

  html body .products .product .flag.flag-discount .price-save {
    font-size: 13px !important;
  }
}

/* Detail produktu ma vlastni slevovy priznak. Skryjeme v nem puvodni
   cenu a nechame pouze stejnou jemnou procentni pilulku jako na kartach. */
body.type-product .p-image {
  position: relative !important;
}

body.type-product .p-image > .flags.flags-extra {
  position: absolute !important;
  z-index: 6 !important;
  top: 14px !important;
  right: 14px !important;
  bottom: auto !important;
  left: auto !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  transform: none !important;
}

body.type-product .p-image .flag.flag-discount {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 64px !important;
  height: auto !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 7px 12px !important;
  background: #F6C7B9 !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  color: #7D3A2B !important;
}

body.type-product .p-image .flag.flag-discount > .price-standard {
  display: none !important;
}

body.type-product .p-image .flag.flag-discount > .price-save {
  display: block !important;
  margin: 0 !important;
  color: #7D3A2B !important;
  -webkit-text-fill-color: #7D3A2B !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

/* Cenovy blok na detailu: stara cena, konkretni uspora, nova cena. */
body.type-product .p-final-price-wrapper.ohlala-detail-has-saving {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-areas:
    "detail-old"
    "detail-saving"
    "detail-current"
    "detail-measure" !important;
  align-items: start !important;
  justify-items: start !important;
  gap: 3px !important;
  width: 100% !important;
  text-align: left !important;
}

body.type-product .p-final-price-wrapper.ohlala-detail-has-saving > .price-standard {
  grid-area: detail-old !important;
  margin: 0 !important;
  color: #77737F !important;
  font-size: 14px !important;
  line-height: 1.15 !important;
  font-weight: 500 !important;
  text-decoration: line-through !important;
  white-space: nowrap !important;
}

body.type-product .p-final-price-wrapper.ohlala-detail-has-saving > .price-save {
  display: none !important;
}

body.type-product .p-final-price-wrapper > .ohlala-detail-saving {
  grid-area: detail-saving !important;
  display: block !important;
  margin: 0 !important;
  color: #C5533E !important;
  -webkit-text-fill-color: #C5533E !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

body.type-product .p-final-price-wrapper.ohlala-detail-has-saving > .price-final {
  grid-area: detail-current !important;
  margin: 2px 0 0 !important;
}

body.type-product .p-final-price-wrapper.ohlala-detail-has-saving > .price-measure {
  grid-area: detail-measure !important;
}

@media (max-width: 767px) {
  body.type-product .p-image > .flags.flags-extra {
    top: 10px !important;
    right: 10px !important;
  }

  body.type-product .p-image .flag.flag-discount {
    min-width: 58px !important;
    min-height: 34px !important;
    padding: 6px 11px !important;
  }

  body.type-product .p-final-price-wrapper > .ohlala-detail-saving {
    font-size: 12px !important;
  }
}
