/* AB Banner Manager: стили изолированы внутри класса .ab-banner */
.ab-banner {
  display: block;
  box-sizing: border-box;
  clear: both;
  width: var(--ab-banner-desktop, 50%);
  max-width: var(--ab-banner-cap, 100%);
  margin: 24px auto;
  line-height: 0;
}
.ab-banner a {
  display: block;
  text-decoration: none;
  border: 0;
}
.ab-banner img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: var(--ab-banner-radius, 18px);
  transition: transform .25s ease, filter .25s ease;
}
.ab-banner.has-shadow img {
  box-shadow: 0 18px 48px rgba(15,26,55,.16);
}
@media (hover: hover) {
  .ab-banner a:hover img {
    transform: translateY(-2px);
    filter: saturate(1.04);
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .ab-banner { width: var(--ab-banner-tablet, 70%); }
}
@media (max-width: 767px) {
  .ab-banner {
    width: var(--ab-banner-mobile, 100%);
    margin: 16px auto;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ab-banner img { transition: none; }
  .ab-banner a:hover img { transform: none; filter: none; }
}
.ab-banner.is-align-left { margin-left: 0; margin-right: auto; }
.ab-banner.is-align-right { margin-left: auto; margin-right: 0; }
