/* ==========================================================================
   Strona główna — sekcje. Desktop od 992 px, poniżej układ mobilny.
   ========================================================================== */

/* --- Hero ---------------------------------------------------------------- */

.hb-hero.brxe-section {
	position: relative;
	display: grid;
	grid-template-columns: 625fr 816fr;
	align-items: stretch;
	width: 100%;
	min-height: clamp(480px, 45.73vw, 659px);
	padding: 0;
}

.hb-hero__zdjecie,
.hb-hero__zdjecie picture {
	display: block;
	width: 100%;
	height: 100%;
}

.hb-hero__zdjecie img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 30%;
}

.hb-hero__panel {
	position: relative;
	display: flex;
	flex-direction: row;
	align-items: center;
	width: 100%;
	padding: 0 clamp(40px, 8.6vw, 124px);
	background-color: var(--hb-roz-860);
}

.hb-hero__tresc {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 41px;
	width: auto;
}

.hb-hero__naglowek {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	width: auto;
}

.hb-hero__nad {
	margin: 0;
	font-family: var(--hb-font-sans);
	font-size: var(--fs-etykieta);
	font-weight: 700;
	letter-spacing: 0.24em;
	line-height: normal;
	text-transform: uppercase;
	color: var(--hb-roz-350);
}

.hb-hero__kreska {
	width: 53px;
	height: 1px;
	background-color: var(--hb-roz-350);
}

.hb-hero__tytul {
	display: flex;
	flex-direction: column;
	margin: 0;
	font-family: var(--hb-font-serif);
	font-weight: 400;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	color: var(--hb-ink);
}

.hb-hero__tytul-duzy {
	font-size: var(--fs-60-44);
	line-height: 0.86;
}

.hb-hero__tytul-maly {
	font-size: var(--fs-36-23);
	line-height: 1.77;
}

.hb-hero__akcent {
	color: var(--hb-roz-350);
}

.hb-hero__cta {
	width: 196px;
}

/* Podpis: pozycja i szerokość z projektu (ramka 278 × 154 w panelu 816 px). */
.hb-hero__podpis {
	position: absolute;
	left: 51.5%;
	bottom: 50px;
	width: clamp(170px, 19.3vw, 278px);
}

.hb-hero__podpis img {
	display: block;
	width: 100%;
	height: auto;
}

/* Wejście hero — słownik animacji z iDequi: krótkie rozjaśnienie z drobnym ruchem w górę,
   kolejne elementy z opóźnieniem, żeby oko prowadziło od nadtytułu do przycisku. */
@keyframes hb-wejscie {
	from {
		opacity: 0;
		transform: translateY(18px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

.hb-hero__nad,
.hb-hero__kreska,
.hb-hero__tytul,
.hb-hero__cta,
.hb-hero__podpis {
	animation: hb-wejscie 0.7s var(--hb-ease-wyhamowanie) backwards;
}

.hb-hero__nad {
	animation-delay: 0.05s;
}

.hb-hero__kreska {
	animation-delay: 0.12s;
}

.hb-hero__tytul {
	animation-delay: 0.18s;
}

.hb-hero__cta {
	animation-delay: 0.3s;
}

.hb-hero__podpis {
	animation-delay: 0.45s;
}

/* Zdjęcie wchodzi samym rozjaśnieniem — ruch kadru na całej szerokości byłby nerwowy. */
.hb-hero__zdjecie img {
	animation: hb-wejscie 0.9s ease backwards;
	animation-name: hb-rozjasnienie;
}

@keyframes hb-rozjasnienie {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hb-hero__nad,
	.hb-hero__kreska,
	.hb-hero__tytul,
	.hb-hero__cta,
	.hb-hero__podpis,
	.hb-hero__zdjecie img {
		animation: none;
	}
}

/* --- Film ------------------------------------------------------------- */

.hb-film.brxe-section {
	width: 100%;
	padding: 0;
}

.hb-film__wideo {
	position: relative;
	width: 100%;
	height: auto;
	aspect-ratio: 1441 / 503;
	padding: 0;
	overflow: hidden;
}

/* Film ma proporcje 2:1 — kadr z projektu: górne 8% przycięte. */
.hb-film__wideo video,
.hb-film__wideo img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 8%;
}

/* Ikona play z projektu (SVG w motywie) zamiast glifu z biblioteki ikon. */
.hb-film__wideo .bricks-video-overlay-icon,
.hb-film__ikona {
	position: absolute;
	left: 50%;
	transform: translate(-50%, -50%);
	top: 44.4%;
	width: 76px;
	height: 76px;
	font-size: 0;
	background: url("../icons/play.svg") center / contain no-repeat;
	cursor: pointer;
}

.hb-film__wideo .bricks-video-overlay-icon::before {
	content: none;
}

.hb-film__wideo .bricks-video-overlay-icon:focus-visible {
	outline: 2px solid var(--hb-white);
	outline-offset: 4px;
	border-radius: 50%;
}

/* --- Bestsellery ---------------------------------------------------------- */

/* Odstępy z projektu: film → nagłówek 111 / 19 px, nagłówek → karty 44 / 24 px. */
.hb-bestsellery.brxe-section {
	width: 100%;
	padding: clamp(1.1875rem, -0.9482rem + 8.7619vw, 6.9375rem) 0 0;
}

.hb-bestsellery__karty {
	margin-top: clamp(1.5rem, 1.0357rem + 1.9048vw, 2.75rem);
}

/* --- Znajdź swój rytuał ---------------------------------------------------- */

/* Odstępy z projektu: poprzednia sekcja → nadtytuł 105 / 37 px, nagłówek → kółka 61 / 25 px,
   kółka → link 41 px (desktop), strzałki → link 24 px (mobile). */
.hb-rytual.brxe-section {
	width: 100%;
	padding: clamp(2.3125rem, 0.7339rem + 6.4762vw, 6.5625rem) 0 0;
}

.hb-rytual__naglowek {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	text-align: center;
}

.hb-rytual__naglowek .hb-h2 {
	line-height: 0.804;
	text-transform: none;
}

.hb-rytual__lista {
	margin-top: clamp(1.5625rem, 0.7268rem + 3.4286vw, 3.8125rem);
}

/* Na desktopie 5 pozycji mieści się w rzędzie, przewijanie wyłączone — bez strzałek
   (Splide potrafi zgłosić przepełnienie z zaokrągleń szerokości). */
@media (min-width: 992px) {
	.brxe-slider-nested.hb-rytual__lista .splide__arrows {
		display: none;
	}
}

.hb-rytual__wszystkie {
	display: flex;
	justify-content: center;
	margin-top: 41px;
}

/* --- Kup taniej w pakiecie ------------------------------------------------- */

/* Sekcja z własnym tłem: odstęp od poprzedniej (95 / 43 px) poza tłem, jako margin-top.
   Wewnątrz tła (desktop / mobile): góra 68 / 15, nagłówek → kolumny 70 / 17,
   kolumny → tekst 47 / 27, tekst → przycisk 35 / 27, dół 57 / 27 px. */
.hb-pakiet.brxe-section {
	width: 100%;
	margin-top: clamp(2.6875rem, 1.4804rem + 4.9524vw, 5.9375rem);
	background-color: var(--hb-ink);
}

.hb-pakiet__kolumny {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin-top: clamp(1.0625rem, -0.1679rem + 5.0476vw, 4.375rem);
}

.hb-pakiet__kolumna {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 22px;
	width: 100%;
	padding: 12px 8px 6px;
	color: var(--hb-white);
	text-align: center;
	text-decoration: none;
}

.hb-pakiet__kolumna + .hb-pakiet__kolumna {
	border-left: 1px solid var(--hb-braz-420);
}

.hb-pakiet__obraz {
	position: relative;
	width: 100%;
}

.hb-pakiet__obraz img {
	display: block;
	width: 100%;
	height: auto;
}

.hb-pakiet__obraz--1 { max-width: min(217px, 68%); }
.hb-pakiet__obraz--3 { max-width: 374px; }

/* Znaczek „Wybór klientów”: 128 px w punkcie 278 / −41 px grupy 374 × 309 z projektu. */
.hb-pakiet__obraz .hb-pakiet__znaczek {
	position: absolute;
	top: -13.3%;
	left: 74.3%;
	width: 34.2%;
	height: auto;
}

.hb-pakiet__opis {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 18px;
}

.hb-pakiet__tytul {
	margin: 0;
	font-family: var(--hb-font-serif);
	font-size: var(--fs-37-21);
	font-weight: 400;
	line-height: 1;
	text-transform: none;
	color: var(--hb-white);
}

.hb-pakiet__dopisek {
	margin: 0;
	font-family: var(--hb-font-sans);
	font-size: var(--fs-lead);
	line-height: 1.22;
	color: var(--hb-braz-750);
}

.hb-pakiet__tekst {
	margin: clamp(1.6875rem, 1.2232rem + 1.9048vw, 2.9375rem) auto 0;
	max-width: 481px;
	font-family: var(--hb-font-sans);
	font-size: var(--fs-lead);
	line-height: 1.47;
	text-align: center;
	color: var(--hb-braz-500);
}

.hb-pakiet__cta {
	display: flex;
	justify-content: center;
	margin-top: clamp(1.6875rem, 1.5018rem + 0.7619vw, 2.1875rem);
}

.hb-pakiet__cta .hb-btn {
	min-width: 317px;
}

/* --- Ulotka ---------------------------------------------------------------- */

/* Sekcja na tle strony: odstęp od poprzedniej jako padding-top, dolny daje następna sekcja. */
.hb-ulotka.brxe-section {
	width: 100%;
	padding: var(--gap-4-2) 0 0;
}

.hb-ulotka__grafika,
.hb-ulotka__grafika img {
	display: block;
	width: 100%;
	max-width: none;
	height: auto;
}

/* --- Co kryje się w środku? ----------------------------------------------- */

/* Odstępy z projektu (desktop / mobile): góra 83 / 0 (na mobile zdjęcie od krawędzi),
   nagłówek → zdjęcie 53 px, cechy → przycisk 38 / 12 px. Dół niesie sekcja z tłem pod nią. */
.hb-srodek.brxe-section {
	position: relative;
	width: 100%;
	padding: clamp(0rem, -1.9268rem + 7.9048vw, 5.1875rem) 0 0;
}

.hb-srodek__naglowek {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.hb-srodek__naglowek .hb-h2 {
	font-size: var(--fs-52-35);
	line-height: 1.14;
}

.hb-srodek__uklad {
	display: grid;
	grid-template-columns: 609fr 575fr;
	column-gap: 79px;
	align-items: center;
	margin-top: 53px;
}

.hb-srodek__zdjecie img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 10px;
}

.hb-srodek__cta {
	margin-top: clamp(0.75rem, 0.1464rem + 2.4762vw, 2.375rem);
}

.hb-srodek__cta .hb-btn {
	--hb-btn-kolor: var(--hb-braz-170);
	--hb-btn-wys: 62px;
	--hb-btn-tracking: 0.2em;
	width: min(451px, 100%);
}

/* --- Kiedy wybrać HAIRBOOM? ----------------------------------------------- */

/* Sekcja z tłem: odstęp od poprzedniej 83 / 36 px (margin-top); wewnątrz 88 / 40–30 px. */
.hb-kiedy.brxe-section {
	width: 100%;
	margin-top: clamp(2.25rem, 1.1589rem + 4.4762vw, 5.1875rem);
	background-color: var(--hb-roz-930);
}

.hb-kiedy__uklad {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	gap: 72px;
	align-items: start;
}

.hb-kiedy__intro {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 21px;
	padding-top: 4px;
}

.hb-kiedy__intro .hb-nadtytul {
	letter-spacing: 0.3em;
	color: var(--hb-roz-680);
}

.hb-kiedy__intro .hb-h2 {
	line-height: 1.06;
}

.hb-kiedy__opis {
	max-width: 380px;
	margin: 0;
	font-family: var(--hb-font-sans);
	font-size: var(--fs-tekst);
	line-height: 1.7;
	color: var(--hb-braz-320);
}

.hb-kiedy__lista {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	list-style: none;
}

.hb-kiedy__pozycja {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 32px;
	padding: 26px 0;
	border-top: 1px solid var(--hb-roz-860);
}

.hb-kiedy__numer {
	min-width: 34px;
	margin: 0;
	font-family: var(--hb-font-serif);
	font-size: var(--fs-19-15);
	line-height: normal;
	color: var(--hb-roz-575);
}

.hb-kiedy__tekst {
	margin: 0;
	font-family: var(--hb-font-sans);
	font-size: var(--fs-lead);
	line-height: normal;
	color: var(--hb-ink);
}

/* --- Kolagen w Twoim tempie (Beauty Shot) -------------------------------- */

/* Sekcja z tłem bezpośrednio pod sekcją z tłem — bez odstępu. Kolumny 728 / 712 px z projektu,
   zdjęcie odbite lustrzanie już w pliku; buteleczka na granicy kolumn (665 / 134 px, 115 × 332). */
.hb-shot.brxe-section {
	position: relative;
	display: grid;
	align-items: stretch;
	grid-template-columns: 728fr 712fr;
	width: 100%;
	min-height: clamp(480px, 43.06vw, 620px);
	padding: 0;
	background-color: var(--hb-braz-170);
}

.hb-shot__tresc {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding: 48px 64px 48px var(--hb-margines);
}

.hb-shot__tresc .hb-nadtytul {
	letter-spacing: 0.3em;
	color: var(--hb-braz-690);
}

.hb-shot__tresc .hb-h2 {
	margin-top: 20px;
	font-size: var(--fs-56-29);
	line-height: 1.06;
	color: var(--hb-braz-975);
}

.hb-shot__opis {
	margin: 26px 0 0;
	font-family: var(--hb-font-sans);
	font-size: var(--fs-lead);
	line-height: 1.6;
	color: var(--hb-braz-860);
}

.hb-shot__cta {
	width: 100%;
	margin-top: 38px;
}

.hb-shot__cta .hb-btn {
	--hb-btn-ramka: transparent;
	--hb-btn-wys: 62px;
	--hb-btn-grubosc: 700;
	--hb-btn-tracking: 0.2em;
	width: min(380px, 100%);
}

/* Kolumna zdjęcia ma w projekcie białe tło — widoczne w zaokrąglonym rogu.
   Na desktopie buteleczka pozycjonuje się względem całej sekcji. */
.hb-shot__zdjecie {
	height: 100%;
	background-color: var(--hb-white);
	overflow: hidden;
}

.hb-shot__zdjecie picture,
.hb-shot__zdjecie img:not(.hb-shot__butelka) {
	display: block;
	width: 100%;
	height: 100%;
}

.hb-shot__zdjecie img:not(.hb-shot__butelka) {
	object-fit: cover;
	object-position: 50% 0;
	border-top-right-radius: 20px;
}

.hb-shot__zdjecie img.hb-shot__butelka {
	position: absolute;
	z-index: 1;
	top: 21.6%;
	left: calc(728 / 1440 * 100% - 63px);
	height: 53.5%;
	width: auto;
	pointer-events: none;
}

/* --- Włosy. Skóra. Twój rytuał. ----------------------------------------- */

/* Kolumny 728 / 713 px z projektu; zdjęcie przycięte i w szarości już w pliku. */
.hb-formuly.brxe-section {
	display: grid;
	align-items: stretch;
	grid-template-columns: 728fr 713fr;
	width: 100%;
	min-height: clamp(480px, 43.06vw, 620px);
	padding: 0;
}

.hb-formuly__zdjecie {
	height: 100%;
	overflow: hidden;
}

.hb-formuly__zdjecie picture,
.hb-formuly__zdjecie img {
	display: block;
	width: 100%;
	height: 100%;
}

.hb-formuly__zdjecie img {
	object-fit: cover;
	object-position: 50% 0;
}

.hb-formuly__tresc {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding: 48px 64px 48px 80px;
}

.hb-formuly__tresc .hb-nadtytul {
	letter-spacing: 0.3em;
	color: var(--hb-braz-690);
}

.hb-formuly__tresc .hb-h2 {
	margin-top: 20px;
	font-size: var(--fs-56-27);
	line-height: 1.06;
	color: var(--hb-ink);
}

.hb-formuly__opis {
	margin: 26px 0 0;
	font-family: var(--hb-font-sans);
	font-size: var(--fs-lead);
	line-height: 1.6;
	color: var(--hb-ink);
}

.hb-formuly__cta {
	width: 100%;
	margin-top: 38px;
}

.hb-formuly__cta .hb-btn {
	--hb-btn-wys: 62px;
	--hb-btn-tracking: 0.2em;
	width: min(380px, 100%);
}

.hb-formuly__nota {
	margin: 21px 0 0;
	font-family: var(--hb-font-sans);
	font-size: var(--fs-drobny);
	line-height: 1.7;
	color: var(--hb-braz-595);
}

/* --- Wasze zdjęcia. Wasze historie. ------------------------------------- */

.hb-efekty.brxe-section {
	padding: clamp(1.875rem, -0.0335rem + 6.1905vw, 6.1875rem) 0 clamp(2.5rem, 0.2321rem + 5.5vw, 5.5rem);
}

.hb-efekty__naglowek {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 40px;
	padding-bottom: 26px;
	border-bottom: 1px solid var(--hb-braz-890);
}

.hb-efekty__naglowek .hb-h2 {
	font-size: var(--fs-52-27);
	line-height: 1;
	color: var(--hb-ink);
}

.hb-efekty__zrodlo {
	max-width: 340px;
	margin: 0;
	font-family: var(--hb-font-sans);
	font-size: var(--fs-maly);
	line-height: 1.7;
	color: var(--hb-braz-500);
}

.hb-efekty__lista {
	margin-top: 40px;
}

/* Slajd to para zdjęć: na desktopie odstęp w parze równy odstępowi slidera,
   więc cztery kafelki stoją w równych odległościach jak w projekcie. */
.brxe-block.hb-efekty__para {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	gap: 26px;
}

.hb-efekty__kafelek {
	position: relative;
	flex: 1;
	aspect-ratio: 300 / 341;
	border-radius: 6px;
	background-color: var(--hb-braz-910);
	overflow: hidden;
}

/* Kadr od góry: kafelek jest szerszy w proporcji niż zdjęcia od klientek,
   a kadrowanie od środka ucina włosy przy głowie. */
.hb-efekty__kafelek img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 0;
}

.hb-efekty__etykieta {
	position: absolute;
	bottom: 16px;
	left: 16px;
	margin: 0;
	padding: 7px 16px;
	border-radius: 4px;
	background-color: var(--hb-braz-975);
	font-family: var(--hb-font-sans);
	font-size: var(--fs-etykieta);
	font-weight: 700;
	letter-spacing: 0.18em;
	line-height: normal;
	text-transform: uppercase;
	color: var(--hb-ink);
}

.hb-efekty__strzalka,
.hb-efekty__nota {
	display: none;
}

/* --- Sprawdź proces ----------------------------------------------------- */

.hb-proces.brxe-section {
	padding-top: 29px;
}

.hb-proces .hb-kontener {
	display: grid;
	align-items: center;
	grid-template-columns: minmax(0, 576px) minmax(0, 1fr);
	gap: clamp(2.5rem, -0.1232rem + 10.7619vw, 9.5625rem);
}

.hb-proces__zdjecia {
	position: relative;
	aspect-ratio: 576 / 722;
	border-radius: 14px;
	background-color: var(--hb-braz-910);
	overflow: hidden;
}

/* Zdjęcia leżą na sobie; suwak steruje kryciem, pierwsze widać od startu. */
.hb-proces__zdjecia img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
}

.hb-proces__zdjecia img:first-child {
	opacity: 1;
}

.hb-proces__tresc .hb-h2 {
	font-size: var(--fs-48-29);
	line-height: 1.08;
	color: var(--hb-ink);
}

.hb-proces__opis {
	max-width: 396px;
	margin: 20px 0 0;
	font-family: var(--hb-font-sans);
	font-size: var(--fs-tekst);
	line-height: 1.7;
	color: var(--hb-braz-320);
}

.hb-proces__suwak {
	max-inline-size: 450px;
	margin-top: 50px;
}

.hb-proces__zakres {
	-webkit-appearance: none;
	appearance: none;
	display: block;
	width: 100%;
	height: 7px;
	margin: 0;
	border-radius: 999px;
	background-color: var(--hb-braz-860);
	cursor: grab;
}

.hb-proces__zakres:active {
	cursor: grabbing;
}

.hb-proces__zakres::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 20px;
	height: 20px;
	border: 0;
	border-radius: 999px;
	background-color: var(--hb-braz-170);
}

.hb-proces__zakres::-moz-range-thumb {
	width: 20px;
	height: 20px;
	border: 0;
	border-radius: 999px;
	background-color: var(--hb-braz-170);
}

.hb-proces__zakres:focus-visible {
	outline: 2px solid var(--hb-ink);
	outline-offset: 6px;
}

.hb-proces__skala {
	display: flex;
	justify-content: space-between;
	margin-top: 19px;
	font-family: var(--hb-font-sans);
	font-size: var(--fs-etykieta);
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--hb-ink);
}

.hb-proces__nota {
	max-width: 374px;
	margin: 44px 0 0;
	font-family: var(--hb-font-sans);
	font-size: var(--fs-tekst);
	line-height: 1.7;
	color: var(--hb-braz-500);
}

/* --- Jakość zaczyna się od składników ----------------------------------- */

.hb-sklad.brxe-section {
	margin-top: clamp(3.125rem, 1.3607rem + 7.2381vw, 7.875rem);
	background-color: var(--hb-braz-170);
}

.hb-sklad .hb-kontener {
	display: grid;
	align-items: start;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: 72px;
}

.hb-sklad__tresc .hb-h2 {
	font-size: var(--fs-52-29);
	line-height: 1.06;
	color: var(--hb-braz-975);
}

.hb-sklad__opis {
	max-width: 400px;
	margin: 24px 0 0;
	font-family: var(--hb-font-sans);
	font-size: var(--fs-tekst);
	line-height: 1.75;
	color: var(--hb-braz-720);
}

.hb-sklad__cta {
	margin-top: 40px;
}

.hb-sklad__cta .hb-btn {
	--hb-btn-ramka: transparent;
	--hb-btn-wys: 62px;
	--hb-btn-tracking: 0.2em;
	width: min(360px, 100%);
}

.hb-sklad__wiersz {
	display: flex;
	align-items: center;
	gap: 26px;
	padding: 28px 0;
	border-top: 1px solid var(--hb-kreska-na-ciemnym);
}

.hb-sklad__ikona {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 58px;
	height: 58px;
	border: 1px solid var(--hb-braz-690);
	border-radius: 50%;
	color: var(--hb-braz-975);
}

.hb-sklad__ikona::before {
	content: "";
	width: 30px;
	height: 30px;
	background-color: currentColor;
	mask: var(--hb-ikona) center / contain no-repeat;
	-webkit-mask: var(--hb-ikona) center / contain no-repeat;
}

.hb-sklad__ikona--naticol  { --hb-ikona: url("../icons/sklad-naticol.svg"); }
.hb-sklad__ikona--witamina { --hb-ikona: url("../icons/sklad-witamina.svg"); }
.hb-sklad__ikona--biotyna  { --hb-ikona: url("../icons/sklad-biotyna.svg"); }

.hb-sklad__nazwa {
	margin: 0;
	font-family: var(--hb-font-serif);
	font-size: var(--fs-24-17);
	font-weight: 400;
	line-height: normal;
	text-transform: none;
	color: var(--hb-braz-975);
}

.hb-sklad__podpis {
	margin: 5px 0 0;
	font-family: var(--hb-font-sans);
	font-size: var(--fs-tekst);
	line-height: 1.5;
	color: var(--hb-braz-720);
}

/* --- Baner ze zdjęciem (pas pełnej szerokości) -------------------------- */

.hb-baner.brxe-section {
	padding: 0;
}

.hb-baner__zdjecie {
	display: block;
	width: 100%;
	aspect-ratio: 1441 / 566;
	object-fit: cover;
}

/* --- Twój duet na co dzień --------------------------------------------- */

.hb-duet.brxe-section {
	display: grid;
	align-items: stretch;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
	width: 100%;
	min-height: clamp(30rem, 24.2857rem + 23.4921vw, 40rem);
	padding: 0;
	background-color: var(--hb-roz-920);
}

.hb-duet__tresc {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding: 48px 64px 48px var(--hb-margines);
}

.hb-duet__tresc .hb-h2 {
	font-size: var(--fs-56-29);
	line-height: 1.05;
	color: var(--hb-ink);
}

.hb-duet__podtytul {
	margin: 14px 0 0;
	font-family: var(--hb-font-serif);
	font-size: var(--fs-34-20);
	font-style: italic;
	font-weight: 400;
	line-height: normal;
	text-transform: none;
	color: var(--hb-roz-585);
}

.hb-duet__opis {
	max-width: 420px;
	margin: 24px 0 0;
	font-family: var(--hb-font-sans);
	font-size: var(--fs-tekst);
	line-height: 1.75;
	color: var(--hb-braz-320);
}

.hb-duet__cta {
	width: 100%;
	margin-top: 38px;
}

.hb-duet__cta .hb-btn {
	--hb-btn-kolor: var(--hb-braz-170);
	--hb-btn-wys: 62px;
	--hb-btn-tracking: 0.2em;
	width: min(400px, 100%);
}

.hb-duet__link {
	margin: 22px 0 0;
	font-family: var(--hb-font-sans);
	font-size: var(--fs-maly);
	line-height: normal;
	text-decoration: underline;
	color: var(--hb-braz-320);
}

.hb-duet__zdjecie img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* --- Wolisz gotowy shot? ------------------------------------------------ */

.hb-shot2 .hb-kontener {
	display: grid;
	align-items: center;
	grid-template-columns: minmax(0, 729px) minmax(0, 1fr);
}

/* Odstęp z systemu odstępów motywu zamiast dwóch zestawów pikseli z makiety:
   jedna reguła obsługuje wszystkie szerokości (32 px na telefonie, 64 px na desktopie). */
.hb-shot2.brxe-section {
	margin-block: var(--gap-4-2);
	padding: 0;
}

/* Butelka leży na kwiacie w proporcjach z makiety — ten sam układ w obu szerokościach. */
.hb-shot2__kompozycja {
	position: relative;
	width: 530px;
	max-width: 100%;
	margin-left: 14px;
	aspect-ratio: 1;
}

.hb-shot2__kompozycja img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.hb-shot2__kompozycja img.hb-shot2__butelka {
	position: absolute;
	top: 11.9%;
	left: 27.5%;
	width: 27.5%;
	height: 79.6%;
}

.hb-shot2__tresc .hb-h2 {
	font-size: var(--fs-52-29);
	line-height: 1.06;
	color: var(--hb-ink);
}

.hb-shot2__opis {
	margin: 23px 0 0;
	font-family: var(--hb-font-sans);
	font-size: var(--fs-lead);
	line-height: 1.6;
	color: var(--hb-ink);
}

.hb-shot2__cta {
	margin-top: 34px;
}

.hb-shot2__cta .hb-btn {
	--hb-btn-ramka: var(--hb-braz-800);
	--hb-btn-wys: 57px;
	--hb-btn-tracking: 0.18em;
	width: min(360px, 100%);
}

/* --- Akordeon informacyjny ---------------------------------------------- */

.hb-akordeon.brxe-section {
	padding: 0;
}

.hb-akordeon__lista {
	width: min(100% - 2 * var(--hb-margines), 880px);
	margin-inline: auto;
	border-bottom: 1px solid var(--hb-braz-885);
}

.hb-akordeon__pozycja {
	border-top: 1px solid var(--hb-braz-885);
}

.hb-akordeon__naglowek {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 24px 0;
	cursor: pointer;
	list-style: none;
}

.hb-akordeon__naglowek::-webkit-details-marker {
	display: none;
}

.hb-akordeon__naglowek::after {
	content: "+";
	font-family: var(--hb-font-sans);
	font-size: var(--fs-24-19);
	line-height: 1;
	color: var(--hb-braz-500);
}

.hb-akordeon__pozycja[open] .hb-akordeon__naglowek::after {
	content: "–";
}

.hb-akordeon__tytul {
	font-family: var(--hb-font-sans);
	font-size: var(--fs-17-14);
	line-height: normal;
	color: var(--hb-ink);
}

.hb-akordeon__tresc {
	max-width: 680px;
	padding-bottom: 24px;
	font-family: var(--hb-font-sans);
	font-size: var(--fs-tekst);
	line-height: 1.7;
	color: var(--hb-braz-320);
}

.hb-akordeon__tresc p {
	margin: 0;
}

/* --- Poznaj Hair Vitamin ------------------------------------------------ */

.hb-witaminy.brxe-section {
	margin-top: clamp(0.3125rem, -2.1946rem + 10.2857vw, 7.0625rem);
	background-color: var(--hb-roz-920);
}

.hb-witaminy .hb-kontener {
	display: grid;
	align-items: center;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	gap: 80px;
}

.hb-witaminy__zdjecie {
	aspect-ratio: 642 / 540;
	border-radius: 20px;
	overflow: hidden;
}

.hb-witaminy__zdjecie img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hb-witaminy__tresc .hb-nadtytul {
	letter-spacing: 0.24em;
	color: var(--hb-roz-640);
}

.hb-witaminy__tresc .hb-h2 {
	margin-top: 16px;
	font-size: var(--fs-52-30);
	line-height: 0.92;
	color: var(--hb-ink);
}

.hb-witaminy__opis {
	max-width: 420px;
	margin: 22px 0 0;
	font-family: var(--hb-font-sans);
	font-size: var(--fs-lead);
	line-height: 1.3;
	color: var(--hb-ink);
}

.hb-witaminy__liczby {
	margin: 18px 0 0;
	font-family: var(--hb-font-sans);
	font-size: var(--fs-tekst);
	line-height: normal;
	color: var(--hb-braz-320);
}

.hb-witaminy__cta {
	margin-top: 34px;
}

.hb-witaminy__cta .hb-btn {
	--hb-btn-kolor: var(--hb-ink);
	--hb-btn-wys: 54px;
	--hb-btn-grubosc: 600;
	--hb-btn-tracking: 0.14em;
}

/* --- Jak zacząć? -------------------------------------------------------- */

.hb-start.brxe-section {
	padding: 87px 0 0;
}

.hb-start .hb-h2 {
	font-size: var(--fs-52-30);
	line-height: 1.08;
	color: var(--hb-ink);
}

.hb-start__lista {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 40px;
	margin-top: 44px;
}

.hb-start__krok {
	padding-top: 28px;
	border-top: 1px solid var(--hb-braz-885);
}

.hb-start__numer {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	border: 1px solid var(--hb-braz-750);
	border-radius: 50%;
	font-family: var(--hb-font-serif);
	font-size: var(--fs-19-15);
	line-height: 1;
	color: var(--hb-ink);
}

.hb-start__tytul {
	margin: 22px 0 0;
	font-family: var(--hb-font-sans);
	font-size: var(--fs-20-14);
	font-weight: 600;
	line-height: normal;
	text-transform: none;
	color: var(--hb-ink);
}

.hb-start__opis {
	margin: 9px 0 0;
	font-family: var(--hb-font-sans);
	font-size: var(--fs-tekst);
	line-height: 1.65;
	color: var(--hb-braz-500);
}

/* --- Zobacz, jak przygotować Beauty Drink ------------------------------- */

.hb-instrukcja.brxe-section {
	padding: 72px 0 0;
}

.hb-instrukcja__ramka {
	position: relative;
	aspect-ratio: 1280 / 520;
	border-radius: 6px;
	background-color: var(--hb-braz-910);
	overflow: hidden;
}

/* Element wideo Bricksa ma własne proporcje 16:9 — rozciągamy go do ramki,
   inaczej nakładka z ikoną centruje się względem wyższego bloku. */
.hb-instrukcja__ramka .brxe-video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
}

.hb-instrukcja__ramka .brxe-video video,
.hb-instrukcja__ramka img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hb-instrukcja__ramka .bricks-video-overlay-icon {
	position: absolute;
	top: 44.5%;
	left: 50%;
	width: 84px;
	height: 84px;
	transform: translate(-50%, -50%);
	font-size: 0;
	background: url("../icons/play.svg") center / contain no-repeat;
	cursor: pointer;
}

.hb-instrukcja__ramka .bricks-video-overlay-icon::before {
	content: none;
}

.hb-instrukcja__ramka .bricks-video-overlay-icon:focus-visible {
	outline: 2px solid var(--hb-white);
	outline-offset: 4px;
	border-radius: 50%;
}

/* Napis leży na kadrze i znika na czas odtwarzania — klasę przełącza hb-film.js.
   Nie używamy display, żeby nagłówek został w drzewie dokumentu i miał przejście.
   Plakietka w kolorze tła strony: na jasnej makiecie napis był czytelny wprost na kadrze,
   na filmie już nie. Dosunięta do lewej krawędzi kadru, wcięcie tekstu jak w projekcie. */
.hb-instrukcja__naglowek {
	position: absolute;
	bottom: 44px;
	left: 0;
	width: fit-content;
	max-width: calc(100% - 48px);
	margin: 0;
	padding: 20px 36px 20px 48px;
	border-radius: 0 6px 6px 0;
	background-color: var(--hb-bg);
	font-family: var(--hb-font-serif);
	font-size: var(--fs-32-19);
	font-weight: 400;
	line-height: 1.2;
	text-transform: none;
	color: var(--hb-ink);
	pointer-events: none;
	transition: opacity 0.25s ease, visibility 0.25s ease;
}

.hb-instrukcja.jest-odtwarzany .hb-instrukcja__naglowek {
	opacity: 0;
	visibility: hidden;
}

/* Po starcie odtwarzaniem steruje odtwarzacz przeglądarki. Warstwa startowa Bricksa
   (`.bricks-video-overlay`, przezroczysty div na CAŁYM kadrze razem z ikoną) musi wtedy
   zniknąć — inaczej łapie dotknięcie przycisku pauzy, który Chrome na Androidzie rysuje
   pośrodku filmu. Sama ikona to za mało, warstwa jest pod nią i zasłania cały kadr. */
.hb-film.ma-kontrolki .bricks-video-overlay,
.hb-film.ma-kontrolki .bricks-video-overlay-icon,
.hb-instrukcja.ma-kontrolki .bricks-video-overlay,
.hb-instrukcja.ma-kontrolki .bricks-video-overlay-icon {
	display: none;
}

/* Do pierwszego startu odtwarzacz jest niewidoczny (w projekcie jest sam kadr z ikoną play),
   ale atrybut „controls” siedzi w znaczniku od początku — jego późniejsze dokładanie
   przerywa odtwarzanie na Chrome (Android). Firefox nie zna tych pseudoelementów
   i pokaże pasek od razu. */
.hb-film:not(.ma-kontrolki) video::-webkit-media-controls,
.hb-film:not(.ma-kontrolki) video::-webkit-media-controls-enclosure,
.hb-instrukcja:not(.ma-kontrolki) video::-webkit-media-controls,
.hb-instrukcja:not(.ma-kontrolki) video::-webkit-media-controls-enclosure {
	display: none !important;
}

/* Pasek kontrolek przeglądarki zajmuje dół kadru — napis nie może go zasłaniać. */
.hb-instrukcja.ma-kontrolki .hb-instrukcja__naglowek {
	bottom: 62px;
}

.hb-instrukcja__nota {
	max-width: 560px;
	margin: 23px auto 0;
	font-family: var(--hb-font-sans);
	font-size: var(--fs-drobny);
	line-height: 1.7;
	text-align: center;
	color: var(--hb-braz-595);
}

/* --- Jeszcze coś Cię zastanawia? (FAQ) ---------------------------------- */

.hb-faq.brxe-section {
	padding: 88px 0;
}

.hb-faq .hb-kontener {
	display: grid;
	align-items: start;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	gap: 72px;
}

.hb-faq .hb-h2 {
	font-size: var(--fs-48-28);
	line-height: 1.08;
	color: var(--hb-ink);
}

/* Ten sam komponent co akordeon informacyjny, tylko kreski są pod wierszami. */
.hb-faq__lista .hb-akordeon__pozycja {
	border-top: 0;
	border-bottom: 1px solid var(--hb-braz-885);
}

.hb-faq__lista .hb-akordeon__naglowek {
	padding: 26px 0;
}

.hb-faq__lista .hb-akordeon__tytul {
	font-size: var(--fs-lead);
}

/* --- Zobacz HAIRBOOM w akcji (Instagram) -------------------------------- */

.hb-instagram.brxe-section {
	background-color: var(--hb-roz-920);
}

.hb-instagram__naglowek {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 40px;
}

.hb-instagram .hb-h2 {
	font-size: var(--fs-48-27);
	line-height: 1.08;
	color: var(--hb-ink);
}

.hb-instagram__link {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	gap: 16px;
	font-family: var(--hb-font-sans);
	font-size: var(--fs-etykieta);
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--hb-ink);
}

.hb-instagram__link::before,
.hb-instagram__link::after {
	content: "";
	flex: 0 0 auto;
	background-color: currentColor;
}

/* Ikona ma w pliku kolor tuszu, więc idzie tłem — maska zjadłaby obwódkę kwadratu. */
.hb-instagram__link::before {
	width: 46px;
	height: 46px;
	border: 1px solid currentColor;
	border-radius: 10px;
	background: url("../icons/instagram.svg") center / 22px 22px no-repeat;
}

.hb-instagram__link::after {
	width: 26px;
	height: 14px;
	mask: url("../icons/strzalka-link.svg") center / contain no-repeat;
	-webkit-mask: url("../icons/strzalka-link.svg") center / contain no-repeat;
}

.hb-instagram__galeria {
	margin-top: 40px;
}

/* Kafelek filmu: proporcje z makiety (302 × 403), okładka do czasu odtworzenia. */
.hb-instagram__kafelek {
	position: relative;
	aspect-ratio: 302 / 403;
	border-radius: 4px;
	background-color: var(--hb-braz-910);
	overflow: hidden;
}

.hb-instagram__kafelek .brxe-video,
.hb-instagram__kafelek video,
.hb-instagram__kafelek img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	object-fit: cover;
}

.hb-instagram__kafelek .bricks-video-overlay-icon {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 54px;
	height: 54px;
	transform: translate(-50%, -50%);
	/* Cień: ikona bywa na jasnym kadrze z białym napisem i wtedy znika. */
	filter: drop-shadow(0 2px 10px rgba(0, 0, 0, 0.45));
	font-size: 0;
	background: url("../icons/play.svg") center / contain no-repeat;
	cursor: pointer;
}

.hb-instagram__kafelek .bricks-video-overlay-icon::before {
	content: none;
}

/* Kontrolki pojawiają się dopiero po starcie — atrybut jest w znaczniku od początku. */
.hb-instagram__kafelek:not(.ma-kontrolki) video::-webkit-media-controls,
.hb-instagram__kafelek:not(.ma-kontrolki) video::-webkit-media-controls-enclosure {
	display: none !important;
}

.hb-instagram__kafelek.ma-kontrolki .bricks-video-overlay,
.hb-instagram__kafelek.ma-kontrolki .bricks-video-overlay-icon {
	display: none;
}

@media (max-width: 991px) {
	.hb-hero.brxe-section {
		grid-template-columns: minmax(0, 1fr);
		min-height: 0;
	}

	/* Zdjęcie 390 × 480 z makiety; plik ma kadr 392 × 553, widoczna górna część. */
	.hb-hero__zdjecie {
		position: relative;
		height: auto;
		aspect-ratio: 390 / 480;
		overflow: hidden;
	}

	.hb-hero__zdjecie img {
		object-position: 50% 0;
	}

	.hb-hero__zdjecie::after {
		content: "";
		position: absolute;
		inset: auto 0 0;
		height: 24.6vw;
		background: linear-gradient(to top, var(--hb-roz-795), rgb(237 185 184 / 0));
		pointer-events: none;
	}

	/* Poświata pod podpisem: ramka 339 × 258 (z rozmyciem) w punkcie −94 / 309 px makiety. */
	.hb-hero.brxe-section::before {
		content: "";
		position: absolute;
		z-index: 1;
		left: -24.1vw;
		top: 79.2vw;
		width: 86.9vw;
		height: 66.2vw;
		background: url("../img/hero-poswiata.svg") center / 100% 100% no-repeat;
		pointer-events: none;
	}

	.hb-hero__panel {
		position: static;
		justify-content: center;
		padding: 18px 0 35px;
		/* Pod zdjęciem druga połowa przejścia: #EDB9B8 wygasa na atłasie (96 px makiety). */
		background:
			linear-gradient(to bottom, var(--hb-roz-795), rgb(237 185 184 / 0)) top / 100% 24.6vw no-repeat,
			var(--hb-roz-795) url("../img/hero-tlo-atlas.webp") center bottom / cover no-repeat;
	}

	.hb-hero__tresc {
		align-items: stretch;
		gap: 18px;
		width: min(202px, 100%);
	}

	.hb-hero__naglowek {
		align-items: center;
		gap: 9px;
		text-align: center;
	}

	.hb-hero__nad {
		font-weight: 600;
	}

	.hb-hero__kreska {
		width: 36px;
		margin-top: 2px;
	}

	.hb-hero__tytul {
		align-items: center;
		width: 100%;
	}

	.hb-hero__tytul-duzy {
		line-height: 0.75;
	}

	.hb-hero__tytul-maly {
		margin-top: 7px;
		line-height: 1.04;
	}

	.hb-hero__amp {
		color: var(--hb-roz-350);
	}

	.hb-hero__cta {
		--hb-btn-tlo: var(--hb-roz-780);
		width: 100%;
	}

	.hb-film__wideo {
		aspect-ratio: 390 / 151;
	}

	.hb-film__wideo video,
	.hb-film__wideo img {
		object-position: 45% 26%;
	}

	.hb-film__wideo .bricks-video-overlay-icon,
	.hb-film__ikona {
		top: 37.4%;
		width: 42px;
		height: 43px;
	}

	.hb-rytual__naglowek {
		align-items: flex-start;
		gap: 12px;
		text-align: left;
	}

	.hb-rytual__naglowek .hb-h2 {
		line-height: 1.1;
	}

	.hb-rytual__wszystkie {
		margin-top: 24px;
	}

	.hb-pakiet.brxe-section {
		background-color: var(--hb-braz-165);
	}

	.hb-pakiet__kolumna {
		gap: 14px;
		padding: 10px 4px;
	}

	.hb-pakiet__opis {
		gap: 6px;
	}

	.hb-pakiet__dopisek {
		font-size: var(--fs-drobny);
	}

	.hb-pakiet__tekst {
		font-size: var(--fs-drobny);
		line-height: 1.5;
	}

	.hb-pakiet__cta .hb-btn {
		--hb-btn-tekst: var(--hb-braz-165);
		min-width: 269px;
	}

	/* Mobile: zdjęcie od krawędzi do krawędzi, nagłówek na zdjęciu (26 / 22 px od góry i lewej). */
	.hb-srodek__naglowek {
		position: absolute;
		z-index: 1;
		top: 22px;
		left: var(--hb-margines);
		right: var(--hb-margines);
	}

	/* Tytuł w jednym wierszu na zdjęciu, jak w projekcie (35 px przy 390 wystawało 2 px). */
	.hb-srodek__naglowek .hb-h2 {
		font-size: min(var(--fs-52-35), 8.85vw);
	}

	.hb-srodek__uklad {
		grid-template-columns: minmax(0, 1fr);
		margin-top: 0;
	}

	.hb-srodek__zdjecie {
		width: calc(100% + 2 * var(--hb-margines));
		max-width: none;
		margin-inline: calc(-1 * var(--hb-margines));
	}

	.hb-srodek__zdjecie img {
		border-radius: 0;
	}

	.hb-srodek__prawa {
		margin-top: 10px;
	}

	.hb-srodek__cta .hb-btn {
		--hb-btn-wys: 52px;
		width: 100%;
	}

	.hb-kiedy.brxe-section {
		background-color: var(--hb-roz-920);
	}

	.hb-kiedy__uklad {
		grid-template-columns: minmax(0, 1fr);
		gap: 22px;
	}

	.hb-kiedy__intro {
		gap: 11px;
		padding-top: 0;
	}

	.hb-kiedy__intro .hb-nadtytul {
		font-weight: 500;
		letter-spacing: 0.22em;
		color: var(--hb-roz-640);
	}

	.hb-kiedy__intro .hb-h2 {
		padding-top: 7px;
		line-height: 1.1;
	}

	.hb-kiedy__opis {
		max-width: none;
		line-height: 1.55;
	}

	.hb-kiedy__pozycja {
		gap: 18px;
		padding: 15px 0;
	}

	.hb-kiedy__numer {
		min-width: 20px;
	}

	.hb-instrukcja.brxe-section {
		padding: 0 0 8px;
	}

	.hb-instrukcja__ramka {
		aspect-ratio: 346 / 230;
		border-radius: 4px;
	}

	.hb-instrukcja__ramka .bricks-video-overlay-icon {
		top: 45%;
		width: 50px;
		height: 50px;
	}

	/* Na telefonie plakietka jest mała: po pauzie odtwarzacz rysuje swój przycisk play
	   na środku kadru, a większy napis zasłaniał go i dotknięcie obok nic nie robiło. */
	.hb-instrukcja__naglowek {
		bottom: 12px;
		max-width: calc(100% - 18px);
		padding: 8px 14px 8px 18px;
		border-radius: 0 4px 4px 0;
		font-size: var(--fs-maly);
		line-height: 1.35;
	}

	.hb-instrukcja.ma-kontrolki .hb-instrukcja__naglowek {
		bottom: 44px;
	}

	/* Odtwarzacze mobilne rysują własną ikonę play na okładce — nasza by się z nią dublowała. */
	.hb-film .bricks-video-overlay-icon,
	.hb-instrukcja .bricks-video-overlay-icon {
		display: none;
	}

	.hb-instrukcja__nota {
		max-width: 300px;
		margin-top: 17px;
		line-height: 1.6;
	}

	/* Mobile: kroki jeden pod drugim, numer obok tekstu. */
	.hb-start.brxe-section {
		padding: 31px 0 28px;
	}

	.hb-start__lista {
		display: block;
		margin-top: 20px;
	}

	.hb-start__krok {
		display: flex;
		align-items: center;
		gap: 16px;
		padding: 16px 0;
	}

	.hb-start__numer {
		flex: 0 0 auto;
		width: 44px;
		height: 44px;
	}

	.hb-start__tytul {
		margin: 0;
	}

	.hb-start__opis {
		margin-top: 3px;
		font-size: var(--fs-drobny);
		line-height: 1.5;
	}

	/* Mobile: nagłówek nad wierszem „zdjęcie + tekst”, przycisk pod tekstem. */
	.hb-witaminy .hb-kontener {
		display: grid;
		align-items: center;
		grid-template-columns: 150px minmax(0, 1fr);
		gap: 0 14px;
	}

	.hb-witaminy__tresc {
		display: contents;
	}

	.hb-witaminy__tresc .hb-nadtytul {
		order: -2;
		grid-column: 1 / -1;
		font-weight: 500;
		letter-spacing: 0.22em;
	}

	.hb-witaminy__tresc .hb-h2 {
		order: -1;
		grid-column: 1 / -1;
		margin-top: 16px;
		margin-bottom: 16px;
		line-height: 1.12;
	}

	.hb-witaminy__zdjecie {
		grid-row: 3 / 6;
		align-self: center;
		aspect-ratio: 150 / 200;
		border-radius: 10px;
	}

	.hb-witaminy__opis {
		grid-column: 2;
		margin-top: 0;
		font-size: var(--fs-maly);
		line-height: 1.5;
	}

	.hb-witaminy__liczby {
		grid-column: 2;
		margin-top: 16px;
		font-size: var(--fs-drobny);
	}

	.hb-witaminy__cta {
		grid-column: 2;
		margin-top: 16px;
	}

	.hb-witaminy__cta .hb-btn {
		--hb-btn-kolor: var(--hb-braz-170);
		--hb-btn-wys: 50px;
		--hb-btn-tracking: 0.16em;
		width: 100%;
		padding: 0 12px;
	}

	/* Mobile: nagłówek, galeria, a link dopiero pod nią — stąd wyjęcie go z nagłówka. */
	.hb-instagram.brxe-section {
	}

	.hb-instagram .hb-kontener {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	.hb-instagram__naglowek {
		display: contents;
	}

	.hb-instagram .hb-h2 {
		order: 1;
	}

	.hb-instagram__galeria {
		order: 2;
	}

	.hb-instagram__link {
		order: 3;
	}

	.hb-instagram__galeria {
		margin-top: 18px;
	}

	.hb-instagram__link {
		gap: 14px;
		margin-top: 24px;
		font-weight: 600;
		letter-spacing: 0.16em;
	}

	.hb-instagram__link::before {
		width: 38px;
		height: 38px;
		border-radius: 8px;
		background-size: 19px 19px;
	}

	.hb-instagram__link::after {
		width: 20px;
	}

	.hb-faq.brxe-section {
		padding: 32px 0 30px;
	}

	.hb-faq .hb-kontener {
		display: block;
	}

	.hb-faq__lista {
		margin-top: 16px;
	}

	.hb-faq__lista .hb-akordeon__naglowek {
		padding: 16px 0;
	}

	.hb-akordeon.brxe-section {
		padding: 22px 0 30px;
	}

	.hb-akordeon__lista {
		border-bottom: 0;
	}

	.hb-akordeon__naglowek {
		gap: 16px;
		padding: 16px 0;
	}

	.hb-akordeon__tresc {
		padding-bottom: 16px;
	}

	/* Mobile: nagłówek nad kompozycją, tekst obok niej; kwiat wychodzi poza lewą krawędź. */
	.hb-shot2 .hb-kontener {
		display: grid;
		align-items: center;
		grid-template-columns: 155px minmax(0, 1fr);
		column-gap: 1px;
	}

	.hb-shot2__tresc {
		display: contents;
	}

	.hb-shot2__tresc .hb-h2 {
		order: -1;
		grid-column: 1 / -1;
		margin-bottom: 2px;
	}

	.hb-shot2__kompozycja {
		align-self: center;
		width: 178px;
		max-width: none;
		margin-left: -23px;
	}

	.hb-shot2__opis {
		margin: 0;
		font-size: var(--fs-maly);
		line-height: 1.5;
	}

	.hb-shot2__blok {
		grid-column: 2;
	}

	.hb-shot2__cta {
		margin-top: 16px;
	}

	.hb-shot2__cta .hb-btn {
		--hb-btn-wys: 46px;
		--hb-btn-grubosc: 600;
		--hb-btn-tracking: 0.16em;
		width: 194px;
	}

	/* Mobile: nagłówek i podtytuł, zdjęcie od krawędzi do krawędzi, przycisk, link. */
	.hb-baner__zdjecie {
		aspect-ratio: 390 / 346;
	}

	.hb-duet.brxe-section {
		display: flex;
		flex-direction: column;
		min-height: 0;
		/* Zdjęcie jest dosunięte do górnej krawędzi — odstęp tylko od dołu. */
		padding-block: 0 var(--gap-5-2);
	}

	.hb-duet__tresc {
		display: contents;
	}

	.hb-duet__tresc > * {
		margin-inline: var(--hb-margines);
	}

	.hb-duet__tresc .hb-h2 {
		order: 1;
		margin-top: 31px;
		line-height: 1.12;
	}

	.hb-duet__podtytul {
		order: 2;
		margin-top: 8px;
	}

	.hb-duet__opis {
		display: none;
	}

	/* Makieta mobilna kadruje zdjęcie inaczej niż desktopowa. */
	.hb-duet__zdjecie {
		order: 3;
		aspect-ratio: 390 / 398;
		margin-top: 31px;
	}

	.hb-duet__cta {
		order: 4;
		width: auto;
		margin-top: 35px;
	}

	.hb-duet__cta .hb-btn {
		--hb-btn-wys: 52px;
		--hb-btn-grubosc: 600;
		--hb-btn-tracking: 0.18em;
		width: 100%;
	}

	.hb-duet__link {
		order: 5;
		margin-top: 17px;
		text-align: center;
	}

	/* Mobile: nagłówek, lista, przycisk na końcu (w makiecie opisu nie ma). */
	.hb-sklad .hb-kontener {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	.hb-sklad__opis {
		display: none;
	}

	.hb-sklad__tresc {
		display: contents;
	}

	.hb-sklad__lista {
		order: 1;
		margin-top: 22px;
	}

	.hb-sklad__cta {
		order: 2;
		margin-top: 22px;
	}

	.hb-sklad__cta .hb-btn {
		--hb-btn-wys: 54px;
		--hb-btn-grubosc: 600;
		--hb-btn-tracking: 0.18em;
		width: 100%;
	}

	.hb-sklad__wiersz {
		gap: 18px;
		padding: 18px 0;
	}

	.hb-sklad__ikona {
		width: 46px;
		height: 46px;
	}

	.hb-sklad__ikona::before {
		width: 24px;
		height: 24px;
	}

	.hb-sklad__podpis {
		margin-top: 3px;
	}

	/* Mobile: zdjęcie nad nagłówkiem, bez opisu i noty (nie ma ich w makiecie). */
	.hb-proces.brxe-section {
		padding-top: 56px;
	}

	.hb-proces .hb-kontener {
		display: block;
	}

	.hb-proces__zdjecia {
		aspect-ratio: 347 / 441;
		border-radius: 15px;
	}

	.hb-proces__tresc .hb-h2 {
		margin-top: 22px;
		line-height: 1.15;
	}

	.hb-proces__opis,
	.hb-proces__nota {
		display: none;
	}

	.hb-proces__suwak {
		margin-top: 25px;
	}

	.hb-proces__skala {
		margin-top: 16px;
		letter-spacing: 0.1em;
	}

	/* Mobile: jedna para na slajd, strzałka między zdjęciami, nota pod karuzelą. */
	.hb-efekty__naglowek {
		display: block;
		padding-bottom: 0;
		border-bottom: 0;
	}

	.hb-efekty__zrodlo {
		display: none;
	}

	.hb-efekty__lista {
		margin-top: 18px;
	}

	.brxe-block.hb-efekty__para {
		align-items: center;
		gap: 9px;
	}

	.hb-efekty__kafelek {
		aspect-ratio: 142 / 219;
		border-radius: 15px;
	}

	.hb-efekty__etykieta {
		bottom: 18px;
		left: 14px;
		padding: 5px 11px;
		font-weight: 600;
		letter-spacing: 0.14em;
	}

	.hb-efekty__strzalka {
		display: block;
		flex: 0 0 35px;
		width: 35px;
		height: 35px;
		background-color: var(--hb-braz-320);
		-webkit-mask: url("../icons/strzalka-efekt.svg") center / contain no-repeat;
		mask: url("../icons/strzalka-efekt.svg") center / contain no-repeat;
	}

	/* Nota stoi między zdjęciami a strzałkami, a te są dziećmi slidera —
	   miejsce na nią robi padding slidera, strzałki siadają na jego dole. */
	.hb-efekty__lista {
		position: relative;
		padding-bottom: 79px;
	}

	.brxe-slider-nested.hb-efekty__lista .splide__arrows {
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		margin-top: 0;
	}

	.hb-efekty__nota {
		display: block;
		margin: -63px 0 0;
		font-family: var(--hb-font-sans);
		font-size: var(--fs-drobny);
		line-height: normal;
		text-align: center;
		color: var(--hb-braz-560);
	}

	/* Mobile: zdjęcie nad treścią, bez nadtytułu; kolory tekstu i przycisku z makiety mobilnej. */
	.hb-formuly.brxe-section {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		min-height: 0;
	}

	.hb-formuly__zdjecie {
		height: auto;
		aspect-ratio: 390 / 482;
	}

	.hb-formuly__tresc {
		align-items: stretch;
		padding: 30px var(--hb-margines) 34px;
	}

	.hb-formuly__tresc .hb-h2 {
		margin-top: 0;
		line-height: 1.15;
	}

	.hb-formuly__opis {
		margin-top: 13px;
		color: var(--hb-braz-320);
	}

	.hb-formuly__cta {
		margin-top: 25px;
	}

	.hb-formuly__cta .hb-btn {
		--hb-btn-kolor: var(--hb-braz-170);
		--hb-btn-wys: 52px;
		--hb-btn-grubosc: 600;
		--hb-btn-tracking: 0.18em;
		width: 100%;
	}

	.hb-formuly__nota {
		max-width: 282px;
		margin: 19px auto 0;
		line-height: 1.4;
		text-align: center;
	}

	/* Mobile: nagłówek, zdjęcie od krawędzi do krawędzi z buteleczką, tekst, przycisk. */
	.hb-shot.brxe-section {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		min-height: 0;
		/* Desktop trzyma odstępy w kolumnie z tekstem, na telefonie wraca wspólny odstęp sekcji. */
		padding-block: var(--gap-5-2);
		text-align: left;
	}

	.hb-shot__tresc {
		display: contents;
	}

	.hb-shot__tresc > * {
		margin-inline: var(--hb-margines);
	}

	.hb-shot__tresc .hb-nadtytul {
		order: 1;
		font-weight: 500;
		letter-spacing: 0.22em;
	}

	.hb-shot__tresc .hb-h2 {
		order: 2;
		margin-top: 6px;
		line-height: 1.12;
	}

	.hb-shot__zdjecie {
		order: 3;
		height: auto;
		margin-top: 19px;
		position: relative;
		aspect-ratio: 390 / 355;
		overflow: visible;
		background: none;
	}

	.hb-shot__zdjecie img:not(.hb-shot__butelka) {
		border-radius: 0;
	}

	.hb-shot__opis {
		order: 4;
		margin-top: 20px;
		color: var(--hb-braz-975);
	}

	.hb-shot__cta {
		order: 5;
		margin-top: 16px;
	}

	.hb-shot__cta {
		width: auto;
	}

	.hb-shot__cta .hb-btn {
		--hb-btn-wys: 54px;
		--hb-btn-grubosc: 600;
		--hb-btn-tracking: 0.18em;
		width: 100%;
	}

	/* Buteleczka na zdjęciu: 85 × 244 px w punkcie 280 / 55 px kadru 390 × 355. */
	.hb-shot__zdjecie img.hb-shot__butelka {
		top: 15.5%;
		left: 71.8%;
		height: 68.7%;
	}

	/* Podpis na zdjęciu: 135 px w punkcie 17 / 410 px makiety. */
	.hb-hero__podpis {
		z-index: 2;
		left: 4.36vw;
		top: 105.1vw;
		bottom: auto;
		width: 34.6vw;
	}

}
