/* WINA I SKLEP: karty win, strona /sklep/, kategorie, strona produktu, „Poinformuj o dostępności”, [ws_kolekcja_win], [ws_kursy].
   Kolory i fonty ze wspólnych zmiennych (ws-wyglad.css), z wartościami zapasowymi.
   Zakres: klasy ws-… z modułu wina.php oraz body.ws-sklep / body.ws-produkt (tylko strony sklepu i produktów, bez sadzonek). */

body {
	--wsw-green: var(--ws-green, #253D32);
	--wsw-green-dark: var(--ws-green-dark, #1A2C24);
	--wsw-cream: var(--ws-cream, #F7F4EC);
	--wsw-beige: var(--ws-beige, #E9E1D3);
	--wsw-burgundy: var(--ws-burgundy, #743D49);
	--wsw-burgundy-dark: var(--ws-burgundy-dark, #5C2F39);
	--wsw-ink: var(--ws-ink, #292929);
	--wsw-ink-soft: var(--ws-ink-soft, #4F4F4A);
	--wsw-line: var(--ws-line, rgba(41, 41, 41, .16));
	--wsw-white: var(--ws-white, #FFFFFF);
	--wsw-serif: var(--ws-serif, 'Cormorant Garamond', Georgia, serif);
	--wsw-sans: var(--ws-sans, 'Lato', system-ui, -apple-system, 'Segoe UI', sans-serif);
	--wsw-radius: var(--ws-radius, 4px);
	--wsw-focus: var(--ws-focus, 0 0 0 3px #F7F4EC, 0 0 0 6px #743D49);
	--wsw-pane: #F0EBE0; /* tło pod zdjęciem butelki: krem z odrobiną beżu */
	--wsw-gap: clamp(18px, 2.4vw, 32px);
}
@supports (background: color-mix(in srgb, red 50%, blue)) {
	body { --wsw-pane: color-mix(in srgb, var(--wsw-beige) 45%, var(--wsw-cream)); }
}

/* ---------- Przyciski i drobne elementy (zapas, gdyby wspólne klasy jeszcze nie działały) ---------- */
:where(.ws-sklep-strona, .ws-wina-siatka, .ws-powiadom, .ws-kursy, .ws-produkt-inne) .ws-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .5em;
	min-height: 48px; padding: .8em 1.5em; box-sizing: border-box;
	font-family: var(--wsw-sans); font-size: .8rem; font-weight: 700; line-height: 1.2;
	letter-spacing: .12em; text-transform: uppercase; text-align: center; text-decoration: none;
	border: 1px solid transparent; border-radius: var(--wsw-radius); cursor: pointer;
	transition: background-color .2s, color .2s, border-color .2s, box-shadow .2s;
}
:where(.ws-sklep-strona, .ws-wina-siatka, .ws-powiadom, .ws-kursy, .ws-produkt-inne) .ws-btn-primary {
	background: var(--wsw-burgundy); border-color: var(--wsw-burgundy); color: var(--wsw-cream);
}
:where(.ws-sklep-strona, .ws-wina-siatka, .ws-powiadom, .ws-kursy, .ws-produkt-inne) .ws-btn-primary:hover {
	background: var(--wsw-burgundy-dark); border-color: var(--wsw-burgundy-dark); color: var(--wsw-cream);
}
:where(.ws-sklep-strona, .ws-wina-siatka, .ws-powiadom, .ws-kursy, .ws-produkt-inne) .ws-btn-secondary {
	background: transparent; border-color: var(--wsw-green); color: var(--wsw-green);
}
:where(.ws-sklep-strona, .ws-wina-siatka, .ws-powiadom, .ws-kursy, .ws-produkt-inne) .ws-btn-secondary:hover {
	background: var(--wsw-green); border-color: var(--wsw-green); color: var(--wsw-cream);
}
:where(.ws-sklep-strona, .ws-wina-siatka, .ws-powiadom, .ws-kursy, .ws-produkt-inne) .ws-btn:focus-visible {
	outline: none; box-shadow: var(--wsw-focus);
}
.ws-wina-siatka .ws-btn.loading { opacity: .7; cursor: progress; }
.ws-wina-siatka .ws-btn.added::after { content: "✓"; margin-left: .4em; }

:where(.ws-sklep-strona, .ws-produkt-inne) .ws-eyebrow {
	display: inline-block; margin: 0 0 .75rem;
	font-family: var(--wsw-sans); font-size: .78rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
	color: var(--wsw-burgundy);
}
:where(.ws-sklep-strona, .ws-wina-siatka, .ws-powiadom, .ws-produkt-opis, .ws-produkt-uwagi, .ws-wino-dane, .ws-kursy) a:focus-visible {
	outline: none; box-shadow: var(--wsw-focus); border-radius: 2px;
}

/* ---------- Siatka kart ---------- */
.ws-wina-siatka {
	display: flex; flex-wrap: wrap; justify-content: center; gap: var(--wsw-gap);
	margin: 0; padding: 0; list-style: none;
}
.ws-wina-siatka > .ws-wino { flex: 0 1 calc((100% - 3 * var(--wsw-gap)) / 4); min-width: 0; }
@media (max-width: 1099px) { .ws-wina-siatka > .ws-wino { flex-basis: calc((100% - 2 * var(--wsw-gap)) / 3); } }
@media (max-width: 759px) { .ws-wina-siatka > .ws-wino { flex-basis: calc((100% - var(--wsw-gap)) / 2); } }
@media (max-width: 599px) { .ws-wina-siatka > .ws-wino { flex-basis: 100%; } }

/* ---------- Karta wina ---------- */
.ws-wino {
	position: relative; display: flex; flex-direction: column; box-sizing: border-box;
	background: var(--wsw-cream); color: var(--wsw-ink);
	border: 1px solid var(--wsw-line); border-radius: var(--wsw-radius); overflow: hidden;
	font-family: var(--wsw-sans);
	transition: border-color .2s, box-shadow .2s;
}
.ws-wino:hover { border-color: var(--wsw-green); box-shadow: 0 14px 34px -24px rgba(26, 44, 36, .55); }
.ws-wino:focus-within { box-shadow: var(--wsw-focus); }

/* Stałe, kwadratowe pole: wszystkie butelki w tej samej skali (zdjęcia 1200×1200, butelka ok. 84% wysokości). */
.ws-wino-foto {
	display: flex; align-items: center; justify-content: center;
	aspect-ratio: 1 / 1; background: var(--wsw-pane); overflow: hidden;
}
.ws-wino-foto img {
	display: block; width: 100%; height: 100%; max-width: none; margin: 0 !important;
	object-fit: contain; mix-blend-mode: multiply; background: transparent !important;
	border-radius: 0 !important; box-shadow: none !important;
}
.ws-wino--kurs .ws-wino-foto { aspect-ratio: 16 / 10; }
.ws-wino--kurs .ws-wino-foto img { object-fit: cover; mix-blend-mode: normal; }

.ws-wino-tresc { display: flex; flex-direction: column; gap: .55rem; flex: 1; padding: 1.1rem 1.25rem 1.35rem; }
.ws-wino .ws-wino-nazwa {
	margin: 0; font-family: var(--wsw-serif); font-size: 1.5rem; font-weight: 600; line-height: 1.12;
	color: var(--wsw-green) !important; letter-spacing: 0;
}
.ws-wino .ws-wino-nazwa a { color: inherit; text-decoration: none; }
.ws-wino .ws-wino-nazwa a:hover { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.ws-wino .ws-wino-nazwa a:focus-visible { outline: none; box-shadow: none; }
/* Cała karta klikalna; przyciski nad warstwą linku. */
.ws-wino .ws-wino-nazwa a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.ws-wino-akcje { position: relative; z-index: 2; }

.ws-wino-linia { margin: 0; font-size: .92rem; line-height: 1.45; color: var(--wsw-ink-soft); }
.ws-wino-linia .ws-sep { color: var(--wsw-burgundy); }
.ws-wino-opis { margin: 0; font-size: 1rem; line-height: 1.55; color: var(--wsw-ink); }

.ws-dostepnosc {
	display: inline-flex; align-items: center; gap: .45rem; margin: 0;
	font-family: var(--wsw-sans); font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
	color: var(--wsw-green);
}
.ws-dostepnosc::before { content: ""; flex: none; width: .55rem; height: .55rem; border-radius: 50%; background: currentColor; }
.ws-dostepnosc--zamowienie { color: var(--wsw-ink-soft); }
.ws-dostepnosc--brak { color: var(--wsw-burgundy); }
.ws-dostepnosc--brak::before { box-sizing: border-box; width: .6rem; height: .6rem; background: transparent; border: 2px solid currentColor; }
.ws-dostepnosc--dyskretnie { font-size: .74rem; font-weight: 400; letter-spacing: .04em; color: var(--wsw-ink-soft); }
.ws-dostepnosc--dyskretnie::before { display: none; }

.ws-cena { display: flex; flex-wrap: wrap; align-items: baseline; gap: .2rem .45rem; margin: .15rem 0 0; }
body .ws-cena .price,
body .ws-cena .price .woocommerce-Price-amount,
body .ws-cena .price bdi {
	font-family: var(--wsw-sans); font-size: 1.3rem; font-weight: 700; line-height: 1.2; color: var(--wsw-ink) !important;
}
body .ws-cena .price del, body .ws-cena .price del .woocommerce-Price-amount { font-size: .95rem; font-weight: 400; color: var(--wsw-ink-soft) !important; }
body .ws-cena .price ins { text-decoration: none; }
.ws-brutto { font-size: .82rem; color: var(--wsw-ink-soft); }

.ws-wino-akcje { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; margin-top: auto; padding-top: .6rem; }
.ws-wino--sklep .ws-wino-akcje .ws-btn,
.ws-wino--kurs .ws-wino-akcje .ws-btn { width: 100%; }
.ws-wino-akcje .added_to_cart {
	width: 100%; text-align: center; font-size: .88rem; font-weight: 700; color: var(--wsw-green); text-decoration: underline; text-underline-offset: 3px;
}
.ws-link-dalej {
	display: inline-flex; align-items: center; gap: .3em; padding-bottom: 2px;
	font-family: var(--wsw-sans); font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
	color: var(--wsw-burgundy) !important; text-decoration: none; border-bottom: 1px solid currentColor;
}
.ws-link-dalej:hover { color: var(--wsw-burgundy-dark) !important; }
.ws-wino--prezentacja .ws-wino-akcje { justify-content: space-between; }
.ws-wino--brak .ws-wino-foto img { opacity: .82; }

/* Telefon: karta pozioma, zdjęcie w tym samym kwadratowym polu. */
@media (max-width: 599px) {
	.ws-wino { display: grid; grid-template-columns: minmax(0, 40%) minmax(0, 1fr); align-items: start; }
	.ws-wino-tresc { padding: .9rem 1rem 1rem; gap: .45rem; }
	.ws-wino .ws-wino-nazwa { font-size: 1.28rem; }
	.ws-wino-opis { font-size: .95rem; }
	.ws-wino--kurs { display: flex; }
}

/* ---------- Strona /sklep/ ---------- */
/* H1 sklepu, kategorii i strony produktu: wspólna zmienna --ws-h1 z ws-wyglad.css (36 px na telefonie, 56–64 px na komputerze;
   w px, bo rem ma tu 18 px). Wartość zapasowa ta sama co w ws-wyglad.css. */
.ws-sklep-strona { padding: clamp(4px, 1.5vw, 16px) 0 clamp(48px, 6vw, 96px); color: var(--wsw-ink); font-family: var(--wsw-sans); }
.ws-sklep-naglowek { max-width: 820px; margin: 0 auto clamp(28px, 4vw, 56px); text-align: center; }
.ws-sklep-strona .ws-sklep-tytul {
	margin: 0 0 1rem; font-family: var(--wsw-serif); font-size: var(--ws-h1, clamp(36px, calc(10px + 4.2vw), 64px)); font-weight: 500; line-height: 1.04;
	color: var(--wsw-green) !important;
}
.ws-sklep-lede { margin: 0 auto .5rem; max-width: 680px; font-size: clamp(1.06rem, 1rem + .3vw, 1.18rem); line-height: 1.6; color: var(--wsw-ink); }
.ws-sklep-lede--mala { font-size: 1rem; color: var(--wsw-ink-soft); }
.ws-sklep-lede a, .ws-sklep-info a, .ws-sklep-pusto a { color: var(--wsw-green); text-decoration: underline; text-underline-offset: 3px; }
.ws-sklep-skroty ul { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }
.ws-sklep-skroty a {
	display: inline-flex; align-items: center; min-height: 44px; padding: .5rem 1.1rem; box-sizing: border-box;
	font-size: .82rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; text-decoration: none;
	color: var(--wsw-green); border: 1px solid var(--wsw-line); border-radius: 999px; transition: border-color .2s, background-color .2s;
}
.ws-sklep-skroty a:hover { border-color: var(--wsw-green); background: var(--wsw-white); }
.ws-sklep-komunikaty .woocommerce-notices-wrapper:empty { display: none; }

.ws-sklep-sekcja { margin-top: clamp(48px, 7vw, 104px); scroll-margin-top: 110px; }
.ws-sklep-sekcja:first-of-type { margin-top: 0; }
.ws-sklep-sekcja-glowa { max-width: 720px; margin: 0 auto clamp(20px, 3vw, 36px); text-align: center; }
.ws-sklep-strona .ws-sklep-sekcja h2 {
	margin: 0 0 .5rem; font-family: var(--wsw-serif); font-size: clamp(1.9rem, 1.2rem + 2vw, 2.75rem); font-weight: 500; line-height: 1.1;
	color: var(--wsw-green) !important;
}
.ws-sklep-sekcja-glowa p { margin: 0; color: var(--wsw-ink-soft); }
.ws-sklep-pusto { text-align: center; color: var(--wsw-ink-soft); }

/* Kafelek sadzonek */
.ws-sklep-strona .ws-sklep-kafel {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	background: var(--wsw-green); color: var(--wsw-cream); border-radius: var(--wsw-radius); overflow: hidden;
}
.ws-sklep-kafel-foto { min-height: 320px; background: var(--wsw-green-dark); }
.ws-sklep-kafel-foto img { display: block; width: 100%; height: 100%; object-fit: cover; margin: 0 !important; }
.ws-sklep-kafel-tresc { display: flex; flex-direction: column; justify-content: center; gap: .9rem; padding: clamp(28px, 4.5vw, 64px); }
.ws-sklep-kafel-tresc p { margin: 0; color: var(--wsw-cream); font-size: 1.05rem; line-height: 1.6; }
.ws-sklep-strona .ws-sklep-kafel .ws-eyebrow { margin: 0; color: var(--wsw-cream); }
.ws-sklep-strona .ws-sklep-kafel h2 { color: var(--wsw-cream) !important; margin: 0; }
.ws-sklep-kafel-sezon { font-weight: 700; }
.ws-sklep-strona .ws-sklep-kafel .ws-btn-secondary { background: transparent; border-color: var(--wsw-cream); color: var(--wsw-cream); }
.ws-sklep-strona .ws-sklep-kafel .ws-btn-secondary:hover { background: var(--wsw-cream); border-color: var(--wsw-cream); color: var(--wsw-green); }
.ws-sklep-kafel-hurt a { color: var(--wsw-cream); text-decoration: underline; text-underline-offset: 3px; font-size: .98rem; }
.ws-sklep-kafel .ws-btns { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: .4rem; }
@media (max-width: 899px) {
	.ws-sklep-strona .ws-sklep-kafel { grid-template-columns: 1fr; }
	.ws-sklep-kafel-foto { min-height: 0; aspect-ratio: 16 / 9; }
}

/* Prezenty i zestawy */
.ws-sklep-prezenty-uklad {
	display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); align-items: center;
	padding: clamp(18px, 3vw, 40px); background: var(--wsw-beige); border-radius: var(--wsw-radius);
}
.ws-sklep-prezenty-foto img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--wsw-radius); margin: 0 !important; }
.ws-sklep-strona .ws-sklep-prezenty-tresc h3 {
	margin: 0 0 .75rem; font-family: var(--wsw-serif); font-size: clamp(1.6rem, 1.2rem + 1.2vw, 2.1rem); font-weight: 500; line-height: 1.15;
	color: var(--wsw-green) !important;
}
.ws-sklep-prezenty-tresc p { margin: 0 0 .75rem; font-size: 1.05rem; line-height: 1.6; }
.ws-sklep-prezenty-tresc .ws-list { margin: 0 0 1.25rem; padding-left: 1.2rem; }
.ws-sklep-prezenty-tresc .ws-list li { margin: .3rem 0; line-height: 1.5; }
.ws-sklep-prezenty-tresc .ws-list li::marker { color: var(--wsw-burgundy); }
.ws-sklep-prezenty .ws-wina-siatka { margin-top: var(--wsw-gap); }
@media (max-width: 899px) { .ws-sklep-prezenty-uklad { grid-template-columns: 1fr; } }

/* Pasek informacji */
.ws-sklep-info { margin-top: clamp(48px, 6vw, 88px); padding-top: 1.5rem; border-top: 1px solid var(--wsw-line); }
.ws-sklep-info ul { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem 2rem; margin: 0; padding: 0; list-style: none; text-align: center; font-size: .95rem; color: var(--wsw-ink-soft); }

/* ---------- Kategorie i pozostałe archiwa sklepu ---------- */
body.ws-sklep .woocommerce-breadcrumb { margin: 0 0 1rem; font-size: .85rem; line-height: 1.5; color: var(--wsw-ink-soft) !important; }
body.ws-sklep .woocommerce-breadcrumb a { color: var(--wsw-green) !important; text-decoration: underline; text-underline-offset: 2px; }
body.ws-sklep-glowny .woocommerce-breadcrumb { text-align: center; }
body.ws-sklep .woocommerce-products-header { max-width: 820px; margin: 0 auto clamp(24px, 4vw, 48px); text-align: center; }
body.ws-sklep .woocommerce-products-header .woocommerce-products-header__title,
body.ws-sklep .woocommerce-products-header h1.page-title {
	margin: 0 0 .75rem; font-family: var(--wsw-serif); font-size: var(--ws-h1, clamp(36px, calc(10px + 4.2vw), 64px)); font-weight: 500; line-height: 1.05;
	color: var(--wsw-green) !important;
}
body.ws-sklep .woocommerce-products-header .term-description { font-size: 1.08rem; line-height: 1.6; color: var(--wsw-ink); }
body.ws-sklep .woocommerce-pagination { margin-top: 2.5rem; text-align: center; }
body.ws-sklep .woocommerce-pagination ul.page-numbers { border: 0 !important; display: inline-flex; gap: .4rem; }
body.ws-sklep .woocommerce-pagination ul.page-numbers li { border: 0 !important; }
body.ws-sklep .woocommerce-pagination .page-numbers a,
body.ws-sklep .woocommerce-pagination .page-numbers span {
	min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center;
	border: 1px solid var(--wsw-line) !important; border-radius: var(--wsw-radius); color: var(--wsw-green);
}
body.ws-sklep .woocommerce-pagination .page-numbers span.current { background: var(--wsw-green) !important; color: var(--wsw-cream) !important; }
body.ws-sklep .woocommerce-info { max-width: 720px; margin-left: auto; margin-right: auto; }

/* ---------- Strona produktu ---------- */
body.ws-produkt div.product.type-product {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 72px); align-items: start;
	margin-top: clamp(8px, 2vw, 24px);
}
body.ws-produkt div.product.type-product > * { grid-column: 1 / -1; min-width: 0; }
body.ws-produkt div.product.type-product > .woocommerce-product-gallery { grid-column: 1; width: auto !important; float: none !important; margin: 0 !important; }
body.ws-produkt div.product.type-product > .summary { grid-column: 2; width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important; }
body.ws-produkt div.product.type-product::before,
body.ws-produkt div.product.type-product::after { display: none; }
@media (max-width: 921px) {
	body.ws-produkt div.product.type-product { grid-template-columns: minmax(0, 1fr); }
	body.ws-produkt div.product.type-product > .woocommerce-product-gallery,
	body.ws-produkt div.product.type-product > .summary { grid-column: 1; }
}

/* Galeria: to samo kwadratowe pole i tło co w siatce, bez białych prostokątów. */
body.ws-produkt div.product div.images .woocommerce-product-gallery__wrapper,
body.ws-produkt div.product div.images .flex-viewport { background: transparent !important; border-radius: var(--wsw-radius); }
body.ws-produkt div.product div.images .woocommerce-product-gallery__image { background: var(--wsw-pane) !important; border-radius: var(--wsw-radius); overflow: hidden; }
body.ws-produkt div.product div.images .woocommerce-product-gallery__image img,
body.ws-produkt div.product div.images img.zoomImg {
	display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: contain;
	mix-blend-mode: multiply; background: transparent !important; border-radius: 0 !important; box-shadow: none !important;
}
body.ws-produkt div.product div.images img.zoomImg { aspect-ratio: auto; width: auto; height: auto; }
body.ws-produkt div.product div.images .flex-control-thumbs { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0 0 !important; padding: 0; }
body.ws-produkt div.product div.images .flex-control-thumbs li { width: 84px !important; float: none !important; margin: 0 !important; background: var(--wsw-pane); border-radius: var(--wsw-radius); }
body.ws-produkt div.product div.images .flex-control-thumbs li img {
	border: 1px solid var(--wsw-line) !important; border-radius: var(--wsw-radius); mix-blend-mode: multiply; background: transparent !important; opacity: .7;
}
body.ws-produkt div.product div.images .flex-control-thumbs li img.flex-active,
body.ws-produkt div.product div.images .flex-control-thumbs li img:hover { opacity: 1; border-color: var(--wsw-green) !important; }
body.ws-produkt .woocommerce-product-gallery__trigger {
	background: var(--wsw-cream) !important; border: 1px solid var(--wsw-line); border-radius: 50%; box-shadow: none !important;
}
body.ws-produkt .woocommerce-product-gallery__trigger:focus-visible { outline: none; box-shadow: var(--wsw-focus) !important; }

/* Podsumowanie */
body.ws-produkt .summary { color: var(--wsw-ink); font-family: var(--wsw-sans); }
body.ws-produkt .summary .woocommerce-breadcrumb { margin-bottom: 1rem; }
body.ws-produkt div.product .summary .product_title {
	margin: 0 0 .6rem; font-family: var(--wsw-serif); font-size: var(--ws-h1, clamp(36px, calc(10px + 4.2vw), 64px)); font-weight: 500; line-height: 1.06;
	color: var(--wsw-green) !important;
}
body.ws-produkt .ws-produkt-linia { margin: 0 0 1.25rem; font-size: 1rem; }
body.ws-produkt .ws-produkt-zakup {
	display: flex; flex-direction: column; align-items: flex-start; gap: .9rem;
	padding: 1.25rem 0 1.4rem; border-top: 1px solid var(--wsw-line); border-bottom: 1px solid var(--wsw-line);
}
body.ws-produkt .ws-produkt-zakup .ws-cena .price,
body.ws-produkt .ws-produkt-zakup .ws-cena .price .woocommerce-Price-amount,
body.ws-produkt .ws-produkt-zakup .ws-cena .price bdi { font-size: 1.8rem; }
body.ws-produkt .ws-produkt-zakup .ws-dostepnosc { font-size: .82rem; }
body.ws-produkt div.product .woocommerce-product-details__short-description { width: 100%; font-size: 1.06rem; line-height: 1.6; color: var(--wsw-ink); text-align: left !important; hyphens: manual; }
body.ws-produkt div.product .woocommerce-product-details__short-description p { margin: 0; }

body.ws-produkt div.product form.cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: .75rem; width: 100%; margin: .25rem 0 0 !important; }
body.ws-produkt div.product form.cart::before, body.ws-produkt div.product form.cart::after { display: none; }
body.ws-produkt div.product form.cart div.quantity { float: none; margin: 0 !important; }
body.ws-produkt div.product form.cart .qty {
	width: 5.2rem; min-height: 52px; height: 100%; padding: .5rem; box-sizing: border-box;
	font-size: 1.05rem; text-align: center; color: var(--wsw-ink) !important;
	background: var(--wsw-white) !important; border: 1px solid var(--wsw-ink-soft) !important; border-radius: var(--wsw-radius);
}
body.ws-produkt div.product form.cart .qty:focus-visible { outline: none; box-shadow: var(--wsw-focus); }
body.ws-produkt div.product form.cart .single_add_to_cart_button,
body.ws-produkt .ast-sticky-add-to-cart .single_add_to_cart_button,
body.ws-produkt .ast-sticky-add-to-cart .button.alt {
	flex: 1 1 220px; width: auto !important; min-height: 52px; float: none; margin: 0 !important; padding: .85em 1.6em !important;
	font-family: var(--wsw-sans) !important; font-size: .84rem !important; font-weight: 700 !important; letter-spacing: .12em; text-transform: uppercase; line-height: 1.2;
	background: var(--wsw-burgundy) !important; border: 1px solid var(--wsw-burgundy) !important; color: var(--wsw-cream) !important;
	border-radius: var(--wsw-radius) !important; transition: background-color .2s, border-color .2s, box-shadow .2s;
}
body.ws-produkt div.product form.cart .single_add_to_cart_button:hover,
body.ws-produkt .ast-sticky-add-to-cart .single_add_to_cart_button:hover,
body.ws-produkt .ast-sticky-add-to-cart .button.alt:hover { background: var(--wsw-burgundy-dark) !important; border-color: var(--wsw-burgundy-dark) !important; }
body.ws-produkt div.product form.cart .single_add_to_cart_button:focus-visible,
body.ws-produkt .ast-sticky-add-to-cart .button.alt:focus-visible { outline: none; box-shadow: var(--wsw-focus) !important; }
body.ws-produkt div.product form.cart .single_add_to_cart_button.loading { opacity: .75; }

body.ws-produkt .ws-produkt-uwagi { display: grid; gap: .7rem; margin-top: 1.25rem; font-size: .95rem; line-height: 1.5; color: var(--wsw-ink-soft); }
body.ws-produkt .ws-produkt-uwagi p { margin: 0; }
.ws-18 { display: flex; align-items: center; gap: .7rem; }
.ws-18-znak {
	flex: none; display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; box-sizing: border-box;
	border: 2px solid var(--wsw-burgundy); border-radius: 50%; font-size: .78rem; font-weight: 700; color: var(--wsw-burgundy);
}
.ws-produkt-dostawa a { color: var(--wsw-green); text-decoration: underline; text-underline-offset: 3px; }

/* Tabela danych */
.ws-wino-dane { margin-top: 1.75rem; }
body.ws-produkt .ws-wino-dane .ws-wino-dane-tytul {
	margin: 0 0 .4rem; font-family: var(--wsw-sans); font-size: .8rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
	color: var(--wsw-burgundy) !important;
}
.ws-wino-dane table { width: 100%; margin: 0; border-collapse: collapse; border: 0 !important; background: transparent !important; }
.ws-wino-dane th, .ws-wino-dane td {
	padding: .7rem 0; vertical-align: top; text-align: left; font-size: 1rem; line-height: 1.45;
	background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--wsw-line) !important;
}
.ws-wino-dane th { width: 46%; padding-right: 1rem; font-weight: 400; color: var(--wsw-ink-soft); }
.ws-wino-dane td { font-weight: 700; color: var(--wsw-ink); }
body .ws-wino-dane td .woocommerce-Price-amount { color: var(--wsw-ink) !important; font-weight: 700; }

/* Opis i inne wina */
body.ws-produkt .ws-produkt-opis { max-width: 780px; margin: clamp(32px, 6vw, 80px) auto 0; padding-top: clamp(28px, 4vw, 48px); border-top: 1px solid var(--wsw-line); }
body.ws-produkt .ws-produkt-opis > h2,
body.ws-produkt .ws-produkt-inne > h2 {
	margin: 0 0 1rem; font-family: var(--wsw-serif); font-size: clamp(1.9rem, 1.2rem + 2vw, 2.6rem); font-weight: 500; line-height: 1.1;
	color: var(--wsw-green) !important;
}
body.ws-produkt .ws-produkt-opis-tresc { font-size: 1.08rem; line-height: 1.65; color: var(--wsw-ink); text-align: left; }
body.ws-produkt .ws-produkt-opis-tresc p { margin: 0 0 1rem; }
body.ws-produkt .ws-produkt-inne { margin-top: clamp(48px, 7vw, 104px); }
body.ws-produkt .ws-produkt-inne > h2 { text-align: center; margin-bottom: clamp(20px, 3vw, 36px); }

/* Pasek „Dodaj do koszyka” Astry przy przewijaniu */
body.ws-produkt .ast-sticky-add-to-cart { background: var(--wsw-cream) !important; border-top: 1px solid var(--wsw-line); box-shadow: 0 -10px 26px -20px rgba(26, 44, 36, .55); }
body.ws-produkt .ast-sticky-add-to-cart img { mix-blend-mode: multiply; background: transparent !important; }
body.ws-produkt .ast-sticky-add-to-cart .ast-sticky-add-to-cart-title { font-family: var(--wsw-serif); font-size: 1.25rem; font-weight: 600; color: var(--wsw-green); }
body.ws-produkt .ast-sticky-add-to-cart .price, body.ws-produkt .ast-sticky-add-to-cart .woocommerce-Price-amount { color: var(--wsw-ink) !important; font-weight: 700; }

/* ---------- „Poinformuj o dostępności” ---------- */
.ws-powiadom {
	width: 100%; box-sizing: border-box; padding: 1.25rem 1.25rem 1.1rem;
	background: var(--wsw-beige); border-left: 3px solid var(--wsw-burgundy); border-radius: var(--wsw-radius);
	color: var(--wsw-ink); font-family: var(--wsw-sans); scroll-margin-top: 120px;
}
body .ws-powiadom .ws-powiadom-tytul {
	margin: 0 0 .35rem; font-family: var(--wsw-serif); font-size: 1.6rem; font-weight: 600; line-height: 1.15; color: var(--wsw-green) !important;
}
.ws-powiadom-opis { margin: 0 0 .9rem; font-size: 1rem; line-height: 1.5; }
.ws-powiadom-etykieta { display: block; margin: 0 0 .35rem; font-size: .95rem; font-weight: 700; color: var(--wsw-ink); }
.ws-powiadom-rzad { display: flex; flex-wrap: wrap; gap: .6rem; }
.ws-powiadom-rzad input[type="email"] {
	flex: 1 1 220px; min-width: 0; min-height: 48px; padding: .6rem .85rem; box-sizing: border-box;
	font-family: var(--wsw-sans); font-size: 1rem; color: var(--wsw-ink) !important;
	background: var(--wsw-white) !important; border: 1px solid var(--wsw-ink-soft) !important; border-radius: var(--wsw-radius);
}
.ws-powiadom-rzad input[type="email"]:focus-visible { outline: none; border-color: var(--wsw-burgundy) !important; box-shadow: var(--wsw-focus); }
.ws-powiadom-rzad input[aria-invalid="true"] { border: 2px solid var(--wsw-burgundy-dark) !important; }
.ws-powiadom-rzad .ws-btn { flex: 0 1 auto; }
.ws-pole-blad { margin: .45rem 0 0; font-size: .92rem; font-weight: 700; color: var(--wsw-burgundy-dark); }
.ws-pole-blad:empty, .ws-powiadom-komunikat:empty { margin: 0; }
.ws-powiadom-info { margin: .6rem 0 0; font-size: .86rem; line-height: 1.5; color: var(--wsw-ink-soft); }
.ws-powiadom-info a { color: var(--wsw-green); text-decoration: underline; text-underline-offset: 2px; }
.ws-powiadom-komunikat { margin: .6rem 0 0; font-size: 1rem; font-weight: 700; line-height: 1.45; color: var(--wsw-green); }
.ws-powiadom--ok { border-left-color: var(--wsw-green); }
.ws-powiadom-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }

/* ---------- [ws_kursy] i pusta kolekcja ---------- */
.ws-kursy--pusto p,
.ws-kolekcja-pusto {
	max-width: 640px; margin: 0 auto; padding: 1.1rem 1.4rem; box-sizing: border-box;
	background: var(--wsw-beige); border-radius: var(--wsw-radius); text-align: center; font-size: 1.05rem; line-height: 1.55; color: var(--wsw-ink);
}
.ws-kolekcja-pusto a { color: var(--wsw-green); text-decoration: underline; }

@media (prefers-reduced-motion: reduce) {
	.ws-wino, .ws-sklep-skroty a, :where(.ws-sklep-strona, .ws-wina-siatka, .ws-powiadom, .ws-kursy, .ws-produkt-inne) .ws-btn { transition: none; }
}
