/* Zestawy by rewizja.net. Kolory w zmiennych --rwz-zs-*; puste = kolor z motywu. Układ zależy od szerokości sekcji
   (container query), nie okna: ta sama sekcja w wąskiej kolumnie Divi i w podglądzie panelu zachowuje się jak na telefonie. */
.rwz-zs {
	container-type: inline-size;
	margin: 1.25em 0;
	color: var(--rwz-zs-tekst, inherit);
	font-size: 15px;
	line-height: 1.4;
}
.rwz-zs[hidden], .rwz-zs [hidden] { display: none !important; }
.rwz-zs__tyt { margin: 0 0 .6em; font-size: 1.15em; line-height: 1.3; }
.rwz-zs__form, .rwz-zs__rekom-w {
	background: var(--rwz-zs-tlo, transparent);
	border: 1px solid var(--rwz-zs-ramka, rgba(0,0,0,.12));
	border-radius: var(--rwz-zs-promien, 8px);
	padding: 14px;
}
/* !important: motywy (Divi: #left-area ul, .entry-content ol) stylują listy selektorem z ID */
.rwz-zs .rwz-zs__lista, .rwz-zs .rwz-zs__rekom { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.rwz-zs .rwz-zs__lista > li, .rwz-zs .rwz-zs__rekom > li { list-style: none !important; margin-left: 0 !important; line-height: inherit; }
.rwz-zs .rwz-zs__lista > li::before, .rwz-zs .rwz-zs__rekom > li::before { content: none !important; }

.rwz-zs__poz { display: flex; gap: 12px; align-items: center; position: relative; }
.rwz-zs__poz--wyl { opacity: .5; }
.rwz-zs__on { flex: 0 0 auto; width: 18px; height: 18px; margin: 0; accent-color: var(--rwz-zs-akcent, currentColor); }
.rwz-zs__foto { position: relative; display: block; flex: 0 0 auto; width: 64px; }
.rwz-zs__foto img, .rwz-zs__img { display: block; width: 64px !important; height: 64px !important; object-fit: contain; border-radius: calc(var(--rwz-zs-promien, 8px) / 2); margin: 0 !important; }
.rwz-zs--bez-zdjec .rwz-zs__foto, .rwz-zs--bez-zdjec .rwz-zs__foto-link { display: none; }
.rwz-zs__znaczek {
	position: absolute; top: -6px; left: -6px;
	background: var(--rwz-zs-znaczek-tlo, #1a1a1a); color: var(--rwz-zs-znaczek-tekst, #fff);
	font-size: 11px; font-weight: 600; line-height: 1; padding: 4px 6px; border-radius: 999px; white-space: nowrap;
}
.rwz-zs__opis { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 1 1 auto; }
.rwz-zs__nazwa { font-weight: 600; color: inherit; text-decoration: none; }
a.rwz-zs__nazwa:hover { text-decoration: underline; }
.rwz-zs__ten { font-weight: 400; opacity: .75; }
.rwz-zs__ile { font-weight: 600; }
.rwz-zs__wariant { font-size: .93em; }
.rwz-zs__wariant--glowny:empty { display: none; }
.rwz-zs__select { max-width: 100%; padding: 4px 28px 4px 8px; min-height: 34px; font-size: 14px; border-radius: calc(var(--rwz-zs-promien, 8px) / 2); }
.rwz-zs__kafelki { display: flex; flex-wrap: wrap; gap: 6px; }
.rwz-zs__kafelek { position: relative; cursor: pointer; margin: 0; }
.rwz-zs__kafelek input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.rwz-zs__kafelek span {
	display: inline-block; padding: 4px 10px; min-height: 30px; line-height: 20px;
	border: 1px solid var(--rwz-zs-ramka, rgba(0,0,0,.25)); border-radius: calc(var(--rwz-zs-promien, 8px) / 2); font-size: 13px;
}
.rwz-zs__kafelek input:checked + span { border-color: var(--rwz-zs-akcent, currentColor); box-shadow: inset 0 0 0 1px var(--rwz-zs-akcent, currentColor); font-weight: 600; }
.rwz-zs__kafelek input:focus-visible + span { outline: 2px solid var(--rwz-zs-akcent, currentColor); outline-offset: 2px; }
.rwz-zs__kafelek--brak span { opacity: .45; text-decoration: line-through; }
.rwz-zs__cena del { color: var(--rwz-zs-cena-przed, inherit); opacity: .7; font-weight: 400; }
.rwz-zs__cena ins, .rwz-zs__suma-kw ins { text-decoration: none; font-weight: 700; color: var(--rwz-zs-cena, inherit); }
.rwz-zs--bez-przed del { display: none; }
.rwz-zs__plus { display: flex; justify-content: flex-start; padding-left: 24px; align-items: center; font-size: 20px; font-weight: 600; line-height: 1; opacity: .55; margin: 4px 0; }
.rwz-zs__dol { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--rwz-zs-ramka, rgba(0,0,0,.1)); }
.rwz-zs__suma { margin: 0; font-size: 1.05em; }
.rwz-zs__suma-kw del { opacity: .7; font-weight: 400; color: var(--rwz-zs-cena-przed, inherit); }
.rwz-zs__zysk { margin: 0; color: var(--rwz-zs-zysk, #1e6b3f); font-weight: 600; }
.rwz-zs__zysk:empty { display: none; }
.rwz-zs .rwz-zs__btn { margin-left: auto; }
.rwz-zs .rwz-zs__btn, .rwz-zs .rwz-zs__dodaj { border-radius: var(--rwz-zs-promien, 8px); }
/* kolor przycisku tylko z klasą: bez niej zostaje przycisk motywu (paleta „jak sklep”) */
.rwz-zs--kolor-przycisk .rwz-zs__btn, .rwz-zs--kolor-przycisk .rwz-zs__dodaj { background: var(--rwz-zs-przycisk) !important; border-color: var(--rwz-zs-przycisk) !important; }
.rwz-zs--kolor-przycisk-tekst .rwz-zs__btn, .rwz-zs--kolor-przycisk-tekst .rwz-zs__dodaj { color: var(--rwz-zs-przycisk-tekst) !important; }
.rwz-zs__msg { margin: 8px 0 0; font-size: .93em; }
.rwz-zs__msg:empty { display: none; }
.rwz-zs__msg--blad { color: #b32d2e; }

/* Układ B (poziomo): pozycje obok siebie, „+” między nimi */
@container (min-width: 561px) {
	.rwz-zs--d-b .rwz-zs__lista { display: flex; flex-wrap: wrap; align-items: stretch; gap: 8px; }
	.rwz-zs--d-b .rwz-zs__poz { flex: 1 1 150px; flex-direction: column; align-items: flex-start; text-align: left; padding: 10px; border: 1px solid var(--rwz-zs-ramka, rgba(0,0,0,.1)); border-radius: var(--rwz-zs-promien, 8px); }
	.rwz-zs--d-b .rwz-zs__on { position: absolute; top: 10px; right: 10px; }
	.rwz-zs--d-b .rwz-zs__foto, .rwz-zs--d-b .rwz-zs__foto img, .rwz-zs--d-b .rwz-zs__img { width: 96px !important; height: 96px !important; }
	.rwz-zs--d-b .rwz-zs__plus { margin: 0; padding: 0 4px; flex: 0 0 auto; }
}
@container (max-width: 560px) {
	.rwz-zs--m-b .rwz-zs__lista { display: flex; gap: 6px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 4px; }
	.rwz-zs--m-b .rwz-zs__poz { flex: 0 0 62%; scroll-snap-align: start; flex-direction: column; align-items: flex-start; padding: 10px; border: 1px solid var(--rwz-zs-ramka, rgba(0,0,0,.1)); border-radius: var(--rwz-zs-promien, 8px); }
	.rwz-zs--m-b .rwz-zs__on { position: absolute; top: 10px; right: 10px; }
	.rwz-zs--m-b .rwz-zs__plus { margin: 0; padding: 0 4px; flex: 0 0 auto; }
	.rwz-zs__dol { flex-direction: column; align-items: stretch; }
	.rwz-zs .rwz-zs__btn { margin-left: 0; width: 100%; text-align: center; }
}

/* Rekomendowane: siatka, lista, karuzela; kolumny osobno na komputer i telefon */
.rwz-zs__rekom { display: grid; gap: 10px; grid-template-columns: repeat(var(--rwz-zs-kol, 2), minmax(0, 1fr)); }
.rwz-zs--kd1 { --rwz-zs-kol-d: 1; } .rwz-zs--kd2 { --rwz-zs-kol-d: 2; } .rwz-zs--kd3 { --rwz-zs-kol-d: 3; }
.rwz-zs--km1 { --rwz-zs-kol-m: 1; } .rwz-zs--km2 { --rwz-zs-kol-m: 2; } .rwz-zs--km3 { --rwz-zs-kol-m: 3; }
@container (min-width: 561px) { .rwz-zs__rekom { --rwz-zs-kol: var(--rwz-zs-kol-d, 2); } }
@container (max-width: 560px) { .rwz-zs__rekom { --rwz-zs-kol: var(--rwz-zs-kol-m, 2); } }
.rwz-zs__kafel {
	display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 10px; align-items: start; position: relative; margin: 0;
	padding: 10px; background: var(--rwz-zs-tlo, transparent);
	border: 1px solid var(--rwz-zs-ramka, rgba(0,0,0,.12)); border-radius: var(--rwz-zs-promien, 8px);
}
.rwz-zs__kafel .rwz-zs__foto, .rwz-zs__kafel .rwz-zs__foto img, .rwz-zs__kafel .rwz-zs__img { width: 56px !important; height: 56px !important; }
.rwz-zs__kafel .rwz-zs__nazwa { font-size: .93em; }
.rwz-zs__litr { font-size: .82em; opacity: .75; }
.rwz-zs .rwz-zs__dodaj {
	display: inline-flex; align-items: center; justify-content: center; gap: 6px; flex: 0 0 auto; align-self: center;
	min-width: 40px; min-height: 40px; padding: 8px 10px; margin: 0; line-height: 1;
}
.rwz-zs--lista .rwz-zs__rekom { grid-template-columns: minmax(0, 1fr); }
.rwz-zs--karuzela .rwz-zs__rekom { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px; }
.rwz-zs--karuzela .rwz-zs__kafel { flex: 0 0 calc((100% - (var(--rwz-zs-kol, 2) - 1) * 10px) / var(--rwz-zs-kol, 2) * .92); scroll-snap-align: start; }
@container (max-width: 560px) {
	.rwz-zs--km2 .rwz-zs__kafel, .rwz-zs--km3 .rwz-zs__kafel { grid-template-columns: 44px minmax(0, 1fr); gap: 8px; padding: 8px; }
	.rwz-zs--km2 .rwz-zs__kafel .rwz-zs__foto, .rwz-zs--km2 .rwz-zs__kafel .rwz-zs__foto img, .rwz-zs--km2 .rwz-zs__kafel .rwz-zs__img,
	.rwz-zs--km3 .rwz-zs__kafel .rwz-zs__foto, .rwz-zs--km3 .rwz-zs__kafel .rwz-zs__foto img, .rwz-zs--km3 .rwz-zs__kafel .rwz-zs__img { width: 44px !important; height: 44px !important; }
	.rwz-zs--km2 .rwz-zs__dodaj, .rwz-zs--km3 .rwz-zs__dodaj { grid-column: 1 / -1; width: 100%; }
	.rwz-zs--km2 .rwz-zs__select, .rwz-zs--km3 .rwz-zs__select { width: 100%; }
}
.rwz-zs__opis { overflow-wrap: anywhere; }
.rwz-zs, .rwz-zs *, .rwz-zs *::before, .rwz-zs *::after { box-sizing: border-box; }
.rwz-zs .rwz-zs__btn { padding: .7em 1.4em; min-height: 44px; font-size: 1em; line-height: 1.2; cursor: pointer; }
.rwz-zs__dodaj.loading { opacity: .6; pointer-events: none; }
.rwz-zs .rwz-zs__dodaj span { white-space: nowrap; }
/* siatka i karuzela: przycisk z napisem pod opisem, na całą szerokość kafelka (lista: obok) */
.rwz-zs--siatka .rwz-zs__dodaj, .rwz-zs--karuzela .rwz-zs__dodaj { grid-column: 1 / -1; width: 100%; }
