/* =========================================================================
   GRYZAK LANDING — style sekcji landing page
   Mobile-first. Zmienne palety w style.css.
   ========================================================================= */

/* =========================================================================
   COMMON COMPONENTS
   ========================================================================= */

.gl-section {
	padding: clamp(var(--gl-space-6), 8vw, var(--gl-space-8)) 0;
	/* Pas bazowy — krem strony (--gl-color-bg), naprzemiennie z `.gl-section--alt` */
	background-color: var(--gl-color-bg);
}

/* Jaśniejszy pas (biały): rozwiązanie, cechy, eksperci, bundle #zestaw, FAQ */
.gl-section--alt {
	background-color: var(--gl-color-surface);
}

.gl-section--alt .gl-feature,
.gl-section--alt .gl-review,
.gl-section--alt .gl-expert {
	background-color: var(--gl-color-muted);
}

.gl-section--alt .gl-bundle-card:not(.is-active) {
	background-color: var(--gl-color-muted);
}

.gl-section__header {
	max-width: 38rem;
	margin-bottom: clamp(var(--gl-space-5), 4vw, var(--gl-space-6));
}

.gl-text-center .gl-section__header,
.gl-section__header.gl-text-center {
	max-width: 42rem;
}

.gl-section__header h2 {
	font-size: var(--gl-fs-h2);
	font-weight: 500;
}

.gl-section__sub {
	font-size: 1.03125rem;
	font-weight: 400;
	color: var(--gl-color-text-secondary);
	line-height: var(--gl-lh-loose);
	margin: 0;
	max-width: 36rem;
}

.gl-text-center .gl-section__sub {
	margin-left: auto;
	margin-right: auto;
}

/* Pill / badge — lekko „label”, nie blok */
.gl-pill {
	display: inline-flex;
	align-items: center;
	gap: var(--gl-space-1);
	padding: 5px 12px;
	border-radius: var(--gl-radius-pill);
	font-size: var(--gl-fs-small);
	font-weight: 500;
	background: transparent;
	border: 1px solid var(--gl-color-border-hairline);
	color: var(--gl-color-text-secondary);
	letter-spacing: 0.01em;
	/* Mobile-first — pozwalamy na łamanie linii.
	   Pełny nowrap wraca dopiero od 480px+, gdzie wąskie ekrany nie są ryzykiem.
	   Przed v1.3.1 to powodowało horyzontalny scroll na hero („Gryzak TuliLing • polski premium • 3–18 m-cy"). */
	white-space: normal;
	max-width: 100%;
}

@media (min-width: 480px) {
	.gl-pill {
		white-space: nowrap;
	}
}

.gl-pill--neutral {
	background: transparent;
	border-color: var(--gl-color-border);
	color: var(--gl-color-text-secondary);
}

.gl-pill--success {
	background: var(--gl-color-success-bg);
	border-color: transparent;
	color: var(--gl-color-success);
}

.gl-pill--warning {
	background: rgba(246, 233, 220, 0.7);
	border-color: transparent;
	color: var(--gl-color-accent-dark);
}

.gl-pill-list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--gl-space-2);
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Button — cieńszy, bardziej „premium” niż blok */
.gl-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--gl-space-2);
	padding: 13px 22px;
	border: 1px solid transparent;
	border-radius: var(--gl-radius-md);
	background: var(--gl-color-accent);
	color: #fff;
	font-weight: 500;
	font-size: var(--gl-fs-small);
	text-align: center;
	letter-spacing: 0.01em;
	cursor: pointer;
	transition: background var(--gl-transition), opacity var(--gl-transition), transform var(--gl-transition);
	text-decoration: none;
}

.gl-btn:hover {
	transform: translateY(-0px);
	opacity: 0.94;
	color: #fff;
}

.gl-btn--accent {
	background: var(--gl-color-accent);
}

.gl-btn--accent:hover {
	background: var(--gl-color-accent-dark);
	opacity: 1;
}

.gl-btn--xl {
	padding: 15px 28px;
	font-size: var(--gl-fs-body);
	width: 100%;
}

.gl-btn__label { font-weight: 500; }
.gl-btn__price {
	font-weight: 500;
	opacity: 0.92;
	padding-left: var(--gl-space-2);
	border-left: 1px solid rgba(255, 255, 255, 0.28);
}

.gl-microcopy {
	font-size: var(--gl-fs-small);
	color: var(--gl-color-text-tertiary);
	margin: var(--gl-space-3) 0 0;
	text-align: center;
	line-height: var(--gl-lh-loose);
}

/* =========================================================================
   HEADER / TOP BAR
   ========================================================================= */
.gl-top-bar {
	background: var(--gl-color-surface);
	border-bottom: 1px solid var(--gl-color-border);
	color: var(--gl-color-text-tertiary);
	font-size: var(--gl-fs-small);
	min-height: 34px;
	display: flex;
	align-items: center;
	letter-spacing: 0.02em;
}

.gl-top-bar__rotator {
	position: relative;
	min-height: 20px;
}

.gl-top-bar__item {
	display: none;
	text-align: center;
	width: 100%;
}

.gl-top-bar__item.is-active {
	display: block;
}

.gl-header {
	background: rgba(252, 250, 247, 0.88);
	border-bottom: 1px solid var(--gl-color-border-hairline);
	backdrop-filter: saturate(140%) blur(10px);
	-webkit-backdrop-filter: saturate(140%) blur(10px);
	position: sticky;
	top: 0;
	z-index: 50;
}

.gl-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--gl-space-4);
	min-height: 64px;
}

.gl-header__logo-text {
	font-family: var(--gl-font-heading);
	font-size: 1.3125rem;
	font-weight: 500;
	color: var(--gl-color-text);
	letter-spacing: var(--gl-letter-snug);
}

.gl-header__nav { display: none; }

@media (min-width: 768px) {
	.gl-header__nav { display: block; }
}

.gl-header__menu {
	display: flex;
	gap: var(--gl-space-5);
	list-style: none;
	margin: 0;
	padding: 0;
}

.gl-header__menu a {
	color: var(--gl-color-text-secondary);
	font-weight: 500;
	font-size: var(--gl-fs-small);
}

.gl-cart-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--gl-color-text);
	position: relative;
}

.gl-cart-count {
	background: var(--gl-color-accent);
	color: #fff;
	font-size: 10px;
	font-weight: 600;
	min-width: 18px;
	height: 18px;
	border-radius: 9px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 5px;
}

/* =========================================================================
   SEKCJA 1 — HERO
   ========================================================================= */
.gl-hero {
	padding-top: clamp(var(--gl-space-5), 6vw, var(--gl-space-7));
	padding-bottom: clamp(var(--gl-space-6), 7vw, var(--gl-space-8));
}

.gl-hero__grid {
	display: grid;
	gap: var(--gl-space-6);
}

/* Grid-items domyślnie mają min-width: auto, co rozpycha kolumny pod max-content
   długich elementów (np. pill, kart bundle). Forsujemy 0 — kolumny szanują 1fr. */
.gl-hero__grid > * {
	min-width: 0;
}

@media (min-width: 900px) {
	.gl-hero__grid { grid-template-columns: 1.05fr 1fr; align-items: center; gap: var(--gl-space-7); }
}

.gl-hero__media { position: relative; min-width: 0; }

.gl-hero__video {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 5;
	background: linear-gradient(160deg, var(--gl-color-primary-soft) 0%, var(--gl-color-primary) 100%);
	border-radius: var(--gl-radius-lg);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: var(--gl-shadow-soft);
}

.gl-hero__video img,
.gl-hero__video video,
.gl-hero__poster {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gl-hero__placeholder {
	color: var(--gl-color-text-secondary);
	font-size: var(--gl-fs-small);
}

.gl-hero__thumbs-wrap {
	display: flex;
	align-items: center;
	gap: var(--gl-space-2);
	margin-top: var(--gl-space-3);
}
.gl-hero__thumbs-viewport {
	flex: 1 1 auto;
	min-width: 0;
	overflow-x: auto;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.gl-hero__thumbs-viewport::-webkit-scrollbar {
	display: none;
}
.gl-hero__thumbs-track {
	display: flex;
	gap: var(--gl-space-2);
}

.gl-hero__thumb {
		/* szerokość ustawia JS tak, by mieściły się dokładnie 4 kafelki;
	   ten fallback obowiązuje zanim JS policzy (i gdy JS jest wyłączony) */
	flex: 0 0 22%;
	width: 22%;
	background: var(--gl-color-surface);
	border: 1px solid var(--gl-color-border-hairline);
	border-radius: var(--gl-radius-sm);
	padding: 0;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	cursor: pointer;
	transition: border-color var(--gl-transition), box-shadow var(--gl-transition);
}


.gl-hero__thumbs-nav {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 1px solid var(--gl-color-border-hairline);
	border-radius: var(--gl-radius-sm);
	background: var(--gl-color-surface);
	color: var(--gl-color-text-secondary);
	cursor: pointer;
	transition: border-color var(--gl-transition), color var(--gl-transition), opacity var(--gl-transition);
}
.gl-hero__thumbs-nav:hover:not(:disabled) {
	border-color: var(--gl-color-border);
	color: var(--gl-color-text);
}
.gl-hero__thumbs-nav:disabled {
	opacity: 0.35;
	cursor: default;
}
.gl-hero__thumbs-wrap:not(.has-overflow) .gl-hero__thumbs-nav {
	display: none;
}

.gl-hero__thumb:hover {
	border-color: var(--gl-color-border);
}
.gl-hero__thumb.is-active {
	border-color: var(--gl-color-accent);
	box-shadow: 0 0 0 1px var(--gl-color-accent);
}

.gl-hero__thumb img { width: 100%; height: 100%; object-fit: cover; }

.gl-hero__copy { display: flex; flex-direction: column; gap: var(--gl-space-5); }

.gl-hero__headline {
	font-size: var(--gl-fs-h1);
	font-weight: 500;
	margin: var(--gl-space-2) 0 0;
	letter-spacing: var(--gl-letter-snug);
}

.gl-hero__sub {
	font-size: 1.0625rem;
	color: var(--gl-color-text-secondary);
	line-height: var(--gl-lh-loose);
	margin: 0;
}

.gl-usp-list {
	display: flex;
	flex-direction: column;
	gap: var(--gl-space-2);
	list-style: none;
	margin: 0;
	padding: 0;
}

.gl-usp-list__item {
	display: flex;
	align-items: center;
	gap: var(--gl-space-3);
	font-size: var(--gl-fs-small);
	color: var(--gl-color-text-secondary);
}

.gl-usp-list__item svg {
	color: var(--gl-color-success);
	flex-shrink: 0;
	opacity: 0.85;
	width: 18px;
	height: 18px;
}

/* Karty zestawów w hero (ten sam markup co sekcja 10 — mniejsze odstępy i typografia) */
.gl-bundle-selector--hero {
	width: 100%;
	max-width: 100%;
}

.gl-hero-bundle__label {
	display: block;
	font-size: var(--gl-fs-small);
	font-weight: 500;
	color: var(--gl-color-text-tertiary);
	margin: 0 0 var(--gl-space-2);
	text-transform: none;
}

.gl-bundle__cards.gl-bundle__cards--hero {
	margin-bottom: var(--gl-space-4);
}

@media (min-width: 768px) {
	.gl-bundle__cards.gl-bundle__cards--hero {
		gap: var(--gl-space-3);
		align-items: stretch;
	}
}

.gl-bundle__cards--hero .gl-bundle-card {
	padding: var(--gl-space-4) var(--gl-space-3);
	border-radius: var(--gl-radius-md);
}

.gl-bundle__cards--hero .gl-bundle-card__name {
	font-size: clamp(0.875rem, 1.2vw, 1rem);
	margin: 0 0 var(--gl-space-1);
}

.gl-bundle__cards--hero .gl-bundle-card__price {
	font-size: clamp(1.0625rem, 2vw, 1.25rem);
	line-height: 1.15;
	margin: 0 0 var(--gl-space-2);
}

.gl-bundle__cards--hero .gl-bundle-card__includes {
	font-size: 0.8125rem;
	line-height: 1.42;
	margin: 0 0 var(--gl-space-1);
}

.gl-bundle__cards--hero .gl-bundle-card__desc {
	font-size: var(--gl-fs-tiny);
	line-height: 1.45;
	opacity: 0.9;
}

.gl-bundle__cards--hero .gl-bundle-card__badge {
	top: -8px;
	font-size: 9px;
	padding: 3px 8px;
}

.gl-bundle__cta--hero {
	margin-top: 0;
}

.gl-bundle__cta--hero .gl-microcopy {
	margin-top: var(--gl-space-3);
	margin-bottom: 0;
}

.gl-variant {
	display: block;
	cursor: pointer;
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-md);
	padding: 14px 17px;
	background: var(--gl-color-surface);
	transition: border-color var(--gl-transition), box-shadow var(--gl-transition), background var(--gl-transition);
	position: relative;
}

.gl-variant.is-active {
	border-color: var(--gl-color-accent);
	background: var(--gl-color-accent-soft);
	box-shadow: none;
}

.gl-variant input[type="radio"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.gl-variant__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--gl-space-3);
}

.gl-variant__name { font-weight: 500; color: var(--gl-color-text); }
.gl-variant__price { font-weight: 500; color: var(--gl-color-accent-dark); font-size: var(--gl-fs-small); }

.gl-variant__badge {
	position: absolute;
	top: -9px;
	left: 14px;
	background: var(--gl-color-accent);
	color: #fff;
	font-size: 10px;
	font-weight: 600;
	padding: 4px 9px;
	border-radius: var(--gl-radius-pill);
	text-transform: none;
	letter-spacing: 0.04em;
}

.gl-rating {
	display: flex;
	align-items: center;
	gap: var(--gl-space-2);
	font-size: var(--gl-fs-small);
}

.gl-rating__stars { color: var(--gl-color-primary-dark); font-size: 1rem; opacity: 0.9; }

/* =========================================================================
   SEKCJA 2 — TRUST STRIP
   ========================================================================= */
.gl-trust {
	padding: var(--gl-space-6) 0;
	border-top: 1px solid var(--gl-color-border-hairline);
	border-bottom: 1px solid var(--gl-color-border-hairline);
	background: var(--gl-color-surface);
}

.gl-trust__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--gl-space-5) var(--gl-space-4);
	text-align: center;
}

@media (min-width: 768px) {
	.gl-trust__grid {
		grid-template-columns: repeat(5, 1fr);
		gap: var(--gl-space-6) var(--gl-space-5);
	}
}

.gl-trust__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	font-size: var(--gl-fs-small);
}

.gl-trust__item strong {
	font-size: var(--gl-fs-small);
	font-weight: 500;
	color: var(--gl-color-text);
	letter-spacing: 0.02em;
}

.gl-trust__item span { color: var(--gl-color-text-tertiary); font-size: var(--gl-fs-tiny); }

/* =========================================================================
   SEKCJA 3 — PROBLEM
   ========================================================================= */
.gl-problem__grid {
	display: grid;
	gap: var(--gl-space-4);
	margin-top: var(--gl-space-5);
}

@media (min-width: 768px) {
	.gl-problem__grid { grid-template-columns: repeat(3, 1fr); gap: var(--gl-space-5); }
}

.gl-problem__item {
	background: var(--gl-color-surface);
	padding: var(--gl-space-6);
	border-radius: var(--gl-radius-md);
	border: 1px solid var(--gl-color-border-hairline);
	box-shadow: var(--gl-shadow-soft);
}

.gl-problem__item h3 {
	font-size: var(--gl-fs-h3);
	font-weight: 500;
	margin: 0 0 var(--gl-space-3);
}

.gl-problem__item p {
	margin: 0;
	color: var(--gl-color-text-secondary);
}
/* =========================================================================
   SEKCJA 3.5 — STAGES (mechanizm 3-in-1 / Trzy etapy rozwoju)
   ========================================================================= */
.gl-stages .gl-section__header { margin-bottom: var(--gl-space-6); }
.gl-stages__grid {
	display: grid;
	gap: var(--gl-space-5);
	margin-top: var(--gl-space-6);
}
@media (min-width: 768px) {
	.gl-stages__grid {
		grid-template-columns: repeat(3, 1fr);
		gap: var(--gl-space-5);
		align-items: stretch;
		padding-top: var(--gl-space-3); /* miejsce na floating badge */
	}
}
.gl-stage {
	display: flex;
	flex-direction: column;
	gap: var(--gl-space-4);
	padding: clamp(var(--gl-space-5), 3vw, var(--gl-space-6));
	background: var(--gl-color-surface);
	border: 1px solid var(--gl-color-border-hairline);
	border-radius: var(--gl-radius-lg);
	transition: transform var(--gl-transition), box-shadow var(--gl-transition), border-color var(--gl-transition);
	position: relative;
}
@media (hover: hover) {
	.gl-stage:hover {
		transform: translateY(-2px);
		box-shadow: 0 8px 28px rgba(45, 42, 40, 0.06);
		border-color: var(--gl-color-border);
	}
}
.gl-stage--featured {
	border-color: var(--gl-color-accent);
	border-width: 1.5px;
	box-shadow: 0 6px 32px rgba(184, 100, 68, 0.10);
}
@media (min-width: 768px) {
	@media (hover: hover) {
		.gl-stage--featured:hover {
			transform: translateY(-4px);
			box-shadow: 0 12px 36px rgba(184, 100, 68, 0.14);
			border-color: var(--gl-color-accent);
		}
	}
}

.gl-stage--featured::before {
	content: "Najczęstszy etap";
	position: absolute;
	top: -12px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--gl-color-accent);
	color: #fff;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.04em;
	padding: 5px 12px;
	border-radius: var(--gl-radius-pill);
	white-space: nowrap;
	text-transform: none;
	box-shadow: 0 2px 8px rgba(184, 100, 68, 0.20);
}
/* Spójność z innymi kartami w sekcjach --alt */
.gl-section--alt .gl-stage {
	background-color: var(--gl-color-surface);
}
.gl-stage__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--gl-space-3);
	padding-bottom: var(--gl-space-4);
	border-bottom: 1px solid var(--gl-color-border-hairline);
	margin-bottom: var(--gl-space-1);
}
.gl-stage__num {
	font-family: var(--gl-font-heading);
	font-size: 2.5rem;
	font-weight: 500;
	color: var(--gl-color-text-tertiary);
	line-height: 1;
	letter-spacing: -0.02em;
	flex-shrink: 0;
}
.gl-stage--featured .gl-stage__num {
	color: var(--gl-color-accent);
}

.gl-stage__age {
		font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gl-color-text-secondary);
	background: var(--gl-color-muted);
	padding: 5px 10px;
	border-radius: var(--gl-radius-pill);
	border: 0;
	white-space: nowrap;
}
.gl-stage--featured .gl-stage__age {
	background: var(--gl-color-accent-soft);
	color: var(--gl-color-accent-dark);
}
.gl-stage__title {
	font-size: var(--gl-fs-h3);
	font-weight: 500;
	margin: 0;
	color: var(--gl-color-text);
	line-height: var(--gl-lh-tight);
}
.gl-stage__lead {
	margin: 0;
	font-size: var(--gl-fs-small);
	line-height: var(--gl-lh-loose);
	color: var(--gl-color-text-secondary);
}
.gl-stage__list {
	list-style: none;
	padding: var(--gl-space-3) 0 0;	
	margin: auto 0 0;
	display: flex;
	flex-direction: column;
	gap: var(--gl-space-3);
	border-top: 1px solid var(--gl-color-border-hairline);
}
.gl-stage__list li {
	position: relative;
	padding-left: 28px;
	font-size: var(--gl-fs-small);
	line-height: var(--gl-lh-normal);
	color: var(--gl-color-text-secondary);
}
.gl-stage__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.2em;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background-color: var(--gl-color-accent-soft);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b86444' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 10px 10px;
}
.gl-stages__footnote {
	margin: var(--gl-space-6) auto 0;
	max-width: 36rem;
	text-align: center;
	font-size: var(--gl-fs-small);
	color: var(--gl-color-text-tertiary);
	line-height: var(--gl-lh-loose);
}

/* =========================================================================
   SEKCJA 4 — ROZWIĄZANIE
   ========================================================================= */
.gl-solution__grid {
	display: grid;
	gap: var(--gl-space-6);
}

@media (min-width: 900px) {
	.gl-solution__grid { grid-template-columns: 1fr 1fr; align-items: center; gap: var(--gl-space-7); }
}

.gl-solution__media {
	aspect-ratio: 1 / 1;
	background: linear-gradient(145deg, var(--gl-color-primary-soft), var(--gl-color-primary));
	border-radius: var(--gl-radius-lg);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: var(--gl-shadow-soft);
}

.gl-solution__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gl-solution__list {
	list-style: none;
	padding: 0;
	margin: var(--gl-space-4) 0 0;
	counter-reset: solution;
}

.gl-solution__list li {
	counter-increment: solution;
	position: relative;
	padding: var(--gl-space-4) 0 var(--gl-space-4) var(--gl-space-6);
	border-top: 1px solid var(--gl-color-border-hairline);
}

.gl-solution__list li:first-child { border-top: 0; padding-top: 0; }
.gl-solution__list li:first-child::before { top: 0; }

.gl-solution__list li::before {
	content: counter(solution, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: var(--gl-space-4);
	color: var(--gl-color-text-tertiary);
	font-weight: 500;
	font-size: var(--gl-fs-small);
	font-family: var(--gl-font-body);
	letter-spacing: 0.04em;
}

.gl-solution__list li strong { display: block; margin-bottom: 4px; font-weight: 500; }

/* =========================================================================
   SEKCJA 5 — HOWTO
   ========================================================================= */
.gl-howto__grid {
	display: grid;
	gap: var(--gl-space-4);
}

@media (min-width: 768px) {
	.gl-howto__grid { grid-template-columns: repeat(3, 1fr); gap: var(--gl-space-5); }
}

.gl-howto__step {
	text-align: center;
	padding: var(--gl-space-6) var(--gl-space-4);
	background: var(--gl-color-surface);
	border-radius: var(--gl-radius-md);
	border: 1px solid var(--gl-color-border-hairline);
	box-shadow: var(--gl-shadow-soft);
}

.gl-howto__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: transparent;
	border: 1.5px solid var(--gl-color-primary-dark);
	font-family: var(--gl-font-heading);
	font-size: 1.125rem;
	font-weight: 500;
	color: var(--gl-color-text);
	margin-bottom: var(--gl-space-3);
}

.gl-howto__step h3 { font-size: var(--gl-fs-h3); font-weight: 500; margin: 0 0 var(--gl-space-2); }
.gl-howto__step p { color: var(--gl-color-text-secondary); margin: 0; }

/* =========================================================================
   SEKCJA 6 — FEATURES
   ========================================================================= */
.gl-features__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--gl-space-4);
}

@media (min-width: 900px) {
	.gl-features__grid { grid-template-columns: repeat(3, 1fr); gap: var(--gl-space-5); }
}

.gl-feature {
	padding: var(--gl-space-6);
	border: 1px solid var(--gl-color-border-hairline);
	border-radius: var(--gl-radius-md);
	background: var(--gl-color-surface);
}

.gl-feature h3 { font-size: var(--gl-fs-body); font-weight: 500; margin: 0 0 var(--gl-space-3); }
.gl-feature p { font-size: var(--gl-fs-small); color: var(--gl-color-text-secondary); margin: 0; }

/* =========================================================================
   SEKCJA 7 — REVIEWS
   ========================================================================= */
.gl-reviews__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--gl-space-4);
}

@media (min-width: 768px) {
	.gl-reviews__grid { grid-template-columns: repeat(3, 1fr); gap: var(--gl-space-5); }
}

.gl-review {
	background: var(--gl-color-surface);
	border: 1px solid var(--gl-color-border-hairline);
	border-radius: var(--gl-radius-md);
	padding: var(--gl-space-6);
	box-shadow: var(--gl-shadow-soft);
}

.gl-review__stars { color: var(--gl-color-primary-dark); margin-bottom: var(--gl-space-3); opacity: 0.85; font-size: 0.9375rem; }
.gl-review__text { margin: 0 0 var(--gl-space-4); font-style: normal; font-size: var(--gl-fs-small); line-height: var(--gl-lh-loose); color: var(--gl-color-text-secondary); }
.gl-review__author { display: flex; flex-direction: column; font-style: normal; }
.gl-review__author strong { font-weight: 500; color: var(--gl-color-text); }
.gl-review__author span { font-size: var(--gl-fs-small); color: var(--gl-color-text-secondary); }

/* =========================================================================
   SEKCJA 8 — EXPERTS
   ========================================================================= */
.gl-experts__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--gl-space-4);
}

@media (min-width: 900px) {
	.gl-experts__grid { grid-template-columns: repeat(3, 1fr); gap: var(--gl-space-5); }
}

.gl-expert {
	padding: var(--gl-space-6);
	background: var(--gl-color-surface);
	border-radius: var(--gl-radius-md);
	border: 1px solid var(--gl-color-border-hairline);
}

.gl-expert__name { font-size: var(--gl-fs-body); font-weight: 500; margin: 0; }
.gl-expert__title { font-size: var(--gl-fs-small); color: var(--gl-color-text-tertiary); margin: 4px 0 var(--gl-space-3); }
.gl-expert__quote { margin: 0; font-style: normal; line-height: var(--gl-lh-loose); color: var(--gl-color-text-secondary); font-size: var(--gl-fs-small); }

/* =========================================================================
   SEKCJA 9 — COMPARE
   ========================================================================= */
.gl-compare__wrap {
	overflow-x: auto;
	border-radius: var(--gl-radius-lg);
	background: var(--gl-color-surface);
	border: 1px solid var(--gl-color-border-hairline);
	box-shadow: var(--gl-shadow-soft);
}

.gl-compare__table {
	width: 100%;
	border-collapse: collapse;
	min-width: 640px;
}

.gl-compare__table th,
.gl-compare__table td {
	padding: var(--gl-space-3) var(--gl-space-4);
	text-align: left;
	border-bottom: 1px solid var(--gl-color-border-hairline);
	font-size: var(--gl-fs-small);
}

.gl-compare__table thead th {
	background: var(--gl-color-muted);
	font-weight: 500;
	font-size: var(--gl-fs-small);
	text-transform: none;
	letter-spacing: 0;
	color: var(--gl-color-text-tertiary);
}

.gl-compare__table .is-highlight {
	background: rgba(250, 244, 221, 0.55);
	font-weight: 500;
	color: var(--gl-color-text);
}

.gl-compare__table tr:last-child td { border-bottom: 0; }

.gl-compare__price-row td { font-weight: 500; }
.gl-compare__yes,
.gl-compare__no,
.gl-compare__partial {
	display: inline-block;
	font-size: var(--gl-fs-tiny);
	font-weight: 500;
	letter-spacing: 0.04em;
	padding: 4px 10px;
	border-radius: var(--gl-radius-pill);
	text-transform: lowercase;
	white-space: nowrap;
}
.gl-compare__yes {
	background: var(--gl-color-success-bg);
	color: var(--gl-color-success);
}
.gl-compare__no {
	background: rgba(181, 69, 69, 0.10);
	color: var(--gl-color-danger);
}
.gl-compare__partial {
	background: var(--gl-color-warning-bg);
	color: var(--gl-color-warning);
}

.gl-compare .gl-section__header .gl-section__sub {
	max-width: 38rem;
	margin-left: auto;
	margin-right: auto;
}

.gl-compare__footnote {
	margin: var(--gl-space-4) auto 0;
	padding: 0 var(--gl-space-3);
	max-width: 40rem;
	line-height: var(--gl-lh-loose);
}

/* =========================================================================
   SEKCJA 10 — BUNDLE
   ========================================================================= */
.gl-bundle__cards {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--gl-space-4);
	margin-bottom: var(--gl-space-5);
}

@media (min-width: 768px) {
	.gl-bundle__cards { grid-template-columns: repeat(3, 1fr); gap: var(--gl-space-5); }
}

.gl-bundle-card {
	display: block;
	cursor: pointer;
	background: var(--gl-color-surface);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-lg);
	padding: var(--gl-space-6) var(--gl-space-5);
	transition: border-color var(--gl-transition), box-shadow var(--gl-transition), background var(--gl-transition);
	position: relative;
}

.gl-bundle-card.is-active {
	border-color: var(--gl-color-accent);
	background: rgba(250, 240, 230, 0.45);
	box-shadow: none;
}

.gl-bundle-card input[type="radio"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.gl-bundle-card__badge {
	position: absolute;
	top: -10px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--gl-color-accent);
	color: #fff;
	font-size: 10px;
	font-weight: 600;
	padding: 4px 10px;
	border-radius: var(--gl-radius-pill);
	text-transform: none;
	letter-spacing: 0.03em;
	white-space: nowrap;
}

.gl-bundle-card__name {
	font-size: 1.125rem;
	font-weight: 500;
	margin: 0 0 var(--gl-space-2);
	font-family: var(--gl-font-body);
	color: var(--gl-color-text);
}

.gl-bundle-card__price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.35em 0.5em;
	font-size: 1.5rem;
	font-weight: 500;
	font-family: var(--gl-font-heading);
	color: var(--gl-color-accent-dark);
	margin: 0 0 var(--gl-space-3);
}

.gl-bundle-card__shipping {
	font-size: var(--gl-fs-small);
	font-family: var(--gl-font-body);
	font-weight: 500;
	color: var(--gl-color-text-secondary);
	white-space: nowrap;
}

.gl-bundle-card__includes {
	font-size: 0.9375rem;
	margin: 0 0 var(--gl-space-2);
}

.gl-bundle-card__desc {
	font-size: var(--gl-fs-small);
	color: var(--gl-color-text-secondary);
	margin: 0;
}

.gl-bundle__cta {
	max-width: 480px;
	margin: 0 auto;
}

/* =========================================================================
   SEKCJA 11 — GWARANCJA
   ========================================================================= */
.gl-guarantee {
	background: linear-gradient(180deg, var(--gl-color-primary-soft) 0%, var(--gl-color-muted) 100%);
}

.gl-guarantee__inner {
	display: grid;
	gap: var(--gl-space-6);
	align-items: center;
	justify-items: center;
	text-align: center;
}

@media (min-width: 768px) {
	.gl-guarantee__inner {
		grid-template-columns: 200px 1fr;
		gap: clamp(var(--gl-space-6), 6vw, var(--gl-space-8));
		justify-items: stretch;
		text-align: left;
	}
}
	/* Stempel + nazwa gwarancji w jednej kolumnie wizualnej */
.gl-guarantee__brand {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--gl-space-3);
	width: 100%;
	max-width: 220px;
	margin: 0 auto;
}

.gl-guarantee__seal {
	width: 160px;
	height: 160px;
	border: 1.5px solid var(--gl-color-border);
	border-radius: 50%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.7);
	margin: 0 auto;
	box-shadow: var(--gl-shadow-soft);
}

.gl-guarantee__seal-num {
	font-family: var(--gl-font-heading);
	font-size: 2.875rem;
	font-weight: 500;
	line-height: 1;
	color: var(--gl-color-text);
}

.gl-guarantee__seal-text {
	font-size: var(--gl-fs-small);
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0.02em;
	margin-top: 4px;
	color: var(--gl-color-text-secondary);
}
.gl-guarantee__name {
	display: inline-flex;
	margin: 0;
	padding: 6px 14px;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-align: center;
	white-space: normal;
	line-height: 1.4;
	max-width: 100%;
}
.gl-guarantee__copy { width: 100%; max-width: 38rem; }
@media (min-width: 768px) {
	.gl-guarantee__copy { max-width: none; }
}
.gl-guarantee__copy h2 { margin: 0 0 var(--gl-space-3); font-weight: 500; }
.gl-guarantee__copy p { line-height: var(--gl-lh-loose); margin: 0 0 var(--gl-space-4); color: var(--gl-color-text-secondary); font-size: var(--gl-fs-body); }
	.gl-guarantee__copy .gl-pill-list { justify-content: center; }
@media (min-width: 768px) {
	.gl-guarantee__copy .gl-pill-list { justify-content: flex-start; }
}

/* =========================================================================
   SEKCJA 12 — FAQ
   ========================================================================= */
.gl-faq__list {
	max-width: 40rem;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 0;
	border-top: 1px solid var(--gl-color-border-hairline);
}

.gl-faq__item {
	border: none;
	border-bottom: 1px solid var(--gl-color-border-hairline);
	border-radius: 0;
	background: transparent;
	overflow: visible;
}

.gl-faq__question {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--gl-space-3);
	background: transparent;
	border: 0;
	padding: var(--gl-space-5) 2px;
	text-align: left;
	font-size: var(--gl-fs-small);
	font-weight: 500;
	color: var(--gl-color-text);
}

.gl-faq__icon {
	transition: transform var(--gl-transition);
	flex-shrink: 0;
	color: var(--gl-color-text-tertiary);
}

.gl-faq__question[aria-expanded="true"] .gl-faq__icon { transform: rotate(180deg); }

.gl-faq__answer {
	padding: 0 2px var(--gl-space-5);
	color: var(--gl-color-text-secondary);
	line-height: var(--gl-lh-loose);
	font-size: var(--gl-fs-small);
}

.gl-faq__answer p { margin: 0; }

/* =========================================================================
   SEKCJA 13 — UGC
   ========================================================================= */
.gl-ugc__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--gl-space-3);
}

@media (min-width: 768px) {
	.gl-ugc__grid { grid-template-columns: repeat(3, 1fr); gap: var(--gl-space-4); }
}

@media (min-width: 1024px) {
	.gl-ugc__grid { grid-template-columns: repeat(6, 1fr); }
}

.gl-ugc__item { aspect-ratio: 9 / 16; border-radius: var(--gl-radius-md); overflow: hidden; }

.gl-ugc__placeholder {
	width: 100%;
	height: 100%;
	background: var(--gl-color-muted);
	color: var(--gl-color-text-tertiary);
	font-size: var(--gl-fs-small);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: var(--gl-space-3);
	border: 1px dashed var(--gl-color-border-hairline);
	border-radius: var(--gl-radius-sm);
}

.gl-ugc__media {
	width: 100%;
	height: 100%;
	min-height: 0;
	position: relative;
	background: transparent;
}

.gl-ugc__media--file {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--gl-color-muted);
}

.gl-ugc__media--embed {
	background: var(--gl-color-muted);
}

.gl-ugc__video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.gl-ugc__media--embed .gl-ugc__embed-inner {
	position: absolute;
	inset: 0;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.gl-ugc__media--embed .gl-ugc__embed-inner > iframe,
.gl-ugc__media--embed .gl-ugc__embed-inner > blockquote {
	max-width: 100% !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 100%;
	border: 0;
}

/* =========================================================================
   SEKCJA 14 — FINAL CTA
   ========================================================================= */
.gl-final-cta {
	background: var(--gl-color-inverse);
	color: var(--gl-color-inverse-soft);
}

.gl-final-cta__inner {
	max-width: 36rem;
	margin: 0 auto;
	text-align: center;
	padding: var(--gl-space-1) 0;
}

.gl-final-cta h2 {
	margin-bottom: var(--gl-space-4);
	color: #fcfbf9;
	font-weight: 500;
	font-size: var(--gl-fs-h2);
	max-width: 22ch;
	margin-left: auto;
	margin-right: auto;
	line-height: var(--gl-lh-tight);
}

.gl-final-cta .gl-section__sub {
	margin-bottom: var(--gl-space-5);
	color: rgba(252, 250, 247, 0.68);
	font-size: var(--gl-fs-small);
	line-height: var(--gl-lh-loose);
	max-width: 34rem;
	margin-left: auto;
	margin-right: auto;
}

.gl-final-cta .gl-btn--xl {
	width: auto;
	min-width: 260px;
	background: var(--gl-color-accent);
}

.gl-final-cta .gl-btn--xl:hover {
	background: var(--gl-color-accent-dark);
	opacity: 1;
}

.gl-final-cta__badges {
	list-style: none;
	margin: var(--gl-space-5) 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--gl-space-4) var(--gl-space-5);
	font-size: var(--gl-fs-tiny);
	color: rgba(252, 250, 247, 0.55);
	letter-spacing: 0.02em;
}

.gl-footer {
	background: var(--gl-color-inverse);
	color: rgba(252, 250, 247, 0.72);
	padding: clamp(var(--gl-space-6), 10vw, var(--gl-space-8)) 0 var(--gl-space-5);
	margin-top: 0;
}

.gl-footer__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--gl-space-5);
	padding-bottom: var(--gl-space-5);
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.gl-footer__subheading {
	font-size: var(--gl-fs-small);
	text-transform: none;
	letter-spacing: 0;
	color: #fcfbf9;
	font-weight: 500;
}

.gl-footer__heading {
	font-family: var(--gl-font-heading);
	font-size: 1.125rem;
	font-weight: 500;
	margin: 0 0 var(--gl-space-3);
	color: #fcfbf9;
}

@media (min-width: 768px) {
	.gl-footer__grid { grid-template-columns: 2fr 1fr 1fr 1fr; gap: var(--gl-space-6); }
}

.gl-footer__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--gl-space-2);
	font-size: var(--gl-fs-small);
}

.gl-footer__list a { color: rgba(252, 250, 247, 0.65); }
.gl-footer__list a:hover { color: #fcfbf9; }

.gl-footer__bottom { padding-top: var(--gl-space-4); text-align: center; }

/*
 * Jasna stopka wyłącznie na stronie głównej — karta produktu bez zmian.
 */
body.gl-front-home .gl-footer {
	background: var(--gl-color-muted);
	color: var(--gl-color-text-secondary);
	border-top: 1px solid var(--gl-color-border-hairline);
}

body.gl-front-home .gl-footer__grid {
	border-bottom-color: var(--gl-color-border);
}

body.gl-front-home .gl-footer__heading,
body.gl-front-home .gl-footer__subheading {
	color: var(--gl-color-text);
}

body.gl-front-home .gl-footer__list a {
	color: var(--gl-color-text-secondary);
}

body.gl-front-home .gl-footer__list a:hover {
	color: var(--gl-color-accent);
}

body.gl-front-home footer.gl-footer .gl-text-muted {
	color: var(--gl-color-text-tertiary);
}

body.gl-front-home .gl-footer__bottom p {
	color: var(--gl-color-text-tertiary);
}

.gl-sticky-bar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 100;
	background: rgba(255, 255, 255, 0.92);
	border-top: 1px solid var(--gl-color-border-hairline);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	transform: translateY(100%);
	transition: transform var(--gl-transition);
	padding-bottom: env(safe-area-inset-bottom, 0);
}

.gl-sticky-bar.is-visible { transform: translateY(0); }

@media (min-width: 900px) {
	.gl-sticky-bar { display: none; }
}

.gl-sticky-bar__inner {
	display: flex;
	align-items: center;
	gap: var(--gl-space-3);
	padding: 10px 14px;
}

.gl-sticky-bar__product {
	flex: 1;
	display: flex;
	align-items: center;
	gap: var(--gl-space-2);
	min-width: 0;
}

.gl-sticky-bar__thumb {
	width: 48px;
	height: 48px;
	border-radius: var(--gl-radius-sm);
	overflow: hidden;
	flex-shrink: 0;
	background: var(--gl-color-support);
}

.gl-sticky-bar__thumb img { width: 100%; height: 100%; object-fit: cover; }

.gl-sticky-bar__info {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.gl-sticky-bar__title {
	font-size: 0.8125rem;
	font-weight: 500;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.gl-sticky-bar__price {
	font-size: var(--gl-fs-small);
	color: var(--gl-color-accent);
	font-weight: 500;
}

.gl-sticky-bar__price .woocommerce-Price-amount { color: inherit; }

.gl-sticky-bar__stock {
	font-size: var(--gl-fs-tiny);
	color: var(--gl-color-warning);
}

.gl-sticky-bar__cta {
	flex-shrink: 0;
	padding: 12px 18px;
	font-size: 0.9375rem;
}

/* =========================================================================
   STRONA GŁÓWNA — full-bleed hero (grafika „edge to edge” jak w referencji)
   ========================================================================= */
.gl-home-hero--fullbleed.gl-section {
	padding: 0;
}

.gl-home-hero__media-wrap {
	position: relative;
	width: 100%;
	min-height: min(68vh, 720px);
}

@media (min-width: 900px) {
	.gl-home-hero__media-wrap {
		min-height: min(82vh, 940px);
	}
}

.gl-home-hero__media {
	position: absolute;
	inset: 0;
}

.gl-home-hero__media .gl-home-hero__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	border-radius: 0;
	box-shadow: none;
	max-height: none;
}

.gl-home-hero__placeholder.gl-home-hero__placeholder--fullbleed {
	width: 100%;
	height: 100%;
	min-height: 100%;
	border-radius: 0;
	box-shadow: none;
}

.gl-home-hero__placeholder--fullbleed .gl-home-hero__placeholder-label {
	color: rgba(252, 250, 247, 0.96);
	text-shadow: 0 2px 20px rgba(46, 44, 42, 0.25);
}

.gl-home-hero__placeholder--fullbleed .gl-home-hero__placeholder-hint {
	color: rgba(252, 250, 247, 0.78);
}

/* Scrim tylko po lewej — prawa część zdjęcia (np. dziecko) bez „szarej kurtyny” */
.gl-home-hero__scrim {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(
		95deg,
		rgba(63, 58, 55, 0.68) 0%,
		rgba(63, 58, 55, 0.28) min(38%, 420px),
		rgba(63, 58, 55, 0.06) min(52%, 580px),
		rgba(252, 250, 247, 0) 62%
	);
}

@media (max-width: 899px) {
	.gl-home-hero__scrim {
		background: linear-gradient(
			100deg,
			rgba(63, 58, 55, 0.62) -5%,
			rgba(63, 58, 55, 0.2) 48%,
			rgba(252, 250, 247, 0) 72%
		);
	}
}

/* Treść pionowo na środku, blok od lewej z „guterem” jak w klasycznych hero (Salient) */
.gl-home-hero__overlay {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: clamp(var(--gl-space-7), 7vw, var(--gl-space-9)) var(--gl-container-pad-mobile);
	box-sizing: border-box;
}

.gl-home-hero__overlay-inner {
	width: min(36rem, 100%);
	max-width: 100%;
	box-sizing: border-box;
	text-align: left;
	/* Bez karty/blur — treść jedzie na foto + lokalnym gradiencie po lewej */
}

.gl-home-hero__lead {
	font-size: 1.0625rem;
	line-height: var(--gl-lh-loose);
	margin: 0 0 var(--gl-space-4);
	color: inherit;
}

.gl-home-hero__content--overlay.gl-content {
	font-size: 1.0625rem;
	line-height: var(--gl-lh-loose);
	max-width: 34rem;
	margin-top: var(--gl-space-2);
}

.gl-home-hero__content--overlay.gl-content p:last-child {
	margin-bottom: 0;
}

.gl-home-hero__title {
	font-weight: 500;
	line-height: var(--gl-lh-tight);
	margin: 0 0 var(--gl-space-4);
}

/* Jasny tekst na zdjęciu (bez boksu) — cień zamiast kartonu na maluchu */
.gl-home-hero--fullbleed .gl-home-hero__title {
	font-family: var(--gl-font-heading);
	font-weight: 500;
	font-size: var(--gl-fs-h1);
	letter-spacing: var(--gl-letter-snug);
	line-height: var(--gl-lh-tight);
	max-width: min(26rem, 100%);
	color: #fcfbf9;
	text-shadow:
		0 1px 2px rgba(63, 58, 55, 0.45),
		0 4px 28px rgba(46, 44, 42, 0.4);
}

.gl-home-hero__content--overlay.gl-content,
.gl-home-hero__content--overlay.gl-content p {
	color: rgba(252, 250, 247, 0.88);
	text-shadow: 0 1px 10px rgba(46, 44, 42, 0.45);
}

.gl-home-hero__content--overlay .gl-home-hero__lead {
	color: rgba(252, 250, 247, 0.82);
	text-shadow: 0 1px 10px rgba(46, 44, 42, 0.4);
	margin-bottom: var(--gl-space-3);
}

.gl-home-hero__content--overlay.gl-content a {
	color: var(--gl-color-primary-soft);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.gl-home-hero__content--overlay.gl-content a:hover {
	color: #fff;
}

.gl-home-hero__content--overlay.gl-content strong {
	color: rgba(252, 250, 247, 0.96);
	font-weight: 600;
}

.gl-home-hero__content--overlay.gl-content h2,
.gl-home-hero__content--overlay.gl-content h3 {
	font-family: var(--gl-font-heading);
	font-weight: 500;
	font-size: var(--gl-fs-h3);
	color: #fcfbf9;
	text-shadow: 0 2px 16px rgba(46, 44, 42, 0.45);
	margin: var(--gl-space-5) 0 var(--gl-space-3);
}

.gl-home-hero__cta {
	margin: var(--gl-space-6) 0 0;
	text-align: left;
}

/* Przycisk jak przy CTA na karcie produktu (.gl-btn + md zaokrąglenie), delikatniejszy cień */
.gl-home-hero__btn.gl-btn--xl {
	width: auto;
	max-width: none;
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	border-radius: var(--gl-radius-md);
	padding: 15px 28px;
	font-size: var(--gl-fs-body);
	font-weight: 500;
	box-shadow: var(--gl-shadow-soft);
}

.gl-home-hero__btn.gl-btn--xl:hover {
	box-shadow: 0 8px 24px rgba(184, 100, 68, 0.28);
}

.gl-front-blog-fallback {
	padding: 0 0 var(--gl-space-9);
}

.gl-front-blog-fallback h2 {
	font-size: var(--gl-fs-h2);
	font-weight: 500;
	margin: 0 0 var(--gl-space-5);
}

.gl-front-blog-list {
	margin: 0;
	padding: 0 0 0 var(--gl-space-6);
	color: var(--gl-color-text-secondary);
	font-size: var(--gl-fs-body);
	line-height: var(--gl-lh-loose);
}

.gl-front-blog-list li { margin-bottom: var(--gl-space-2); }

/* =========================================================================
   PROBLEM SECTION — refinements (v2.0)
   ========================================================================= */
.gl-problem__item h3 {
	font-size: var(--gl-fs-body);
	font-weight: 600;
	margin: 0 0 var(--gl-space-2);
	color: var(--gl-color-text);
	line-height: 1.35;
}

.gl-problem__source {
	margin: var(--gl-space-2) 0 0;
	font-size: var(--gl-fs-small);
	color: var(--gl-color-text-secondary);
	font-style: italic;
}

.gl-problem__closing {
	max-width: 48rem;
	margin: clamp(var(--gl-space-5), 4vw, var(--gl-space-7)) auto 0;
	padding: var(--gl-space-5) var(--gl-space-5);
	background: var(--gl-color-surface);
	border-left: 3px solid var(--gl-color-accent);
	border-radius: var(--gl-radius-md);
	font-size: 1.0625rem;
	line-height: var(--gl-lh-loose);
	color: var(--gl-color-text-secondary);
}

.gl-problem__closing strong {
	color: var(--gl-color-text);
	font-weight: 600;
}

/* =========================================================================
   SAFETY SECTION (Belief #3) — nowa sekcja v2.0
   ========================================================================= */
.gl-safety {
	/* Tło bazowe — kremowe, ten sam pas co Problem section */
	background-color: var(--gl-color-bg);
}

.gl-safety .gl-section__header {
	margin-left: auto;
	margin-right: auto;
}

.gl-safety__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--gl-space-5);
	margin-top: var(--gl-space-6);
}

@media (min-width: 900px) {
	.gl-safety__grid {
		grid-template-columns: 1fr 1fr;
		gap: var(--gl-space-6);
	}
}

.gl-safety__block {
	background: var(--gl-color-surface);
	border: 1px solid var(--gl-color-border-hairline);
	border-radius: var(--gl-radius-lg);
	padding: clamp(var(--gl-space-4), 3vw, var(--gl-space-6));
	display: flex;
	flex-direction: column;
	gap: var(--gl-space-3);
}

.gl-safety__block-title {
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--gl-color-text);
	margin: 0;
	line-height: 1.35;
}

.gl-safety__block-lead {
	font-size: var(--gl-fs-small);
	color: var(--gl-color-text-secondary);
	margin: 0;
	line-height: var(--gl-lh-loose);
}

.gl-safety__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--gl-space-2);
}

.gl-safety__list--no li {
	position: relative;
	padding: 10px 12px 10px 38px;
	background: rgba(181, 69, 69, 0.04);
	border-radius: var(--gl-radius-sm);
	font-size: var(--gl-fs-small);
	line-height: var(--gl-lh-loose);
	color: var(--gl-color-text-secondary);
}

.gl-safety__list--no li::before {
	content: "✗";
	position: absolute;
	left: 12px;
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	background: var(--gl-color-danger);
	color: #fff;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
}

.gl-safety__list--no li strong {
	color: var(--gl-color-text);
	font-weight: 600;
}

.gl-safety__yes {
	margin: var(--gl-space-2) 0 0;
	padding: 14px 16px;
	background: var(--gl-color-success-bg);
	border-radius: var(--gl-radius-sm);
	font-size: var(--gl-fs-small);
	line-height: var(--gl-lh-loose);
	color: var(--gl-color-text);
}

.gl-safety__yes strong {
	color: var(--gl-color-success);
	font-weight: 700;
}

.gl-safety__source {
	margin: 0;
	font-size: 0.8125rem;
	color: var(--gl-color-text-secondary);
	line-height: 1.55;
}

.gl-safety__source a {
	color: var(--gl-color-accent);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.gl-safety__source a:hover {
	color: var(--gl-color-accent-dark);
}

/* Anti-alternatives — claim vs truth */
.gl-safety__anti {
	display: flex;
	flex-direction: column;
	gap: var(--gl-space-2);
}

.gl-safety__anti-row {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--gl-space-1);
	padding: var(--gl-space-3);
	background: var(--gl-color-warning-bg);
	border-radius: var(--gl-radius-sm);
}

@media (min-width: 720px) {
	.gl-safety__anti-row {
		grid-template-columns: minmax(0, 11rem) 1fr;
		gap: var(--gl-space-3);
		align-items: start;
	}
}

.gl-safety__anti-claim strong {
	display: block;
	color: var(--gl-color-text);
	font-weight: 600;
	font-size: var(--gl-fs-small);
}

.gl-safety__anti-claim span {
	display: block;
	font-size: 0.8125rem;
	color: var(--gl-color-text-secondary);
	font-style: italic;
	margin-top: 2px;
}

.gl-safety__anti-truth {
	font-size: var(--gl-fs-small);
	line-height: var(--gl-lh-loose);
	color: var(--gl-color-text);
}

/* Block C — kulka-zapora highlight */
.gl-safety__highlight {
	max-width: 48rem;
	margin: clamp(var(--gl-space-5), 4vw, var(--gl-space-7)) auto 0;
	padding: clamp(var(--gl-space-5), 4vw, var(--gl-space-6));
	background: var(--gl-color-surface);
	border: 1px solid var(--gl-color-accent-soft);
	border-left: 4px solid var(--gl-color-accent);
	border-radius: var(--gl-radius-lg);
}

.gl-safety__highlight h3 {
	font-size: 1.25rem;
	font-weight: 600;
	margin: 0 0 var(--gl-space-3);
	color: var(--gl-color-text);
	line-height: 1.35;
}

.gl-safety__highlight p {
	margin: 0 0 var(--gl-space-3);
	font-size: var(--gl-fs-body);
	line-height: var(--gl-lh-loose);
	color: var(--gl-color-text-secondary);
}

.gl-safety__highlight p:last-child {
	margin-bottom: 0;
}

.gl-safety__quotes {
	list-style: none;
	margin: 0 0 var(--gl-space-3);
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--gl-space-2);
}

.gl-safety__quotes li {
	padding: 10px 14px;
	background: var(--gl-color-muted);
	border-left: 2px solid var(--gl-color-accent-soft);
	border-radius: var(--gl-radius-sm);
	font-size: var(--gl-fs-small);
	color: var(--gl-color-text);
	line-height: var(--gl-lh-loose);
}

.gl-safety__quotes li span {
	display: block;
	margin-top: 4px;
	font-size: 0.8125rem;
	color: var(--gl-color-text-secondary);
}

/* =========================================================================
   COMPARE — footnote (v2.0)
   ========================================================================= */
.gl-compare__footnote {
	margin: var(--gl-space-4) 0 0;
	font-size: 0.8125rem;
	color: var(--gl-color-text-secondary);
	line-height: 1.55;
	font-style: italic;
	max-width: 56rem;
}

/* =========================================================================
   WOO PRICE OVERRIDE
   ========================================================================= */
.woocommerce-Price-amount { font-weight: 500; }
.woocommerce-Price-currencySymbol { font-weight: inherit; }

/* Padding pod sticky bar na mobile, by ostatnia sekcja nie była zakryta */
@media (max-width: 899px) {
	body.single-product { padding-bottom: 80px; }
	body.gl-front-home:not(.woocommerce-checkout):not(.woocommerce-account) { padding-bottom: 80px; }
}

/* =========================================================================
   MOBILE OVERFLOW FIXES (v1.3.1)
   Eliminacja horyzontalnego scrolla na małych ekranach.
   Polski tekst zawiera długie słowa złożone (neurologopedami, stomatologii,
   anty-zadławieniowa), które bez `overflow-wrap` mogą rozpychać kontenery.
   ========================================================================= */

/* Defensywne łamanie długich słów w typografii treściowej.
   Stosujemy `break-word` — łamie tylko gdy słowo nie mieści się; nie psuje
   normalnych słów. */
.gl-hero__headline,
.gl-hero__sub,
.gl-section__header h2,
.gl-section__sub,
.gl-problem__item h3,
.gl-problem__item p,
.gl-stage__title,
.gl-stage__lead,
.gl-feature h3,
.gl-feature p,
.gl-review__text,
.gl-faq__question,
.gl-faq__answer,
.gl-safety__block-title,
.gl-safety__block-lead,
.gl-safety__highlight h3,
.gl-safety__highlight p,
.gl-compare__table td,
.gl-compare__table th {
	overflow-wrap: break-word;
	word-wrap: break-word;
	hyphens: auto;
}

/* Wszystkie kontenery grid w landingu — gwarantujemy że dzieci mogą się skurczyć.
   Bez `min-width: 0` grid-item domyślnie ma `min-width: auto` = max-content,
   co potrafi rozepchać siatkę poza viewport (np. długi pill, tabela). */
.gl-trust__grid > *,
.gl-problem__grid > *,
.gl-stages__grid > *,
.gl-features__grid > *,
.gl-reviews__grid > *,
.gl-bundle__cards > *,
.gl-howto__grid > *,
.gl-safety__grid > *,
.gl-final-cta .gl-container > * {
	min-width: 0;
}

/* Compare wrap — w niektórych przeglądarkach Safari overflow-x: auto wymaga
   wymuszenia `max-width: 100%` od kontenera, inaczej wycieka poza container. */
.gl-compare__wrap {
	max-width: 100%;
	width: 100%;
}

/* Sticky bar na mobile — gwarancja że nie rozpycha viewportu. */
.gl-sticky-bar {
	max-width: 100vw;
	box-sizing: border-box;
}

/* Tabela compare — na bardzo małych ekranach (<400px) lekko zmniejszamy padding
   i font, żeby min-width nie był aż tak ostry i scroll w wrap był mniej drastyczny.
   Tabela nadal scrolluje się w obrębie wrap, ale komórki nie marnują tyle miejsca. */
@media (max-width: 400px) {
	.gl-compare__table th,
	.gl-compare__table td {
		padding: var(--gl-space-2) var(--gl-space-3);
		font-size: var(--gl-fs-tiny);
	}
	.gl-compare__yes,
	.gl-compare__no,
	.gl-compare__partial {
		font-size: 10px;
		padding: 3px 8px;
	}
}

/* Kart hero — bundle selector. Karty mają min content size od ceny i wariantu,
   więc forsujemy szanowanie 1fr. */
.gl-bundle__cards,
.gl-bundle__cards--hero {
	min-width: 0;
}

.gl-bundle-card {
	min-width: 0;
	max-width: 100%;
}

/* Iframe / embed (jeśli wideo będzie kiedyś osadzone) — limit do 100% */
iframe, embed, object {
	max-width: 100%;
}
