/* Prezentowe Inspiracje — Design System
   Inspiracja: szlachetne złoto z logo, czarne szeryfy, kremowe tło.
   Wszystko trzyma się tych tokenów. */

:root {
  /* Kolory */
  --pi-ink: #0E0E0F;          /* główny tekst, czarne nagłówki */
  --pi-ink-soft: #2A2622;     /* drugorzędny tekst */
  --pi-muted: #6B6358;        /* podpisy, meta */
  --pi-line: #E8DFCB;         /* delikatna kreska beżowa */
  --pi-line-soft: #EFE9DC;
  --pi-bg: #FAF6EE;           /* główne tło kremowe */
  --pi-bg-warm: #F5EFE3;      /* cieplejsza karta */
  --pi-bg-deep: #1A1814;      /* premium ciemne sekcje */
  --pi-paper: #FFFFFF;        /* czysta karta produktu */

  --pi-gold: #C9A24A;         /* główny akcent ze sygnetu */
  --pi-gold-deep: #A8842F;    /* hover, podkreślenia */
  --pi-gold-soft: #E8D49A;    /* delikatne tło / podświetlenia */
  --pi-gold-glaze: #F3E9D0;   /* bardzo jasny złoty */

  --pi-success: #4F6E4A;
  --pi-danger: #B0432E;

  /* Typografia */
  --pi-serif: "Cormorant Garamond", "Cormorant", "Times New Roman", serif;
  --pi-script: "Italianno", "Allura", "Cormorant Garamond", cursive;
  --pi-sans: "Manrope", "Inter", -apple-system, "Segoe UI", sans-serif;

  /* Krzywe ruchu i radiusy */
  --pi-ease: cubic-bezier(.2,.7,.3,1);
  --pi-r-sm: 4px;
  --pi-r-md: 8px;
  --pi-r-lg: 14px;

  /* Cienie */
  --pi-shadow-1: 0 1px 2px rgba(20,15,5,.04), 0 4px 16px rgba(20,15,5,.04);
  --pi-shadow-2: 0 10px 40px rgba(20,15,5,.10), 0 2px 6px rgba(20,15,5,.04);
}

* { box-sizing: border-box; }

.pi-root {
  font-family: var(--pi-sans);
  color: var(--pi-ink);
  background: var(--pi-bg);
  font-size: 15px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  letter-spacing: 0.005em;
}

html {
  overflow-x: clip;
}

/* Typografia */
.pi-display { font-family: var(--pi-serif); font-weight: 500; letter-spacing: 0.02em; line-height: 1.05; }
.pi-display-caps { font-family: var(--pi-serif); font-weight: 500; text-transform: uppercase; letter-spacing: 0.12em; line-height: 1.05; }
.pi-script { font-family: var(--pi-script); font-style: italic; font-weight: 400; color: var(--pi-gold-deep); line-height: 1; }
.pi-eyebrow { font-family: var(--pi-sans); text-transform: uppercase; letter-spacing: 0.28em; font-size: 11px; font-weight: 600; color: var(--pi-gold-deep); }
.pi-meta { font-size: 12px; color: var(--pi-muted); letter-spacing: 0.04em; }

/* Logo — typograficzna replika */
.pi-logo {
  display: inline-flex; align-items: center; gap: 12px; line-height: 1;
  color: var(--pi-ink);
}
.pi-logo-mark { width: 34px; height: 34px; flex: 0 0 auto; color: var(--pi-gold); }
.pi-logo-text { display: flex; flex-direction: column; align-items: flex-start; gap: 0; }
.pi-logo-name {
  font-family: var(--pi-serif); font-weight: 500; font-size: 18px;
  letter-spacing: 0.22em; text-transform: uppercase;
}
.pi-logo-sub {
  font-family: var(--pi-script); font-style: italic;
  color: var(--pi-gold-deep); font-size: 22px; margin-top: -2px;
  letter-spacing: 0.01em;
}

/* Przyciski */
.pi-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  font-family: var(--pi-sans); font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase;
  font-size: 11.5px; padding: 14px 26px; border-radius: 2px; cursor: pointer;
  border: 1px solid transparent; transition: all .25s var(--pi-ease); user-select: none;
  text-decoration: none;
}
a.pi-btn:hover,
a.pi-btn:focus {
  text-decoration: none;
}
.pi-btn-primary { background: var(--pi-ink); color: var(--pi-bg); }
.pi-btn-primary:hover { background: var(--pi-gold-deep); }
.pi-btn-gold { background: var(--pi-gold); color: var(--pi-ink); }
.pi-btn-gold:hover { background: var(--pi-gold-deep); color: var(--pi-bg); }
.pi-btn-ghost { background: transparent; color: var(--pi-ink); border-color: var(--pi-ink); }
.pi-btn-ghost:hover { background: var(--pi-ink); color: var(--pi-bg); }
.pi-btn-line { background: transparent; color: var(--pi-ink); border-color: var(--pi-line); }
.pi-btn-line:hover { border-color: var(--pi-gold); color: var(--pi-gold-deep); }
.pi-btn-block { width: 100%; }
.pi-btn-lg { padding: 18px 30px; font-size: 12px; }
.pi-btn-sm { padding: 9px 16px; font-size: 10.5px; letter-spacing: 0.16em; }

/* Linki */
.pi-link { color: var(--pi-ink); text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 1px; transition: color .25s var(--pi-ease); }
.pi-link:hover { color: var(--pi-gold-deep); }

/* Karty / placeholder */
.pi-card { background: var(--pi-paper); border: 1px solid var(--pi-line); border-radius: 2px; }
.pi-divider { height: 1px; background: var(--pi-line); border: 0; }

/* Placeholder na zdjęcia */
.pi-img {
  position: relative; overflow: hidden; background: var(--pi-bg-warm);
  display: flex; align-items: center; justify-content: center;
  color: var(--pi-muted); font-family: "JetBrains Mono", "Courier New", monospace;
  font-size: 11px; letter-spacing: 0.05em;
}
.pi-img::before {
  content: ""; position: absolute; inset: 0;
  background-image: repeating-linear-gradient(135deg, transparent 0 14px, rgba(0,0,0,0.025) 14px 15px);
  pointer-events: none;
}
.pi-img > span { position: relative; z-index: 1; padding: 4px 10px; background: rgba(255,255,255,.6); border-radius: 2px; }
.pi-img-tint-gold { background: linear-gradient(135deg, #F3E9D0, #E8D49A); color: var(--pi-gold-deep); }
.pi-img-tint-deep { background: linear-gradient(135deg, #1A1814, #2A2622); color: var(--pi-gold-soft); }
.pi-img-tint-warm { background: linear-gradient(135deg, #F5EFE3, #E8DFCB); }

/* Badge */
.pi-badge {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--pi-sans); font-weight: 600; font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase;
  padding: 5px 9px; border-radius: 2px; background: var(--pi-paper); color: var(--pi-ink);
  border: 1px solid var(--pi-line);
}
.pi-badge-gold { background: var(--pi-gold); color: var(--pi-ink); border-color: var(--pi-gold); }
.pi-badge-dark { background: var(--pi-ink); color: var(--pi-bg); border-color: var(--pi-ink); }
.pi-badge-ghost { background: transparent; }

/* Pole formularza */
.pi-input {
  width: 100%; font-family: var(--pi-sans); font-size: 14px; color: var(--pi-ink);
  background: transparent; padding: 14px 14px; border: 1px solid var(--pi-line);
  border-radius: 2px; transition: border-color .2s var(--pi-ease), background .2s var(--pi-ease);
}
.pi-input:focus { outline: none; border-color: var(--pi-gold); background: var(--pi-paper); }
.pi-input-lg { padding: 16px; font-size: 15px; }

.pi-select {
  appearance: none; -webkit-appearance: none;
  background: transparent;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%23C9A24A' stroke-width='1.5'><path d='M1 1.5l5 5 5-5'/></svg>");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 36px;
}

/* Linia ozdobna ze złotym diamentem (między sekcjami) */
.pi-rule { display: flex; align-items: center; justify-content: center; gap: 12px; color: var(--pi-gold); }
.pi-rule::before, .pi-rule::after {
  content: ""; flex: 1; max-width: 80px; height: 1px; background: var(--pi-gold);
}
.pi-rule-diamond { width: 6px; height: 6px; background: var(--pi-gold); transform: rotate(45deg); }

/* Akordeon */
.pi-acc { border-top: 1px solid var(--pi-line); }
.pi-acc-row { border-bottom: 1px solid var(--pi-line); }
.pi-acc-trigger {
  display: flex; align-items: center; justify-content: space-between;
  width: 100%; padding: 18px 0; cursor: pointer; background: transparent; border: 0;
  font-family: var(--pi-serif); font-size: 17px; color: var(--pi-ink); text-align: left;
}
.pi-acc-trigger .pi-acc-plus { color: var(--pi-gold-deep); font-size: 18px; transition: transform .25s var(--pi-ease); }
.pi-acc-row.is-open .pi-acc-plus { transform: rotate(45deg); }
.pi-acc-body { padding: 0 0 18px; color: var(--pi-muted); font-size: 14px; line-height: 1.7; }

/* Sticky shadow helper */
.pi-card-shadow { box-shadow: var(--pi-shadow-1); }

/* Animacje hover na siatkach */
.pi-hover-zoom .pi-img > .pi-zoom { transition: transform .9s var(--pi-ease); transform-origin: center; will-change: transform; }
.pi-hover-zoom:hover .pi-img > .pi-zoom { transform: scale(1.05); }

/* Ikona "diament" do akcentów listy */
.pi-bullet { color: var(--pi-gold); margin-right: 8px; }

/* Hide scrollbars only on horizontal carousels */
.pi-product-gallery__thumbs,
.pi-home-categories__track {
	scrollbar-width: none;
}

.pi-product-gallery__thumbs::-webkit-scrollbar,
.pi-home-categories__track::-webkit-scrollbar {
	display: none;
}

/* === Layout: header, footer, archive, checkout === */
:root {
	--pi-admin-offset: 0px;
	--pi-header-height: 72px;
}

body.admin-bar {
	--pi-admin-offset: 32px;
}
@media screen and (max-width: 782px) {
	body.admin-bar {
		--pi-admin-offset: 46px;
	}
}

.pi-site-header {
	border-bottom: 1px solid var(--pi-line);
	background: var(--pi-bg);
	position: relative;
	z-index: 1000;
	color: var(--pi-ink);
}
.pi-site-header--transparent {
	position: absolute;
	top: var(--pi-admin-offset);
	left: 0;
	right: 0;
	width: 100%;
	background: transparent;
	border-color: rgba(255,255,255,.1);
	color: var(--pi-bg);
}
/* Header — mockup główna wizualizacja: nav | logo | actions */
.pi-site-header__inner--mockup {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 16px;
	padding: 10px 40px;
	min-height: 0;
	position: relative;
}
.pi-site-header__nav-col {
	justify-self: start;
}
.pi-site-header__logo-col {
	justify-self: center;
}
.pi-site-header__actions-col {
	justify-self: end;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 22px;
}
.pi-site-header__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	color: inherit;
	min-width: 200px;
}
.pi-site-header .pi-logo-img {
	height: 48px;
	width: auto;
	max-height: none;
	max-width: min(320px, 34vw);
	object-fit: contain;
	object-position: center;
	display: block;
}
.pi-site-header--transparent .pi-logo-img {
	height: 52px;
	max-width: min(340px, 38vw);
}
/* Tymczasowy fallback: ciemne logo motywu na ciemnym hero (dopóki nie wgrasz „Logo na ciemne tło”). */
.pi-site-header--transparent .pi-logo-img--invert {
	filter: brightness(0) invert(1);
}
.pi-site-header__locale {
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: inherit;
	opacity: 0.9;
}
.pi-site-header .pi-logo-svg { display: inline-flex; align-items: center; height: 48px; }
.pi-site-header .pi-logo-svg svg { height: 100%; width: auto; max-width: 280px; }
.pi-site-header--transparent .pi-logo-svg { height: 52px; }
.pi-site-header--transparent .pi-logo-svg svg { max-width: 300px; }
.pi-nav { flex-shrink: 0; }
.pi-nav__list {
	display: flex;
	align-items: center;
	gap: 28px;
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .16em;
	text-transform: uppercase;
}
.pi-nav__link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: inherit;
	text-decoration: none;
	transition: color .2s var(--pi-ease);
}
.pi-nav__link:hover,
.pi-site-header__action:hover { color: var(--pi-gold); }
.pi-site-header--transparent .pi-nav__link:hover,
.pi-site-header--transparent .pi-site-header__action:hover { color: var(--pi-gold); }
.pi-nav__chev { display: inline-flex; align-items: center; opacity: .85; }
.pi-nav__chev .pi-icon { width: 12px !important; height: 12px !important; }
.pi-nav__sub {
	display: none;
	position: absolute;
	background: var(--pi-paper);
	padding: 20px;
	box-shadow: var(--pi-shadow-2);
	min-width: 200px;
	list-style: none;
	z-index: 50;
}
.pi-nav__item--has-children { position: relative; }
.pi-nav__item--has-children:hover > .pi-nav__sub { display: block; }

/* Mega-menu — panel pod headerem (bez szczeliny fixed) */
.pi-nav__item--mega { position: static; }
.pi-mega-panel {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	z-index: 999;
	/* Header może być przezroczysty i mieć jasny kolor tekstu — wymuś czytelność w panelu. */
	color: var(--pi-ink);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(-4px);
	transition: opacity .2s var(--pi-ease), transform .2s var(--pi-ease), visibility .2s;
	background: var(--pi-paper);
	border-top: 1px solid var(--pi-line);
	box-shadow: var(--pi-shadow-2);
	/* Nie ucinaj panelu: dopasuj do viewportu minus header. */
	max-height: calc(100vh - var(--pi-header-height, 72px) - var(--pi-admin-offset, 0px) - 12px);
	overflow: auto;
}
/* Niewidoczny mostek — kursor z „Sklep” do panelu bez zamykania */
.pi-mega-panel::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 100%;
	height: 14px;
}
.pi-nav__item--mega:hover .pi-mega-panel,
.pi-nav__item--mega.is-open .pi-mega-panel,
.pi-mega-panel.is-open,
.pi-mega-panel:hover {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}
.pi-mega-panel__inner {
	max-width: 1440px;
	margin: 0 auto;
	padding: 32px 56px 40px;
}
.pi-mega-panel--shop {
	background: var(--pi-bg);
}
.pi-mega-panel__inner--shop {
	padding: 36px 48px 40px;
}
/* Assurance strip pod megamenu */
.pi-mega-assurance {
	margin-top: 28px;
	padding-top: 18px;
	border-top: 1px solid var(--pi-line-soft);
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}
.pi-mega-assurance__item {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--pi-ink-soft);
	font-size: 12px;
	font-weight: 500;
}
.pi-mega-assurance__item .pi-icon {
	color: var(--pi-gold-deep);
}
.pi-mega-assurance__text {
	line-height: 1.25;
}
.pi-mega-shop-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(240px, 280px);
	gap: 0;
	align-items: stretch;
}
.pi-mega-col {
	padding: 0 28px;
	border-right: 1px solid var(--pi-line-soft);
	min-height: 100%;
	display: flex;
	flex-direction: column;
}
.pi-mega-col:first-child { padding-left: 0; }
.pi-mega-col--feature {
	border-right: 0;
	padding-right: 0;
	padding-left: 32px;
}
.pi-mega-col__label {
	font-family: var(--pi-sans);
	font-size: 10px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.22em;
	color: var(--pi-gold-deep);
	margin: 0 0 18px;
}
.pi-mega-col__list {
	list-style: none;
	margin: 0;
	padding: 0;
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.pi-mega-col__link {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 0;
	text-decoration: none;
	color: var(--pi-ink-soft);
	font-size: 13px;
	line-height: 1.35;
	transition: color 0.2s var(--pi-ease);
}
.pi-mega-col__link:hover {
	color: var(--pi-gold-deep);
}
.pi-mega-col__list--icons .pi-mega-col__link {
	padding: 9px 0;
}
.pi-mega-col__icon {
	flex: 0 0 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--pi-gold);
}
.pi-mega-col__icon svg { width: 20px; height: 20px; }
.pi-mega-col__list--icons-badge .pi-mega-col__icon {
	width: 22px;
	height: 22px;
	flex: 0 0 22px;
	background: var(--pi-gold);
	color: var(--pi-paper);
	border-radius: 2px;
}
.pi-mega-col__list--icons-badge .pi-mega-col__icon svg { width: 14px; height: 14px; }
.pi-mega-col__text { flex: 1; }
.pi-mega-col__arrow {
	flex: 0 0 auto;
	color: var(--pi-muted);
	opacity: 0.5;
	transition: opacity 0.2s var(--pi-ease), transform 0.2s var(--pi-ease);
}
.pi-mega-col__link:hover .pi-mega-col__arrow {
	opacity: 1;
	color: var(--pi-gold-deep);
	transform: translateX(2px);
}
.pi-mega-col__footer {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 20px;
	font-size: 10px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: var(--pi-gold-deep);
	text-decoration: none;
}
.pi-mega-col__footer:hover { color: var(--pi-ink); }
.pi-mega-feature__media {
	display: block;
	overflow: hidden;
	background: var(--pi-bg-warm);
	border: 1px solid var(--pi-line);
	margin-bottom: 14px;
	aspect-ratio: 4 / 3;
}
.pi-mega-feature__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.pi-mega-feature__title {
	font-family: var(--pi-serif);
	font-size: 18px;
	font-weight: 500;
	margin: 0 0 8px;
	line-height: 1.2;
}
.pi-mega-feature__title a {
	color: var(--pi-ink);
	text-decoration: none;
}
.pi-mega-feature__title a:hover { color: var(--pi-gold-deep); }
.pi-mega-feature__desc {
	margin: 0 0 10px;
	font-size: 12px;
	line-height: 1.55;
	color: var(--pi-muted);
}
.pi-mega-feature__price {
	margin: 0 0 14px;
	font-size: 15px;
	font-weight: 600;
	color: var(--pi-gold-deep);
}
.pi-mega-feature__price del {
	opacity: 0.55;
	font-weight: 400;
	margin-right: 6px;
}
.pi-mega-feature__cta {
	width: 100%;
	justify-content: center;
}
.pi-mega-panel__cols {
	display: grid;
	grid-template-columns: minmax(180px, 220px) minmax(260px, 1fr) minmax(240px, 300px);
	gap: 40px;
	align-items: start;
}
.pi-mega-panel__label {
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.24em;
	color: var(--pi-gold-deep);
	margin: 0 0 14px;
}
.pi-mega-panel__title {
	font-size: 28px;
	margin: 0;
}
.pi-mega-panel__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 24px;
}
.pi-mega-panel__empty {
	color: var(--pi-muted);
	margin: 0;
}
.pi-mega-panel__all {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 16px;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: var(--pi-gold-deep);
	text-decoration: none;
}
.pi-mega-panel__all:hover { color: var(--pi-ink); }
.pi-mega-cats {
	list-style: none;
	margin: 0;
	padding: 0;
}
.pi-mega-cats a {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	padding: 9px 0;
	color: var(--pi-ink);
	text-decoration: none;
	border-bottom: 1px solid var(--pi-line-soft);
	font-size: 14px;
}
.pi-mega-cats a:hover { color: var(--pi-gold-deep); }
.pi-mega-cats__count {
	font-size: 11px;
	color: var(--pi-muted);
}
.pi-mega-products {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.pi-mega-products--grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}
.pi-mega-product__link {
	display: flex;
	align-items: center;
	gap: 14px;
	text-decoration: none;
	color: var(--pi-ink);
}
.pi-mega-product--compact .pi-mega-product__link {
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}
.pi-mega-product__thumb {
	flex: 0 0 64px;
	width: 64px;
	height: 64px;
	overflow: hidden;
	background: var(--pi-bg-warm);
	border: 1px solid var(--pi-line);
}
.pi-mega-product--compact .pi-mega-product__thumb {
	width: 100%;
	height: 120px;
	flex: none;
}
.pi-mega-product__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.pi-mega-product__name {
	display: block;
	font-size: 13px;
	line-height: 1.35;
}
.pi-mega-product__price {
	display: block;
	font-size: 12px;
	color: var(--pi-gold-deep);
	margin-top: 4px;
}
.pi-mega-product__price del { opacity: .55; margin-right: 6px; }
.pi-mega-product__badge { margin-bottom: 4px; }
.pi-mega-hero {
	position: relative;
	display: block;
	min-height: 280px;
	overflow: hidden;
	text-decoration: none;
	color: var(--pi-bg);
	border-radius: 2px;
}
.pi-mega-hero__bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.pi-mega-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,.15) 0%, rgba(0,0,0,.65) 100%);
}
.pi-mega-hero__content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 280px;
	padding: 22px;
}
.pi-mega-hero__title {
	font-size: 32px;
	color: var(--pi-bg);
	margin: 8px 0 0;
}
.pi-mega-hero__intro {
	font-size: 13px;
	line-height: 1.5;
	color: rgba(250,246,238,.8);
	margin-top: 8px;
}
.pi-mega-hero__cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 14px;
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--pi-gold);
}
/* Okazje mega — 4 kolumny */
.pi-mega-panel--promo {
	background: var(--pi-bg);
}
.pi-mega-panel__inner--promo {
	padding: 36px 48px 40px;
}
.pi-mega-okazje-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.15fr) minmax(0, 0.95fr) minmax(260px, 1.25fr);
	gap: 0;
	align-items: stretch;
}
.pi-mega-panel--promo .pi-mega-col:first-child { padding-left: 0; }
.pi-mega-panel--promo .pi-mega-col--banner { padding-right: 0; }

/* Okazje (kolumna 1) — 1 kolumna jak mockup */
.pi-mega-panel--promo .pi-mega-col__list--icons {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.pi-mega-panel--promo .pi-mega-col__list--icons .pi-mega-col__link {
	padding: 9px 0;
	justify-content: space-between;
	color: var(--pi-ink);
	font-size: 14px;
}
.pi-mega-panel--promo .pi-mega-col__list--icons .pi-mega-col__text {
	font-weight: 500;
}
.pi-mega-panel--promo .pi-mega-col__list--icons .pi-mega-col__icon {
	color: var(--pi-gold-deep);
	flex: 0 0 22px;
}
.pi-mega-panel--promo .pi-mega-col__list--icons .pi-mega-col__arrow {
	opacity: 0.75;
}
.pi-mega-panel--promo .pi-mega-col__list--icons .pi-mega-col__link:hover .pi-mega-col__arrow {
	opacity: 1;
}
.pi-mega-col--sale,
.pi-mega-col--banner {
	border-right: 0;
}
.pi-mega-col__list--arrows .pi-mega-col__link {
	justify-content: space-between;
}
.pi-mega-col__footer--outline {
	justify-content: center;
	padding: 12px 16px;
	border: 1px solid var(--pi-gold);
	text-align: center;
	margin-top: 24px;
}
.pi-mega-sale-list {
	list-style: none;
	margin: 0;
	padding: 0;
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.pi-mega-sale-item {
	display: grid;
	grid-template-columns: 56px 1fr auto;
	gap: 12px;
	align-items: center;
}
.pi-mega-sale-item__thumb {
	display: block;
	width: 56px;
	height: 56px;
	overflow: hidden;
	border: 1px solid var(--pi-line);
	background: var(--pi-bg-warm);
}
.pi-mega-sale-item__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.pi-mega-sale-item__name {
	display: block;
	font-size: 13px;
	line-height: 1.35;
	color: var(--pi-ink);
	text-decoration: none;
	margin-bottom: 4px;
}
.pi-mega-sale-item__name:hover { color: var(--pi-gold-deep); }
.pi-mega-sale-item__prices {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px;
	font-size: 12px;
}
.pi-mega-sale-item__price--sale {
	color: var(--pi-danger);
	font-weight: 600;
}
.pi-mega-sale-item__price--was {
	color: var(--pi-muted);
	text-decoration: line-through;
}
.pi-mega-sale-item__wish {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--pi-muted);
	text-decoration: none;
	transition: color 0.2s var(--pi-ease);
}
.pi-mega-sale-item__wish:hover { color: var(--pi-gold-deep); }
.pi-mega-promo-banner {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
	height: 100%;
	min-height: 280px;
}
.pi-mega-promo-banner__copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.pi-mega-promo-banner__title {
	font-size: clamp(1.5rem, 2.2vw, 2rem);
	line-height: 1.1;
	margin: 8px 0 20px;
	color: var(--pi-ink);
	font-weight: 400;
}
.pi-mega-promo-banner__title .pi-script {
	display: inline;
	font-size: 1.15em;
	color: var(--pi-gold-deep);
}
.pi-mega-promo-banner__price {
	margin: -12px 0 16px;
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--pi-gold-deep);
	line-height: 1.3;
}
.pi-mega-promo-banner__price del {
	color: var(--pi-muted);
	font-weight: 400;
}
.pi-mega-promo-banner__price ins {
	text-decoration: none;
}
.pi-mega-promo-banner__cta {
	margin-top: auto;
}
.pi-mega-promo-banner__visual {
	overflow: hidden;
	border: 1px solid var(--pi-line);
	background: var(--pi-bg-deep);
	min-height: 160px;
}
.pi-mega-promo-banner__img {
	width: 100%;
	height: 100%;
	min-height: 160px;
	object-fit: cover;
	display: block;
}
@media (max-width: 1200px) {
	.pi-mega-okazje-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.pi-mega-col--banner {
		grid-column: 1 / -1;
	}
	.pi-mega-assurance {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.pi-mega-shop-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px 0;
	}
	.pi-mega-col {
		border-right: 0;
		padding: 0 20px 24px;
		border-bottom: 1px solid var(--pi-line-soft);
	}
	.pi-mega-col--feature {
		grid-column: 1 / -1;
		padding-left: 20px;
	}
}
@media (max-width: 1100px) {
	.pi-mega-panel__cols { grid-template-columns: 1fr 1fr; }
	.pi-mega-panel__col--hero { grid-column: 1 / -1; }
	.pi-mega-products--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
	.pi-mega-panel__inner { padding: 24px 20px 28px; }
	.pi-mega-panel__inner--shop { padding: 24px 20px; }
	.pi-mega-shop-grid { grid-template-columns: 1fr; }
	.pi-mega-panel__cols { grid-template-columns: 1fr; }
	.pi-mega-products--grid { grid-template-columns: 1fr; }
}
.pi-site-header__actions {
	display: flex;
	align-items: center;
	gap: 22px;
	flex-shrink: 0;
}
.pi-site-header__action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	color: inherit;
	text-decoration: none;
	line-height: 0;
	border: 0;
	background: transparent;
	padding: 0;
	font: inherit;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	box-shadow: none;
}
.pi-site-header__action:hover,
.pi-site-header__action:focus {
	background: transparent;
	box-shadow: none;
	outline: none;
}
.pi-site-header__action:focus-visible {
	outline: 2px solid var(--pi-gold-deep);
	outline-offset: 2px;
	border-radius: 50%;
}
.pi-icon { display: inline-flex; align-items: center; justify-content: center; }
.pi-icon svg { width: 100%; height: 100%; }
.pi-cart-icon-wrap {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
}
.pi-cart-badge {
	position: absolute;
	top: -6px;
	right: -8px;
	min-width: 14px;
	height: 14px;
	padding: 0 3px;
	border-radius: 999px;
	background: var(--pi-gold);
	color: var(--pi-ink);
	font-size: 9px;
	font-weight: 700;
	line-height: 14px;
	text-align: center;
}

/* Header mini-cart (hover) */
.pi-header-cart {
	position: relative;
}

.pi-mini-cart {
	position: absolute;
	top: calc(100% + 14px);
	right: 0;
	width: min(380px, calc(100vw - 32px));
	background: var(--pi-paper);
	color: var(--pi-ink);
	border: 1px solid var(--pi-line);
	box-shadow: var(--pi-shadow-2);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity 0.22s var(--pi-ease), transform 0.22s var(--pi-ease), visibility 0.22s;
	z-index: 1002;
	pointer-events: none;
}

.pi-header-cart.is-open .pi-mini-cart {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}

.pi-mini-cart::before {
	content: "";
	position: absolute;
	top: -10px;
	right: 18px;
	width: 16px;
	height: 16px;
	background: var(--pi-paper);
	border-left: 1px solid var(--pi-line);
	border-top: 1px solid var(--pi-line);
	transform: rotate(45deg);
}

.pi-mini-cart__head {
	padding: 16px 18px 12px;
	border-bottom: 1px solid var(--pi-line);
}

.pi-mini-cart__title {
	margin: 0;
	font-size: 1.15rem;
	font-weight: 500;
	line-height: 1.2;
	color: var(--pi-ink);
}

.pi-mini-cart__shipping {
	padding: 12px 18px;
	background: var(--pi-bg-warm);
	border-bottom: 1px solid var(--pi-line);
}

.pi-mini-cart__shipping-head {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	font-size: 11px;
	margin-bottom: 6px;
	color: var(--pi-ink-soft);
}

.pi-mini-cart__shipping-head strong {
	color: var(--pi-gold-deep);
	font-weight: 600;
}

.pi-mini-cart__shipping-track {
	height: 3px;
	background: var(--pi-line);
	border-radius: 999px;
	overflow: hidden;
}

.pi-mini-cart__shipping-fill {
	display: block;
	height: 100%;
	background: var(--pi-gold);
	border-radius: 999px;
}

.pi-mini-cart__list {
	list-style: none;
	margin: 0;
	padding: 14px 18px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	max-height: 280px;
	overflow-y: auto;
}

.pi-mini-cart__item {
	display: flex;
	gap: 12px;
	align-items: flex-start;
}

.pi-mini-cart__item-media a,
.pi-mini-cart__item-media img {
	display: block;
	width: 64px;
	height: 64px;
	object-fit: cover;
	background: var(--pi-bg-warm);
}

.pi-mini-cart__item-body {
	flex: 1;
	min-width: 0;
}

.pi-mini-cart__item-name {
	margin: 0;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.35;
}

.pi-mini-cart__item-name a {
	color: inherit;
	text-decoration: none;
}

.pi-mini-cart__item-name a:hover {
	color: var(--pi-gold-deep);
}

.pi-mini-cart__item-extra {
	margin: 2px 0 0;
	font-size: 11px;
}

.pi-mini-cart__item-meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	margin-top: 8px;
	font-size: 13px;
}

.pi-mini-cart__item-price .amount {
	font-weight: 600;
	color: var(--pi-ink);
}

.pi-mini-cart__more {
	margin: 0;
	padding: 0 18px 8px;
	text-align: center;
}

.pi-mini-cart__empty {
	padding: 24px 18px 18px;
	text-align: center;
}

.pi-mini-cart__empty p {
	margin: 0 0 16px;
	color: var(--pi-muted);
	font-size: 14px;
	line-height: 1.6;
}

.pi-mini-cart__foot {
	padding: 14px 18px 18px;
	border-top: 1px solid var(--pi-line);
}

.pi-mini-cart__total {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	margin-bottom: 14px;
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.pi-mini-cart__total strong {
	font-size: 1.5rem;
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0;
}

.pi-mini-cart__total .amount {
	font: inherit;
	color: inherit;
}

.pi-mini-cart__foot .pi-btn {
	margin-top: 8px;
}

.pi-mini-cart__foot .pi-btn:first-of-type {
	margin-top: 0;
}

@media (max-width: 900px) {
	.pi-mini-cart {
		display: none !important;
	}
}

@media (min-width: 901px) {
	.pi-header-cart .pi-site-header__action--cart {
		position: relative;
		z-index: 1;
	}
}
/* Reset theme/WC link & button styles inside header */
.pi-site-header a { text-decoration: none; }
.pi-site-header a:link,
.pi-site-header a:visited,
.pi-site-header a:hover,
.pi-site-header a:active { color: inherit; }
.pi-site-header button.pi-site-header__action,
.pi-site-header button.pi-site-header__action:hover,
.pi-site-header button.pi-site-header__action:focus,
.pi-site-header button.pi-site-header__action:active {
	background: transparent;
	box-shadow: none;
	border: 0;
}

/* Mini-koszyk — przyciski poza kolorem linków headera (hero = jasny inherit) */
.pi-site-header .pi-mini-cart a.pi-btn,
.pi-site-header .pi-mini-cart a.pi-btn:link,
.pi-site-header .pi-mini-cart a.pi-btn:visited {
	text-decoration: none;
}

.pi-site-header .pi-mini-cart a.pi-btn-primary,
.pi-site-header .pi-mini-cart a.pi-btn-primary:link,
.pi-site-header .pi-mini-cart a.pi-btn-primary:visited {
	background: var(--pi-ink);
	border: 1px solid var(--pi-ink);
	color: var(--pi-bg);
}

.pi-site-header .pi-mini-cart a.pi-btn-primary:hover,
.pi-site-header .pi-mini-cart a.pi-btn-primary:focus {
	background: var(--pi-gold-deep);
	border-color: var(--pi-gold-deep);
	color: var(--pi-bg);
}

.pi-site-header .pi-mini-cart a.pi-btn-line,
.pi-site-header .pi-mini-cart a.pi-btn-line:link,
.pi-site-header .pi-mini-cart a.pi-btn-line:visited {
	background: transparent;
	border: 1px solid var(--pi-line);
	color: var(--pi-ink);
}

.pi-site-header .pi-mini-cart a.pi-btn-line:hover,
.pi-site-header .pi-mini-cart a.pi-btn-line:focus {
	background: transparent;
	border-color: var(--pi-gold);
	color: var(--pi-gold-deep);
}

.pi-site-header .pi-mini-cart .pi-icon {
	color: currentColor;
}

/* === Footer === */
.pi-site-footer {
	width: 100%;
	padding: 56px 0 32px;
	background: var(--pi-bg-warm);
	border-top: 1px solid var(--pi-line);
	color: var(--pi-ink-soft);
	box-sizing: border-box;
}
.pi-site-footer__inner {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 40px;
}
.pi-site-footer__categories {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 16px 24px;
	width: 100%;
	margin-bottom: 48px;
	padding-bottom: 40px;
	border-bottom: 1px solid var(--pi-line);
}
.pi-footer-cat {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 12px;
	text-decoration: none;
	color: var(--pi-ink);
	font-size: 10px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	text-align: center;
	line-height: 1.35;
	transition: color 0.2s var(--pi-ease);
	padding: 4px 8px;
}
.pi-footer-cat:hover { color: var(--pi-gold-deep); }
.pi-footer-cat__icon {
	position: relative;
	display: block;
	width: 52px;
	height: 52px;
	color: var(--pi-gold-deep);
	flex-shrink: 0;
	border: 1px solid var(--pi-line);
	border-radius: 50%;
	background: var(--pi-paper);
	transition: border-color 0.2s var(--pi-ease), background 0.2s var(--pi-ease);
	overflow: hidden;
}
.pi-footer-cat:hover .pi-footer-cat__icon {
	border-color: var(--pi-gold);
	background: var(--pi-bg);
}
.pi-footer-cat__icon .pi-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
}
.pi-footer-cat__icon svg.pi-cat-icon-svg,
.pi-footer-cat__icon > svg {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 24px;
	height: 24px;
	margin: 0;
	padding: 0;
	transform: translate(-50%, -50%);
	display: block;
	flex: none;
}
.pi-footer-cat__icon svg * {
	vector-effect: non-scaling-stroke;
}
.pi-footer-cat__icon svg [fill="currentColor"] {
	fill: currentColor;
	stroke: none;
}
.pi-footer-cat__icon svg [stroke]:not([stroke="none"]) {
	fill: none;
	stroke: currentColor;
}
.pi-footer-cat__label {
	max-width: 140px;
}
.pi-site-footer__grid {
	display: grid;
	grid-template-columns: minmax(260px, 1.4fr) repeat(3, minmax(0, 1fr));
	gap: 40px 56px;
	align-items: start;
}
.pi-site-footer__col--brand { max-width: 320px; }
.pi-site-footer__logo {
	display: inline-block;
	margin-bottom: 12px;
	text-decoration: none;
}
.pi-site-footer .pi-logo-img,
.pi-site-footer .pi-logo-svg {
	height: 44px;
	width: auto;
	max-width: 240px;
	max-height: 44px;
	object-fit: contain;
}
.pi-site-footer__tagline {
	margin: 0 0 16px;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--pi-muted);
}
.pi-footer-company {
	font-style: normal;
	font-size: 13px;
	line-height: 1.65;
	margin: 0 0 20px;
}
.pi-footer-company__name {
	display: block;
	font-family: var(--pi-serif);
	font-size: 15px;
	font-weight: 500;
	color: var(--pi-ink);
	margin-bottom: 8px;
}
.pi-footer-company__line {
	display: block;
	color: var(--pi-ink-soft);
	text-decoration: none;
	margin-bottom: 4px;
}
a.pi-footer-company__line:hover { color: var(--pi-gold-deep); }
.pi-footer-company__line--muted { color: var(--pi-muted); font-size: 12px; }
.pi-footer-social {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.pi-footer-social__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid var(--pi-line);
	border-radius: 2px;
	color: var(--pi-gold-deep);
	text-decoration: none;
	transition: border-color 0.2s var(--pi-ease), color 0.2s var(--pi-ease), background 0.2s var(--pi-ease);
}
.pi-footer-social__link:hover {
	border-color: var(--pi-gold);
	color: var(--pi-ink);
	background: var(--pi-paper);
}
.pi-site-footer__heading {
	font-family: var(--pi-sans);
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--pi-gold-deep);
	margin: 0 0 18px;
}
.pi-footer-links,
.pi-footer-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: 13px;
}
.pi-footer-links a,
.pi-footer-menu a {
	color: var(--pi-ink-soft);
	text-decoration: none;
	transition: color 0.2s var(--pi-ease);
}
.pi-footer-links a:hover,
.pi-footer-menu a:hover { color: var(--pi-gold-deep); }
.pi-footer-links__muted,
.pi-footer-links--contact .pi-footer-links__muted {
	color: var(--pi-muted);
	font-size: 12px;
	line-height: 1.5;
}
.pi-footer-hint {
	font-size: 11px;
	color: var(--pi-muted);
	line-height: 1.5;
	margin: 0;
	max-width: 220px;
}
.pi-site-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	margin-top: 48px;
	padding-top: 24px;
	border-top: 1px solid var(--pi-line);
}
.pi-site-footer__copy {
	margin: 0;
	font-size: 11px;
	letter-spacing: 0.06em;
	color: var(--pi-muted);
}
.pi-site-footer__bottom-social .pi-footer-social { margin: 0; }
@media (max-width: 1000px) {
	.pi-site-footer__categories {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.pi-site-footer__grid { grid-template-columns: 1fr 1fr; }
	.pi-site-footer__col--brand { grid-column: 1 / -1; max-width: none; }
}
@media (max-width: 600px) {
	.pi-site-footer__categories {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px 16px;
	}
	.pi-site-footer__inner { padding: 0 20px; }
	.pi-site-footer__grid { grid-template-columns: 1fr; gap: 28px; }
	.pi-site-footer__bottom { flex-direction: column; align-items: flex-start; }
}
/* —— Mobile drawer (menu) —— */
.pi-header-menu-toggle {
	display: none;
	align-items: center;
	gap: 8px;
	padding: 8px 10px;
	margin: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	cursor: pointer;
	border-radius: 2px;
}
.pi-header-menu-toggle__label { line-height: 1; }
.pi-header-menu-toggle:focus-visible {
	outline: 2px solid var(--pi-gold-deep);
	outline-offset: 2px;
}
.pi-mobile-drawer {
	position: fixed;
	inset: 0;
	z-index: 1200;
	pointer-events: none;
	visibility: hidden;
}
.pi-mobile-drawer.is-open {
	pointer-events: auto;
	visibility: visible;
}
.pi-mobile-drawer__overlay {
	position: absolute;
	inset: 0;
	border: 0;
	padding: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.45);
	opacity: 0;
	transition: opacity 0.3s var(--pi-ease);
	cursor: pointer;
}
.pi-mobile-drawer.is-open .pi-mobile-drawer__overlay {
	opacity: 1;
}
.pi-mobile-drawer__panel {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: min(100%, 360px);
	max-width: 100%;
	background: var(--pi-paper);
	border-right: 1px solid var(--pi-line);
	box-shadow: 8px 0 32px rgba(0, 0, 0, 0.12);
	display: flex;
	flex-direction: column;
	transform: translateX(-100%);
	transition: transform 0.35s var(--pi-ease);
	padding-top: var(--pi-admin-offset, 0);
}
.pi-mobile-drawer.is-open .pi-mobile-drawer__panel {
	transform: translateX(0);
}
.pi-mobile-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 20px;
	border-bottom: 1px solid var(--pi-line);
	flex-shrink: 0;
}
.pi-mobile-drawer__title {
	margin: 0;
	font-family: var(--pi-font-display);
	font-size: 1.5rem;
	font-weight: 500;
	color: var(--pi-ink);
}
.pi-mobile-drawer__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--pi-ink);
	cursor: pointer;
	border-radius: 2px;
}
.pi-mobile-drawer__close:focus-visible {
	outline: 2px solid var(--pi-gold-deep);
	outline-offset: 2px;
}
.pi-mobile-drawer__nav {
	flex: 1;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	padding: 8px 0 24px;
}
.pi-mobile-drawer__list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.pi-mobile-drawer__link,
.pi-mobile-drawer__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 20px;
	font-size: 15px;
	font-weight: 500;
	color: var(--pi-ink);
	text-decoration: none;
	border-bottom: 1px solid var(--pi-line-soft);
	cursor: pointer;
	list-style: none;
}
.pi-mobile-drawer__link:hover,
.pi-mobile-drawer__summary:hover {
	color: var(--pi-gold-deep);
}
.pi-mobile-drawer__details > summary::-webkit-details-marker { display: none; }
.pi-mobile-drawer__details > summary::marker { content: ''; }
.pi-mobile-drawer__chev {
	display: inline-flex;
	transition: transform 0.25s var(--pi-ease);
}
.pi-mobile-drawer__details[open] .pi-mobile-drawer__chev {
	transform: rotate(180deg);
}
.pi-mobile-drawer__sub {
	padding: 0 20px 16px;
	background: var(--pi-bg-warm);
	border-bottom: 1px solid var(--pi-line-soft);
}
.pi-mobile-drawer__sublist {
	list-style: none;
	margin: 0;
	padding: 12px 0 0;
	display: grid;
	gap: 2px;
}
.pi-mobile-drawer__sublink {
	display: block;
	padding: 10px 0;
	font-size: 14px;
	font-weight: 500;
	color: var(--pi-ink);
	text-decoration: none;
	border-bottom: 1px solid var(--pi-line-soft);
}
.pi-mobile-drawer__sublink:last-child { border-bottom: 0; }
.pi-mobile-drawer__sublink:hover { color: var(--pi-gold-deep); }
.pi-mobile-drawer__cta {
	display: inline-flex;
	margin-top: 14px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--pi-gold-deep);
	text-decoration: none;
	border-bottom: 1px solid currentColor;
	padding-bottom: 2px;
}
.pi-mobile-drawer__footer {
	flex-shrink: 0;
	padding: 20px;
	border-top: 1px solid var(--pi-line);
	display: grid;
	gap: 12px;
	background: var(--pi-bg);
}
.pi-mobile-drawer__footer-link {
	font-size: 13px;
	font-weight: 500;
	color: var(--pi-ink);
	text-decoration: none;
}
.pi-mobile-drawer__footer-link:hover { color: var(--pi-gold-deep); }
.pi-mobile-drawer__locale {
	margin: 4px 0 0;
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--pi-muted);
}
body.pi-mobile-menu-open {
	overflow: hidden;
}

/* —— Search panel (header) —— */
.pi-search-panel {
	position: fixed;
	inset: 0;
	z-index: 1300;
	pointer-events: none;
	visibility: hidden;
}
.pi-search-panel.is-open {
	pointer-events: auto;
	visibility: visible;
}
.pi-search-panel__overlay {
	position: absolute;
	inset: 0;
	border: 0;
	padding: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: rgba(26, 24, 20, 0.55);
	opacity: 0;
	transition: opacity 0.3s var(--pi-ease);
	cursor: pointer;
}
.pi-search-panel.is-open .pi-search-panel__overlay {
	opacity: 1;
}
.pi-search-panel__dialog {
	position: relative;
	z-index: 1;
	width: min(720px, calc(100% - 32px));
	max-height: calc(100vh - var(--pi-header-height, 72px) - var(--pi-admin-offset, 0px) - 48px);
	overflow-y: auto;
	margin: calc(var(--pi-header-height, 72px) + var(--pi-admin-offset, 0px) + 24px) auto 0;
	background: var(--pi-paper);
	border: 1px solid var(--pi-line);
	box-shadow: var(--pi-shadow-2);
	padding: 24px 28px 28px;
	color: var(--pi-ink);
	transform: translateY(-12px);
	opacity: 0;
	transition: transform 0.35s var(--pi-ease), opacity 0.35s var(--pi-ease);
}
.pi-search-panel.is-open .pi-search-panel__dialog {
	transform: translateY(0);
	opacity: 1;
}
.pi-search-panel__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 20px;
}
.pi-search-panel__title {
	margin: 0;
	font-family: var(--pi-serif);
	font-size: 1.5rem;
	font-weight: 500;
	color: var(--pi-ink);
}
.pi-search-panel__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--pi-ink);
	cursor: pointer;
	border-radius: 2px;
}
.pi-search-panel__close:focus-visible {
	outline: 2px solid var(--pi-gold-deep);
	outline-offset: 2px;
}
.pi-search-panel__form {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 12px;
	align-items: stretch;
}
.pi-search-panel__input {
	width: 100%;
	min-height: 52px;
	font-size: 16px;
	padding: 14px 18px;
}
.pi-search-panel__submit {
	white-space: nowrap;
	min-height: 52px;
}
.pi-search-panel__hint {
	margin: 14px 0 0;
	font-size: 12px;
	color: var(--pi-muted);
}
body.pi-search-open {
	overflow: hidden;
}

/* —— Search results page —— */
.pi-main--search .pi-search-page__head {
	padding: 32px 56px 24px;
	border-bottom: 1px solid var(--pi-line);
}
.pi-search-page__title {
	margin: 8px 0 0;
	font-size: clamp(1.75rem, 3vw, 2.5rem);
}
.pi-search-page__count {
	margin: 8px 0 0;
}
.pi-search-page__form {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 12px;
	max-width: 560px;
	margin-top: 24px;
	align-items: stretch;
}
.pi-search-page__input {
	min-height: 48px;
}
.pi-archive-layout--search .pi-archive-content--full {
	padding: 40px 56px 80px;
}
.pi-search-page__empty {
	padding: 48px 0;
	text-align: center;
	max-width: 480px;
	margin: 0 auto;
}
.pi-search-page__empty-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin-top: 24px;
}
@media (max-width: 900px) {
	.pi-main--search .pi-search-page__head {
		padding: 24px 24px 20px;
	}
	.pi-archive-layout--search .pi-archive-content--full {
		padding: 24px 20px 56px;
	}
}
@media (max-width: 600px) {
	.pi-search-panel__dialog {
		width: calc(100% - 24px);
		margin-top: calc(var(--pi-header-height, 64px) + var(--pi-admin-offset, 0px) + 12px);
		padding: 20px 18px 22px;
	}
	.pi-search-panel__form {
		grid-template-columns: 1fr;
	}
}

/* —— Mobile bottom bar —— */
.pi-mobile-bar {
	display: none;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1100;
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-top: 1px solid var(--pi-line);
	padding-bottom: env(safe-area-inset-bottom, 0px);
}
.pi-mobile-bar__inner {
	max-width: 560px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 4px;
	padding: 8px 10px;
}
.pi-mobile-bar__item {
	display: grid;
	place-items: center;
	gap: 4px;
	padding: 8px 6px;
	border-radius: 10px;
	text-decoration: none;
	color: var(--pi-ink);
	border: 0;
	background: transparent;
	font: inherit;
	cursor: pointer;
}
.pi-mobile-bar__item:hover { color: var(--pi-gold-deep); }
.pi-mobile-bar__label {
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	line-height: 1;
	color: var(--pi-muted);
}
.pi-mobile-bar__item:hover .pi-mobile-bar__label { color: var(--pi-gold-deep); }
.pi-mobile-bar__item:focus-visible {
	outline: 2px solid var(--pi-gold-deep);
	outline-offset: 2px;
}
/* Hero — mockup główna wizualizacja: lewy copy, tło lifestyle, CTA złoty */
.pi-hero {
	position: relative;
	min-height: min(780px, 92vh);
	background: var(--pi-bg-deep);
	color: var(--pi-bg);
	overflow: hidden;
}
.pi-hero__bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 72% center;
}
.pi-hero__overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(0, 0, 0, 0.72) 0%, rgba(0, 0, 0, 0.35) 48%, rgba(0, 0, 0, 0.15) 100%),
		linear-gradient(180deg, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0.2) 45%, rgba(0, 0, 0, 0.5) 100%);
}
.pi-hero__inner {
	position: relative;
	z-index: 1;
	max-width: 1440px;
	margin: 0 auto;
	padding: 100px 56px 80px;
	min-height: min(780px, 92vh);
	display: flex;
	align-items: center;
}
.pi-hero__content {
	max-width: 620px;
	text-align: left;
}
.pi-hero__eyebrow {
	color: var(--pi-gold);
	letter-spacing: 0.32em;
	font-size: 10px;
	margin: 0;
}
.pi-hero__title {
	font-size: clamp(2.75rem, 5.5vw, 5.5rem);
	font-weight: 400;
	line-height: 0.96;
	color: var(--pi-bg);
	margin: 20px 0 0;
}
.pi-hero__line {
	display: block;
}
.pi-hero__line--script {
	color: var(--pi-gold);
	font-size: clamp(3.25rem, 7vw, 6.875rem);
	margin: 4px 0;
	line-height: 1;
}
.pi-hero__heart {
	display: inline-flex;
	margin-top: 12px;
	color: var(--pi-gold);
}
.pi-hero__heart .pi-icon svg {
	fill: var(--pi-gold);
	stroke: var(--pi-gold);
}
.pi-hero__subtitle {
	font-size: 17px;
	line-height: 1.6;
	color: rgba(250, 246, 238, 0.78);
	max-width: 480px;
	margin: 20px 0 0;
}
.pi-hero__features {
	list-style: none;
	margin: 28px 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 28px;
	max-width: 520px;
}
.pi-hero__feature {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 12px;
	letter-spacing: 0.04em;
	color: rgba(250, 246, 238, 0.88);
}
.pi-hero__feature .pi-icon {
	color: var(--pi-gold);
	flex-shrink: 0;
}
.pi-hero__cta {
	margin-top: 32px;
	padding: 18px 32px;
	font-size: 12px;
	letter-spacing: 0.2em;
}
.pi-hero__cta .pi-icon {
	margin-left: 4px;
}
.pi-usp-bar {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px;
	padding: 22px 56px;
	border-bottom: 1px solid var(--pi-line);
	font-size: 12.5px;
	background: var(--pi-bg);
}
.pi-usp-bar__item {
	display: flex;
	align-items: center;
	gap: 12px;
	color: var(--pi-ink-soft);
}
.pi-usp-bar__item .pi-icon {
	color: var(--pi-gold-deep);
	flex-shrink: 0;
}
/* Homepage layout moved to assets/css/home.css */
.pi-main--archive,
.pi-main--product,
.pi-main--collection,
.pi-main--search {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

.pi-archive-layout { display: grid; grid-template-columns: 260px 1fr; }
.pi-archive-sidebar { border-right: 1px solid var(--pi-line); padding: 40px 30px; position: sticky; top: 0; align-self: start; }
.pi-archive-content { padding: 40px 56px 80px; }
.pi-cat-hero { padding: 70px 56px 90px; border-bottom: 1px solid var(--pi-line); }
.pi-cat-hero__grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 60px; margin-top: 24px; }
.pi-cat-chips { padding: 20px 56px; display: flex; flex-wrap: wrap; gap: 14px; align-items: center; border-bottom: 1px solid var(--pi-line); }
.pi-chip { padding: 8px 16px; border: 1px solid var(--pi-line); border-radius: 999px; font-size: 12px; text-decoration: none; color: var(--pi-ink); }
.pi-chip:hover, .pi-chip.is-active { background: var(--pi-ink); color: var(--pi-bg); border-color: var(--pi-ink); }
.pi-cat-faq { padding: 80px 56px; background: var(--pi-bg-warm); }
.pi-cat-faq__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; margin-top: 50px; }
.pi-sticky-cta { display: none; position: fixed; bottom: 0; left: 0; right: 0; padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)); background: var(--pi-paper); border-top: 1px solid var(--pi-line); z-index: 90; justify-content: space-between; align-items: center; }
.pi-breadcrumb__list { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 0 0 16px; font-size: 12px; color: var(--pi-muted); }
.pi-breadcrumb__list a { color: inherit; }
@media (max-width: 1100px) {
  .pi-site-header__locale { display: none; }
  .pi-archive-layout { grid-template-columns: 1fr; }
  .pi-archive-sidebar {
    position: static;
    max-height: none;
    overflow: visible;
    border-right: 0;
    border-bottom: 1px solid var(--pi-line);
  }
}
@media (max-width: 900px) {
  .pi-site-header__inner--mockup {
    padding: 10px 16px;
    grid-template-columns: auto 1fr auto;
    grid-template-areas: "menu logo actions";
    gap: 12px;
  }
  .pi-site-header__menu-col {
    grid-area: menu;
    display: flex;
    align-items: center;
    justify-self: start;
  }
  .pi-header-menu-toggle { display: none; }
  .pi-site-header .pi-logo-img { height: 40px; max-width: min(220px, 52vw); }
  .pi-site-header__logo { min-width: 0; }
  .pi-site-header__logo-col { grid-area: logo; justify-self: center; }
  .pi-site-header__actions-col {
    grid-area: actions;
    gap: 14px;
  }
  .pi-site-header__nav-col { display: none; }
  .pi-nav { display: none; }
  .pi-site-header__action--wishlist { display: none; }
  .pi-hero__inner { padding: 110px 24px 60px; min-height: min(640px, 88vh); }
  .pi-hero__features { grid-template-columns: 1fr; gap: 10px; }
  .pi-hero__title { font-size: clamp(2.25rem, 9vw, 3.25rem); }
  .pi-hero__line--script { font-size: clamp(2.75rem, 11vw, 4rem); }
  .pi-archive-layout { grid-template-columns: 1fr; }
  .pi-usp-bar { grid-template-columns: 1fr 1fr; }
  .pi-checkout__grid { grid-template-columns: 1fr; }
  .pi-sticky-cta { display: flex; bottom: calc(74px + env(safe-area-inset-bottom, 0px)); }
  .pi-mobile-bar { display: block; }
  body { padding-bottom: 74px; }
}
@media (min-width: 901px) {
  .pi-site-header__menu-col { display: none; }
  .pi-mobile-drawer { display: none !important; }
}

/* Strony: Kolekcje, Konfigurator, Inspiracje (blog) */
.pi-page-hero {
  padding: 56px 56px 40px;
  border-bottom: 1px solid var(--pi-line);
}
.pi-page-hero__title {
  font-size: clamp(2.5rem, 5vw, 3.75rem);
  font-weight: 400;
  margin: 16px 0 12px;
}
.pi-page-hero__intro {
  max-width: 640px;
  color: var(--pi-muted);
  font-size: 16px;
  line-height: 1.7;
  margin: 0;
}
.pi-section-label { margin: 0 0 28px; display: block; }
.pi-collections-section {
  padding: 56px;
}
.pi-collections-section--categories {
  background: var(--pi-bg-warm);
  border-top: 1px solid var(--pi-line);
}
.pi-collections-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
.pi-collection-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  background: var(--pi-paper);
  border: 1px solid var(--pi-line);
  transition: box-shadow 0.25s var(--pi-ease), transform 0.25s var(--pi-ease);
}
.pi-collection-card:hover {
  box-shadow: var(--pi-shadow-2);
  transform: translateY(-2px);
}
.pi-collection-card__media {
  display: block;
  aspect-ratio: 4/3;
  overflow: hidden;
  background: var(--pi-bg-warm);
}
.pi-collection-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pi-collection-card__placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: var(--pi-gold);
}
.pi-collection-card__body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 22px 24px 26px;
}
.pi-collection-card__title {
  font-size: 1.65rem;
  line-height: 1.15;
}
.pi-collection-card__desc {
  font-size: 14px;
  color: var(--pi-muted);
  line-height: 1.55;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.pi-collection-card__meta {
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--pi-gold-deep);
  margin-top: 4px;
}
.pi-collections-cats {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 32px 48px;
}
.pi-footer-cat--page { min-width: 100px; }
.pi-collections-empty,
.pi-blog-empty,
.pi-archive-empty {
  padding: 80px 56px;
  text-align: center;
  color: var(--pi-muted);
}
.pi-main--konfigurator {
  width: 100%;
}
.pi-konfigurator-wrap {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 48px 56px 80px;
  box-sizing: border-box;
}
.pi-konfigurator-wrap .pi-gift-finder {
  width: 100%;
}
.pi-konfigurator-fallback {
  color: var(--pi-muted);
}
.pi-blog-hero {
  padding: 56px 56px 40px;
  text-align: center;
  border-bottom: 1px solid var(--pi-line);
}
.pi-blog-hero__title {
  font-size: clamp(2.25rem, 5vw, 4rem);
  font-weight: 400;
  margin: 16px 0 0;
  line-height: 1.05;
}
.pi-blog-hero__script {
  display: block;
  font-size: clamp(2.75rem, 7vw, 5rem);
  margin-top: 4px;
}
.pi-blog-hero__intro {
  max-width: 560px;
  margin: 20px auto 0;
  color: var(--pi-muted);
  font-size: 16px;
  line-height: 1.7;
}
.pi-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  padding: 56px;
}
.pi-blog-card__link {
  display: block;
  text-decoration: none;
  color: inherit;
}
.pi-blog-card__media {
  display: block;
  overflow: hidden;
  aspect-ratio: 3/2;
  background: var(--pi-bg-warm);
}
.pi-blog-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s var(--pi-ease);
}
.pi-blog-card:hover .pi-blog-card__img { transform: scale(1.04); }
.pi-blog-card__placeholder {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, var(--pi-gold-glaze), var(--pi-bg-warm));
}
.pi-blog-card__body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 20px;
}
.pi-blog-card__title {
  font-size: 1.45rem;
  line-height: 1.2;
}
.pi-blog-pagination {
  padding: 0 56px 64px;
  text-align: center;
}
.pi-archive-layout--no-sidebar { grid-template-columns: 1fr; }
.pi-archive-content--full { padding: 40px 56px 80px; }
@media (max-width: 900px) {
  .pi-page-hero,
  .pi-collections-section,
  .pi-konfigurator-wrap,
  .pi-blog-hero,
  .pi-blog-grid,
  .pi-blog-pagination { padding-left: 24px; padding-right: 24px; }
  .pi-collections-grid,
  .pi-blog-grid { grid-template-columns: 1fr; }
  .pi-collections-cats { gap: 24px; }
}
