@import url("https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,400;0,600;0,700;0,800;1,400&family=Caveat:wght@700&display=swap");

body {
  background: #e7f6ff !important;
  font-family: Nunito, "Open Sans", sans-serif;
  font-weight: 400;
  word-spacing: normal !important;
  letter-spacing: normal;
}
.tabs .nav-tabs {
  border: 0 !important;
  display: flex;
  gap: 10px;
  margin: 8px 0 18px;
}
.tabs .nav-tabs .nav-item { margin: 0 !important; }
.tabs .nav-tabs .nav-link {
  border: 0 !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #24315c !important;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: 13px;
  padding: 10px 18px !important;
}
.tabs .nav-tabs .nav-link.active,
.tabs .nav-tabs .nav-link:hover {
  background: #2f6bff !important;
  color: #fff !important;
}
#product .tabs .tab-content {
  background: #fff;
  border: 1px solid #9eb4d6 !important;
  border-radius: 10px;
  margin: 6px auto 0;
  padding: 22px 32px !important;
  text-align: left;
}
#product .tabs #description .product-description {
  color: #24315c;
  line-height: 1.65;
  margin: 0 auto;
  max-width: 760px;
  text-align: center;
}
#product .tabs #description .product-description p {
  margin: 0;
  text-align: center;
}
#product .product-cover,
#product .product-images .thumb,
#product .product_thumb_horizontal .js-qv-product-images img {
  background: #fff !important;
  border: 1px solid #9eb4d6 !important;
  border-radius: 10px !important;
}
#product .product-cover {
  overflow: hidden;
}
.product-line-grid-left .product-image img,
#blockcart-modal .product-image img {
  background: #fff;
  border: 1px solid #9eb4d6 !important;
  border-radius: 10px;
}
#blockcart-modal .sa-omnibus,
#blockcart-modal .ddtech-anchor,
#blockcart-modal .so-prices__tax,
#blockcart-modal .so-price__off,
body#cart .sa-omnibus,
body#cart .ddtech-anchor,
body#cart .so-prices__tax--sale,
body#checkout .sa-omnibus,
body#checkout .ddtech-anchor {
  display: none !important;
}
.so-topbar {
  background: #fff3c4;
  color: #24315c;
  font-weight: 800;
  font-size: 13px;
}
.so-topbar span { display: inline-flex; align-items: center; gap: 6px; }
.so-topbar svg { flex: 0 0 auto; }
.so-topbar__inner {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 22px;
  padding: 9px 12px;
}
.header-top {
  background: transparent !important;
  box-shadow: none !important;
  padding-top: 8px;
}
.header_top_content {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 22px;
  background: transparent !important;
}
._desktop_logo { width: 210px !important; max-width: 210px; flex: 0 0 210px; float: none !important; }
.header-top .header_top_right.so-head__tools {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  flex: 1 1 auto;
  float: none !important;
  width: auto !important;
  gap: 18px;
}
.so-head__search { flex: 1 1 auto; min-width: 0; width: auto !important; }
.header-top .search_icon_toogle { display: none !important; }
.header-top #search_widget,
.header-top #search_widget form {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative;
}
.header-top #search_widget input[type="text"] {
  width: 100% !important;
  max-width: none !important;
  height: 48px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: 0 8px 22px rgba(36, 84, 150, 0.08);
  padding: 0 48px 0 22px !important;
  color: #24315c;
}
.header-top #search_widget button {
  position: absolute !important;
  right: 6px;
  top: 4px;
  width: 40px;
  height: 40px;
  border: 0 !important;
  background: transparent !important;
  color: #2f6bff !important;
  box-shadow: none !important;
}
.so-head__account,
.so-head__cart,
.so-head__cart ._desktop_user_info,
.so-head__cart .toggle_user_mobile,
.so-head__cart .user-info {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 16px;
  width: auto !important;
  float: none !important;
}
.so-head__cart a.sign_in,
.so-head__cart a.user-info-account,
.so-head__cart .blockcart > a {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  color: #2f6bff !important;
  font-weight: 800;
  white-space: nowrap;
  background: transparent !important;
}
.cart-wishlist-item {
  display: flex !important;
  align-items: center !important;
  gap: 12px;
  float: none !important;
  width: 100% !important;
}
.shoppingcart_img {
  float: none !important;
  flex: 0 0 70px;
  width: 70px !important;
  max-width: 70px !important;
}
.shoppingcart_img img {
  width: 70px !important;
  height: 70px !important;
  max-width: 70px !important;
  object-fit: contain !important;
  display: block !important;
}
.shoppingcart_des {
  float: none !important;
  flex: 1 1 auto;
  min-width: 0;
  width: auto !important;
  margin-left: 0 !important;
}
.shoppingcart_des_c,
.shoppingcart_des_c_c {
  display: block !important;
  height: auto !important;
}
.cart_productname,
.cart_productname .product-name,
.shoppingcart_des .product-price {
  float: none !important;
  display: block !important;
  max-width: none !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
}
.cart_productname {
  padding-right: 22px !important;
  line-height: 1.3;
}
.shoppingcart_des .product-price {
  margin-top: 4px;
}
.menu_and_cattree {
  background: transparent !important;
  margin-top: 6px;
}
body#index .so-hero { margin-top: 8px; }
@media (min-width: 992px) {
  body#index .menu_and_cattree {
    position: relative;
    z-index: 4;
  }
  body#index header.header_v1 { z-index: 6; }
  .menu_and_cattree .ets_mm_megamenu,
  body#index .ets_mm_megamenu,
  body#index .ets_mm_megamenu_content,
  body#index .layout_layout5.ets_mm_megamenu {
    background: #fff !important;
    background-image: none !important;
    border-radius: 999px !important;
    box-shadow: 0 8px 20px rgba(36, 84, 150, 0.08);
    transition: none !important;
    padding: 4px 6px !important;
  }
  body:not(#index) .menu_and_cattree .ets_mm_megamenu {
    background: #fff !important;
    border-radius: 999px !important;
    box-shadow: 0 8px 20px rgba(36, 84, 150, 0.08);
    padding: 4px 6px !important;
  }
  body#index .ets_mm_megamenu_content .container { max-width: 1180px; }
  body .mm_menus_ul {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    float: none !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
  }
  body .mm_menus_li {
    display: block !important;
    position: relative !important;
    float: none !important;
    height: auto !important;
    line-height: 1 !important;
  }
  body .mm_menus_li > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    height: auto !important;
    line-height: 1.2 !important;
    padding: 8px 16px !important;
    border-radius: 999px !important;
    color: #24315c !important;
    font-weight: 800 !important;
    background: transparent !important;
  }
  body .mm_menus_li > a:hover,
  body .mm_menus_li:hover > a,
  body .mm_menus_li.mm_menu_open > a {
    background: #eef3ff !important;
    color: #2f6bff !important;
  }
  .ets_mm_megamenu,
  .ets_mm_megamenu_content,
  .menu_and_cattree,
  .mm_menus_ul,
  .mm_menus_li { overflow: visible !important; }
  .mm_columns_ul,
  .mm_menus_li > .mm_columns_ul {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    z-index: 80 !important;
    width: 280px !important;
    min-width: 260px !important;
    background: #fff !important;
    box-shadow: 0 12px 28px rgba(36, 49, 92, 0.12) !important;
    padding: 10px 0 !important;
    pointer-events: none;
  }
  .mm_columns_ul a {
    color: #24315c !important;
    background: transparent !important;
    display: block;
    padding: 6px 16px;
    font-weight: 700;
  }
  .mm_columns_ul a:hover {
    background: #eef3ff !important;
    color: #2f6bff !important;
  }
  .mm_menus_li:hover > .mm_columns_ul,
  .mm_menus_li.mm_menu_open > .mm_columns_ul {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
    width: 280px !important;
    transform: none !important;
    overflow: visible !important;
    pointer-events: auto !important;
  }
  .ets_mm_megamenu.scroll_heading,
  body.ybc-float_header-yes .header-top,
  body.ybc-float_header-yes header.header_v1,
  .header_content.scroll_heading {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: auto !important;
    animation: none !important;
    transform: none !important;
  }
  body#index .home_layout_menu > a,
  body#index .home_layout_menu:hover > a,
  body#index .home_layout_menu > a:hover {
    background: #2f6bff !important;
    color: #fff !important;
    border-radius: 999px !important;
    padding: 8px 18px !important;
  }
}
body#index .slider,
body#index .sa-stem-brands,
body#index .so-home-extra { display: none !important; }

.so-hero { max-width: 1220px; margin: 8px auto 22px; padding: 0 16px; }
.so-hero--cats { margin-top: 4px; }
.so-hero--cats .so-cats { margin-top: 0; }
.so-hero__sky {
  position: relative;
  min-height: 560px;
  padding: 96px 48px 28px;
  box-shadow: 0 14px 36px rgba(36, 84, 150, 0.1);
  border-radius: 32px;
  overflow: hidden;
  background-color: #d7f3ff;
  background-repeat: no-repeat;
  background-position: right center;
  background-size: cover;
}
.so-hero__copy {
  position: relative;
  z-index: 2;
  max-width: 520px;
  padding-top: 12px;
}
.so-hero__copy h2 {
  margin: 0 0 12px;
  color: #24315c !important;
  font-size: 52px !important;
  font-weight: 800 !important;
  line-height: 1.02 !important;
}
.so-hero__copy h2 em { color: #2f6bff; font-style: normal; }
.so-hero__copy p { color: #3c4d73; font-size: 18px; max-width: 460px; }
.so-hero__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  margin: 22px 0 10px;
}
.so-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-sizing: border-box;
  width: 100%;
  max-width: 320px;
  border-radius: 999px;
  padding: 15px 28px;
  font-size: 17px;
  font-weight: 800;
  text-decoration: none !important;
}
.so-btn--blue { background: #2f6bff; color: #fff !important; box-shadow: 0 8px 16px rgba(47, 107, 255, 0.25); }
.so-btn--ghost { background: #fff !important; color: #2f6bff !important; box-shadow: 0 6px 16px rgba(36, 84, 150, 0.12); }
.so-hero__trust {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 18px;
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
  color: #24315c;
  font-weight: 800;
  font-size: 14px;
}
.so-hero__trust li { display: flex; align-items: center; gap: 8px; }
.so-hero__trust svg { width: 22px; height: 22px; flex: 0 0 auto; }
.so-hero__script {
  position: absolute;
  right: 6%;
  top: 16%;
  z-index: 2;
  margin: 0;
  color: #2f6bff;
  font-family: Caveat, cursive;
  font-size: 42px;
  line-height: 0.95;
  text-align: right;
  transform: rotate(-8deg);
}
.so-cats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 16px;
}
.so-cats a {
  position: relative;
  display: block;
  min-height: 150px;
  border-radius: 22px;
  overflow: hidden;
  background: #fff;
  text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(36, 84, 150, 0.08);
}
.so-cats img { width: 100%; height: 150px; object-fit: cover; display: block; }
.so-cats img.so-cats__full { object-fit: contain; background: #fff; }
.so-cats span {
  position: absolute;
  left: 12px;
  bottom: 12px;
  background: #fff;
  color: #24315c;
  border-radius: 999px;
  padding: 6px 12px;
  font-weight: 800;
}
.page-home .entry_tab { max-width: 1180px; margin: 10px auto 20px; }
.page-home .tabs,
.page-home .ui-tabs,
.page-home .ui-widget-content,
.page-home .ui-widget-content.ui-tabs {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
.page-home .products-section-title,
.page-home .home_title_section { color: #24315c !important; }
.line_sub img {
  background: transparent !important;
}
.product-miniature {
  background: transparent !important;
  border-radius: 0 !important;
  overflow: visible !important;
  box-shadow: none !important;
}
.product-miniature .thumbnail-container {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  background: #fff !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  aspect-ratio: auto !important;
  height: auto !important;
  box-shadow: 0 10px 28px rgba(36, 49, 92, 0.08) !important;
}
.product-miniature .product-thumbnail,
.product-miniature .thumbnail {
  background: #fff !important;
  border-radius: 0 !important;
  padding: 18px !important;
  margin: 0 !important;
  line-height: 0 !important;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
.product-miniature .product-description {
  display: block !important;
  background: #fff !important;
  text-align: center;
  padding: 0 16px 8px !important;
  color: #24315c !important;
}
.products:not(.list) .product-miniature .thumbnail-container {
  border: 1px solid #111 !important;
}
.products.list .so-card__panel { display: contents; }
.products:not(.list) .so-card__panel {
  margin: 0 10px 14px;
  padding: 14px 8px 10px;
  background: #e7f4ff;
  border: 1px solid #9eb4d6;
  border-radius: 14px;
}
.products:not(.list) .product-miniature .product-description {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 0 8px !important;
}
.products:not(.list) .product-miniature .img_no_image,
.products:not(.list) .product-miniature .highlighted-informations,
.products:not(.list) .product-miniature .add_to_cart_button {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column;
  align-items: center;
}
.products:not(.list) .product-miniature .add_to_cart {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  max-width: 100%;
  height: 44px !important;
  margin: 8px auto 0 !important;
  padding: 10px 12px 8px !important;
  background: #00ccd6 !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0;
  text-transform: uppercase !important;
  overflow: visible !important;
  white-space: nowrap;
}
.products:not(.list) .product-miniature .add_to_cart::before,
.products:not(.list) .product-miniature .add_to_cart::after {
  content: none !important;
  display: none !important;
}
.products:not(.list) .product-miniature .add_to_cart .so-cart-ico,
.products.list .product-miniature .add_to_cart .so-cart-ico,
.entry_tab .products_tab .product-miniature .add_to_cart .so-cart-ico {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  padding: 0;
  border: 0;
  flex: 0 0 auto;
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.6'/%3E%3Ccircle cx='18' cy='20' r='1.6'/%3E%3Cpath d='M3 4h2l2.2 11h11.3l2-8H7'/%3E%3C/svg%3E");
}
.products:not(.list) .product-miniature .add_to_cart i,
.products:not(.list) .product-miniature .add_to_cart .fa-shopping-cart::before {
  display: none !important;
}
.products:not(.list) .product-miniature .add_to_cart:hover,
.products:not(.list) .product-miniature .add_to_cart:focus {
  background: #fbb700 !important;
  color: #fff !important;
  border-color: transparent !important;
}
.products:not(.list) .product-miniature .add_to_cart:hover .fa-shopping-cart::before,
.products:not(.list) .product-miniature .add_to_cart:focus .fa-shopping-cart::before {
  transform: rotate(360deg);
}
.product-miniature .so-card__cat {
  margin: 0 0 6px;
  color: #1f9d57;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.product-miniature .product-title {
  display: block !important;
  margin: 0 0 8px !important;
  min-height: 2.7em;
  height: auto !important;
  overflow: visible !important;
}
.product-miniature .product-title a {
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden !important;
  color: #24315c !important;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.35;
}
.product-miniature .short_description,
.product-miniature .hook-reviews { display: none !important; }
.product-miniature .product-price-and-shipping {
  display: block !important;
  text-align: center;
  color: #24315c !important;
}
.product-miniature .so-price__was {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 2px;
}
.product-miniature .regular-price {
  color: #9aa3b2 !important;
  text-decoration: line-through;
  font-size: 14px;
}
.product-miniature .so-price__off { display: none !important; }
.product-miniature .price {
  display: block;
  color: #24315c !important;
  font-size: 20px;
  font-weight: 800;
}
.product-miniature .so-prices__tax--sale {
  display: block;
  margin: 2px 0 6px;
  color: #c43d3d;
  font-size: 12px;
  font-weight: 700;
}
.product-miniature .ddtech-anchor,
.product-miniature .sa-omnibus {
  display: block !important;
  margin: 4px 0 0 !important;
  color: #3d4a66 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
}
.product-miniature .product-flags {
  position: absolute !important;
  top: 12px;
  left: 12px;
  z-index: 2;
  margin: 0;
  padding: 0;
  list-style: none;
}
.product-miniature .product-flags li {
  display: inline-block;
  background: #ffe4ea;
  color: #e11d48;
  border-radius: 6px;
  padding: 3px 8px;
  font-size: 12px;
  font-weight: 800;
}
.product-miniature .img_no_image,
.product-miniature .highlighted-informations {
  display: block !important;
  position: static !important;
  height: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: visible !important;
  transform: none !important;
  width: 100% !important;
  background: #fff !important;
  padding: 8px 16px 16px !important;
  text-align: center;
}
.product-miniature .quick-view { display: none !important; }
.product-miniature .add_to_cart {
  position: static !important;
  float: none !important;
  width: 100% !important;
  max-width: 230px;
  height: auto !important;
  margin: 0 auto !important;
  background: #fff !important;
  color: #2f6bff !important;
  border: 1.5px solid #c5d4ff !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  letter-spacing: .03em;
  padding: 10px 14px !important;
}
.product-miniature .add_to_cart:hover,
.product-miniature .add_to_cart:focus {
  background: #2f6bff !important;
  color: #fff !important;
  border-color: #2f6bff !important;
}
.products.list .product-miniature {
  width: 100% !important;
  max-width: none !important;
  padding: 0 0 8px !important;
  margin: 0 0 22px !important;
  float: none !important;
}
.products.list .product-miniature .thumbnail-container {
  display: grid !important;
  grid-template-columns: 220px minmax(0, 1fr);
  column-gap: 30px;
  align-items: center !important;
  background: #fff !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  padding: 16px 8px !important;
}
.products.list .product-miniature .image_item_product:not(.img_no_image) {
  grid-column: 1;
  grid-row: 1 / span 2;
  width: 220px !important;
  max-width: 220px !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
}
.products.list .product-miniature .product-thumbnail,
.products.list .product-miniature .thumbnail {
  width: 220px !important;
  max-width: 220px !important;
  height: 180px !important;
  aspect-ratio: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.products.list .product-miniature .thumbnail img,
.products.list .product-miniature .product-thumbnail img {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 160px !important;
  object-fit: contain !important;
  background: transparent !important;
  margin: 0 auto !important;
}
.products.list .product-miniature .product-description {
  grid-column: 2;
  grid-row: 1;
  width: 100% !important;
  max-width: none !important;
  flex: 1 1 auto !important;
  text-align: left !important;
  padding: 8px 16px 4px 0 !important;
}
.products.list .product-miniature .short_description,
.products.list .product-miniature .short_description p {
  width: 100% !important;
  max-width: none !important;
}
.products.list .product-miniature .so-card__cat,
.products.list .product-miniature .product-title,
.products.list .product-miniature .product-title a,
.products.list .product-miniature .product-price-and-shipping {
  text-align: left !important;
}
.products.list .product-miniature .product-title {
  min-height: 0 !important;
  margin-top: 4px !important;
}
.products.list .product-miniature .so-price__was { justify-content: flex-start !important; }
.products.list .product-miniature .product-title a {
  font-size: 18px !important;
  -webkit-line-clamp: 2;
}
.products.list .product-miniature .short_description {
  display: block !important;
  -webkit-line-clamp: unset;
  overflow: visible !important;
  color: #4b5568;
  font-size: 16px;
  line-height: 1.5;
  margin: 0 0 12px;
  max-height: none;
}
.products.list .product-miniature .price { font-size: 22px !important; }
.product-miniature .product-price-and-shipping .ddtech-anchor,
.js-product-miniature .product-price-and-shipping .ddtech-anchor {
  display: block !important;
  margin-top: 4px;
  color: #5c6780 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  text-align: center;
}
.ddtech-anchor,
.ddtech-anchor b,
.ddtech-anchor strong {
  font-weight: 400 !important;
}
.products.list .ddtech-anchor {
  display: block !important;
  margin-top: 4px;
  color: #5c6780 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  text-align: left !important;
}
.sa-omnibus,
.product-miniature .sa-omnibus,
.js-product-miniature .sa-omnibus,
.product-prices .sa-omnibus {
  display: block !important;
  margin: 4px 0 0;
  color: #5c6780 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
}
.sa-omnibus b,
.sa-omnibus strong {
  font-weight: 600 !important;
  color: #24315c;
}
.products.list .sa-omnibus {
  font-size: 14px !important;
  text-align: left !important;
}
.product-miniature .sa-omnibus {
  text-align: center;
}
body#product h1.page-heading-product,
body#product .h1.page-heading-product {
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  word-spacing: 0.08em !important;
  line-height: 1.3 !important;
  margin-bottom: 12px;
}
body#product .product-information [itemprop="description"] {
  margin-top: 16px;
  line-height: 1.55;
  word-spacing: 0.06em;
}
body#product .product-prices,
body#product .product-prices.so-prices,
body#product .product-prices .product-price,
body#product .product-prices div {
  display: block !important;
  float: none !important;
  color: inherit !important;
  font-size: inherit !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
}
body#product .product-prices.so-prices {
  margin: 8px 0 18px !important;
}
body#product .product-prices .so-prices__now {
  display: flex !important;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 4px;
  margin-bottom: 10px !important;
}
body#product .so-prices__value {
  font-size: 34px !important;
  font-weight: 800 !important;
  color: #00a8b0 !important;
  line-height: 1.1 !important;
}
body#product .product-prices .so-prices__tax {
  display: block !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #5c6780 !important;
  letter-spacing: 0.01em;
}
body#product .product-prices .so-prices__tax--sale {
  color: #c43d3d !important;
}
body#product .so-prices__legal {
  display: flex !important;
  flex-direction: column;
  gap: 6px;
  padding: 10px 0 0;
  border-top: 1px solid #d5e2ef;
  width: 100%;
}
body#product .product-prices .sa-omnibus,
body#product .product-prices .ddtech-anchor {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #3d4a66 !important;
  line-height: 1.45 !important;
}
body#product .product-prices .sa-omnibus b,
body#product .product-prices .ddtech-anchor b {
  font-weight: 800 !important;
  color: #24315c !important;
}
.products.list .product-miniature .add_to_cart {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  min-width: 0;
  max-width: none;
  height: 44px !important;
  margin: 0 !important;
  padding: 10px 16px 8px !important;
  background: #00ccd6 !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: 0;
  text-transform: uppercase !important;
}
.products.list .product-miniature .add_to_cart::before,
.products.list .product-miniature .add_to_cart::after {
  content: none !important;
  display: none !important;
}
.products.list .product-miniature .add_to_cart i {
  display: inline-block;
  margin-right: 7px;
  padding-right: 12px;
  border-right: 1px solid rgba(255, 255, 255, 0.26);
  color: #fff;
  font-size: 15px;
  line-height: 1;
}
.products.list .product-miniature .add_to_cart .fa-shopping-cart::before {
  display: inline-block;
  color: #fff;
  transition: 0.4s all ease-out;
}
.products.list .product-miniature .add_to_cart:hover,
.products.list .product-miniature .add_to_cart:focus {
  background: #fbb700 !important;
  color: #fff !important;
  border-color: transparent !important;
}
.products.list .product-miniature .add_to_cart:hover .fa-shopping-cart::before,
.products.list .product-miniature .add_to_cart:focus .fa-shopping-cart::before {
  transform: rotate(360deg);
}
.products.list .product-miniature .img_no_image,
.products.list .product-miniature .highlighted-informations {
  grid-column: 2;
  grid-row: 2;
  float: none !important;
  width: auto !important;
  margin-left: 0 !important;
  padding: 0 0 18px !important;
  text-align: left !important;
}
.products.list .product-miniature .add_to_cart { margin: 0 !important; }
body.page-category,
body.page-search,
body.page-product,
body#product {
  background:
    linear-gradient(rgba(255, 255, 255, 0.42), rgba(231, 246, 255, 0.55)),
    url("../img/so-grid-bg.jpg") center / cover no-repeat fixed !important;
}
body.page-category #wrapper,
body.page-category #content-wrapper,
body.page-category #main,
body.page-category #content,
body.page-search #wrapper,
body.page-search #content-wrapper,
body.page-search #main,
body.page-search #content,
body.page-product #wrapper,
body.page-product #content-wrapper,
body.page-product #main,
body.page-product #content {
  background: transparent !important;
}
body.page-category #left-column,
body.page-search #left-column {
  background: #fff !important;
  border-radius: 0 !important;
  padding: 0 !important;
}
body.page-category #left-column .block-categories,
body.page-category #left-column > .hidden-sm-down,
body.page-search #left-column .block-categories,
body.page-search #left-column > .hidden-sm-down {
  margin: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
}
.block-categories a.so-cat-current {
  color: #2f6bff !important;
  font-weight: 800;
  background: #e7f4ff;
  border-radius: 8px;
}
.block-categories .category-sub-menu a.so-cat-current {
  display: inline-block;
  padding: 2px 8px;
  margin: 1px 0;
}
.block-categories .category-sub-menu li::before {
  content: none !important;
  margin: 0 !important;
}
.so-stem-strip {
  display: block;
  margin: 0 0 18px;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 12px 28px rgba(36, 84, 150, 0.12);
}
.so-stem-strip--hero {
  margin: 0 0 16px;
}
.so-stem-strip img {
  display: block;
  width: 100%;
  height: auto;
}
@media (max-width: 767px) {
  .so-stem-strip { border-radius: 16px; margin-bottom: 12px; }
}
.so-cat-intro {
  background: #fff !important;
  border-radius: 20px;
  padding: 22px 26px 20px;
  margin: 0 0 20px;
  box-shadow: 0 10px 24px rgba(36, 84, 150, 0.08);
}
.so-cat-intro .title_category {
  margin: 0 0 10px !important;
  color: #24315c !important;
  line-height: 1.2 !important;
}
.so-cat-intro #category-description,
.so-cat-intro #category-description p {
  margin: 0 !important;
  color: #3c4d73 !important;
  background: transparent !important;
}
.so-cat-intro #category-description p + p { margin-top: 10px !important; }
@media (max-width: 767px) {
  .so-cat-intro { padding: 16px 18px; border-radius: 16px; }
}
#js-product-list .products:not(.list) {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}
#js-product-list .products:not(.list) > .product-miniature {
  display: flex !important;
  float: none !important;
  flex: 0 0 33.33%;
  width: 33.33%;
  max-width: 33.33%;
}
#js-product-list .products:not(.list) .thumbnail-container {
  width: 100%;
  height: 100%;
}
#js-product-list .products:not(.list) .so-card__panel {
  flex: 1 1 auto;
  display: flex !important;
  flex-direction: column;
  box-sizing: border-box;
  min-height: 196px;
}
#js-product-list .products:not(.list) .product-price-and-shipping {
  min-height: 52px;
}
#js-product-list .products:not(.list) .img_no_image {
  margin-top: auto !important;
}
@media (max-width: 991px) {
  #js-product-list .products:not(.list) > .product-miniature {
    flex-basis: 50%;
    width: 50%;
    max-width: 50%;
  }
}
@media (max-width: 575px) {
  #js-product-list .products:not(.list) > .product-miniature {
    flex-basis: 100%;
    width: 100%;
    max-width: 100%;
  }
}
.product-miniature .product-thumbnail img,
.product-miniature .thumbnail img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  border-radius: 0 !important;
  background: #fff !important;
  display: block !important;
}
.product-miniature .thumbnail img + img,
.product-miniature .product-thumbnail img + img { display: none !important; }
.product-miniature .product-thumbnail img,
.product-miniature .thumbnail img {
  transition: transform .4s ease !important;
}
.product-miniature .product-thumbnail:hover img,
.product-miniature .thumbnail:hover img {
  transform: translateY(-12px) scale(1.05) !important;
}
.so-promos {
  max-width: 1180px;
  margin: 8px auto 28px;
  padding: 0 16px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.so-promo {
  position: relative;
  display: block;
  min-height: 210px;
  padding: 32px;
  border-radius: 28px;
  color: #24315c !important;
  text-decoration: none !important;
  overflow: hidden;
}
.so-promo::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.82) 42%, rgba(255,255,255,.15) 68%, rgba(255,255,255,0) 100%);
}
.so-promo > * { position: relative; z-index: 1; }
.so-promo h3 { margin: 4px 0 8px; color: #24315c !important; font-size: 30px; font-weight: 800; }
.so-promo p, .so-promo__kicker { color: #24315c !important; }
.so-promo--stem, .so-promo--teach {
  background-size: cover;
  background-position: center;
  transform: scaleX(-1);
}
.so-promo--stem::before,
.so-promo--teach::before,
.so-promo--stem > *,
.so-promo--teach > * {
  transform: scaleX(-1);
}
.so-promo--stem { background-color: #d7e6ff; }
.so-promo--teach { background-color: #ffd6e6; }
.so-promo--stem::after,
.so-promo--teach::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,.32);
  pointer-events: none;
}
.entry_tab .products_tab { position: relative; }
.entry_tab .products_tab.no_action {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
.entry_tab .products_tab.no_action .product-miniature {
  width: calc(25% - 23px);
  max-width: 270px;
}
@media (max-width: 991px) {
  .entry_tab .products_tab.no_action .product-miniature {
    width: calc(50% - 15px);
  }
}
@media (max-width: 479px) {
  .entry_tab .products_tab.no_action .product-miniature {
    width: 100%;
    max-width: none;
  }
}
.entry_tab .products_tab .owl-nav {
  display: block !important;
  visibility: visible !important;
  position: absolute;
  inset: 0;
  height: auto !important;
  pointer-events: none;
  z-index: 4;
}
.entry_tab .products_tab .owl-prev,
.entry_tab .products_tab .owl-next {
  pointer-events: auto;
  position: absolute !important;
  top: 42%;
  width: 44px !important;
  height: 44px !important;
  margin: 0 !important;
  border-radius: 50%;
  z-index: 5;
}
.entry_tab .products_tab .owl-prev { left: -8px !important; }
.entry_tab .products_tab .owl-next { right: -8px !important; }
.entry_tab .products_tab .owl-stage,
.categoryproducts_content .owl-stage,
.featured-products .products .owl-stage {
  display: flex !important;
  align-items: stretch !important;
}
.entry_tab .products_tab .owl-item,
.categoryproducts_content .owl-item,
.featured-products .owl-item {
  display: flex !important;
  float: none !important;
  height: auto !important;
  align-items: stretch !important;
}
.entry_tab .products_tab .owl-item .product-miniature,
.categoryproducts_content .owl-item .product-miniature,
.featured-products .owl-item .product-miniature {
  display: flex !important;
  width: 100% !important;
}
.entry_tab .products_tab .product-miniature .thumbnail-container,
.categoryproducts_content .product-miniature .thumbnail-container,
.featured-products .product-miniature .thumbnail-container {
  width: 100% !important;
  height: 100% !important;
}
.entry_tab .products_tab .product-miniature .product-thumbnail,
.entry_tab .products_tab .product-miniature .thumbnail {
  flex: 0 0 auto;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
}
.entry_tab .products_tab .so-card__panel,
.categoryproducts_content .so-card__panel,
.featured-products .so-card__panel {
  flex: 1 1 auto;
  display: flex !important;
  flex-direction: column;
  box-sizing: border-box;
  min-height: 228px;
}
.entry_tab .products_tab .product-miniature .img_no_image,
.entry_tab .products_tab .product-miniature .highlighted-informations,
.categoryproducts_content .product-miniature .img_no_image,
.categoryproducts_content .product-miniature .highlighted-informations,
.featured-products .product-miniature .img_no_image,
.featured-products .product-miniature .highlighted-informations {
  margin-top: auto !important;
  width: 100% !important;
  padding: 0 10px 10px !important;
  overflow: visible !important;
}
.entry_tab .products_tab .product-miniature .add_to_cart_button {
  width: 100% !important;
  max-width: 100% !important;
}
.entry_tab .products_tab .product-miniature .add_to_cart {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  max-width: 100% !important;
  height: 44px !important;
  margin: 8px 0 0 !important;
  padding: 10px 10px 8px !important;
  background: #00ccd6 !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0;
  text-transform: uppercase !important;
  overflow: visible !important;
  white-space: nowrap;
}
.entry_tab .products_tab .product-miniature .add_to_cart::before,
.entry_tab .products_tab .product-miniature .add_to_cart::after {
  content: none !important;
  display: none !important;
}
.entry_tab .products_tab .product-miniature .add_to_cart i {
  display: inline-block;
  margin-right: 6px;
  padding-right: 8px;
  border-right: 1px solid rgba(255, 255, 255, 0.26);
  color: #fff;
  font-size: 14px;
  line-height: 1;
  flex: 0 0 auto;
}
.entry_tab .products_tab .product-miniature .add_to_cart .fa-shopping-cart::before {
  display: inline-block;
  color: #fff;
  transition: 0.4s all ease-out;
}
.entry_tab .products_tab .product-miniature .add_to_cart:hover,
.entry_tab .products_tab .product-miniature .add_to_cart:focus {
  background: #fbb700 !important;
  color: #fff !important;
  border-color: transparent !important;
}
.entry_tab .products_tab .product-miniature .add_to_cart:hover .fa-shopping-cart::before,
.entry_tab .products_tab .product-miniature .add_to_cart:focus .fa-shopping-cart::before {
  transform: rotate(360deg);
}
.so-promo__kicker { margin: 0; letter-spacing: .06em; font-size: 13px; text-transform: uppercase; }
.so-promo__btn {
  display: inline-block;
  margin-top: 8px;
  background: #fff;
  color: #24315c;
  border-radius: 999px;
  padding: 8px 14px;
  font-weight: 800;
}
.so-news {
  position: relative;
  z-index: 1;
  max-width: 1180px;
  margin: 0 auto;
  padding: 28px 8px 18px;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 16px;
  align-items: center;
  background: transparent;
}
.so-news__form .links:not(.block_newsletter),
.so-news__form .footer-block,
.so-news__form .block-contact,
.so-news__form .block-social { display: none !important; }
.so-news__form { min-width: 280px; }
.so-news__form .block_newsletter,
.so-news__form .newsletter_content,
.so-news__form .block_newsletter_form {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  width: 100% !important;
  position: static !important;
  float: none !important;
  margin: 0 !important;
}
.so-news__form .newsletter_submit {
  position: static !important;
  width: auto !important;
  height: auto !important;
  float: none !important;
  margin: 0 0 0 8px !important;
  padding: 0 !important;
  order: 2 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  overflow: visible !important;
}
.so-news__form .input-wrapper { order: 1 !important; }
.so-news__form .input-wrapper { flex: 1 1 auto !important; width: auto !important; }
.so-news__form .block_newsletter.col-xs-12,
.so-news__form .block_newsletter { display: flex !important; width: 100%; margin: 0; }
.so-news__form .newsletter_content > .col-xs-12 { display: block !important; }
.so-news__form .title-footer-block,
.so-news__form .title.clearfix,
.so-news__form .newsletter_content > p { display: none !important; }
.so-news__form #footer_nlt,
.so-news__form #footer_nlt.collapse { display: block !important; height: auto !important; }
.so-news__form form,
.so-news__form .newsletter_content,
.so-news__form .input-wrapper {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px;
  margin: 0;
  width: 100%;
  position: static !important;
}
.so-news__form input[type="email"],
.so-news__form input[type="text"] {
  flex: 1;
  height: 48px;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 0 16px !important;
  background: #fff !important;
}
.so-news__form button,
.so-news__form input[type="submit"] {
  position: static !important;
  right: auto !important;
  top: auto !important;
  float: none !important;
  transform: none !important;
  height: 48px;
  min-width: 150px;
  border: 0 !important;
  border-radius: 999px !important;
  background: #2f6bff !important;
  background-image: none !important;
  box-shadow: none !important;
  outline: none !important;
  color: #fff !important;
  font-weight: 800;
  font-size: 15px !important;
  text-transform: none !important;
  padding: 0 18px !important;
}
.so-news__form input[type="submit"] ~ input[type="submit"] { display: none !important; }
.so-news__form .btn::before,
.so-news__form .btn::after { content: none !important; display: none !important; }
.so-news__form button i,
.so-news__form button .material-icons { display: none !important; }
.so-news__copy { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; padding-left: 36px; }
.so-news__plane { width: 42px; height: 42px; flex: 0 0 auto; }
.so-news__copy p { margin: 0; color: #3c4d73; font-size: 14px; max-width: 420px; }
.so-news__copy strong { color: #2f6bff; }
.so-news__note {
  margin: 0;
  color: #2f6bff;
  font-family: Caveat, cursive;
  font-size: 26px;
  line-height: 1;
  text-align: right;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
.so-news__note svg { width: 54px; height: 54px; flex: 0 0 auto; }
.so-news h2 { margin: 0 0 4px; color: #24315c; font-weight: 800; font-size: 26px; }
.so-footer {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: calc(100vw * 355 / 1024);
  background: #7ec8ff url("../img/so-footer-bg.png") center / 100% 100% no-repeat !important;
  border-radius: 0;
  margin-top: 8px;
  padding: 3.2vw 2vw 1.4vw;
  color: #fff !important;
}
.so-cloud {
  position: relative;
  background: transparent;
  border-radius: 0;
  margin-top: 0;
  padding: 1.5vw 8px 0;
  overflow: visible;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.so-cloud::before,
.so-cloud::after { content: none; }
.so-news__plane, .so-news__note svg { display: none; }
.so-social { display: flex; gap: 8px; margin-top: 10px; }
.so-social a {
  width: 28px; height: 28px; border-radius: 50%; background: #fff; color: #2f6bff !important;
  display: inline-flex !important; align-items: center; justify-content: center; font-weight: 800; font-size: 13px;
}
.so-badge--mc, .so-badge--maestro {
  width: 48px;
  padding: 0 !important;
  gap: 0;
}
.so-badge--mc i, .so-badge--maestro i {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  display: block;
  flex: 0 0 16px;
}
.so-badge--mc i:first-child { background: #eb001b; margin-right: -6px; }
.so-badge--mc i:last-child { background: #f79e1b; }
.so-badge--maestro i:first-child { background: #0099df; margin-right: -6px; }
.so-badge--maestro i:last-child { background: #ed1c24; }
.so-badge--paypal { color: #003087 !important; font-style: italic; }
.so-badge--dpd { color: #dc0032 !important; }
.so-badge--hp { color: #003da5 !important; background: #ffe14a; font-size: 11px; }
.so-foot__line { display: flex !important; align-items: flex-start; gap: 8px; }
.so-foot__line svg { width: 16px; height: 16px; flex: 0 0 auto; margin-top: 2px; }
.so-footer::before,
.so-footer::after { content: none; }
.so-news {
  background: transparent !important;
  border-radius: 0;
  padding: 0 3vw 0 5vw !important;
  margin: 0 auto !important;
  grid-template-columns: 1.15fr 1.2fr .75fr;
}
.so-news__form input[type="text"] { min-width: 210px !important; }
.so-foot {
  position: relative;
  z-index: 1;
  max-width: 1180px;
  margin: 0 auto;
  padding: 28px 28px 16px;
  display: grid;
  grid-template-columns: 1.15fr .85fr 1fr 1.15fr 1fr;
  gap: 18px;
  background: transparent;
  color: #fff;
}
.so-foot a, .so-foot p, .so-foot h3 { color: #fff; display: block; margin: 0 0 6px; }
.so-foot h3 { font-weight: 800; margin-bottom: 10px; }
.so-foot__brand img { max-width: 150px; background: #fff; border-radius: 18px; padding: 8px; }
.so-foot p.so-pay {
  display: flex !important;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
  margin: 0 0 8px;
}
.so-pay--cards img {
  height: 28px;
  width: auto;
  display: block;
  background: #fff;
  border-radius: 4px;
  padding: 3px 5px;
  object-fit: contain;
  box-sizing: border-box;
}
.so-badge {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  height: 28px;
  min-height: 28px;
  box-sizing: border-box;
  line-height: 1;
  min-width: 0;
  white-space: nowrap;
  padding: 0 8px !important;
  border-radius: 6px;
  background: #fff;
  color: #1a1a1a !important;
  font-weight: 800;
  font-size: 12px;
  letter-spacing: .02em;
  vertical-align: middle;
}
.so-badge--visa { color: #1a1f71 !important; }
.so-badge--mc { color: #eb001b !important; }
.so-badge--maestro { color: #0099df !important; }
.so-badge--gls { color: #061ab1 !important; background: #ffe14a; }
.so-foot__btn {
  display: inline-block !important;
  margin-top: 8px;
  background: #fff;
  color: #2f6bff !important;
  border-radius: 999px;
  padding: 8px 14px;
  font-weight: 800;
}
.so-footer .footer_top, .so-footer .footer_before, .so-footer .footer_after, .so-footer .footer_bottom { display: none !important; }
.so-foot__legal {
  position: relative;
  z-index: 1;
  max-width: 1180px;
  margin: 4px auto 8px;
  padding: 0 28px 8px;
  text-align: center;
  font-size: 13px;
  line-height: 1.45;
  color: #24315c !important;
}
.so-foot__cjenik { margin-top: 0; padding-bottom: 16px; font-weight: 700; }
.so-foot__cjenik a {
  color: #24315c !important;
  display: inline !important;
  margin: 0 4px;
  text-decoration: underline;
}
.so-foot__bar {
  position: relative;
  z-index: 1;
  max-width: 1180px;
  margin: 8px auto 0;
  padding: 8px 8px 4px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: #fff;
  font-size: 13px;
}
.so-foot__bar, .so-foot__bar a { color: #24315c !important; }
.so-footer .footer_after img {
  height: 36px;
  width: auto;
  background: #fff;
  border-radius: 6px;
  padding: 4px;
  margin: 0 4px;
}
.so-footer a, .so-footer h3, .so-footer h4, .so-footer .h3 { color: #fff !important; }
.so-foot__bar, .so-foot__bar a { color: #24315c !important; }
@media (max-width: 991px) {
  .header-top, .header_top_content, .mobile_logo { position: relative; z-index: 30; background: #e7f6ff; }
  .header-top .header_top_right.so-head__tools { display: flex !important; flex-wrap: wrap !important; justify-content: flex-end; }
  body#index .menu_and_cattree,
  body#index header.header_v1 { z-index: auto; }
  #menu-icon {
    position: relative !important;
    float: left !important;
    margin: 8px 0 0 12px;
    z-index: 40;
    background: #fff;
    border-radius: 10px;
    padding: 6px 8px;
    box-shadow: 0 4px 12px rgba(36,84,150,.12);
  }
  .ets_mm_megamenu .icon-bar { display: none !important; }
  .menu_and_cattree .ets_mm_megamenu,
  body#index .ets_mm_megamenu,
  body#index .ets_mm_megamenu_content,
  body#index .layout_layout5.ets_mm_megamenu,
  body:not(#index) .menu_and_cattree .ets_mm_megamenu {
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
  }
  .transition_floating .ybc-menu-button-toggle.opened::before,
  .transition_full .ybc-menu-button-toggle.opened::before,
  .ets_mm_megamenu .ybc-menu-toggle.opened::before {
    z-index: 10040 !important;
  }
  body .mm_menus_ul,
  body#index .mm_menus_ul,
  body .transition_floating .mm_menus_ul {
    display: none !important;
  }
  body .mm_menus_ul.active,
  body#index .mm_menus_ul.active,
  body .transition_floating .mm_menus_ul.active,
  .ets_mm_megamenu .mm_menus_ul.active {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    width: 300px !important;
    max-width: 86vw !important;
    height: 100vh !important;
    margin: 0 !important;
    padding: 12px 0 24px !important;
    overflow: auto !important;
    background: #fff !important;
    z-index: 10050 !important;
    pointer-events: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    float: none !important;
  }
  body .mm_menus_ul .mm_menus_li,
  body .mm_menus_ul .close_menu {
    display: block !important;
    float: none !important;
    width: 100% !important;
    clear: both !important;
    position: relative !important;
  }
  body .mm_menus_ul .mm_menus_li > a,
  body .mm_menus_ul .close_menu,
  body#index .home_layout_menu > a,
  body#index .home_layout_menu:hover > a,
  body#index .home_layout_menu > a:hover,
  body .mm_menus_ul .mm_menus_li > a:hover,
  body .mm_menus_ul .mm_menus_li:hover > a {
    color: #24315c !important;
    display: block !important;
    padding: 12px 18px !important;
    background: #fff !important;
    border-radius: 0 !important;
    justify-content: flex-start !important;
    pointer-events: auto !important;
  }
  .mm_columns_ul,
  .mm_menus_li > .mm_columns_ul,
  .mm_menus_li:hover > .mm_columns_ul,
  .mm_menus_li.mm_menu_open > .mm_columns_ul {
    position: static !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    transform: none !important;
    float: none !important;
    margin: 0 !important;
    box-shadow: none !important;
    pointer-events: auto !important;
  }
  .mobile_logo { text-align: center; padding: 6px 12px 0; }
  .mobile_logo img, #_mobile_logo img { max-height: 54px !important; width: auto !important; }
  .so-cats, .so-promos, .so-foot, .so-news { grid-template-columns: 1fr; }
  .so-footer {
    background-size: auto 100% !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }
  .so-news__note { text-align: left; max-width: none; }
}

@media (max-width: 767px) {
  body#checkout section.checkout-step .content {
    padding: 0 1rem !important;
  }
  body#checkout section.checkout-step.-reachable.-complete h1 .step-edit {
    float: none !important;
    display: inline-flex !important;
    align-items: center;
    gap: 4px;
    margin-left: 8px !important;
    white-space: nowrap;
  }
  body#checkout section#checkout-delivery-step.checkout-step .custom-radio,
  body#checkout section.checkout-step .delivery-option .custom-radio {
    position: relative !important;
    top: auto !important;
    transform: none !important;
    float: none !important;
    margin: 3px 10px 0 0 !important;
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
  }
  body#checkout section.checkout-step .delivery-option .custom-radio input[type="radio"] {
    position: absolute !important;
    left: 0;
    top: 0;
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
    opacity: 0;
  }
  body#checkout section.checkout-step .delivery-option .custom-radio input[type="radio"]:checked + span {
    top: 2px !important;
    left: 2px !important;
  }
  body#checkout section.checkout-step .delivery-option {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    padding: 14px 12px !important;
    box-sizing: border-box;
  }
  body#checkout section.checkout-step .delivery-option > .col-sm-1 {
    width: auto !important;
    max-width: 32px;
    flex: 0 0 32px;
    padding: 0 !important;
    float: none !important;
  }
  body#checkout section.checkout-step .delivery-option label.delivery-option-2,
  body#checkout section.checkout-step .delivery-option-2 {
    display: block !important;
    width: auto !important;
    flex: 1 1 auto;
    max-width: calc(100% - 42px);
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
  }
  body#checkout section.checkout-step .delivery-option .carrier-name,
  body#checkout section.checkout-step .delivery-option .carrier-delay,
  body#checkout section.checkout-step .delivery-option .carrier-price {
    display: block;
    margin-top: 4px;
  }
}

/* Iste ikone dostave, bez naziva preko logotipa */
body#checkout section.checkout-step .delivery-option img {
  width: 96px !important;
  height: 36px !important;
  max-width: 96px !important;
  max-height: 36px !important;
  min-width: 0 !important;
  object-fit: contain !important;
  object-position: left center;
  display: block;
}
body#checkout section.checkout-step .delivery-option .col-xs-3 {
  width: 104px !important;
  max-width: 104px !important;
  flex: 0 0 104px;
  padding-right: 8px;
}
body#checkout section.checkout-step .delivery-option .col-xs-3 + [class*="col-xs-"] .carrier-name {
  display: none !important;
}

/* Odvoji adresu za dostavu od adrese za račun */
body#checkout .js-address-form h2.h4:not(:first-of-type) {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid #e6e6e6;
}
@media (max-width: 767px) {
  body#checkout #order-summary-content .col-md-6 + .col-md-6 {
    margin-top: 1.75rem;
  }
}

/* Kontakt: nema bijele kutije / crte iznad polja Tema */
body#contact .contact-form {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding-top: 0 !important;
}
body#contact .contact-form .form-fields > .form-group:first-child {
  border-top: 0 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

#product .product-images.so-thumbs-grid {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}
#product .product-images.so-thumbs-grid .thumb-container {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
}
#product .product-images.so-thumbs-grid .thumb {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: 3 / 4;
  object-fit: contain;
  cursor: pointer;
}
#product .product-images.so-thumbs-grid .thumb.selected {
  border-color: #2f6bff !important;
  box-shadow: 0 0 0 2px #2f6bff;
}
@media (max-width: 767px) {
  #product .product-images.so-thumbs-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

#product .product-cover .layer {
  background: transparent !important;
}
#product .product-cover .layer i {
  position: absolute !important;
  right: 10px;
  bottom: 10px;
  left: auto !important;
  top: auto !important;
  width: 36px;
  height: 36px;
  line-height: 36px;
  font-size: 22px;
  border-radius: 50%;
  background: rgba(36, 49, 92, .88);
  color: #fff;
}

#product-modal .modal-content {
  background: #fff !important;
}
#product-modal .modal-dialog {
  max-width: 820px;
}
#product-modal .js-modal-product-cover {
  width: 100% !important;
  height: auto !important;
  max-height: 68vh;
  object-fit: contain;
  background: #fff;
}
#product-modal .image-caption {
  display: none !important;
}
#product-modal .js-modal-mask,
#product-modal .thumbnails,
#product-modal #thumbnails {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  position: static !important;
  width: 100% !important;
}
#product-modal .js-modal-product-images {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 6px;
  width: 100%;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}
#product-modal .js-modal-product-images .thumb-container {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
}
#product-modal .js-modal-thumb {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 4;
  object-fit: contain;
  cursor: pointer;
  background: #fff;
  border: 1px solid #9eb4d6;
  border-radius: 8px;
}
#product-modal .js-modal-thumb.selected {
  border-color: #2f6bff;
  box-shadow: 0 0 0 2px #2f6bff;
}
