/*
Theme Name: Spacer i Drzemka (child)
Template: blocksy
Version: 0.1.0
Text Domain: spacer-drzemka-child
Description: Motyw potomny sklepu Spacer i Drzemka. Tylko uzupełnienia tego, czego nie ustawi Blocksy ani bloki.
*/

/* Omnibus (wtyczka WC Price History) – drobny dopisek pod ceną, jak w projekcie. Wtyczka nie ma ustawień typografii. */
.wc-price-history { font-size: 13px; font-weight: 400; color: #6B5444; }



/* Pole wyszukiwania w nagłówku – element dodany przez [zp_szukaj], Blocksy go nie stylizuje. */
.zp-szukaj { display: flex; width: 100%; background: #fff; border: 2px solid var(--theme-palette-color-5); border-radius: 999px; overflow: hidden; }
.zp-szukaj input[type="search"] { flex: 1; min-width: 0; border: 0 !important; background: transparent !important; padding: 0 20px !important; height: 46px; box-shadow: none !important; font-size: 15px; }
.zp-szukaj button { border: 0; background: var(--theme-palette-color-4); color: #fff; padding: 0 22px; font-weight: 700; cursor: pointer; }
.zp-szukaj button:hover { background: var(--theme-palette-color-1); }

/* ===== Elementy dodane przez inc/sklep.php (Blocksy ich nie generuje, więc nie ma dla nich ustawień) ===== */
.zp-etykieta { display: inline-block; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--theme-palette-color-1); margin-bottom: 6px; }
.zp-okruszki { font-size: 14px; color: #6B5444; padding-top: 22px; }
.zp-okruszki a { color: inherit; } .zp-okruszki a:hover { color: var(--theme-palette-color-1); }
.zp-sep { margin: 0 8px; opacity: .5; }
.zp-kat-naglowek { display: grid; grid-template-columns: 1.3fr 1fr; align-items: stretch; margin: 18px 0 8px; background: #fff; border: 1px solid var(--theme-palette-color-5); border-radius: 28px; overflow: hidden; }
.zp-kat-tresc { padding: 40px 0 40px 44px; align-self: center; }
.zp-kat-tresc h1 { font-size: clamp(32px, 4vw, 48px); margin: 4px 0 12px; }
.zp-kat-tresc p { color: #6B5444; max-width: 560px; margin: 0; }
.zp-kat-foto { position: relative; min-height: 280px; }
.zp-kat-foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.zp-chipy { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 22px; }
.zp-chip { padding: 8px 16px; border-radius: 999px; background: var(--theme-palette-color-7); border: 1.5px solid var(--theme-palette-color-5); font-weight: 700; font-size: 14px; color: var(--theme-palette-color-4); }
.zp-chip:hover { border-color: var(--theme-palette-color-1); color: var(--theme-palette-color-1); background: #F6DED2; }
@media (max-width: 860px) {
	.zp-kat-naglowek { grid-template-columns: 1fr; }
	.zp-kat-foto { order: -1; min-height: 210px; }
	.zp-kat-tresc { padding: 26px 22px; }
}
.zp-kropki { display: flex; gap: 5px; margin: 2px 0 8px; }
.zp-kropki i, .zp-kropka { width: 13px; height: 13px; border-radius: 50%; display: inline-block; border: 1px solid rgba(0,0,0,.12); }
.zp-kropka { width: 16px; height: 16px; margin-right: 8px; vertical-align: -3px; }
.zp-kat-poradnik { margin-top: 72px; }

/* Filtry WooCommerce w pasku: rozmiary jako kafelki (widżet listy atrybutów nie ma wariantu kafelkowego). */
.ct-sidebar .woocommerce-widget-layered-nav-list { margin: 0; }
.ct-sidebar .woocommerce-widget-layered-nav-list__item { padding: 4px 0; }
.ct-sidebar .woocommerce-widget-layered-nav-list__item--chosen a { color: var(--theme-palette-color-1); font-weight: 800; }

/* Wyszukiwarka w nagłówku – szerokość jak w projekcie. */
.zp-szukaj { width: min(560px, 46vw); }
@media (max-width: 999px) { .zp-szukaj { width: 100%; } }

/* Suwak ceny (widżet WooCommerce) – Blocksy wyłącza arkusz WooCommerce, który go rysował. */
.price_slider_wrapper .price_slider { position: relative; height: 4px; margin: 18px 9px 22px; background: var(--theme-palette-color-5); border-radius: 4px; }
.price_slider .ui-slider-range { position: absolute; top: 0; height: 100%; background: var(--theme-palette-color-1); border-radius: 4px; }
.price_slider .ui-slider-handle { position: absolute; top: -7px; width: 18px; height: 18px; margin-left: -9px; border-radius: 50%; background: #fff; border: 3px solid var(--theme-palette-color-1); cursor: grab; outline: none; }
.price_slider_amount { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.price_slider_amount .button { order: 2; min-height: 38px; padding: 6px 18px; }
.price_slider_amount .price_label { order: 1; font-size: 14px; }

/* Zaokrąglenia ramki filtrów i kart produktów (Blocksy free nie ma tu ustawienia promienia). */
.ct-sidebar[data-widgets] , aside .ct-sidebar { border-radius: 18px; }
[data-products] .product { border-radius: 18px; overflow: hidden; }

/* Lista z ptaszkami w białych kółkach (sekcja Zestawy) – klasa zp-lista-check nadana blokowi Lista. */
.zp-lista-check { list-style: none; padding-left: 0; }
.zp-lista-check li { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.zp-lista-check li::before { content: ""; width: 22px; height: 22px; flex-shrink: 0; border-radius: 50%; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12l4 4 8-8' stroke='%235F7356' stroke-width='3' fill='none'/%3E%3C/svg%3E") center/14px no-repeat; }

/* Wyróżniona pozycja menu (klasa zp-wyrozniony nadana w menu) i znaczki płatności w stopce. */
.menu-item.zp-wyrozniony > a { color: var(--theme-palette-color-1) !important; }
.zp-platnosci span { display: inline-block; color: #E9DDCB; border: 1px solid rgba(255,255,255,.3); border-radius: 6px; padding: 3px 10px; margin-left: 6px; font-size: 13px; }

/* Filtry w pasku jak w projekcie (widżety listy atrybutów WooCommerce nie mają wariantów wyglądu).
   -2 rozmiar: kafelki, -5 kolor: same kółka, pozostałe: kwadrat-checkbox z liczbą po prawej. */
.ct-sidebar .woocommerce-widget-layered-nav-list__item { display: flex; align-items: center; }
.ct-sidebar .woocommerce-widget-layered-nav-list__item a { display: flex; align-items: center; gap: 10px; color: var(--theme-palette-color-4); }
.ct-sidebar .woocommerce-widget-layered-nav-list__item .count { margin-left: auto; color: #6B5444; font-size: 14px; }
.ct-sidebar .woocommerce-widget-layered-nav-list__item a::before { content: ""; width: 18px; height: 18px; flex-shrink: 0; border: 2px solid var(--theme-palette-color-5); border-radius: 5px; background: #fff; }
.ct-sidebar .woocommerce-widget-layered-nav-list__item--chosen a::before { background: var(--theme-palette-color-1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12l4 4 8-8' stroke='white' stroke-width='3' fill='none'/%3E%3C/svg%3E") center/12px no-repeat; border-color: var(--theme-palette-color-1); }
#woocommerce_layered_nav-2 .woocommerce-widget-layered-nav-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; }
#woocommerce_layered_nav-2 .woocommerce-widget-layered-nav-list__item { padding: 0; }
#woocommerce_layered_nav-2 .woocommerce-widget-layered-nav-list__item a { width: 100%; justify-content: center; text-align: center; border: 2px solid var(--theme-palette-color-5); border-radius: 10px; padding: 8px 4px; background: var(--theme-palette-color-7); font-weight: 700; font-size: 14px; }
#woocommerce_layered_nav-2 .woocommerce-widget-layered-nav-list__item a::before { display: none; }
#woocommerce_layered_nav-2 .woocommerce-widget-layered-nav-list__item .count { display: none; }
#woocommerce_layered_nav-2 .woocommerce-widget-layered-nav-list__item--chosen a { border-color: var(--theme-palette-color-1); background: #F6DED2; color: var(--theme-palette-color-1); }
#woocommerce_layered_nav-5 .woocommerce-widget-layered-nav-list { display: flex; flex-wrap: wrap; gap: 10px; }
#woocommerce_layered_nav-5 .woocommerce-widget-layered-nav-list__item { padding: 0; }
#woocommerce_layered_nav-5 .woocommerce-widget-layered-nav-list__item a { font-size: 0; gap: 0; }
#woocommerce_layered_nav-5 .woocommerce-widget-layered-nav-list__item a::before, #woocommerce_layered_nav-5 .count { display: none; }
#woocommerce_layered_nav-5 .zp-kropka { width: 30px; height: 30px; margin: 0; border: 2px solid #fff; box-shadow: 0 0 0 1.5px var(--theme-palette-color-5); }
#woocommerce_layered_nav-5 .woocommerce-widget-layered-nav-list__item--chosen .zp-kropka { box-shadow: 0 0 0 2.5px var(--theme-palette-color-1); }


/* ===== Hovery z projektu (bloki i Blocksy nie mają stanów hover dla kart, kafli i okładek) ===== */
.wp-block-button__link, .zp-chip, .zp-szukaj button { transition: transform .15s, background-color .15s, color .15s, box-shadow .15s; }
.wp-block-button__link:hover { transform: translateY(-2px); }
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { box-shadow: 0 8px 20px rgba(180, 83, 46, .30); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--theme-palette-color-4) !important; color: #fff !important; }

.zp-pupil { overflow: hidden; }
.zp-pupil .wp-block-cover__image-background { transition: transform .5s; }
.zp-pupil:hover .wp-block-cover__image-background { transform: scale(1.04); }

.zp-kafel-kat, .zp-wpis, .zp-kafel-rozmiar { transition: transform .2s, box-shadow .2s, border-color .2s; }
.zp-kafel-kat:hover, .zp-wpis:hover { transform: translateY(-4px); box-shadow: 0 10px 30px rgba(59, 42, 32, .10); }
.zp-kafel-rozmiar:hover { border-color: var(--theme-palette-color-1) !important; background: #F6DED2 !important; }
.zp-kafel-kat img, .zp-wpis img { transition: transform .4s; }
.zp-kafel-kat:hover img, .zp-wpis:hover img { transform: scale(1.04); }
.zp-kafel-kat figure, .zp-wpis figure { overflow: hidden; }

[data-products] .product { transition: box-shadow .2s, transform .2s; }
[data-products] .product:hover { box-shadow: 0 10px 30px rgba(59, 42, 32, .12); transform: translateY(-3px); }
[data-products] .product .ct-media-container img { transition: transform .4s; }
[data-products] .product:hover .ct-media-container img { transform: scale(1.04); }

.entry-content a:not(.wp-block-button__link):hover { text-decoration: underline; }
.zp-chip:hover { transform: translateY(-1px); }

/* Menu główne jak w projekcie: pozycje w „pigułkach”, kremowe tło po najechaniu. */
.ct-header [data-id="menu"] > ul > li > a { border-radius: 999px; padding-left: 14px !important; padding-right: 14px !important; height: 38px !important; transition: background-color .15s, color .15s; }
.ct-header [data-id="menu"] > ul > li > a:hover { background: var(--theme-palette-color-6); }
.ct-header [data-id="menu"] > ul > li[class*="current-"] > a { background: var(--theme-palette-color-4); color: #fff; }

/* Karty produktów wyrównane do lewej jak w projekcie (Blocksy type-2 ma środek wpisany na sztywno, bez opcji). */
[data-products="type-2"] .product { --horizontal-alignment: flex-start; --text-horizontal-alignment: start; }
[data-products="type-2"] .product .woocommerce-loop-product__title, [data-products="type-2"] .product .zp-kropki { padding-left: 4px; }


/* ===== Galeria hero (grupa .zp-hero-galeria z blokami Okładka; sterowanie dodaje assets/hero-galeria.js) ===== */
.zp-hero-opakowanie { position: relative; }
.zp-hero-galeria { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.zp-hero-galeria::-webkit-scrollbar { display: none; }
.zp-hero-galeria > .wp-block-cover { flex: 0 0 100%; width: 100%; scroll-snap-align: start; overflow: hidden; }
.zp-slajd-tytul { font-family: Fraunces, Georgia, serif; letter-spacing: -0.01em; }

/* ruch: powolne „oddalenie” zdjęcia i wjazd tekstu na aktywnym slajdzie */
@keyframes zp-oddal { from { transform: scale(1.08); } to { transform: scale(1); } }
@keyframes zp-wjazd { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
.zp-slajd .wp-block-cover__image-background { transform-origin: 60% 50%; }
.zp-slajd.jest-aktywny .wp-block-cover__image-background { animation: zp-oddal 9s ease-out both; }
.zp-slajd.jest-aktywny .zp-slajd-tresc > * { animation: zp-wjazd .7s cubic-bezier(.2,.7,.2,1) both; }
.zp-slajd.jest-aktywny .zp-slajd-tresc > *:nth-child(2) { animation-delay: .08s; }
.zp-slajd.jest-aktywny .zp-slajd-tresc > *:nth-child(3) { animation-delay: .16s; }
.zp-slajd.jest-aktywny .zp-slajd-tresc > *:nth-child(4) { animation-delay: .24s; }
.zp-slajd.jest-aktywny .zp-slajd-tresc > *:nth-child(5) { animation-delay: .32s; }
@media (prefers-reduced-motion: reduce) {
	.zp-slajd .wp-block-cover__image-background, .zp-slajd .zp-slajd-tresc > * { animation: none !important; }
}

/* sterowanie */
.zp-hero-sterowanie { position: absolute; left: 0; right: 0; bottom: 26px; display: flex; justify-content: center; align-items: center; gap: 16px; pointer-events: none; }
.zp-hero-sterowanie > * { pointer-events: auto; }
.zp-hero-kropki { display: flex; gap: 8px; }
.zp-hero-kropki button { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 999px; background: rgba(59,42,32,.28); cursor: pointer; transition: width .3s, background-color .3s; }
.zp-hero-kropki button[aria-current="true"] { width: 30px; background: var(--theme-palette-color-1); }
.zp-hero-strzalka { width: 44px; height: 44px; border-radius: 50%; border: 0; background: rgba(255,255,255,.88); box-shadow: 0 6px 18px rgba(59,42,32,.15); display: grid; place-items: center; cursor: pointer; transition: transform .15s, background-color .15s; }
.zp-hero-strzalka:hover { transform: scale(1.06); background: #fff; }
.zp-hero-strzalka svg { width: 20px; height: 20px; fill: none; stroke: var(--theme-palette-color-4); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }

/* ===== Telefon: zdjęcie w górnych 2/3 ekranu, płynne przejście w ciemny brąz, tekst na ciemnym tle ===== */
@media (max-width: 781px) {
	.zp-hero-galeria > .wp-block-cover { min-height: min(92svh, 760px) !important; align-items: flex-end; padding: 0 20px 92px !important; background: #24180F; }
	.zp-hero-galeria .wp-block-cover__image-background { height: 66% !important; bottom: auto !important; }
	.zp-hero-galeria .wp-block-cover__background { background: linear-gradient(180deg, rgba(36,24,15,0) 0%, rgba(36,24,15,.05) 30%, rgba(36,24,15,.7) 52%, #24180F 66%, #24180F 100%) !important; opacity: 1 !important; }
	.zp-hero-galeria .zp-slajd-tresc h1, .zp-hero-galeria .zp-slajd-tytul { color: #fff !important; font-size: 40px !important; line-height: 1.05 !important; margin: 10px 0 14px !important; }
	.zp-hero-galeria .zp-slajd-tresc mark { color: #F2B08F !important; }
	.zp-hero-galeria .zp-slajd-tresc p { color: rgba(255,255,255,.86) !important; }
	.zp-hero-galeria .zp-slajd-tresc > p:first-child { color: #F2B08F !important; }
	.zp-hero-galeria .zp-slajd-tresc > p:nth-child(3) { font-size: 16px !important; margin-bottom: 22px !important; }
	.zp-hero-galeria .wp-block-buttons { flex-direction: column; align-items: stretch; gap: 10px; }
	.zp-hero-galeria .wp-block-button, .zp-hero-galeria .wp-block-button__link { width: 100%; justify-content: center; text-align: center; }
	.zp-hero-galeria .is-style-outline .wp-block-button__link { color: #fff !important; border-color: rgba(255,255,255,.8) !important; background: rgba(255,255,255,.06) !important; }
	.zp-hero-galeria .zp-zaufanie { display: none; }
	.zp-hero-strzalka { display: none; }
	.zp-hero-kropki button { background: rgba(255,255,255,.45); }
	.zp-hero-sterowanie { bottom: 40px; }
	.ct-header .site-description { display: none; }
}

/* Rozmiary na karcie produktu: kafelki z pełnym opisem (wtyczka wariantów nadaje przyciskom stałą szerokość kółka). */
.button-variable-items-wrapper .variable-item.button-variable-item { width: auto !important; min-width: 74px; height: auto !important; min-height: 46px; padding: 6px 14px !important; border-radius: 12px !important; }
.button-variable-items-wrapper .variable-item .variable-item-span-button { white-space: nowrap; font-size: 14px; font-weight: 700; }
.button-variable-items-wrapper .variable-item.selected { box-shadow: 0 0 0 2px var(--theme-palette-color-1) !important; background: #F6DED2 !important; }

/* Dymek „Dodano do koszyka” (assets/koszyk-dymek.js). */
.zp-dymek { position: fixed; left: 50%; bottom: 24px; z-index: 9999; transform: translate(-50%, 140%); opacity: 0; visibility: hidden; background: var(--theme-palette-color-4); color: #fff; padding: 14px 22px; border-radius: 999px; font-weight: 700; box-shadow: 0 10px 30px rgba(59,42,32,.25); transition: transform .3s, opacity .3s; white-space: nowrap; }
.zp-dymek.widoczny { transform: translate(-50%, 0); opacity: 1; visibility: visible; }
.zp-dymek a { color: #F6DED2; margin-left: 10px; text-decoration: underline; }

/* ===== Szablon artykułu (inc/wpis.php + bloki treści) ===== */
.single-post .hero-section .zp-wpis-nadpis { display: block; margin-bottom: 10px; }
.single-post .hero-section .zp-wpis-nadpis a { color: inherit; }
.single-post .entry-content > p:first-of-type { font-size: 19px; line-height: 1.6; color: var(--theme-palette-color-4); }
.single-post .entry-content h2 { margin-top: 48px; scroll-margin-top: 120px; }
.single-post .entry-content h3 { margin-top: 28px; }
.zp-wpis-foto { margin: 28px 0 32px; }
.zp-wpis-foto img, .single-post .entry-content .wp-block-image img { border-radius: 18px; width: 100%; height: auto; }
.zp-wpis-foto img { aspect-ratio: 16 / 9; object-fit: cover; }
.single-post .entry-content .wp-block-image figcaption { font-size: 14px; color: #6B5444; text-align: center; margin-top: 8px; }
.zp-spis { background: var(--theme-palette-color-6); border-radius: 18px; padding: 22px 26px; margin: 0 0 36px; }
.zp-spis-tytul { font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--theme-palette-color-1); margin: 0 0 10px; }
.zp-spis ol { margin: 0; padding-left: 1.3em; display: grid; gap: 6px; }
.zp-spis a { color: var(--theme-palette-color-4); font-weight: 700; }
.zp-spis a:hover { color: var(--theme-palette-color-1); }
.single-post .entry-content .wp-block-table table { background: #fff; border-radius: 12px; overflow: hidden; border: 1px solid var(--theme-palette-color-5); }
.single-post .entry-content .wp-block-table th { background: var(--theme-palette-color-6); }
.single-post .entry-content .wp-block-details { background: #fff; border: 1px solid var(--theme-palette-color-5); border-radius: 14px; padding: 16px 22px; margin-top: 10px; }
.single-post .entry-content .wp-block-details summary { font-weight: 800; cursor: pointer; }
.zp-polecane { background: #fff; border: 1px solid var(--theme-palette-color-5); border-radius: 22px; padding: 26px; margin: 40px 0; }
.zp-metryczka { font-size: 14px; color: #6B5444; border-top: 1px solid var(--theme-palette-color-5); padding-top: 18px; margin-top: 48px; }
.zp-metryczka a { color: var(--theme-palette-color-1); word-break: break-word; }
.zp-redakcja { display: flex; gap: 16px; align-items: flex-start; background: var(--theme-palette-color-6); border-radius: 18px; padding: 20px 22px; margin-top: 40px; }
.zp-redakcja img { width: 48px; height: 48px; flex-shrink: 0; }
.zp-redakcja p { margin: 0; font-size: 15px; color: #5A4536; }
.zp-redakcja .zp-redakcja-tytul { font-family: Fraunces, Georgia, serif; font-weight: 700; font-size: 18px; color: var(--theme-palette-color-4); margin-bottom: 4px; }

/* ===== Slajd promocyjny w galerii hero (.zp-slajd-promo): tło terakota, własne kolory guzików ===== */
.zp-slajd-promo { color: #fff; }
.zp-slajd-promo .wp-block-cover__inner-container { position: relative; z-index: 1; }
.zp-slajd-promo::after { content: ""; position: absolute; right: max(4vw, calc(50% - 600px)); top: 50%; width: min(34vw, 420px); aspect-ratio: 1; transform: translateY(-50%); border-radius: 50%; background: rgba(255,255,255,.1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120' fill='none' stroke='%23FBF6EE' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 44l38-18 38 18v40L60 102 22 84z'/%3E%3Cpath d='M22 44l38 18 38-18M60 62v40'/%3E%3Cpath d='M41 35l38 18v14'/%3E%3Cpath d='M70 80c3-4 9-4 12 0M73 86h6' stroke='%23E9A23B'/%3E%3C/svg%3E") center/62% no-repeat; box-shadow: 0 0 0 28px rgba(255,255,255,.06); pointer-events: none; }
.zp-promo-nad { font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #FBE7C2; margin: 0 0 6px; }
.zp-promo-tytul { font-family: Fraunces, Georgia, serif; font-size: clamp(38px, 5vw, 62px) !important; line-height: 1.05; color: #fff; margin: 14px 0 18px; }
.zp-promo-kwota { display: block; color: #FBE7C2; }
.zp-promo-opis { font-size: 19px; color: #FBF0E6; margin: 0 0 30px; max-width: 520px; }
.zp-promo-guzik .wp-block-button__link { background: #fff !important; color: #933F1F !important; border: 2px solid #fff !important; font-weight: 800; }
.zp-promo-guzik .wp-block-button__link:hover { background: #FBE7C2 !important; border-color: #FBE7C2 !important; }
.zp-promo-guzik-2 .wp-block-button__link { background: transparent !important; color: #fff !important; border: 2px solid rgba(255,255,255,.85) !important; font-weight: 800; }
.zp-promo-guzik-2 .wp-block-button__link:hover { background: rgba(255,255,255,.12) !important; }
.zp-promo-wartosci { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 32px 0 0; font-size: 14px; font-weight: 700; color: #FBF0E6; }
.zp-promo-wartosci span::before { content: "✓"; margin-right: 6px; color: #FBE7C2; }
.zp-hero-opakowanie:has(.zp-slajd-promo.jest-aktywny) .zp-hero-kropki button { background: rgba(255,255,255,.45); }
.zp-hero-opakowanie:has(.zp-slajd-promo.jest-aktywny) .zp-hero-kropki button[aria-current="true"] { background: #fff; }
@media (max-width: 900px) {
	.zp-slajd-promo::after { width: 150px; right: -30px; top: 70px; transform: none; opacity: .7; }
	.zp-promo-opis { font-size: 17px; }
}
/* odstępy slajdu promo (grupa ma blockGap 0, więc marginesy wprost) + tło terakota także na telefonie */
.zp-slajd-promo .zp-promo-tytul { margin: 12px 0 18px !important; }
.zp-slajd-promo .zp-promo-opis { margin: 0 0 30px !important; }
.zp-slajd-promo .zp-promo-wartosci { margin: 28px 0 0 !important; }
@media (max-width: 900px) {
	.zp-hero-galeria > .wp-block-cover.zp-slajd-promo { background: #B4532E; }
	.zp-hero-galeria .zp-slajd-promo .wp-block-cover__background { background: #B4532E !important; }
	.zp-hero-galeria .zp-slajd-promo .zp-slajd-tresc > p:first-child { color: #FBE7C2 !important; }
	.zp-hero-galeria .zp-slajd-promo .zp-promo-tytul { font-size: 40px !important; }
	.zp-slajd-promo .zp-promo-opis { margin-bottom: 24px !important; }
}
/* slajd promo ze zdjęciem: zdjęcie tylko w prawej części, przejście w terakotę (zastępuje ilustrację paczki) */
.zp-slajd-promo { background: #B4532E; }
.zp-slajd-promo::after { display: none !important; }
@media (min-width: 901px) {
	.zp-slajd-promo .wp-block-cover__image-background { left: 40% !important; width: 60% !important; }
	.zp-slajd-promo .wp-block-cover__background { background: linear-gradient(90deg, #B4532E 0%, #B4532E 40%, rgba(180,83,46,.85) 46%, rgba(180,83,46,0) 62%) !important; }
}
@media (max-width: 900px) {
	.zp-hero-galeria .zp-slajd-promo .wp-block-cover__background { background: linear-gradient(180deg, rgba(180,83,46,0) 0%, rgba(180,83,46,0) 30%, rgba(180,83,46,.75) 46%, #B4532E 58%, #B4532E 100%) !important; }
}

/* ===== Strona główna: „Na dobry początek”, atuty, poradnik (klasy zp-sekcja-*) + wjazd przy przewijaniu (assets/home-efekty.js) ===== */
/* polecane: ciepły panel, karty z uniesieniem i powiększeniem zdjęcia */
.zp-sekcja-polecane > .wp-block-group:first-child, .zp-sekcja-polecane .woocommerce { position: relative; z-index: 1; }
.zp-sekcja-polecane { background: linear-gradient(180deg, transparent 0, transparent 40px, #F6DED2 40px, #F6DED2 calc(100% - 40px), transparent calc(100% - 40px)); padding-top: 96px !important; padding-bottom: 96px !important; margin-bottom: 72px; }
.zp-sekcja-polecane > .wp-block-group:first-child p.has-link-color a { display: inline-flex; align-items: center; gap: 6px; padding: 12px 22px; border-radius: 99px; background: var(--theme-palette-color-4); color: #fff !important; text-decoration: none; transition: transform .15s, background-color .15s; }
.zp-sekcja-polecane > .wp-block-group:first-child p.has-link-color a:hover { transform: translateX(3px); background: var(--theme-palette-color-1); }
.zp-sekcja-polecane ul.products li.product { background: #fff; border-radius: 22px; padding: 14px 14px 18px; box-shadow: 0 6px 24px rgba(59,42,32,.07); transition: transform .25s cubic-bezier(.2,.7,.2,1), box-shadow .25s; overflow: hidden; }
.zp-sekcja-polecane ul.products li.product:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(59,42,32,.14); }
.zp-sekcja-polecane ul.products li.product figure { border-radius: 16px; overflow: hidden; }
.zp-sekcja-polecane ul.products li.product figure img { transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.zp-sekcja-polecane ul.products li.product:hover figure img { transform: scale(1.06); }
.zp-sekcja-polecane ul.products li.product .price { color: var(--theme-palette-color-1); font-weight: 800; font-size: 18px; }

/* atuty: równe 4 kolumny, kolorowe ikony, uniesienie */
.zp-sekcja-atuty > .wp-block-group { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 22px !important; }
.zp-sekcja-atuty .zp-atut { height: 100%; align-items: flex-start !important; transition: transform .25s cubic-bezier(.2,.7,.2,1), box-shadow .25s, border-color .25s; }
.zp-sekcja-atuty .zp-atut:hover { transform: translateY(-6px); box-shadow: 0 16px 36px rgba(59,42,32,.12); border-color: transparent !important; }
.zp-sekcja-atuty .zp-atut > .wp-block-group:first-child { width: 60px; height: 60px; padding: 0 !important; align-items: center; justify-content: center; transition: transform .35s cubic-bezier(.3,1.6,.5,1); }
.zp-sekcja-atuty .zp-atut:hover > .wp-block-group:first-child { transform: rotate(-8deg) scale(1.08); }
.zp-sekcja-atuty .zp-atut:nth-child(2) > .wp-block-group:first-child { background: #E3EADC !important; }
.zp-sekcja-atuty .zp-atut:nth-child(3) > .wp-block-group:first-child { background: #FBE7C2 !important; }
.zp-sekcja-atuty .zp-atut:nth-child(4) > .wp-block-group:first-child { background: #F4EADB !important; }
.zp-sekcja-atuty .zp-atut h3 { margin-top: 6px !important; }

/* poradnik: kategoria na zdjęciu, powiększenie, cała karta klikalna */
.zp-sekcja-poradnik .zp-wpis { position: relative; height: 100%; display: flex; flex-direction: column; overflow: hidden; transition: transform .25s cubic-bezier(.2,.7,.2,1), box-shadow .25s; }
.zp-sekcja-poradnik .zp-wpis:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(59,42,32,.13); }
.zp-sekcja-poradnik .wp-block-post-featured-image { overflow: hidden; margin: 0; }
.zp-sekcja-poradnik .wp-block-post-featured-image img { transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.zp-sekcja-poradnik .zp-wpis:hover .wp-block-post-featured-image img { transform: scale(1.07); }
.zp-sekcja-poradnik .wp-block-post-terms { position: absolute; top: 14px; left: 14px; z-index: 2; background: #fff; border-radius: 99px; padding: 6px 12px; box-shadow: 0 4px 14px rgba(59,42,32,.12); }
.zp-sekcja-poradnik .zp-wpis > .wp-block-group { flex: 1; display: flex; flex-direction: column; }
.zp-sekcja-poradnik .wp-block-post-excerpt { flex: 1; }
.zp-sekcja-poradnik .wp-block-post-excerpt::after { content: "Czytaj poradnik →"; display: block; margin-top: 14px; color: var(--theme-palette-color-1); font-weight: 800; font-size: 15px; transition: transform .2s; }
.zp-sekcja-poradnik .zp-wpis:hover .wp-block-post-excerpt::after { transform: translateX(4px); }
.zp-sekcja-poradnik .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }

/* wjazd przy przewijaniu */
.zp-wjazd { opacity: 0; transform: translateY(26px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); transition-delay: var(--opoznienie, 0s); }
.zp-wjazd.jest-widoczny { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .zp-wjazd { opacity: 1; transform: none; transition: none; } }

@media (max-width: 900px) {
	.zp-sekcja-atuty > .wp-block-group { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px !important; }
	.zp-sekcja-polecane { padding-top: 72px !important; padding-bottom: 72px !important; }
}
@media (max-width: 560px) { .zp-sekcja-atuty > .wp-block-group { grid-template-columns: 1fr !important; } }

/* ===== Ikony nagłówka – wariant B z makiety konto-ikony (23.10): zaokrąglone linie, 24 px, kolor z motywu (currentColor) ===== */
header [data-id="account"] svg.ct-icon,
header [data-id="cart"] .ct-icon-container > svg,
header [data-id="search"] svg.ct-icon,
header [data-id="trigger"] svg.ct-icon{width:24px!important;height:24px!important;background-color:currentColor;-webkit-mask:var(--sid-ik) center/contain no-repeat;mask:var(--sid-ik) center/contain no-repeat}
header [data-id="account"] svg.ct-icon > *,
header [data-id="cart"] .ct-icon-container > svg > *,
header [data-id="search"] svg.ct-icon > *,
header [data-id="trigger"] svg.ct-icon > *{display:none}
header [data-id="account"] svg.ct-icon{--sid-ik:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8.5' r='3.8'/%3E%3Cpath d='M4.5 20c1.2-3.6 4.1-5.5 7.5-5.5s6.3 1.9 7.5 5.5'/%3E%3C/svg%3E")}
header [data-id="cart"] .ct-icon-container > svg{--sid-ik:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 8.5h13l-1 11.2a1.5 1.5 0 0 1-1.5 1.3H8a1.5 1.5 0 0 1-1.5-1.3z'/%3E%3Cpath d='M8.8 8.5V7a3.2 3.2 0 0 1 6.4 0v1.5'/%3E%3C/svg%3E")}
header [data-id="search"] svg.ct-icon{--sid-ik:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.8' cy='10.8' r='6.3'/%3E%3Cpath d='m15.5 15.5 4.5 4.5'/%3E%3C/svg%3E")}
header [data-id="trigger"] svg.ct-icon{--sid-ik:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h10'/%3E%3C/svg%3E")}
header [data-id="account"],header [data-id="cart"]{color:var(--theme-palette-color-4)}

/* Menu boczne na telefonie (23.10): konto jako kafelek z ikoną B i podpisem, widoczny przycisk zamknięcia */
#offcanvas .ct-toggle-close{color:var(--theme-palette-color-4)!important}
#offcanvas .ct-toggle-close svg{fill:var(--theme-palette-color-4)!important;color:var(--theme-palette-color-4)!important}
#offcanvas [data-id="account"]{width:100%}
#offcanvas [data-id="account"] .ct-account-item{display:flex!important;flex-direction:row!important;justify-content:flex-end;align-items:center;gap:12px;padding:13px 16px;border:1.5px solid #E6D8C4;border-radius:14px;background:#fff;color:var(--theme-palette-color-4);text-decoration:none}
#offcanvas [data-id="account"] .ct-label{display:inline!important;font-weight:800;font-size:17px;color:var(--theme-palette-color-4)}
#offcanvas [data-id="account"] svg.ct-icon{width:24px!important;height:24px!important;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8.5' r='3.8'/%3E%3Cpath d='M4.5 20c1.2-3.6 4.1-5.5 7.5-5.5s6.3 1.9 7.5 5.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8.5' r='3.8'/%3E%3Cpath d='M4.5 20c1.2-3.6 4.1-5.5 7.5-5.5s6.3 1.9 7.5 5.5'/%3E%3C/svg%3E") center/contain no-repeat}
#offcanvas [data-id="account"] svg.ct-icon > *{display:none}
#offcanvas [data-id="account"] svg.ct-icon{order:-1}

/* Stopka: logotypy metod płatności z oficjalnej paczki P24 (wymóg weryfikacji P24, 23.10) */
.sid-platnosci{gap:8px!important;margin:0}
.sid-platnosci .sid-platnosc{margin:0!important;background:#fff;border-radius:8px;padding:6px 10px;height:36px;display:flex;align-items:center}
.sid-platnosci .sid-platnosc img{height:22px!important;width:auto!important;max-width:none;display:block}
.sid-flaga-p24{margin:18px 0!important;max-width:720px}
.sid-flaga-p24 img{border-radius:14px;border:1px solid #E6D8C4}
@media (max-width:689px){.sid-platnosci{justify-content:center!important}}
