@charset "UTF-8";
@font-face {
  font-family: 'Tomato Grotesk';
  src: url("../fonts/TomatoGrotesk-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap; }
@font-face {
  font-family: 'Tomato Grotesk';
  src: url("../fonts/TomatoGrotesk-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap; }
.bg-first {
  background-color: rgba(0, 0, 0, 0.25);
  background-image: url("../img/letni-fotka.jpg");
  background-image: -webkit-image-set(url("../img/letni-fotka.jpg") 1x, url("../img/letni-fotka@2x.jpg") 2x);
  background-image: image-set(url("../img/letni-fotka.jpg") 1x, url("../img/letni-fotka@2x.jpg") 2x);
  background-repeat: no-repeat;
  background-position: top center;
  background-blend-mode: multiply;
  background-size: cover;
  min-height: 500px;
  height: 100vh; }

.shop-bg-first {
  background: rgba(0, 0, 0, 0.1) url("../img/partoska.jpg") no-repeat top center;
  background-blend-mode: multiply;
  background-size: cover;
  min-height: 600px;
  height: 50vh;
  margin-top: 60px; }

.white-section {
  background: #FFFFFF;
  color: #000000; }

.section-julie {
  font-family: 'Open Sans', sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings: "wdth" 100; }

.julie {
  padding-left: 2em;
  padding-right: 2em;
  padding-bottom: 2em; }
  .julie .container {
    max-width: 900px;
    margin: 0 auto; }
  .julie__p {
    max-width: 40em;
    margin-left: auto;
    margin-right: auto; }
    .julie__p--center {
      text-align: center; }
  .julie__title {
    font-size: 2.5em;
    font-weight: bold;
    padding: 1em 0;
    text-align: center; }
  .julie__title2 {
    font-size: 1.75em;
    font-weight: bold;
    padding: 1em 0 .3em; }
  .julie__title--center {
    text-align: center; }

.page-section-checkout_delivery #top-menu .nav-item.about,
.page-section-checkout_address #top-menu .nav-item.about,
.page-section-checkout_summary #top-menu .nav-item.about,
.page-section-cart #top-menu .nav-item.about {
  display: none !important; }

#top-menu {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0) 100%);
  min-height: 50px;
  transition: background-color 0.5s ease;
  border-bottom: 1px solid #e9e9e9; }
  #top-menu .navbar-collapse.collapsing,
  #top-menu .navbar-collapse.show {
    background: #FFFFFF; }
  #top-menu .nav-item.soc-links a {
    display: inline-block; }
    #top-menu .nav-item.soc-links a:hover {
      opacity: .75; }
  #top-menu .nav-item .nav-link {
    color: #034A3F;
    font-weight: 500;
    padding-left: 1rem;
    padding-right: 1rem;
    line-height: 28px;
    text-decoration: none; }
    #top-menu .nav-item .nav-link:hover {
      color: #EA612A; }
    @media screen and (min-width: 768px) {
      #top-menu .nav-item .nav-link {
        color: #FFFFFF;
        padding-left: 1.75em;
        padding-right: 1.75em; } }
  #top-menu .nav-item .btn-navbar {
    margin-left: 1rem;
    margin-right: 1rem; }
  @media screen and (min-width: 768px) {
    #top-menu .nav-item.dropdown .dropdown-menu {
      margin-top: 0; }
    #top-menu .nav-item.dropdown:hover .dropdown-menu {
      display: block; }
    #top-menu .nav-item.about {
      margin-right: 15px; } }
  #top-menu.always-white, #top-menu.scrolled {
    background: #fefefe; }
    #top-menu.always-white .nav-item .nav-link,
    #top-menu.always-white #top-menu.scrolled a, #top-menu.scrolled .nav-item .nav-link,
    #top-menu.scrolled #top-menu.scrolled a {
      color: #034A3F; }
      #top-menu.always-white .nav-item .nav-link:hover,
      #top-menu.always-white #top-menu.scrolled a:hover, #top-menu.scrolled .nav-item .nav-link:hover,
      #top-menu.scrolled #top-menu.scrolled a:hover {
        color: #EA5A25; }
    #top-menu.always-white .logo-menu, #top-menu.scrolled .logo-menu {
      background-image: url("../img/ekoprodukt-logo-green.svg");
      background-repeat: no-repeat;
      background-size: contain;
      width: 222px; }
    #top-menu.always-white .navbar-brand, #top-menu.scrolled .navbar-brand {
      text-decoration: none; }
    #top-menu.always-white .e-shop-tag, #top-menu.scrolled .e-shop-tag {
      color: #034A3F; }
  #top-menu .logo-menu {
    background-image: url("../img/ekoprodukt-logo.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width: 222px; }
  #top-menu .cart-btn {
    padding: 0.5rem; }
  #top-menu .user-btn {
    padding: 0.5rem; }
    #top-menu .user-btn--in {
      position: relative; }
      #top-menu .user-btn--in:after {
        content: "";
        position: absolute;
        top: 4px;
        left: 24px;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: #EA5A25;
        border: 2px solid #FFFFFF; }
  #top-menu .user-btn__name {
    margin-left: 0.35rem;
    font-size: 14px;
    line-height: 22px;
    vertical-align: top;
    color: #FFFFFF; }
  #top-menu.always-white .user-btn__name, #top-menu.scrolled .user-btn__name {
    color: #034A3F; }
  #top-menu .cart_items_number {
    border-radius: 15px;
    background: #FFFFFF;
    color: #EA5A25;
    display: inline-block;
    font-size: 14px;
    width: 24px;
    line-height: 24px;
    border-radius: 15px; }
  #top-menu .cart_total_price {
    margin-left: 0.25rem;
    font-size: 14px;
    display: inline-block;
    margin-right: 10px; }
  #top-menu #cart-menu-dropdown {
    border-radius: 30px;
    border-color: #b8cfc9;
    background: #EFF5F4;
    padding: 20px 15px;
    color: #034A3F; }
    #top-menu #cart-menu-dropdown .dropdown-item {
      background: #FFFFFF;
      padding: 10px 20px;
      border-radius: 15px;
      margin-bottom: 10px;
      font-size: 12px;
      color: #034A3F; }
      #top-menu #cart-menu-dropdown .dropdown-item:last-child {
        margin-bottom: 20px; }
      #top-menu #cart-menu-dropdown .dropdown-item .food {
        display: block; }
      #top-menu #cart-menu-dropdown .dropdown-item .pn {
        font-weight: 600; }
    #top-menu #cart-menu-dropdown .btn {
      padding: 5px 10px; }

#ekotopmenu > .container {
  position: relative; }

.eko-toggler {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  width: 40px;
  /* Přizpůsobte velikosti */
  height: 40px; }

.eko-toggler svg {
  display: block;
  width: 24px;
  height: 24px; }

.navbar-ekoprodukt .navbar-toggler {
  color: rgba(255, 255, 255, 0.8);
  border-color: rgba(255, 255, 255, 0.3); }
  .navbar-ekoprodukt .navbar-toggler .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }

.navbar-ekoprodukt.always-white .navbar-toggler,
.navbar-ekoprodukt.scrolled .navbar-toggler {
  color: #034A3F;
  border-color: #034A3F; }
  .navbar-ekoprodukt.always-white .navbar-toggler .navbar-toggler-icon,
  .navbar-ekoprodukt.scrolled .navbar-toggler .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%283, 74, 53, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }

@media screen and (min-width: 1440px) {
  #ekotopmenu > .container,
  .navbar > .container {
    max-width: 1400px; }

  #ekotopmenu > .container {
    padding-left: 0;
    padding-right: 0; } }
.navbar-brand {
  flex: 0 1 40px; }

#ekoNavBar .navbar-nav {
  align-items: center; }

@media screen and (min-width: 768px) {
  .navbar-brand {
    flex: 0 1 120px; } }
@media screen and (min-width: 991px) {
  #top-menu {
    min-height: 60px;
    padding-top: 5px;
    padding-bottom: 5px; }

  .navbar-brand {
    flex: 1; } }
#breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0 0 10px 0;
  padding: 0; }
  #breadcrumbs > li {
    font-size: 0.9em;
    color: #575757; }
    #breadcrumbs > li > a {
      color: #575757;
      text-decoration: underline; }
      #breadcrumbs > li > a:hover {
        text-decoration: none; }
    #breadcrumbs > li.bread-gt {
      margin: 0 .5em; }

#ekotopmenu {
  position: fixed;
  top: 0;
  right: 0;
  overflow: auto;
  width: 100%;
  height: 100%;
  margin-top: 0;
  padding-top: 0;
  background: #00000025;
  z-index: 9995; }
  #ekotopmenu__close {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    border: 0;
    padding: 10px;
    color: #034A3F;
    z-index: 9999; }
  #ekotopmenu .category-slider {
    background: #FFFFFF;
    width: 85%;
    margin-left: auto;
    flex-direction: column;
    padding-top: 2em;
    height: 100%;
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding: 10px 0;
    height: 100vh;
    scrollbar-color: #215d53;
    /* Stylování scrollbaru pro Webkit prohlížeče (Chrome, Safari) */ }
    #ekotopmenu .category-slider::-webkit-scrollbar {
      height: 10px;
      /* Výška scrollbaru */ }
    #ekotopmenu .category-slider::-webkit-scrollbar-track {
      background: #f1f1f1;
      /* Barva pozadí dráhy */
      border-radius: 10px; }
    #ekotopmenu .category-slider::-webkit-scrollbar-thumb {
      background: #215d53;
      /* Barva posuvníku */
      border-radius: 10px; }
    #ekotopmenu .category-slider::-webkit-scrollbar-thumb:hover {
      background: #555;
      /* Barva posuvníku při hoveru */ }
    #ekotopmenu .category-slider__item {
      flex: 0 0 auto;
      scroll-snap-align: start;
      padding: 2px 3px;
      margin-right: 5px;
      white-space: nowrap;
      font-weight: bold;
      border-bottom: 1px solid #EFF5F4;
      transition: transform 0.3s ease; }
    #ekotopmenu .category-slider__submenu {
      margin-bottom: 0; }
    #ekotopmenu .category-slider__link {
      display: block;
      padding: .25em 1em;
      text-decoration: none; }
      #ekotopmenu .category-slider__link:hover {
        color: #EA612A; }
      #ekotopmenu .category-slider__link::before {
        content: "> ";
        color: #b8cfc9; }

@media screen and (max-width: 991px) {
  #ekotopmenu > .container {
    padding-left: 0;
    padding-right: 0;
    margin-left: 0;
    margin-right: 0;
    max-width: none; } }
@media screen and (min-width: 768px) {
  #ekotopmenu {
    position: static;
    background: #FFFFFF;
    /*		margin-top:80px;*/
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); }
    #ekotopmenu__close {
      display: none; }
    #ekotopmenu .container {
      padding-left: 0; }
    #ekotopmenu .category-slider {
      flex-direction: row;
      width: 100%;
      margin-left: auto;
      margin-right: auto;
      padding-top: 0;
      height: auto;
      padding: 0; }
      #ekotopmenu .category-slider__item {
        border: none;
        padding: 0; }
      #ekotopmenu .category-slider__submenu {
        display: none; }
      #ekotopmenu .category-slider__link {
        display: inline-block;
        padding: 9px 9px;
        white-space: nowrap;
        color: #034A3F;
        text-decoration: none;
        font-size: 14px; }
        #ekotopmenu .category-slider__link::before {
          content: none; } }
@media screen and (min-width: 991px) {
  #ekotopmenu .category-slider {
    margin-left: -9px; } }
.topmenu-wrap {
  margin-top: 80px;
  background: #FFF;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee; }

.topmenu {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap; }
  .topmenu__link {
    text-decoration: none;
    padding: 10px;
    display: inline-block; }
    .topmenu__link-has-children {
      padding-bottom: 0px; }
  .topmenu__submenu {
    list-style: none;
    padding-left: 1.5em; }
    .topmenu__submenu__link {
      text-decoration: none; }

.subcategory-select {
  margin-bottom: 2em; }
  .subcategory-select__list {
    display: flex;
    gap: 20px; }
  .subcategory-select__heading {
    text-transform: uppercase;
    font-weight: bold;
    margin: .5em 0; }
  .subcategory-select__item {
    background: #FFFFFF;
    padding: .6em 1.25em;
    border-radius: 10px; }
  .subcategory-select__link {
    display: block;
    font-size: 1.25em; }

.first-section-new {
  padding-top: 80px; }
  @media screen and (min-width: 768px) {
    .first-section-new {
      padding-top: 90px; } }

.hp {
  color: #000000; }

.hp__banner {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 5px; }
  @media screen and (min-width: 991px) {
    .hp__banner {
      flex-wrap: nowrap; } }
  @media screen and (min-width: 768px) {
    .hp__banner-vlevo {
      width: 100%; } }
  @media screen and (min-width: 991px) {
    .hp__banner-vlevo {
      flex: 1; } }
  .hp__banner-vpravo {
    width: 100%; }
    @media screen and (min-width: 768px) {
      .hp__banner-vpravo {
        width: 100%;
        display: flex;
        gap: 5px; } }
    @media screen and (min-width: 991px) {
      .hp__banner-vpravo {
        width: 32.9%;
        display: block;
        /*flex-direction:column;
        gap:2px;*/ } }
  .hp__banner-sdeleni2 {
    margin-bottom: 5px; }
    @media screen and (min-width: 768px) {
      .hp__banner-sdeleni2 {
        margin-bottom: 4px; } }
  .hp__banner-text2, .hp__banner-nadpisek2, .hp__banner-text1, .hp__banner-nadpisek1 {
    color: white; }
  .hp__banner-text1 {
    font-size: 1.5em; }

.hp__bannernew {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  margin: 0 0 20px 0;
  gap: 10px; }
  .hp__bannernew--middle {
    margin-top: 20px; }
  .hp__bannernew-item {
    scroll-snap-align: center;
    box-sizing: border-box;
    padding: 10px;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
    height: 80vh;
    max-height: 500px;
    position: relative;
    overflow: hidden;
    background-size: cover;
    background-position: right center; }
    .hp__bannernew-item a {
      text-decoration: none; }
      .hp__bannernew-item a:active, .hp__bannernew-item a:focus, .hp__bannernew-item a:hover {
        text-decoration: none; }
    .hp__bannernew-item:hover {
      transform: translateY(-5px); }
    .hp__bannernew-item-gr-pink::before, .hp__bannernew-item-gr-red::before, .hp__bannernew-item-gr-brown::before, .hp__bannernew-item-gr-green::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: linear-gradient(to right, rgba(13, 53, 13, 0.8), rgba(139, 69, 19, 0));
      /* Gradient z tmavě hnědé do průhledné */
      pointer-events: none;
      /* Zajistí, že overlay nebude blokovat klikání na obsah pod ním */
      z-index: 1;
      /* Zajistí, že overlay bude nad obrázkem */ }
    .hp__bannernew-item-gr-pink::before {
      background: linear-gradient(to right, rgba(93, 60, 60, 0.9), rgba(139, 69, 19, 0.2));
      /* Gradient z tmavě hnědé do průhledné */ }
    .hp__bannernew-item-gr-brown::before {
      background: linear-gradient(to right, rgba(47, 39, 39, 0.9), rgba(139, 69, 19, 0));
      /* Gradient z tmavě hnědé do průhledné */ }
    .hp__bannernew-item-gr-red::before {
      background: linear-gradient(to right, rgba(43, 20, 20, 0.9), rgba(139, 19, 84, 0));
      /* Gradient z tmavě červené do průhledné */ }
    .hp__bannernew-item-count-2 {
      flex: 0 0 calc(50% - (10px/2));
      /* 25% šířka pro 4 bannery na desktopu */ }
    .hp__bannernew-item-count-3 {
      flex: 0 0 calc(33.3% - (20px/3));
      /* 25% šířka pro 4 bannery na desktopu */ }
    .hp__bannernew-item--1 {
      background-image: url(../img/bannery-hp/eko-banner-1.jpg); }
    .hp__bannernew-item--2 {
      background-image: url(../img/bannery-hp/eko-banner-2.jpg); }
    .hp__bannernew-item--3 {
      background-image: url(../img/bannery-hp/eko-banner-3.jpg); }
    .hp__bannernew-item--4 {
      background-image: url(../img/bannery-hp/eko-banner-4.jpg); }
    .hp__bannernew-item--5 {
      background-image: url(../img/bannery-hp/eko-banner-5.jpg); }
  .hp__bannernew--compact .hp__bannernew-item {
    height: auto;
    min-height: 140px;
    max-height: 240px; }
  .hp__bannernew-item--image {
    height: auto;
    max-height: none;
    padding: 0;
    background: none;
    display: flex; }
    .hp__bannernew-item--image a {
      display: block;
      width: 100%; }
  .hp__bannernew-img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 8px; }
  .hp__bannernew-wrap {
    padding: 20px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    position: relative;
    z-index: 2; }
  .hp__bannernew-nadpis1 {
    font-size: 1.1rem;
    color: #FFF;
    margin-bottom: 10px;
    display: block;
    text-transform: uppercase; }
  .hp__bannernew-nadpis2 {
    font-size: 1.6rem;
    color: #FFF;
    font-weight: 900;
    margin-bottom: 15px;
    display: block; }
  .hp__bannernew-btn.btn {
    display: inline-block;
    transition: background-color 0.3s ease;
    padding: 7px 15px;
    font-size: .85em;
    text-transform: uppercase;
    font-weight: bold; }
    .hp__bannernew-btn.btn:hover {
      background-color: #e65c00; }

@media (max-width: 768px) {
  .hp__bannernew-item {
    flex: 0 0 80%;
    /* 80% šířka pro mobil, aby byl vidět jeden a kousek druhého */ } }
@media screen and (min-width: 768px) {
  .hp__bannernew--middle .hp__bannernew-item {
    max-height: 350px; }
  .hp__bannernew-item {
    padding-left: 30px; }
  .hp__bannernew-nadpis2 {
    font-size: 2em;
    line-height: 1.15em; } }
/*
.hp__banner {
	display: flex;
	min-height: 400px;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
	gap:5px;

	@media screen and (min-width:768px) {
		flex-wrap:nowrap;
		height: 30vh;
	}

	&-vlevo {
		@media screen and (min-width:768px) {
			flex: 1;
		}
	}

	&-vpravo {
		display: flex;
		flex-direction: column;
		width:100%;

		@media screen and (min-width:768px) {
			width: 300px;
		}

		@media screen and (min-width:991px) {
			width: 400px;
		}
	}

	&-sdeleni1 {
		height: 100%;
		background: rgba(0, 0, 0, 0.1) url(../img/partoska.jpg) no-repeat top center;
		background-blend-mode: multiply;
		background-size: cover;
		display: flex;
		justify-content: center;
		padding: 2em;
		flex-direction: column;
	}

	&-sdeleni2 {
		background: red;
		height: 49%;
		margin-bottom: 4px;
		background: rgba(0, 0, 0, 0.1) url(../img/ekoprodukt-rodina.jpg) no-repeat center center;
		background-blend-mode: multiply;
		background-size: cover;
		display: flex;
		justify-content: center;
		padding: 2em;
		flex-direction: column;		
	}

	&-sdeleni3 {
		background: #034A3F;
		flex: 1;
		display: flex;
		justify-content: center;
		padding: 2em;
		flex-direction: column;	
	}

	&-text2,
	&-nadpisek2,
	&-text1,
	&-nadpisek1 {
		color: white;
	}

	&-text1 {
		font-size: 1.5em;
	}
}
*/
.eshop__list-title,
.julie__featured-title,
.hp__bargain-title,
.hp__recommended-title {
  font-size: 2.1em;
  font-weight: 700; }
.eshop__list-heading,
.julie__featured-heading,
.hp__bargain-heading,
.hp__recommended-heading {
  text-align: center;
  margin-top: 2.5em;
  margin-bottom: 1.5em; }
.eshop__list-products,
.julie__featured-products,
.hp__bargain-products,
.hp__recommended-products {
  display: flex;
  gap: 20px;
  flex-direction: column;
  margin-bottom: 20px; }
  @media screen and (min-width: 500px) {
    .eshop__list-products,
    .julie__featured-products,
    .hp__bargain-products,
    .hp__recommended-products {
      flex-direction: row;
      flex-wrap: wrap; } }
  .eshop__list-products .item,
  .julie__featured-products .item,
  .hp__bargain-products .item,
  .hp__recommended-products .item {
    width: 100%;
    background: #FFFFFF;
    border-radius: 10px; }
    @media screen and (min-width: 500px) {
      .eshop__list-products .item,
      .julie__featured-products .item,
      .hp__bargain-products .item,
      .hp__recommended-products .item {
        width: calc(50% - 10px);
        display: flex;
        flex-direction: column;
        justify-content: space-between; } }
    @media screen and (min-width: 768px) {
      .eshop__list-products .item,
      .julie__featured-products .item,
      .hp__bargain-products .item,
      .hp__recommended-products .item {
        width: calc(33% - 12px); } }
    @media screen and (min-width: 991px) {
      .eshop__list-products .item,
      .julie__featured-products .item,
      .hp__bargain-products .item,
      .hp__recommended-products .item {
        width: calc(20% - 16px); } }
    .eshop__list-products .item__link-top,
    .julie__featured-products .item__link-top,
    .hp__bargain-products .item__link-top,
    .hp__recommended-products .item__link-top {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      color: #000000;
      text-decoration: none; }
      @media screen and (min-width: 500px) {
        .eshop__list-products .item__link-top,
        .julie__featured-products .item__link-top,
        .hp__bargain-products .item__link-top,
        .hp__recommended-products .item__link-top {
          flex-wrap: wrap; } }
    .eshop__list-products .item__image,
    .julie__featured-products .item__image,
    .hp__bargain-products .item__image,
    .hp__recommended-products .item__image {
      width: 150px;
      position: relative; }
      .eshop__list-products .item__image > img,
      .julie__featured-products .item__image > img,
      .hp__bargain-products .item__image > img,
      .hp__recommended-products .item__image > img {
        border-top-left-radius: 10px;
        width: 150px; }
        @media screen and (min-width: 500px) {
          .eshop__list-products .item__image > img,
          .julie__featured-products .item__image > img,
          .hp__bargain-products .item__image > img,
          .hp__recommended-products .item__image > img {
            width: 100%;
            border-top-right-radius: 10px; } }
      @media screen and (min-width: 500px) {
        .eshop__list-products .item__image,
        .julie__featured-products .item__image,
        .hp__bargain-products .item__image,
        .hp__recommended-products .item__image {
          width: 100%; } }
    .eshop__list-products .item__label,
    .julie__featured-products .item__label,
    .hp__bargain-products .item__label,
    .hp__recommended-products .item__label {
      position: absolute;
      top: 30px;
      right: 0;
      color: #FFFFFF;
      background: #034A3F;
      font-size: 13px;
      line-height: 14px;
      padding: 5px 12px 5px 5px; }
      .eshop__list-products .item__label .arrow,
      .julie__featured-products .item__label .arrow,
      .hp__bargain-products .item__label .arrow,
      .hp__recommended-products .item__label .arrow {
        position: absolute;
        left: -12px;
        top: 0;
        width: 0;
        height: 0;
        border-top: 12px solid transparent;
        border-bottom: 12px solid transparent;
        border-right: 12px solid #034A3F; }
      .eshop__list-products .item__label-2,
      .julie__featured-products .item__label-2,
      .hp__bargain-products .item__label-2,
      .hp__recommended-products .item__label-2 {
        top: 65px; }
      .eshop__list-products .item__label-3,
      .julie__featured-products .item__label-3,
      .hp__bargain-products .item__label-3,
      .hp__recommended-products .item__label-3 {
        top: 100px; }
      .eshop__list-products .item__label-4,
      .julie__featured-products .item__label-4,
      .hp__bargain-products .item__label-4,
      .hp__recommended-products .item__label-4 {
        top: 135px; }
    .eshop__list-products .item__info,
    .julie__featured-products .item__info,
    .hp__bargain-products .item__info,
    .hp__recommended-products .item__info {
      flex: 1;
      padding: .5em 1em; }
    .eshop__list-products .item__name,
    .julie__featured-products .item__name,
    .hp__bargain-products .item__name,
    .hp__recommended-products .item__name {
      font-size: 1.1em;
      font-weight: bold;
      margin-bottom: 1em; }
    .eshop__list-products .item__bottom,
    .julie__featured-products .item__bottom,
    .hp__bargain-products .item__bottom,
    .hp__recommended-products .item__bottom {
      margin-top: .5em;
      padding: .5em;
      border-top: 1px solid #EFF5F4; }
    .eshop__list-products .item__form,
    .julie__featured-products .item__form,
    .hp__bargain-products .item__form,
    .hp__recommended-products .item__form {
      display: flex;
      flex-wrap: nowrap;
      justify-content: space-between; }
      @media screen and (min-width: 500px) {
        .eshop__list-products .item__form,
        .julie__featured-products .item__form,
        .hp__bargain-products .item__form,
        .hp__recommended-products .item__form {
          flex-wrap: wrap; } }
    .eshop__list-products .item__price,
    .julie__featured-products .item__price,
    .hp__bargain-products .item__price,
    .hp__recommended-products .item__price {
      min-width: 80px;
      text-align: center; }
      @media screen and (min-width: 500px) {
        .eshop__list-products .item__price,
        .julie__featured-products .item__price,
        .hp__bargain-products .item__price,
        .hp__recommended-products .item__price {
          width: 100%;
          padding-top: .5em;
          padding-bottom: .75em;
          font-size: 1.25em; } }
      .eshop__list-products .item__price-discounted,
      .julie__featured-products .item__price-discounted,
      .hp__bargain-products .item__price-discounted,
      .hp__recommended-products .item__price-discounted {
        color: #EA5A25; }
      .eshop__list-products .item__price-unit,
      .julie__featured-products .item__price-unit,
      .hp__bargain-products .item__price-unit,
      .hp__recommended-products .item__price-unit {
        display: block;
        font-size: .7em;
        line-height: 1.2;
        opacity: .7;
        font-weight: 500; }
      .eshop__list-products .item__price-old,
      .julie__featured-products .item__price-old,
      .hp__bargain-products .item__price-old,
      .hp__recommended-products .item__price-old {
        position: relative; }
        .eshop__list-products .item__price-old:after,
        .julie__featured-products .item__price-old:after,
        .hp__bargain-products .item__price-old:after,
        .hp__recommended-products .item__price-old:after {
          border-bottom: 2px solid #034A3F;
          content: "";
          position: absolute;
          right: 0;
          top: 45%;
          -webkit-transform: skewY(-10deg);
          transform: skewY(-10deg);
          width: 100%; }
  @media screen and (min-width: 500px) {
    .eshop__list-products--3-row .item,
    .julie__featured-products--3-row .item,
    .hp__bargain-products--3-row .item,
    .hp__recommended-products--3-row .item {
      width: calc(50% - 10px);
      display: flex;
      flex-direction: column;
      justify-content: space-between; } }
  @media screen and (min-width: 768px) {
    .eshop__list-products--3-row .item,
    .julie__featured-products--3-row .item,
    .hp__bargain-products--3-row .item,
    .hp__recommended-products--3-row .item {
      width: calc(50% - 10px); } }
  @media screen and (min-width: 991px) {
    .eshop__list-products--3-row .item,
    .julie__featured-products--3-row .item,
    .hp__bargain-products--3-row .item,
    .hp__recommended-products--3-row .item {
      width: calc(33% - 12px); } }
.eshop__list-cta,
.julie__featured-cta,
.hp__bargain-cta,
.hp__recommended-cta {
  text-align: center; }

.hp__middlebanners {
  margin-top: 2em;
  margin-bottom: 2em;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 20px;
  color: #000; }
  .hp__middlebanners__one {
    width: 100%; }
    @media screen and (min-width: 768px) {
      .hp__middlebanners__one {
        width: calc(50% - 10px); } }

/*
.hp__middlebanners {
	margin-top:2em;
	margin-bottom:2em;
	display:flex;
	flex-direction: row;
	flex-wrap:wrap;
	gap:20px;
	color:#000;

	&__one {
		width:100%;
		background: rgba(0, 0, 0, 0.1) url(../img/bannery-hp/banner-3.jpg) no-repeat top center;
		background-size:cover;
		aspect-ratio:4/2;
		padding:2em;
		display:flex;
		flex-direction:row;
		align-items: center;

		@media screen and (min-width: 768px) {
			width:calc(50% - 10px);
		}
	}

	&-text,
	&-cta {
		margin-top:1em;
	}
}
*/
.hp__recepty {
  margin: 2em 0; }
  .hp__recepty-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1em; }
    @media screen and (min-width: 768px) {
      .hp__recepty-list {
        flex-wrap: nowrap; } }

.hp__story {
  margin: 5em 0 0 0;
  padding-bottom: 5em;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 3em; }
  .hp__story-title {
    font-weight: bold;
    font-size: 2em;
    margin-bottom: 1em; }
  .hp__story-text {
    max-width: 35em; }
  .hp__story__section-vpravo {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: white;
    border-radius: 22px;
    padding: 2em; }
    @media screen and (min-width: 768px) {
      .hp__story__section-vpravo {
        order: 2; } }
  .hp__story__section-vlevo {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 250px; }
    @media screen and (min-width: 768px) {
      .hp__story__section-vlevo {
        min-width: 350px; } }
    @media screen and (min-width: 991px) {
      .hp__story__section-vlevo {
        min-width: 500px;
        max-width: 500px; } }
  @media screen and (min-width: 768px) {
    .hp__story {
      flex-wrap: nowrap; } }

.cb {
  display: flex;
  align-items: center;
  gap: 14px;
  position: relative;
  padding: 12px 14px 12px 12px;
  border-radius: 14px;
  overflow: hidden;
  text-decoration: none;
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (min-width: 768px) {
    .cb {
      border-radius: 20px;
      gap: 28px;
      padding: 16px 32px 16px 16px; } }
  .cb:hover, .cb:focus {
    text-decoration: none; }

.cb__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1 1 auto;
  min-width: 0;
  gap: 6px; }
  @media screen and (min-width: 768px) {
    .cb__text {
      gap: 8px; } }

.cb__label {
  align-self: flex-start;
  display: flex;
  align-items: center;
  height: 22px;
  padding: 0 9px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.08em; }
  @media screen and (min-width: 768px) {
    .cb__label {
      font-size: 11px; } }

.cb__title {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -.015em; }
  @media screen and (min-width: 768px) {
    .cb__title {
      font-size: 30px; } }

.cb__subtitle {
  font-size: 16px;
  line-height: 1.4;
  font-weight: 500;
  display: none; }
  @media screen and (min-width: 768px) {
    .cb__subtitle {
      display: block;
      font-size: 16px; } }

.cb__media {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
  order: -1;
  align-self: stretch; }

.cb__figure {
  display: block;
  height: 100%;
  aspect-ratio: 1;
  width: auto;
  padding: 8px;
  border-radius: 12px;
  background: #FFFFFF;
  overflow: hidden; }

.cb__img {
  width: 100%;
  height: 100%;
  object-fit: contain; }

.cb__badge {
  position: absolute;
  top: -6px;
  right: -6px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  background: #EA5A25;
  color: #FFFFFF;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap; }

.cb__figure--2 {
  display: none; }
  @media screen and (min-width: 768px) {
    .cb__figure--2 {
      display: block; } }

.cb--detail .cb__figure--2 {
  display: none; }

.cb__btn {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 40px;
  padding: 0 16px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: normal;
  white-space: nowrap; }
  @media screen and (min-width: 768px) {
    .cb__btn {
      height: 48px;
      padding: 0 24px;
      font-size: 16px; } }

.cb:hover .cb__btn {
  opacity: 0.88; }

.cb--green {
  background: #034A3F; }
  .cb--green .cb__label {
    background: rgba(255, 255, 255, 0.14);
    color: #FFFFFF; }
  .cb--green .cb__title {
    color: #FFFFFF; }
  .cb--green .cb__subtitle {
    color: #D5E6E2; }
  .cb--green .cb__btn {
    background: #FFFFFF;
    color: #034A3F; }

.cb--white {
  background: #FFFFFF;
  box-shadow: inset 0 0 0 1px #D7E4E0; }
  .cb--white .cb__label {
    background: #EFF5F4;
    color: #034A3F; }
  .cb--white .cb__title {
    color: #0B1513; }
  .cb--white .cb__subtitle {
    color: #3D4F4B; }
  .cb--white .cb__btn {
    background: #034A3F;
    color: #FFFFFF; }
  .cb--white .cb__figure {
    background: #EFF5F4; }

.cb--eshop,
.cb--homepage {
  height: 150px;
  margin-bottom: 20px; }
  @media screen and (min-width: 768px) {
    .cb--eshop,
    .cb--homepage {
      height: 200px; }
      .cb--eshop .cb__badge,
      .cb--homepage .cb__badge {
        width: 64px;
        height: 64px;
        font-size: 16px; } }
  @media screen and (max-width: 767px) {
    .cb--eshop,
    .cb--homepage {
      /*
       * Mobil: FOTKA VLEVO, vpravo pod sebou štítek, nadpis a tlačítko.
       *
       * Dřív tu byl text vlevo, fotka vpravo a tlačítko přes celou šířku
       * pod nimi. Vycházelo to z `ctaBelow` v canvasu, jenže zadaný návrh
       * má obojí jinak: fotka drží levý kraj stejně jako na desktopu
       * a tlačítko zůstává v pravém sloupci pod nadpisem, široké jen na
       * svůj text.
       *
       * Fotka je proto přes oba řádky, pravý sloupec si je dělí.
       */
      display: grid;
      grid-template-columns: auto 1fr;
      column-gap: 14px;
      row-gap: 10px;
      align-items: center;
      align-content: center;
      /*
       * Fotka musí mít na mobilu PEVNÝ čtverec.
       *
       * V základu je `height: 100%; aspect-ratio: 1`. Na desktopu to sedí:
       * pás má pevnou výšku a fotka se o ni opře. V mobilní mřížce je ale
       * druhý sloupec `auto`, takže se jeho šířka počítá z obsahu —
       * `aspect-ratio` si vyžádá čtverec o výšce řádku, řádek ještě žádnou
       * výšku nemá, a prohlížeč sáhne po vlastní velikosti obrázku. Fotka
       * vyskočila na 316 px, přetekla z pásu ven a text se zmáčkl na dva
       * pixely.
       *
       * NAJDE SE TO AŽ PO NAČTENÍ OBRÁZKU. Dokud se nenačte, nemá vlastní
       * velikost a mřížka vypadá v pořádku — měření hned po otevření
       * stránky tedy hlásí, že je všechno dobře. Rozbije se to teprve ve
       * chvíli, kdy fotka dorazí.
       *
       * 126 px = 150 výška pásu − 24 odsazení. Fotka drží obě řady mřížky,
       * takže sahá přes celou vnitřní výšku pásu, jak to má návrh.
       */ }
      .cb--eshop .cb__media,
      .cb--homepage .cb__media {
        grid-column: 1;
        grid-row: 1 / span 2; }
      .cb--eshop .cb__text,
      .cb--homepage .cb__text {
        grid-column: 2;
        grid-row: 1; }
      .cb--eshop .cb__media,
      .cb--eshop .cb__figure,
      .cb--homepage .cb__media,
      .cb--homepage .cb__figure {
        width: 126px;
        height: 126px;
        flex: none; }
      .cb--eshop .cb__btn,
      .cb--homepage .cb__btn {
        grid-column: 2;
        grid-row: 2;
        justify-self: start;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 40px;
        padding: 0 18px; } }

.cb--homepage {
  margin-top: 40px; }

@media screen and (min-width: 768px) {
  .cb--homepage {
    margin-top: 64px; } }
.cb--detail {
  height: 110px;
  margin-top: 40px;
  margin-bottom: 30px; }
  @media screen and (min-width: 768px) {
    .cb--detail {
      height: 140px;
      margin-top: 64px; }
      .cb--detail .cb__title {
        font-size: 22px; } }
  .cb--detail .cb__figure {
    width: 76px;
    height: 76px;
    padding: 6px; }
    @media screen and (min-width: 768px) {
      .cb--detail .cb__figure {
        width: 88px;
        height: 88px; } }
  @media screen and (min-width: 768px) {
    .cb--detail .cb__badge {
      width: 52px;
      height: 52px;
      font-size: 13px; } }
  @media screen and (max-width: 767px) {
    .cb--detail .cb__btn {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 44px;
      height: 44px;
      padding: 0;
      font-size: 0;
      letter-spacing: 0; }
      .cb--detail .cb__btn::after {
        content: "\2192";
        font-size: 18px;
        line-height: 1; } }

.cb--category {
  flex-direction: column;
  align-items: stretch;
  gap: 14px;
  padding: 14px; }
  .cb--category .cb__title {
    font-size: 17px; }
  .cb--category .cb__subtitle {
    display: none; }
  .cb--category .cb__media {
    display: block; }
  .cb--category .cb__figure {
    width: 100%;
    height: 150px;
    padding: 10px; }
  .cb--category .cb__figure--2 {
    display: none; }
  .cb--category .cb__text {
    flex: 0 0 auto;
    justify-content: flex-start; }
  .cb--category .cb__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: auto;
    height: 44px;
    padding: 0 14px; }
  .cb--category .cb__badge {
    width: 40px;
    height: 40px;
    font-size: 11px; }
  @media screen and (min-width: 991px) {
    .cb--category {
      gap: 16px;
      padding: 16px; }
      .cb--category .cb__figure {
        height: 220px; }
      .cb--category .cb__title {
        font-size: 19px; }
      .cb--category .cb__badge {
        width: 52px;
        height: 52px;
        font-size: 13px; } }

.cb-slot--desktop {
  display: none; }

@media screen and (min-width: 991px) {
  .cb-slot--mobile {
    display: none; }

  .cb-slot--desktop {
    display: flex; } }
.cb--category {
  width: 100%; }
  @media screen and (min-width: 500px) {
    .cb--category {
      width: calc(50% - 10px); } }
  @media screen and (min-width: 991px) {
    .cb--category {
      width: calc(33% - 12px); } }

.ek2 .eshop__list-products .cb--category {
  width: auto;
  min-width: 0; }

.btn {
  border-radius: 30px;
  padding: 0.75rem 1.5rem;
  text-decoration: none; }
  .btn.btn-orange {
    background: #EA5A25;
    color: #FFFFFF; }
    .btn.btn-orange:hover {
      background: #F87844; }
  .btn.btn-green {
    background: #034A3F;
    color: #FFFFFF; }
    .btn.btn-green:hover {
      background: #5c8379; }
  .btn.btn-seznam {
    background: #FFFFFF;
    color: #CC0000;
    border: 1px solid #CC0000; }
    .btn.btn-seznam:hover {
      background: #CC0000;
      color: #FFFFFF; }
  .btn.btn-white {
    background: #FFFFFF;
    color: #000000; }
    .btn.btn-white:hover {
      background: #BFA200;
      color: #FFFFFF; }
  .btn.btn-grey {
    background: #575757;
    color: #FFFFFF; }
    .btn.btn-grey:hover {
      background: #474747; }
  .btn.btn-outline-green {
    color: #034A3F;
    border: 1px solid #034A3F;
    font-weight: 600; }
    .btn.btn-outline-green:hover {
      background: #d7e3e1;
      color: #034A3F;
      border-color: #034A3F; }

.btn-cta {
  font-size: 18px;
  padding-top: 12px;
  padding-bottom: 12px;
  padding-right: 30px;
  padding-left: 30px; }

.btn-fixed-120 {
  min-width: 120px; }

.btn-fixed-180 {
  min-width: 180px; }

.btn-us {
  font-size: 18px;
  padding-top: 10px;
  padding-bottom: 10px; }

.btn-navbar {
  padding: 10px 25px; }

.badge.badge-orange {
  background: #BFA200; }

.add-to-cart-btn {
  padding: 0.30rem 1.2rem; }

.btn-number {
  padding: 0rem 0.65rem;
  border-color: #034A3F;
  color: #034A3F; }
  .btn-number:hover {
    background: #f0f5f4;
    color: #034A3F;
    border-color: #034A3F; }
  .btn-number:hover:disabled {
    background: #FFFFFF;
    color: #034A3F;
    border-color: #034A3F; }
  .btn-number:disabled {
    background: #FFFFFF;
    color: #034A3F;
    border-color: #034A3F; }

.title-main-1 {
  font-size: 4em;
  font-family: "Tomato Grotesk", sans-serif;
  font-weight: 600;
  line-height: 1.25em;
  text-shadow: 0px 3px 48px rgba(0, 0, 0, 0.341);
  color: #FFFFFF; }
  @media screen and (min-width: 768px) {
    .title-main-1 {
      font-size: 5.5em; } }
  @media screen and (min-width: 991px) {
    .title-main-1 {
      font-size: 8em; } }

.eshop-title-main-1 {
  font-size: 3em;
  font-family: "Tomato Grotesk", sans-serif;
  font-weight: 600;
  line-height: 1.25em;
  text-shadow: 0px 3px 48px rgba(0, 0, 0, 0.341);
  color: #FFFFFF; }
  @media screen and (min-width: 768px) {
    .eshop-title-main-1 {
      font-size: 3.5em; } }
  @media screen and (min-width: 991px) {
    .eshop-title-main-1 {
      font-size: 4.5em; } }

.title-main-2 {
  font-size: 2.2em;
  color: #034A3F;
  font-family: "Tomato Grotesk", sans-serif;
  line-height: 1.2em;
  font-weight: 600; }
  @media screen and (min-width: 768px) {
    .title-main-2 {
      font-size: 3.2em; } }
  @media screen and (min-width: 1200px) {
    .title-main-2 {
      font-size: 4.5em; } }

.title-main-3 {
  font-size: 3.2em;
  color: #034A3F;
  line-height: 1.2em;
  font-weight: 600; }
  @media screen and (min-width: 768px) {
    .title-main-3 {
      font-size: 8.2em; } }
  @media screen and (min-width: 1200px) {
    .title-main-3 {
      font-size: 9.2em; } }

.title-main-4 {
  font-size: 2.2em;
  color: #FFFFFF;
  line-height: 1.2em;
  font-weight: 600; }
  @media screen and (min-width: 768px) {
    .title-main-4 {
      font-size: 3.2em; } }
  @media screen and (min-width: 1200px) {
    .title-main-4 {
      font-size: 4.5em; } }

.title-main-5 {
  font-size: 2.2em;
  color: #000000;
  line-height: 1.2em;
  font-weight: 600; }
  @media screen and (min-width: 768px) {
    .title-main-5 {
      font-size: 3.2em; } }
  @media screen and (min-width: 1200px) {
    .title-main-5 {
      font-size: 4.5em; } }

.title-main-6 {
  font-size: 2.5em;
  color: #FFFFFF;
  line-height: 1.2em;
  font-weight: 600; }
  @media screen and (min-width: 768px) {
    .title-main-6 {
      font-size: 4em; } }
  @media screen and (min-width: 1200px) {
    .title-main-6 {
      font-size: 4.5em; } }

.title-small {
  font-size: 14px;
  text-transform: uppercase;
  font-weight: 500;
  color: #034A3F; }

.banner-text {
  font-size: 1.4em;
  text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.161);
  color: #FFFFFF; }
  .banner-text p {
    margin-bottom: 25px; }

.kobzik-text {
  font-size: 1.15em;
  color: #034A3F; }

.produkt-text {
  font-size: 1.15em;
  color: #FFFFFF; }

.produkt-text-black {
  font-size: 1.15em;
  color: #000000; }

.produkt-link-bila a {
  font-size: 1em;
  color: #FFFFFF;
  text-decoration: underline; }

.produkt-link-cerna a {
  font-size: 1em;
  color: #000000;
  text-decoration: underline; }

.citace-text {
  margin-top: -20px; }

.citace-blur {
  width: 300px;
  margin-top: -90px;
  margin-left: 100px;
  filter: blur(12px);
  -webkit-filter: blur(12px);
  position: relative;
  opacity: 0.75;
  transform: rotate(180deg);
  z-index: 1; }

.title-sub-2 {
  font-size: 2.2em;
  color: #034A3F;
  font-weight: 600;
  padding-bottom: 2rem;
  padding-top: 1rem; }

.menu-col .title-sub-2 {
  display: none; }
  @media screen and (min-width: 768px) {
    .menu-col .title-sub-2 {
      display: block; } }

.white-block {
  background: #FFFFFF;
  color: #034A3F;
  padding: 10px 20px;
  border-radius: 30px; }
  @media screen and (min-width: 768px) {
    .white-block {
      padding: 30px 60px; } }
  .white-block.centered {
    text-align: center;
    margin-left: 10px;
    margin-right: 10px; }
    @media screen and (min-width: 768px) {
      .white-block.centered {
        width: 75%;
        margin: 0 auto; } }
  .white-block .login-form {
    margin: 30px 0;
    padding: 30px 0;
    border-top: 1px solid #b8cfc9; }

.checkout-login .login-form {
  padding-bottom: 10px;
  border-bottom: 1px solid #b8cfc9; }

@media screen and (min-width: 768px) {
  .checkout-login .text,
  #login .text {
    width: 75%;
    margin-left: auto;
    margin-right: auto; }
  .checkout-login .buttons,
  #login .buttons {
    width: 100%;
    max-width: 20em;
    margin-left: auto;
    margin-right: auto; } }

.checkout-login .white-block {
  width: 100%; }

.checkout-text-block-info {
  border-left: 5px solid #EA5A25;
  padding-left: 1.5em;
  padding-right: 1em; }

.checkout-form > .form-check, .checkout-form > .form-inline {
  background: #FFFFFF;
  color: #034A3F;
  margin-bottom: 15px;
  padding: 0.75rem 1.5rem;
  border-radius: 30px; }
  .checkout-form > .form-check label, .checkout-form > .form-inline label {
    margin-bottom: 0;
    display: block; }
    .checkout-form > .form-check label .delivery-payment-option-price, .checkout-form > .form-inline label .delivery-payment-option-price {
      float: right; }
    .checkout-form > .form-check label .line2,
    .checkout-form > .form-check label .line1, .checkout-form > .form-inline label .line2,
    .checkout-form > .form-inline label .line1 {
      display: inline-block; }
.checkout-form > .form-inline {
  padding: 7px 8px 7px 17px; }

.form-check-input:disabled ~ .form-check-label,
.form-check-input[disabled] ~ .form-check-label {
  color: #b8cfc9; }

@media (min-width: 576px) {
  .form-inline label {
    justify-content: flex-start; } }
/* completely hiding radio button */
input[type="radio"] {
  display: none; }

.form-check label {
  display: inline-flex;
  align-items: center; }

.form-control::placeholder {
  color: #034A3F;
  opacity: .4; }

.form-control:not(.input-number) {
  height: calc(1.75em + .75rem + 6px);
  padding: .55em 1.5em;
  border-radius: 30px;
  color: #034A3F;
  background: #FFFFFF;
  border-color: #b3d3ce; }
  .form-control:not(.input-number).form-control-textarea {
    height: auto; }
  .form-control:not(.input-number).light-green {
    background: #f3f8f8; }

.form-control:focus {
  color: #034A3F; }

.form-control.input-number {
  border: 1px solid #034A3F;
  color: #034A3F;
  padding-left: .25em;
  padding-right: .25em; }

.btn-show-company-btn[aria-expanded=false] .bi-chevron-up {
  display: none; }

.btn-show-company-btn[aria-expanded=true] .bi-chevron-down {
  display: none; }

input[type="radio"] + label > span {
  padding-left: 25px; }

/* simulate radiobutton appearance using pseudoselector */
input[type="radio"] + label:before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 15px;
  height: 15px;
  padding: 3px;
  background-clip: content-box;
  border: 1px solid #034A3F;
  background-color: #FFFFFF;
  border-radius: 50%; }

input[type="radio"]:disabled + label:before {
  border-color: #b8cfc9; }

/* appearance of checked radiobutton */
input[type="radio"]:checked + label:before {
  background-color: #034A3F; }

#order-form .form-check a {
  text-decoration: underline; }

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 30px #FFFFFF inset !important;
  -webkit-text-fill-color: #034A3F !important; }

input.light-green:-webkit-autofill,
input.light-green:-webkit-autofill:hover,
input.light-green:-webkit-autofill:focus,
input.light-green:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 30px #f3f8f8 inset !important;
  -webkit-text-fill-color: #034A3F !important; }

body {
  background: #EFF5F4;
  color: #034A3F;
  font-family: "Tomato Grotesk", sans-serif;
  padding-top: 100px; }
  body.noscroll {
    overflow: hidden; }

a {
  color: #034A3F;
  text-decoration: underline; }
  a:hover {
    color: #EA5A25;
    text-decoration: underline; }

@media (min-width: 992px) {
  .container-md {
    max-width: calc(100vw - 50px); } }
@media screen and (min-width: 1440px) {
  .container-md {
    max-width: 1400px; } }
.affix {
  position: fixed;
  z-index: 1030;
  top: 82px; }

.icko {
  color: #034A3F;
  border: 1px solid #034A3F;
  border-radius: 10px;
  display: inline-block;
  width: 13px;
  height: 13px;
  line-height: 11px;
  font-size: 11px;
  margin-right: 10px;
  text-align: center;
  vertical-align: middle;
  margin-top: -2px;
  font-weight: 500; }

#o-nas {
  min-height: 100vh;
  display: flex;
  align-items: center;
  background-color: #FFFFFF;
  background-image: url(../img/los-uvozovkos.png);
  background-repeat: no-repeat;
  background-size: 300px;
  background-position: 5% 80%; }

.uvozovky-top-right {
  background-image: url(../img/citace2.png);
  background-repeat: no-repeat;
  margin-top: 20px;
  background-position: right -20px; }

#nase-znacky {
  min-height: 100vh;
  display: flex;
  flex-flow: column;
  align-items: center;
  background-color: #FFFFFF;
  overflow: hidden;
  position: relative;
  background-image: url(../img/list-roz.png), url(../img/list1.svg);
  background-repeat: no-repeat, no-repeat;
  background-position: 120% 100%, 5% 50%; }
  #nase-znacky .nase-znacky-top {
    background-image: url(../img/symbol-k.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: 70% 0;
    min-height: 60vh;
    display: flex;
    align-items: center;
    width: 100%;
    flex-flow: column;
    padding-top: 35vh; }
  #nase-znacky .nase-znacky-bottom ul {
    margin: 0;
    list-style: none;
    display: flex;
    flex-flow: row;
    flex-wrap: wrap;
    padding: 0;
    align-items: center; }
    #nase-znacky .nase-znacky-bottom ul li {
      display: block;
      width: 100%; }
      #nase-znacky .nase-znacky-bottom ul li a {
        transition: transform .2s;
        display: block;
        text-align: center; }
        #nase-znacky .nase-znacky-bottom ul li a:hover {
          transform: scale(1.1); }
      @media screen and (min-width: 600px) {
        #nase-znacky .nase-znacky-bottom ul li {
          width: 50%; } }
      @media screen and (min-width: 991px) {
        #nase-znacky .nase-znacky-bottom ul li {
          width: 25%; } }

/*
#nase-znacky {
	min-height: 100vh;
	display: flex;
	align-items: center;
	background: $color-white;
	overflow: hidden;
	position:relative;
}*/
.slide-znacky-1 {
  margin-left: 5%; }

.slide-znacky-2 {
  float: right;
  margin-right: -300px;
  margin-top: -300px;
  filter: blur(10px); }

.slide-znacky-3 {
  margin-left: 45%;
  filter: blur(2px); }

.slide-znacky-4 {
  background: url(../img/symbol-k.svg) no-repeat;
  background-position: 80% 0px;
  width: 100%;
  display: flex; }

#von-papa {
  background-color: #7A5AD2;
  overflow: hidden; }

.papa-kontejner {
  min-height: 100vh;
  position: relative;
  top: 0;
  left: 0;
  overflow: hidden; }

.papa-hlavni {
  position: absolute;
  bottom: 0;
  left: 0; }

.papa-vnoreny {
  position: absolute;
  top: -100px;
  left: 450px; }

#richard {
  position: relative;
  top: 0px;
  left: 0px;
  overflow: hidden;
  background-color: #000000;
  min-height: 100vh; }

.richard-vnoreny-leva {
  position: absolute;
  top: 0px;
  left: -50%; }

.richard-vnoreny-prava {
  position: absolute;
  bottom: -60%;
  right: -60%;
  z-index: 1; }

.richard-vnoreny-sud {
  position: absolute;
  bottom: 0px;
  left: -300px;
  z-index: 0; }

.limo-vnoreny-leva {
  position: absolute;
  top: 15%;
  left: 5%; }

.limo-vnoreny-prava {
  position: absolute;
  top: 0%;
  right: -290px; }

.limo-vnoreny-hruska {
  position: absolute;
  bottom: -170px;
  left: 30%; }

.cider-vnoreny-leva {
  position: absolute;
  top: 50px;
  left: -550px; }

.cider-vnoreny-prava {
  position: absolute;
  bottom: -100px;
  right: -170px; }

.znacka-vnoreny-leva {
  position: absolute;
  bottom: -200px;
  left: -570px; }

.znacka-vnoreny-prava {
  position: absolute;
  bottom: -100px;
  right: -400px; }

#richardova-limonada {
  background-color: #F8F4EF;
  position: relative;
  top: 0px;
  left: 0px;
  overflow: hidden;
  min-height: 100vh; }

#cider {
  background-color: #CEC3BD;
  position: relative;
  top: 0px;
  left: 0px;
  overflow: hidden;
  min-height: 100vh; }

#privatni-znacka {
  background-color: #EFEFEF;
  position: relative;
  top: 0px;
  left: 0px;
  overflow: hidden;
  min-height: 80vh;
  min-height: 100vh; }

#kontakt {
  background-color: #1d5248; }
  #kontakt .kontakt {
    font-size: 1.7em;
    color: #fff;
    font-weight: 600; }
    #kontakt .kontakt a {
      color: #FFFFFF; }
      #kontakt .kontakt a:hover {
        color: #EA5A25; }

.publicita {
  color: #FFFFFF; }
  .publicita__text {
    text-align: center;
    max-width: 50em;
    margin: 0 auto; }
  .publicita__images {
    display: flex;
    max-width: 50em;
    margin: 0 auto;
    padding: 2em 0; }
  .publicita__imgwrap {
    width: 33%;
    text-align: center; }
  .publicita__img {
    height: 50px;
    width: auto; }

#footer {
  background-color: #034A3F;
  color: #FFFFFF; }
  #footer a {
    color: #FFFFFF; }
    #footer a:hover {
      color: #EA5A25; }

.top-content {
  z-index: 1000; }

.bottom-content {
  z-index: -1000; }

.has-top-text-block .first-section-new {
  padding-top: 50px; }
  @media screen and (min-width: 768px) {
    .has-top-text-block .first-section-new {
      padding-top: 145px; } }

.has-top-text-block .first-section {
  padding-top: 70px; }
  @media screen and (min-width: 768px) {
    .has-top-text-block .first-section {
      padding-top: 145px; } }

.first-section {
  padding-top: 75px;
  padding-bottom: 60px; }
  @media screen and (min-width: 991px) {
    .first-section {
      padding-top: 85px; } }
  @media screen and (min-width: 768px) {
    .first-section-20 {
      padding-top: 20px; } }

.richarduv-alert {
  font-weight: 600;
  border-radius: 30px;
  padding: 7px 20px 7px 20px;
  margin-top: .5rem;
  margin-bottom: .5rem; }
  .richarduv-alert a {
    text-decoration: underline; }
    .richarduv-alert a:hover {
      text-decoration: none; }
  .richarduv-alert.richarduv-alert-success {
    color: #034A3F;
    background-color: #e6edeb; }
    .richarduv-alert.richarduv-alert-success a {
      color: #EA5A25; }
    .richarduv-alert.richarduv-alert-success .close {
      color: #034A3F; }
  .richarduv-alert.richarduv-alert-danger {
    background-color: #e5bcad;
    color: #d73a00; }
    .richarduv-alert.richarduv-alert-danger a {
      color: #d73a00; }
  .richarduv-alert.richarduv-alert-info {
    color: #034A3F;
    background-color: #FFFFFF; }

.arrow-down {
  background: transparent url(../img/sipka.png) no-repeat center center;
  background-size: cover;
  position: absolute;
  bottom: 45px;
  width: 48px;
  height: 48px;
  left: 50%;
  margin-left: -16px; }

.arrow-down-2 {
  background: transparent url(../img/sipka-jen.png) no-repeat center center;
  background-size: 48px 48px;
  background-repeat: repeat-y;
  border: 1px solid #034A3F;
  border-radius: 50px;
  position: absolute;
  bottom: 45px;
  width: 48px;
  height: 48px;
  left: 50%;
  margin-left: -16px;
  transition: background-position .2s; }
  .arrow-down-2:hover {
    background-position: center 50px; }

.bi.bi-ri {
  width: 34px;
  height: 27px;
  display: block;
  float: left; }

.bi.bi-ri.richard-kosik {
  width: 36px;
  height: 22px;
  background: transparent url(https://uricharda.cz/assets/img/richarduv-kosik.svg) no-repeat center center; }

.bi.bi-ri.richard-uzivatel {
  width: 22px;
  height: 22px;
  background: transparent url("../img/ucet.svg") no-repeat center center; }

.always-white .bi.bi-ri.richard-uzivatel,
.scrolled .bi.bi-ri.richard-uzivatel {
  width: 22px;
  height: 22px;
  background: transparent url("../img/ucet-green.svg") no-repeat center center; }

.bi.bi-ri.richard-vse {
  background: transparent url("../img/all1.svg") no-repeat center center; }

.bi.bi-ri.richard-vyhodne {
  background: transparent url("../img/vyhodne.png") no-repeat center center;
  background-size: 20px 20px; }

.bi.bi-ri.znacka-pivo-richard {
  background: transparent url("../img/pivko1.svg") no-repeat center center; }

.bi.bi-ri.znacka-cider-od-richarda {
  background: transparent url("../img/jabko1.svg") no-repeat center center; }

.bi.bi-ri.znacka-richardova-limonada {
  background: transparent url("../img/limo1.svg") no-repeat center center; }

.bi.bi-ri.znacka-von-papa {
  background: transparent url("../img/papa1.svg") no-repeat center center; }

.categories-menu .nav-link.active .richard-vse,
.categories-menu .nav-link:hover .richard-vse {
  background-image: url("../img/all2.svg"); }

.categories-menu .nav-link.active .richard-vyhodne,
.categories-menu .nav-link:hover .richard-vyhodne {
  background-image: url("../img/vyhodne2.png"); }

.categories-menu .nav-link.active .znacka-pivo-richard,
.categories-menu .nav-link:hover .znacka-pivo-richard {
  background-image: url("../img/pivko2.svg"); }

.categories-menu .nav-link.active .znacka-cider-od-richarda,
.categories-menu .nav-link:hover .znacka-cider-od-richarda {
  background-image: url("../img/jabko2.svg"); }

.categories-menu .nav-link.active .znacka-richardova-limonada,
.categories-menu .nav-link:hover .znacka-richardova-limonada {
  background-image: url("../img/limo2.svg"); }

.categories-menu .nav-link.active .znacka-von-papa,
.categories-menu .nav-link:hover .znacka-von-papa {
  background-image: url("../img/papa2.svg"); }

.bi-box-arrow-up-right {
  font-size: 0.85em;
  position: relative;
  bottom: 2px;
  margin-left: 10px; }

/*
.bi.bi-box-arrow-up-right.black {
	color:$color-black;
}
*/
.bi-space {
  margin-left: 3em; }

.tags-menu-toggler,
.categories-menu-toggler {
  background: #FFFFFF;
  color: #034A3F;
  display: block;
  border-radius: 30px;
  padding-top: 1em;
  padding-bottom: 1em;
  padding-left: 1em;
  margin-top: 20px; }
  @media screen and (min-width: 768px) {
    .tags-menu-toggler,
    .categories-menu-toggler {
      display: none; } }
  .tags-menu-toggler.isin,
  .categories-menu-toggler.isin {
    border-radius: 30px 30px 0 0; }

.tags-menu {
  display: none;
  background-color: #FFFFFF;
  border-radius: 10px;
  padding: 1.5em .5em 1em 1.5em; }
  .tags-menu__heading {
    font-weight: bold;
    font-size: 1.25em; }
  .tags-menu__list {
    margin: 0;
    padding-left: 25px; }
  .tags-menu__item {
    margin-bottom: .5em; }
  @media screen and (min-width: 768px) {
    .tags-menu {
      display: block; } }

.categories-menu {
  display: none;
  background-color: #FFFFFF;
  border-radius: 30px; }
  .categories-menu > .nav-item > .nav-link {
    border-radius: 0;
    color: #034A3F;
    padding-top: 1em;
    padding-bottom: 1em;
    padding-left: 1em;
    text-decoration: none; }
    .categories-menu > .nav-item > .nav-link > i {
      margin-left: 5px;
      margin-right: 10px;
      display: block;
      float: left; }
      @media screen and (min-width: 768px) {
        .categories-menu > .nav-item > .nav-link > i {
          float: none; } }
      @media screen and (min-width: 991px) {
        .categories-menu > .nav-item > .nav-link > i {
          float: left; } }
  .categories-menu.show {
    display: block;
    border-radius: 0 0 30px 30px;
    border-top: 1px solid #EFF5F4; }
  @media screen and (min-width: 768px) {
    .categories-menu {
      display: block; } }

.categories-menu > .nav-item > .nav-link:hover,
.categories-menu > .nav-item > .nav-link.active {
  background: #FFFFFF;
  color: #EA5A25; }
  .categories-menu > .nav-item > .nav-link:hover:first-child,
  .categories-menu > .nav-item > .nav-link.active:first-child {
    border-top-left-radius: 30px;
    border-top-right-radius: 30px; }

.categories-menu > .nav-item > .nav-link
.categories-menu > .nav-item:first-child > .nav-link {
  border-top-left-radius: 30px;
  border-top-right-radius: 30px; }

.categories-menu > .nav-item:last-child > .nav-link {
  border-bottom-left-radius: 30px;
  border-bottom-right-radius: 30px; }

li.nav-item.sub-active {
  background-color: #034A3F1A; }

.sub-categories-menu {
  background-color: #e6edeb; }
  .sub-categories-menu .nav-item {
    border-radius: 0; }
    .sub-categories-menu .nav-item .nav-link {
      padding: .5rem 1rem;
      border-radius: 0;
      text-decoration: none; }
      .sub-categories-menu .nav-item .nav-link:hover, .sub-categories-menu .nav-item .nav-link.active {
        color: #034A3F;
        background: #d1dcd9;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
        border-top-left-radius: 0;
        border-top-right-radius: 0; }
      @media screen and (min-width: 991px) {
        .sub-categories-menu .nav-item .nav-link > i {
          margin-left: 5px;
          margin-right: 10px; } }

.categories-menu > .nav-item:last-child .sub-categories-menu {
  border-bottom-left-radius: 30px;
  border-bottom-right-radius: 30px; }
  .categories-menu > .nav-item:last-child .sub-categories-menu .nav-item:last-child {
    border-bottom-left-radius: 30px;
    border-bottom-right-radius: 30px; }
    .categories-menu > .nav-item:last-child .sub-categories-menu .nav-item:last-child .nav-link {
      border-bottom-left-radius: 30px;
      border-bottom-right-radius: 30px; }

.category-description {
  border-bottom: 1px solid #d7e3e1;
  margin-bottom: 20px; }

.category-detail__tags-top {
  padding-left: 10px;
  padding-right: 10px;
  background: #FFF;
  border-radius: 10px; }

.tags-slider {
  background: #FFFFFF;
  height: 100%;
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  flex-direction: row;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-top: 0;
  height: auto;
  padding: 0;
  list-style: none;
  scrollbar-color: #215d53;
  /* Stylování scrollbaru pro Webkit prohlížeče (Chrome, Safari) */ }
  .tags-slider::-webkit-scrollbar {
    height: 10px;
    /* Výška scrollbaru */ }
  .tags-slider::-webkit-scrollbar-track {
    background: #f1f1f1;
    /* Barva pozadí dráhy */
    border-radius: 10px; }
  .tags-slider::-webkit-scrollbar-thumb {
    background: #215d53;
    /* Barva posuvníku */
    border-radius: 10px; }
  .tags-slider::-webkit-scrollbar-thumb:hover {
    background: #555;
    /* Barva posuvníku při hoveru */ }
  .tags-slider__item {
    flex: 0 0 auto;
    scroll-snap-align: start;
    padding: 2px 3px;
    margin-right: 5px;
    white-space: nowrap;
    font-weight: bold;
    border-bottom: 1px solid #EFF5F4;
    transition: transform 0.3s ease; }
  .tags-slider__link {
    display: block;
    padding: .25em 1em;
    text-decoration: none;
    		/*
    
    		&::before {
    			content:"> ";
    			color:$color-green-border;
    		}
    
    		*/ }
    .tags-slider__link:hover {
      color: #EA612A; }

.card.one-food {
  background: #ffffff;
  color: #034A3F;
  border: 1px solid #ffffff;
  border-radius: 30px;
  width: 100%;
  position: relative; }
  .card.one-food a {
    color: #034A3F;
    text-decoration: none; }
    .card.one-food a:hover {
      color: #034A3F;
      text-decoration: none; }
    .card.one-food a.btn {
      color: #000000; }
  .card.one-food .alert a {
    color: #EA5A25; }
    .card.one-food .alert a:hover {
      text-decoration: none; }
  .card.one-food .prod-img {
    overflow: hidden;
    border-top-left-radius: 30px;
    border-top-right-radius: 30px; }
    .card.one-food .prod-img img {
      border-top-left-radius: 30px;
      border-top-right-radius: 30px;
      transform-origin: 50% 65%;
      transition: transform .5s ease; }
  .card.one-food:hover {
    border-color: #b8cfc9; }
    .card.one-food:hover .prod-img img {
      transform: scale(1.1); }
  .card.one-food .card-body {
    padding: 0.5rem;
    color: #034A3F; }
    .card.one-food .card-body .h6 {
      font-size: 1.3rem;
      font-weight: 600;
      line-height: 1.8rem; }
    .card.one-food .card-body .food-desc {
      color: #c3c2c3;
      margin: 1em 0;
      font-size: 0.9rem; }
    .card.one-food .card-body .popisek-produktu {
      font-size: 0.9rem;
      margin: 0; }
  .card.one-food .card-footer .cena_produktu {
    font-size: 1.75em;
    color: #034A3F;
    font-weight: 600;
    padding-top: 1rem;
    padding-bottom: 1rem; }
    .card.one-food .card-footer .cena_produktu-discounted {
      color: #EA5A25;
      font-weight: bold; }
    .card.one-food .card-footer .cena_produktu-old {
      font-size: .9em;
      position: relative;
      margin-right: 10px; }
      .card.one-food .card-footer .cena_produktu-old:after {
        border-bottom: 4px solid #034A3F;
        content: "";
        position: absolute;
        right: 0;
        top: 45%;
        -webkit-transform: skewY(-10deg);
        transform: skewY(-10deg);
        width: 100%; }
  .card.one-food .product-label {
    position: absolute;
    top: 30px;
    right: 0;
    color: #FFFFFF;
    background: #034A3F;
    font-size: 13px;
    line-height: 14px;
    padding: 5px 12px 5px 5px; }
    .card.one-food .product-label .arrow {
      position: absolute;
      left: -12px;
      top: 0;
      width: 0;
      height: 0;
      border-top: 12px solid transparent;
      border-bottom: 12px solid transparent;
      border-right: 12px solid #034A3F; }

@media screen and (min-width: 768px) {
  .one-food.card .card-body {
    padding: 1.25rem 1.25rem 0; } }
.cena_produktu_detail {
  font-size: 2.2em; }
  .cena_produktu_detail-discounted {
    color: #EA5A25;
    font-weight: bold; }
  .cena_produktu_detail-unit {
    font-size: .85rem;
    line-height: 1.3;
    margin-top: .15em;
    color: #3D4F4B; }
  .cena_produktu_detail-old {
    font-size: .9em;
    position: relative;
    margin-right: 10px; }
    .cena_produktu_detail-old:after {
      border-bottom: 4px solid #034A3F;
      content: "";
      position: absolute;
      right: 0;
      top: 45%;
      -webkit-transform: skewY(-10deg);
      transform: skewY(-10deg);
      width: 100%; }

.h6 {
  font-size: 1.3rem;
  font-weight: 600;
  line-height: 1.6rem; }

@media screen and (min-width: 768px) {
  .one-food.card .card-footer {
    padding: 0px 20px 20px 20px; } }
.one-food.card .card-footer .price-like-btn {
  font-weight: bold;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  display: inline-block; }

.card-footer {
  background-color: #FFFFFF;
  border-top: 0px solid #fefefe; }
  .card-footer:last-child {
    border-bottom-left-radius: 30px;
    border-bottom-right-radius: 30px; }

.product-price-block {
  margin: 0;
  padding: 0px; }

.product-stock {
  font-size: 14px; }

.product-price-block .price {
  font-size: 18px;
  font-weight: 500;
  width: 100%;
  text-align: center;
  padding: 10px 0; }

@media screen and (min-width: 768px) {
  .product-price-block .price {
    width: auto;
    text-align: left;
    padding: 0; } }
.pagination {
  margin: 3em auto;
  justify-content: center; }
  .pagination__item > a {
    padding: 10px 15px;
    border-top: 1px solid #034A3F;
    border-bottom: 1px solid #034A3F;
    border-right: 1px solid #034A3F;
    color: #034A3F;
    font-weight: 600;
    text-decoration: none; }
    .pagination__item > a:hover, .pagination__item > a:focus {
      background: #d7e3e1; }
  .pagination__item:first-child a {
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
    border-left: 1px solid #034A3F; }
  .pagination__item:last-child a {
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px; }
  .pagination__item-active a:not([href]):not([class]) {
    background: #d7e3e1;
    color: #575757; }

.product {
  margin-bottom: 50px;
  background: #FFFFFF;
  color: #034A3F;
  border-radius: 30px; }
  .product .product-image {
    border-top-left-radius: 30px;
    border-top-right-radius: 30px; }
    @media screen and (min-width: 768px) {
      .product .product-image {
        border-top-right-radius: 0px;
        border-bottom-left-radius: 30px; } }

#product-gallery-main {
  overflow: hidden;
  border-top-left-radius: 30px;
  border-top-right-radius: 30px; }
  @media screen and (min-width: 768px) {
    #product-gallery-main {
      border-top-right-radius: 0px;
      border-bottom-left-radius: 30px; } }
  #product-gallery-main .splide__slide img {
    width: 100%;
    height: auto; }

#product-gallery-thumbs {
  border-bottom-left-radius: 30px;
  overflow: hidden; }
  #product-gallery-thumbs .splide__slide {
    opacity: 0.6; }
    #product-gallery-thumbs .splide__slide.is-active {
      opacity: 1;
      border: none;
      width: 110%; }
    #product-gallery-thumbs .splide__slide img {
      width: 100%;
      height: 100%;
      object-fit: cover; }

.product-info {
  padding: 15px 30px; }

@media screen and (min-width: 768px) {
  .product-info {
    padding: 30px 45px 30px 15px;
    display: flex;
    flex-direction: column;
    justify-content: stretch; }
    .product-info .product-detail-wrap-bottom {
      margin-bottom: 0;
      margin-top: auto; }
      .product-info .product-detail-wrap-bottom .product-price-block {
        margin-top: 30px; } }
.product-title {
  font-size: 1.75em;
  font-weight: 600;
  margin-bottom: 5px;
  line-height: 1.2; }

.product-description {
  padding-bottom: 15px;
  padding-left: 0;
  padding-right: 0; }
  .product-description a {
    text-decoration: underline; }

.product-legal-warning {
  color: #575757;
  font-size: .8em;
  padding-bottom: 15px; }

.product-julie-donation {
  font-size: .9em;
  font-style: italic; }

.product-detail {
  font-size: 1.75em;
  font-weight: 600; }
  .product-detail a {
    text-decoration: underline; }

.product-detail-2 {
  color: #034A3F; }
  .product-detail-2 a {
    text-decoration: underline; }
  .product-detail-2 img {
    max-width: 100%;
    height: auto; }
  .product-detail-2 h2 {
    font-weight: bold;
    font-size: 3em;
    line-height: 1.15em;
    margin-top: .6em; }
  .product-detail-2 h2:first-child {
    margin-top: 0; }
  .product-detail-2 h6 {
    font-size: 1.3rem;
    font-weight: 600;
    line-height: 1.6rem; }
  .product-detail-2 ul {
    padding-left: 20px; }
    .product-detail-2 ul li {
      margin-bottom: 5px; }

.product-description:first-child {
  padding-top: 15px; }

.product-alergens, .product-contains, .product-ingredients-source, .product-julie {
  font-size: 14px; }

.rating {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  line-height: 1; }

.rating__stars {
  position: relative;
  display: inline-block;
  color: #D8DEDD;
  letter-spacing: 1px; }
  .rating__stars .rating__fill {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    white-space: nowrap;
    color: #F5A623; }

.rating__count {
  color: #575757;
  font-size: 0.875rem; }
  .rating__count .rating__count-of {
    opacity: 0.7; }

.item__name + .rating,
.card-body .rating {
  margin-top: 4px;
  font-size: 0.875rem; }

.product-rating-line {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap; }
  .product-rating-line .product-rating-link {
    color: #575757;
    font-size: 0.875rem;
    text-decoration: underline; }
    .product-rating-line .product-rating-link:hover {
      color: #034A3F; }

.product-reviews {
  color: #034A3F; }

.reviews-summary {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 20px 24px;
  margin-bottom: 28px;
  background: #EFF5F4;
  border-radius: 20px; }

.reviews-summary__score {
  display: flex;
  align-items: baseline;
  gap: 4px; }

.reviews-summary__number {
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 1; }

.reviews-summary__of {
  color: #575757;
  font-size: 1rem; }

.reviews-summary__detail {
  display: flex;
  flex-direction: column;
  gap: 4px; }
  .reviews-summary__detail .rating__stars {
    font-size: 1.25rem; }

.reviews-summary__count {
  color: #575757;
  font-size: 0.875rem; }

.reviews-list {
  list-style: none;
  margin: 0 0 28px;
  padding: 0; }

.review {
  padding: 18px 0;
  border-bottom: 1px solid #b8cfc9; }
  .review:last-child {
    border-bottom: none; }

.review__head {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 6px; }

.review__author {
  font-weight: 600; }

.review__overeno {
  display: inline-flex;
  align-items: center;
  height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  background: #E8EEEC;
  color: #4F6360;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap; }

.review__date {
  color: #575757;
  font-size: 0.875rem; }

.review__text {
  margin: 0;
  max-width: 60ch; }

.review__reply {
  margin: 12px 0 0 0;
  padding: 10px 0 10px 16px;
  border-left: 3px solid #b8cfc9;
  background: #EFF5F4;
  border-radius: 0 6px 6px 0;
  max-width: 60ch; }

.review__reply-label {
  display: block;
  font-weight: 600;
  font-size: 0.875rem;
  color: #034A3F;
  margin-bottom: 4px; }

.review__reply-text {
  margin: 0; }

.reviews-empty {
  color: #575757; }

.review-form-box {
  padding: 24px;
  background: #EFF5F4;
  border-radius: 20px; }

.review-form-box__title {
  margin: 0 0 16px;
  font-size: 1.25rem;
  font-weight: 600; }

.review-form__row {
  margin-bottom: 16px; }
  .review-form__row.review-form__row--last {
    margin-bottom: 0; }

.review-form__label {
  display: block;
  margin-bottom: 6px;
  font-weight: 600; }

.review-form__required {
  color: #EA5A25; }

.review-form__note {
  margin: 12px 0 0;
  color: #575757;
  font-size: 0.875rem; }

.review-form__captcha {
  margin-bottom: 16px; }

.rating-input {
  position: relative;
  display: inline-flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  font-size: 1.75rem;
  line-height: 1; }

.rating-input__radio {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0; }
  .rating-input__radio:focus + .rating-input__star {
    outline: 2px solid #5c8379;
    outline-offset: 2px; }
  .rating-input__radio:checked + .rating-input__star, .rating-input__radio:checked + .rating-input__star ~ .rating-input__star {
    color: #F5A623; }

.rating-input__star {
  margin: 0;
  padding: 0 2px;
  color: #D8DEDD;
  cursor: pointer;
  transition: color 0.1s ease-in-out; }

.rating-input:hover .rating-input__star {
  color: #D8DEDD; }
.rating-input:hover .rating-input__star:hover,
.rating-input:hover .rating-input__star:hover ~ .rating-input__star {
  color: #F5A623; }

.review-order-item {
  padding: 20px 24px;
  margin-bottom: 16px;
  background: #FFFFFF;
  border: 1px solid #b8cfc9;
  border-radius: 20px; }

.review-order-item__name {
  margin: 0 0 12px;
  font-size: 1.125rem;
  font-weight: 600; }

/**
 * Hvezdicky nesmi dostat falesne radiove kolecko.
 *
 * `_forms.scss` kresli ke KAZDEMU `input[type=radio] + label` kolecko pres
 * `:before` a odsazuje text o 25 px. Hvezdicky jsou taky labely za radiem,
 * takze se u nich vedle kazde hvezdy kreslilo zelene kolecko a rada vypadala
 * jako "o * o * o * o * o *".
 *
 * Projevilo se to az na snimku - v mereni ne, protoze samotne radio je
 * spravne skryte a kolecko kresli pseudoprvek LABELU.
 */
/*
 * Vaha selektoru musi prebit `input[type="radio"] + label:before`. Samotna
 * trida s pseudoprvkem na to NESTACI - atribut v tom pravidle vazi stejne
 * jako trida a navic tam jsou dva prvky, takze puvodni zapis prohral
 * a kolecko se dal kreslilo, jen uz pres hvezdicku.
 */
input[type="radio"] + .rating-input__star::before {
  content: none; }

input[type="radio"] + .rating-input__star > span {
  padding-left: 0; }

.cart-progress {
  border-radius: 30px;
  margin-bottom: 30px;
  background-color: #FFFFFF;
  font-weight: 500; }
  .cart-progress .nav-item .nav-link {
    color: #034A3F;
    padding: 12px;
    border-radius: 0px;
    text-decoration: none; }
    .cart-progress .nav-item .nav-link.active {
      color: #FFFFFF;
      background: #034A3F;
      font-weight: 500; }
  .cart-progress .nav-item:first-child .nav-link.active {
    border-radius: 30px 0 0 0; }
    @media screen and (min-width: 768px) {
      .cart-progress .nav-item:first-child .nav-link.active {
        border-radius: 30px 0 0 30px; } }
  @media screen and (min-width: 768px) {
    .cart-progress .nav-item:first-child .nav-link:hover:not(.active) {
      border-radius: 30px 0 0 30px;
      background-color: #e6edeb; } }
  .cart-progress .nav-item:nth-child(2) .nav-link.active {
    border-radius: 0 30px 0 0; }
    @media screen and (min-width: 768px) {
      .cart-progress .nav-item:nth-child(2) .nav-link.active {
        border-radius: 0; } }
  @media screen and (min-width: 768px) {
    .cart-progress .nav-item:nth-child(2) .nav-link:hover:not(.active) {
      background-color: #e6edeb; } }
  .cart-progress .nav-item:nth-child(3) .nav-link.active {
    border-radius: 0 0 0 30px; }
    @media screen and (min-width: 768px) {
      .cart-progress .nav-item:nth-child(3) .nav-link.active {
        border-radius: 0; } }
  @media screen and (min-width: 768px) {
    .cart-progress .nav-item:nth-child(3) .nav-link:hover:not(.active) {
      background-color: #e6edeb; } }
  .cart-progress .nav-item:last-child .nav-link.active {
    border-radius: 0 0 30px 0; }
    @media screen and (min-width: 768px) {
      .cart-progress .nav-item:last-child .nav-link.active {
        border-radius: 0 30px 30px 0; } }
  @media screen and (min-width: 768px) {
    .cart-progress .nav-item:last-child .nav-link:hover:not(.active) {
      background-color: #e6edeb;
      border-radius: 0 30px 30px 0; } }

.e-shop-tag {
  font-size: 12px; }

.cart-table .cart-head .head-cell {
  padding-top: 5px;
  padding-bottom: 15px;
  font-size: 14px;
  font-weight: 500;
  color: #034A3F; }

.cart-table .cart-body {
  color: #034A3F; }

.cart-table .cart-row {
  background: #FFFFFF;
  border-radius: 30px;
  margin-bottom: 15px; }

.cart-table .cart-row img {
  border-top-left-radius: 30px; }

@media screen and (min-width: 768px) {
  .cart-table .cart-row img {
    border-bottom-left-radius: 30px; } }
.cart-table .cart-row a {
  color: #034A3F;
  font-weight: 500;
  text-decoration: none; }
  .cart-table .cart-row a:hover {
    color: #EA5A25; }

.cart-table-summary {
  margin-bottom: 30px; }
  .cart-table-summary .cart-head .head-cell {
    padding-top: 5px;
    padding-bottom: 10px;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase; }
  .cart-table-summary .cart-body {
    color: #000000; }
  .cart-table-summary .cart-row {
    background: #FFFFFF;
    border-radius: 30px;
    margin-bottom: 15px;
    color: #034A3F; }
    .cart-table-summary .cart-row img {
      border-top-left-radius: 30px;
      border-bottom-left-radius: 30px; }
    .cart-table-summary .cart-row a {
      color: #034A3F;
      font-weight: 500;
      text-decoration: none; }
      .cart-table-summary .cart-row a:hover {
        color: #EA5A25; }
    .cart-table-summary .cart-row .cart_summart_price-discounted {
      color: #EA5A25; }
    .cart-table-summary .cart-row .cart_summart_price-old {
      font-size: .9em;
      position: relative; }
      .cart-table-summary .cart-row .cart_summart_price-old:after {
        border-bottom: 2px solid #034A3F;
        content: "";
        position: absolute;
        right: 0;
        top: 45%;
        -webkit-transform: skewY(-10deg);
        transform: skewY(-10deg);
        width: 100%; }

.form-group .input-group:not(.has-validation) > .form-control {
  border-radius: 30px;
  margin-right: 16px;
  border: 0px;
  padding-left: 2em;
  font-size: 1em;
  color: #034A3F; }

.form-inline .input-group > .input-group-append > .btn {
  border-radius: 30px;
  padding: 0px 15px 0 15px;
  border: 1px solid #034A3F;
  color: #034A3F;
  font-weight: 600; }

.cart-coupon {
  color: #034A3F; }

.price-cart {
  font-weight: 600; }
  .price-cart-discounted {
    color: #EA5A25; }
  .price-cart-old {
    font-size: .9em;
    position: relative; }
    .price-cart-old:after {
      border-bottom: 2px solid #034A3F;
      content: "";
      position: absolute;
      right: 0;
      top: 45%;
      -webkit-transform: skewY(-10deg);
      transform: skewY(-10deg);
      width: 100%; }

.product-cart {
  padding: 1.25em;
  border-radius: 30px;
  background-color: #E5ECEB;
  color: #034A3F; }

.alert-empty-cart {
  padding: 30px 30px; }

.submit-delete-btn {
  color: #034A3F;
  background: #FFFFFF;
  border: 0; }
  .submit-delete-btn:hover {
    color: #5c8379; }

.cart-summary {
  background: #FFFFFF;
  color: #034A3F;
  padding: 30px;
  border-radius: 30px;
  line-height: 2em;
  font-size: 15px; }
  .cart-summary .header {
    font-size: 1.25em;
    font-weight: 600; }
  .cart-summary-main {
    border-bottom: 1px solid #034A3F;
    margin: 10px 0;
    padding: 10px 0; }
    .cart-summary-main .no-vat {
      line-height: 1.75em;
      font-size: 85%; }
  .cart-summary-price {
    font-weight: 600;
    background-color: #EFF5F4;
    border-radius: 30px;
    padding: 3px 12px 3px 12px;
    margin-top: 16px;
    letter-spacing: -0.3px;
    margin-left: -12px;
    margin-right: -12px; }
    .cart-summary-price .total {
      font-weight: 600;
      font-size: 1.1em; }

.summary-block {
  border-radius: 30px;
  padding: 15px 20px;
  margin-bottom: 30px;
  background: #FFFFFF; }

.summary-block.sm {
  padding: 10px; }

.summary-block p {
  margin: 0;
  padding: 0; }

.cart-nav {
  margin: 60px 0; }

.cart-nav .back a {
  color: #034A3F;
  border: 1px solid #034A3F;
  font-weight: 600; }

#order-complete {
  text-align: center;
  min-height: 70vh; }
  #order-complete .chick {
    color: #EA5A25;
    margin-bottom: 40px; }
    #order-complete .chick .bi {
      width: 4em;
      height: 4em; }

.ppl-selector-value,
.packeta-selector-value {
  margin-left: 25px; }

#ppl-parcelshop-map .accordion-map--select {
  display: none !important; }

/* CSS for the modal overlay */
.ppl-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: none;
  z-index: 1050; }

/* CSS for the modal box */
.ppl-modal-box {
  position: fixed;
  margin: 0 auto;
  height: 720px;
  display: none;
  z-index: 1060;
  top: 110px;
  left: 10px;
  right: 10px;
  bottom: 10px; }

#ppl-close-modal-button {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 1070; }

.ppl-parcelshop-map {
  height: 100%;
  max-height: 640px; }

#anim-kobzik {
  transform: translateY(500px);
  transition: 1s all ease;
  position: relative; }
  #anim-kobzik.active {
    transform: translateY(0); }

#o-nas {
  background-position: 5% 120%;
  transition: background-position 2s ease; }
  #o-nas.active {
    background-position: 5% 80%; }

#anim-kobzik-text {
  transform: translateY(100px);
  transition: 1s all ease;
  position: relative; }
  #anim-kobzik-text.active {
    transform: translateY(0); }

#von-papa {
  background-color: #FFFFFF;
  -webkit-transition: background-color 1500ms linear;
  -ms-transition: background-color 1500ms linear;
  transition: background-color 1500ms linear; }
  #von-papa.active {
    background-color: #7A5AD2; }

.papa-vnoreny {
  transform: translateX(500px);
  transition: 1s all ease; }
  .papa-vnoreny.active {
    transform: translateX(0); }

.papa-hlavni {
  transform: translateY(300px);
  transition: 1s all ease; }
  .papa-hlavni.active {
    transform: translateY(0); }

.papa-btn {
  transform: translateY(100px);
  transition: 1s all ease;
  position: relative; }
  .papa-btn.active {
    transform: translateY(0); }

.text_block {
  background: #FFFFFF;
  color: #034A3F;
  text-align: center;
  font-size: .9em;
  padding: 1em 1em;
  font-weight: bold; }
  .text_block .text-block-btn {
    padding: .2em .75em;
    border-radius: 30px;
    color: #000000;
    border: 1px solid #575757;
    text-decoration: none; }
  .text_block-red {
    background: #ff8874;
    color: #471313; }
  .text_block-green {
    background: #e6edeb;
    color: #034A3F; }
  .text_block-blue {
    background: #8acae9;
    color: #132329; }
  .text_block-yellow {
    background: #e9d68a;
    color: #3d381e; }
  .text_block-grey {
    background: #b5b5b5;
    color: #000000; }
  .text_block-green-inverse {
    background: #034A3F;
    color: #FFFFFF; }
    .text_block-green-inverse a {
      color: #FFFFFF; }
      .text_block-green-inverse a:hover {
        color: #EA5A25; }
    .text_block-green-inverse .text-block-btn {
      background: #FFFFFF;
      color: #034A3F; }
  .text_block p {
    padding: 0;
    margin: 0; }

@media screen and (min-width: 991px) {
  .text_block .text-block-btn {
    padding: .5em 1em; } }
.rich-footer {
  background-color: #034A3F;
  color: #FFFFFF;
  padding: 2em; }
  .rich-footer a {
    color: #FFFFFF; }
    .rich-footer a:hover {
      color: #EA5A25; }
  .rich-footer__logo {
    margin-bottom: 2em; }
  .rich-footer__heading {
    font-size: 1.25em;
    padding: 0;
    margin: 0 0 .5em 0; }
  .rich-footer__socials a {
    display: inline-block;
    margin-right: 10px; }
    .rich-footer__socials a img {
      max-width: 100%;
      height: auto; }
    .rich-footer__socials a:hover {
      opacity: .75; }
  @media screen and (min-width: 650px) {
    .rich-footer {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      gap: 15px; } }
  .rich-footer__part {
    width: 100%; }
    @media screen and (min-width: 650px) {
      .rich-footer__part-onakupu, .rich-footer__part-kategorie {
        width: calc(50% - 15px); } }
    @media screen and (min-width: 768px) {
      .rich-footer__part-onakupu, .rich-footer__part-kategorie, .rich-footer__part-kontakt {
        width: calc(33.3% - (2*15px/3)); } }
    @media screen and (min-width: 1051px) {
      .rich-footer__part-info {
        width: calc(37% - (3*15px)/4); }
      .rich-footer__part-onakupu, .rich-footer__part-kategorie, .rich-footer__part-kontakt {
        width: calc(21% - (3*15px)/4); } }
    @media screen and (min-width: 1200px) {
      .rich-footer__part-info {
        width: calc(34% - (3*15px)/4); }
      .rich-footer__part-onakupu, .rich-footer__part-kategorie, .rich-footer__part-kontakt {
        width: calc(22% - (3*15px)/4); } }

.my-footer {
  background-color: #034A3F;
  color: #FFFFFF;
  padding: 2em; }
  .my-footer a {
    color: #FFFFFF; }
    .my-footer a:hover {
      color: #EA5A25; }
  .my-footer__logo {
    margin-bottom: 2em; }
  .my-footer__kontakt {
    margin-bottom: 2em; }
  .my-footer__heading {
    font-size: 1.25em;
    padding: 0;
    margin: 0 0 .5em 0; }

@media screen and (min-width: 700px) {
  .my-footer {
    display: flex;
    flex-wrap: wrap;
    padding-top: 4em;
    padding-bottom: 4em; }
    .my-footer__logo {
      width: 100%; }
    .my-footer__kontakt {
      width: 50%; }
    .my-footer__rodina {
      width: 50%; } }
@media screen and (min-width: 993px) {
  .my-footer {
    flex-wrap: nowrap;
    padding-top: 5em;
    padding-bottom: 5em; }
    .my-footer__logo {
      width: 50%;
      text-align: center; }
    .my-footer__kontakt {
      width: 25%; }
    .my-footer__rodina {
      width: 25%; } }
.recipes {
  width: 100%;
  display: flex;
  gap: 10px;
  flex-wrap: wrap; }
  .recipes__item-link {
    background: #FFFFFF;
    border-radius: 20px;
    display: block;
    overflow: hidden;
    text-decoration: none;
    width: 100%; }
  .recipes__item-image {
    border-radius: 20px;
    width: 100%;
    height: auto; }
  .recipes__item-text {
    padding: .5em 1em; }

.recipeDetail {
  background: #FFFFFF;
  padding: .5em 2em 2em 2em;
  margin-left: auto;
  margin-right: auto;
  max-width: 900px; }

@media screen and (min-width: 400px) {
  .recipes__item-link {
    width: calc(50% - 5px); } }
@media screen and (min-width: 768px) {
  .recipes__item-link {
    width: calc(33% - 10px); } }
@media screen and (min-width: 991px) {
  .recipes__item-link {
    width: calc(25% - 15px); } }
@media screen and (min-width: 1200px) {
  .recipes__item-link {
    width: calc(20% - 20px); } }
#cookiescript_injected {
  border-top: 1px solid #D7E4E0;
  box-shadow: 0 -8px 28px rgba(3, 74, 63, 0.12);
  font-family: inherit;
  padding: 16px; }

#cookiescript_injected .cookiescript_pre_header,
#cookiescript_injected #cookiescript_close {
  display: none; }

#cookiescript_injected #cookiescript_header,
#cookiescript_injected #cookiescript_description {
  text-align: left;
  color: #0B1513;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: normal;
  text-transform: none;
  margin: 0; }

#cookiescript_injected #cookiescript_header {
  font-weight: 600; }

#cookiescript_injected #cookiescript_description {
  font-weight: 500; }

#cookiescript_injected #cookiescript_readmore {
  font-size: inherit;
  font-weight: 500;
  color: #034A3F;
  text-decoration: underline;
  text-underline-offset: 3px; }

#cookiescript_injected #cookiescript_buttons {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0; }

#cookiescript_injected #cookiescript_accept,
#cookiescript_injected #cookiescript_reject {
  background-color: #FFFFFF;
  color: #034A3F;
  border: 2px solid #034A3F;
  border-radius: 999px;
  height: 52px;
  line-height: 48px;
  padding: 0 22px;
  margin: 0;
  width: auto;
  min-width: 0;
  font-size: 15px;
  font-weight: 600;
  text-transform: none;
  letter-spacing: normal;
  white-space: nowrap; }
  #cookiescript_injected #cookiescript_accept:hover,
  #cookiescript_injected #cookiescript_reject:hover {
    background-color: #EFF5F4;
    color: #034A3F; }

#cookiescript_injected #cookiescript_manage_wrap {
  margin: 0; }

#cookiescript_injected #cookiescript_manage {
  color: #034A3F;
  font-size: 15px;
  font-weight: 600;
  text-transform: none;
  letter-spacing: normal;
  text-decoration: underline;
  text-underline-offset: 3px;
  opacity: 1;
  margin: 0; }

#cookiescript_injected svg#cookiescript_manageicon {
  display: none; }

@media screen and (min-width: 700px) {
  #cookiescript_injected {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 32px;
    row-gap: 6px;
    padding: 20px 48px; }

  #cookiescript_injected #cookiescript_header {
    grid-column: 1;
    grid-row: 1;
    align-self: end; }

  #cookiescript_injected #cookiescript_description {
    grid-column: 1;
    grid-row: 2;
    align-self: start; }

  #cookiescript_injected #cookiescript_buttons {
    grid-column: 2;
    grid-row: 1;
    justify-content: flex-end; }

  #cookiescript_injected #cookiescript_manage_wrap {
    grid-column: 2;
    grid-row: 2;
    text-align: center; } }
#cookiescript_injected {
  padding-left: 15px;
  padding-right: 15px; }

@media screen and (min-width: 576px) {
  #cookiescript_injected {
    padding-left: calc((100% - 540px) / 2 + 15px);
    padding-right: calc((100% - 540px) / 2 + 15px); } }
@media screen and (min-width: 768px) {
  #cookiescript_injected {
    padding-left: calc((100% - 720px) / 2 + 15px);
    padding-right: calc((100% - 720px) / 2 + 15px); } }
@media screen and (min-width: 992px) {
  #cookiescript_injected {
    padding-left: calc((100% - 960px) / 2 + 15px);
    padding-right: calc((100% - 960px) / 2 + 15px); } }
@media screen and (min-width: 1200px) {
  #cookiescript_injected {
    padding-left: calc((100% - 1140px) / 2 + 15px);
    padding-right: calc((100% - 1140px) / 2 + 15px); } }
body.ek2 #cookiescript_injected {
  padding-left: 16px;
  padding-right: 16px; }

@media screen and (min-width: 768px) {
  body.ek2 #cookiescript_injected {
    padding-left: 48px;
    padding-right: 48px; } }
@media screen and (min-width: 1280px) {
  body.ek2 #cookiescript_injected {
    padding-left: calc((100% - 1280px) / 2 + 48px);
    padding-right: calc((100% - 1280px) / 2 + 48px); } }
@media screen and (max-width: 699px) {
  #cookiescript_injected #cookiescript_buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: 12px; }

  #cookiescript_injected #cookiescript_accept,
  #cookiescript_injected #cookiescript_reject {
    width: 100%;
    padding: 0 8px;
    white-space: normal;
    line-height: 1.2; }

  #cookiescript_injected #cookiescript_manage_wrap {
    margin-top: 10px;
    text-align: center; } }
#cookiescript_injected_fsd #cookiescript_fsd_wrapper {
  border-radius: 20px;
  overflow: hidden; }

#cookiescript_injected_fsd .cookiescript_fsd_title {
  font-size: 20px;
  line-height: 1.25;
  font-weight: 600;
  color: #034A3F; }

#cookiescript_injected_fsd .cookiescript_fsd_description {
  font-size: 15px;
  line-height: 1.5;
  color: #3D4F4B; }

#cookiescript_injected_fsd .cookiescript_fsd_tabs > * {
  text-transform: none;
  font-size: 15px;
  font-weight: 600; }

#cookiescript_injected_fsd .cookiescript_fsd__category_name {
  font-size: 16px;
  font-weight: 600;
  color: #0B1513; }

#cookiescript_injected_fsd .cookiescript_category_description {
  font-size: 15px;
  line-height: 1.5;
  color: #3D4F4B; }

#cookiescript_injected_fsd .cookiescript_fsd_category {
  border-bottom: 1px solid #D7E4E0; }

#cookiescript_injected_fsd .cookiescript_fsd_cookies_control {
  text-transform: none;
  font-size: 15px;
  font-weight: 600;
  color: #034A3F; }

/**
 * Zapnutý přepínač zeleně.
 *
 * Přepínač není zaškrtávátko, ale Material switch: `<button class="mdc-switch
 * mdc-switch--selected">` s dráhou v `.mdc-switch__track`. Výchozí barva je
 * šedá i v zapnutém stavu, takže z panelu nejde poznat, co je povolené -
 * a to je u souhlasu to jediné, na čem záleží.
 *
 * `!important` je tu schválně: jejich CSS se vkládá skriptem až po našem
 * souboru a barvu dráhy píše přímo na `.mdc-switch__track`, takže delší
 * zápis nepomůže.
 */
#cookiescript_injected_fsd .mdc-switch--selected .mdc-switch__track {
  background: #034A3F !important; }

#cookiescript_injected_fsd .mdc-switch--selected:not(:disabled) .mdc-switch__track {
  opacity: 1; }

#cookiescript_injected_fsd #cookiescript_accept,
#cookiescript_injected_fsd #cookiescript_reject,
#cookiescript_injected_fsd #cookiescript_save {
  min-height: 48px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 600; }

.ek2 {
  background: #FFFFFF;
  color: #0B1513;
  font-weight: 500;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  padding-top: 0; }

.ek2-wrap {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 16px; }

@media screen and (min-width: 768px) {
  .ek2-wrap {
    padding: 0 48px; } }
.ek2-header {
  position: relative;
  z-index: 30;
  background: #FFFFFF;
  border-bottom: 1px solid #D7E4E0; }

.ek2-notice {
  background: #034A3F;
  color: #FFFFFF;
  font-size: 13px;
  line-height: 1.4;
  min-height: 36px;
  padding: 6px 16px;
  text-align: center; }
  .ek2-notice a {
    color: #FFFFFF;
    text-decoration: underline; }

.ek2-notice__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 24px; }

.ek2-notice__ikona {
  flex: none;
  width: 16px;
  height: 16px; }

.ek2-notice__text {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis; }

@media screen and (min-width: 768px) {
  .ek2-notice {
    font-size: 15px; } }
.ek2-header__row {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 60px;
  flex-wrap: wrap; }

@media screen and (min-width: 768px) {
  .ek2-header__row {
    gap: 32px;
    min-height: 76px;
    flex-wrap: nowrap; } }
.ek2-logo {
  flex: none;
  display: flex;
  align-items: center; }
  .ek2-logo img {
    display: block;
    height: 22px;
    width: auto; }

@media screen and (min-width: 768px) {
  .ek2-logo img {
    height: 28px; } }
.ek2-search {
  order: 3;
  flex: 1 1 100%;
  display: flex;
  align-items: center;
  height: 48px;
  margin-bottom: 12px;
  border: 1.5px solid #034A3F;
  border-radius: 999px;
  overflow: hidden;
  background: #FFFFFF; }

@media screen and (min-width: 768px) {
  .ek2-search {
    order: 0;
    flex: 1 1 auto;
    max-width: 560px;
    margin-bottom: 0; } }
.ek2-search__input {
  flex: 1;
  min-width: 0;
  height: 100%;
  border: none;
  outline: none;
  padding: 0 20px;
  font-family: inherit;
  font-size: 15px;
  font-weight: 500;
  color: #0B1513;
  background: transparent; }
  .ek2-search__input::placeholder {
    color: #6E817C; }

/**
 * Focus musí být VIDĚT.
 *
 * Pole mělo `outline: none` a k tomu `:focus { box-shadow: none }`, takže
 * po doskákání tabulátorem nebylo poznat vůbec nic - web se nedal ovládat
 * klávesnicí. Prohlížečový obrys se tu vypíná kvůli tvaru pilulky, takže
 * ho musí nahradit něco vlastního.
 *
 * Signál nese OBAL, ne pole: obrys uvnitř pilulky by se kreslil přes ni.
 */
.ek2-search:focus-within {
  border-color: #034A3F;
  box-shadow: 0 0 0 3px rgba(3, 74, 63, 0.12); }

.ek2-search__btn {
  height: 100%;
  width: 56px;
  flex: none;
  border: none;
  background: #034A3F;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  /*
   * Velikost lupy PATRI SEM, ne do atributu značky.
   *
   * V hlavičce měla značka `width="20" height="20"`, v mobilní nabídce ne —
   * a tam se pak roztáhla přes celé tlačítko na 44 px. Vypadalo to jako dvě
   * různé ikony. Atribut se dá při kopírování značky snadno zapomenout,
   * pravidlo v komponentě ne.
   */ }
  .ek2-search__btn svg {
    width: 20px;
    height: 20px;
    flex: none; }
  .ek2-search__btn:hover {
    background: #1D5D53; }

.ek2-header__actions {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 6px; }

.ek2-action {
  display: flex;
  align-items: center;
  gap: 8px;
  /**
   * 48 px i na mobilu.
   *
   * Dřív se bralo $ek-btn-md, tedy 44 px, a na 48 se to zvedalo až od
   * 768 px. Návrh ale v hlavičce 44 px nemá vůbec - všechny ovladače
   * v EkHeader.dc.html jsou 48 - a úvod nástěnky navíc žádá na mobilu
   * klikací plochy aspoň 48 px.
   *
   * Token $ek-btn-md zůstává 44: u tlačítka na KARTĚ má canvas 44 na
   * úzkém okně schválně (`max(44px, min(48px, …))`). Mění se jen hlavička.
   */
  height: 48px;
  padding: 0 14px;
  border-radius: 999px;
  color: #034A3F;
  text-decoration: none;
  font-weight: 600;
  font-size: 15px;
  white-space: nowrap; }
  .ek2-action:hover {
    background: #EFF5F4;
    color: #034A3F;
    text-decoration: none; }

.ek2-action__text {
  display: none; }

@media screen and (min-width: 576px) {
  .ek2-action__text {
    display: inline; } }
.ek2-action__icon {
  position: relative;
  display: flex; }

.ek2-badge {
  position: absolute;
  top: -8px;
  right: -9px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: #EA5A25;
  color: #FFFFFF;
  font-size: 11px;
  line-height: 18px;
  text-align: center;
  font-weight: 600; }

.ek2-nav {
  display: flex;
  align-items: center;
  gap: 2px;
  height: 48px;
  padding-left: 4px;
  padding-right: 4px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none; }
  .ek2-nav::-webkit-scrollbar {
    display: none; }

@media screen and (min-width: 768px) {
  .ek2-nav {
    overflow-x: visible;
    padding-left: 36px;
    padding-right: 36px; } }
.ek2-nav__item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 4px;
  height: 100%;
  padding: 0 12px;
  color: #034A3F;
  text-decoration: none;
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap; }
  .ek2-nav__item:hover {
    color: #034A3F;
    text-decoration: none; }
  .ek2-nav__item.is-active {
    color: #034A3F; }
    .ek2-nav__item.is-active:after {
      content: "";
      position: absolute;
      left: 12px;
      right: 12px;
      bottom: 0;
      height: 3px;
      border-radius: 3px 3px 0 0;
      background: #034A3F; }

.ek2-nav-outer {
  position: relative; }

.ek2-nav__group {
  display: flex;
  align-items: center;
  height: 100%; }

.ek2-nav__item--has-mega {
  gap: 4px; }

.ek2-nav__chev {
  transition: transform .15s ease; }

.ek2-mega {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  z-index: 40;
  background: #FFFFFF;
  border-top: 1px solid #D7E4E0;
  box-shadow: 0 8px 32px rgba(3, 74, 63, 0.14);
  border-radius: 0 0 20px 20px; }

.ek2-zaclona {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 20;
  background: rgba(11, 21, 19, 0.35);
  pointer-events: none; }

.ek2-header:has(.ek2-nav__group:hover) ~ .ek2-zaclona,
.ek2-header:has(.ek2-nav__group:focus-within) ~ .ek2-zaclona {
  display: block; }

.ek2-nav__group:hover .ek2-mega,
.ek2-nav__group:focus-within .ek2-mega {
  display: block; }

.ek2-nav__group:hover .ek2-nav__chev,
.ek2-nav__group:focus-within .ek2-nav__chev {
  transform: rotate(180deg); }

.ek2-mega__inner {
  display: flex;
  gap: 48px;
  padding-top: 28px;
  padding-bottom: 36px; }

.ek2-mega__col {
  flex: 0 1 300px;
  display: flex;
  flex-direction: column; }

.ek2-mega__col--tipy {
  flex: 0 1 340px;
  gap: 4px; }

.ek2-tip {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px;
  border: 1px solid #D7E4E0;
  border-radius: 14px;
  text-decoration: none; }
  .ek2-tip:hover {
    background: #EFF5F4;
    text-decoration: none; }

.ek2-tip__media {
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  border-radius: 10px;
  background: #EFF5F4;
  overflow: hidden; }
  .ek2-tip__media img {
    width: 100%;
    height: 100%;
    object-fit: contain; }

.ek2-tip__body {
  min-width: 0; }

.ek2-tip__name {
  display: block;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
  color: #0B1513;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }
  .ek2-tip:hover .ek2-tip__name {
    color: #034A3F; }

.ek2-mega__col--promo {
  flex: 0 1 280px; }

.ek2-promo {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 24px;
  border-radius: 20px;
  background: #034A3F;
  color: #FFFFFF;
  text-decoration: none; }
  .ek2-promo:hover {
    background: #1D5D53;
    color: #FFFFFF;
    text-decoration: none; }

.ek2-promo__media {
  display: block;
  width: 72px;
  height: 72px;
  margin-bottom: 12px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.14);
  overflow: hidden; }
  .ek2-promo__media img {
    width: 100%;
    height: 100%;
    object-fit: contain; }

.ek2-promo__tag {
  align-self: flex-start;
  margin-bottom: 8px;
  height: 22px;
  padding: 0 9px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  color: #FFFFFF;
  font-size: 11px;
  font-weight: 600;
  line-height: 22px;
  letter-spacing: .08em;
  text-transform: uppercase; }

.ek2-promo__title {
  font-size: 17px;
  font-weight: 600;
  line-height: 1.3;
  color: #FFFFFF; }

.ek2-promo__text {
  margin-top: 4px;
  font-size: 13px;
  line-height: 1.4;
  color: #D5E6E2; }

.ek2-promo__cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  align-self: flex-start;
  margin-top: auto;
  padding-top: 16px;
  font-size: 14px;
  font-weight: 600;
  color: #FFFFFF; }

.ek2-tip__price {
  display: block;
  margin-top: 2px;
  font-size: 16px;
  font-weight: 600; }
  .ek2-tip__price strong {
    font-weight: 600;
    color: #0B1513; }
    .ek2-tip__price strong.is-sale {
      color: #0B1513; }
  .ek2-tip__price s {
    margin-left: 5px;
    color: #6E817C;
    font-size: 12px; }

.ek2-mega__title {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #6E817C;
  margin-bottom: 8px; }

.ek2-mega__link {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 44px;
  font-size: 16px;
  font-weight: 600;
  color: #0B1513;
  text-decoration: none; }
  .ek2-mega__link:hover {
    color: #034A3F;
    text-decoration: none; }
  .ek2-mega__link--group {
    height: auto;
    padding-top: 8px;
    padding-bottom: 2px; }

.ek2-mega__sub {
  display: flex;
  flex-direction: column;
  padding-left: 12px;
  margin-bottom: 8px;
  border-left: 2px solid #D7E4E0; }

.ek2-mega__sublink {
  display: flex;
  align-items: center;
  height: 32px;
  font-size: 15px;
  color: #3D4F4B;
  text-decoration: none; }
  .ek2-mega__sublink:hover {
    color: #034A3F;
    text-decoration: none; }

.ek2-mega__all {
  margin-top: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 600;
  color: #034A3F;
  text-decoration: none; }
  .ek2-mega__all:hover {
    color: #1D5D53;
    text-decoration: underline; }

@media screen and (max-width: 767px) {
  .ek2-mega {
    display: none !important; }

  .ek2-nav__chev {
    display: none; } }
.ek2-main {
  flex: 1 0 auto;
  min-height: 40vh; }

.ek2-footer {
  margin-top: 96px;
  background: #034A3F;
  color: #B7D4CD;
  font-size: 15px;
  line-height: 1.5; }

.ek2-footer__cols {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 36px 48px;
  padding-top: 56px;
  padding-bottom: 24px; }

.ek2-footer__brand {
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-width: 300px; }

.ek2-footer__links {
  flex: 1 1 320px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 28px 24px; }

@media screen and (min-width: 576px) {
  .ek2-footer__cols {
    grid-template-columns: 1fr 1fr; } }
@media screen and (min-width: 992px) {
  .ek2-footer__cols {
    grid-template-columns: 2fr 1fr 1fr 1fr; } }
.ek2-footer__logo {
  height: 28px;
  align-self: flex-start;
  width: auto;
  max-width: 100%;
  margin-bottom: 16px; }

.ek2-footer__note {
  margin: 0;
  max-width: 42ch;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.82); }

.ek2-footer__title {
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #FFFFFF; }

.ek2-footer__list {
  list-style: none;
  margin: 0;
  padding: 0; }
  .ek2-footer__list li {
    margin-bottom: 8px; }
  .ek2-footer__list a {
    display: flex;
    align-items: center;
    gap: 6px;
    min-height: 32px;
    color: #B7D4CD;
    text-decoration: none;
    font-size: 15px; }
    .ek2-footer__list a:hover {
      color: #FFFFFF;
      text-decoration: underline; }

.ek2-footer__bottom {
  margin-top: 40px;
  padding: 20px 0 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  font-size: 13px;
  color: #B7D4CD; }
  .ek2-footer__bottom .ek2-wrap {
    display: flex;
    flex-direction: column;
    gap: 10px; }

@media screen and (min-width: 768px) {
  .ek2-footer__bottom {
    font-size: 15px; } }
.ek2-footer__legal {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 24px; }

.ek2-footer__company {
  flex: 1 1 420px; }

.ek2-footer__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px; }

.ek2-footer__badge {
  display: flex;
  align-items: center;
  height: 26px;
  padding: 0 10px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.1);
  color: #B7D4CD;
  font-size: 11.5px;
  font-weight: 600;
  white-space: nowrap; }

.ek2 {
  padding-bottom: 44px; }

.ek2-preview {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  background: #EA5A25;
  color: #FFFFFF;
  font-size: 13px;
  line-height: 1.3;
  padding: 8px 16px;
  text-align: center; }
  .ek2-preview a {
    color: #FFFFFF;
    text-decoration: underline; }

.ek2-page {
  padding-top: 24px;
  padding-bottom: 64px; }

.ek2-crumbs {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 20px 0 4px;
  margin-bottom: 0;
  font-size: 15px;
  color: #6E817C;
  /*
   * Poslední položka je TMAVŠÍ než odkazy před ní.
   *
   * Canvas (Kategorie.dc.html) dává odkazům `--ek-ink-3` a položce
   * s `aria-current="page"` o stupeň tmavší `--ek-ink-2`. U nás měly
   * všechny stejnou barvu, takže nebylo poznat, kde cesta končí.
   *
   * Platí na všech šířkách, ne jen na mobilu — návrh to tak má všude.
   */
  overflow-x: auto;
  white-space: nowrap;
  scrollbar-width: none; }
  .ek2-crumbs [aria-current="page"] {
    color: #3D4F4B; }
  .ek2-crumbs::-webkit-scrollbar {
    display: none; }
  .ek2-crumbs a {
    display: flex;
    align-items: center;
    min-height: 32px;
    color: #6E817C;
    text-decoration: none; }
    .ek2-crumbs a:hover {
      color: #034A3F;
      text-decoration: underline; }

.ek2-h1 {
  margin: 0;
  font-size: 26px;
  line-height: 1.15;
  letter-spacing: -.02em;
  font-weight: 600;
  color: #034A3F; }

@media screen and (min-width: 768px) {
  .ek2-h1 {
    font-size: 34px; } }
.ek2-lede {
  max-width: 720px;
  margin-bottom: 24px;
  font-size: 16px;
  line-height: 1.6;
  color: #3D4F4B; }

/*
 * Mobil: popis kategorie až POD výpisem produktů.
 *
 * Pod nadpisem odsouval zboží dolů — na úzkém okně bylo nad prvním
 * produktem i půl obrazovky textu. Zákazník jde do kategorie pro produkty;
 * popis je doplněk pro něj i pro vyhledávače.
 *
 * Řeší se POŘADÍM, ne druhým vykreslením: tentýž text dvakrát ve stránce
 * je duplicitní obsah. Výpis se proto na mobilu stane sloupcovým flexem
 * a popis dostane `order`, který ho pošle na konec.
 *
 * Na širokém okně se nemění vůbec nic — tam popis patří pod nadpis, jak
 * ho má návrh (Kategorie.dc.html, odstavec hned za <h1>).
 */
@media screen and (max-width: 767px) {
  .ek2-page {
    display: flex;
    flex-direction: column;
    padding-top: 10px; }

  /*
   * Drobečky na mobilu: odsazení 8 px a písmo 14.
   *
   * Canvas má odsazení `clamp(12px, 1.6cqw, 20px)` a písmo, které pod
   * 480 px spadne na 13. Obojí je podle zadání o kus těsnější a čitelnější,
   * takže je to vědomá odchylka, ne nedodělek.
   */
  .ek2-crumbs {
    padding-top: 8px;
    font-size: 14px; }

  /*
   * Stahování mezer nad výpisem: nadpis blíž k podkategoriím.
   *
   * SELEKTOR MUSÍ BÝT `.ek2 .ek2-h1`, ne jen `.ek2-h1`.
   *
   * `_v2_cart.scss` má `.ek2 h1 { margin: 0 0 24px }` kvůli nadpisům ve
   * starých šablonách košíku, které třídu `.ek2-h1` nemají. Jenže dvě
   * třídy přebijí jednu bez ohledu na pořadí i na mediální dotaz, takže
   * samotné `.ek2-h1` tady nedělalo vůbec nic.
   *
   * Řeší se zvýšením specificity, ne zúžením toho pravidla v košíku —
   * `:not(.ek2-h1)` by nadpisům na širokém okně sebralo i spodní okraj
   * 24 px, který tam dnes mají.
   */
  .ek2 .ek2-h1 {
    margin-bottom: 10px; }

  .ek2-page .ek2-lede {
    order: 1;
    margin-top: 40px;
    margin-bottom: 0; } }
.ek2-subcats {
  display: flex;
  gap: 8px;
  margin-bottom: 24px;
  overflow-x: auto;
  scrollbar-width: none; }
  .ek2-subcats::-webkit-scrollbar {
    display: none; }

.ek2-subcat {
  flex: none;
  display: inline-flex;
  align-items: center;
  height: 44px;
  padding: 0 16px;
  border: 1.5px solid #B8CFC9;
  border-radius: 999px;
  background: #FFFFFF;
  color: #034A3F;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap; }
  .ek2-subcat:hover {
    background: #034A3F;
    border-color: #034A3F;
    color: #FFFFFF;
    text-decoration: none; }

.ek2-empty {
  padding: 48px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  text-align: center; }

.ek2-empty__icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #EFF5F4;
  color: #034A3F;
  display: flex;
  align-items: center;
  justify-content: center; }

.ek2-empty__text {
  margin: 0;
  font-size: 16px;
  color: #3D4F4B; }

.ek2-empty .ek2-btn--green {
  width: auto;
  height: 52px;
  padding: 0 24px;
  background: #034A3F;
  color: #FFFFFF;
  text-decoration: none; }
  .ek2-empty .ek2-btn--green:hover {
    background: #1D5D53;
    color: #FFFFFF;
    text-decoration: none; }

.ek2-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 16px;
  padding: 20px 0;
  margin-bottom: 0; }

.ek2-tools__filters {
  flex: 1 1 520px;
  min-width: 0;
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: none;
  margin: 0 -16px;
  padding: 2px 16px; }
  .ek2-tools__filters::-webkit-scrollbar {
    display: none; }

@media screen and (min-width: 768px) {
  .ek2-tools__filters {
    margin: 0 -48px;
    padding: 2px 48px; } }
.ek2-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 44px;
  flex: none;
  padding: 0 16px;
  border: 1.5px solid #B8CFC9;
  border-radius: 999px;
  background: #FFFFFF;
  color: #034A3F;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap; }
  .ek2-chip:hover {
    border-color: #034A3F;
    color: #034A3F;
    text-decoration: none; }
  .ek2-chip.is-on {
    background: #034A3F;
    border-color: #034A3F;
    color: #FFFFFF; }
  .ek2-chip--reset {
    border-style: dashed;
    color: #3D4F4B; }
    .ek2-chip--reset:hover {
      color: #034A3F; }

.ek2-chip__count {
  font-weight: 500;
  opacity: .7; }

.ek2-tools__sort {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto; }

/*
 * Mobil: „Řadit" patří VLEVO a mezery kolem mají být stejné.
 *
 * Na úzkém okně se řádek nástrojů zalomí a `margin-left: auto` odsunul
 * výběr řazení na pravý kraj — stál sám proti levému sloupci štítků.
 *
 * Mezery: nad štítky bylo 44 px (24 okraj podkategorií + 20 odsazení
 * nástrojů), mezi štítky a řazením 10. Teď je obojí 12 px, což je
 * hodnota, kterou má návrh u nástrojů na úzkém okně
 * (`clamp(12px, 1.6cqw, 20px)` sáhne na mobilu po spodní mezi).
 */
@media screen and (max-width: 767px) {
  .ek2-tools__sort {
    margin-left: 0; }

  .ek2-tools {
    padding-top: 6px;
    row-gap: 12px; }

  .ek2-subcats {
    margin-bottom: 0; } }
.ek2-sort__label {
  margin: 0;
  font-size: 14px;
  color: #6E817C; }

.ek2-sort {
  height: 44px;
  padding: 0 40px 0 16px;
  border: 1.5px solid #B8CFC9;
  border-radius: 999px;
  background: #FFFFFF;
  color: #034A3F;
  font-family: inherit;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%23034A3F' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center; }
  .ek2-sort:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(3, 74, 63, 0.12); }

.ek2-jen-ctecka {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap; }

.ek2-detail {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(480px, 1fr));
  gap: 16px;
  align-items: start; }

@media screen and (max-width: 560px) {
  .ek2-detail {
    grid-template-columns: 1fr; } }
.ek2-detail__buy {
  display: flex;
  flex-direction: column;
  gap: 12px; }

@media screen and (min-width: 768px) {
  .ek2-detail__buy {
    gap: 18px; } }
.ek2-detail__media {
  display: grid;
  place-items: center;
  height: 170px;
  background: #EFF5F4;
  border-radius: 14px;
  overflow: hidden;
  color: #034A3F; }

@media screen and (min-width: 768px) {
  .ek2-detail__media {
    height: 560px;
    border-radius: 20px; } }
@media screen and (min-width: 768px) {
  .ek2-detail {
    gap: 56px; } }
.ek2-detail__media img {
  max-width: 100%;
  height: auto; }

.ek2-detail__rating {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 20px 0 4px;
  margin-bottom: 0;
  font-size: 15px;
  color: #6E817C;
  text-decoration: none; }
  .ek2-detail__rating strong {
    color: #0B1513;
    font-weight: 600; }
  .ek2-detail__rating:hover {
    text-decoration: underline;
    color: #6E817C; }

.ek2-detail__lede {
  max-width: 720px;
  margin-bottom: 0;
  font-size: 17px;
  line-height: 1.5;
  color: #3D4F4B; }

.ek2-detail__pricebox {
  padding-top: 20px;
  border-top: 1px solid #D7E4E0; }

.ek2-detail__cenaradek {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 12px; }

.ek2-detail__prices {
  display: flex;
  align-items: baseline;
  gap: 12px; }

.ek2-detail__price {
  font-size: 30px;
  font-weight: 600;
  letter-spacing: -.015em;
  color: #0B1513; }
  .ek2-detail__price.is-sale {
    color: #0B1513; }

.ek2-detail__price-old {
  font-size: 15px;
  color: #6E817C;
  text-decoration: line-through; }

.ek2-detail__unit {
  display: block;
  margin-top: 4px;
  font-size: 15px;
  color: #6E817C; }

.ek2-detail__form {
  margin-top: 20px; }

.ek2-detail__row {
  display: flex;
  gap: 12px;
  align-items: stretch; }

.ek2-qty {
  display: flex;
  align-items: center;
  flex: none;
  width: fit-content;
  height: 52px;
  border: 1.5px solid #034A3F;
  border-radius: 999px;
  overflow: hidden; }
  .ek2-qty .form-control,
  .ek2-qty .btn {
    height: 100%;
    border: 0;
    border-radius: 0;
    color: #034A3F;
    background: #FFFFFF;
    font-weight: 600; }

.ek2-detail__row .ek2-btn {
  flex: 1;
  height: 52px;
  width: auto;
  padding: 0 20px;
  font-size: 16px; }

.ek2-detail__out {
  margin: 20px 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 52px;
  border-radius: 999px;
  background: #EFF5F4;
  color: #3D4F4B;
  font-weight: 600; }

.ek2-acc {
  max-width: 880px;
  margin-top: 48px; }

.ek2-acc__item {
  border-bottom: 1px solid #D7E4E0; }

.ek2-acc__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 0;
  font-size: 17px;
  font-weight: 600;
  color: #0B1513;
  cursor: pointer;
  list-style: none; }
  .ek2-acc__head::-webkit-details-marker {
    display: none; }
  .ek2-acc__head:after {
    content: "+";
    font-size: 22px;
    font-weight: 500;
    color: #034A3F;
    line-height: 1; }

.ek2-acc__item[open] .ek2-acc__head:after {
  content: "−"; }

.ek2-acc__body {
  padding: 0 0 20px;
  max-width: 720px;
  font-size: 16px;
  line-height: 1.6;
  color: #3D4F4B; }
  .ek2-acc__body p:last-child {
    margin-bottom: 0; }

.ek2-section {
  margin-top: 64px; }
  @media screen and (max-width: 767px) {
    .ek2-section {
      margin-top: 20px; } }

.ek2-h2 {
  margin: 0 0 20px;
  font-size: 21px;
  line-height: 1.2;
  letter-spacing: -.015em;
  font-weight: 600;
  color: #034A3F; }

@media screen and (min-width: 768px) {
  .ek2-h2 {
    font-size: 26px; } }
.ek2-section__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 20px; }
  .ek2-section__head .ek2-h2 {
    margin-bottom: 0; }

.ek2-section__more {
  color: #034A3F;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap; }
  .ek2-section__more:hover {
    color: #1D5D53;
    text-decoration: underline; }

.ek2-detail__zachran {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 12px;
  padding: 10px 14px;
  border-radius: 14px;
  background: #034A3F;
  color: #FFFFFF; }

.ek2-detail__zachran-datum {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4; }

.ek2-detail__zachran-text {
  font-size: 14px;
  line-height: 1.45;
  opacity: .92; }

.ek2-packs {
  margin: 20px 0; }

.ek2-packs__label {
  display: block;
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 600;
  color: #6E817C;
  letter-spacing: .06em;
  text-transform: uppercase; }

.ek2-packs__list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px; }

.ek2-packs__list {
  display: flex;
  flex-direction: column;
  gap: 8px; }

.ek2-pack {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 54px;
  padding: 8px 14px;
  border: 1px solid #D7E4E0;
  border-radius: 14px;
  background: #FFFFFF;
  color: #0B1513;
  text-decoration: none; }
  .ek2-pack:hover {
    border-color: #B8CFC9;
    color: #0B1513;
    text-decoration: none; }
  .ek2-pack.is-on {
    border-color: #034A3F;
    background: #EFF5F4; }
  .ek2-pack.is-out .ek2-pack__size, .ek2-pack.is-out .ek2-pack__price {
    color: #6E817C; }

.ek2-pack__dot {
  flex: none;
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border: 1.5px solid #B8CFC9;
  border-radius: 50%;
  background: #FFFFFF; }
  .ek2-pack.is-on .ek2-pack__dot {
    border-color: #034A3F; }
    .ek2-pack.is-on .ek2-pack__dot:after {
      content: '';
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: #034A3F; }

.ek2-pack__text {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0; }

.ek2-pack__head {
  display: flex;
  align-items: center;
  gap: 8px; }

.ek2-pack__size {
  font-size: 16px;
  font-weight: 600; }

.ek2-pack__out {
  display: flex;
  align-items: center;
  height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  background: #E8EEEC;
  color: #4F6360;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap; }

.ek2-pack__unit {
  font-size: 15px;
  color: #6E817C; }

/*
 * Úspora u vícekusového balení ve výběru.
 *
 * Stejná barevnost jako u úspory pod cenou (`.ek2-detail__saving`) — částka
 * oranžově, zbytek tlumeně. Zákazník tak pozná tutéž informaci na obou
 * místech.
 */
.ek2-pack__saving {
  display: block;
  margin-top: 2px;
  font-size: 14px;
  line-height: 1.35;
  color: #6E817C; }
  .ek2-pack__saving strong {
    color: #C4471A;
    font-weight: 600; }

.ek2-pack__price {
  margin-left: auto;
  font-size: 18px;
  font-weight: 600;
  white-space: nowrap; }

.ek2-bundles {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px; }

/*
 * Balíčky jsou VŽDY pod sebou, i na širokém okně.
 *
 * Dvousloupcová mřížka tu byla z doby, kdy blok stál přes celou šířku
 * stránky. Od přesunu pod dárek k nákupu žije v pravém sloupci detailu,
 * kde na dvě karty vedle sebe není místo - vyšly by sotva 270 px široké
 * a název s cenou i tlačítkem by se do nich nevešly.
 */
.ek2-bundle {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px;
  border: 1px solid #D7E4E0;
  border-radius: 14px;
  background: #FFFFFF;
  text-decoration: none; }
  .ek2-bundle:hover {
    border-color: #B8CFC9;
    box-shadow: 0 2px 4px rgba(3, 74, 63, 0.05), 0 6px 16px rgba(3, 74, 63, 0.08);
    text-decoration: none; }

.ek2-bundle__media {
  flex: 0 0 64px;
  width: 64px;
  height: 64px;
  border-radius: 10px;
  background: #EFF5F4;
  overflow: hidden; }
  .ek2-bundle__media img {
    width: 100%;
    height: 100%;
    object-fit: contain; }

.ek2-bundle__body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0; }
  .ek2-bundle__body .ek2-bundle__name {
    color: inherit;
    text-decoration: none; }
    .ek2-bundle__body .ek2-bundle__name:hover {
      color: #034A3F;
      text-decoration: underline; }

.ek2-bundle__form {
  flex: none;
  margin-left: auto; }

.ek2-bundle__add {
  height: 36px;
  padding: 0 14px;
  font-size: 14px;
  white-space: nowrap; }

a.ek2-bundle__media {
  text-decoration: none; }

.ek2-bundle__name {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
  color: #0B1513; }

.ek2-bundle__prices {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px; }
  .ek2-bundle__prices strong {
    font-size: 18px;
    font-weight: 600;
    color: #0B1513; }

.ek2-bundle__apart {
  font-size: 13px;
  color: #6E817C; }

.ek2-bundle__save {
  font-size: 14px;
  font-weight: 600;
  color: #C4471A; }

.ek2-bundle__pct {
  margin-left: 4px;
  font-weight: 500; }

.ek2-detail__saving {
  margin: 4px 0 0;
  font-size: 14px;
  color: #3D4F4B; }
  .ek2-detail__saving strong {
    color: #C4471A;
    font-weight: 600; }

.ek2-detail__saving-sep {
  margin: 0 4px;
  color: #B8CFC9; }

.ek2-detail__saving-pct {
  margin-left: 4px;
  color: #6E817C; }

.ek2-trust {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px; }

.ek2-trust__item {
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: #EFF5F4;
  border-radius: 14px;
  padding: 14px; }

.ek2-trust__icon {
  flex: none;
  width: 24px;
  height: 24px;
  color: #034A3F; }

.ek2-trust__title {
  margin: 0;
  font-size: 15px;
  line-height: 1.3;
  font-weight: 600;
  color: #034A3F; }

.ek2-trust__text {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: #3D4F4B; }

@media screen and (min-width: 768px) {
  .ek2-trust {
    gap: 16px; }

  .ek2-trust__item {
    padding: 20px; }

  .ek2-trust__text {
    font-size: 15px; } }
.ek2-detail__diety {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none; }

.ek2-dieta {
  display: inline-flex;
  align-items: center;
  height: 28px;
  padding: 0 12px;
  border-radius: 999px;
  background: #EFF5F4;
  color: #034A3F;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap; }

/*
 * Ujištění o dopravě pod nákupním boxem.
 *
 * Canvas ho má jako obyčejný řádek s ikonou (gap 8), ne jako barevný box —
 * barevný je až dárek k nákupu pod ním. Kdyby byly oba v mátové ploše,
 * splynuly by v jeden blok a zákazník by přehlédl oboje.
 */
.ek2-detail__doprava {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 16px 0 0;
  font-size: 14px;
  line-height: 1.45;
  color: #3D4F4B; }

.ek2-detail__doprava-ikona {
  flex: none;
  width: 20px;
  height: 20px;
  margin-top: 1px;
  color: #034A3F; }

.ek2-detail__gift {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 20px 0 0;
  padding: 12px 14px;
  background: #EFF5F4;
  border-radius: 14px;
  font-size: 14px;
  line-height: 1.45;
  color: #034A3F; }
  .ek2-detail__gift strong {
    font-weight: 600; }

.ek2-detail__gift-icon {
  flex: none;
  width: 20px;
  height: 20px;
  margin-top: 1px; }

@media screen and (min-width: 768px) {
  .ek2-detail__gift {
    font-size: 15px; } }
.ek2-cats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px; }

.ek2-cat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 12px 4px;
  background: #FFFFFF;
  border: 1px solid #D7E4E0;
  border-radius: 14px;
  color: #0B1513;
  text-align: center;
  text-decoration: none; }
  .ek2-cat:hover {
    border-color: #B8CFC9;
    box-shadow: 0 1px 2px rgba(3, 74, 63, 0.06), 0 1px 3px rgba(3, 74, 63, 0.06);
    color: #0B1513;
    text-decoration: none; }

.ek2-cat__icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #EFF5F4;
  color: #034A3F; }
  .ek2-cat__icon svg {
    width: 24px;
    height: 24px; }

.ek2-cat__label {
  font-size: 13px;
  line-height: 1.2;
  font-weight: 600; }

@media screen and (min-width: 768px) {
  .ek2-cats {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 16px; }

  .ek2-cat {
    gap: 10px;
    padding: 20px 4px; }

  .ek2-cat__icon {
    width: 56px;
    height: 56px; }

  .ek2-cat__label {
    font-size: 16px; } }
@media screen and (min-width: 768px) {
  .ek2-chip,
  .ek2-sort,
  .ek2-tools__reset {
    height: 48px; } }
.ek2-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  align-items: stretch;
  padding-top: 12px; }
  .ek2-hero .ek2-hero__card:first-child {
    grid-column: 1 / -1; }

/*
 * Mobil: DRUHÁ A TŘETÍ karta jsou úzké, vejde se do nich míň.
 *
 * Na 390 px mají sloupce jen 171 px. Do té šířky se popisek, cena a tlačítko
 * vedle sebe nevejdou: cena „1 271 Kč" se lámala po jednom slově na tři
 * řádky, jednotková cena se ořezala a tlačítko leželo přes text.
 *
 * Návrh má v těchhle dlaždicích jen fotku, štítek, nadpis, cenu, cenu za
 * jednotku a tlačítko přes celou šířku. POPISEK V NICH NENÍ — proto se
 * skrývá, ne zmenšuje.
 *
 * První karta je přes celou šířku, takže si popisek i cenu s tlačítkem
 * vedle sebe nechává.
 */
@media screen and (max-width: 767px) {
  .ek2-hero__card:not(:first-child) .ek2-hero__text {
    display: none; }
  .ek2-hero__card:not(:first-child) .ek2-hero__foot {
    flex-direction: column;
    align-items: stretch;
    gap: 8px; }
  .ek2-hero__card:not(:first-child) .ek2-hero__price {
    white-space: nowrap; }
  .ek2-hero__card:not(:first-child) .ek2-hero__cta {
    max-width: none; } }
@media screen and (min-width: 768px) {
  .ek2-hero {
    grid-template-columns: 1.35fr 1fr 1fr;
    padding-top: 24px; }
    .ek2-hero .ek2-hero__card:first-child {
      grid-column: auto; } }
.ek2-hero__card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #D7E4E0;
  border-radius: 14px;
  background: #FFFFFF;
  color: #0B1513;
  text-decoration: none; }
  .ek2-hero__card:hover {
    border-color: #B8CFC9;
    box-shadow: 0 1px 2px rgba(3, 74, 63, 0.06), 0 1px 3px rgba(3, 74, 63, 0.06);
    color: #0B1513;
    text-decoration: none; }
  .ek2-hero__card.is-image {
    border: none; }

@media screen and (min-width: 768px) {
  .ek2-hero__card {
    border-radius: 20px; } }
.ek2-hero__img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 14px; }

.ek2-hero__photo {
  position: relative;
  display: block;
  height: 240px;
  background-color: #EFF5F4;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat; }

.ek2-hero__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 6px;
  padding: 12px; }

@media screen and (min-width: 768px) {
  .ek2-hero__body {
    padding: 24px; } }
.ek2-hero__tag {
  display: flex;
  align-items: center;
  align-self: flex-start;
  height: 22px;
  padding: 0 9px;
  border-radius: 999px;
  background: #EFF5F4;
  color: #034A3F;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap; }

.ek2-hero__title {
  font-size: 22px;
  line-height: 1.1;
  letter-spacing: -.02em;
  font-weight: 600;
  color: #034A3F; }

.ek2-hero__badge {
  position: absolute;
  top: 10px;
  right: 10px;
  display: flex;
  align-items: center;
  height: 26px;
  padding: 0 9px;
  border-radius: 999px;
  background: #EA5A25;
  color: #FFFFFF;
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap; }

.ek2-hero__text {
  font-size: 15px;
  line-height: 1.5;
  color: #3D4F4B; }
  .ek2-hero__card.is-dark .ek2-hero__text {
    color: #B7D4CD; }

.ek2-hero__foot {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin-top: auto;
  padding-top: 8px; }

.ek2-hero__prices {
  display: flex;
  flex-direction: column;
  margin-right: auto;
  min-width: 0; }

.ek2-hero__price {
  font-size: 20px;
  font-weight: 600; }

.ek2-hero__unit {
  font-size: 12px;
  color: #3D4F4B; }
  .ek2-hero__card.is-dark .ek2-hero__unit {
    color: #B7D4CD; }

.ek2-hero__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 240px;
  height: 44px;
  padding: 0 16px;
  border-radius: 999px;
  background: #034A3F;
  color: #FFFFFF;
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap; }

.ek2-hero__card:hover .ek2-hero__cta {
  background: #02362E; }

.ek2-skryty {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0; }

.ek2-action--cart {
  padding: 0 20px 0 16px;
  background: #034A3F;
  color: #FFFFFF; }
  .ek2-action--cart:hover {
    background: #1D5D53;
    color: #FFFFFF; }
  .ek2-action--cart .ek2-badge {
    position: static;
    display: grid;
    place-items: center;
    height: 18px;
    min-width: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: #FFFFFF;
    color: #034A3F;
    font-size: 11px;
    font-weight: 600;
    box-shadow: 0 0 0 2px #034A3F; }

.ek2-contact {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 0 1 400px;
  max-width: 400px;
  padding: 24px;
  border-radius: 20px;
  background: #1D5D53;
  color: #D5E6E2; }

.ek2-contact__title {
  font-size: 20px;
  line-height: 1.2;
  letter-spacing: -.01em;
  font-weight: 600;
  color: #FFFFFF; }

.ek2-contact__lines {
  display: flex;
  flex-direction: column;
  gap: 2px; }

.ek2-contact__big {
  display: flex;
  align-items: center;
  min-height: 40px;
  color: #FFFFFF;
  font-size: 22px;
  font-weight: 600;
  text-decoration: none; }
  .ek2-contact__big:hover {
    color: #FFFFFF;
    text-decoration: underline; }

@media screen and (min-width: 768px) {
  .ek2-contact__big {
    min-height: 48px; } }
.ek2-contact__note {
  margin: 0;
  font-size: 15px;
  line-height: 1.5; }
  .ek2-contact__note strong {
    color: #FFFFFF;
    font-weight: 600; }

.ek2-contact__social {
  display: flex;
  gap: 8px; }

.ek2-contact__icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  color: #FFFFFF; }
  .ek2-contact__icon svg {
    width: 20px;
    height: 20px; }
  .ek2-contact__icon:hover {
    background: rgba(255, 255, 255, 0.22);
    color: #FFFFFF; }

@media screen and (min-width: 768px) {
  .ek2-contact__icon {
    width: 48px;
    height: 48px; } }
.ek2-header--checkout {
  background: #FFFFFF;
  border-bottom: 1px solid #D7E4E0; }

.ek2-checkout-head {
  display: flex;
  align-items: center;
  gap: 8px;
  max-width: 1120px;
  height: 64px;
  margin: 0 auto;
  padding: 0 16px; }

@media screen and (min-width: 768px) {
  .ek2-checkout-head {
    padding: 0 48px; } }
.ek2-checkout-head__back,
.ek2-checkout-head__phone {
  display: flex;
  align-items: center;
  gap: 6px;
  height: 48px;
  padding: 0 12px;
  color: #034A3F;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap; }
  .ek2-checkout-head__back svg,
  .ek2-checkout-head__phone svg {
    width: 18px;
    height: 18px;
    flex: none; }
  .ek2-checkout-head__back:hover,
  .ek2-checkout-head__phone:hover {
    color: #1D5D53;
    text-decoration: none; }

.ek2-checkout-head__logo {
  display: flex;
  align-items: center;
  margin: 0 auto; }
  .ek2-checkout-head__logo img {
    display: block;
    height: 26px;
    width: auto; }

@media screen and (max-width: 575px) {
  .ek2-checkout-head__back span,
  .ek2-checkout-head__phone span {
    display: none; } }
.ek2-eu {
  display: block;
  background: #FFFFFF;
  border-top: 1px solid #D7E4E0;
  text-decoration: none; }
  .ek2-eu:hover {
    background: #EFF5F4;
    text-decoration: none; }

.ek2-eu__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 12px 32px;
  max-width: 1280px;
  margin: 0 auto;
  padding: 12px 16px; }

@media screen and (min-width: 768px) {
  .ek2-eu__inner {
    flex-direction: row;
    align-items: center;
    justify-content: space-between; } }
@media screen and (min-width: 768px) {
  .ek2-eu__inner {
    padding: 12px 48px; } }
.ek2-eu__logo {
  display: block;
  height: 40px;
  width: auto; }

.ek2-again {
  background: #EFF5F4;
  border-radius: 14px;
  padding: 16px; }

@media screen and (min-width: 768px) {
  .ek2-again {
    border-radius: 20px;
    padding: 32px; } }
.ek2-again__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px 24px;
  margin-bottom: 16px; }

.ek2-again__title {
  display: flex;
  flex-direction: column;
  gap: 4px; }
  .ek2-again__title .ek2-h2 {
    margin: 0; }

.ek2-again__note {
  font-size: 15px;
  color: #3D4F4B; }

.ek2-again__all {
  height: 48px;
  padding: 0 20px;
  border: none;
  border-radius: 999px;
  background: #034A3F;
  color: #FFFFFF;
  font-family: inherit;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer; }
  .ek2-again__all:hover {
    background: #02362E; }

.ek2-again__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px; }

@media screen and (min-width: 600px) {
  .ek2-again__list {
    grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media screen and (min-width: 1000px) {
  .ek2-again__list {
    grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.ek2-again__item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px;
  background: #FFFFFF;
  border: 1px solid #D7E4E0;
  border-radius: 14px; }

.ek2-again__media {
  display: grid;
  place-items: center;
  flex: none;
  width: 60px;
  height: 60px;
  border-radius: 10px;
  background: #EFF5F4;
  overflow: hidden; }
  .ek2-again__media img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.ek2-again__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0; }

.ek2-again__name {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
  color: #0B1513;
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden; }
  .ek2-again__name:hover {
    color: #034A3F;
    text-decoration: none; }

.ek2-again__unit {
  font-size: 10px;
  color: #869591; }

.ek2-again__price {
  font-size: 16px;
  font-weight: 600;
  color: #0B1513; }

.ek2-again__form {
  margin-left: auto; }
  .ek2-again__form .alertbox {
    display: none; }

.ek2-again__add {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: none;
  border-radius: 50%;
  background: #034A3F;
  color: #FFFFFF;
  cursor: pointer; }
  .ek2-again__add svg {
    width: 20px;
    height: 20px; }
  .ek2-again__add:hover {
    background: #02362E; }

.ek2-section__titles {
  display: flex;
  flex-direction: column;
  gap: 4px; }
  .ek2-section__titles .ek2-h2 {
    margin: 0; }

.ek2-section__sub {
  font-size: 15px;
  color: #3D4F4B; }

.ek2-bundles-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 520px), 1fr));
  gap: 16px; }

.ek2-bcard {
  display: flex;
  background: #FFFFFF;
  border: 1px solid #D7E4E0;
  border-radius: 14px;
  overflow: hidden; }

.ek2-bcard__media {
  position: relative;
  display: grid;
  place-items: center;
  flex: none;
  width: 150px;
  background: #EFF5F4;
  color: #034A3F; }
  .ek2-bcard__media img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.ek2-bcard__flag {
  position: absolute;
  top: 10px;
  left: 10px;
  display: flex;
  align-items: center;
  height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  background: #EA5A25;
  color: #FFFFFF;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap; }

.ek2-bcard__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  padding: 12px; }

@media screen and (min-width: 768px) {
  .ek2-bcard__media {
    width: 200px; }

  .ek2-bcard__body {
    padding: 20px; } }
.ek2-bcard__name {
  font-size: 17px;
  font-weight: 600;
  line-height: 1.3;
  color: #0B1513;
  text-decoration: none; }
  .ek2-bcard__name:hover {
    color: #034A3F;
    text-decoration: none; }

.ek2-bcard__contents {
  font-size: 15px;
  line-height: 1.45;
  color: #3D4F4B;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden; }

.ek2-bcard__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 10px;
  margin-top: auto;
  padding-top: 8px; }

.ek2-bcard__prices {
  display: flex;
  flex-direction: column;
  margin-right: auto;
  min-width: 0; }

.ek2-bcard__price {
  font-size: 20px;
  font-weight: 600;
  color: #0B1513; }

.ek2-bcard__unit {
  font-size: 15px;
  color: #6E817C; }

.ek2-bcard__saving {
  font-size: 13px;
  line-height: 1.4;
  color: #3D4F4B; }
  .ek2-bcard__saving strong {
    color: #C4471A;
    font-weight: 600; }

.ek2-bcard__form {
  flex: none; }

.ek2-bcard__add {
  width: auto;
  max-width: 200px;
  padding: 0 18px; }

/*
 * Mobil: tlačítko POD cenou, ne vedle ní.
 *
 * Pravý sloupec má na 390 px jen 206 px. Cena a tlačítko vedle sebe z něj
 * udělaly dva úzké pruhy - na cenu zbylo 59 px. Tlačítko se zároveň nemá
 * roztahovat přes celou šířku sloupce, zůstává široké jen na svůj text.
 */
@media screen and (max-width: 767px) {
  .ek2-bcard__foot {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px; }

  .ek2-bcard__prices {
    margin-right: 0; } }
.ek2-burger {
  display: grid;
  place-items: center;
  flex: none;
  width: 48px;
  height: 48px;
  margin-left: -8px;
  border: none;
  background: none;
  color: #034A3F;
  cursor: pointer; }
  .ek2-burger svg {
    width: 24px;
    height: 24px; }

@media screen and (min-width: 768px) {
  .ek2-burger {
    display: none; } }
.ek2-drawer {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  background: #FFFFFF;
  overflow-y: auto; }
  .ek2-drawer[hidden] {
    display: none; }

@media screen and (min-width: 768px) {
  .ek2-drawer {
    display: none !important; } }
.ek2-drawer__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: none;
  height: 60px;
  padding: 0 4px 0 16px;
  border-bottom: 1px solid #D7E4E0; }

.ek2-drawer__logo img {
  display: block;
  height: 22px;
  width: auto; }

.ek2-drawer__close {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border: none;
  background: none;
  color: #034A3F;
  cursor: pointer; }
  .ek2-drawer__close svg {
    width: 24px;
    height: 24px; }

.ek2-drawer__search {
  display: flex;
  align-items: center;
  flex: none;
  height: 48px;
  margin: 12px 16px;
  border: 1.5px solid #034A3F;
  border-radius: 999px;
  overflow: hidden;
  background: #FFFFFF; }

.ek2-drawer__nav {
  display: flex;
  flex-direction: column;
  padding: 0 16px; }

.ek2-drawer__row {
  border-bottom: 1px solid #D7E4E0; }

.ek2-drawer__link {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  min-height: 60px;
  padding: 0;
  border: none;
  background: none;
  color: #034A3F;
  font-family: inherit;
  font-size: 18px;
  font-weight: 600;
  text-align: left;
  text-decoration: none;
  cursor: pointer; }
  .ek2-drawer__link:hover {
    color: #034A3F;
    text-decoration: none; }

.ek2-drawer__icon {
  display: grid;
  place-items: center;
  flex: none;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #EFF5F4; }
  .ek2-drawer__icon svg {
    width: 20px;
    height: 20px; }

.ek2-drawer__chev {
  display: grid;
  place-items: center;
  margin-left: auto;
  transition: transform .15s ease; }
  .ek2-drawer__chev svg {
    width: 18px;
    height: 18px; }
  [aria-expanded="true"] .ek2-drawer__chev {
    transform: rotate(180deg); }

.ek2-drawer__sub {
  display: flex;
  flex-direction: column;
  padding: 0 0 10px 54px; }
  .ek2-drawer__sub[hidden] {
    display: none; }
  .ek2-drawer__sub a {
    display: flex;
    align-items: center;
    min-height: 48px;
    color: #0B1513;
    font-size: 16px;
    font-weight: 500;
    text-decoration: none; }

.ek2-drawer__all {
  color: #034A3F !important;
  font-size: 15px !important;
  font-weight: 600 !important; }

.ek2-drawer__foot {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: auto;
  padding: 24px 16px;
  background: #EFF5F4; }
  .ek2-drawer__foot a {
    display: flex;
    align-items: center;
    min-height: 48px;
    color: #034A3F;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none; }

body.ek2-drawer-open {
  overflow: hidden; }

@media screen and (max-width: 767px) {
  .ek2-nav-outer {
    display: none; } }
.ek2-hero__card.is-dark {
  background: #034A3F;
  border-color: transparent;
  color: #FFFFFF; }
  .ek2-hero__card.is-dark .ek2-hero__title {
    color: #FFFFFF; }
  .ek2-hero__card.is-dark .ek2-hero__tag {
    background: rgba(255, 255, 255, 0.14);
    color: #FFFFFF; }
  .ek2-hero__card.is-dark .ek2-hero__cta {
    background: #FFFFFF;
    color: #034A3F; }
  .ek2-hero__card.is-dark:hover {
    border-color: transparent;
    color: #FFFFFF; }
    .ek2-hero__card.is-dark:hover .ek2-hero__cta {
      background: #EFF5F4;
      color: #034A3F; }

.ek2-hero__card.is-plain {
  background: #FFFFFF;
  border-color: #D7E4E0; }

.ek2-hero__card.is-mint {
  background: #EFF5F4;
  border-color: transparent; }
  .ek2-hero__card.is-mint .ek2-hero__tag {
    background: #FFFFFF;
    color: #034A3F; }
  .ek2-hero__card.is-mint:hover {
    border-color: #B8CFC9; }

@media screen and (min-width: 768px) {
  .ek2-h2 {
    font-size: 26px; } }
.ek2-footer__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  padding: 0;
  border: none;
  background: none;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-align: left;
  cursor: default; }

.ek2-footer__sym {
  display: none;
  width: 24px;
  text-align: center;
  font-size: 22px;
  font-weight: 500; }

@media screen and (max-width: 767px) {
  /*
   * Kontakt PATŘÍ NAD rozbalovací menu.
   *
   * Na mobilu se položky patičky skládají pod sebe v pořadí, v jakém jsou
   * v kódu — kontakt je až úplně dole za sekcemi Nákup a Ekoprodukt.
   * Telefon a e-mail jsou přitom hlavní cesty, jak se ozvat, a zákazník
   * je musí mít po ruce dřív, než začne rozbalovat menu.
   *
   * Řeší se jen pořadím ve flexu, ne přesunem v šabloně: desktop má
   * značku, sloupce a kontakt VEDLE sebe a ten musí zůstat, jak je.
   * Stačí odsunout sloupce za zbytek — značka i kontakt zůstávají na
   * výchozím `order: 0` a seřadí se podle kódu.
   *
   * Návrh sám přeskládání nemá (patička v exportu je prostě zalamovaná
   * řada), tohle je vědomá úprava podle zadání od Jakuba.
   */
  .ek2-footer__cols {
    padding-top: 30px; }

  .ek2-footer__links {
    order: 1;
    display: block;
    border-top: 1px solid rgba(255, 255, 255, 0.14); }

  .ek2-footer__col {
    border-bottom: 1px solid rgba(255, 255, 255, 0.14); }

  .ek2-footer__title {
    margin: 0; }

  .ek2-footer__toggle {
    min-height: 56px;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: normal;
    color: #FFFFFF;
    cursor: pointer; }

  .ek2-footer__sym {
    display: block; }

  .ek2-footer__list[hidden] {
    display: none; }

  .ek2-footer__list {
    padding-bottom: 8px; }
    .ek2-footer__list li {
      margin-bottom: 0; }
    .ek2-footer__list a {
      min-height: 48px;
      color: #D5E6E2; }

  .ek2-footer__badge {
    height: 30px;
    padding: 0 12px; } }
@media screen and (min-width: 768px) {
  .ek2-mega__link {
    height: 48px; } }
.ek2-rail {
  display: grid;
  grid-auto-flow: column;
  gap: 16px;
  overflow-x: auto;
  margin: 0 -16px;
  padding: 0 16px 4px;
  scrollbar-width: none;
  grid-template-columns: none; }
  .ek2-rail::-webkit-scrollbar {
    display: none; }

.ek2-rail--4 {
  grid-auto-columns: max(260px, calc((100% - 48px) / 4)); }

.ek2-rail--5 {
  grid-auto-columns: max(160px, calc((100% - 64px) / 5)); }

@media screen and (min-width: 768px) {
  .ek2-rail {
    margin: 0 -48px;
    padding: 0 48px 4px; } }
.ek2-fve {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 880px;
  margin: 0 auto;
  padding: 12px 16px 0; }

@media screen and (min-width: 768px) {
  .ek2-fve {
    gap: 28px;
    padding: 20px 48px 0; } }
.ek2-fve__head {
  display: flex;
  flex-direction: column;
  gap: 10px; }

.ek2-fve__eyebrow {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #6E817C; }

.ek2 .ek2-fve__title {
  margin: 0;
  font-size: 26px;
  line-height: 1.12;
  letter-spacing: -.02em;
  font-weight: 600;
  color: #034A3F; }

@media screen and (min-width: 768px) {
  .ek2 .ek2-fve__title {
    font-size: 38px; } }
.ek2-fve__lead {
  margin: 0;
  font-size: 17px;
  line-height: 1.4;
  color: #0B1513; }

@media screen and (min-width: 768px) {
  .ek2-fve__lead {
    font-size: 20px; } }
.ek2-fve__text {
  margin: 0;
  max-width: 68ch;
  font-size: 16px;
  line-height: 1.6;
  color: #3D4F4B; }

.ek2-fve__loga {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px 40px;
  padding: 16px;
  border: 1px solid #D7E4E0;
  border-radius: 14px; }
  .ek2-fve__loga img {
    display: block;
    height: 56px;
    width: auto; }

@media screen and (min-width: 768px) {
  .ek2-fve__loga {
    padding: 24px; } }
.ek2-fve__odkaz {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 48px;
  font-size: 15px;
  font-weight: 600;
  color: #034A3F; }

.ek2-doprava {
  display: flex;
  flex-direction: column;
  gap: 32px;
  max-width: 976px;
  margin: 0 auto;
  padding: 20px 16px 0; }

@media screen and (min-width: 768px) {
  .ek2-doprava {
    gap: 56px;
    padding: 40px 48px 0; } }
.ek2-doprava__head {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 720px; }

.ek2-doprava__title {
  margin: 0;
  font-size: 26px;
  line-height: 1.15;
  letter-spacing: -.02em;
  font-weight: 600;
  color: #034A3F; }

@media screen and (min-width: 768px) {
  .ek2-doprava__title {
    font-size: 34px; } }
.ek2-doprava__lead {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: #3D4F4B; }

@media screen and (min-width: 768px) {
  .ek2-doprava__lead {
    font-size: 17px; } }
.ek2-doprava__seznam {
  display: flex;
  flex-direction: column;
  gap: 10px; }

.ek2-dopravce {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px;
  border: 1px solid #D7E4E0;
  border-radius: 14px;
  background: #FFFFFF; }

.ek2-dopravce__ikona {
  display: grid;
  place-items: center;
  flex: none;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #FFFFFF;
  box-shadow: inset 0 0 0 1px #D7E4E0;
  color: #034A3F; }
  .ek2-dopravce__ikona svg {
    width: 22px;
    height: 22px; }

.ek2-dopravce__text {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px; }

.ek2-dopravce__radek {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap; }

.ek2-dopravce__nazev {
  font-size: 16px;
  font-weight: 600; }

.ek2-dopravce__sklo {
  display: flex;
  align-items: center;
  height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  background: #034A3F;
  color: #FFFFFF;
  font-size: 11px;
  font-weight: 600; }

.ek2-dopravce__popis {
  font-size: 13.5px;
  line-height: 1.45;
  color: #3D4F4B; }

@media screen and (min-width: 768px) {
  .ek2-dopravce__popis {
    font-size: 15px; } }
.ek2-dopravce__cena {
  font-size: 17px;
  font-weight: 600;
  color: #0B1513;
  white-space: nowrap;
  text-align: right; }

@media screen and (min-width: 768px) {
  .ek2-dopravce__cena {
    font-size: 20px; } }
.ek2-sklo {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 20px;
  border-radius: 14px;
  background: #034A3F;
  color: #FFFFFF; }

@media screen and (min-width: 768px) {
  .ek2-sklo {
    padding: 48px;
    border-radius: 20px; } }
.ek2-sklo__head {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 640px; }

.ek2-sklo__title {
  margin: 0;
  font-size: 21px;
  line-height: 1.2;
  letter-spacing: -.015em;
  font-weight: 600;
  color: #FFFFFF; }

@media screen and (min-width: 768px) {
  .ek2-sklo__title {
    font-size: 26px; } }
.ek2-sklo__text {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: #D5E6E2; }

.ek2-sklo__body {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px; }

@media screen and (min-width: 768px) {
  .ek2-sklo__body {
    grid-template-columns: repeat(3, 1fr); } }
.ek2-sklo__box {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px;
  border-radius: 14px;
  background: #1D5D53; }

.ek2-sklo__box-nazev {
  font-size: 15px;
  font-weight: 600; }

.ek2-sklo__box-text {
  font-size: 13.5px;
  line-height: 1.5;
  color: #D5E6E2; }

@media screen and (min-width: 768px) {
  .ek2-sklo__box-text {
    font-size: 15px; } }
.ek2-platba {
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-width: 720px; }

.ek2-platba__title {
  margin: 0;
  font-size: 21px;
  line-height: 1.2;
  letter-spacing: -.015em;
  font-weight: 600;
  color: #034A3F; }

@media screen and (min-width: 768px) {
  .ek2-platba__title {
    font-size: 26px; } }
.ek2-platba__seznam {
  display: flex;
  flex-direction: column;
  border-top: 1px solid #D7E4E0; }

.ek2-platba__radek {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 0;
  border-bottom: 1px solid #D7E4E0;
  font-size: 15px; }

.ek2-platba__nazev {
  font-weight: 600; }

.ek2-platba__cena {
  color: #3D4F4B; }

.ek2-footer__ven {
  display: inline-block;
  width: 13px;
  height: 13px;
  margin-left: 4px;
  vertical-align: -1px; }

.ek2-ucet {
  max-width: 1280px;
  margin: 0 auto;
  padding: 12px 16px 0; }

@media screen and (min-width: 768px) {
  .ek2-ucet {
    padding: 20px 48px 0; } }
.ek2-ucet__pozdrav {
  margin: 0 0 24px;
  font-size: 28px;
  line-height: 1.12;
  letter-spacing: -.02em;
  font-weight: 600;
  color: #034A3F; }

@media screen and (min-width: 768px) {
  .ek2-ucet__pozdrav {
    font-size: 34px; } }
.ek2-ucet__telo {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  align-items: start; }

@media screen and (min-width: 900px) {
  .ek2-ucet__telo {
    grid-template-columns: minmax(220px, 260px) 1fr;
    gap: 40px; } }
.ek2-ucet__menu {
  display: flex;
  flex-direction: row;
  gap: 2px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; }

@media screen and (min-width: 900px) {
  .ek2-ucet__menu {
    flex-direction: column;
    overflow: visible;
    position: sticky;
    top: 16px; } }
.ek2-ucet__polozka {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 0 14px;
  border-radius: 10px;
  color: #034A3F;
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap;
  text-decoration: none; }
  .ek2-ucet__polozka:hover {
    background: #EFF5F4;
    color: #034A3F;
    text-decoration: none; }
  .ek2-ucet__polozka.is-on {
    background: #EFF5F4;
    color: #034A3F; }

.ek2-ucet__polozka--odhlasit {
  color: #6E817C;
  font-weight: 500; }

.ek2-ucet__obsah {
  display: flex;
  flex-direction: column;
  gap: 40px;
  min-width: 0; }

.ek2-ucet__sekce {
  display: flex;
  flex-direction: column;
  gap: 14px;
  scroll-margin-top: 90px; }

.ek2-ucet__nadpis {
  margin: 0;
  font-size: 21px;
  line-height: 1.2;
  letter-spacing: -.015em;
  font-weight: 600;
  color: #034A3F; }

@media screen and (min-width: 768px) {
  .ek2-ucet__nadpis {
    font-size: 26px; } }
.ek2-ucet__popis {
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: #3D4F4B; }

.ek2-hlidam {
  display: flex;
  flex-direction: column;
  border-top: 1px solid #D7E4E0; }

.ek2-hlidam__radek {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  padding: 14px 0;
  border-bottom: 1px solid #D7E4E0; }

.ek2-hlidam__text {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px; }

.ek2-hlidam__nazev {
  font-size: 16px;
  font-weight: 600; }
  .ek2-hlidam__nazev a {
    color: #0B1513;
    text-decoration: none; }
  .ek2-hlidam__nazev a:hover {
    color: #034A3F;
    text-decoration: underline; }

.ek2-hlidam__stav {
  font-size: 14px;
  color: #6E817C; }

.ek2-objednavky {
  display: flex;
  flex-direction: column;
  gap: 12px; }

.ek2-objednavka {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 16px;
  border: 1px solid #D7E4E0;
  border-radius: 14px;
  background: #FFFFFF; }

@media screen and (min-width: 768px) {
  .ek2-objednavka {
    padding: 20px; } }
.ek2-objednavka__hlava {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 6px 12px; }

.ek2-objednavka__cislo {
  font-size: 16px;
  font-weight: 600;
  color: #0B1513; }

.ek2-objednavka__datum,
.ek2-objednavka__stav {
  font-size: 14px; }

.ek2-objednavka__datum {
  color: #6E817C; }

.ek2-objednavka__stav {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  height: 28px;
  padding: 0 12px;
  border-radius: 999px;
  background: #EFF5F4;
  color: #034A3F;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap; }

.ek2-objednavka__cena {
  margin-left: auto;
  font-size: 18px;
  font-weight: 600;
  color: #0B1513;
  white-space: nowrap; }

.ek2-objednavka__polozky {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: #3D4F4B; }

.ek2-objednavka__akce {
  display: flex;
  gap: 10px;
  flex-wrap: wrap; }

.ek2-objednavka__qr {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  flex-wrap: wrap;
  padding: 12px 0 0;
  margin: 12px 0 0;
  border-top: 1px solid #D7E4E0; }

.ek2-objednavka__qr-udaje {
  flex: 1 1 220px;
  min-width: 0; }

.ek2-objednavka__qr-vs {
  margin: 6px 0 0;
  font-size: 14px;
  line-height: 1.5;
  color: #3D4F4B; }

.ek2-adresy {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px; }

@media screen and (min-width: 768px) {
  .ek2-adresy {
    grid-template-columns: repeat(2, 1fr); } }
.ek2-adresa {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 16px;
  border: 1px solid #D7E4E0;
  border-radius: 14px; }

.ek2-adresa__jmeno {
  font-size: 15px;
  font-weight: 600; }

.ek2-adresa__text {
  font-size: 14px;
  color: #3D4F4B; }

.ek2-adresa__upravit {
  margin-top: 6px;
  font-size: 14px;
  font-weight: 600;
  color: #034A3F; }

.ek2-ubtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  height: 44px;
  padding: 0 20px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap; }

.ek2-ubtn--plny {
  background: #034A3F;
  color: #FFFFFF; }
  .ek2-ubtn--plny:hover {
    background: #1D5D53;
    color: #FFFFFF;
    text-decoration: none; }

.ek2-ubtn--obrys {
  border: 1.5px solid #B8CFC9;
  background: #FFFFFF;
  color: #034A3F; }
  .ek2-ubtn--obrys:hover {
    border-color: #034A3F;
    color: #034A3F;
    text-decoration: none; }

.ek2-hlaska {
  margin-bottom: 20px;
  padding: 14px 16px;
  border-radius: 14px;
  font-size: 15px;
  line-height: 1.5; }
  .ek2-hlaska a {
    font-weight: 600; }

.ek2-hlaska--success {
  background: #EFF5F4;
  color: #034A3F; }

.ek2-hlaska--danger,
.ek2-hlaska--warning {
  background: #FDF1EC;
  color: #8A3412; }
  .ek2-hlaska--danger a,
  .ek2-hlaska--warning a {
    color: #8A3412; }

.ek2 #login .white-block,
.ek2 #checkout-login-block .white-block {
  max-width: 520px;
  margin: 0 auto;
  padding: 24px;
  border: 1px solid #D7E4E0;
  border-radius: 20px;
  background: #FFFFFF;
  box-shadow: none; }

@media screen and (min-width: 768px) {
  .ek2 #login .white-block {
    padding: 40px; } }
.ek2 #login h1 {
  font-size: 26px;
  line-height: 1.15;
  letter-spacing: -.02em;
  font-weight: 600;
  color: #034A3F; }

.ek2 #login .white-block {
  text-align: left; }

.ek2 #login .text {
  width: auto;
  margin-left: 0;
  margin-right: 0;
  font-size: 16px;
  line-height: 1.55;
  color: #3D4F4B; }

.ek2 #login .ek2-prihlas__form {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin: 20px 0 0;
  padding: 0;
  border-top: none;
  border-bottom: none; }

.ek2-pole {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0; }

.ek2-pole__popis {
  font-size: 15px;
  font-weight: 600;
  color: #3D4F4B; }

.ek2 #login .ek2-pole .form-control {
  height: 52px;
  padding: 0 14px;
  border: 1.5px solid #B8CFC9;
  border-radius: 10px;
  background: #FFFFFF;
  font-family: inherit;
  font-size: 16px;
  font-weight: 500;
  color: #0B1513; }
  .ek2 #login .ek2-pole .form-control::placeholder {
    color: #869591; }
  .ek2 #login .ek2-pole .form-control:focus {
    outline: none;
    border-color: #034A3F;
    box-shadow: 0 0 0 3px rgba(3, 74, 63, 0.12); }

.ek2 #login .ek2-prihlas__btn {
  width: 100%;
  height: 52px;
  border: none;
  border-radius: 999px;
  background: #034A3F;
  color: #FFFFFF;
  font-family: inherit;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer; }
  .ek2 #login .ek2-prihlas__btn:hover {
    background: #1D5D53;
    color: #FFFFFF; }

.ek2-prihlas__zapomnel {
  font-size: 15px;
  color: #3D4F4B;
  text-decoration: underline; }
  .ek2-prihlas__zapomnel:hover {
    color: #034A3F; }

.ek2-prihlas__jine {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 24px; }

.ek2-prihlas__nebo {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  color: #6E817C; }
  .ek2-prihlas__nebo:before, .ek2-prihlas__nebo:after {
    content: "";
    flex: 1;
    height: 1px;
    background: #D7E4E0; }

.ek2-prihlas__ucet {
  margin-top: 24px;
  padding: 16px;
  border-radius: 14px;
  background: #EFF5F4;
  font-size: 15px;
  line-height: 1.5;
  color: #3D4F4B; }
  .ek2-prihlas__ucet b {
    font-weight: 600;
    color: #034A3F; }
  .ek2-prihlas__ucet a {
    display: inline-block;
    margin-top: 6px;
    color: #034A3F;
    font-weight: 600;
    text-decoration: underline; }

/**
 * Bootstrapovské barvy tlačítek v celém novém vzhledu.
 *
 * V CANVASU NENÍ JEDINÉ ČERVENÉ, MODRÉ ANI ŽLUTÉ TLAČÍTKO. Zelená je pro
 * hlavní akci, obrys pro druhořadou; oranžová patří odznakům slev, ne
 * tlačítkům.
 *
 * Řeší se to tady jedním pravidlem, ne u každé šablony zvlášť. Nejdřív jsem
 * opravil jen přihlašovací stránku a ukázalo se, že stejný blok je i uprostřed
 * POKLADNY - uprostřed nákupu tak zůstala červená dál. Takových míst je
 * nejmíň sedm: recenze, úprava adresy, košík, rekapitulace, odstoupení od
 * smlouvy, rychlé přihlášení a dotazník.
 *
 * Starý vzhled zůstává nedotčený - pravidla jsou pod `.ek2`.
 */
.ek2 .btn-primary,
.ek2 .btn-success,
.ek2 .btn-info {
  border-color: #034A3F;
  background: #034A3F;
  color: #FFFFFF; }
  .ek2 .btn-primary:hover, .ek2 .btn-primary:focus,
  .ek2 .btn-success:hover,
  .ek2 .btn-success:focus,
  .ek2 .btn-info:hover,
  .ek2 .btn-info:focus {
    border-color: #1D5D53;
    background: #1D5D53;
    color: #FFFFFF; }

.ek2 .btn-danger,
.ek2 .btn-warning,
.ek2 .btn-seznam {
  border: 1.5px solid #B8CFC9;
  background: #FFFFFF;
  color: #0B1513;
  font-weight: 600; }
  .ek2 .btn-danger:hover, .ek2 .btn-danger:focus,
  .ek2 .btn-warning:hover,
  .ek2 .btn-warning:focus,
  .ek2 .btn-seznam:hover,
  .ek2 .btn-seznam:focus {
    border-color: #034A3F;
    background: #FFFFFF;
    color: #034A3F; }

.ek2 #login .title-small {
  text-transform: none;
  letter-spacing: 0;
  font-size: 17px;
  color: #034A3F; }

.ek2-ctyri {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 1280px;
  margin: 0 auto;
  padding: 12px 16px 0; }

@media screen and (min-width: 768px) {
  .ek2-ctyri {
    gap: 28px;
    padding: 20px 48px 0; } }
.ek2-ctyri__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
  text-align: center; }

.ek2-ctyri__eyebrow {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #6E817C; }

.ek2 .ek2-ctyri__title {
  margin: 0;
  font-size: 26px;
  line-height: 1.12;
  letter-spacing: -.02em;
  font-weight: 600;
  color: #034A3F; }

@media screen and (min-width: 768px) {
  .ek2 .ek2-ctyri__title {
    font-size: 38px; } }
@media screen and (min-width: 1200px) {
  .ek2 .ek2-ctyri__title {
    font-size: 52px; } }
.ek2-ctyri__text {
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
  color: #3D4F4B; }

.ek2-ctyri__hledani {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  max-width: 560px;
  margin-top: 8px; }

.ek2-ctyri__pole {
  flex: 1;
  min-width: 220px;
  height: 52px;
  padding: 0 16px;
  border: 1.5px solid #034A3F;
  border-radius: 999px;
  background: #FFFFFF;
  font-family: inherit;
  font-size: 15px;
  color: #0B1513; }
  .ek2-ctyri__pole::placeholder {
    color: #869591; }
  .ek2-ctyri__pole:focus {
    outline: none;
    border-color: #034A3F;
    box-shadow: 0 0 0 3px rgba(3, 74, 63, 0.12); }

.ek2-ctyri__hledani .ek2-ubtn {
  height: 48px; }

.ek2-ctyri__domu {
  margin-top: 4px;
  font-size: 15px;
  font-weight: 600;
  color: #034A3F; }

.ek2-ctyri__zbozi {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 12px; }

/**
 * Čtyři nejprodávanější mají vyplnit celou šířku.
 *
 * Sdílená mřížka výpisu dává na 1280 px pět sloupců, takže čtyři karty
 * nechaly vpravo prázdné místo a blok vypadal nedokreslený.
 *
 * Návrh (404.dc.html) má
 * `repeat(auto-fill, minmax(max(150px, 20cqw), 1fr))`, což na téhle šířce
 * vychází právě na čtyři sloupce. `cqw` tu nahrazuje procento z obsahu —
 * web nikde nezavádí kontejner, takže by jednotka nefungovala.
 */
.ek2 .ek2-ctyri__zbozi .eshop__list-products {
  grid-template-columns: repeat(auto-fill, minmax(236px, 1fr)); }

@media screen and (max-width: 767px) {
  .ek2 .ek2-ctyri__zbozi .eshop__list-products {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); } }
.ek2-emaily {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px;
  border: 1px solid #D7E4E0;
  border-radius: 14px; }

.ek2-emaily__text {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px; }

.ek2-emaily__nazev {
  font-size: 16px;
  font-weight: 600; }

.ek2-emaily__stav {
  font-size: 14px;
  color: #6E817C; }

.ek2-prepinac {
  position: relative;
  flex: none;
  width: 48px;
  height: 28px;
  border-radius: 999px;
  background: #B8CFC9; }
  .ek2-prepinac::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #FFFFFF; }
  .ek2-prepinac.is-on {
    background: #034A3F; }
    .ek2-prepinac.is-on::after {
      left: auto;
      right: 3px; }

.ek2 .first-section .title-small {
  text-transform: none;
  letter-spacing: 0; }

.ek2-nav__listek {
  width: 15px;
  height: 15px;
  margin-right: 5px;
  vertical-align: -2px; }

.ek2-lista {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 40;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
  border-top: 1px solid #D7E4E0;
  background: #FFFFFF;
  box-shadow: 0 -6px 20px rgba(3, 74, 63, 0.08); }

@media screen and (min-width: 768px) {
  .ek2-lista {
    display: none; } }
.ek2-lista__text {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column; }

.ek2-lista__balen {
  font-size: 12.5px;
  color: #6E817C;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis; }

.ek2-lista__cena {
  font-size: 17px;
  font-weight: 600;
  color: #0B1513;
  white-space: nowrap; }

.ek2-lista__form {
  flex: none;
  margin: 0; }

.ek2-lista__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding: 0 20px;
  border: 0;
  border-radius: 999px;
  background: #034A3F;
  color: #FFFFFF;
  font-family: inherit;
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
  text-decoration: none; }
  .ek2-lista__btn:hover {
    background: #1D5D53;
    color: #FFFFFF; }
  .ek2-lista__btn.je-hlidame {
    background: #034A3F;
    color: #FFFFFF;
    cursor: default; }
    .ek2-lista__btn.je-hlidame:hover {
      background: #034A3F; }

.ek2-lista__jednotka {
  display: block;
  font-size: 12px;
  font-weight: 400;
  color: #6E817C; }

.ek2-detail__sklad {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  font-size: 15px;
  line-height: 1.5;
  font-weight: 600; }
  .ek2-detail__sklad.je-skladem {
    color: #1B7A12; }
  .ek2-detail__sklad.je-nemame {
    color: #3D4F4B; }

.ek2-detail__tecka {
  width: 8px;
  height: 8px;
  flex: none;
  border-radius: 50%;
  background: currentColor; }
  .je-nemame .ek2-detail__tecka {
    background: #B8CFC9; }
  .je-skladem .ek2-detail__tecka {
    background: #2AA21D; }

@media screen and (max-width: 767px) {
  body.ek2-ma-listu {
    padding-bottom: 70px; }

  body.ek2-ma-listu:has(.ek2-preview) {
    padding-bottom: 104px; }

  .ek2-preview ~ .ek2-lista,
  body:has(.ek2-preview) .ek2-lista {
    bottom: 34px; } }
.ek2-bublina {
  position: fixed;
  z-index: 60;
  display: flex;
  align-items: center;
  gap: 10px;
  width: 280px;
  max-width: calc(100vw - 32px);
  padding: 12px 14px;
  border: 1px solid #D7E4E0;
  border-radius: 14px;
  background: #FFFFFF;
  box-shadow: 0 10px 30px rgba(3, 74, 63, 0.16);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .28s ease, transform .28s ease; }
  .ek2-bublina.is-on {
    opacity: 1;
    transform: translateY(0); }

@media screen and (max-width: 767px) {
  .ek2-bublina {
    left: 16px;
    right: 16px;
    bottom: 82px;
    width: auto; }

  body:has(.ek2-preview) .ek2-bublina {
    bottom: 116px; } }
@media screen and (min-width: 768px) {
  .ek2-bublina {
    top: 92px;
    right: 24px;
    bottom: auto; } }
.ek2-bublina__fajfka {
  display: grid;
  place-items: center;
  flex: none;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #034A3F;
  color: #FFFFFF; }
  .ek2-bublina__fajfka svg {
    width: 16px;
    height: 16px; }

.ek2-bublina__text {
  flex: 1;
  min-width: 0;
  font-size: 14px;
  font-weight: 600;
  color: #0B1513; }

@media screen and (min-width: 768px) {
  .ek2-bublina__text {
    font-size: 15px; } }
.ek2-bublina__odkaz {
  flex: none;
  font-size: 13px;
  font-weight: 600;
  color: #034A3F;
  white-space: nowrap; }

@media screen and (min-width: 768px) {
  .ek2-bublina__odkaz {
    font-size: 15px; } }
.ek2-empty__text {
  max-width: 44ch;
  font-size: 17px;
  line-height: 1.5;
  color: #0B1513; }

.ek2-empty .ek2-btn--green {
  height: 52px;
  padding: 0 32px; }

.ek2 .first-section > .container,
.ek2 .first-section > .container-md {
  max-width: 1280px;
  padding-left: 48px;
  padding-right: 48px; }

@media screen and (max-width: 767px) {
  .ek2 .first-section > .container,
  .ek2 .first-section > .container-md {
    padding-left: 16px;
    padding-right: 16px; } }
.ek2.page-section-checkout_delivery .first-section > .container,
.ek2.page-section-checkout_delivery .first-section > .container-md,
.ek2.page-section-checkout_address .first-section > .container,
.ek2.page-section-checkout_address .first-section > .container-md,
.ek2.page-section-checkout_summary .first-section > .container,
.ek2.page-section-checkout_summary .first-section > .container-md {
  max-width: 1120px; }

.ek2-poukazy {
  display: flex;
  flex-direction: column;
  gap: 8px; }

.ek2-poukazy__radek {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  padding: 12px;
  border: 1px solid #D7E4E0;
  border-radius: 14px;
  background: #FFFFFF; }

.ek2-poukazy__kod {
  flex: none;
  padding: 8px 14px;
  border: 1.5px dashed #034A3F;
  border-radius: 10px;
  background: #EFF5F4;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: .08em;
  font-variant-numeric: tabular-nums;
  color: #034A3F; }

.ek2-poukazy__text {
  display: flex;
  flex-direction: column;
  font-size: 15px;
  line-height: 1.4; }

.ek2-poukazy__do {
  color: #6E817C; }

@media screen and (max-width: 767px) {
  .ek2 .ek2-detail__media {
    height: auto;
    background: none;
    border-radius: 0;
    overflow: visible;
    display: block; }

  .ek2 #product-gallery-main {
    margin: 0 -16px;
    height: 280px;
    background: #EFF5F4;
    position: relative; }

  .ek2 #product-gallery-main .splide__track,
  .ek2 #product-gallery-main .splide__list,
  .ek2 #product-gallery-main .splide__slide {
    height: 100%; }

  .ek2 #product-gallery-main .splide__slide img {
    width: 100%;
    height: 100%;
    object-fit: contain; }

  .ek2 #product-gallery-thumbs {
    display: none; }

  .ek2 #product-gallery-main .splide__pagination {
    position: absolute;
    bottom: 14px;
    left: 0;
    right: 0;
    z-index: 2;
    display: flex;
    justify-content: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none; }

  .ek2 #product-gallery-main .splide__pagination__page {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #B8CFC9;
    opacity: 1;
    transform: none; }
    .ek2 #product-gallery-main .splide__pagination__page.is-active {
      width: 20px;
      border-radius: 8px;
      background: #034A3F; } }
@media screen and (min-width: 768px) {
  .ek2 #product-gallery-main .splide__pagination {
    display: none; } }
.ek2-detail__lede img,
.ek2-detail__lede video,
.ek2-detail__lede iframe,
.ek2-acc__body img,
.ek2-acc__body video,
.ek2-acc__body iframe {
  max-width: 100%;
  height: auto; }
.ek2-detail__lede table,
.ek2-acc__body table {
  max-width: 100%;
  display: block;
  overflow-x: auto; }

/*
 * Nákupní řádek na úzkém okně: počítadlo VEDLE tlačítka.
 *
 * Dřív šly pod sebe. Důvod byl skutečný — počítadlo stojí na bootstrapím
 * `.form-control`, které si bere 300 px, takže se tlačítko vedle něj
 * nevešlo a přetékalo o 27 px za okraj.
 *
 * Řeší se zúžením počítadla, ne zalomením: 132 px stačí na „−", číslo
 * a „+" a zbytek řádku zůstane tlačítku. Vnitřní políčko musí dostat
 * `width: auto`, jinak si těch 300 px vezme zpátky.
 */
@media screen and (max-width: 575px) {
  .ek2-detail__row {
    flex-wrap: nowrap; }

  .ek2-detail__row .ek2-qty {
    flex: 0 0 132px;
    width: 132px;
    justify-content: space-between; }

  .ek2-detail__row .ek2-qty .form-control {
    width: auto;
    min-width: 0;
    flex: 1;
    padding-left: 0;
    padding-right: 0; }

  .ek2-detail__row .ek2-btn {
    flex: 1 1 auto;
    min-width: 0; } }
.ek2-lista__btn.je-pridano {
  background: #034A3F;
  cursor: default; }
  .ek2-lista__btn.je-pridano:hover {
    background: #034A3F; }

.ek2 .rating__stars {
  color: #B8CFC9; }
.ek2 .rating__stars .rating__fill {
  color: #034A3F; }
.ek2 .rating-input__star {
  color: #B8CFC9; }
.ek2 .rating-input__radio:checked + .rating-input__star,
.ek2 .rating-input__radio:checked + .rating-input__star ~ .rating-input__star {
  color: #034A3F; }
.ek2 .rating-input:hover .rating-input__star {
  color: #B8CFC9; }
.ek2 .rating-input:hover .rating-input__star:hover,
.ek2 .rating-input:hover .rating-input__star:hover ~ .rating-input__star {
  color: #034A3F; }

.ek2-tipy__hlava {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 16px; }

.ek2-tipy__nadnadpis {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #6E817C; }

.ek2-tipy__mrizka {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px; }

@media screen and (min-width: 768px) {
  .ek2-tipy__mrizka {
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
    gap: 16px; } }
.ek2-tipy__karta {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px;
  background: #EFF5F4;
  border-radius: 14px; }

@media screen and (min-width: 768px) {
  .ek2-tipy__karta {
    padding: 24px; } }
.ek2-tipy__ikona {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #fff;
  color: #034A3F;
  display: grid;
  place-items: center; }

.ek2-tipy__nadpis-karty {
  font-size: 16px;
  font-weight: 600;
  color: #0B1513; }

.ek2-tipy__text {
  font-size: 15px;
  line-height: 1.55;
  color: #3D4F4B; }

.ek2 .stock-watchdog__pozn {
  display: block;
  margin-top: 8px;
  font-size: 15px;
  line-height: 1.5;
  color: #6E817C; }

@media screen and (max-width: 480px) {
  .ek2 .stock-watchdog__pozn {
    font-size: 12.5px; } }
.ek2-rec-zadne {
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: #3D4F4B; }

@media screen and (min-width: 768px) {
  .ek2-rec-zadne {
    font-size: 17px; } }
.ek2-recenze-dik {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px; }

.ek2-recenze-dik__fajfka {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #EFF5F4;
  color: #034A3F;
  display: grid;
  place-items: center; }

.ek2-recenze-dik__nadpis {
  font-size: 20px;
  font-weight: 600;
  color: #034A3F; }

.ek2-recenze-dik__text {
  font-size: 15px;
  line-height: 1.55;
  color: #3D4F4B; }

.ek2-rec-souhrn {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px 48px;
  padding: 16px;
  border: 1px solid #D7E4E0;
  border-radius: 14px; }

@media screen and (min-width: 768px) {
  .ek2-rec-souhrn {
    padding: 24px; } }
.ek2-rec-souhrn__cele {
  display: flex;
  flex-direction: column;
  gap: 6px; }

.ek2-rec-souhrn__radek {
  display: flex;
  align-items: baseline;
  gap: 8px; }

.ek2-rec-souhrn__cislo {
  font-size: 40px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: -.025em;
  color: #034A3F; }

@media screen and (min-width: 768px) {
  .ek2-rec-souhrn__cislo {
    font-size: 52px; } }
.ek2-rec-souhrn__z {
  font-size: 15px;
  color: #6E817C; }

.ek2-rec-souhrn__pocet {
  font-size: 15px;
  color: #3D4F4B; }

.ek2-rec-souhrn .rating {
  font-size: 20px;
  gap: 2px; }

.ek2-rec-souhrn__pruhy {
  flex: 1 1 240px;
  display: flex;
  flex-direction: column;
  gap: 6px; }

.ek2-rec-pruh {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  color: #3D4F4B;
  font-variant-numeric: tabular-nums; }

.ek2-rec-pruh__znamka {
  width: 12px;
  text-align: right; }

.ek2-rec-pruh__hvezda {
  font-size: 12px;
  line-height: 1;
  color: #034A3F; }

.ek2-rec-pruh__draha {
  flex: 1;
  height: 6px;
  border-radius: 6px;
  background: #D7E4E0;
  overflow: hidden; }

.ek2-rec-pruh__vypln {
  display: block;
  height: 100%;
  border-radius: 6px;
  background: #034A3F; }

.ek2-rec-pruh__pocet {
  min-width: 16px;
  text-align: right;
  color: #6E817C; }

@media screen and (max-width: 480px) {
  .ek2-rec-pruh {
    font-size: 13px; }

  .ek2-rec-souhrn__pocet {
    font-size: 13.5px; } }
.ek2 .review {
  padding: 20px 0; }

.ek2 .review__author {
  font-size: 15px; }

.ek2 .review__date {
  font-size: 15px;
  color: #6E817C; }

.ek2 .review__overeno {
  height: 22px;
  padding: 0 8px;
  background: #EFF5F4;
  color: #034A3F; }

@media screen and (max-width: 480px) {
  .ek2 .review__date {
    font-size: 13px; } }
.ek2-recenze-form {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 16px;
  border: 1px solid #D7E4E0;
  border-radius: 20px;
  background: #fff; }

@media screen and (min-width: 768px) {
  .ek2-recenze-form {
    padding: 32px; } }
.ek2-recenze-form__nadpis {
  font-size: 20px;
  font-weight: 600;
  color: #034A3F; }

.ek2-recenze-form__hvezdy {
  display: flex;
  flex-direction: column;
  gap: 6px; }

.ek2-recenze-form__popis,
.ek2-recenze-form .ek2-pole label {
  font-size: 15px;
  font-weight: 600;
  color: #3D4F4B; }

.ek2-recenze-form .ek2-pole {
  display: flex;
  flex-direction: column;
  gap: 6px; }

.ek2-recenze-form .ek2-pole--uzke {
  max-width: 360px; }

.ek2-recenze-form input[type="text"],
.ek2-recenze-form textarea {
  border: 1.5px solid #D7E4E0;
  border-radius: 10px;
  font-size: 16px;
  font-weight: 500;
  color: #0B1513;
  background: #fff; }
  .ek2-recenze-form input[type="text"]::placeholder,
  .ek2-recenze-form textarea::placeholder {
    color: #6E817C; }
  .ek2-recenze-form input[type="text"]:focus,
  .ek2-recenze-form textarea:focus {
    outline: none;
    border-color: #034A3F; }

.ek2-recenze-form input[type="text"] {
  height: 50px;
  padding: 0 14px; }

.ek2-recenze-form textarea {
  padding: 12px 14px;
  line-height: 1.5;
  resize: vertical; }

/**
 * Hvězdy v tomhle formuláři: klikací plocha 52 × 52, samotná hvězda 40 px.
 *
 * `.rating-input__star` sdílí starý i nový vzhled, takže se tu jen přebíjí
 * pro tenhle formulář — ve starém vzhledu i v seznamu recenzí zůstávají
 * hvězdy tak, jak byly.
 *
 * Selektor je o stupeň konkrétnější (`.ek2` navíc) kvůli pravidlu
 * v `_v2_dotyk.scss`, které se načítá později a jinak by přebilo zpátky
 * svoje `min-height: 44px` i odsazení.
 */
.ek2 .ek2-recenze-form .rating-input {
  gap: 4px;
  font-size: 60px;
  line-height: 1; }

.ek2 .ek2-recenze-form .rating-input__star {
  width: 52px;
  height: 52px;
  min-height: 52px;
  padding: 0;
  display: grid;
  place-items: center; }

.ek2-recenze-form__odeslat {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 20px; }

.ek2-recenze-form__btn {
  height: 52px;
  padding: 0 28px;
  border: none;
  border-radius: 999px;
  background: #034A3F;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer; }
  .ek2-recenze-form__btn:hover {
    background: #02362E; }

.ek2-recenze-form__pozn {
  flex: 1 1 260px;
  margin: 0;
  font-size: 15px;
  line-height: 1.5;
  color: #6E817C; }

@media screen and (max-width: 480px) {
  .ek2-recenze-form__pozn {
    font-size: 12.5px; }

  .ek2-recenze-form__popis,
  .ek2-recenze-form .ek2-pole label {
    font-size: 13px; } }
.ek2-duvody__seznam {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  border-top: 1px solid #D7E4E0; }

.ek2-duvody__radek {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 14px 0;
  border-bottom: 1px solid #D7E4E0;
  font-size: 15px;
  line-height: 1.5; }

.ek2-duvody__znak {
  width: 26px;
  height: 26px;
  flex: none;
  border-radius: 50%;
  background: #EFF5F4;
  color: #034A3F;
  display: grid;
  place-items: center; }

@media screen and (min-width: 768px) {
  .ek2-duvody__seznam {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 16px;
    border-top: 0; }

  .ek2-duvody__radek {
    padding: 16px;
    border: 1px solid #D7E4E0;
    border-radius: 14px; } }
/*
 * Pás videí. Posouvá se do strany, jak to má návrh.
 *
 * Od vložení přehrávače jsou dlaždice širší - 220 px stačilo na řádek
 * s ikonou, na video ne. Sloupce proto drží 280 px a na širokém okně
 * se roztáhnou.
 */
.ek2-videa {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(280px, 420px);
  gap: 12px;
  overflow-x: auto;
  scrollbar-width: none; }
  .ek2-videa::-webkit-scrollbar {
    display: none; }

.ek2-video {
  margin: 0;
  min-width: 0; }

/*
 * Rámeček drží poměr stran, aby stránka při načtení neposkakovala.
 *
 * `aspect-ratio` je tu bezpečné: výška se počítá ze šířky, která je daná
 * mřížkou - není to ten případ jako u fotky v kampaňovém pásu, kde se
 * šířka naopak odvozovala z výšky a nafouklo se to.
 */
.ek2-video__ramecek {
  position: relative;
  aspect-ratio: 16 / 9;
  border-radius: 14px;
  overflow: hidden;
  background: #EFF5F4; }
  .ek2-video__ramecek iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0; }

.ek2-video.je-na-vysku .ek2-video__ramecek {
  aspect-ratio: 9 / 16; }

.ek2-video__titulek {
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.4;
  color: #3D4F4B; }

.ek2-videa__dlazdice {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  border: 1px solid #D7E4E0;
  border-radius: 14px;
  background: #FFFFFF;
  color: #0B1513;
  text-decoration: none;
  font-size: 15px;
  line-height: 1.4; }
  .ek2-videa__dlazdice:hover {
    border-color: #034A3F;
    color: #0B1513; }

.ek2-videa__znak {
  width: 34px;
  height: 34px;
  flex: none;
  border-radius: 50%;
  background: #034A3F;
  color: #FFFFFF;
  display: grid;
  place-items: center; }

/**
 * Mobilni velikosti podle navrhu.
 *
 * Canvas zapisuje responzivni pismo jako `max(13px, min(15px, …))` nebo
 * `clamp(24px, …, 34px)`. Na uzke obrazovce plati SPODNI mez; dokud se
 * merilo jen 1280, nebylo to kde videt a vsude zustavala horni hodnota.
 *
 *   drobecky  15 -> 13   (Kategorie.dc.html)
 *   stitky    15 -> 14   (Kategorie.dc.html)
 *   nadpis    26 -> 24   JEN na detailu (Detail v3.dc.html);
 *                        kosik a kategorie maji v navrhu 26, ty zustavaji
 */
@media screen and (max-width: 480px) {
  .ek2-chip {
    font-size: 14px; } }
@media screen and (max-width: 767px) {
  .ek2-detail .ek2-h1,
  .ek2 .ek2-detail__info .ek2-h1 {
    font-size: 24px; }

  .ek2 .ek2-detail__price {
    font-size: 26px; } }
.ek2-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #FFFFFF;
  border: 1px solid #D7E4E0;
  border-radius: 14px;
  overflow: hidden;
  transition: box-shadow .15s ease, border-color .15s ease; }
  .ek2-card:hover {
    border-color: #B8CFC9;
    box-shadow: 0 2px 4px rgba(3, 74, 63, 0.05), 0 6px 16px rgba(3, 74, 63, 0.08); }

.ek2-card__media {
  position: relative;
  display: block;
  aspect-ratio: 1;
  background: #EFF5F4; }
  .ek2-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain; }

.ek2-card.is-out .ek2-card__media:after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.5); }

.ek2-card__flags {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 6px; }

.ek2-flag {
  display: inline-flex;
  align-items: center;
  height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .02em;
  white-space: nowrap; }
  .ek2-flag--akce {
    background: #EA5A25;
    color: #FFFFFF; }
  .ek2-flag--novinka {
    background: #034A3F;
    color: #FFFFFF; }
  .ek2-flag--nemame {
    background: #E8EEEC;
    color: #4F6360; }

.ek2-card__age {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  height: 24px;
  min-width: 24px;
  padding: 0 6px;
  border-radius: 999px;
  background: #FFFFFF;
  border: 1px solid #B8CFC9;
  color: #3D4F4B;
  font-size: 11px;
  font-weight: 600;
  line-height: 22px;
  text-align: center; }

.ek2-card__body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 12px 0; }

.ek2-card__name {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
  color: #0B1513;
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.7em; }
  .ek2-card__name:hover {
    color: #034A3F;
    text-decoration: none; }

.ek2-card__rating {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  color: #6E817C; }
  .ek2-card__rating svg {
    color: #034A3F; }
  .ek2-card__rating strong {
    font-weight: 600;
    color: #0B1513; }

.ek2-card__foot {
  display: flex;
  flex-direction: column;
  padding: 10px 12px 12px;
  gap: 10px;
  margin-top: auto; }

.ek2-card__packs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px; }

.ek2-card__more {
  font-size: 12px;
  color: #6E817C;
  white-space: nowrap; }

.ek2-card__pack {
  align-self: flex-start;
  padding: 5px 9px;
  border-radius: 6px;
  background: #EFF5F4;
  color: #3D4F4B;
  font-size: 12px;
  font-weight: 600; }

.ek2-card__prices {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: 8px; }

.ek2-card__price {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -.01em;
  white-space: nowrap;
  color: #0B1513; }
  .ek2-card__price.is-sale {
    color: #0B1513; }

.ek2-card__price-old {
  font-size: 13px;
  color: #6E817C;
  text-decoration: line-through;
  white-space: nowrap; }

.ek2-card__cenova {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0; }

.ek2-card__unit {
  margin-top: 0;
  font-size: 10px;
  color: #869591; }

.ek2-card__form {
  margin-top: 0; }

.ek2-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 44px;
  padding: 0 16px;
  border: none;
  border-radius: 999px;
  font-family: inherit;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer; }
  .ek2-btn--cart {
    background: #034A3F;
    color: #FFFFFF; }
    .ek2-btn--cart:hover {
      background: #02362E;
      color: #FFFFFF; }
  .ek2-btn--hlidat {
    background: #FFFFFF;
    border: 1.5px solid #034A3F;
    color: #034A3F;
    text-decoration: none; }
    .ek2-btn--hlidat:hover {
      background: #034A3F;
      color: #FFFFFF; }
  .ek2-btn--hlidam {
    background: #034A3F;
    border: 1.5px solid #034A3F;
    color: #FFFFFF;
    cursor: default; }

.ek2-card__pes {
  margin: 0;
  display: block; }

@media screen and (min-width: 768px) {
  .ek2-btn {
    height: 48px; } }
.ek2-card__misto {
  display: block;
  height: 44px; }

.ek2 .eshop__list-products,
.ek2 .hp__bargain-products,
.ek2 .hp__recommended-products,
.ek2 .julie__featured-products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 10px; }

@media screen and (min-width: 768px) {
  .ek2 .eshop__list-products,
  .ek2 .hp__bargain-products,
  .ek2 .hp__recommended-products,
  .ek2 .julie__featured-products {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 16px; } }
@media screen and (min-width: 1200px) {
  .ek2 .eshop__list-products,
  .ek2 .hp__bargain-products,
  .ek2 .hp__recommended-products {
    grid-template-columns: repeat(auto-fill, minmax(218px, 1fr)); } }
.ek2-card__bbd {
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.35;
  color: #C4471A;
  font-weight: 600; }

.ek2-card__bbd {
  align-self: flex-start;
  margin-bottom: 8px;
  padding: 5px 9px;
  border-radius: 8px;
  background: #034A3F;
  color: #FFFFFF;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3; }

.ek2 .first-section {
  padding-top: 24px;
  padding-bottom: 64px; }
  @media screen and (min-width: 991px) {
    .ek2 .first-section {
      padding-top: 24px; } }

.ek2 .title-sub-2,
.ek2 h1,
.ek2 .cart-head h2 {
  color: #034A3F; }

.ek2 h1 {
  margin: 0 0 24px;
  font-size: 26px;
  line-height: 1.15;
  letter-spacing: -.02em; }

@media screen and (min-width: 768px) {
  .ek2 h1 {
    font-size: 34px; } }
/**
 * Nadpis prihlasovaciho boxu v pokladne.
 *
 * Od 20. 10. je to h2, ne h1 - jako h1 z nej vychazelo, ze stranka pokladny
 * je o prihlaseni, a byl to dokonce jediny h1 na celem kroku.
 *
 * Vzhled ma zustat STEJNY jako predtim, proto se tu opakuji hodnoty z `.ek2 h1`
 * misto pridani selektoru k nemu: to pravidlo plati i na nadpis kosiku a
 * nulovani odsazeni by se propsalo i tam.
 */
.ek2 .checkout-login .title-sub-2 {
  margin: 0 0 24px;
  font-size: 26px;
  line-height: 1.15;
  letter-spacing: -.02em; }

@media screen and (min-width: 768px) {
  .ek2 .checkout-login .title-sub-2 {
    font-size: 34px; } }
.ek2 .cart-table,
.ek2 .cart-summary,
.ek2 .summary-block,
.ek2 .white-block {
  border-radius: 20px;
  border: 1px solid #D7E4E0;
  box-shadow: none; }

.ek2 .cart-progress {
  background: #FFFFFF;
  border: 1px solid #D7E4E0;
  border-radius: 999px;
  overflow: hidden; }

.ek2 .cart-nav a,
.ek2 .cart-nav span {
  color: #3D4F4B;
  font-weight: 600; }

.ek2 .cart-nav .active,
.ek2 .cart-nav a.active {
  background: #034A3F;
  color: #FFFFFF; }

.ek2 .btn-orange,
.ek2 .btn-green,
.ek2 .cart-btn {
  border-radius: 999px;
  font-weight: 600; }

.ek2 .btn-orange {
  background: #034A3F;
  border-color: #034A3F;
  color: #FFFFFF; }
  .ek2 .btn-orange:hover {
    background: #02362E;
    border-color: #02362E;
    color: #FFFFFF; }

.ek2 .btn-green {
  background: #034A3F;
  border-color: #034A3F;
  color: #FFFFFF; }
  .ek2 .btn-green:hover {
    background: #1D5D53;
    border-color: #1D5D53;
    color: #FFFFFF; }

.ek2 .form-control {
  border-color: #B8CFC9;
  color: #0B1513; }
  .ek2 .form-control:focus {
    border-color: #034A3F;
    box-shadow: 0 0 0 3px rgba(3, 74, 63, 0.12); }
  .ek2 .form-control::placeholder {
    color: #6E817C; }

.ek2 .cart-summary-main,
.ek2 .cart-table-summary {
  border-color: #D7E4E0; }

.ek2 .cart-summary-price {
  background: #EFF5F4;
  border-radius: 10px;
  color: #0B1513; }

.ek2 .price-cart {
  color: #0B1513;
  font-weight: 600; }

.ek2 #order-complete {
  max-width: 880px;
  margin: 0 auto;
  padding: 24px 16px 0;
  text-align: left;
  min-height: 0; }
  .ek2 #order-complete > .mx-auto {
    margin: 0 !important;
    width: 100%; }

@media screen and (min-width: 768px) {
  .ek2 #order-complete {
    padding: 56px 48px 0; } }
.ek2 #order-complete .chick {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  margin: 0 0 6px;
  border-radius: 50%;
  background: #034A3F;
  color: #FFFFFF; }
  .ek2 #order-complete .chick .bi {
    width: 26px;
    height: 26px; }

.ek2 #order-complete h1 {
  margin: 6px 0 10px;
  font-size: 28px;
  line-height: 1.08;
  letter-spacing: -.025em; }

@media screen and (min-width: 768px) {
  .ek2 #order-complete h1 {
    font-size: 42px; } }
.ek2 #order-complete .white-block {
  padding: 20px;
  border: 1.5px solid #034A3F;
  border-radius: 20px;
  background: #FFFFFF;
  box-shadow: none; }

@media screen and (min-width: 768px) {
  .ek2 #order-complete .white-block {
    padding: 28px; } }
.ek2 #order-complete .title-small {
  font-size: 20px;
  font-weight: 600;
  color: #034A3F;
  text-transform: none;
  letter-spacing: 0; }

.ek2 #order-complete .white-block ul {
  margin: 0;
  padding: 0;
  list-style: none; }

.ek2 #order-complete .white-block li {
  padding: 6px 0;
  font-size: 16px;
  line-height: 1.5;
  color: #3D4F4B; }
  .ek2 #order-complete .white-block li + li {
    border-top: 1px solid #D7E4E0; }
  .ek2 #order-complete .white-block li strong {
    color: #0B1513; }

@media screen and (min-width: 768px) {
  .ek2 #order-complete .title-small {
    font-size: 24px; } }
.ek2 #order-complete p {
  font-size: 16px;
  line-height: 1.55;
  color: #3D4F4B; }

.ek2 #cart-items .cart-row .col-md-5 {
  display: flex;
  flex-direction: column;
  gap: 2px; }

.ek2 .ek2-kos-radek__baleni {
  display: block;
  font-size: 15px;
  line-height: 1.3;
  color: #6E817C; }

@media screen and (max-width: 480px) {
  .ek2 .ek2-kos-radek__baleni {
    font-size: 12.5px; } }
.ek2 .ek2-pole__napoveda {
  display: block;
  margin-top: 6px;
  font-size: 15px;
  line-height: 1.4;
  color: #6E817C; }

@media screen and (max-width: 480px) {
  .ek2 .ek2-pole__napoveda {
    font-size: 13px; } }
.ek2-kos-sklo {
  margin: 0 0 16px;
  font-size: 15px;
  line-height: 1.5;
  color: #3D4F4B; }
  .ek2-kos-sklo a {
    font-weight: 600;
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 3px; }

.ek2-dekujeme__domu {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  height: 52px;
  padding: 0 24px;
  border: 1.5px solid #034A3F;
  border-radius: 999px;
  color: #034A3F;
  font-size: 16px;
  font-weight: 600; }
  .ek2-dekujeme__domu:hover {
    color: #fff;
    background: #02362E; }

.ek2-kos-prazdno {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 8px 0 0;
  max-width: 560px; }

.ek2-kos-prazdno__veta {
  margin: 0;
  font-size: 17px;
  line-height: 1.45;
  font-weight: 600;
  color: #0B1513; }

.ek2-kos-prazdno__poukaz {
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: #3D4F4B; }

.ek2-kos-prazdno__akce {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 4px; }

.ek2-kos-prazdno__akce .ek2-ubtn {
  height: 52px;
  padding: 0 16px; }

/**
 * Hlavní tlačítko se roztahuje, druhé ne.
 *
 * Canvas má u „Prohlédnout balíčky" `flex: 1 1 220px; max-width: 320px;
 * padding: 0 24px; font-size: 16px`, kdežto odkaz vedle zůstává úzký.
 * Bez toho byla obě stejně malá a z nabídky nešlo poznat, která cesta
 * je ta hlavní.
 */
.ek2-kos-prazdno__akce .ek2-ubtn--plny {
  flex: 1 1 220px;
  max-width: 320px;
  padding: 0 24px;
  font-size: 16px; }

.ek2 .ek2-kos-nadpis {
  margin-top: 40px !important;
  margin-bottom: 16px !important;
  font-size: 21px;
  line-height: 1.2;
  letter-spacing: -.015em;
  padding: 0; }

@media screen and (min-width: 768px) {
  .ek2 .ek2-kos-nadpis {
    margin-top: 64px !important;
    font-size: 26px; } }
/**
 * Čtyři nejprodávanější přes celou šířku.
 *
 * Stejný případ jako na stránce 404: obecná mřížka dává na 1280 px pět
 * sloupců, takže čtyři karty nechaly vpravo díru. Canvas má u prázdného
 * košíku `repeat(auto-fill, minmax(max(150px,20cqw),1fr))`, což na téhle
 * šířce vychází na čtyři.
 *
 * `.ek2` navíc kvůli váze selektoru - obecné pravidlo je `.ek2 .eshop__list-products`.
 */
.ek2 .ek2-kos-nejcasteji {
  grid-template-columns: repeat(auto-fill, minmax(236px, 1fr)); }

@media screen and (max-width: 767px) {
  .ek2 .ek2-kos-nejcasteji {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); } }
@media screen and (min-width: 768px) {
  .ek2-kos-prazdno__veta {
    font-size: 20px; } }
.ek2 .cart-table-summary .cart-head .head-cell {
  text-transform: none;
  letter-spacing: 0;
  color: #6E817C; }

.ek2 #cart-items .input-group {
  display: flex;
  align-items: center;
  width: auto;
  min-width: 0 !important;
  max-width: none !important;
  height: 44px;
  border: 1.5px solid #034A3F;
  border-radius: 999px;
  width: fit-content;
  flex-wrap: nowrap;
  overflow: hidden; }

.ek2 #cart-items .input-group > .input-group-prepend,
.ek2 #cart-items .input-group > .input-group-append {
  flex: 0 0 44px;
  height: 100%; }

.ek2 #cart-items .input-group .btn-number {
  width: 44px;
  height: 100%;
  padding: 0;
  border: 0;
  background: none;
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  color: #034A3F; }
  .ek2 #cart-items .input-group .btn-number:hover, .ek2 #cart-items .input-group .btn-number:focus {
    background: #EFF5F4;
    color: #034A3F;
    box-shadow: none; }
  .ek2 #cart-items .input-group .btn-number:disabled {
    color: #869591;
    background: none; }

.ek2 #cart-items .input-group .input-number,
.ek2 #cart-items .input-group input[type="text"] {
  flex: 0 1 44px;
  width: 44px;
  min-width: 28px;
  height: 100%;
  padding: 0;
  border: 0;
  background: none;
  text-align: center;
  font-size: 15px;
  font-weight: 600;
  color: #0B1513; }
  .ek2 #cart-items .input-group .input-number:focus,
  .ek2 #cart-items .input-group input[type="text"]:focus {
    outline: none;
    box-shadow: none; }

.ek2 #cart-items .input-group:focus-within {
  box-shadow: 0 0 0 3px rgba(3, 74, 63, 0.12); }

.ek2 #cart-items .btn-number .fa {
  font-family: inherit;
  font-style: normal;
  font-weight: 600;
  line-height: 1; }
  .ek2 #cart-items .btn-number .fa::before {
    content: none; }

.ek2 #cart-items .cart-row img {
  width: 64px !important;
  height: 64px;
  padding: 6px;
  border-radius: 10px;
  background: #EFF5F4;
  object-fit: contain; }

.ek2 .cart-nav a.btn-orange,
.ek2 .cart-nav a.btn-green {
  color: #FFFFFF; }
  .ek2 .cart-nav a.btn-orange:hover,
  .ek2 .cart-nav a.btn-green:hover {
    color: #FFFFFF; }

.ek2 .cart-nav a.btn-outline-green {
  color: #034A3F; }
  .ek2 .cart-nav a.btn-outline-green:hover {
    color: #034A3F; }

.ek2 .cart-nav .back {
  flex: 0 0 auto; }
  .ek2 .cart-nav .back a {
    white-space: nowrap; }

.ek2 .cart-nav .next {
  flex: 1 1 auto;
  min-width: 0; }

.ek2 .cart-coupon .form-group .input-group > .form-control,
.ek2 .cart-coupon .form-group .input-group > input[type="text"] {
  height: 46px;
  padding: 0 16px;
  border: 1.5px solid #B8CFC9;
  border-radius: 999px;
  background: #FFFFFF;
  font-size: 15px;
  color: #0B1513; }
  .ek2 .cart-coupon .form-group .input-group > .form-control::placeholder,
  .ek2 .cart-coupon .form-group .input-group > input[type="text"]::placeholder {
    color: #869591; }
  .ek2 .cart-coupon .form-group .input-group > .form-control:focus,
  .ek2 .cart-coupon .form-group .input-group > input[type="text"]:focus {
    outline: none;
    border-color: #034A3F;
    box-shadow: 0 0 0 3px rgba(3, 74, 63, 0.12); }

.ek2 .cart-coupon {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px; }

.ek2-kos-pocet {
  margin-left: 10px;
  font-size: 15px;
  font-weight: 500;
  color: #6E817C;
  letter-spacing: 0;
  vertical-align: middle; }

.ek2 .cart-table {
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none; }

.ek2 .cart-table > .cart-head {
  display: none !important; }

.ek2 #cart-items .cart-row {
  background: none;
  border-radius: 0;
  box-shadow: none;
  border-bottom: 1px solid #D7E4E0;
  padding: 14px 0; }

.ek2 #cart-items .cart-row:first-child {
  border-top: 1px solid #D7E4E0; }

.ek2 .checkout-delivery-payment .form-check {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0 0 10px;
  min-height: 56px;
  padding: 8px 14px;
  border: 1px solid #D7E4E0;
  border-radius: 14px;
  background: #FFFFFF; }

.ek2 .checkout-delivery-payment .form-check:hover {
  border-color: #B8CFC9; }

.ek2 .checkout-delivery-payment .form-check-label {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 2px 12px;
  width: 100%;
  padding-left: 0;
  cursor: pointer; }

.ek2 .checkout-delivery-payment .line1 {
  flex: 1 1 auto;
  display: block;
  font-size: 16px;
  font-weight: 600;
  color: #0B1513; }

.ek2 .checkout-delivery-payment .line2 {
  flex: 1 1 100%;
  display: block;
  font-size: 14px;
  line-height: 1.45;
  color: #6E817C; }

.ek2 .checkout-delivery-payment .delivery-payment-option-price {
  order: 2;
  margin-left: auto;
  font-size: 18px;
  font-weight: 600;
  color: #0B1513;
  white-space: nowrap; }

.ek2 .checkout-delivery-payment .form-check-input {
  position: static;
  flex: none;
  margin: 3px 0 0; }

.ek2 .checkout-delivery-payment .line1 {
  order: 1; }

.ek2 .checkout-delivery-payment .delivery-payment-option-price {
  order: 2; }

.ek2 .checkout-delivery-payment .line2 {
  order: 3; }

.ek2 .checkout-delivery-payment .form-check-label > * {
  order: 4; }

.ek2 .checkout-delivery-payment .line1 {
  order: 1; }

.ek2 .checkout-delivery-payment .delivery-payment-option-price {
  order: 2; }

.ek2 .checkout-delivery-payment .line2 {
  order: 3; }

.ek2 .checkout-delivery-payment select,
.ek2 .checkout-address-form select {
  height: 52px;
  padding: 0 40px 0 14px;
  border: 1.5px solid #B8CFC9;
  border-radius: 10px;
  background-color: #FFFFFF;
  font-family: inherit;
  font-size: 15px;
  color: #0B1513;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%23034A3F' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center; }
  .ek2 .checkout-delivery-payment select:focus,
  .ek2 .checkout-address-form select:focus {
    outline: none;
    border-color: #034A3F;
    box-shadow: 0 0 0 3px rgba(3, 74, 63, 0.12); }

.ek2 .checkout-delivery-payment input[type="radio"],
.ek2 .checkout-delivery-payment input[type="checkbox"],
.ek2 .checkout-address-form input[type="radio"],
.ek2 .checkout-address-form input[type="checkbox"] {
  accent-color: #034A3F;
  width: 18px;
  height: 18px; }

.ek2 .cart-table-summary > .cart-head {
  display: none !important; }

.ek2 .cart-table-summary img {
  width: 64px !important;
  height: 64px;
  padding: 6px;
  border-radius: 10px;
  background: #EFF5F4;
  object-fit: contain; }

.ek2 .cart-table-summary .cart-row {
  padding: 14px 0;
  border-bottom: 1px solid #D7E4E0; }

.ek2 .checkout-delivery-payment .title-small,
.ek2 .checkout-address-form .title-small,
.ek2 .checkout-summary .title-small {
  margin: 32px 0 10px;
  font-size: 18px;
  line-height: 1.2;
  letter-spacing: -.015em;
  font-weight: 600;
  color: #0B1513;
  text-transform: none; }

.ek2 .first-section .summary-block + h3.ek2-rekap-nadpis,
.ek2 .first-section h3.ek2-rekap-nadpis,
.ek2 .ek2-rekap-nadpis {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px; }

.ek2 .ek2-upravit {
  font-size: 15px;
  font-weight: 600;
  color: #034A3F;
  text-decoration: underline;
  letter-spacing: 0; }
  .ek2 .ek2-upravit:hover {
    color: #1D5D53; }

.ek2 #cart-items .input-group {
  border-width: 1.5px !important; }

.ek2 #cart-items .price-cart {
  min-width: 72px;
  font-size: 17px;
  font-weight: 600;
  color: #0B1513;
  text-align: right;
  white-space: nowrap; }

.ek2 .cart-nav a.btn-orange,
.ek2 .cart-nav a.btn-outline-green {
  height: 52px;
  display: inline-flex;
  align-items: center; }

.ek2 .cart-progress {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 28px;
  padding: 0;
  border: 0;
  background: none;
  list-style: none; }

.ek2 .cart-progress .nav-item {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 0; }

.ek2 .cart-progress .nav-item:not(:last-child)::after {
  content: '';
  flex: 1;
  height: 2px;
  border-radius: 2px;
  background: #D7E4E0; }

.ek2 .cart-progress .nav-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none !important;
  font-size: 15px;
  font-weight: 600;
  color: #6E817C;
  white-space: nowrap; }

.ek2 .cart-progress .nav-link.active {
  color: #034A3F; }

.ek2-krok__cislo {
  display: grid;
  place-items: center;
  flex: none;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #EFF5F4;
  color: #6E817C;
  font-size: 14px;
  font-weight: 600; }

.ek2 .cart-progress .nav-link.active .ek2-krok__cislo {
  background: #FFFFFF;
  color: #034A3F;
  box-shadow: inset 0 0 0 2px #034A3F; }

.ek2 .cart-progress .nav-link:not(.active):not(.disabled) {
  color: #034A3F; }

.ek2 .cart-progress .nav-link:not(.active):not(.disabled) .ek2-krok__cislo {
  background: #034A3F;
  color: #FFFFFF; }

@media screen and (max-width: 767px) {
  .ek2-krok__text {
    display: none; }

  .ek2 .cart-progress {
    gap: 8px; } }
.ek2 #cart_summary_side .cart-summary {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 20px;
  border: 1px solid #D7E4E0;
  border-radius: 20px;
  background: #FFFFFF;
  box-shadow: none; }

.ek2-souhrn__radky {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 15px; }

.ek2-souhrn__radek {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: #3D4F4B; }

.ek2-souhrn__pozn {
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
  color: #6E817C; }

.ek2-souhrn__celkem {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin-top: 4px;
  padding-top: 12px;
  border-top: 1px solid #D7E4E0; }

.ek2-souhrn__celkem-popis {
  font-size: 17px;
  font-weight: 600;
  color: #0B1513; }

.ek2-souhrn__celkem-cena {
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -.01em;
  color: #0B1513;
  white-space: nowrap; }

.ek2-souhrn__dph {
  font-size: 12px;
  color: #6E817C;
  text-align: right; }

.ek2-souhrn__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 52px;
  border-radius: 999px;
  background: #034A3F;
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none; }
  .ek2-souhrn__btn:hover {
    background: #1D5D53;
    color: #FFFFFF;
    text-decoration: none; }

.ek2.page-section-cart .cart-nav .next {
  display: none; }

@media screen and (min-width: 992px) {
  .ek2.page-section-cart .row > .col-lg-4,
  .ek2.page-section-cart .row > .col-xl-3 {
    flex: 0 0 340px;
    max-width: 340px; }

  .ek2.page-section-cart .row > .col-lg-8,
  .ek2.page-section-cart .row > .col-xl-9 {
    flex: 1 1 0;
    max-width: none; } }
.ek2 .cart-coupon .btn,
.ek2 .cart-nav .btn,
.ek2 .cart-table .btn {
  border-radius: 999px; }

.ek2 .cart-coupon .form-inline .input-group > .input-group-append > .btn,
.ek2 .cart-coupon .btn {
  border-radius: 999px;
  height: 48px;
  padding: 0 20px;
  border: 1.5px solid #B8CFC9;
  font-size: 15px;
  font-weight: 600;
  color: #034A3F; }
  .ek2 .cart-coupon .form-inline .input-group > .input-group-append > .btn:hover,
  .ek2 .cart-coupon .btn:hover {
    border-color: #034A3F;
    background: #FFFFFF;
    color: #034A3F; }

.ek2 .cart-nav a.btn-outline-green {
  padding: 0 24px;
  border: 1.5px solid #B8CFC9;
  font-size: 15px; }
  .ek2 .cart-nav a.btn-outline-green:hover {
    border-color: #034A3F;
    color: #034A3F; }

.ek2 #cart-items .input-group .btn-number {
  width: 48px;
  height: 100%;
  border-radius: 0 !important; }

.ek2 #cart-items .input-group > .input-group-prepend,
.ek2 #cart-items .input-group > .input-group-append {
  flex: 0 0 48px; }

.ek2 .cart-summary.is-pokladna {
  gap: 14px; }

.ek2-souhrn__nadpis {
  font-size: 18px;
  font-weight: 600;
  color: #034A3F; }

.ek2-souhrn__polozky {
  display: flex;
  flex-direction: column;
  gap: 10px; }

.ek2-souhrn__polozka {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 14px; }

.ek2-souhrn__polozka-nazev {
  color: #3D4F4B;
  min-width: 0; }

.ek2-souhrn__polozka-cena {
  font-weight: 600;
  white-space: nowrap; }

.ek2 .cart-summary.is-pokladna .ek2-souhrn__celkem-cena {
  font-size: 26px; }

@media screen and (min-width: 768px) {
  .ek2.page-section-cart .first-section > .container > .row,
  .ek2.page-section-checkout_delivery .first-section > .container > .row,
  .ek2.page-section-checkout_address .first-section > .container > .row,
  .ek2.page-section-checkout_summary .first-section > .container > .row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    margin-left: 0;
    margin-right: 0; }

  .ek2.page-section-cart .first-section > .container > .row > [class*="col-"],
  .ek2.page-section-checkout_delivery .first-section > .container > .row > [class*="col-"],
  .ek2.page-section-checkout_address .first-section > .container > .row > [class*="col-"],
  .ek2.page-section-checkout_summary .first-section > .container > .row > [class*="col-"] {
    padding-left: 0;
    padding-right: 0;
    max-width: none; }

  .ek2.page-section-cart .first-section > .container > .row {
    gap: 40px; }

  .ek2.page-section-checkout_delivery .first-section > .container > .row,
  .ek2.page-section-checkout_address .first-section > .container > .row,
  .ek2.page-section-checkout_summary .first-section > .container > .row {
    gap: 48px; }

  .ek2.page-section-cart .first-section > .container > .row > .col-lg-8,
  .ek2.page-section-cart .first-section > .container > .row > .col-xl-9 {
    flex: 999 1 560px; }

  .ek2.page-section-checkout_delivery .first-section > .container > .row > .col-sm-8,
  .ek2.page-section-checkout_address .first-section > .container > .row > .col-sm-8,
  .ek2.page-section-checkout_summary .first-section > .container > .row > .col-sm-8 {
    flex: 999 1 520px; }

  .ek2.page-section-cart .first-section > .container > .row > .col-lg-4,
  .ek2.page-section-cart .first-section > .container > .row > .col-xl-3,
  .ek2.page-section-checkout_delivery .first-section > .container > .row > .col-sm-4,
  .ek2.page-section-checkout_address .first-section > .container > .row > .col-sm-4,
  .ek2.page-section-checkout_summary .first-section > .container > .row > .col-sm-4 {
    flex: 1 1 340px; } }
.ek2 .checkout-form input[type="text"],
.ek2 .checkout-form input[type="email"],
.ek2 .checkout-form input[type="tel"],
.ek2 .checkout-form input[type="number"],
.ek2 .checkout-form input[type="password"],
.ek2 .checkout-form textarea,
.ek2 .checkout-address-form input[type="text"],
.ek2 .checkout-address-form input[type="email"],
.ek2 .checkout-address-form input[type="tel"],
.ek2 .checkout-address-form textarea,
.ek2 .checkout-login .login-form input[type="email"],
.ek2 .checkout-login .login-form input[type="password"] {
  height: 52px;
  padding: 0 14px;
  border: 1.5px solid #B8CFC9;
  border-radius: 10px;
  background: #FFFFFF;
  font-family: inherit;
  font-size: 16px;
  font-weight: 500;
  color: #0B1513; }
  .ek2 .checkout-form input[type="text"]::placeholder,
  .ek2 .checkout-form input[type="email"]::placeholder,
  .ek2 .checkout-form input[type="tel"]::placeholder,
  .ek2 .checkout-form input[type="number"]::placeholder,
  .ek2 .checkout-form input[type="password"]::placeholder,
  .ek2 .checkout-form textarea::placeholder,
  .ek2 .checkout-address-form input[type="text"]::placeholder,
  .ek2 .checkout-address-form input[type="email"]::placeholder,
  .ek2 .checkout-address-form input[type="tel"]::placeholder,
  .ek2 .checkout-address-form textarea::placeholder,
  .ek2 .checkout-login .login-form input[type="email"]::placeholder,
  .ek2 .checkout-login .login-form input[type="password"]::placeholder {
    color: #869591; }
  .ek2 .checkout-form input[type="text"]:focus,
  .ek2 .checkout-form input[type="email"]:focus,
  .ek2 .checkout-form input[type="tel"]:focus,
  .ek2 .checkout-form input[type="number"]:focus,
  .ek2 .checkout-form input[type="password"]:focus,
  .ek2 .checkout-form textarea:focus,
  .ek2 .checkout-address-form input[type="text"]:focus,
  .ek2 .checkout-address-form input[type="email"]:focus,
  .ek2 .checkout-address-form input[type="tel"]:focus,
  .ek2 .checkout-address-form textarea:focus,
  .ek2 .checkout-login .login-form input[type="email"]:focus,
  .ek2 .checkout-login .login-form input[type="password"]:focus {
    outline: none;
    border-color: #034A3F;
    box-shadow: 0 0 0 3px rgba(3, 74, 63, 0.12); }

.ek2 .checkout-form textarea,
.ek2 .checkout-address-form textarea {
  height: auto;
  min-height: 92px;
  padding: 12px 14px; }

.ek2 .checkout-delivery-payment input[type="checkbox"],
.ek2 .checkout-address-form input[type="checkbox"],
.ek2 .checkout-form input[type="checkbox"] {
  width: 22px;
  height: 22px;
  accent-color: #034A3F; }

.ek2 .ek2-rekap {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 12px;
  padding: 14px 16px;
  border: 1px solid #D7E4E0;
  border-radius: 14px;
  background: #FFFFFF; }

.ek2 .ek2-rekap__telo {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px; }

.ek2 .ek2-rekap__popis {
  font-size: 15px;
  color: #6E817C; }

.ek2 .ek2-rekap .summary-block {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none; }
  .ek2 .ek2-rekap .summary-block p {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    color: #0B1513; }
  .ek2 .ek2-rekap .summary-block p + p {
    margin-top: 2px;
    font-size: 15px;
    font-weight: 500;
    color: #3D4F4B; }

.ek2 .ek2-upravit {
  flex: none;
  min-height: 44px;
  display: flex;
  align-items: flex-start;
  padding: 0 4px;
  font-size: 15px;
  font-weight: 600;
  color: #034A3F;
  text-decoration: none; }
  .ek2 .ek2-upravit:hover {
    color: #1D5D53;
    text-decoration: underline; }

.ek2-souhrn__prepinac {
  display: none; }

@media screen and (max-width: 767px) {
  .ek2 .first-section > .container > .row > [class*="col-"]:last-child {
    order: -1; }

  .ek2-souhrn__prepinac {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 52px;
    padding: 0 16px;
    margin: 0 -16px;
    font-size: 15px;
    font-weight: 600;
    color: #034A3F;
    cursor: pointer;
    list-style: none; }
    .ek2-souhrn__prepinac::-webkit-details-marker {
      display: none; }

  .ek2-souhrn__prepinac-text {
    flex: 1;
    text-align: left; }

  .ek2-souhrn__prepinac-cena {
    color: #0B1513;
    font-variant-numeric: tabular-nums; }

  .ek2-souhrn__prepinac::after {
    content: '';
    flex: none;
    width: 10px;
    height: 10px;
    border-right: 2px solid #034A3F;
    border-bottom: 2px solid #034A3F;
    transform: rotate(45deg) translate(-2px, -2px); }

  [data-souhrn][open] .ek2-souhrn__prepinac::after {
    transform: rotate(-135deg) translate(-2px, -2px); }

  .ek2 #cart_summary_side .cart-summary:not([open]) {
    gap: 0;
    padding: 0 16px; }

  [data-souhrn][open] .ek2-souhrn__prepinac-text::after {
    content: ' · skrýt';
    font-weight: 500;
    color: #6E817C; } }
.ek2-dekujeme {
  max-width: 880px;
  margin: 0 auto;
  padding: 0 16px 48px;
  display: flex;
  flex-direction: column;
  gap: 24px; }

@media screen and (min-width: 768px) {
  .ek2-dekujeme {
    padding: 0 48px 64px;
    gap: 32px; } }
.ek2-dekujeme__hlava {
  display: flex;
  flex-direction: column;
  gap: 10px; }

.ek2-dekujeme__ikona {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #034A3F;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center; }

.ek2-dekujeme .ek2-h1 {
  margin: 6px 0 0;
  font-size: 28px;
  line-height: 1.08;
  letter-spacing: -.025em; }

@media screen and (min-width: 768px) {
  .ek2-dekujeme .ek2-h1 {
    font-size: 42px; } }
.ek2-dekujeme__radek {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px; }

.ek2-dekujeme__cislo {
  font-size: 16px;
  font-weight: 600; }

.ek2-dekujeme__stav {
  display: inline-flex;
  align-items: center;
  height: 28px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600; }
  .ek2-dekujeme__stav.je-ceka {
    background: #FFF1E9;
    color: #C4471A; }
  .ek2-dekujeme__stav.je-prijato {
    background: #EFF5F4;
    color: #034A3F; }

.ek2-dekujeme__lede {
  margin: 0;
  font-size: 16px;
  line-height: 1.55;
  color: #3D4F4B; }

@media screen and (min-width: 768px) {
  .ek2-dekujeme__lede {
    font-size: 17px; } }
.ek2-dekujeme__blok {
  border: 1.5px solid #034A3F;
  border-radius: 20px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 12px; }
  .ek2-dekujeme__blok h2 {
    margin: 0;
    font-size: 20px;
    line-height: 1.2;
    font-weight: 600;
    color: #034A3F; }
  .ek2-dekujeme__blok p {
    margin: 0;
    font-size: 16px;
    line-height: 1.55;
    color: #0B1513; }

@media screen and (min-width: 768px) {
  .ek2-dekujeme__blok {
    padding: 28px;
    gap: 14px; }
    .ek2-dekujeme__blok h2 {
      font-size: 24px; } }
.ek2-dekujeme__doplnek {
  font-size: 15px;
  line-height: 1.5;
  color: #3D4F4B; }

.ek2-dekujeme__cta {
  align-self: flex-start;
  width: auto;
  padding: 0 32px; }

.ek2-qr {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
  align-items: flex-start; }

.ek2-qr__kod {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 12px;
  background: #FFFFFF;
  border: 1px solid #D7E4E0;
  border-radius: 14px; }
  .ek2-qr__kod img {
    display: block; }

.ek2-qr__stitek {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: #3D4F4B; }

.ek2-qr__znak {
  padding: 1px 5px;
  border: 1.5px solid currentColor;
  border-radius: 6px;
  font-size: 11px;
  letter-spacing: .02em; }

.ek2-qr__udaje {
  flex: 1 1 240px;
  min-width: 0;
  display: flex;
  flex-direction: column; }

.ek2-qr__uvod {
  font-size: 15px;
  line-height: 1.45;
  color: #3D4F4B;
  padding-bottom: 8px; }

.ek2-qr__radek {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 56px;
  padding: 6px 0;
  border-top: 1px solid #D7E4E0; }

.ek2-qr__popis {
  font-size: 15px;
  color: #6E817C; }

.ek2-qr__hodnota {
  font-size: 16px;
  font-weight: 600;
  color: #0B1513;
  text-align: right;
  white-space: nowrap; }

.ek2-poukaz {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 14px;
  background: #EFF5F4;
  transition: background .3s; }
  .ek2-poukaz--ziskano {
    background: #E3F1E0; }

.ek2-poukaz__radek {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: #034A3F; }

.ek2-poukaz__ikona {
  flex: none; }

.ek2-poukaz__fajfka {
  width: 22px;
  height: 22px;
  flex: none;
  margin-top: -1px;
  border-radius: 50%;
  background: #034A3F;
  color: #FFFFFF;
  display: grid;
  place-items: center; }

.ek2-poukaz__text {
  font-size: 15px;
  line-height: 1.4;
  font-weight: 600; }

.ek2-poukaz__pruh {
  height: 8px;
  border-radius: 8px;
  background: #FFFFFF;
  overflow: hidden; }

.ek2-poukaz__pruh-vypln {
  height: 100%;
  border-radius: 8px;
  background: #034A3F;
  transition: width .3s; }

.ek2-poukaz__pozn {
  font-size: 15px;
  line-height: 1.45;
  color: #3D4F4B; }

.ek2-kopirovat {
  flex: none;
  height: 36px;
  padding: 0 12px;
  border: 1.5px solid #034A3F;
  border-radius: 999px;
  background: #FFFFFF;
  color: #034A3F;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer; }
  .ek2-kopirovat:hover {
    background: #EFF5F4; }
  .ek2-kopirovat.is-hotovo {
    background: #034A3F;
    color: #FFFFFF; }

.ek2-qr__iban {
  display: block;
  font-size: 13px;
  font-weight: 400;
  color: #6E817C;
  white-space: nowrap; }

.ek2-kos-lista {
  display: none; }

@media screen and (max-width: 991px) {
  .ek2-kos-lista {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 40;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    background: #FFFFFF;
    border-top: 1px solid #D7E4E0;
    box-shadow: 0 -6px 20px rgba(3, 74, 63, 0.08); }

  body.ek2-ma-kos-listu {
    padding-bottom: 74px; } }
.ek2-kos-lista__text {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column; }

.ek2-kos-lista__popis {
  font-size: 15px;
  color: #6E817C; }

.ek2-kos-lista__cena {
  font-size: 20px;
  font-weight: 600;
  color: #0B1513; }

.ek2-kos-lista__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 52px;
  padding: 0 28px;
  border: none;
  border-radius: 999px;
  background: #034A3F;
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 600;
  white-space: nowrap;
  text-decoration: none;
  cursor: pointer; }
  .ek2-kos-lista__btn:hover {
    background: #1D5D53;
    color: #FFFFFF; }

.ek2-dekujeme__kod {
  display: inline-block;
  margin: 0 0 8px;
  padding: 10px 16px;
  border: 1.5px dashed #034A3F;
  border-radius: 10px;
  background: #EFF5F4;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: .08em;
  font-variant-numeric: tabular-nums;
  color: #034A3F; }

.ek2-dekujeme__polozky {
  list-style: none;
  margin: 0 0 12px;
  padding: 0; }

.ek2-dekujeme__polozka {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid #D7E4E0;
  font-size: 15px;
  line-height: 1.5; }

.ek2-dekujeme__kusy {
  color: #6E817C; }

.ek2-dekujeme__cena {
  flex: none;
  font-weight: 600;
  white-space: nowrap; }

.ek2-dekujeme__soucet {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  font-size: 17px; }

.ek2-rekap__splatnost {
  margin: 6px 0 0;
  font-size: 14px;
  line-height: 1.5;
  color: #3D4F4B; }

.ek2-vymena {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
  margin-top: 16px;
  padding: 16px;
  border: 1.5px solid #034A3F;
  border-radius: 14px; }

.ek2-vymena__nadpis {
  flex: 1 1 280px;
  margin: 0;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 600;
  color: #034A3F; }

.ek2-vymena__text {
  flex: 1 1 100%;
  order: 1;
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: #3D4F4B; }

.ek2-vymena__form {
  flex: none;
  order: 2;
  margin: 0; }

.ek2-vymena__tlacitko {
  height: 44px;
  padding: 0 20px;
  white-space: nowrap; }

/**
 * Klikaci plochy na mobilu.
 *
 * Nastenka zada v uvodu "klikaci plochy aspon 48 px". Merak to dlouho
 * nehlidal: ze 454 kontrol jich jen 65 beželo na 375 px, takze se nikdy
 * neukazalo, ze polovina ovladacu je na telefonu mensi, nez ma byt.
 * Nastroj mer/test-mobil.js nasel 47 ovladacu pod 44 px - od 8px tecek
 * galerie po 24px popisky zpusobu platby.
 *
 * PROC ZVLAST A NE U KAZDE KOMPONENTY: vetsina techle ovladacu pochazi
 * z puvodniho bootstrapoveho markupu, ktery novy vzhled zdedil, a jsou
 * rozesete po osmi souborech. Kdyby se to opravovalo u kazdeho zvlast,
 * nikdo uz nedohleda, ze jde o jedno pravidlo z nastenky - a pri pristi
 * uprave komponenty to zase nekdo prepise.
 *
 * PROC JEN DO 767 px: na desktopu se miri mysi a 44px pravidlo tam neplati.
 * Navic ma merak 454 kontrol s presnymi hodnotami na 1280 px; kdyby se
 * velikosti menily i tam, rozbije se mereni vzhledu, ktere s dotykem
 * nesouvisi.
 *
 * PROC .ek2: stary vzhled je porad ten, ve kterem zakaznici nakupuji, a
 * sdili s novym stejny markup kosiku i pokladny. Bez tohohle obalu by se
 * zmeny propsaly i tam.
 *
 * HRANICE JE 44, NE 48. Nastenka si odporuje: v uvodu zada 48, ale u karty
 * na mobilu ma schvalne max(44px, min(48px, …)). Drzi se proto 44 - je to
 * i minimum, ktere pozaduje Apple - a rozdil 44 vs 48 ceka na rozhodnuti.
 */
@media screen and (max-width: 767px) {
  /* --- Pocitadlo mnozstvi -------------------------------------------------
   *
   * Tohle je ten nejhorsi pripad: obal `.input-group` MA 44 px, takze
   * kontrola na nej dlouho prochazela - jenze 16 px z te vysky je jeho
   * vlastni odsazeni (`py-2`) a na tlacitka uvnitr zbylo 26 px. Merilo se
   * tedy neco jineho, nez do ceho zakaznik trefuje.
   */
  /**
   * `!important` tu neni z lenosti: odsazeni dela bootstrapova utilita
   * `py-2` primo v sablone a ta ma `!important` sama. Bez nej se nulovani
   * tise ignorovalo - pilulka zustala 44 px i s odsazenim, tlacitka 44 px
   * se do ni nevesla a propadla o 9 px nize. Merak hlasil spravnou vysku,
   * protoze meril pilulku, ne polohu tlacitka v ni.
   */
  .ek2 #cart-items .input-group {
    padding-top: 0 !important;
    padding-bottom: 0 !important; }

  /**
   * Centrovani NENI kosmetika: bez nej se znaky "-" a "+" propadly ke
   * spodni hrane tlacitka a prestaly sedet v ose s cislem mezi nimi.
   * Merak to neodhalil - vyska byla spravne, posunul se jen obsah -
   * videt to bylo az na snimku.
   */
  .ek2 .input-group .btn-number,
  .ek2 .input-group .btn-outline-secondary,
  .ek2 .input-group .form-control {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center; }

  .ek2 .btn-number {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center; }

  /* --- Smazani radku v kosiku -------------------------------------------- */
  .ek2 .submit-delete-btn {
    min-width: 44px;
    min-height: 44px; }

  /* --- Kroky pokladny ----------------------------------------------------
   *
   * Ctyri odkazy "1 Nakupni kosik … 4 Rekapitulace" mely 32 px na vsech
   * trech strankach pokladny, tedy prave tam, kde se zakaznik vraci zpet
   * opravit udaje.
   */
  .ek2 .nav-pills .nav-link,
  .ek2 .checkout-steps .nav-link {
    min-height: 44px;
    display: flex;
    align-items: center; }

  /* --- Volba zpusobu platby a dopravy ------------------------------------
   *
   * Klikaci plocha je <label>, ne samotny knoflik - knoflik ma 20 px vzdy
   * a zvetsovat se nema. Roste tedy radek kolem nej.
   */
  .ek2 .form-check-label,
  .ek2 label.d-inline-block {
    min-height: 44px;
    display: inline-flex;
    align-items: center; }

  /* --- "Koupit" u kampanovych balicku ------------------------------------ */
  .ek2 .cb__btn {
    min-height: 44px; }

  /* --- Kopirovani cisla uctu na dekovacce -------------------------------- */
  .ek2 .ek2-kopirovat {
    height: 44px; }

  /* --- Formular recenze --------------------------------------------------
   *
   * Hvezdicky zustavaji opticky stejne velke, roste jen plocha kolem nich.
   * Peti hvezdickami se trefuje do 28px cile a soused je hned vedle, takze
   * se snadno kliklo o hvezdu vedle.
   */
  .ek2 .rating-input__star {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 0 2px; }

  .ek2 .ek2-recenze-form input[type="text"],
  .ek2 .ek2-recenze-form input[type="email"],
  .ek2 .ek2-recenze-form textarea,
  .ek2 .review-form input[type="text"],
  .ek2 .review-form input[type="email"],
  .ek2 .review-form textarea {
    min-height: 44px; }

  /* --- Tecky galerie na detailu ------------------------------------------
   *
   * Tecka ZUSTAVA 8 px, protoze tak ji chce navrh. Zvetsuje se jen plocha,
   * do ktere jde trefit, a to pres `::after` - ten lezi mimo tok, takze
   * rozestupy tecek ani sirka pasu se nemeni.
   *
   * POZOR pri mereni: `getBoundingClientRect()` tlacitka vraci porad 8 px.
   * Nastroj test-mobil.js proto umi `::after` dopocitat; kdyby se tenhle
   * zpusob nekde pouzil znovu a nastroj to neumel, hlasil by chybu, ktera
   * uz opravena je.
   */
  .ek2 #product-gallery-main .splide__pagination__page {
    position: relative; }
    .ek2 #product-gallery-main .splide__pagination__page::after {
      content: '';
      position: absolute;
      top: -18px;
      right: -18px;
      bottom: -18px;
      left: -18px; } }
.ek2 .ek2-crumbs {
  flex-wrap: nowrap;
  min-width: 0;
  overflow: hidden;
  font-size: 15px;
  line-height: normal; }
  .ek2 .ek2-crumbs > a {
    min-width: 0;
    flex: 0 1 auto; }
  .ek2 .ek2-crumbs > a:first-child, .ek2 .ek2-crumbs > [aria-hidden="true"] {
    flex: none; }
  .ek2 .ek2-crumbs a > span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap; }
  .ek2 .ek2-crumbs > [aria-current="page"] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap; }
.ek2 .ek2-page--detail, .ek2 .ek2-page--listing {
  padding-top: 0; }
.ek2 .ek2-page--detail > .ek2-crumbs {
  padding: clamp(8px, 1.6vw, 20px) 0 clamp(8px, 1.2vw, 16px); }
.ek2 .ek2-page--listing > .ek2-crumbs {
  padding: clamp(12px, 1.6vw, 20px) 0 4px; }
@media (max-width: 767px) {
  .ek2 .ek2-crumbs {
    overflow-x: auto; }
    .ek2 .ek2-crumbs > a, .ek2 .ek2-crumbs > [aria-current="page"] {
      flex: none; }
    .ek2 .ek2-crumbs a > span, .ek2 .ek2-crumbs > [aria-current="page"] {
      overflow: visible;
      text-overflow: clip; } }
@media (max-width: 480px) {
  .ek2 .ek2-crumbs {
    font-size: 13px; } }
.ek2 .ek2-page--listing:has(> .ek2-subcats) {
  display: flex;
  flex-direction: column; }
  .ek2 .ek2-page--listing:has(> .ek2-subcats) > .ek2-h1 {
    margin-bottom: 0; }
  .ek2 .ek2-page--listing:has(> .ek2-subcats) > .ek2-lede {
    order: 1;
    margin-top: clamp(48px, 5vw, 64px);
    margin-bottom: 0; }
.ek2 .ek2-subcats {
  display: block;
  min-width: 0;
  margin: clamp(10px, 1.2vw, 16px) 0 0;
  overflow: visible; }
.ek2 .ek2-subcats__list {
  display: flex;
  flex-wrap: wrap;
  column-gap: 28px;
  border-bottom: 1px solid #D7E4E0; }
.ek2 .ek2-subcat {
  position: relative;
  display: flex;
  min-height: 48px;
  height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: #3D4F4B;
  font-size: 15px;
  font-weight: 500; }
  .ek2 .ek2-subcat:hover, .ek2 .ek2-subcat:focus-visible {
    color: #034A3F;
    background: none;
    text-decoration: none; }
  .ek2 .ek2-subcat[aria-current="page"] {
    color: #034A3F;
    font-weight: 600; }
    .ek2 .ek2-subcat[aria-current="page"]::after {
      content: '';
      position: absolute;
      left: 0;
      right: 0;
      bottom: -1px;
      height: 3px;
      border-radius: 3px 3px 0 0;
      background: #034A3F; }
.ek2 .ek2-filter {
  margin: 0;
  flex: none; }
.ek2 .ek2-tools .ek2-chip {
  gap: 6px;
  font-family: inherit;
  cursor: pointer; }
.ek2 .ek2-tools .ek2-chip:not(.ek2-chip--reset) {
  font-size: max(14px, min(15px, calc(15px - (100vw - 480px) * 100))); }
.ek2 .ek2-tools .ek2-chip--reset {
  border: 0;
  background: none;
  padding: 0 8px;
  color: #034A3F;
  text-decoration: underline;
  text-underline-offset: 3px; }
.ek2 .ek2-chip > svg {
  flex: none; }
.ek2 .ek2-subcats + .ek2-tools {
  padding-top: clamp(12px, 1.6vw, 20px);
  padding-bottom: clamp(14px, 1.6vw, 20px); }
@media (max-width: 767px) {
  .ek2 .ek2-subcats__list {
    flex-wrap: nowrap;
    gap: 22px;
    margin: 0 -16px;
    padding: 0 40px 0 16px;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 48px), transparent);
    mask-image: linear-gradient(90deg, #000 calc(100% - 48px), transparent); }
    .ek2 .ek2-subcats__list::-webkit-scrollbar {
      display: none; } }
.ek2 .ek2-page:has(> .ek2-hero) {
  padding-top: clamp(12px, 2vw, 24px); }
.ek2 .ek2-hero {
  padding-top: 0; }
.ek2 .ek2-hero__card {
  min-width: 0; }
.ek2 .ek2-hero__photo {
  flex: none; }
.ek2 .ek2-hero__title {
  font-size: 24px;
  text-wrap: balance; }
.ek2 .ek2-hero__card:first-child .ek2-hero__title {
  font-size: clamp(26px, 3vw, 38px); }
.ek2 .ek2-hero__card:first-child .ek2-hero__text, .ek2 .ek2-hero__card:first-child .ek2-hero__cta {
  font-size: max(14.5px, min(15px, calc(15px - (100vw - 480px) * 100))); }
.ek2 .ek2-hero__card:first-child .ek2-hero__badge {
  font-size: max(13px, min(15px, calc(15px - (100vw - 480px) * 100))); }
.ek2 .ek2-hero__tag {
  text-transform: none;
  letter-spacing: 0; }
.ek2 .ek2-hero__foot {
  flex-wrap: wrap;
  align-items: flex-end; }
.ek2 .ek2-hero__price {
  white-space: nowrap;
  line-height: 1.2; }
.ek2 .ek2-hero__cta {
  flex: 1 0 auto;
  height: 48px; }
.ek2 .ek2-bcard__foot {
  flex-wrap: wrap;
  align-items: flex-end; }
.ek2 .ek2-bcard__form {
  flex: 1 0 auto;
  max-width: 200px; }
.ek2 .ek2-bcard__add {
  width: 100%; }
.ek2 .ek2-card__prices {
  gap: 2px 6px; }
.ek2 .ek2-card__cenova {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1px 4px; }
.ek2 .ek2-card__cenova > .ek2-card__prices {
  grid-column: 1 / -1; }
.ek2 .ek2-card__cenova > .ek2-card__unit {
  min-width: 0;
  line-height: 15px; }
.ek2 .ek2-card__pack {
  align-self: auto;
  padding: 0;
  border-radius: 0;
  background: none;
  font-size: 15px;
  font-weight: 500;
  white-space: nowrap; }
.ek2 .ek2-card__more {
  font-size: 10px;
  line-height: 15px; }
.ek2 .ek2-card__form .ek2-btn,
.ek2 .ek2-card__pes .ek2-btn,
.ek2 .ek2-card__foot > .ek2-btn {
  height: 44px;
  min-height: 44px; }
.ek2 .ek2-detail {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 480px), 1fr)); }
.ek2 .ek2-detail__intro {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0; }
.ek2 .ek2-detail__intro .ek2-h1 {
  margin: 0;
  text-wrap: balance; }
.ek2 .ek2-detail__intro .ek2-detail__rating {
  padding: 0;
  min-height: 32px;
  align-self: flex-start;
  gap: 8px;
  color: #3D4F4B;
  text-decoration: none; }
.ek2 .ek2-detail__rating-count {
  text-decoration: underline;
  text-underline-offset: 3px; }
.ek2 .ek2-detail__lede {
  font-size: clamp(15px, 1.35vw, 17px); }
.ek2 .ek2-detail__lede > :first-child {
  margin-top: 0; }
.ek2 .ek2-detail__lede > :last-child {
  margin-bottom: 0; }
.ek2 .ek2-detail__buy > .ek2-packs {
  margin-top: 0; }
.ek2 .ek2-packs__list {
  gap: 8px; }
.ek2 .ek2-pack {
  min-height: 54px;
  padding: 8px 14px; }
.ek2 .ek2-detail__row .ek2-btn {
  min-width: 0; }
.ek2 .ek2-detail__media {
  display: block;
  height: auto;
  overflow: visible;
  background: none;
  border-radius: 0; }
.ek2 #product-gallery-main {
  height: clamp(170px, 44vw, 560px);
  border-radius: 14px;
  background: #EFF5F4; }
.ek2 #product-gallery-main .splide__track,
.ek2 #product-gallery-main .splide__list,
.ek2 #product-gallery-main .splide__slide {
  height: 100%; }
.ek2 #product-gallery-main .fancylink {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%; }
.ek2 #product-gallery-main .splide__slide img {
  width: 100%;
  height: 100%;
  object-fit: contain; }
.ek2 #product-gallery-thumbs {
  margin-top: 12px;
  border-radius: 0; }
.ek2 #product-gallery-thumbs .splide__slide {
  position: relative;
  aspect-ratio: 1;
  border: 1.5px solid transparent;
  border-radius: 10px;
  overflow: hidden;
  background: #EFF5F4; }
.ek2 #product-gallery-thumbs .splide__slide.is-active {
  border-color: #034A3F; }
.ek2 #product-gallery-thumbs .splide__slide img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain; }
.ek2 #product-gallery-thumbs .splide__arrows {
  display: none; }
.ek2 .ek2-detail__media > .fancylink {
  display: flex;
  align-items: center;
  justify-content: center;
  height: clamp(170px, 44vw, 560px);
  background: #EFF5F4;
  border-radius: 14px;
  overflow: hidden; }
.ek2 .ek2-detail__media > .fancylink img {
  width: 100%;
  height: 100%;
  object-fit: contain; }
.ek2 .ek2-duvody__znak {
  background: #034A3F;
  color: #FFFFFF; }
.ek2 .ek2-duvody__radek {
  background: #EFF5F4;
  border: 0;
  padding: 20px; }
.ek2 .ek2-videa {
  grid-auto-columns: max(200px, calc((100% - 32px) / 3));
  max-width: 760px;
  gap: 16px; }
.ek2 .ek2-videa-sekce {
  margin-top: clamp(40px, 5vw, 64px); }
.ek2 .ek2-videa__hlava {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 16px;
  max-width: 760px; }
.ek2 .ek2-videa__hlava .ek2-h2 {
  margin: 0; }
.ek2 .ek2-videa__uvod {
  margin: 0;
  font-size: 15px;
  line-height: 1.4;
  color: #3D4F4B;
  text-wrap: pretty; }
.ek2 .ek2-video__titulek {
  font-size: 15px;
  font-weight: 600;
  color: #0B1513; }
.ek2 #recenze, .ek2 .ek2-recenze-form, .ek2 .ek2-recenze-dik {
  max-width: 880px; }
.ek2 .ek2-rec-overovani {
  margin: 0;
  max-width: 68ch;
  font-size: 15px;
  line-height: 1.55;
  color: #3D4F4B;
  text-wrap: pretty; }
.ek2 .review__head {
  gap: 6px 12px; }
.ek2 .review__head > .rating {
  flex-basis: 100%; }
.ek2 .review__head .review__date {
  order: 0; }
.ek2 .review__head .review__overeno {
  order: 1; }
.ek2 .review__text {
  max-width: 68ch; }
.ek2 .ek2-recenze-form {
  padding: clamp(16px, 2.5vw, 32px); }
.ek2 .ek2-recenze-form .rating-input__radio {
  display: block; }
.ek2 .ek2-recenze-form .rating-input {
  --ek-review-star-outline: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linejoin='round'%3E%3Cpath d='M12 4l2.5 5.1 5.5.8-4 3.9 1 5.6-5-2.7-5 2.7 1-5.6-4-3.9 5.5-.8z'/%3E%3C/svg%3E");
  --ek-review-star-filled: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black' stroke='black' stroke-width='1.5' stroke-linejoin='round'%3E%3Cpath d='M12 4l2.5 5.1 5.5.8-4 3.9 1 5.6-5-2.7-5 2.7 1-5.6-4-3.9 5.5-.8z'/%3E%3C/svg%3E"); }
.ek2 .ek2-recenze-form .rating-input__star {
  --ek-review-star-shape: var(--ek-review-star-outline); }
.ek2 .ek2-recenze-form .rating-input__star > [aria-hidden="true"] {
  display: block;
  width: 40px;
  height: 40px;
  font-size: 0;
  background-color: currentColor;
  -webkit-mask: var(--ek-review-star-shape) center/contain no-repeat;
  mask: var(--ek-review-star-shape) center/contain no-repeat; }
.ek2 .ek2-recenze-form .rating-input__radio:checked + .rating-input__star,
.ek2 .ek2-recenze-form .rating-input__radio:checked + .rating-input__star ~ .rating-input__star {
  --ek-review-star-shape: var(--ek-review-star-filled); }
.ek2 .ek2-recenze-form .rating-input:hover .rating-input__star:not(:hover) {
  --ek-review-star-shape: var(--ek-review-star-outline);
  color: #B8CFC9; }
.ek2 .ek2-recenze-form .rating-input:hover .rating-input__star:hover,
.ek2 .ek2-recenze-form .rating-input:hover .rating-input__star:hover ~ .rating-input__star {
  --ek-review-star-shape: var(--ek-review-star-filled);
  color: #034A3F; }
.ek2 .ek2-ctyri__title {
  font-size: clamp(30px, 4vw, 52px);
  text-wrap: balance; }
.ek2 .ek2-ctyri__hledani {
  max-width: 520px;
  height: 52px;
  gap: 0;
  flex-wrap: nowrap;
  align-items: stretch;
  border: 1.5px solid #034A3F;
  border-radius: 999px;
  overflow: hidden; }
.ek2 .ek2-ctyri__pole {
  min-width: 0;
  height: 100%;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font-size: 16px; }
.ek2 .ek2-ctyri__hledani .ek2-ubtn {
  flex: none;
  height: 100%;
  min-height: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  padding: 0 22px; }
.ek2 .ek2-ctyri__hledani:focus-within {
  box-shadow: 0 0 0 3px rgba(3, 74, 63, 0.12); }
.ek2 .ek2-dekujeme .ek2-qr__kod {
  padding: 12px; }
.ek2 .ek2-dekujeme .ek2-qr__kod img {
  order: -1;
  width: 156px;
  height: 156px; }
.ek2 .ek2-dekujeme .ek2-qr__stitek {
  font-size: 12px; }
.ek2 .ek2-dekujeme .ek2-qr__radek {
  min-width: 0; }
.ek2 .ek2-dekujeme .ek2-qr__hodnota {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere; }
.ek2 .ek2-dekujeme .ek2-qr__iban {
  white-space: normal;
  overflow-wrap: anywhere; }
.ek2 .ek2-dekujeme__poukaz,
.ek2 .ek2-poukazy__radek {
  background: #034A3F;
  color: #FFFFFF;
  border-color: #034A3F;
  border-radius: 20px;
  padding: 20px; }
.ek2 .ek2-dekujeme__poukaz h2,
.ek2 .ek2-dekujeme__poukaz p {
  color: inherit; }
.ek2 .ek2-poukazy__kod {
  color: #FFFFFF;
  background: transparent;
  border-color: rgba(255, 255, 255, 0.4); }
.ek2 .ek2-poukazy__do {
  color: #B7D4CD; }
.ek2 .ek2-poukazy__radek {
  flex-direction: column;
  align-items: stretch;
  gap: 16px; }
.ek2 .ek2-poukazy__text {
  order: -1;
  flex-flow: row wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px; }
.ek2 .ek2-poukazy__text strong {
  font-size: 34px;
  line-height: 1.1; }
.ek2 .ek2-poukazy__kod {
  padding: 12px 0 0;
  border: 0;
  border-top: 1px dashed rgba(255, 255, 255, 0.3);
  border-radius: 0; }
.ek2 .ek2-footer__brand {
  gap: 10px; }
.ek2 .ek2-footer__logo {
  margin-bottom: 0; }
.ek2 #cookiescript_injected #cookiescript_accept,
.ek2 #cookiescript_injected #cookiescript_reject {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.2; }

@media screen and (min-width: 768px) and (max-width: 1023px) {
  .ek2 .ek2-nav {
    height: auto;
    min-height: 48px;
    flex-wrap: wrap;
    overflow: visible; }

  .ek2 .ek2-nav > .ek2-nav__item,
  .ek2 .ek2-nav__group {
    height: 48px; }

  .ek2 .ek2-search {
    min-width: 0; } }
@media screen and (max-width: 767px) {
  .ek2 .ek2-header__row {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    grid-template-rows: 60px 60px;
    gap: 0 6px;
    padding-left: 8px;
    padding-right: 8px; }
  .ek2 .ek2-header__row > .ek2-logo {
    min-width: 0; }
  .ek2 .ek2-header__row > .ek2-logo img {
    max-width: 100%;
    height: auto;
    max-height: 22px; }
  .ek2 .ek2-header__row > .ek2-search {
    grid-column: 1 / -1;
    width: calc(100% - 16px);
    margin-left: 8px;
    margin-right: 8px;
    align-self: start; }
  .ek2 .ek2-header__actions {
    gap: 2px;
    margin-left: 0; }
  .ek2 .ek2-header__actions > .ek2-action:not(.ek2-action--cart) {
    width: 48px;
    padding: 0;
    justify-content: center; }
  .ek2 .ek2-header__actions > .ek2-action:not(.ek2-action--cart) .ek2-action__text {
    display: none; }
  .ek2 .ek2-action--cart {
    gap: 6px;
    padding: 0 12px; }
  .ek2 .ek2-action--cart .ek2-action__text {
    display: inline;
    font-size: 14px; }
  .ek2 .ek2-header__row > .ek2-burger {
    width: 48px; }
  .ek2 .ek2-hero {
    gap: 10px; }
  .ek2 .ek2-hero__photo {
    height: 104px; }
  .ek2 .ek2-hero__card:first-child .ek2-hero__photo {
    height: 170px; }
  .ek2 .ek2-hero__card:not(:first-child) .ek2-hero__title {
    font-size: 16px; }
  .ek2 .ek2-hero__card:not(:first-child) .ek2-hero__cta {
    height: 44px; }
  .ek2 .ek2-hero__card:not(:first-child) .ek2-hero__foot {
    gap: 8px; }
  .ek2 .ek2-hero__card:first-child .ek2-hero__cta {
    min-width: 160px; }
  .ek2 .ek2-hero__prices {
    flex-shrink: 0; }
  .ek2 .ek2-bcard__media {
    width: 112px;
    flex: 0 0 112px; }
  .ek2 .ek2-bcard__name {
    font-size: 15px; }
  .ek2 .ek2-bcard__form {
    flex: 1 0 100%;
    max-width: 200px; }
  .ek2 .ek2-bcard__add {
    height: 48px; }
  .ek2 .ek2-card__form .ek2-btn,
  .ek2 .ek2-card__pes .ek2-btn,
  .ek2 .ek2-card__foot > .ek2-btn {
    height: 48px;
    min-height: 48px; }
  .ek2 .ek2-chip, .ek2 .ek2-sort {
    height: 48px;
    font-size: 15px; }
  .ek2 .ek2-detail__intro .ek2-detail__rating {
    min-height: 48px; }
  .ek2 .ek2-detail__media > .fancylink,
  .ek2 .ek2-detail__media > .product-image {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 -16px;
    width: calc(100% + 32px);
    height: 280px;
    background: #EFF5F4; }
  .ek2 .ek2-detail__media > .fancylink img,
  .ek2 .ek2-detail__media > .product-image {
    width: 100%;
    height: 280px;
    object-fit: contain;
    border-radius: 0; }
  .ek2 .ek2-detail__media > .product-image {
    width: calc(100% + 32px);
    max-width: none; }
  .ek2 #product-gallery-main {
    height: 280px;
    border-radius: 0; }
  .ek2 .ek2-duvody__radek {
    padding: 14px 0;
    background: none;
    border-bottom: 1px solid #D7E4E0; }
  .ek2 .ek2-duvody__znak {
    background: #034A3F;
    color: #FFFFFF; }
  .ek2 .ek2-dekujeme .ek2-qr {
    flex-direction: column;
    align-items: stretch; }
  .ek2 .ek2-dekujeme .ek2-qr__kod {
    align-self: center; }
  .ek2 .ek2-dekujeme .ek2-qr__udaje {
    flex-basis: auto;
    width: 100%; }
  .ek2 .ek2-dekujeme .ek2-qr__radek {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 2px 12px; }
  .ek2 .ek2-dekujeme .ek2-qr__popis {
    grid-column: 1; }
  .ek2 .ek2-dekujeme .ek2-qr__hodnota {
    grid-column: 1;
    text-align: left; }
  .ek2 .ek2-dekujeme .ek2-qr__radek .ek2-kopirovat {
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: center; }
  .ek2 .ek2-ucet__menu {
    flex-direction: column;
    max-width: 260px;
    overflow: visible; }
  .ek2 .ek2-footer__cols {
    gap: 24px; }
  .ek2 .ek2-footer {
    margin-top: 64px; }
  .ek2 .ek2-footer__brand {
    width: 100%;
    max-width: none; }
  .ek2 .ek2-footer__logo {
    height: 24px; }
  .ek2 .ek2-footer__bottom {
    margin-top: 0; }
  .ek2 .ek2-footer__badges {
    order: -1;
    width: 100%; }
  .ek2 .ek2-footer__company {
    flex-basis: 100%; }
  .ek2 .ek2-footer__badge {
    height: 30px;
    padding: 0 12px;
    font-size: 15px; }
  .ek2 #cookiescript_injected #cookiescript_buttons {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }

/*# sourceMappingURL=ekoprodukt.css.map */
