/* Blok „Hero oferty" */

.rb-offer {
	background: var(--rb-color-bg);
	padding-block: var(--rb-space-10) var(--rb-space-12);
}

.rb-offer__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.65fr) minmax(0, 1.35fr);
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: start;
}

.rb-offer__media { align-self: stretch; }
.rb-offer__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: var(--rb-radius-md);
}

.rb-offer__heading {
	font-size: clamp(1.5rem, 1rem + 1.8vw, 2.25rem);
	line-height: 1.3;
	margin-bottom: var(--rb-space-5);
}
.rb-offer__accent { display: block; }

.rb-offer__lead {
	font-size: 1.25rem;   /* 20 px */
	line-height: 1.5;     /* 30 px */
	font-weight: 700;
	color: var(--rb-color-heading);
	margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}
.rb-offer__lead p:last-child { margin-bottom: 0; }

/* ----------------------------------- atuty -------------------------------------- */

.rb-offer__items {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
	gap: clamp(1.5rem, 3vw, 2.5rem);
}

.rb-offer__item-icon { display: block; margin-bottom: var(--rb-space-4); }
.rb-offer__item-icon img { width: 48px; height: 48px; }

/*
 * Kreska pod ikoną nie idzie przez całą szerokość kolumny — w projekcie kończy
 * się wcześniej, więc rysujemy ją pseudo-elementem o stałej długości.
 */
.rb-offer__item-body { padding-top: var(--rb-space-5); position: relative; }
.rb-offer__item-body::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 190px;
	max-width: 70%;
	height: 1px;
	background: var(--rb-navy-300);
}

.rb-offer__item-text {
	font-size: 1rem;      /* 16 px */
	line-height: 1.5;     /* 24 px */
	font-weight: 600;
	color: var(--rb-color-text);
	margin: 0;
}

.rb-offer__item-title {
	font-weight: 700;
	color: var(--rb-color-heading);
}

/* ---------------------------------- responsywnie -------------------------------- */

@media (max-width: 900px) {
	.rb-offer { padding-block: var(--rb-space-8) 0; }

	/*
	 * Mobile z projektu: tekst i atuty na górze, zdjęcie na samym dole, pełną
	 * szerokością okna. Atuty schodzą do jednej kolumny z ikoną obok treści.
	 */
	.rb-offer__grid {
		grid-template-columns: 1fr;
		gap: var(--rb-space-8);
		padding-inline: 0;
	}
	.rb-offer__content { order: 1; padding-inline: var(--rb-container-gutter); }
	.rb-offer__media   { order: 2; }
	.rb-offer__image   { border-radius: 0; aspect-ratio: 4 / 3; }

	.rb-offer__items { grid-template-columns: 1fr; gap: var(--rb-space-6); }

	.rb-offer__item {
		display: grid;
		grid-template-columns: 48px minmax(0, 1fr);
		gap: var(--rb-space-4);
		align-items: start;
	}
	.rb-offer__item-icon { margin-bottom: 0; }
	.rb-offer__item-body { border-top: 0; padding-top: 0; }
}
