/* Only advertising and small category fallbacks: Elementor owns all card/grid styling. */
:is(.elementor-widget-posts, .elementor-widget-archive-posts) .bm-epl-ad {
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  padding: 12px;
  align-self: stretch;
  justify-self: stretch;
  text-align: center;
  overflow: hidden;
}
:is(.elementor-widget-posts, .elementor-widget-archive-posts) .bm-epl-ad--full { grid-column: 1 / -1; }
:is(.elementor-widget-posts, .elementor-widget-archive-posts) .bm-epl-ad__label {
  display: block;
  font-size: 11px;
  line-height: 1.5;
  color: #666;
  letter-spacing: .055em;
  text-transform: uppercase;
  margin-bottom: 8px;
}
:is(.elementor-widget-posts, .elementor-widget-archive-posts) .bm-epl-ad__body {
  width: var(--bm-epl-ad-width, 100%);
  max-width: 100%;
  min-height: var(--bm-epl-ad-height, 0px);
  margin-inline: auto;
}
/* Reserve a modest responsive AdSense placeholder; banners keep their own dimensions. */
:is(.elementor-widget-posts, .elementor-widget-archive-posts) .bm-epl-ad--adsense .bm-epl-ad__body {
  min-height: var(--bm-epl-ad-height, 250px);
}
:is(.elementor-widget-posts, .elementor-widget-archive-posts) .bm-epl-ad__body ins.adsbygoogle { max-width: 100%; }
:is(.elementor-widget-posts, .elementor-widget-archive-posts) .bm-epl-term-card .elementor-post__excerpt p { margin-bottom: 0; }
/* Affiliate banners: isolated from Elementor card/image defaults. */
:is(.elementor-widget-posts, .elementor-widget-archive-posts) .bm-epl-ad--banner .bm-epl-banner__link {
  display: block;
  max-width: 100%;
  text-decoration: none;
}
:is(.elementor-widget-posts, .elementor-widget-archive-posts) .bm-epl-ad--banner .bm-epl-banner__image {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: var(--bm-epl-ad-height, none);
  object-fit: contain;
  margin-inline: auto;
}

/* v1.3.9: house banner is shown only after data-ad-status=unfilled. */
:is(.elementor-widget-posts, .elementor-widget-archive-posts) .bm-epl-ad--unfilled .bm-epl-ad__body {
  width: 100%; min-height: 0;
}
:is(.elementor-widget-posts, .elementor-widget-archive-posts) .bm-epl-ad--unfilled ins.adsbygoogle {
  display: none !important;
}
:is(.elementor-widget-posts, .elementor-widget-archive-posts) .bm-epl-ad__fallback {
  display: block; width: 100%; max-width: 100%; text-decoration: none;
}
:is(.elementor-widget-posts, .elementor-widget-archive-posts) .bm-epl-ad__fallback-image {
  display: block; width: 100%; height: auto; max-width: 100%; margin-inline: auto; object-fit: contain;
}


/* v1.3.10 — Archive Posts Classic with a horizontal thumbnail.
 * Some Elementor themes/custom responsive rules keep the image at 100% width
 * beside the text, leaving the text squeezed out of view on phones.
 * Switch only non-event Archive Posts to a vertical card at the standard
 * Elementor mobile breakpoint; keep Posts, event cards, Cards skins and ads
 * under their own existing responsive behavior.
 * Supports Elementor's thumbnail-position class on the widget or on an
 * inner posts container/wrapper. */
@media (max-width: 767px) {
  :is(
    .elementor-widget-archive-posts.elementor-posts--thumbnail-left,
    .elementor-widget-archive-posts.elementor-posts--thumbnail-right,
    .elementor-widget-archive-posts .elementor-posts--thumbnail-left,
    .elementor-widget-archive-posts .elementor-posts--thumbnail-right
  ) .elementor-post:not(.bm-eve-event) {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    min-width: 0;
  }

  :is(
    .elementor-widget-archive-posts.elementor-posts--thumbnail-left,
    .elementor-widget-archive-posts.elementor-posts--thumbnail-right,
    .elementor-widget-archive-posts .elementor-posts--thumbnail-left,
    .elementor-widget-archive-posts .elementor-posts--thumbnail-right
  ) .elementor-post:not(.bm-eve-event) > .elementor-post__thumbnail__link {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    margin: 0 0 12px !important;
  }

  :is(
    .elementor-widget-archive-posts.elementor-posts--thumbnail-left,
    .elementor-widget-archive-posts.elementor-posts--thumbnail-right,
    .elementor-widget-archive-posts .elementor-posts--thumbnail-left,
    .elementor-widget-archive-posts .elementor-posts--thumbnail-right
  ) .elementor-post:not(.bm-eve-event) > .elementor-post__text {
    display: flex !important;
    flex-direction: column;
    align-self: stretch !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}
