/* Synlux 1.5 – kierunek C + B „Sceny”. Uzupełnienia tego, czego nie da się wyrazić w theme.json. */

/* ===== Tryb jasny „Praca” =====
   Sklep, karta produktu, koszyk, kasa i strefa partnera (klasa z functions.php) oraz jasne sceny
   na stronie głównej (assets/js/scenes.js). Paleta nocna zostaje podmieniona na dzienną. */
body.synlux-day {
	--wp--preset--color--base: var(--wp--preset--color--day);
	--wp--preset--color--base-2: var(--wp--preset--color--day-2);
	--wp--preset--color--base-3: var(--wp--preset--color--day-3);
	--wp--preset--color--line: var(--wp--preset--color--day-line);
	--wp--preset--color--contrast: var(--wp--preset--color--ink);
	--wp--preset--color--muted: var(--wp--preset--color--ink-muted);
	--wp--preset--color--accent: var(--wp--preset--color--ink-accent);
	--wp--preset--color--accent-2: var(--wp--preset--color--ink-accent-2);
}
body {
	transition: background-color 0.6s ease, color 0.6s ease;
	-webkit-font-smoothing: antialiased;
}
/* Przyciski: tekst zawsze kontrastowy do tła przycisku. */
body.synlux-day .wp-element-button,
body.synlux-day .wp-block-button__link {
	color: var(--wp--preset--color--day);
}
body.synlux-day .wp-block-button.is-style-outline .wp-block-button__link {
	color: var(--wp--preset--color--ink);
}

/* ===== Nagłówek ===== */
.synlux-header {
	position: sticky;
	top: 0;
	z-index: 100;
}
.admin-bar .synlux-header {
	top: var(--wp-admin--admin-bar--height, 32px);
}
@media (max-width: 600px) {
	.admin-bar .synlux-header {
		top: 0;
	}
}
/* Tło z rozmyciem na ::before, nie na samej grupie: backdrop-filter na przodku zamyka
   rozwinięte menu mobilne (position: fixed) w pasku nagłówka zamiast na całym ekranie. */
.synlux-header > .wp-block-group {
	position: relative;
	isolation: isolate;
	background-color: transparent !important;
}
.synlux-header > .wp-block-group::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background-color: color-mix(in srgb, var(--wp--preset--color--base) 82%, transparent);
	-webkit-backdrop-filter: saturate(160%) blur(18px);
	backdrop-filter: saturate(160%) blur(18px);
	transition: background-color 0.6s ease;
}
.synlux-header .wp-block-site-logo img {
	height: auto;
}
body.synlux-day .synlux-header .wp-block-site-logo img,
body.synlux-day .synlux-footer .wp-block-site-logo img {
	filter: invert(1) brightness(0.15);
}

/* Strona główna: nagłówek nad zdjęciem sceny, przezroczysty, zawsze jasny tekst. */
.home .synlux-header {
	position: absolute;
	left: 0;
	right: 0;
}
.home .synlux-header > .wp-block-group {
	background: transparent !important;
	border-bottom-color: transparent !important;
	color: var(--wp--preset--color--contrast);
}
.home .synlux-header > .wp-block-group::before {
	display: none;
}
.home.synlux-day .synlux-header > .wp-block-group {
	--wp--preset--color--contrast: var(--wp--preset--color--day);
}
.home.synlux-day .synlux-header .wp-block-site-logo img {
	filter: none;
}
.home .synlux-header .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--day) !important;
	border-color: currentColor;
}

/* Menu */
.wp-block-navigation .current-menu-item > a,
.wp-block-navigation a[aria-current="page"] {
	color: var(--wp--preset--color--accent);
}
.wp-block-navigation .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--base-3) !important;
	border: 1px solid var(--wp--preset--color--line) !important;
	padding: 0.5rem 0;
	min-width: 220px;
}
.wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--base) !important;
	color: var(--wp--preset--color--contrast) !important;
	padding: 2rem 1.5rem;
}
/* Menu mobilne: pełny ekran, duże pozycje od lewej, linie między nimi. */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: stretch !important;
	padding-top: 2.5rem !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	align-items: stretch !important;
	justify-content: flex-start !important;
	gap: 0 !important;
	width: 100%;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	width: 100%;
	border-bottom: 1px solid var(--wp--preset--color--line);
	font-size: 1.75rem;
	font-weight: 600;
	letter-spacing: -0.02em;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	display: block;
	width: 100%;
	padding: 0.85rem 0 !important;
}
@media (max-width: 600px) {
	.synlux-header .wp-block-site-logo img {
		width: 104px !important;
	}
	.synlux-header .wp-block-button__link {
		font-size: 0.875rem !important;
		padding: 0.6rem 0.9rem !important;
		white-space: nowrap;
	}
	.synlux-header .wp-block-navigation {
		order: 2;
	}
}

/* ===== Elementy ogólne ===== */
a:focus-visible,
button:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
}
a {
	text-underline-offset: 0.18em;
	text-decoration-thickness: 1px;
}
.wp-block-button__link {
	white-space: nowrap;
}

/* Lista bez punktorów. */
.is-style-no-bullets {
	list-style: none;
	padding-left: 0 !important;
}
.is-style-no-bullets a {
	color: inherit;
	text-decoration: none;
}
.is-style-no-bullets a:hover {
	color: var(--wp--preset--color--accent);
}
.synlux-inline-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1.5rem;
	margin: 0;
}

/* Styl przycisku „Link” – druga akcja jako podkreślony tekst. */
.wp-block-button.is-style-link .wp-block-button__link {
	background: none !important;
	border: 0 !important;
	border-bottom: 1px solid currentColor !important;
	border-radius: 0 !important;
	padding: 0 0 2px !important;
	color: inherit !important;
}
.wp-block-button.is-style-link .wp-block-button__link:hover {
	color: var(--wp--preset--color--accent) !important;
}

/* Wstęp wyśrodkowany – najwyżej ok. 60 znaków w linii (wyrównany do lewej ogranicza grupa nadrzędna). */
.is-style-lead.has-text-align-center {
	max-width: 46ch;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Karta i kafel – zapas, gdy WordPress nie wygeneruje stylu z functions.php. */
.wp-block-group.is-style-tile {
	background-color: var(--wp--preset--color--base-2);
	border-radius: 22px;
	overflow: hidden;
}
.is-style-numeral {
	color: var(--wp--preset--color--muted);
	font-weight: 600;
	line-height: 1;
}

/* Wiersze z linią nad (spokojna alternatywa kart). */
.synlux-ruled {
	border-top: 1px solid var(--wp--preset--color--line);
	padding-top: 1.25rem;
}

/* Zaznaczenie brakujących danych w szkicach. */
mark.synlux-todo {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--base);
	padding: 0 0.2em;
}

/* ===== Strona główna: sceny ===== */
:root {
	--scene: var(--wp--preset--color--accent);
	--lvl: 0.45;
	--warm: 0.79;
}
.synlux-scenes-hero {
	min-height: 100svh !important;
	/* Te same marginesy boczne co reszta strony (okładka ich nie dziedziczy). */
	padding-left: var(--wp--style--root--padding-left) !important;
	padding-right: var(--wp--style--root--padding-right) !important;
	color: var(--wp--preset--color--contrast);
	isolation: isolate;
}
body.synlux-day .synlux-scenes-hero {
	color: var(--wp--preset--color--day);
	--wp--preset--color--contrast: var(--wp--preset--color--day);
}
.synlux-scenes-hero .wp-block-cover__image-background {
	/* Nawet „Noc” (5%) zostawia wnętrze czytelne – ściemnienie pokazujemy, nie gasimy zdjęcia. */
	filter: brightness(calc(0.42 + 0.78 * var(--lvl))) saturate(0.9);
	transition: filter 0.6s ease;
}
.synlux-scenes-hero .wp-block-cover__background {
	background-color: var(--scene) !important;
	mix-blend-mode: color;
	/* Barwienie zależne od ciepła barwy: 1800 K mocno, 5000–6000 K prawie neutralnie. */
	opacity: calc(0.55 * var(--warm)) !important;
	transition: background-color 0.6s ease, opacity 0.6s ease;
}
.synlux-scenes-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background: linear-gradient(180deg, rgb(10 10 10 / 0.45), rgb(10 10 10 / 0) 35%, rgb(10 10 10 / 0.6));
}
.synlux-scenes-hero .wp-block-cover__inner-container {
	z-index: 1;
	width: 100% !important;
}
.synlux-scenes-hero h1 {
	max-width: 11ch;
	letter-spacing: -0.045em;
	line-height: 0.92;
}
/* Fraza w H1 (SEO) jako mały nadtytuł nad hasłem – 1.5.8 (strona główna i podstrony). */
h1 small {
	display: block;
	margin-bottom: 0.9rem;
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1.35;
	color: var(--wp--preset--color--muted);
}
.synlux-scenes-hero h1 small {
	margin-bottom: 1.1rem;
	color: inherit;
	opacity: 0.86;
}
.synlux-scenes-hero .is-style-lead {
	color: inherit;
	opacity: 0.86;
	max-width: 40ch;
}
.synlux-scenes-hero .wp-block-button:not(.is-style-link) .wp-block-button__link {
	background: var(--scene);
	border-color: var(--scene);
	color: var(--wp--preset--color--base) !important;
	transition: background-color 0.6s ease, border-color 0.6s ease;
}
body.synlux-day .synlux-scenes-hero .wp-block-button:not(.is-style-link) .wp-block-button__link {
	color: var(--wp--preset--color--ink) !important;
}

/* Lista scen: bez skryptu – zwykłe akapity; ze skryptem – przyciski. */
.synlux-scenes {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0 !important;
	border-top: 1px solid rgb(241 239 234 / 0.28);
	margin-top: var(--wp--preset--spacing--50) !important;
}
.synlux-scenes > p,
.synlux-scene {
	margin: 0 !important;
	padding: 1.25rem 1rem 0 0;
	font: inherit;
	font-size: 0.875rem;
	font-variant-numeric: tabular-nums;
	text-align: left;
	color: inherit;
	background: none;
	border: 0;
	border-top: 2px solid transparent;
	margin-top: -1px !important;
	opacity: 0.6;
}
.synlux-scenes strong {
	display: block;
	font-size: clamp(1.05rem, 0.8rem + 0.8vw, 1.4rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	margin-bottom: 0.15rem;
}
.synlux-scene {
	cursor: pointer;
	transition: opacity 0.3s ease, border-color 0.3s ease;
}
.synlux-scene:hover {
	opacity: 0.85;
}
.synlux-scene[aria-pressed="true"] {
	opacity: 1;
	border-top-color: var(--scene);
}
.synlux-scene:focus-visible {
	outline: 2px solid var(--scene);
	outline-offset: 4px;
}
@media (max-width: 781px) {
	.synlux-scenes {
		grid-template-columns: repeat(5, minmax(108px, 1fr));
		overflow-x: auto;
		scrollbar-width: none;
	}
	.synlux-scenes > p,
	.synlux-scene {
		padding-right: 0.75rem;
		font-size: 0.875rem;
		white-space: nowrap;
	}
}

/* Kolor akcji = barwa sceny (tylko tam, gdzie są sceny). */
.has-scenes .synlux-scene-accent {
	color: var(--scene);
	transition: color 0.6s ease;
}
body.synlux-day.has-scenes .synlux-scene-accent {
	color: inherit;
	box-shadow: inset 0 -0.32em 0 var(--scene);
}

/* ===== Pas dowodów i pas zaufania – cztery kolumny ===== */
.synlux-facts {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 2rem !important;
}
.synlux-facts > * {
	margin: 0 !important;
}
.synlux-facts p {
	margin: 0;
}
@media (max-width: 900px) {
	.synlux-facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 480px) {
	.synlux-facts {
		grid-template-columns: 1fr;
		gap: 1.5rem !important;
	}
}

/* ===== Przebieg „od przycisku do światła” – prawdziwa sekwencja ===== */
.synlux-flow {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px !important;
	background: var(--wp--preset--color--line);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 6px;
	overflow: hidden;
}
.synlux-flow > * {
	margin: 0 !important;
	background: var(--wp--preset--color--base);
	padding: 1.75rem 1.5rem 2rem;
	min-height: 240px;
	display: flex;
	flex-direction: column;
	transition: background-color 0.6s ease;
}
.synlux-flow > * > h3 {
	/* Tytuły kroków w jednej linii (wcześniej dosunięte do dołu – rozjeżdżały się przy różnej długości opisu). */
	margin-top: 2.75rem !important;
}
.synlux-flow > * > p:last-child {
	margin-top: 0.6rem;
}
@media (max-width: 900px) {
	.synlux-flow {
		grid-template-columns: 1fr 1fr;
	}
	.synlux-flow > * {
		min-height: 200px;
	}
}
@media (max-width: 480px) {
	.synlux-flow {
		grid-template-columns: 1fr;
	}
	.synlux-flow > * {
		min-height: 0;
	}
	.synlux-flow > * > h3 {
		margin-top: 1.5rem !important;
	}
}

/* ===== Przekrój techniczny (rysunek SVG w bloku HTML) ===== */
.synlux-cut svg {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 6px;
	color: var(--wp--preset--color--contrast);
}
/* Schemat podłączenia (poradniki) – na telefonie przewijany w bok, żeby napisy zostały czytelne. 1.5.9 */
@media (max-width: 640px) {
	.synlux-wiring {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.synlux-wiring svg {
		width: 640px;
		max-width: none;
	}
}
.synlux-cut svg .ln { stroke: currentColor; }
.synlux-cut svg .soft { stroke: currentColor; opacity: 0.35; }
.synlux-cut svg .dim { stroke: var(--scene); }
.synlux-cut svg text { fill: currentColor; font-family: var(--wp--preset--font-family--archivo); }
.synlux-cut svg .beam { opacity: calc(0.25 + 0.75 * var(--lvl)); }
.synlux-cut svg .beam-stop { stop-color: var(--scene); }

/* Wiersze parametrów (nazwa | opis). */
.synlux-spec {
	display: grid !important;
	grid-template-columns: 8.5rem 1fr;
	gap: 1.5rem !important;
	padding: 1.05rem 0;
	border-top: 1px solid var(--wp--preset--color--line);
	margin: 0 !important;
}
.synlux-spec > * {
	margin: 0 !important;
}
.synlux-spec > :first-child {
	font-weight: 700;
	font-size: 1.1rem;
	letter-spacing: -0.01em;
}
@media (max-width: 480px) {
	.synlux-spec {
		grid-template-columns: 1fr;
		gap: 0.25rem !important;
	}
}

/* ===== Produkty jako wiersze katalogu ===== */
.synlux-part {
	display: grid !important;
	grid-template-columns: 120px minmax(0, 1.1fr) minmax(0, 2fr) auto;
	gap: 2rem !important;
	align-items: center;
	padding: 1.4rem 0;
	border-top: 1px solid var(--wp--preset--color--line);
	margin: 0 !important;
}
.synlux-part:last-child {
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.synlux-part > * {
	margin: 0 !important;
}
.synlux-part h3 small {
	display: block;
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--wp--preset--color--muted);
	margin-bottom: 0.3rem;
}
.synlux-part .wp-block-button__link {
	padding: 0.75rem 1.15rem;
	font-size: 0.875rem;
}
@media (max-width: 781px) {
	.synlux-part {
		grid-template-columns: 84px minmax(0, 1fr);
		gap: 0.4rem 1.25rem !important;
	}
	.synlux-part > :first-child {
		grid-row: span 3;
		align-self: start;
	}
	.synlux-part .wp-block-buttons {
		margin-top: 0.4rem !important;
	}
}

/* Miniatury: zdjęcie albo „portret ze światła” do czasu packshotów (ZDJECIA.md). */
.synlux-thumb {
	width: 120px;
	height: 84px;
	border-radius: 6px;
	background: var(--wp--preset--color--base-3);
	display: grid;
	place-items: center;
	overflow: hidden;
	margin: 0 !important;
}
.synlux-thumb img {
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	border-radius: 6px;
}
.synlux-thumb::before {
	content: "";
	display: block;
}
figure.synlux-thumb::before {
	display: none;
}
.synlux-thumb--ring::before {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	border: 4px solid #fff4e6;
	box-shadow: 0 0 14px var(--scene);
}
.synlux-thumb--line::before {
	width: 70%;
	height: 3px;
	background: #fff4e6;
	box-shadow: 0 0 12px 2px var(--scene);
}
.synlux-thumb--dot::before {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: radial-gradient(circle, #fff, var(--scene) 70%);
	box-shadow: 0 0 22px 6px var(--scene);
}
.synlux-thumb--spots::before {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: radial-gradient(circle, #fff, #ffb46b 70%);
	box-shadow: -34px 0 0 0 #ff9a45, 34px 0 0 0 #fff3ef, 0 0 18px 4px var(--scene);
}
body.synlux-day .synlux-thumb {
	background: var(--wp--preset--color--ink);
}
@media (max-width: 781px) {
	.synlux-thumb {
		width: 84px;
		height: 64px;
	}
}

/* Duże pola światła (kafle linii CORE / PRIME). */
.synlux-beam {
	position: relative;
	min-height: 260px;
	border-radius: 6px;
	overflow: hidden;
	background: var(--wp--preset--color--base-3);
}
.synlux-beam::before {
	content: "";
	position: absolute;
	left: 50%;
	top: -10%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: var(--half, 60px) solid transparent;
	border-right: var(--half, 60px) solid transparent;
	border-top: 300px solid rgb(255 180 107 / 0.35);
	filter: blur(18px);
}
.synlux-beam--60 { --half: 175px; }
.synlux-beam--36 { --half: 95px; }
body.synlux-day .synlux-beam {
	background: var(--wp--preset--color--ink);
}

/* ===== Stopka ===== */
.synlux-footer .wp-block-site-logo {
	margin-bottom: 0.5rem;
}

/* ===== Tabele ===== */
.wp-block-table table {
	border-collapse: collapse;
	width: 100%;
	font-variant-numeric: tabular-nums;
}
.wp-block-table :is(th, td) {
	border: 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
	padding: 0.9rem 1rem 0.9rem 0;
	text-align: left;
	vertical-align: top;
}
.wp-block-table thead {
	border-bottom: 0;
}
.wp-block-table th {
	font-weight: 600;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
}
.wp-block-table.is-style-stripes {
	border-bottom: 0;
}
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
	background-color: var(--wp--preset--color--base-2);
}
.wp-block-table.is-style-stripes :is(th, td) {
	padding-left: 1rem;
	border-color: transparent;
}
@media (max-width: 600px) {
	.wp-block-table {
		overflow-x: auto;
	}
	.wp-block-table :is(th, td) {
		padding-right: 0.75rem;
		font-size: 0.9375rem;
	}
}

/* ===== Formularze ===== */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="number"],
input[type="password"],
input[type="search"],
select,
textarea {
	background: var(--wp--preset--color--base-3);
	color: var(--wp--preset--color--contrast);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 6px;
	padding: 0.75em 0.9em;
	font: inherit;
	box-sizing: border-box;
	max-width: 100%;
}
input:focus,
select:focus,
textarea:focus {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 1px;
}
:where(.wc-block-components-text-input, .wc-block-components-combobox) input {
	background: var(--wp--preset--color--base-3) !important;
	color: var(--wp--preset--color--contrast) !important;
}

/* ===== WooCommerce ===== */
.wc-block-components-product-image img,
.wp-block-woocommerce-product-image img,
.wp-block-woocommerce-product-image-gallery img,
.woocommerce-product-gallery img {
	border-radius: 6px;
	background: var(--wp--preset--color--ink);
}
.woocommerce-product-gallery,
.woocommerce-product-gallery__image,
.woocommerce-product-gallery__wrapper {
	border: 0 !important;
}
/* Suwak galerii układa wszystkie zdjęcia w jednym rzędzie – bez tego strona przewija się w bok. */
.woocommerce-product-gallery,
.wp-block-woocommerce-product-image-gallery {
	overflow: hidden;
	min-width: 0;
}
.woocommerce-product-gallery__image {
	border-radius: 6px;
	overflow: hidden;
}

/* Parametry produktu: tabela w jednej kolumnie, wiersze karty katalogowej. */
.woocommerce-product-attributes,
.wp-block-woocommerce-product-specifications table {
	width: 100%;
	border: 0 !important;
	border-collapse: collapse;
	font-size: 1rem;
}
.woocommerce-product-attributes th,
.woocommerce-product-attributes td,
.wp-block-woocommerce-product-specifications th,
.wp-block-woocommerce-product-specifications td {
	border: 0 !important;
	border-bottom: 1px solid var(--wp--preset--color--line) !important;
	padding: 0.85rem 0 !important;
	text-align: left;
	vertical-align: top;
	background: none !important;
	font-variant-numeric: tabular-nums;
}
.woocommerce-product-attributes th,
.wp-block-woocommerce-product-specifications th {
	width: 40%;
	font-weight: 400;
	color: var(--wp--preset--color--muted);
	padding-right: 1.5rem !important;
}
.woocommerce-product-attributes td p,
.wp-block-woocommerce-product-specifications td p {
	margin: 0;
}
.woocommerce-product-attributes tr:last-child > *,
.wp-block-woocommerce-product-specifications tr:last-child > * {
	border-bottom: 0 !important;
}

/* Filtry sklepu: nagłówki zdaniem, nie wersalikami. */
.wp-block-woocommerce-product-filters :is(h2, h3, h4),
.wc-block-product-filters :is(h2, h3, h4) {
	text-transform: none !important;
	letter-spacing: normal !important;
	font-size: 1rem;
}

/* Cena z przyrostkiem „netto + VAT”. */
.woocommerce-price-suffix {
	font-size: max(0.8em, 0.875rem);
	color: var(--wp--preset--color--muted);
	font-weight: 400;
}

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

/* Galeria realizacji: trzy kadry w rzędzie także na telefonie (domyślnie WordPress daje 2 + 1 na całą szerokość). */
@media (max-width: 599px) {
	.wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image) {
		width: calc(33.333% - var(--wp--style--unstable-gallery-gap, 16px) * 0.667);
	}
}

/* ===== 1.5.6 – szlif ===== */
/* Nagłówki łamane równo (bez jednego słowa w ostatnim wierszu), akapity bez sierotek. */
h1, h2, h3, .wp-block-heading, .wp-block-post-title {
	text-wrap: balance;
}
p, li {
	text-wrap: pretty;
}

/* Wiersze produktów: stała kolumna przycisku – opisy zaczynają się w jednej linii. */
@media (min-width: 782px) {
	.synlux-part {
		grid-template-columns: 120px minmax(0, 1fr) minmax(0, 1.9fr) 11rem;
	}
	.synlux-part .wp-block-buttons {
		justify-content: flex-end;
	}
}

/* Karta produktu: galeria na pełną kolumnę i przyklejona przy przewijaniu długiej prawej kolumny. */
.wp-block-woocommerce-product-image-gallery {
	max-width: none !important;
}
.wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery {
	width: 100% !important;
	float: none !important;
}
@media (min-width: 782px) {
	.wp-block-column:has(> .wp-block-woocommerce-product-image-gallery) {
		position: sticky;
		top: 96px;
		align-self: flex-start;
	}
}
/* Ukryty link „Wyczyść” nie zostawia dziury pod wyborem wariantu. */
form.variations_form .reset_variations[style*="hidden"] {
	display: none !important;
}

/* „Jaki kąt?” na telefonie: grafika obok opisu zamiast wysokich kart jedna pod drugą. */
@media (max-width: 600px) {
	.synlux-angles > .wp-block-group {
		display: grid;
		grid-template-columns: 44% minmax(0, 1fr);
		align-items: center;
	}
	.synlux-angles > .wp-block-group > * {
		margin: 0 !important;
	}
}
/* Karta produktu: mniejsze odstępy między wyborem wariantu a tabelą wersji. */
.wc-block-add-to-cart-form form.variations_form {
	margin-bottom: 0;
}
.wc-block-add-to-cart-form table.variations {
	margin-bottom: 0.5rem;
}
.synlux-selected:empty {
	display: none;
}
/* Tabela wersji na telefonie mieści się bez przewijania: łamanie nazw wersji, mniejsze odstępy. */
@media (max-width: 600px) {
	.synlux-variants table th,
	.synlux-variants table td {
		padding: 0.6rem 0.35rem;
		font-size: 0.875rem;
	}
	.synlux-variants table :is(th, td):first-child {
		white-space: normal;
		overflow-wrap: normal;
	}
}

/* ===== 1.6.0 – przegląd „pro” (07.11.2026, skill synlux-design) ===== */
/* Wiersze produktów: zdjęcia to najmocniejszy materiał – większe miniatury. */
@media (min-width: 782px) {
	.synlux-part {
		grid-template-columns: 176px minmax(0, 1fr) minmax(0, 1.9fr) 11rem;
	}
	.synlux-part .synlux-thumb {
		width: 176px;
		height: 128px;
	}
}
@media (max-width: 781px) {
	.synlux-part {
		grid-template-columns: 112px minmax(0, 1fr);
	}
	.synlux-part .synlux-thumb {
		width: 112px;
		height: 84px;
	}
}
