/*
Theme Name:   Legalny Diler
Theme URI:    https://legalnydiler.pl
Description:  Motyw potomny dla sklepu legalnydiler.pl. Styl dark — czerń i neonowy magenta, mocne akcenty, czysta typografia.
Author:       Mea99
Author URI:   https://github.com/Mea99
Template:     storefront
Version:      0.48.3
Text Domain:  legalnydiler
*/

/* ============================================================
   ZMIENNE
   ============================================================ */
:root {
	/* === MOTYW CIEMNY: czerń + neonowy magenta === */

	/* Ciemne powierzchnie */
	--ld-bg:        #0b0710;   /* tło strony — prawie czarne, lekko fioletowe */
	--ld-surface:   #17121f;   /* karty, menu, inputy */
	--ld-surface-2: #211a2c;   /* drugorzędna powierzchnia / delikatny tint */
	--ld-ink:       #050308;   /* najgłębsza czerń — stopka, paski, hero */

	/* Neonowy róż / magenta (jak na banerze) */
	--ld-pink:        #ff1fa8;
	--ld-pink-dark:   #cc0f82;
	--ld-pink-light:  #ff7ace;
	--ld-pink-glow:   rgba(255, 31, 168, 0.45);

	/* Tekst */
	--ld-heading:     #ffffff;
	--ld-text:        #f2ecf7;
	--ld-text-muted:  #a99fb5;
	--ld-border:      #2e2738;

	/* === Aliasy zgodne wstecz: stare nazwy → nowa paleta ===
	   Uwaga: --ld-green-darkest pełni rolę TEKSTOWĄ (jasne nagłówki na ciemnym).
	   Tam gdzie służyło jako TŁO, jest nadpisane lokalnie na --ld-ink. */
	--ld-green-darkest:  var(--ld-heading);
	--ld-green-dark:     var(--ld-pink-dark);
	--ld-green-medium:   var(--ld-pink);
	--ld-green:          var(--ld-pink);
	--ld-green-light:    var(--ld-pink-light);
	--ld-green-lightest: var(--ld-surface-2);
	--ld-gold:           var(--ld-pink);
	--ld-cream:          var(--ld-bg);
	--ld-cream-dark:     var(--ld-surface);

	--ld-radius: 10px;
	--ld-radius-lg: 16px;
	--ld-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.45);
	--ld-shadow-md: 0 8px 28px rgba(0, 0, 0, 0.55);
	--ld-shadow-lg: 0 18px 50px rgba(0, 0, 0, 0.65);
	--ld-font-heading: 'Outfit', 'Inter', system-ui, sans-serif;
	--ld-font-body: 'Inter', system-ui, -apple-system, sans-serif;
}

/* ============================================================
   GLOBAL
   ============================================================ */
body, button, input, select, textarea {
	font-family: var(--ld-font-body);
	color: var(--ld-text);
	background-color: var(--ld-cream);
}
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

h1, h2, h3, h4, h5, h6,
.entry-title, .site-title, .page-title, .product_title {
	font-family: var(--ld-font-heading);
	color: var(--ld-green-darkest);
	font-weight: 600;
	letter-spacing: -0.015em;
}

h1 { font-size: 2.75rem; line-height: 1.1; }
h2 { font-size: 2.1rem;  line-height: 1.15; }
h3 { font-size: 1.4rem;  line-height: 1.2; }

a { color: var(--ld-green-medium); transition: color 0.18s ease; }
a:hover, a:focus { color: var(--ld-green-darkest); }

/* Główny kontener: ~1500px centrowany — header, menu, produkty zawsze na środku */
.col-full {
	max-width: 1500px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 2rem !important;
	padding-right: 2rem !important;
}
@media (max-width: 768px) {
	.col-full { padding-left: 1rem !important; padding-right: 1rem !important; }
}

/* Ukryj sidebar (Storefront ma domyślnie 28% szerokości na widgety których nie używamy) */
#secondary,
.widget-area,
.sidebar,
.sidebar-primary { display: none !important; }

/* Wymuszamy żeby #primary / .content-area zajmowało 100% szerokości */
#primary,
.content-area,
.site-content > .col-full > .site-main {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Storefront wraps treść w .col-full > div, też ma float */
.site-content,
.site-main {
	width: 100% !important;
	float: none !important;
	clear: both;
}

/* ============================================================
   NAGŁÓWEK
   ============================================================ */
.site-header {
	background-color: var(--ld-cream);
	border-bottom: 1px solid var(--ld-border);
	padding: 1.5em 0;
}

/* Ukryj zdublowany top menu (secondary) w nagłówku — będzie tylko w stopce */
.site-header .secondary-navigation { display: none !important; }

.site-branding .site-title a,
.site-branding .site-title {
	font-family: var(--ld-font-heading);
	font-weight: 700;
	font-size: 1.85rem;
	letter-spacing: -0.02em;
	color: var(--ld-green-darkest);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
}
.site-branding .site-title a::before {
	content: "";
	display: inline-block;
	width: 40px; height: 40px;
	background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23b14dff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><path d='M50 86 Q56 46 50 6 Q44 46 50 86 M50 86 Q65 54 70 18 Q55 50 50 86 M50 86 Q35 54 30 18 Q45 50 50 86 M50 86 Q72 65 86 38 Q64 59 50 86 M50 86 Q28 65 14 38 Q36 59 50 86 M50 86 Q73 78 92 62 Q69 70 50 86 M50 86 Q27 78 8 62 Q31 70 50 86 M50 86 L50 96'/></svg>") no-repeat center / contain;
	filter: drop-shadow(0 0 5px rgba(177, 77, 255, 0.9)) drop-shadow(0 0 11px rgba(177, 77, 255, 0.5));
}

.main-navigation ul li a {
	color: var(--ld-text);
	font-weight: 500;
	font-size: 0.95rem;
	padding: 0.6em 1.1em;
}
.main-navigation ul li a:hover,
.main-navigation ul li.current-menu-item > a {
	color: var(--ld-green-medium);
}
.main-navigation ul.menu ul.sub-menu {
	background: var(--ld-surface);
	border: 1px solid var(--ld-border);
	border-radius: var(--ld-radius);
	box-shadow: var(--ld-shadow-md);
	padding: 0.4em 0;
}

/* ============================================================
   MEGA-MENU dla pozycji "Sklep" (klasa .menu-item-mega)
   ============================================================ */
.main-navigation { position: relative; }

.main-navigation .menu-item-mega { position: static !important; }

.main-navigation .menu-item-mega > .sub-menu {
	position: absolute !important;
	top: 100% !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 100% !important;
	padding: 2.2em 2.5em 2em !important;
	background: var(--ld-surface) !important;
	border: 1px solid var(--ld-border) !important;
	border-radius: 0 0 var(--ld-radius-lg) var(--ld-radius-lg) !important;
	box-shadow: 0 18px 48px rgba(15, 46, 28, 0.14) !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 1.8em 2.4em !important;
	align-items: start !important;
	z-index: 1000 !important;
	transform: none !important;
	margin: 0 !important;
	/* Ukryte domyślnie — pokazuje się na hover/focus rodzica */
	display: none !important;
}

/* Pokaż mega-menu gdy hover lub focus na .menu-item-mega */
.main-navigation .menu-item-mega:hover > .sub-menu,
.main-navigation .menu-item-mega:focus-within > .sub-menu,
.main-navigation .menu-item-mega.focus > .sub-menu {
	display: grid !important;
}

/* Każda kolumna = jedna główna kategoria */
.main-navigation .menu-item-mega > .sub-menu > li {
	position: static !important;
	width: auto !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	display: block !important;
}

.main-navigation .menu-item-mega > .sub-menu > li > a {
	font-family: var(--ld-font-heading) !important;
	font-weight: 700 !important;
	color: var(--ld-green-darkest) !important;
	font-size: 0.95rem !important;
	padding: 0 0 0.55em !important;
	margin: 0 0 0.7em !important;
	border-bottom: 2px solid var(--ld-green-lightest) !important;
	display: block !important;
	letter-spacing: 0.01em;
	background: transparent !important;
	overflow-wrap: break-word;
	word-break: break-word;
	hyphens: auto;
	line-height: 1.25;
}
.main-navigation .menu-item-mega > .sub-menu > li > a:hover {
	color: var(--ld-green-medium) !important;
	border-bottom-color: var(--ld-green-light) !important;
}

/* Podkategorie - zawsze widoczne wewnątrz mega panelu */
.main-navigation .menu-item-mega > .sub-menu .sub-menu,
.main-navigation .menu-item-mega > .sub-menu > li > .sub-menu {
	position: static !important;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	background: transparent !important;
	box-shadow: none !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	left: auto !important;
	top: auto !important;
	transform: none !important;
	border-radius: 0 !important;
}

.main-navigation .menu-item-mega > .sub-menu .sub-menu li {
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
	width: auto !important;
}

.main-navigation .menu-item-mega > .sub-menu .sub-menu li a {
	padding: 0.32em 0 !important;
	font-weight: 400 !important;
	color: var(--ld-text) !important;
	font-size: 0.88rem !important;
	display: block !important;
	background: transparent !important;
	border: none !important;
	overflow-wrap: break-word;
	word-break: break-word;
	line-height: 1.3;
}
.main-navigation .menu-item-mega > .sub-menu .sub-menu li a:hover {
	color: var(--ld-green-medium) !important;
	padding-left: 0.3em !important;
	transition: padding-left 0.18s ease, color 0.18s ease;
}

/* Kategorie bez sub-items (Tekstylia, Żywność konopna) — nie są orphane,
   dodajemy delikatny placeholder żeby parent link nie wisiał w powietrzu. */
.main-navigation .menu-item-mega > .sub-menu > li:not(.menu-item-has-children) > a {
	border-bottom: 2px solid var(--ld-green-lightest) !important;
	margin-bottom: 0 !important;
}
.main-navigation .menu-item-mega > .sub-menu > li:not(.menu-item-has-children) > a::after {
	content: "Zobacz wszystkie →";
	display: block;
	font-family: var(--ld-font-body);
	font-weight: 400;
	font-size: 0.82rem;
	color: var(--ld-text-muted);
	padding: 0.6em 0 0;
	letter-spacing: 0;
}

/* Wyszukiwarka w headerze */
.site-search .widget_product_search input[type="search"] {
	background: var(--ld-surface);
	color: var(--ld-text);
	border: 1px solid var(--ld-border);
	border-radius: 999px;
	padding: 0.55em 1.1em;
	font-size: 0.92rem;
	min-width: 240px;
}

/* ============================================================
   PRZYCISKI — uniwersalnie i WC
   ============================================================ */
.button, button, input[type="submit"], .added_to_cart,
.woocommerce a.button, .woocommerce button.button,
.woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce #content input.button, .woocommerce-page a.button,
.woocommerce-page button.button, .woocommerce-page input.button,
.woocommerce-page #respond input#submit, .woocommerce-page #content input.button {
	background-color: var(--ld-green-medium);
	color: white;
	font-family: var(--ld-font-body);
	font-weight: 500;
	font-size: 0.95rem;
	padding: 0.8em 1.7em;
	border-radius: var(--ld-radius);
	border: none;
	text-transform: none;
	transition: all 0.18s ease;
	box-shadow: var(--ld-shadow-sm);
}
.button:hover, button:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce input.button:hover, .woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
	background-color: var(--ld-green-dark);
	transform: translateY(-1px);
	box-shadow: var(--ld-shadow-md);
}
.woocommerce a.button.alt, .woocommerce button.button.alt,
.woocommerce input.button.alt, .woocommerce #respond input#submit.alt {
	background-color: var(--ld-pink-dark);
}

/* ============================================================
   STRONA GŁÓWNA — ukryj tytuł, zrób full-width hero
   ============================================================ */
.page-id-33 .entry-header,
.page-id-33 .page-title { display: none !important; }
.page-id-33 .entry-content { padding-top: 0; }

/* Pełna szerokość dla bloków na home */
.page-id-33 .entry-content > * {
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
}
.page-id-33 .ld-hero,
.page-id-33 .ld-section { max-width: 1280px; }

/* HERO */
.ld-hero {
	position: relative;
	background: linear-gradient(135deg, #0b0710 0%, #2a0a24 50%, #5e0d4a 100%);
	color: white;
	padding: 5em 2em 5.5em;
	border-radius: var(--ld-radius-lg);
	text-align: center;
	margin: 2em auto;
	overflow: hidden;
}
.ld-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><g fill='none' stroke='white' stroke-opacity='0.06' stroke-width='1'><path d='M100 20 Q120 60 100 100 Q80 60 100 20Z'/><path d='M40 80 Q70 90 100 80 Q70 70 40 80Z'/><path d='M160 80 Q130 90 100 80 Q130 70 160 80Z'/><path d='M60 130 Q80 110 100 130 Q80 150 60 130Z'/><path d='M140 130 Q120 110 100 130 Q120 150 140 130Z'/></g></svg>");
	background-size: 360px;
	opacity: 0.5;
	pointer-events: none;
}
.ld-hero > * { position: relative; z-index: 1; }
.ld-hero h1 {
	color: white;
	font-size: 3.2rem;
	margin: 0 0 0.4em;
	line-height: 1.05;
}
.ld-hero .ld-hero-sub {
	font-size: 1.2rem;
	opacity: 0.92;
	max-width: 640px;
	margin: 0 auto 1.8em;
	line-height: 1.5;
}
.ld-hero .button {
	background: var(--ld-pink);
	color: #fff;
	font-weight: 600;
	font-size: 1.05rem;
	padding: 0.9em 2em;
	box-shadow: 0 8px 24px var(--ld-pink-glow);
}
.ld-hero .button:hover {
	background: #fff;
	color: var(--ld-pink-dark);
}

/* Sekcje stron głównych */
.ld-section { margin: 4em auto 2em; }
.ld-section-title {
	text-align: center;
	margin: 0 0 0.4em;
	font-size: 2rem;
}
.ld-section-subtitle {
	text-align: center;
	color: var(--ld-text-muted);
	margin: 0 0 2em;
	font-size: 1.05rem;
}
.ld-section-title::after {
	content: "";
	display: block;
	width: 60px; height: 3px;
	background: var(--ld-green-medium);
	margin: 0.6em auto 0;
	border-radius: 2px;
}

/* ============================================================
   GRID KATEGORII — z !important żeby ubić Storefront
   ============================================================ */
.ld-categories-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 1.1rem;
	margin: 2em 0 0;
	padding: 0;
	list-style: none;
}
.ld-categories-grid > a,
.ld-categories-grid > .ld-cat-tile {
	text-decoration: none;
	color: inherit;
	display: block;
}
.ld-cat-tile {
	background: var(--ld-surface);
	border: 1px solid var(--ld-border);
	border-radius: var(--ld-radius-lg);
	padding: 1.6em 1em;
	text-align: center;
	transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1);
	height: 100%;
	display: flex !important;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.6em;
}
.ld-cat-tile:hover {
	border-color: var(--ld-green-medium);
	background: var(--ld-green-lightest);
	transform: translateY(-3px);
	box-shadow: var(--ld-shadow-md);
}
.ld-cat-tile svg {
	width: 40px;
	height: 40px;
	stroke: var(--ld-green-medium);
	stroke-width: 1.6;
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: stroke 0.2s ease;
}
.ld-cat-tile:hover svg { stroke: var(--ld-green-darkest); }
.ld-cat-tile h3 {
	font-size: 1rem;
	margin: 0;
	font-weight: 600;
	color: var(--ld-green-darkest);
	line-height: 1.25;
}

/* ============================================================
   TRUST GRID
   ============================================================ */
.ld-trust-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1.2rem;
	margin: 2em 0 0;
}
.ld-trust-tile {
	background: var(--ld-surface);
	border: 1px solid var(--ld-border);
	border-radius: var(--ld-radius-lg);
	padding: 1.8em 1.4em;
	text-align: center;
}
.ld-trust-tile svg {
	width: 36px; height: 36px;
	stroke: var(--ld-green-medium);
	stroke-width: 1.6;
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
	margin-bottom: 0.6em;
}
.ld-trust-tile h3 {
	font-size: 1.1rem;
	margin: 0 0 0.5em;
	color: var(--ld-green-darkest);
}
.ld-trust-tile p {
	margin: 0;
	color: var(--ld-text-muted);
	font-size: 0.95rem;
	line-height: 1.5;
}

/* ============================================================
   BANER ELIXIR — wstrzykiwany przez storefront_after_header hook,
   znajduje się POZA .col-full, więc width:100% = pełny viewport.
   ============================================================ */
.ld-hook-banner {
	display: block;
	width: 100%;
	line-height: 0;
	transition: opacity 0.25s ease;
	background-color: #000;
	margin: 0;
}
.ld-hook-banner:hover { opacity: 0.96; }
.ld-hook-banner picture,
.ld-hook-banner img {
	display: block;
	width: 100%;
	height: auto;
}

/* ============================================================
   BANER OBRAZKOWY — full-width, background-image z media query
   (stara wersja .ld-image-banner / .ld-bg-banner — zostawiona)
   ============================================================ */
html, body { overflow-x: hidden; }

.ld-bg-banner {
	display: block;
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	margin-top: 0;
	margin-bottom: 2em;
	background-image: url('/wp-content/uploads/2026/05/baner.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-color: #000;
	aspect-ratio: 1920 / 440;
	transition: opacity 0.25s ease;
	text-decoration: none;
}
.ld-bg-banner:hover { opacity: 0.96; }

@media (max-width: 768px) {
	.ld-bg-banner {
		background-image: url('/wp-content/uploads/2026/05/xaa.jpg');
		aspect-ratio: 1 / 1;
	}
}

/* Stara wersja .ld-image-banner zostawiona na wstecz */
.ld-image-banner {
	display: block;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-bottom: 2em;
	border-radius: 0;
	overflow: hidden;
	line-height: 0;
	aspect-ratio: 1920 / 440;
}
@media (max-width: 768px) {
	.ld-image-banner { aspect-ratio: 1000 / 590; }
}
.ld-image-banner img,
.ld-image-banner picture,
.ld-image-banner picture img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	object-position: center;
}

/* ============================================================
   BANER PROMOCYJNY (gradient + butelki — zostawione na przyszłość)
   ============================================================ */
.ld-promo-banner {
	position: relative;
	background: linear-gradient(135deg, #ffd93d 0%, #ff8e3c 30%, #ff5e8a 65%, #b04085 100%);
	border-radius: var(--ld-radius-lg);
	padding: 3em 3em 3.5em;
	margin: 3em auto;
	overflow: hidden;
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 1em;
	align-items: center;
	min-height: 420px;
	color: white;
}
.ld-promo-banner::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><g fill='white' fill-opacity='0.08'><circle cx='20' cy='30' r='3'/><circle cx='50' cy='10' r='2'/><circle cx='80' cy='40' r='4'/><circle cx='15' cy='70' r='2'/><circle cx='70' cy='80' r='3'/><circle cx='90' cy='20' r='2'/><circle cx='40' cy='90' r='3'/></g></svg>");
	background-size: 220px;
	pointer-events: none;
}
.ld-promo-banner::after {
	content: "";
	position: absolute;
	width: 480px; height: 480px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255,255,255,0.16) 0%, transparent 70%);
	top: -120px; right: -120px;
	pointer-events: none;
}

.ld-promo-content {
	position: relative;
	z-index: 1;
	padding: 0.5em 1em;
}
.ld-promo-badge {
	display: inline-block;
	background: var(--ld-ink);
	color: white;
	font-weight: 700;
	font-size: 0.78rem;
	letter-spacing: 0.12em;
	padding: 0.5em 1.1em;
	border-radius: 999px;
	margin-bottom: 1em;
	text-transform: uppercase;
}
.ld-promo-title {
	color: white;
	font-family: var(--ld-font-heading);
	font-size: 3rem;
	line-height: 1.02;
	margin: 0.2em 0 0.3em;
	font-weight: 700;
	text-shadow: 0 2px 12px rgba(0,0,0,0.18);
	letter-spacing: -0.025em;
}
.ld-promo-sub {
	font-size: 1.25rem;
	margin: 0 0 0.6em;
	font-weight: 600;
	color: white;
	opacity: 0.96;
}
.ld-promo-desc {
	font-size: 1.02rem;
	opacity: 0.95;
	line-height: 1.55;
	margin: 0.4em 0 1.6em;
	max-width: 520px;
	color: white;
}
.ld-promo-cta {
	background: var(--ld-ink) !important;
	color: #fff !important;
	font-weight: 700;
	padding: 0.95em 2.2em !important;
	border-radius: 999px !important;
	font-size: 1.05rem;
	display: inline-block;
	box-shadow: 0 8px 24px rgba(0,0,0,0.18) !important;
}
.ld-promo-cta:hover {
	background: var(--ld-pink) !important;
	color: white !important;
	transform: translateY(-2px);
}

.ld-promo-bottles {
	position: relative;
	z-index: 1;
	display: grid !important;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.3em;
	align-items: center;
	justify-items: center;
	padding: 0.5em;
}
.ld-promo-bottles a {
	position: relative;
	display: block !important;
	width: 100%;
	max-width: 175px;
	transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.ld-promo-bottles a:hover { transform: translateY(-8px); z-index: 5; }
.ld-promo-bottles img {
	width: 100%;
	height: auto;
	filter: drop-shadow(0 14px 28px rgba(0,0,0,0.28));
	display: block;
	transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.ld-promo-bottles a:nth-child(1) img { transform: rotate(-7deg); }
.ld-promo-bottles a:nth-child(2) img { transform: rotate(6deg); }
.ld-promo-bottles a:nth-child(3) img { transform: rotate(4deg); }
.ld-promo-bottles a:nth-child(4) img { transform: rotate(-4deg); }
.ld-promo-bottles a:hover img { transform: rotate(0) scale(1.06); }

@media (max-width: 900px) {
	.ld-promo-banner {
		grid-template-columns: 1fr;
		padding: 2.2em 1.5em 2.5em;
		min-height: auto;
		gap: 1em;
		text-align: center;
	}
	.ld-promo-title { font-size: 2.1rem; }
	.ld-promo-sub { font-size: 1.05rem; }
	.ld-promo-desc { font-size: 0.95rem; margin-left: auto; margin-right: auto; }
	.ld-promo-content { order: 2; padding: 0; }
	.ld-promo-bottles {
		order: 1;
		grid-template-columns: repeat(4, 1fr);
		gap: 0.25em;
		padding: 0.3em 0 1em;
	}
	.ld-promo-bottles a { max-width: 110px; }
	.ld-promo-cta { width: auto; }
}

/* ============================================================
   Banner informacyjny (wiek 18+)
   ============================================================ */
.ld-age-notice {
	background: var(--ld-green-lightest);
	border-left: 4px solid var(--ld-green-medium);
	padding: 1.1em 1.5em;
	margin: 3em 0 2em;
	border-radius: var(--ld-radius);
	font-size: 0.92rem;
	color: var(--ld-green-darkest);
}

/* ============================================================
   WOOCOMMERCE — produkty (czysty styl: bez kafelków, duże odstępy)
   ============================================================ */
.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
	gap: 3rem 1.5rem !important;
	margin: 2em 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

/* Storefront ma clearfix pseudo na ul.products (::before display:table,
   ::after clear:both). W grid context oba pseudo stają się grid itemami
   i zajmują pierwszą + ostatnią komórkę — dlatego pierwszy produkt
   "skakał" do col 2. Zerujemy. */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
	content: none !important;
	display: none !important;
}

/* WC shortcode z columns="X" — wymusza dokładnie X kolumn */
.woocommerce ul.products.columns-2,
.woocommerce-page ul.products.columns-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.woocommerce ul.products.columns-3,
.woocommerce-page ul.products.columns-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.woocommerce ul.products.columns-4,
.woocommerce-page ul.products.columns-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
.woocommerce ul.products.columns-5,
.woocommerce-page ul.products.columns-5 {
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

/* MOBILE — wymuś 2 kolumny + explicitnie resetuj Storefront-owe
   legacy floaty (.first ma clear: both !important, co w połączeniu z
   resztkami float potrafi przesunąć pierwszy produkt do drugiej komórki).
   Wszystkie items dostają grid-column: auto, float: none, clear: none. */
@media (max-width: 768px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.woocommerce ul.products.columns-2,
	.woocommerce ul.products.columns-3,
	.woocommerce ul.products.columns-4,
	.woocommerce ul.products.columns-5,
	.woocommerce-page ul.products.columns-2,
	.woocommerce-page ul.products.columns-3,
	.woocommerce-page ul.products.columns-4,
	.woocommerce-page ul.products.columns-5 {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 1.8rem 0.7rem !important;
		float: none !important;
	}
	.woocommerce ul.products > li.product,
	.woocommerce ul.products > li.product.first,
	.woocommerce ul.products > li.product.last,
	.woocommerce-page ul.products > li.product,
	.woocommerce-page ul.products > li.product.first,
	.woocommerce-page ul.products > li.product.last {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		float: none !important;
		clear: none !important;
		grid-column: auto !important;
		grid-row: auto !important;
		justify-self: stretch !important;
		display: block !important;
	}
}
@media (max-width: 380px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.woocommerce ul.products[class*="columns-"],
	.woocommerce-page ul.products[class*="columns-"] {
		grid-template-columns: 1fr !important;
	}
}

/* ============================================================
   CHIPY KATEGORII nad produktami (sklep i archiwa kategorii)
   ============================================================ */
.ld-cat-chips {
	margin: 0 0 2em;
}
.ld-cat-chips__track {
	display: flex;
	gap: 0.5em;
	flex-wrap: wrap;
}
.ld-cat-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	padding: 0.55em 1.1em;
	border-radius: 999px;
	background: var(--ld-surface);
	color: var(--ld-text);
	font-size: 0.88rem;
	font-weight: 500;
	text-decoration: none;
	border: 1px solid var(--ld-border);
	transition: all 0.18s ease;
	white-space: nowrap;
	line-height: 1;
}
.ld-cat-chip__icon {
	display: inline-flex;
	color: var(--ld-green-medium);
}
.ld-cat-chip__count {
	display: inline-block;
	font-size: 0.72rem;
	font-weight: 600;
	color: var(--ld-text-muted);
	background: var(--ld-cream-dark);
	padding: 0.18em 0.55em;
	border-radius: 999px;
	margin-left: 0.15em;
	transition: all 0.18s ease;
}
.ld-cat-chip:hover {
	background: var(--ld-green-lightest);
	border-color: var(--ld-green-light);
	color: var(--ld-green-darkest);
	transform: translateY(-1px);
}
.ld-cat-chip.is-active {
	background: var(--ld-green-medium);
	color: #fff;
	border-color: var(--ld-green-medium);
	box-shadow: 0 4px 12px var(--ld-pink-glow);
}
.ld-cat-chip.is-active .ld-cat-chip__icon { color: #fff; }
.ld-cat-chip.is-active .ld-cat-chip__count {
	background: rgba(255, 255, 255, 0.22);
	color: #fff;
}

@media (max-width: 768px) {
	.ld-cat-chips {
		margin: 0 -1rem 1.5em;
	}
	.ld-cat-chips__track {
		flex-wrap: nowrap;
		overflow-x: auto;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
		padding: 0.4em 1rem 0.8em;
		scroll-padding-left: 1rem;
		scroll-snap-type: x proximity;
	}
	.ld-cat-chips__track::-webkit-scrollbar { display: none; }
	.ld-cat-chip {
		scroll-snap-align: start;
		font-size: 0.85rem;
		padding: 0.5em 0.9em;
	}
}

/* ============================================================
   PASEK SORTOWANIA / RESULT COUNT na archiwach WC
   ============================================================ */
.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count {
	color: var(--ld-text-muted);
	font-size: 0.88rem;
	font-weight: 500;
	margin: 0;
	padding: 0.55em 0;
	float: none;
}

.woocommerce .woocommerce-ordering,
.woocommerce-page .woocommerce-ordering {
	float: none;
	margin: 0;
}
.woocommerce .woocommerce-ordering select.orderby,
.woocommerce-page .woocommerce-ordering select.orderby {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: var(--ld-surface);
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff1fa8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
	background-repeat: no-repeat;
	background-position: right 0.9em center;
	background-size: 14px 14px;
	border: 1px solid var(--ld-border);
	border-radius: 999px;
	color: var(--ld-text);
	font-family: var(--ld-font-body);
	font-size: 0.88rem;
	font-weight: 500;
	padding: 0.6em 2.4em 0.6em 1.2em;
	min-width: 220px;
	cursor: pointer;
	transition: all 0.18s ease;
	box-shadow: 0 1px 3px rgba(15, 46, 28, 0.04);
	line-height: 1.2;
}
.woocommerce .woocommerce-ordering select.orderby:hover,
.woocommerce-page .woocommerce-ordering select.orderby:hover {
	border-color: var(--ld-green-light);
	background-color: var(--ld-green-lightest);
}
.woocommerce .woocommerce-ordering select.orderby:focus,
.woocommerce-page .woocommerce-ordering select.orderby:focus {
	outline: none;
	border-color: var(--ld-green-medium);
	box-shadow: 0 0 0 3px rgba(255, 31, 168, 0.3);
}

/* Storefront pakuje result-count + ordering w .storefront-sorting — wyrównanie */
.storefront-sorting {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.8em 1em;
	margin: 0 0 1.5em;
	padding: 0;
}
.storefront-sorting > .woocommerce-notices-wrapper { flex-basis: 100%; }
.storefront-sorting .woocommerce-result-count { order: 1; }
.storefront-sorting .woocommerce-ordering { order: 2; }

@media (max-width: 768px) {
	.woocommerce .woocommerce-ordering select.orderby,
	.woocommerce-page .woocommerce-ordering select.orderby {
		width: 100%;
		min-width: 0;
	}
	.storefront-sorting {
		gap: 0.6em;
	}
	.storefront-sorting .woocommerce-ordering {
		flex: 1 1 100%;
	}
	.storefront-sorting .woocommerce-result-count {
		flex: 1 1 100%;
		text-align: left;
		font-size: 0.82rem;
		padding: 0;
	}
}

/* ============================================================
   MODERNIZACJA KART PRODUKTÓW na mobile
   ============================================================ */
@media (max-width: 768px) {
	.woocommerce ul.products li.product {
		background: var(--ld-surface) !important;
		border-radius: var(--ld-radius-lg) !important;
		padding: 1em 0.8em 1.2em !important;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5) !important;
		transition: transform 0.2s ease, box-shadow 0.2s ease !important;
		position: relative !important;
	}
	.woocommerce ul.products li.product:active {
		transform: scale(0.98);
	}
	.woocommerce ul.products li.product a img {
		margin: 0 auto 0.8em !important;
		max-width: 100%;
	}
	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: 0.92rem !important;
		min-height: 2.4em;
	}
	.woocommerce ul.products li.product .price {
		font-size: 0.95rem !important;
		color: var(--ld-green-darkest) !important;
		font-weight: 600 !important;
	}
	/* Hover-only "Dodaj do koszyka" przycisk z desktopa — na mobile zawsze widoczny */
	.woocommerce ul.products li.product .button,
	.woocommerce ul.products li.product .added_to_cart {
		position: static !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		margin-top: 0.8em !important;
		padding: 0.5em 1em !important;
		font-size: 0.8rem !important;
		display: inline-block !important;
	}
	.woocommerce ul.products li.product .onsale {
		font-size: 0.65rem !important;
		padding: 0.25em 0.6em !important;
		top: 0.5em !important;
		right: 0.5em !important;
	}
}

/* Wymuszone kolumny — items muszą mieć min-width 0 żeby obraz nie zwiększał kolumny */
.woocommerce ul.products.columns-2 > li.product,
.woocommerce ul.products.columns-3 > li.product,
.woocommerce ul.products.columns-4 > li.product,
.woocommerce ul.products.columns-5 > li.product {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
}

/* ============================================================
   .ld-featured-products — wrapper sekcji bestsellerów (WC shortcode)
   Maksymalna specyficzność + reset floatów na items
   ============================================================ */
body .ld-featured-products .woocommerce ul.products,
body .ld-featured-products ul.products,
.entry-content .ld-featured-products ul.products,
.ld-featured-products ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 2.5rem 1.5rem !important;
	margin: 2em 0 !important;
	padding: 0 !important;
	list-style: none !important;
	width: 100% !important;
}
body .ld-featured-products ul.products > li.product,
.ld-featured-products ul.products > li.product,
.ld-featured-products ul.products li.product.first,
.ld-featured-products ul.products li.product.last {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	clear: none !important;
	display: block !important;
}
@media (max-width: 768px) {
	body .ld-featured-products ul.products,
	.ld-featured-products ul.products {
		grid-template-columns: 1fr !important;
		gap: 2rem 0 !important;
	}
}

/* ============================================================
   .ld-elixir-grid — ręcznie zbudowana siatka 4 eliksirów (bez WC)
   ============================================================ */
.ld-elixir-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 2.5rem 1.5rem !important;
	margin: 2em 0 !important;
	list-style: none;
	padding: 0;
}
@media (max-width: 768px) {
	.ld-elixir-grid {
		grid-template-columns: 1fr !important;
		gap: 2rem 0 !important;
	}
}

.ld-elixir-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	text-decoration: none;
	color: inherit;
	transition: transform 0.3s ease;
}
.ld-elixir-card:hover {
	transform: translateY(-4px);
	color: inherit;
}
.ld-elixir-card img {
	width: 100%;
	max-width: 240px;
	height: auto;
	display: block;
	margin-bottom: 1.2em;
	filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.08));
	transition: filter 0.3s ease;
}
.ld-elixir-card:hover img {
	filter: drop-shadow(0 14px 24px rgba(0, 0, 0, 0.15));
}
.ld-elixir-card h3 {
	font-family: var(--ld-font-heading);
	color: var(--ld-green-darkest);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.3;
	margin: 0 0 0.4em;
	padding: 0 0.5em;
}
.ld-elixir-price {
	color: var(--ld-text-muted);
	font-weight: 500;
	font-size: 0.95rem;
	margin: 0 0 1em;
}
.ld-elixir-cta {
	background: var(--ld-green-medium);
	color: white;
	padding: 0.6em 1.4em;
	border-radius: var(--ld-radius);
	font-size: 0.9rem;
	font-weight: 500;
	text-decoration: none;
	transition: background 0.2s ease, transform 0.15s ease;
	/* Reset stylów <button> żeby wyglądał identycznie jak poprzedni <span> */
	border: none;
	cursor: pointer;
	font-family: inherit;
	display: inline-block;
	line-height: 1.2;
	box-shadow: none;
	text-transform: none;
	-webkit-appearance: none;
	appearance: none;
}
.ld-elixir-card:hover .ld-elixir-cta {
	background: var(--ld-green-dark);
}
button.ld-elixir-cta:hover {
	background: var(--ld-green-dark);
	transform: translateY(-1px);
	box-shadow: none;
}
.ld-elixir-cta.is-loading {
	opacity: 0.75;
	cursor: wait;
}
.ld-elixir-cta.is-added {
	background: var(--ld-green-dark);
	animation: ldAddedPulse 0.4s ease;
}
@keyframes ldAddedPulse {
	0%   { transform: scale(1); }
	50%  { transform: scale(1.06); }
	100% { transform: scale(1); }
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	width: auto !important;
	text-align: center !important;
	float: none !important;
	clear: none !important;
	position: relative !important;
}
.woocommerce ul.products li.product:hover {
	transform: none;
	box-shadow: none;
}
.woocommerce ul.products li.product a img {
	background: #fff !important;
	border-radius: 14px !important;
	padding: 0.7em !important;
	box-sizing: border-box !important;
	margin: 0 auto 1.2em !important;
	max-width: 100%;
	height: auto;
	display: block;
	transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s ease;
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.5);
	filter: none;
}
.woocommerce ul.products li.product:hover a img {
	transform: translateY(-6px);
	box-shadow: 0 16px 32px rgba(0, 0, 0, 0.62);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: var(--ld-green-darkest) !important;
	font-family: var(--ld-font-heading);
	font-size: 1.02rem !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	padding: 0 0.5em 0.3em !important;
	margin: 0 0 0.3em !important;
	min-height: auto !important;
}
.woocommerce ul.products li.product .price {
	color: var(--ld-text-muted) !important;
	font-weight: 500 !important;
	font-size: 0.95rem !important;
	display: block;
	margin: 0 !important;
}
.woocommerce ul.products li.product .price ins {
	color: var(--ld-green-medium);
	font-weight: 600;
	background: transparent;
	text-decoration: none;
}
.woocommerce ul.products li.product .price del {
	color: var(--ld-text-muted);
	font-weight: 400;
	opacity: 0.6;
	margin-right: 0.3em;
}

/* Przycisk "Dodaj do koszyka" - ukryty domyślnie, pojawia się na hover */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
	position: absolute;
	bottom: -1em;
	left: 50%;
	transform: translateX(-50%);
	opacity: 0;
	visibility: hidden;
	transition: all 0.25s ease;
	padding: 0.55em 1.4em !important;
	font-size: 0.85rem !important;
	white-space: nowrap;
	box-shadow: var(--ld-shadow-md) !important;
}
.woocommerce ul.products li.product:hover .button,
.woocommerce ul.products li.product:hover .added_to_cart {
	opacity: 1;
	visibility: visible;
	bottom: 0;
}

/* Etykieta SALE */
.woocommerce ul.products li.product .onsale {
	background: var(--ld-gold) !important;
	color: var(--ld-green-darkest) !important;
	border: none !important;
	border-radius: 999px !important;
	font-weight: 600 !important;
	font-size: 0.72rem !important;
	padding: 0.3em 0.75em !important;
	top: 0 !important; right: 0 !important; left: auto !important;
	min-width: 0 !important; min-height: 0 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

/* Pojedynczy produkt */
.single-product .product_title { font-size: 2.3rem; margin-bottom: 0.5em; }
.single-product .price { font-size: 1.5rem; color: var(--ld-green-medium); font-weight: 700; }
/* Zakładki produktu (Opis / Opinie).
   Storefront na desktopie renderuje je jako pionową nawigację po lewej
   (~29%) + panel po prawej (~65%), z jasnymi obramowaniami rgba(0,0,0,.05)
   i szarym tekstem — nieczytelne i brzydkie na ciemnym motywie.
   Poniżej spójny ciemny wygląd: pigułki z różowym akcentem na aktywnej. */
.woocommerce-tabs ul.tabs {
	border-top: none !important;
	padding: 0 !important;
}
.woocommerce-tabs ul.tabs li {
	display: block !important;
	background: var(--ld-surface) !important;
	border: 1px solid var(--ld-border) !important;
	border-radius: var(--ld-radius) !important;
	margin: 0 0 0.5em !important;
	overflow: hidden;
	transition: background 0.18s ease, border-color 0.18s ease;
}
.woocommerce-tabs ul.tabs li::before,
.woocommerce-tabs ul.tabs li::after { content: none !important; display: none !important; }
.woocommerce-tabs ul.tabs li a {
	display: block !important;
	padding: 0.8em 1.1em !important;
	color: var(--ld-text) !important;
	font-family: var(--ld-font-heading);
	font-weight: 600;
}
.woocommerce-tabs ul.tabs li:hover {
	background: var(--ld-surface-2) !important;
	border-color: var(--ld-pink-light) !important;
}
.woocommerce-tabs ul.tabs li.active {
	background: var(--ld-pink) !important;
	border-color: var(--ld-pink) !important;
	box-shadow: 0 0 18px var(--ld-pink-glow);
}
.woocommerce-tabs ul.tabs li.active a { color: #fff !important; }

/* Panel z treścią zakładki */
.woocommerce-tabs .panel {
	background: var(--ld-surface);
	border: 1px solid var(--ld-border);
	border-radius: var(--ld-radius-lg);
	padding: 1.6em 1.9em !important;
	box-shadow: var(--ld-shadow-sm);
}
.woocommerce-tabs .panel > h2:first-of-type { color: var(--ld-heading); margin-top: 0; }
.woocommerce-tabs .panel h3 { color: var(--ld-heading); }

/* Sekcja opinii */
.woocommerce-Reviews .woocommerce-noreviews { color: var(--ld-text-muted); }
.woocommerce-Reviews .comment-form input[type=text],
.woocommerce-Reviews .comment-form input[type=email],
.woocommerce-Reviews .comment-form textarea,
.woocommerce-Reviews .comment-form select {
	background: var(--ld-bg) !important;
	border: 1px solid var(--ld-border) !important;
	color: var(--ld-text) !important;
}

/* Koszyk / checkout */
.woocommerce-info, .woocommerce-message {
	background: var(--ld-green-lightest);
	border-top-color: var(--ld-green-medium) !important;
	color: var(--ld-green-darkest);
}
.woocommerce-info::before, .woocommerce-message::before { color: var(--ld-green-medium); }
.woocommerce table.cart { background: var(--ld-surface); border-radius: var(--ld-radius); box-shadow: var(--ld-shadow-sm); }

/* ============================================================
   STOPKA
   ============================================================ */
.site-footer {
	background-color: var(--ld-ink);
	color: rgba(255, 255, 255, 0.72);
	padding: 4em 0 1.5em;
	margin-top: 5em;
	border-top: 1px solid var(--ld-border);
}
.site-footer a { color: var(--ld-green-light); }
.site-footer a:hover { color: white; }
.site-footer h1, .site-footer h2, .site-footer h3, .site-footer .widget-title {
	color: white;
	font-size: 1.1rem;
	margin-bottom: 1em;
}
.storefront-handheld-footer-bar { background-color: var(--ld-ink); }
.site-info { border-top: 1px solid rgba(255,255,255,0.1); padding-top: 1.5em; margin-top: 2.5em; opacity: 0.7; }

/* ============================================================
   MODAL WERYFIKACJI WIEKU 18+
   ============================================================ */
.ld-age-gate {
	position: fixed;
	inset: 0;
	background: linear-gradient(135deg, rgba(5, 3, 8, 0.97) 0%, rgba(40, 10, 34, 0.97) 100%);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	animation: ldAgeGateFade 0.4s ease;
}
@keyframes ldAgeGateFade {
	from { opacity: 0; }
	to { opacity: 1; }
}
.ld-age-gate[hidden] { display: none !important; }

.ld-age-gate__panel {
	background: var(--ld-surface);
	max-width: 480px;
	width: 100%;
	padding: 2.5rem 2rem;
	border-radius: 18px;
	text-align: center;
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.3);
	animation: ldAgeGateSlide 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
@keyframes ldAgeGateSlide {
	from { transform: translateY(20px) scale(0.96); opacity: 0; }
	to { transform: translateY(0) scale(1); opacity: 1; }
}

.ld-age-gate__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	font-family: var(--ld-font-heading);
	font-weight: 700;
	font-size: 1.3rem;
	color: var(--ld-green-darkest);
	margin-bottom: 1.5em;
}

.ld-age-gate h2 {
	font-size: 1.6rem;
	color: var(--ld-green-darkest);
	margin: 0 0 0.6em;
	line-height: 1.2;
}

.ld-age-gate p {
	color: var(--ld-text-muted);
	font-size: 1rem;
	line-height: 1.5;
	margin: 0 0 1.6em;
}

.ld-age-gate__buttons {
	display: flex;
	flex-direction: column;
	gap: 0.7em;
	margin-bottom: 1.4em;
}

.ld-age-gate__yes,
.ld-age-gate__no {
	width: 100%;
	padding: 0.95em 1.5em;
	font-size: 1rem;
	font-weight: 600;
	border-radius: 10px;
	border: none;
	cursor: pointer;
	transition: all 0.2s ease;
	font-family: var(--ld-font-body);
}
.ld-age-gate__yes {
	background: var(--ld-green-medium);
	color: white;
}
.ld-age-gate__yes:hover {
	background: var(--ld-green-dark);
	transform: translateY(-1px);
}
.ld-age-gate__no {
	background: transparent;
	color: var(--ld-text-muted);
	border: 1px solid var(--ld-border);
}
.ld-age-gate__no:hover {
	background: var(--ld-cream-dark);
	color: var(--ld-text);
}

.ld-age-gate__small {
	font-size: 0.78rem !important;
	color: var(--ld-text-muted);
	margin: 0 !important;
	line-height: 1.4;
}
.ld-age-gate__small a {
	color: var(--ld-green-medium);
	text-decoration: underline;
}

@media (max-width: 480px) {
	.ld-age-gate__panel { padding: 2em 1.4em; }
	.ld-age-gate h2 { font-size: 1.35rem; }
	.ld-age-gate p { font-size: 0.95rem; }
}

/* ============================================================
   MOBILNY DOLNY PASEK (Storefront handheld footer bar)
   Kolejność: Sklep | Start (środek) | Koszyk — ciemny, neonowy
   ============================================================ */
.storefront-handheld-footer-bar {
	background-color: var(--ld-ink) !important;
	border-top: 1px solid var(--ld-border);
	box-shadow: 0 -4px 22px rgba(255, 31, 168, 0.18);
}
/* Równe komórki, pełna wysokość → ikony wyśrodkowane w pionie i poziomie */
.storefront-handheld-footer-bar ul {
	display: flex !important;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
.storefront-handheld-footer-bar ul li {
	flex: 1 1 0 !important;
	display: flex !important;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	min-width: 0 !important;
	border: none !important;
	border-left: 1px solid var(--ld-border) !important;
}
.storefront-handheld-footer-bar ul li:first-child { border-left: none !important; }
.storefront-handheld-footer-bar ul li > a {
	flex: 1 1 auto;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 4px;
	min-height: 56px;
	padding: 6px 4px !important;
	background-color: transparent !important;
	color: #fff !important;
	font-size: 0.7rem !important;
	font-weight: 600;
	line-height: 1;
	text-decoration: none !important;
	position: relative;
}
.storefront-handheld-footer-bar ul li > a:hover,
.storefront-handheld-footer-bar ul li > a:focus,
.storefront-handheld-footer-bar ul li > a:active {
	color: var(--ld-pink) !important;
}
/* Ikony (SVG sklep/dom + glyph koszyka) — różowe, neonowe, jednolity rozmiar */
.storefront-handheld-footer-bar ul li svg {
	width: 25px;
	height: 25px;
	display: block;
	color: var(--ld-pink);
	filter: drop-shadow(0 0 5px rgba(255, 31, 168, 0.55));
	transition: transform 0.15s ease;
}
.storefront-handheld-footer-bar ul li.cart > a::before {
	font-size: 25px !important;
	line-height: 1 !important;
	margin: 0 !important;
	display: block !important;
	color: var(--ld-pink) !important;
	filter: drop-shadow(0 0 5px rgba(255, 31, 168, 0.55));
}
.storefront-handheld-footer-bar ul li > a:active svg { transform: scale(0.92); }
.ld-fbar-label { display: block; }

/* Środkowy „Start" — lekko większy */
.storefront-handheld-footer-bar ul li.home svg { width: 27px; height: 27px; }

/* Licznik koszyka — mały badge w prawym-górnym rogu ikony (nie nachodzi na tekst) */
.storefront-handheld-footer-bar ul li.cart .count {
	position: absolute !important;
	top: 5px;
	left: 50%;
	margin-left: 5px;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--ld-pink) !important;
	color: #fff !important;
	border: 2px solid var(--ld-ink) !important;
	border-radius: 999px;
	font-size: 0.58rem;
	font-weight: 700;
	line-height: 1;
	box-shadow: 0 0 8px rgba(255, 31, 168, 0.6);
}

/* ============================================================
   MENU MOBILNE (własny toggle .ld-nav-open — szablon nie ma .handheld-navigation)
   ============================================================ */
/* Logo zawsze klikalne, nad ewentualnym paskiem nawigacji */
.site-branding,
.site-branding .site-title,
.site-branding .site-title a {
	position: relative;
	z-index: 5;
	pointer-events: auto;
}

@media (max-width: 768px) {
	/* Przycisk hamburgera — pasuje do ciemnego motywu */
	button.menu-toggle,
	button.menu-toggle:hover {
		background-color: var(--ld-surface) !important;
		color: #fff !important;
		border: 1px solid var(--ld-border) !important;
		border-radius: 8px !important;
	}
	button.menu-toggle::before,
	button.menu-toggle::after,
	button.menu-toggle span::before {
		background-color: #fff !important;
	}

	/* Domyślnie menu schowane; otwierane przez .ld-nav-open */
	.main-navigation .primary-navigation { display: none !important; }
	.main-navigation.ld-nav-open .primary-navigation { display: block !important; }

	.main-navigation.ld-nav-open .primary-navigation > ul.menu {
		display: block !important;
		max-height: none !important;
		overflow: visible !important;
		margin: 0.7em 0 0 !important;
		padding: 0.3em 0 !important;
		background: var(--ld-surface);
		border: 1px solid var(--ld-border);
		border-radius: 12px;
		box-shadow: 0 12px 32px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(255, 31, 168, 0.18);
	}
	.main-navigation.ld-nav-open .primary-navigation ul.menu > li {
		display: block !important;
		width: 100% !important;
		float: none !important;
		border-bottom: 1px solid var(--ld-border);
	}
	.main-navigation.ld-nav-open .primary-navigation ul.menu > li:last-child { border-bottom: none; }
	.main-navigation.ld-nav-open .primary-navigation ul.menu > li > a {
		display: block !important;
		padding: 0.95em 1.3em !important;
		color: var(--ld-text) !important;
		font-size: 1rem !important;
		font-weight: 500;
	}
	.main-navigation.ld-nav-open .primary-navigation ul.menu > li > a:hover,
	.main-navigation.ld-nav-open .primary-navigation ul.menu > li.current-menu-item > a {
		color: var(--ld-pink) !important;
		background: var(--ld-surface-2);
	}
	/* Rozwijane podmenu (mega "Sklep") chowamy — "Sklep" prowadzi do /sklep/ */
	.main-navigation.ld-nav-open .primary-navigation ul.sub-menu { display: none !important; }
	/* Strzałki "has-children" zbędne w tym widoku */
	.main-navigation.ld-nav-open .primary-navigation ul.menu > li.menu-item-has-children > a::after { display: none !important; }
}

/* ============================================================
   STACKED-CARD KARUZELA (żelki, pod eliksirami na mobile)
   Karty leżą na sobie, swipe palcem przerzuca górną.
   ============================================================ */
.ld-stack-carousel { display: none; }

@media (max-width: 768px) {
	.ld-stack-carousel {
		display: block;
		margin: 2.4em -1rem;
		padding: 2em 0 1.5em;
		background: linear-gradient(160deg, var(--ld-ink) 0%, #2a0a24 60%, var(--ld-pink-dark) 100%);
		color: white;
		border-radius: var(--ld-radius-lg);
		text-align: center;
		overflow: hidden;
		position: relative;
	}
	.ld-stack-carousel::before {
		content: "";
		position: absolute;
		inset: 0;
		background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><g fill='none' stroke='white' stroke-opacity='0.04' stroke-width='1'><circle cx='40' cy='40' r='3'/><circle cx='120' cy='80' r='2'/><circle cx='160' cy='30' r='4'/><circle cx='80' cy='150' r='3'/><circle cx='170' cy='170' r='2'/></g></svg>");
		background-size: 240px;
		pointer-events: none;
	}
	.ld-stack-carousel > * { position: relative; z-index: 1; }

	.ld-stack-carousel__head { padding: 0 1.2rem 1.6em; }
	.ld-stack-carousel__head .ld-section-title {
		color: white !important;
		font-size: 1.4rem;
		margin: 0;
		text-align: center;
	}
	.ld-stack-carousel__head .ld-section-title::after {
		background: var(--ld-gold) !important;
		margin: 0.6em auto 0 !important;
	}
	.ld-stack-carousel__head .ld-section-subtitle {
		color: rgba(255, 255, 255, 0.72);
		margin: 0.5em 0 0;
		font-size: 0.82rem;
	}

	.ld-stack-carousel__stage {
		position: relative;
		min-height: 420px;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 1.4em;
		padding: 0.8em 0;
	}

	.ld-stack-carousel__deck {
		position: relative;
		width: 250px;
		height: 360px;
		margin: 0 auto;
	}

	.ld-stack-card {
		position: absolute;
		inset: 0;
		background: var(--ld-surface);
		color: var(--ld-text);
		border-radius: 18px;
		padding: 1.2em 1.1em 1.3em;
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
		box-shadow: 0 10px 28px rgba(0, 0, 0, 0.32);
		will-change: transform, opacity;
		touch-action: pan-y;
		cursor: grab;
		-webkit-user-select: none;
		user-select: none;
	}

	.ld-stack-card__media {
		display: block;
		width: 100%;
		max-width: 160px;
		margin: 0 auto 0.8em;
		text-decoration: none;
	}
	.ld-stack-card__media img {
		width: 100%;
		height: auto;
		display: block;
		background: #fff;
		border-radius: 12px;
		padding: 0.5em;
		box-sizing: border-box;
		box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);
		pointer-events: none;
	}

	.ld-stack-card__name {
		font-family: var(--ld-font-heading);
		font-size: 0.95rem;
		margin: 0 0 0.4em;
		color: var(--ld-green-darkest);
		font-weight: 600;
		line-height: 1.28;
		max-height: 3.85em;
		overflow: hidden;
	}
	.ld-stack-card__price {
		color: var(--ld-text-muted);
		font-weight: 600;
		font-size: 0.95rem;
		margin: 0 0 0.95em;
	}
	.ld-stack-card__price .price ins {
		color: var(--ld-green-medium);
		text-decoration: none;
		font-weight: 700;
		background: transparent;
	}
	.ld-stack-card__price .price del { opacity: 0.55; margin-right: 0.3em; }

	.ld-stack-card .ld-elixir-cta {
		margin-top: auto;
		min-width: 150px;
		font-size: 0.88rem;
	}

	.ld-stack-carousel__dots {
		display: flex;
		gap: 6px;
		justify-content: center;
		align-items: center;
		padding: 0 1rem;
	}
	.ld-stack-dot {
		display: inline-block;
		width: 6px;
		height: 6px;
		border-radius: 50%;
		background: rgba(255, 255, 255, 0.28);
		transition: all 0.3s ease;
	}
	.ld-stack-dot.is-active {
		background: var(--ld-gold);
		width: 22px;
		border-radius: 999px;
	}
}

/* ============================================================
   KARUZELE KATEGORII na mobile (zastępują Bestsellery)
   ============================================================ */
.ld-mobile-carousels,
.ld-zelki-carousel { display: none; }

@media (max-width: 768px) {
	.ld-mobile-carousels { display: block; }

	.ld-zelki-carousel {
		display: block;
		margin: 2.4em -1rem 2.4em;
		background: var(--ld-green-lightest);
		padding: 1.8em 0 1.4em;
		border-radius: var(--ld-radius-lg);
	}
	/* Naprzemienne tła sekcji żeby się od siebie wizualnie oddzielały */
	.ld-mobile-carousels > .ld-zelki-carousel:nth-child(even) {
		background: var(--ld-cream-dark);
	}
	.ld-mobile-carousels > .ld-zelki-carousel:first-child {
		margin-top: 1em;
	}

	.ld-zelki-carousel__head {
		text-align: left;
		padding: 0 1.2rem;
		margin-bottom: 1.2em;
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		gap: 1em;
		flex-wrap: wrap;
	}
	.ld-zelki-carousel__head .ld-section-title {
		margin: 0;
		font-size: 1.35rem;
		text-align: left;
	}
	.ld-zelki-carousel__head .ld-section-title::after { display: none; }

	.ld-cat-carousel__more {
		font-size: 0.82rem;
		font-weight: 600;
		color: var(--ld-green-medium);
		text-decoration: none;
		white-space: nowrap;
	}
	.ld-cat-carousel__more:hover { color: var(--ld-green-dark); }

	/* Ukryj sekcję Bestsellery na mobile (h2 + subtitle + grid który po nim następuje) */
	h2[data-ld-section="bestsellers"],
	h2[data-ld-section="bestsellers"] + p.ld-section-subtitle,
	h2[data-ld-section="bestsellers"] + p.ld-section-subtitle + .ld-elixir-grid,
	h2[data-ld-section="bestsellers"] + .ld-elixir-grid {
		display: none !important;
	}

	.ld-zelki-carousel__track {
		display: flex;
		gap: 0.7rem;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-behavior: smooth;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		padding: 0.4em 1rem 0.6em;
		scroll-padding-left: 1rem;
	}
	.ld-zelki-carousel__track::-webkit-scrollbar { display: none; }

	.ld-zelki-slide {
		flex: 0 0 calc(100% - 2rem);
		scroll-snap-align: start;
		background: var(--ld-surface);
		border-radius: var(--ld-radius-lg);
		padding: 1.4em 1em 1.6em;
		text-align: center;
		box-shadow: 0 4px 14px rgba(15, 46, 28, 0.06);
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.ld-zelki-slide__media {
		display: block;
		margin: 0 auto 1em;
		max-width: 200px;
		width: 100%;
	}
	.ld-zelki-slide__media img {
		width: 100%;
		height: auto;
		display: block;
		background: #fff;
		border-radius: 12px;
		padding: 0.5em;
		box-sizing: border-box;
		box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);
	}

	.ld-zelki-slide__name {
		font-family: var(--ld-font-heading);
		font-size: 1rem;
		color: var(--ld-green-darkest);
		margin: 0 0 0.5em;
		line-height: 1.3;
		font-weight: 600;
	}
	.ld-zelki-slide__name a {
		color: inherit;
		text-decoration: none;
	}

	.ld-zelki-slide__price {
		color: var(--ld-text-muted);
		font-weight: 500;
		font-size: 0.95rem;
		margin: 0 0 1em;
	}
	.ld-zelki-slide__price .price ins {
		color: var(--ld-green-medium);
		text-decoration: none;
		font-weight: 700;
		background: transparent;
	}
	.ld-zelki-slide__price .price del {
		opacity: 0.55;
		margin-right: 0.35em;
		font-weight: 400;
	}

	.ld-zelki-slide .ld-elixir-cta {
		margin-top: auto;
		min-width: 160px;
	}
}

/* ============================================================
   PASEK OGŁOSZENIOWY (announcement bar nad nagłówkiem)
   "Darmowa wysyłka od X zł"
   ============================================================ */
.ld-announce {
	background: var(--ld-ink);
	color: rgba(255, 255, 255, 0.85);
	font-family: var(--ld-font-body);
	font-size: 0.85rem;
	line-height: 1.3;
	letter-spacing: 0.01em;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.ld-announce__inner {
	max-width: 1500px;
	margin: 0 auto;
	padding: 0.55em 2rem;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 0.55em;
	text-align: left;
}
.ld-announce__icon {
	flex-shrink: 0;
	color: var(--ld-gold);
}
.ld-announce strong {
	color: var(--ld-gold);
	font-weight: 700;
	white-space: nowrap;
}

@media (max-width: 768px) {
	.ld-announce { font-size: 0.78rem; }
	.ld-announce__inner { padding: 0.5em 1rem; gap: 0.4em; }
}

/* ============================================================
   PASEK DARMOWEJ DOSTAWY (50 zł)
   ============================================================ */
.ld-ship-bar {
	position: fixed;
	z-index: 99990;
	bottom: 1.5rem;
	right: 1.5rem;
	width: 360px;
	max-width: calc(100vw - 2rem);
	background: var(--ld-surface);
	border: 1px solid var(--ld-border);
	border-radius: 14px;
	box-shadow: 0 18px 48px rgba(15, 46, 28, 0.18);
	padding: 1rem 1.1rem 1rem 1rem;
	display: grid;
	grid-template-columns: 40px 1fr;
	gap: 0.85rem;
	align-items: start;
	font-family: var(--ld-font-body);
	color: var(--ld-text);
	transform: translateY(0);
	opacity: 1;
	transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.25s ease;
	animation: ldShipBarIn 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}
@keyframes ldShipBarIn {
	from { transform: translateY(20px); opacity: 0; }
	to   { transform: translateY(0); opacity: 1; }
}
.ld-ship-bar.is-hidden {
	transform: translateY(140%);
	opacity: 0;
	pointer-events: none;
}

.ld-ship-bar__close {
	position: absolute;
	top: 6px;
	right: 8px;
	width: 28px;
	height: 28px;
	background: transparent !important;
	border: none !important;
	color: var(--ld-text-muted) !important;
	font-size: 1.4rem;
	line-height: 1;
	padding: 0 !important;
	border-radius: 50% !important;
	cursor: pointer;
	box-shadow: none !important;
	transition: background 0.18s ease, color 0.18s ease;
}
.ld-ship-bar__close:hover {
	background: var(--ld-cream-dark) !important;
	color: var(--ld-text) !important;
	transform: none !important;
}

.ld-ship-bar__icon {
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: var(--ld-green-lightest);
	color: var(--ld-green-medium);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease;
}

.ld-ship-bar__body {
	min-width: 0;
	padding-right: 1.4rem;
}

.ld-ship-bar__title {
	font-family: var(--ld-font-heading);
	font-weight: 600;
	font-size: 0.98rem;
	color: var(--ld-green-darkest);
	line-height: 1.25;
	margin: 0 0 0.2em;
}
.ld-ship-bar__remaining {
	color: var(--ld-green-medium);
	font-weight: 700;
	white-space: nowrap;
}

.ld-ship-bar__sub {
	font-size: 0.83rem;
	color: var(--ld-text-muted);
	line-height: 1.4;
	margin: 0 0 0.7em;
}

.ld-ship-bar__progress {
	display: flex;
	flex-direction: column;
	gap: 0.35em;
}
.ld-ship-bar__track {
	height: 8px;
	background: var(--ld-cream-dark);
	border-radius: 999px;
	overflow: hidden;
	position: relative;
}
.ld-ship-bar__fill {
	height: 100%;
	width: 0%;
	background: linear-gradient(90deg, var(--ld-green-light), var(--ld-green-medium));
	border-radius: 999px;
	transition: width 0.55s cubic-bezier(0.4, 0, 0.2, 1), background 0.3s ease;
	position: relative;
}
.ld-ship-bar__fill::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,0.45), transparent);
	transform: translateX(-100%);
	animation: ldShipBarShine 2.2s ease-in-out infinite;
}
@keyframes ldShipBarShine {
	0%   { transform: translateX(-100%); }
	60%  { transform: translateX(220%); }
	100% { transform: translateX(220%); }
}

.ld-ship-bar__meta {
	display: flex;
	justify-content: space-between;
	font-size: 0.74rem;
	color: var(--ld-text-muted);
	font-weight: 500;
}
.ld-ship-bar__threshold { letter-spacing: 0.01em; }
.ld-ship-bar__percent {
	color: var(--ld-green-medium);
	font-weight: 700;
}

/* Stan sukcesu — próg osiągnięty */
.ld-ship-bar.is-reached {
	border-color: var(--ld-pink);
	background: linear-gradient(135deg, var(--ld-surface-2) 0%, #2a0a24 100%);
	box-shadow: 0 18px 48px var(--ld-pink-glow);
}
.ld-ship-bar.is-reached .ld-ship-bar__icon {
	background: var(--ld-green-medium);
	color: #fff;
	transform: scale(1.05);
	animation: ldShipBarPulse 1.8s ease-in-out infinite;
}
@keyframes ldShipBarPulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(255, 31, 168, 0.5); }
	50%      { box-shadow: 0 0 0 10px rgba(255, 31, 168, 0); }
}
.ld-ship-bar.is-reached .ld-ship-bar__fill {
	background: linear-gradient(90deg, var(--ld-green-medium), var(--ld-green));
}
.ld-ship-bar.is-reached .ld-ship-bar__title { color: var(--ld-pink-light); }
.ld-ship-bar.is-reached .ld-ship-bar__percent { color: var(--ld-pink-light); }

/* Konfetti — generowane przez JS przy świeżym przekroczeniu progu */
.ld-ship-bar__confetti {
	position: absolute;
	inset: 0;
	pointer-events: none;
	overflow: hidden;
	border-radius: 14px;
}
.ld-ship-bar__confetti i {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 8px;
	height: 8px;
	background: var(--c, var(--ld-green-medium));
	border-radius: 2px;
	transform: translate(-50%, -50%) rotate(var(--r, 0deg));
	opacity: 0;
	animation: ldShipBarConfetti 1.4s cubic-bezier(0.2, 0.7, 0.3, 1) var(--d, 0s) forwards;
}
@keyframes ldShipBarConfetti {
	0%   { transform: translate(-50%, -50%) rotate(0); opacity: 1; }
	100% { transform: translate(calc(-50% + var(--x, 0)), 180px) rotate(720deg); opacity: 0; }
}

/* MOBILE — pełnoszerokościowy sticky pasek nad dolnym menu Storefronta */
@media (max-width: 768px) {
	.ld-ship-bar {
		/* Wysokość Storefront handheld footer bar = 4.235801032em (~68px @ 16px) */
		bottom: 4.235801032em;
		right: 0;
		left: 0;
		width: 100%;
		max-width: 100%;
		border-radius: 14px 14px 0 0;
		border: none;
		border-top: 1px solid var(--ld-border);
		padding: 0.7rem 0.9rem 0.8rem;
		grid-template-columns: 32px 1fr;
		gap: 0.7rem;
		box-shadow: 0 -8px 28px rgba(15, 46, 28, 0.15);
	}
	.ld-ship-bar.is-hidden {
		transform: translateY(calc(100% + 4.235801032em));
	}
	.ld-ship-bar__icon {
		width: 32px;
		height: 32px;
		border-radius: 8px;
	}
	.ld-ship-bar__icon svg { width: 18px; height: 18px; }
	.ld-ship-bar__body { padding-right: 1.4rem; }
	.ld-ship-bar__title { font-size: 0.88rem; }
	.ld-ship-bar__sub { display: none; }
	.ld-ship-bar__progress { gap: 0.25em; }
	.ld-ship-bar__track { height: 6px; }
	.ld-ship-bar__meta { font-size: 0.7rem; }
	.ld-ship-bar__close { top: 4px; right: 6px; }
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 768px) {
	h1 { font-size: 2.1rem; }
	h2 { font-size: 1.6rem; }
	.ld-hero { padding: 3em 1.2em 3.5em; }
	.ld-hero h1 { font-size: 2.1rem; }
	.ld-hero .ld-hero-sub { font-size: 1rem; }
	.ld-categories-grid { grid-template-columns: repeat(2, 1fr); gap: 0.7rem; }
	.ld-cat-tile { padding: 1.2em 0.8em; }
}

/* ============================================================
   KOSZYK W NAGŁÓWKU — zielony pill z ikoną i licznikiem
   (jedyna dzisiejsza zmiana, którą zostawiamy)
   ============================================================ */
.site-header .site-header-cart {
	list-style: none;
}
.site-header .site-header-cart > li { background: none !important; }

.site-header .site-header-cart .cart-contents,
.site-header .site-header-cart a.cart-contents {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.6em !important;
	background: var(--ld-green-medium) !important;
	color: #fff !important;
	padding: 0.6em 1.15em !important;
	border-radius: 999px !important;
	font-weight: 600 !important;
	font-size: 0.93rem !important;
	text-decoration: none !important;
	box-shadow: 0 6px 18px var(--ld-pink-glow) !important;
	transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease !important;
	line-height: 1.2 !important;
	border: 1px solid transparent !important;
	white-space: nowrap;
}
.site-header .site-header-cart a.cart-contents:hover,
.site-header .site-header-cart a.cart-contents:focus {
	background: var(--ld-green-dark) !important;
	color: #fff !important;
	transform: translateY(-1px);
	box-shadow: 0 10px 24px rgba(15, 46, 28, 0.3) !important;
}

/* Ikona koszyka przed kwotą */
.site-header .site-header-cart a.cart-contents::before {
	content: "";
	display: inline-block;
	width: 18px;
	height: 18px;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='9' cy='21' r='1'/><circle cx='20' cy='21' r='1'/><path d='M1 1h4l2.7 13.4a2 2 0 0 0 2 1.6h9.7a2 2 0 0 0 2-1.6L23 6H6'/></svg>");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	flex-shrink: 0;
}

.site-header .site-header-cart .cart-contents .amount,
.site-header .site-header-cart a.cart-contents .amount {
	color: #fff !important;
	font-weight: 700 !important;
	background: transparent !important;
}
.site-header .site-header-cart .cart-contents .count,
.site-header .site-header-cart a.cart-contents .count {
	background: rgba(255, 255, 255, 0.22) !important;
	color: #fff !important;
	font-size: 0.76rem !important;
	font-weight: 600 !important;
	padding: 0.2em 0.65em !important;
	border-radius: 999px !important;
	line-height: 1.2 !important;
	border: none !important;
	letter-spacing: 0.01em;
}

@media (max-width: 480px) {
	.site-header .site-header-cart a.cart-contents {
		padding: 0.5em 0.95em !important;
		font-size: 0.85rem !important;
	}
	.site-header .site-header-cart a.cart-contents .count { display: none !important; }
}

/* ============================================================
   PASEK KOMUNIKATÓW POD MENU (social proof)
   Sticky pod nagłówkiem — pozycja kontrolowana przez JS
   (body ma overflow-x: hidden, więc native position:sticky jest zawodne).
   ============================================================ */
.ld-promo-bar {
	background: linear-gradient(135deg, var(--ld-ink) 0%, #2a0a24 60%, var(--ld-pink-dark) 100%);
	color: #fff;
	font-family: var(--ld-font-body);
	font-size: 0.9rem;
	line-height: 1.4;
	border-top: 1px solid rgba(255, 255, 255, 0.04);
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
	position: relative;
	z-index: 90;
	will-change: transform;
}

.ld-promo-bar.is-stuck {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 9990;
	animation: ldPromoBarSlide 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}
@keyframes ldPromoBarSlide {
	from { transform: translateY(-100%); }
	to   { transform: translateY(0); }
}

.ld-promo-bar__inner {
	max-width: 1500px;
	margin: 0 auto;
	padding: 0.7em 2rem;
	display: flex;
	align-items: center;
	gap: 0.8em;
	min-height: 2.6em;
}

.ld-promo-bar__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #4ade80;
	box-shadow: 0 0 0 0 rgba(74, 222, 128, 0.7);
	animation: ldPromoBarPulse 1.8s ease-in-out infinite;
	flex-shrink: 0;
}
@keyframes ldPromoBarPulse {
	0%   { box-shadow: 0 0 0 0 rgba(74, 222, 128, 0.7); }
	70%  { box-shadow: 0 0 0 10px rgba(74, 222, 128, 0); }
	100% { box-shadow: 0 0 0 0 rgba(74, 222, 128, 0); }
}

.ld-promo-bar__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	color: var(--ld-gold);
	flex-shrink: 0;
}

.ld-promo-bar__messages {
	position: relative;
	flex: 1;
	min-width: 0;
	min-height: 1.5em;
	overflow: hidden;
}

.ld-promo-bar__msg {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	gap: 0.4em;
	opacity: 0;
	transform: translateY(8px);
	transition: opacity 0.45s ease, transform 0.45s ease;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	pointer-events: none;
	color: inherit;
	text-decoration: none;
}
.ld-promo-bar__msg:hover,
.ld-promo-bar__msg:focus { color: inherit; }
.ld-promo-bar__msg:hover .ld-promo-bar__product,
.ld-promo-bar__msg:focus .ld-promo-bar__product {
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
}
.ld-promo-bar__msg.is-active {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
	cursor: pointer;
}
.ld-promo-bar__msg strong {
	color: #fff;
	font-weight: 600;
}
.ld-promo-bar__product {
	color: var(--ld-gold);
	font-weight: 700;
	letter-spacing: 0.01em;
}
.ld-promo-bar__meta {
	color: rgba(255, 255, 255, 0.6);
	font-weight: 400;
}
.ld-promo-bar__time {
	color: rgba(255, 255, 255, 0.45);
	font-size: 0.85em;
	margin-left: auto;
	padding-left: 0.5em;
}

@media (max-width: 768px) {
	.ld-promo-bar { font-size: 0.74rem; }
	.ld-promo-bar__inner {
		padding: 0.5em 0.85rem;
		gap: 0.5em;
		min-height: 2.4em;
	}
	.ld-promo-bar__icon {
		width: 24px;
		height: 24px;
	}
	.ld-promo-bar__icon svg { width: 13px; height: 13px; }
	.ld-promo-bar__time { display: none; }
}
@media (max-width: 480px) {
	.ld-promo-bar { font-size: 0.7rem; }
	.ld-promo-bar__inner { gap: 0.45em; padding-left: 0.65rem; padding-right: 0.65rem; }
}

/* ============================================================
   STRUKTURA SPRZEDAŻOWA — strona produktu + ELIXIR PANORAMIXA
   (inc/elixir-sales.php). Złote akcenty = premium.
   ============================================================ */
:root {
	--ld-gold-dark: var(--ld-pink-dark);
	--ld-gold-light: var(--ld-pink-light);
}

/* Inline ikony SVG (ld_icon) */
.ld-ico { vertical-align: -0.18em; flex: 0 0 auto; }
.ld-sp-usp li .ld-ico { color: var(--ld-green-medium); }
.ld-elx-strip__item .ld-ico { color: var(--ld-gold-light); }
.ld-elx-offer__badge .ld-ico,
.ld-elx-pcard__flag .ld-ico,
.ld-elx-pcard__micro .ld-ico { margin-right: 0.15em; }

/* --- 2. UNIWERSALNE: strona pojedynczego produktu --- */

/* Pasek pilności nad przyciskiem koszyka */
.ld-sp-urgency {
	margin: 1.2em 0 1.4em;
	display: flex;
	flex-direction: column;
	gap: 0.5em;
	font-size: 0.95rem;
}
.ld-sp-urgency__row {
	display: flex;
	align-items: center;
	gap: 0.55em;
	line-height: 1.35;
}
.ld-sp-ship {
	background: var(--ld-green-lightest);
	color: var(--ld-green-darkest);
	border: 1px solid var(--ld-border);
	border-radius: var(--ld-radius);
	padding: 0.7em 0.9em;
	font-weight: 500;
}
.ld-sp-ship .ld-sp-clock {
	font-variant-numeric: tabular-nums;
	background: var(--ld-ink);
	color: #fff;
	padding: 0.05em 0.4em;
	border-radius: 6px;
	letter-spacing: 0.5px;
}
.ld-sp-urgency__ic { flex: 0 0 auto; display: inline-flex; }
.ld-sp-live { color: var(--ld-text-muted); font-size: 0.9rem; padding-left: 0.15em; }
.ld-sp-stock { color: #c0392b; font-weight: 600; font-size: 0.92rem; }
.ld-sp-pulse {
	width: 9px; height: 9px; border-radius: 50%;
	background: #e74c3c; flex: 0 0 auto;
	box-shadow: 0 0 0 0 rgba(231, 76, 60, 0.6);
	animation: ldPulse 1.8s infinite;
}
@keyframes ldPulse {
	0%   { box-shadow: 0 0 0 0 rgba(231, 76, 60, 0.55); }
	70%  { box-shadow: 0 0 0 9px rgba(231, 76, 60, 0); }
	100% { box-shadow: 0 0 0 0 rgba(231, 76, 60, 0); }
}

/* Odznaki zaufania pod koszykiem */
.ld-sp-usp {
	list-style: none;
	margin: 1.4em 0 1em;
	padding: 1em 1.1em;
	background: var(--ld-surface);
	border: 1px solid var(--ld-border);
	border-radius: var(--ld-radius-lg);
	box-shadow: var(--ld-shadow-sm);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.7em 1.2em;
}
.ld-sp-usp li { display: flex; gap: 0.5em; align-items: flex-start; font-size: 0.9rem; line-height: 1.35; color: var(--ld-text); }
.ld-sp-usp__ic { flex: 0 0 auto; }
.ld-sp-pay { display: flex; flex-wrap: wrap; gap: 0.4em 0.6em; align-items: center; font-size: 0.82rem; color: var(--ld-text-muted); margin-bottom: 0.5em; }
.ld-sp-pay__label { font-weight: 600; color: var(--ld-text); }
@media (max-width: 480px) {
	.ld-sp-usp { grid-template-columns: 1fr; }
}

/* Sticky "Kup teraz" */
.ld-sticky-buy {
	position: fixed;
	left: 0; right: 0; bottom: 0;
	z-index: 9999;
	background: var(--ld-surface);
	border-top: 1px solid var(--ld-border);
	box-shadow: 0 -6px 24px rgba(15, 46, 28, 0.12);
	transform: translateY(0);
	animation: ldStickyIn 0.28s ease;
}
@keyframes ldStickyIn { from { transform: translateY(100%); } to { transform: translateY(0); } }
.ld-sticky-buy__inner {
	max-width: 1100px; margin: 0 auto;
	display: flex; align-items: center; gap: 0.8em;
	padding: 0.6em 1rem;
}
.ld-sticky-buy__img { border-radius: 8px; object-fit: cover; flex: 0 0 auto; }
.ld-sticky-buy__info { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; flex: 1 1 auto; }
.ld-sticky-buy__name { font-weight: 600; font-size: 0.9rem; color: var(--ld-green-darkest); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ld-sticky-buy__price { font-size: 0.95rem; }
.ld-sticky-buy__price .amount { font-weight: 700; color: var(--ld-green-darkest); }
.ld-sticky-buy__price del { color: var(--ld-text-muted); font-weight: 400; margin-right: 0.4em; }
.ld-sticky-buy__btn {
	flex: 0 0 auto;
	background: var(--ld-green); color: #fff; border: none; cursor: pointer;
	font-family: var(--ld-font-heading); font-weight: 600; font-size: 1rem;
	padding: 0.75em 1.5em; border-radius: var(--ld-radius);
	transition: background 0.18s ease, transform 0.15s ease;
}
.ld-sticky-buy__btn:hover { background: var(--ld-green-dark); transform: translateY(-1px); }

/* --- 3. PREMIUM ELIXIR na stronie produktu --- */
.ld-elx-ribbon {
	display: inline-flex; align-items: center; gap: 0.5em;
	background: linear-gradient(90deg, var(--ld-gold-dark), var(--ld-gold), var(--ld-gold-light));
	color: #fff; font-family: var(--ld-font-heading); font-weight: 700;
	font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase;
	padding: 0.45em 1em; border-radius: 999px; margin-bottom: 0.8em;
	box-shadow: var(--ld-shadow-sm);
}
.ld-elx-ribbon__star { font-size: 0.7em; }
.ld-sp-urgency.is-elixir .ld-sp-ship { border-color: var(--ld-gold); background: #fbf6ea; }

.ld-elx-kicker {
	display: inline-block; font-family: var(--ld-font-heading); font-weight: 600;
	letter-spacing: 0.12em; text-transform: uppercase; font-size: 0.8rem;
	color: var(--ld-gold-dark); margin-bottom: 0.5em;
}
.ld-elx-kicker--light { color: var(--ld-gold-light); }

.ld-elx-story { margin: 3em 0; }
.ld-elx-story__head { text-align: center; max-width: 720px; margin: 0 auto 2.5em; }
.ld-elx-story__head h2 { font-size: 2rem; margin: 0 0 0.5em; }
.ld-elx-story__head p { color: var(--ld-text-muted); font-size: 1.08rem; line-height: 1.6; }

.ld-elx-benefits {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.2rem; margin: 2em 0 3em;
}
.ld-elx-benefit {
	background: var(--ld-surface); border: 1px solid var(--ld-border); border-radius: var(--ld-radius-lg);
	padding: 1.6em 1.2em; text-align: center; box-shadow: var(--ld-shadow-sm);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.ld-elx-benefit:hover { transform: translateY(-4px); box-shadow: var(--ld-shadow-md); }
.ld-elx-benefit__ic { display: flex; justify-content: center; color: var(--ld-gold-dark); margin-bottom: 0.5em; }
.ld-elx-benefit h3 { font-size: 1.05rem; margin: 0 0 0.4em; }
.ld-elx-benefit p { font-size: 0.9rem; color: var(--ld-text-muted); margin: 0; line-height: 1.5; }

/* Tabela porównawcza — wymuszony ciemny wygląd (spójny z kartami FAQ).
   Komórki tabel domyślnie dziedziczą jasne tło Storefront/WooCommerce,
   a tekst ciemny — nieczytelne na ciemnym motywie. Stąd !important. */
.ld-elx-compare { margin: 3em 0; }
.ld-elx-compare__table {
	width: 100%; border-collapse: collapse; margin: 1.5em auto 0; max-width: 760px;
	background: var(--ld-surface) !important;
	color: var(--ld-text) !important;
	border: 1px solid var(--ld-border);
	border-radius: var(--ld-radius-lg); overflow: hidden;
	box-shadow: var(--ld-shadow-md);
}
.ld-elx-compare__table th, .ld-elx-compare__table td {
	padding: 0.9em 1em; text-align: center;
	background: transparent !important;
	color: var(--ld-text) !important;
	border-bottom: 1px solid var(--ld-border) !important;
}
.ld-elx-compare__table td:first-child, .ld-elx-compare__table th:first-child { text-align: left; font-weight: 500; }
.ld-elx-compare__table tbody tr:nth-child(even) td { background: var(--ld-surface-2) !important; }
.ld-elx-compare__table tbody tr:last-child td { border-bottom: none !important; }
.ld-elx-compare__table thead th {
	font-family: var(--ld-font-heading); font-size: 0.95rem;
	background: var(--ld-surface-2) !important;
	color: var(--ld-heading) !important;
	border-bottom: 1px solid var(--ld-border) !important;
}
.ld-elx-compare__table th.ld-elx-compare__us,
.ld-elx-compare__us { background: var(--ld-pink-dark) !important; color: #fff !important; }
.ld-elx-compare__table .ld-yes { color: var(--ld-pink) !important; font-weight: 700; font-size: 1.2rem; }
.ld-elx-compare__table .ld-no { color: #ff6b6b !important; font-weight: 700; font-size: 1.2rem; }
.ld-elx-compare__table .ld-maybe { color: #e0a82e !important; font-weight: 700; }

/* Tabele wklejone w opisach produktów (specyfikacja itp.).
   Storefront renderuje je jasno (białe tło) — nieczytelne na ciemnym motywie.
   Te reguły wymuszają spójny, ciemny wygląd dla KAŻDEGO produktu. */
.woocommerce-Tabs-panel--description table {
	width: 100%; border-collapse: collapse; margin: 1.5em 0;
	background: var(--ld-surface); color: var(--ld-text);
	border: 1px solid var(--ld-border); border-radius: var(--ld-radius-lg);
	overflow: hidden; box-shadow: var(--ld-shadow-md); font-size: 0.95rem;
}
.woocommerce-Tabs-panel--description table th,
.woocommerce-Tabs-panel--description table td {
	padding: 0.7em 1em; text-align: left; vertical-align: top;
	color: var(--ld-text); background: transparent;
	border-bottom: 1px solid var(--ld-border);
}
.woocommerce-Tabs-panel--description table tbody tr:nth-child(even) td {
	background: var(--ld-surface-2);
}
.woocommerce-Tabs-panel--description table tbody tr:last-child td { border-bottom: none; }
.woocommerce-Tabs-panel--description table td:first-child,
.woocommerce-Tabs-panel--description table th:first-child {
	font-weight: 600; color: var(--ld-text); width: 38%;
}
.woocommerce-Tabs-panel--description table thead th {
	background: var(--ld-pink-dark); color: #fff;
	font-family: var(--ld-font-heading); border-bottom: none;
}

/* FAQ akordeon (współdzielony) */
.ld-elx-faq { margin: 3em auto; max-width: 760px; }
.ld-faq__item { background: var(--ld-surface); border: 1px solid var(--ld-border); border-radius: var(--ld-radius); margin-bottom: 0.7em; overflow: hidden; }
.ld-faq__q {
	width: 100%; text-align: left; background: none; border: none; cursor: pointer;
	font-family: var(--ld-font-heading); font-weight: 600; font-size: 1.02rem; color: var(--ld-green-darkest);
	padding: 1em 1.2em; display: flex; justify-content: space-between; align-items: center; gap: 1em;
}
.ld-faq__chev { transition: transform 0.25s ease; color: var(--ld-green); }
.ld-faq__item.is-open .ld-faq__chev { transform: rotate(180deg); }
.ld-faq__a { max-height: 0; overflow: hidden; transition: max-height 0.3s ease; }
.ld-faq__item.is-open .ld-faq__a { max-height: 400px; }
.ld-faq__a p { margin: 0; padding: 0 1.2em 1.1em; color: var(--ld-text-muted); line-height: 1.6; }

@media (max-width: 768px) {
	.ld-elx-benefits { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
	.ld-elx-benefits { grid-template-columns: 1fr; }
	.ld-elx-compare__table { font-size: 0.85rem; }
	.ld-elx-compare__table th, .ld-elx-compare__table td { padding: 0.7em 0.5em; }
}

/* --- 4. LANDING [ld_elixir_landing] --- */
.ld-elx-landing { font-size: 1rem; }
/* full-bleed: wyrwanie z .col-full na całą szerokość */
.ld-elx-bleed { width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }

.ld-elx-btn {
	display: inline-block; font-family: var(--ld-font-heading); font-weight: 700;
	text-decoration: none; cursor: pointer; border: none; text-align: center;
	padding: 0.85em 1.8em; border-radius: var(--ld-radius); font-size: 1.02rem;
	transition: transform 0.15s ease, box-shadow 0.2s ease, background 0.2s ease;
	line-height: 1.2;
}
.ld-elx-btn--gold {
	background: linear-gradient(135deg, var(--ld-gold-dark), var(--ld-gold));
	color: #fff; box-shadow: 0 8px 22px var(--ld-pink-glow);
}
.ld-elx-btn--gold:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 12px 30px var(--ld-pink-glow); }
.ld-elx-btn--lg { font-size: 1.18rem; padding: 1em 2.4em; }

/* HERO */
.ld-elx-hero {
	background:
		radial-gradient(120% 120% at 50% 0%, rgba(255, 31, 168, 0.22), transparent 55%),
		linear-gradient(160deg, #1a0f1e, var(--ld-ink) 80%);
	color: #f4eef5; text-align: center; padding: 5rem 1.5rem 4.5rem; position: relative; overflow: hidden;
}
.ld-elx-hero::after {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: radial-gradient(60% 60% at 50% 110%, rgba(255, 31, 168, 0.16), transparent);
}
.ld-elx-hero__inner { position: relative; max-width: 760px; margin: 0 auto; }
.ld-elx-hero__title {
	font-family: var(--ld-font-heading); font-weight: 700; color: #fff;
	font-size: clamp(2.6rem, 7vw, 4.6rem); line-height: 0.98; margin: 0.2em 0 0.4em; letter-spacing: -0.02em;
}
.ld-elx-hero__title span {
	background: linear-gradient(90deg, var(--ld-gold-light), var(--ld-gold), var(--ld-gold-dark));
	-webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: var(--ld-gold);
}
.ld-elx-hero__lead { font-size: 1.15rem; line-height: 1.6; color: #d8d2c2; max-width: 600px; margin: 0 auto 1.8em; }
.ld-elx-hero__cta { display: flex; flex-direction: column; align-items: center; gap: 0.8em; }
.ld-elx-hero__micro { font-size: 0.85rem; color: #b9b3a3; }
.ld-elx-hero__trust {
	display: inline-flex; align-items: center; gap: 0.55em; margin-top: 2em;
	font-size: 0.9rem; color: #cfc9b8; background: rgba(255,255,255,0.06);
	padding: 0.5em 1em; border-radius: 999px; border: 1px solid rgba(255,255,255,0.1);
}
.ld-elx-hero__trust .ld-viewers { color: var(--ld-gold-light); font-weight: 700; }

/* Strip korzyści */
.ld-elx-strip {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 0;
	background: var(--ld-ink); color: #f4eef5; text-align: center;
}
.ld-elx-strip__item { padding: 1.1em 0.8em; border-right: 1px solid rgba(255,255,255,0.08); display: flex; flex-direction: column; gap: 0.15em; }
.ld-elx-strip__item:last-child { border-right: none; }
.ld-elx-strip__item strong { font-family: var(--ld-font-heading); font-size: 0.98rem; }
.ld-elx-strip__item span { font-size: 0.8rem; color: #b9b3a3; }

/* Obietnica / kroki */
.ld-elx-promise { padding: 4rem 0 2rem; }
.ld-elx-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-top: 1em; }
.ld-elx-step {
	background: var(--ld-surface); border: 1px solid var(--ld-border); border-radius: var(--ld-radius-lg);
	padding: 2em 1.5em 1.6em; text-align: center; position: relative; box-shadow: var(--ld-shadow-sm);
}
.ld-elx-step__n {
	position: absolute; top: -22px; left: 50%; transform: translateX(-50%);
	width: 44px; height: 44px; border-radius: 50%;
	background: linear-gradient(135deg, var(--ld-gold-dark), var(--ld-gold));
	color: #fff; font-family: var(--ld-font-heading); font-weight: 700; font-size: 1.2rem;
	display: flex; align-items: center; justify-content: center; box-shadow: var(--ld-shadow-md);
}
.ld-elx-step h3 { margin: 0.4em 0 0.4em; font-size: 1.1rem; }
.ld-elx-step p { color: var(--ld-text-muted); font-size: 0.92rem; margin: 0; line-height: 1.5; }

/* Oferta dnia + licznik */
.ld-elx-offer { padding: 2rem 0 4rem; }
.ld-elx-offer__deal {
	background: linear-gradient(135deg, var(--ld-surface-2), #2a0a24); border: 1px solid var(--ld-pink);
	border-radius: var(--ld-radius-lg); padding: 1.6em; text-align: center; max-width: 640px; margin: 0 auto 3em;
	box-shadow: var(--ld-shadow-md);
}
.ld-elx-offer__badge {
	display: inline-block; background: #c0392b; color: #fff; font-weight: 700; font-size: 0.8rem;
	padding: 0.3em 0.9em; border-radius: 999px; margin-bottom: 0.6em; letter-spacing: 0.04em;
}
.ld-elx-offer__deal p { margin: 0 0 0.9em; color: var(--ld-text); font-weight: 500; }
.ld-elx-countdown { display: flex; justify-content: center; gap: 0.6em; }
.ld-elx-countdown__box {
	background: var(--ld-ink); color: #fff; border-radius: var(--ld-radius);
	min-width: 60px; padding: 0.5em 0.4em; display: flex; flex-direction: column; align-items: center;
}
.ld-elx-countdown__box b { font-family: var(--ld-font-heading); font-size: 1.7rem; line-height: 1; font-variant-numeric: tabular-nums; }
.ld-elx-countdown__box small { font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ld-gold-light); margin-top: 0.3em; }

/* Siatka produktów landing */
.ld-elx-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
.ld-elx-pcard {
	background: var(--ld-surface); border: 1px solid var(--ld-border); border-radius: var(--ld-radius-lg);
	padding: 1.4em 1.2em 1.5em; text-align: center; display: flex; flex-direction: column; align-items: center;
	position: relative; box-shadow: var(--ld-shadow-sm); transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.ld-elx-pcard:hover { transform: translateY(-5px); box-shadow: var(--ld-shadow-lg); }
.ld-elx-pcard.is-best { border-color: var(--ld-gold); box-shadow: 0 10px 32px var(--ld-pink-glow); }
.ld-elx-pcard__flag {
	position: absolute; top: -12px; left: 50%; transform: translateX(-50%); white-space: nowrap;
	background: linear-gradient(135deg, var(--ld-gold-dark), var(--ld-gold)); color: #fff;
	font-size: 0.72rem; font-weight: 700; padding: 0.3em 0.9em; border-radius: 999px; box-shadow: var(--ld-shadow-sm);
}
.ld-elx-pcard__media img { max-width: 180px; width: 100%; height: auto; filter: drop-shadow(0 8px 16px rgba(0,0,0,0.1)); margin-bottom: 0.8em; }
.ld-elx-pcard__name { font-size: 1rem; margin: 0 0 0.4em; line-height: 1.3; }
.ld-elx-pcard__name a { color: var(--ld-green-darkest); text-decoration: none; }
.ld-elx-pcard__price { margin-bottom: 0.9em; font-weight: 600; }
.ld-elx-pcard__price .amount { color: var(--ld-green-darkest); }
.ld-elx-pcard .ld-elx-btn { width: 100%; }
.ld-elx-pcard__micro { font-size: 0.76rem; color: #c0392b; margin-top: 0.7em; font-weight: 600; }

/* Social proof */
.ld-elx-social { background: var(--ld-cream-dark); padding: 4rem 1.5rem; }
.ld-elx-reviews { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; max-width: 1100px; margin: 0 auto; }
.ld-elx-review { background: var(--ld-surface); border-radius: var(--ld-radius-lg); padding: 1.8em 1.5em; margin: 0; box-shadow: var(--ld-shadow-sm); }
.ld-elx-stars { color: var(--ld-gold); font-size: 1.1rem; letter-spacing: 2px; margin-bottom: 0.6em; }
.ld-elx-review p { font-style: italic; color: var(--ld-text); line-height: 1.6; margin: 0 0 0.8em; }
.ld-elx-review cite { font-style: normal; font-weight: 600; color: var(--ld-text-muted); font-size: 0.9rem; }
.ld-elx-trust3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; max-width: 1000px; margin: 0 auto; }
.ld-elx-trust3__item { background: var(--ld-surface); border: 1px solid var(--ld-border); border-radius: var(--ld-radius-lg); padding: 1.8em 1.4em; text-align: center; box-shadow: var(--ld-shadow-sm); }
.ld-elx-trust3__item span { display: flex; justify-content: center; color: var(--ld-green); margin-bottom: 0.45em; }
.ld-elx-trust3__item h3 { margin: 0 0 0.4em; font-size: 1.1rem; }
.ld-elx-trust3__item p { margin: 0; color: var(--ld-text-muted); font-size: 0.92rem; line-height: 1.55; }
@media (max-width: 768px) { .ld-elx-trust3 { grid-template-columns: 1fr; } }

/* Gwarancja */
.ld-elx-guarantee {
	display: flex; align-items: center; gap: 1.6em; max-width: 760px; margin: 4rem auto;
	background: var(--ld-green-lightest); border: 1px solid var(--ld-border); border-radius: var(--ld-radius-lg); padding: 2em;
}
.ld-elx-guarantee__seal {
	flex: 0 0 auto; width: 90px; height: 90px; border-radius: 50%;
	background: radial-gradient(circle at 30% 30%, var(--ld-green), var(--ld-green-dark));
	color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center;
	font-family: var(--ld-font-heading); font-weight: 700; font-size: 1.9rem; line-height: 1;
	box-shadow: var(--ld-shadow-md); border: 3px solid var(--ld-gold);
}
.ld-elx-guarantee__seal small { font-size: 0.6rem; text-transform: uppercase; letter-spacing: 0.08em; margin-top: 0.15em; }
.ld-elx-guarantee h2 { margin: 0 0 0.3em; font-size: 1.4rem; }
.ld-elx-guarantee p { margin: 0; color: var(--ld-text-muted); line-height: 1.55; }

/* Finalne CTA */
.ld-elx-final {
	background: linear-gradient(160deg, #2a0a24, var(--ld-ink));
	color: #f4eef5; text-align: center; padding: 4.5rem 1.5rem;
}
.ld-elx-final h2 { color: #fff; font-size: clamp(1.8rem, 5vw, 2.8rem); margin: 0 0 0.3em; }
.ld-elx-final p { color: #d8d2c2; font-size: 1.1rem; margin: 0 0 1.6em; }
.ld-elx-final__micro { display: block; margin-top: 1em; font-size: 0.85rem; color: #b9b3a3; }

.ld-elx-faq--landing { padding: 3rem 0 1rem; }

@media (max-width: 768px) {
	.ld-elx-strip { grid-template-columns: 1fr 1fr; }
	.ld-elx-strip__item:nth-child(2) { border-right: none; }
	.ld-elx-strip__item:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,0.08); }
	.ld-elx-steps { grid-template-columns: 1fr; gap: 2.2rem; }
	.ld-elx-grid { grid-template-columns: 1fr 1fr; }
	.ld-elx-reviews { grid-template-columns: 1fr; }
	.ld-elx-guarantee { flex-direction: column; text-align: center; }
}
@media (max-width: 480px) {
	.ld-elx-hero { padding: 3.5rem 1.2rem 3rem; }
	.ld-elx-grid { grid-template-columns: 1fr; }
	.ld-elx-countdown__box { min-width: 52px; }
	.ld-elx-countdown__box b { font-size: 1.4rem; }
}

/* ============================================================
   MOTYW CIEMNY — WARSTWA BAZOWA (hardening)
   Przechwytuje jasne tła/teksty z motywu-rodzica Storefront
   i z domyślnych styli WooCommerce, których nie widać w plikach dziecka.
   ============================================================ */
html { background-color: var(--ld-bg); }
body,
body.custom-background {
	background-color: var(--ld-bg);
	color: var(--ld-text);
	/* Ambientowe poświaty neonowe (klimat dark UI) */
	background-image:
		radial-gradient(42% 38% at 6% 3%,  rgba(255, 31, 168, 0.13), transparent 72%),
		radial-gradient(40% 36% at 96% 14%, rgba(150, 45, 210, 0.13), transparent 72%),
		radial-gradient(55% 50% at 84% 99%, rgba(255, 31, 168, 0.09), transparent 72%);
	background-repeat: no-repeat;
}
/* Na desktopie poświaty trzymają się okna (na mobile scrollują — bez janku) */
@media (min-width: 769px) {
	body, body.custom-background { background-attachment: fixed, fixed, fixed; }
}
/* Kontenery przezroczyste, żeby tło z poświatami prześwitywało */
.site,
.site-content,
#page,
#content { background-color: transparent !important; }

/* Tekst pomocniczy / drobny */
.site-content p,
.entry-content p,
.woocommerce-account .addresses .title,
.widget,
.site-main { color: var(--ld-text); }

/* Pola formularzy — globalnie + WooCommerce + checkout */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="number"],
input[type="date"],
textarea,
select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce .quantity input.qty,
.select2-container--default .select2-selection--single,
.select2-dropdown {
	background-color: var(--ld-surface) !important;
	color: var(--ld-text) !important;
	border: 1px solid var(--ld-border) !important;
}
::placeholder { color: var(--ld-text-muted); opacity: 1; }
input:focus,
textarea:focus,
select:focus {
	outline: none;
	border-color: var(--ld-pink) !important;
	box-shadow: 0 0 0 3px rgba(255, 31, 168, 0.25);
}

/* Select2 (kraj/region w checkout) — rozwijana lista */
.select2-dropdown { border-color: var(--ld-border) !important; }
.select2-container--default .select2-results__option--highlighted[aria-selected] {
	background-color: var(--ld-pink) !important;
	color: #fff !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
	color: var(--ld-text) !important;
}

/* Tabele WooCommerce (koszyk, zamówienie, konto) */
.woocommerce table.shop_table,
.woocommerce-cart table.cart,
.woocommerce .cart-collaterals .cart_totals table,
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading {
	background-color: var(--ld-surface);
	border-color: var(--ld-border);
	color: var(--ld-text);
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td,
.woocommerce-checkout #order_review table th,
.woocommerce-checkout #order_review table td {
	border-color: var(--ld-border) !important;
	color: var(--ld-text);
}
.woocommerce table.shop_table thead th,
.woocommerce-checkout #payment {
	background-color: var(--ld-surface-2);
}
.woocommerce-checkout #payment {
	border-radius: var(--ld-radius-lg);
}
.woocommerce-checkout #payment ul.payment_methods {
	border-color: var(--ld-border);
}

/* Komunikaty / błędy WooCommerce */
.woocommerce-error,
.woocommerce-noreviews,
.woocommerce p.no-comments {
	background: var(--ld-surface-2);
	color: var(--ld-text);
	border-top-color: var(--ld-pink) !important;
}

/* Ceny domyślnie (poza kafelkami) */
.woocommerce .price,
.woocommerce-Price-amount { color: var(--ld-text); }

/* Linie / poziome separatory */
hr { background-color: var(--ld-border); border-color: var(--ld-border); }

/* Usuń zduplikowaną, zapasową listę stron w nawigacji.
   Storefront renderuje na desktopie drugi `div.menu` (wp_page_menu fallback)
   obok prawdziwego menu w .primary-navigation — to tworzyło pusty box pod menu. */
.main-navigation div.menu { display: none !important; }

/* Na telefonie wyszukiwarka jest w dolnym pasku (handheld footer bar),
   więc ta w nagłówku jest zbędna i zostawiała pustą przestrzeń. */
@media (max-width: 768px) {
	.site-header .site-search { display: none !important; }
}

/* Menu mobilne Storefront (rozwijane pod toggle) */
.main-navigation ul.menu,
.main-navigation div.nav-menu > ul {
	background-color: var(--ld-bg);
}
.main-navigation ul li { border-color: var(--ld-border); }
button.menu-toggle,
button.menu-toggle:hover {
	background-color: var(--ld-surface);
	color: var(--ld-text);
	border: 1px solid var(--ld-border);
}

/* Storefront handheld footer bar — ikony i licznik koszyka */
.storefront-handheld-footer-bar ul li > a,
.storefront-handheld-footer-bar ul li.cart > a {
	color: #fff;
}
.storefront-handheld-footer-bar ul li.cart .count {
	background-color: var(--ld-ink);
	color: #fff;
}

/* Breadcrumb */
.woocommerce-breadcrumb,
.woocommerce-breadcrumb a { color: var(--ld-text-muted); }

/* Recenzje / komentarze */
.woocommerce #reviews #comments ol.commentlist li .comment-text {
	background: var(--ld-surface);
	border-color: var(--ld-border);
	color: var(--ld-text);
}

/* Storefront <mark> w wynikach wyszukiwania */
mark, .reply .comment-reply-link { background: var(--ld-pink); color: #fff; }

/* ============================================================
   NEON GLOW — poświaty (klimat nowoczesnego dark UI)
   ============================================================ */

/* Przyciski — różowa neonowa poświata */
.button, button, input[type="submit"], .added_to_cart,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit,
.ld-elixir-cta, .ld-sticky-buy__btn {
	box-shadow: 0 2px 10px rgba(255, 31, 168, 0.30) !important;
}
.button:hover, button:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce input.button:hover,
.ld-elixir-cta:hover, .ld-sticky-buy__btn:hover {
	box-shadow: 0 6px 22px rgba(255, 31, 168, 0.55) !important;
}

/* Kafelki kategorii — świecąca ramka + świecąca ikona */
.ld-cat-tile { transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease, background .22s ease; }
.ld-cat-tile svg { filter: drop-shadow(0 0 6px rgba(255, 31, 168, 0.45)); transition: filter .22s ease; }
.ld-cat-tile:hover { box-shadow: 0 0 0 1px var(--ld-pink), 0 10px 34px rgba(255, 31, 168, 0.28); }
.ld-cat-tile:hover svg { filter: drop-shadow(0 0 12px rgba(255, 31, 168, 0.85)); }

/* Kafelki zaufania — świecące ikony + glow na hover */
.ld-trust-tile { transition: box-shadow .22s ease, transform .22s ease; }
.ld-trust-tile svg { filter: drop-shadow(0 0 6px rgba(255, 31, 168, 0.40)); }
.ld-trust-tile:hover {
	transform: translateY(-3px);
	box-shadow: 0 0 0 1px rgba(255, 31, 168, 0.4), 0 10px 30px rgba(255, 31, 168, 0.20);
}

/* Podkreślenie tytułów sekcji — neonowa kreska */
.ld-section-title::after { box-shadow: 0 0 12px rgba(255, 31, 168, 0.85); }

/* Hero — delikatna różowa otoczka */
.ld-hero { box-shadow: 0 0 60px rgba(255, 31, 168, 0.18), inset 0 0 60px rgba(255, 31, 168, 0.05); }

/* Pasek koszyka w nagłówku — mocniejszy glow na hover */
.site-header .site-header-cart a.cart-contents:hover {
	box-shadow: 0 0 0 1px var(--ld-pink), 0 8px 26px rgba(255, 31, 168, 0.55) !important;
}

/* Produkty — neonowy glow zamiast samego czarnego cienia przy najechaniu */
.woocommerce ul.products li.product:hover a img {
	box-shadow: 0 0 0 1px rgba(255, 31, 168, 0.35), 0 16px 34px rgba(255, 31, 168, 0.30);
}

/* Eliksiry — butelki świecą na różowo przy najechaniu */
.ld-elixir-card:hover img { filter: drop-shadow(0 14px 26px rgba(255, 31, 168, 0.42)); }

/* Ikony chipów kategorii — delikatne świecenie */
.ld-cat-chip__icon { filter: drop-shadow(0 0 4px rgba(255, 31, 168, 0.35)); }

/* ============================================================
   OPINIE KLIENTÓW — karty opinii + „screeny" z czatu (Messenger)
   ============================================================ */
.ld-reviews-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 1.4rem;
	margin: 2em 0 0;
	align-items: start;
}
@media (max-width: 600px) { .ld-reviews-grid { grid-template-columns: 1fr; } }

/* --- Karta opinii (gwiazdki + tekst) --- */
.ld-rv-card {
	background: var(--ld-surface);
	border: 1px solid var(--ld-border);
	border-radius: var(--ld-radius-lg);
	padding: 1.5em 1.4em 1.3em;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.75em;
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.ld-rv-card:hover {
	transform: translateY(-4px);
	border-color: var(--ld-pink);
	box-shadow: 0 0 0 1px var(--ld-pink), 0 14px 34px rgba(255, 31, 168, 0.22);
}
.ld-rv-stars {
	color: var(--ld-pink);
	font-size: 1.05rem;
	letter-spacing: 2px;
	filter: drop-shadow(0 0 5px rgba(255, 31, 168, 0.5));
}
.ld-rv-star-empty { color: rgba(255, 255, 255, 0.16); }
.ld-rv-text {
	margin: 0;
	color: var(--ld-text);
	line-height: 1.55;
	font-size: 1rem;
	quotes: none;
}
.ld-rv-text::before {
	content: "“";
	color: var(--ld-pink);
	font-size: 1.5em;
	font-weight: 700;
	margin-right: 0.08em;
	line-height: 0;
	vertical-align: -0.35em;
}
.ld-rv-foot { display: flex; align-items: center; gap: 0.7em; margin-top: auto; }
.ld-rv-ava {
	flex: 0 0 auto;
	width: 40px; height: 40px;
	border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg, var(--ld-pink), var(--ld-pink-dark));
	color: #fff;
	font-weight: 700;
	font-family: var(--ld-font-heading);
	font-size: 1.05rem;
	box-shadow: 0 0 12px var(--ld-pink-glow);
}
.ld-rv-author { display: flex; flex-direction: column; font-weight: 600; color: var(--ld-heading); line-height: 1.25; }
.ld-rv-author small { font-weight: 400; color: var(--ld-text-muted); font-size: 0.8rem; }
.ld-rv-check { width: 20px; height: 20px; color: var(--ld-pink); margin-left: auto; flex: 0 0 auto; }

/* --- „Screen" z czatu (Messenger) --- */
.ld-chat-card {
	background: var(--ld-surface);
	border: 1px solid var(--ld-border);
	border-radius: 20px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.ld-chat-card:hover {
	transform: translateY(-4px);
	border-color: var(--ld-pink);
	box-shadow: 0 0 0 1px var(--ld-pink), 0 14px 34px rgba(255, 31, 168, 0.22);
}
.ld-chat-head {
	display: flex;
	align-items: center;
	gap: 0.6em;
	padding: 0.75em 1em;
	background: var(--ld-surface-2);
	border-bottom: 1px solid var(--ld-border);
}
.ld-chat-head .ld-rv-ava { width: 34px; height: 34px; font-size: 0.95rem; }
.ld-chat-name { display: flex; flex-direction: column; font-weight: 700; color: var(--ld-heading); line-height: 1.2; font-size: 0.92rem; }
.ld-chat-name small {
	font-weight: 400;
	font-size: 0.72rem;
	color: #4ade80;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
.ld-chat-name small::before {
	content: "";
	width: 6px; height: 6px;
	border-radius: 50%;
	background: #4ade80;
	box-shadow: 0 0 6px #4ade80;
}
.ld-chat-logo { width: 22px; height: 22px; margin-left: auto; color: #0a7cff; flex: 0 0 auto; }
.ld-chat-body {
	padding: 1em 0.9em;
	display: flex;
	flex-direction: column;
	gap: 0.4em;
	background: radial-gradient(120% 80% at 50% 0%, rgba(255, 31, 168, 0.05), transparent 70%);
}
.ld-chat-msg {
	max-width: 84%;
	padding: 0.55em 0.85em;
	border-radius: 16px;
	font-size: 0.92rem;
	line-height: 1.4;
	overflow-wrap: break-word;
	word-break: break-word;
}
.ld-chat-msg.is-in {
	align-self: flex-start;
	background: var(--ld-surface-2);
	color: var(--ld-text);
	border-bottom-left-radius: 5px;
}
.ld-chat-msg.is-out {
	align-self: flex-end;
	background: linear-gradient(135deg, var(--ld-pink), var(--ld-pink-dark));
	color: #fff;
	border-bottom-right-radius: 5px;
	box-shadow: 0 2px 10px var(--ld-pink-glow);
}
.ld-chat-foot {
	text-align: center;
	padding: 0.5em;
	font-size: 0.72rem;
	color: var(--ld-text-muted);
	border-top: 1px solid var(--ld-border);
}

/* Sekcja opinii na stronie głównej */
.ld-reviews-section { margin-top: 4em; }
.ld-reviews-more { text-align: center; margin-top: 2.2em; }
.ld-reviews-more .button { font-weight: 600; }

/* ============================================================
   STOPKA DOLNA — kolumny
   ============================================================ */
.ld-footer {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1.2fr 1fr;
	gap: 2rem 2.4rem;
	margin-bottom: 1em;
}
.ld-footer__col h3 {
	font-size: 0.92rem !important;
	text-transform: uppercase;
	letter-spacing: 0.09em;
	color: var(--ld-pink) !important;
	margin: 0 0 1.1em !important;
	text-shadow: 0 0 12px rgba(255, 31, 168, 0.4);
}
.ld-footer__col ul { list-style: none; margin: 0; padding: 0; }
.ld-footer__col li { margin: 0 0 0.6em; }
.ld-footer__col a {
	color: rgba(255, 255, 255, 0.72);
	text-decoration: none;
	transition: color 0.18s ease, padding-left 0.18s ease;
}
.ld-footer__col a:hover { color: var(--ld-pink-light); padding-left: 4px; }

.ld-footer__brand .ld-footer__logo {
	font-family: var(--ld-font-heading);
	font-weight: 800;
	font-size: 1.45rem;
	color: #fff;
	letter-spacing: -0.01em;
}
.ld-footer__tag {
	color: var(--ld-text-muted);
	font-size: 0.9rem;
	line-height: 1.55;
	margin: 0.9em 0 0;
	max-width: 30ch;
}
.ld-footer__company {
	font-style: normal;
	color: rgba(255, 255, 255, 0.72);
	line-height: 1.75;
	font-size: 0.92rem;
}
.ld-footer__company strong { color: #fff; }
.ld-footer__company a { color: var(--ld-pink-light); text-decoration: none; }
.ld-footer__company a:hover { color: #fff; }
.ld-footer__pay { min-height: 40px; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.ld-footer__soon {
	font-size: 0.82rem;
	color: var(--ld-text-muted);
	border: 1px dashed var(--ld-border);
	border-radius: 8px;
	padding: 0.5em 0.9em;
}
/* Logo metod płatności */
.ld-pay {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 34px;
	min-width: 56px;
	padding: 0 11px;
	background: #fff;
	border-radius: 7px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);
	font-family: var(--ld-font-heading), sans-serif;
	font-weight: 800;
	font-size: 0.98rem;
	line-height: 1;
	letter-spacing: 0.2px;
}
.ld-pay--p24 { color: #1a1a1a; }
.ld-pay--p24 b { color: #d13239; font-weight: 800; }
.ld-pay--blik { background: #000; color: #fff; letter-spacing: 0.5px; }
.ld-pay--visa { color: #1434cb; font-style: italic; font-weight: 900; letter-spacing: 0.6px; }
.ld-pay--mc { gap: 0; padding: 0 12px; }
.ld-pay--mc .mc1, .ld-pay--mc .mc2 { width: 19px; height: 19px; border-radius: 50%; display: block; }
.ld-pay--mc .mc1 { background: #eb001b; }
.ld-pay--mc .mc2 { background: #f79e1b; margin-left: -7px; mix-blend-mode: multiply; }

/* Akordeon (FAQ i inne strony z <details>) */
.entry-content details {
	background: var(--ld-surface);
	border: 1px solid var(--ld-border);
	border-radius: var(--ld-radius);
	margin: 0 0 0.7em;
	overflow: hidden;
	transition: border-color .18s ease;
}
.entry-content details:hover { border-color: var(--ld-pink); }
.entry-content details > summary {
	cursor: pointer;
	list-style: none;
	padding: 1em 2.6em 1em 1.2em;
	font-family: var(--ld-font-heading);
	font-weight: 600;
	font-size: 1.02rem;
	color: #fff;
	position: relative;
	transition: color .18s ease;
}
.entry-content details > summary::-webkit-details-marker { display: none; }
.entry-content details > summary::after {
	content: "+";
	position: absolute;
	right: 1.1em;
	top: 50%;
	transform: translateY(-50%);
	color: var(--ld-pink);
	font-size: 1.35em;
	font-weight: 700;
	line-height: 0;
}
.entry-content details[open] > summary::after { content: "\2212"; }
.entry-content details[open] > summary { color: var(--ld-pink); border-bottom: 1px solid var(--ld-border); }
.entry-content details > summary:hover { color: var(--ld-pink-light); }
.entry-content details > p {
	margin: 0;
	padding: 1em 1.2em 1.1em;
	color: var(--ld-text-muted);
	line-height: 1.6;
}
.ld-footer__credit {
	text-align: center;
	font-size: 0.82rem;
}

@media (max-width: 900px) {
	.ld-footer { grid-template-columns: 1fr 1fr; gap: 1.8rem 1.6rem; }
	.ld-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
	.ld-footer { grid-template-columns: 1fr; }
}

/* ============================================================
   FORMULARZ REKLAMACJI
   ============================================================ */
.ld-rkl-form {
	max-width: 940px;
	margin: 1.5em auto;
	border: 1px solid var(--ld-border);
	border-radius: var(--ld-radius-lg);
	overflow: hidden;
	background: var(--ld-surface);
}
.ld-rkl-row {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 1.2em;
	align-items: center;
	padding: 1em 1.4em;
}
.ld-rkl-row.is-alt { background: rgba(255, 255, 255, 0.03); }
.ld-rkl-row > label {
	color: var(--ld-text);
	font-weight: 500;
	font-size: 0.95rem;
	line-height: 1.35;
}
.ld-rkl-row > label small {
	display: block;
	color: var(--ld-text-muted);
	font-weight: 400;
	font-size: 0.78rem;
	margin-top: 0.2em;
}
.ld-rkl-req { color: var(--ld-pink); }
.ld-rkl-field input,
.ld-rkl-field select,
.ld-rkl-field textarea {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}
.ld-rkl-field input[type="file"] {
	padding: 0.55em 0.7em !important;
	font-size: 0.88rem;
}
/* Ikona kalendarza w polach typu date — biała na ciemnym tle */
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator {
	filter: invert(1) brightness(1.7);
	opacity: 0.8;
	cursor: pointer;
}
input[type="date"]::-webkit-calendar-picker-indicator:hover,
input[type="datetime-local"]::-webkit-calendar-picker-indicator:hover,
input[type="time"]::-webkit-calendar-picker-indicator:hover { opacity: 1; }
.ld-rkl-section {
	margin: 0;
	padding: 1em 1.4em 0.8em;
	background: var(--ld-surface-2);
	border-top: 1px solid var(--ld-border);
	border-bottom: 1px solid var(--ld-border);
	font-size: 0.85rem !important;
	text-transform: uppercase;
	letter-spacing: 0.09em;
	color: var(--ld-pink) !important;
}
.ld-rkl-rodo {
	display: flex;
	gap: 0.7em;
	align-items: flex-start;
	padding: 1.3em 1.4em;
	font-size: 0.85rem;
	color: var(--ld-text-muted);
	line-height: 1.5;
	border-top: 1px solid var(--ld-border);
}
.ld-rkl-rodo input[type="checkbox"] { margin-top: 0.2em; flex: 0 0 auto; width: 18px; height: 18px; accent-color: var(--ld-pink); }
.ld-rkl-rodo a { color: var(--ld-pink-light); }
.ld-rkl-rodo strong { color: var(--ld-text); }
.ld-rkl-submit { text-align: center; padding: 0.4em 1.4em 1.6em; }
.ld-rkl-submit .button { font-size: 1.05rem; padding: 0.9em 2.4em; }

.ld-rkl-notice {
	max-width: 940px;
	margin: 1.5em auto;
	padding: 1.1em 1.4em;
	border-radius: var(--ld-radius);
	border: 1px solid var(--ld-border);
	font-weight: 500;
}
.ld-rkl-notice.is-ok { background: var(--ld-surface-2); border-color: var(--ld-pink); color: #fff; box-shadow: 0 0 0 1px var(--ld-pink), 0 0 24px var(--ld-pink-glow); }
.ld-rkl-notice.is-err { background: rgba(192, 57, 43, 0.12); border-color: #c0392b; color: #ffb4ab; }

@media (max-width: 720px) {
	.ld-rkl-row { grid-template-columns: 1fr; gap: 0.5em; }
	.ld-rkl-row > label { font-weight: 600; }
}
