/* ==========================================================================
   Your Dream Wood — style motywu potomnego (Blocksy)
   Kolejność: 1. tokeny  2. typografia  3. nagłówek  4. przyciski
              5. karty produktów  6. sekcje strony głównej  7. stopka
              8. baner cookies  9. poprawki mobile
   ========================================================================== */

/* 1. TOKENY — jasna, ciepła paleta "drewna" ------------------------------- */
/* html:root ma wyższą specyficzność niż :root z dynamicznego CSS Blocksy,
   więc paleta działa nawet jeśli w Customizerze zostały stare kolory. */
html:root {
	--theme-palette-color-1: #8B5E3C; /* dąb / orzech — akcent, przyciski  */
	--theme-palette-color-2: #6E4A2F; /* ciemniejszy — hover               */
	--theme-palette-color-3: #4A3F36; /* tekst                             */
	--theme-palette-color-4: #2E2620; /* nagłówki                          */
	--theme-palette-color-5: #E8DFD3; /* obramowania                       */
	--theme-palette-color-6: #F5EFE7; /* piasek — tła sekcji               */
	--theme-palette-color-7: #FBF8F4; /* tło strony                        */
	--theme-palette-color-8: #FFFFFF;

	--ydw-muted: #6F6358;
	--ydw-oak-light: #EAD9C2;
	--ydw-honey: #D4A373;
	--ydw-sage: #56704A;
	--ydw-sage-bg: #E9EEE3;

	/* Skala odstępów — używaj tylko tych wartości */
	--ydw-s1: 4px;
	--ydw-s2: 8px;
	--ydw-s3: 12px;
	--ydw-s4: 16px;
	--ydw-s5: 24px;
	--ydw-s6: 32px;
	--ydw-s7: 48px;
	--ydw-s8: 64px;
	--ydw-gap: clamp(12px, 2vw, 24px);            /* odstęp w siatkach        */
	--ydw-gutter: max(16px, 5vw);                  /* = marginesy kontenera Blocksy (90vw) */
	--ydw-section-y: clamp(56px, 7vw, 104px);      /* między sekcjami          */
	--ydw-section-y-tight: clamp(40px, 5vw, 64px);

	--ydw-radius-sm: 8px;
	--ydw-radius: 12px;
	--ydw-radius-lg: 24px;
	--ydw-shadow: 0 1px 2px rgba(46, 38, 32, .04), 0 10px 30px rgba(46, 38, 32, .07);

	--ydw-font-sans: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--ydw-font-serif: "Lora", Georgia, "Times New Roman", serif;

	--theme-font-family: var(--ydw-font-sans);
	--theme-line-height: 1.65;
	--theme-button-font-size: 15px;
	--theme-button-font-weight: 600;
	--theme-button-padding: 12px 24px;
	--theme-button-min-height: 46px;
}

/* 2. TYPOGRAFIA ----------------------------------------------------------- */
body {
	font-family: var(--ydw-font-sans);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1, h2,
.ydw-serif {
	--theme-font-family: var(--ydw-font-serif);
	font-family: var(--ydw-font-serif);
	font-weight: 700;
	letter-spacing: -.01em;
	line-height: 1.2;
	color: var(--theme-palette-color-4);
}
h1 { font-size: clamp(2.1rem, 1.3rem + 2.8vw, 3.25rem); }
h2 { font-size: clamp(1.6rem, 1.2rem + 1.5vw, 2.25rem); }

h3, h4, h5, h6 {
	--theme-font-family: var(--ydw-font-sans);
	font-family: var(--ydw-font-sans);
	font-weight: 700;
	color: var(--theme-palette-color-4);
	letter-spacing: 0;
}

.entry-content a:not(.wp-element-button):not(.wp-block-button__link):not(.button) {
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
}

::selection { background: var(--ydw-oak-light); color: var(--theme-palette-color-4); }

/* Tytuł strony "Główna" nad treścią strony głównej — nowy H1 jest w sekcji hero.
   (Lepiej wyłączyć go też w ustawieniach strony: Blocksy → Page Title → Disabled) */
.home .hero-section { display: none; }
.home #main [data-vertical-spacing*="top"] { padding-top: var(--ydw-s5); }

/* 3. PASEK INFORMACYJNY + NAGŁÓWEK ---------------------------------------- */
.ydw-topbar {
	background: var(--ydw-oak-light);
	color: var(--theme-palette-color-4);
	text-align: center;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	padding: var(--ydw-s2) var(--ydw-s4);
}
.ydw-topbar a { color: inherit; text-decoration: none; }
.ydw-topbar a:hover { text-decoration: underline; text-underline-offset: 3px; }

#header [data-row*="middle"] {
	background-color: var(--theme-palette-color-8);
	border-bottom: 1px solid var(--theme-palette-color-5);
}

/* Menu: bez WIELKICH LITER, spokojniejsza typografia */
#header [data-id="menu"] > ul > li > a,
#header [data-id="menu-secondary"] > ul > li > a {
	--theme-font-family: var(--ydw-font-sans);
	--theme-font-weight: 500;
	--theme-font-size: 15px;
	--theme-text-transform: none;
	--theme-letter-spacing: 0;
	--theme-link-initial-color: var(--theme-palette-color-4);
	--theme-link-hover-color: var(--theme-palette-color-1);
	--theme-link-active-color: var(--theme-palette-color-1);
	text-transform: none;
	letter-spacing: 0;
}

/* Podmenu (np. Sklep → kategorie) */
#header .sub-menu {
	border-radius: var(--ydw-radius);
	box-shadow: var(--ydw-shadow);
	overflow: hidden;
}

/* Ikona koszyka z licznikiem */
#header .ct-cart-item .ct-dynamic-count-cart {
	background: var(--theme-palette-color-1);
	color: #fff;
}

/* 4. PRZYCISKI ------------------------------------------------------------ */
html body .wp-element-button,
html body .wp-block-button__link,
html body .button,
html body .ct-button,
html body button[type="submit"],
html body input[type="submit"] {
	border-radius: var(--ydw-radius-sm);
	font-family: var(--ydw-font-sans);
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}

.wp-block-button:not(.is-style-outline) > .wp-block-button__link {
	background-color: var(--theme-palette-color-1);
	color: #fff;
}
.wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover {
	background-color: var(--theme-palette-color-2);
	color: #fff;
}

.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--theme-palette-color-4);
	border: 1.5px solid var(--theme-palette-color-4);
	padding: 11px 23px;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--theme-palette-color-4);
	color: #fff;
}

/* Strzałka w przyciskach z klasą "ydw-arrow" */
.ydw-arrow > .wp-block-button__link::after {
	content: "→";
	display: inline-block;
	margin-left: .5em;
	transition: transform .2s ease;
}
.ydw-arrow > .wp-block-button__link:hover::after { transform: translateX(3px); }

/* 5. KARTY PRODUKTÓW -------------------------------------------------------
   Trzy konteksty: stare bloki WooCommerce (.wc-block-grid__product),
   blok "Kolekcja/Query" (.wp-block-post.product) i sklep Blocksy (.products .product) */
.wc-block-grid .wc-block-grid__product,
.wp-block-post.product,
.woocommerce .products .product,
[data-products] .product {
	background: var(--theme-palette-color-8);
	border: 1px solid var(--theme-palette-color-5);
	border-radius: var(--ydw-radius);
	padding: var(--ydw-s3) var(--ydw-s3) var(--ydw-s4) !important;
	box-sizing: border-box;
	text-align: left;
	transition: box-shadow .25s ease, transform .25s ease, border-color .25s ease;
}
.wc-block-grid .wc-block-grid__product:hover,
.wp-block-post.product:hover,
.woocommerce .products .product:hover,
[data-products] .product:hover {
	border-color: transparent;
	box-shadow: var(--ydw-shadow);
	transform: translateY(-2px);
}

/* Siatka produktów na CSS Grid (zamiast flex + procentów WooCommerce, które w części przeglądarek
   zwijały karty do kilkudziesięciu pikseli) */
/* Zewnętrzny kontener musi być zwykłym blokiem — Blocksy/WooCommerce na tabletach robią z niego
   3-kolumnowy grid i cała lista produktów lądowała w jednej wąskiej komórce */
.wc-block-grid { display: block !important; width: 100%; }
.wc-block-grid .wc-block-grid__products {
	display: grid !important;
	grid-template-columns: repeat(var(--ydw-cols, 3), minmax(0, 1fr));
	gap: var(--ydw-gap);
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
}
.wc-block-grid.has-2-columns { --ydw-cols: 2; }
.wc-block-grid.has-3-columns { --ydw-cols: 3; }
.wc-block-grid.has-4-columns { --ydw-cols: 4; }
.wc-block-grid.has-5-columns { --ydw-cols: 5; }
.wc-block-grid.has-6-columns { --ydw-cols: 6; }
.wc-block-grid .wc-block-grid__products > .wc-block-grid__product {
	flex: none !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0;
	margin: 0 !important;
}
@media (max-width: 1024px) {
	.wc-block-grid.has-5-columns, .wc-block-grid.has-6-columns { --ydw-cols: 3; }
}
@media (max-width: 781px) {
	.wc-block-grid[class*="-columns"] { --ydw-cols: 2; }
	.wc-block-grid .wc-block-grid__products { gap: var(--ydw-s3); }
}

/* Zdjęcia: jednolite proporcje 1:1 */
.wc-block-grid__product-image img,
.wp-block-post.product .wc-block-components-product-image img,
.wp-block-post.product .wp-block-woocommerce-product-image img,
[data-products] .product .ct-media-container img,
.woocommerce .products .product img {
	aspect-ratio: 1 / 1;
	width: 100%;
	height: auto;
	object-fit: cover;
	border-radius: var(--ydw-radius-sm);
}
.wc-block-grid__product-image,
.wp-block-post.product .wc-block-components-product-image,
[data-products] .product .ct-media-container { border-radius: var(--ydw-radius-sm); overflow: hidden; margin-bottom: var(--ydw-s3); }

/* Tytuły: bez podkreśleń i bez niebieskiego */
.wc-block-grid__product a,
.wp-block-post.product a:not(.wp-element-button):not(.button),
[data-products] .product a:not(.button) {
	text-decoration: none;
	color: inherit;
}
.wc-block-grid__product-title,
.wp-block-post.product .wp-block-post-title,
.wp-block-post.product .wp-block-post-title a,
.woocommerce-loop-product__title,
[data-products] .product .woocommerce-loop-product__title {
	font-family: var(--ydw-font-sans);
	font-size: 15.5px !important;
	font-weight: 600;
	line-height: 1.35;
	color: var(--theme-palette-color-4);
	text-align: left;
	margin: 0 0 var(--ydw-s2);
	text-decoration: none;
}
.wc-block-grid__product-title:hover,
.wp-block-post.product .wp-block-post-title a:hover { color: var(--theme-palette-color-1); }

/* Cena */
.wc-block-grid__product-price,
.wp-block-post.product .wc-block-components-product-price,
[data-products] .product .price {
	color: var(--theme-palette-color-4);
	font-weight: 700;
	font-size: 16px;
	text-align: left;
	justify-content: flex-start;
	width: auto;
	margin: 0 0 var(--ydw-s3) !important;
}
.wc-block-grid__product-price del,
.wc-block-components-product-price del,
[data-products] .product .price del { color: var(--ydw-muted); font-weight: 400; font-size: .85em; margin-left: 4px; }
.wc-block-grid__product-price ins,
.wc-block-components-product-price ins,
[data-products] .product .price ins { text-decoration: none; }

/* Znaczek "Promocja" — pastylka w szałwiowym kolorze */
.wc-block-grid__product-onsale,
.wc-block-components-product-sale-badge,
.woocommerce span.onsale,
[data-products] .product .onsale {
	background: var(--ydw-sage-bg) !important;
	color: var(--ydw-sage) !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: .02em;
	text-transform: none !important;
	padding: 4px 10px !important;
	min-height: 0 !important;
	line-height: 1.3 !important;
	box-shadow: none !important;
}

/* "Dodaj do koszyka" — obrys, wypełnia się po najechaniu */
.wc-block-grid__product-add-to-cart .wp-block-button__link,
.wp-block-post.product .add_to_cart_button,
.wp-block-post.product .wp-block-button__link,
[data-products] .product .button {
	width: 100%;
	justify-content: center;
	background: transparent !important;
	color: var(--theme-palette-color-4) !important;
	border: 1.5px solid var(--theme-palette-color-5) !important;
	min-height: 42px;
	font-size: 14px;
}
.wc-block-grid__product-add-to-cart .wp-block-button__link:hover,
.wp-block-post.product .add_to_cart_button:hover,
.wp-block-post.product .wp-block-button__link:hover,
[data-products] .product .button:hover {
	background: var(--theme-palette-color-1) !important;
	border-color: var(--theme-palette-color-1) !important;
	color: #fff !important;
}
.wc-block-grid__product-add-to-cart { margin-top: auto; margin-bottom: 0 !important; width: 100%; }
.wc-block-grid__product-add-to-cart .wp-block-button__link { display: flex; align-items: center; box-sizing: border-box; }
.wc-block-grid__product { display: flex; flex-direction: column; }

/* Po kliknięciu „Dodaj do koszyka” (AJAX): przycisk nie rośnie, ikona ✓ zamiast znaku z fontu
   WooCommerce (wyświetlał się jako □), a „Zobacz koszyk” to brązowy przycisk z białym napisem wewnątrz karty */
.wc-block-grid__product .wc-block-grid__product-add-to-cart {
	display: flex !important;
	flex-direction: column;
	align-items: stretch;
	gap: var(--ydw-s2);
	position: static;
}
.add_to_cart_button {
	height: auto !important;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	gap: 6px;
	line-height: 1.3;
}
.add_to_cart_button::after { margin: 0 !important; position: static !important; }
.add_to_cart_button.added::after {
	content: "✓" !important;
	font-family: var(--ydw-font-sans) !important;
	font-weight: 700;
	display: inline-block !important;
	width: auto !important;
	height: auto !important;
}
.add_to_cart_button.loading { opacity: .7; }
.add_to_cart_button.loading::after {
	content: "" !important;
	font-family: inherit !important;
	display: inline-block !important;
	width: 14px !important;
	height: 14px !important;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: ydw-spin .7s linear infinite !important;
}
@keyframes ydw-spin { to { transform: rotate(360deg); } }
a.added_to_cart {
	position: static !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	box-sizing: border-box;
	min-height: 42px !important;
	padding: 8px var(--ydw-s4) !important;
	margin: var(--ydw-s2) 0 0 !important;
	background: var(--theme-palette-color-1) !important;
	border: 1.5px solid var(--theme-palette-color-1) !important;
	border-radius: var(--ydw-radius-sm) !important;
	box-shadow: none !important;
	color: #fff !important;
	font-family: var(--ydw-font-sans);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	text-align: center;
	text-decoration: none !important;
	transition: background-color .2s ease, border-color .2s ease;
}
.wc-block-grid__product-add-to-cart a.added_to_cart { margin-top: 0 !important; }
a.added_to_cart:hover,
a.added_to_cart:focus-visible {
	background: var(--theme-palette-color-2) !important;
	border-color: var(--theme-palette-color-2) !important;
	color: #fff !important;
}

/* 6. SEKCJE STRONY GŁÓWNEJ (wzorce z /patterns i homepage/strona-glowna.html)
   ---------------------------------------------------------------------------
   Zasady odstępów:
   • sekcje nie mają marginesów — odstęp między nimi daje tylko padding
     (sekcja bez tła: połowa --ydw-section-y z każdej strony, więc dwie sąsiednie
     dają razem pełne --ydw-section-y; sekcja z tłem: pełne --ydw-section-y w środku);
   • wewnątrz sekcji/kolumny: zerujemy domyślne marginesy Blocksy/WordPressa
     i ustawiamy rytm "stosu" (odstęp tylko MIĘDZY elementami, nigdy przed
     pierwszym i po ostatnim);
   • poziomo: te same marginesy boczne co kontener Blocksy (--ydw-gutter). */

.home .entry-content > [class*="ydw-"] { margin-block: 0; }
.home .entry-content > .ydw-hero { margin-top: 0; }

.ydw-section { padding-block: calc(var(--ydw-section-y) / 2); }
.ydw-section--tight { padding-block: calc(var(--ydw-section-y-tight) / 2); }
.ydw-section--sand {
	background: var(--theme-palette-color-6);
	padding-block: var(--ydw-section-y);
	padding-inline: 0;
	margin-block: 0 !important;
}
/* Treść w sekcji z tłem ma dokładnie tę samą szerokość co pozostałe sekcje (alignwide Blocksy) */
.ydw-section--sand > * {
	max-width: min(var(--theme-block-wide-max-width, 1550px), var(--theme-container-width-base, 90vw)) !important;
	margin-inline: auto !important;
}

/* Rytm pionowy wewnątrz bloków */
:is(.ydw-section, .ydw-hero__text, .ydw-custom .wp-block-column, .ydw-review, .ydw-cat) > * {
	margin-block: 0;
}
:is(.ydw-section, .ydw-hero__text, .ydw-custom .wp-block-column, .ydw-review) > * + * {
	margin-top: var(--ydw-s4);
}
:is(.ydw-section, .ydw-hero__text, .ydw-custom .wp-block-column) > .ydw-eyebrow + * { margin-top: var(--ydw-s2); }
:is(.ydw-section, .ydw-hero__text, .ydw-custom .wp-block-column) > * + .wp-block-buttons { margin-top: var(--ydw-s6); }
:is(.ydw-section, .ydw-hero__text, .ydw-custom .wp-block-column) > * + .ydw-steps { margin-top: var(--ydw-s6); }
.ydw-section > * + :is(.wp-block-columns, .wc-block-grid, [class*="wp-block-woocommerce"]),
.ydw-heading-row + * { margin-top: var(--ydw-s6); }

.ydw-eyebrow {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .09em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--theme-palette-color-1);
}
.ydw-lead { font-size: 1.125rem; line-height: 1.6; color: var(--ydw-muted); max-width: 38em; }
.ydw-muted { color: var(--ydw-muted); }
.has-text-align-center.ydw-lead,
.has-text-align-center.ydw-muted { margin-inline: auto; }

.ydw-heading-row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--ydw-s2) var(--ydw-s5);
	flex-wrap: wrap;
}
.ydw-heading-row > * { margin: 0 !important; }

/* Hero */
.ydw-hero {
	background: var(--theme-palette-color-6);
	border-radius: var(--ydw-radius-lg);
	overflow: hidden;
	padding: 0 !important;
}
.ydw-hero > .wp-block-columns { gap: 0 !important; margin: 0 !important; align-items: stretch !important; }
.ydw-hero__text {
	padding: clamp(32px, 5.5vw, 80px) !important;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.ydw-hero__text h1 { font-size: clamp(2rem, 1.2rem + 2.2vw, 2.85rem); }
.ydw-hero__text > h1 + * { margin-top: var(--ydw-s4); }
.ydw-hero__media { min-height: 340px; }
.ydw-hero__media > .wp-block-image,
.ydw-hero__media > figure { height: 100%; margin: 0 !important; }
.ydw-hero__media img { width: 100%; height: 100% !important; min-height: 340px; object-fit: cover; display: block; }
.wp-block-buttons { gap: var(--ydw-s3); }

/* Pasek zaufania (ikonki) */
.ydw-trust {
	padding-block: var(--ydw-s5) !important;
	margin-block: 0;
	border-bottom: 1px solid var(--theme-palette-color-5);
}
.ydw-trust .wp-block-columns { margin: 0 !important; gap: var(--ydw-s4) var(--ydw-s5) !important; }
.ydw-trust .wp-block-column > * { margin: 0; }
.ydw-trust p { font-size: 14px; font-weight: 500; line-height: 1.35; color: var(--theme-palette-color-4); display: flex; align-items: center; justify-content: center; gap: var(--ydw-s3); }
.ydw-ico::before {
	content: "";
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
	background: var(--theme-palette-color-1);
	-webkit-mask: var(--ydw-ico) center / contain no-repeat;
	mask: var(--ydw-ico) center / contain no-repeat;
}
.ydw-ico--pen    { --ydw-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M12 20h9'/><path d='M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z'/></svg>"); }
.ydw-ico--leaf   { --ydw-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10Z'/><path d='M2 21c0-3 1.85-5.36 5.08-6'/></svg>"); }
.ydw-ico--truck  { --ydw-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M1 4h14v12H1z'/><path d='M15 8h4l3 3v5h-7z'/><circle cx='5.5' cy='18.5' r='2.5'/><circle cx='18.5' cy='18.5' r='2.5'/></svg>"); }
.ydw-ico--shield { --ydw-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/><path d='m9 12 2 2 4-4'/></svg>"); }
.ydw-ico--gift   { --ydw-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M20 12v10H4V12'/><path d='M2 7h20v5H2z'/><path d='M12 22V7'/><path d='M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z'/><path d='M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z'/></svg>"); }

/* Kafelki kategorii — cała karta klikalna */
.ydw-cats { gap: var(--ydw-gap) !important; }
.ydw-cat { position: relative; }
.ydw-cat > .wp-block-image { border-radius: var(--ydw-radius-lg); overflow: hidden; background: var(--theme-palette-color-6); }
.ydw-cat img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; transition: transform .6s ease; }
.ydw-cat:hover img { transform: scale(1.04); }
.ydw-cat > h3 { font-size: 1.05rem; line-height: 1.35; margin-top: var(--ydw-s3); }
.ydw-cat > h3 a { color: var(--theme-palette-color-4); text-decoration: none !important; }
.ydw-cat > h3 a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.ydw-cat > h3 a::before { content: "→"; float: right; margin-left: var(--ydw-s2); color: var(--theme-palette-color-1); transition: transform .2s ease; }
.ydw-cat:hover > h3 a::before { transform: translateX(3px); }
.ydw-cat > p { margin-top: var(--ydw-s1); font-size: 14px; line-height: 1.45; color: var(--ydw-muted); }

/* Zamówienia indywidualne */
.ydw-custom > .wp-block-columns { gap: var(--ydw-s6) clamp(32px, 5vw, 72px) !important; align-items: center !important; margin: 0 auto !important; }
.ydw-custom .wp-block-image { margin: 0 !important; }
.ydw-custom img { border-radius: var(--ydw-radius-lg); width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; }
.ydw-steps { list-style: none; padding: 0 !important; counter-reset: ydw; }
.ydw-steps li { counter-increment: ydw; position: relative; min-height: 36px; padding-left: 52px; margin: 0; }
.ydw-steps li + li { margin-top: var(--ydw-s4); }
.ydw-steps li::before {
	content: counter(ydw);
	position: absolute; left: 0; top: 0;
	width: 36px; height: 36px; border-radius: 50%;
	display: grid; place-items: center;
	background: var(--theme-palette-color-8);
	border: 1.5px solid var(--theme-palette-color-5);
	font-weight: 700; color: var(--theme-palette-color-1);
}
.ydw-steps li strong { display: block; margin-bottom: 2px; color: var(--theme-palette-color-4); }

/* Opinie */
.ydw-reviews { gap: var(--ydw-gap) !important; }
.ydw-review {
	background: var(--theme-palette-color-8);
	border: 1px solid var(--theme-palette-color-5);
	border-radius: var(--ydw-radius);
	padding: var(--ydw-s5) !important;
}
.ydw-review { display: flex; flex-direction: column; }
.ydw-review > .ydw-quote { font-size: 15.5px; line-height: 1.6; color: var(--theme-palette-color-3); }
.ydw-review > .ydw-quote::before {
	content: "“";
	display: block;
	font-family: var(--ydw-font-serif);
	font-size: 48px;
	line-height: .8;
	height: 24px;
	margin-bottom: var(--ydw-s3);
	color: var(--ydw-honey);
}
.ydw-review > .ydw-author { margin-top: auto; padding-top: var(--ydw-s4); }
.ydw-review > .ydw-author { font-size: 14px; font-weight: 600; color: var(--theme-palette-color-4); }

/* Social media */
.social-media-bar .wp-block-social-links,
.ydw-social .wp-block-social-links { justify-content: center; gap: var(--ydw-s3); }
/* Ikony social mediów w kolorze drewna zamiast kolorów marek (bez niebieskiego Facebooka) */
.wp-block-social-links:not(.is-style-logos-only) .wp-social-link {
	background-color: var(--theme-palette-color-1) !important;
	color: #fff !important;
	transition: background-color .2s ease, transform .2s ease;
}
.wp-block-social-links:not(.is-style-logos-only) .wp-social-link:hover {
	background-color: var(--theme-palette-color-2) !important;
	transform: translateY(-2px);
}
.wp-block-social-links.is-style-logos-only .wp-social-link { color: var(--theme-palette-color-1) !important; }

/* Strona z własną sekcją hero (np. „Na zamówienie”): ukryj tytuł strony Blocksy,
   bo H1 jest już w hero. Działa automatycznie na każdej stronie zaczynającej się od .ydw-hero */
body:has(.entry-content > .ydw-hero:first-child) .hero-section { display: none; }
body:has(.entry-content > .ydw-hero:first-child) #main [data-vertical-spacing*="top"] { padding-top: var(--ydw-s5); }
.entry-content > .ydw-hero:first-child { margin-top: 0; }
.entry-content > [class*="ydw-"] { margin-block: 0; }

/* Oferta — karty */
.ydw-offers { gap: var(--ydw-gap) !important; }
.ydw-offer {
	background: var(--theme-palette-color-8);
	border: 1px solid var(--theme-palette-color-5);
	border-radius: var(--ydw-radius-lg);
	padding: var(--ydw-s4) var(--ydw-s4) var(--ydw-s5) !important;
}
.ydw-offer > * { margin-block: 0; }
.ydw-offer > * + * { margin-top: var(--ydw-s3); }
.ydw-offer > .wp-block-image + * { margin-top: var(--ydw-s5); }
.ydw-offer > .wp-block-image { border-radius: var(--ydw-radius); overflow: hidden; }
.ydw-offer img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.ydw-offer > h3 { font-size: 1.2rem; }
.ydw-offer > p { color: var(--ydw-muted); }
.ydw-offer > h3, .ydw-offer > p { padding-inline: var(--ydw-s2); }

/* Galeria realizacji */
.ydw-gallery { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--ydw-gap); }
.ydw-gallery > * { margin: 0 !important; }
.ydw-gallery .wp-block-image { border-radius: var(--ydw-radius); overflow: hidden; background: var(--theme-palette-color-6); }
.ydw-gallery img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; transition: transform .6s ease; }
.ydw-gallery .wp-block-image:hover img { transform: scale(1.03); }

/* Wezwanie do kontaktu */
.ydw-cta {
	background: var(--theme-palette-color-6);
	border-radius: var(--ydw-radius-lg);
	padding: clamp(40px, 6vw, 72px) var(--ydw-s5) !important;
	margin-block: calc(var(--ydw-section-y) / 2) 0 !important;
	text-align: center;
}
.ydw-cta > * { margin-block: 0; }
.ydw-cta > * + * { margin-top: var(--ydw-s4); }
.ydw-cta > * + .wp-block-buttons { margin-top: var(--ydw-s6); justify-content: center; }
.ydw-cta .ydw-lead { margin-inline: auto; }

@media (max-width: 781px) {
	.ydw-gallery { grid-template-columns: repeat(2, 1fr); gap: var(--ydw-s3); }
	.ydw-offers { gap: var(--ydw-s4) !important; }
	.ydw-cta { padding: var(--ydw-s6) var(--ydw-s5) !important; border-radius: var(--ydw-radius); }
	.ydw-cta .wp-block-button { flex: 1 1 auto; }
	.ydw-cta .wp-block-button__link { width: 100%; justify-content: center; }
}

/* 7. STOPKA --------------------------------------------------------------- */
#footer {
	background-color: var(--theme-palette-color-6);
	border-radius: var(--ydw-radius-lg) var(--ydw-radius-lg) 0 0;
	margin-top: calc(var(--ydw-section-y) / 2);
	color: var(--theme-palette-color-3);
}
#footer [data-row] { background-color: transparent; }
#footer [data-row*="bottom"] { border-top: 1px solid var(--theme-palette-color-5); font-size: 14px; }
#footer a { color: var(--theme-palette-color-4); }
#footer a:hover { color: var(--theme-palette-color-1); }
/* Menu w stopce (Regulamin, Polityka prywatności, Moje konto) — bez wielkich liter */
#footer [data-id="menu"] > ul > li > a {
	--theme-font-family: var(--ydw-font-sans);
	--theme-font-weight: 500;
	--theme-font-size: 14px;
	--theme-text-transform: none;
	--theme-letter-spacing: 0;
	--theme-link-initial-color: var(--theme-palette-color-3);
	--theme-link-hover-color: var(--theme-palette-color-1);
	text-transform: none;
	letter-spacing: 0;
}

/* Przycisk „Moje konto” w nagłówku i w menu mobilnym */
[data-id="button"] .ct-button,
[data-id="button"] .ct-button-ghost {
	--theme-button-min-height: 38px;
	border-radius: var(--ydw-radius-sm);
	font-size: 14px;
	padding-inline: var(--ydw-s4);
}
[data-id="button"] .ct-button-ghost {
	background: transparent;
	color: var(--theme-palette-color-4);
	border: 1.5px solid var(--theme-palette-color-5);
}
[data-id="button"] .ct-button-ghost:hover {
	background: var(--theme-palette-color-1);
	border-color: var(--theme-palette-color-1);
	color: #fff;
}
#offcanvas [data-id="button"] { margin-top: var(--ydw-s5); }
@media (max-width: 781px) {
	/* Na telefonie sama ikona koszyka (kwota zawijała nazwę sklepu do dwóch linii) */
	#header [data-id="cart"] .ct-label { display: none; }
	#header .site-title { font-size: 18px; line-height: 1.2; white-space: nowrap; }
}

#footer .widget-title { font-family: var(--ydw-font-sans); font-size: 15px; font-weight: 700; color: var(--theme-palette-color-4); }

/* 8. BANER COOKIES (CookieYes) — spójne kolory, mniejszy na telefonie ------ */
.cky-consent-container .cky-consent-bar { border-radius: var(--ydw-radius) var(--ydw-radius) 0 0; border-color: var(--theme-palette-color-5) !important; box-shadow: 0 -6px 30px rgba(46, 38, 32, .08); }
.cky-consent-container .cky-title { font-family: var(--ydw-font-sans) !important; color: var(--theme-palette-color-4) !important; }
.cky-consent-container .cky-notice-des,
.cky-consent-container .cky-notice-des * { color: var(--theme-palette-color-3) !important; }
.cky-btn { border-radius: var(--ydw-radius-sm) !important; font-family: var(--ydw-font-sans) !important; font-weight: 600 !important; }
.cky-btn-accept { background: var(--theme-palette-color-1) !important; border-color: var(--theme-palette-color-1) !important; color: #fff !important; }
.cky-btn-reject,
.cky-btn-customize { background: transparent !important; border-color: var(--theme-palette-color-4) !important; color: var(--theme-palette-color-4) !important; }

/* Reszta CookieYes — bez domyślnego niebieskiego (#1863dc) */
.cky-policy,
.cky-show-desc-btn,
.cky-accordion-btn,
.cky-preference-center a { color: var(--theme-palette-color-1) !important; text-decoration-color: currentColor !important; }
.cky-btn-preferences { background: var(--theme-palette-color-1) !important; border-color: var(--theme-palette-color-1) !important; color: #fff !important; }
.cky-btn-revisit-wrapper { background: var(--theme-palette-color-1) !important; }
.cky-switch input[type="checkbox"]:checked,
.cky-preference-center input[type="checkbox"]:checked { background: var(--theme-palette-color-1) !important; }
.cky-preference-center { border-radius: var(--ydw-radius) !important; }
.cky-footer-wrapper,
.cky-footer-wrapper div { color: var(--ydw-muted) !important; }
.cky-btn:focus-visible { outline: 2px solid var(--theme-palette-color-1) !important; outline-offset: 2px; }

/* Globalnie: żadnych domyślnych niebieskich akcentów przeglądarki i WooCommerce */
html { accent-color: var(--theme-palette-color-1); }
:focus-visible { outline-color: var(--theme-palette-color-1); }
.woocommerce-info,
.woocommerce-message { border-top-color: var(--theme-palette-color-1) !important; }
.woocommerce-info::before,
.woocommerce-message::before { color: var(--theme-palette-color-1) !important; }
.wc-block-components-notice-banner.is-info,
.wc-block-components-notice-banner.is-success { border-color: var(--theme-palette-color-1) !important; background-color: var(--theme-palette-color-6) !important; }
.wc-block-components-notice-banner.is-info > svg,
.wc-block-components-notice-banner.is-success > svg { background-color: var(--theme-palette-color-1) !important; }

@media (max-width: 575px) {
	.cky-consent-container .cky-consent-bar { padding: var(--ydw-s3) var(--ydw-s4) !important; }
	.cky-consent-container .cky-title { font-size: 15px !important; margin-bottom: 4px !important; }
	.cky-consent-container .cky-notice-des,
	.cky-consent-container .cky-notice-des p { font-size: 13px !important; line-height: 1.45 !important; }
	.cky-consent-container .cky-notice-des { max-height: 22vh; overflow: auto; }
	.cky-consent-container .cky-notice-btn-wrapper { flex-direction: row !important; flex-wrap: wrap; gap: var(--ydw-s2); margin-top: var(--ydw-s3) !important; }
	.cky-consent-container .cky-notice-btn-wrapper .cky-btn { flex: 1 1 calc(50% - 4px); margin: 0 !important; padding: 9px 8px !important; font-size: 13px !important; }
	.cky-consent-container .cky-notice-btn-wrapper .cky-btn-accept { order: 3; flex-basis: 100%; }
}

/* 9. MOBILE ----------------------------------------------------------------- */
@media (max-width: 781px) {
	/* Treści w pełnej szerokości: te same marginesy boczne co reszta strony */
	.entry-content > .wp-block-media-text.alignfull .wp-block-media-text__content,
	.entry-content > .wp-block-group.alignfull,
	.entry-content > .wp-block-columns.alignfull { padding-left: var(--ydw-gutter) !important; padding-right: var(--ydw-gutter) !important; }
	.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content { padding-top: var(--ydw-s5); padding-bottom: var(--ydw-s2); }
	.home #main [data-vertical-spacing*="top"] { padding-top: var(--ydw-s4); }

	.ydw-hero { border-radius: var(--ydw-radius); }
	.ydw-hero > .wp-block-columns { flex-direction: column-reverse; }
	.ydw-hero__media, .ydw-hero__media img { min-height: 240px; max-height: 320px; }
	.ydw-hero__text { padding: var(--ydw-s5) var(--ydw-s5) var(--ydw-s6) !important; }
	.ydw-hero .wp-block-button { flex: 1 1 auto; }
	.ydw-hero .wp-block-button__link { width: 100%; justify-content: center; }

	/* Kategorie i pasek zaufania 2 × 2 zamiast jednej długiej kolumny */
	.wp-block-columns.ydw-cats:not(.is-not-stacked-on-mobile),
	.ydw-trust .wp-block-columns:not(.is-not-stacked-on-mobile) { flex-wrap: wrap !important; }
	.wp-block-columns.ydw-cats:not(.is-not-stacked-on-mobile) { gap: var(--ydw-s5) var(--ydw-s3) !important; }
	.wp-block-columns.ydw-cats:not(.is-not-stacked-on-mobile) > .wp-block-column { flex-basis: calc(50% - var(--ydw-s3) / 2) !important; }
	.ydw-trust .wp-block-columns:not(.is-not-stacked-on-mobile) { gap: var(--ydw-s4) var(--ydw-s3) !important; }
	.ydw-trust .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column { flex-basis: calc(50% - var(--ydw-s3) / 2) !important; }
	.ydw-trust p { justify-content: flex-start; align-items: flex-start; font-size: 13px; gap: var(--ydw-s2); }
	.ydw-trust .ydw-ico::before { flex-basis: 20px; width: 20px; height: 20px; }
	.ydw-cat > h3 { font-size: 15px; margin-top: var(--ydw-s2); }
	.ydw-cat > p { font-size: 13px; }

	.ydw-heading-row { align-items: flex-start; flex-direction: column; }
	.ydw-heading-row + *,
	.ydw-section > * + :is(.wp-block-columns, .wc-block-grid, [class*="wp-block-woocommerce"]) { margin-top: var(--ydw-s5); }
	:is(.ydw-section, .ydw-hero__text, .ydw-custom .wp-block-column) > * + .wp-block-buttons { margin-top: var(--ydw-s5); }
	.ydw-custom > .wp-block-columns { gap: var(--ydw-s6) !important; }
	.ydw-custom img { aspect-ratio: 4 / 3; }
	.ydw-reviews { gap: var(--ydw-s3) !important; }
}

/* Produkty na telefonie: mniejsze odstępy i czcionki w kartach (2 kolumny ustawia siatka wyżej) */
@media (max-width: 600px) {
	.wc-block-grid .wc-block-grid__products > .wc-block-grid__product { padding: var(--ydw-s3) !important; }
	.wc-block-grid__product-image { margin-bottom: var(--ydw-s2); }
	.wc-block-grid__product-title { font-size: 14px !important; }
	.wc-block-grid__product-price { margin-bottom: var(--ydw-s2) !important; font-size: 15px; }
	.wc-block-grid__product-title { margin-bottom: var(--ydw-s1) !important; }
	.wc-block-grid__product-add-to-cart .wp-block-button__link { font-size: 13px; min-height: 38px; padding: 6px var(--ydw-s2); }
	a.added_to_cart { font-size: 13px; min-height: 38px !important; }
}

