/*
 * karpiowekamery.pl — warstwa wyglądu motywu potomnego (nad Salient 18 + WPBakery).
 *
 * Kierunek: spokojny, techniczny, „podwodny” granat + jeden akcent (pomarańcz marki #ff6a00 z logo).
 * Zasady: akcent tylko dla akcji i stanu; tekst na akcencie granatowy (6,7:1), nie biały (2,9:1);
 * tekst nie czysto biały; cienie barwione granatem, światło z góry; ruch krótki (200 ms), bez przestrzeleń;
 * kontrast WCAG AA; focus z klawiatury zawsze widoczny (2 px #ffb24a). Uwzględnia audyt raporty/7-audyt-apple.md.
 *
 * Specyficzność: Salient i jego dynamiczny CSS mają długie selektory i sporo !important.
 * Nadpisania komponentów zaczynają się od #ajax-content-wrap / #header-outer / #footer-outer (id wygrywa z każdym
 * selektorem klasowym). !important tylko tam, gdzie Salient sam go używa albo styl siedzi w atrybucie style=.
 *
 * Spis: 0 font · 1 tokeny · 2 baza · 3 przyciski · 4 nagłówek i menu · 5 strona główna · 6 karty produktów
 *       7 sklep · 8 strona produktu · 9 formularz .k-zamowienie i pola · 10 stopka · 11 drobne strony
 *       12 responsywność i dotyk · 13 preferencje dostępności
 */

/* =========================================================================
 * 0. Font — Manrope (OFL, assets/fonts/OFL.txt), lokalnie, zmienna grubość 400–800.
 *    Dwa podzbiory: latin (cyfry, „”, –) + latin-ext (ą ć ę ł ń ś ź ż).
 * ====================================================================== */
@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url("fonts/manrope-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url("fonts/manrope-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Natywne, przerywalne przejście między stronami (zamiast maski Salient). Przeglądarki bez wsparcia ignorują. */
@view-transition {
	navigation: auto;
}
::view-transition-old(root),
::view-transition-new(root) {
	animation-duration: 180ms;
	animation-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

/* =========================================================================
 * 1. Tokeny
 * ====================================================================== */
:root {
	/* Granat „głębi” — od tła strony do powierzchni podniesionych (spójny z hero i zdjęciem dna). */
	--k-ink-950: #040914;
	--k-ink-900: #060d1f; /* tło strony = overall-bg-color Salient */
	--k-ink-850: #091428; /* sekcje „podwodne” */
	--k-ink-800: #0d1a33; /* karty, panele */
	--k-ink-700: #14244a; /* uniesione / hover */
	--k-ink-600: #1d3160;

	/* Tekst (kontrast na --k-ink-800: 15,4 / 9,3 / 6,2 : 1) */
	--k-text: #eef2f8;
	--k-text-2: #b4c0d4;
	--k-text-3: #8d9cb8;

	/* Linie */
	--k-line: rgba(160, 182, 222, 0.12);
	--k-line-strong: rgba(160, 182, 222, 0.24);
	--k-line-input: #5f74a0; /* ≥3:1 do tła pól (WCAG 1.4.11) */

	/* Jeden akcent (kolor marki). Tekst na nim granatowy: 6,7:1. Jako tekst na granacie: 6,7:1. */
	--k-accent: #ff6a00;
	--k-accent-hi: #ff8533;
	--k-accent-lo: #e65f00;
	--k-on-accent: #060d1f;
	--k-accent-soft: rgba(255, 106, 0, 0.13);
	--k-accent-ring: rgba(255, 106, 0, 0.4);
	--k-focus: #ffb24a; /* pierścień focusu: jasny bursztyn, widoczny także na pomarańczowym przycisku */

	/* Stany */
	--k-ok: #3ccf91;
	--k-ok-soft: rgba(60, 207, 145, 0.12);
	--k-err: #ff7b7b;
	--k-err-soft: rgba(255, 123, 123, 0.12);

	/* Ciemne „studio” pod zdjęcia produktów: snop światła z góry, jak w sekcjach podwodnych.
	 * Czarny sprzęt na przezroczystym PNG dobrze się na nim odcina (audyt: „kapitał marki”). */
	--k-well-bg: radial-gradient(85% 70% at 50% 30%, #22365f 0%, #13244a 48%, #0b1730 100%);
	--k-well: #13244a;

	/* Promienie — ciaśniej w środku, łagodniej na kontenerach */
	--k-r-xs: 6px;
	--k-r-sm: 10px;
	--k-r-md: 14px;
	--k-r-lg: 18px;
	--k-r-xl: 24px;
	--k-r-pill: 999px;

	/* Cienie barwione granatem */
	--k-shadow-1: 0 1px 2px rgba(2, 6, 16, 0.45), 0 2px 8px rgba(2, 6, 16, 0.25);
	--k-shadow-2: 0 2px 4px rgba(2, 6, 16, 0.35), 0 16px 36px -10px rgba(2, 6, 16, 0.7);
	--k-shadow-3: 0 28px 70px -18px rgba(2, 6, 16, 0.8);
	--k-edge: inset 0 1px 0 rgba(255, 255, 255, 0.05); /* jasna górna krawędź materiału */

	/* Odstępy — skala 4 px */
	--k-s-1: 4px;
	--k-s-2: 8px;
	--k-s-3: 12px;
	--k-s-4: 16px;
	--k-s-5: 24px;
	--k-s-6: 32px;
	--k-s-7: 48px;
	--k-s-8: 64px;
	--k-s-9: 96px;
	--k-gutter: clamp(16px, 4vw, 40px);
	--k-container: 1320px;
	--k-measure: 68ch;
	--k-tap: 44px; /* minimalny cel dotyku */
	--k-header-h: 96px;

	/* Typografia — tracking zależny od rozmiaru */
	--k-font: "Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--k-fs-xs: 0.8125rem;
	--k-fs-sm: 0.9375rem;
	--k-fs-md: 1rem;
	--k-fs-lg: 1.125rem;
	--k-fs-xl: 1.375rem;
	--k-fs-h3: clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem);
	--k-fs-h2: clamp(1.75rem, 1.25rem + 1.9vw, 2.6rem);
	--k-fs-h1: clamp(1.75rem, 1.2rem + 2vw, 2.5rem); /* 28–40 px: product_title, page-title */
	--k-fs-hero: clamp(2.125rem, 1.2rem + 3.1vw, 3.75rem);
	--k-fs-price: clamp(1.625rem, 1.4rem + 0.9vw, 2.125rem);
	--k-lh-h1: 1.08;
	--k-lh-h2: 1.15;
	--k-lh-h3: 1.25;
	--k-lh-body: 1.6;
	--k-track-h1: -0.02em;
	--k-track-h2: -0.01em;
	--k-track-h3: -0.005em;
	--k-track-label: 0.06em;

	/* Ruch — krótko, bez przestrzeleń (odpowiednik sprężyny z tłumieniem 1,0) */
	--k-ease: cubic-bezier(0.2, 0.8, 0.2, 1);
	--k-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
	--k-t-press: 100ms;
	--k-t-fast: 140ms;
	--k-t: 200ms;
	--k-t-slow: 360ms;

	/* Warstwy */
	--k-z-plakietka: 2;
	--k-z-cta: 3;
	--k-z-pasek: 9000; /* pod menu pełnoekranowym Salient, nad treścią */

	/* Zmienne formularza z inc/zamowienie.php (assets/zamowienie.css ma do nich fallbacki) */
	--k-akcent: var(--k-accent);
	--k-blad: var(--k-err);
	--k-sukces: var(--k-ok);
	--k-ramka: var(--k-line-input);
	--k-promien: var(--k-r-sm);
}

/* =========================================================================
 * 2. Baza
 * ====================================================================== */
html {
	scroll-padding-top: var(--k-header-h); /* kotwice (#zamow, #poznaj-produkty) nie chowają się pod nagłówkiem */
}
html body.karpie {
	background-color: var(--k-ink-900);
	color: var(--k-text-2);
	font-size: 16px;
	line-height: var(--k-lh-body);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	font-optical-sizing: auto;
}

/* Jedna rodzina wszędzie (było: Verdana, Arial, Roboto, Open Sans). !important, bo Salient i opcje Redux
 * ustawiają font na dziesiątkach selektorów. Ikony (<i>, .fa, icon-*) celowo pominięte. */
body.karpie,
body.karpie :is(input, select, textarea, button, h1, h2, h3, h4, h5, h6, p, li, a, label, td, th, dt, dd, blockquote, address, strong, b, em, small, bdi, figcaption, legend, summary),
body.karpie :is(.nectar-button, .button, .woocommerce-Price-amount, .menu-title-text, .price) {
	font-family: var(--k-font) !important;
}

/* Nagłówki: tracking i interlinia zależne od rozmiaru (Redux miał stałe −3 px dla H1 — „Skłep”). */
body.karpie :is(h1, h2, h3, h4, h5, h6) {
	color: var(--k-text);
	text-wrap: balance;
	font-style: normal;
}
#ajax-content-wrap :is(h1, h2[data-inherit-heading-family="h1"]),
body.karpie #error-404 h1 {
	letter-spacing: var(--k-track-h1) !important;
	line-height: var(--k-lh-h1) !important;
	font-optical-sizing: auto;
}
#ajax-content-wrap h2:not([data-inherit-heading-family]) {
	letter-spacing: var(--k-track-h2);
	line-height: var(--k-lh-h2);
}
#ajax-content-wrap :is(h3, h4) {
	letter-spacing: var(--k-track-h3);
	line-height: var(--k-lh-h3);
}
#ajax-content-wrap :is(p, li) {
	letter-spacing: 0;
}
#ajax-content-wrap p {
	line-height: var(--k-lh-body);
	text-wrap: pretty;
}
body.karpie :is(strong, b) {
	font-weight: 700;
	color: var(--k-text);
}

body.karpie ::selection {
	background: rgba(255, 106, 0, 0.32);
	color: #fff;
}

/* Linki w treści */
#ajax-content-wrap :is(.wpb_text_column, .woocommerce-product-details__short-description, .entry-content, .woocommerce-Tabs-panel) a:not(.nectar-button):not(.button) {
	color: var(--k-text);
	text-decoration: underline;
	text-decoration-color: var(--k-accent);
	text-decoration-thickness: 1.5px;
	text-underline-offset: 3px;
	transition: color var(--k-t-fast) var(--k-ease);
}
#ajax-content-wrap :is(.wpb_text_column, .woocommerce-product-details__short-description, .entry-content, .woocommerce-Tabs-panel) a:not(.nectar-button):not(.button):hover {
	color: var(--k-accent-hi);
}

/* Widoczny focus z klawiatury (Salient ma outline:none na .sf-menu a, input, .flickity-enabled). */
body.karpie :is(a, button, input, select, textarea, summary, [tabindex], .flickity-enabled):focus-visible {
	outline: 2px solid var(--k-focus) !important;
	outline-offset: 3px !important;
	border-radius: var(--k-r-xs);
}
body.karpie :is(a, button):focus:not(:focus-visible) {
	outline: none;
}

/* Link „przejdź do treści” */
body.karpie .nectar-skip-to-content:focus {
	background: var(--k-accent);
	color: var(--k-on-accent);
	font-weight: 700;
	border-radius: var(--k-r-sm);
	box-shadow: var(--k-shadow-2);
}

/* Liczby: ceny i parametry równo pod sobą */
body.karpie :is(.price, .woocommerce-Price-amount, .amount, .k-spec__v, td, .k-pasek-cta__cena) {
	font-variant-numeric: tabular-nums lining-nums;
}

/* Tło pod ładowaniem strony (Salient: #3d3d3d — szary błysk przy każdym przejściu) */
html:not(.page-trans-loaded) {
	background-color: var(--k-ink-900) !important;
}
body.karpie #ajax-loading-screen {
	background-color: var(--k-ink-900) !important;
}

/* Tekst z gradientem (nectar-gradient-text) → jednolity nagłówek. Akcent zostaje dla akcji. */
#ajax-content-wrap .nectar-gradient-text,
#ajax-content-wrap .nectar-gradient-text * {
	background: none !important;
	-webkit-text-fill-color: currentColor !important;
	color: var(--k-text) !important;
}

/* Inline czarne tło wklejone z edytora w opisach (np. TitanDRONE ULTRA) — do usunięcia w treści, tu bezpiecznik */
#ajax-content-wrap :is(.woocommerce-Tabs-panel, .wpb_text_column) [style*="background"]:not(.row-bg):not(.column-image-bg):not(.box-bg) {
	background: transparent !important;
}

/* =========================================================================
 * 3. Przyciski
 * ====================================================================== */
/* Bez angielskiego Title Case („Kamery Przewodowe”, „Zaloguj Się”) */
body.karpie :is(.nectar-button, .button, button, input[type="submit"], input[type="button"], .nectar-button span) {
	text-transform: none !important;
}

/* Główny (akcent) */
#ajax-content-wrap :is(.nectar-button.accent-color, .nectar-button.regular-button:not([class*="see-through"]), .woocommerce .button.alt, button.button.alt, .pushbutton-wide, .woocommerce-form-login__submit, .woocommerce-Button, .k-btn),
#ajax-content-wrap .woocommerce :is(button[type="submit"], input[type="submit"]) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--k-s-2);
	min-height: 48px;
	padding: 0 var(--k-s-5) !important;
	border: 0 !important;
	border-radius: var(--k-r-sm) !important;
	background: var(--k-accent) !important;
	background-image: none !important;
	color: var(--k-on-accent) !important;
	font-size: var(--k-fs-sm) !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	line-height: 1.2 !important;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.25) inset, 0 8px 24px -10px rgba(255, 106, 0, 0.55);
	transition: background-color var(--k-t) var(--k-ease), transform var(--k-t) var(--k-ease), box-shadow var(--k-t) var(--k-ease) !important;
	cursor: pointer;
}
#ajax-content-wrap :is(.nectar-button.accent-color, .nectar-button.regular-button:not([class*="see-through"]), .woocommerce .button.alt, button.button.alt, .pushbutton-wide, .woocommerce-form-login__submit, .woocommerce-Button, .k-btn) :is(span, i) {
	color: inherit !important;
}
#ajax-content-wrap :is(.nectar-button.accent-color, .nectar-button.regular-button:not([class*="see-through"]), .woocommerce .button.alt, button.button.alt, .pushbutton-wide, .woocommerce-form-login__submit, .woocommerce-Button, .k-btn):hover,
#ajax-content-wrap .woocommerce :is(button[type="submit"], input[type="submit"]):hover {
	background: var(--k-accent-hi) !important;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset, 0 12px 28px -10px rgba(255, 106, 0, 0.65);
}
/* Nacisk — od razu, na pointer-down: scale(.97), 100 ms.
 * Bez .k-karta__cta: jej ::after pokrywa całą kartę, a transform zmieniłby blok zawierający w trakcie
 * kliknięcia (mousedown i mouseup na różnych elementach = brak kliknięcia). Karta reaguje zdjęciem i kolorem. */
body.karpie :is(.nectar-button, .button, button, input[type="submit"], .k-btn, .k-pasek-cta__przycisk):active {
	transform: scale(0.97) !important;
	transition: transform var(--k-t-press) ease-out !important;
}
body.karpie .nectar-button {
	transition-duration: var(--k-t) !important; /* było 450 ms */
}

/* Szkło (przyciski na zdjęciach: hero, „Zobacz więcej”) — jeden kształt w spoczynku i po najechaniu */
#ajax-content-wrap :is(.nectar-button.see-through-extra-color-gradient-1, .nectar-button.see-through-2, .nectar-button.see-through) {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 var(--k-s-6) !important;
	border: 1px solid rgba(238, 242, 248, 0.32) !important;
	border-radius: var(--k-r-pill) !important;
	background: rgba(6, 13, 31, 0.42) !important;
	-webkit-backdrop-filter: blur(14px) saturate(140%);
	backdrop-filter: blur(14px) saturate(140%);
	color: var(--k-text) !important;
	font-size: var(--k-fs-md) !important;
	font-weight: 600 !important;
	letter-spacing: -0.005em !important;
	box-shadow: var(--k-edge), var(--k-shadow-1);
	opacity: 1 !important;
	transition: background-color var(--k-t) var(--k-ease), border-color var(--k-t) var(--k-ease), color var(--k-t) var(--k-ease) !important;
}
#ajax-content-wrap :is(.nectar-button.see-through-extra-color-gradient-1, .nectar-button.see-through-2, .nectar-button.see-through)::after {
	display: none !important;
}
#ajax-content-wrap :is(.nectar-button.see-through-extra-color-gradient-1, .nectar-button.see-through-2, .nectar-button.see-through) span {
	position: static !important;
	background: none !important;
	-webkit-text-fill-color: currentColor !important;
	color: inherit !important;
	animation: none !important;
	opacity: 1 !important;
	transform: none !important;
}
#ajax-content-wrap .nectar-button.see-through-extra-color-gradient-1 .hover {
	display: none !important;
}
#ajax-content-wrap :is(.nectar-button.see-through-extra-color-gradient-1, .nectar-button.see-through-2, .nectar-button.see-through):is(:hover, :focus-visible) {
	border-color: var(--k-accent) !important;
	background: var(--k-accent) !important;
	color: var(--k-on-accent) !important;
}

/* =========================================================================
 * 4. Nagłówek i menu
 * ====================================================================== */
/* Materiał: półprzezroczysty pasek z rozmyciem; zamiast twardej linii — cienka krawędź. */
#header-outer:not(.transparent) {
	background-color: rgba(6, 13, 31, 0.97) !important;
	box-shadow: 0 1px 0 var(--k-line) !important;
}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
	#header-outer:not(.transparent) {
		background-color: rgba(6, 13, 31, 0.78) !important;
		-webkit-backdrop-filter: saturate(160%) blur(16px);
		backdrop-filter: saturate(160%) blur(16px);
	}
}

#header-outer #top nav > ul > li > a,
#header-outer #top nav > ul > li > a .menu-title-text {
	font-size: var(--k-fs-sm);
	font-weight: 600;
	font-style: normal;
	letter-spacing: -0.005em;
	line-height: 1.2;
	text-transform: none;
}
#header-outer #top nav > ul > li > a {
	padding-top: 14px !important;
	padding-bottom: 14px !important;
}
#header-outer:not(.transparent) #top nav > ul > li > a {
	color: var(--k-text) !important;
}
#header-outer #top nav > ul > li > a .menu-title-text {
	position: relative;
}
/* Podkreślenie akcentem — rośnie od lewej (hover, bieżąca pozycja, focus) */
#header-outer #top nav > ul.sf-menu > li > a .menu-title-text::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -7px;
	height: 2px;
	border-radius: 2px;
	background: var(--k-accent);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform var(--k-t) var(--k-ease);
}
#header-outer #top nav > ul.sf-menu > li:is(:hover, .current-menu-item, .current_page_item, .current-menu-ancestor) > a .menu-title-text::after,
#header-outer #top nav > ul.sf-menu > li > a:focus-visible .menu-title-text::after {
	transform: scaleX(1);
}

/* Ikony serwisów i hamburger — cele dotyku ≥44 px przez niewidoczne pole wokół (bez zmiany układu
 * i bez psucia efektu hover Salient, który przesuwa ikonę w obrębie przyciętego linku) */
#header-outer #social-in-menu a,
#header-outer .slide-out-widget-area-toggle a {
	position: relative;
}
#header-outer #social-in-menu a::before,
#header-outer .slide-out-widget-area-toggle a::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: max(100%, var(--k-tap));
	height: max(100%, var(--k-tap));
	transform: translate(-50%, -50%);
}
#header-outer:not(.transparent) #social-in-menu a {
	color: var(--k-text-2) !important;
}
#header-outer #social-in-menu a:hover {
	color: var(--k-accent) !important;
}
body.karpie #slide-out-widget-area .off-canvas-social-links a {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: var(--k-tap);
	min-height: var(--k-tap);
}
#header-outer .slide-out-widget-area-toggle .lines,
#header-outer .slide-out-widget-area-toggle .lines::before,
#header-outer .slide-out-widget-area-toggle .lines::after,
#header-outer .slide-out-widget-area-toggle .lines-button::after {
	background-color: var(--k-text) !important;
	border-radius: 2px;
}

/* Menu pełnoekranowe (telefon) — prawie pełne krycie, bo prześwitująca treść mieszała się z menu */
body.karpie #slide-out-widget-area-bg.fullscreen {
	background-color: rgba(4, 9, 20, 0.98) !important;
	opacity: 1 !important;
}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
	body.karpie #slide-out-widget-area-bg.fullscreen {
		background-color: rgba(4, 9, 20, 0.94) !important;
		-webkit-backdrop-filter: blur(24px) saturate(140%);
		backdrop-filter: blur(24px) saturate(140%);
	}
}
body.karpie #slide-out-widget-area.fullscreen .off-canvas-menu-container .menu > li > a {
	display: inline-block;
	padding-block: 6px;
	color: var(--k-text) !important;
	font-size: clamp(1.75rem, 6vw, 2.5rem) !important;
	font-weight: 700 !important;
	letter-spacing: var(--k-track-h1) !important;
	line-height: 1.25 !important;
	transition: color var(--k-t-fast) var(--k-ease);
}
body.karpie #slide-out-widget-area.fullscreen .off-canvas-menu-container .menu > li > a:hover {
	color: var(--k-accent) !important;
}
body.karpie #slide-out-widget-area .slide_out_area_close {
	background-color: var(--k-ink-700) !important;
	border: 1px solid var(--k-line-strong);
	box-shadow: var(--k-shadow-1);
}
body.karpie #slide-out-widget-area .slide_out_area_close .icon-salient-x::before {
	color: var(--k-text) !important;
}

/* Kropki nawigacji pełnoekranowych sekcji (desktop) — ciemny materiał zamiast białej pigułki */
body.karpie #fp-nav.tooltip_alt {
	background-color: rgba(6, 13, 31, 0.72) !important;
	border: 1px solid var(--k-line-strong);
	box-shadow: var(--k-shadow-2) !important;
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}
body.karpie #fp-nav.tooltip_alt ul li a span::after {
	background-color: var(--k-text) !important;
}
body.karpie #fp-nav.tooltip_alt ul li .fp-tooltip .tooltip-inner {
	background-color: rgba(13, 26, 51, 0.92) !important;
}
body.karpie #fp-nav ul li a {
	min-width: 28px;
	min-height: 28px;
}
body.karpie #fp-nav ul li a span {
	background-color: rgba(238, 242, 248, 0.45) !important;
}
body.karpie #fp-nav ul li a.active span {
	background-color: var(--k-accent) !important;
}
body.karpie #fp-nav ul li .fp-tooltip {
	font-size: var(--k-fs-xs) !important;
	font-weight: 600 !important;
	letter-spacing: 0.02em !important;
	color: var(--k-text) !important;
}

/* =========================================================================
 * 5. Strona główna (wiersze WPBakery; tryb pełnoekranowy na desktopie, zwykły na telefonie)
 * ====================================================================== */
/* Czyste #000 sekcji → głęboki granat spójny z hero i zdjęciem dna; delikatne światło z góry jak pod wodą. */
#ajax-content-wrap .wpb_row[style*="--row-bg-color: #000000"] {
	--row-bg-color: var(--k-ink-850) !important;
}
#ajax-content-wrap .row-bg.using-bg-color:not(.using-image)[style*="#000000"] {
	background-color: var(--k-ink-850) !important;
	background-image: radial-gradient(1100px 520px at 50% -12%, rgba(64, 104, 182, 0.2), transparent 62%), radial-gradient(900px 480px at 85% 110%, rgba(30, 60, 120, 0.18), transparent 60%) !important;
}
/* Sekcje ze zdjęciem dna miały białe tło zapasowe (biały błysk przed wczytaniem zdjęcia) */
#ajax-content-wrap .row-bg.using-image.using-bg-color[style*="#ffffff"] {
	background-color: var(--k-ink-900) !important;
}

/* Hero: widoczny od pierwszej klatki (Salient chowa kolumny z animacją do czasu JS — DCL 6,7 s) */
#ajax-content-wrap [data-fullscreen-anchor-id="glowna"] .has-animation,
.home #ajax-content-wrap .main-content > .row > .wpb_row:first-child .has-animation {
	opacity: 1 !important;
	transform: none !important;
}
/* Przyciemnienie gradientem zamiast płaskiej czerni 50% */
#ajax-content-wrap [data-fullscreen-anchor-id="glowna"] .row-bg-overlay {
	background: linear-gradient(180deg, rgba(6, 13, 31, 0.72) 0%, rgba(6, 13, 31, 0.32) 38%, rgba(6, 13, 31, 0.42) 62%, rgba(6, 13, 31, 0.9) 100%) !important;
	opacity: 1 !important;
}
/* Klasa font_size_4,7vw w treści jest nieprawidłowa (przecinek) — rozmiar hero z clamp() */
#ajax-content-wrap [data-fullscreen-anchor-id="glowna"] .nectar-highlighted-text h1,
.home #ajax-content-wrap .nectar-highlighted-text h1 {
	font-size: var(--k-fs-hero) !important;
	font-weight: 750 !important;
	text-shadow: 0 2px 24px rgba(2, 6, 16, 0.45);
}
#ajax-content-wrap [data-fullscreen-anchor-id="glowna"] .wpb_text_column p {
	max-width: 46ch;
	margin-inline: auto;
	color: rgba(238, 242, 248, 0.9);
	font-size: clamp(1.0625rem, 0.95rem + 0.5vw, 1.3rem);
	line-height: 1.55;
}

/* Nagłówki sekcji („Poznaj nasze bestsellery”, „Jak to działa”…). inc/seo.php zamienia je w locie
 * z h1 na h2[data-inherit-heading-family="h1"], więc celujemy w oba warianty. */
.home #ajax-content-wrap .nectar-gradient-text :is(h1, h2),
#ajax-content-wrap .nectar-gradient-text h2[data-inherit-heading-family] {
	font-size: clamp(1.9rem, 1.2rem + 2.6vw, 3.25rem) !important; /* 30–52 px */
	font-weight: 750 !important;
}

/* Kafle „Wiedza zamiast domysłów” (fancy box): martwe linki href="#" wyłączone, zaokrąglenie, krawędź */
#ajax-content-wrap .nectar-fancy-box .box-link[href="#"] {
	display: none !important;
}
#ajax-content-wrap .nectar-fancy-box {
	border-radius: var(--k-r-lg);
	overflow: hidden;
}
#ajax-content-wrap .nectar-fancy-box .box-inner-wrap {
	border-radius: var(--k-r-lg);
	box-shadow: inset 0 0 0 1px var(--k-line);
}
#ajax-content-wrap .nectar-fancy-box h3 {
	font-size: var(--k-fs-h3);
	font-weight: 700;
	line-height: var(--k-lh-h3) !important;
}
#ajax-content-wrap .nectar-fancy-box p {
	color: rgba(238, 242, 248, 0.88);
}

/* Kolumny kategorii („Kamery / Przewodowe”) — scrim pod tekstem na zdjęciu */
.home #ajax-content-wrap .column-image-bg-wrap::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(4, 9, 20, 0) 25%, rgba(4, 9, 20, 0.62) 100%);
	pointer-events: none;
}
#ajax-content-wrap h5.vc_custom_heading {
	font-size: var(--k-fs-xs) !important;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(238, 242, 248, 0.82) !important;
}
#ajax-content-wrap h3.vc_custom_heading {
	font-size: clamp(1.75rem, 1.3rem + 1.6vw, 2.5rem);
	font-weight: 750;
	letter-spacing: var(--k-track-h1);
}

/* Filmy (karuzela) */
#ajax-content-wrap .wpb_video_wrapper {
	border-radius: var(--k-r-lg);
	overflow: hidden;
	box-shadow: var(--k-shadow-2);
	background: var(--k-ink-950);
}

/* Zakładki produktów (styl minimal_flexible) */
#ajax-content-wrap .tabbed[data-style="minimal_flexible"] > ul.wpb_tabs_nav {
	margin-bottom: var(--k-s-6);
	border-bottom: 1px solid var(--k-line);
}
#ajax-content-wrap .tabbed[data-style="minimal_flexible"] > ul.wpb_tabs_nav > li > a {
	min-height: var(--k-tap);
	color: var(--k-text-3) !important;
	font-size: var(--k-fs-lg);
	font-weight: 650;
	letter-spacing: -0.01em;
	transition: color var(--k-t-fast) var(--k-ease);
}
#ajax-content-wrap .tabbed[data-style="minimal_flexible"] > ul.wpb_tabs_nav > li > a:is(:hover, .active-tab) {
	color: var(--k-text) !important;
}
#ajax-content-wrap .tabbed[data-style="minimal_flexible"] > ul.wpb_tabs_nav > li > a::after,
#ajax-content-wrap .tabbed[data-style="minimal_flexible"] .magic-line {
	background: var(--k-accent) !important;
}

/* Formularz kontaktowy Jetpack w sekcji „Masz jakieś pytania?” (style pól w części 9) */
#ajax-content-wrap .wp-block-jetpack-contact-form-container {
	padding: var(--k-s-5);
	border: 1px solid var(--k-line);
	border-radius: var(--k-r-xl);
	background: rgba(9, 20, 40, 0.8);
	box-shadow: var(--k-edge), var(--k-shadow-2);
}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
	#ajax-content-wrap .wp-block-jetpack-contact-form-container {
		background: rgba(9, 20, 40, 0.6);
		-webkit-backdrop-filter: blur(16px) saturate(130%);
		backdrop-filter: blur(16px) saturate(130%);
	}
}

/* Gdy właściciel wyłączy tryb pełnoekranowy (opcje.php, KARPIE_FULLSCREEN_OFF=1), wiersze są zwykłymi
 * sekcjami — dzieci .main-content > .row zamiast #nectar_fullscreen_rows. Rytm odstępów i hero na ekran. */
.home #ajax-content-wrap .main-content > .row > .wpb_row:is(.full-width-section, .full-width-content) {
	padding-block: clamp(64px, 10vh, 120px);
}
.home #ajax-content-wrap .main-content > .row > .wpb_row:first-child {
	display: flex;
	align-items: center;
	min-height: min(100svh, 860px);
}

/* =========================================================================
 * 6. Karty produktów (sklep, strona główna, „Podobne produkty”)
 * ====================================================================== */
#ajax-content-wrap ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(14px, 1.6vw, 24px);
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}
#ajax-content-wrap ul.products::before,
#ajax-content-wrap ul.products::after {
	content: none !important;
	display: none !important;
}

#ajax-content-wrap ul.products li.product {
	position: relative;
	display: flex !important;
	flex-direction: column;
	width: auto !important;
	min-width: 0;
	margin: 0 !important;
	padding: 10px 10px var(--k-s-4) !important;
	float: none !important;
	clear: none !important;
	text-align: left !important;
	background: var(--k-ink-800);
	border: 1px solid var(--k-line);
	border-radius: var(--k-r-lg);
	box-shadow: var(--k-edge), var(--k-shadow-1);
	transition: transform var(--k-t-slow) var(--k-ease-out), border-color var(--k-t) var(--k-ease), box-shadow var(--k-t-slow) var(--k-ease-out);
}
@media (hover: hover) {
	#ajax-content-wrap ul.products li.product:hover {
		transform: translateY(-3px);
		border-color: var(--k-line-strong);
		box-shadow: var(--k-edge), var(--k-shadow-2);
	}
	#ajax-content-wrap ul.products li.product:hover .product-wrap img {
		transform: translateY(-4px) scale(1.02);
	}
	#ajax-content-wrap ul.products li.product:hover .k-karta__cta {
		background: var(--k-accent);
		border-color: var(--k-accent);
		color: var(--k-on-accent) !important;
	}
	#ajax-content-wrap ul.products li.product:hover .k-karta__cta svg {
		transform: translateX(3px);
	}
}
#ajax-content-wrap ul.products li.product:active .product-wrap img {
	transform: scale(0.98);
	transition-duration: var(--k-t-press);
}
#ajax-content-wrap ul.products li.product:has(.k-karta__cta:focus-visible) {
	border-color: var(--k-focus);
	box-shadow: 0 0 0 3px rgba(255, 178, 74, 0.35), var(--k-shadow-2);
}

/* Zdjęcie w ciemnym „studiu” */
#ajax-content-wrap ul.products li.product .product-wrap {
	position: relative;
	aspect-ratio: 1 / 1;
	margin: 0 !important;
	overflow: hidden;
	border-radius: var(--k-r-md);
	background: var(--k-well-bg) !important;
}
#ajax-content-wrap ul.products li.product .product-wrap > a {
	display: block;
	width: 100%;
	height: 100%;
}
#ajax-content-wrap ul.products li.product .product-wrap img {
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 6%;
	object-fit: contain;
	box-sizing: border-box;
	box-shadow: none !important;
	transition: transform 320ms cubic-bezier(0.2, 0, 0, 1);
}
/* Nakładka „Zamów / zapytaj” (inc/zamowienie.php) pojawia się tylko po najechaniu — na dotyku jest niedostępna.
 * W kartach zastępuje ją stały przycisk na dole (.k-karta__cta). */
#ajax-content-wrap ul.products li.product .product-add-to-cart {
	display: none !important;
}

/* Plakietka „Na zamówienie” — prostokątna etykieta z kropką stanu */
#ajax-content-wrap .k-plakietka {
	position: absolute;
	top: 20px;
	left: 20px;
	z-index: var(--k-z-plakietka);
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 5px 9px 5px 8px;
	border: 1px solid var(--k-line);
	border-radius: var(--k-r-xs);
	background: rgba(6, 13, 31, 0.86);
	color: var(--k-text);
	font-size: 0.75rem;
	font-weight: 650;
	letter-spacing: 0.01em;
	line-height: 1.2;
	pointer-events: none;
	box-shadow: var(--k-shadow-1);
}
#ajax-content-wrap .k-plakietka::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--k-accent);
	box-shadow: 0 0 0 3px rgba(255, 106, 0, 0.22);
}

/* Tytuł i cena */
#ajax-content-wrap ul.products li.product :is(h2, h3).woocommerce-loop-product__title {
	margin: var(--k-s-4) 6px var(--k-s-1) !important;
	padding: 0 !important;
	color: var(--k-text) !important;
	font-size: var(--k-fs-lg) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	letter-spacing: -0.012em !important;
}
#ajax-content-wrap ul.products li.product .price {
	display: block;
	margin: 0 6px var(--k-s-4) !important;
	color: var(--k-text) !important;
	font-size: var(--k-fs-md) !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
}
#ajax-content-wrap :is(ul.products li.product .price, .summary .price, .k-pasek-cta__cena) :is(.amount, bdi) {
	color: var(--k-text) !important; /* Custom CSS Salient: .woocommerce-Price-amount { color: #ffb24a } */
}
#ajax-content-wrap .woocommerce-Price-currencySymbol,
body.karpie .k-pasek-cta .woocommerce-Price-currencySymbol {
	margin-left: 0.12em;
	font-weight: 500;
	color: var(--k-text-2);
}

/* Przycisk karty — zawsze przy dolnej krawędzi, równy w rzędzie; ::after rozciąga klik na całą kartę */
#ajax-content-wrap ul.products li.product .k-karta__cta {
	position: static;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: var(--k-tap);
	margin: auto 6px 0 !important;
	padding: 0 var(--k-s-4);
	border: 1px solid var(--k-line-strong);
	border-radius: var(--k-r-sm);
	color: var(--k-text) !important;
	font-size: var(--k-fs-sm);
	font-weight: 650;
	text-decoration: none !important;
	transition: background-color var(--k-t) var(--k-ease), border-color var(--k-t) var(--k-ease), color var(--k-t) var(--k-ease);
}
#ajax-content-wrap ul.products li.product .k-karta__cta::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: var(--k-z-cta);
	border-radius: var(--k-r-lg);
}
#ajax-content-wrap ul.products li.product .k-karta__cta svg {
	transition: transform var(--k-t) var(--k-ease);
}
#ajax-content-wrap ul.products li.product .k-karta__cta:active {
	background: var(--k-accent);
	border-color: var(--k-accent);
	color: var(--k-on-accent) !important;
}

/* =========================================================================
 * 7. Sklep (archiwum)
 * ====================================================================== */
#ajax-content-wrap .nectar-shop-header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--k-s-3) var(--k-s-5);
	margin-bottom: var(--k-s-6);
	padding-bottom: var(--k-s-5);
	border-bottom: 1px solid var(--k-line);
}
#ajax-content-wrap .nectar-shop-header .woocommerce-breadcrumb {
	order: 0;
	flex: 1 1 100%;
}
#ajax-content-wrap .nectar-shop-header .page-title,
#ajax-content-wrap h1.page-title {
	flex: 1 1 100%;
	order: 1;
	margin: 0;
	font-size: var(--k-fs-h1) !important;
	font-weight: 750 !important;
}
#ajax-content-wrap .nectar-shop-header :is(.woocommerce-result-count, .woocommerce-ordering, .woocommerce-breadcrumb, .page-title) {
	position: static !important;
	float: none !important;
	transform: none !important;
}
#ajax-content-wrap .nectar-shop-header .woocommerce-result-count {
	order: 2;
	margin: 0 auto 0 0 !important;
	color: var(--k-text-3) !important;
	font-size: var(--k-fs-sm);
}
#ajax-content-wrap .nectar-shop-header .woocommerce-ordering {
	order: 3;
	margin: 0 !important;
}
#ajax-content-wrap .woocommerce-ordering select {
	min-height: var(--k-tap);
	padding: 0 40px 0 14px !important;
	border: 1px solid var(--k-line-input) !important;
	border-radius: var(--k-r-sm) !important;
	background: var(--k-ink-800) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%23b4c0d4' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center !important;
	color: var(--k-text) !important;
	-webkit-appearance: none;
	appearance: none;
}

/* Okruszki — cele dotyku przez padding, wizualnie bez zmian */
#ajax-content-wrap .woocommerce-breadcrumb {
	color: var(--k-text-3) !important;
	font-size: var(--k-fs-xs) !important;
	font-weight: 500;
	letter-spacing: 0.01em;
}
#ajax-content-wrap .woocommerce-breadcrumb a {
	display: inline-block;
	padding-block: 12px;
	color: var(--k-text-2) !important;
	transition: color var(--k-t-fast) var(--k-ease);
}
#ajax-content-wrap .woocommerce-breadcrumb a:hover {
	color: var(--k-accent) !important;
}
#ajax-content-wrap .woocommerce-breadcrumb i {
	margin: 0 6px;
	opacity: 0.6;
}

/* =========================================================================
 * 8. Strona produktu
 * ====================================================================== */
/* Galeria w ciemnym „studiu”; slajdy kwadratowe (różne proporcje zdjęć nie zmieniają wysokości — mniej CLS) */
.single-product #ajax-content-wrap .single-product-main-image .product-slider {
	overflow: hidden;
	border-radius: var(--k-r-xl);
	background: var(--k-well-bg);
	box-shadow: var(--k-edge), var(--k-shadow-2);
}
.single-product #ajax-content-wrap .single-product-main-image .product-slider .slide img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: contain;
}
.single-product #ajax-content-wrap .woocommerce-product-gallery__trigger {
	width: var(--k-tap) !important;
	height: var(--k-tap) !important;
}
.single-product #ajax-content-wrap .product-thumbs {
	margin-top: var(--k-s-3);
}
.single-product #ajax-content-wrap .product-thumbs .thumb .thumb-inner {
	overflow: hidden;
	border-radius: var(--k-r-sm);
	background: var(--k-well);
}
.single-product #ajax-content-wrap .product-thumbs .flickity-slider .thumb img,
.single-product #ajax-content-wrap .product-thumbs .thumb img {
	border: 2px solid transparent !important;
	border-radius: var(--k-r-sm);
	opacity: 0.62;
	transition: opacity var(--k-t) var(--k-ease), border-color var(--k-t) var(--k-ease);
}
.single-product #ajax-content-wrap .product-thumbs .thumb:hover img {
	opacity: 0.9;
}
.single-product #ajax-content-wrap .product-thumbs .thumb:is(.is-nav-selected, .active) img {
	border-color: var(--k-accent) !important;
	opacity: 1;
}
/* Podpis w lightboxie = nazwa pliku („…_GIMP”) */
body.karpie .pswp__caption {
	display: none !important;
}

/* Podsumowanie: nazwa produktu najważniejsza (była 17 px, mniejsza niż cena) */
.single-product #ajax-content-wrap .product_title {
	margin: 0 0 0.35em !important;
	color: var(--k-text);
	font-size: var(--k-fs-h1) !important;
	font-weight: 750 !important;
	line-height: 1.1 !important;
}
.single-product #ajax-content-wrap .summary p.price {
	display: flex;
	align-items: baseline;
	gap: var(--k-s-3);
	margin: 0 0 var(--k-s-4) !important;
	padding: 0 !important;
	color: var(--k-text) !important;
	font-size: var(--k-fs-price) !important;
	font-weight: 700 !important;
	line-height: 1.1 !important;
	letter-spacing: -0.015em;
}
.single-product #ajax-content-wrap .woocommerce-product-details__short-description {
	max-width: 56ch;
	margin-bottom: var(--k-s-4);
	color: var(--k-text-2);
	font-size: var(--k-fs-md);
	line-height: 1.55;
}
.single-product #ajax-content-wrap .woocommerce-product-details__short-description p {
	margin: 0;
}

/* Stan „Produkt dostępny na zamówienie” jako spokojna etykieta stanu */
.single-product #ajax-content-wrap .summary p.stock {
	display: inline-flex;
	align-items: center;
	gap: var(--k-s-2);
	margin: 0 0 var(--k-s-5) !important;
	padding: 7px 12px 7px 10px;
	border: 1px solid var(--k-line-strong);
	border-radius: var(--k-r-sm);
	background: var(--k-ink-800);
	color: var(--k-text) !important;
	font-size: var(--k-fs-sm);
	font-weight: 600;
	line-height: 1.3;
}
.single-product #ajax-content-wrap .summary p.stock::before {
	content: "";
	flex: none;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--k-accent);
	box-shadow: 0 0 0 4px rgba(255, 106, 0, 0.2);
}
.single-product #ajax-content-wrap .summary p.stock.in-stock::before {
	background: var(--k-ok);
	box-shadow: 0 0 0 4px var(--k-ok-soft);
}

.single-product #ajax-content-wrap .product_meta {
	margin-top: var(--k-s-5);
	padding-top: var(--k-s-4);
	border-top: 1px solid var(--k-line);
	color: var(--k-text-3);
	font-size: var(--k-fs-sm);
}
.single-product #ajax-content-wrap .product_meta a {
	color: var(--k-text-2);
	text-decoration: underline;
	text-decoration-color: var(--k-line-strong);
	text-underline-offset: 3px;
}
.single-product #ajax-content-wrap .product_meta a:hover {
	color: var(--k-text);
	text-decoration-color: var(--k-accent);
}

/* Zakładki: jedna („Opis”) — pasek zakładek zbędny; przy kilku: spokojna linia z akcentem */
.single-product #ajax-content-wrap .woocommerce-tabs {
	margin-top: var(--k-s-8);
	border-top: 1px solid var(--k-line);
}
.single-product #ajax-content-wrap .woocommerce-tabs ul.tabs:has(> li:only-child) {
	display: none !important;
}
.single-product #ajax-content-wrap .woocommerce-tabs ul.tabs li {
	background: none !important;
	border: 0 !important;
}
.single-product #ajax-content-wrap .woocommerce-tabs ul.tabs li a {
	min-height: var(--k-tap);
	color: var(--k-text-3) !important;
	font-size: var(--k-fs-lg) !important;
	font-weight: 700 !important;
}
.single-product #ajax-content-wrap .woocommerce-tabs ul.tabs li.active a {
	color: var(--k-text) !important;
	box-shadow: inset 0 -2px 0 var(--k-accent);
}

/* Opis: wygodna długość wiersza (było ok. 150 znaków) */
.single-product #ajax-content-wrap .woocommerce-Tabs-panel--description {
	max-width: 920px;
	padding-top: var(--k-s-6) !important;
}
.single-product #ajax-content-wrap #tab-description :is(p, .wpb_text_column li) {
	max-width: var(--k-measure);
}
.single-product #ajax-content-wrap #tab-description p {
	color: var(--k-text-2);
	font-size: var(--k-fs-lg);
	line-height: 1.7;
}
.single-product #ajax-content-wrap .woocommerce-Tabs-panel--description .nectar-gradient-text :is(h2, h3, h4) {
	margin: var(--k-s-7) 0 var(--k-s-4) !important;
	font-size: var(--k-fs-h3) !important;
	font-weight: 750 !important;
	line-height: var(--k-lh-h3) !important;
}
.single-product #ajax-content-wrap .woocommerce-Tabs-panel--description .wpb_row {
	margin-bottom: 0 !important;
}

/* Listy w opisie — wygląd bazowy (bez JS) */
.single-product #ajax-content-wrap .nectar-fancy-ul ul li {
	margin-bottom: var(--k-s-2);
	color: var(--k-text-2);
	font-size: var(--k-fs-md);
	line-height: 1.55;
}
.single-product #ajax-content-wrap .nectar-fancy-ul ul li i {
	color: var(--k-accent) !important;
}

/* Cechy (karpie.js: „Korzyść – wyjaśnienie”) → kafelki w dwóch kolumnach */
.single-product #ajax-content-wrap .nectar-fancy-ul.k-cechy ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--k-s-3);
	margin: 0;
}
.single-product #ajax-content-wrap .nectar-fancy-ul.k-cechy ul li {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 2px;
	max-width: none;
	margin: 0;
	padding: var(--k-s-4) var(--k-s-4) var(--k-s-4) 48px;
	border: 1px solid var(--k-line);
	border-radius: var(--k-r-md);
	background: var(--k-ink-800);
}
.single-product #ajax-content-wrap .nectar-fancy-ul.k-cechy ul li i {
	display: none !important;
}
.single-product #ajax-content-wrap .nectar-fancy-ul.k-cechy ul li::before {
	content: "";
	position: absolute;
	top: 18px;
	left: 16px;
	width: 20px;
	height: 20px;
	border-radius: 6px;
	background: var(--k-accent-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2 5 8.6 9.5 3.6' fill='none' stroke='%23ff6a00' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center;
}
.single-product #ajax-content-wrap .k-cechy__k {
	color: var(--k-text);
	font-weight: 700;
	line-height: 1.35;
}
.single-product #ajax-content-wrap .k-cechy__v {
	color: var(--k-text-3);
	font-size: var(--k-fs-sm);
	line-height: 1.45;
}
.single-product #ajax-content-wrap .k-cechy__v::first-letter {
	text-transform: uppercase;
}

/* Specyfikacja (karpie.js: „Etykieta: wartość”) → tabela parametrów */
.single-product #ajax-content-wrap .nectar-fancy-ul.k-spec {
	overflow: hidden;
	border: 1px solid var(--k-line);
	border-radius: var(--k-r-md);
	background: var(--k-ink-800);
}
.single-product #ajax-content-wrap .nectar-fancy-ul.k-spec ul {
	margin: 0;
}
.single-product #ajax-content-wrap .nectar-fancy-ul.k-spec ul li {
	display: grid;
	grid-template-columns: minmax(130px, 34%) 1fr;
	gap: var(--k-s-4);
	max-width: none;
	margin: 0;
	padding: 13px var(--k-s-5);
	border-top: 1px solid var(--k-line);
	line-height: 1.5;
}
.single-product #ajax-content-wrap .nectar-fancy-ul.k-spec ul li:first-child {
	border-top: 0;
}
.single-product #ajax-content-wrap .nectar-fancy-ul.k-spec ul li:nth-child(even) {
	background: rgba(255, 255, 255, 0.018);
}
.single-product #ajax-content-wrap .nectar-fancy-ul.k-spec ul li i {
	display: none !important;
}
.single-product #ajax-content-wrap .k-spec__k {
	color: var(--k-text-3);
	font-size: var(--k-fs-sm);
	font-weight: 600;
}
.single-product #ajax-content-wrap .k-spec__v {
	color: var(--k-text);
	font-weight: 600;
}

/* Tabele wpisane w opis (na przyszłość) */
#ajax-content-wrap :is(.woocommerce-Tabs-panel, .entry-content, .wpb_text_column) table {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid var(--k-line);
	font-size: var(--k-fs-sm);
}
#ajax-content-wrap :is(.woocommerce-Tabs-panel, .entry-content, .wpb_text_column) :is(th, td) {
	padding: 12px var(--k-s-4);
	border: 0;
	border-top: 1px solid var(--k-line);
	text-align: left;
	vertical-align: top;
}
#ajax-content-wrap :is(.woocommerce-Tabs-panel, .entry-content, .wpb_text_column) th {
	color: var(--k-text-3);
	font-weight: 600;
}
#ajax-content-wrap :is(.woocommerce-Tabs-panel, .entry-content, .wpb_text_column) td {
	color: var(--k-text);
}

/* Podobne produkty */
.single-product #ajax-content-wrap section.related {
	margin-top: var(--k-s-8);
	padding-top: var(--k-s-7);
	border-top: 1px solid var(--k-line);
}
.single-product #ajax-content-wrap section.related > h2 {
	margin-bottom: var(--k-s-5) !important;
	font-size: var(--k-fs-h3) !important;
	font-weight: 750 !important;
}

/* Pływający przycisk udostępniania Salient — wtopiony w paletę (na telefonie ukryty, część 12) */
body.karpie .nectar-social.fixed > a {
	background-color: var(--k-ink-700) !important;
	border: 1px solid var(--k-line-strong);
	box-shadow: var(--k-shadow-2);
}
body.karpie .nectar-social.fixed > a i {
	color: var(--k-text) !important;
}

/* Przyklejony pasek „Zapytaj o ten produkt” (telefon; HTML: inc/wyglad.php, logika: karpie.js) */
body.karpie .k-pasek-cta[hidden] {
	display: none !important;
}
body.karpie .k-pasek-cta {
	display: none;
}

/* =========================================================================
 * 9. Formularz zamówienia .k-zamowienie (HTML i logika: inc/zamowienie.php + assets/zamowienie.js)
 *    Klasy: __tytul, __komunikat, __wstep, __form, __produkt, __akcje, __wyslij, __info, __ponownie, __hp,
 *    .k-pole(--imie|email|telefon|miejscowosc|wiadomosc|zgoda), .k-pole__etykieta, .k-pole__blad,
 *    .k-wymagane, .k-opcjonalne. Stany: .is-error, .is-success, .is-busy, .k-pole.is-error, [aria-invalid].
 *    Plus pola innych formularzy (Jetpack, logowanie WooCommerce) w tym samym stylu.
 * ====================================================================== */
#ajax-content-wrap :is(.k-zamowienie, .ywctm-inquiry-form-wrapper) {
	position: relative;
	margin: var(--k-s-2) 0 var(--k-s-5);
	padding: clamp(20px, 2.4vw, 28px);
	border: 1px solid var(--k-line-strong);
	border-radius: var(--k-r-xl);
	background: linear-gradient(180deg, var(--k-ink-800), var(--k-ink-850));
	box-shadow: var(--k-edge), var(--k-shadow-2);
	color: var(--k-text-2);
	scroll-margin-top: var(--k-header-h);
}
#ajax-content-wrap :is(.k-zamowienie__tytul, .ywctm-form-title) {
	margin: 0 0 var(--k-s-2) !important;
	padding: 0 !important;
	color: var(--k-text) !important;
	font-size: var(--k-fs-xl) !important;
	font-weight: 750 !important;
	line-height: var(--k-lh-h3) !important;
	letter-spacing: var(--k-track-h2) !important;
}
#ajax-content-wrap .k-zamowienie__tytul:focus {
	outline: none;
}
#ajax-content-wrap .k-zamowienie__wstep {
	margin: 0 0 var(--k-s-5) !important;
	color: var(--k-text-2);
	font-size: var(--k-fs-sm);
	line-height: 1.55;
}
#ajax-content-wrap .k-zamowienie__produkt {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px;
	margin: 0 0 var(--k-s-4) !important;
	padding: 10px 14px;
	border: 1px dashed var(--k-line-strong);
	border-radius: var(--k-r-sm);
	color: var(--k-text-3);
	font-size: var(--k-fs-sm);
}

/* Układ pól: dwie kolumny, gdy karta jest szeroka (zapytanie kontenerowe, nie szerokość ekranu) */
#ajax-content-wrap .k-zamowienie {
	container-type: inline-size;
}
#ajax-content-wrap .k-zamowienie__form {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	column-gap: var(--k-s-4);
	margin: 0;
}
#ajax-content-wrap .k-zamowienie__form[hidden] {
	display: none !important; /* zamowienie.js chowa formularz po wysłaniu */
}
#ajax-content-wrap .k-zamowienie__form > * {
	grid-column: 1 / -1;
}
@container (min-width: 500px) {
	#ajax-content-wrap .k-zamowienie__form {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	#ajax-content-wrap .k-zamowienie__form > :is(.k-pole--imie, .k-pole--email, .k-pole--telefon, .k-pole--miejscowosc) {
		grid-column: auto;
	}
}
#ajax-content-wrap .k-zamowienie .k-pole {
	margin: 0 0 var(--k-s-4) !important;
	padding: 0 !important;
}

/* Etykiety */
#ajax-content-wrap :is(.k-zamowienie, .ywctm-inquiry-form-wrapper, .contact-form, .woocommerce-form, .woocommerce-account .woocommerce) label {
	display: block;
	margin: 0 0 6px !important;
	padding: 0 !important;
	color: var(--k-text-2) !important;
	font-size: var(--k-fs-sm) !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	position: static !important;
	transform: none !important;
	opacity: 1 !important;
}
/* Salient (styl „minimal”) rysuje pod etykietą animowaną linię — tu zbędna */
#ajax-content-wrap :is(.k-zamowienie, .ywctm-inquiry-form-wrapper, .contact-form, .woocommerce-form, .woocommerce-account .woocommerce) label::after {
	display: none !important;
}
#ajax-content-wrap :is(.k-zamowienie .k-wymagane, .ywctm-inquiry-form-wrapper .required, .woocommerce-form .required) {
	color: var(--k-accent) !important;
	text-decoration: none;
	border: 0;
}
#ajax-content-wrap :is(.k-zamowienie .k-opcjonalne, .ywctm-inquiry-form-wrapper .optional, .woocommerce-form .optional, .contact-form .grunion-label-required) {
	color: var(--k-text-3) !important;
	font-weight: 500 !important;
	font-size: var(--k-fs-xs) !important;
	opacity: 1;
}

/* Pola: 16 px (iOS nie przybliża), ≥48 px wysokości */
#ajax-content-wrap :is(.k-zamowienie, .ywctm-inquiry-form-wrapper, .contact-form, .woocommerce-form, .woocommerce-checkout, .woocommerce-account .woocommerce) :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="url"], input[type="password"], input[type="search"], input[type="date"], select, textarea) {
	display: block;
	width: 100% !important;
	min-height: 48px;
	margin: 0 !important;
	padding: 12px 14px !important;
	border: 1px solid var(--k-line-input) !important;
	border-radius: var(--k-r-sm) !important;
	background: var(--k-ink-900) !important;
	box-shadow: inset 0 1px 2px rgba(2, 6, 16, 0.35) !important;
	color: var(--k-text) !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	letter-spacing: 0 !important;
	transition: border-color var(--k-t-fast) var(--k-ease), box-shadow var(--k-t-fast) var(--k-ease), background-color var(--k-t-fast) var(--k-ease) !important;
	-webkit-appearance: none;
	appearance: none;
}
#ajax-content-wrap :is(.k-zamowienie, .ywctm-inquiry-form-wrapper, .contact-form, .woocommerce-form, .woocommerce-checkout) textarea {
	min-height: 112px;
	resize: vertical;
}
#ajax-content-wrap :is(.k-zamowienie, .ywctm-inquiry-form-wrapper, .contact-form, .woocommerce-form, .woocommerce-checkout, .woocommerce-account .woocommerce) :is(input, select, textarea)::placeholder {
	color: var(--k-text-3) !important;
	opacity: 1;
}
#ajax-content-wrap :is(.k-zamowienie, .ywctm-inquiry-form-wrapper, .contact-form, .woocommerce-form, .woocommerce-checkout, .woocommerce-account .woocommerce) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="hidden"]), select, textarea):hover {
	border-color: #7a8db5 !important;
}
#ajax-content-wrap :is(.k-zamowienie, .ywctm-inquiry-form-wrapper, .contact-form, .woocommerce-form, .woocommerce-checkout, .woocommerce-account .woocommerce) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="hidden"]), select, textarea):focus {
	outline: none !important;
	border-color: var(--k-accent) !important;
	background-color: var(--k-ink-950) !important;
	box-shadow: 0 0 0 3px var(--k-accent-ring) !important;
}
#ajax-content-wrap :is(.k-zamowienie, .ywctm-inquiry-form-wrapper, .contact-form, .woocommerce-form, .woocommerce-checkout, .woocommerce-account .woocommerce) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), select, textarea):focus-visible {
	outline: 2px solid var(--k-focus) !important;
	outline-offset: 2px !important;
}

/* Błąd pola */
#ajax-content-wrap :is(.k-zamowienie, .contact-form, .woocommerce-form, .woocommerce-checkout) :is(input, select, textarea)[aria-invalid="true"],
#ajax-content-wrap .k-zamowienie .k-pole.is-error :is(input, select, textarea),
#ajax-content-wrap .woocommerce-checkout .woocommerce-invalid :is(input, select) {
	border-color: var(--k-err) !important;
	box-shadow: 0 0 0 3px var(--k-err-soft) !important;
}
#ajax-content-wrap :is(.k-pole__blad, .contact-form__input-error) {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	margin-top: 6px;
	color: var(--k-err) !important;
	font-size: var(--k-fs-xs);
	font-weight: 600;
	line-height: 1.4;
}
#ajax-content-wrap .k-pole__blad::before {
	content: "";
	flex: none;
	width: 14px;
	height: 14px;
	margin-top: 1px;
	border-radius: 50%;
	background: var(--k-err) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M5 2.4v3M5 7.4v.1' fill='none' stroke='%23240606' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center;
}
#ajax-content-wrap .k-pole__blad:empty {
	display: none;
}

/* Zgoda / checkbox (wiersz z etykietą ≥44 px) */
#ajax-content-wrap .k-zamowienie .k-pole--zgoda {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: start;
	gap: 4px var(--k-s-3);
	min-height: var(--k-tap);
}
#ajax-content-wrap .k-zamowienie .k-pole--zgoda .k-pole__blad {
	grid-column: 1 / -1;
}
#ajax-content-wrap :is(.k-zamowienie, .woocommerce-form, .woocommerce-checkout) input[type="checkbox"] {
	flex: none;
	width: 20px;
	height: 20px;
	margin: 1px 0 0 !important;
	accent-color: var(--k-accent);
	cursor: pointer;
}
#ajax-content-wrap .k-zamowienie .k-pole--zgoda label {
	margin: 0 !important;
	color: var(--k-text-3) !important;
	font-size: var(--k-fs-xs) !important;
	font-weight: 500 !important;
	line-height: 1.5 !important;
	cursor: pointer;
}
#ajax-content-wrap .k-zamowienie .k-pole--zgoda.is-error label {
	color: var(--k-err) !important;
}
#ajax-content-wrap .k-zamowienie .k-pole--zgoda a {
	display: inline;
	color: var(--k-text-2);
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* Przycisk „Wyślij zgłoszenie” — pełna szerokość, akcent */
#ajax-content-wrap .k-zamowienie__akcje {
	margin: var(--k-s-2) 0 0 !important;
}
#ajax-content-wrap :is(.k-zamowienie__wyslij, .ywctm-inquiry-form-wrapper input[type="submit"]) {
	position: relative;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: var(--k-s-3);
	width: 100%;
	min-height: 54px;
	margin: 0 !important;
	padding: 0 var(--k-s-5) !important;
	border: 0 !important;
	border-radius: var(--k-r-md) !important;
	background: var(--k-accent) !important;
	color: var(--k-on-accent) !important;
	font-size: var(--k-fs-md) !important;
	font-weight: 750 !important;
	letter-spacing: -0.005em !important;
	line-height: 1.2 !important;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.28) inset, 0 12px 30px -12px rgba(255, 106, 0, 0.7) !important;
	cursor: pointer;
	transition: background-color var(--k-t) var(--k-ease), box-shadow var(--k-t) var(--k-ease) !important;
}
#ajax-content-wrap :is(.k-zamowienie__wyslij, .ywctm-inquiry-form-wrapper input[type="submit"]):hover {
	background: var(--k-accent-hi) !important;
}
#ajax-content-wrap .k-zamowienie__wyslij:disabled,
#ajax-content-wrap .k-zamowienie.is-busy .k-zamowienie__wyslij {
	cursor: progress;
	opacity: 0.8;
	transform: none !important;
}
/* Wskaźnik wysyłania obok „Wysyłanie…” */
#ajax-content-wrap .k-zamowienie.is-busy .k-zamowienie__wyslij::after {
	content: "";
	width: 18px;
	height: 18px;
	border: 2px solid rgba(6, 13, 31, 0.3);
	border-top-color: var(--k-on-accent);
	border-radius: 50%;
	animation: k-obrot 0.7s linear infinite;
}
@keyframes k-obrot {
	to {
		transform: rotate(360deg);
	}
}
#ajax-content-wrap .k-zamowienie__info {
	margin: var(--k-s-3) 0 0 !important;
	color: var(--k-text-3);
	font-size: var(--k-fs-xs);
	line-height: 1.5;
	opacity: 1;
}

/* Komunikat ogólny (role="status", fokus programowy po wysłaniu) */
#ajax-content-wrap .k-zamowienie__komunikat {
	display: flex;
	align-items: flex-start;
	gap: var(--k-s-3);
	margin: 0 0 var(--k-s-4);
	padding: 14px var(--k-s-4);
	border: 1px solid var(--k-line-strong);
	border-radius: var(--k-r-md);
	background: var(--k-ink-900);
	color: var(--k-text) !important;
	font-size: var(--k-fs-sm);
	font-weight: 500;
	line-height: 1.5;
}
#ajax-content-wrap .k-zamowienie__komunikat:empty {
	display: none;
}
body.karpie #ajax-content-wrap .k-zamowienie__komunikat:focus,
body.karpie #ajax-content-wrap .k-zamowienie__komunikat:focus-visible {
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(255, 178, 74, 0.3);
}
#ajax-content-wrap .k-zamowienie.is-success .k-zamowienie__komunikat {
	border-color: rgba(60, 207, 145, 0.45);
	background: linear-gradient(0deg, var(--k-ok-soft), var(--k-ok-soft)), var(--k-ink-900);
	animation: k-pojaw var(--k-t-slow) var(--k-ease-out) both;
}
#ajax-content-wrap .k-zamowienie.is-error .k-zamowienie__komunikat {
	border-color: rgba(255, 123, 123, 0.5);
	background: linear-gradient(0deg, var(--k-err-soft), var(--k-err-soft)), var(--k-ink-900);
}
#ajax-content-wrap .k-zamowienie:is(.is-success, .is-error) .k-zamowienie__komunikat::before {
	content: "";
	flex: none;
	width: 22px;
	height: 22px;
	margin-top: -1px;
	border-radius: 50%;
	background: var(--k-ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2 5 8.6 9.5 3.6' fill='none' stroke='%23062014' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center;
}
#ajax-content-wrap .k-zamowienie.is-error .k-zamowienie__komunikat::before {
	background: var(--k-err) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M6 3v3.6M6 8.6v.1' fill='none' stroke='%23240606' stroke-width='1.9' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center;
}
#ajax-content-wrap .k-zamowienie__komunikat p {
	margin: 0 !important;
	padding: 0 !important;
	color: inherit !important;
}
#ajax-content-wrap .k-zamowienie.is-success .k-zamowienie__wstep {
	display: none;
}
#ajax-content-wrap .k-zamowienie__ponownie {
	margin: 0 !important;
	font-size: var(--k-fs-sm);
}
#ajax-content-wrap .k-zamowienie__ponownie a {
	display: inline-flex;
	align-items: center;
	min-height: var(--k-tap);
	color: var(--k-text);
	text-decoration: underline;
	text-decoration-color: var(--k-accent);
	text-underline-offset: 3px;
}
@keyframes k-pojaw {
	from {
		opacity: 0;
		transform: translateY(6px);
	}
}

/* Powiadomienia WooCommerce */
#ajax-content-wrap :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice) {
	margin: 0 0 var(--k-s-5) !important;
	padding: 14px var(--k-s-4) 14px var(--k-s-5) !important;
	border: 1px solid var(--k-line-strong) !important;
	border-left: 3px solid var(--k-accent) !important;
	border-radius: var(--k-r-md) !important;
	background: var(--k-ink-800) !important;
	color: var(--k-text) !important;
	font-size: var(--k-fs-sm);
	list-style: none;
}
#ajax-content-wrap .woocommerce-error {
	border-left-color: var(--k-err) !important;
}
#ajax-content-wrap .woocommerce-message {
	border-left-color: var(--k-ok) !important;
}
#ajax-content-wrap :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before {
	display: none !important;
}

/* =========================================================================
 * 10. Stopka (HTML: inc/wyglad.php → karpie_wyglad_stopka)
 * ====================================================================== */
body.karpie #footer-outer {
	padding: 0 !important;
	background: var(--k-ink-950) !important;
	color: var(--k-text-3);
}
/* W trybie pełnoekranowym Salient owija stopkę w swój .container — zdejmujemy zbędne marginesy */
body.karpie #nectar_fullscreen_rows #footer-outer :is(.full-page-inner, .container, .span_12) {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.k-stopka {
	position: relative;
	border-top: 1px solid var(--k-line);
	background: radial-gradient(900px 300px at 15% 0%, rgba(64, 104, 182, 0.12), transparent 70%), var(--k-ink-950);
	color: var(--k-text-3);
	font-size: var(--k-fs-sm);
	line-height: 1.6;
	text-align: left;
}
.k-stopka__wnetrze,
.k-stopka__dol {
	width: 100%;
	max-width: var(--k-container);
	margin: 0 auto;
	padding-left: var(--k-gutter);
	padding-right: var(--k-gutter);
	box-sizing: border-box;
}
.k-stopka__wnetrze {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr));
	gap: var(--k-s-6) var(--k-s-7);
	padding-top: var(--k-s-8);
	padding-bottom: var(--k-s-7);
}
#footer-outer .k-stopka__logo {
	display: inline-flex;
	align-items: center;
	min-height: var(--k-tap);
	margin-bottom: var(--k-s-2);
	color: var(--k-text) !important;
	font-size: var(--k-fs-lg);
	font-weight: 800;
	letter-spacing: -0.02em;
	text-decoration: none;
}
#footer-outer .k-stopka__opis {
	max-width: 40ch;
	margin: 0 0 var(--k-s-5);
	padding: 0;
	color: var(--k-text-3);
	font-size: var(--k-fs-sm);
	line-height: 1.6;
}
#footer-outer .k-stopka__naglowek {
	margin: 0 0 var(--k-s-3);
	padding: 0;
	color: var(--k-text);
	font-size: var(--k-fs-xs);
	font-weight: 700;
	letter-spacing: var(--k-track-label);
	text-transform: uppercase;
}
#footer-outer .k-stopka ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
#footer-outer .k-stopka__kolumna li {
	margin: 0;
	padding: 0;
	list-style: none;
}
#footer-outer .k-stopka__kolumna li a,
#footer-outer .k-stopka__kontakt a {
	display: inline-flex;
	align-items: center;
	min-height: 40px; /* z odstępem między pozycjami cel dotyku ≥44 px */
}
#footer-outer .k-stopka a {
	color: var(--k-text-2);
	text-decoration: none;
	transition: color var(--k-t-fast) var(--k-ease);
}
#footer-outer .k-stopka a:hover {
	color: var(--k-text);
	text-decoration: underline;
	text-decoration-color: var(--k-accent);
	text-underline-offset: 3px;
}
#footer-outer .k-stopka__kontakt {
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-style: normal;
}
#footer-outer .k-stopka__kontakt a {
	color: var(--k-text);
	font-weight: 600;
}
#footer-outer .k-stopka__serwisy {
	display: flex;
	gap: var(--k-s-2);
}
#footer-outer .k-stopka__serwisy a {
	display: inline-grid;
	place-items: center;
	width: var(--k-tap);
	height: var(--k-tap);
	border: 1px solid var(--k-line-strong);
	border-radius: var(--k-r-sm);
	color: var(--k-text-2);
	transition: color var(--k-t-fast) var(--k-ease), border-color var(--k-t-fast) var(--k-ease), background-color var(--k-t-fast) var(--k-ease);
}
#footer-outer .k-stopka__serwisy a:hover {
	border-color: var(--k-accent);
	background: var(--k-accent-soft);
	color: var(--k-text);
	text-decoration: none;
}
.k-stopka__dol {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: var(--k-s-2) var(--k-s-5);
	padding-top: var(--k-s-5);
	padding-bottom: calc(var(--k-s-6) + env(safe-area-inset-bottom, 0px));
	border-top: 1px solid var(--k-line);
	font-size: var(--k-fs-xs);
}
#footer-outer .k-stopka__dol p {
	margin: 0;
	padding: 0;
	color: var(--k-text-3);
}
/* Zaślepki [[DO UZUPEŁNIENIA]] i brakujące strony — widoczne tylko dla administratora */
.k-brak {
	outline: 1px dashed var(--k-accent);
	outline-offset: 2px;
	color: var(--k-accent-hi) !important;
	text-decoration: line-through dotted !important;
}

/* =========================================================================
 * 11. Drobne strony: 404, logowanie, FAQ, przycisk „do góry”
 * ====================================================================== */
#ajax-content-wrap #error-404 {
	padding: var(--k-s-9) 0 var(--k-s-8);
	text-align: center;
}
#ajax-content-wrap #error-404 h1 {
	margin: 0 0 var(--k-s-2) !important;
	color: transparent !important;
	font-size: clamp(6rem, 18vw, 12rem) !important;
	font-weight: 800 !important;
	line-height: 0.9 !important;
	letter-spacing: -0.05em !important;
	-webkit-text-stroke: 1.5px rgba(238, 242, 248, 0.38);
}
#ajax-content-wrap #error-404 h2 {
	margin: 0 0 var(--k-s-6) !important;
	color: var(--k-text) !important;
	font-size: var(--k-fs-h3) !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
	letter-spacing: var(--k-track-h3) !important;
}

/* Logowanie (Moje konto) */
.woocommerce-account #ajax-content-wrap .woocommerce > h2 {
	font-size: var(--k-fs-h2);
	font-weight: 750;
}
.woocommerce-account #ajax-content-wrap .woocommerce-form-login {
	max-width: 440px;
	padding: clamp(20px, 3vw, 32px) !important;
	border: 1px solid var(--k-line-strong) !important;
	border-radius: var(--k-r-xl) !important;
	background: var(--k-ink-800);
	box-shadow: var(--k-edge), var(--k-shadow-2);
}
.woocommerce-account #ajax-content-wrap .woocommerce-form-login .woocommerce-form-login__rememberme {
	display: flex !important;
	align-items: center;
	gap: var(--k-s-2);
	min-height: var(--k-tap);
	margin: 0 0 var(--k-s-3) !important;
}
.woocommerce-account #ajax-content-wrap .lost_password a {
	display: inline-flex;
	align-items: center;
	min-height: var(--k-tap);
	color: var(--k-text-2);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* FAQ (natywne <details class="karpie-faq">, treść i styl bazowy: inc/seo.php) — w palecie sklepu */
#ajax-content-wrap .karpie-faq {
	max-width: 820px;
	border-bottom: 1px solid var(--k-line) !important;
}
#ajax-content-wrap .karpie-faq > summary {
	display: flex;
	align-items: center;
	min-height: var(--k-tap);
	color: var(--k-text);
	font-size: var(--k-fs-lg) !important;
	font-weight: 650 !important;
	letter-spacing: -0.01em;
	transition: color var(--k-t-fast) var(--k-ease);
}
#ajax-content-wrap .karpie-faq > summary:hover {
	color: var(--k-accent-hi);
}
#ajax-content-wrap .karpie-faq > summary::after {
	color: var(--k-accent);
}
#ajax-content-wrap .karpie-faq[open] > :not(summary) {
	color: var(--k-text-2);
	animation: k-faq 200ms cubic-bezier(0.2, 0, 0, 1);
}
@keyframes k-faq {
	from {
		opacity: 0;
		transform: translateY(-4px);
	}
}

/* Do góry */
body.karpie #to-top {
	width: var(--k-tap) !important;
	height: var(--k-tap) !important;
	border: 1px solid var(--k-line-strong);
	border-radius: var(--k-r-sm) !important;
	background-color: rgba(13, 26, 51, 0.9) !important;
	box-shadow: var(--k-shadow-2);
	transition: background-color var(--k-t) var(--k-ease), border-color var(--k-t) var(--k-ease), bottom var(--k-t) var(--k-ease) !important;
}
body.karpie #to-top i {
	color: var(--k-text) !important;
	line-height: 42px !important;
}
body.karpie #to-top:hover {
	border-color: var(--k-accent);
	background-color: var(--k-accent) !important;
}
body.karpie #to-top:hover i {
	color: var(--k-on-accent) !important;
}

/* =========================================================================
 * 12. Responsywność i dotyk
 * ====================================================================== */
@media (max-width: 1199px) {
	#ajax-content-wrap ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.k-stopka__wnetrze {
		grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr));
		gap: var(--k-s-6);
	}
}
@media (max-width: 999px) {
	:root {
		--k-header-h: 72px;
	}
	#ajax-content-wrap ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.k-stopka__wnetrze {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding-top: var(--k-s-7);
	}
	.k-stopka__marka {
		grid-column: 1 / -1;
	}
	.single-product #ajax-content-wrap .summary {
		margin-top: var(--k-s-5);
	}
	/* Pływający przycisk udostępniania zasłaniał przycisk formularza i treść */
	body.karpie .nectar-social.fixed {
		display: none !important;
	}
}
@media (max-width: 690px) {
	.single-product #ajax-content-wrap .nectar-fancy-ul.k-cechy ul {
		grid-template-columns: minmax(0, 1fr);
	}
	.single-product #ajax-content-wrap .nectar-fancy-ul.k-spec ul li {
		grid-template-columns: minmax(0, 1fr);
		gap: 2px;
		padding: 12px var(--k-s-4);
	}
	#ajax-content-wrap .nectar-shop-header .woocommerce-ordering {
		flex: 1 1 100%;
	}
	#ajax-content-wrap .woocommerce-ordering select {
		width: 100%;
	}
	#ajax-content-wrap .wp-block-jetpack-contact-form-container {
		padding: var(--k-s-4);
		border-radius: var(--k-r-lg);
	}
	/* Hero: przyciski kategorii jednakowej szerokości */
	#ajax-content-wrap [data-fullscreen-anchor-id="glowna"] .nectar-button,
	.home #ajax-content-wrap .main-content > .row > .wpb_row:first-child .nectar-button {
		display: flex !important;
		width: 100%;
		max-width: 320px;
		margin-inline: auto;
	}
	/* Długie wyśrodkowane akapity (inline text-align: center) czytają się źle na wąskim ekranie */
	.home #ajax-content-wrap .wpb_text_column p[style*="text-align: center"] {
		text-align: left !important;
	}

	/* Przyklejony pasek „Zapytaj o ten produkt” */
	body.karpie .k-pasek-cta {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: var(--k-z-pasek);
		display: flex;
		align-items: center;
		gap: var(--k-s-3);
		padding: 10px var(--k-s-4) calc(10px + env(safe-area-inset-bottom, 0px));
		border-top: 1px solid rgba(255, 255, 255, 0.08);
		background: rgba(6, 13, 31, 0.96);
		box-shadow: 0 -12px 32px -12px rgba(2, 6, 16, 0.8);
		transform: translateY(0);
		transition: transform var(--k-t-slow) var(--k-ease-out), opacity var(--k-t) var(--k-ease);
	}
	@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
		body.karpie .k-pasek-cta {
			background: rgba(6, 13, 31, 0.74);
			-webkit-backdrop-filter: blur(20px) saturate(160%);
			backdrop-filter: blur(20px) saturate(160%);
		}
	}
	body.karpie .k-pasek-cta.is-schowany {
		transform: translateY(110%);
		opacity: 0;
		pointer-events: none;
	}
	body.karpie .k-pasek-cta__info {
		display: flex;
		flex: 1 1 auto;
		flex-direction: column;
		min-width: 0;
	}
	body.karpie .k-pasek-cta__nazwa {
		overflow: hidden;
		color: var(--k-text-3);
		font-size: var(--k-fs-xs);
		font-weight: 600;
		line-height: 1.3;
		white-space: nowrap;
		text-overflow: ellipsis;
	}
	body.karpie .k-pasek-cta__cena {
		color: var(--k-text);
		font-size: var(--k-fs-lg);
		font-weight: 750;
		line-height: 1.25;
	}
	body.karpie .k-pasek-cta__cena :is(.amount, bdi) {
		color: var(--k-text) !important;
	}
	body.karpie .k-pasek-cta__przycisk {
		display: inline-flex;
		flex: none;
		align-items: center;
		justify-content: center;
		min-height: 48px;
		padding: 0 18px;
		border-radius: var(--k-r-sm);
		background: var(--k-accent);
		color: var(--k-on-accent) !important;
		font-size: var(--k-fs-sm);
		font-weight: 750;
		text-decoration: none !important;
		box-shadow: 0 1px 0 rgba(255, 255, 255, 0.25) inset;
		transition: background-color var(--k-t) var(--k-ease);
	}
	body.karpie .k-pasek-cta__przycisk:hover {
		background: var(--k-accent-hi);
	}
	/* Miejsce na pasek: stopka i „do góry” nie chowają się pod nim */
	body.karpie.k-ma-pasek #footer-outer {
		padding-bottom: 76px !important;
	}
	body.karpie.k-ma-pasek #to-top {
		bottom: calc(112px + env(safe-area-inset-bottom, 0px)) !important;
	}
}
/* Telefon: karta pozioma (zdjęcie po lewej) — 9 produktów nie zamienia się w kilometr przewijania */
@media (max-width: 559px) {
	#ajax-content-wrap ul.products {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--k-s-3);
	}
	#ajax-content-wrap ul.products li.product {
		display: grid !important;
		grid-template-columns: 112px minmax(0, 1fr);
		grid-template-rows: auto auto auto 1fr;
		column-gap: 14px;
		align-items: start;
		padding: 10px !important;
		border-radius: var(--k-r-md);
	}
	#ajax-content-wrap ul.products li.product .product-wrap {
		grid-column: 1;
		grid-row: 1 / 5;
		border-radius: var(--k-r-sm);
	}
	#ajax-content-wrap ul.products li.product .k-plakietka {
		position: static;
		grid-column: 2;
		grid-row: 1;
		justify-self: start;
		margin: 2px 0 6px;
		padding: 3px 8px 3px 7px;
		background: var(--k-ink-700);
		box-shadow: none;
		font-size: 0.6875rem;
	}
	#ajax-content-wrap ul.products li.product :is(h2, h3).woocommerce-loop-product__title {
		grid-column: 2;
		grid-row: 2;
		margin: 0 0 2px !important;
		font-size: var(--k-fs-md) !important;
	}
	#ajax-content-wrap ul.products li.product .price {
		grid-column: 2;
		grid-row: 3;
		margin: 0 0 var(--k-s-2) !important;
		font-size: var(--k-fs-sm) !important;
	}
	#ajax-content-wrap ul.products li.product .k-karta__cta {
		grid-column: 2;
		grid-row: 4;
		align-self: end;
		margin: 0 !important;
		font-size: var(--k-fs-xs);
	}
	.k-stopka__wnetrze {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--k-s-5);
		padding-top: var(--k-s-7);
	}
	.k-stopka__dol {
		flex-direction: column;
	}
}

/* Pola wszystkich formularzy: min. 16 px — iOS nie przybliża strony po dotknięciu pola */
body.karpie :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]), select, textarea) {
	font-size: max(16px, 1rem) !important;
}
body.karpie :is(.woocommerce form .input-text, select.orderby) {
	min-height: var(--k-tap);
}

/* =========================================================================
 * 13. Preferencje dostępności
 * ====================================================================== */
/* Mniej ruchu: bez przesunięć, skalowania, Ken Burns, parallaxu i maski przejść; zmiany koloru zostają. */
@media (prefers-reduced-motion: reduce) {
	@view-transition {
		navigation: none;
	}
	body.karpie *,
	body.karpie *::before,
	body.karpie *::after {
		animation-duration: 1ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 1ms !important;
		scroll-behavior: auto !important;
	}
	/* Kolumny Salient startują z opacity:0 — pokaż od razu, bez przesunięcia */
	body.karpie :is(.col.has-animation, .wpb_column.has-animation, img.img-with-animation, .nectar-fancy-box.has-animation) {
		opacity: 1 !important;
		transform: none !important;
	}
	body.karpie :is(.row-bg, .row-bg-wrap .inner-wrap) {
		transform: none !important; /* Ken Burns / parallax */
	}
	body.karpie .nectar-highlighted-text .nectar-scribble path {
		stroke-dashoffset: 0 !important;
		opacity: 1 !important;
	}
	body.karpie #ajax-loading-screen {
		display: none !important;
	}
	#ajax-content-wrap ul.products li.product:hover,
	#ajax-content-wrap ul.products li.product :is(.product-wrap img, .k-karta__cta svg),
	body.karpie :is(.nectar-button, .button, button, input[type="submit"], .k-pasek-cta__przycisk):is(:hover, :active) {
		transform: none !important;
	}
	body.karpie .k-pasek-cta.is-schowany {
		transform: none;
	}
	#ajax-content-wrap .k-zamowienie.is-busy .k-zamowienie__wyslij::after {
		animation: none !important;
		border-color: var(--k-on-accent);
		opacity: 0.6;
	}
}

/* Mniej przezroczystości: materiały stają się pełne */
@media (prefers-reduced-transparency: reduce) {
	#header-outer:not(.transparent) {
		background-color: var(--k-ink-900) !important;
		-webkit-backdrop-filter: none !important;
		backdrop-filter: none !important;
	}
	#ajax-content-wrap :is(.nectar-button.see-through-extra-color-gradient-1, .nectar-button.see-through-2, .nectar-button.see-through),
	#ajax-content-wrap .wp-block-jetpack-contact-form-container,
	body.karpie :is(#slide-out-widget-area-bg.fullscreen, .k-pasek-cta) {
		-webkit-backdrop-filter: none !important;
		backdrop-filter: none !important;
	}
	#ajax-content-wrap :is(.nectar-button.see-through-extra-color-gradient-1, .nectar-button.see-through-2, .nectar-button.see-through) {
		background: var(--k-ink-800) !important;
	}
	#ajax-content-wrap .wp-block-jetpack-contact-form-container {
		background: var(--k-ink-850);
	}
	body.karpie .k-pasek-cta {
		background: var(--k-ink-900) !important;
	}
	body.karpie #slide-out-widget-area-bg.fullscreen {
		background-color: var(--k-ink-950) !important;
	}
}

/* Większy kontrast: mocniejsze linie, tekst drugorzędny jaśniejszy, nagłówek pełny */
@media (prefers-contrast: more) {
	:root {
		--k-text-2: #dbe3ef;
		--k-text-3: #c0cbdc;
		--k-line: rgba(200, 215, 240, 0.35);
		--k-line-strong: rgba(220, 230, 248, 0.6);
		--k-line-input: #9fb1d3;
	}
	#header-outer:not(.transparent) {
		background-color: #000 !important;
		border-bottom: 1px solid #fff;
		-webkit-backdrop-filter: none !important;
		backdrop-filter: none !important;
	}
}

/* Tryb wysokiego kontrastu Windows: obramowania zamiast cieni */
@media (forced-colors: active) {
	#ajax-content-wrap ul.products li.product,
	#ajax-content-wrap .k-zamowienie,
	#ajax-content-wrap .k-plakietka,
	body.karpie .k-pasek-cta {
		border: 1px solid CanvasText;
	}
	#ajax-content-wrap .k-karta__cta {
		border: 1px solid ButtonText;
	}
}

/* =========================================================================
 * Poprawki po przeglądzie właściciela (17.10)
 * ====================================================================== */

/* Nagłówek strony bez zdjęcia (np. FAQ): zamiast domyślnej szarości Salienta (#6b6b6b) — granat marki.
   Kolor ustawiony w edytorze strony (styl inline) nadal wygrywa. */
#page-header-bg {
	background-color: var(--k-tlo-2, #0d1a33);
	background-image: radial-gradient(120% 90% at 50% 0%, rgba(255, 106, 0, 0.10), transparent 60%),
		linear-gradient(180deg, #0d1a33 0%, var(--k-tlo, #060d1f) 100%);
}

/* Ikony social w nagłówku: Salient trzyma pod ikoną jej kopię (::after) do animacji hover;
   po powiększeniu pola kliknięcia kopia wystawała. Przycinamy ją na samej ikonie. */
#header-outer #social-in-menu a i {
	overflow: hidden;
	height: 18px;
	line-height: 18px;
	vertical-align: middle;
}

/* Logo: czarny korpus kamery w logo zlewał się z ciemnym tłem — jasny obrys i lekka poświata. */
#header-outer #logo img {
	filter: drop-shadow(0 0 0.6px rgba(255, 255, 255, 0.95)) drop-shadow(0 0 0.6px rgba(255, 255, 255, 0.95)) drop-shadow(0 0 10px rgba(255, 255, 255, 0.22));
}

/* Miniatury filmów YouTube (fasada z inc/wydajnosc.php) w pionowych ramkach Shorts:
   obrazek zajmował tylko górną ćwiartkę, bo ogólna reguła `img { height: auto }` motywu nadpisywała 100%.
   Shorts: kadr kamery jest pośrodku miniatury → cover wycina dokładnie pionowy obraz. */
#ajax-content-wrap .karpie-yt img {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	max-width: none;
	object-fit: cover;
	object-position: center;
}
/* Zwykły (poziomy) film w pionowej ramce — jak w odtwarzaczu YouTube: cały kadr, pasy u góry i dołu. */
#ajax-content-wrap .karpie-yt[data-karpie-yt="rLnqq3BupbU"] img {
	object-fit: contain;
}

/* Sekcje pełnoekranowe strony głównej (desktop): treść wyśrodkowana w pionie wchodziła pod pasek menu
   na niższych ekranach (np. „Jak to działa” pod logo). Odstęp = wysokość nagłówka, a pionowe filmy
   (Shorts 9:16) dopasowują szerokość tak, żeby cała ramka mieściła się na ekranie. */
@media (min-width: 1000px) {
	#nectar_fullscreen_rows .full-page-inner-wrap {
		padding-top: 92px;
		box-sizing: border-box;
	}
	#nectar_fullscreen_rows .vc_video-aspect-ratio-916 {
		max-width: calc((100vh - 92px - 190px) * 9 / 16);
		margin-left: auto;
		margin-right: auto;
	}
}
/* Sekcja „oferta” (3 kafle na całą wysokość) — bez odstępu pod menu, jak w oryginale (decyzja właściciela). */
@media (min-width: 1000px) {
	#nectar_fullscreen_rows > .wpb_row[data-anchor="oferta"] .full-page-inner-wrap {
		padding-top: 0;
	}
}

/* Telefon, strona produktu: przycisk „do góry” nad przyklejonym paskiem „Zapytaj o ten produkt” (zasłaniał go). */
@media (max-width: 999px) {
	body.single-product #to-top {
		bottom: 112px !important;
	}
}

/* Telefon, strona główna (sekcje pełnoekranowe): sekcja ma wysokość ekranu, więc karty produktów jedna pod
   drugą były ucinane. Kompaktowa siatka 2×2 — cała sekcja mieści się na ekranie (zgłoszenie właściciela 17.10). */
@media (max-width: 559px) {
	#nectar_fullscreen_rows ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px !important;
	}
	#nectar_fullscreen_rows ul.products li.product {
		display: flex !important;
		flex-direction: column;
		padding: 8px !important;
	}
	#nectar_fullscreen_rows ul.products li.product .product-wrap {
		width: 100%;
		aspect-ratio: 16 / 11;
		overflow: hidden;
		border-radius: 10px;
	}
	#nectar_fullscreen_rows ul.products li.product .product-wrap img {
		width: 100% !important;
		height: 100% !important;
		object-fit: contain;
	}
	#nectar_fullscreen_rows ul.products li.product .k-plakietka {
		display: none !important;
	}
	#nectar_fullscreen_rows ul.products li.product :is(h2, h3).woocommerce-loop-product__title {
		margin: 8px 0 2px !important;
		font-size: 0.82rem !important;
		line-height: 1.2;
		letter-spacing: -0.01em;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	#nectar_fullscreen_rows ul.products li.product .price {
		margin: 0 0 8px !important;
		font-size: 0.85rem !important;
	}
	#nectar_fullscreen_rows ul.products li.product .k-karta__cta {
		margin-top: auto !important;
		min-height: 36px;
		padding: 6px 8px !important;
		justify-content: center;
		gap: 4px;
		white-space: nowrap;
		font-size: 0.78rem;
	}
}

/* Telefon, strona główna: nagłówki sekcji wchodziły pod pasek z logo — odstęp na wysokość nagłówka mobilnego.
   Bez odstępu: pierwsza sekcja (hero) i „oferta” (kafle na całą wysokość). */
@media (max-width: 999px) {
	#nectar_fullscreen_rows > .wpb_row:not([data-anchor="glowna"]):not([data-anchor="oferta"]) .full-page-inner-wrap {
		padding-top: 64px;
		box-sizing: border-box;
	}
}
