/*
 * Bloomcare — верхний промо-баннер статей и хаба.
 * Desktop 1280+: Figma 1421:28044 (ref. 1200px).
 * ≤1279px: Figma 1420:27987 «Мини-1024» (ref. 1024px).
 * ≤1023px: Figma 1420:27994 «Мини-768» (ref. 768px), декор скрыт.
 * ≤767px: Figma 1420:27999 «Мини-560» (ref. 560px).
 * ≤559px: Figma 1420:28004 «Мини-360» (ref. 320px), CTA — текстовая ссылка.
 */

.bc-top-banner {
	--bc-top-banner-max: 1200px;
	--bc-top-banner-figma-w: 1200;
	position: relative;
	display: block;
	width: 100%;
	max-width: var(--bc-top-banner-max);
	padding: 36px 40px;
	border-radius: 32px;
	overflow: hidden;
	box-sizing: border-box;
	color: #fff;
	isolation: isolate;
}

.bc-top-banner__media {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	border-radius: inherit;
	overflow: hidden;
}

.bc-top-banner__bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.bc-top-banner__inner {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	width: 100%;
	min-width: 0;
}

.bc-top-banner__copy {
	flex: 1 1 0;
	min-width: 0;
	max-width: none;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.bc-top-banner__title {
	margin: 0;
	width: 100%;
	max-width: 100%;
	font-family: "Noto Serif", Georgia, "Times New Roman", serif;
	font-weight: 700;
	font-size: 28px;
	line-height: 1.05;
	letter-spacing: -0.56px;
	font-variation-settings: "CTGR" 0, "wdth" 100;
}

.bc-top-banner__desc {
	margin: 0;
	width: 100%;
	max-width: 100%;
	font-family: "Manrope", system-ui, sans-serif;
	font-weight: 500;
	font-size: 18px;
	line-height: 1.35;
	letter-spacing: 0;
	font-feature-settings: "lnum" 1, "pnum" 1;
}

.bc-top-banner__cta {
	position: relative;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	padding: 18px 40px;
	border-radius: 22px;
	background: #fff;
	color: #454545 !important;
	font-family: "Manrope", system-ui, sans-serif;
	font-weight: 600;
	font-size: 18px;
	line-height: 1.2;
	text-decoration: none !important;
	text-underline-offset: unset;
	border: none;
	cursor: pointer;
	font-feature-settings: "lnum" 1, "pnum" 1;
	white-space: nowrap;
}

.bc-top-banner__cta:hover {
	color: #454545 !important;
	filter: brightness(0.97);
	text-decoration: none !important;
}

/* --- Декор: absolute по Figma (1421:28044–28066), ref. 1200×160 --- */
.bc-top-banner__decor {
	position: absolute;
	z-index: 1;
	pointer-events: none;
	overflow: visible;
}

.bc-top-banner__decor-img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: contain;
	object-position: center;
}

/* 1. Мишки — 1421:28044: left 668, top 50%, 200×188 */
.bc-top-banner__decor--layout-1 {
	left: calc(668 / var(--bc-top-banner-figma-w) * 100%);
	top: 50%;
	width: calc(200 / var(--bc-top-banner-figma-w) * 100%);
	height: 188px;
	max-width: 200px;
	transform: translateY(-50%);
}

.bc-top-banner__decor--layout-1 .bc-top-banner__decor-img {
	object-position: center center;
}

/* 2. Фитбол — 1421:28051: left 629, top -51, 282×262, rotate -4.98deg */
.bc-top-banner__decor--layout-2 {
	left: calc(629 / var(--bc-top-banner-figma-w) * 100%);
	top: -51px;
	width: calc(282 / var(--bc-top-banner-figma-w) * 100%);
	height: 262px;
	max-width: 282px;
}

.bc-top-banner__decor--layout-2 .bc-top-banner__decor-img {
	width: 100%;
	height: 100%;
	transform: rotate(-4.98deg);
	transform-origin: 50% 100%;
	object-position: center bottom;
}

/* 3. Цветок — 1421:28037: left 660, top -14, 200×188 (img 281×242) */
.bc-top-banner__decor--layout-3 {
	left: calc(660 / var(--bc-top-banner-figma-w) * 100%);
	top: -14px;
	width: calc(200 / var(--bc-top-banner-figma-w) * 100%);
	height: 188px;
	max-width: 200px;
}

.bc-top-banner__decor--layout-3 .bc-top-banner__decor-img {
	width: 140.5%;
	height: 128.7%;
	max-width: none;
	max-height: none;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

/* 4. Пинетки — 1421:28057: left 646, top 50%, 200×188 */
.bc-top-banner__decor--layout-4 {
	left: calc(646 / var(--bc-top-banner-figma-w) * 100%);
	top: 50%;
	width: calc(200 / var(--bc-top-banner-figma-w) * 100%);
	height: 188px;
	max-width: 200px;
	transform: translateY(-50%);
}

/* 5. Сердце — 1421:28066: left 640, top -34, ~233×183 */
.bc-top-banner__decor--layout-5 {
	left: calc(640 / var(--bc-top-banner-figma-w) * 100%);
	top: -34px;
	width: calc(233 / var(--bc-top-banner-figma-w) * 100%);
	height: 183px;
	max-width: 233px;
}

/* ≤1279px — Figma 1420:27987 «Мини-1024», общий для всех баннеров */
@media (max-width: 1279px) {
	.bc-top-banner {
		--bc-top-banner-figma-w: 1024;
		padding: 36px 28px;
	}

	.bc-top-banner__inner {
		gap: 24px;
	}

	.bc-top-banner__desc {
		font-size: 17px;
	}

	.bc-top-banner__cta {
		padding: 16px 32px;
		border-radius: 18px;
		font-size: 17px;
	}

	/* layout-1 — Figma 1420:27992: left 604, 190×178.6 */
	.bc-top-banner__decor--layout-1 {
		left: calc(604 / var(--bc-top-banner-figma-w) * 100%);
		top: calc(50% + 0.3px);
		width: calc(190 / var(--bc-top-banner-figma-w) * 100%);
		height: 178.6px;
		max-width: 190px;
		transform: translateY(-50%);
	}

	/* layout-2…5 — пропорция от макета 1200 (×1024/1200) */
	.bc-top-banner__decor--layout-2 {
		left: calc(537 / var(--bc-top-banner-figma-w) * 100%);
		top: -44px;
		width: calc(241 / var(--bc-top-banner-figma-w) * 100%);
		height: 224px;
		max-width: 241px;
	}

	.bc-top-banner__decor--layout-3 {
		left: calc(563 / var(--bc-top-banner-figma-w) * 100%);
		top: -12px;
		width: calc(171 / var(--bc-top-banner-figma-w) * 100%);
		height: 160px;
		max-width: 171px;
	}

	.bc-top-banner__decor--layout-4 {
		left: calc(551 / var(--bc-top-banner-figma-w) * 100%);
		width: calc(171 / var(--bc-top-banner-figma-w) * 100%);
		height: 160px;
		max-width: 171px;
	}

	.bc-top-banner__decor--layout-5 {
		left: calc(546 / var(--bc-top-banner-figma-w) * 100%);
		top: -29px;
		width: calc(199 / var(--bc-top-banner-figma-w) * 100%);
		height: 156px;
		max-width: 199px;
	}
}

/* ≤1023px — Figma 1420:27994 «Мини-768», декор скрыт */
@media (max-width: 1023px) {
	.bc-top-banner {
		padding: 32px;
	}

	.bc-top-banner__inner {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 32px;
	}

	.bc-top-banner__desc {
		font-size: 16px;
	}

	.bc-top-banner__cta {
		align-self: auto;
		padding: 16px 28px;
		border-radius: 22px;
		font-size: 16px;
		line-height: 1.35;
		font-weight: 600;
	}

	.bc-top-banner__decor {
		display: none;
	}
}

/* ≤767px — Figma 1420:27999 «Мини-560» */
@media (max-width: 767px) {
	.bc-top-banner {
		padding: 24px 20px;
	}

	.bc-top-banner__inner {
		gap: 20px;
	}

	.bc-top-banner__title {
		font-size: 20px;
		line-height: 1.05;
		letter-spacing: -0.4px;
	}

	.bc-top-banner__desc {
		font-size: 15px;
		line-height: 1.4;
	}
}

/* ≤559px — Figma 1420:28004 «Мини-360» */
@media (max-width: 559px) {
	.bc-top-banner__inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}

	.bc-top-banner__copy {
		gap: 10px;
	}

	.bc-top-banner__desc {
		font-size: 14px;
		line-height: 1.35;
	}

	.bc-top-banner__cta {
		align-self: auto;
		display: inline;
		padding: 0;
		border-radius: 0;
		background: transparent;
		color: #fff !important;
		font-size: 15px;
		font-weight: 700;
		line-height: 1.35;
		text-decoration: underline !important;
		text-underline-offset: 3px;
		white-space: normal;
	}

	.bc-top-banner__cta:hover {
		color: #fff !important;
		filter: none;
		opacity: 0.85;
		text-decoration: underline !important;
	}
}
