/* Independent slots: never alter the product slider's layout or image sizes. */
.iem-bm-slot.iem-bm-ready {
  display: block;
  clear: both;
  position: relative;
  float: none;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 18px 0 14px;
  padding: 0;
  box-sizing: border-box;
  overflow-x: clip;
}
.iem-bm-slot.iem-bm-position-above.iem-bm-ready { margin: 0 0 18px; }
.iem-bm-slot.iem-bm-position-below.iem-bm-ready { margin: 18px 0 8px; }
.iem-bm-slot .iem-bm-content {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  overflow-wrap: anywhere;
}
.iem-bm-slot .iem-bm-content img,
.iem-bm-slot .iem-bm-content video,
.iem-bm-slot .iem-bm-content iframe { max-width: 100%; }
.iem-bm-slot .iem-bm-content img { height: auto; }
.iem-bm-slot .iem-bm-label {
  margin: 0 0 5px;
  font: 11px/1.35 Arial, sans-serif;
  color: #797979;
  text-align: right;
}
.iem-bm-slot .iem-bm-mobile { display: none; }
.iem-bm-slot.iem-bm-only-mobile.iem-bm-ready { display: none; }
@media (max-width: 767px) {
  .iem-bm-slot.iem-bm-position-above.iem-bm-ready { margin-bottom: 12px; }
  .iem-bm-slot.iem-bm-position-below.iem-bm-ready { margin-top: 12px; }
  .iem-bm-slot .iem-bm-desktop { display: none; }
  .iem-bm-slot .iem-bm-mobile { display: block; }
  .iem-bm-slot.iem-bm-only-desktop.iem-bm-ready { display: none; }
  .iem-bm-slot.iem-bm-only-mobile.iem-bm-ready { display: block; }
}

/* Cache-safe rotation: exactly one chosen banner per visible device group. */
.iem-bm-slot .iem-bm-rotation-item[hidden] { display: none !important; }
.iem-bm-slot .iem-bm-rotation-item { width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box; overflow-wrap: anywhere; }
.iem-bm-slot .iem-bm-rotation-group.iem-bm-mobile { display: none; }
@media (max-width: 767px) {
  .iem-bm-slot .iem-bm-rotation-group.iem-bm-desktop { display: none; }
  .iem-bm-slot .iem-bm-rotation-group.iem-bm-mobile { display: block; }
}

/* 1.4.1 – Position 4 is only activated after a verified tabs container. */
.iem-bm-slot.iem-bm-position-tabs.iem-bm-ready {
  clear: both;
  float: none;
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 18px 0;
}

/* v1.4.2: tabs ad becomes visible only AFTER validated tabs, outside float columns. */
.iem-bm-extra-slot.iem-bm-position-tabs:not(.iem-bm-ready) { display: none !important; }
.iem-bm-slot.iem-bm-position-tabs.iem-bm-ready {
  display: block; clear: both !important; float: none !important;
  position: relative; box-sizing: border-box; width: 100% !important;
  max-width: 100%; min-width: 0; height: auto;
  margin: 20px 0 !important; padding: 0;
}
