.icbm-mosaic,
.icbm-mosaic * {
  box-sizing: border-box;
}

.icbm-mosaic {
  width: 100%;
  display: flex;
  --icbm-current-gap: var(--icbm-gap-desktop, 24px);
}

.icbm-align-left { justify-content: flex-start; }
.icbm-align-center { justify-content: center; }
.icbm-align-right { justify-content: flex-end; }

.icbm-inner {
  width: 100%;
  max-width: var(--icbm-max-width, 1280px);
  margin-left: auto;
  margin-right: auto;
}

.icbm-align-left .icbm-inner { margin-left: 0; margin-right: auto; }
.icbm-align-center .icbm-inner { margin-left: auto; margin-right: auto; }
.icbm-align-right .icbm-inner { margin-left: auto; margin-right: 0; }

.icbm-items,
.icbm-row {
  min-width: 0;
}

.icbm-row,
.icbm-item {
  margin: 0;
  padding: 0;
}

.icbm-item {
  overflow: hidden;
  border-radius: var(--icbm-radius, 28px);
  opacity: var(--icbm-opacity, 1);
  transform: translateZ(0);
}

.icbm-has-shadow .icbm-item {
  box-shadow: 0 18px 45px rgba(0, 0, 0, .12);
}

.icbm-link {
  display: block;
  width: 100%;
  text-decoration: none;
  color: inherit;
  overflow: hidden;
  border-radius: inherit;
}

.icbm-item img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto !important;
  object-fit: contain;
  border: 0;
  border-radius: inherit;
  transition: transform var(--icbm-duration, 280ms) ease, filter var(--icbm-duration, 280ms) ease, opacity var(--icbm-duration, 280ms) ease;
  transform-origin: center center;
}

.icbm-is-grayscale .icbm-item img {
  filter: grayscale(1);
}

.icbm-hover-zoom .icbm-item:hover img { transform: scale(1.045); }
.icbm-hover-lift .icbm-item { transition: transform var(--icbm-duration, 280ms) ease, box-shadow var(--icbm-duration, 280ms) ease; }
.icbm-hover-lift .icbm-item:hover { transform: translateY(-6px); }
.icbm-hover-shrink .icbm-item:hover img { transform: scale(.97); }
.icbm-hover-slide-up .icbm-item:hover img { transform: translateY(-8px); }
.icbm-hover-none .icbm-item,
.icbm-hover-none .icbm-item img { transition: none; }

/* Masonry Columns = each admin row becomes one column. This preserves row grouping and avoids image distortion. */
.icbm-mosaic[data-layout-desktop="masonry"] .icbm-items {
  display: grid;
  grid-template-columns: repeat(var(--icbm-active-cols-desktop, var(--icbm-cols-desktop, 5)), minmax(0, 1fr));
  gap: var(--icbm-gap-desktop, 24px);
  align-items: start;
  width: var(--icbm-effective-width-desktop, 100%);
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.icbm-mosaic[data-layout-desktop="masonry"].icbm-v-align-top .icbm-items { align-items: start; }
.icbm-mosaic[data-layout-desktop="masonry"].icbm-v-align-middle .icbm-items { align-items: center; }
.icbm-mosaic[data-layout-desktop="masonry"].icbm-v-align-bottom .icbm-items { align-items: end; }
.icbm-mosaic[data-layout-desktop="masonry"] .icbm-row {
  display: flex;
  flex-direction: column;
  gap: var(--icbm-gap-desktop, 24px);
  min-width: 0;
}
.icbm-mosaic[data-layout-desktop="masonry"] .icbm-item {
  width: 100%;
  margin: 0;
}

/* Equal Grid = all images flatten into equal columns. */
.icbm-mosaic[data-layout-desktop="grid"] .icbm-items {
  display: grid;
  grid-template-columns: repeat(var(--icbm-active-cols-desktop, var(--icbm-cols-desktop, 5)), minmax(0, 1fr));
  gap: var(--icbm-gap-desktop, 24px);
  align-items: start;
  width: var(--icbm-effective-width-desktop, 100%);
  max-width: 100%;
}
.icbm-mosaic[data-layout-desktop="grid"].icbm-v-align-top .icbm-items { align-items: start; }
.icbm-mosaic[data-layout-desktop="grid"].icbm-v-align-middle .icbm-items { align-items: center; }
.icbm-mosaic[data-layout-desktop="grid"].icbm-v-align-bottom .icbm-items { align-items: end; }
.icbm-mosaic[data-layout-desktop="grid"] .icbm-row { display: contents; }
.icbm-mosaic[data-layout-desktop="grid"] .icbm-item { width: 100%; margin: 0; }

/* Manual Rows = each admin row is a horizontal row. */
.icbm-mosaic[data-layout-desktop="manual"] .icbm-items {
  display: flex;
  flex-direction: column;
  gap: var(--icbm-gap-desktop, 24px);
  width: 100%;
}
.icbm-mosaic[data-layout-desktop="manual"] .icbm-row {
  display: flex;
  gap: var(--icbm-gap-desktop, 24px);
  justify-content: center;
  align-items: flex-start;
}
.icbm-mosaic[data-layout-desktop="manual"].icbm-v-align-top .icbm-row { align-items: flex-start; }
.icbm-mosaic[data-layout-desktop="manual"].icbm-v-align-middle .icbm-row { align-items: center; }
.icbm-mosaic[data-layout-desktop="manual"].icbm-v-align-bottom .icbm-row { align-items: flex-end; }
.icbm-mosaic[data-layout-desktop="manual"] .icbm-item {
  flex: 1 1 0;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.icbm-display-fixed_card .icbm-item {
  max-width: var(--icbm-fixed-card, 320px);
}
.icbm-display-fixed_card[data-layout-desktop="masonry"] .icbm-items,
.icbm-display-fixed_card[data-layout-desktop="grid"] .icbm-items {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(var(--icbm-fixed-card, 320px), 100%), var(--icbm-fixed-card, 320px)));
  gap: var(--icbm-gap-desktop, 24px);
  justify-content: center;
  width: auto;
}
.icbm-display-fixed_card[data-layout-desktop="masonry"] .icbm-row,
.icbm-display-fixed_card[data-layout-desktop="grid"] .icbm-row { display: contents; }
.icbm-display-fixed_card[data-layout-desktop="masonry"] .icbm-item,
.icbm-display-fixed_card[data-layout-desktop="grid"] .icbm-item { width: var(--icbm-fixed-card, 320px); margin: 0; }


/* Optional column stagger for TCEB-style diagonal mosaic positioning. */
.icbm-mosaic[data-layout-desktop="masonry"] .icbm-row,
.icbm-mosaic[data-layout-tablet="masonry"] .icbm-row,
.icbm-mosaic[data-layout-mobile="masonry"] .icbm-row {
  --icbm-stagger-step: calc(var(--icbm-current-gap, 24px) * .9);
}
.icbm-mosaic[data-layout-desktop="masonry"].icbm-stagger-none .icbm-row { padding-top: 0; }
.icbm-mosaic[data-layout-desktop="masonry"].icbm-stagger-left_low_right_high .icbm-row:nth-child(1) { padding-top: calc(var(--icbm-stagger-step) * 4); }
.icbm-mosaic[data-layout-desktop="masonry"].icbm-stagger-left_low_right_high .icbm-row:nth-child(2) { padding-top: calc(var(--icbm-stagger-step) * 3); }
.icbm-mosaic[data-layout-desktop="masonry"].icbm-stagger-left_low_right_high .icbm-row:nth-child(3) { padding-top: calc(var(--icbm-stagger-step) * 2); }
.icbm-mosaic[data-layout-desktop="masonry"].icbm-stagger-left_low_right_high .icbm-row:nth-child(4) { padding-top: var(--icbm-stagger-step); }
.icbm-mosaic[data-layout-desktop="masonry"].icbm-stagger-left_low_right_high .icbm-row:nth-child(n+5) { padding-top: 0; }
.icbm-mosaic[data-layout-desktop="masonry"].icbm-stagger-left_high_right_low .icbm-row:nth-child(1) { padding-top: 0; }
.icbm-mosaic[data-layout-desktop="masonry"].icbm-stagger-left_high_right_low .icbm-row:nth-child(2) { padding-top: var(--icbm-stagger-step); }
.icbm-mosaic[data-layout-desktop="masonry"].icbm-stagger-left_high_right_low .icbm-row:nth-child(3) { padding-top: calc(var(--icbm-stagger-step) * 2); }
.icbm-mosaic[data-layout-desktop="masonry"].icbm-stagger-left_high_right_low .icbm-row:nth-child(4) { padding-top: calc(var(--icbm-stagger-step) * 3); }
.icbm-mosaic[data-layout-desktop="masonry"].icbm-stagger-left_high_right_low .icbm-row:nth-child(n+5) { padding-top: calc(var(--icbm-stagger-step) * 4); }
.icbm-mosaic[data-layout-desktop="masonry"].icbm-stagger-alternate .icbm-row:nth-child(odd) { padding-top: 0; }
.icbm-mosaic[data-layout-desktop="masonry"].icbm-stagger-alternate .icbm-row:nth-child(even) { padding-top: calc(var(--icbm-stagger-step) * 1.5); }

.icbm-button-wrap {
  margin-top: calc(var(--icbm-gap-desktop, 24px) * .4);
  display: flex;
  position: relative;
  z-index: 5;
  pointer-events: auto;
}
.icbm-button-align-left { justify-content: flex-start; }
.icbm-button-align-center { justify-content: center; }
.icbm-button-align-right { justify-content: flex-end; }
.icbm-button {
  display: inline-flex;
  position: relative;
  z-index: 6;
  pointer-events: auto;
  align-items: center;
  gap: 12px;
  color: var(--icbm-button-color, #666);
  font-size: var(--icbm-button-font-size, 18px);
  font-weight: var(--icbm-button-font-weight, 400);
  letter-spacing: var(--icbm-button-letter-spacing, 0);
  line-height: var(--icbm-button-line-height, 1.2);
  text-decoration: none;
  border-bottom: 1px solid var(--icbm-button-line-color, #777);
  padding: 8px 22px 10px 8px;
  transition: color .2s ease, border-color .2s ease, transform .2s ease;
}
.icbm-button:hover {
  color: var(--icbm-button-hover-color, #222);
  border-color: var(--icbm-button-hover-color, #222);
  transform: translateX(2px);
}
.icbm-button-icon { font-size: 24px; line-height: 1; }

a.icbm-button { cursor: pointer; }
span.icbm-button { cursor: default; }

@media (max-width: 1024px) {
  .icbm-mosaic { --icbm-current-gap: var(--icbm-gap-tablet, 20px); }

  .icbm-mosaic[data-layout-tablet="masonry"].icbm-stagger-none .icbm-row { padding-top: 0; }
  .icbm-mosaic[data-layout-tablet="masonry"].icbm-stagger-left_low_right_high .icbm-row:nth-child(1) { padding-top: calc(var(--icbm-stagger-step) * 4); }
  .icbm-mosaic[data-layout-tablet="masonry"].icbm-stagger-left_low_right_high .icbm-row:nth-child(2) { padding-top: calc(var(--icbm-stagger-step) * 3); }
  .icbm-mosaic[data-layout-tablet="masonry"].icbm-stagger-left_low_right_high .icbm-row:nth-child(3) { padding-top: calc(var(--icbm-stagger-step) * 2); }
  .icbm-mosaic[data-layout-tablet="masonry"].icbm-stagger-left_low_right_high .icbm-row:nth-child(4) { padding-top: var(--icbm-stagger-step); }
  .icbm-mosaic[data-layout-tablet="masonry"].icbm-stagger-left_low_right_high .icbm-row:nth-child(n+5) { padding-top: 0; }
  .icbm-mosaic[data-layout-tablet="masonry"].icbm-stagger-left_high_right_low .icbm-row:nth-child(1) { padding-top: 0; }
  .icbm-mosaic[data-layout-tablet="masonry"].icbm-stagger-left_high_right_low .icbm-row:nth-child(2) { padding-top: var(--icbm-stagger-step); }
  .icbm-mosaic[data-layout-tablet="masonry"].icbm-stagger-left_high_right_low .icbm-row:nth-child(3) { padding-top: calc(var(--icbm-stagger-step) * 2); }
  .icbm-mosaic[data-layout-tablet="masonry"].icbm-stagger-left_high_right_low .icbm-row:nth-child(4) { padding-top: calc(var(--icbm-stagger-step) * 3); }
  .icbm-mosaic[data-layout-tablet="masonry"].icbm-stagger-left_high_right_low .icbm-row:nth-child(n+5) { padding-top: calc(var(--icbm-stagger-step) * 4); }


  .icbm-mosaic[data-layout-tablet="masonry"] .icbm-items {
    display: grid !important;
    grid-template-columns: repeat(var(--icbm-active-cols-tablet, var(--icbm-cols-tablet, 5)), minmax(0, 1fr)) !important;
    gap: var(--icbm-gap-tablet, 20px) !important;
    width: var(--icbm-effective-width-tablet, 100%) !important;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    align-items: start;
  }
  .icbm-mosaic[data-layout-tablet="masonry"].icbm-v-align-top .icbm-items { align-items: start; }
  .icbm-mosaic[data-layout-tablet="masonry"].icbm-v-align-middle .icbm-items { align-items: center; }
  .icbm-mosaic[data-layout-tablet="masonry"].icbm-v-align-bottom .icbm-items { align-items: end; }
  .icbm-mosaic[data-layout-tablet="masonry"] .icbm-row {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--icbm-gap-tablet, 20px) !important;
  }
  .icbm-mosaic[data-layout-tablet="masonry"] .icbm-item { width: 100% !important; margin: 0 !important; }

  .icbm-mosaic[data-layout-tablet="grid"] .icbm-items {
    display: grid !important;
    grid-template-columns: repeat(var(--icbm-active-cols-tablet, var(--icbm-cols-tablet, 5)), minmax(0, 1fr)) !important;
    gap: var(--icbm-gap-tablet, 20px) !important;
    width: var(--icbm-effective-width-tablet, 100%) !important;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    align-items: start;
  }
  .icbm-mosaic[data-layout-tablet="grid"].icbm-v-align-top .icbm-items { align-items: start; }
  .icbm-mosaic[data-layout-tablet="grid"].icbm-v-align-middle .icbm-items { align-items: center; }
  .icbm-mosaic[data-layout-tablet="grid"].icbm-v-align-bottom .icbm-items { align-items: end; }
  .icbm-mosaic[data-layout-tablet="grid"] .icbm-row { display: contents !important; }
  .icbm-mosaic[data-layout-tablet="grid"] .icbm-item { margin: 0 !important; }

  .icbm-mosaic[data-layout-tablet="manual"] .icbm-items {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--icbm-gap-tablet, 20px) !important;
  }
  .icbm-mosaic[data-layout-tablet="manual"] .icbm-row {
    display: flex !important;
    gap: var(--icbm-gap-tablet, 20px) !important;
    justify-content: center;
    align-items: flex-start;
  }
  .icbm-mosaic[data-layout-tablet="manual"].icbm-v-align-top .icbm-row { align-items: flex-start; }
  .icbm-mosaic[data-layout-tablet="manual"].icbm-v-align-middle .icbm-row { align-items: center; }
  .icbm-mosaic[data-layout-tablet="manual"].icbm-v-align-bottom .icbm-row { align-items: flex-end; }
  .icbm-mosaic[data-layout-tablet="manual"] .icbm-item { flex: 1 1 0; margin: 0 !important; }

  
.icbm-button-wrap { margin-top: calc(var(--icbm-gap-tablet, 20px) * .4); }
}

@media (max-width: 767px) {
  .icbm-mosaic { --icbm-current-gap: var(--icbm-gap-mobile, 16px); }

  .icbm-mosaic[data-layout-mobile="masonry"].icbm-stagger-none .icbm-row { padding-top: 0; }
  .icbm-mosaic[data-layout-mobile="masonry"].icbm-stagger-left_low_right_high .icbm-row:nth-child(1) { padding-top: calc(var(--icbm-stagger-step) * 4); }
  .icbm-mosaic[data-layout-mobile="masonry"].icbm-stagger-left_low_right_high .icbm-row:nth-child(2) { padding-top: calc(var(--icbm-stagger-step) * 3); }
  .icbm-mosaic[data-layout-mobile="masonry"].icbm-stagger-left_low_right_high .icbm-row:nth-child(3) { padding-top: calc(var(--icbm-stagger-step) * 2); }
  .icbm-mosaic[data-layout-mobile="masonry"].icbm-stagger-left_low_right_high .icbm-row:nth-child(4) { padding-top: var(--icbm-stagger-step); }
  .icbm-mosaic[data-layout-mobile="masonry"].icbm-stagger-left_low_right_high .icbm-row:nth-child(n+5) { padding-top: 0; }
  .icbm-mosaic[data-layout-mobile="masonry"].icbm-stagger-left_high_right_low .icbm-row:nth-child(1) { padding-top: 0; }
  .icbm-mosaic[data-layout-mobile="masonry"].icbm-stagger-left_high_right_low .icbm-row:nth-child(2) { padding-top: var(--icbm-stagger-step); }
  .icbm-mosaic[data-layout-mobile="masonry"].icbm-stagger-left_high_right_low .icbm-row:nth-child(3) { padding-top: calc(var(--icbm-stagger-step) * 2); }
  .icbm-mosaic[data-layout-mobile="masonry"].icbm-stagger-left_high_right_low .icbm-row:nth-child(4) { padding-top: calc(var(--icbm-stagger-step) * 3); }
  .icbm-mosaic[data-layout-mobile="masonry"].icbm-stagger-left_high_right_low .icbm-row:nth-child(n+5) { padding-top: calc(var(--icbm-stagger-step) * 4); }


  .icbm-mosaic[data-layout-mobile="masonry"] .icbm-items {
    display: grid !important;
    grid-template-columns: repeat(var(--icbm-active-cols-mobile, var(--icbm-cols-mobile, 2)), minmax(0, 1fr)) !important;
    gap: var(--icbm-gap-mobile, 16px) !important;
    width: var(--icbm-effective-width-mobile, 100%) !important;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    align-items: start;
  }
  .icbm-mosaic[data-layout-mobile="masonry"].icbm-v-align-top .icbm-items { align-items: start; }
  .icbm-mosaic[data-layout-mobile="masonry"].icbm-v-align-middle .icbm-items { align-items: center; }
  .icbm-mosaic[data-layout-mobile="masonry"].icbm-v-align-bottom .icbm-items { align-items: end; }
  .icbm-mosaic[data-layout-mobile="masonry"] .icbm-row {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--icbm-gap-mobile, 16px) !important;
  }
  .icbm-mosaic[data-layout-mobile="masonry"] .icbm-item { width: 100% !important; margin: 0 !important; }

  .icbm-mosaic[data-layout-mobile="grid"] .icbm-items {
    display: grid !important;
    grid-template-columns: repeat(var(--icbm-active-cols-mobile, var(--icbm-cols-mobile, 2)), minmax(0, 1fr)) !important;
    gap: var(--icbm-gap-mobile, 16px) !important;
    width: var(--icbm-effective-width-mobile, 100%) !important;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    align-items: start;
  }
  .icbm-mosaic[data-layout-mobile="grid"].icbm-v-align-top .icbm-items { align-items: start; }
  .icbm-mosaic[data-layout-mobile="grid"].icbm-v-align-middle .icbm-items { align-items: center; }
  .icbm-mosaic[data-layout-mobile="grid"].icbm-v-align-bottom .icbm-items { align-items: end; }
  .icbm-mosaic[data-layout-mobile="grid"] .icbm-row { display: contents !important; }
  .icbm-mosaic[data-layout-mobile="grid"] .icbm-item { margin: 0 !important; }

  .icbm-mosaic[data-layout-mobile="manual"] .icbm-items {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--icbm-gap-mobile, 16px) !important;
  }
  .icbm-mosaic[data-layout-mobile="manual"] .icbm-row {
    display: flex !important;
    flex-wrap: wrap;
    gap: var(--icbm-gap-mobile, 16px) !important;
    align-items: flex-start;
  }
  .icbm-mosaic[data-layout-mobile="manual"].icbm-v-align-top .icbm-row { align-items: flex-start; }
  .icbm-mosaic[data-layout-mobile="manual"].icbm-v-align-middle .icbm-row { align-items: center; }
  .icbm-mosaic[data-layout-mobile="manual"].icbm-v-align-bottom .icbm-row { align-items: flex-end; }
  .icbm-mosaic[data-layout-mobile="manual"] .icbm-item { flex: 1 1 calc(50% - var(--icbm-gap-mobile, 16px)); margin: 0 !important; }

  .icbm-button { padding-right: 16px; }
  
.icbm-button-wrap { margin-top: calc(var(--icbm-gap-mobile, 16px) * .4); }
}

/* IC Banner Slider - v0.4.0 */
.icbm-slider {
  position: relative;
  width: 100%;
  overflow: hidden;
  --icbm-slider-items-current: var(--icbm-slider-items-desktop, 1);
}
.icbm-slider-viewport { overflow: hidden; width: 100%; }
.icbm-slider-track {
  display: flex;
  gap: var(--icbm-slider-gap, 0px);
  transition: transform var(--icbm-slider-speed, 500ms) ease;
  will-change: transform;
}
.icbm-slider-slide {
  flex: 0 0 calc((100% - (var(--icbm-slider-gap, 0px) * (var(--icbm-slider-items-current, 1) - 1))) / var(--icbm-slider-items-current, 1));
  min-width: 0;
}
.icbm-slider-media {
  width: 100%;
  overflow: hidden;
  border-radius: var(--icbm-radius, 0px);
  background: transparent;
}
.icbm-slider-link { display: block; width: 100%; height: 100%; }
.icbm-slider-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-position: center center;
  transition: transform var(--icbm-duration, 280ms) ease, filter var(--icbm-duration, 280ms) ease, opacity var(--icbm-duration, 280ms) ease;
}
.icbm-slider-fit-cover .icbm-slider-media img { object-fit: cover; }
.icbm-slider-fit-contain .icbm-slider-media img { object-fit: contain; }
.icbm-slider-fit-fill .icbm-slider-media img { object-fit: fill; }
.icbm-slider.icbm-is-grayscale img { filter: grayscale(1); }
.icbm-slider.icbm-is-grayscale .icbm-slider-link:hover img { filter: grayscale(0); }
.icbm-slider.icbm-has-shadow .icbm-slider-media { box-shadow: 0 14px 40px rgba(0,0,0,.16); }
.icbm-slider .icbm-slider-link:hover img { transform: none; }
.icbm-slider.icbm-hover-zoom .icbm-slider-link:hover img { transform: scale(1.045); }
.icbm-slider.icbm-hover-shrink .icbm-slider-link:hover img { transform: scale(.975); }
.icbm-slider.icbm-hover-lift .icbm-slider-link:hover img { transform: translateY(-4px); }
.icbm-slider.icbm-hover-slide-up .icbm-slider-link:hover img { transform: translateY(-8px); }
.icbm-slider-arrow {
  position: absolute;
  top: var(--icbm-arrow-y, 50%);
  z-index: 3;
  transform: translateY(-50%);
  width: var(--icbm-arrow-size, 42px);
  height: var(--icbm-arrow-size, 42px);
  border: var(--icbm-arrow-border-width, 0px) solid var(--icbm-arrow-border-color, transparent);
  border-radius: var(--icbm-arrow-radius, 999px);
  background: var(--icbm-arrow-bg, rgba(255,255,255,.9));
  color: var(--icbm-arrow-color, #111);
  box-shadow: 0 8px 24px rgba(0,0,0,.16);
  cursor: pointer;
  font-size: var(--icbm-arrow-icon-size, 30px);
  line-height: 1;
  opacity: var(--icbm-arrow-opacity, 1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background var(--icbm-duration, 280ms) ease, color var(--icbm-duration, 280ms) ease, opacity var(--icbm-duration, 280ms) ease, transform var(--icbm-duration, 280ms) ease;
}
.icbm-slider-arrow:hover { background: var(--icbm-arrow-hover-bg, #fff); color: var(--icbm-arrow-hover-color, #111); }
.icbm-slider-arrow:disabled { opacity: .35; cursor: default; }
.icbm-slider-arrow-icon { display: inline-flex; align-items: center; justify-content: center; line-height: 1; }
.icbm-slider-prev { left: var(--icbm-arrow-x, 14px); }
.icbm-slider-next { right: var(--icbm-arrow-x, 14px); }
.icbm-slider-dots {
  display: flex;
  justify-content: center;
  gap: var(--icbm-dot-gap, 8px);
  margin-top: var(--icbm-dot-margin-top, 14px);
}
.icbm-slider-dot {
  width: var(--icbm-dot-size, 9px);
  height: var(--icbm-dot-size, 9px);
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: var(--icbm-dot-color, rgba(0,0,0,.22));
  cursor: pointer;
}
.icbm-slider-dot.is-active { background: var(--icbm-dot-active-color, rgba(0,0,0,.72)); }
@media (max-width: 1024px) {
  .icbm-slider { --icbm-slider-items-current: var(--icbm-slider-items-tablet, 1); }
}
@media (max-width: 767px) {
  .icbm-slider { --icbm-slider-items-current: var(--icbm-slider-items-mobile, 1); }
  .icbm-slider-prev { left: min(var(--icbm-arrow-x, 14px), 24px); }
  .icbm-slider-next { right: min(var(--icbm-arrow-x, 14px), 24px); }
}


/* v0.4.1 Mobile compact masonry fix
   On mobile, flatten rows into a compact 2-column masonry flow. This avoids grid holes caused by row-as-column grouping and diagonal stagger offsets. */
@media (max-width: 767px) {
  .icbm-mosaic[data-layout-mobile="masonry"] .icbm-items {
    display: block !important;
    column-count: var(--icbm-active-cols-mobile, var(--icbm-cols-mobile, 2)) !important;
    column-gap: var(--icbm-gap-mobile, 16px) !important;
    width: var(--icbm-effective-width-mobile, 100%) !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .icbm-mosaic[data-layout-mobile="masonry"] .icbm-row {
    display: contents !important;
    padding-top: 0 !important;
  }
  .icbm-mosaic[data-layout-mobile="masonry"] .icbm-item {
    display: block !important;
    width: 100% !important;
    margin: 0 0 var(--icbm-gap-mobile, 16px) 0 !important;
    break-inside: avoid !important;
    -webkit-column-break-inside: avoid !important;
    page-break-inside: avoid !important;
  }
  .icbm-mosaic[data-layout-mobile="masonry"] .icbm-link,
  .icbm-mosaic[data-layout-mobile="masonry"] .icbm-item img {
    width: 100% !important;
  }
}

/* v0.4.5 Banner Set Slider editor/frontend fixes */
.icbm-slider,
.icbm-slider * {
  box-sizing: border-box;
}
.icbm-slider-viewport {
  line-height: 0;
}
.icbm-slider-media {
  line-height: 0;
}
.icbm-slider-ratio-original .icbm-slider-media {
  aspect-ratio: auto !important;
}
.icbm-slider-ratio-original .icbm-slider-media img {
  height: auto !important;
  object-fit: contain !important;
}
.icbm-slider-arrow,
.icbm-slider-dot {
  pointer-events: auto;
  user-select: none;
}
.icbm-slider-arrow {
  z-index: 20;
}
.icbm-slider-dots {
  line-height: 1;
  position: relative;
  z-index: 20;
}
