/**
 * Little Bee — scale & crop images project-wide.
 * object-fit: cover fills the frame; overflow clips excess.
 * Logos / icons / payment marks stay contain (see exclusions).
 */
:root {
  --lb-img-ratio-product: 1 / 1;
  --lb-img-ratio-banner: 16 / 9;
  --lb-img-thumb: 54px;
}

/* ---------- Generic fill helpers ---------- */
.lb-img-cover,
img.lb-img-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* ---------- Product cards (all themes) ---------- */
.product-thumb .image,
.product-layout .product-thumb .image {
  position: relative;
  aspect-ratio: var(--lb-img-ratio-product);
  overflow: hidden;
  padding: 0 !important;
  background: #f5f5f5;
}
.product-thumb .image a {
  display: block;
  width: 100%;
  height: 100%;
}
.product-thumb .image img,
.product-layout .product-thumb .image img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center;
  margin: 0 !important;
}

/* Oldskool product cards */
.lb-theme-oldskool .card-img > a,
.lb-theme-oldskool .card-img .position-relative.overflow-hidden.d-block {
  display: block;
  aspect-ratio: var(--lb-img-ratio-product);
  overflow: hidden;
  background: #f3f5f6;
}
.lb-theme-oldskool .card-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center;
}

/* Multishop product cards */
.lb-theme-multishop .product-img {
  aspect-ratio: var(--lb-img-ratio-product);
  overflow: hidden;
  background: #f5f5f5;
}
.lb-theme-multishop .product-img > a {
  display: block;
  width: 100%;
  height: 100%;
}
.lb-theme-multishop .product-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center;
}

/* Ludus aspect frames — fill without stretch */
.aspect__img,
.lb-theme-ludus .aspect__img,
.product-m .aspect__img,
.product-short__img,
.i3-banner__img {
  object-fit: cover !important;
  object-position: center;
}

/* ---------- Category / listing thumbs ---------- */
.lb-theme-oldskool .img-clip-shape-one img,
.lb-theme-oldskool .lb-oldskool-banner img,
.lb-theme-oldskool .dropdown-megamenu picture img,
.lb-theme-oldskool .dropdown-megamenu .card img {
  width: 100%;
  height: 100%;
  object-fit: cover !important;
  object-position: center;
}
.lb-theme-oldskool .dropdown-megamenu .card picture,
.lb-theme-oldskool .dropdown-megamenu .card .w-100.d-block {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

.lb-theme-multishop .cat-item {
  overflow: hidden;
}
.lb-theme-multishop .cat-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center;
}

/* Category header / thumb strips */
#content .thumbnails img,
.thumbnails img,
.image-additional img,
.image-additional a img {
  object-fit: cover !important;
  object-position: center;
}

/* ---------- Banners / heroes / carousels ---------- */
.lb-home-hero .carousel-item,
.lb-home-hero .carousel-item > a,
.lb-theme-multishop #header-carousel .carousel-item,
.lb-theme-multishop .product-offer {
  overflow: hidden;
}
.lb-home-hero img,
.lb-theme-multishop #header-carousel img,
.lb-theme-multishop .product-offer img,
.lb-theme-oldskool .swiper-slide img,
.lb-theme-oldskool [class*="banner"] img:not(.lb-store-logo):not([src*=".svg"]) {
  object-fit: cover !important;
  object-position: center;
}
.lb-theme-multishop #header-carousel img {
  width: 100%;
  height: 100%;
}

/* ---------- Cart / checkout / compare / wishlist thumbs ---------- */
#cart img,
.cart-dropdown img,
.lb-oldskool-cart img,
.lb-multishop-cart img,
.table-responsive img.img-thumbnail,
.table img.img-thumbnail,
.compare-info img,
#compare img,
#wishlist img,
.checkout-cart img,
#checkout-cart img,
.quickcheckout img {
  object-fit: cover !important;
  object-position: center;
}

/* Fixed-size cart thumbs */
.lb-theme-multishop #cart img,
.lb-theme-multishop .cart-dropdown img {
  width: var(--lb-img-thumb) !important;
  height: var(--lb-img-thumb) !important;
  object-fit: cover !important;
}
.lb-theme-oldskool #cart .cart-dropdown .col-2 picture,
.lb-theme-oldskool #cart .cart-dropdown .col-2 {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
.lb-theme-oldskool #cart .cart-dropdown .col-2 img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.lb-theme-ludus #cart img,
.lb-theme-ludus .mini-product-card img,
.lb-theme-ludus .checkout-cart img {
  width: var(--lb-img-thumb);
  height: var(--lb-img-thumb);
  object-fit: cover !important;
}

/* Checkout table thumbs */
.checkout-cart .table img,
#checkout-cart .table img,
.table.table-bordered img[src*="cache"],
.table img.img-thumbnail {
  width: var(--lb-img-thumb) !important;
  height: var(--lb-img-thumb) !important;
  max-width: none !important;
  object-fit: cover !important;
}

/* Search autocomplete thumbs (if present) */
.lb-search-item__img,
.lb-search-item img {
  object-fit: cover !important;
  object-position: center;
}

/* ---------- Product detail gallery ---------- */
.lb-theme-oldskool #product .thumbnails img,
.lb-theme-oldskool #product .image img,
.lb-theme-oldskool .product-images img,
.lb-theme-ludus .pd-detail__img img,
.lb-theme-ludus .pd-detail img.u-img-fluid,
.lb-theme-ludus .pd-detail .aspect__img,
.lb-theme-multishop #product-carousel img,
.lb-theme-multishop .product-carousel img {
  width: 100%;
  height: 100%;
  object-fit: cover !important;
  object-position: center;
}
.lb-theme-multishop #product-carousel .carousel-item,
.lb-theme-multishop #product-carousel .carousel-item a {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #f5f5f5;
}

/* Related / featured module grids falling back to classic markup */
.product-grid img.img-responsive,
.product-list img.img-responsive,
.product-grid img.img-fluid,
.related-product img,
.featured img.img-responsive {
  width: 100%;
  height: 100%;
  object-fit: cover !important;
  object-position: center;
}

/* ---------- Explicit exclusions (do not crop) ---------- */
.lb-store-logo,
.navbar-brand img,
.footer img[src*="payment"],
.footer img[src*="paypal"],
img[src$=".svg"],
.lb-oldskool-mega-brands img,
.brand-logo img,
.manufacturer-logo img,
.social img,
.payment img {
  object-fit: contain !important;
  height: auto;
}
