/**
 * Typografia nagłówków sekcji — jeden punkt zmiany (tokeny + klasy).
 *
 * Wzorzec: strona główna — H1 sekcji 42px (mobile) / 47px (desktop),
 * H2 sekcji 35px. Klasy legacy (.pomoc-slider-home-big-title itd.) mapują
 * rozmiar przez selektor h1/h2, nie przez samą klasę.
 *
 * @package geness
 */

:root {
	--geness-font-display: "Playfair Display", serif;

	/* Nagłówki sekcji (poza boxami / kartami sliderów) */
	--geness-h1-size: 47px;
	--geness-h1-line-height: 1.2;
	--geness-h2-size: 35px;
	--geness-h2-line-height: 1.2;
	--geness-h3-size: 20px;
	--geness-h3-line-height: 1.2;
	--geness-h4-size: 15px;
	--geness-h4-line-height: 1.3;

	/* Marginesy nagłówków Gutenberg (.wp-block-heading) w treści */
	--geness-block-heading-h1-margin: 0 0 0.75em;
	--geness-block-heading-h2-margin: 1.35em 0 0.55em;
	--geness-block-heading-h3-margin: 1.2em 0 0.45em;
	--geness-block-heading-h4-margin: 1em 0 0.4em;

	/* Hero home: mały tagline nad głównym hasłem (nie rozmiar H1 sekcji) */
	--geness-hero-kicker-size: 15px;
	--geness-hero-kicker-line-height: 1.4;

	/* Podtytuł / lead pod nagłówkiem sekcji (.banner-descr) */
	--geness-section-lead-size: 14px;
	--geness-section-lead-line-height: 1.3;

	/* Zaokrąglenie kart / slajdów (przyciski CTA mają własny, większy radius) */
	--geness-radius: 20px;

	/* Etykiety podsekcji w treści (h2.banner-descr: „Wskazania”, „Cena” itd.) */
	--geness-subsection-label-size: 15px;

	/* Tytuły w kartach / boxach sliderów (nie nagłówki całej sekcji) */
	--geness-card-title-size: 20px;
	--geness-card-title-line-height: 1.2;

	/* Odstępy .banner-descr (wzorzec: strona główna) */
	--geness-banner-descr-padding: 20px 0 50px;
	--geness-banner-descr-subsection-padding: 0 0 22px;

	/* Tytuł sekcji bez leadu pod spodem (slider, CTA, grid…) */
	--geness-section-title-padding-bottom: 35px;

	/* Pierwsza sekcja ofert — równy odstęp od breadcrumbs i do sekcji poniżej */
	--geness-offer-hero-gap: 50px;
	--geness-offer-hero-lead-padding-top: 20px;
	/* Bez breadcrumbs: offset pod fixed header */
	--geness-offer-hero-padding-top: 70px;

	/* CTA — .blue-button, .white-button, .oferta-yellow-button */
	--geness-cta-font-size: 16px;

	/* Pola formularzy — wzorzec: filtry sklepu (#ede3da), tło strony #f9f5f2 */
	--geness-field-bg: #ede3da;
	--geness-field-bg-hover: #e2d6cc;
	--geness-field-bg-active: #dbd0c6;
	--geness-field-radius: 12px;
	--geness-field-padding-x: 18px;
	--geness-field-color: #231f20;
	--geness-field-label-color: #6d6e71;
	--geness-field-shadow: 0 1px 3px rgba(35, 31, 32, 0.06);
	--geness-surface-card: #fff;
	--geness-surface-page: #f9f5f2;
}

@media only screen and (max-width: 680px) {
	:root {
		--geness-h1-size: 42px;
		--geness-section-lead-size: 15px;
		--geness-card-title-size: 24px;
		--geness-banner-descr-padding: 18px 0 32px;
		--geness-banner-descr-subsection-padding: 0 0 18px;
		--geness-section-title-padding-bottom: 30px;
		--geness-offer-hero-gap: 32px;
		--geness-offer-hero-lead-padding-top: 18px;
		--geness-cta-font-size: 15px;
		--geness-block-heading-h2-margin: 1.15em 0 0.5em;
		--geness-block-heading-h3-margin: 1.05em 0 0.4em;
		--geness-block-heading-h4-margin: 0.9em 0 0.35em;
	}
}

/* --- Klasy narzędziowe (opcjonalnie w nowych szablonach) --- */

.geness-h1,
h1.geness-section-title {
	color: #231f20;
	font-family: var(--geness-font-display);
	font-size: var(--geness-h1-size);
	font-weight: 400;
	line-height: var(--geness-h1-line-height);
}

.geness-h2,
h2.geness-section-title {
	color: #231f20;
	font-family: var(--geness-font-display);
	font-size: var(--geness-h2-size);
	font-weight: 400;
	line-height: var(--geness-h2-line-height);
}

.geness-h3,
h3.geness-section-title {
	color: #231f20;
	font-family: var(--geness-font-display);
	font-size: var(--geness-h3-size);
	font-weight: 500;
	line-height: var(--geness-h3-line-height);
}

.geness-h4,
h4.geness-section-title {
	color: #231f20;
	font-family: var(--geness-font-display);
	font-size: var(--geness-h4-size);
	font-weight: 500;
	line-height: var(--geness-h4-line-height);
}

/* --- Gutenberg: .wp-block-heading (treść edytora) --- */

h1.wp-block-heading {
	margin: var(--geness-block-heading-h1-margin);
	color: #231f20;
	font-family: var(--geness-font-display);
	font-size: var(--geness-h1-size);
	font-weight: 400;
	line-height: var(--geness-h1-line-height);
	text-align: left;
}

h2.wp-block-heading {
	margin: var(--geness-block-heading-h2-margin);
	color: #231f20;
	font-family: var(--geness-font-display);
	font-size: var(--geness-h2-size);
	font-weight: 400;
	line-height: var(--geness-h2-line-height);
	text-align: left;
}

h3.wp-block-heading {
	margin: var(--geness-block-heading-h3-margin);
	color: #231f20;
	/* font-family: var(--geness-font-display); */
	font-size: var(--geness-h3-size);
	font-weight: 500;
	line-height: var(--geness-h3-line-height);
	text-align: left;
}

h4.wp-block-heading {
	margin: var(--geness-block-heading-h4-margin);
	color: #231f20;
	/* font-family: var(--geness-font-display); */
	font-size: var(--geness-h4-size);
	font-weight: 500;
	line-height: var(--geness-h4-line-height);
	text-align: left;
}

/* Pierwszy nagłówek w treści — bez górnego marginesu */
.entry-content > :is(h1, h2, h3, h4).wp-block-heading:first-child,
.banner-descr > :is(h1, h2, h3, h4).wp-block-heading:first-child,
.geness-page-content__body > :is(h1, h2, h3, h4).wp-block-heading:first-child {
	margin-top: 0;
}

/* --- Mapowanie klas legacy → tokeny --- */

h1.pomoc-slider-home-big-title,
h1.geness-page-hero__title,
h1.banner-title,
p.banner-title,
.geness-h1 {
	font-size: var(--geness-h1-size);
	line-height: var(--geness-h1-line-height);
}

h2.pomoc-slider-home-big-title,
h2.geness-faq-section__title,
.geness-h2 {
	font-size: var(--geness-h2-size);
	line-height: var(--geness-h2-line-height);
}

h1.hero-tagline {
	font-size: var(--geness-hero-kicker-size);
	line-height: var(--geness-hero-kicker-line-height);
}

h2.banner-descr,
h3.banner-descr {
	font-size: var(--geness-subsection-label-size);
}

.banner-descr:not(h1):not(h2):not(h3) {
	font-size: var(--geness-section-lead-size);
	line-height: var(--geness-section-lead-line-height);
}

.pomoc-slider-home-block-title,
.Wiecej-slider-two-block-title {
	font-size: var(--geness-card-title-size);
	line-height: var(--geness-card-title-line-height);
}

.zarezerwuj-wizyte-popup-title {
	font-size: var(--geness-h2-size);
	line-height: var(--geness-h2-line-height);
}

/* --- Przyciski CTA --- */

.blue-button div,
.blue-button span,
.sklep-text-home-page .blue-button a,
.white-button div,
.white-button span,
.white-button a,
.oferta-yellow-button a {
	font-size: var(--geness-cta-font-size);
}

/* --- Odstępy tytułu sekcji (.pomoc-slider-home-big-title) --- */

:is(h1, h2).pomoc-slider-home-big-title {
	padding-bottom: var(--geness-section-title-padding-bottom);
}

/* Lead (.banner-descr) zaraz pod tytułem — odstęp z padding-top leadu, bez dublowania */
:is(h1, h2).pomoc-slider-home-big-title:has(+ .banner-descr),
:is(h1, h2).pomoc-slider-home-big-title:has(+ .geness-faq-section__intro),
.sklep-text-home-page :is(h1, h2).pomoc-slider-home-big-title:has(+ .banner-descr),
.prezent-slider-home-page :is(h1, h2).pomoc-slider-home-big-title:has(+ .banner-descr),
.single-product .prezent-slider-home-page :is(h1, h2).pomoc-slider-home-big-title:has(+ .banner-descr),
.Skorzystaj-cennik-page-oferta :is(h1, h2).pomoc-slider-home-big-title:has(+ .banner-descr) {
	padding-bottom: 0;
}

/* --- Odstępy .banner-descr i pierwsza sekcja ofert --- */

p.banner-descr,
div.banner-descr:not(.Lipoliza-end-top-section-after-slider-descr):not(.geness-faq-section__intro) {
	padding: var(--geness-banner-descr-padding);
}

h2.banner-descr,
h3.banner-descr {
	padding: var(--geness-banner-descr-subsection-padding);
}

/* Breadcrumbs → intro: ten sam odstęp co intro → sekcja poniżej */
.geness-breadcrumbs-bar {
	padding-bottom: var(--geness-offer-hero-gap);
}

.geness-offer-hero-intro {
	padding-bottom: var(--geness-offer-hero-gap);
}

.geness-offer-hero-intro .pomoc-slider-home-big-title {
	padding-bottom: 0;
}

.geness-offer-hero-intro .banner-descr {
	padding: var(--geness-offer-hero-lead-padding-top) 0 0;
	margin: 0;
	font-size: var(--geness-section-lead-size);
	line-height: var(--geness-section-lead-line-height);
}

/* CTA / wideo — bez dolnego paddingu intro; odstępy marginem (jak home: gap pod leadem) */
.geness-offer-hero-intro:has(+ .geness-offer-hero-cta),
.geness-offer-hero-intro:has(+ .Lipoliza-end-top-section-button-row),
.geness-offer-hero-intro:has(+ .banner-video),
.geness-offer-hero-intro:has(+ .banner-video-mob) {
	padding-bottom: 0;
}

.geness-offer-hero-cta,
.Lipoliza-end-top-section-button-row {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: var(--geness-offer-hero-gap) 0;
	padding: 0;
}

.Oferta-produkt-top-page > .container-gen > .banner-video,
.Oferta-produkt-top-page > .container-gen > .banner-video-mob {
	margin-top: var(--geness-offer-hero-gap);
	margin-bottom: var(--geness-offer-hero-gap);
	margin-left: auto;
	margin-right: auto;
}

/* Slider bezpośrednio po CTA — bez dodatkowego margin-top */
.geness-offer-hero-cta + .geness-single-hero-slider,
.geness-offer-hero-cta + .Wiecej-slider-content,
.Lipoliza-end-top-section-button-row + .geness-single-hero-slider,
.Lipoliza-end-top-section-button-row + .Wiecej-slider-content {
	margin-top: 0;
}

.Oferta-produkt-top-page,
.Cennik-top-page,
.geness-woo-store-top-page {
	padding-top: var(--geness-offer-hero-padding-top);
	padding-bottom: 0;
}

#primary:has(.geness-breadcrumbs-bar) .Oferta-produkt-top-page,
#primary:has(.geness-breadcrumbs-bar) .Cennik-top-page,
#primary:has(.geness-breadcrumbs-bar) .geness-woo-store-top-page {
	padding-top: 0;
}

/* Koszyk / zamówienie — wyśrodkowany hero jak na podstronach ofert */
.geness-woo-store-top-page .geness-offer-hero-intro {
	text-align: center;
}

.geness-woo-store-top-page .pomoc-slider-home-big-title,
.geness-woo-store-top-page .banner-descr {
	text-align: center;
}

.sklep-text-home-page > .container-gen > p.banner-descr,
.sklep-text-home-page > .container-gen > .banner-descr:not(h2):not(h3) {
	padding: var(--geness-banner-descr-padding);
}

/* Treść pod sliderem na single / oferta (nie lead „Geness Clinic”) */
.banner-descr.Lipoliza-end-top-section-after-slider-descr {
	padding-top: 20px;
	padding-bottom: 30px;
}

/* --- Cennik usług: karty na mobile (nadpisuje min-width: 475px z style.css) --- */

@media only screen and (max-width: 680px) {
	.Cennik-uslug-section-content {
		flex-direction: column;
		align-items: stretch;
	}

	.Cennik-uslug-button,
	a.Cennik-uslug-button,
	.Cennik-uslug-section-oferta-prod-section .Cennik-uslug-button,
	.page-template-Wskazania-page .Cennik-uslug-button,
	.page-template-wskazania-product-page .Cennik-uslug-button {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		margin-right: 0;
		box-sizing: border-box;
		height: auto;
	}

	.Cennik-uslug-button:nth-child(even),
	a.Cennik-uslug-button:nth-child(even) {
		margin-right: 0;
	}

	.Cennik-uslug-button-title,
	.page-template-Wskazania-page .wskazania-page-row-content .Cennik-uslug-button-title,
	.page-template-Oferta-produkt-page .Cennik-uslug-button-title,
	.single-wskazania .Cennik-uslug-button-title,
	.single .wskazania-page-row-content .Cennik-uslug-button-title {
		width: auto;
		max-width: 100%;
		flex: 1 1 0;
		min-width: 0;
	}

	.wskazania-page-row-content {
		width: auto;
		flex: 1 1 0;
		min-width: 0;
	}

	.Cennik-uslug-button-img,
	.page-template-Wskazania-page .wskazania-page-row .Cennik-uslug-button-img {
		width: 80px;
		height: 80px;
		min-width: 80px;
		min-height: 80px;
		flex-shrink: 0;
	}
}
