/*
Theme Name: Czułe Zapachy
Theme URI: https://czulezapachy.pl
Author: Czułe Zapachy
Description: Motyw blokowy dla warsztatów perfum naturalnych Czułe Zapachy. Ziemiste, ciepłe kolory, strona główna złożona z gotowych sekcji (wzorców), które można edytować w edytorze witryny.
Version: 1.2.1
Requires at least: 6.6
Tested up to: 6.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: czule-zapachy
*/

/* ---------- Podstawy ---------- */

:root {
	--cz-torf: #2B2618;
	--cz-mech: #4F5634;
	--cz-miod: #E9B872;
	--cz-morela: #F4DCC0;
	--cz-rdza: #9C4A26;
	--cz-terakota: #B8643A;
	--cz-glina: #7E5C38;
	--cz-roza: #C98A6B;
	--cz-piasek: #F6EADB;
	--cz-kremowy: #FFF5E8;
	--cz-szary: #4A3E2E;
	--cz-szary-jasny: #6A5A44;
	--cz-linia: #EADFCF;
	--cz-wrap: 1320px;
}

.wp-site-blocks > * + * { margin-block-start: 0; }

h1, h2, h3, .wp-block-site-title, .cz-serif {
	font-variation-settings: 'SOFT' 100, 'WONK' 1;
}

:where(.cz-main, .cz-header, .cz-footer, .cz-bar) p { margin: 0; }
:where(.cz-main, .cz-footer) :is(h1, h2, h3) { margin: 0; }

*:focus-visible { outline: 2px solid var(--cz-rdza); outline-offset: 3px; }

.cz-wrap {
	box-sizing: border-box;
	max-width: var(--cz-wrap);
	margin-inline: auto !important;
	padding-inline: 24px;
	width: 100%;
}

.cz-section { padding-block: clamp(64px, 8vw, 96px); }

.cz-muted { color: var(--cz-szary); }

.cz-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 20px 64px;
	margin-bottom: 44px;
}
.cz-head > h2 { flex: 1 1 360px; max-width: 620px; }
.cz-head > p { flex: 1 1 360px; max-width: 520px; font-size: 1.0625rem; color: var(--cz-szary); }
.cz-head > * { margin-block-start: 0 !important; }

/* Przyciski */
.wp-block-button.cz-btn-rdza .wp-block-button__link { background: var(--cz-rdza); }
.wp-block-button.cz-btn-rdza .wp-block-button__link:hover { background: var(--cz-torf); }
.wp-block-button.cz-btn-outline .wp-block-button__link {
	background: transparent;
	color: var(--cz-torf);
	box-shadow: inset 0 0 0 1px var(--cz-torf);
}
.wp-block-button.cz-btn-outline .wp-block-button__link:hover { background: var(--cz-torf); color: #fff; }
.wp-block-button.cz-btn-miod .wp-block-button__link { background: var(--cz-miod); color: var(--cz-torf); }
.wp-block-button.cz-btn-miod .wp-block-button__link:hover { background: #fff; color: var(--cz-torf); }
.wp-block-button.cz-btn-small .wp-block-button__link { padding: 13px 22px; font-size: 0.9375rem; }

/* ---------- Pasek ogłoszeń i nagłówek ---------- */

.cz-bar {
	background: var(--cz-rdza);
	color: var(--cz-kremowy);
	font-size: 0.9375rem;
	padding: 11px 24px;
	text-align: center;
	line-height: 1.4;
}
.cz-bar a { color: var(--cz-kremowy); font-weight: 600; }
.cz-bar a:hover { color: #fff; }

.cz-header { background: #fff; border-bottom: 1px solid var(--cz-linia); }
.cz-header-in {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 36px;
	padding-block: 16px;
}
.cz-header-in > * { margin-block-start: 0 !important; }
.cz-brand { flex: 0 0 auto; }
.cz-brand > * { margin: 0 !important; }
.cz-brand .wp-block-site-title {
	font-family: var(--wp--preset--font-family--fraunces);
	font-size: 2rem;
	font-weight: 600;
	letter-spacing: -0.5px;
	line-height: 1;
	text-transform: lowercase;
}
.cz-brand .wp-block-site-title a { text-decoration: none; }
.cz-brand .wp-block-site-tagline { font-size: 0.8125rem; color: var(--cz-szary-jasny); margin-top: 3px !important; }

.cz-nav { flex: 1 1 420px; font-size: 0.9375rem; font-weight: 500; gap: 0 26px; }
.cz-nav a { text-decoration: none; padding-block: 12px; }

.cz-header-cta { display: flex; align-items: center; gap: 18px; margin-left: auto; }
.cz-header-cta > * { margin: 0 !important; }
.cz-phone a { text-decoration: none; font-size: 0.9375rem; font-weight: 500; }

/* ---------- Hero i warstwy ziemi ---------- */

.cz-hero-in {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 48px 64px;
	padding-block: 60px 80px;
}
.cz-hero-in > * { margin-block-start: 0 !important; }
.cz-hero-text { flex: 1 1 420px; min-width: 0; max-width: 580px; padding-bottom: 20px; }
.cz-hero-text > * + * { margin-top: 0 !important; }
.cz-kicker { color: var(--cz-rdza); font-weight: 500; margin-bottom: 22px !important; }
.cz-hero-text h1 { margin-bottom: 28px !important; }
.cz-lead { font-size: 1.1875rem; max-width: 32em; margin-bottom: 18px !important; }
.cz-hero-text .cz-muted { color: var(--cz-szary-jasny); max-width: 32em; margin-bottom: 36px !important; }

.cz-strata { flex: 1 1 520px; min-width: 0; position: relative; padding-top: 210px; }
.cz-strata > * { margin-block-start: 0 !important; }
.cz-flakon { position: absolute; top: 0; left: 50%; margin-left: -80px; width: 160px; z-index: 2; }
.cz-flakon svg { display: block; width: 160px; height: auto; }
.cz-flakon-opis {
	position: absolute;
	top: 96px;
	left: 50%;
	margin: 0 0 0 96px !important;
	font-size: 0.875rem;
	line-height: 1.4;
	color: var(--cz-szary-jasny);
	max-width: 190px;
	z-index: 3;
}

.cz-layer {
	position: relative;
	display: grid;
	grid-template-columns: 1fr auto;
	column-gap: 24px;
	align-items: baseline;
	padding: 34px 32px 30px;
}
.cz-layer > * { margin: 0 !important; }
.cz-layer h3 { font-size: 1.625rem; }
.cz-layer-time { font-size: 0.9375rem; text-align: right; }
.cz-layer-notes { grid-column: 1 / -1; margin-top: 10px !important; font-size: 1.0625rem; }
.cz-layer::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: calc(100% - 1px);
	height: 24px;
	background-size: 100% 100%;
	background-repeat: no-repeat;
}
.cz-layer-1 { background: var(--cz-miod); color: var(--cz-torf); padding-top: 44px; border-radius: 6px 6px 0 0; }
.cz-layer-1::before {
	height: 30px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 30' preserveAspectRatio='none'%3E%3Cpath d='M0 30 C60 8 120 22 190 12 C260 2 320 20 400 14 C470 9 540 2 600 16 L600 30 Z' fill='%23E9B872'/%3E%3C/svg%3E");
}
.cz-layer-2 { background: var(--cz-terakota); color: var(--cz-kremowy); }
.cz-layer-2::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 22' preserveAspectRatio='none'%3E%3Cpath d='M0 22 C90 10 150 18 240 8 C330 0 400 16 480 10 C540 6 570 12 600 6 L600 22 Z' fill='%23B8643A'/%3E%3C/svg%3E");
}
.cz-layer-3 { background: #4A3726; color: var(--cz-kremowy); padding-bottom: 76px; border-radius: 0 0 6px 6px; }
.cz-layer-3::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 20' preserveAspectRatio='none'%3E%3Cpath d='M0 20 C70 6 160 14 250 6 C340 -1 420 12 500 8 C550 5 580 10 600 4 L600 20 Z' fill='%234A3726'/%3E%3C/svg%3E");
}
.cz-layer-3::after {
	content: "";
	position: absolute;
	left: 32px;
	right: 32px;
	bottom: 18px;
	height: 40px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 40' preserveAspectRatio='none'%3E%3Cg fill='%235B4632'%3E%3Cellipse cx='40' cy='20' rx='10' ry='6'/%3E%3Cellipse cx='180' cy='28' rx='6' ry='4'/%3E%3Cellipse cx='320' cy='14' rx='14' ry='8'/%3E%3Cellipse cx='470' cy='26' rx='8' ry='5'/%3E%3Cellipse cx='560' cy='12' rx='5' ry='3'/%3E%3C/g%3E%3C/svg%3E") center / 100% 100% no-repeat;
}

/* ---------- W skrócie ---------- */

.cz-facts { background: #fff; border-block: 1px solid var(--cz-linia); }
.cz-facts-in {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 16px;
	padding-block: 28px;
}
.cz-facts-in > * { margin: 0 !important; }
.cz-fact { position: relative; padding: 10px 10px 10px 80px; min-height: 56px; display: flex; flex-direction: column; justify-content: center; }
.cz-fact > * { margin: 0 !important; }
.cz-fact::before {
	content: "";
	position: absolute;
	left: 10px;
	top: 50%;
	width: 56px;
	height: 56px;
	margin-top: -28px;
	border-radius: 50%;
	background: var(--cz-miod);
}
.cz-fact:nth-child(2)::before { background: var(--cz-roza); }
.cz-fact:nth-child(3)::before { background: var(--cz-terakota); }
.cz-fact:nth-child(4)::before { background: var(--cz-mech); }
.cz-fact strong { font-size: 1rem; }
.cz-fact p + p { font-size: 0.875rem; color: var(--cz-szary-jasny); }

/* ---------- Przebieg ---------- */

.cz-steps { display: flex; flex-wrap: wrap; gap: 4px; counter-reset: krok; }
.cz-steps > * { margin: 0 !important; }
.cz-step { flex: 1 1 170px; min-width: 170px; background: var(--cz-piasek); padding: 24px 20px; box-sizing: border-box; }
.cz-step > * { margin: 0 !important; }
.cz-step::before {
	counter-increment: krok;
	content: counter(krok);
	display: block;
	font-family: var(--wp--preset--font-family--fraunces);
	font-variation-settings: 'SOFT' 100, 'WONK' 1;
	font-size: 1.875rem;
	font-weight: 600;
	margin-bottom: 8px;
	color: var(--cz-rdza);
}
.cz-step h3 { font-family: var(--wp--preset--font-family--schibsted); font-size: 1.0625rem; font-weight: 600; margin-bottom: 6px !important; letter-spacing: 0; }
.cz-step p { font-size: 0.9375rem; line-height: 1.45; color: var(--cz-szary); }
.cz-step:first-child { border-radius: 6px 0 0 6px; }
.cz-step:last-child { border-radius: 0 6px 6px 0; }
.cz-step:nth-child(2) { flex: 3 1 260px; background: var(--cz-miod); }
.cz-step:nth-child(2) p { color: var(--cz-torf); }
.cz-step:nth-child(2)::before { color: var(--cz-torf); }
.cz-step:nth-child(3) { flex: 2 1 220px; background: var(--cz-terakota); color: var(--cz-kremowy); }
.cz-step:nth-child(4) { flex: 2 1 220px; background: #4A3726; color: var(--cz-kremowy); }
.cz-step:is(:nth-child(3), :nth-child(4)) p,
.cz-step:is(:nth-child(3), :nth-child(4))::before { color: var(--cz-kremowy); }

.cz-boxes { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px; margin-top: 48px !important; }
.cz-boxes > * { margin: 0 !important; }
.cz-box { background: #fff; border: 1px solid var(--cz-linia); border-radius: 6px; padding: 28px; }
.cz-box > * { margin: 0 !important; }
.cz-box h3 { font-size: 1.5rem; margin-bottom: 14px !important; }
.cz-box ul { padding-left: 20px; line-height: 1.8; color: var(--cz-szary); }

/* ---------- Okazje ---------- */

.cz-okazje { background: var(--cz-rdza); color: var(--cz-kremowy); }
.cz-okazje h2 { color: #fff; font-size: clamp(2.5rem, 4.6vw, 3.75rem); line-height: 1; }
.cz-okazje .cz-head > p { color: var(--cz-kremowy); }
.cz-offers { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 20px; }
.cz-offers > * { margin: 0 !important; }
.cz-offer {
	background: var(--cz-kremowy);
	color: var(--cz-torf);
	border-radius: 6px;
	padding: 30px 28px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.cz-offer > * { margin: 0 !important; }
.cz-offer h3 { font-size: 1.75rem; }
.cz-offer p { color: var(--cz-szary); }
.cz-offer .cz-price { margin-top: auto !important; padding-top: 10px; font-size: 1.125rem; font-weight: 600; color: var(--cz-torf); }
.cz-offer.cz-offer-bon { background: var(--cz-miod); }
.cz-offer.cz-offer-bon p { color: var(--cz-torf); }
.cz-offer .wp-block-buttons { margin-top: auto !important; }

/* ---------- Dojazd ---------- */

.cz-dojazd-in { display: flex; flex-wrap: wrap; align-items: center; gap: 48px 80px; }
.cz-dojazd-in > * { margin: 0 !important; }
.cz-dojazd-text { flex: 1 1 380px; min-width: 0; max-width: 500px; }
.cz-dojazd-text > * { margin: 0 !important; }
.cz-dojazd-text h2 { margin-bottom: 20px !important; }
.cz-dojazd-text > p:first-of-type { color: var(--cz-szary); margin-bottom: 32px !important; }
.cz-zone { position: relative; padding-left: 42px; margin-bottom: 16px !important; }
.cz-zone::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	box-sizing: border-box;
	background: var(--cz-miod);
}
.cz-zone-2::before { background: #F2D3B0; border: 1px solid #D9AE84; }
.cz-zone-3::before { background: #FBEEDD; border: 1px dashed var(--cz-terakota); }
.cz-map { flex: 1 1 480px; min-width: 0; max-width: 620px; }
.cz-map svg { display: block; width: 100%; height: auto; }

/* ---------- O mnie ---------- */

.cz-omnie { background: var(--cz-morela); }
.cz-omnie-in { display: flex; flex-wrap: wrap; align-items: center; gap: 48px 80px; }
.cz-omnie-in > * { margin: 0 !important; }
.cz-portrait { flex: 1 1 380px; min-width: 0; max-width: 500px; }
.cz-portrait > * { margin: 0 !important; }
.cz-portrait img,
.cz-portrait .cz-photo-placeholder {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: 240px 240px 6px 6px;
}
.cz-photo-placeholder {
	background: var(--cz-roza);
	display: flex !important;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 48px;
	box-sizing: border-box;
	font-size: 0.9375rem;
}
.cz-omnie-text { flex: 1 1 440px; min-width: 0; max-width: 600px; }
.cz-omnie-text > * { margin: 0 !important; }
.cz-omnie-text h2 { font-size: clamp(2.5rem, 4.6vw, 3.75rem); line-height: 1; margin-bottom: 24px !important; }
.cz-omnie-text > p { font-size: 1.125rem; line-height: 1.65; color: var(--cz-szary); margin-bottom: 18px !important; }
.cz-omnie-text > p.cz-lead { color: var(--cz-torf); font-size: 1.1875rem; }
.cz-creds {
	border-top: 1px solid #D9AE84;
	padding-top: 22px;
	margin-top: 12px !important;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 16px 32px;
}
.cz-creds > * { margin: 0 !important; font-size: 0.9375rem; color: var(--cz-szary); }
.cz-creds strong { display: block; color: var(--cz-torf); margin-bottom: 4px; }
.cz-omnie-text > p.cz-signature {
	margin-top: 32px !important;
	font-family: var(--wp--preset--font-family--fraunces);
	font-size: 1.875rem;
	font-style: italic;
	font-weight: 500;
	color: var(--cz-rdza);
}

/* ---------- Kompozycje ---------- */

.cz-kompozycje .cz-head > h2 { max-width: 680px; }
.cz-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 36px; }
.cz-chips button {
	height: 44px;
	padding: 0 20px;
	border-radius: 22px;
	border: 1px solid var(--cz-torf);
	background: transparent;
	color: var(--cz-torf);
	font: inherit;
	font-size: 0.9375rem;
	font-weight: 500;
	cursor: pointer;
}
.cz-chips button[aria-pressed="true"] { background: var(--cz-torf); color: #fff; }
.cz-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 36px 24px; }
.cz-cards > * { margin: 0 !important; }
.cz-card { display: flex; flex-direction: column; gap: 6px; }
.cz-card[hidden] { display: none; }
.cz-card > * { margin: 0 !important; }
.cz-card-img {
	position: relative;
	aspect-ratio: 5 / 4;
	border-radius: 6px;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	overflow: hidden;
	margin-bottom: 10px;
	background: var(--cz-soil, var(--cz-glina));
}
.cz-card-img svg { display: block; margin-bottom: -2px; height: auto; }
.cz-card-img .cz-svg-flakon { width: 44%; }
.cz-card-img .cz-svg-roll { width: 34%; }
.cz-card-img .szklo { fill: var(--cz-glass, #C29660); }
.cz-badge {
	position: absolute;
	top: 14px;
	left: 14px;
	background: #fff;
	color: var(--cz-torf);
	font-size: 0.8125rem;
	font-weight: 500;
	padding: 6px 10px;
	border-radius: 4px;
}
.cz-card-family { font-size: 0.875rem; color: var(--cz-rdza); font-weight: 500; }
.cz-card h3 { font-size: 1.5rem; }
.cz-card-notes { font-size: 0.9375rem; line-height: 1.45; color: var(--cz-szary); }
.cz-soil-mech { --cz-soil: #6E7448; --cz-glass: #A3AC74; }
.cz-soil-miod { --cz-soil: #E9B872; --cz-glass: #F3D9A0; }
.cz-soil-glina { --cz-soil: #7E5C38; --cz-glass: #C29660; }
.cz-soil-terakota { --cz-soil: #B8643A; --cz-glass: #E59A5C; }
.cz-soil-torf { --cz-soil: #4A3726; --cz-glass: #8A7154; }
.cz-soil-roza { --cz-soil: #C98A6B; --cz-glass: #EBC0A8; }
.cz-empty[hidden] { display: none; }

/* ---------- Składniki ---------- */

.cz-sklad { background: var(--cz-piasek); }
.cz-sklad h2 { max-width: 700px; margin-bottom: 40px !important; }
.cz-ingredients { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 40px; }
.cz-ingredients > * { margin: 0 !important; }
.cz-ingredient { border-top: 3px solid var(--cz-mech); padding-top: 20px; }
.cz-ingredient:nth-child(2) { border-color: var(--cz-miod); }
.cz-ingredient:nth-child(3) { border-color: var(--cz-terakota); }
.cz-ingredient > * { margin: 0 !important; }
.cz-ingredient h3 { font-size: 1.625rem; margin-bottom: 10px !important; }
.cz-ingredient p { line-height: 1.6; color: var(--cz-szary); }
.cz-note { margin-top: 44px !important; padding: 20px 24px; background: #fff; border-radius: 6px; max-width: 860px; }

/* ---------- Pytania ---------- */

.cz-faq .cz-wrap { max-width: 920px; }
.cz-faq h2 { margin-bottom: 32px !important; }
.cz-faq .wp-block-details {
	border-bottom: 1px solid #D9C7AE;
	margin: 0 !important;
}
.cz-faq .wp-block-details:first-of-type { border-top: 1px solid #D9C7AE; }
.cz-faq summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	padding: 22px 0;
	font-size: 1.1875rem;
	font-weight: 600;
}
.cz-faq summary::-webkit-details-marker { display: none; }
.cz-faq summary::after {
	content: "+";
	font-size: 1.75rem;
	font-weight: 400;
	color: var(--cz-rdza);
	line-height: 1;
	transition: transform .2s;
}
.cz-faq details[open] summary::after { transform: rotate(45deg); }
.cz-faq details > p { margin: 0 0 24px; color: var(--cz-szary); max-width: 680px; line-height: 1.6; }

/* ---------- Rezerwacja ---------- */

.cz-rezerwacja { background: var(--cz-miod); }
.cz-rezerwacja-in { display: flex; flex-wrap: wrap; gap: 40px 80px; }
.cz-rezerwacja-in > * { margin: 0 !important; }
.cz-rezerwacja-text { flex: 1 1 340px; min-width: 0; max-width: 460px; }
.cz-rezerwacja-text > * { margin: 0 !important; }
.cz-rezerwacja-text h2 { font-size: clamp(2.5rem, 4.6vw, 3.75rem); line-height: 1; margin-bottom: 18px !important; }
.cz-rezerwacja-text > p { margin-bottom: 18px !important; }
.cz-rezerwacja-text > p:first-of-type { font-size: 1.125rem; }
.cz-form {
	flex: 1 1 520px;
	min-width: 0;
	max-width: 680px;
	background: #FFF8EE;
	border-radius: 6px;
	padding: 32px;
	box-sizing: border-box;
}
.cz-form .wpcf7-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px 20px; }
.cz-form .wpcf7-form > p { margin: 0; }
.cz-form .wpcf7-form > :is(.cz-full, .wpcf7-response-output) { grid-column: 1 / -1; }
.cz-form .wpcf7-form > div:first-child { display: none; }
.cz-form label { display: flex; flex-direction: column; gap: 6px; font-size: 0.9375rem; font-weight: 500; }
.cz-form label br { display: none; }
.cz-form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="date"], select, textarea) {
	box-sizing: border-box;
	width: 100%;
	min-height: 48px;
	padding: 10px 14px;
	border: 1px solid #CDB89A;
	border-radius: 6px;
	background: #fff;
	color: var(--cz-torf);
	font: inherit;
	font-size: 1rem;
}
.cz-form textarea { resize: vertical; }
.cz-form input[type="submit"] {
	height: 52px;
	padding: 0 30px;
	border-radius: 26px;
	border: 0;
	background: var(--cz-rdza);
	color: #fff;
	font: inherit;
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
}
.cz-form input[type="submit"]:hover { background: var(--cz-torf); }
.cz-form .cz-small { font-size: 0.875rem; color: #5A4A36; }

/* ---------- Stopka ---------- */

.cz-footer { background: var(--cz-torf); color: #E9DFCF; }
.cz-footer a { color: #E9DFCF; text-decoration: none; }
.cz-footer a:hover { color: #fff; text-decoration: underline; }
.cz-footer-in { padding-block: 64px 32px; }
.cz-footer-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 36px; margin-bottom: 48px; }
.cz-footer-cols > * { margin: 0 !important; }
.cz-footer-col > * { margin: 0 0 10px !important; font-size: 0.9375rem; }
.cz-footer-col strong { color: #fff; font-size: 1rem; }
.cz-footer-logo { font-family: var(--wp--preset--font-family--fraunces); font-variation-settings: 'SOFT' 100, 'WONK' 1; font-size: 1.75rem !important; font-weight: 600; color: #fff; }
.cz-footer-bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 12px;
	border-top: 1px solid #4A4030;
	padding-top: 22px;
	font-size: 0.875rem;
}
.cz-footer-bottom > * { margin: 0 !important; }

/* ---------- Zwykłe podstrony ---------- */

.cz-page { padding: 64px 24px 96px; }
.cz-page h1 { font-size: clamp(2.25rem, 5vw, 3.5rem); margin-bottom: 32px; }

/* ---------- Telefon ---------- */

@media (max-width: 640px) {
	.cz-flakon-opis { display: none; }
	.cz-layer { grid-template-columns: 1fr; padding-inline: 22px; }
	.cz-layer-time { text-align: left; margin-top: 4px !important; }
	.cz-step, .cz-step:first-child, .cz-step:last-child { border-radius: 6px; flex-basis: 100%; }
	.cz-header-cta { margin-left: 0; width: 100%; justify-content: space-between; }
	.cz-form { padding: 22px; }
}

@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; animation: none !important; }
}

/* ---------- Ankieta (szablon "Ankieta (bez menu, ukryta)") ---------- */

.cz-header-min .cz-brand { padding-block: 20px; text-align: center; }
.cz-ankieta-main {
	box-sizing: border-box;
	max-width: 640px;
	margin: 0 auto;
	padding: 40px 20px 80px;
}
.cz-ankieta-main h1 { font-size: clamp(2.25rem, 8vw, 3.25rem); margin: 0 0 16px; }
.cz-ankieta-main .wp-block-post-content > p { font-size: 1.0625rem; color: var(--cz-szary); }
.cz-ankieta-main .wpcf7 { margin-top: 32px; }
.cz-ankieta-main .wpcf7-form > p { margin: 0 0 20px; }
.cz-ankieta-main label { display: flex; flex-direction: column; gap: 6px; font-weight: 500; }
.cz-ankieta-main label br { display: none; }
.cz-ankieta-main :is(input[type="text"], input[type="email"], textarea) {
	box-sizing: border-box;
	width: 100%;
	min-height: 48px;
	padding: 10px 14px;
	border: 1px solid #CDB89A;
	border-radius: 6px;
	background: #fff;
	color: var(--cz-torf);
	font: inherit;
	font-size: 1rem;
}
.cz-ankieta-main textarea { resize: vertical; }
.cz-probka {
	border: 0;
	margin: 0 0 20px;
	padding: 24px 22px;
	border-radius: 6px;
	background: var(--cz-piasek);
}
.cz-probka:nth-of-type(2) { background: var(--cz-morela); }
.cz-probka:nth-of-type(3) { background: #E7E3CF; }
.cz-probka legend {
	float: left;
	width: 100%;
	padding: 0;
	margin-bottom: 14px;
	font-family: var(--wp--preset--font-family--fraunces);
	font-variation-settings: 'SOFT' 100, 'WONK' 1;
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.15;
}
.cz-probka legend + * { clear: both; }
.cz-probka p { margin: 0 0 16px; }
.cz-q { font-weight: 500; margin: 0 0 8px !important; }
.cz-pyt { margin-top: 28px !important; }

/* Skala 1–5 i przyciski wyboru zamiast kółek */
.cz-ankieta-main :is(.cz-scale, .cz-pick) { display: flex; flex-wrap: wrap; gap: 8px; }
.cz-ankieta-main :is(.cz-scale, .cz-pick) .wpcf7-list-item { margin: 0; }
.cz-ankieta-main :is(.cz-scale, .cz-pick) label { display: block; position: relative; cursor: pointer; }
.cz-ankieta-main :is(.cz-scale, .cz-pick) input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
}
.cz-ankieta-main :is(.cz-scale, .cz-pick) .wpcf7-list-item-label {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 48px;
	height: 48px;
	padding: 0 16px;
	box-sizing: border-box;
	border: 1px solid var(--cz-torf);
	border-radius: 24px;
	background: #fff;
	font-weight: 500;
}
.cz-ankieta-main .cz-scale .wpcf7-list-item-label { padding: 0; width: 48px; }
.cz-ankieta-main :is(.cz-scale, .cz-pick) input:checked + .wpcf7-list-item-label {
	background: var(--cz-torf);
	color: #fff;
}
.cz-ankieta-main :is(.cz-scale, .cz-pick) input:focus-visible + .wpcf7-list-item-label {
	outline: 2px solid var(--cz-rdza);
	outline-offset: 2px;
}
.cz-skala-opis { font-size: 0.875rem; color: var(--cz-szary-jasny); margin: 6px 0 18px !important; }
.cz-ankieta-main .wpcf7-acceptance label { flex-direction: row; align-items: flex-start; gap: 10px; font-weight: 400; font-size: 0.9375rem; }
.cz-ankieta-main .wpcf7-acceptance input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--cz-rdza); }
.cz-ankieta-main input[type="submit"] {
	width: 100%;
	height: 56px;
	border-radius: 28px;
	border: 0;
	background: var(--cz-rdza);
	color: #fff;
	font: inherit;
	font-size: 1.0625rem;
	font-weight: 600;
	cursor: pointer;
}
.cz-ankieta-main input[type="submit"]:hover { background: var(--cz-torf); }

/* ---------- Logo: róża ---------- */

.cz-brand { position: relative; padding-left: 50px; min-height: 60px; display: flex; flex-direction: column; justify-content: center; }
.cz-brand::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 36px;
	height: 62px;
	margin-top: -33px;
	background: url("assets/img/roza.webp") center / contain no-repeat;
}
.cz-header-min .cz-brand {
	padding: 18px 24px 14px;
	min-height: 0;
	align-items: center;
}
.cz-header-min .cz-brand::before {
	position: static;
	margin: 0 0 8px;
	width: 40px;
	height: 68px;
}
.cz-footer-logo { position: relative; padding-left: 44px; min-height: 54px; display: flex; align-items: center; }
.cz-footer-logo::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 31px;
	height: 54px;
	margin-top: -28px;
	background: url("assets/img/roza-jasna.webp") center / contain no-repeat;
}
