/* glbal css */

body {
  font-family: "Nunito", sans-serif !important;
}

#page_wrapper {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

@media screen and (max-width: 991px) {
  #body_wrapper {
    background-image: unset;
    background-color: #fff;
  }
}

/* header */

#top_bar {
  display: none !important;
}

#header_primary {
  background-color: #fff !important;
  margin-bottom: 20px;
}

#st_header .shop_logo {
  width: 180px;
}

.fto-user {
  top: 1px;
  position: relative;
}

.shopping_cart_style_2 .header_item i {
  font-size: 1.366em !important;
}

.ajax_cart_quantity.amount_circle {
  background-color: #ff6519 !important;
}

.amount_circle {
  font-size: 0.8em !important;
}

#st_header.stuck .nav_full_container {
  display: none;
}

@media screen and (max-width: 991px) {
  #st_header .mobile_logo img {
    width: 170px !important;
    margin-top: 5px;
    margin-bottom: 5px;
  }
}

#mobile_bar_right {
  .blockcart {
    margin-left: 10px;
  }
  .blockcart .header_icon_btn_text {
    display: none;
  }
  .login {
    top: -2px;
    position: relative;
    margin-left: 5px;
  }
  .search_widget_block {
    .search_widget_text {
      display: none;
    }
    .input-group-btn {
      display: none;
    }
    .search_widget_form_inner_left-icon {
      width: auto;
      background-color: transparent;
    }
  }
}

.product-detail-action {
  a {
    color: #8c9095;
    text-decoration: underline;
    font-size: 0.9em;
  }
}

@media (max-width: 570px) {
  .product_page_container .pro_right_item {
    width: 100%;
    text-align: center;
  }
}

/* cart popup */

.mfp-close-btn-in .mfp-close,
.mfp-iframe-holder .mfp-close,
.mfp-image-holder .mfp-close,
.st_modal_close {
  right: 0;
  z-index: 9999;
}

/* mobile search */

/* Wrapper + overlay */

.mobile-search-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
  z-index: 9999;
  .form-control {
    border: solid 1px #606060;
    height: 40px;
    border-top-left-radius: 7px;
    border-bottom-left-radius: 7px;
    border-right: 0;
  }
  .form-control::placeholder {
    padding-left: 3px;
    font-size: 13px;
    color: #828282;
    /* tmavší než výchozí šedá (#aaa) */
    opacity: 1;
    /* prohlížeče jako Firefox jinak snižují */
  }
  .search_widget_form_inner {
    padding-right: 15px;
  }
  .search_results {
    max-height: 70vh;
    /* nebo jiná výška, podle potřeby */
    overflow-y: auto;
  }
}

#side_stmobilemenu {
  border-right-width: 1px !important;
  border-right: 1px solid #444 !important;
}

#side_products_cart {
  border-left-width: 1px !important;
  border-left: 1px solid #444 !important;
}

/* Vyhledávací panel */

.mobile-search-overlay {
  background: #fff;
  padding: 20px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
  position: relative;
  z-index: 10001;
  transform: translateY(-100%);
  transition: transform 0.3s ease;
}

/* Viditelnost při aktivaci */

.mobile-search-wrapper.active {
  display: block;
}

.mobile-search-wrapper.active .mobile-search-overlay {
  transform: translateY(0);
}

/* top right desktop */

.loved_link {
  /* .header_icon_btn_text {
        display: none;
    }
    .products_loved_nbr {
        display: none;
    } */
  .fs_lg {
    font-size: 20px;
  }
}

.st_added .fto-heart-5.icon_btn::before {
  content: "\e805";
}

#header_right .amount_circle {
  background-color: #ff6519 !important;
}

/* Zavírací tlačítko */

.mobile-search-close {
  position: absolute;
  top: 0px;
  right: -15px;
  font-size: 28px;
  background: none;
  border: none;
  cursor: pointer;
  z-index: 10002;
  color: #777;
}

/* Tmavé pozadí */

.mobile-search-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  z-index: 10000;
}

/* Product - detail - email */

.ps_emailalerts_product__container {
  padding-bottom: 20px;
  input[type="email"] {
    width: 100% !important;
    padding: 12px !important;
    border-radius: 5px !important;
    border: solid 1px #dcdcdc !important;
    background-color: #ffffff !important;
    margin-bottom: 10px;
    height: auto !important;
  }
  button {
    white-space: normal;
    /* dovolí zalomení textu */
    word-break: break-word;
    /* zalomí dlouhá slova */
    text-align: center;
    /* zarovnání na střed */
    line-height: 1.3;
    /* lepší svislé odsazení řádků */
    padding: 10px 16px;
    /* přiměřený vnitřní prostor */
    width: 100%;
    /* roztáhne se do šířky parentu */
    box-sizing: border-box;
    /* padding se započítá do šířky */
  }
}

/* Breadcrumbs */

.breadcrumb_wrapper {
  border-bottom: 1px solid #f0efef;
  padding: 15px 0 !important;
  li,
  a {
    font-size: 13px;
  }
}

.breadcrumb_spacing {
  height: 0px !important;
}

/* Product - detail - mobile fixed addtocart btn */

@media (max-width: 769px) {
  .product_page_container {
    margin-top: 20px;
  }
}

.between_detials_and_buttons .steasy_divider_item {
  border-bottom: 0;
}

#fixed-add-to-cart-wrapper {
  position: fixed;
  bottom: 50px;
  left: 0;
  right: 0;
  padding: 10px;
  background: white;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
  z-index: 1000;
}

@media (min-width: 769px) {
  #fixed-add-to-cart-wrapper {
    display: none !important;
    /* zobrazuj jen na mobilech */
  }
}

#header_right_top .btn-default,
.cart-content-btn .btn,
.shoppingcart-list .small_cart_btn,
.search_more_products,
.renew-password .btn {
  background-color: #88b027;
  color: #fff !important;
  padding: 10px 20px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  font-size: 16px !important;
}

/* Mega menu override */

/* .nav_full_container {
    background-color: #f2f2f2;
} */

#st_mega_menu_header_container {
  background-color: #fff;
  border-top-left-radius: 14px;
  border-top-right-radius: 14px;
}

body#index .header-container {
  margin-bottom: 0 !important;
}

.st_mega_menu_container {
  width: 100%;
  display: flex;
  justify-content: center;
  /* vycentrování obsahu */
}

#st_mega_menu_header_container {
  width: 100%;
  max-width: 1200px;
  /* šířka 1200px */
  padding: 10px;
  display: flex;
  justify-content: flex-end;
  /* zarovnání menu doprava */
}

@media (max-width: 991px) {
  #st_mo_menu_48 {
    display: none;
  }
}

#st_mega_menu_wrap {
  display: flex;
  /* width: auto; obsah podle potřeby */
  justify-content: flex-end;
  a {
    font-size: 16px;
    /* border-bottom: none !important; */
    /* &:hover {
            color: #ff6519 !important; 
        } */
  }
}

#st_menu_15,
#st_menu_132,
#st_menu_143,
#st_menu_159 {
  display: none;
}

#st_ma_15,
#st_ma_132,
#st_ma_143,
#st_ma_159 {
  font-family: "Nunito", sans-serif !important;
  font-size: 14px !important;
  background-color: transparent !important;
  border: #741a42 solid 1px !important;
  color: #741a42 !important;
  border-radius: 7px;
  padding: 5px 10px !important;
  height: auto !important;
  border-bottom: #741a42 solid 1px !important;
}

#st_menu_132.current #st_ma_132,
#st_menu_15.current #st_ma_15,
#st_menu_143.current #st_ma_143,
#st_menu_143.current #st_ma_159 {
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

#st_menu_multi_level_15,
#st_menu_multi_level_132,
#st_menu_multi_level_143,
#st_menu_multi_level_159 {
  border-top-color: #621335;
}

#st_mega_menu_wrap .bullet li a .list_arrow,
.mu_level_2 a .list_arrow,
.stmenu_multi_level a .list_arrow {
  display: none !important;
}

.ma_level_2.ma_item::before {
  content: "• ";
  color: #000;
  /* nebo jiná barva puntíku */
  font-size: 1em;
  /* případně upravit velikost */
  margin-right: 6px;
  /* mezera mezi puntíkem a textem */
}

@media (min-width: 991px) {
  body.product .st_mega_menu {
    display: flex;
    align-items: center;
    width: 100%;
    .menu-right {
      display: flex;
      justify-content: flex-end;
      align-items: center;
      margin-left: auto;
    }
  }
  .st_mega_menu > li:not(:first-child) {
    margin-left: auto;
  }
}

body #st_menu_15,
body #st_menu_132,
body #st_menu_143,
body #st_menu_159 {
  display: none;
}

body.product #st_menu_15.visible,
body.product #st_menu_132.visible,
body.product #st_menu_143.visible,
body.product #st_menu_159.visible {
  display: list-item;
}

#page_banner_container_1 {
  margin: 0 !important;
}

.st_mega_menu_container,
.boxed_megamenu #st_mega_menu_wrap,
#header_primary #st_mega_menu_wrap {
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Mobile menu */

#st_mobile_menu_ul {
  display: flex;
  flex-direction: column;
}

#mobile_bar_right {
  .mobile_bar_tri {
    display: none !important;
  }
}

#st_mobile_menu_ul li:nth-child(1),
#st_mobile_menu_ul li:nth-child(2),
#st_mobile_menu_ul li:nth-child(3),
#st_mobile_menu_ul li:nth-child(4) {
  order: 1;
}

.ajax_block_product .price {
  font-size: 16px;
}

.ajax_block_product .tax_label {
  font-size: 12px;
}

/* Product - detail */

.delivery-information {
  color: green;
  font-weight: 700;
}

.delivery-information--no {
  color: rgb(146, 19, 19);
  font-weight: 700;
}

.product_name_wrap .product_name {
  font-family: "Nunito", sans-serif !important;
  font-weight: 700 !important;
}

.product_middle_column {
  padding-top: 10px;
}

.product_third_section {
  background-color: #f0efef !important;
}

.product-author-block {
  position: relative;
  top: -15px;
}

.product-author-block .product-author {
  color: #161616;
  font-size: 1.1em;
  font-weight: 600;
}

.product-additional-info .js-mailalert {
  display: flex !important;
  button.mt-1 {
    margin-top: 0 !important;
    margin-left: 5px !important;
  }
}

button.js-mailalert-add {
  background-color: transparent;
  border: #621335 solid 1px !important;
  color: #621335;
  display: inline-block;
  font-size: 15px;
  padding: 7px 20px;
  border-radius: 10px;
  cursor: pointer;
  transition: background 0.3s, transform 0.05s;
  pointer-events: auto;
}

button.js-mailalert-add:hover {
  background: transparent;
  border: #621335 solid 1px !important;
  color: #621335;
}

/* Product detail - video */

.pro_gallery_top_inner .st_easy_video_template.swiper-slide-visible {
  height: 423px;
  max-height: 423px;
  align-content: center;
}

/* Product - detail - qty */

.input-group .form-control,
.input-group-addon,
.input-group-btn {
  flex-direction: row !important;
  align-self: center;
}

.qty_wrap {
  width: auto !important;
}

.qty_wrap.qty_wrap_big {
  width: auto !important;
}

.qty_wrap.qty_wrap_big .btn {
  background-color: #ede7e4 !important;
  border-radius: 50% !important;
  border: 0 !important;
  width: 30px !important;
  height: 30px !important;
  line-height: normal !important;
  color: #56575e !important;
}

.bootstrap-touchspin #quantity_wanted,
.bootstrap-touchspin .cart_quantity,
.bootstrap-touchspin .pro_quantity {
  padding: 0 5px !important;
  width: 45px !important;
  border: solid 1px #56575e !important;
  background-color: transparent !important;
  border-radius: 10px !important;
  margin: 0 7px !important;
}

.product-information .product-price .price {
  font-size: 1.5em !important;
  font-weight: 700 !important;
  color: #741a42 !important;
}

#product-availability {
  text-transform: uppercase;
}

.product-unavailable .delivery-information,
.product-unavailable.delivery-information {
  color: #dd0000;
}

.product-unavailable .delivery-information.delivery-information--later,
.product-unavailable.delivery-information.delivery-information--later {
  color: #fbab24;
}

/* Product - detail - tabs */

/* @media only screen and (min-width: 991px) {
    .product_info_tabs {
        padding-right: 20%;
    }
} */

.product_info_tabs .nav.nav-tabs {
  border-bottom: solid 1px #dcdcdc !important;
}

.product_info_tabs.sttab_block > .nav-tabs .nav-link {
  background-color: transparent !important;
}

.sttab_2_2 > .nav-tabs .nav-link.active,
.sttab_2_2 > .nav-tabs .nav-link:focus {
  background-color: transparent !important;
}

.sttab_1_2 > .nav-tabs .nav-link.active,
.sttab_1_2 > .nav-tabs .nav-link:focus,
.sttab_1_2 > .nav-tabs .nav-link:hover,
.sttab_2_2 > .nav-tabs .nav-link.active,
.sttab_2_2 > .nav-tabs .nav-link:focus,
.sttab_2_2 > .nav-tabs .nav-link:hover {
  border-top: 0 !important;
  border-bottom: 4px solid #ffaf33;
  color: #ffaf33 !important;
  font-weight: 600 !important;
}

.product_info_tabs.sttab_block > .nav-tabs .nav-link {
  border-top: 0 !important;
}

@media only screen and (max-width: 991px) {
  .mobile_tab .nav-tabs {
    display: flex !important;
  }
  .mobile_tab .mobile_tab_title {
    display: none !important;
  }
  .mobile_tab .tab-pane {
    display: none;
  }
  .mobile_tab .tab-pane.active,
  .mobile_tab .tab-pane.active .tab-pane-body {
    display: block;
  }
}

/* Product - detail - point info */

.between_detials_and_buttons {
  margin: 0 !important;
}

.product-info-points {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 10px;
  .product-info-points__point {
    display: flex;
    font-size: 0.9em;
    /* margin-right: 20px; */
    margin-bottom: 10px;
    align-items: center;
    color: #601032;
  }
  .product-info-points__img {
    /* background-color: #c2c2c2; */
    width: 30px;
    height: 30px;
    /* border-radius: 50%; */
    margin-right: 10px;
    flex-shrink: 0;
    background-repeat: no-repeat;
    background-size: contain;
  }
  .product-info-points__img--transport {
    background-image: url("/img/cms/Konkuencni_vyhody/ikona-vyhody-auto-violet.png");
  }
  .product-info-points__img--gift {
    background-image: url("/img/cms/Konkuencni_vyhody/ikona-vyhody-darek-violet.png");
  }
  .product-info-points__img--delivery {
    background-image: url("/img/cms/Konkuencni_vyhody/ikona-vyhody-hodiny-violet.png");
  }
  .product-info-points__img--czech {
    background-image: url("/img/cms/Konkuencni_vyhody/ico_czech_flag.png");
  }
}

/* Product - detail - Review */

.product-comment-modal {
  background-color: rgba(0, 0, 0, 0.5) !important;
}

.comment_nbr {
  color: #8c9095 !important;
  font-size: 0.9em !important;
}

.comment_nbr::before {
  content: "(";
}

.comment_nbr::after {
  content: ")";
}

.st_product_comment_wrap .originalTextareaInfo {
  width: 100% !important;
}

#js_pcomments_filter div:nth-child(3) {
  display: none !important;
}

.product_middle_column_inner {
  .product-comments-additional-info {
    margin: 0 !important;
    .post-product-comment,
    .additional-links {
      display: none !important;
    }
  }
}

.comments-note span {
  display: none;
}

span.comments-note__grade {
  display: inline-block;
  font-weight: 600;
}

.modal.show .modal-dialog {
  z-index: 9999999999 !important;
}

.tso-modal {
  .close {
    align-self: flex-end;
    margin: 10px;
  }
  @media (min-width: 480px) {
    .modal-dialog {
      max-width: 800px !important;
      font-size: 90% !important;
    }
  }
}

@media (min-width: 480px) {
  .modal-dialog {
    max-width: 700px !important;
  }
}

.js-tso-modal-content {
  padding: 20px;
}

.comments-note__small-comments {
  color: #8c9095;
}

.product-comments-list-header {
  padding: 20px 15px;
  color: #232323;
  display: flex;
  flex-direction: column;
}

.product-comment-list-item .comment-content p {
  font-size: 16px;
  line-height: 1.5;
}

@media only screen and (max-width: 768px) {
  .product_desc_column {
    order: 2;
  }
  .product_desc_right_column {
    order: 1;
  }
}

#detail .nav-tabs.sticky-tabs {
  display: none;
  position: fixed;
  width: 100%;
  top: 50px;
  z-index: 999;
  background-color: rgba(255, 255, 255, 0.9);
  @media only screen and (max-width: 768px) {
    position: fixed;
  }
}

#post-product-comment-modal button[type="submit"]:hover {
  border-color: #88b027 !important;
  color: #88b027 !important;
}

.product_desc_right_column {
  /* @media only screen and (max-width: 991px) {
        display: none !important;
    } */
  .product-comments-list-header {
    border-bottom: 1px solid #ddd;
    height: 72px;
    margin-bottom: 20px;
    line-height: 72px;
    h5 {
      font-size: 0.875rem;
      font-weight: 400;
      padding: 15px 0;
      color: #444;
    }
  }
  .product-comment-list-item {
    margin: 0;
    padding: 0;
  }
  .btn-comment-big {
    height: auto;
  }
  @media only screen and (max-width: 768px) {
    .product-comments-list-header {
      display: none;
    }
    .product-comment-list-item {
      display: none;
    }
    .product-comment-list-item:first-of-type {
      display: flex;
    }
    .btn-comment-big {
      display: block;
      margin-left: auto;
      margin-right: auto;
      width: 100%;
    }
    .post-product-comment-right {
      background-color: transparent !important;
      text-decoration: underline !important;
      border: none !important;
      color: #8c9095 !important;
      font-size: 0.9em !important;
      box-shadow: none !important;
    }
  }
  .product-comment-list-item .comment-infos .grade-stars {
    margin-bottom: 7px;
  }
  .comment-infos {
    height: auto;
    min-height: auto;
    margin-bottom: 10px;
  }
  .checked-comment {
    position: relative;
    top: -7px;
  }
}

.btn-comment,
a.more-blog {
  font-family: "Nunito", sans-serif !important;
  font-size: 14px !important;
  background-color: transparent !important;
  border: #741a42 solid 1px !important;
  color: #741a42 !important;
  padding: 10px 20px !important;
  border-radius: 5px !important;
  margin-bottom: 20px !important;
  margin-left: 15px;
  /* line-height: 24px; */
  box-shadow: none;
}

a.more-blog {
  margin: 0 auto;
  display: block;
  width: 200px;
}

#product-comments-list-pagination ul li span {
  font-size: 16px;
}

#product-comments-list-pagination .material-icons {
  font-size: 18px;
}

#post-product-comment-modal .criterion-rating {
  justify-content: flex-start;
}

#ratingNotChosen {
  text-align: left;
}

/* Product - list - product card */

.pro_outer_box {
  .product-list-reviews {
    /* top: -20px !important; */
    position: relative;
    margin-bottom: 10px;
    top: 0;
  }
}

/* Product - detail - category simmilars */

#category_products_container {
  margin-top: 40px !important;
}

/* Search widget - header */

.search_widget_text::placeholder {
  color: #828282;
  /* tmavší než výchozí šedá (#aaa) */
  opacity: 1;
  /* prohlížeče jako Firefox jinak snižují */
}

.search_widget_block {
  width: 50% !important;
  @media screen and (max-width: 560px) {
    width: 100% !important;
  }
}

.search_widget_form_inner {
  height: 40px;
  .search_widget_form_inner_left-icon {
    width: 40px;
    height: 40px;
    background-color: #f2f2f2;
    display: flex;
    justify-content: center;
    align-content: center;
    flex-wrap: wrap;
    border-top-left-radius: 7px;
    border-bottom-left-radius: 7px;
  }
  .search_widget_text {
    background-color: #f2f2f2;
    color: #414a56;
    height: 40px;
  }
  &.input-group-with-border {
    border: none !important;
  }
  .btn.btn-search {
    background-color: #88b027;
    color: #fff;
    border-top-right-radius: 7px;
    border-bottom-right-radius: 7px;
    height: 40px;
    display: flex;
    width: 60px;
    font-weight: 600;
    align-content: center;
    flex-wrap: wrap;
    justify-content: center;
    font-size: 14px;
    font-family: "Nunito", sans-serif !important;
  }
  .btn.btn-search:hover {
    background-color: #627d22;
    color: #fff;
  }
}

/* icon search */

.fto-search-1 {
  display: inline-block;
  width: 16px;
  height: 16px;
  background: url("/img/search-button.svg") no-repeat center center;
  background-size: contain;
  font-style: normal;
  /* pro jistotu, protože <i> má obvykle italic */
  text-indent: -9999px;
  /* skryje případný text uvnitř */
  stroke: #333;
  /* pro čárové ikony */
  fill: #333;
  /* pro plné tvary, pokud by tam byly */
}

/* Megamenu */

#st_menu_block_13,
#st_menu_block_43,
#st_menu_block_46,
#st_menu_block_76,
#st_menu_block_78,
#st_menu_block_86,
#st_menu_block_112 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 25px;
}

.st_mega_menu .col-md-12 {
  /* display: flex; */
  gap: 15px;
}

div#st_mega_menu_column img {
  width: 70px;
  /* border-radius: 50%; */
  height: 70px;
}

#st_mega_menu_column .title_block {
  display: none !important;
}

#st_mega_menu_column_block {
  margin-top: 0 !important;
  padding-top: 0 !important;
  #st_mega_menu_column_desktop {
    .ml_level_0.current .ma_level_0 {
      border-left-color: #ffaf33 !important;
      color: #444 !important;
      box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
    }
    .ml_level_0.current .ma_level_0.is_parent {
      &::after {
        content: "";
        position: absolute;
        top: 0;
        right: -15px;
        width: 40px;
        height: 41px;
        background-color: #fff !important;
        z-index: 1000;
      }
    }
    .mu_level_2 .granditem_0 > ul,
    .st_mega_menu .stmenu_sub,
    .stmenu_multi_level ul {
      box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
    }
    .stmenu_sub.style_wide.col-md-12 {
      border-top-right-radius: 10px;
      border-bottom-right-radius: 10px;
      border-bottom-left-radius: 10px;
      border-top-left-radius: 10px;
    }
  }
}

/* category page - product list */

body#category .category_page_heading {
  margin-top: 20px;
}

/* right col */

@media screen and (min-width: 991px) {
  #rightbar {
    display: none !important;
  }
}

/* breadcrumb */

@media screen and (max-width: 991px) {
  .breadcrumb_nav ul {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    white-space: nowrap;
    gap: 0.5rem;
    /* Mezera mezi položkami (volitelné) */
    li {
      flex: 0 0 auto;
    }
  }
}

/* subcategories */

#subcategories .subcate_grid_view li .s_title_block {
  overflow: none;
  height: 4.2em;
  @media screen and (max-width: 991px) {
    height: 6em;
  }
}

#subcategories .subcate_grid_view li .subcategory-name {
  overflow: hidden;
  background-color: transparent;
  border: #621335 solid 1px;
  color: #621335;
  border-radius: 7px;
  padding: 7px 10px;
  text-align: left;
  min-height: 4em;
  vertical-align: middle;
  display: flex;
  align-content: center;
  flex-wrap: wrap;
}

@media screen and (max-width: 991px) {
  #subcategories .subcate_grid_view {
    display: flex;
    flex-wrap: wrap;
    /* gap: 16px; */
  }
  #subcategories .subcate_grid_view > li {
    flex: 1 1 calc(50% - 16px);
    display: flex;
    flex-direction: column;
  }
  /* Samotný .s_title_block se roztáhne podle nejvyššího */
  #subcategories .subcate_grid_view li .s_title_block {
    flex-grow: 1;
    display: flex;
    align-items: flex-start;
  }
  #subcategories .subcate_grid_view li .subcategory-name {
    width: 100%;
    height: 100%;
  }
}

.products_section .s_title_block {
  flex-grow: 1;
  display: flex !important;
  align-items: flex-start;
  max-height: 4.5em;
  justify-content: center;
  a:hover {
    color: rgb(0, 0, 0) !important;
  }
}

/* blockcart modal */

.blockcart .dropdown_box .bootstrap-touchspin .btn-touchspin {
  background-color: rgb(235, 235, 235);
  border-radius: 50%;
  height: 24px;
}

@media (max-width: 767px) {
  #blockcart-modal {
    .modal-dialog {
      width: 98% !important;
    }
    .modal-content {
      margin-left: 0 !important;
      margin-right: 0 !important;
    }
    .product_name_wrap .product_name {
      font-size: 20px !important;
    }
  }
}

/* checkout page - cart */

.product-line-actions .product-price {
  color: #363a42 !important;
  font-size: 20px;
  font-weight: 500;
}

@media screen and (max-width: 991px) {
  .js-tso-cart-detailed-totals-bottom {
    margin-top: -20px;
  }

  .js-tso-cart-detailed-totals-bottom .card-block {
    padding: 0 !important;
  }
}

.js-tso-cart-detailed-totals-bottom .value {
  color: #621335 !important;
  font-size: 20px;
}

.product-quantity-actions {
  .bootstrap-touchspin .input-group-btn-vertical {
    width: auto;
    margin-left: 4px;
  }
  .js-tso-increase-product-quantity {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="black" viewBox="0 0 16 16"><path d="M8 4l4 6H4l4-6z"/></svg>');
    width: 20xp;
    height: 20xp;
    border: none;
  }
  .js-tso-decrease-product-quantity {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="black" viewBox="0 0 16 16"><path d="M8 12L4 6h8l-4 6z"/></svg>');
    width: 20xp;
    height: 20xp;
    border: none;
  }
  .input-group {
    display: inline-flex;
    width: 80px;
    border-radius: 5px;
    .js-tso-cart-line-product-quantity {
      border-radius: 5px !important;
    }
  }
  /* a, button {
        display: inline-flex;
        background-color:rgb(237, 237, 237);
        width: 20px;
        height: 20px;
        border-radius: 50%;
        text-align: center;
        justify-content: center;
        align-items: anchor-center;
    } */
}

#checkout-left .ets_crosssell_tab {
  font-family: "Nunito", sans-serif !important;
  font-size: 22px;
  border: 0;
  color: #494a50;
  border-color: #f4f5f6;
  border-bottom-width: 2px;
  border-bottom-style: solid;
}

.cart-voucher-enable {
  text-decoration: underline;
}

body.module-b4n_three_step_order-checkout #mobile_bar .container {
  margin-bottom: 0px;
}

#module-b4n_three_step_order-checkout input[type="radio"]::before {
  background-color: #621335;
}

#module-b4n_three_step_order-checkout input[type="checkbox"]::before {
  background-color: #621335;
}

#lffsm-cart-drowpdown-js-wrapper {
  padding: 0 20px;
}

.shop-id-3 #header_primary,
.shop-id-4 #header_primary {
  background: url("/img/cms/bg-texture-header_wood.jpg") bottom left repeat-x;
}

.shop-id-3 #st_header.stuck #header_primary,
.shop-id-4 #st_header.stuck #header_primary {
  background-image: none;
}

.shop-id-1 #header_primary::before,
.shop-id-2 #header_primary::before {
  content: "";
  background: white;
  position: absolute;
  z-index: -1;
  bottom: -6px;
  left: 0;
  height: 6px;
  right: 0;
  --mask: radial-gradient(
        4.8px at 50% calc(100% - 6.75px),
        #000 99%,
        #0000 101%
      )
      calc(50% - 6px) 0 / 12px 100%,
    radial-gradient(4.8px at 50% calc(100% + 3.75px), #0000 99%, #000 101%) 50%
      calc(100% - 3px) / 12px 100% repeat-x;
  mask: var(--mask);
  -webkit-mask: var(--mask);
}

#module-b4n_three_step_order-checkout,
#module-b4n_three_step_order-authentication {
  .container {
    max-width: 1200px;
    margin-bottom: 50px;
  }
  #header_primary_container {
    margin-bottom: 0;
  }
  #notifications .container {
    margin-bottom: 0;
  }
  .breadcrumb_wrapper {
    display: none !important;
  }
  .tso-order-step__progress {
    /* @media screen and (max-width: 991px) {
            top: 23px;
        } */
  }
  #tso-order-step .step span em {
    background-color: #f1f1f1 !important;
  }
  #tso-order-step {
    padding: 0;
    @media screen and (max-width: 991px) {
      margin-bottom: 40px;
    }
  }
  #tso-order-step.current-step-1 {
    @media screen and (max-width: 991px) {
      margin-bottom: 0px;
    }
  }
  @media (max-width: 991.98px) {
    #checkout-right {
      padding: 0 15px;
    }
  }
  #tso-order-step .step.active span em {
    background-color: #621335 !important;
    color: #fff !important;
  }
  .block-promo .promo-input {
    font-size: 12px;
    padding: 0 9px;
    border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;
    border: 1px solid #bbb;
  }
  .block-promo .promo-code button {
    background-color: transparent;
    border: #621335 solid 1px;
    color: #621335;
    border-top-left-radius: 0;
    border-top-right-radius: 3px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 3px;
  }
  #checkout-right {
    padding: 0 1rem;
  }
  #checkout-right > .card,
  #checkout-right > .card-block,
  .js-tso-checkout-summary > .card-block {
    background-color: #f7f7f7;
    padding: 10px 20px !important;
    border-radius: 7px;
    .tso-title {
      padding-left: 0;
    }
  }
  .js-tso-checkout-summary {
    h3.tso-title {
      background-color: transparent;
      margin: 0 0 10px 0;
      padding: 0;
    }
  }
  .tso-cart-summary-totals {
    margin-top: -10px;
  }
  .remove-from-cart--mobile {
    display: none;
  }
  .remove-from-cart--desktop {
    display: inline-flex;
  }
  @media (max-width: 991.98px) {
    #checkout-left
      #payments-content
      #payments-list
      .payment-item
      label
      .item-price {
      flex-basis: unset;
    }
    #checkout-left .cart-overview .product-line-grid .bootstrap-touchspin {
      display: inline-flex;
      width: 60px;
    }
    /* .remove-from-cart--mobile {
      display: inline-flex;
      position: relative;
      top: 5px;
    } */
    .remove-from-cart--desktop {
      display: none;
    }
  }
  #module-b4n_three_step_order-checkout,
  #module-b4n_three_step_order-authentication {
    & #checkout-left h3 {
      @media (max-width: 991.98px) {
        backgroun-color: #621335;
      }
    }
  }
  #checkout-right .cart_navigation a,
  #login-page-form .button.btn.btn-default,
  #checkout-sum-mobile .cart_navigation a,
  #password_recovery_submit {
    background-color: #88b027;
    color: #fff;
    font-weight: 700;
    padding: 10px 20px;
    border-radius: 5px;
    border: none;
    font-size: 1em;
    &:hover {
      background-color: #64831c;
      color: #fff;
    }
  }
  #checkout-sum-mobile .cart_navigation a {
    width: 100%;
    text-align: center;
  }
  #checkout-right .cart_navigation a.btn-back {
    background-color: transparent;
    border: #696969 solid 1px !important;
    color: #696969;
    &:hover {
      background-color: #696969 !important;
      color: #fff;
    }
  }
  @media only screen and (max-width: 480px) {
    #checkout-right .cart_navigation .btn-next {
      margin-bottom: 0px;
    }
  }
  #checkout-right .cart_navigation .icon-chevron-left {
    display: none;
  }
  #lffsm-cart-right-js-wrapper .lffsm-body-cart-right {
    margin-bottom: 0;
  }
  #checkout-right .cart_navigation #order_confirmation_button {
    margin-left: 5px;
  }
  .cart-summary {
    padding: 0 !important;
    border: 0;
    border-radius: none;
  }
  #login-page-form {
    width: 50%;
    margin: auto;
  }
  .cart-summary-products .media-left {
    padding-right: 10px;
  }
  #checkout-left h3.tso-title {
    border-radius: 7px;
    @media (max-width: 991.98px) {
      margin-top: 20px;
      background-color: #621335;
      color: #fff;
    }
  }
  #checkout-left .product-line-grid-left {
    width: auto;
  }
  #user-login-form-button {
    background-color: transparent;
    border: #621335 solid 1px !important;
    border-radius: 5px;
    padding: 10px 20px;
    color: #621335 !important;
    font-weight: 600 !important;
  }
  #dmppl_button,
  #dmbalikovna_button,
  #open-packeta-widget {
    background-color: transparent;
    border: #621335 solid 1px;
    border-radius: 5px;
    padding: 10px 20px;
    color: #621335 !important;
    font-weight: 600 !important;
    width: 50%;
    @media screen and (max-width: 991px) {
      width: 100%;
    }
  }
}

#cart_page-specificproducts {
  margin: 0;
  @media screen and (max-width: 570px) {
    padding: 0 15px;
  }
  article {
    width: 33%;
    @media screen and (max-width: 570px) {
      width: 50%;
    }
  }
}

/* product - list */

.products.product_list.grid {
  display: flex;
  flex-wrap: wrap;
  /* padding-left: 15px;
    padding-right: 15px; */
  &.ets_mp_desktop_3 {
    article {
      width: 33% !important;
    }
    @media (max-width: 560px) {
      article {
        width: 50% !important;
        padding: 15px;
      }
    }
  }
}

/* product list */

@media (max-width: 560px) {
  .ajax_block_product .s_title_block,
  .pro_column_right .s_title_block {
    font-size: 15px;
  }
  .ajax_block_product .price {
    font-size: 17px;
  }
}

/* crosssell block */

.crosssell_product_list_wrapper.layout-slide.slick-slider {
  margin: 0 !important;
}

.ets_crosssell_block {
  margin-left: 0;
  margin-right: 0;
}

.ets_crosssell_block .ets_crosssell_title,
.ets_crosssell_nav_tabs.nav-tabs li.active a,
.title_style_0 .title_block_inner {
  font-family: "Nunito", sans-serif !important;
  font-size: 22px;
  border: 0;
  color: #494a50;
  border-color: #f4f5f6;
  border-bottom-width: 2px;
  border-bottom-style: solid;
  @media (max-width: 560px) {
    font-size: 19px;
  }
}

.ets_crosssell_block .slick-initialized .slick-slide {
  padding-right: 3px;
  padding-left: 3px;
}

@media (max-width: 560px) {
  .ets_crosssell_block .ets_crosssell_title,
  .title_style_0 .title_block_inner {
    width: 100%;
    font-size: 16px;
    text-align: center;
    justify-content: center;
    margin: 0;
  }
  .h4,
  h4 {
    font-size: 1.2rem;
    line-height: 1.6rem;
  }
  .h5,
  h5 {
    font-size: 1rem;
  }
}

/* homepage block */

#swiper_container_1 {
  margin-bottom: 0;
}

.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide,
.swiper-wrapper .swiper-slide {
  border-radius: 10px;
}

.st_banner_block .adveditor_image {
  border-radius: 10px;
}

#favourite-products-hp {
  @media (min-width: 1200px) {
    .col-xl-3 {
      flex: 0 0 33%;
      max-width: 33%;
    }
  }
  @media (max-width: 560px) {
    .col-xl-3 {
      flex: 0 0 50%;
      max-width: 50%;
    }
  }
}

#steb_pro_container_c055276 {
  .title_block {
    margin-bottom: 0 !important;
  }
}

.elementor-element-ecf1f34 {
  .elementor-column-gap-default
    > .elementor-column
    > .elementor-element-populated {
    padding: 0 !important;
  }
  figure.wp-caption {
    display: flex;
    text-align: center;
    justify-content: center;
  }
  .st_image_layered_heading {
    text-shadow: 0 0 5px #000;
  }
  figcaption.widget-image-caption {
    position: absolute;
    bottom: 5px;
    width: 95%;
    background-color: rgba(174, 87, 18, 0.75);
    color: #fff;
    padding: 5px 10px;
    font-weight: 600;
    font-size: 1.2em;
  }
  /* .elementor-col-50 {
        .elementor-widget-wrap {
            padding: 0;    
        }        
    }  */
  .elementor-col-50:nth-child(1) {
    padding-top: 12px;
    padding-right: 7px;
    padding-left: 0px;
  }
  .elementor-col-50:nth-child(2) {
    padding-top: 12px;
    padding-left: 7px;
    padding-right: 0px;
  }
}

/* Layout */

@media (max-width: 991px) {
  #left_column {
    order: 2;
  }
  #center_column {
    order: 1;
  }
}

.page_heading {
  margin-top: 10px;
}

/* Left col */

#steb_pro_container_9fadf58 .title_block {
  cursor: pointer;
}

/* last seen products */

#stviewedproducts_container_c5d0995a29 article div:nth-of-type(n + 3) {
  display: none !important;
}

#stviewedproducts_container_c5d0995a29 .swiper-button-tr {
  display: none !important;
}

.stviewedproducts_container {
  .tax_label,
  .regular-price,
  .discount-amount {
    display: none !important;
  }
}

#left_column .product-price-and-shipping {
  .tax_label,
  .discount {
    display: none !important;
  }
  .price {
    font-weight: bold;
  }
}

/* cart btn responsive */

@media (max-width: 560px) {
  .btn.ajax_add_to_cart_button,
  .btn.add-to-cart {
    text-wrap: auto;
    line-height: 1.2rem;
  }
}

@media (min-width: 991px) {
  .pro_cart_block .add_to_love {
    display: inline-block;
    margin-left: 20px;
  }
  .mobile_center_column {
    display: none;
  }
  .product_list .add_to_love:not(.hover_fly_btn) {
    display: none;
  }
}

@media (max-width: 991px) {
  .pro_cart_block .add_to_love {
    display: none;
  }
  .mobile_center_column {
    display: block;
    text-align: center;
    margin-bottom: 10px;
  }
}

/* wishes hp block */

.wishes-and-gifts {
  display: block;
  width: 100%;
  overflow: hidden;
  position: relative;
  background-color: #e7e8e4;
  .wishes-and-gifts__wrapper {
    display: flex;
    flex-direction: column;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    padding: 10px;
    text-align: right;
    color: #000;
    .wishes-and-gifts__title {
      display: block;
      font-size: 1.1rem;
    }
    .wishes-and-gifts__text {
      width: 75%;
      align-self: end;
      p {
        margin-bottom: 10px;
      }
    }
    .wishes-and-gifts__button {
      border-radius: 5px 5px 5px 5px;
      color: #ffffff;
      background-color: #621335;
      font-size: 13px;
      padding: 7px 20px;
      border: 0;
    }
  }
}

.btn-default {
  border: none !important;
}

/* product list */

.products article:hover {
  border: 1px solid rgba(174, 88, 18, 0.5) !important;
}

.products article.swiper-slide {
  border: none !important;
}

/* category page - product list - mobile */

@media (max-width: 560px) {
  .category-description {
    text-align: justify;
  }
}

/* blog */

.block_blog .s_title_block {
  font-size: 18px !important;
  font-weight: 700;
  height: auto;
  overflow: auto;
  margin-bottom: 10px;
}

.blog_info {
  display: none !important;
}

.fs_md {
  font-size: 16px !important;
}

.block_blog .add_to_love {
  display: none !important;
}

#module-stblog-default .pro_first_box {
  float: left;
}

/* footer
/* #footer-secondary {
    background-color: transparent !important;
}
    */

@media (min-width: 991px) {
  #footer-tertiary {
    padding-left: 10px;
    padding-right: 10px;
  }
}

#st_mega_menu_wrap .stmenu_multi_level {
  .is_parent_icon {
    display: none;
  }
  .ma_item.has_children::after {
    font-family: "fontello";
    opacity: 0.7;
    top: 0;
    position: relative;
    font-size: 18px;
    text-transform: none;
    color: #444;
    float: right;
    content: "\f105";
    display: block;
  }
}

/* vars */

:root {
  --tso-color-gray-light: rgb(233, 233, 233) !important;
}

/* CMS pages - default style */

#cms {
  .cms_page_heading {
    font-size: 24px;
    font-weight: 800;
    margin-bottom: 20px;
  }
  .cms_content {
    h2 {
      font-size: 24px;
      margin-bottom: 20px;
      font-weight: 600;
    }
    h3 {
      font-size: 20px;
      font-weight: 600;
      color: #741a42;
      margin: 20px 0;
    }
    p {
      line-height: 1.6;
    }
  }
}

#cms table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1rem;
  color: #212529;
  background-color: transparent;
}

#cms table thead {
  background-color: #f8f9fa;
}

#cms table th,
#cms table td {
  padding: 0.75rem;
  vertical-align: top;
  border-top: 1px solid #dee2e6;
}

#cms table tbody tr:nth-child(odd) {
  background-color: #f9f9f9;
  /* striped effect */
}

#cms table tbody tr:hover {
  background-color: #f1f1f1;
  /* hover effect */
}

.cart-content-btn button.btn-continue-shopping {
  background-color: transparent !important;
  border: #621335 solid 1px !important;
  color: #621335 !important;
}

#code_phone {
  height: 42px !important;
  width: 90px !important;
  margin-right: 5px;
  /* margin-left: 15px; */
}

#phone {
  /* margin-left: 27px; */
}

#phone-group-wrapper {
  display: flex;
}

@media (max-width: 504px) {
  /* #code_phone {
        height: 42px !important;
        margin-left: 0px;
    }

    #phone {
        margin-left: 0px;
        margin-left: 10px;
    } */
  .email-group,
  .phone-group {
    flex-basis: 100% !important;
  }
}

#history #content .col-lg-9 .table {
  font-size: 14px !important;
}

.lffsm-cart-dropdown-js-wrapper {
  padding: 0 10px;
}

.cart-summary-totals {
  border-top: 1px solid var(--tso-color-gray-light);
}

/* f00ter custom content */

#steasy_column_33 img,
#steasy_column_37 img,
#steasy_column_40 img,
#steasy_column_43 img {
  width: 60px !important;
}

/* all btns size and font */

.add-to-cart.btn,
.ajax_add_to_cart_button.btn span,
.view_button.btn span,
.search_widget_form_inner .search_widget_text {
  font-size: 14px !important;
  font-family: "Nunito", sans-serif !important;
}

#authentication .btn.btn-primary {
  font-size: 14px !important;
  font-family: "Nunito", sans-serif !important;
  background-color: #88b027 !important;
  color: #ffffff;
  border-radius: 10px 10px 10px 10px;
  font-weight: 600;
  border: none !important;
}

#authentication .btn.btn-primary:hover {
  background-color: #64831c !important;
  color: #ffffff;
}

a.forgot-password {
  text-decoration: underline;
}

a.forgot-password:hover {
  text-decoration: none;
}

.new-passwords-warning {
  font-size: 14px;
}

#password-recovery-page-form {
  width: 50%;
  margin: auto;
  @media (max-width: 991px) {
    width: 100%;
  }
}

#cgv-form-group a {
  text-decoration: underline !important;
}

#cgv-form-group a:hover {
  text-decoration: none !important;
}

.dm_heureka .custom-checkbox span {
  display: none;
}

.dm_heureka .float-xs-left {
  float: left;
  margin-right: 12px;
}

.dm_heureka .condition-label {
  float: left;
  /* margin-left: 12px; */
}

.dm_zbozi .custom-checkbox span {
  display: none;
}

.dm_zbozi .float-xs-left {
  float: left;
  margin-right: 12px;
}

.dm_zbozi .condition-label {
  float: left;
  /* margin-left: 12px; */
}

.contact-info__wrapper > div.form-group:has(input[id="newsletter"]) {
  order: 3;
}

.post-comment-buttons .btn[data-dismiss="modal"] {
  background-color: #efefef !important;
  height: 38px;
  font-weight: normal;
  box-shadow: none !important;
  font-size: 14px !important;
  font-family: "Nunito", sans-serif !important;
  border-radius: 7px;
  line-height: 0px;
}

.pro_second_box .btn-primary {
  background-color: #88b027 !important;
  color: #fff !important;
  border-color: #88b027 !important;
  font-weight: 600;
  border-radius: 10px 10px 10px 10px;
  font-size: 14px !important;
  font-family: "Nunito", sans-serif !important;
}

@media screen and (max-width: 570px) {
  .elementor-element-9fadf58 {
    border-top: 1px solid #ccc;
    padding-top: 20px;
    margin-top: 10px;
  }
}

.is_logged_1 .fto-user.icon_btn:before {
  content: "\e850";
  color: #74c174;
  font-size: 24px;
}

.s_title_block.two_rows {
  height: 3em;
}

.dm-support-ico-list {
  display: inline-block;
  top: 2px;
  position: relative;
}

.overEighteenCheckbox {
  float: left;
  margin-right: 10px !important;
}

body {
  color: #363a42 !important;
  font-size: 16px !important;
}

@media screen and (min-width: 910px) {
  .swiper-button-lr.swiper-navigation-circle:hover > .swiper-button-prev {
    left: 150px;
  }
  .swiper-button-lr.swiper-navigation-circle:hover > .swiper-button-next {
    right: 150px;
  }
}

.delivery-information {
  text-transform: uppercase;
}

.delivery-information--later {
  color: #fbab24;
  text-transform: uppercase;
}

#detail {
  h1 {
    font-size: 32px !important;
  }
  h2 {
    font-size: 24px !important;
  }
  h3 {
    font-size: 20px !important;
  }
  h4 {
    font-size: 18px !important;
  }
}

.product_list_item .pro_second_box a:hover {
  color: #444 !important;
}

/* header offset udržuj na jednom místě */

:root {
  --header-offset: 140px;
}

/* když se skroluje na #notifications, přidej horní rezervu */

#notifications {
  scroll-margin-top: var(--header-offset);
}

/* fallback pro skok na kotvu (hash v URL) i starší chování prohlížečů */

#notifications::before {
  content: "";
  display: block;
  height: var(--header-offset);
  margin-top: calc(-1 * var(--header-offset));
  visibility: hidden;
}

/* font optimalization */

@font-face {
  font-family: "fontello";
  src: url(../css/ce59b71d94585b8f6e8b.woff2) format("woff2"),
    url(../css/f8546b732ace70b0edb3.woff) format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* product swipers */

/* 0) Slidy ve stejném řádku musí mít stejnou výšku */

.products_sldier_swiper .swiper-wrapper {
  display: flex;
  /* pro jistotu */
  align-items: stretch;
  /* klíčové: natáhne všechny slidy na stejnou výšku */
}

.products_sldier_swiper .swiper-slide {
  height: auto;
  /* ať se mohou roztáhnout */
}

/* 1) Karta = flex-sloupec přes celou výšku slidu */

.products_sldier_swiper .swiper-slide .pro_outer_box {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 100%;
}

/* 2) Horní box s obrázkem je pevný, spodní obsah vyplní zbytek */

.products_sldier_swiper .pro_first_box {
  flex: 0 0 auto;
}

/* 3) Spodní obsah (nadpis, cena, dostupnost, popis + tlačítko jako sourozenec) */

.products_sldier_swiper .pro_second_box {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  /* <- tohle je důležité, aby sahal až dolů */
  min-height: 0;
  /* fix pro přetečení ve flex kontejnerech (Safari/Chromium) */
}

/* 4) Vnitřní <a> s texty vyplní dostupnou výšku */

.products_sldier_swiper .pro_second_box > a {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}

/* 5) Tlačítko přitlačit ke dnu pro_second_box */

.products_sldier_swiper .act_box_cart {
  margin-top: auto;
  flex: 0 0 auto;
}

.pro_second_box a:hover {
  color: #444 !important;
}

/* product list */

/* Normalizace obrazové části karty – fixní poměr 7:8 (280x320) */

.products.product_list .product_img_link,
.products.product_list .front_image_pic {
  display: block;
  width: 100%;
}

.products.product_list .front_image_pic {
  aspect-ratio: 7 / 8;
  /* klíčové – stejná výška napříč kartami */
  overflow: hidden;
}

.products.product_list .front_image_pic > img.front-image {
  display: block;
  /* odstraní baseline mezeru */
  width: 100%;
  height: 100%;
  object-fit: contain;
  /* nebo 'cover' podle preferencí */
  object-position: center;
}

/* Pokud Panda někdy vkládá "holder" obrázek, ať nepřidává výšku */

.products.product_list .holder {
  display: none;
}

/* --- už máš nastaveno, připomínám klíčové části zarovnání --- */

.products.product_list {
  align-items: stretch;
}

.products.product_list .product_list_item {
  display: flex;
}

.products.product_list .product_list_item > article {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.products.product_list .pro_outer_box {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 100%;
}

.products.product_list .pro_first_box {
  flex: 0 0 auto;
}

.products.product_list .pro_second_box {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}

.products.product_list .pro_second_box > a {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}

.products.product_list .act_box_cart {
  margin-top: auto;
  flex: 0 0 auto;
}

.products.product_list .act_box_inner {
  height: 0;
  padding: 0;
  margin: 0;
  overflow: hidden;
}

/* product list swiper slider */

.products_sldier_swiper .swiper-wrapper,
.products_slider_swiper .swiper-wrapper {
  align-items: stretch;
}

/* 1) Každý slide je flex kontejner, nefixuj mu výšku */

.products_sldier_swiper .swiper-slide,
.products_slider_swiper .swiper-slide,
.product-list .swiper-slide {
  display: flex;
  flex-direction: column;
  height: auto !important;
  /* přepiš případné pevné výšky */
}

/* 2) Karta zabere celou výšku slidu */

.products_sldier_swiper .swiper-slide > article,
.products_slider_swiper .swiper-slide > article {
  display: flex;
  flex-direction: column;
  width: 100%;
}

/* 3) Vnitřek karty jako sloupec přes celou výšku */

.products_sldier_swiper .pro_outer_box,
.products_slider_swiper .pro_outer_box {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 100%;
}

/* 4) Obrázek nahoře fixní, textová část vyplní zbytek */

.products_sldier_swiper .pro_first_box,
.products_slider_swiper .pro_first_box {
  flex: 0 0 auto;
}

.products_sldier_swiper .pro_second_box,
.products_slider_swiper .pro_second_box {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  /* sahá až dolů */
  min-height: 0;
}

/* 5) Vnitřní <a> (nadpis/cena/popis) vyplní prostor NAD tlačítkem */

.products_sldier_swiper .pro_second_box > a,
.products_slider_swiper .pro_second_box > a {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}

/* 6) Tlačítko úplně dolů */

.products_sldier_swiper .act_box_cart,
.products_slider_swiper .act_box_cart {
  margin-top: auto;
  flex: 0 0 auto;
}

/* 7) Vyrovnat výšku obrázkové části (poměr 7:8 = 280x320) */

.products_sldier_swiper .front_image_pic,
.products_slider_swiper .front_image_pic {
  display: block;
  width: 100%;
  aspect-ratio: 7 / 8;
  overflow: hidden;
}

.products_sldier_swiper .front_image_pic > img.front-image,
.products_slider_swiper .front_image_pic > img.front-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  /* nebo 'cover' pokud chceš ořez a bez pruhů */
  object-position: center;
}

/* 8) „Distanční“ box pod tlačítkem nepočítej do výšky */

.products_sldier_swiper .act_box_inner,
.products_slider_swiper .act_box_inner {
  height: 0;
  padding: 0;
  margin: 0;
  overflow: hidden;
}

.attribute_product {
  position: relative;
  top: -5px;
}

@media screen and (max-width: 991px) {
  .dmppl_popup {
    position: relative;
    bottom: 50px !important;
  }
}

/* errors in checkout */

.form-control.is-invalid,
.was-validated .form-control:invalid {
  border-color: #dcca35;
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%2712%27 fill=%27none%27 stroke=%27%dcca35%27 viewBox=%270 0 12 12%27%3e%3ccircle cx=%276%27 cy=%276%27 r=%274.5%27/%3e%3cpath stroke-linejoin=%27round%27 d=%27M5.8 3.6h.4L6 6.5z%27/%3e%3ccircle cx=%276%27 cy=%278.2%27 r=%27.6%27 fill=%27%dcca35%27 stroke=%27none%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem);
}

.hover_fly .hover_fly_btn .hover_fly_btn_inner {
  color: black;
}

.submenu-item {
  display: flex;
}

.menu_cate_img {
  flex-shrink: 0;
}

/****** CHECKOUT ******/

/* checkout */
@media (max-width: 991.98px) {

    #tso-order-step.current-step-1,
    #tso-order-step.current-step-2,
    #tso-order-step.current-step-3 {
      margin-bottom: 0px !important;
    }

    #checkout-left {
      padding: 0;
    }

    #checkout-left .cart-overview .product-line-grid .product-line-grid-right .row {
        flex-direction: row;        
    }    
}

@media (max-width: 767.98px) {
  #checkout-left .cart-overview .product-line-grid .product-line-grid-right {
      -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  }

  #checkout-left .cart-overview .product-line-grid .product-line-grid-right.col-sm-3 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .product-line-actions .product-price {
    font-size: 18px;
  }
}

/* Cart right column — fix button overflow between ~1058px and 787px */
@media (max-width: 1058px) and (min-width: 788px) {
  /* jistota, že flex řádek umí zalomit */
  #checkout-right .cart_navigation {
    display: flex;
    flex-wrap: wrap;
  }

  /* tlačítko přes celou šířku a může se zalomit */
  #checkout-right .cart_navigation.one-button a.button,
  #checkout-right .cart_navigation.one-button .btn {
    flex: 1 1 100% !important;   /* přepíše calc(70%/30%) */
    width: 100% !important;
    max-width: 100%;
    min-width: 0;                 /* dovolí se zmenšit ve flexu */
    white-space: normal !important; /* zruší nowrap z .btn */
    overflow-wrap: anywhere;      /* když je text dlouhý, může se zlomit */
    box-sizing: border-box;       /* padding se započítá do šířky */
    display: block;               /* pro jistotu */
  }
}

@media (max-width: 991px) {
    .delivery-option {
        margin: unset;
    }
}
@media (max-width: 767.98px) {
  #checkout-left #carriers-content #carriers-list .carrier-item label .item-price {
      -ms-flex-preferred-size: unset;
      flex-basis: unset;
  }
  #checkout-left #carriers-content #carriers-list .carrier-item label .item-name {
    flex-basis: unset;
  }
}

/* Carriers – mobil: fixní šířka loga, ať se texty zarovnají */
@media (max-width: 991.98px) {
  #checkout-left #carriers-content #carriers-list .carrier-item label {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: nowrap;
  }

  #checkout-left #carriers-content #carriers-list .carrier-item label .item-radio {
    /* flex: 0 0 24px; */
  }

  #checkout-left #carriers-content #carriers-list .carrier-item label .item-logo {
    flex: 0 0 35px !important; /* NEzmenšovat, vždy 40 px */
    width: 35px;               /* aby byl „sloupec“ stabilní */
    display: flex;
    align-items: center;       /* svisle vycentrovat malé obrázky */
  }

  #checkout-left #carriers-content #carriers-list .carrier-item label .item-logo img {
    max-width: 100%;
    height: auto;
    display: block;
    object-fit: contain;       /* kdyby někde bylo vyšší logo */
  }

  #checkout-left #carriers-content #carriers-list .carrier-item label .item-name {
    flex: 1 1 auto;
    min-width: 0;
  }

  #checkout-left #carriers-content #carriers-list .carrier-item label .item-description {
    font-size: 14px;
  }

  #checkout-left #carriers-content #carriers-list .carrier-item label .item-price {
    margin-left: auto;         /* cena vpravo */
    white-space: nowrap;
    font-size: 14px;
  }
}

/* Payments – mobil: fixní šířka loga a hezké zarovnání */
@media (max-width: 991.98px) {
  #checkout-left #payments-content #payments-list .payment-item label {
    display: flex;
    align-items: center;
    gap: 0.75rem;          /* už máš, nechávám pro jistotu */
    flex-wrap: nowrap;
  }

  #checkout-left #payments-content #payments-list .payment-item label .item-radio {
    /* flex: 0 0 24px; */
  }

  #checkout-left #payments-content #payments-list .payment-item label .item-logo {
    flex: 0 0 35px !important; /* vždy 40px */
    width: 35px;
    display: flex;
    align-items: center;
  }

  #checkout-left #payments-content #payments-list .payment-item label .item-logo img {
    max-width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
  }

  #checkout-left #payments-content #payments-list .payment-item label .item-name {
    flex: 1 1 auto;
    min-width: 0;
  }

  #checkout-left #payments-content #payments-list .payment-item label .item-price {
    margin-left: auto;
    white-space: nowrap;
    font-size: 14px;
  }

   #checkout-left #payments-content #payments-list .payment-item label .item-name .item-description { 
    display: none !important; 
  }
   #checkout-left #payments-content #payments-list .payment-item label .item-name br {
    display: none;
  }
}

/* checkout right column */
@media (max-width: 991.98px) {
    #checkout-right {
      margin-top: 1rem;
      padding: 0 !important;
    }
  }

/* Checkout btns */

/* Desktop (>=768px): nechat vedle sebe, zrušit případné 100% šířky z inline stylu */
@media (min-width: 768px) {
  .cart_navigation {
    display: flex;
    gap: .75rem;
    align-items: center;
  }
  .cart_navigation .btn-next {
    width: auto !important; /* přepíše inline width:100% na desktopu */
  }
}

/* Mobil (<768px): sloupec, nejdřív „Pokračovat“ full width, pod tím „Zpět“ uprostřed */
@media (max-width: 767.98px) {
  .cart_navigation {
    display: flex;
    flex-direction: column;
    gap: .75rem;
  }

  .cart_navigation .btn-next {
    order: 1;
    display: inline-flex;
    justify-content: center;
    width: 100% !important; /* full width na mobilu */
  }

  .cart_navigation .btn-back {
    order: 2;
    display: inline-flex;
    justify-content: center;
    width: auto;            /* jen podle obsahu */
    align-self: center;     /* vycentrovat v rámci sloupce */
  }
}

/* Checkout - 1 step - products */
/* Košík – mobilní rozvržení položky: 
   [IMG] | [Název]
          [Množství+Smazat]...........[Cena] */
@media (max-width: 767.98px) {
  .cart-items .product-line-grid {
    display: grid;
    grid-template-columns: 72px 1fr;  /* fixní sloupec pro obrázek */
    grid-template-rows: auto auto;    /* 1) název, 2) qty+delete+price */
    grid-column-gap: 12px;
    align-items: start;
  }

  /* Obrázek vlevo přes oba řádky */
  .cart-items .product-line-grid-left {
    grid-column: 1;
    grid-row: 1 / span 2;
    padding-left: 10px !important;
  }
  .cart-items .product-line-grid-left .product-image img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
  }

  /* 1. řádek vpravo: název */
  .cart-items .product-line-grid-body {
    grid-column: 2;
    grid-row: 1;
    padding-right: 4px;
  }

  #checkout-left .cart-overview .product-line-grid .product-line-grid-body {
    flex-basis: calc(90% - 50px);
  }

  /* Dlouhé názvy: max 2 řádky (volitelné, klidně zruš) */
  .cart-items .product-line-grid-body .label {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  /* 2. řádek vpravo: vlevo množství+mazání, vpravo cena */
  .cart-items .product-line-grid-right {
    grid-column: 2;
    grid-row: 2;
  }

  /* Zrušit bootstrap vnoření a udělat jednu vodorovnou řádku */
  .cart-items .product-line-grid-right .row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 0;
  }
  .cart-items .product-line-grid-right .col-md-7,
  .cart-items .product-line-grid-right .col-md-5,
  .cart-items .product-line-grid-right .col-xs-4 {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    padding: 0;
  }
  /* Ten prázdný spacer schovat */
  .cart-items .product-line-grid-right .hidden-md-up {
    display: none !important;
  }

  /* Vlevo skupina: delete + spinner */
  .cart-items .product-quantity-actions {
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .cart-items .bootstrap-touchspin {
    max-width: 120px; /* rozumná šířka inputu */
  }

  /* Cena vpravo v jedné řádce */
  .cart-items .product-price {
    white-space: nowrap;
    font-weight: 700;
  }

  .product-line-info.product-price.has-discount {
    display: none !important;
  }

  /* Na mobilu používat mobilní ikonku mazání, desktopovou skrýt */
  .cart-items .remove-from-cart--desktop { display: none !important; }
  .cart-items .remove-from-cart--mobile  { display: inline-flex !important; }

  /* (Volitelné) Pokud máš blok s původní/discount cenou pod názvem, schovej ho na mobilu,
     aby to zůstaly jen 2 kompaktní řádky. Odkomentuj dle potřeby. */
  /* .cart-items .product-line-grid-body .product-line-info.product-price { display: none !important; } */
}

/* checkot step 3 - addresses */

/* Phone row vedle sebe na malých šířkách v poměru ~1:2 */
  .form-group--phone > div {
    display: grid;
    /* Levý sloupec fixně úzký (kód), pravý vyplní zbytek */
    grid-template-columns: 110px 1fr; /* nebo: clamp(90px, 28vw, 140px) 1fr */
    column-gap: 8px;
    align-items: center;
  }

  .form-group--phone .col-xs-4,
  .form-group--phone .col-xs-8 {
    float: none;
    width: auto;
    padding: 0;
    margin: 0;
  }

  /* Dovol, aby se pravý grid-item mohl roztáhnout */
  .form-group--phone .col-xs-8 { min-width: 0; }

  /* Ať input využije celou šířku pravého sloupce */
  .form-group--phone input.form-control {
    width: 100%;
    max-width: none;   /* přebije případné theme limity */
    display: block;
    box-sizing: border-box;
  }

  /* (volitelné) levý select na šířku sloupce */
  .form-group--phone select.form-control {
    width: 100%;
  }

  @media (max-width: 767.98px) {
    .contact-info__wrapper>div.form-group {
      -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
      margin: 0;
    }

    #addressess-content input[type=password], #addressess-content input[type=text] {
        height: 42px;
        max-width: unset;
    }

    #address-details div.form-group:has(input[type=text]) {
      width: 100%;
      margin-right: 0;
    }

  }

  /* Schovej celou form-group, která obsahuje select #id_country */
#checkout-left .form-group:has(> select#id_country) {
  display: none !important;
}


  /* Heuréka souhlas: checkbox vlevo, text vedle */
.dm_heureka {
  display: flex;
  align-items: center;   /* ← vertikální vycentrování checkboxu k víceradkovému textu */
  /* gap: 8px; */
}

.dm_heureka .float-xs-left {
  float: none !important;
  display: inline-flex;  /* ať bere výšku podle obsahu */
  align-items: center;   /* pojistka pro vnitřek */
}

.dm_heureka .condition-label {
  flex: 1 1 auto;
  min-width: 0;
}

.dm_heureka .condition-label label {
  display: block;
  margin: 0;
  line-height: 1.4;      /* příjemné řádkování pro vícerádkový text */
}

/* pro jistotu, ať je “krabička” checkboxu rozumně centrovaná */
.dm_heureka .custom-checkbox {
  display: inline-flex;
  width: 20px;
  height: 20px;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.dm_heureka .custom-checkbox .checkbox-checked {
  font-size: 18px;       /* vizuálně sedí do 20×20px boxu */
}


/* Košík – mobil: druhý řádek (delete | qty ........ price) přes celou šířku */
@media (max-width: 991.98px) {
  /* a) kontejner řádku bez mezer/paddingu, plná šířka */
  .cart-items .product-line-grid-right {
    grid-column: 2;  /* pokud používáš grid rozvržení */
    grid-row: 2;
    padding: 0;      /* bez vnitřního odsazení pravého bloku */
  }

  .cart-items .product-line-grid-right > .row {
    display: flex;
    align-items: center;
    justify-content: flex-start;  /* budeme pracovat s margin-left:auto u ceny */
    gap: 0;                       /* žádné mezery mezi flex dětmi */
    margin: 0;
    width: 100%;
  }

  /* schovat prázdný spacer */
  .cart-items .product-line-grid-right .hidden-md-up {
    display: none !important;
  }

  /* zrušit bootstrap padding top-level sloupců uvnitř řádku (levý blok + cena) */
  .cart-items .product-line-grid-right > .row > div {
    padding: 0 !important;
    width: auto;
    max-width: none;
    flex: 0 0 auto;  /* implicitně pevná šířka dle obsahu */
  }

  /* b) levý blok: delete + qty vedle sebe, nalepený vlevo */
  .cart-items .product-quantity-actions {
    display: flex;
    align-items: center;
    gap: 8px;                 /* mezera mezi ikonou a spinnerem */
  }
  .cart-items .product-quantity-actions .remove-from-cart--mobile {
    margin-left: 0;
  }
  .cart-items .bootstrap-touchspin {
    max-width: 128px;         /* rozumná šířka inputu */
  }

  /* c) cena jako samostatný top-level sloupec vpravo */
  .cart-items .product-line-grid-right > .row > .text-right {
    margin-left: auto;        /* odtlačí cenu úplně doprava */
    padding: 0;
    flex: 0 0 auto;
  }
  .cart-items .product-price {
    white-space: nowrap;
    font-weight: 700;
  }

  /* d) zrušit vnorené bootstrap mřížky v levém bloku, ať nedělají layout */
  .cart-items .product-line-grid-right .row .row {
    display: contents;     /* nebo: display:flex; margin:0; padding:0; */
  }

  /* e) na mobilu používat mobilní mazací ikonku, desktopovou schovat */
  .cart-items .remove-from-cart--desktop { display: none !important; }
  .cart-items .remove-from-cart--mobile  { display: inline-flex !important; }
}

a#fixed-add-to-cart {
  font-size: 14px !important;
  font-family: "Nunito", sans-serif !important;
  text-wrap: auto;
  line-height: 1.2rem;
  color: #FFF;
  background-color: #88B027;
  font-weight: 600;
  border: none !important;
  border-radius: 10px 10px 10px 10px;
  width: 100%;
  padding: 12px 22px;
  height: auto;
  cursor: pointer;
  display: inline-block;
  touch-action: manipulation;
}

.products.product_list.list .pro_outer_box {
  flex-direction: row;
}
.product_list.list .ajax_block_product .pro_second_box {
  margin-left: 10px;
}

.discount-circle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: #393334ff; /* nebo barva z brandu */
  color: #fff;
  font-weight: 700;
  font-size: 0.9rem;
}