/* Q-components: баннер с призывом (handle q-ctabanner). DESIGN.md «Баннер» */
.q-ctabanner {
	--q-ctabanner-pad-y: 56px;
	--q-ctabanner-pad-x: 48px;
	--q-ctabanner-gap: 24px;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--q-ctabanner-gap);
	margin: 0;
	padding: var(--q-ctabanner-pad-y) var(--q-ctabanner-pad-x);
	border-radius: var(--q-radius-l);
	background: var(--q-surface-dark);
	color: var(--q-text-inverse);
	font-family: var(--q-font-body);
	text-align: left;
}
.q-ctabanner__content { display: flex; flex-direction: column; gap: 12px; flex: 1 1 300px; min-width: min(260px, 100%); max-width: 520px; }
.q-ctabanner .q-ctabanner__content > * { margin-top: 0; margin-bottom: 0; }
.q-ctabanner__kicker { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; font-family: var(--q-font-body); font-size: 12.5px; font-weight: 600; line-height: 1.4; letter-spacing: .06em; text-transform: uppercase; color: var(--q-orange-light); }

.q-ctabanner .q-ctabanner__title { margin: 0 !important; padding: 0 !important; color: var(--q-white) !important; }
.q-ctabanner .q-ctabanner__title * { font-family: inherit !important; }
.q-ctabanner .q-ctabanner__lead { margin: 0; font-family: var(--q-font-body); font-size: 16px; font-weight: 300; line-height: 1.65; color: var(--q-text-inverse); }
.q-ctabanner__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.q-ctabanner__content > .q-ctabanner__actions { padding-top: 8px; }
.q-ctabanner .q-ctabanner__actions .q-btn { font-size: 18px !important; padding: 25px 35px !important; }
.q-ctabanner__aside { min-width: 0; padding: 24px; border-radius: var(--q-radius-m); background: var(--q-white); color: var(--q-text-body); }

/* --light */
.q-ctabanner--light { background: var(--q-sand); color: var(--q-text-body); }
.q-ctabanner--light .q-ctabanner__title { color: var(--q-text-heading) !important; }
.q-ctabanner--light .q-ctabanner__lead { color: var(--q-text-body); }
.q-ctabanner--light .q-ctabanner__kicker { color: var(--q-orange-text); }

/* Раскладки --split · --stack · --flush · --s */
.q-ctabanner--split { display: grid; grid-template-columns: 1.1fr 1fr; --q-ctabanner-gap: 44px; }
.q-ctabanner--stack { flex-direction: column; align-items: stretch; justify-content: center; }
.q-ctabanner--split .q-ctabanner__content, .q-ctabanner--stack .q-ctabanner__content { flex: none; max-width: none; }
.q-ctabanner--split .q-ctabanner__lead, .q-ctabanner--stack .q-ctabanner__lead { max-width: 46ch; }
.q-ctabanner--flush { padding: 0; overflow: hidden; align-items: stretch; --q-ctabanner-gap: 0px; }
.q-ctabanner--flush .q-ctabanner__content { align-self: center; padding: var(--q-ctabanner-pad-y) var(--q-ctabanner-pad-x); }
.q-ctabanner--flush .q-ctabanner__aside { border-radius: 0; padding: 28px; }
.q-ctabanner--s { --q-ctabanner-pad-y: 32px; --q-ctabanner-pad-x: 36px; }

@media (max-width: 1024px) {
	.q-ctabanner { --q-ctabanner-pad-y: 32px; --q-ctabanner-pad-x: 36px; }
	.q-ctabanner .q-ctabanner__actions .q-btn { font-size: 16px !important; padding: 13px 29px !important; }
	.q-ctabanner--split { grid-template-columns: minmax(0, 1fr); --q-ctabanner-gap: 20px; }
	.q-ctabanner--flush { --q-ctabanner-gap: 0px; }
	.q-ctabanner--split .q-ctabanner__lead, .q-ctabanner--stack .q-ctabanner__lead { max-width: none; }
	.q-ctabanner__aside { padding: 20px; }
	.q-ctabanner--flush .q-ctabanner__aside { padding: 24px var(--q-ctabanner-pad-x); }
}
@media (max-width: 640px) {
	.q-ctabanner { --q-ctabanner-pad-y: 24px; --q-ctabanner-pad-x: 20px; --q-ctabanner-gap: 20px; }
	.q-ctabanner--flush { --q-ctabanner-gap: 0px; }
	.q-ctabanner__actions, .q-ctabanner .q-ctabanner__actions .q-btn { width: 100%; }
	.q-ctabanner__aside { padding: 16px; }
	.q-ctabanner--flush .q-ctabanner__aside { padding: 20px; }
}
