/* ============================================================
   ADV — единая система рекламных блоков
   ------------------------------------------------------------
   Префикс:  .adv
   Структура: .adv .adv--<тип> [.adv--<место>]
                 └ .adv__label   (надпись "Advertisement", опц.)
                 └ .adv__slot    (для резиновых сетей)
                 └ .adv__frame > .adv__scale   (для жёстких размеров)

   ТИПЫ:
     .adv--native   резиновый native-виджет ExoClick (ins .eas6a97888e20)
     .adv--fixed    жёсткий креатив 300x250 / 300x100 (ins .eas6a97888e2 / e10)
     .adv--slider   видео-слайдер (ins .eas6a97888e31) — position:fixed, не обёртывается

   МЕСТА (опциональные модификаторы, только отступы/фон):
     .adv--in-content  .adv--in-sidebar  .adv--in-grid  .adv--in-strip

   ДОП. МОДИФИКАТОРЫ:
     .adv--fill     блок растягивается на всю ячейку (грид/сайдбар с aspect-ratio)
     .adv--bare     без рамки/фона/лейбла
   ============================================================ */


/* ------------------------------------------------------------
   0. БАЗА — общая для всех типов.
      Три свойства ниже — главное. Они гарантируют, что рекламный
      блок НИКОГДА не участвует в расчёте минимальной ширины
      страницы и не может её раздуть.
   ------------------------------------------------------------ */

.adv {
	position: relative;
	display: block;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	contain: inline-size;          /* ← ширина блока не зависит от содержимого */
	background: var(--bg-card, #eeebeb);
	border: 1px solid var(--border, #2a2a30);
	border-radius: var(--radius, 4px);
}

.adv * {
	box-sizing: border-box;
}

/* Любой креатив внутри — не шире блока */
.adv img,
.adv iframe,
.adv video,
.adv object,
.adv embed {
	max-width: 100% !important;
	border: 0;
}

/* ------------------------------------------------------------
   0.1 Лейбл "Advertisement"
   ------------------------------------------------------------ */

.adv__label {
	display: block;
	flex-shrink: 0;
	padding: 5px 8px 4px;
	border-bottom: 1px solid var(--border, #2a2a30);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .16em;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
	color: var(--text-muted, #8a8886);
}

.adv--bare {
	background: none;
	border: 0;
	border-radius: 0;
}

.adv--bare .adv__label {
	display: none;
}


/* ============================================================
   1. .adv--native — РЕЗИНОВЫЙ NATIVE-ВИДЖЕТ
   ------------------------------------------------------------
   Зоны 5882734 / 5882736 / 5882740  (ins.eas6a97888e20)

   Виджет ExoClick изнутри объявляет  width:2290px; display:inline-flex.
   Без нижних правил он растягивает колонку и всю страницу.
   ============================================================ */

.adv--native .adv__slot {
	display: block;
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	padding: 10px;
}

/* Гасим собственную ширину виджета.
   ВАЖНО: display НЕ трогаем — виджет внутри держится на inline-flex,
   принудительный display:block ломает его внутреннюю раскладку. */
.adv--native .adv__slot > div,
.adv--native .adv__slot [data-uid],
.adv--native .exo-native-widget {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

/* <ins> ExoClick оставляет пустым — контент кладётся соседним блоком.
   Убираем его из потока, чтобы не давал лишний inline-отступ. */
.adv--native .adv__slot > ins {
	display: block;
	width: 0;
	height: 0;
	overflow: hidden;
}

/* Внутренняя сетка карточек виджета — переносим, а не растягиваем */
.adv--native .exo-native-widget-outer-container,
.adv--native .exo-native-widget-container {
	flex-wrap: wrap !important;
	max-width: 100% !important;
}

.adv--native .exo-native-widget-item {
	max-width: 100% !important;
	min-width: 0 !important;
}


/* ============================================================
   2. .adv--fixed — ЖЁСТКИЙ КРЕАТИВ (300x250, 300x100 и т.п.)
   ------------------------------------------------------------
   Зоны 5870806 (e2, 300x250), 5870808 (e10, 300x100)

   Разметка:
     <div class="adv adv--fixed" data-adv-w="300" data-adv-h="250">
       <span class="adv__label">Advertisement</span>
       <div class="adv__frame"><div class="adv__scale"> ...код сети... </div></div>
     </div>

   Ширину/высоту задаёт adv.js через transform:scale().
   Значения по умолчанию ниже — на случай, если JS не загрузился.
   ============================================================ */

.adv--fixed {
	--adv-w: 300;
	--adv-h: 250;
	display: flex;
	flex-direction: column;
}

.adv--fixed .adv__frame {
	position: relative;
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
	overflow: hidden;
}

.adv--fixed .adv__scale {
	position: absolute;
	top: 50%;
	left: 50%;
	width: calc(var(--adv-w) * 1px);
	height: calc(var(--adv-h) * 1px);
	transform-origin: center center;
	transform: translate(-50%, -50%) scale(1);
}

/* Пока JS не посчитал — не даём вылезти */
.adv--fixed:not([data-adv-ready]) .adv__frame {
	aspect-ratio: var(--adv-w) / var(--adv-h);
}

/* Растянуть на всю ячейку (карточка грида / тумба сайдбара) */
.adv--fixed.adv--fill {
	height: 100%;
}


/* ============================================================
   3. .adv--slider — ВИДЕО-СЛАЙДЕР
   ------------------------------------------------------------
   Зоны 5592764 / 5603118 (ins.eas6a97888e31)
   Сеть сама вешает position:fixed. Обёртка нужна только чтобы
   блок не влиял на поток и его можно было выключить по ширине.
   ============================================================ */

.adv--slider {
	position: static;
	width: 0;
	height: 0;
	overflow: visible;
	background: none;
	border: 0;
	contain: none;
}

.adv--slider .adv__label {
	display: none;
}

@media (max-width: 560px) {
	.adv--slider { display: none; }
}


/* ============================================================
   4. МЕСТА РАЗМЕЩЕНИЯ — только внешние отступы
   ============================================================ */

.adv--in-content {
	margin: 16px 0;
}

.adv--in-sidebar {
	margin-bottom: 10px;
}

.adv--in-grid {
	margin: 0;
	aspect-ratio: 3 / 4;
}

.adv--in-strip {
	flex-shrink: 0;
	width: 140px;
	margin: 0;
}


/* ============================================================
   5. ФИКС РОДИТЕЛЕЙ — обязательно!
   ------------------------------------------------------------
   Реклама не может раздуть страницу, только если колонкам
   разрешено сжиматься. У flex/grid-элементов min-width по
   умолчанию = auto ("не меньше содержимого").
   ============================================================ */

/* --- новый шаблон (nudebabes site.css) --- */
.main-content,
.content-area > *,
.sidebar-left,
.sidebar-right {
	min-width: 0;
}

/* --- старый шаблон (all.css) --- */
.container.flex_container > *,
.content_main,
.aside,
.asidehun,
.sidebar,
.aside_section {
	min-width: 0;
}


/* ============================================================
   6. АДАПТИВ
   ============================================================ */

@media (max-width: 1100px) {
	.adv--in-content { margin: 12px 0; }
}

@media (max-width: 560px) {
	.adv--in-content { margin: 10px 0; }
	.adv__label { font-size: 8px; padding: 4px 6px 3px; }
}


/* ============================================================
   7. СОВМЕСТИМОСТЬ СО СТАРЫМИ КЛАССАМИ
   ------------------------------------------------------------
   Чтобы не переписывать все шаблоны разом. Удалить после
   миграции на .adv.
   ============================================================ */

.banner-ad-box {                 /* старый native */
	max-width: 100%;
	overflow: hidden;
	contain: inline-size;
}

.banner-ad-box .exo-native-widget,
.banner-ad-box > div,
.banner-ad-box ins,
.banner-ad-box [data-uid] {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

.ad-banner-wrap {                /* старый fixed */
	max-width: 100%;
	overflow: hidden;
}

/* ------------------------------------------------------------
   .adv--in-thumbs — реклама внутри .thumbs / .thumbs_aside
   (старый шаблон all.css: у .thumbs стоит font-size:0
   и отрицательный margin-left:-10px — оба надо погасить)
   ------------------------------------------------------------ */

.adv--in-thumbs {
	display: block;
	width: auto;
	margin: 20px 10px 0 10px;
	font-size: 14px;
	line-height: 1.4;
	text-align: left;
}