/* ============================================================
   MCZ Plugins — design system
   Kolorystyka i typografia wg brandbooka Marketing M.Czarnecki
   ============================================================ */

:root {
	--color-background: #050518;
	--color-surface: #11104A;
	--color-surface-light: #19185C;

	--color-primary: #4F46FF;
	--color-primary-light: #6C5CFF;

	--color-accent: #FFB629;
	--color-accent-light: #FFC857;
	--color-accent-dark: #FF9417;

	--color-text: #F3F4FF;
	--color-heading: #FFFFFF;
	--color-muted: #A7A8C7;

	--color-border: #29285C;

	--font-heading: "Space Grotesk", sans-serif;
	--font-body: "Inter", sans-serif;
	--font-code: "JetBrains Mono", monospace;

	--gradient-bg: linear-gradient(135deg, #050518 0%, #11104A 55%, #3024D9 100%);
	--gradient-brand: linear-gradient(135deg, #4F46FF 0%, #6C5CFF 100%);
	--gradient-gold: linear-gradient(135deg, #FFC857 0%, #FF9417 100%);
	--gradient-logo: linear-gradient(135deg, #6C5CFF 0%, #4F46FF 45%, #FFB629 100%);

	--radius: 16px;
	--radius-sm: 10px;
	--shadow-card: 0 10px 40px rgba(3, 3, 20, 0.55);
	--shadow-glow: 0 0 60px rgba(79, 70, 255, 0.35);
	--container: 1200px;
	--header-h: 84px;

	/* Aliasy (używane przez nowsze komponenty) */
	--c-bg: #050518;
	--c-indigo: #11104A;
	--c-surface: #14134f;
	--c-surface-light: #19185C;
	--c-violet: #4F46FF;
	--c-purple: #6C5CFF;
	--c-gold: #FFB629;
	--c-text: #F3F4FF;
	--c-muted: #A7A8C7;
	--c-border: #29285C;
	--f-head: "Space Grotesk", sans-serif;
	--f-body: "Inter", sans-serif;
	--f-mono: "JetBrains Mono", monospace;
}

/* ---------- Reset / baza ---------- */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
	margin: 0;
	font-family: var(--font-body);
	font-size: 17px;
	font-weight: 400;
	line-height: 1.7;
	color: var(--color-text);
	background-color: var(--color-background);
	background-image:
		radial-gradient(ellipse 60% 40% at 85% -5%, rgba(48, 36, 217, 0.45), transparent 65%),
		radial-gradient(ellipse 45% 35% at 0% 100%, rgba(17, 16, 74, 0.9), transparent 70%);
	background-attachment: fixed;
	-webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }

a { color: var(--color-primary-light); text-decoration: none; transition: color .2s ease; }
a:hover { color: var(--color-accent-light); }

h1, h2, h3, h4, h5 {
	font-family: var(--font-heading);
	color: var(--color-heading);
	margin: 0 0 .5em;
}

h1 { font-size: clamp(42px, 6vw, 72px); font-weight: 700; line-height: 1.05; letter-spacing: -0.04em; }
h2 { font-size: clamp(32px, 4vw, 48px); font-weight: 700; line-height: 1.1; letter-spacing: -0.03em; }
h3 { font-size: 24px; font-weight: 600; line-height: 1.25; }
h4 { font-size: 19px; font-weight: 600; }

p { margin: 0 0 1em; }

code, pre, kbd {
	font-family: var(--font-code);
	font-size: .9em;
}

code {
	background: rgba(79, 70, 255, 0.14);
	border: 1px solid var(--color-border);
	border-radius: 6px;
	padding: .12em .45em;
	color: var(--color-accent-light);
}

pre {
	background: #0A0930;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	padding: 20px;
	overflow-x: auto;
	line-height: 1.6;
}

pre code { background: none; border: 0; padding: 0; color: var(--color-text); }

::selection { background: var(--color-primary); color: #fff; }

:focus-visible {
	outline: 2px solid var(--color-accent);
	outline-offset: 3px;
	border-radius: 4px;
}

.skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	background: var(--color-accent);
	color: #050518;
	padding: 10px 18px;
	z-index: 999;
	border-radius: 0 0 var(--radius-sm) 0;
	font-weight: 600;
}
.skip-link:focus { left: 0; }

/* ---------- Layout ---------- */
.container {
	width: min(var(--container), calc(100% - 48px));
	margin-inline: auto;
}

.container--narrow { max-width: 820px; }

.section { padding: clamp(64px, 9vw, 120px) 0; }
.section--first { padding-top: clamp(40px, 6vw, 72px); }
.section--surface {
	background: linear-gradient(180deg, rgba(17, 16, 74, 0.55), rgba(17, 16, 74, 0.2));
	border-block: 1px solid var(--color-border);
}
.section__more { text-align: center; margin-top: 48px; }

.grid { display: grid; gap: 24px; }
.grid--3 { grid-template-columns: repeat(3, 1fr); }

/* ---------- Komponenty ---------- */
.eyebrow {
	display: inline-block;
	font-family: var(--font-code);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--color-primary-light);
	margin-bottom: 16px;
}

.eyebrow--pill {
	background: rgba(79, 70, 255, 0.14);
	border: 1px solid var(--color-border);
	border-radius: 100px;
	padding: 8px 18px;
	color: var(--color-text);
}

.section-head { max-width: 720px; margin-bottom: clamp(36px, 5vw, 56px); }
.section-head--center { margin-inline: auto; text-align: center; }
.section-head__desc { color: var(--color-muted); font-size: 18px; }

.text-gradient-gold {
	background: var(--gradient-gold);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

/* Przyciski */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-family: var(--font-heading);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1;
	padding: 16px 30px;
	border-radius: 12px;
	border: 1px solid transparent;
	cursor: pointer;
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
	white-space: nowrap;
}

.btn--gold {
	background: linear-gradient(135deg, var(--color-accent-light) 0%, var(--color-accent-dark) 100%);
	color: #1A0F00;
	box-shadow: 0 8px 26px rgba(255, 148, 23, 0.32);
}
.btn--gold:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 34px rgba(255, 182, 41, 0.45);
	color: #1A0F00;
}

.btn--ghost {
	background: rgba(79, 70, 255, 0.10);
	border-color: var(--color-border);
	color: var(--color-text);
}
.btn--ghost:hover {
	border-color: var(--color-primary-light);
	background: rgba(108, 92, 255, 0.16);
	color: #fff;
	transform: translateY(-2px);
}

.btn--sm { padding: 11px 20px; font-size: 14px; }
.btn--lg { padding: 19px 38px; font-size: 16px; }

/* Karty */
.card {
	background: linear-gradient(160deg, rgba(25, 24, 92, 0.75), rgba(17, 16, 74, 0.6));
	border: 1px solid var(--color-border);
	border-radius: var(--radius);
	padding: 32px;
	box-shadow: var(--shadow-card);
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.card:hover {
	transform: translateY(-4px);
	border-color: rgba(108, 92, 255, 0.55);
	box-shadow: var(--shadow-card), 0 0 0 1px rgba(108, 92, 255, 0.2);
}

.icon { width: 22px; height: 22px; flex: none; }

.feature__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 14px;
	background: var(--gradient-brand);
	color: #fff;
	margin-bottom: 20px;
	box-shadow: 0 8px 22px rgba(79, 70, 255, 0.4);
}
.feature__icon .icon { width: 24px; height: 24px; }
.feature p { color: var(--color-muted); margin: 0; }

/* ---------- Nagłówek ---------- */
.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(5, 5, 24, 0.78);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	border-bottom: 1px solid var(--color-border);
	transition: background .25s ease;
}

.site-header__inner {
	display: flex;
	align-items: center;
	gap: 32px;
	min-height: var(--header-h);
}

.site-logo img { height: 52px; width: auto; }

.site-nav { margin-left: auto; display: flex; align-items: center; gap: 28px; }

.site-nav__list {
	display: flex;
	align-items: center;
	gap: 6px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-nav__list a {
	font-family: var(--font-heading);
	font-size: 15px;
	font-weight: 500;
	color: var(--color-text);
	padding: 10px 14px;
	border-radius: 10px;
	transition: color .2s ease, background .2s ease;
}

.site-nav__list a:hover { color: #fff; background: rgba(108, 92, 255, 0.16); }

.site-nav__list .current-menu-item > a,
.site-nav__list .current_page_item > a {
	color: #fff;
	background: rgba(79, 70, 255, 0.22);
	box-shadow: inset 0 0 0 1px rgba(108, 92, 255, 0.45);
}

.site-header__actions { display: flex; align-items: center; gap: 14px; }

.header-cart {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 12px;
	border: 1px solid var(--color-border);
	background: rgba(17, 16, 74, 0.6);
	color: var(--color-text);
}
.header-cart:hover { border-color: var(--color-primary-light); color: #fff; }

.cart-count {
	position: absolute;
	top: -6px;
	right: -6px;
	min-width: 20px;
	height: 20px;
	padding: 0 5px;
	display: none;
	align-items: center;
	justify-content: center;
	font-family: var(--font-code);
	font-size: 11px;
	font-weight: 500;
	border-radius: 100px;
	background: var(--gradient-gold);
	color: #1A0F00;
}
.cart-count--visible { display: inline-flex; }

.nav-toggle {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 46px;
	height: 46px;
	padding: 12px;
	background: rgba(17, 16, 74, 0.6);
	border: 1px solid var(--color-border);
	border-radius: 12px;
	cursor: pointer;
}
.nav-toggle span {
	display: block;
	height: 2px;
	background: var(--color-text);
	border-radius: 2px;
	transition: transform .25s ease, opacity .25s ease;
}
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ---------- Hero ---------- */
.hero {
	position: relative;
	padding: clamp(72px, 10vw, 140px) 0 clamp(64px, 8vw, 110px);
	overflow: hidden;
}

.hero__glow {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse 55% 60% at 78% 20%, rgba(79, 70, 255, 0.28), transparent 65%),
		radial-gradient(ellipse 35% 35% at 15% 85%, rgba(255, 182, 41, 0.10), transparent 70%);
	pointer-events: none;
}

.hero__inner {
	position: relative;
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	gap: clamp(40px, 6vw, 80px);
	align-items: center;
}

.hero__lead {
	font-size: 19px;
	color: var(--color-muted);
	max-width: 540px;
	margin-bottom: 36px;
}

.hero__actions { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 48px; }

.hero__stats {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	list-style: none;
	margin: 0;
	padding: 24px 0 0;
	border-top: 1px solid var(--color-border);
}
.hero__stats strong {
	display: block;
	font-family: var(--font-heading);
	font-size: 32px;
	font-weight: 700;
	color: #fff;
	letter-spacing: -0.02em;
}
.hero__stats span { font-size: 14px; color: var(--color-muted); }

.hero__terminal {
	background: #0A0930;
	border: 1px solid var(--color-border);
	border-radius: var(--radius);
	box-shadow: var(--shadow-card), var(--shadow-glow);
	overflow: hidden;
	transform: rotate(1.2deg);
}
.hero__terminal-bar {
	display: flex;
	gap: 8px;
	padding: 14px 18px;
	border-bottom: 1px solid var(--color-border);
	background: rgba(17, 16, 74, 0.5);
}
.hero__terminal-bar span { width: 11px; height: 11px; border-radius: 50%; background: var(--color-border); }
.hero__terminal-bar span:first-child { background: var(--color-accent-dark); }
.hero__terminal-bar span:nth-child(2) { background: var(--color-accent-light); }
.hero__terminal-bar span:nth-child(3) { background: var(--color-primary-light); }
.hero__terminal pre { border: 0; border-radius: 0; margin: 0; padding: 26px 24px; font-size: 14.5px; }
.t-ok { color: #62E9A2; }
.t-gold { color: var(--color-accent); }

.hero__visual img {
	border-radius: var(--radius);
	box-shadow: var(--shadow-card), var(--shadow-glow);
}

/* ---------- Kroki ---------- */
.steps {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: step;
}

.steps__item {
	position: relative;
	padding: 32px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius);
	background: rgba(17, 16, 74, 0.35);
}

.steps__num {
	display: inline-block;
	font-size: 14px;
	background: rgba(255, 182, 41, 0.10);
	border-color: rgba(255, 182, 41, 0.35);
	color: var(--color-accent);
	margin-bottom: 18px;
}

.steps__item p { color: var(--color-muted); margin: 0; }

/* ---------- Opinie ---------- */
.testimonial { display: flex; flex-direction: column; gap: 14px; margin: 0; }
.testimonial__stars { display: flex; gap: 4px; color: var(--color-accent); }
.testimonial__stars .icon { width: 16px; height: 16px; fill: currentColor; }
.testimonial p { font-size: 16.5px; margin: 0; flex: 1; }
.testimonial footer strong { display: block; font-family: var(--font-heading); color: #fff; }
.testimonial footer span { font-size: 14px; color: var(--color-muted); }

/* ---------- Panel CTA ---------- */
.cta-panel {
	position: relative;
	text-align: center;
	padding: clamp(48px, 7vw, 88px) clamp(24px, 5vw, 80px);
	border-radius: 24px;
	border: 1px solid rgba(108, 92, 255, 0.45);
	background: linear-gradient(135deg, rgba(79, 70, 255, 0.28) 0%, rgba(17, 16, 74, 0.85) 60%);
	overflow: hidden;
}
.cta-panel__glow {
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 50% 60% at 50% 0%, rgba(255, 182, 41, 0.16), transparent 65%);
	pointer-events: none;
}
.cta-panel h2, .cta-panel p, .cta-panel .btn { position: relative; }
.cta-panel p { color: var(--color-muted); max-width: 560px; margin: 0 auto 32px; }

/* ---------- Page hero (podstrony) ---------- */
.page-hero {
	padding: clamp(56px, 8vw, 96px) 0 clamp(16px, 3vw, 32px);
	text-align: center;
}
.page-hero h1 { font-size: clamp(36px, 5vw, 56px); }
.page-hero__desc { color: var(--color-muted); max-width: 640px; margin: 0 auto; }

/* ---------- Treść ---------- */
.entry-content { font-size: 17px; }
.entry-content h2 { font-size: clamp(26px, 3vw, 34px); margin-top: 1.6em; }
.entry-content h3 { margin-top: 1.4em; }
.entry-content ul, .entry-content ol { padding-left: 1.3em; margin-bottom: 1.2em; }
.entry-content li { margin-bottom: .45em; }
.entry-content li::marker { color: var(--color-accent); }
.entry-content a { text-decoration: underline; text-underline-offset: 3px; }
.entry-content blockquote {
	margin: 1.5em 0;
	padding: 20px 26px;
	border-left: 3px solid var(--color-accent);
	background: rgba(17, 16, 74, 0.45);
	border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
	color: var(--color-muted);
}
.entry-content img { border-radius: var(--radius-sm); }

/* ---------- O mnie ---------- */
.about {
	display: grid;
	grid-template-columns: 380px 1fr;
	gap: clamp(36px, 6vw, 72px);
	align-items: start;
}
.about__media img {
	border-radius: var(--radius);
	border: 1px solid var(--color-border);
	box-shadow: var(--shadow-card);
}
.about__stats {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	list-style: none;
	margin: 20px 0 0;
	padding: 0;
}
.about__stats li {
	padding: 18px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	background: rgba(17, 16, 74, 0.45);
	text-align: center;
}
.about__stats strong {
	display: block;
	font-family: var(--font-heading);
	font-size: 26px;
	color: var(--color-accent);
}
.about__stats span { font-size: 13px; color: var(--color-muted); }

/* ---------- Kontakt ---------- */
.contact-grid {
	display: grid;
	grid-template-columns: 1fr 1.15fr;
	gap: clamp(32px, 5vw, 56px);
	align-items: start;
}
.contact-cards { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.contact-card { display: flex; gap: 18px; align-items: center; padding: 22px; }
.contact-card .feature__icon { width: 46px; height: 46px; margin: 0; flex: none; }
.contact-card__label {
	display: block;
	font-family: var(--font-code);
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--color-muted);
}
.contact-card a { font-family: var(--font-heading); font-weight: 600; color: #fff; }
.contact-card a:hover { color: var(--color-accent-light); }
.contact-card__text { color: var(--color-text); font-size: 15px; }

.form-note { color: var(--color-muted); font-size: 15px; }

/* Formularze (globalnie + CF7/WPForms) */
input[type="text"], input[type="email"], input[type="tel"], input[type="password"],
input[type="number"], input[type="url"], input[type="search"], select, textarea {
	width: 100%;
	font-family: var(--font-body);
	font-size: 15.5px;
	color: var(--color-text);
	background: rgba(5, 5, 24, 0.6);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	padding: 14px 16px;
	transition: border-color .2s ease, box-shadow .2s ease;
	-webkit-appearance: none;
	appearance: none;
}
input:focus, select:focus, textarea:focus {
	outline: none;
	border-color: var(--color-primary-light);
	box-shadow: 0 0 0 3px rgba(108, 92, 255, 0.25);
}
::placeholder { color: rgba(167, 168, 199, 0.65); }
label { font-size: 14.5px; font-weight: 500; color: var(--color-text); }

input[type="submit"], button[type="submit"], .wpcf7-submit {
	width: auto;
	font-family: var(--font-heading);
	font-size: 15px;
	font-weight: 600;
	color: #1A0F00;
	background: var(--gradient-gold);
	border: 0;
	border-radius: 12px;
	padding: 16px 32px;
	cursor: pointer;
	box-shadow: 0 8px 26px rgba(255, 148, 23, 0.32);
	transition: transform .18s ease, box-shadow .18s ease;
}
input[type="submit"]:hover, button[type="submit"]:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 34px rgba(255, 182, 41, 0.45);
}

/* ---------- FAQ ---------- */
.faq { display: grid; gap: 14px; }
.faq__item {
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	background: rgba(17, 16, 74, 0.45);
	transition: border-color .2s ease;
}
.faq__item[open] { border-color: rgba(108, 92, 255, 0.55); }
.faq__item summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	cursor: pointer;
	list-style: none;
	padding: 20px 24px;
	font-family: var(--font-heading);
	font-size: 17px;
	font-weight: 600;
	color: #fff;
}
.faq__item summary::-webkit-details-marker { display: none; }
.faq__chevron {
	flex: none;
	width: 10px;
	height: 10px;
	border-right: 2px solid var(--color-accent);
	border-bottom: 2px solid var(--color-accent);
	transform: rotate(45deg);
	transition: transform .2s ease;
}
.faq__item[open] .faq__chevron { transform: rotate(225deg); }
.faq__answer { padding: 0 24px 22px; color: var(--color-muted); }

/* ---------- Strony prawne ---------- */
.legal-layout {
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: clamp(32px, 5vw, 64px);
	align-items: start;
}
.legal-toc {
	position: sticky;
	top: calc(var(--header-h) + 24px);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	background: rgba(17, 16, 74, 0.45);
	padding: 24px;
}
.legal-toc__title {
	font-size: 13px;
	font-family: var(--font-code);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--color-muted);
	margin-bottom: 14px;
}
.legal-toc ol { margin: 0; padding-left: 1.2em; font-size: 14.5px; }
.legal-toc li { margin-bottom: .55em; }
.legal-toc a { color: var(--color-text); }
.legal-toc a:hover { color: var(--color-accent-light); }

.legal-section { margin-bottom: clamp(32px, 4vw, 48px); scroll-margin-top: calc(var(--header-h) + 24px); }
.legal-section h2 { display: flex; align-items: baseline; gap: 14px; font-size: clamp(22px, 3vw, 28px); }
.legal-section__num { font-size: 15px; color: var(--color-accent); flex: none; }
.legal-intro { margin-bottom: 40px; color: var(--color-muted); }

/* ---------- Zwroty ---------- */
.notice-box {
	display: flex;
	gap: 22px;
	align-items: flex-start;
	padding: 30px;
	margin-bottom: 40px;
	border-radius: var(--radius);
	border: 1px solid rgba(255, 182, 41, 0.4);
	background: linear-gradient(135deg, rgba(255, 182, 41, 0.10), rgba(17, 16, 74, 0.6));
}
.notice-box .feature__icon { margin: 0; background: var(--gradient-gold); color: #1A0F00; }
.notice-box__title { font-size: 21px; margin-bottom: .4em; }
.notice-box p { margin: 0; color: var(--color-text); }

.returns-cta { margin-top: 48px; text-align: center; }
.returns-cta p { color: var(--color-muted); max-width: 560px; margin-inline: auto; }

/* ---------- WooCommerce: sklep ---------- */
.shop-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 32px;
	flex-wrap: wrap;
}
.woocommerce-result-count { color: var(--color-muted); font-size: 14.5px; margin: 0; }
.woocommerce-ordering select { width: auto; padding-right: 40px; }

ul.products {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.product-card {
	position: relative;
	border: 1px solid var(--color-border);
	border-radius: var(--radius);
	background: linear-gradient(160deg, rgba(25, 24, 92, 0.75), rgba(17, 16, 74, 0.55));
	overflow: hidden;
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.product-card:hover {
	transform: translateY(-5px);
	border-color: rgba(108, 92, 255, 0.6);
	box-shadow: var(--shadow-card), 0 0 40px rgba(79, 70, 255, 0.25);
}
.product-card__link { display: flex; flex-direction: column; height: 100%; color: inherit; }
.product-card__media { position: relative; background: #0A0930; border-bottom: 1px solid var(--color-border); }
.product-card__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.product-card__body { display: flex; flex-direction: column; flex: 1; padding: 24px; }
.product-card__title { font-size: 19px; margin-bottom: 8px; color: #fff; }
.product-card:hover .product-card__title { color: var(--color-accent-light); }
.product-card__excerpt { font-size: 14.5px; color: var(--color-muted); flex: 1; }
.product-card__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid var(--color-border);
}
.product-card__price { font-family: var(--font-heading); font-weight: 700; font-size: 20px; color: var(--color-accent); }
.product-card__price del { color: var(--color-muted); font-weight: 400; font-size: .8em; margin-right: 8px; }
.product-card__price ins { text-decoration: none; }

.product-badge {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 2;
	font-family: var(--font-code);
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase;
	padding: 6px 12px;
	border-radius: 100px;
	background: rgba(5, 5, 24, 0.8);
	border: 1px solid var(--color-primary-light);
	color: var(--color-text);
	backdrop-filter: blur(6px);
}
.product-badge--prestashop { border-color: var(--color-accent); color: var(--color-accent-light); }

/* ---------- WooCommerce: produkt ---------- */
.single-product-layout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(36px, 5vw, 72px);
	align-items: start;
}
.single-product-layout__gallery .woocommerce-product-gallery {
	border-radius: var(--radius);
	overflow: hidden;
	border: 1px solid var(--color-border);
	box-shadow: var(--shadow-card);
}

.summary .product_title { font-size: clamp(30px, 4vw, 44px); }
.summary .price {
	font-family: var(--font-heading);
	font-size: 32px;
	font-weight: 700;
	color: var(--color-accent);
	display: block;
	margin-bottom: 18px;
}
.summary .price del { color: var(--color-muted); font-size: .7em; font-weight: 400; }
.summary .price ins { text-decoration: none; }
.summary .woocommerce-product-details__short-description { color: var(--color-muted); }

.product-meta-list {
	list-style: none;
	margin: 24px 0;
	padding: 0;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	background: rgba(17, 16, 74, 0.4);
	overflow: hidden;
}
.product-meta-list li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	padding: 13px 18px;
	font-size: 14.5px;
}
.product-meta-list li + li { border-top: 1px solid var(--color-border); }
.product-meta-list span { color: var(--color-muted); }

form.cart { display: flex; gap: 14px; align-items: stretch; margin: 24px 0; }
form.cart .quantity .qty { width: 84px; text-align: center; }
.single_add_to_cart_button {
	flex: 1;
	font-family: var(--font-heading) !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	color: #1A0F00 !important;
	background: var(--gradient-gold) !important;
	border: 0 !important;
	border-radius: 12px !important;
	padding: 18px 34px !important;
	cursor: pointer;
	box-shadow: 0 8px 26px rgba(255, 148, 23, 0.32);
	transition: transform .18s ease, box-shadow .18s ease;
}
.single_add_to_cart_button:hover { transform: translateY(-2px); box-shadow: 0 12px 34px rgba(255, 182, 41, 0.45); }

.buy-trust { list-style: none; margin: 20px 0 0; padding: 0; display: grid; gap: 10px; }
.buy-trust li { display: flex; align-items: center; gap: 12px; font-size: 14.5px; color: var(--color-muted); }
.buy-trust .icon { color: var(--color-accent); width: 18px; height: 18px; }

.product-features { list-style: none; margin: 26px 0 0; padding: 22px 0 0; border-top: 1px solid var(--color-border); display: grid; gap: 10px; }
.product-features li { display: flex; align-items: center; gap: 12px; font-size: 15px; }
.product-features .icon { color: #62E9A2; width: 18px; height: 18px; flex: none; }

.product-links { display: flex; gap: 12px; margin-top: 26px; flex-wrap: wrap; }

/* Zakładki produktu */
.single-product-tabs { margin-top: clamp(48px, 6vw, 80px); }
.woocommerce-tabs ul.tabs {
	display: flex;
	gap: 8px;
	list-style: none;
	margin: 0 0 0;
	padding: 0;
	border-bottom: 1px solid var(--color-border);
	flex-wrap: wrap;
}
.woocommerce-tabs ul.tabs li a {
	display: inline-block;
	font-family: var(--font-heading);
	font-size: 15px;
	font-weight: 600;
	color: var(--color-muted);
	padding: 14px 22px;
	border-radius: 10px 10px 0 0;
	border-bottom: 2px solid transparent;
}
.woocommerce-tabs ul.tabs li.active a {
	color: #fff;
	border-bottom-color: var(--color-accent);
	background: rgba(79, 70, 255, 0.12);
}
.woocommerce-tabs .panel { padding: 36px 0 0; }
.woocommerce-tabs .panel > h2:first-child { display: none; }

.changelog { display: grid; gap: 22px; }
.changelog__entry {
	border: 1px solid var(--color-border);
	border-left: 3px solid var(--color-primary-light);
	border-radius: var(--radius-sm);
	background: rgba(17, 16, 74, 0.4);
	padding: 22px 26px;
}
.changelog__meta { display: flex; align-items: center; gap: 14px; margin-bottom: 10px; }
.changelog__version { color: var(--color-accent); }
.changelog__date { font-family: var(--font-code); font-size: 13px; color: var(--color-muted); }
.changelog__changes ul { margin: 0; padding-left: 1.2em; }

/* Powiązane produkty */
.related.products, .upsells.products { margin-top: clamp(56px, 7vw, 96px); }
.related.products > h2, .upsells.products > h2 { font-size: clamp(26px, 3vw, 34px); margin-bottom: 28px; }

/* ---------- WooCommerce: koszyk / zamówienie ---------- */
.woocommerce table.shop_table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--color-border);
	border-radius: var(--radius);
	overflow: hidden;
	background: rgba(17, 16, 74, 0.4);
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	padding: 16px 18px;
	border-bottom: 1px solid var(--color-border);
	text-align: left;
	vertical-align: middle;
}
.woocommerce table.shop_table th {
	font-family: var(--font-heading);
	font-size: 13.5px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--color-muted);
	background: rgba(5, 5, 24, 0.4);
}
.woocommerce table.shop_table tr:last-child td { border-bottom: 0; }
.woocommerce table.shop_table img { width: 72px; border-radius: 8px; }
.woocommerce td.product-name a { color: #fff; font-weight: 500; }
.woocommerce td.product-name a:hover { color: var(--color-accent-light); }
.woocommerce .product-remove a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: 1px solid var(--color-border);
	color: var(--color-muted);
	font-size: 18px;
	line-height: 1;
}
.woocommerce .product-remove a:hover { border-color: #FF6B6B; color: #FF6B6B; }

.woocommerce .coupon { display: flex; gap: 12px; }
.woocommerce .coupon .input-text { width: 200px; }

.woocommerce button[name="update_cart"],
.woocommerce button[name="apply_coupon"] {
	background: rgba(79, 70, 255, 0.14);
	color: var(--color-text);
	border: 1px solid var(--color-border);
	box-shadow: none;
}
.woocommerce button[name="update_cart"]:hover,
.woocommerce button[name="apply_coupon"]:hover { border-color: var(--color-primary-light); }

.cart-collaterals .cart_totals {
	border: 1px solid var(--color-border);
	border-radius: var(--radius);
	background: linear-gradient(160deg, rgba(25, 24, 92, 0.75), rgba(17, 16, 74, 0.55));
	padding: 30px;
	margin-top: 32px;
	max-width: 480px;
	margin-left: auto;
}
.cart_totals h2 { font-size: 24px; }
.cart_totals table.shop_table { border: 0; background: transparent; }
.wc-proceed-to-checkout .checkout-button {
	display: block;
	text-align: center;
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 16px;
	color: #1A0F00 !important;
	background: var(--gradient-gold);
	border-radius: 12px;
	padding: 18px 34px;
	box-shadow: 0 8px 26px rgba(255, 148, 23, 0.32);
	transition: transform .18s ease, box-shadow .18s ease;
}
.wc-proceed-to-checkout .checkout-button:hover { transform: translateY(-2px); box-shadow: 0 12px 34px rgba(255, 182, 41, 0.45); }

/* Checkout */
.woocommerce-checkout form.checkout {
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	gap: clamp(32px, 5vw, 56px);
	align-items: start;
}
.woocommerce-checkout #customer_details { grid-column: 1; }
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review { grid-column: 2; }
.woocommerce-checkout #order_review {
	border: 1px solid var(--color-border);
	border-radius: var(--radius);
	background: linear-gradient(160deg, rgba(25, 24, 92, 0.75), rgba(17, 16, 74, 0.55));
	padding: 30px;
	position: sticky;
	top: calc(var(--header-h) + 24px);
}
.woocommerce-checkout #order_review_heading { margin: 0 0 -60px; visibility: hidden; height: 0; }
.woocommerce form .form-row { margin-bottom: 18px; }
.woocommerce form .form-row label { display: block; margin-bottom: 7px; }
.woocommerce form .form-row .required { color: var(--color-accent); text-decoration: none; }

#payment { background: transparent !important; }
#payment ul.payment_methods {
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
	display: grid;
	gap: 10px;
}
#payment ul.payment_methods li {
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	padding: 14px 16px;
	background: rgba(5, 5, 24, 0.4);
}
#payment div.payment_box {
	margin-top: 12px;
	font-size: 14px;
	color: var(--color-muted);
	background: rgba(79, 70, 255, 0.1);
	border-radius: 8px;
	padding: 12px 14px;
}
#place_order {
	width: 100%;
	font-family: var(--font-heading);
	font-size: 16px;
	font-weight: 600;
	color: #1A0F00;
	background: var(--gradient-gold);
	border: 0;
	border-radius: 12px;
	padding: 18px 34px;
	cursor: pointer;
	box-shadow: 0 8px 26px rgba(255, 148, 23, 0.32);
	transition: transform .18s ease, box-shadow .18s ease;
}
#place_order:hover { transform: translateY(-2px); box-shadow: 0 12px 34px rgba(255, 182, 41, 0.45); }

.woocommerce-privacy-policy-text { font-size: 13.5px; color: var(--color-muted); }

/* Komunikaty Woo */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	list-style: none;
	border: 1px solid var(--color-border);
	border-left: 3px solid var(--color-primary-light);
	border-radius: var(--radius-sm);
	background: rgba(17, 16, 74, 0.6);
	color: var(--color-text);
	padding: 18px 22px;
	margin: 0 0 28px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
}
.woocommerce-message { border-left-color: #62E9A2; }
.woocommerce-error { border-left-color: #FF6B6B; }
.woocommerce-message .button, .woocommerce-info .button, .woocommerce-error .button {
	order: 2;
	margin-left: auto;
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 14px;
	color: var(--color-text);
	background: rgba(79, 70, 255, 0.16);
	border: 1px solid var(--color-border);
	border-radius: 10px;
	padding: 10px 18px;
}

/* ---------- Strona podziękowania ---------- */
.thankyou { max-width: 760px; margin-inline: auto; }
.thankyou__head { text-align: center; margin-bottom: 44px; }
.thankyou__head h1 { font-size: clamp(34px, 5vw, 52px); }
.thankyou__head p { color: var(--color-muted); max-width: 560px; margin-inline: auto; }
.thankyou__check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 76px;
	height: 76px;
	border-radius: 50%;
	background: var(--gradient-gold);
	color: #1A0F00;
	margin-bottom: 26px;
	box-shadow: 0 0 50px rgba(255, 182, 41, 0.4);
}
.thankyou__check .icon { width: 34px; height: 34px; stroke-width: 2.4; }

.thankyou__details {
	list-style: none;
	margin: 0 0 36px;
	padding: 0;
	border: 1px solid var(--color-border);
	border-radius: var(--radius);
	background: rgba(17, 16, 74, 0.45);
	overflow: hidden;
}
.thankyou__details li {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding: 16px 22px;
}
.thankyou__details li + li { border-top: 1px solid var(--color-border); }
.thankyou__details span { color: var(--color-muted); }

.thankyou__downloads .woocommerce-table--order-downloads a.woocommerce-MyAccount-downloads-file {
	font-family: var(--font-heading);
	font-weight: 600;
	color: #1A0F00;
	background: var(--gradient-gold);
	border-radius: 10px;
	padding: 10px 20px;
	display: inline-block;
}
.thankyou__actions { display: flex; gap: 16px; justify-content: center; margin-top: 40px; flex-wrap: wrap; }

/* ---------- Moje konto ---------- */
.woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 6px;
}
.woocommerce-MyAccount-navigation a {
	display: block;
	padding: 12px 18px;
	border-radius: var(--radius-sm);
	color: var(--color-text);
	font-family: var(--font-heading);
	font-weight: 500;
	border: 1px solid transparent;
}
.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation a:hover {
	background: rgba(79, 70, 255, 0.16);
	border-color: var(--color-border);
	color: #fff;
}
.woocommerce-account .woocommerce {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: clamp(28px, 4vw, 48px);
	align-items: start;
}
.woocommerce-account .woocommerce-notices-wrapper { grid-column: 1 / -1; }

/* ---------- Blog / archiwa ---------- */
.post-card h3 { font-size: 20px; }
.post-card h3 a { color: #fff; }
.post-card h3 a:hover { color: var(--color-accent-light); }
.post-card p { color: var(--color-muted); font-size: 15px; margin: 0; }
.post-card__thumb { display: block; margin: -32px -32px 22px; border-radius: var(--radius) var(--radius) 0 0; overflow: hidden; }

.pagination-wrap { margin-top: 48px; }
.pagination .nav-links { display: flex; gap: 8px; justify-content: center; }
.pagination .page-numbers,
.woocommerce-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 14px;
	border-radius: 10px;
	border: 1px solid var(--color-border);
	color: var(--color-text);
	font-family: var(--font-code);
	font-size: 14px;
}
.pagination .page-numbers.current,
.woocommerce-pagination .page-numbers.current {
	background: var(--gradient-brand);
	border-color: transparent;
	color: #fff;
}
.woocommerce-pagination ul.page-numbers { list-style: none; display: flex; gap: 8px; justify-content: center; margin: 48px 0 0; padding: 0; border: 0; }

.error-404__code {
	display: inline-block;
	font-size: clamp(60px, 12vw, 120px);
	background: transparent;
	border: 0;
	color: transparent;
	background-image: var(--gradient-logo);
	-webkit-background-clip: text;
	background-clip: text;
	font-weight: 500;
}

/* ---------- Stopka ---------- */
.site-footer {
	margin-top: clamp(48px, 8vw, 96px);
	background: #030310;
	border-top: 1px solid var(--color-border);
	padding: clamp(48px, 7vw, 80px) 0 0;
}

.site-footer__grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
	gap: clamp(28px, 4vw, 48px);
	padding-bottom: clamp(40px, 6vw, 64px);
}

.site-footer__brand .site-logo img { height: 56px; margin-bottom: 18px; }
.site-footer__desc { color: var(--color-muted); font-size: 15px; max-width: 320px; }

.site-footer__title {
	font-size: 13px;
	font-family: var(--font-code);
	font-weight: 500;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--color-muted);
	margin-bottom: 20px;
}

.site-footer__menu { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.site-footer__menu a { color: var(--color-text); font-size: 15px; }
.site-footer__menu a:hover { color: var(--color-accent-light); }

.site-footer__contact { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.site-footer__contact li { display: flex; align-items: center; gap: 12px; font-size: 15px; }
.site-footer__contact .icon { color: var(--color-primary-light); width: 18px; height: 18px; }
.site-footer__contact a { color: var(--color-text); }
.site-footer__contact a:hover { color: var(--color-accent-light); }

.site-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	padding: 26px 0;
	border-top: 1px solid var(--color-border);
	font-size: 14px;
	color: var(--color-muted);
}
.site-footer__bottom p { margin: 0; }
.site-footer__credit a {
	color: var(--color-accent);
	font-weight: 500;
}
.site-footer__credit a:hover { color: var(--color-accent-light); }

/* ---------- Responsywność ---------- */
@media (max-width: 1024px) {
	.grid--3, ul.products, .steps { grid-template-columns: repeat(2, 1fr); }
	.hero__inner { grid-template-columns: 1fr; }
	.hero__visual { max-width: 560px; }
	.about { grid-template-columns: 1fr; }
	.about__media { max-width: 420px; }
	.legal-layout { grid-template-columns: 1fr; }
	.legal-toc { position: static; }
	.site-footer__grid { grid-template-columns: 1fr 1fr; }
	.woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
	.woocommerce-checkout #customer_details,
	.woocommerce-checkout #order_review { grid-column: 1; }
	.woocommerce-checkout #order_review { position: static; }
	.woocommerce-account .woocommerce { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
	.nav-toggle { display: flex; }

	.site-nav {
		position: fixed;
		inset: var(--header-h) 0 auto 0;
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
		background: rgba(5, 5, 24, 0.98);
		border-bottom: 1px solid var(--color-border);
		padding: 24px;
		transform: translateY(-12px);
		opacity: 0;
		visibility: hidden;
		transition: transform .25s ease, opacity .25s ease, visibility .25s;
		max-height: calc(100vh - var(--header-h));
		overflow-y: auto;
	}
	.site-nav.is-open { transform: translateY(0); opacity: 1; visibility: visible; }

	.site-nav__list { flex-direction: column; align-items: stretch; }
	.site-nav__list a { display: block; padding: 14px 16px; font-size: 17px; }
	.site-nav__cta { padding-top: 12px; }
	.site-nav__cta .btn { width: 100%; }

	.single-product-layout { grid-template-columns: 1fr; }
	.contact-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
	body { font-size: 16px; }
	.container { width: calc(100% - 40px); }
	.grid--3, ul.products, .steps { grid-template-columns: 1fr; }
	.hero__stats { gap: 24px; }
	.about__stats { grid-template-columns: 1fr 1fr; }
	.site-footer__grid { grid-template-columns: 1fr; }
	.site-footer__bottom { flex-direction: column; text-align: center; }
	.shop-toolbar { flex-direction: column; align-items: flex-start; }
	form.cart { flex-direction: column; }
	.woocommerce .coupon { flex-direction: column; }
	.woocommerce .coupon .input-text { width: 100%; }
	.thankyou__details li { flex-direction: column; gap: 2px; }
	.card { padding: 26px; }
	.post-card__thumb { margin: -26px -26px 20px; }
}

/* ---------- Preferencje ruchu ---------- */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after {
		animation-duration: 0.001s !important;
		transition-duration: 0.001s !important;
	}
}

/* =====================================================================
   2.0 ROZBUDOWA: header actions, wyszukiwarka, drawer, sklep, konto
   ===================================================================== */

/* --- Akcje w nagłówku --- */
.site-header__actions { display: flex; align-items: center; gap: 6px; }
.header-action {
	position: relative; display: inline-flex; align-items: center; justify-content: center;
	width: 42px; height: 42px; border-radius: 12px; border: 1px solid transparent;
	background: transparent; color: var(--c-text); cursor: pointer; transition: .2s;
}
.header-action:hover { background: var(--c-surface-light); border-color: var(--c-border); color: var(--c-gold); }
.header-action .icon { width: 21px; height: 21px; }
.badge-count, .cart-count {
	position: absolute; top: 2px; right: 0; min-width: 18px; height: 18px; padding: 0 5px;
	display: none; align-items: center; justify-content: center;
	font: 600 11px/1 var(--f-body); color: #050518;
	background: linear-gradient(135deg, #FFC857, #FF9417); border-radius: 99px;
}
.badge-count.is-visible, .cart-count--visible { display: inline-flex; }

/* --- Wyszukiwarka w nagłówku --- */
.header-search {
	border-top: 1px solid var(--c-border);
	background: rgba(17, 16, 74, .92); backdrop-filter: blur(14px);
	padding: 18px 0; position: relative;
}
.header-search__form {
	display: flex; align-items: center; gap: 12px;
	background: var(--c-surface); border: 1px solid var(--c-border); border-radius: 14px;
	padding: 8px 8px 8px 16px;
}
.header-search__form:focus-within { border-color: var(--c-violet); box-shadow: 0 0 0 3px rgba(79, 70, 255, .25); }
.header-search__form .icon { width: 20px; height: 20px; color: var(--c-muted); flex-shrink: 0; }
.header-search__form input[type="search"] {
	flex: 1; background: none; border: 0; outline: 0; color: var(--c-text);
	font: 400 16px/1.4 var(--f-body); min-width: 0;
}
.header-search__close {
	background: none; border: 0; color: var(--c-muted); cursor: pointer;
	width: 38px; height: 38px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center;
}
.header-search__close:hover { color: #fff; background: var(--c-surface-light); }
.live-results {
	position: absolute; left: 0; right: 0; top: calc(100% - 4px); z-index: 60;
	max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter, 24px);
}
.live-results > * { display: block; }
.live-results__item, .live-results__more, .live-results__empty {
	display: flex; align-items: center; gap: 14px; padding: 12px 16px;
	background: var(--c-surface); border: 1px solid var(--c-border); border-top: 0;
	color: var(--c-text); text-decoration: none;
}
.live-results__item:first-child { border-top: 1px solid var(--c-border); border-radius: 14px 14px 0 0; }
.live-results__item:last-child, .live-results__more, .live-results__empty:last-child { border-radius: 0 0 14px 14px; }
.live-results__empty:first-child, .live-results__more:first-child { border-top: 1px solid var(--c-border); border-radius: 14px; }
.live-results__item:hover { background: var(--c-surface-light); }
.live-results__item img, .live-results__noimg {
	width: 44px; height: 44px; border-radius: 10px; object-fit: cover; flex-shrink: 0;
	background: linear-gradient(135deg, var(--c-violet), var(--c-purple));
}
.live-results__body strong { display: block; font: 600 15px/1.3 var(--f-head); }
.live-results__body small { color: var(--c-muted); font-size: 12.5px; }
.live-results__more { justify-content: center; color: var(--c-gold); font-weight: 600; font-size: 14px; }

/* --- Wysuwany koszyk --- */
.drawer-overlay {
	position: fixed; inset: 0; z-index: 90; background: rgba(5, 5, 24, .6);
	backdrop-filter: blur(3px); opacity: 0; transition: opacity .25s;
}
.drawer-overlay.is-visible { opacity: 1; }
.cart-drawer {
	position: fixed; top: 0; right: 0; bottom: 0; z-index: 95;
	width: min(420px, 100vw);
	background: var(--c-indigo); border-left: 1px solid var(--c-border);
	transform: translateX(102%); transition: transform .3s cubic-bezier(.2,.8,.3,1);
	display: flex; flex-direction: column; outline: 0;
	box-shadow: -20px 0 60px rgba(0, 0, 0, .45);
}
.cart-drawer.is-open { transform: translateX(0); }
.cart-drawer__head {
	display: flex; align-items: center; justify-content: space-between;
	padding: 20px 24px; border-bottom: 1px solid var(--c-border);
}
.cart-drawer__title { display: flex; align-items: center; gap: 10px; font: 600 20px/1 var(--f-head); margin: 0; }
.cart-drawer__title .icon { width: 20px; height: 20px; color: var(--c-gold); }
.cart-drawer__close {
	background: none; border: 1px solid var(--c-border); color: var(--c-muted); cursor: pointer;
	width: 38px; height: 38px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; transition: .2s;
}
.cart-drawer__close:hover { color: #fff; border-color: var(--c-violet); }
.cart-drawer__content { flex: 1; overflow-y: auto; padding: 20px 24px; display: flex; flex-direction: column; }
body.drawer-open { overflow: hidden; }

.mini-cart-items { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.mini-cart-item {
	display: grid; grid-template-columns: 60px 1fr auto; gap: 12px; align-items: center;
	padding: 12px; background: var(--c-surface); border: 1px solid var(--c-border); border-radius: 14px;
}
.mini-cart-item__thumb img { width: 60px; height: 60px; border-radius: 10px; object-fit: cover; display: block; }
.mini-cart-item__title { font: 600 14.5px/1.35 var(--f-head); color: #fff; text-decoration: none; display: block; }
.mini-cart-item__title:hover { color: var(--c-gold); }
.mini-cart-item__meta { color: var(--c-muted); font-size: 13px; }
.mini-cart-item__remove {
	color: var(--c-muted); font-size: 22px; line-height: 1; text-decoration: none;
	width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px;
}
.mini-cart-item__remove:hover { color: #ff6b6b; background: rgba(255, 107, 107, .1); }
.mini-cart-foot { margin-top: auto; padding-top: 20px; border-top: 1px solid var(--c-border); display: grid; gap: 10px; }
.mini-cart-foot__total { display: flex; justify-content: space-between; font: 600 17px/1 var(--f-head); margin: 0 0 4px; }
.mini-cart-foot__total strong { color: var(--c-gold); }
.mini-cart-foot__note { display: flex; gap: 8px; align-items: flex-start; color: var(--c-muted); font-size: 12.5px; margin: 0; }
.mini-cart-foot__note .icon { width: 15px; height: 15px; color: var(--c-gold); flex-shrink: 0; margin-top: 2px; }
.mini-cart-empty { margin: auto; text-align: center; color: var(--c-muted); display: grid; gap: 14px; justify-items: center; }
.mini-cart-empty .icon { width: 44px; height: 44px; opacity: .5; }

/* --- Layout sklepu z filtrami --- */
.shop-layout { display: grid; grid-template-columns: 270px 1fr; gap: 40px; align-items: start; padding-top: 40px; padding-bottom: 80px; }
.shop-layout.is-loading { opacity: .5; pointer-events: none; transition: opacity .2s; }
.shop-sidebar { position: sticky; top: 96px; }
.filters-toggle { display: none; margin-bottom: 14px; }
.shop-filters {
	background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--radius, 18px);
	padding: 22px;
}
.shop-filters__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.shop-filters__title { display: flex; align-items: center; gap: 8px; font: 600 17px/1 var(--f-head); margin: 0; }
.shop-filters__title .icon { width: 17px; height: 17px; color: var(--c-gold); }
.shop-filters__reset { color: var(--c-muted); font-size: 13px; text-decoration: none; }
.shop-filters__reset:hover { color: var(--c-gold); }
.filter-group { border: 0; padding: 16px 0; margin: 0; border-top: 1px solid var(--c-border); }
.filter-group legend { font: 600 12px/1 var(--f-body); letter-spacing: .12em; text-transform: uppercase; color: var(--c-muted); padding: 0 0 12px; }
.filter-check { display: flex; align-items: center; gap: 10px; padding: 6px 0; cursor: pointer; color: var(--c-text); font-size: 14.5px; }
.filter-check input { position: absolute; opacity: 0; pointer-events: none; }
.filter-check__box {
	width: 19px; height: 19px; border-radius: 6px; border: 1.5px solid var(--c-border);
	background: var(--c-bg); flex-shrink: 0; position: relative; transition: .15s;
}
.filter-check input:checked + .filter-check__box { background: linear-gradient(135deg, #FFC857, #FF9417); border-color: transparent; }
.filter-check input:checked + .filter-check__box::after {
	content: ""; position: absolute; inset: 4px 5px 6px; border: solid #050518; border-width: 0 0 2.2px 2.2px; transform: rotate(-48deg) translateY(-1px);
}
.filter-check input:focus-visible + .filter-check__box { box-shadow: 0 0 0 3px rgba(79, 70, 255, .35); }
.filter-check__label { flex: 1; }
.filter-check__count { color: var(--c-muted); font-size: 12.5px; font-family: var(--f-mono); }
.filter-price { display: flex; align-items: center; gap: 8px; }
.filter-price input {
	width: 100%; min-width: 0; padding: 9px 10px; border-radius: 10px;
	border: 1px solid var(--c-border); background: var(--c-bg); color: var(--c-text); font: 400 14px var(--f-body);
}
.filter-price input:focus { outline: 0; border-color: var(--c-violet); }
.filter-price__sep { color: var(--c-muted); }
.shop-filters .btn--block { margin-top: 16px; }
.btn--block { display: flex; width: 100%; justify-content: center; }

.shop-cats { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.shop-cats__pill {
	display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px;
	background: var(--c-surface); border: 1px solid var(--c-border); border-radius: 99px;
	color: var(--c-text); text-decoration: none; font-size: 14px; transition: .2s;
}
.shop-cats__pill:hover { border-color: var(--c-gold); color: var(--c-gold); transform: translateY(-1px); }
.shop-cats__pill .icon { width: 15px; height: 15px; color: var(--c-gold); }
.shop-cats__pill em { font-style: normal; color: var(--c-muted); font-size: 12px; }

.shop-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; flex-wrap: wrap; }
.shop-toolbar__count { color: var(--c-muted); margin: 0; font-size: 14.5px; }
.shop-toolbar__count strong { color: #fff; }
.woocommerce-ordering select {
	padding: 10px 36px 10px 14px; border-radius: 10px; border: 1px solid var(--c-border);
	background: var(--c-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23A7A8C7' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 14px center;
	color: var(--c-text); font: 400 14px var(--f-body); appearance: none; cursor: pointer;
}
.shop-empty { text-align: center; padding: 70px 20px; display: grid; gap: 12px; justify-items: center; }
.shop-empty .icon { width: 46px; height: 46px; color: var(--c-muted); opacity: .6; }
.shop-empty h2 { margin: 0; }
.shop-empty p { color: var(--c-muted); margin: 0 0 8px; }

/* --- Wishlist --- */
.wishlist-btn {
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; border-radius: 12px; cursor: pointer; transition: .2s;
	background: rgba(5, 5, 24, .55); border: 1px solid var(--c-border); color: #fff; backdrop-filter: blur(6px);
}
.wishlist-btn .icon { width: 19px; height: 19px; }
.wishlist-btn:hover { color: var(--c-gold); border-color: var(--c-gold); }
.wishlist-btn.is-active { color: #050518; background: linear-gradient(135deg, #FFC857, #FF9417); border-color: transparent; }
.wishlist-btn.is-active .icon { fill: currentColor; }
.wishlist-btn.is-loading { opacity: .5; pointer-events: none; }
.wishlist-btn--card { position: absolute; top: 12px; right: 12px; z-index: 3; }
.product-card__media { position: relative; }
.product-secondary-actions { display: flex; align-items: center; gap: 12px; margin: 18px 0 0; }
.product-secondary-actions__label { color: var(--c-muted); font-size: 14px; }
.product-card__actions { display: flex; align-items: center; gap: 8px; }
.product-card__actions .ajax-add-to-cart { width: 40px; padding: 0; height: 38px; }
.product-card__actions .ajax-add-to-cart .icon { width: 17px; height: 17px; }
.product-card__title a { color: inherit; text-decoration: none; }
.product-card__title a:hover { color: var(--c-gold); }
.btn.is-loading { position: relative; color: transparent !important; pointer-events: none; }
.btn.is-loading::after {
	content: ""; position: absolute; inset: 0; margin: auto; width: 18px; height: 18px;
	border: 2px solid rgba(255, 255, 255, .35); border-top-color: #fff; border-radius: 50%;
	animation: mcz-spin .7s linear infinite;
}
@keyframes mcz-spin { to { transform: rotate(360deg); } }

/* --- Koszyk (strona) --- */
.cart-layout { display: grid; grid-template-columns: 1fr 360px; gap: 40px; align-items: start; padding-top: 40px; padding-bottom: 90px; }
.cart-items { display: grid; gap: 14px; }
.cart-item {
	display: grid; grid-template-columns: 76px 1fr auto auto auto; gap: 18px; align-items: center;
	background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--radius, 18px); padding: 18px;
}
.cart-item__thumb img { width: 76px; height: 76px; border-radius: 12px; object-fit: cover; display: block; }
.cart-item__info { display: grid; gap: 6px; justify-items: start; }
.cart-item__title { font: 600 16.5px/1.3 var(--f-head); color: #fff; text-decoration: none; }
.cart-item__title:hover { color: var(--c-gold); }
.cart-item__unit { color: var(--c-muted); font-size: 13px; }
.cart-item__total { font: 600 17px/1 var(--f-head); color: var(--c-gold); white-space: nowrap; }
.cart-item__remove { color: var(--c-muted); display: inline-flex; padding: 8px; border-radius: 10px; }
.cart-item__remove .icon { width: 18px; height: 18px; }
.cart-item__remove:hover { color: #ff6b6b; background: rgba(255, 107, 107, .1); }
.qty-stepper { display: inline-flex; align-items: center; border: 1px solid var(--c-border); border-radius: 12px; background: var(--c-bg); overflow: hidden; }
.qty-stepper__btn {
	width: 36px; height: 40px; background: none; border: 0; color: var(--c-text);
	font-size: 18px; cursor: pointer; transition: .15s;
}
.qty-stepper__btn:hover { background: var(--c-surface-light); color: var(--c-gold); }
.qty-stepper .quantity { margin: 0; }
.qty-stepper input.qty {
	width: 46px; height: 40px; text-align: center; border: 0; background: none; color: #fff;
	font: 500 15px var(--f-mono); -moz-appearance: textfield;
}
.qty-stepper input.qty::-webkit-inner-spin-button, .qty-stepper input.qty::-webkit-outer-spin-button { -webkit-appearance: none; }
.cart-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 6px; }
.cart-coupon { display: flex; gap: 8px; flex: 1; min-width: 240px; }
.cart-coupon input {
	flex: 1; padding: 11px 14px; border-radius: 12px; border: 1px solid var(--c-border);
	background: var(--c-surface); color: var(--c-text); font: 400 14px var(--f-body);
}
.cart-coupon input:focus { outline: 0; border-color: var(--c-violet); }
.cart-summary {
	position: sticky; top: 96px;
	background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--radius, 18px); padding: 26px;
}
.cart-summary__title { font-size: 21px; margin: 0 0 18px; }
.cart-summary__rows { display: grid; gap: 12px; margin-bottom: 22px; }
.cart-summary__row { display: flex; justify-content: space-between; gap: 12px; color: var(--c-muted); font-size: 14.5px; }
.cart-summary__row--total { border-top: 1px solid var(--c-border); padding-top: 14px; color: #fff; font: 600 18px/1.3 var(--f-head); }
.cart-summary__row--total .amount { color: var(--c-gold); }
.buy-trust--summary { margin-top: 20px; display: grid; gap: 10px; padding: 0; list-style: none; }
.buy-trust--summary li { display: flex; gap: 10px; align-items: flex-start; color: var(--c-muted); font-size: 13.5px; }
.buy-trust--summary .icon { width: 16px; height: 16px; color: var(--c-gold); flex-shrink: 0; margin-top: 1px; }

/* --- Zamówienie --- */
.checkout-login-hint { padding-top: 28px; }
.checkout-login-hint p { background: var(--c-surface); border: 1px solid var(--c-border); border-radius: 14px; padding: 14px 18px; margin: 0; color: var(--c-muted); }
.checkout-login-hint a { color: var(--c-gold); }
.checkout-layout { display: grid; grid-template-columns: 1fr 400px; gap: 40px; align-items: start; padding-top: 40px; padding-bottom: 90px; }
.checkout-fields { display: grid; gap: 24px; }
.checkout-panel { background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--radius, 18px); padding: 30px; }
.checkout-panel__title { display: flex; align-items: center; gap: 12px; font-size: 21px; margin: 0 0 8px; }
.checkout-panel__title small { color: var(--c-muted); font: 400 13px var(--f-body); }
.checkout-step {
	width: 30px; height: 30px; border-radius: 10px; flex-shrink: 0;
	display: inline-flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg, var(--c-violet), var(--c-purple));
	font: 600 14px var(--f-mono); color: #fff;
}
.checkout-panel__hint { color: var(--c-muted); font-size: 14px; margin: 0 0 22px; }
.checkout-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.checkout-grid .form-row, .checkout-panel .form-row { margin: 0 0 16px; }
.checkout-grid .form-row-wide, .checkout-grid #billing_email_field, .checkout-grid #billing_company_field, .checkout-grid #billing_address_1_field { grid-column: 1 / -1; }
.woocommerce form .form-row label { display: block; font: 500 13.5px/1.4 var(--f-body); color: var(--c-muted); margin-bottom: 7px; }
.woocommerce form .form-row .input-text, .woocommerce form .form-row select, .woocommerce form .form-row textarea,
.mcz-contact-form input[type="text"], .mcz-contact-form input[type="email"], .mcz-contact-form select, .mcz-contact-form textarea {
	width: 100%; padding: 12px 15px; border-radius: 12px;
	border: 1px solid var(--c-border); background: var(--c-bg); color: var(--c-text);
	font: 400 15px/1.5 var(--f-body); transition: border-color .15s, box-shadow .15s;
}
.woocommerce form .form-row .input-text:focus, .woocommerce form .form-row select:focus, .woocommerce form .form-row textarea:focus,
.mcz-contact-form input:focus, .mcz-contact-form select:focus, .mcz-contact-form textarea:focus {
	outline: 0; border-color: var(--c-violet); box-shadow: 0 0 0 3px rgba(79, 70, 255, .22);
}
.woocommerce form .form-row.woocommerce-invalid .input-text { border-color: #ff6b6b; }
.checkout-account { border-top: 1px solid var(--c-border); margin-top: 8px; padding-top: 18px; }
.checkout-summary .checkout-panel--summary { position: sticky; top: 96px; }
.woocommerce-checkout-review-order table { width: 100%; border-collapse: collapse; margin-bottom: 6px; }
.woocommerce-checkout-review-order th, .woocommerce-checkout-review-order td {
	padding: 11px 0; text-align: left; border-bottom: 1px solid var(--c-border); font-size: 14.5px; color: var(--c-muted);
}
.woocommerce-checkout-review-order td:last-child, .woocommerce-checkout-review-order th:last-child { text-align: right; }
.woocommerce-checkout-review-order .order-total th, .woocommerce-checkout-review-order .order-total td { color: #fff; font: 600 17px var(--f-head); border-bottom: 0; }
.woocommerce-checkout-review-order .order-total .amount { color: var(--c-gold); }
#payment { background: transparent; }
#payment .wc_payment_methods { list-style: none; margin: 14px 0; padding: 0; display: grid; gap: 10px; }
#payment .wc_payment_method {
	background: var(--c-bg); border: 1px solid var(--c-border); border-radius: 14px; padding: 14px 16px; transition: .15s;
}
#payment .wc_payment_method:has(input:checked) { border-color: var(--c-gold); box-shadow: 0 0 0 3px rgba(255, 182, 41, .18); }
#payment .wc_payment_method label { display: inline; font: 600 15px var(--f-head); color: #fff; cursor: pointer; margin-left: 6px; }
#payment .wc_payment_method img { max-height: 26px; vertical-align: middle; margin-left: 8px; }
#payment .payment_box { margin-top: 10px; color: var(--c-muted); font-size: 13.5px; }
#payment .form-row.place-order { margin: 8px 0 0; padding: 0; }
#place_order, .checkout-button {
	width: 100%; display: inline-flex; justify-content: center; align-items: center;
	padding: 16px 28px; border: 0; border-radius: 14px; cursor: pointer;
	background: linear-gradient(135deg, #FFC857, #FF9417); color: #050518;
	font: 600 16px var(--f-head); letter-spacing: .01em; transition: transform .15s, box-shadow .15s; text-decoration: none;
}
#place_order:hover, .checkout-button:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(255, 148, 23, .35); }
.woocommerce-terms-and-conditions-wrapper { color: var(--c-muted); font-size: 13px; margin-bottom: 12px; }

/* --- Moje konto --- */
.account-layout { display: grid; grid-template-columns: 260px 1fr; gap: 40px; align-items: start; padding-top: 40px; padding-bottom: 90px; }
.account-nav { position: sticky; top: 96px; background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--radius, 18px); padding: 12px; }
.account-nav ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.account-nav__item a {
	display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 12px;
	color: var(--c-muted); text-decoration: none; font: 500 14.5px var(--f-body); transition: .15s;
}
.account-nav__item a .icon { width: 17px; height: 17px; }
.account-nav__item a:hover { color: #fff; background: var(--c-surface-light); }
.account-nav__item.is-active a { color: #050518; background: linear-gradient(135deg, #FFC857, #FF9417); font-weight: 600; }
.account-content { min-width: 0; }
.account-dashboard__hello { font-size: 17px; color: var(--c-muted); margin: 0 0 26px; }
.account-dashboard__hello strong { color: #fff; }
.account-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 36px; }
.account-tile {
	display: grid; gap: 6px; justify-items: start; padding: 22px;
	background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--radius, 18px);
	color: var(--c-muted); text-decoration: none; transition: .2s;
}
.account-tile:hover { border-color: var(--c-gold); transform: translateY(-2px); }
.account-tile .icon { width: 22px; height: 22px; color: var(--c-gold); }
.account-tile strong { font: 700 26px var(--f-head); color: #fff; }
.account-section-title { font-size: 20px; margin: 0 0 16px; }
.account-orders { display: grid; gap: 10px; }
.account-order {
	display: grid; grid-template-columns: auto 1fr auto auto; gap: 16px; align-items: center;
	background: var(--c-surface); border: 1px solid var(--c-border); border-radius: 14px; padding: 15px 18px;
	color: var(--c-muted); text-decoration: none; font-size: 14.5px; transition: .15s;
}
.account-order:hover { border-color: var(--c-violet); }
.account-order__id { font-family: var(--f-mono); color: #fff; }
.account-order__total { color: var(--c-gold); font-weight: 600; }
[class*="status--"] { padding: 4px 10px; border-radius: 99px; font-size: 12px; background: var(--c-surface-light); color: var(--c-muted); }
.status--completed { background: rgba(52, 211, 153, .14); color: #34d399; }
.status--processing { background: rgba(255, 182, 41, .14); color: var(--c-gold); }
.status--failed, .status--cancelled { background: rgba(255, 107, 107, .14); color: #ff6b6b; }
.woocommerce-MyAccount-content table.shop_table { width: 100%; border-collapse: collapse; }
.woocommerce-MyAccount-content table.shop_table th, .woocommerce-MyAccount-content table.shop_table td {
	padding: 12px 10px; border-bottom: 1px solid var(--c-border); text-align: left; font-size: 14.5px; color: var(--c-muted);
}
.woocommerce-MyAccount-content .woocommerce-Button, .woocommerce-MyAccount-content .button {
	display: inline-flex; padding: 9px 16px; border-radius: 10px; border: 1px solid var(--c-border);
	background: var(--c-surface-light); color: #fff; text-decoration: none; font: 500 13.5px var(--f-body); cursor: pointer;
}
.woocommerce-MyAccount-content .button:hover { border-color: var(--c-gold); color: var(--c-gold); }

/* --- Logowanie / rejestracja --- */
.auth-layout { display: grid; gap: 28px; padding: 40px 0 90px; max-width: 520px; margin: 0 auto; }
.auth-layout--two { max-width: 1000px; grid-template-columns: 1fr 1fr; }
.auth-card { background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--radius, 18px); padding: 32px; }
.auth-card--register { background: linear-gradient(160deg, var(--c-surface), rgba(79, 70, 255, .12)); }
.auth-card__title { display: flex; align-items: center; gap: 10px; font-size: 21px; margin: 0 0 20px; }
.auth-card__title .icon { width: 20px; height: 20px; color: var(--c-gold); }
.auth-card__desc { color: var(--c-muted); font-size: 14.5px; margin: 0 0 18px; }
.auth-card__actions { display: grid; gap: 14px; }
.auth-card__lost { margin: 14px 0 0; font-size: 14px; }
.auth-card__lost a { color: var(--c-muted); }
.auth-card__lost a:hover { color: var(--c-gold); }
.auth-card .form-row { margin: 0 0 16px; }

/* --- Licencje --- */
.mcz-licenses__intro { color: var(--c-muted); margin: 0 0 20px; }
.license-list { display: grid; gap: 12px; }
.license-card {
	display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap;
	background: var(--c-surface); border: 1px solid var(--c-border); border-radius: 14px; padding: 16px 20px;
}
.license-card--revoked { opacity: .55; }
.license-card__info { display: grid; gap: 4px; }
.license-card__info strong { color: #fff; font: 600 15.5px var(--f-head); }
.license-card__status { font-size: 12.5px; color: var(--c-gold); }
.license-card--used .license-card__status { color: #34d399; }
.license-card__domain { font-size: 12.5px; color: var(--c-muted); }
.license-card__token {
	font: 500 14.5px var(--f-mono); letter-spacing: .06em; color: var(--c-gold);
	background: var(--c-bg); border: 1px dashed rgba(255, 182, 41, .4); border-radius: 10px;
	padding: 10px 16px; cursor: copy; transition: .15s;
}
.license-card__token:hover { border-style: solid; }
.license-card__token.is-copied { color: #34d399; border-color: #34d399; }
.license-info-box {
	display: flex; gap: 14px; align-items: flex-start; margin-top: 22px;
	background: rgba(79, 70, 255, .1); border: 1px solid rgba(79, 70, 255, .35); border-radius: 14px; padding: 16px 18px;
}
.license-info-box .icon { width: 22px; height: 22px; color: var(--c-gold); flex-shrink: 0; margin-top: 2px; }
.license-info-box strong { display: block; margin-bottom: 4px; color: #fff; font: 600 15px var(--f-head); }
.license-info-box p { margin: 0; color: var(--c-muted); font-size: 13.5px; line-height: 1.6; }
.thankyou__licenses { margin: 34px 0; text-align: left; }
.thankyou__licenses h2 { display: flex; align-items: center; gap: 10px; font-size: 22px; }
.thankyou__licenses h2 .icon { width: 20px; height: 20px; color: var(--c-gold); }
.thankyou__licenses > p { color: var(--c-muted); font-size: 14.5px; }
.notice-box--info { background: rgba(79, 70, 255, .1); border: 1px solid rgba(79, 70, 255, .35); border-radius: 14px; padding: 16px 20px; margin: 24px 0; }
.notice-box--info p { margin: 0; color: var(--c-muted); }
.notice-box--info strong { color: #fff; }

/* --- Formularz kontaktowy --- */
.mcz-contact-form { display: grid; gap: 4px; }
.mcz-contact-form .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.mcz-contact-form .form-row { margin: 0 0 16px; }
.mcz-contact-form label { display: block; font: 500 13.5px/1.4 var(--f-body); color: var(--c-muted); margin-bottom: 7px; }
.mcz-contact-form .required { color: var(--c-gold); }
.form-row--hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.form-row--consent .filter-check { align-items: flex-start; font-size: 13.5px; color: var(--c-muted); }
.form-row--consent .filter-check__box { margin-top: 2px; }
.form-status { border-radius: 12px; padding: 13px 16px; margin-bottom: 14px; font-size: 14.5px; }
.form-status--ok { background: rgba(52, 211, 153, .12); border: 1px solid rgba(52, 211, 153, .4); color: #34d399; }
.form-status--error { background: rgba(255, 107, 107, .12); border: 1px solid rgba(255, 107, 107, .4); color: #ff6b6b; }

/* --- Strona główna: nowe sekcje --- */
.hero__grid-bg {
	position: absolute; inset: 0; pointer-events: none; opacity: .35;
	background-image: linear-gradient(rgba(79, 70, 255, .14) 1px, transparent 1px), linear-gradient(90deg, rgba(79, 70, 255, .14) 1px, transparent 1px);
	background-size: 56px 56px;
	mask-image: radial-gradient(ellipse 75% 65% at 50% 35%, #000 30%, transparent 75%);
}
.pulse-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--c-gold); display: inline-block; margin-right: 4px; animation: mcz-pulse 1.8s ease-in-out infinite; }
@keyframes mcz-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(255, 182, 41, .55); } 50% { box-shadow: 0 0 0 7px rgba(255, 182, 41, 0); } }
.hero__visual { position: relative; }
.hero__terminal-bar em { font: 400 11.5px var(--f-mono); color: var(--c-muted); margin-left: 10px; font-style: normal; }
.hero__float {
	position: absolute; display: flex; align-items: center; gap: 9px;
	background: rgba(17, 16, 74, .9); border: 1px solid var(--c-border); border-radius: 14px;
	padding: 11px 16px; font: 500 13.5px var(--f-body); color: #fff;
	backdrop-filter: blur(8px); box-shadow: 0 14px 34px rgba(0, 0, 0, .35);
	animation: mcz-float 5s ease-in-out infinite;
}
.hero__float .icon { width: 17px; height: 17px; color: var(--c-gold); }
.hero__float--1 { top: -18px; right: 6%; }
.hero__float--2 { bottom: -16px; left: 2%; animation-delay: 2.5s; }
@keyframes mcz-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }

.tech-strip { border-block: 1px solid var(--c-border); overflow: hidden; padding: 16px 0; background: rgba(17, 16, 74, .5); }
.tech-strip__track { display: flex; gap: 34px; width: max-content; animation: mcz-marquee 30s linear infinite; }
.tech-strip__track span { color: var(--c-muted); font: 500 14px var(--f-mono); letter-spacing: .08em; white-space: nowrap; }
@keyframes mcz-marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .tech-strip__track, .hero__float, .pulse-dot { animation: none; } }

.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.feature-card {
	background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--radius, 18px);
	padding: 28px; transition: .25s;
}
.feature-card:hover { transform: translateY(-4px); border-color: rgba(79, 70, 255, .55); box-shadow: 0 18px 44px rgba(5, 5, 24, .5); }
.feature-card__icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 50px; height: 50px; border-radius: 14px; margin-bottom: 18px;
	background: linear-gradient(135deg, rgba(79, 70, 255, .25), rgba(108, 92, 255, .25));
	border: 1px solid rgba(79, 70, 255, .4);
}
.feature-card__icon .icon { width: 22px; height: 22px; color: var(--c-gold); }
.feature-card h3 { font-size: 18.5px; margin: 0 0 8px; }
.feature-card p { color: var(--c-muted); font-size: 14.5px; margin: 0; line-height: 1.65; }

.platform-split { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.platform-card {
	position: relative; overflow: hidden; padding: 36px; border-radius: var(--radius, 18px);
	border: 1px solid var(--c-border); text-decoration: none; color: var(--c-text); transition: .25s;
	background: linear-gradient(150deg, var(--c-surface), rgba(79, 70, 255, .14));
}
.platform-card--ps { background: linear-gradient(150deg, var(--c-surface), rgba(255, 148, 23, .12)); }
.platform-card:hover { transform: translateY(-4px); border-color: var(--c-gold); }
.platform-card__icon {
	display: inline-flex; width: 54px; height: 54px; align-items: center; justify-content: center;
	border-radius: 15px; background: rgba(255, 255, 255, .06); border: 1px solid var(--c-border); margin-bottom: 18px;
}
.platform-card__icon .icon { width: 24px; height: 24px; color: var(--c-gold); }
.platform-card h3 { font-size: 23px; margin: 0 0 10px; color: #fff; }
.platform-card p { color: var(--c-muted); margin: 0 0 20px; }
.platform-card__more { color: var(--c-gold); font: 600 14.5px var(--f-head); }
.section-more { text-align: center; margin-top: 34px; }

.license-section { display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: center; }
.license-section h2 { margin: 14px 0 16px; }
.license-section > .license-section__text > p { color: var(--c-muted); margin: 0 0 22px; }
.check-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.check-list li { display: flex; gap: 12px; align-items: flex-start; color: var(--c-text); font-size: 15px; }
.check-list .icon { width: 18px; height: 18px; color: #34d399; flex-shrink: 0; margin-top: 3px; }
.license-demo {
	background: var(--c-bg); border: 1px solid var(--c-border); border-radius: var(--radius, 18px);
	padding: 30px; display: grid; gap: 14px; box-shadow: 0 30px 70px rgba(5, 5, 24, .55);
}
.license-demo__label { font: 500 12px var(--f-body); letter-spacing: .12em; text-transform: uppercase; color: var(--c-muted); }
.license-demo__key code {
	display: block; text-align: center; padding: 16px;
	font: 600 clamp(15px, 2.2vw, 19px) var(--f-mono); letter-spacing: .1em; color: var(--c-gold);
	background: var(--c-surface); border: 1px dashed rgba(255, 182, 41, .45); border-radius: 12px;
}
.license-demo__row { display: flex; align-items: center; gap: 10px; color: var(--c-muted); font-size: 14px; }
.license-demo__row strong { color: #fff; }
.license-demo__row--ok .icon { width: 16px; height: 16px; color: #34d399; }

.steps-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 20px; }
.step-card {
	position: relative; background: var(--c-surface); border: 1px solid var(--c-border);
	border-radius: var(--radius, 18px); padding: 28px;
}
.step-card__num { font: 700 38px var(--f-head); background: linear-gradient(135deg, var(--c-violet), var(--c-purple)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.step-card h3 { font-size: 18px; margin: 12px 0 8px; }
.step-card p { color: var(--c-muted); font-size: 14.5px; margin: 0; }

.testimonials-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.testimonial { background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--radius, 18px); padding: 28px; margin: 0; }
.testimonial__stars { display: flex; gap: 3px; margin-bottom: 14px; }
.testimonial__stars .icon { width: 15px; height: 15px; color: var(--c-gold); fill: currentColor; }
.testimonial p { color: var(--c-text); font-size: 15px; line-height: 1.65; margin: 0 0 18px; }
.testimonial footer strong { display: block; font: 600 15px var(--f-head); }
.testimonial footer span { color: var(--c-muted); font-size: 13px; }

.section--alt { background: linear-gradient(180deg, rgba(17, 16, 74, .45), rgba(17, 16, 74, .12)); border-block: 1px solid rgba(41, 40, 92, .55); }
.page-hero--slim { padding: 76px 0 44px; }
.page-hero__intro { color: var(--c-muted); max-width: 640px; margin: 14px 0 0; font-size: 16.5px; }
.container--narrow { max-width: 860px; }

/* --- Responsywność nowych układów --- */
@media (max-width: 1024px) {
	.cart-layout, .checkout-layout { grid-template-columns: 1fr; }
	.checkout-summary .checkout-panel--summary, .cart-summary { position: static; }
	.account-layout { grid-template-columns: 220px 1fr; }
	.license-section { grid-template-columns: 1fr; gap: 36px; }
	.feature-grid, .testimonials-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
	.shop-layout { grid-template-columns: 1fr; }
	.shop-sidebar { position: static; }
	.filters-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
	.filters-toggle .icon { width: 16px; height: 16px; }
	.shop-filters { display: none; }
	.shop-filters.is-open { display: block; }
	.account-layout { grid-template-columns: 1fr; }
	.account-nav { position: static; }
	.account-nav ul { display: flex; flex-wrap: wrap; }
	.auth-layout--two { grid-template-columns: 1fr; max-width: 520px; }
	.platform-split { grid-template-columns: 1fr; }
	.hero__float { display: none; }
}
@media (max-width: 640px) {
	.feature-grid, .testimonials-grid { grid-template-columns: 1fr; }
	.account-tiles { grid-template-columns: 1fr; }
	.cart-item { grid-template-columns: 60px 1fr; }
	.cart-item__qty { grid-column: 2; justify-self: start; }
	.cart-item__total { grid-column: 2; }
	.cart-item__remove { position: absolute; }
	.cart-item { position: relative; }
	.cart-item__remove { top: 12px; right: 12px; }
	.mcz-contact-form .form-grid, .checkout-grid { grid-template-columns: 1fr; }
	.cart-drawer { width: 100vw; }
}

/* =====================================================================
   3.0 REDESIGN – jednolite tło, kontrast, nowe komponenty globalne
   ===================================================================== */

/* --- Jednolite, nieruchome (fixed) tło z animowanymi orbami --- */
body {
	background:
		radial-gradient(ellipse 70% 55% at 80% -5%, rgba(79, 70, 255, .22), transparent 60%),
		radial-gradient(ellipse 55% 45% at -10% 45%, rgba(108, 92, 255, .14), transparent 60%),
		radial-gradient(ellipse 60% 50% at 105% 90%, rgba(255, 148, 23, .08), transparent 60%),
		linear-gradient(160deg, #050518 0%, #0A0930 48%, #0E0C3E 100%);
	background-attachment: fixed;
}
.site-orbs { position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.orb { position: absolute; border-radius: 50%; filter: blur(70px); opacity: .5; will-change: transform; }
.orb--1 { width: 480px; height: 480px; top: -140px; right: -100px; background: radial-gradient(circle, rgba(79,70,255,.5), transparent 65%); animation: orb-a 22s ease-in-out infinite; }
.orb--2 { width: 380px; height: 380px; bottom: 6%; left: -140px; background: radial-gradient(circle, rgba(108,92,255,.4), transparent 65%); animation: orb-b 26s ease-in-out infinite; }
.orb--3 { width: 300px; height: 300px; top: 44%; right: 12%; background: radial-gradient(circle, rgba(255,148,23,.22), transparent 65%); animation: orb-a 30s ease-in-out infinite reverse; }
.orb--4 { width: 220px; height: 220px; top: 16%; left: 22%; background: radial-gradient(circle, rgba(48,36,217,.4), transparent 65%); animation: orb-b 34s ease-in-out infinite reverse; }
@keyframes orb-a { 0%,100% { transform: translate(0,0) scale(1); } 50% { transform: translate(-70px, 60px) scale(1.12); } }
@keyframes orb-b { 0%,100% { transform: translate(0,0) scale(1); } 50% { transform: translate(80px, -50px) scale(.92); } }
@media (prefers-reduced-motion: reduce) { .orb { animation: none; } }

/* Sekcje przezroczyste – tło jest jedno, globalne. */
.section--alt { background: transparent; border-block: 1px solid rgba(79, 70, 255, .16); }
.section--surface { background: transparent; }

/* --- Nadtytuły: złote, wyraźne --- */
.eyebrow {
	color: var(--c-gold);
	display: inline-flex; align-items: center; gap: 10px;
	font-weight: 600; letter-spacing: .18em;
}
.eyebrow::before { content: ""; width: 26px; height: 2px; background: var(--gradient-gold); border-radius: 2px; }
.section-head--center .eyebrow::after { content: ""; width: 26px; height: 2px; background: var(--gradient-gold); border-radius: 2px; }
.eyebrow--pill {
	background: rgba(255, 182, 41, .1);
	border: 1px solid rgba(255, 182, 41, .35);
	color: var(--c-gold);
	padding: 9px 18px;
}
.eyebrow--pill::before, .eyebrow--pill::after { display: none; }

/* --- HERO: większy, terminal odcięty od tła --- */
.hero { min-height: min(88vh, 860px); display: flex; align-items: center; padding: clamp(90px, 11vw, 150px) 0 clamp(80px, 9vw, 130px); }
.hero__inner { width: 100%; }
.hero h1 { font-size: clamp(46px, 6.4vw, 82px); }
.hero__lead { font-size: 20px; max-width: 560px; }
.hero__terminal {
	background: #070627;
	border: 1px solid rgba(108, 92, 255, .55);
	border-radius: 20px;
	box-shadow: 0 0 0 1px rgba(5, 5, 24, .8), 0 34px 90px rgba(3, 3, 20, .75), 0 0 80px rgba(79, 70, 255, .3);
	overflow: hidden;
}
.hero__terminal-bar { background: rgba(17, 16, 74, .8); border-bottom: 1px solid rgba(108, 92, 255, .3); padding: 13px 18px; }
.hero__terminal pre { padding: 26px 26px 30px; font-size: 14.5px; line-height: 2; }

/* --- Kafle: ikona po lewej, nagłówek po prawej, opis pod spodem --- */
.feature-card { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 16px; row-gap: 14px; background: rgba(20, 19, 79, .5); backdrop-filter: blur(8px); }
.feature-card__icon { margin-bottom: 0; }
.feature-card h3 { margin: 0; }
.feature-card p { grid-column: 1 / -1; }
.contact-card { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 8px 16px; }

/* --- Wyszukiwarka: jeden border --- */
.header-search__form input[type="search"],
.header-search__form input[type="search"]:focus {
	border: 0 !important; background: transparent !important; box-shadow: none !important;
	border-radius: 0; padding: 10px 0;
}

/* --- Karty i inputy: więcej kontrastu wszędzie --- */
.card, .shop-filters, .cart-item, .cart-summary, .checkout-panel, .auth-card, .account-nav, .account-tile,
.license-card, .mini-cart-item, .account-order, .step-card, .testimonial, .platform-card {
	background: rgba(22, 21, 86, .55);
	border-color: rgba(108, 92, 255, .28);
	backdrop-filter: blur(10px);
}
.woocommerce form .form-row .input-text, .woocommerce form .form-row select, .woocommerce form .form-row textarea,
.mcz-contact-form input[type="text"], .mcz-contact-form input[type="email"], .mcz-contact-form select, .mcz-contact-form textarea,
.cart-coupon input, .filter-price input, .newsletter-form input[type="email"] {
	background: rgba(7, 6, 39, .85);
	border: 1px solid rgba(108, 92, 255, .4);
	color: #fff;
}
.woocommerce form .form-row .input-text::placeholder, .mcz-contact-form input::placeholder,
.mcz-contact-form textarea::placeholder, .newsletter-form input::placeholder { color: rgba(167, 168, 199, .75); }
.woocommerce form .form-row label, .mcz-contact-form label { color: #D9DAF0; }

/* --- Grid produktów / strona sklepu --- */
.shop-main ul.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
ul.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; list-style: none; margin: 0; padding: 0; }
ul.products li.product-card { margin: 0; width: auto; }
.page-hero--shop { text-align: left; padding-bottom: 10px; }
.page-hero--shop h1 { font-size: clamp(38px, 5vw, 60px); }
.rating { display: inline-flex; align-items: center; gap: 3px; margin: 2px 0 8px; }
.rating__star { width: 15px; height: 15px; fill: rgba(167, 168, 199, .35); }
.rating__star.is-full { fill: var(--c-gold); }
.rating__count { color: var(--c-muted); font-size: 12.5px; margin-left: 5px; }

/* --- Strona produktu: duża galeria --- */
.single-product-section { padding-top: clamp(48px, 6vw, 80px); }
.single-product-layout { grid-template-columns: 1.05fr 1fr; }
.single-product-layout__gallery { position: sticky; top: 100px; }
.single-product-layout__gallery .woocommerce-product-gallery { width: 100% !important; background: #070627; }
.woocommerce-product-gallery__wrapper { margin: 0; }
.woocommerce-product-gallery__image a, .woocommerce-product-gallery__image img { display: block; width: 100% !important; height: auto; }
.woocommerce-product-gallery .flex-viewport { width: 100%; }
.woocommerce-product-gallery .flex-control-thumbs { display: flex; gap: 10px; list-style: none; margin: 12px 0 0; padding: 12px; }
.woocommerce-product-gallery .flex-control-thumbs img { width: 74px; border-radius: 10px; border: 1px solid var(--c-border); cursor: pointer; opacity: .6; }
.woocommerce-product-gallery .flex-control-thumbs img.flex-active, .woocommerce-product-gallery .flex-control-thumbs img:hover { opacity: 1; border-color: var(--c-gold); }
.summary form.cart { display: flex; align-items: stretch; gap: 14px; margin: 26px 0; }
.summary form.cart .quantity { display: flex; }
.summary form.cart .quantity .qty {
	width: 84px; text-align: center; border-radius: 14px;
	background: rgba(7, 6, 39, .85); border: 1px solid rgba(108, 92, 255, .4); color: #fff;
	font: 500 17px var(--f-mono);
}
.summary form.cart .single_add_to_cart_button {
	flex: 1; max-width: 320px; border: 0; border-radius: 14px; cursor: pointer;
	background: var(--gradient-gold); color: #050518; font: 600 17px var(--f-head);
	padding: 16px 30px; transition: transform .15s, box-shadow .2s;
}
.summary form.cart .single_add_to_cart_button:hover { transform: translateY(-2px); box-shadow: 0 14px 34px rgba(255, 148, 23, .4); }

/* --- Podsumowanie w checkout (review-order) --- */
.review-order__items { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 12px; }
.review-order__item { display: grid; grid-template-columns: 54px 1fr auto; gap: 14px; align-items: center; }
.review-order__thumb { position: relative; }
.review-order__thumb img { width: 54px; height: 54px; border-radius: 10px; object-fit: cover; display: block; border: 1px solid var(--c-border); }
.review-order__thumb em {
	position: absolute; top: -7px; right: -7px; min-width: 20px; height: 20px; padding: 0 5px;
	display: inline-flex; align-items: center; justify-content: center; font: 600 11px/1 var(--f-body);
	font-style: normal; color: #050518; background: var(--gradient-gold); border-radius: 99px;
}
.review-order__name { font: 500 14.5px/1.4 var(--f-body); color: #fff; }
.review-order__price { color: var(--c-gold); font-weight: 600; white-space: nowrap; }
.review-order__totals { border-top: 1px solid var(--c-border); padding-top: 14px; display: grid; gap: 10px; margin-bottom: 18px; }
.review-order__row { display: flex; justify-content: space-between; color: var(--c-muted); font-size: 14.5px; }
.review-order__row--total { color: #fff; font: 600 18px var(--f-head); padding-top: 6px; }
.review-order__row--total .amount { color: var(--c-gold); }

/* --- Baner: dedykowane wtyczki --- */
.dev-banner { padding: clamp(48px, 6vw, 84px) 0; }
.dev-banner__inner {
	position: relative; overflow: hidden;
	display: grid; grid-template-columns: 1.2fr .8fr; gap: 40px; align-items: center;
	background: linear-gradient(135deg, rgba(48, 36, 217, .5), rgba(17, 16, 74, .8));
	border: 1px solid rgba(108, 92, 255, .45); border-radius: 24px;
	padding: clamp(32px, 5vw, 56px);
	box-shadow: 0 30px 80px rgba(3, 3, 20, .5);
}
.dev-banner__inner::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: radial-gradient(ellipse 45% 80% at 90% 15%, rgba(255, 182, 41, .16), transparent 60%);
}
.dev-banner__text { position: relative; }
.dev-banner__text h2 { font-size: clamp(26px, 3.4vw, 40px); margin: 12px 0 12px; }
.dev-banner__text p { color: var(--c-muted); margin: 0; max-width: 520px; }
.dev-banner__actions { position: relative; display: grid; gap: 14px; justify-items: stretch; }
.dev-banner__actions .btn { justify-content: center; }
.dev-banner__actions .icon { width: 18px; height: 18px; }

/* --- Newsletter: pas nad stopką + popup --- */
.newsletter-band { border-top: 1px solid rgba(79, 70, 255, .2); padding: clamp(44px, 6vw, 72px) 0; }
.newsletter-band__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.newsletter-band__text { display: flex; gap: 18px; align-items: flex-start; }
.newsletter-band__icon {
	flex-shrink: 0; width: 54px; height: 54px; border-radius: 16px;
	display: inline-flex; align-items: center; justify-content: center;
	background: rgba(255, 182, 41, .12); border: 1px solid rgba(255, 182, 41, .4);
}
.newsletter-band__icon .icon { width: 24px; height: 24px; color: var(--c-gold); }
.newsletter-band h2 { font-size: clamp(22px, 2.6vw, 30px); margin: 0 0 8px; }
.newsletter-band p { color: var(--c-muted); margin: 0; font-size: 15px; }
.newsletter-form__row { display: flex; gap: 10px; }
.newsletter-form input[type="email"] { flex: 1; padding: 14px 18px; border-radius: 14px; font: 400 15px var(--f-body); min-width: 0; }
.newsletter-form input[type="email"]:focus { outline: 0; border-color: var(--c-gold); box-shadow: 0 0 0 3px rgba(255, 182, 41, .2); }
.newsletter-form__consent { margin-top: 12px; font-size: 12.5px; color: var(--c-muted); align-items: flex-start; }
.newsletter-form__consent .filter-check__box { margin-top: 2px; }
.newsletter-form__status { margin: 10px 0 0; font-size: 14px; }
.newsletter-form__status.is-ok { color: #34d399; }
.newsletter-form__status.is-error { color: #ff6b6b; }

.mcz-popup { position: fixed; inset: 0; z-index: 120; display: flex; align-items: center; justify-content: center; padding: 20px; }
.mcz-popup__backdrop { position: absolute; inset: 0; background: rgba(5, 5, 24, .75); backdrop-filter: blur(4px); }
.mcz-popup__box {
	position: relative; max-width: 480px; width: 100%; text-align: center;
	background: linear-gradient(165deg, #16155A, #0B0A33);
	border: 1px solid rgba(108, 92, 255, .5); border-radius: 24px;
	padding: 44px 36px 36px; box-shadow: 0 40px 100px rgba(3, 3, 20, .8);
	animation: popup-in .35s cubic-bezier(.2, .9, .3, 1.2);
}
@keyframes popup-in { from { transform: translateY(24px) scale(.96); opacity: 0; } }
.mcz-popup__close {
	position: absolute; top: 14px; right: 14px; width: 38px; height: 38px;
	display: inline-flex; align-items: center; justify-content: center;
	background: none; border: 1px solid var(--c-border); border-radius: 10px; color: var(--c-muted); cursor: pointer;
}
.mcz-popup__close svg { width: 17px; height: 17px; }
.mcz-popup__close:hover { color: #fff; border-color: var(--c-violet); }
.mcz-popup__icon {
	display: inline-flex; width: 58px; height: 58px; align-items: center; justify-content: center;
	border-radius: 18px; margin-bottom: 18px;
	background: rgba(255, 182, 41, .12); border: 1px solid rgba(255, 182, 41, .4);
}
.mcz-popup__icon .icon { width: 26px; height: 26px; color: var(--c-gold); }
.mcz-popup__box h2 { font-size: 27px; margin: 0 0 10px; }
.mcz-popup__box > p { color: var(--c-muted); font-size: 14.5px; margin: 0 0 22px; }
.mcz-popup .newsletter-form__consent { text-align: left; }

/* --- Zgody cookies (Consent Mode v2) --- */
.cookie-bar {
	position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 130;
	background: linear-gradient(165deg, #16155A, #0B0A33);
	border: 1px solid rgba(108, 92, 255, .5); border-radius: 20px;
	box-shadow: 0 30px 80px rgba(3, 3, 20, .8);
	max-width: 1100px; margin-inline: auto;
}
.cookie-bar__inner { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center; padding: 22px 26px; }
.cookie-bar h2 { font-size: 17px; margin: 0 0 6px; }
.cookie-bar p { color: var(--c-muted); font-size: 13px; line-height: 1.6; margin: 0; }
.cookie-bar__actions { display: grid; gap: 8px; min-width: 220px; }
.cookie-bar__actions .btn { padding: 11px 20px; font-size: 14px; justify-content: center; }

.cookie-modal { position: fixed; inset: 0; z-index: 140; display: flex; align-items: center; justify-content: center; padding: 20px; }
.cookie-modal__backdrop { position: absolute; inset: 0; background: rgba(5, 5, 24, .78); backdrop-filter: blur(4px); }
.cookie-modal__box {
	position: relative; width: 100%; max-width: 620px; max-height: 86vh; overflow-y: auto;
	background: linear-gradient(165deg, #16155A, #0B0A33);
	border: 1px solid rgba(108, 92, 255, .5); border-radius: 24px; padding: 34px;
}
.cookie-modal__box h2 { margin: 0 0 8px; font-size: 24px; }
.cookie-modal__intro { color: var(--c-muted); font-size: 13.5px; margin: 0 0 22px; }
.cookie-cat { border: 1px solid rgba(108, 92, 255, .3); border-radius: 14px; padding: 16px 18px; margin-bottom: 12px; background: rgba(7, 6, 39, .5); }
.cookie-cat__head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 6px; }
.cookie-cat__head strong { font: 600 15px var(--f-head); color: #fff; }
.cookie-cat p { margin: 0; color: var(--c-muted); font-size: 12.5px; line-height: 1.6; }
.cookie-cat code { font-family: var(--f-mono); font-size: 11px; color: var(--c-gold); }
.cookie-switch { position: relative; display: inline-block; width: 46px; height: 26px; flex-shrink: 0; cursor: pointer; }
.cookie-switch input { position: absolute; opacity: 0; }
.cookie-switch span, .cookie-switch--locked {
	display: block; width: 46px; height: 26px; border-radius: 99px;
	background: rgba(167, 168, 199, .25); transition: background .2s; position: relative;
}
.cookie-switch span::after, .cookie-switch--locked::after {
	content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px;
	border-radius: 50%; background: #fff; transition: transform .2s;
}
.cookie-switch input:checked + span { background: var(--gradient-gold); }
.cookie-switch input:checked + span::after { transform: translateX(20px); }
.cookie-switch input:focus-visible + span { box-shadow: 0 0 0 3px rgba(255, 182, 41, .35); }
.cookie-switch--locked { background: var(--gradient-gold); opacity: .55; }
.cookie-switch--locked::after { transform: translateX(20px); }
.cookie-modal__actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 20px; }
.cookie-fab {
	position: fixed; left: 18px; bottom: 18px; z-index: 110;
	width: 46px; height: 46px; border-radius: 50%; cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center;
	background: #0B0A33; border: 1px solid rgba(108, 92, 255, .5); color: var(--c-muted);
	box-shadow: 0 10px 30px rgba(3, 3, 20, .6); transition: .2s;
}
.cookie-fab:hover { color: var(--c-gold); border-color: var(--c-gold); }
.cookie-fab svg { width: 21px; height: 21px; }

/* --- Back to top --- */
.back-to-top {
	position: fixed; right: 18px; bottom: 18px; z-index: 110;
	width: 46px; height: 46px; border-radius: 50%; cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--gradient-gold); color: #050518; border: 0;
	box-shadow: 0 12px 30px rgba(255, 148, 23, .4);
	opacity: 0; transform: translateY(12px); transition: opacity .25s, transform .25s;
}
.back-to-top.is-visible { opacity: 1; transform: translateY(0); }
.back-to-top svg { width: 20px; height: 20px; }
.back-to-top:hover { transform: translateY(-3px); }

/* --- Drobne poprawki kontrastu / detali --- */
.page-hero .eyebrow { justify-content: center; }
.page-hero--shop .eyebrow { justify-content: flex-start; }
.thankyou, .woocommerce-order { max-width: 760px; margin-inline: auto; padding: 48px 0 80px; }
.section-head__desc { color: #B9BAD9; }
.shop-toolbar { background: rgba(22, 21, 86, .45); border: 1px solid rgba(108, 92, 255, .25); border-radius: 14px; padding: 12px 18px; }
.woocommerce-ordering select { background-color: rgba(7, 6, 39, .85); }

@media (max-width: 900px) {
	.dev-banner__inner, .newsletter-band__inner { grid-template-columns: 1fr; }
	.cookie-bar__inner { grid-template-columns: 1fr; }
	.cookie-bar__actions { grid-template-columns: 1fr 1fr; min-width: 0; }
	.cookie-bar__actions [data-consent="open-settings"] { grid-column: 1 / -1; }
	.single-product-layout__gallery { position: static; }
	.summary form.cart { flex-wrap: wrap; }
	.summary form.cart .single_add_to_cart_button { max-width: none; width: 100%; }
	ul.products, .shop-main ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hero { min-height: 0; }
}
@media (max-width: 640px) {
	ul.products, .shop-main ul.products { grid-template-columns: 1fr; }
	.newsletter-form__row { flex-direction: column; }
	.back-to-top { right: 14px; bottom: 76px; }
}

/* =====================================================================
   4.0 FIXY + INTEGRACJE WTYCZEK TS + NOWE HERO + MOJE KONTO
   ===================================================================== */

/* FIX: atrybut [hidden] musi zawsze wygrywać z display ustawionym klasą
   (to przez to baner cookies / popup "nie reagowały" na kliknięcia). */
[hidden] { display: none !important; }

/* --- HERO: panel licencji zamiast terminala --- */
.hero__panel {
	position: relative;
	background: linear-gradient(165deg, rgba(23, 22, 92, .92), rgba(9, 8, 44, .96));
	border: 1px solid rgba(108, 92, 255, .55);
	border-radius: 22px;
	box-shadow: 0 40px 100px rgba(3, 3, 20, .7), 0 0 90px rgba(79, 70, 255, .25);
	overflow: hidden;
	backdrop-filter: blur(10px);
}
.hero__panel::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: radial-gradient(ellipse 60% 45% at 85% 0%, rgba(255, 182, 41, .12), transparent 60%);
}
.hero__panel-bar {
	display: flex; align-items: center; gap: 8px;
	padding: 15px 20px; border-bottom: 1px solid rgba(108, 92, 255, .3);
	background: rgba(7, 6, 39, .6);
}
.hero__panel-bar span { width: 11px; height: 11px; border-radius: 50%; }
.hero__panel-bar span:nth-child(1) { background: #FF6B6B; }
.hero__panel-bar span:nth-child(2) { background: #FFB629; }
.hero__panel-bar span:nth-child(3) { background: #34D399; }
.hero__panel-bar em { margin-left: 10px; font: 500 12px var(--f-mono); color: var(--c-muted); font-style: normal; letter-spacing: .04em; }
.hero__panel-body { position: relative; padding: 26px; display: grid; gap: 18px; }
.hero__product {
	display: flex; align-items: center; gap: 14px;
	background: rgba(7, 6, 39, .55); border: 1px solid rgba(108, 92, 255, .3);
	border-radius: 14px; padding: 14px 16px;
}
.hero__product-icon {
	flex-shrink: 0; width: 46px; height: 46px; border-radius: 13px;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--gradient-brand);
}
.hero__product-icon .icon { width: 22px; height: 22px; color: #fff; }
.hero__product strong { display: block; font: 600 15.5px var(--f-head); color: #fff; }
.hero__product small { color: var(--c-muted); font-size: 12.5px; }
.hero__product-badge {
	margin-left: auto; padding: 6px 12px; border-radius: 99px;
	background: rgba(52, 211, 153, .14); color: #34D399;
	font: 600 11.5px var(--f-mono); letter-spacing: .06em; white-space: nowrap;
}
.hero__key-label { font: 600 11px var(--f-body); letter-spacing: .16em; text-transform: uppercase; color: var(--c-muted); margin: 0 0 -8px; }
.hero__key {
	display: flex; align-items: center; justify-content: center; gap: 12px;
	padding: 16px; border-radius: 14px;
	background: rgba(255, 182, 41, .07); border: 1px dashed rgba(255, 182, 41, .5);
	font: 600 clamp(14px, 1.6vw, 18px) var(--f-mono); letter-spacing: .09em; color: var(--c-gold);
}
.hero__key .icon { width: 17px; height: 17px; flex-shrink: 0; }
.hero__checks { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.hero__checks li { display: flex; align-items: center; gap: 10px; color: var(--c-text); font-size: 14px; }
.hero__checks .icon { width: 16px; height: 16px; color: #34D399; flex-shrink: 0; }
.hero__checks strong { color: #fff; }
.hero__bars { display: flex; align-items: flex-end; gap: 7px; height: 52px; padding-top: 4px; }
.hero__bars i {
	flex: 1; border-radius: 5px 5px 2px 2px;
	background: linear-gradient(180deg, rgba(108, 92, 255, .9), rgba(79, 70, 255, .35));
	animation: hero-bar 2.6s ease-in-out infinite;
}
.hero__bars i:nth-child(odd) { animation-delay: .5s; }
.hero__bars i:last-child { background: linear-gradient(180deg, #FFC857, #FF9417); }
@keyframes hero-bar { 0%, 100% { transform: scaleY(1); } 50% { transform: scaleY(.72); } }
.hero__bars i { transform-origin: bottom; }
@media (prefers-reduced-motion: reduce) { .hero__bars i { animation: none; } }

/* --- Punkty lojalnościowe na stronie produktu --- */
.loyalty-box {
	display: flex; gap: 14px; align-items: flex-start; margin-top: 14px;
	background: rgba(255, 182, 41, .07); border: 1px solid rgba(255, 182, 41, .35);
	border-radius: 14px; padding: 16px 18px;
}
.loyalty-box > .icon { width: 22px; height: 22px; color: var(--c-gold); flex-shrink: 0; margin-top: 2px; }
.loyalty-box strong { display: block; margin-bottom: 4px; color: #fff; font: 600 15px var(--f-head); }
.loyalty-box p { margin: 0; color: var(--c-muted); font-size: 13.5px; line-height: 1.6; }
.loyalty-box .loyalty-earn { color: var(--c-gold); font-weight: 600; }
.loyalty-box__actions { display: flex; gap: 10px; margin-top: 10px; flex-wrap: wrap; }
.loyalty-box__actions .btn { padding: 9px 16px; font-size: 13.5px; }

/* --- Moje konto (szablon z tabami) --- */
.acc-user-card {
	display: flex; align-items: center; gap: 14px;
	padding: 18px; margin-bottom: 14px;
	background: rgba(22, 21, 86, .55); border: 1px solid rgba(108, 92, 255, .28); border-radius: var(--radius, 18px);
}
.acc-user-card img { border-radius: 50%; width: 56px; height: 56px; }
.acc-user-card__greet { color: var(--c-muted); font-size: 13px; display: block; }
.acc-user-card__name { font: 600 17px var(--f-head); color: #fff; }
.acc-points-pill {
	display: flex; align-items: center; justify-content: space-between; gap: 10px;
	margin-bottom: 14px; padding: 14px 18px; border-radius: 14px;
	background: rgba(255, 182, 41, .1); border: 1px solid rgba(255, 182, 41, .4);
}
.acc-points-pill .icon { width: 18px; height: 18px; color: var(--c-gold); }
.acc-points-pill strong { font: 700 20px var(--f-head); color: var(--c-gold); }
.acc-points-pill span { color: var(--c-muted); font-size: 12.5px; }
.account-nav__item a .nav-dot {
	margin-left: auto; width: 9px; height: 9px; border-radius: 50%;
	background: var(--c-gold); box-shadow: 0 0 0 3px rgba(255, 182, 41, .25);
}
.acc-title { display: flex; align-items: center; gap: 12px; font-size: clamp(24px, 3vw, 32px); margin: 0 0 8px; }
.acc-title .icon { width: 24px; height: 24px; color: var(--c-gold); }
.acc-subtitle { color: var(--c-muted); margin: 0 0 28px; }
.acc-table { width: 100%; border-collapse: collapse; }
.acc-table th { text-align: left; font: 600 12px var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: var(--c-muted); padding: 0 12px 12px; }
.acc-table td { padding: 14px 12px; border-top: 1px solid rgba(108, 92, 255, .2); color: var(--c-text); font-size: 14.5px; vertical-align: middle; }
.acc-table .btn { padding: 8px 14px; font-size: 13px; }
.acc-back { display: inline-flex; align-items: center; gap: 8px; color: var(--c-muted); text-decoration: none; margin-bottom: 18px; font-size: 14px; }
.acc-back:hover { color: var(--c-gold); }
.acc-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.acc-panel { background: rgba(22, 21, 86, .55); border: 1px solid rgba(108, 92, 255, .28); border-radius: var(--radius, 18px); padding: 24px; }
.acc-panel h3 { display: flex; align-items: center; gap: 10px; font-size: 17px; margin: 0 0 16px; }
.acc-panel h3 .icon { width: 17px; height: 17px; color: var(--c-gold); }
.acc-panel address { font-style: normal; color: var(--c-muted); line-height: 1.7; }
.acc-info-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.acc-info-list li { display: flex; justify-content: space-between; gap: 14px; color: var(--c-muted); font-size: 14px; }
.acc-info-list strong { color: #fff; }
.acc-empty { text-align: center; padding: 56px 20px; display: grid; gap: 12px; justify-items: center; }
.acc-empty .icon { width: 44px; height: 44px; color: var(--c-muted); opacity: .6; }
.acc-section-gap { margin-top: 32px; }
.acc-message { border-radius: 12px; padding: 13px 16px; margin: 14px 0 0; font-size: 14px; display: none; }
.acc-message.is-ok { display: block; background: rgba(52, 211, 153, .12); border: 1px solid rgba(52, 211, 153, .4); color: #34d399; }
.acc-message.is-error { display: block; background: rgba(255, 107, 107, .12); border: 1px solid rgba(255, 107, 107, .4); color: #ff6b6b; }

/* Lojalność w koncie */
.loyalty-hero { display: flex; align-items: center; gap: 28px; margin-bottom: 24px; flex-wrap: wrap; }
.loyalty-circle {
	width: 150px; height: 150px; border-radius: 50%; flex-shrink: 0;
	display: grid; place-content: center; text-align: center;
	background: radial-gradient(circle at 32% 28%, rgba(255, 200, 87, .22), transparent 60%), rgba(7, 6, 39, .7);
	border: 2px solid var(--c-gold); box-shadow: 0 0 44px rgba(255, 182, 41, .25);
}
.loyalty-circle strong { font: 700 34px var(--f-head); color: var(--c-gold); line-height: 1; }
.loyalty-circle span { color: var(--c-muted); font-size: 13px; }
.loyalty-earning { color: var(--c-muted); font-size: 15px; max-width: 420px; }
.loyalty-earning strong { color: #fff; }
.loyalty-available {
	display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap;
	background: linear-gradient(135deg, rgba(255, 182, 41, .16), rgba(255, 148, 23, .07));
	border: 1px solid rgba(255, 182, 41, .5); border-radius: 16px; padding: 20px 24px; margin-bottom: 24px;
}
.loyalty-available__info { display: flex; align-items: center; gap: 16px; }
.loyalty-available__gift { font-size: 34px; }
.loyalty-available__title { display: block; font: 600 16px var(--f-head); color: #fff; }
.loyalty-available__value { color: var(--c-gold); font-size: 14px; }
.loyalty-progress { background: rgba(7, 6, 39, .6); border-radius: 99px; height: 12px; overflow: hidden; margin: 12px 0 8px; }
.loyalty-progress__fill { height: 100%; border-radius: 99px; background: var(--gradient-gold); transition: width .4s; }
.loyalty-levels-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 14px; margin-top: 14px; }
.loyalty-level {
	text-align: center; padding: 20px 14px; border-radius: 14px;
	background: rgba(7, 6, 39, .5); border: 1px solid rgba(108, 92, 255, .3);
}
.loyalty-level.reached { border-color: rgba(52, 211, 153, .5); }
.loyalty-level.available { border-color: var(--c-gold); box-shadow: 0 0 24px rgba(255, 182, 41, .18); }
.loyalty-level__discount { font: 700 30px var(--f-head); background: var(--gradient-gold); -webkit-background-clip: text; background-clip: text; color: transparent; }
.loyalty-level__points { color: var(--c-muted); font-size: 13px; margin-top: 4px; }
.loyalty-level__status { margin-top: 10px; font-size: 12px; color: #34d399; }
.loyalty-level.available .loyalty-level__status { color: var(--c-gold); font-weight: 600; }
.points-positive { color: #34d399; font-weight: 600; }
.points-negative { color: #ff6b6b; font-weight: 600; }
.coupon-code-box {
	font: 700 24px var(--f-mono); letter-spacing: .12em; color: var(--c-gold);
	background: rgba(7, 6, 39, .8); border: 1px dashed rgba(255, 182, 41, .5);
	border-radius: 12px; padding: 16px 22px; margin: 16px 0; text-align: center;
}

@media (max-width: 720px) {
	.acc-grid-2 { grid-template-columns: 1fr; }
	.acc-table thead { display: none; }
	.acc-table td { display: block; border-top: 0; padding: 4px 0; }
	.acc-table tr { display: block; border-top: 1px solid rgba(108, 92, 255, .2); padding: 12px 0; }
}

/* =====================================================================
   5.0 NAPRAWY GLOBALNE (centrowanie, checkbox, hero, sklep, koszyk…)
   ===================================================================== */

/* --- Wyśrodkowanie tekstów w hero podstron --- */
.page-hero__intro, .page-hero__desc { margin-left: auto; margin-right: auto; text-align: center; }
.page-hero--shop .page-hero__intro { margin-left: 0; text-align: left; }

/* --- Checkboxy: wyraźne, widoczne na ciemnych kartach --- */
.filter-check { position: relative; }
.filter-check__box {
	width: 22px; height: 22px; border-radius: 7px;
	background: rgba(7, 6, 39, .9);
	border: 2px solid rgba(167, 168, 199, .55);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .04);
}
.filter-check:hover .filter-check__box { border-color: var(--c-gold); }
.filter-check input:checked + .filter-check__box { background: var(--gradient-gold); border-color: transparent; }
.filter-check input:checked + .filter-check__box::after { inset: 5px 6px 7px; }

/* --- Warstwy: animowane tło POD treścią, ale widoczne --- */
.site-orbs { z-index: 0; }
.site-main, .site-footer, .dev-banner, .newsletter-band { position: relative; z-index: 1; }
.orb { opacity: .75; filter: blur(56px); }
.orb--1 { width: 560px; height: 560px; }
.orb--3 { background: radial-gradient(circle, rgba(255, 148, 23, .3), transparent 65%); }
.orb--5 { width: 160px; height: 160px; top: 68%; left: 40%; background: radial-gradient(circle, rgba(255, 200, 87, .3), transparent 65%); animation: orb-a 18s ease-in-out infinite; }
.orb--6 { width: 240px; height: 240px; top: 8%; right: 38%; background: radial-gradient(circle, rgba(79, 70, 255, .45), transparent 65%); animation: orb-b 24s ease-in-out infinite; }
.float-shape {
	position: absolute; color: rgba(108, 92, 255, .4); pointer-events: none;
	animation: shape-float 12s ease-in-out infinite;
}
.float-shape svg { width: 100%; height: 100%; }
.float-shape--1 { width: 34px; height: 34px; top: 22%; left: 8%; }
.float-shape--2 { width: 26px; height: 26px; top: 64%; right: 10%; color: rgba(255, 182, 41, .4); animation-delay: 3s; animation-duration: 15s; }
.float-shape--3 { width: 22px; height: 22px; top: 38%; right: 26%; animation-delay: 6s; }
.float-shape--4 { width: 28px; height: 28px; bottom: 14%; left: 22%; color: rgba(255, 182, 41, .32); animation-delay: 1.5s; animation-duration: 18s; }
@keyframes shape-float {
	0%, 100% { transform: translateY(0) rotate(0deg); }
	50% { transform: translateY(-32px) rotate(14deg); }
}
@media (prefers-reduced-motion: reduce) { .float-shape { animation: none; } }

/* --- HERO front page: kompaktowy, panel nie rozjeżdża się --- */
.hero { min-height: 0; padding: clamp(72px, 8vw, 120px) 0 clamp(70px, 8vw, 110px); display: block; }
.hero h1 { font-size: clamp(42px, 5.4vw, 68px); }
.hero__inner { grid-template-columns: 1.08fr .92fr; align-items: center; }
.hero__visual { max-width: 500px; justify-self: end; width: 100%; }
.hero__panel-body { padding: 22px; gap: 15px; }
.hero__product { padding: 12px 14px; }
.hero__key { padding: 13px; }
.hero__bars { height: 40px; gap: 6px; }
.hero__bars i { border-radius: 4px 4px 2px 2px; min-width: 0; }
.hero__float { padding: 9px 14px; font-size: 12.5px; z-index: 2; }
.hero__float--1 { top: -14px; right: -8px; }
.hero__float--2 { bottom: -14px; left: -10px; }
.hero__stats { margin-top: 8px; }

/* --- Kafle platform: ikona + nagłówek obok, opis pod spodem --- */
.platform-card { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 16px; row-gap: 12px; padding: 30px; }
.platform-card__icon { margin-bottom: 0; width: 50px; height: 50px; }
.platform-card h3 { margin: 0; font-size: 21px; }
.platform-card p { grid-column: 1 / -1; margin: 0; }
.platform-card__more { grid-column: 1 / -1; }

/* --- Sekcja "O mnie": uporządkowany layout --- */
.about { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(32px, 5vw, 64px); align-items: start; }
.about__media img {
	width: 100%; height: auto; display: block; border-radius: 20px;
	border: 1px solid rgba(108, 92, 255, .4); box-shadow: 0 30px 70px rgba(3, 3, 20, .55);
}
.about__stats {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px;
	list-style: none; margin: 16px 0 0; padding: 0; border: 0;
}
.about__stats li {
	text-align: center; padding: 18px 10px; border-radius: 14px;
	background: rgba(22, 21, 86, .55); border: 1px solid rgba(108, 92, 255, .28);
}
.about__stats strong { display: block; font: 700 26px var(--f-head); background: var(--gradient-gold); -webkit-background-clip: text; background-clip: text; color: transparent; }
.about__stats span { font-size: 12px; color: var(--c-muted); line-height: 1.4; display: block; margin-top: 4px; }
.about__content { font-size: 16.5px; }
.about__content p { color: #C9CAE4; line-height: 1.75; }
.about__content strong { color: #fff; }
.about__content p:first-child { font-size: 19px; color: #EDEEFB; }

/* --- Grid produktów: twarde nadpisania (Woo CSS wyłączony, ale na wszelki wypadek) --- */
ul.products, .shop-main ul.products { display: grid !important; }
ul.products li.product, ul.products li.product-card {
	float: none !important; width: 100% !important; margin: 0 !important; clear: none !important;
	display: flex; flex-direction: column;
}
ul.products::before, ul.products::after { display: none !important; }
.product-card__body { flex: 1; display: flex; flex-direction: column; padding: 22px; }
.product-card__title { font-size: 18px; line-height: 1.35; overflow-wrap: anywhere; }
.rating__star { fill: rgba(167, 168, 199, .3); stroke: none; }

/* --- Drawer koszyka NAD nagłówkiem --- */
.cart-drawer { z-index: 300; }
.drawer-overlay { z-index: 290; }
body.admin-bar .cart-drawer { top: 32px; }
@media (max-width: 782px) { body.admin-bar .cart-drawer { top: 46px; } }

/* --- Strona produktu: pełna szerokość kolumn, bez ściśnięcia --- */
.woocommerce div.product div.images, .woocommerce div.product div.summary,
.single-product-layout__gallery, .single-product-layout__summary {
	float: none !important; width: 100% !important; margin: 0 !important; min-width: 0;
}
.single-product-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 64px); }
.summary .product_title { font-size: clamp(26px, 2.8vw, 38px); line-height: 1.15; overflow-wrap: anywhere; margin-bottom: 12px; }
.summary .price { font-size: 28px; }
.summary form.cart .single_add_to_cart_button { white-space: nowrap; }
.woocommerce-product-gallery { position: relative; }
.woocommerce-product-gallery__trigger {
	position: absolute; top: 14px; right: 14px; z-index: 5;
	width: 40px; height: 40px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center;
	background: rgba(5, 5, 24, .6); border: 1px solid var(--c-border); color: #fff; text-indent: -9999px; overflow: hidden;
}
.woocommerce-product-gallery__trigger::after {
	content: "🔍"; text-indent: 0; position: absolute; inset: 0; display: grid; place-content: center; font-size: 16px;
}

/* --- Komunikaty Woo (własne style – arkusze Woo wyłączone) --- */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notices-wrapper > div, ul.woocommerce-error {
	list-style: none; margin: 0 0 20px; padding: 15px 20px; border-radius: 14px;
	background: rgba(79, 70, 255, .12); border: 1px solid rgba(108, 92, 255, .45); color: var(--c-text); font-size: 14.5px;
}
.woocommerce-message { background: rgba(52, 211, 153, .1); border-color: rgba(52, 211, 153, .4); }
.woocommerce-error, ul.woocommerce-error { background: rgba(255, 107, 107, .1); border-color: rgba(255, 107, 107, .45); }
.woocommerce-error li { margin: 0; }
.woocommerce-message .button, .woocommerce-info .button, .woocommerce-error .button {
	float: right; margin-left: 14px; padding: 7px 14px; border-radius: 10px;
	background: var(--c-surface-light); border: 1px solid var(--c-border); color: #fff; text-decoration: none; font-size: 13px;
}

/* --- KOSZYK: uporządkowany --- */
.cart-layout { grid-template-columns: minmax(0, 1fr) 380px; }
.cart-item {
	grid-template-columns: 84px minmax(0, 1fr) auto auto;
	grid-template-areas: "thumb info qty total";
	position: relative; padding: 20px 56px 20px 20px;
}
.cart-item__thumb { grid-area: thumb; }
.cart-item__thumb img { width: 84px; height: 84px; border-radius: 14px; object-fit: cover; display: block; border: 1px solid rgba(108, 92, 255, .3); }
.cart-item__info { grid-area: info; min-width: 0; }
.cart-item__qty { grid-area: qty; }
.cart-item__total { grid-area: total; font-size: 18px; }
.cart-item .product-badge { position: static; display: inline-flex; width: fit-content; margin: 0 0 2px; }
.cart-item__title { text-decoration: none; overflow-wrap: anywhere; }
.cart-item__title:hover { text-decoration: none; color: var(--c-gold); }
.cart-item__remove { position: absolute; top: 50%; right: 14px; transform: translateY(-50%); }
.qty-stepper { flex-shrink: 0; height: 44px; align-items: stretch; }
.qty-stepper__btn { height: auto; width: 38px; flex-shrink: 0; font-size: 19px; line-height: 1; }
.qty-stepper .quantity { display: flex; margin: 0; float: none; }
.qty-stepper .quantity .screen-reader-text, .qty-stepper .quantity label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.qty-stepper input.qty { height: auto; width: 48px; padding: 0; }
.cart-actions { margin-top: 18px; }
.cart-actions .btn, .cart-coupon .btn { height: 46px; }
.cart-coupon input { height: 46px; }

/* --- ZAMÓWIENIE: pola bez floatów Woo, czytelna siatka --- */
.checkout-grid { column-gap: 18px; }
.woocommerce form .form-row, form.checkout .form-row {
	float: none !important; width: 100% !important; padding: 0; margin: 0 0 16px; display: block;
}
form.checkout .form-row .woocommerce-input-wrapper { display: block; width: 100%; }
form.checkout .form-row .required { color: var(--c-gold); text-decoration: none; }
form.checkout ::placeholder { color: rgba(167, 168, 199, .6); }
form.checkout select, .woocommerce form .form-row select {
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23A7A8C7' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 14px center;
	padding-right: 38px;
}
.select2-container .select2-selection--single {
	height: 47px; border-radius: 12px; background: rgba(7, 6, 39, .85); border: 1px solid rgba(108, 92, 255, .4);
}
.select2-container .select2-selection--single .select2-selection__rendered { color: #fff; line-height: 45px; padding-left: 15px; }
.select2-container .select2-selection--single .select2-selection__arrow { height: 45px; }
.select2-dropdown { background: #0B0A33; border: 1px solid rgba(108, 92, 255, .5); color: var(--c-text); border-radius: 12px; }
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable { background: var(--c-violet); }
.select2-search--dropdown .select2-search__field { background: rgba(7, 6, 39, .85); border: 1px solid rgba(108, 92, 255, .4); color: #fff; border-radius: 8px; }
#payment .wc_payment_method label { cursor: pointer; }
#payment .wc_payment_method > input[type="radio"] { accent-color: #FFB629; width: 16px; height: 16px; }
.woocommerce-checkout-review-order .woocommerce-checkout-payment { margin-top: 6px; }

/* --- Tab opinii z wtyczki: dopasowanie do motywu --- */
.product-reviews-tab { display: grid; gap: 20px; }
.product-reviews-tab > div, .product-reviews-tab form, .product-reviews-tab [class*="review-form"], .product-reviews-tab [class*="reviews-list"], .product-reviews-tab [class*="review-item"] {
	background: rgba(22, 21, 86, .55) !important;
	border: 1px solid rgba(108, 92, 255, .28) !important;
	border-radius: 18px !important;
	color: var(--c-text) !important;
	box-shadow: none !important;
}
.product-reviews-tab [class*="review-item"] { padding: 20px !important; }
.product-reviews-tab h3, .product-reviews-tab h4, .product-reviews-tab strong { color: #fff !important; }
.product-reviews-tab p, .product-reviews-tab span, .product-reviews-tab em { color: var(--c-muted); }
.product-reviews-tab label { color: #D9DAF0 !important; display: block; margin-bottom: 7px; font: 500 13.5px var(--f-body); }
.product-reviews-tab input[type="text"], .product-reviews-tab input[type="email"], .product-reviews-tab textarea {
	width: 100%; padding: 12px 15px; border-radius: 12px !important;
	background: rgba(7, 6, 39, .85) !important; border: 1px solid rgba(108, 92, 255, .4) !important;
	color: #fff !important; font: 400 15px/1.5 var(--f-body);
}
.product-reviews-tab input:focus, .product-reviews-tab textarea:focus { outline: 0; border-color: var(--c-violet) !important; box-shadow: 0 0 0 3px rgba(79, 70, 255, .22) !important; }
.product-reviews-tab ::placeholder { color: rgba(167, 168, 199, .6) !important; }
.product-reviews-tab button[type="submit"], .product-reviews-tab input[type="submit"] {
	display: inline-flex; padding: 14px 28px; border: 0 !important; border-radius: 14px !important; cursor: pointer;
	background: var(--gradient-gold) !important; color: #050518 !important;
	font: 600 15px var(--f-head) !important; letter-spacing: .01em; text-transform: none !important;
}

@media (max-width: 1024px) {
	.hero__inner { grid-template-columns: 1fr; }
	.hero__visual { justify-self: stretch; max-width: 560px; margin-inline: auto; }
	.about { grid-template-columns: 1fr; }
	.cart-layout { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.cart-item { grid-template-columns: 64px minmax(0, 1fr); grid-template-areas: "thumb info" "qty total"; }
	.cart-item__thumb img { width: 64px; height: 64px; }
	.cart-item__total { justify-self: end; align-self: center; }
	.about__stats { grid-template-columns: 1fr 1fr; }
}

/* Underline off na przyciskach koszyka/checkout niezależnie od kontekstu */
a.checkout-button, a.checkout-button:hover, #place_order, .cart-item__title, .mini-cart-item__title { text-decoration: none !important; }

/* =====================================================================
   5.1 Checkbox bulletproof + koszyk/zamówienie na pełnej szerokości
   ===================================================================== */

/* Checkbox nie może się już nigdy zwinąć do paska */
.filter-check__box {
	flex: 0 0 22px !important;
	width: 22px !important; height: 22px !important;
	min-width: 22px; min-height: 22px;
	display: inline-block; box-sizing: border-box;
}
.filter-check { display: flex !important; align-items: flex-start; gap: 11px; cursor: pointer; }
.filter-check input[type="checkbox"] {
	position: absolute !important; opacity: 0 !important;
	width: 22px; height: 22px; margin: 0; pointer-events: none;
}
.form-row--consent .filter-check__label { padding-top: 1px; }

/* Gdyby jakaś strona Woo trafiła jednak w wąski kontener – wyjmij layouty na pełną szerokość */
.container--narrow .cart-layout,
.container--narrow .checkout-layout,
.container--narrow .account-layout,
.container--narrow .auth-layout {
	width: min(var(--container), calc(100vw - 48px));
	margin-left: calc(50% - min(var(--container), calc(100vw - 48px)) / 2);
	margin-right: calc(50% - min(var(--container), calc(100vw - 48px)) / 2);
}

/* =====================================================================
   6.0 HERO jako spójny panel, opinie – twardy reset, koszyk/checkout
   ===================================================================== */

/* --- HERO: zamknięty panel o szerokości strony (koniec z "rozjazdem") --- */
.hero { padding: clamp(36px, 5vw, 64px) 0 clamp(56px, 7vw, 88px); }
.hero__glow, .hero__grid-bg { display: none; }
.hero__inner {
	position: relative; overflow: hidden;
	background:
		radial-gradient(ellipse 60% 70% at 85% 10%, rgba(79, 70, 255, .3), transparent 60%),
		radial-gradient(ellipse 45% 55% at 8% 95%, rgba(255, 148, 23, .1), transparent 60%),
		linear-gradient(160deg, rgba(23, 22, 92, .85), rgba(9, 8, 44, .92));
	border: 1px solid rgba(108, 92, 255, .4);
	border-radius: 28px;
	padding: clamp(32px, 4.5vw, 64px);
	box-shadow: 0 40px 100px rgba(3, 3, 20, .55);
}
.hero__inner::before {
	content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .3;
	background-image: linear-gradient(rgba(108, 92, 255, .16) 1px, transparent 1px), linear-gradient(90deg, rgba(108, 92, 255, .16) 1px, transparent 1px);
	background-size: 52px 52px;
	mask-image: radial-gradient(ellipse 70% 70% at 70% 20%, #000 25%, transparent 75%);
}
.hero__content, .hero__visual { position: relative; }
.hero h1 { font-size: clamp(38px, 4.6vw, 60px); }
.hero__lead { font-size: 18px; }
.hero__stats { border-top-color: rgba(108, 92, 255, .3); }
.hero__float--1 { top: 6px; right: 6px; }
.hero__float--2 { bottom: 6px; left: -6px; }

/* --- Strona produktu: wishlist obok "Kup teraz", bez pola ilości --- */
.summary form.cart { align-items: stretch; }
.summary form.cart .quantity { display: none !important; }
.summary form.cart .wishlist-btn {
	width: 56px; height: auto; min-height: 54px; border-radius: 14px; flex-shrink: 0;
	background: rgba(7, 6, 39, .7); border: 1px solid rgba(108, 92, 255, .45);
}
.summary form.cart .wishlist-btn .icon { width: 22px; height: 22px; }
.summary form.cart .wishlist-btn.is-active { background: var(--gradient-gold); border-color: transparent; }

/* --- Koszyk: bez kolumny ilości --- */
.cart-item { grid-template-columns: 84px minmax(0, 1fr) auto; grid-template-areas: "thumb info total"; }
.cart-item__qty { display: none !important; }
.mini-cart-item__meta { font-variant-numeric: tabular-nums; }

/* --- Zamówienie / koszyk: podsumowanie NIE przykleja się i nie nachodzi --- */
.checkout-summary .checkout-panel--summary, .cart-summary { position: static !important; top: auto; }
.checkout-layout, .cart-layout { align-items: start; }
.checkout-panel { overflow: hidden; }
#order_review, .woocommerce-checkout-review-order { position: static; }

/* --- Opinie z wtyczki: TWARDY reset i przemalowanie --- */
.product-reviews-tab { display: grid; gap: 22px; }
.product-reviews-tab * {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	color: var(--c-text);
	font-family: var(--f-body);
}
.product-reviews-tab > div, .product-reviews-tab > form {
	background: rgba(22, 21, 86, .55) !important;
	border: 1px solid rgba(108, 92, 255, .28) !important;
	border-radius: 18px !important;
	padding: 26px !important;
}
.product-reviews-tab h2, .product-reviews-tab h3, .product-reviews-tab h4 {
	color: #fff !important; font-family: var(--f-head) !important; font-size: 21px; font-weight: 600; margin: 0 0 18px;
}
.product-reviews-tab p { color: var(--c-muted); }
.product-reviews-tab strong, .product-reviews-tab b { color: #fff; }
.product-reviews-tab label { display: block; margin: 0 0 7px; color: #D9DAF0 !important; font: 500 13.5px var(--f-body) !important; }
.product-reviews-tab input[type="text"], .product-reviews-tab input[type="email"], .product-reviews-tab textarea, .product-reviews-tab select {
	width: 100%;
	background: rgba(7, 6, 39, .85) !important;
	border: 1px solid rgba(108, 92, 255, .4) !important;
	border-radius: 12px !important;
	padding: 12px 15px !important;
	color: #fff !important;
	font: 400 15px/1.5 var(--f-body) !important;
	margin-bottom: 16px;
}
.product-reviews-tab input:focus, .product-reviews-tab textarea:focus {
	outline: 0 !important; border-color: var(--c-violet) !important;
	box-shadow: 0 0 0 3px rgba(79, 70, 255, .22) !important;
}
.product-reviews-tab ::placeholder { color: rgba(167, 168, 199, .6) !important; }
.product-reviews-tab button, .product-reviews-tab input[type="submit"] {
	display: inline-flex; align-items: center; justify-content: center; width: auto; cursor: pointer;
	background: linear-gradient(135deg, #FFC857, #FF9417) !important;
	color: #050518 !important;
	border-radius: 14px !important;
	padding: 14px 30px !important;
	font: 600 15px var(--f-head) !important;
	letter-spacing: .01em; text-transform: none !important;
	transition: transform .15s, box-shadow .2s;
}
.product-reviews-tab button:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(255, 148, 23, .35) !important; }
.product-reviews-tab [class*="star"] { color: #FFB629 !important; font-size: 26px; letter-spacing: 3px; cursor: pointer; }
.product-reviews-tab [class*="star"] * { color: inherit !important; }
.product-reviews-tab hr { border-top: 1px solid rgba(108, 92, 255, .25) !important; margin: 18px 0; }
.product-reviews-tab img { border-radius: 50%; }

/* Ukryte elementy pomocnicze */
.mcz-hidden-update { display: none !important; }

/* =====================================================================
   7.0 Hero pills, checkout bez nachodzenia, opinie v2, konto Woo,
       landing programu lojalnościowego
   ===================================================================== */

/* --- HERO: pigułki informacyjne w panelu, bez elementów wystających --- */
.hero__pills { display: flex; flex-wrap: wrap; gap: 10px; }
.hero__pills span {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 9px 14px; border-radius: 99px;
	background: rgba(7, 6, 39, .6); border: 1px solid rgba(108, 92, 255, .35);
	color: var(--c-text); font: 500 13px var(--f-body);
}
.hero__pills .icon { width: 15px; height: 15px; color: var(--c-gold); }
.hero__visual { align-self: center; }
.hero__panel { overflow: visible; }
.hero__panel-body { padding: 24px; }
.hero__stats { gap: clamp(24px, 4vw, 48px); }
.hero__stats strong { font-size: 30px; background: var(--gradient-gold); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* --- CHECKOUT: koniec z nachodzeniem sekcji (flow-root + odstępy) --- */
.checkout-panel { overflow: visible; }
.checkout-panel--summary, #order_review, .woocommerce-checkout-review-order, #payment,
.woocommerce-checkout-payment, #payment .form-row.place-order {
	position: static !important;
	float: none !important;
	width: 100% !important;
	transform: none !important;
	display: flow-root;
	min-height: 0;
}
#order_review::after, #payment::after { content: ""; display: block; clear: both; }
#payment { margin-top: 16px; }
#payment ul.wc_payment_methods { margin: 0 0 16px; }
#payment .form-row.place-order { margin: 18px 0 0 !important; padding: 0 !important; }
#place_order { position: relative; z-index: 1; float: none !important; }
.checkout-panel--summary .buy-trust--summary {
	clear: both; position: relative; margin-top: 26px; padding-top: 20px;
	border-top: 1px solid rgba(108, 92, 255, .25);
}
.woocommerce-privacy-policy-text { clear: both; margin: 14px 0; }
.woocommerce-privacy-policy-text p { color: var(--c-muted); font-size: 13px; margin: 0; }
.blockUI.blockOverlay { border-radius: inherit; }

/* --- OPINIE v2: karta tylko na najwyższym poziomie, wnętrze płaskie --- */
.product-reviews-tab > div > div, .product-reviews-tab > form > div,
.product-reviews-tab > div > form, .product-reviews-tab fieldset {
	background: transparent !important; border: 0 !important; padding: 0 !important; margin: 0 !important;
	border-radius: 0 !important;
}
.product-reviews-tab > div > form { display: block; }
.product-reviews-tab form p, .product-reviews-tab form > div { margin: 0 0 16px !important; }
.product-reviews-tab h2, .product-reviews-tab h3, .product-reviews-tab h4 {
	background: transparent !important; border: 0 !important; padding: 0 !important;
}
.product-reviews-tab [class*="star"], .product-reviews-tab [id*="star"], .product-reviews-tab [class*="rating"] {
	color: #FFB629 !important; font-size: 30px !important; line-height: 1.1 !important; letter-spacing: 5px;
	background: transparent !important; border: 0 !important; display: inline-block;
}
.product-reviews-tab [class*="star"] span, .product-reviews-tab [class*="rating"] span { font-size: inherit !important; }
.product-reviews-tab textarea { min-height: 150px; }

/* --- MOJE KONTO (strona Woo): adresy, szczegóły konta, treści endpointów --- */
.account-content > h2, .woocommerce-MyAccount-content > h2 {
	font-size: clamp(24px, 3vw, 30px); margin: 0 0 20px;
}
.woocommerce-MyAccount-content form { max-width: 640px; }
.woocommerce-MyAccount-content fieldset {
	border: 1px solid rgba(108, 92, 255, .3); border-radius: 16px;
	padding: 22px; margin: 24px 0 0;
}
.woocommerce-MyAccount-content fieldset legend {
	padding: 0 10px; color: var(--c-gold); font: 600 14px var(--f-head);
	letter-spacing: .04em;
}
.woocommerce-MyAccount-content .woocommerce-Button, .woocommerce-MyAccount-content button[type="submit"] {
	display: inline-flex; padding: 14px 30px; border: 0; border-radius: 14px; cursor: pointer;
	background: var(--gradient-gold); color: #050518;
	font: 600 15px var(--f-head); margin-top: 8px; transition: transform .15s, box-shadow .2s;
}
.woocommerce-MyAccount-content button[type="submit"]:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(255, 148, 23, .35); }
.woocommerce-MyAccount-content em { color: var(--c-muted); font-size: 13px; }
.woocommerce-MyAccount-content .woocommerce-Addresses, .woocommerce-MyAccount-content .woocommerce-address-fields { max-width: 640px; }

/* --- Landing programu lojalnościowego --- */
.loyalty-rule {
	max-width: 720px; margin: 0 auto; text-align: center;
	background: rgba(22, 21, 86, .55); border: 1px solid rgba(108, 92, 255, .28);
	border-radius: 22px; padding: clamp(28px, 4vw, 44px);
}
.loyalty-rule__formula { display: flex; align-items: center; justify-content: center; gap: 20px; margin-bottom: 18px; flex-wrap: wrap; }
.loyalty-rule__amount, .loyalty-rule__points {
	font: 700 clamp(30px, 4vw, 44px) var(--f-head); padding: 10px 26px; border-radius: 16px;
}
.loyalty-rule__amount { color: #fff; background: rgba(7, 6, 39, .7); border: 1px solid rgba(108, 92, 255, .4); }
.loyalty-rule__points { color: #050518; background: var(--gradient-gold); }
.loyalty-rule__eq { font: 700 34px var(--f-head); color: var(--c-muted); }
.loyalty-rule p { color: var(--c-muted); margin: 0; max-width: 560px; margin-inline: auto; }

.loyalty-tiers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.loyalty-tier {
	position: relative; text-align: center; display: grid; gap: 6px; justify-items: center;
	background: rgba(22, 21, 86, .55); border: 1px solid rgba(108, 92, 255, .3);
	border-radius: 20px; padding: 34px 24px 28px; transition: .25s;
}
.loyalty-tier:hover { transform: translateY(-4px); border-color: var(--c-gold); }
.loyalty-tier--top { border-color: rgba(255, 182, 41, .55); box-shadow: 0 0 46px rgba(255, 182, 41, .14); }
.loyalty-tier__label {
	position: absolute; top: -13px; left: 50%; transform: translateX(-50%);
	padding: 5px 16px; border-radius: 99px; white-space: nowrap;
	background: var(--c-indigo); border: 1px solid rgba(108, 92, 255, .5);
	font: 600 11px var(--f-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted);
}
.loyalty-tier--top .loyalty-tier__label { color: #050518; background: var(--gradient-gold); border-color: transparent; }
.loyalty-tier__discount { font: 700 52px/1 var(--f-head); background: var(--gradient-gold); -webkit-background-clip: text; background-clip: text; color: transparent; }
.loyalty-tier__name { color: var(--c-muted); font-size: 14px; margin-top: -4px; }
.loyalty-tier__points { display: inline-flex; align-items: center; gap: 7px; margin-top: 10px; color: #fff; font: 600 15px var(--f-head); }
.loyalty-tier__points .icon { width: 15px; height: 15px; color: var(--c-gold); }
.loyalty-tier__spend { color: var(--c-muted); font-size: 13px; }

.loyalty-example { margin: 0; padding: 0 0 0 4px; list-style: none; counter-reset: lex; display: grid; gap: 14px; }
.loyalty-example li { counter-increment: lex; display: flex; gap: 14px; align-items: baseline; color: var(--c-muted); font-size: 15.5px; }
.loyalty-example li::before {
	content: counter(lex); flex-shrink: 0;
	width: 28px; height: 28px; border-radius: 9px; display: inline-flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg, var(--c-violet), var(--c-purple)); color: #fff; font: 600 13px var(--f-mono);
	transform: translateY(4px);
}
.loyalty-example strong { color: var(--c-gold); }

@media (max-width: 900px) {
	.loyalty-tiers { grid-template-columns: 1fr; max-width: 380px; margin-inline: auto; }
}

/* =====================================================================
   8.0 FIX szerokości hero + opinie z paddingami + panel lojalnościowy
   ===================================================================== */

/* KLUCZOWY FIX: wcześniejsza reguła .hero__inner{width:100%} rozciągała hero
   na cały viewport, nadpisując kontener. Przywracamy szerokość strony. */
.hero .hero__inner,
.hero__inner.container {
	width: min(var(--container), calc(100% - 48px)) !important;
	max-width: var(--container) !important;
	margin-inline: auto !important;
}

/* --- Opinie: oddech w kartach (style wtyczki są już wycinane z HTML) --- */
.product-reviews-tab > div, .product-reviews-tab > form {
	padding: clamp(24px, 3vw, 34px) !important;
}
.product-reviews-tab > div > *, .product-reviews-tab > form > * { max-width: 100%; }
.product-reviews-tab form > p, .product-reviews-tab form > div,
.product-reviews-tab [class*="field"], .product-reviews-tab [class*="row"], .product-reviews-tab [class*="group"] {
	margin: 0 0 18px !important; padding: 0 !important;
}
.product-reviews-tab h2:first-child, .product-reviews-tab h3:first-child { margin-top: 0 !important; }
.product-reviews-tab input[type="text"], .product-reviews-tab input[type="email"], .product-reviews-tab textarea {
	margin-bottom: 0 !important;
}
.product-reviews-tab [class*="star"] { margin: 4px 0 6px; }
.product-reviews-tab [class*="review-item"], .product-reviews-tab li {
	padding: 18px 0 !important; margin: 0 !important;
	border-bottom: 1px solid rgba(108, 92, 255, .22) !important;
}
.product-reviews-tab li:last-child, .product-reviews-tab [class*="review-item"]:last-child { border-bottom: 0 !important; }
.product-reviews-tab [class*="empty"], .product-reviews-tab [class*="no-reviews"] {
	padding: 10px 0 !important; color: var(--c-muted) !important; font-style: italic;
}

/* --- Panel lojalnościowy (wspólny renderer motywu) --- */
.mcz-loyalty { display: block; }
.mcz-loyalty .acc-title { margin-bottom: 26px; }
.loyalty-hero { align-items: flex-start; }
.loyalty-nextbox {
	margin-top: 16px; padding: 16px 20px; border-radius: 14px;
	background: rgba(22, 21, 86, .55); border: 1px solid rgba(108, 92, 255, .28);
	max-width: 460px;
}
.loyalty-nextbox p { margin: 0 0 6px; color: var(--c-muted); font-size: 14px; }
.loyalty-nextbox p strong { color: var(--c-gold); }
.loyalty-nextbox__meta { display: block; text-align: right; color: var(--c-muted); font: 500 12px var(--f-mono); margin-top: 6px; }
.mcz-loyalty .account-section-title { margin-top: 30px; }
.loyalty-level__status--locked .icon { width: 15px; height: 15px; color: var(--c-muted); opacity: .7; }
.loyalty-levels-grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }
.loyalty-circle { box-shadow: 0 0 0 8px rgba(255, 182, 41, .07), 0 0 44px rgba(255, 182, 41, .22); }

/* --- Obserwuj mnie: ikony social (stopka + kontakt) --- */
.social-follow { margin-top: 22px; }
.social-follow__label {
	display: block; font: 600 12px var(--f-body); letter-spacing: .14em;
	text-transform: uppercase; color: var(--c-muted); margin-bottom: 12px;
}
.social-follow__icons { display: flex; gap: 10px; }
.social-follow__link {
	display: inline-flex; align-items: center; justify-content: center;
	width: 42px; height: 42px; border-radius: 13px;
	background: rgba(22, 21, 86, .6); border: 1px solid rgba(108, 92, 255, .35);
	color: var(--c-text); transition: .2s;
}
.social-follow__link .icon { width: 19px; height: 19px; }
.social-follow__link:hover { color: #050518; background: var(--gradient-gold); border-color: transparent; transform: translateY(-2px); }
.social-follow--contact { margin-top: 26px; }

/* =====================================================================
   8.1 Opinie: zero wewnętrznych borderów + działające stany gwiazdek
   ===================================================================== */

/* Bordery TYLKO na karcie zewnętrznej i polach formularza – nigdzie indziej. */
.woocommerce div.product .product-reviews-tab *:not(input):not(textarea):not(select):not(button) {
	border: 0 !important;
	outline: 0 !important;
}
.woocommerce div.product .product-reviews-tab > div,
.woocommerce div.product .product-reviews-tab > form {
	border: 1px solid rgba(108, 92, 255, .28) !important;
	padding: clamp(26px, 3vw, 36px) !important;
}
.woocommerce div.product .product-reviews-tab input[type="text"],
.woocommerce div.product .product-reviews-tab input[type="email"],
.woocommerce div.product .product-reviews-tab textarea {
	border: 1px solid rgba(108, 92, 255, .4) !important;
}
.woocommerce div.product .product-reviews-tab [class*="review-item"],
.woocommerce div.product .product-reviews-tab li {
	border-bottom: 1px solid rgba(108, 92, 255, .22) !important;
}
.woocommerce div.product .product-reviews-tab li:last-child { border-bottom: 0 !important; }

/* Gwiazdki: domyślnie wygaszone, złote tylko dla stanu wybranego/hover.
   (wcześniej wszystkie były na stałe złote – stąd wrażenie "zawsze zaznaczone") */
.woocommerce div.product .product-reviews-tab [class*="star"] {
	color: rgba(167, 168, 199, .35) !important;
	cursor: pointer;
	transition: color .12s, transform .12s;
	user-select: none;
}
.woocommerce div.product .product-reviews-tab [class*="star"]:hover { transform: scale(1.12); }
.woocommerce div.product .product-reviews-tab [class*="star"][class*="active"],
.woocommerce div.product .product-reviews-tab [class*="star"][class*="selected"],
.woocommerce div.product .product-reviews-tab [class*="star"][class*="filled"],
.woocommerce div.product .product-reviews-tab [class*="star"][class*="checked"],
.woocommerce div.product .product-reviews-tab [class*="star"][class*="hover"],
.woocommerce div.product .product-reviews-tab [class*="star"].on,
.woocommerce div.product .product-reviews-tab .active[class*="star"],
.woocommerce div.product .product-reviews-tab [class*="active"] [class*="star"],
.woocommerce div.product .product-reviews-tab input[type="radio"]:checked + label[class*="star"],
.woocommerce div.product .product-reviews-tab input[type="radio"]:checked ~ label[class*="star"] {
	color: #FFB629 !important;
}
/* W wyświetlonych opiniach (nie formularzu) gwiazdki oceny zostają złote. */
.woocommerce div.product .product-reviews-tab [class*="review-item"] [class*="star"],
.woocommerce div.product .product-reviews-tab li [class*="star"] {
	color: #FFB629 !important; cursor: default;
}
.woocommerce div.product .product-reviews-tab [class*="review-item"] [class*="star"]:hover { transform: none; }

/* =====================================================================
   9.0 OPINIE – finalne reguły (na końcu pliku = wygrywają remisy)
   ===================================================================== */

/* Zero borderów w środku – ramka tylko na karcie, polach i separatorach. */
.product-reviews-tab *:not(input):not(textarea):not(select):not(button) {
	border: 0 !important; outline: 0 !important; box-shadow: none !important;
}
.product-reviews-tab > div, .product-reviews-tab > form {
	border: 1px solid rgba(108, 92, 255, .28) !important;
	border-radius: 18px !important;
	padding: clamp(26px, 3vw, 36px) !important;
	background: rgba(22, 21, 86, .55) !important;
}
.product-reviews-tab input[type="text"], .product-reviews-tab input[type="email"], .product-reviews-tab textarea {
	border: 1px solid rgba(108, 92, 255, .4) !important; border-radius: 12px !important;
}
.product-reviews-tab li, .product-reviews-tab [class*="review-item"] {
	border-bottom: 1px solid rgba(108, 92, 255, .22) !important;
}
.product-reviews-tab li:last-child, .product-reviews-tab [class*="review-item"]:last-child { border-bottom: 0 !important; }

/* Radia schowane – klika się w gwiazdki. */
.product-reviews-tab .mcz-stars { display: flex; align-items: center; gap: 6px; margin: 6px 0 4px; }
.product-reviews-tab .mcz-stars input[type="radio"] {
	position: absolute !important; opacity: 0 !important; width: 1px; height: 1px;
	pointer-events: none; margin: 0;
}
/* Stan gwiazdek kontroluje motyw: wygaszone → .mcz-star-on = złote. */
.product-reviews-tab .mcz-stars label,
.product-reviews-tab .mcz-stars [class*="star"] {
	color: rgba(167, 168, 199, .35) !important;
	font-size: 32px !important; line-height: 1 !important; letter-spacing: 0;
	cursor: pointer; user-select: none; transition: color .12s, transform .12s;
	margin: 0 !important; padding: 0 !important; display: inline-block;
}
.product-reviews-tab .mcz-stars label:hover { transform: scale(1.15); }
.product-reviews-tab .mcz-stars .mcz-star-on { color: #FFB629 !important; }
/* Gwiazdki w opublikowanych opiniach – zawsze złote, bez interakcji. */
.product-reviews-tab li [class*="star"], .product-reviews-tab [class*="review-item"] [class*="star"] {
	color: #FFB629 !important; cursor: default; font-size: 18px !important;
}

/* =====================================================================
   10.0 OPINIE – finalne style pod dokładny markup wtyczki (ts-*)
   ===================================================================== */

/* Karty najwyższego poziomu */
.product-reviews-tab .ts-reviews-empty {
	padding: 22px 28px !important;
	color: var(--c-muted) !important;
	font-style: italic;
	background: rgba(22, 21, 86, .55) !important;
	border: 1px solid rgba(108, 92, 255, .28) !important;
	border-radius: 18px !important;
}
.product-reviews-tab .ts-review-form-container,
.product-reviews-tab .ts-reviews-list {
	padding: clamp(28px, 3.4vw, 40px) !important;
	background: rgba(22, 21, 86, .55) !important;
	border: 1px solid rgba(108, 92, 255, .28) !important;
	border-radius: 18px !important;
}

/* Nagłówek formularza – bez podkreśleń/teł wtyczki */
.product-reviews-tab .ts-review-form-title {
	margin: 0 0 22px !important; padding: 0 !important;
	border: 0 !important; background: none !important;
	font: 600 22px/1.3 var(--f-head) !important; color: #fff !important;
}

/* Wiersze formularza – oddech między sekcjami, zero ramek */
.product-reviews-tab .ts-form-row {
	margin: 0 0 20px !important; padding: 0 !important;
	border: 0 !important; background: none !important;
}
.product-reviews-tab .ts-form-row:last-child { margin-bottom: 0 !important; }
.product-reviews-tab .ts-form-row > label {
	display: block !important; margin: 0 0 9px !important; padding: 0 !important;
	font: 500 13.5px/1.4 var(--f-body) !important; color: #D9DAF0 !important;
}
.product-reviews-tab .ts-form-row .required { color: var(--c-gold) !important; }

/* Imię + Email w dwóch kolumnach */
.product-reviews-tab .ts-form-row-half {
	display: grid !important; grid-template-columns: 1fr 1fr; gap: 18px;
}
.product-reviews-tab .ts-form-col { padding: 0 !important; margin: 0 !important; border: 0 !important; background: none !important; min-width: 0; }
.product-reviews-tab .ts-form-col label {
	display: block !important; margin: 0 0 9px !important;
	font: 500 13.5px/1.4 var(--f-body) !important; color: #D9DAF0 !important;
}

/* Pola */
.product-reviews-tab .ts-review-form input[type="text"],
.product-reviews-tab .ts-review-form input[type="email"],
.product-reviews-tab .ts-review-form textarea {
	width: 100% !important;
	padding: 13px 16px !important;
	background: rgba(7, 6, 39, .85) !important;
	border: 1px solid rgba(108, 92, 255, .4) !important;
	border-radius: 12px !important;
	color: #fff !important;
	font: 400 15px/1.5 var(--f-body) !important;
	margin: 0 !important;
}
.product-reviews-tab .ts-review-form textarea { min-height: 150px; resize: vertical; }
.product-reviews-tab .ts-review-form input:focus,
.product-reviews-tab .ts-review-form textarea:focus {
	outline: 0 !important;
	border-color: var(--c-violet) !important;
	box-shadow: 0 0 0 3px rgba(79, 70, 255, .22) !important;
}

/* Gwiazdki: radia schowane, stan .mcz-star-on maluje motyw (JS) */
.product-reviews-tab .ts-star-rating {
	display: flex !important; align-items: center; gap: 7px;
	margin: 2px 0 0 !important; padding: 0 !important; border: 0 !important; background: none !important;
}
.product-reviews-tab .ts-star-rating input[type="radio"] {
	position: absolute !important; opacity: 0 !important; width: 1px !important; height: 1px !important;
	pointer-events: none !important; margin: 0 !important;
}
.product-reviews-tab .star-label {
	color: rgba(167, 168, 199, .35) !important;
	font-size: 34px !important; line-height: 1 !important;
	margin: 0 !important; padding: 0 !important;
	cursor: pointer; user-select: none; transition: color .12s, transform .12s;
}
.product-reviews-tab .star-label:hover { transform: scale(1.15); }
.product-reviews-tab .star-label.mcz-star-on { color: #FFB629 !important; }

/* Przycisk wysyłki */
.product-reviews-tab .ts-review-submit-btn {
	display: inline-flex !important; align-items: center; justify-content: center;
	padding: 15px 34px !important;
	background: linear-gradient(135deg, #FFC857, #FF9417) !important;
	color: #050518 !important;
	border: 0 !important; border-radius: 14px !important; cursor: pointer;
	font: 600 15.5px var(--f-head) !important; letter-spacing: .01em;
	transition: transform .15s, box-shadow .2s;
}
.product-reviews-tab .ts-review-submit-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 32px rgba(255, 148, 23, .38) !important;
}

/* Komunikat po wysyłce */
.product-reviews-tab .ts-review-message {
	margin-top: 16px !important; padding: 14px 18px !important;
	border-radius: 12px !important; font-size: 14.5px;
	background: rgba(52, 211, 153, .12) !important;
	border: 1px solid rgba(52, 211, 153, .4) !important;
	color: #34d399 !important;
}
.product-reviews-tab .ts-review-message.error, .product-reviews-tab .ts-review-message.ts-error {
	background: rgba(255, 107, 107, .12) !important;
	border-color: rgba(255, 107, 107, .45) !important;
	color: #ff6b6b !important;
}

/* Lista opublikowanych opinii */
.product-reviews-tab .ts-review-item {
	padding: 20px 0 !important; margin: 0 !important;
	border: 0 !important; border-bottom: 1px solid rgba(108, 92, 255, .22) !important;
	background: none !important;
}
.product-reviews-tab .ts-review-item:last-child { border-bottom: 0 !important; }
.product-reviews-tab .ts-review-item .star-label,
.product-reviews-tab .ts-review-item [class*="star"] {
	color: #FFB629 !important; font-size: 17px !important; cursor: default;
}

@media (max-width: 640px) {
	.product-reviews-tab .ts-form-row-half { grid-template-columns: 1fr !important; }
}

/* =====================================================================
   10.1 Formularz opinii: zdjęcie wewnętrznej ramki z <form>
   (selektory z ID przebijają arkusz wtyczki ładowany w stopce)
   ===================================================================== */
.product-reviews-tab #ts-review-form,
.product-reviews-tab .ts-review-form,
.product-reviews-tab form[id="ts-review-form"] {
	border: 0 !important;
	background: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	max-width: none !important;
	width: 100% !important;
}
/* Gdyby wtyczka celowała w #ts-review-form .ts-form-row – utrzymaj nasze odstępy */
.product-reviews-tab #ts-review-form .ts-form-row {
	border: 0 !important; background: none !important;
	padding: 0 !important; margin: 0 0 20px !important;
}
.product-reviews-tab #ts-review-form .ts-form-row:last-of-type { margin-bottom: 0 !important; }
.product-reviews-tab #ts-review-form .ts-star-rating {
	border: 0 !important; background: none !important; padding: 0 !important;
}
.product-reviews-tab #ts-review-form input[type="text"],
.product-reviews-tab #ts-review-form input[type="email"],
.product-reviews-tab #ts-review-form textarea {
	border: 1px solid rgba(108, 92, 255, .4) !important;
	background: rgba(7, 6, 39, .85) !important;
	border-radius: 12px !important;
	padding: 13px 16px !important;
}

/* =====================================================================
   11.0 MOBILE OVERHAUL – pełnoekranowe menu, nowy hamburger, dopieszczenie
   wszystkich komponentów na małych ekranach
   ===================================================================== */

/* Stopka menu widoczna wyłącznie w menu mobilnym */
.site-nav__footer { display: none; }

@media (max-width: 1024px) {

	/* ---------- HAMBURGER: asymetryczne złote belki → X ---------- */
	.nav-toggle {
		display: inline-flex !important; align-items: center; justify-content: center;
		width: 46px; height: 46px; padding: 0;
		background: rgba(22, 21, 86, .6); border: 1px solid rgba(108, 92, 255, .4);
		border-radius: 13px; cursor: pointer; transition: border-color .2s, background .2s;
		position: relative; z-index: 260;
	}
	.nav-toggle:hover { border-color: var(--c-gold); }
	.nav-toggle span:not(.nav-toggle__bar):not(.nav-toggle__box) { display: none; }
	.nav-toggle__box { position: relative; width: 22px; height: 16px; display: block; }
	.nav-toggle__bar {
		position: absolute; left: 0; height: 2.4px; border-radius: 2px;
		background: linear-gradient(90deg, #FFC857, #FF9417);
		transition: transform .35s cubic-bezier(.2, .9, .3, 1.3), width .3s, opacity .2s, top .3s;
	}
	.nav-toggle__bar--1 { top: 0; width: 22px; }
	.nav-toggle__bar--2 { top: 7px; width: 15px; }
	.nav-toggle__bar--3 { top: 14px; width: 22px; }
	.nav-toggle:hover .nav-toggle__bar--2 { width: 22px; }
	.nav-toggle.is-open .nav-toggle__bar--1 { top: 7px; width: 22px; transform: rotate(45deg); }
	.nav-toggle.is-open .nav-toggle__bar--2 { opacity: 0; transform: translateX(8px); }
	.nav-toggle.is-open .nav-toggle__bar--3 { top: 7px; width: 22px; transform: rotate(-45deg); }

	/* ---------- MENU: pełnoekranowy overlay ---------- */
	.site-nav {
		position: fixed !important; inset: 0 !important; z-index: 250;
		margin: 0; padding: calc(var(--header-h, 76px) + 28px) 26px 30px;
		display: flex; flex-direction: column; align-items: stretch; gap: 0;
		background:
			radial-gradient(ellipse 80% 55% at 85% 0%, rgba(79, 70, 255, .3), transparent 60%),
			radial-gradient(ellipse 60% 45% at 0% 100%, rgba(255, 148, 23, .1), transparent 60%),
			rgba(5, 5, 24, .97);
		backdrop-filter: blur(14px);
		border: 0; max-height: none; overflow-y: auto;
		opacity: 0; visibility: hidden; transform: translateY(-4%) scale(1.015);
		transition: opacity .3s ease, transform .35s cubic-bezier(.2, .8, .3, 1), visibility .3s;
	}
	.site-nav.is-open { opacity: 1; visibility: visible; transform: none; }
	body.nav-open { overflow: hidden; }

	.site-nav__list {
		flex-direction: column; align-items: stretch; gap: 0;
		counter-reset: mcznav; margin: 0; padding: 0;
	}
	.site-nav__list > li {
		counter-increment: mcznav;
		border-bottom: 1px solid rgba(108, 92, 255, .18);
		opacity: 0; transform: translateY(18px);
		transition: opacity .4s ease, transform .45s cubic-bezier(.2, .8, .3, 1);
	}
	.site-nav.is-open .site-nav__list > li { opacity: 1; transform: none; }
	.site-nav.is-open .site-nav__list > li:nth-child(1) { transition-delay: .06s; }
	.site-nav.is-open .site-nav__list > li:nth-child(2) { transition-delay: .12s; }
	.site-nav.is-open .site-nav__list > li:nth-child(3) { transition-delay: .18s; }
	.site-nav.is-open .site-nav__list > li:nth-child(4) { transition-delay: .24s; }
	.site-nav.is-open .site-nav__list > li:nth-child(5) { transition-delay: .30s; }
	.site-nav.is-open .site-nav__list > li:nth-child(6) { transition-delay: .36s; }
	.site-nav.is-open .site-nav__list > li:nth-child(7) { transition-delay: .42s; }
	.site-nav.is-open .site-nav__list > li:nth-child(8) { transition-delay: .48s; }

	.site-nav__list > li > a {
		display: flex; align-items: baseline; gap: 16px;
		padding: 18px 4px !important;
		font: 600 clamp(24px, 6vw, 30px)/1.2 var(--f-head) !important;
		color: #fff; background: none !important; border-radius: 0;
		transition: color .2s, padding-left .25s;
	}
	.site-nav__list > li > a::before {
		content: "0" counter(mcznav);
		font: 500 12px var(--f-mono); letter-spacing: .12em; color: var(--c-gold); opacity: .85;
	}
	.site-nav__list > li > a:hover, .site-nav__list .current-menu-item > a {
		color: var(--c-gold) !important; padding-left: 12px !important;
	}
	.site-nav__list .sub-menu {
		list-style: none; margin: -6px 0 14px; padding: 0 0 0 42px; display: grid; gap: 4px;
	}
	.site-nav__list .sub-menu a { font: 500 16px var(--f-body); color: var(--c-muted); padding: 6px 0; display: block; }
	.site-nav__list .sub-menu a:hover { color: var(--c-gold); }

	.site-nav__cta { display: none; }

	.site-nav__footer {
		display: grid; gap: 20px; margin-top: auto; padding-top: 30px;
		opacity: 0; transform: translateY(16px);
		transition: opacity .4s ease .35s, transform .45s cubic-bezier(.2, .8, .3, 1) .35s;
	}
	.site-nav.is-open .site-nav__footer { opacity: 1; transform: none; }
	.site-nav__contact { display: grid; gap: 12px; }
	.site-nav__contact a {
		display: inline-flex; align-items: center; gap: 12px;
		color: var(--c-text); font-size: 15px; overflow-wrap: anywhere;
	}
	.site-nav__contact a:hover { color: var(--c-gold); }
	.site-nav__contact .icon { width: 17px; height: 17px; color: var(--c-gold); flex-shrink: 0; }
	.social-follow--nav { margin-top: 0; }

	/* ---------- Header ---------- */
	.site-header__inner { gap: 10px; }
	.site-logo img { height: 42px; }
	.header-action { width: 40px; height: 40px; }

	/* Drawer koszyka nad menu */
	.cart-drawer { z-index: 320; }
	.drawer-overlay { z-index: 310; }
}

/* ---------- ≤900: layouty ---------- */
@media (max-width: 900px) {
	.section { padding: clamp(48px, 9vw, 72px) 0; }
	.page-hero { padding: 56px 0 34px; }
	.page-hero--slim { padding: 48px 0 28px; }

	.hero { padding: 24px 0 52px; }
	.hero__inner { padding: 26px 22px 30px; gap: 28px; }
	.hero h1 { font-size: clamp(32px, 8.4vw, 44px); }
	.hero__lead { font-size: 16px; }
	.hero__stats { gap: 18px 26px; flex-wrap: wrap; }
	.hero__stats strong { font-size: 24px; }
	.hero__panel-bar em { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

	.section-head h2 { font-size: clamp(26px, 6.4vw, 34px); }
	.dev-banner__inner { padding: 28px 22px; gap: 24px; }
	.dev-banner__text h2 { font-size: clamp(23px, 6vw, 30px); }
	.dev-banner__actions .btn { font-size: 14.5px; padding: 14px 18px; overflow-wrap: anywhere; }
	.newsletter-band { padding: 44px 0; }
	.cta-panel { padding: 34px 24px; }

	.woocommerce-tabs ul.tabs, .wc-tabs { display: flex; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; gap: 8px; padding-bottom: 4px; }
	.woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
	.woocommerce-tabs ul.tabs li { flex-shrink: 0; }

	.summary .product_title { font-size: clamp(24px, 6.6vw, 30px); }
	.summary form.cart { gap: 10px; }
	.summary form.cart .single_add_to_cart_button { flex: 1; }

	.account-nav ul { display: flex; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; gap: 8px; padding-bottom: 4px; }
	.account-nav ul::-webkit-scrollbar { display: none; }
	.account-nav__item { flex-shrink: 0; }
	.account-nav__item a { white-space: nowrap; padding: 11px 16px; }

	.loyalty-hero { flex-direction: column; align-items: center; text-align: center; }
	.loyalty-circle { width: 128px; height: 128px; }
	.loyalty-circle strong { font-size: 28px; }
	.loyalty-nextbox { max-width: none; width: 100%; text-align: left; }
	.loyalty-rule__formula { gap: 12px; }
}

/* ---------- ≤640: drobiazgi ---------- */
@media (max-width: 640px) {
	:root { --header-h: 68px; }
	.container { width: calc(100% - 32px); }
	.site-logo img { height: 38px; }
	.header-action { width: 38px; height: 38px; border-radius: 10px; }
	.site-header__actions { gap: 4px; }
	.header-search__form { padding: 6px 6px 6px 12px; gap: 8px; }
	.header-search__form .btn { padding: 10px 14px; font-size: 13.5px; }

	.hero__inner { padding: 22px 18px 26px; border-radius: 20px; }
	.hero__pills span { font-size: 12px; padding: 8px 12px; }
	.hero__panel-body { padding: 16px; gap: 12px; }
	.hero__key { font-size: 13px; letter-spacing: .05em; }

	.eyebrow { font-size: 11px; letter-spacing: .14em; }
	.feature-card, .step-card, .testimonial, .platform-card { padding: 22px 18px; }
	.checkout-panel, .cart-summary, .acc-panel, .auth-card { padding: 22px 18px; }
	.shop-filters { padding: 18px; }
	.cart-item { padding: 16px 46px 16px 16px; gap: 12px; }
	.license-card { flex-direction: column; align-items: stretch; }
	.license-card__token { text-align: center; overflow-wrap: anywhere; }
	.mcz-popup__box { padding: 36px 22px 26px; border-radius: 20px; }
	.cookie-bar { left: 10px; right: 10px; bottom: 10px; }
	.cookie-bar__inner { padding: 18px; gap: 16px; }
	.cookie-modal__box { padding: 24px 18px; }
	.cookie-fab { width: 42px; height: 42px; left: 12px; bottom: 12px; }
	.back-to-top { width: 42px; height: 42px; }
	.dev-banner { padding: 40px 0; }
	.newsletter-band__text { flex-direction: column; }
	.loyalty-tier { padding: 30px 20px 24px; }
	.product-reviews-tab .ts-review-form-container, .product-reviews-tab .ts-reviews-list { padding: 22px 18px !important; }
	.product-reviews-tab .star-label { font-size: 30px !important; }
	.thankyou__licenses h2 { font-size: 19px; }
	.shop-cats__pill { padding: 8px 13px; font-size: 13px; }
	.review-order__item { grid-template-columns: 46px 1fr auto; }
	.review-order__thumb img { width: 46px; height: 46px; }
}

@media (max-width: 400px) {
	.header-wishlist { display: none; }
	.hero h1 { font-size: 29px; }
	.btn--lg { padding: 14px 20px; font-size: 15px; }
}

/* =====================================================================
   12.0 MOBILE v2 – naprawa menu (containing block), hamburger, layouty
   ===================================================================== */

@media (max-width: 1024px) {

	/* FIX #1: backdrop-filter na headerze tworzył containing block dla
	   position:fixed → pełnoekranowe menu było uwięzione w nagłówku.
	   Na mobile header ma solidne tło bez filtra. */
	.site-header {
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
		filter: none !important;
		transform: none !important;
		background: rgba(5, 5, 24, .97);
	}
	.site-nav { background-color: rgba(5, 5, 24, .98); }

	/* FIX #2: stare reguły .nav-toggle span psuły nowy markup hamburgera */
	.nav-toggle {
		border: 1px solid rgba(108, 92, 255, .4) !important;
		background: rgba(22, 21, 86, .6) !important;
		width: 44px; height: 44px;
	}
	.nav-toggle .nav-toggle__box {
		display: block !important; position: relative !important;
		width: 22px !important; height: 16px !important;
		background: none !important; border: 0 !important; border-radius: 0 !important;
		transform: none !important; opacity: 1 !important; margin: 0 !important;
	}
	.nav-toggle[aria-expanded="true"] .nav-toggle__box,
	.nav-toggle.is-open .nav-toggle__box { transform: none !important; opacity: 1 !important; }
	.nav-toggle .nav-toggle__bar {
		display: block !important; height: 2.4px !important; width: auto;
		background: linear-gradient(90deg, #FFC857, #FF9417) !important;
		opacity: 1; margin: 0 !important;
	}
	.nav-toggle .nav-toggle__bar--1 { width: 22px !important; }
	.nav-toggle .nav-toggle__bar--2 { width: 15px !important; }
	.nav-toggle .nav-toggle__bar--3 { width: 22px !important; }
	.nav-toggle.is-open .nav-toggle__bar--1 { width: 22px !important; transform: rotate(45deg) !important; }
	.nav-toggle.is-open .nav-toggle__bar--2 { opacity: 0 !important; transform: translateX(8px) !important; }
	.nav-toggle.is-open .nav-toggle__bar--3 { width: 22px !important; transform: rotate(-45deg) !important; }
	.nav-toggle[aria-expanded="true"] .nav-toggle__bar--2 { opacity: 0 !important; }

	/* Dekoracyjne pływające kształty nie wchodzą na treść na mobile */
	.float-shape { display: none; }
}

@media (max-width: 900px) {

	/* Strona produktu: JEDNA kolumna (późniejsze reguły desktopowe przebite) */
	.single-product-layout { grid-template-columns: 1fr !important; gap: 28px !important; }
	.single-product-layout__gallery { position: static !important; max-width: 520px; margin-inline: auto !important; width: 100% !important; }

	/* Taby produktu: jeden przewijany wiersz, bez zawijania */
	.woocommerce-tabs ul.tabs, .wc-tabs { flex-wrap: nowrap !important; }
	.woocommerce-tabs ul.tabs li, .wc-tabs li { flex: 0 0 auto !important; white-space: nowrap; }

	/* Nawigacja konta: jeden przewijany wiersz */
	.account-nav ul { flex-wrap: nowrap !important; }

	/* Hero: przyciski na pełną szerokość, statystyki jako 3 kolumny */
	.hero__actions { flex-direction: column; align-items: stretch; gap: 10px; }
	.hero__actions .btn { width: 100%; justify-content: center; }
	.hero__stats {
		display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 10px;
		border-top: 0 !important; padding-top: 0 !important; margin-top: 22px !important;
	}
	.hero__stats li {
		text-align: center; padding: 14px 6px; border-radius: 14px;
		background: rgba(7, 6, 39, .55); border: 1px solid rgba(108, 92, 255, .3);
		display: grid; gap: 3px;
	}
	.hero__stats strong { font-size: 21px !important; }
	.hero__stats span { font-size: 11px; line-height: 1.35; color: var(--c-muted); }

	/* Kafle platform / atutów: więcej luzu przy górnej krawędzi */
	.platform-card { padding: 28px 22px !important; }
	.platform-card__icon { width: 46px; height: 46px; }
	.feature-card { row-gap: 12px; }

	/* Kafle konta: kompaktowy wiersz ikona–liczba–etykieta */
	.account-tiles { gap: 12px; }
	.account-tile {
		display: flex !important; align-items: center; gap: 14px; padding: 16px 18px;
	}
	.account-tile .icon { width: 20px; height: 20px; }
	.account-tile strong { font-size: 22px; order: 3; margin-left: auto; }
	.account-tile span { order: 2; font-size: 14px; }
}

@media (max-width: 640px) {

	/* Koszyk: miniatura+info, pod spodem cena z koszem – bez absolute */
	.cart-item {
		grid-template-columns: 64px minmax(0, 1fr) !important;
		grid-template-areas:
			"thumb info"
			"total total" !important;
		padding: 16px !important; row-gap: 14px;
	}
	.cart-item__total {
		display: flex; align-items: center; justify-content: space-between;
		width: 100%; padding-top: 12px; border-top: 1px solid rgba(108, 92, 255, .22);
	}
	.cart-item__remove {
		position: static !important; transform: none !important;
		order: 2; margin-left: 12px;
	}
	.cart-item__total::before { content: "Razem:"; font: 400 13px var(--f-body); color: var(--c-muted); margin-right: auto; padding-right: 10px; }

	/* Trochę miejsca nad pływającymi przyciskami na końcu strony */
	.newsletter-band { padding-bottom: 84px; }
	.site-footer { padding-bottom: 64px; }
}

/* Przykład w programie lojalnościowym: numer + naturalnie płynący tekst
   (flex rozrzucał <strong> jak osobne kolumny) */
.loyalty-example li {
	display: grid !important;
	grid-template-columns: 28px minmax(0, 1fr);
	gap: 12px; align-items: start;
}
.loyalty-example li::before { transform: none; margin-top: 1px; }

/* =====================================================================
   13.0 SZLIFY: header do prawej, newsletter, FABy, meta produktu,
   wishlist przy Kup teraz, kosz w rogu, konto bez overflow
   ===================================================================== */

/* Ikony + hamburger dobite do prawej krawędzi (nav jest fixed na mobile,
   więc nic nie wypychało akcji w prawo) */
@media (max-width: 1024px) {
	.site-header__actions { margin-left: auto; }
	.site-header__inner { justify-content: space-between; }
}

/* Newsletter: ikona + nagłówek obok siebie, opis pod spodem (desktop też) */
.newsletter-band__text {
	display: grid !important;
	grid-template-columns: auto 1fr;
	align-items: center;
	column-gap: 16px; row-gap: 12px;
}
.newsletter-band__icon { width: 50px; height: 50px; }
.newsletter-band__text > div { display: contents; }
.newsletter-band__text h2 { margin: 0; }
.newsletter-band__text p { grid-column: 1 / -1; margin: 0; }
@media (max-width: 640px) { .newsletter-band__text { flex-direction: initial; } }

/* Back to top na tej samej wysokości co ikona cookies */
.back-to-top { bottom: 18px; }
@media (max-width: 640px) { .back-to-top { bottom: 12px; right: 12px; } }

/* Meta produktu: czytelna „tabela" – etykieta u góry wiersza, wartość pod */
.product-meta-list {
	list-style: none; margin: 22px 0 0; padding: 0;
	background: rgba(22, 21, 86, .5);
	border: 1px solid rgba(108, 92, 255, .3) !important;
	border-radius: 16px; overflow: hidden;
}
.product-meta-list li {
	display: grid; grid-template-columns: 128px minmax(0, 1fr);
	gap: 4px 18px; align-items: center;
	padding: 14px 18px;
}
.product-meta-list li + li { border-top: 1px solid rgba(108, 92, 255, .22) !important; }
.product-meta-list span {
	color: var(--c-muted);
	font: 600 11.5px var(--f-body); letter-spacing: .1em; text-transform: uppercase;
}
.product-meta-list strong { color: #EDEEFB; font: 500 14px/1.55 var(--f-body); }
.product-meta-list code {
	justify-self: start;
	font: 600 13px var(--f-mono); color: var(--c-gold);
	background: rgba(7, 6, 39, .7); border: 1px solid rgba(255, 182, 41, .35) !important;
	border-radius: 8px; padding: 4px 10px;
}
@media (max-width: 640px) {
	.product-meta-list li { grid-template-columns: 1fr; padding: 13px 16px; }
}

/* Wishlist ZAWSZE w jednym rzędzie z „Kup teraz" (stara reguła robiła kolumnę) */
.summary form.cart {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: stretch;
	gap: 12px;
}
.summary form.cart .single_add_to_cart_button { flex: 1 1 auto; min-width: 0; max-width: none; }
.summary form.cart .wishlist-btn { width: 54px; min-width: 54px; }

/* Kosz w koszyku: prawy górny róg pozycji (desktop i mobile) */
.cart-item { position: relative; }
.cart-item__remove {
	position: absolute !important;
	top: 12px !important; right: 12px !important;
	transform: none !important;
	order: 0; margin: 0 !important;
	width: 36px; height: 36px; border-radius: 10px;
	display: inline-flex; align-items: center; justify-content: center;
	background: rgba(7, 6, 39, .6); border: 1px solid rgba(108, 92, 255, .3);
}
.cart-item__remove:hover { color: #ff6b6b; border-color: rgba(255, 107, 107, .5); background: rgba(255, 107, 107, .08); }
.cart-item { padding-right: 60px; }
@media (max-width: 640px) {
	.cart-item { padding: 16px 16px 16px !important; }
	.cart-item__info { padding-right: 44px; }
	.cart-item__total::before { content: "Razem:"; }
}

/* Kontakt: „Obserwuj mnie" wyśrodkowane na mobile */
@media (max-width: 900px) {
	.social-follow--contact { text-align: center; }
	.social-follow--contact .social-follow__icons { justify-content: center; }
}

/* Moje konto: koniec z wychodzeniem poza ekran.
   Pasek nawigacji (nowrap) rozpychał kolumnę gridu – min-width:0 ucina. */
.account-layout > * { min-width: 0; max-width: 100%; }
.account-layout aside { min-width: 0; }
.account-content { overflow-x: hidden; }
.account-nav { max-width: 100%; }
@media (max-width: 900px) {
	.account-layout { grid-template-columns: minmax(0, 1fr) !important; }
	.account-nav ul { overflow-x: auto; max-width: 100%; }
	.acc-user-card, .acc-points-pill { max-width: 100%; }
	.loyalty-levels-grid { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); }
}

/* --- Logowanie społecznościowe (Google / Facebook) --- */
.social-login { display: grid; gap: 10px; margin-bottom: 22px; }
.social-login__btn {
	display: flex; align-items: center; justify-content: center; gap: 12px;
	padding: 13px 18px; border-radius: 13px;
	font: 600 14.5px var(--f-head); text-decoration: none;
	transition: transform .15s, box-shadow .2s, border-color .2s;
	border: 1px solid transparent;
}
.social-login__btn svg { width: 20px; height: 20px; flex-shrink: 0; }
.social-login__btn--google { background: #fff; color: #1f1f1f; }
.social-login__btn--google:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(255, 255, 255, .12); }
.social-login__btn--facebook { background: #1877F2; color: #fff; }
.social-login__btn--facebook:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(24, 119, 242, .35); }
.social-login__divider {
	display: flex; align-items: center; gap: 14px;
	color: var(--c-muted); font: 500 12px var(--f-body); letter-spacing: .1em; text-transform: uppercase;
	margin-top: 6px;
}
.social-login__divider::before, .social-login__divider::after {
	content: ""; flex: 1; height: 1px; background: rgba(108, 92, 255, .3);
}

/* --- Hero: statystyki zawsze w jednej linii (3 równe kolumny) --- */
.hero__stats {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	align-items: start;
	margin-top: 30px !important;
	padding-top: 24px;
	border-top: 1px solid rgba(108, 92, 255, .3);
	list-style: none;
}
.hero__stats li { display: grid; gap: 5px; min-width: 0; }
.hero__stats strong { font-size: 27px; line-height: 1; }
.hero__stats span { font-size: 13px; line-height: 1.45; color: var(--c-muted); }
@media (max-width: 900px) {
	.hero__stats { gap: 10px; border-top: 0; padding-top: 0; margin-top: 22px !important; }
}

/* --- Metody płatności: logo w linii z nazwą, klik w całe pole, bez radio --- */
#payment ul.wc_payment_methods {
	display: grid; gap: 12px;
	margin: 0 0 4px !important; padding: 0 !important; list-style: none;
}
#payment li.wc_payment_method {
	position: relative; margin: 0 !important; padding: 0 !important;
	background: rgba(7, 6, 39, .55);
	border: 1px solid rgba(108, 92, 255, .32);
	border-radius: 14px;
	overflow: hidden;
	transition: border-color .2s, box-shadow .2s, background .2s;
}
#payment li.wc_payment_method:hover { border-color: rgba(255, 182, 41, .55); }
#payment li.wc_payment_method:has(input:checked),
#payment li.wc_payment_method:focus-within {
	border-color: var(--c-gold);
	box-shadow: 0 0 0 1px rgba(255, 182, 41, .4), 0 8px 26px rgba(255, 148, 23, .12);
	background: rgba(255, 182, 41, .05);
}
#payment li.wc_payment_method > input[type="radio"] {
	position: absolute !important;
	opacity: 0 !important;
	width: 1px !important; height: 1px !important;
	pointer-events: none !important;
	margin: 0 !important;
}
#payment li.wc_payment_method > label {
	display: flex !important; align-items: center; gap: 14px;
	width: 100%; margin: 0 !important; padding: 16px 18px !important;
	cursor: pointer;
	font: 600 15.5px var(--f-head) !important; color: #fff !important;
}
#payment li.wc_payment_method > label img {
	max-height: 26px !important; width: auto !important;
	margin: 0 0 0 auto !important; float: none !important;
	border-radius: 4px;
}
#payment li.wc_payment_method > label a { margin-left: 8px; font: 400 12px var(--f-body); color: var(--c-muted); }
#payment .payment_box {
	margin: 0 !important;
	padding: 2px 18px 18px !important;
	background: transparent !important;
	color: var(--c-muted); font-size: 13.5px; line-height: 1.6;
}
#payment .payment_box::before { display: none !important; }
#payment .payment_box p { margin: 0 0 12px; color: var(--c-muted); }
#payment .payment_box label { color: #D9DAF0; font-weight: 500; display: block; margin-bottom: 8px; }
#payment .payment_box input[type="text"], #payment .payment_box input[type="tel"], #payment .payment_box input[type="number"] {
	width: 100%; max-width: 260px;
	padding: 12px 15px;
	background: rgba(7, 6, 39, .85) !important;
	border: 1px solid rgba(108, 92, 255, .4) !important;
	border-radius: 12px !important;
	color: #fff !important;
	font: 600 17px var(--f-mono) !important; letter-spacing: .18em;
}
#payment .payment_box input:focus {
	outline: 0; border-color: var(--c-violet) !important;
	box-shadow: 0 0 0 3px rgba(79, 70, 255, .22) !important;
}
#payment .payment_box a { color: var(--c-purple); }

/* =====================================================================
   14.0 PRZEPŁYW PŁATNOŚCI – loader checkoutu, ekran oczekiwania, błąd
   ===================================================================== */

/* Spinner (wspólny) */
.mcz-spinner {
	display: inline-block; width: 52px; height: 52px;
	border-radius: 50%;
	border: 4px solid rgba(255, 182, 41, .18);
	border-top-color: var(--c-gold);
	animation: mcz-spin .9s linear infinite;
}
@keyframes mcz-spin { to { transform: rotate(360deg); } }

/* Overlay „Przetwarzanie zamówienia" na checkoucie */
.mcz-processing {
	position: fixed; inset: 0; z-index: 420;
	display: flex; align-items: center; justify-content: center;
	background: rgba(5, 5, 24, .93);
	backdrop-filter: blur(8px);
	padding: 24px;
}
.mcz-processing[hidden] { display: none !important; }
body.mcz-processing-open { overflow: hidden; }
.mcz-processing__box {
	display: grid; justify-items: center; gap: 16px;
	max-width: 420px; width: 100%;
	padding: 44px 34px;
	background: rgba(22, 21, 86, .75);
	border: 1px solid rgba(108, 92, 255, .4);
	border-radius: 22px;
	box-shadow: 0 30px 80px rgba(0, 0, 0, .5);
	text-align: center;
}
.mcz-processing__box strong {
	font: 600 20px/1.35 var(--f-head); color: #fff;
}
.mcz-processing__box span:not(.mcz-spinner) {
	font: 400 14.5px/1.6 var(--f-body); color: var(--c-muted);
}

/* Ekran oczekiwania na potwierdzenie płatności (thankyou pending) */
.thankyou__waiting {
	display: grid; justify-items: center; gap: 14px;
	max-width: 560px; margin: 0 auto;
	padding: clamp(36px, 5vw, 54px) clamp(22px, 4vw, 44px);
	background: rgba(22, 21, 86, .55);
	border: 1px solid rgba(108, 92, 255, .32);
	border-radius: 22px;
	text-align: center;
}
.thankyou__waiting h1 { font-size: clamp(23px, 4vw, 30px); margin: 4px 0 0; }
.thankyou__waiting p { margin: 0; color: var(--c-muted); max-width: 46ch; }
.thankyou__waiting-note { font-size: 13px !important; opacity: .85; }
.thankyou__waiting-timeout {
	margin-top: 8px !important; padding: 12px 16px;
	background: rgba(255, 182, 41, .08);
	border: 1px solid rgba(255, 182, 41, .35);
	border-radius: 12px; font-size: 14px !important; color: #EDEEFB !important;
}
.thankyou__waiting-timeout a { color: var(--c-gold); text-decoration: underline; }

/* Ekran błędu płatności */
.thankyou__check--failed {
	background: rgba(255, 107, 107, .12) !important;
	border: 1px solid rgba(255, 107, 107, .5) !important;
	color: #ff6b6b !important;
}
.thankyou__check--failed .icon { color: #ff6b6b; }
.thankyou__head--failed h1 { color: #fff; }
.thankyou__failed-actions {
	display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 8px !important;
}
@media (max-width: 640px) {
	.thankyou__failed-actions { flex-direction: column; align-items: stretch; }
	.thankyou__failed-actions .btn { width: 100%; justify-content: center; }
}

/* Awaryjnie: gdyby jakikolwiek widok Woo renderował wiersz „Działania" */
.woocommerce-table--order-details a.cancel,
.woocommerce-table--order-details .order-actions { display: none !important; }

/* =====================================================================
   14.1 PŁATNOŚCI – dobicie: białe blockUI Woo, z-index loadera,
   ukrycie szczegółów zamówienia na ekranie oczekiwania/błędu
   ===================================================================== */

/* Woo blokuje formularz białą nakładką (jQuery blockUI, style inline).
   Przemalowanie na ciemno + nasz loader zawsze na wierzchu. */
.blockUI.blockOverlay {
	background: rgba(5, 5, 24, .88) !important;
	opacity: 1 !important;
	backdrop-filter: blur(6px);
	cursor: wait !important;
}
.blockUI.blockMsg {
	background: transparent !important;
	border: 0 !important;
	color: #fff !important;
}
.woocommerce-checkout.processing { opacity: 1 !important; }
.mcz-processing { z-index: 100002 !important; }

/* Gdy trwa oczekiwanie na płatność lub płatność padła – żadnych
   „Szczegółów zamówienia" z wierszem Zapłać/Anuluj pod kartą statusu. */
body:has(#mcz-payment-wait) .woocommerce-order-details,
body:has(#mcz-payment-wait) .woocommerce-customer-details,
body:has(#mcz-payment-wait) .woocommerce-order-overview,
body:has(#mcz-payment-wait) .woocommerce-table--order-details,
body:has(#mcz-payment-wait) [class*="order-confirmation"],
body:has(.thankyou__head--failed) .woocommerce-order-details,
body:has(.thankyou__head--failed) .woocommerce-customer-details,
body:has(.thankyou__head--failed) .woocommerce-order-overview,
body:has(.thankyou__head--failed) [class*="order-confirmation"] {
	display: none !important;
}

/* Wiersz „Działania" w jakiejkolwiek tabeli zamówienia – kill switch */
.woocommerce-table--order-details tr:has(a[href*="pay_for_order"]),
.woocommerce-table--order-details tr:has(a[href*="cancel_order"]),
.woocommerce-table--order-details tr:has(a.pay),
.woocommerce-table--order-details tr:has(a.cancel) {
	display: none !important;
}

/* --- BlockUI Woo: wbudowany spinner (loader widoczny ZAWSZE, nawet gdy
       zdarzenia checkoutu nie odpalą naszego overlaya) --- */
form.checkout { position: relative; }
.blockUI.blockOverlay::after {
	content: "";
	position: absolute; top: 50%; left: 50%;
	width: 56px; height: 56px; margin: -28px 0 0 -28px;
	border-radius: 50%;
	border: 4px solid rgba(255, 182, 41, .2);
	border-top-color: #FFB629;
	animation: mcz-spin .9s linear infinite;
}
.blockUI.blockOverlay::before {
	content: "Przetwarzanie…";
	position: absolute; top: 50%; left: 50%;
	transform: translate(-50%, 48px);
	font: 600 15px "Space Grotesk", sans-serif;
	color: #fff; white-space: nowrap;
}

/* --- Przycisk „Pobierz" w tabeli pobrań --- */
.mcz-download-btn {
	display: inline-flex !important; align-items: center; gap: 8px;
	white-space: nowrap;
}
.mcz-download-btn .icon { width: 16px; height: 16px; }

/* =====================================================================
   15.0 HERO bez panelu-tła (desktop i mobile) – treść wprost na stronie
   ===================================================================== */
.hero__inner,
.hero .hero__inner,
.hero__inner.container {
	background: none !important;
	border: 0 !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	max-width: 100%;
}
.hero__inner::before { display: none !important; }
.hero__float { display: none !important; }
.hero { padding: clamp(28px, 4vw, 56px) 0 clamp(56px, 7vw, 96px); }
@media (max-width: 900px) {
	.hero { padding: 18px 0 48px; }
	.hero__inner { gap: 26px; }
}

/* --- Strona Promocje: pełna szerokość (bez kolumny sidebara ze sklepu) --- */
.shop-layout--promo {
	display: block !important;
	grid-template-columns: none !important;
}
.shop-layout--promo .shop-main,
.shop-main--full {
	grid-column: 1 / -1;
	width: 100%;
	min-width: 0;
}
