/* MoonLight_X — woocommerce.min.css | v1.0.0 */

/* ============================================================
   PRODUCT CARD
   ============================================================ */
.mlx-products-grid{display:grid;grid-template-columns:repeat(var(--mlx-cols,4),1fr);gap:1.25rem;list-style:none}
.mlx-products-grid.mlx-cols-2{--mlx-cols:2}
.mlx-products-grid.mlx-cols-3{--mlx-cols:3}
.mlx-products-grid.mlx-cols-4{--mlx-cols:4}
.mlx-products-grid.mlx-cols-5{--mlx-cols:5}
@media(max-width:1023px){.mlx-products-grid{--mlx-cols:2!important}}
@media(max-width:767px){.mlx-products-grid{--mlx-cols:1!important}}
.mlx-product-card{list-style:none}
.mlx-product-card__inner{display:flex;flex-direction:column;height:100%;border-radius:14px;overflow:hidden;background:var(--mlx-bg-card,#fff);border:1px solid var(--mlx-border,rgba(0,0,0,.06));transition:box-shadow .28s ease,transform .28s ease}
.mlx-product-card__inner:hover{box-shadow:0 12px 36px rgba(0,0,0,.11),0 4px 10px rgba(0,0,0,.05);transform:translateY(-3px)}
.mlx-product-card__thumb{display:block;overflow:hidden;background:#f5f5f5;position:relative;isolation:isolate}.mlx-product-card__thumb-link{display:block;padding-bottom:100%;position:relative}.mlx-product-card__thumb-link img,.mlx-product-card__thumb-link .mlx-product-card__img,.mlx-product-card__thumb-link .wp-post-image{position:absolute!important;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.mlx-product-card__inner:hover .mlx-product-card__thumb img{transform:scale(1.04)}
.mlx-product-card__badges{position:absolute;top:.75rem;left:.75rem;display:flex;flex-direction:column;gap:.25rem;z-index:1}




.mlx-product-card__info{padding:1rem;display:flex;flex-direction:column;flex:1;gap:.5rem}
.mlx-product-card__cats{font-size:.75rem;color:var(--mlx-text-subtle,#888);text-transform:uppercase;letter-spacing:.05em;font-weight:500}
.mlx-product-card__title{font-size:1rem;font-weight:600;line-height:1.4}
.mlx-product-card__title a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mlx-product-card__title a:hover{color:var(--mlx-color-accent,#e84545)}
.mlx-product-card__rating .star-rating{font-size:.7em}
.mlx-product-card__price{font-size:1.125rem;font-weight:700;margin-top:auto}
.mlx-product-card__price del{opacity:.5;font-size:.85em;margin-right:.25rem}
.mlx-product-card__price ins{text-decoration:none;color:var(--mlx-color-accent,#e84545)}
.mlx-product-card__add-to-cart{margin-top:.5rem}
.mlx-product-card__add-to-cart .button,.mlx-product-card__add-to-cart .add_to_cart_button{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:.65rem 1rem;background:var(--mlx-color-primary,#0a0a0a);color:#fff;border:none;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;text-decoration:none;transition:background .2s}
.mlx-product-card__add-to-cart .button:hover,.mlx-product-card__add-to-cart .add_to_cart_button:hover{background:var(--mlx-color-accent,#e84545);color:#fff}

/* BADGES */
.mlx-badge{display:inline-block;padding:3px 8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:4px}
.mlx-badge--sale{background:var(--mlx-color-accent,#e84545);color:#fff}
.mlx-badge--out-of-stock{background:#888;color:#fff}
.mlx-badge--featured{background:var(--mlx-color-primary,#0a0a0a);color:#fff}
.mlx-badge--new{background:#10b981;color:#fff}

/* Spinner */
@keyframes mlx-spin{to{transform:rotate(360deg)}}
.mlx-product-card__add-to-cart .button.loading::after{content:'';display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:mlx-spin .6s linear infinite;margin-left:.5rem}

/* ============================================================
   SHOP LAYOUT
   ============================================================ */
.mlx-shop-layout{display:block;width:100%}.mlx-shop-products{width:100%}@media(min-width:1024px){.mlx-shop-layout.mlx-has-sidebar{display:grid;grid-template-columns:280px 1fr;gap:2rem;align-items:start}}

.mlx-shop-toolbar{padding-block:1rem;border-bottom:1px solid var(--mlx-border,#eee);margin-bottom:1.5rem}
.mlx-shop-toolbar__inner{display:flex;align-items:center;justify-content:flex-start;gap:1rem;flex-wrap:wrap}
.woocommerce-result-count{color:var(--mlx-text-subtle,#888);font-size:.875rem}
.woocommerce-ordering select{padding:.5rem 1rem .5rem .875rem;border:1.5px solid var(--mlx-input-border,#e5e7eb);border-radius:8px;font-size:.875rem;background:var(--mlx-input-bg,#fff);cursor:pointer;font-weight:500;appearance:auto;transition:border-color .18s}.woocommerce-ordering select:focus{outline:none;border-color:var(--mlx-color-primary,#0a0a0a)}

/* ============================================================
   SINGLE PRODUCT
   ============================================================ */
.mlx-single-product{display:grid;gap:2.5rem;padding-block:2.5rem}
@media(min-width:1024px){.mlx-single-product{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.mlx-single-product.mlx-sticky-gallery .mlx-single-product__gallery{position:sticky;top:calc(var(--mlx-header-h,70px) + 1rem);align-self:flex-start}}
.mlx-single-product__summary{display:flex;flex-direction:column;gap:1.25rem}
.mlx-single-product__summary .product_title{font-size:clamp(1.5rem,3vw,2.5rem);font-weight:700;line-height:1.2;margin:0}
.mlx-single-product__summary .price{font-size:1.75rem;font-weight:700}
.mlx-single-product__summary .price del{opacity:.5;font-size:.75em}
.mlx-single-product__summary .price ins{text-decoration:none;color:var(--mlx-color-accent,#e84545)}
.mlx-single-product__summary .button.single_add_to_cart_button{display:flex;align-items:center;justify-content:center;width:100%;padding:1rem 1.5rem;font-size:1rem;background:var(--mlx-color-primary,#0a0a0a);color:#fff;border:none;border-radius:4px;font-weight:600;cursor:pointer;text-decoration:none;transition:background .2s}
.mlx-single-product__summary .button.single_add_to_cart_button:hover{background:var(--mlx-color-accent,#e84545)}
.mlx-single-product__below{grid-column:1/-1;padding-top:2.5rem;border-top:1px solid var(--mlx-border,#eee)}

/* WC gallery */
.woocommerce-product-gallery{position:relative}
/* Let WC's zoom JS control img positioning - only style the container */
.woocommerce-product-gallery .woocommerce-product-gallery__image{border-radius:8px;overflow:hidden}
.woocommerce-product-gallery .woocommerce-product-gallery__image>a{display:block}
/* Only apply width:100% when zoom is NOT active */
.woocommerce-product-gallery .woocommerce-product-gallery__image img:not([style*="position"]){width:100%;height:auto;display:block}
.woocommerce-product-gallery .flex-control-thumbs{display:flex;gap:.5rem;margin-top:.75rem;flex-wrap:wrap}
.woocommerce-product-gallery .flex-control-thumbs li{width:72px;height:72px;list-style:none}
.woocommerce-product-gallery .flex-control-thumbs li img{width:100%;height:100%;object-fit:cover;border-radius:4px;cursor:pointer;border:2px solid transparent;transition:border-color .2s}
.woocommerce-product-gallery .flex-control-thumbs li.flex-active img{border-color:var(--mlx-color-primary,#0a0a0a)}

/* Product tabs */
.mlx-product-tabs__nav{display:flex;gap:0;border-bottom:2px solid var(--mlx-border,#eee);list-style:none;margin-bottom:1.5rem;overflow-x:auto}
.mlx-product-tabs__nav-item a{display:block;padding:.75rem 1.5rem;font-weight:500;font-size:.9375rem;color:var(--mlx-text-subtle,#888);border-bottom:2px solid transparent;margin-bottom:-2px;white-space:nowrap;transition:color .2s,border-color .2s}
.mlx-product-tabs__nav-item a:hover{color:var(--mlx-color-primary,#0a0a0a)}
.mlx-product-tabs__nav-item.active a{color:var(--mlx-color-primary,#0a0a0a);border-color:var(--mlx-color-primary,#0a0a0a)}
.mlx-product-tabs__panel{display:none}
.mlx-product-tabs__panel.active{display:block}

/* Variations */
.mlx-variations-table{width:100%;border-collapse:collapse;margin-bottom:1rem}
.mlx-variations-table th{width:120px;font-weight:600;font-size:.875rem;padding:.5rem 0;vertical-align:middle}
.mlx-variations-table td{padding:.5rem 0}
.mlx-variations-table select{max-width:200px}
.mlx-variations-table .reset_variations{margin-left:.5rem;font-size:.8125rem;color:var(--mlx-text-subtle,#888);cursor:pointer}

/* ============================================================
   CART
   ============================================================ */
.mlx-cart-page{padding-block:3rem}
.mlx-cart-layout{display:grid;gap:2rem;align-items:start}
@media(min-width:1024px){.mlx-cart-layout{grid-template-columns:1fr 380px}}
.mlx-cart-table{width:100%;border-collapse:collapse;font-size:.9375rem}
.mlx-cart-table th,.mlx-cart-table td{padding:1rem;border-bottom:1px solid var(--mlx-border,#eee);text-align:left;vertical-align:middle}
.mlx-cart-table th{font-weight:600;font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em;color:var(--mlx-text-subtle,#888)}
.mlx-cart-table .product-thumbnail img{width:64px;height:64px;object-fit:cover;border-radius:6px}
.mlx-cart-table .product-name a{font-weight:500}
.mlx-cart-table .product-remove a{font-size:1.5rem;color:var(--mlx-text-subtle,#ccc);line-height:1}
.mlx-cart-table .product-remove a:hover{color:var(--mlx-color-accent,#e84545)}
.mlx-cart-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}
.mlx-coupon{display:flex;gap:.5rem;flex:1;min-width:240px}
.mlx-cart-sidebar{position:sticky;top:90px}
.cart_totals{padding:1.5rem;background:var(--mlx-bg-subtle,#f9f9f9);border-radius:12px}
.cart_totals h2{font-size:1.25rem;margin-bottom:1rem}
.cart_totals table{font-size:.9375rem}
.cart_totals table th,.cart_totals table td{padding:.75rem 0;border-bottom:1px solid var(--mlx-border,#eee)}
.cart_totals table tr:last-child td,.cart_totals table tr:last-child th{border:none}
.cart_totals .order-total{font-weight:700;font-size:1.1rem}
.cart_totals .wc-proceed-to-checkout{margin-top:1.25rem}
.cart_totals .wc-proceed-to-checkout a.checkout-button{display:block;width:100%;padding:1rem;background:var(--mlx-color-primary,#0a0a0a);color:#fff;text-align:center;font-weight:600;border-radius:6px;text-decoration:none;transition:background .2s}
.cart_totals .wc-proceed-to-checkout a.checkout-button:hover{background:var(--mlx-color-accent,#e84545)}

/* ============================================================
   CHECKOUT
   ============================================================ */
.mlx-checkout{padding-block:3rem}
.mlx-checkout__layout{display:grid;gap:2.5rem;align-items:start}
@media(min-width:1024px){.mlx-checkout__layout{grid-template-columns:1fr 420px}}
.mlx-checkout__order-review{padding:1.5rem;background:var(--mlx-bg-subtle,#f9f9f9);border-radius:12px;position:sticky;top:90px}
.mlx-checkout__order-review h3{font-size:1.2rem;margin-bottom:1rem}
.woocommerce-checkout-review-order-table{width:100%;border-collapse:collapse;font-size:.9rem}
.woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td{padding:.75rem 0;border-bottom:1px solid var(--mlx-border,#eee)}
.woocommerce-checkout-review-order-table .order-total th,.woocommerce-checkout-review-order-table .order-total td{font-weight:700;font-size:1.05rem;border:none}
#payment{margin-top:1rem}
#place_order{display:block;width:100%;padding:1rem;background:var(--mlx-color-primary,#0a0a0a);color:#fff;text-align:center;font-weight:600;border:none;border-radius:6px;cursor:pointer;font-size:1rem;transition:background .2s;margin-top:1rem}
#place_order:hover{background:var(--mlx-color-accent,#e84545)}

/* ============================================================
   MY ACCOUNT
   ============================================================ */
/* mlx-my-account layout moved to dedicated section below */.mlx-my-account__content{min-width:0}
.woocommerce-MyAccount-navigation ul,
.mlx-account-nav ul,
.mlx-account-nav li {list-style:none!important;margin:0;padding:0}
.mlx-account-nav--side ul,.mlx-account-nav--top ul{list-style:none!important}
.woocommerce-MyAccount-navigation li a{display:block;padding:.65rem 1rem;border-radius:8px;font-size:.9375rem;font-weight:500;transition:background .2s,color .2s;text-decoration:none;color:inherit}
.woocommerce-MyAccount-navigation li a:hover{background:#f5f5f5}
.woocommerce-MyAccount-navigation li.is-active a,.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--is-active a{background:var(--mlx-color-primary,#0a0a0a);color:#fff}

/* ============================================================
   WC PAGINATION
   ============================================================ */
.woocommerce-pagination .page-numbers{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap;list-style:none;margin:2rem 0}
.woocommerce-pagination .page-numbers li{display:contents}
.woocommerce-pagination .page-numbers a,.woocommerce-pagination .page-numbers span{display:flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding-inline:.875rem;border:1.5px solid #e5e7eb;border-radius:8px;font-size:.875rem;font-weight:500;transition:background .2s,border-color .2s,color .2s;text-decoration:none;color:inherit}
.woocommerce-pagination .page-numbers a:hover{border-color:var(--mlx-color-accent,#e84545);color:var(--mlx-color-accent,#e84545)}
.woocommerce-pagination .page-numbers .current{background:var(--mlx-color-primary,#0a0a0a);border-color:transparent;color:#fff;box-shadow:0 3px 8px rgba(0,0,0,.18)}

/* ============================================================
   WC NOTICES
   ============================================================ */
.woocommerce-message,.woocommerce-info,.woocommerce-error{padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.9375rem;list-style:none}
.woocommerce-message{background:#f0fdf4;border-left:4px solid #22c55e}
.woocommerce-info{background:#eff6ff;border-left:4px solid #3b82f6}
.woocommerce-error{background:#fef2f2;border-left:4px solid #ef4444}
.woocommerce-message a,.woocommerce-info a{font-weight:500;color:inherit;text-decoration:underline}

/* ============================================================
   SHOP PAGE TITLE
   ============================================================ */
.mlx-page-title-bar--shop{background:var(--mlx-bg-subtle,#f9f9f9);border-bottom:1px solid var(--mlx-border,#eee);padding-block:1.5rem;margin-bottom:0}

/* ============================================================
   CRITICAL FIXES — product card image + WC native grid class
   ============================================================ */



/* Fix 2: Product card thumb — remove absolute image, use normal flow */
.mlx-product-card__inner:hover .mlx-product-card__thumb img,
.mlx-product-card__inner:hover .mlx-product-card__thumb .mlx-product-card__img{transform:scale(1.06)}

/* Fix 3: WooCommerce default product item uses wp-post-image, not our class */

/* Fix 4: WC default loop product (fallback if our template not applied) */
li.product{list-style:none}
li.product a img{width:100%;height:auto;display:block}

/* Fix 5: Related products grid */
.related.products ul.products,
.upsells.products ul.products,.up-sells.products ul.products{display:grid!important;grid-template-columns:repeat(4,1fr);gap:1.5rem!important;list-style:none!important;padding:0!important;margin:0 0 2rem!important}
@media(max-width:1023px){.related.products ul.products,.upsells.products ul.products,.up-sells.products ul.products{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:639px){.related.products ul.products,.upsells.products ul.products,.up-sells.products ul.products{grid-template-columns:repeat(1,1fr)!important}}

/* Fix 6: Sale flash badge */
.onsale,.woocommerce span.onsale,.mlx-badge--sale{position:absolute;top:.875rem;right:.875rem;left:auto;z-index:10;background:#e84545;color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:4px 10px;border-radius:4px;min-height:auto;min-width:auto;line-height:1.4}

/* Fix 7: Price display */
.woocommerce-Price-amount{font-weight:700}
.price del .woocommerce-Price-amount{opacity:.5;font-size:.85em}
.price ins{text-decoration:none}
.price ins .woocommerce-Price-amount{color:#e84545}

/* Fix 8: Add to cart button in loop */
.woocommerce a.button.add_to_cart_button,
.woocommerce a.button.product_type_simple,
.woocommerce button.button.alt{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:.65rem 1rem;background:#0a0a0a;color:#fff;border:none;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;text-decoration:none;transition:background .2s;margin-top:.5rem}
.woocommerce a.button.add_to_cart_button:hover,
.woocommerce a.button.product_type_simple:hover,
.woocommerce button.button.alt:hover{background:#e84545;color:#fff}

/* Fix 9: Loop product card ensure height works */
.mlx-product-card,li.product{height:auto}
.mlx-product-card__inner{height:100%}
/* Product card image — definitive fix using aspect-ratio on inner container */
.mlx-product-card__inner{display:flex;flex-direction:column;height:100%}
.mlx-product-card__thumb{flex-shrink:0}
li.product .mlx-product-card__thumb-link,
.mlx-product-card .mlx-product-card__thumb-link{display:block;width:100%;padding-bottom:100%;position:relative;overflow:hidden}
li.product .mlx-product-card__thumb-link img,
li.product .mlx-product-card__thumb-link .wp-post-image,
.mlx-product-card .mlx-product-card__thumb-link img{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
/* ====================================================
   NUCLEAR PRODUCT CARD FIX
   Covers every possible WC image output scenario
   ==================================================== */

/* The card itself must stretch in the grid */
li.product{display:flex;flex-direction:column}
li.product .mlx-product-card__inner{display:flex;flex-direction:column;flex:1;height:100%}

/* Square image box using padding-bottom trick — works without knowing image dimensions */
li.product .mlx-product-card__thumb,
.mlx-product-card .mlx-product-card__thumb{
  display:block;
  flex-shrink:0;
  overflow:hidden;
  background:#f5f5f5;
}

/* Thumb link — square using aspect-ratio, WoodMart-style (no position:absolute) */
li.product .mlx-product-card__thumb,
.mlx-product-card .mlx-product-card__thumb {
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
  display: block !important;
  width: 100% !important;
}

li.product .mlx-product-card__thumb a,
li.product .mlx-product-card__thumb-link,
.mlx-product-card .mlx-product-card__thumb-link {
  display: block !important;
  aspect-ratio: var(--mlx-thumb-ratio, 1/1) !important;
  overflow: hidden !important;
  position: relative !important;
  padding-bottom: 0 !important;
}

/* Image fills the aspect-ratio box — thumb-link is relative, img is absolute */
li.product .mlx-product-card__thumb a img,
li.product .mlx-product-card__thumb a .wp-post-image,
li.product .mlx-product-card__thumb-link img,
li.product .mlx-product-card__thumb-link .wp-post-image,
.mlx-product-card .mlx-product-card__thumb-link img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  max-width: none !important;
}

/* Hover scale */
li.product .mlx-product-card__inner:hover .mlx-product-card__thumb img,
li.product .mlx-product-card__inner:hover .mlx-product-card__thumb .wp-post-image{
  transform:scale(1.05);
  transition:transform .35s ease;
}
/* Add to cart button — prevent text wrap */
.mlx-product-card__add-to-cart .button,
.mlx-product-card__add-to-cart .add_to_cart_button,
li.product .add_to_cart_button,
li.product .button{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  min-width:0;
  width:100%;
  font-size:.8125rem;
  padding:.6rem .75rem;
}

/* Product info area fills remaining space */
.mlx-product-card__info{
  flex:1;
  display:flex;
  flex-direction:column;
  padding:.875rem 1rem;
  gap:.4rem;
  min-width:0;
}

/* Product title — prevent overflow */
.mlx-product-card__title a{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  word-break:break-word;
  font-size:.9375rem;
}

/* Ensure the card inner fills grid cell properly */
li.product.mlx-product-card{
  height:auto;
}
/* ── SHOP LAYOUT ── */
.mlx-container{width:100%;max-width:1280px;margin-left:auto;margin-right:auto;padding-left:clamp(1rem,4vw,2rem);padding-right:clamp(1rem,4vw,2rem)}
.mlx-shop-layout{display:block;width:100%}
.mlx-shop-products{width:100%;min-width:0}
@media(min-width:1024px){.mlx-shop-layout.mlx-has-sidebar{display:grid;grid-template-columns:280px 1fr;gap:2rem;align-items:start}}

/* ═══════════════════════════════════════════════════════════════
   PRODUCT GRID — THE ONLY GRID RULES — DO NOT ADD MORE
   
   WC outputs body.woocommerce + ul.products.columns-N
   We use body.woocommerce prefix to match WC specificity exactly
════════════════════════════════════════════════════════════════ */

/* 1. Base grid setup — columns injected by wp_head (output_columns_css) */
body.woocommerce ul.products,
body.woocommerce-page ul.products {
  display: grid !important;
  gap: 1.5rem !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 2rem !important;
  width: 100% !important;
  float: none !important;
}


/* ── KILL WC CLEARFIX ON ul.products ──────────────────────────────
   WC adds ::before { content:''; display:table } on ul.products.
   With display:grid, this pseudo-element becomes a GRID ITEM in
   position 1, pushing the first real product to column 2.
   This is why card 1 always appears in column 2.
─────────────────────────────────────────────────────────────────── */
body.woocommerce ul.products::before,
body.woocommerce ul.products::after,
body.woocommerce-page ul.products::before,
body.woocommerce-page ul.products::after,
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after,
ul.products::before,
ul.products::after {
  display: none !important;
  content: none !important;
}
/* 2. Column vars kept for compatibility but wp_head CSS takes priority */

/* 3–4. Responsive columns — injected dynamically via wp_head (class-woocommerce.php)
   based on Theme Options → Shop → Columns Desktop/Laptop/Tablet/Mobile */

/* 5. Each li: kill WC float layout + clearfix */
body.woocommerce ul.products li.product,
body.woocommerce-page ul.products li.product {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: none !important;
}
body.woocommerce ul.products li.product::before,
body.woocommerce ul.products li.product::after,
body.woocommerce-page ul.products li.product::before,
body.woocommerce-page ul.products li.product::after {
  display: none !important;
  content: none !important;
}

/* ── SINGLE PRODUCT LAYOUT DEFINITIVE FIX ── */
.mlx-single-product{
  display:grid!important;
  gap:2.5rem;
  padding-block:2.5rem;
  align-items:start;
}
@media(min-width:1024px){
  .mlx-single-product{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
}
@media(max-width:1023px){
  .mlx-single-product{grid-template-columns:1fr!important}
}
/* Gallery must not overflow its grid column */
.mlx-single-product__gallery{min-width:0;width:100%}
.mlx-single-product__summary{min-width:0;width:100%}
.woocommerce-product-gallery{width:100%!important;max-width:100%!important}
.woocommerce-product-gallery .woocommerce-product-gallery__image{overflow:hidden}
.woocommerce-product-gallery .woocommerce-product-gallery__image img{
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  display:block;
  position:static!important; /* override zoom plugin absolute positioning */
  top:auto!important;
  left:auto!important;
}
/* Below section spans full width */
.mlx-single-product__below{grid-column:1/-1}
/* ── ADD TO CART BUTTON TEXT FIX ── */
.mlx-product-card__add-to-cart .button,
.mlx-product-card__add-to-cart a.button,
li.product .add_to_cart_button,
li.product a.button{
  font-size:.8125rem!important;
  padding:.6rem .5rem!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  letter-spacing:-.01em;
}
/* Product title: no word break within words */
.mlx-product-card__title{word-break:normal!important}
.mlx-product-card__title a{-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}

/* ── FIX: action icons stay inside card thumb ── */
.mlx-product-card__thumb {
  position: relative !important;
  overflow: hidden;
}


/* ── FIX: button text — no ellipsis, proper full text ── */
.mlx-product-card__add-to-cart .button,
.mlx-product-card__add-to-cart a.button,
li.product .button,
li.product a.button,
li.product .add_to_cart_button {
  display: block !important;
  width: 100% !important;
  padding: .65rem .75rem !important;
  font-size: .8125rem !important;
  font-weight: 600 !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  letter-spacing: 0 !important;
  background: var(--mlx-btn-cart-bg, #0a0a0a) !important;
  color: var(--mlx-btn-cart-color, #fff) !important;
  border: none !important;
  border-radius: var(--mlx-btn-cart-radius, 4px) !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background .2s !important;
  margin-top: .5rem;
}
li.product .button:hover,
li.product a.button:hover,
li.product .add_to_cart_button:hover {
  background: var(--mlx-btn-cart-hover-bg, #e84545) !important;
  color: var(--mlx-btn-cart-hover-color, #fff) !important;
}

/* ── FIX: card inner must be full height for proper layout ── */
li.product {
  display: flex !important;
  flex-direction: column !important;
}
li.product .mlx-product-card__inner {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  background: #fff;
  border: 1px solid rgba(0,0,0,.07);
  border-radius: 10px;
  overflow: hidden;
  transition: box-shadow .25s, transform .2s;
}
/* LIST VIEW — override column direction immediately after */
li.product.mlx-list-item .mlx-product-card__inner {
  flex-direction: row !important;
  height: auto !important;
  align-items: stretch !important;
}
li.product .mlx-product-card__inner:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
  transform: translateY(-2px);
}
li.product .mlx-product-card__info {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: .875rem 1rem;
  gap: .35rem;
}
li.product .mlx-product-card__add-to-cart {
  padding: 0 1rem .875rem;
}
li.product .mlx-product-card__thumb {
  position: relative;
  overflow: hidden;
  background: var(--mlx-bg-subtle, #f7f7f7);
  flex-shrink: 0;
}
/* ═══════════════════════════════════════════════════════════════════
   PRODUCT CARD — HOVER OVERLAY + CENTERED ACTIONS
   Structure: .mlx-product-card__thumb
                └── .mlx-product-card__overlay   (full-cover dark overlay)
                      └── .mlx-product-card__actions  (flex row, centered)
                            └── .mlx-product-card__action  (icon button)
═══════════════════════════════════════════════════════════════════ */

/* Thumb: clipping context for overlay */
.mlx-product-card__thumb,
li.product .mlx-product-card__thumb {
  position: relative !important;
  overflow: hidden !important;
}

/* Full-cover overlay — invisible by default */
.mlx-product-card__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color .25s ease;
  z-index: 5;
}

/* Show overlay on card hover */
.mlx-product-card__inner:hover .mlx-product-card__overlay {
  background: rgba(0, 0, 0, .32);
}

/* Row of icon buttons — centered in overlay */
.mlx-product-card__actions {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: .625rem;
  opacity: 0;
  transform: translateY(8px) scale(.9);
  transition: opacity .25s ease, transform .25s ease;
}

.mlx-product-card__inner:hover .mlx-product-card__actions {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* Individual icon button */
.mlx-product-card__action {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  background: #fff !important;
  border: none !important;
  cursor: pointer !important;
  color: #333 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.18) !important;
  transition: background .2s, color .2s, transform .15s !important;
  position: relative;
  /* No tooltip text */
}
.mlx-product-card__action:hover {
  background: var(--mlx-color-accent, #e84545) !important;
  color: #fff !important;
  transform: scale(1.1) !important;
}

/* Wishlist active state — white bg circle, red heart icon */
.mlx-product-card__action.mlx-action--wishlist.is-active {
  background: #fff !important;
  color: var(--mlx-color-accent, #e84545) !important;
}
.mlx-product-card__action.mlx-action--wishlist.is-active svg path {
  fill: var(--mlx-color-accent, #e84545);
  stroke: var(--mlx-color-accent, #e84545);
}

/* Ensure no browser tooltip from aria-label leaks visually */
.mlx-product-card__action::after { display: none !important; }
/* ── HIDE WC QUICK VIEW PLUGIN BUTTONS (we use our own) ── */
.open-quick-view,
.woosq-btn,
.yith-wcqv-button,
.woocommerce-quickview-button,
.quick-view-button,
a.button.yith-wcqv-btn {
  display: none !important;
}

/* ── ENSURE NO TOOLTIP TEXT ON OUR ACTION BUTTONS ── */
.mlx-product-card__action[aria-label]::before,
.mlx-product-card__action[aria-label]::after,
.mlx-product-card__action[title]::before,
.mlx-product-card__action[title]::after {
  display: none !important;
  content: none !important;
}
/* ── SINGLE PRODUCT TABS ── */
/* Hide WC's auto-generated "Description" and "Reviews" headings inside tab panels
   since the tab nav already shows those labels */
.woocommerce-tabs .woocommerce-Tabs-panel > h2:first-child {
  display: none;
}

/* WC tab nav — use WC default classes */
.woocommerce-tabs ul.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  padding: 0;
  margin: 0 0 1.5rem;
  border-bottom: 2px solid var(--mlx-border, #eee);
  list-style: none;
}
.woocommerce-tabs ul.tabs::before,
.woocommerce-tabs ul.tabs::after { display: none; }
.woocommerce-tabs ul.tabs li {
  margin: 0;
  border: none;
  background: none;
  border-radius: 0;
}
.woocommerce-tabs ul.tabs li a {
  display: block;
  padding: .75rem 1.5rem;
  font-weight: 500;
  font-size: .9375rem;
  color: #888;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  white-space: nowrap;
  transition: color .2s, border-color .2s;
}
.woocommerce-tabs ul.tabs li a:hover {
  color: var(--mlx-color-primary, #0a0a0a);
}
.woocommerce-tabs ul.tabs li.active a {
  color: var(--mlx-color-primary, #0a0a0a);
  border-bottom-color: var(--mlx-color-primary, #0a0a0a);
}

/* Tab panels */
.woocommerce-tabs .woocommerce-Tabs-panel {
  padding: 0;
  border: none;
}
/* ═══════════════════════════════════════════════════════════════════
   RELATED / UPSELLS — SECTION HEADING
══════════════════════════════════════════════════════════════════ */
.mlx-single-product__below .mlx-section-heading,
.related.products h2,
.up-sells.products h2 {
  font-size: clamp(1.25rem, 2.5vw, 1.75rem);
  font-weight: 700;
  margin: 0 0 1.5rem;
  padding-top: 0;
}

/* ═══════════════════════════════════════════════════════════════════
   RELATED / UPSELLS — GRID
   Uses body.woocommerce rules from product grid above
══════════════════════════════════════════════════════════════════ */
.mlx-related-grid,
.mlx-upsells-grid {
  margin-top: 0 !important;
}

/* ═══════════════════════════════════════════════════════════════════
   PRODUCT SLIDER — Related / Upsells carousel
══════════════════════════════════════════════════════════════════ */
.mlx-product-slider {
  position: relative;
  overflow: hidden;
}

.mlx-product-slider__track {
  display: flex;
  gap: 1.5rem;
  transition: transform .35s cubic-bezier(.25,.46,.45,.94);
  will-change: transform;
}

/* Each slide = one product card */
.mlx-product-slider__track > li.product,
.mlx-product-slider__track > .mlx-product-card {
  flex: 0 0 calc((100% - (var(--slider-cols, 4) - 1) * 1.5rem) / var(--slider-cols, 4));
  min-width: 0;
  list-style: none;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}

/* Arrow buttons */
.mlx-product-slider__controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  margin-top: 1.25rem;
}

.mlx-slider-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px; height: 40px;
  border-radius: 50%;
  border: 1.5px solid #ddd;
  background: #fff;
  cursor: pointer;
  color: var(--mlx-text-muted, #555);
  transition: border-color .2s, background .2s, color .2s, transform .15s;
  flex-shrink: 0;
}
.mlx-slider-btn:hover {
  border-color: var(--mlx-color-primary, #0a0a0a);
  background: var(--mlx-color-primary, #0a0a0a);
  color: #fff;
}
.mlx-slider-btn:active { transform: scale(.95); }
.mlx-slider-btn:disabled {
  opacity: .35;
  cursor: not-allowed;
  pointer-events: none;
}
.mlx-slider-btn svg { width: 20px; height: 20px; display: block; }

/* Responsive: collapse to 2 cols on tablet, 1 on mobile */
@media (max-width: 1023px) {
  .mlx-product-slider__track > li.product,
  .mlx-product-slider__track > .mlx-product-card {
    flex-basis: calc((100% - 1.5rem) / 2);
  }
}
@media (max-width: 479px) {
  .mlx-product-slider__track > li.product,
  .mlx-product-slider__track > .mlx-product-card {
    flex-basis: calc((100% - 1.5rem) / 2);
  }
}
/* ═══════════════════════════════════════════════════════════════════
   MY ACCOUNT — LAYOUT
══════════════════════════════════════════════════════════════════ */
.mlx-my-account {
  padding-block: 2.5rem;
}

/* ── SIDE NAV layout ── */
.mlx-my-account--nav-side {
  display: grid;
  gap: 2.5rem;
  align-items: start;
}
@media (min-width: 1024px) {
  .mlx-my-account--nav-side {
    grid-template-columns: 260px 1fr;
  }
}

/* ── TOP NAV layout ── */
.mlx-my-account--nav-top {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  /* Fix: contain nav so it can't overflow page width */
  overflow: hidden;
  width: 100%;
  max-width: 100%;
}

/* Nav container itself */
.mlx-account-nav--top {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

/* ═══════════════════════════════════════════════════════════════════
   ACCOUNT NAV — SIDEBAR STYLE
══════════════════════════════════════════════════════════════════ */
.mlx-account-nav--side ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  background: var(--mlx-bg-card, #fff);
  border: 1px solid var(--mlx-border, rgba(0,0,0,.08));
  border-radius: 12px;
  overflow: hidden;
}

.mlx-account-nav--side li a {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .875rem 1.25rem;
  font-size: .9375rem;
  font-weight: 500;
  color: var(--mlx-text-muted, #555);
  text-decoration: none;
  border-left: 3px solid transparent;
  transition: background .15s, color .15s, border-color .15s;
  white-space: nowrap;
}
.mlx-account-nav--side li a:hover {
  background: var(--mlx-bg-subtle, #f7f7f7);
  color: var(--mlx-color-primary, #0a0a0a);
}
.mlx-account-nav--side li.is-active a,
.mlx-account-nav--side li.woocommerce-MyAccount-navigation-link--is-active a {
  background: var(--mlx-surface, #f0f0f0);
  color: var(--mlx-color-primary, #0a0a0a);
  border-left-color: var(--mlx-color-primary, #0a0a0a);
  font-weight: 600;
}

/* ═══════════════════════════════════════════════════════════════════
   ACCOUNT NAV — TOP BAR STYLE
══════════════════════════════════════════════════════════════════ */
/* Desktop: single scrollable row */
.mlx-account-nav--top ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: nowrap;
  gap: 4px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
  border-bottom: 2px solid var(--mlx-border, #eee);
  max-width: 100%;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
}
.mlx-account-nav--top ul::-webkit-scrollbar { display: none; }

.mlx-account-nav--top li a {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .625rem 1rem;
  font-size: .875rem;
  font-weight: 500;
  color: var(--mlx-text-muted, #666);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  white-space: nowrap;
  border-radius: 6px 6px 0 0;
  transition: color .15s, border-color .15s, background .15s;
}
.mlx-account-nav--top li a:hover {
  color: var(--mlx-color-primary, #0a0a0a);
  background: var(--mlx-bg-subtle, #f7f7f7);
}
.mlx-account-nav--top li.is-active a,
.mlx-account-nav--top li.woocommerce-MyAccount-navigation-link--is-active a {
  color: var(--mlx-color-primary, #0a0a0a);
  border-bottom-color: var(--mlx-color-primary, #0a0a0a);
  font-weight: 600;
}

/* 2 rows top nav (explicit class) */
.mlx-account-nav--top.mlx-account-nav--rows-2 ul {
  flex-wrap: wrap;
}

/* Mobile: 3-column grid, wraps to multiple rows */
@media (max-width: 899px) {
  .mlx-my-account--nav-top { overflow: visible !important; }
  .mlx-account-nav--top    { overflow: visible !important; }

  .mlx-account-nav--top ul {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    flex-wrap: unset !important;
    overflow: visible !important;
    border-bottom: none !important;
    gap: 4px !important;
    max-width: 100% !important;
  }

  .mlx-account-nav--top li {
    width: 100%;
  }

  .mlx-account-nav--top li a {
    white-space: normal !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .2rem !important;
    padding: .625rem .375rem !important;
    font-size: .6875rem !important;
    text-align: center !important;
    min-width: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    border-bottom: none !important;
    margin-bottom: 0 !important;
    border-radius: 8px !important;
    background: var(--mlx-surface, #f5f5f5) !important;
    line-height: 1.2 !important;
  }

  [data-theme="dark"] .mlx-account-nav--top li a {
    background: rgba(255,255,255,.07) !important;
  }

  .mlx-account-nav--top li.is-active a,
  .mlx-account-nav--top li.woocommerce-MyAccount-navigation-link--is-active a {
    background: var(--mlx-color-primary, #0a0a0a) !important;
    color: #fff !important;
    border-bottom-color: transparent !important;
    font-weight: 600 !important;
  }

  .mlx-account-nav__icon svg { width: 18px !important; height: 18px !important; }
  .mlx-account-nav__label    { font-size: .65rem !important; line-height: 1.2 !important; }
}

/* ── Nav icon + label ── */
.mlx-account-nav__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: currentColor;
}
.mlx-account-nav__icon svg { width: 18px; height: 18px; }
.mlx-account-nav__label { line-height: 1.2; }

/* Mobile: side nav → professional 3-column card grid */
@media (max-width: 767px) {

  .mlx-my-account--nav-side {
    grid-template-columns: 1fr !important;
  }
  .mlx-account-nav--side {
    width: 100%;
  }

  .mlx-account-nav--side ul {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    flex-direction: unset !important;
    flex-wrap: unset !important;
    overflow: visible !important;
    gap: 8px !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
  }

  .mlx-account-nav--side li {
    width: 100%;
    min-height: 0;
  }

  /* All nav items — clean card look */
  .mlx-account-nav--side li a {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .375rem !important;
    padding: .875rem .5rem !important;
    font-size: .7rem !important;
    font-weight: 500 !important;
    text-align: center !important;
    color: var(--mlx-text-muted, #555) !important;
    background: var(--mlx-bg-card, #fff) !important;
    border: 1.5px solid var(--mlx-border, #e8e8e8) !important;
    border-radius: 12px !important;
    border-left: 1.5px solid var(--mlx-border, #e8e8e8) !important;
    border-bottom: 1.5px solid var(--mlx-border, #e8e8e8) !important;
    min-width: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 72px !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    transition: border-color .15s, color .15s !important;
  }

  [data-theme="dark"] .mlx-account-nav--side li a {
    background: var(--mlx-bg-card, #1e1e1e) !important;
    border-color: rgba(255,255,255,.1) !important;
  }

  /* Active item — solid fill */
  .mlx-account-nav--side li.is-active a,
  .mlx-account-nav--side li.woocommerce-MyAccount-navigation-link--is-active a {
    background: var(--mlx-color-primary, #0a0a0a) !important;
    color: #fff !important;
    border-color: var(--mlx-color-primary, #0a0a0a) !important;
    border-left-color: var(--mlx-color-primary, #0a0a0a) !important;
    border-bottom-color: var(--mlx-color-primary, #0a0a0a) !important;
    font-weight: 600 !important;
  }

  [data-theme="dark"] .mlx-account-nav--side li.is-active a,
  [data-theme="dark"] .mlx-account-nav--side li.woocommerce-MyAccount-navigation-link--is-active a {
    background: var(--mlx-color-accent, #e84545) !important;
    border-color: var(--mlx-color-accent, #e84545) !important;
    color: #fff !important;
  }

  .mlx-account-nav--side .mlx-account-nav__icon { color: inherit !important; }
  .mlx-account-nav--side .mlx-account-nav__icon svg { width: 22px !important; height: 22px !important; }
  .mlx-account-nav__label { font-size: .7rem !important; line-height: 1.2 !important; }
}
/* ═══════════════════════════════════════════════════════════════════
   DASHBOARD — ICON GRID
══════════════════════════════════════════════════════════════════ */
.mlx-account-hello {
  font-size: 1rem;
  color: var(--mlx-text-muted, #555);
  margin-bottom: 1.75rem;
}
.mlx-account-hello strong { color: var(--mlx-color-primary, #0a0a0a); }
.mlx-account-hello a { color: var(--mlx-color-accent, #e84545); }

.mlx-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin-top: 1rem;
}
/* Large desktop: 4 cols */
@media (max-width: 1199px) {
  .mlx-dashboard-grid { grid-template-columns: repeat(3, 1fr); }
}
/* Tablet: 3 cols */
@media (max-width: 767px) {
  .mlx-dashboard-grid { grid-template-columns: repeat(2, 1fr); }
}
/* Mobile: 2 cols */
@media (max-width: 399px) {
  .mlx-dashboard-grid { grid-template-columns: repeat(2, 1fr); gap: .625rem; }
}

.mlx-dashboard-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  padding: 1.5rem .75rem 1.375rem;
  background: var(--mlx-bg-card, #fff);
  border: 1px solid var(--mlx-border, rgba(0,0,0,.08));
  border-radius: 12px;
  text-decoration: none;
  color: var(--mlx-text-muted, #444);
  font-weight: 500;
  font-size: .9375rem;
  text-align: center;
  transition: border-color .2s, box-shadow .2s, transform .15s, color .2s;
  min-height: 130px;
}
@media (max-width: 767px) {
  .mlx-dashboard-card { padding: 1.125rem .5rem 1rem; gap: .5rem; min-height: 110px; }
  .mlx-dashboard-card__icon { width: 44px; height: 44px; border-radius: 10px; }
  .mlx-dashboard-card__icon svg { width: 24px; height: 24px; }
  .mlx-dashboard-card__label { font-size: .8125rem; }
}
.mlx-dashboard-card:hover {
  border-color: var(--mlx-color-primary, #0a0a0a);
  box-shadow: 0 4px 16px rgba(0,0,0,.08);
  transform: translateY(-2px);
  color: var(--mlx-color-primary, #0a0a0a);
}

.mlx-dashboard-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: #f5f5f5;
  color: var(--mlx-color-primary, #0a0a0a);
  transition: background .2s;
}
.mlx-dashboard-card:hover .mlx-dashboard-card__icon {
  background: var(--mlx-color-primary, #0a0a0a);
  color: #fff;
}
.mlx-dashboard-card__icon svg { width: 32px; height: 32px; }

.mlx-dashboard-card__label {
  font-size: .9375rem;
  font-weight: 600;
  line-height: 1.2;
}

/* Logout card — subtle danger style */
.mlx-dashboard-card--logout:hover {
  border-color: var(--mlx-color-accent, #e84545);
  color: var(--mlx-color-accent, #e84545);
}
.mlx-dashboard-card--logout:hover .mlx-dashboard-card__icon {
  background: var(--mlx-color-accent, #e84545);
  color: #fff;
}



/* ═══════════════════════════════════════════════════════════════════
   MY ACCOUNT CONTENT AREA — general WC pages inside account
══════════════════════════════════════════════════════════════════ */
.mlx-my-account__content { min-width: 0; }

/* Orders table */
.woocommerce-orders-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .9375rem;
}
.woocommerce-orders-table th,
.woocommerce-orders-table td {
  padding: .875rem 1rem;
  text-align: left;
  border-bottom: 1px solid var(--mlx-border, #eee);
}
.woocommerce-orders-table th {
  font-weight: 600;
  font-size: .8125rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #888;
  background: var(--mlx-bg-subtle, #fafafa);
}
.woocommerce-orders-table .woocommerce-button {
  display: inline-flex;
  align-items: center;
  font-size: .8125rem;
  padding: .35rem .875rem;
  background: var(--mlx-color-primary, #0a0a0a);
  color: #fff !important;
  border-radius: 4px;
  text-decoration: none;
  font-weight: 500;
  transition: background .2s, opacity .2s;
  border: none;
  cursor: pointer;
  white-space: nowrap;
}
.woocommerce-orders-table .woocommerce-button:hover {
  background: var(--mlx-color-accent, #e84545);
  color: #fff !important;
}
.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  align-items: center;
}

/* Section headings */
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 1.25rem;
  padding-bottom: .75rem;
  border-bottom: 1px solid var(--mlx-border, #eee);
}

/* Address cards */
.woocommerce-Address {
  background: var(--mlx-bg-subtle, #fafafa);
  border: 1px solid var(--mlx-border, #eee);
  border-radius: 10px;
  padding: 1.25rem;
}
/* ═══════════════════════════════════════════════════════════════════
   MLX CART WIDGET — layout variants
══════════════════════════════════════════════════════════════════ */
.mlx-cart-widget--two_col .woocommerce,
.mlx-cart-widget--totals_left .woocommerce {
  display: grid;
  gap: 2.5rem;
  align-items: start;
}
.mlx-cart-widget--two_col .woocommerce {
  grid-template-columns: 1fr 380px;
}
.mlx-cart-widget--totals_left .woocommerce {
  grid-template-columns: 340px 1fr;
}
/* Notices span full width */
.mlx-cart-widget--two_col .woocommerce .woocommerce-notices-wrapper,
.mlx-cart-widget--totals_left .woocommerce .woocommerce-notices-wrapper { grid-column: 1 / -1; }
/* Cart form spans main column, totals in side column */
.mlx-cart-widget--two_col .woocommerce .woocommerce-cart-form { grid-column: 1; grid-row: 1; }
.mlx-cart-widget--two_col .woocommerce .cart-collaterals        { grid-column: 2; grid-row: 1; }
.mlx-cart-widget--totals_left .woocommerce .cart-collaterals    { grid-column: 1; grid-row: 1; }
.mlx-cart-widget--totals_left .woocommerce .woocommerce-cart-form { grid-column: 2; grid-row: 1; }
/* Sticky totals */
.mlx-cart-widget--two_col .cart_totals,
.mlx-cart-widget--totals_left .cart_totals {
  position: sticky;
  top: calc(var(--mlx-header-h, 70px) + 1rem);
}

/* Responsive */
@media (max-width: 1023px) {
  .mlx-cart-widget--two_col .woocommerce,
  .mlx-cart-widget--totals_left .woocommerce { grid-template-columns: 1fr; }
  .mlx-cart-widget--two_col .cart_totals,
  .mlx-cart-widget--totals_left .cart_totals { position: static; }
}

/* ═══════════════════════════════════════════════════════════════════
   CART TABLE — polished design
══════════════════════════════════════════════════════════════════ */
.woocommerce-cart-form table.cart {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}
.woocommerce-cart-form table.cart thead th {
  padding: .75rem 1rem;
  font-size: .75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: #888;
  background: var(--mlx-bg-subtle, #fafafa);
  border-bottom: 2px solid var(--mlx-border, #eee);
  white-space: nowrap;
  vertical-align: middle;
}
/* Align thumbnail header with thumbnail cell */
.woocommerce-cart-form table.cart thead th.product-thumbnail,
.woocommerce-cart-form table.cart thead th.product-remove {
  padding-left: 1rem;
  padding-right: .5rem;
}
.woocommerce-cart-form table.cart td.product-thumbnail,
.woocommerce-cart-form table.cart td.product-remove {
  padding-right: .5rem;
}
.woocommerce-cart-form table.cart td {
  padding: 1rem;
  border-bottom: 1px solid #f0f0f0;
  vertical-align: middle;
}
.woocommerce-cart-form table.cart tbody tr:hover { background: var(--mlx-bg-subtle, #fafafa); }
/* Product image */
.woocommerce-cart-form table.cart img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 8px;
  display: block;
}
/* Remove cell */
.woocommerce-cart-form table.cart .product-remove { width: 48px; text-align: center; }
.woocommerce-cart-form table.cart .product-remove a {
  display: flex; align-items: center; justify-content: center;
  width: 28px; height: 28px;
  border-radius: 50%;
  background: #f5f5f5;
  color: var(--mlx-text-subtle, #888) !important;
  font-size: 1.25rem;
  line-height: 1;
  text-decoration: none;
  transition: background .15s, color .15s;
  margin: 0 auto;
}
.woocommerce-cart-form table.cart .product-remove a:hover {
  background: var(--mlx-color-accent, #e84545);
  color: #fff !important;
}
/* Product name */
.woocommerce-cart-form table.cart .product-name { font-weight: 500; }
.woocommerce-cart-form table.cart .product-name a { color: var(--mlx-text, #0a0a0a); text-decoration: none; }
.woocommerce-cart-form table.cart .product-name a:hover { color: var(--mlx-color-accent, #e84545); }
/* Price */
.woocommerce-cart-form table.cart .product-price { color: var(--mlx-text-muted, #555); }
.woocommerce-cart-form table.cart .product-subtotal { font-weight: 700; }

/* ── Cart actions row ── */
.woocommerce-cart-form .actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  padding: 1rem 0;
  border-top: 1px solid #f0f0f0;
}
.woocommerce-cart-form .coupon {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex: 1;
  min-width: 0;
}
.woocommerce-cart-form .coupon input#coupon_code {
  flex: 1;
  max-width: 240px;
  padding: .625rem .875rem;
  border: 1.5px solid #ddd;
  border-radius: 6px;
  font-size: .9rem;
  background: #fff;
  transition: border-color .18s;
}
.woocommerce-cart-form .coupon input#coupon_code:focus { border-color: var(--mlx-color-primary,#0a0a0a); outline: none; }
.woocommerce-cart-form .coupon .button,
.woocommerce-cart-form [name="update_cart"] {
  padding: .625rem 1.25rem !important;
  font-size: .875rem !important;
  font-weight: 600 !important;
  border-radius: 6px !important;
  white-space: nowrap;
}

/* ── Cart totals box ── */
.cart_totals {
  background: #f8f9fa;
  border-radius: 12px;
  padding: 1.5rem;
  border: 1px solid var(--mlx-border, #eee);
}
.cart_totals h2 {
  font-size: 1.125rem;
  font-weight: 700;
  margin: 0 0 1.25rem;
  padding-bottom: .875rem;
  border-bottom: 2px solid var(--mlx-border, #eee);
}
.cart_totals table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1.25rem;
}
.cart_totals table th,
.cart_totals table td {
  padding: .625rem .5rem;
  border-bottom: 1px solid var(--mlx-border, #eee);
  font-size: .9375rem;
  text-align: left;
  vertical-align: middle;
}
.cart_totals table th { font-weight: 600; color: #555; width: 40%; }
.cart_totals .order-total th,
.cart_totals .order-total td { font-weight: 700; font-size: 1rem; border-bottom: none; padding-top: .875rem; }
.cart_totals .order-total .woocommerce-Price-amount { font-size: 1.25rem; color: var(--mlx-color-primary, #0a0a0a); }

/* ── Proceed to checkout button ── */
.wc-proceed-to-checkout { margin-top: .5rem; }
.wc-proceed-to-checkout a.checkout-button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 1rem 1.5rem !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
  text-decoration: none;
}

/* ── Cross-sells ── */
.cross-sells { margin-top: 2.5rem; }
.cross-sells h2 { font-size: 1.125rem; font-weight: 700; margin-bottom: 1rem; }

/* ═══════════════════════════════════════════════════════════════════
   MLX CHECKOUT WIDGET — layout variants
══════════════════════════════════════════════════════════════════ */
.mlx-checkout-widget--two_col .woocommerce {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem;
  align-items: flex-start;
}
.mlx-checkout-widget--two_col .col2-set {
  flex: 0 0 55%;
  max-width: 55%;
  min-width: 0;
}
.mlx-checkout-widget--two_col #order_review_heading,
.mlx-checkout-widget--two_col #order_review {
  flex: 1;
  min-width: 280px;
}
.mlx-checkout-widget--two_col #order_review {
  position: sticky;
  top: calc(var(--mlx-header-h,70px) + 1rem);
}

/* One-page: compact, everything stacked neatly */
.mlx-checkout-widget--one_page .woocommerce { max-width: 700px; margin: 0 auto; }

/* Responsive */
@media (max-width: 1023px) {
  .mlx-checkout-widget--two_col .woocommerce { flex-direction: column; }
  .mlx-checkout-widget--two_col .col2-set { flex: none; max-width: 100%; width: 100%; }
  .mlx-checkout-widget--two_col #order_review { position: static; }
}

/* Form section spacing */
.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields {
  margin-bottom: 1.5rem;
}
.woocommerce-checkout h3 {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 1rem;
  padding-bottom: .625rem;
  border-bottom: 1px solid var(--mlx-border, #eee);
}
/* Input fields */
.woocommerce-checkout .form-row { margin-bottom: .875rem; }
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout select,
.woocommerce-checkout textarea {
  width: 100%;
  padding: .625rem .875rem;
  border: 1.5px solid #ddd;
  border-radius: 6px;
  background: #fff;
  font-size: .9375rem;
  transition: border-color .18s;
}
.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
  border-color: var(--mlx-color-primary, #0a0a0a);
  outline: none;
}

/* ═══════════════════════════════════════════════════════════════════
   MLX SINGLE PRODUCT WIDGET — gallery + summary + tabs
══════════════════════════════════════════════════════════════════ */
.mlx-sp {
  display: grid;
  gap: 2.5rem;
  align-items: start;
}
.mlx-sp--side_by_side  { grid-template-columns: 1fr 1fr; }
.mlx-sp--image_right   { grid-template-columns: 1fr 1fr; }
.mlx-sp--image_right .mlx-sp__gallery-col { order: 2; }
.mlx-sp--image_right .mlx-sp__summary     { order: 1; }
.mlx-sp--stacked       { grid-template-columns: 1fr; }

@media (max-width: 767px) {
  .mlx-sp--side_by_side,
  .mlx-sp--image_right  { grid-template-columns: 1fr; }
  .mlx-sp--image_right .mlx-sp__gallery-col { order: 0; }
  .mlx-sp--image_right .mlx-sp__summary     { order: 0; }
}

/* Gallery col — left thumbnails */
.mlx-sp__gallery-col--left {
  display: flex;
  flex-direction: row;
  gap: .625rem;
}
.mlx-sp__thumbs-sidebar {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  flex-shrink: 0;
  width: 76px;
  max-height: 500px;
  overflow-y: auto;
  scrollbar-width: thin;
}
.mlx-sp__main-img-wrap { position: relative; flex: 1; }
.mlx-sp__main-img-wrap img { width: 100%; height: auto; display: block; border-radius: 10px; }

/* Thumbnails (bottom) */
.mlx-sp__thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: .625rem;
}
.mlx-sp__thumb {
  width: 72px; height: 72px;
  border-radius: 6px; overflow: hidden;
  border: 2px solid transparent;
  cursor: pointer; padding: 0; background: #f5f5f5;
  transition: border-color .18s, transform .12s;
}
.mlx-sp__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mlx-sp__thumb:hover { transform: scale(1.04); }
.mlx-sp__thumb.is-active { border-color: var(--mlx-color-primary, #0a0a0a); }

/* Summary */
.mlx-sp__summary { display: flex; flex-direction: column; gap: 1rem; }
.mlx-sp__title   { font-size: clamp(1.375rem,3vw,2rem); font-weight: 700; margin: 0; }
.mlx-sp__price   { font-size: 1.625rem; font-weight: 700; }
.mlx-sp__desc    { font-size: .9375rem; line-height: 1.7; color: var(--mlx-text-muted, #555); }
.mlx-sp__meta    { font-size: .875rem; color: #888; padding-top: .75rem; border-top: 1px solid #f0f0f0; }
.mlx-sp__meta-row { margin-bottom: .25rem; }
.mlx-sp__meta-label { font-weight: 600; color: #555; margin-right: .375rem; }

/* Sold counter inside widget */
.mlx-sold-counter { background: #fffbeb; border-radius: 6px; padding: .5rem .875rem; font-size: .875rem; color: #92400e; }

/* Tabs */
.mlx-sp-tabs { margin-top: 2.5rem; }
.mlx-sp-tabs__nav {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  gap: 0;
  border-bottom: 2px solid var(--mlx-border, #eee);
  scrollbar-width: none;
  list-style: none;
  margin: 0; padding: 0;
}
.mlx-sp-tabs__nav::-webkit-scrollbar { display: none; }
.mlx-sp-tabs__nav-item a {
  display: block;
  padding: .75rem 1.25rem;
  font-size: .9375rem; font-weight: 500;
  color: #777; text-decoration: none;
  border-bottom: 2px solid transparent; margin-bottom: -2px;
  white-space: nowrap;
  transition: color .18s, border-color .18s;
}
.mlx-sp-tabs__nav-item a:hover { color: var(--mlx-color-primary, #0a0a0a); }
.mlx-sp-tabs__nav-item.is-active a { color: var(--mlx-color-primary, #0a0a0a); border-bottom-color: var(--mlx-color-primary, #0a0a0a); font-weight: 600; }

.mlx-sp-tabs__panel { display: none; padding-top: 1.5rem; line-height: 1.7; }
.mlx-sp-tabs__panel.is-active { display: block; animation: mlxTabIn .2s ease; }

/* Attributes table inside tabs */
.woocommerce-product-attributes { width: 100%; border-collapse: collapse; }
.woocommerce-product-attributes-item th,
.woocommerce-product-attributes-item td { padding: .75rem 1rem; border-bottom: 1px solid #eee; text-align: left; font-size: .9375rem; }
.woocommerce-product-attributes-item th { font-weight: 600; color: #444; width: 35%; background: var(--mlx-bg-subtle, #fafafa); }
/* ── Social sharing icons — force horizontal row ── */
.woocommerce-product-details__social-share,
.woocommerce .social-share,
.woocommerce-social-share,
.product_meta .social-share,
.mlx-single-product__summary .social-share,
.entry-summary .social-share {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
}
.woocommerce-product-details__social-share a,
.woocommerce .social-share a,
.woocommerce-social-share a,
.mlx-single-product__summary .social-share a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}
/* WooCommerce default sharing output */
.woocommerce div.product .woocommerce-product-details__short-description + div,
.entry-summary .addtoany_share_save_container,
.entry-summary .sharedaddy {
  margin-top: .75rem;
}
.entry-summary .sharedaddy .sd-content ul,
.sharedaddy .sd-content ul {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  gap: .375rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
/* ── Force ALL social sharing/icon lists horizontal on single product ── */
.mlx-single-product__summary > *,
.entry-summary > * {
  /* reset: ensure sharing divs don't get stray block layout */
}
.entry-summary .sd-social-official,
.entry-summary .sd-content,
.entry-summary .sd-content ul,
.woocommerce div.product .entry-summary ul.sd-content,
div.product .social-share ul,
div.product .social-share,
.product_meta .social-links,
.product_meta .social-icons,
div.product .share-links {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: .375rem !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* ── Contain social sharing inside product summary ── */
.mlx-single-product__summary {
  position: relative;
  overflow: visible;
}
/* Reset any plugin that positions sharing icons absolutely */
.mlx-single-product__summary .social-share,
.mlx-single-product__summary .woocommerce-social-share,
.entry-summary .social-share,
.woocommerce div.product .social-share {
  position: static !important;
  float: none !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: .375rem !important;
  margin-top: .75rem !important;
}
/* ═══════════════════════════════════════════════════════════════════
   BREADCRUMBS
══════════════════════════════════════════════════════════════════ */
.woocommerce-breadcrumb,
.mlx-breadcrumbs {
  font-size: .8125rem;
  color: #aaa;
  margin-bottom: 1.25rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .25rem;
}
.woocommerce-breadcrumb a,
.mlx-breadcrumbs a {
  color: #888;
  text-decoration: none;
  transition: color .15s;
}
.woocommerce-breadcrumb a:hover,
.mlx-breadcrumbs a:hover { color: var(--mlx-color-accent, #e84545); }
.woocommerce-breadcrumb .breadcrumb-separator,
.woocommerce-breadcrumb::after { opacity: .4; margin: 0 .125rem; }

/* ═══════════════════════════════════════════════════════════════════
   WC BLOCK PRODUCT FILTERS — THEME OVERRIDES
   Targets: wc-block-product-filters, woocommerce/product-filter-*
   All colors driven by --mlx-filter-* CSS vars set from theme options
══════════════════════════════════════════════════════════════════ */

/* ── Overlay / dialog container ── */
.wc-block-product-filters__overlay-dialog {
  background: var(--mlx-filter-bg, #fff);
  border-radius: var(--mlx-filter-radius, 12px);
}
.wc-block-product-filters__overlay {
  background: rgba(0,0,0,.45);
}

/* ── Filter widget / panel wrapper ── */
.wp-block-woocommerce-product-filters,
.wc-block-product-filters {
  background: var(--mlx-filter-bg, #fff);
  border: 1px solid var(--mlx-filter-border, #e5e7eb);
  border-radius: var(--mlx-filter-radius, 12px);
}

/* ── Section headings ── */
.wp-block-woocommerce-product-filter-taxonomy h3,
.wp-block-woocommerce-product-filter-price h3,
.wp-block-woocommerce-product-filter-attribute h3,
.wp-block-woocommerce-product-filter-rating h3,
.wp-block-woocommerce-product-filter-status h3,
.wc-block-product-filters h3.wp-block-heading {
  color: var(--mlx-filter-title, #0a0a0a) !important;
  font-size: .75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: .07em;
}

/* ── Checkbox list items ── */
.wc-block-product-filter-checkbox-list__label {
  color: var(--mlx-filter-text, #444);
  font-size: .9rem;
  display: flex;
  align-items: center;
  gap: .5rem;
  cursor: pointer;
  padding: .25rem 0;
  transition: color .14s;
}
.wc-block-product-filter-checkbox-list__label:hover {
  color: var(--mlx-filter-check-active, #0a0a0a);
}

/* ── Checkbox input ── */
.wc-block-product-filter-checkbox-list__input-wrapper {
  position: relative;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}
.wc-block-product-filter-checkbox-list__input {
  width: 18px;
  height: 18px;
  border: 1.5px solid var(--mlx-filter-check-border, #d1d5db) !important;
  border-radius: 4px !important;
  background: var(--mlx-filter-check-bg, #fff) !important;
  appearance: none;
  cursor: pointer;
  transition: border-color .15s, background .15s;
}
.wc-block-product-filter-checkbox-list__input:checked {
  background: var(--mlx-filter-check-active, #0a0a0a) !important;
  border-color: var(--mlx-filter-check-active, #0a0a0a) !important;
}
.wc-block-product-filter-checkbox-list__mark {
  position: absolute;
  inset: 0;
  pointer-events: none;
  color: #fff;
  width: 10px;
  height: 8px;
  margin: auto;
  display: none;
}
.wc-block-product-filter-checkbox-list__input:checked ~ .wc-block-product-filter-checkbox-list__mark {
  display: block;
}

/* ── Price slider ── */
.wc-block-product-filter-price-slider__range .range-bar {
  background: var(--mlx-filter-border, #e5e7eb);
  border-radius: 4px;
  height: 4px;
  position: relative;
}
.wc-block-product-filter-price-slider__range {
  position: relative;
}
.wc-block-product-filter-price-slider__range::before {
  content: '';
  position: absolute;
  height: 4px;
  top: 50%;
  transform: translateY(-50%);
  left: var(--low, 0%);
  right: calc(100% - var(--high, 100%));
  background: var(--mlx-filter-range, #0a0a0a);
  border-radius: 4px;
  pointer-events: none;
  z-index: 1;
}
.wc-block-product-filter-price-slider__range input[type=range] {
  position: absolute;
  width: 100%;
  height: 4px;
  top: 50%;
  transform: translateY(-50%);
  appearance: none;
  background: transparent;
  pointer-events: none;
  z-index: 2;
}
.wc-block-product-filter-price-slider__range input[type=range]::-webkit-slider-thumb {
  appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--mlx-filter-range, #0a0a0a);
  border: 2px solid #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,.25);
  cursor: pointer;
  pointer-events: all;
  transition: transform .15s;
}
.wc-block-product-filter-price-slider__range input[type=range]::-webkit-slider-thumb:hover {
  transform: scale(1.15);
}
.wc-block-product-filter-price-slider__range input[type=range]::-moz-range-thumb {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--mlx-filter-range, #0a0a0a);
  border: 2px solid #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,.25);
  cursor: pointer;
}
.wc-block-product-filter-price-slider__left input,
.wc-block-product-filter-price-slider__right input {
  border: 1.5px solid var(--mlx-filter-check-border, #d1d5db) !important;
  border-radius: 6px !important;
  padding: .3rem .5rem !important;
  font-size: .875rem !important;
  color: var(--mlx-filter-text, #444) !important;
  background: var(--mlx-filter-bg, #fff) !important;
  width: 72px !important;
}

/* ── Active filter chips ── */
.wc-block-product-filter-removable-chips__item {
  display: inline-flex;
  align-items: center;
  gap: .375rem;
  background: var(--mlx-filter-chip-bg, #0a0a0a);
  color: var(--mlx-filter-chip-text, #fff);
  border-radius: 20px;
  padding: .25rem .625rem;
  font-size: .8125rem;
  font-weight: 500;
}
.wc-block-product-filter-removable-chips__label {
  color: var(--mlx-filter-chip-text, #fff);
}
.wc-block-product-filter-removable-chips__remove {
  background: none;
  border: none;
  color: var(--mlx-filter-chip-text, #fff);
  cursor: pointer;
  opacity: .75;
  padding: 0;
  display: flex;
  align-items: center;
  transition: opacity .15s;
}
.wc-block-product-filter-removable-chips__remove:hover { opacity: 1; }
.wc-block-product-filter-removable-chips__remove-icon { width: 16px; height: 16px; }

/* ── Clear filters button ── */
.wc-block-product-filter-clear-button .wp-block-button__link {
  background: transparent !important;
  color: var(--mlx-filter-text, #444) !important;
  border: 1.5px solid var(--mlx-filter-check-border, #d1d5db) !important;
  border-radius: 6px !important;
  font-size: .8125rem !important;
  transition: border-color .15s, color .15s !important;
}
.wc-block-product-filter-clear-button .wp-block-button__link:hover {
  border-color: var(--mlx-filter-check-active, #0a0a0a) !important;
  color: var(--mlx-filter-check-active, #0a0a0a) !important;
}

/* ── Apply button (overlay footer) ── */
.wc-block-product-filters__apply.wp-element-button {
  background: var(--mlx-filter-apply-bg, #0a0a0a) !important;
  color: var(--mlx-filter-apply-text, #fff) !important;
  border: none !important;
  border-radius: 8px !important;
  padding: .875rem 1.5rem !important;
  font-weight: 600 !important;
  width: 100% !important;
  font-size: 1rem !important;
  cursor: pointer;
  transition: opacity .18s !important;
}
.wc-block-product-filters__apply.wp-element-button:hover { opacity: .88; }

/* ── Close overlay button ── */
.wc-block-product-filters__close-overlay {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--mlx-filter-title, #0a0a0a);
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .875rem;
  font-weight: 500;
}

/* ── Overlay header ── */
.wc-block-product-filters__overlay-header {
  border-bottom: 1px solid var(--mlx-filter-border, #e5e7eb);
  padding-bottom: .875rem;
  margin-bottom: 1rem;
}
.wc-block-product-filters__overlay-footer {
  border-top: 1px solid var(--mlx-filter-border, #e5e7eb);
  padding-top: 1rem;
  margin-top: 1rem;
}

/* ═══════════════════════════════════════════════════════════════════
   TOOLBAR — Per page + View toggle + Sorting
══════════════════════════════════════════════════════════════════ */
.mlx-shop-toolbar__inner {
  display: flex;
  align-items: center;
  gap: .75rem;
  flex-wrap: wrap;
}

/* Sorting pushed to right */
.mlx-shop-toolbar__inner .woocommerce-ordering,
.mlx-shop-toolbar__inner form.woocommerce-ordering {
  margin-left: auto !important;
  flex-shrink: 0;
  display: flex !important;
  align-items: center;
}

@media (max-width: 767px) {
  .mlx-shop-toolbar__inner .woocommerce-ordering,
  .mlx-shop-toolbar__inner form.woocommerce-ordering {
    margin-left: 0 !important;
    width: 100%;
    order: 10;
  }
  .mlx-shop-toolbar__inner .woocommerce-ordering select {
    width: 100%;
  }
}

/* Per page */
.mlx-toolbar-perpage {
  display: flex;
  align-items: center;
  gap: .375rem;
  font-size: .875rem;
  color: var(--mlx-text-muted, #666);
}
.mlx-toolbar-perpage__label { white-space: nowrap; }
.mlx-toolbar-perpage__opt {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  padding: 0 .5rem;
  font-size: .8125rem;
  font-weight: 500;
  color: var(--mlx-text-muted, #666);
  background: transparent;
  border: 1.5px solid var(--mlx-border, #e5e5e5);
  border-radius: 6px;
  text-decoration: none;
  transition: border-color .15s, color .15s, background .15s;
}
.mlx-toolbar-perpage__opt:hover {
  border-color: var(--mlx-color-primary, #0a0a0a);
  color: var(--mlx-color-primary, #0a0a0a);
}
.mlx-toolbar-perpage__opt.is-active {
  background: var(--mlx-color-primary, #0a0a0a);
  border-color: var(--mlx-color-primary, #0a0a0a);
  color: #fff;
}

/* View toggle */
.mlx-toolbar-view {
  display: flex;
  align-items: center;
  gap: 2px;
  margin-left: auto;
}
.mlx-toolbar-view__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  background: transparent;
  border: 1.5px solid var(--mlx-border, #e5e5e5);
  border-radius: 6px;
  color: var(--mlx-text-muted, #888);
  cursor: pointer;
  transition: all .15s;
  padding: 0;
}
.mlx-toolbar-view__btn:hover {
  border-color: var(--mlx-color-primary, #0a0a0a);
  color: var(--mlx-color-primary, #0a0a0a);
}
.mlx-toolbar-view__btn.is-active {
  background: var(--mlx-color-primary, #0a0a0a);
  border-color: var(--mlx-color-primary, #0a0a0a);
  color: #fff;
}

/* ═══════════════════════════════════════════════════════════════════
   LIST VIEW — WoodMart-style
   Structure: [image 180px] [product-list-content flex-col]
══════════════════════════════════════════════════════════════════ */

/* ── Shop_View: mlx-view-list on ul.products, mlx-list-item on li.product ──────
   WoodMart-style: view stored in cookie/session, applied server-side         */

/* List view = ALWAYS 1 column — overrides all responsive/dynamic column settings */
.mlx-view-list ul.products,
.mlx-view-list.products,
body.woocommerce .mlx-view-list ul.products,
body.woocommerce-page .mlx-view-list ul.products {
  grid-template-columns: 1fr !important;
  gap: .625rem !important;
}
/* mlx-list-item on li ensures list styling even without wrapper class */
body.woocommerce ul.products:has(.mlx-list-item),
body.woocommerce-page ul.products:has(.mlx-list-item) {
  grid-template-columns: 1fr !important;
  gap: .625rem !important;
}
/* Override the dynamic wp_head CSS injected by output_columns_css() */
@media (min-width: 1280px) { body.woocommerce .mlx-view-list ul.products { grid-template-columns: 1fr !important; } }
@media (min-width: 1024px) { body.woocommerce .mlx-view-list ul.products { grid-template-columns: 1fr !important; } }
@media (min-width: 768px)  { body.woocommerce .mlx-view-list ul.products { grid-template-columns: 1fr !important; } }
@media (max-width: 767px)  { body.woocommerce .mlx-view-list ul.products { grid-template-columns: 1fr !important; } }

/* Each li — simple block */
.mlx-view-list ul.products li.product,
.mlx-view-list li.product {
  width: 100% !important;
  height: auto !important;
}

/* Card inner — horizontal flex row (WoodMart style)
   Higher specificity via li.product + .mlx-list-item to beat column rules */
.mlx-view-list li.product .mlx-product-card__inner,
li.product.mlx-list-item .mlx-product-card__inner,
.mlx-view-list .mlx-product-card__inner,
.mlx-list-item .mlx-product-card__inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  gap: 0 !important;
  height: auto !important;
  min-height: 160px !important;
  border: 1px solid var(--mlx-border, #e5e5e5) !important;
  border-radius: 12px !important;
  background: var(--mlx-bg-card, #fff) !important;
  overflow: hidden !important;
  transform: none !important;
}
.mlx-view-list li.product .mlx-product-card__inner:hover,
li.product.mlx-list-item .mlx-product-card__inner:hover {
  transform: none !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.08) !important;
}

/* === THUMBNAIL === */
.mlx-view-list li.product .mlx-product-card__thumb,
li.product.mlx-list-item .mlx-product-card__thumb,
.mlx-view-list .mlx-product-card__thumb {
  flex: 0 0 180px !important;
  width: 180px !important;
  aspect-ratio: unset !important;
  height: auto !important;
  min-height: 160px !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  background: var(--mlx-surface, #f8f8f8) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-right: 1px solid var(--mlx-border, #f0f0f0) !important;
}
.mlx-view-list li.product .mlx-product-card__thumb a,
li.product.mlx-list-item .mlx-product-card__thumb a,
.mlx-view-list li.product .mlx-product-card__thumb-link,
li.product.mlx-list-item .mlx-product-card__thumb-link,
.mlx-view-list .mlx-product-card__thumb-link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 160px !important;
  padding: 0 !important;
  aspect-ratio: unset !important;
  position: static !important;
}
.mlx-view-list .mlx-product-card__thumb img,
.mlx-view-list li.product .mlx-product-card__thumb-link img,
.mlx-view-list li.product .mlx-product-card__thumb a img {
  width: 100% !important;
  height: 100% !important;
  max-height: 180px !important;
  object-fit: contain !important;
  padding: 12px !important;
  box-sizing: border-box !important;
  position: static !important;
  transform: none !important;
  transition: none !important;
}

/* === PRODUCT LIST CONTENT (info + attrs + ATC) === */
.mlx-view-list li.product .mlx-product-card__info,
li.product.mlx-list-item .mlx-product-card__info,
.mlx-view-list .mlx-product-card__info {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: .375rem !important;
  padding: 1rem 1.25rem !important;
  min-width: 0 !important;
  text-align: left !important;
  border: none !important;
}

/* Categories */
.mlx-view-list .mlx-product-card__cats {
  font-size: .75rem !important;
  color: var(--mlx-text-muted, #888) !important;
  display: block !important;
}

/* Title */
.mlx-view-list .mlx-product-card__title {
  font-size: 1rem !important;
  font-weight: 700 !important;
  margin: 0 !important;
  line-height: 1.35 !important;
}
.mlx-view-list .mlx-product-card__title a {
  color: var(--mlx-text, #1e1e1e) !important;
  text-decoration: none !important;
}
.mlx-view-list .mlx-product-card__title a:hover {
  color: var(--mlx-color-accent, #e84545) !important;
}

/* Stock */
.mlx-view-list .mlx-product-card__stock {
  display: flex !important;
  align-items: center !important;
  gap: .35rem !important;
  font-size: .8125rem !important;
  font-weight: 500 !important;
}
.mlx-view-list .mlx-product-card__stock--in  { color: #22a55a !important; }
.mlx-view-list .mlx-product-card__stock--out { color: #e84545 !important; }

/* Price */
.mlx-view-list .mlx-product-card__price {
  font-size: 1.1875rem !important;
  font-weight: 700 !important;
  color: var(--mlx-color-accent, #e84545) !important;
  margin: 0 !important;
}
.mlx-view-list .mlx-product-card__price .woocommerce-Price-amount { color: inherit !important; }
.mlx-view-list .mlx-product-card__price del { opacity: .5 !important; font-size: .875rem !important; font-weight: 400 !important; }

/* Attributes table — WooCommerce shop_attributes style */
.mlx-view-list .mlx-product-card__attrs {
  display: block !important;
  width: 100% !important;
  margin-top: .25rem !important;
}
.mlx-view-list .mlx-product-card__attr-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: .5rem !important;
  padding: .25rem 0 !important;
  border-bottom: 1px dashed var(--mlx-border, #ececec) !important;
  font-size: .8125rem !important;
}
.mlx-view-list .mlx-product-card__attr-row:last-child { border-bottom: none !important; }
.mlx-view-list .mlx-product-card__attr-label {
  color: var(--mlx-text-muted, #888) !important;
  flex-shrink: 0 !important;
}
.mlx-view-list .mlx-product-card__attr-value {
  color: var(--mlx-text, #1e1e1e) !important;
  font-weight: 500 !important;
  text-align: right !important;
}

/* ATC button — bottom of info column */
.mlx-view-list .mlx-product-card__add-to-cart {
  margin-top: auto !important;
  padding-top: .75rem !important;
}
.mlx-view-list .mlx-product-card__add-to-cart .button,
.mlx-view-list .mlx-product-card__add-to-cart a.button {
  display: inline-flex !important;
  width: auto !important;
  padding: .5rem 1.25rem !important;
  font-size: .875rem !important;
}

/* Badges — inside info, inline */
.mlx-view-list .mlx-product-card__badges {
  position: static !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: .25rem !important;
}

/* Hide hover overlay in list mode */
.mlx-view-list .mlx-product-card__overlay { display: none !important; }
.mlx-view-list .mlx-product-card__slide-overlay { display: none !important; }

/* Mobile: stack vertically */
@media (max-width: 639px) {
  .mlx-view-list .mlx-product-card__inner {
    flex-direction: column !important;
  }
  .mlx-view-list .mlx-product-card__thumb {
    flex: 0 0 auto !important;
    width: 100% !important;
    height: 180px !important;
    border-right: none !important;
    border-bottom: 1px solid var(--mlx-border, #f0f0f0) !important;
  }
  .mlx-view-list .mlx-product-card__attrs { display: none !important; }
}

/* ── Product card: stock + attrs hidden in grid view ──────── */
.mlx-product-card__stock { display: none; }
.mlx-product-card__attrs { display: none; }

/* Show only in list view */
.mlx-view-list .mlx-product-card__stock { display: flex !important; }
.mlx-view-list .mlx-product-card__attrs { display: block !important; }

/* List ATC button — full width */
.mlx-view-list .mlx-product-card__add-to-cart .button,
.mlx-view-list .mlx-product-card__add-to-cart a.button {
  width: 100% !important;
  white-space: nowrap !important;
  text-align: center !important;
}

/* ═══════════════════════════════════════════════════════════════════
   OFF-CANVAS FILTER PANEL
══════════════════════════════════════════════════════════════════ */

/* Trigger button — only on mobile */
.mlx-offcanvas-filter-btn {
  display: none;
  align-items: center;
  gap: .4rem;
  padding: .5rem .875rem;
  font-size: .875rem;
  font-weight: 500;
  background: var(--mlx-bg-card, #fff);
  border: 1.5px solid var(--mlx-border, #e5e5e5);
  border-radius: 8px;
  color: var(--mlx-text, #1e1e1e);
  cursor: pointer;
  white-space: nowrap;
}
.mlx-offcanvas-filter-btn:hover { border-color: var(--mlx-color-primary, #0a0a0a); }

/* Panel — ALWAYS fixed+hidden by default, even on desktop */
.mlx-offcanvas-filter {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: min(320px, 85vw) !important;
  height: 100dvh !important;
  background: #ffffff;
  box-shadow: 4px 0 24px rgba(0,0,0,.15) !important;
  z-index: 100001 !important;
  display: flex !important;
  flex-direction: column !important;
  transform: translateX(-100%) !important;
  transition: transform .3s cubic-bezier(.4,0,.2,1) !important;
  visibility: hidden !important;
}
.mlx-offcanvas-filter.is-open {
  transform: translateX(0) !important;
  visibility: visible !important;
}

.mlx-offcanvas-filter__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.125rem 1.25rem;
  border-bottom: 1px solid var(--mlx-border, #eee);
  flex-shrink: 0;
}
.mlx-offcanvas-filter__title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--mlx-text, #1e1e1e);
}
.mlx-offcanvas-filter__close {
  width: 34px; height: 34px;
  display: flex; align-items: center; justify-content: center;
  background: var(--mlx-surface, #f5f5f5);
  border: none; border-radius: 8px;
  cursor: pointer;
  color: var(--mlx-text, #1e1e1e);
}
.mlx-offcanvas-filter__close:hover { background: var(--mlx-border, #e5e5e5); }

.mlx-offcanvas-filter__body {
  flex: 1;
  overflow-y: auto;
  padding: 1rem 1.25rem 2rem;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  overscroll-behavior-y: contain;
  touch-action: pan-y;
}

/* Overlay — hidden by default */
.mlx-offcanvas-filter__overlay {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(0,0,0,.45) !important;
  z-index: 100000 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity .3s !important;
  display: none !important;
}
.mlx-offcanvas-filter__overlay.is-visible {
  opacity: 1 !important;
  pointer-events: auto !important;
  display: block !important;
}

body.mlx-offcanvas-open { overflow: hidden !important; }

/* Desktop: show sidebar normally, hide button + panel trigger */
@media (min-width: 1024px) {
  .mlx-offcanvas-filter-btn { display: none !important; }
  /* Panel stays hidden on desktop — never show */
}

/* Mobile/tablet: show button, hide desktop sidebar */
@media (max-width: 1023px) {
  .mlx-offcanvas-filter-btn { display: flex !important; }

  .mlx-sidebar--filters,
  .mlx-sidebar--shop { display: none !important; }

  .mlx-shop-layout.mlx-has-sidebar {
    grid-template-columns: 1fr !important;
  }

  .mlx-offcanvas-filter__body .widget-title {
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--mlx-color-primary, #0a0a0a);
    margin: 0 0 .625rem;
    padding-bottom: .625rem;
    border-bottom: 2px solid var(--mlx-color-accent, #c0392b);
  }

  /* Card wrapper per widget in offcanvas */
  .mlx-offcanvas-filter__body .widget {
    background: var(--mlx-surface, #fff);
    border: 1px solid var(--mlx-border, #eee);
    border-radius: 12px;
    padding: .875rem 1rem;
    margin-bottom: .75rem;
  }

  /* Price filter background fix */
  .mlx-offcanvas-filter__body .mlx-filter-section-wrap {
    background: transparent !important;
    margin-bottom: 0;
  }
}

/* ── LIST VIEW: action buttons on thumb hover ─────────────── */
/* In list view, actions appear over the thumbnail on hover */
.mlx-list-item .mlx-product-card__thumb,
.mlx-view-list li.product .mlx-product-card__thumb {
  position: relative !important;
}

/* Show overlay on thumb hover in list mode */
.mlx-list-item .mlx-product-card__overlay,
.mlx-view-list li.product .mlx-product-card__overlay {
  display: flex !important;
  position: absolute !important;
  inset: 0 !important;
  background: rgba(0,0,0,.35) !important;
  opacity: 0 !important;
  transition: opacity .2s !important;
  z-index: 5 !important;
  align-items: center !important;
  justify-content: center !important;
}
.mlx-list-item:hover .mlx-product-card__overlay,
.mlx-view-list li.product:hover .mlx-product-card__overlay {
  opacity: 1 !important;
}

/* Action buttons row */
.mlx-list-item .mlx-product-card__actions,
.mlx-view-list li.product .mlx-product-card__actions {
  display: flex !important;
  flex-direction: row !important;
  gap: .5rem !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Individual action buttons */
.mlx-list-item .mlx-product-card__action,
.mlx-view-list li.product .mlx-product-card__action {
  width: 38px !important;
  height: 38px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(255,255,255,.95) !important;
  border: none !important;
  border-radius: 50% !important;
  cursor: pointer !important;
  color: var(--mlx-text, #1e1e1e) !important;
  transition: background .15s, color .15s, transform .15s !important;
  transform: translateY(6px) !important;
  opacity: 0 !important;
}
.mlx-list-item:hover .mlx-product-card__action,
.mlx-view-list li.product:hover .mlx-product-card__action {
  opacity: 1 !important;
  transform: translateY(0) !important;
}
/* Stagger animation */
.mlx-list-item:hover .mlx-product-card__action:nth-child(1),
.mlx-view-list li.product:hover .mlx-product-card__action:nth-child(1) { transition-delay: 0s !important; }
.mlx-list-item:hover .mlx-product-card__action:nth-child(2),
.mlx-view-list li.product:hover .mlx-product-card__action:nth-child(2) { transition-delay: .05s !important; }
.mlx-list-item:hover .mlx-product-card__action:nth-child(3),
.mlx-view-list li.product:hover .mlx-product-card__action:nth-child(3) { transition-delay: .1s !important; }

.mlx-list-item .mlx-product-card__action:hover,
.mlx-view-list li.product .mlx-product-card__action:hover {
  background: var(--mlx-color-accent, #e84545) !important;
  color: #fff !important;
}

/* ── LIST VIEW: visual polish ─────────────────────────────── */
/* Remove bottom border from last attr row */
.mlx-list-item .mlx-product-card__attr-row:last-child,
.mlx-view-list .mlx-product-card__attr-row:last-child {
  border-bottom: none !important;
}

/* Stock badge — green checkmark style */
.mlx-list-item .mlx-product-card__stock--in svg,
.mlx-view-list .mlx-product-card__stock--in svg {
  color: #22a55a !important;
}

/* ATC button — match site style, not full width */
.mlx-list-item .mlx-product-card__add-to-cart .button,
.mlx-list-item .mlx-product-card__add-to-cart a.button,
.mlx-view-list li.product .mlx-product-card__add-to-cart .button,
.mlx-view-list li.product .mlx-product-card__add-to-cart a.button {
  width: auto !important;
  display: inline-flex !important;
  padding: .625rem 1.5rem !important;
  font-size: .9375rem !important;
  border-radius: 6px !important;
}

/* Card border + hover shadow */
.mlx-list-item .mlx-product-card__inner,
.mlx-view-list li.product .mlx-product-card__inner {
  box-shadow: 0 1px 3px rgba(0,0,0,.06) !important;
}
.mlx-list-item:hover .mlx-product-card__inner,
.mlx-view-list li.product:hover .mlx-product-card__inner {
  box-shadow: 0 4px 20px rgba(0,0,0,.1) !important;
}

/* Title size in list */
.mlx-list-item .mlx-product-card__title,
.mlx-view-list li.product .mlx-product-card__title {
  font-size: 1.125rem !important;
  font-weight: 700 !important;
  margin-bottom: .25rem !important;
}

/* ── MOBILE: always grid view, ignore list preference ─────── */
@media (max-width: 767px) {
  /* Force grid layout */
  .mlx-view-list ul.products,
  body.woocommerce .mlx-view-list ul.products,
  body.woocommerce-page .mlx-view-list ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: .75rem !important;
  }

  /* Reset list card back to grid card */
  .mlx-view-list li.product .mlx-product-card__inner,
  li.product.mlx-list-item .mlx-product-card__inner {
    flex-direction: column !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  /* Reset thumb back to square aspect-ratio */
  .mlx-view-list li.product .mlx-product-card__thumb,
  li.product.mlx-list-item .mlx-product-card__thumb {
    flex: none !important;
    width: 100% !important;
    aspect-ratio: 1/1 !important;
    min-height: 0 !important;
    border-right: none !important;
    border-bottom: 1px solid var(--mlx-border, #f0f0f0) !important;
  }

  /* Hide list-only elements */
  .mlx-view-list .mlx-product-card__attrs,
  .mlx-view-list .mlx-product-card__stock {
    display: none !important;
  }

  /* Hide list view toggle button on mobile */
  .mlx-toolbar-view__btn--list {
    display: none !important;
  }
}

/* ── MLX Hover styles: hide info + ATC for slide/overlay ──────────────────
   NOTE: Pridané na koniec — musí byť PO "li.product .mlx-product-card__info { display:flex }"
   Specificity (0,3,1) > (0,1,1) a tiež overrides async content-styles.css
   ────────────────────────────────────────────────────────────────────── */
li.product .mlx-hover--slide .mlx-product-card__info,
li.product .mlx-hover--slide .mlx-product-card__add-to-cart,
li.product .mlx-hover--overlay .mlx-product-card__info,
li.product .mlx-hover--overlay .mlx-product-card__add-to-cart {
  display: none !important;
}

/* ── Full overlay — hover trigger cez li.product:hover (spoľahlivejšie) ── */
li.product:hover .mlx-hover--overlay .mlx-product-card__hover-overlay {
  background: rgba(0,0,0,.55);
  pointer-events: auto;
}
li.product:hover .mlx-hover--overlay .mlx-product-card__overlay-title,
li.product:hover .mlx-hover--overlay .mlx-product-card__overlay-price,
li.product:hover .mlx-hover--overlay .mlx-product-card__overlay-btn {
  opacity: 1;
  transform: translateY(0);
}

/* ── Slide overlay — biele farby textu ────────────────────────────────── */
li.product .mlx-hover--slide .mlx-product-card__slide-overlay,
.mlx-product-card__slide-overlay {
  color: #fff !important;
}
li.product .mlx-hover--slide .mlx-product-card__slide-title {
  color: #fff !important;
  font-size: .875rem;
  font-weight: 600;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
li.product .mlx-hover--slide .mlx-product-card__slide-price {
  color: #fff !important;
  font-size: .8125rem;
  margin: 0;
  opacity: .85;
}
li.product .mlx-hover--slide .mlx-product-card__slide-price .woocommerce-Price-amount,
li.product .mlx-hover--slide .mlx-product-card__slide-price .woocommerce-Price-currencySymbol {
  color: #fff !important;
}
/* Slide overlay — kompaktný padding */
li.product .mlx-hover--slide .mlx-product-card__slide-overlay {
  padding: .5rem .875rem !important;
  gap: .3rem !important;
}

/* ══ ATC button — Slide overlay + Full overlay ════════════════════════════
   Farby nastaviteľné v Theme Options → Buttons → "Hover overlay ATC"
   CSS vars: --mlx-hover-atc-bg / --mlx-hover-atc-color
             --mlx-hover-atc-hover-bg / --mlx-hover-atc-hover-color
   ═══════════════════════════════════════════════════════════════════════ */
li.product .mlx-product-card__slide-overlay .button,
li.product .mlx-product-card__slide-overlay a.button,
li.product .mlx-product-card__slide-overlay .add_to_cart_button,
li.product .mlx-product-card__overlay-btn {
  height: 40px !important;
  font-weight: 600 !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  /* Farba pozadia — Theme Options → Buttons → Hover overlay ATC */
  background: var(--mlx-hover-atc-bg, #ffffff) !important;
  color: var(--mlx-hover-atc-color, #0a0a0a) !important;
  border: none !important;
  border-radius: 4px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 0 .75rem !important;
}
li.product .mlx-product-card__slide-overlay .button:hover,
li.product .mlx-product-card__slide-overlay a.button:hover,
li.product .mlx-product-card__slide-overlay .add_to_cart_button:hover,
li.product .mlx-product-card__overlay-btn:hover {
  background: var(--mlx-hover-atc-hover-bg, #e84545) !important;
  color: var(--mlx-hover-atc-hover-color, #ffffff) !important;
}


/* ═══════════════════════════════════════════════════════════════════
   MLX Single Product Widget fixes
═══════════════════════════════════════════════════════════════════ */

/* ── ATC: extra space between variations and add-to-cart ─────── */
.mlx-sp__add-to-cart {
  margin-top: .75rem;
  padding-top: .75rem;
  border-top: 1px solid var(--mlx-border, #f0f0f0);
}

/* ── ATC button styling ──────────────────────────────────────── */
.mlx-sp__add-to-cart .single_add_to_cart_button,
.mlx-sp__add-to-cart .button.alt,
.mlx-sp__add-to-cart a.button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 52px !important;
  padding: 0 1.5rem !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
  background: var(--mlx-btn-cart-bg, #0a0a0a) !important;
  color: var(--mlx-btn-cart-color, #fff) !important;
  border: none !important;
  border-radius: var(--mlx-btn-cart-radius, 6px) !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: background .2s !important;
}
.mlx-sp__add-to-cart .single_add_to_cart_button:hover,
.mlx-sp__add-to-cart .button.alt:hover {
  background: var(--mlx-btn-cart-hover-bg, #e84545) !important;
  color: var(--mlx-btn-cart-hover-color, #fff) !important;
}

/* ── Variation label swatch: hover text visible ──────────────── */
/* CSS vars — overrideable via Elementor widget controls or Theme Options */
:root {
  --mlx-sw-bg:           #ffffff;
  --mlx-sw-text:         #444444;
  --mlx-sw-border:       #dddddd;
  --mlx-sw-hover-bg:     #f5f5f5;
  --mlx-sw-hover-text:   #0a0a0a;
  --mlx-sw-hover-border: #0a0a0a;
  --mlx-sw-active-bg:    #0a0a0a;
  --mlx-sw-active-text:  #ffffff;
  --mlx-sw-active-border:#0a0a0a;
}
.mlx-swatch--label {
  background: var(--mlx-sw-bg) !important;
  color: var(--mlx-sw-text) !important;
  border-color: var(--mlx-sw-border) !important;
}
.mlx-swatch--label:hover {
  background: var(--mlx-sw-hover-bg) !important;
  color: var(--mlx-sw-hover-text) !important;
  border-color: var(--mlx-sw-hover-border) !important;
}
.mlx-swatch--label.is-active {
  background: var(--mlx-sw-active-bg) !important;
  color: var(--mlx-sw-active-text) !important;
  border-color: var(--mlx-sw-active-border) !important;
}

/* ── Left sidebar: fix images stacking on top ────────────────── */
.mlx-sp__gallery-col--left {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: .625rem !important;
}
.mlx-sp__thumbs-sidebar {
  order: 0;
  flex-shrink: 0;
  width: 76px;
  display: flex;
  flex-direction: column;
  gap: .5rem;
  max-height: 500px;
  overflow-y: auto;
  scrollbar-width: thin;
}
.mlx-sp__main-img-wrap {
  order: 1;
  flex: 1;
  min-width: 0;
  position: relative;
}
.mlx-sp__main-img-wrap img,
.mlx-sp__main-img-wrap .mlx-sp__img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 10px;
}
@media (max-width: 600px) {
  .mlx-sp__gallery-col--left { flex-direction: column !important; }
  .mlx-sp__thumbs-sidebar { width: 100%; flex-direction: row; max-height: none; overflow-x: auto; overflow-y: hidden; }
}

/* ── Tabs: ensure non-active panels are hidden ───────────────── */
.mlx-sp-tabs__panel { display: none !important; }
.mlx-sp-tabs__panel.is-active { display: block !important; animation: mlxTabIn .2s ease; }
@keyframes mlxTabIn { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:translateY(0); } }

/* ═══════════════════════════════════════════════════════════════════
   VARIATION SWATCHES — .mlx-swatches / .mlx-swatch
   Replaces native WC <select> on variable product pages.
   JS sets --sw CSS var for color swatches.
══════════════════════════════════════════════════════════════════ */
.mlx-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 6px 0 4px;
}

/* ── Base tile ─────────────────────────────────────────────── */
.mlx-swatch {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 2px solid transparent;
  outline: 1.5px solid rgba(0,0,0,.12);
  outline-offset: 2px;
  cursor: pointer;
  transition: outline-color .15s, transform .15s, box-shadow .15s;
  position: relative;
  flex-shrink: 0;
  user-select: none;
  box-sizing: border-box;
}
.mlx-swatch:hover { outline-color: #0a0a0a; transform: scale(1.1); }
.mlx-swatch:focus-visible { outline: 2px solid #0a0a0a; outline-offset: 2px; }

/* ── Shape variants ────────────────────────────────────────── */
.mlx-swatches--rounded .mlx-swatch { border-radius: 6px; }
.mlx-swatches--square  .mlx-swatch { border-radius: 2px; }

/* ── Color swatch — background from --sw CSS var ──────────── */
.mlx-swatch--color {
  background: var(--sw-color, var(--sw, #cccccc));
}
.mlx-swatch--color.is-active {
  outline-color: var(--sw-color, var(--sw, #888));
  outline-width: 2.5px;
  transform: scale(1.12);
  box-shadow: 0 0 0 3px rgba(0,0,0,.08);
}

/* ── Image swatch ──────────────────────────────────────────── */
.mlx-swatch--image {
  overflow: hidden;
  padding: 0;
}
.mlx-swatch--image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: inherit;
}
.mlx-swatch--image.is-active {
  outline-color: #0a0a0a;
  outline-width: 2.5px;
  transform: scale(1.1);
}

/* ── Label swatch — already defined above, extend ─────────── */
.mlx-swatch--label {
  width: auto;
  min-width: 36px;
  padding: 0 10px;
  border-radius: 6px;
  font-size: .8125rem;
  font-weight: 600;
  border: 1.5px solid var(--mlx-sw-border, #ddd);
  outline: none;
  background: var(--mlx-sw-bg, #fff);
  color: var(--mlx-sw-text, #444);
}
.mlx-swatch--label:hover {
  border-color: var(--mlx-color-primary, #0a0a0a);
  background: var(--mlx-sw-hover-bg, #f5f5f5);
}
.mlx-swatch--label.is-active {
  background: var(--mlx-sw-active-bg, #0a0a0a) !important;
  color: var(--mlx-sw-active-text, #fff) !important;
  border-color: var(--mlx-sw-active-border, #0a0a0a) !important;
  outline: none;
}

/* ── Disabled ──────────────────────────────────────────────── */
.mlx-swatch.is-disabled {
  opacity: .35;
  cursor: not-allowed;
  pointer-events: none;
}
.mlx-swatch.is-disabled::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom right, transparent calc(50% - 1px), rgba(0,0,0,.35), transparent calc(50% + 1px));
  border-radius: inherit;
}

/* ── Off-canvas filter button — floating (Elementor archive) ── */
/* Fixed floating button — always hidden on desktop, shown on mobile */
.mlx-offcanvas-filter-btn--footer {
  position: fixed;
  bottom: 80px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 999;
  box-shadow: 0 4px 20px rgba(0,0,0,.2);
  display: none !important;
}
@media (max-width: 1023px) {
  .mlx-offcanvas-filter-btn--footer {
    display: flex !important;
  }
}

/* ── Off-canvas filter sidebar — base (overridden by widget injected CSS) ── */
.mlx-offcanvas-filter__body .mlx-filter-widget {
  box-sizing: border-box;
}
.mlx-offcanvas-filter__body .mlx-filter-widget__title {
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--mlx-text, #333);
  margin: 0 0 .875rem;
  padding-bottom: .5rem;
  border-bottom: 2px solid var(--mlx-color-primary, #0a0a0a);
  display: inline-block;
}
/* Swatches in off-canvas */
.mlx-offcanvas-filter__body .mlx-fw-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.mlx-offcanvas-filter__body .mlx-fw-swatch__inner {
  width: 30px;
  height: 30px;
}
/* Category items */
.mlx-offcanvas-filter__body .mlx-fw-list__item {
  padding: 3px 0;
}
.mlx-offcanvas-filter__body .mlx-fw-checkbox__label {
  font-size: .9rem;
}

/* ── Hide MLX Product Filters Elementor widget on mobile ─────────────── */
/* Off-canvas renders same content server-side — no JS move, no flicker */
@media (max-width: 1023px) {
  .elementor-widget-mlx_wc_product_filters {
    display: none !important;
  }
}

/* ── Cart — compact mobile layout ───────────────────────────── */
@media (max-width: 640px) {

  /* Hide desktop-only columns */
  .woocommerce-cart-form table.cart thead { display: none; }
  .woocommerce-cart-form table.cart { display: block; width: 100%; }
  .woocommerce-cart-form table.cart tbody { display: block; width: 100%; }

  /* Each row = grid: [remove] [thumb] [info] */
  .woocommerce-cart-form table.cart tr.cart_item {
    display: grid;
    grid-template-columns: 32px 80px 1fr;
    grid-template-rows: auto auto auto;
    gap: 6px 10px;
    padding: 12px 0;
    border-bottom: 1px solid var(--mlx-border, #eee);
    align-items: start;
    width: 100%;
  }
  .woocommerce-cart-form table.cart tr.cart_item:last-child { border-bottom: none; }

  /* Column positions */
  .woocommerce-cart-form table.cart td { display: block; padding: 0; border: none; }

  .woocommerce-cart-form table.cart td.product-remove {
    grid-column: 1; grid-row: 1; text-align: center; width: auto;
  }
  .woocommerce-cart-form table.cart td.product-thumbnail {
    grid-column: 2; grid-row: 1 / 4;
  }
  .woocommerce-cart-form table.cart td.product-thumbnail img {
    width: 76px; height: 76px; object-fit: cover; border-radius: 8px; display: block;
  }
  .woocommerce-cart-form table.cart td.product-name {
    grid-column: 3; grid-row: 1; font-size: .875rem;
  }
  .woocommerce-cart-form table.cart td.product-name a { font-weight: 600; }
  .woocommerce-cart-form table.cart td.product-name dl.variation {
    margin: 4px 0 0; font-size: .75rem; color: #888;
  }
  .woocommerce-cart-form table.cart td.product-name dl.variation dt,
  .woocommerce-cart-form table.cart td.product-name dl.variation dd { display: inline; margin: 0; }
  .woocommerce-cart-form table.cart td.product-name dl.variation dd::after { content: ' · '; }
  .woocommerce-cart-form table.cart td.product-name dl.variation dd:last-child::after { content: ''; }

  .woocommerce-cart-form table.cart td.product-price {
    grid-column: 3; grid-row: 2; color: #888; font-size: .8125rem;
  }
  .woocommerce-cart-form table.cart td.product-quantity {
    grid-column: 3; grid-row: 3;
  }
  .woocommerce-cart-form table.cart td.product-subtotal { display: none; }

  /* Qty buttons compact */
  .woocommerce-cart-form table.cart .mlx-qty-wrap { gap: 4px; }
  .woocommerce-cart-form table.cart .mlx-qty-btn { width: 28px; height: 28px; }
  .woocommerce-cart-form table.cart .mlx-qty-input { width: 36px; height: 28px; font-size: .8125rem; }

  /* Cart actions */
  .woocommerce-cart-form .actions { flex-direction: column; align-items: stretch; }
  .woocommerce-cart-form .coupon { flex-direction: column; }
  .woocommerce-cart-form .coupon input#coupon_code { max-width: 100%; }
}

/* ── Cart table display fix ─────────────────────────────────── */
.woocommerce-cart-form table.cart {
  display: table !important;
}
