/* Smarty Paris — Product card fit-to-image (matches PRODUITS PAR CATÉGORIE perfect dimensions)
   v4: image fills card width naturally; minimal padding; no min-height caps
   Date: 2026-05-18
*/

/* 1. Remove min-height caps everywhere (4-class chain to beat 5-class !important rules) */
html body .tvtab-featured-product .tvtabproduct-main-block .product-miniature,
html body .tvtab-new-product .tvtabproduct-main-block .product-miniature,
html body .tvtab-special-product .tvtabproduct-main-block .product-miniature,
html body .tvtab-best-seller-product .tvtabproduct-main-block .product-miniature,
html body .tvtab-featured-product .tvtabproduct-main-block .product-miniature .thumbnail-container,
html body .tvtab-new-product .tvtabproduct-main-block .product-miniature .thumbnail-container,
html body .tvtab-special-product .tvtabproduct-main-block .product-miniature .thumbnail-container,
html body .tvtab-best-seller-product .tvtabproduct-main-block .product-miniature .thumbnail-container,
html body .tvtab-featured-product .tvtabproduct-main-block .product-miniature .tvproduct-wrapper,
html body .tvtab-new-product .tvtabproduct-main-block .product-miniature .tvproduct-wrapper,
html body .tvtab-special-product .tvtabproduct-main-block .product-miniature .tvproduct-wrapper,
html body .tvtab-best-seller-product .tvtabproduct-main-block .product-miniature .tvproduct-wrapper,
html body .tvtab-featured-product .tvtabproduct-main-block .product-miniature .tvproduct-image,
html body .tvtab-new-product .tvtabproduct-main-block .product-miniature .tvproduct-image,
html body .tvtab-special-product .tvtabproduct-main-block .product-miniature .tvproduct-image,
html body .tvtab-best-seller-product .tvtabproduct-main-block .product-miniature .tvproduct-image,
html body .tvtab-featured-product .tvtabproduct-main-block .product-miniature .thumbnail.product-thumbnail,
html body .tvtab-new-product .tvtabproduct-main-block .product-miniature .thumbnail.product-thumbnail,
html body .tvtab-special-product .tvtabproduct-main-block .product-miniature .thumbnail.product-thumbnail,
html body .tvtab-best-seller-product .tvtabproduct-main-block .product-miniature .thumbnail.product-thumbnail {
    min-height: 0 !important;
    height: auto !important;
}

/* 2. Image wrapper — minimal padding so image fills card */
html body .tvtab-featured-product .tvtabproduct-main-block .tvproduct-image,
html body .tvtab-new-product .tvtabproduct-main-block .tvproduct-image,
html body .tvtab-special-product .tvtabproduct-main-block .tvproduct-image,
html body .tvtab-best-seller-product .tvtabproduct-main-block .tvproduct-image {
    padding: 4px !important;
    position: relative;
}

/* 3. Image — fill card width, capped to keep total card ~345px */
html body .tvtab-featured-product .tvtabproduct-main-block .tvproduct-image img,
html body .tvtab-new-product .tvtabproduct-main-block .tvproduct-image img,
html body .tvtab-special-product .tvtabproduct-main-block .tvproduct-image img,
html body .tvtab-best-seller-product .tvtabproduct-main-block .tvproduct-image img {
    max-width: 100% !important;
    width: 100% !important;
    max-height: 180px !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: contain !important;
    display: block !important;
}

/* 4. Hover overlay (quick-view/cart/wishlist) — absolute, fade on hover */
html body .tvtab-featured-product .tvproduct-hover-btn,
html body .tvtab-new-product .tvproduct-hover-btn,
html body .tvtab-special-product .tvproduct-hover-btn,
html body .tvtab-best-seller-product .tvproduct-hover-btn {
    position: absolute !important;
    bottom: 8px;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    transition: opacity 0.2s ease;
    z-index: 5;
    pointer-events: none;
}
html body .tvtab-featured-product .tvproduct-image:hover .tvproduct-hover-btn,
html body .tvtab-new-product .tvproduct-image:hover .tvproduct-hover-btn,
html body .tvtab-special-product .tvproduct-image:hover .tvproduct-hover-btn,
html body .tvtab-best-seller-product .tvproduct-image:hover .tvproduct-hover-btn {
    opacity: 1;
    pointer-events: auto;
}

/* 5. Info block — compact (target card total ~345px) */
html body .tvtab-featured-product .tvtabproduct-main-block .tvproduct-info-box-wrapper,
html body .tvtab-new-product .tvtabproduct-main-block .tvproduct-info-box-wrapper,
html body .tvtab-special-product .tvtabproduct-main-block .tvproduct-info-box-wrapper,
html body .tvtab-best-seller-product .tvtabproduct-main-block .tvproduct-info-box-wrapper {
    padding: 6px 8px 8px !important;
}

/* ============================================================
 * v5 (2026-05-29): extend card-fix to AJAX-loaded slider blocks
 *   SMARTPHONES RECONDITIONNÉS = .tvcmsspecial-product wrapper
 *   Also: tvcmsfeatured-product, tvcmsnew-product, tvcmsbest-seller-product,
 *         tvcmscategoryproduct (related category sliders on home)
 * Goal: image fills card width (no gap between image & rating).
 * ============================================================ */

/* 1. Remove min-height caps so card hugs image */
html body .tvcmsspecial-product .product-miniature,
html body .tvcmsfeatured-product .product-miniature,
html body .tvcmsnew-product .product-miniature,
html body .tvcmsbest-seller-product .product-miniature,
html body .tvcmscategoryproduct .product-miniature,
html body .tvcmsspecial-product .product-miniature .thumbnail-container,
html body .tvcmsfeatured-product .product-miniature .thumbnail-container,
html body .tvcmsnew-product .product-miniature .thumbnail-container,
html body .tvcmsbest-seller-product .product-miniature .thumbnail-container,
html body .tvcmscategoryproduct .product-miniature .thumbnail-container,
html body .tvcmsspecial-product .product-miniature .tvproduct-wrapper,
html body .tvcmsfeatured-product .product-miniature .tvproduct-wrapper,
html body .tvcmsnew-product .product-miniature .tvproduct-wrapper,
html body .tvcmsbest-seller-product .product-miniature .tvproduct-wrapper,
html body .tvcmscategoryproduct .product-miniature .tvproduct-wrapper,
html body .tvcmsspecial-product .product-miniature .tvproduct-image,
html body .tvcmsfeatured-product .product-miniature .tvproduct-image,
html body .tvcmsnew-product .product-miniature .tvproduct-image,
html body .tvcmsbest-seller-product .product-miniature .tvproduct-image,
html body .tvcmscategoryproduct .product-miniature .tvproduct-image {
    min-height: 0 !important;
    height: auto !important;
}

/* 2. Image wrapper — minimal padding so image fills card */
html body .tvcmsspecial-product .product-miniature .tvproduct-image,
html body .tvcmsfeatured-product .product-miniature .tvproduct-image,
html body .tvcmsnew-product .product-miniature .tvproduct-image,
html body .tvcmsbest-seller-product .product-miniature .tvproduct-image,
html body .tvcmscategoryproduct .product-miniature .tvproduct-image {
    padding: 4px !important;
    position: relative;
}

/* 3. Image — fill card width, square aspect (matches PRODUITS PAR CATÉGORIE) */
html body .tvcmsspecial-product .product-miniature .tvproduct-image img,
html body .tvcmsfeatured-product .product-miniature .tvproduct-image img,
html body .tvcmsnew-product .product-miniature .tvproduct-image img,
html body .tvcmsbest-seller-product .product-miniature .tvproduct-image img,
html body .tvcmscategoryproduct .product-miniature .tvproduct-image img {
    max-width: 100% !important;
    width: 100% !important;
    max-height: 180px !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
}

/* 4. Hover overlay — absolute over image */
html body .tvcmsspecial-product .tvproduct-hover-btn,
html body .tvcmsfeatured-product .tvproduct-hover-btn,
html body .tvcmsnew-product .tvproduct-hover-btn,
html body .tvcmsbest-seller-product .tvproduct-hover-btn,
html body .tvcmscategoryproduct .tvproduct-hover-btn {
    position: absolute !important;
    bottom: 8px;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    transition: opacity 0.2s ease;
    z-index: 5;
    pointer-events: none;
    margin: 0 !important;
}
html body .tvcmsspecial-product .tvproduct-image:hover .tvproduct-hover-btn,
html body .tvcmsfeatured-product .tvproduct-image:hover .tvproduct-hover-btn,
html body .tvcmsnew-product .tvproduct-image:hover .tvproduct-hover-btn,
html body .tvcmsbest-seller-product .tvproduct-image:hover .tvproduct-hover-btn,
html body .tvcmscategoryproduct .tvproduct-image:hover .tvproduct-hover-btn {
    opacity: 1;
    pointer-events: auto;
}

/* 5. Info block — compact */
html body .tvcmsspecial-product .product-miniature .tvproduct-info-box-wrapper,
html body .tvcmsfeatured-product .product-miniature .tvproduct-info-box-wrapper,
html body .tvcmsnew-product .product-miniature .tvproduct-info-box-wrapper,
html body .tvcmsbest-seller-product .product-miniature .tvproduct-info-box-wrapper,
html body .tvcmscategoryproduct .product-miniature .tvproduct-info-box-wrapper {
    padding: 6px 8px 8px !important;
}

/* ============================================================
 * v6 (2026-05-29): 7-class chain to override all_theme_custom_1_1.css
 * (which uses 6-class selector with width:auto !important).
 * Target the same .tvproduct-wrapper.grid img.tvproduct-defult-img
 * but scoped to slider wrappers.
 * ============================================================ */
html body .tvcmsspecial-product .products .product-miniature .tvproduct-wrapper.grid .tvproduct-image img.tvproduct-defult-img,
html body .tvcmsfeatured-product .products .product-miniature .tvproduct-wrapper.grid .tvproduct-image img.tvproduct-defult-img,
html body .tvcmsnew-product .products .product-miniature .tvproduct-wrapper.grid .tvproduct-image img.tvproduct-defult-img,
html body .tvcmsbest-seller-product .products .product-miniature .tvproduct-wrapper.grid .tvproduct-image img.tvproduct-defult-img,
html body .tvcmscategoryproduct .products .product-miniature .tvproduct-wrapper.grid .tvproduct-image img.tvproduct-defult-img,
html body .tvcmsspecial-product .tvproduct-wrapper-content-box .product-miniature .tvproduct-wrapper.grid .tvproduct-image img.tvproduct-defult-img,
html body .tvcmsfeatured-product .tvproduct-wrapper-content-box .product-miniature .tvproduct-wrapper.grid .tvproduct-image img.tvproduct-defult-img,
html body .tvcmsnew-product .tvproduct-wrapper-content-box .product-miniature .tvproduct-wrapper.grid .tvproduct-image img.tvproduct-defult-img,
html body .tvcmsbest-seller-product .tvproduct-wrapper-content-box .product-miniature .tvproduct-wrapper.grid .tvproduct-image img.tvproduct-defult-img,
html body .tvcmscategoryproduct .tvproduct-wrapper-content-box .product-miniature .tvproduct-wrapper.grid .tvproduct-image img.tvproduct-defult-img {
    width: 100% !important;
    max-width: 100% !important;
    max-height: 180px !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
}

/* ============================================================
 * v7 (2026-05-29 16:40): close the gap in tvcmsfeatured-product slider.
 * Issue: .tvproduct-image was 248px fixed height while img max-height was
 * 180px → 68px vertical gap (top+bottom). Fix: collapse wrapper to image
 * size + raise img max-height to 220 so it fills the visible card area.
 * Selectors use 7-class chain to beat all_theme_custom_1_1.css.
 * ============================================================ */
html body .tvcmsfeatured-product .products .product-miniature .tvproduct-wrapper.grid .tvproduct-image,
html body .tvcmsspecial-product .products .product-miniature .tvproduct-wrapper.grid .tvproduct-image,
html body .tvcmsnew-product .products .product-miniature .tvproduct-wrapper.grid .tvproduct-image,
html body .tvcmsbest-seller-product .products .product-miniature .tvproduct-wrapper.grid .tvproduct-image,
html body .tvcmsfeatured-product .tvproduct-wrapper-content-box .product-miniature .tvproduct-wrapper.grid .tvproduct-image,
html body .tvcmsspecial-product .tvproduct-wrapper-content-box .product-miniature .tvproduct-wrapper.grid .tvproduct-image,
html body .tvcmsnew-product .tvproduct-wrapper-content-box .product-miniature .tvproduct-wrapper.grid .tvproduct-image,
html body .tvcmsbest-seller-product .tvproduct-wrapper-content-box .product-miniature .tvproduct-wrapper.grid .tvproduct-image {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 4px !important;
}

html body .tvcmsfeatured-product .products .product-miniature .tvproduct-wrapper.grid .tvproduct-image > a.thumbnail,
html body .tvcmsspecial-product .products .product-miniature .tvproduct-wrapper.grid .tvproduct-image > a.thumbnail,
html body .tvcmsnew-product .products .product-miniature .tvproduct-wrapper.grid .tvproduct-image > a.thumbnail,
html body .tvcmsbest-seller-product .products .product-miniature .tvproduct-wrapper.grid .tvproduct-image > a.thumbnail,
html body .tvcmsfeatured-product .tvproduct-wrapper-content-box .product-miniature .tvproduct-wrapper.grid .tvproduct-image > a.thumbnail,
html body .tvcmsspecial-product .tvproduct-wrapper-content-box .product-miniature .tvproduct-wrapper.grid .tvproduct-image > a.thumbnail,
html body .tvcmsnew-product .tvproduct-wrapper-content-box .product-miniature .tvproduct-wrapper.grid .tvproduct-image > a.thumbnail,
html body .tvcmsbest-seller-product .tvproduct-wrapper-content-box .product-miniature .tvproduct-wrapper.grid .tvproduct-image > a.thumbnail {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    display: block !important;
}

html body .tvcmsfeatured-product .products .product-miniature .tvproduct-wrapper.grid .tvproduct-image img.tvproduct-defult-img,
html body .tvcmsspecial-product .products .product-miniature .tvproduct-wrapper.grid .tvproduct-image img.tvproduct-defult-img,
html body .tvcmsnew-product .products .product-miniature .tvproduct-wrapper.grid .tvproduct-image img.tvproduct-defult-img,
html body .tvcmsbest-seller-product .products .product-miniature .tvproduct-wrapper.grid .tvproduct-image img.tvproduct-defult-img,
html body .tvcmsfeatured-product .tvproduct-wrapper-content-box .product-miniature .tvproduct-wrapper.grid .tvproduct-image img.tvproduct-defult-img,
html body .tvcmsspecial-product .tvproduct-wrapper-content-box .product-miniature .tvproduct-wrapper.grid .tvproduct-image img.tvproduct-defult-img,
html body .tvcmsnew-product .tvproduct-wrapper-content-box .product-miniature .tvproduct-wrapper.grid .tvproduct-image img.tvproduct-defult-img,
html body .tvcmsbest-seller-product .tvproduct-wrapper-content-box .product-miniature .tvproduct-wrapper.grid .tvproduct-image img.tvproduct-defult-img {
    width: 100% !important;
    max-width: 100% !important;
    max-height: 240px !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
}

/* ============================================================
 * v8 (2026-05-29 16:10): kill the residual 60px gap.
 * smarty-page-fixes.css inside @media (max-width: 1399px) sets
 *   .tvproduct-image { min-height: 285px !important; padding: 26px 18px 18px }
 *   .tvproduct-wrapper.grid { min-height: 390px !important }
 * which makes the wrapper taller than the image. Override inside the
 * SAME media query so it applies on the same viewports.
 * ============================================================ */
@media (max-width: 1399px) {
  html body .tvcmsfeatured-product .tvproduct-wrapper.grid,
  html body .tvcmsspecial-product .tvproduct-wrapper.grid,
  html body .tvcmsnew-product .tvproduct-wrapper.grid,
  html body .tvcmsbest-seller-product .tvproduct-wrapper.grid,
  html body .tvcmscategoryproduct .tvproduct-wrapper.grid {
    min-height: 0 !important;
    height: auto !important;
  }

  html body .tvcmsfeatured-product .tvproduct-wrapper.grid .tvproduct-image,
  html body .tvcmsspecial-product .tvproduct-wrapper.grid .tvproduct-image,
  html body .tvcmsnew-product .tvproduct-wrapper.grid .tvproduct-image,
  html body .tvcmsbest-seller-product .tvproduct-wrapper.grid .tvproduct-image,
  html body .tvcmscategoryproduct .tvproduct-wrapper.grid .tvproduct-image {
    min-height: 0 !important;
    height: auto !important;
    padding: 4px !important;
  }

  html body .tvcmsfeatured-product .tvproduct-wrapper.grid .tvproduct-image > a.thumbnail,
  html body .tvcmsspecial-product .tvproduct-wrapper.grid .tvproduct-image > a.thumbnail,
  html body .tvcmsnew-product .tvproduct-wrapper.grid .tvproduct-image > a.thumbnail,
  html body .tvcmsbest-seller-product .tvproduct-wrapper.grid .tvproduct-image > a.thumbnail,
  html body .tvcmscategoryproduct .tvproduct-wrapper.grid .tvproduct-image > a.thumbnail {
    min-height: 0 !important;
    height: auto !important;
    width: 100% !important;
  }

  html body .tvcmsfeatured-product .tvproduct-wrapper.grid .tvproduct-image img.tvproduct-defult-img,
  html body .tvcmsspecial-product .tvproduct-wrapper.grid .tvproduct-image img.tvproduct-defult-img,
  html body .tvcmsnew-product .tvproduct-wrapper.grid .tvproduct-image img.tvproduct-defult-img,
  html body .tvcmsbest-seller-product .tvproduct-wrapper.grid .tvproduct-image img.tvproduct-defult-img,
  html body .tvcmscategoryproduct .tvproduct-wrapper.grid .tvproduct-image img.tvproduct-defult-img {
    width: 100% !important;
    max-width: 100% !important;
    max-height: 240px !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
  }
}

/* ============================================================
 * v9 (2026-05-29 16:15): hover-btn was rendering position:static with
 * margin-top:16px (52px total) inside .tvproduct-image, forcing wrap to
 * be 290px instead of 238. Override with 6-class chain to beat the
 * smarty-page-fixes.css 4-class selector .products .product-miniature
 * .tvproduct-wrapper.grid .tvproduct-hover-btn { position: static }.
 * ============================================================ */
html body .tvcmsfeatured-product .products .product-miniature .tvproduct-wrapper.grid .tvproduct-hover-btn,
html body .tvcmsspecial-product .products .product-miniature .tvproduct-wrapper.grid .tvproduct-hover-btn,
html body .tvcmsnew-product .products .product-miniature .tvproduct-wrapper.grid .tvproduct-hover-btn,
html body .tvcmsbest-seller-product .products .product-miniature .tvproduct-wrapper.grid .tvproduct-hover-btn,
html body .tvcmsfeatured-product .tvproduct-wrapper-content-box .product-miniature .tvproduct-wrapper.grid .tvproduct-hover-btn,
html body .tvcmsspecial-product .tvproduct-wrapper-content-box .product-miniature .tvproduct-wrapper.grid .tvproduct-hover-btn,
html body .tvcmsnew-product .tvproduct-wrapper-content-box .product-miniature .tvproduct-wrapper.grid .tvproduct-hover-btn,
html body .tvcmsbest-seller-product .tvproduct-wrapper-content-box .product-miniature .tvproduct-wrapper.grid .tvproduct-hover-btn {
    position: absolute !important;
    bottom: 8px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    opacity: 0 !important;
    margin: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.2s ease !important;
    z-index: 5 !important;
}

html body .tvcmsfeatured-product .products .product-miniature .tvproduct-wrapper.grid .tvproduct-image:hover .tvproduct-hover-btn,
html body .tvcmsspecial-product .products .product-miniature .tvproduct-wrapper.grid .tvproduct-image:hover .tvproduct-hover-btn,
html body .tvcmsnew-product .products .product-miniature .tvproduct-wrapper.grid .tvproduct-image:hover .tvproduct-hover-btn,
html body .tvcmsbest-seller-product .products .product-miniature .tvproduct-wrapper.grid .tvproduct-image:hover .tvproduct-hover-btn,
html body .tvcmsfeatured-product .tvproduct-wrapper-content-box .product-miniature .tvproduct-wrapper.grid .tvproduct-image:hover .tvproduct-hover-btn,
html body .tvcmsspecial-product .tvproduct-wrapper-content-box .product-miniature .tvproduct-wrapper.grid .tvproduct-image:hover .tvproduct-hover-btn,
html body .tvcmsnew-product .tvproduct-wrapper-content-box .product-miniature .tvproduct-wrapper.grid .tvproduct-image:hover .tvproduct-hover-btn,
html body .tvcmsbest-seller-product .tvproduct-wrapper-content-box .product-miniature .tvproduct-wrapper.grid .tvproduct-image:hover .tvproduct-hover-btn {
    opacity: 1 !important;
    pointer-events: auto !important;
}

/* ============================================================
 * v10 (2026-05-29 16:25): UNIVERSAL card fix for ALL product pages.
 * Covers category pages, search, brand, new-products, etc. — NOT just
 * home sliders. Selector "html body .products .product-miniature
 * .tvproduct-wrapper.grid ..." = 5 classes + 2 elements (specificity 52)
 * beats smarty-page-fixes.css 5-class no-MQ rule (50) by adding html+body.
 * Same look as PRODUITS PAR CATÉGORIE: image fills wrapper, hover-btn
 * absolute, total card ~335px.
 * ============================================================ */

/* ---- Outside @media (default desktop ≥1400) ---- */
html body .products .product-miniature .tvproduct-wrapper.grid,
html body .tvproduct-wrapper-content-box .product-miniature .tvproduct-wrapper.grid {
    min-height: 0 !important;
    height: auto !important;
}

html body .products .product-miniature .tvproduct-wrapper.grid .tvproduct-image,
html body .tvproduct-wrapper-content-box .product-miniature .tvproduct-wrapper.grid .tvproduct-image {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    padding: 4px !important;
}

html body .products .product-miniature .tvproduct-wrapper.grid .tvproduct-image > a.thumbnail,
html body .tvproduct-wrapper-content-box .product-miniature .tvproduct-wrapper.grid .tvproduct-image > a.thumbnail {
    min-height: 0 !important;
    height: auto !important;
    width: 100% !important;
    display: block !important;
}

html body .products .product-miniature .tvproduct-wrapper.grid .tvproduct-image img.tvproduct-defult-img,
html body .tvproduct-wrapper-content-box .product-miniature .tvproduct-wrapper.grid .tvproduct-image img.tvproduct-defult-img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 240px !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
}

html body .products .product-miniature .tvproduct-wrapper.grid .tvproduct-hover-btn,
html body .tvproduct-wrapper-content-box .product-miniature .tvproduct-wrapper.grid .tvproduct-hover-btn {
    position: absolute !important;
    bottom: 8px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    opacity: 0 !important;
    margin: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.2s ease !important;
    z-index: 5 !important;
}

html body .products .product-miniature .tvproduct-wrapper.grid .tvproduct-image:hover .tvproduct-hover-btn,
html body .tvproduct-wrapper-content-box .product-miniature .tvproduct-wrapper.grid .tvproduct-image:hover .tvproduct-hover-btn {
    opacity: 1 !important;
    pointer-events: auto !important;
}

/* ---- Inside @media (max-width: 1399px) — explicit override ---- */
@media (max-width: 1399px) {
  html body .products .product-miniature .tvproduct-wrapper.grid,
  html body .tvproduct-wrapper-content-box .product-miniature .tvproduct-wrapper.grid {
      min-height: 0 !important;
      height: auto !important;
      display: block !important;
  }

  html body .products .product-miniature .tvproduct-wrapper.grid .tvproduct-image,
  html body .tvproduct-wrapper-content-box .product-miniature .tvproduct-wrapper.grid .tvproduct-image {
      min-height: 0 !important;
      height: auto !important;
      padding: 4px !important;
  }

  html body .products .product-miniature .tvproduct-wrapper.grid .tvproduct-image img.tvproduct-defult-img,
  html body .tvproduct-wrapper-content-box .product-miniature .tvproduct-wrapper.grid .tvproduct-image img.tvproduct-defult-img {
      width: 100% !important;
      max-width: 100% !important;
      height: auto !important;
      max-height: 240px !important;
      aspect-ratio: 1 / 1 !important;
      object-fit: contain !important;
      margin: 0 auto !important;
  }

  html body .products .product-miniature .tvproduct-wrapper.grid .tvproduct-hover-btn,
  html body .tvproduct-wrapper-content-box .product-miniature .tvproduct-wrapper.grid .tvproduct-hover-btn {
      position: absolute !important;
      bottom: 8px !important;
      left: 50% !important;
      transform: translateX(-50%) !important;
      opacity: 0 !important;
      margin: 0 !important;
      pointer-events: none !important;
  }
}
