/* Стили для рекламных блоков */
.ad-wrapper {
  text-align: center;
  margin: 1rem auto;
  padding: 1rem;
  min-height: 90px;
}

/* Lazy image optimization */
.ad-wrapper img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

/* Устройства */
.only-desktop { display: none; }
.only-mobile { display: none; }

@media (min-width: 769px) {
  .only-desktop { display: block; }
}

@media (max-width: 768px) {
  .only-mobile { display: block; }
}

/* Стилі банерів */
.ad-retro {
  background: linear-gradient(to bottom, #fefefe, #e0e0e0);
  border-radius: 12px;
  border: 1px solid #ccc;
  padding: 1rem;
}

.ad-outline {
  border: 2px dashed #96d129;
  background: #fbffe5;
  padding: 1rem;
}

.ad-dark {
  background: #333;
  color: #fff;
  padding: 1.2rem;
  border-radius: 10px;
}

/* Стили для группы с шорткодом Базовий відступ і позиціонування */
.ad-box {
  margin: 2rem auto;
  padding: 5.5rem;
  border-radius: 10px;
  max-width: 800px;
  text-align: center;
}

/* Стиль 1 — світлий з зеленою рамкою */
.ad-box-style-1 {
  background: #f6ffe4;
  border: 2px solid #96d129;
}

/* Стиль 2 — жовта підложка */
.ad-box-style-2 {
  background: #fffbe6;
  border: 2px dashed #ffbc03;
}

/* Стиль 3 — синя з тінню */
.ad-box-style-3 {
  background: #64c6f3;
  color: #fff;
  box-shadow: 0 8px 24px rgba(0,0,0,0.2);
}

/* Стиль 4 — мінімалістичний */
.ad-box-style-4 {
  background: #fafafa;
  border: 1px solid #ccc;
  font-size: 0.95rem;
  color: #333;
}
/* Стили для банера с подпиской */
/* База — без жёстко прошитого фона */
.expo-banner-bg {
  position: relative;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  min-height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  overflow: hidden;
  text-align: center;
  padding: 2%;
}

/* Фон: изображение */
.expo-banner-bg--img {
  /* ожидаем переменную с url: style="--bg-img:url('...')" */
  background-image: var(--bg-img);
}

/* Фон: цвет */
.expo-banner-bg--color {
  /* ожидаем переменную с цветом: style="--bg-color:#FFBC03" */
  background-color: var(--bg-color);
}

/* Фон: градиент */
.expo-banner-bg--gradient {
  /* ожидаем переменную с градиентом: style="--bg-gradient:linear-gradient(...)" */
  background: var(--bg-gradient);
}

/* Оверлей оставляем как есть */
.expo-banner-bg__overlay {
  background: rgba(0,0,0,0.45);
  padding: 2rem;
  border-radius: 12px;
  color: #fff;
  max-width: 720px;
  text-align: left;
}

.expo-banner-bg__title {
  font-size: 2rem;
  margin-bottom: 0.5rem;
  color: #FFEE4E; /* из палитры */
}

.expo-banner-bg__desc {
  font-size: 1.1rem;
  margin-bottom: 1.2rem;
}

.expo-banner-bg__btn {
  display: inline-block;
  background: #96D129;
  color: #111;
  padding: 12px 20px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  transition: background 0.3s ease;
}

.expo-banner-bg__btn:hover {
  background: #7AB00F;
}

/* Кнопки внутри баннера */
.expo-btn {
  display: inline-block;
  padding: 0.75rem 1.25rem;
  border-radius: 10px;
  font-weight: 600;
  text-decoration: none;
  line-height: 1;
  transition: transform .12s ease, box-shadow .12s ease, background-color .15s ease, color .15s ease, border-color .15s ease;
  will-change: transform;
}

/* Primary (жёлтая из палитры) */
.expo-btn--primary {
  background: #FFBC03;          /* жёлтый */
  color: #1a1a1a;                /* тёмный текст для контраста */
  border: 2px solid #FFBC03;
  box-shadow: 0 4px 12px rgba(255,188,3,.25);
}

.expo-btn--primary:hover,
.expo-btn--primary:focus {
  background: #e5a702;           /* чуть темнее на hover */
  border-color: #e5a702;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(255,188,3,.35);
}

.expo-btn--primary:active {
  transform: translateY(0);
  box-shadow: 0 3px 10px rgba(255,188,3,.25);
}

/* Дополнительно: вариант "прозрачная" кнопка (если понадобится) */
.expo-btn--ghost {
  background: transparent;
  color: #FFFFFF;
  border: 2px solid rgba(255,255,255,.8);
}

.expo-btn--ghost:hover,
.expo-btn--ghost:focus {
  background: rgba(255,255,255,.12);
  border-color: #FFFFFF;
}
/* Обтекание текстом */
/* Контейнер, чтобы float не «выпирал» */
.expo-flow{ display: flow-root; }

/* Базовый размер картинки под обтекание */
.expo-flow__img{
  display: block;             /* важно для размеров */
  width: clamp(140px, 28%, 260px);
  height: auto;               /* ок для img; браузер сам знает реальную высоту */
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0,0,0,.25);
  margin: 0 1.25rem 1rem 0;
}

/* Левый флот + форма обтекания */
.expo-flow__img--left{
  float: left;
  /* форма (прямоугольник с радиусами) */
  -webkit-shape-outside: inset(0 round 16px);
          shape-outside: inset(0 round 16px);
  shape-margin: 12px; /* «зазор» от текста */
}

/* Правый флот */
.expo-flow__img--right{
  float: right;
  margin: 0 0 1rem 1.25rem;
  -webkit-shape-outside: inset(0 round 16px);
          shape-outside: inset(0 round 16px);
  shape-margin: 12px;
}

/* Мобилка — убираем float */
@media (max-width: 640px){
  .expo-flow__img{
    float: none !important;
    margin: 0 auto 1rem;
    width: min(70%, 260px);
  }
}

/* Контейнер из двух колонок */
.expo-banner__inner {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 2rem;
  align-items: center;
}

/* Левая колонка (картинка) */
.expo-banner__col--image img {
  max-width: 120px;
  height: auto;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.2)
}

/* Правая колонка (текст) */
.expo-banner__col--text {
  background: transparent;
  padding: 2rem;
  border-radius: 12px;
  color: #fff;
  max-width: 100%;
}

/* Адаптив: на мобилке в колонку */
@media (max-width: 768px) {
  .expo-banner__inner {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .expo-banner__col--text {
    max-width: 100%;
  }
}

/* центрируем только кнопку */
.expo-btn--center{
  display: block;            /* переопределяем inline/inline-block */
  width: max-content;        /* в ширину по содержимому */
  margin: 1rem auto 0;       /* авто-отступы = центр */
}