/* Final image direction fixes: clean frames, no grey/beige mats, no crushed visuals. */

/* All main media frames: white, clean, no grey product mat. */
.article-thumb,
.article-card .article-thumb,
.article-grid .article-thumb,
.archive-card-media,
.card-product-media,
.main-featured-media,
.single-hero-media,
.category-hero-media,
.cat-hero-art-frame,
.featured-grid--product-focus .main-featured-media,
.featured-grid--product-focus .card-product-media,
.cb-swhelm-product__media,
.cb-guide .cb-card-media,
.cb-guide .cb-product-media,
.cb-guide .cb-retro-item,
.cb-guide .cb-retro-item img,
.cb-guide .cb-minas-mini a,
.cb-guide .cb-minas-mini img,
.cb-guide .cb-product-media a,
.cb-guide .cb-card-media a {
  background: #fff !important;
  background-color: #fff !important;
}

.article-thumb::before,
.archive-card-media::before,
.card-product-media::before,
.main-featured-media::before,
.single-hero-media::before,
.category-hero-media::before,
.cat-hero-art-frame::before,
.featured-grid--product-focus .main-featured-media::before,
.featured-grid--product-focus .card-product-media::before,
.cb-swhelm-product__media::before,
.cb-guide .cb-card-media::before,
.cb-guide .cb-product-media::before,
.cb-guide .cb-retro-item::before,
.cb-guide .cb-minas-mini a::before {
  display: none !important;
}

/* Base rule: fill media box without distortion. */
.article-thumb img,
.article-card .article-thumb img,
.article-grid .article-thumb img,
.archive-card-media img,
.main-featured-media img,
.card-product-media img,
.single-hero-media img,
.category-hero-media img,
.cat-hero-art-frame img,
.featured-grid--product-focus .main-featured-media img,
.featured-grid--product-focus .card-product-media img,
.cb-swhelm-product__media img,
.cb-guide .cb-card-media img,
.cb-guide .cb-product-media img,
.cb-guide .cb-retro-item img,
.cb-guide .cb-minas-mini img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  background: #fff !important;
  background-color: #fff !important;
  filter: none !important;
  padding: 0 !important;
}

/* Editorial/photo visuals fill the card. */
.article-thumb,
.article-card .article-thumb,
.article-grid .article-thumb,
.archive-card-media {
  aspect-ratio: 16 / 10 !important;
  min-height: 0 !important;
}

.article-thumb img,
.article-card .article-thumb img,
.article-grid .article-thumb img,
.archive-card-media img,
.category-hero-media img,
.cat-hero-art-frame img {
  object-fit: cover !important;
  object-position: center center !important;
}

/* Hub/article hero: make the media card tall enough before scaling the product inside. */
.single-hero-inner.has-media {
  align-items: center !important;
  grid-template-columns: minmax(0, 1fr) minmax(500px, .92fr) !important;
  gap: clamp(42px, 5vw, 76px) !important;
}

.single-hero-media {
  aspect-ratio: auto !important;
  height: clamp(380px, 34vw, 560px) !important;
  min-height: 380px !important;
  padding: 0 !important;
  border: 1px solid rgba(12, 15, 19, .08) !important;
  box-shadow: 0 28px 72px rgba(12, 15, 19, .14) !important;
  border-radius: 34px !important;
}

.single-hero-media img {
  border-radius: 32px !important;
  object-fit: cover !important;
  object-position: center center !important;
}

/* External product renders often have huge internal white margins. Scale them up in hero only. */
.single-hero-media img[src*="m.media-amazon.com"],
.single-hero-media img[src*="images.brickset.com"],
.single-hero-media img[src*="shopping.rakuten.com"],
.single-hero-media img[src*="lego.com"] {
  object-fit: contain !important;
  object-position: center center !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

/* LOTR hub: Fondcombe product render needs stronger scale and a taller hero to avoid the tiny-box effect. */
body.single-post .single-article:has(.entry-title) .single-hero-media:has(img[src*="818iakf2NSL"]),
body.single .single-article:has(.entry-title) .single-hero-media:has(img[src*="818iakf2NSL"]) {
  height: clamp(440px, 38vw, 620px) !important;
  min-height: 440px !important;
}

body.single-post .single-article:has(.entry-title) .single-hero-media img[src*="818iakf2NSL"],
body.single .single-article:has(.entry-title) .single-hero-media img[src*="818iakf2NSL"] {
  width: 150% !important;
  height: 150% !important;
  margin: -25% !important;
}

/* Product renders and marketplace images: contain to avoid cutting boxes/sets, but no grey/beige mat. */
.article-thumb img[src*="m.media-amazon.com"],
.article-thumb img[src*="images.brickset.com"],
.article-thumb img[src*="shopping.rakuten.com"],
.article-thumb img[src*="lego.com"],
.archive-card-media img[src*="m.media-amazon.com"],
.archive-card-media img[src*="images.brickset.com"],
.archive-card-media img[src*="shopping.rakuten.com"],
.archive-card-media img[src*="lego.com"],
.featured-grid--product-focus .main-featured-media img,
.featured-grid--product-focus .card-product-media img,
.cb-swhelm-product__media img,
.cb-guide .cb-card-media img,
.cb-guide .cb-product-media img,
.cb-guide .cb-retro-item img,
.cb-guide .cb-minas-mini img {
  object-fit: contain !important;
  object-position: center center !important;
  padding: 8px !important;
}

/* Internal guide product card media: white panel, tighter product, no beige strip. */
.cb-guide .cb-retro-item img {
  aspect-ratio: 16 / 10 !important;
  height: auto !important;
  min-height: 220px !important;
  object-fit: contain !important;
  padding: 10px !important;
  border-radius: 0 !important;
  border-bottom: 1px solid rgba(12, 15, 19, .08) !important;
}

.cb-guide .cb-retro-body,
.cb-guide .cb-card-body,
.cb-guide .cb-product-body {
  background: #fff !important;
}

.cb-guide .cb-retro,
.cb-guide .cb-panel,
.cb-guide .cb-card,
.cb-guide .cb-product {
  background: #fff !important;
}

/* Bigger homepage product slots: less empty frame, still no crop. */
.featured-grid--product-focus .main-featured-media,
.main-featured-media {
  aspect-ratio: 16 / 10 !important;
}

.featured-grid--product-focus .card-product-media,
.card-product-media {
  aspect-ratio: 16 / 8.4 !important;
}

.featured-grid--product-focus .main-featured-media img {
  padding: 10px !important;
}

.featured-grid--product-focus .card-product-media img {
  padding: 8px !important;
}

/* Category / archive cards: tighter, more magazine-like. */
.archive-card,
.article-card,
.cat-card {
  overflow: hidden !important;
}

.category-hero--plain {
  background: linear-gradient(180deg, #f8f5ee 0%, #efe8dc 100%) !important;
}

.cat-header-shell {
  border-radius: 34px !important;
}

/* Remove hover zoom on product renders. */
.featured-grid--product-focus .main-featured:hover img,
.featured-grid--product-focus .card:hover img,
.article-card:hover .article-thumb img[src*="m.media-amazon.com"],
.article-card:hover .article-thumb img[src*="images.brickset.com"],
.archive-card:hover .archive-card-media img[src*="m.media-amazon.com"],
.archive-card:hover .archive-card-media img[src*="images.brickset.com"],
.single-hero-media:hover img[src*="m.media-amazon.com"],
.single-hero-media:hover img[src*="images.brickset.com"] {
  transform: none !important;
}

/* Keep a slight premium motion only on real editorial photos. */
.article-card img,
.archive-card-media img,
.main-featured img,
.cat-card img {
  transition: transform .24s ease, filter .24s ease;
}

.article-card:hover img,
.archive-card:hover img,
.main-featured:hover img,
.cat-card:hover img {
  transform: scale(1.01);
}

@media (max-width: 980px) {
  .single-hero-inner.has-media {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .article-thumb,
  .article-card .article-thumb,
  .article-grid .article-thumb,
  .archive-card-media,
  .featured-grid--product-focus .main-featured-media,
  .featured-grid--product-focus .card-product-media,
  .main-featured-media,
  .card-product-media,
  .single-hero-media {
    aspect-ratio: 16 / 9 !important;
  }

  .single-hero-media {
    height: auto !important;
    min-height: 0 !important;
  }

  .article-thumb img[src*="m.media-amazon.com"],
  .article-thumb img[src*="images.brickset.com"],
  .archive-card-media img[src*="m.media-amazon.com"],
  .archive-card-media img[src*="images.brickset.com"],
  .featured-grid--product-focus .main-featured-media img,
  .featured-grid--product-focus .card-product-media img {
    padding: 6px !important;
  }

  .single-hero-media img[src*="m.media-amazon.com"],
  .single-hero-media img[src*="images.brickset.com"],
  .single-hero-media img[src*="shopping.rakuten.com"],
  .single-hero-media img[src*="lego.com"] {
    width: 130% !important;
    height: 130% !important;
    margin: -15% !important;
  }

  .cb-guide .cb-retro-item img {
    min-height: 180px !important;
  }
}
