.elementor-5940 .elementor-element.elementor-element-be0da4d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5940 .elementor-element.elementor-element-91fb743{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:60px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5940 .elementor-element.elementor-element-eb15d3e{width:100%;max-width:100%;}.elementor-5940 .elementor-element.elementor-element-de43ea7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5940 .elementor-element.elementor-element-0bb51f0 .elementor-button{background-color:#6CA5BA;font-size:24px;fill:#FFFFFF;color:#FFFFFF;border-radius:20px 0px 20px 0px;padding:15px 20px 15px 20px;}.elementor-5940 .elementor-element.elementor-element-228093a .cart button, .elementor-5940 .elementor-element.elementor-element-228093a .cart .button{transition:all 0.2s;}.elementor-5940 .elementor-element.elementor-element-228093a .quantity .qty{transition:all 0.2s;}.elementor-5940 .elementor-element.elementor-element-e16916e{--display:flex;--padding-top:0px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-5940 .elementor-element.elementor-element-f42b49f.elementor-wc-products ul.products li.product{text-align:center;--button-align-display:flex;--button-align-direction:column;--button-align-justify:space-between;}.elementor-5940 .elementor-element.elementor-element-f42b49f.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-5940 .elementor-element.elementor-element-f42b49f.elementor-wc-products ul.products li.product span.onsale{display:block;}@media(max-width:1024px){.elementor-5940 .elementor-element.elementor-element-be0da4d{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5940 .elementor-element.elementor-element-91fb743{--padding-top:40px;--padding-bottom:40px;--padding-left:40px;--padding-right:40px;}.elementor-5940 .elementor-element.elementor-element-0bb51f0 .elementor-button .elementor-button-content-wrapper{justify-content:end;}.elementor-5940 .elementor-element.elementor-element-0bb51f0 .elementor-button{font-size:20px;}.elementor-5940 .elementor-element.elementor-element-f42b49f > .elementor-widget-container{padding:0px 40px 0px 40px;}.elementor-5940 .elementor-element.elementor-element-f42b49f.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}@media(max-width:767px){.elementor-5940 .elementor-element.elementor-element-be0da4d{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5940 .elementor-element.elementor-element-91fb743{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-5940 .elementor-element.elementor-element-eb15d3e > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-5940 .elementor-element.elementor-element-228093a > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-5940 .elementor-element.elementor-element-e16916e{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5940 .elementor-element.elementor-element-f42b49f > .elementor-widget-container{padding:0px 0px 0px 20px;}.elementor-5940 .elementor-element.elementor-element-f42b49f.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}/* Start custom CSS for button, class: .elementor-element-0bb51f0 *//* ===== Oranžové tlačítko: .btn-objednat (správná verze) ===== */

.btn-objednat .elementor-button{
  position: relative !important;
  overflow: hidden !important;

  /* barvy */
  --orange: #6CA5BA;
  --liquid: #00025C;

  --p: 0%;
  --t: 0s;

  /* DŮLEŽITÉ – 2 vrstvy */
  background:
    linear-gradient(var(--liquid) 0 0) no-repeat
      50% 100% / 100% var(--p),   /* animovaná bílá vrstva */
    var(--orange) !important;     /* základní oranžová */

  color: #ffff !important;
  border: none !important;

  transition:
    background-size .2s var(--t, 0s),
    color .2s ease !important;
}

/* hover */
.btn-objednat .elementor-button:hover{
  --p: 100%;
  --t: .2s;

  color: #ffff !important; /* text zůstane černý */
}

/* klik */
.btn-objednat .elementor-button:active{
  filter: brightness(.96) !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-be0da4d *//* ================================================
   MASÁŽE LEONIS — WooCommerce Product Page CSS
   Design system: navy + sky blue + golden accent
   Radius: 20px 0px (asymetrický border-radius)
   Responsivní: desktop / tablet / mobile
   Mobile related products: touch slider
   ================================================ */

/* ── CSS Variables ── */
:root {
  --ml-navy:         #1a2a4a;
  --ml-navy-light:   #243556;
  --ml-sky:          #b8d8e8;
  --ml-sky-light:    #ddeef6;
  --ml-gold:         #f5a623;
  --ml-gold-hover:   #e09510;
  --ml-white:        #ffffff;
  --ml-text:         #1a2a4a;
  --ml-text-muted:   #5a6a7a;
  --ml-radius:       20px 0px 20px 0px;
  --ml-radius-card:  20px 0px 20px 0px;
  --ml-shadow:       0 8px 32px rgba(26, 42, 74, 0.12);
  --ml-shadow-hover: 0 16px 48px rgba(26, 42, 74, 0.2);
  --ml-transition:   0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ================================================
   PRODUCT PAGE WRAPPER
   Elementor třída: .ml-product-wrapper
   ================================================ */
.ml-product-wrapper {
  background: linear-gradient(180deg, #f8fbfd 0%, var(--ml-sky-light) 100%);
  padding: 40px 0 80px;
}

@media (max-width: 1024px) {
  .ml-product-wrapper { padding: 24px 0 60px; }
}

@media (max-width: 767px) {
  .ml-product-wrapper { padding: 16px 0 48px; }
}

/* ================================================
   KONTEJNER 1 — Product Images
   Elementor třída: .ml-product-images
   ================================================ */
.ml-product-images {
  position: relative;
}

.ml-product-images .woocommerce-product-gallery {
  border-radius: var(--ml-radius);
  overflow: hidden;
  box-shadow: var(--ml-shadow);
  transition: box-shadow var(--ml-transition);
}

.ml-product-images .woocommerce-product-gallery:hover {
  box-shadow: var(--ml-shadow-hover);
}

.ml-product-images .woocommerce-product-gallery__wrapper img {
  border-radius: var(--ml-radius);
  width: 100%;
  height: auto;
  display: block;
  transition: transform var(--ml-transition);
}

.ml-product-images .woocommerce-product-gallery:hover img {
  transform: scale(1.02);
}

/* Zoom ikona */
.ml-product-images .woocommerce-product-gallery__trigger {
  background: var(--ml-gold) !important;
  border-radius: 50% !important;
  width: 40px !important;
  height: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 12px rgba(245, 166, 35, 0.4) !important;
  transition: all var(--ml-transition) !important;
}

.ml-product-images .woocommerce-product-gallery__trigger:hover {
  background: var(--ml-gold-hover) !important;
  transform: scale(1.1) !important;
}

/* Thumbnails */
.ml-product-images .flex-control-thumbs {
  display: flex;
  gap: 8px;
  margin-top: 12px;
  flex-wrap: wrap;
}

.ml-product-images .flex-control-thumbs li {
  flex: 1;
  min-width: 56px;
}

.ml-product-images .flex-control-thumbs li img {
  border-radius: 12px 0 12px 0 !important;
  cursor: pointer;
  opacity: 0.65;
  transition: all var(--ml-transition);
  border: 2px solid transparent;
  width: 100%;
}

.ml-product-images .flex-control-thumbs li img:hover,
.ml-product-images .flex-control-thumbs li img.flex-active {
  opacity: 1;
  border-color: var(--ml-gold);
}

/* ================================================
   KONTEJNER 2 — Product Info
   Elementor třída: .ml-product-info
   ================================================ */
.ml-product-info {
  padding: 32px 40px;
  background: var(--ml-white);
  border-radius: var(--ml-radius);
  box-shadow: var(--ml-shadow);
  position: relative;
  overflow: hidden;
  height: 100%;
}

.ml-product-info::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 6px;
  height: 80px;
  background: linear-gradient(180deg, var(--ml-gold), var(--ml-sky));
  border-radius: 0 0 4px 0;
}

@media (max-width: 1024px) {
  .ml-product-info { padding: 28px 32px; }
}

@media (max-width: 767px) {
  .ml-product-info {
    padding: 24px 20px;
    border-radius: 16px 0 16px 0;
    margin-top: 16px;
  }
}

/* ── Global fix: variation add-to-cart wrapper (přebíjí Elementor) ── */
.ml-product-info .woocommerce-variation-add-to-cart.variations_button {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 16px !important;
  width: 100% !important;
}

/* Na mobilu jde do sloupce */
@media (max-width: 767px) {
  .ml-product-info .woocommerce-variation-add-to-cart.variations_button {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }

  .ml-product-info .woocommerce-variation-add-to-cart.variations_button .quantity {
    flex: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
  }

  .ml-product-info .woocommerce-variation-add-to-cart.variations_button .single_add_to_cart_button {
    width: 100% !important;
    flex: none !important;
    min-width: 0 !important;
  }
}

/* ── Variations dropdown (desktop + tablet) ── */
.ml-product-info table.variations {
  width: 100%;
  border: none;
  border-collapse: separate;
  border-spacing: 0 10px;
  margin-bottom: 8px;
}

.ml-product-info table.variations td,
.ml-product-info table.variations th {
  border: none;
  padding: 0;
  vertical-align: middle;
}

.ml-product-info table.variations th.label {
  width: auto;
  padding-right: 16px;
  font-weight: 700;
  font-size: 0.9rem;
  color: var(--ml-text-muted);
  white-space: nowrap;
}

.ml-product-info table.variations select {
  width: 100%;
  height: 48px;
  border: 2px solid var(--ml-sky);
  border-radius: 16px 0 16px 0;
  padding: 0 16px;
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--ml-navy);
  background: var(--ml-sky-light);
  outline: none;
  transition: border-color var(--ml-transition);
  cursor: pointer;
}

.ml-product-info table.variations select:focus {
  border-color: var(--ml-gold);
}

.ml-product-info .reset_variations {
  display: inline-block;
  margin-top: 4px;
  font-size: 0.8rem;
  color: var(--ml-text-muted);
  text-decoration: none;
  transition: color var(--ml-transition);
}

.ml-product-info .reset_variations:hover {
  color: var(--ml-gold);
}

/* Variation price + description */
.ml-product-info .single_variation_wrap .woocommerce-variation-price .price {
  font-size: 1.9rem;
  font-weight: 800;
  color: var(--ml-navy);
}

.ml-product-info .woocommerce-variation-description p {
  color: var(--ml-text-muted);
  font-size: 0.9rem;
  line-height: 1.6;
  margin-bottom: 12px;
}

/* ── Product Title ── */
.ml-product-info .product_title,
.ml-product-info h1.product_title {
  font-size: clamp(1.4rem, 2.8vw, 2.2rem);
  font-weight: 700;
  color: var(--ml-gold);
  line-height: 1.25;
  margin: 0 0 16px;
  letter-spacing: -0.02em;
  text-transform: uppercase;
}

@media (max-width: 767px) {
  .ml-product-info .product_title,
  .ml-product-info h1.product_title {
    font-size: clamp(1.2rem, 5vw, 1.6rem);
    margin-bottom: 12px;
  }
}

/* ── Short Description ── */
.ml-product-info .woocommerce-product-details__short-description {
  color: var(--ml-text-muted);
  font-size: 0.95rem;
  line-height: 1.7;
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(184, 216, 232, 0.5);
}

.ml-product-info .woocommerce-product-details__short-description p {
  margin: 0;
}

@media (max-width: 767px) {
  .ml-product-info .woocommerce-product-details__short-description {
    font-size: 0.9rem;
    margin-bottom: 20px;
    padding-bottom: 20px;
  }
}

/* ── Product Price ── */
.ml-product-info .price {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 28px;
}

.ml-product-info .price .woocommerce-Price-amount {
  font-size: 2rem;
  font-weight: 800;
  color: var(--ml-navy);
  line-height: 1;
}

.ml-product-info .price .woocommerce-Price-currencySymbol {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--ml-text-muted);
  margin-left: 2px;
}

.ml-product-info .price del {
  color: var(--ml-text-muted);
  opacity: 0.6;
  font-size: 1.1rem;
}

.ml-product-info .price ins {
  text-decoration: none;
}

@media (max-width: 767px) {
  .ml-product-info .price .woocommerce-Price-amount { font-size: 1.7rem; }
  .ml-product-info .price { margin-bottom: 20px; }
}

/* ── Quantity + Add to Cart ── */
.ml-product-info .cart {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.ml-product-info .quantity .qty {
  width: 64px;
  height: 52px;
  border: 2px solid var(--ml-sky);
  border-radius: 20px 0;
  text-align: center;
  font-size: 1rem;
  font-weight: 600;
  color: var(--ml-navy);
  background: var(--ml-sky-light);
  outline: none;
  transition: border-color var(--ml-transition);
  -moz-appearance: textfield;
}

.ml-product-info .quantity .qty:focus {
  border-color: var(--ml-gold);
}

.ml-product-info .quantity .qty::-webkit-outer-spin-button,
.ml-product-info .quantity .qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

@media (max-width: 767px) {
  .ml-product-info .cart {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }

  .ml-product-info .quantity {
    display: flex;
    align-items: center;
    gap: 12px;
  }

  .ml-product-info .quantity::before {
    content: 'Počet:';
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--ml-text-muted);
    white-space: nowrap;
  }

  .ml-product-info .quantity .qty {
    width: 72px;
    height: 46px;
  }

  /* Variable product — variations form fix */
  .ml-product-info .variations_form.cart,
  .ml-product-info form.cart {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .ml-product-info .variations_form .variations {
    width: 100%;
    margin-bottom: 0;
  }

  .ml-product-info .variations_form .variations td,
  .ml-product-info .variations_form .variations th {
    display: block;
    width: 100%;
    padding: 0;
  }

  .ml-product-info .variations_form .variations th.label {
    margin-bottom: 6px;
    font-weight: 600;
    font-size: 0.85rem;
    color: var(--ml-text-muted);
  }

  .ml-product-info .variations_form .variations select {
    width: 100% !important;
    height: 46px;
    border: 2px solid var(--ml-sky);
    border-radius: 16px 0 16px 0;
    padding: 0 16px;
    font-size: 0.9rem;
    color: var(--ml-navy);
    background: var(--ml-sky-light);
    outline: none;
    appearance: auto;
  }

  .ml-product-info .variations_form .variations select:focus {
    border-color: var(--ml-gold);
  }

  /* Single variation description */
  .ml-product-info .single_variation_wrap {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .ml-product-info .single_variation_wrap .woocommerce-variation-price {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--ml-navy);
  }

  .ml-product-info .single_variation_wrap .cart {
    flex-direction: column;
  }

  /* HLAVNÍ FIX — přesný selektor z devtools */
  .ml-product-info .woocommerce-variation-add-to-cart {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    gap: 12px !important;
    flex-wrap: nowrap !important;
  }

  .ml-product-info .woocommerce-variation-add-to-cart .quantity {
    flex: none !important;
    width: auto !important;
  }

  .ml-product-info .woocommerce-variation-add-to-cart .single_add_to_cart_button {
    flex: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

/* ── Add to Cart Button ── */
.ml-product-info .single_add_to_cart_button,
.ml-product-info button.button.alt {
  flex: 1;
  height: 52px;
  background: var(--ml-gold) !important;
  color: var(--ml-white) !important;
  border: none !important;
  border-radius: 20px 0 20px 0 !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: 0 6px 20px rgba(245, 166, 35, 0.35);
  transition: all var(--ml-transition) !important;
  position: relative;
  overflow: hidden;
}

.ml-product-info .single_add_to_cart_button::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.15);
  transform: translateX(-100%) skewX(-15deg);
  transition: transform 0.4s ease;
}

.ml-product-info .single_add_to_cart_button:hover::before {
  transform: translateX(110%) skewX(-15deg);
}

.ml-product-info .single_add_to_cart_button:hover {
  background: var(--ml-gold-hover) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 28px rgba(245, 166, 35, 0.45) !important;
}

.ml-product-info .single_add_to_cart_button:active {
  transform: translateY(0px) !important;
}

@media (max-width: 767px) {
  .ml-product-info .single_add_to_cart_button,
  .ml-product-info button.button.alt {
    height: 52px;
    font-size: 0.9rem !important;
    width: 100% !important;
    flex: none !important;
  }
}

/* ================================================
   KONTEJNER 3 — Product Tabs
   Elementor třída: .ml-product-tabs
   ================================================ */
.ml-product-tabs {
  margin-top: 48px;
}

@media (max-width: 767px) {
  .ml-product-tabs { margin-top: 32px; }
}

.ml-product-tabs .woocommerce-tabs ul.tabs {
  display: flex;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0 0 -1px;
  border-bottom: none;
  flex-wrap: wrap;
}

.ml-product-tabs .woocommerce-tabs ul.tabs::before { display: none; }

.ml-product-tabs .woocommerce-tabs ul.tabs li {
  padding: 0;
  border: none !important;
  background: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
}

.ml-product-tabs .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 12px 28px;
  background: var(--ml-sky-light);
  color: var(--ml-text-muted);
  font-weight: 600;
  font-size: 0.9rem;
  letter-spacing: 0.103em;
  text-transform: uppercase;
  border-radius: 20px 0 0 0;
  text-decoration: none;
  transition: all var(--ml-transition);
  border: 2px solid transparent;
  white-space: nowrap;
}

.ml-product-tabs .woocommerce-tabs ul.tabs li.active a,
.ml-product-tabs .woocommerce-tabs ul.tabs li a:hover {
  background: var(--ml-white);
  color: var(--ml-gold);
  border-color: var(--ml-sky);
  border-bottom-color: var(--ml-white);
}

.ml-product-tabs .woocommerce-tabs .panel {
  background: var(--ml-white);
  border: 2px solid var(--ml-sky);
  border-radius: 0 20px 20px 20px;
  padding: 40px;
  box-shadow: var(--ml-shadow);
}

.ml-product-tabs .woocommerce-tabs .panel h2 {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--ml-gold);
  text-transform: uppercase;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 2px solid var(--ml-sky-light);
  letter-spacing: 0.02em;
}

.ml-product-tabs .woocommerce-tabs .panel p,
.ml-product-tabs .woocommerce-tabs .panel li {
  color: var(--ml-text-muted);
  line-height: 1.8;
  font-size: 0.95rem;
}

@media (max-width: 1024px) {
  .ml-product-tabs .woocommerce-tabs .panel { padding: 32px; }
}

@media (max-width: 767px) {
  .ml-product-tabs .woocommerce-tabs .panel {
    padding: 20px 18px;
    border-radius: 0 16px 16px 16px;
  }

  .ml-product-tabs .woocommerce-tabs ul.tabs li a {
    padding: 10px 16px;
    font-size: 0.78rem;
  }

  .ml-product-tabs .woocommerce-tabs .panel h2 {
    font-size: 1.15rem;
  }
}

/* ================================================
   KONTEJNER 4 — Related Products
   Elementor třída: .ml-related-products
   ================================================ */
.ml-related-products {
  margin-top: 64px;
  padding-top: 48px;
  border-top: 2px solid var(--ml-sky-light);
}

@media (max-width: 767px) {
  .ml-related-products {
    margin-top: 40px;
    padding-top: 32px;
  }
}

/* Nadpis sekce */
.ml-related-products h2,
.ml-related-products .related > h2 {
  font-size: clamp(1.3rem, 2.5vw, 1.8rem);
  font-weight: 700;
  color: var(--ml-navy);
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 36px;
  position: relative;
}

.ml-related-products h2::after {
  content: '';
  display: block;
  width: 60px;
  height: px;
  background: var(--ml-gold);
  border-radius: 2px;
  margin: 12px auto 0;
}

@media (max-width: 767px) {
  .ml-related-products h2,
  .ml-related-products .related > h2 {
    margin-bottom: 20px;
    font-size: 1.2rem;
  }
}

/* ── DESKTOP: grid ── */
.ml-related-products ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 24px;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.ml-related-products ul.products::before,
.ml-related-products ul.products::after {
  display: none !important;
}

@media (max-width: 1024px) {
  .ml-related-products ul.products {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
}

@media (max-width: 860px) {
  .ml-related-products ul.products {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}

/* ── MOBILE: horizontální touch slider ─────────────────
   Funguje automaticky bez JS — scroll snap + overflow-x.
   Volitelný JS pro tečky viz komentář na konci souboru.
   ─────────────────────────────────────────────────── */
@media (max-width: 600px) {

  /* Wrapper pro fade-out hint vpravo */
  .ml-related-products .related,
  .ml-related-products .up-sells {
    position: relative;
    overflow: hidden;
  }

  /* Swipe hint gradient — naznačí další kartu */
  .ml-related-products .related::after,
  .ml-related-products .up-sells::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 56px;
    height: calc(100% - 36px);
    background: linear-gradient(to right, transparent, #f8fbfd 85%);
    pointer-events: none;
    z-index: 3;
  }

  /* Slider track */
  .ml-related-products ul.products {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    gap: 14px !important;
    padding: 4px 16px 20px 16px !important;
    margin: 0 -16px !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }

  .ml-related-products ul.products::-webkit-scrollbar {
    display: none !important;
  }

  /* Karta = fixní šířka + snap */
  .ml-related-products ul.products li.product {
    flex: 0 0 72vw !important;
    max-width: 260px !important;
    min-width: 200px !important;
    scroll-snap-align: start !important;
    scroll-snap-stop: always !important;
  }
}

/* ── Dot indicators (renderuje JS snippet níže) ── */
.ml-slider-dots {
  display: none;
}

@media (max-width: 600px) {
  .ml-slider-dots {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-top: 4px;
    padding-bottom: 8px;
  }

  .ml-slider-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--ml-sky);
    cursor: pointer;
    transition: all 0.25s ease;
    border: none;
    padding: 0;
    flex-shrink: 0;
  }

  .ml-slider-dot.active {
    background: var(--ml-gold);
    width: 20px;
    border-radius: 4px;
  }
}

/* ── Karta produktu (desktop + mobile sdílené styly) ── */
.ml-related-products ul.products li.product {
  background: var(--ml-white);
  border-radius: var(--ml-radius-card);
  box-shadow: var(--ml-shadow);
  overflow: hidden;
  transition: all var(--ml-transition);
  border: 1px solid rgba(184, 216, 232, 0.4);
  position: relative;
}

.ml-related-products ul.products li.product:hover {
  transform: translateY(-6px);
  box-shadow: var(--ml-shadow-hover);
}

.ml-related-products ul.products li.product a img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
  transition: transform var(--ml-transition);
}

.ml-related-products ul.products li.product:hover a img {
  transform: scale(1.05);
}

@media (max-width: 767px) {
  .ml-related-products ul.products li.product a img { height: 150px; }
}

.ml-related-products ul.products li.product .woocommerce-loop-product__title {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--ml-navy);
  padding: 16px 16px 4px;
  line-height: 1.3;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  
}

.ml-related-products ul.products li.product .price {
  padding: 4px 16px 12px;
  font-weight: 700;
  color: var(--ml-text-muted) !important;
  font-size: 0.9rem;
}

.ml-related-products ul.products li.product .price .woocommerce-Price-amount {
  color: var(--ml-navy);
}

.ml-related-products ul.products li.product .button,
.ml-related-products ul.products li.product .add_to_cart_button {
  display: block;
  margin: 0 16px 16px;
  padding: 10px 20px;
  background: var(--ml-gold) !important;
  color: var(--ml-white) !important;
  border: none !important;
  border-radius: 12px 0 12px 0 !important;
  font-size: 0.85rem !important;
   line-height: 1.3;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: all var(--ml-transition) !important;
}

.ml-related-products ul.products li.product .button:hover {
  background: var(--ml-gold-hover) !important;
  transform: translateY(-2px) !important;
}

.ml-related-products ul.products li.product .onsale {
  background: var(--ml-navy) !important;
  color: var(--ml-white) !important;
  border-radius: 0 0 12px 0 !important;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 4px 10px;
  top: 12px;
  left: 12px;
}

/* ================================================
   STAR REVIEWS
   ================================================ */
.ml-product-info .star-rating,
.ml-related-products .star-rating {
  color: var(--ml-gold) !important;
}

.ml-product-info .star-rating::before,
.ml-related-products .star-rating::before {
  color: rgba(184, 216, 232, 0.7) !important;
}

/* ================================================
   WOOCOMMERCE NOTICES
   ================================================ */
.woocommerce-message,
.woocommerce-info {
  background: var(--ml-sky-light) !important;
  border-top-color: var(--ml-gold) !important;
  border-radius: 0 0 20px 0 !important;
  color: var(--ml-navy) !important;
  font-weight: 500;
}

.woocommerce-message a.button,
.woocommerce-info a.button {
  background: var(--ml-gold) !important;
  color: var(--ml-white) !important;
  border-radius: 12px 0 12px 0 !important;
  border: none !important;
  font-weight: 700 !important;
  transition: background var(--ml-transition) !important;
}

.woocommerce-message a.button:hover {
  background: var(--ml-gold-hover) !important;
}

/* ================================================
   BREADCRUMB
   Elementor třída: .ml-breadcrumb
   ================================================ */
.ml-breadcrumb .woocommerce-breadcrumb {
  color: var(--ml-text-muted);
  font-size: 0.85rem;
  padding: 16px 0;
}

.ml-breadcrumb .woocommerce-breadcrumb a {
  color: var(--ml-navy);
  text-decoration: none;
  font-weight: 600;
  transition: color var(--ml-transition);
}

.ml-breadcrumb .woocommerce-breadcrumb a:hover {
  color: var(--ml-gold);
}

/* ================================================
   SKELETON / LOADING
   ================================================ */
@keyframes ml-shimmer {
  0%   { background-position: -400px 0; }
  100% { background-position: 400px 0; }
}

.ml-product-images.loading,
.ml-product-info.loading {
  background: linear-gradient(
    90deg,
    var(--ml-sky-light) 25%,
    var(--ml-white) 50%,
    var(--ml-sky-light) 75%
  );
  background-size: 400px 100%;
  animation: ml-shimmer 1.4s infinite linear;
}

/*
 * ================================================
 * VOLITELNÝ JS — dot indicators pro mobile slider
 * Vlož do: Elementor → Advanced → Custom JS
 * (nebo functions.php přes wp_add_inline_script)
 * ================================================
 *
 * (function() {
 *   if (window.innerWidth > 600) return;
 *   var slider = document.querySelector('.ml-related-products ul.products');
 *   if (!slider) return;
 *   var items = Array.from(slider.querySelectorAll('li.product'));
 *   var dotsWrap = document.createElement('div');
 *   dotsWrap.className = 'ml-slider-dots';
 *   items.forEach(function(_, i) {
 *     var dot = document.createElement('button');
 *     dot.className = 'ml-slider-dot' + (i === 0 ? ' active' : '');
 *     dot.setAttribute('aria-label', 'Masáž ' + (i + 1));
 *     dot.addEventListener('click', function() {
 *       slider.scrollTo({ left: items[i].offsetLeft - 16, behavior: 'smooth' });
 *     });
 *     dotsWrap.appendChild(dot);
 *   });
 *   slider.parentNode.insertBefore(dotsWrap, slider.nextSibling);
 *   slider.addEventListener('scroll', function() {
 *     var idx = Math.round(slider.scrollLeft / (items[0].offsetWidth + 14));
 *     dotsWrap.querySelectorAll('.ml-slider-dot').forEach(function(d, i) {
 *       d.classList.toggle('active', i === idx);
 *     });
 *   }, { passive: true });
 * })();
 *
 * ================================================
 *//* End custom CSS */