:root {
	--ps-bg: #0b0a09;
	--ps-bg-2: #141210;
	--ps-panel: #171512;
	--ps-ink: #f3ead8;
	--ps-muted: #c4b7a3;
	--ps-gold: #d4b06a;
	--ps-gold-2: #efcf88;
	--ps-line: rgba(212, 176, 106, 0.55);
	--ps-danger: #d9786a;
	--ps-ok: #8fbf8a;
	--header-h: 64px;
	--font: "Outfit", system-ui, sans-serif;
	--serif: "Cinzel", "Times New Roman", serif;
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
html { scroll-behavior: smooth; }
body {
	font-family: var(--font);
	background: var(--ps-bg);
	color: var(--ps-ink);
	letter-spacing: 0.01em;
	line-height: 1.55;
}

.ps-atmosphere {
	position: fixed;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background:
		radial-gradient(1200px 600px at 12% -10%, rgba(180, 130, 55, 0.22), transparent 55%),
		radial-gradient(900px 700px at 100% 110%, rgba(70, 90, 55, 0.2), transparent 50%),
		radial-gradient(600px 400px at 70% 20%, rgba(212, 176, 106, 0.08), transparent 60%),
		linear-gradient(180deg, #100e0c 0%, #090807 100%);
}
.ps-atmosphere__rock {
	position: absolute;
	inset: 0;
	background: url("../img/bg-rock.jpg") center / cover no-repeat;
	opacity: 0.38;
	mix-blend-mode: overlay;
	filter: saturate(0.85) contrast(1.05);
}
.ps-atmosphere__dust {
	position: absolute;
	inset: 0;
	opacity: 0.45;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
	mix-blend-mode: overlay;
}
.ps-atmosphere__vein {
	position: absolute;
	inset: 0;
	background:
		repeating-linear-gradient(118deg, transparent 0 46px, rgba(196,163,90,0.025) 47px, transparent 52px),
		repeating-linear-gradient(28deg, transparent 0 70px, rgba(255,255,255,0.015) 71px, transparent 80px);
}
.ps-atmosphere__ammonite {
	position: absolute;
	right: -8vw;
	bottom: -12vh;
	width: min(62vw, 720px);
	aspect-ratio: 1;
	opacity: 0.07;
	background: url("../img/logo-ammonite.png") center/contain no-repeat;
	filter: blur(0.2px);
}

a { color: var(--ps-gold-2); text-decoration: none; }
a:hover { color: #fff4d6; }
img { max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; color: inherit; }

.ps-skip {
	position: absolute;
	left: -999px;
	top: 0;
	background: var(--ps-gold);
	color: #111;
	padding: 8px 12px;
	z-index: 100;
}
.ps-skip:focus { left: 8px; }

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
}

.ps-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: #0a0a0c;
	border-bottom: 1px solid var(--ps-line);
	overflow: visible;
}
.ps-header__bar {
	max-width: 1280px;
	margin: 0 auto;
	min-height: var(--header-h);
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 22px;
	gap: 24px;
}
.ps-logo {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #efe6d6 !important;
	flex-shrink: 0;
}
.ps-logo__mark {
	display: block;
	width: 36px;
	height: 36px;
	object-fit: contain;
}
.ps-logo__word {
	display: block;
	height: 20px;
	width: auto;
	max-width: min(42vw, 190px);
	object-fit: contain;
	object-position: left center;
}
.ps-header__tools { display: flex; align-items: center; gap: 2px; margin-left: 8px; }
.ps-nav { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.ps-nav__list {
	display: flex;
	align-items: center;
	gap: 22px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.ps-nav__list > li > a {
	color: #d7d0c4;
	font-size: 13.5px;
	font-weight: 400;
}
.ps-nav__list > li > a:hover { color: #fff; }
.ps-nav__shop { position: relative; }
.ps-nav__shop::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	height: 18px;
	z-index: 61;
}
.ps-nav__shop > a::after { content: " ▾"; font-size: 10px; opacity: 0.7; }
.ps-dropdown {
	position: absolute;
	right: 0;
	top: 100%;
	min-width: 280px;
	background: #111113;
	border: 1px solid #c4a35a;
	box-shadow: 0 18px 40px #000;
	padding: 10px 0;
	list-style: none;
	margin: 0;
	display: none;
	z-index: 60;
}
.ps-nav__shop:hover .ps-dropdown,
.ps-nav__shop:focus-within .ps-dropdown,
.ps-nav__shop.is-open .ps-dropdown {
	display: block;
}
.ps-dropdown a {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	padding: 8px 18px;
	color: #ddd6ca;
	font-size: 14px;
}
.ps-dropdown a:hover { background: #1c1c20; color: #fff; }
.ps-dropdown__name { display: block; }
.ps-dropdown__age {
	display: block;
	font-size: 11px;
	line-height: 1.3;
	color: #a89880;
	letter-spacing: 0.01em;
}
.ps-dropdown a:hover .ps-dropdown__age { color: var(--ps-gold); }
.ps-icon-btn {
	position: relative;
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border: 0;
	background: transparent;
	color: #ddd6ca;
	cursor: pointer;
	border-radius: 50%;
}
.ps-icon-btn:hover { color: #fff; background: rgba(255,255,255,0.04); }
.ps-cart-count {
	position: absolute;
	top: 2px;
	right: 2px;
	min-width: 16px;
	height: 16px;
	border-radius: 99px;
	background: var(--ps-gold);
	color: #1a1408;
	font-size: 10px;
	font-weight: 600;
	display: grid;
	place-items: center;
	padding: 0 4px;
}
.ps-burger {
	display: none;
	flex-direction: column;
	gap: 5px;
	background: none;
	border: 0;
	padding: 8px;
	cursor: pointer;
}
.ps-burger span {
	display: block;
	width: 20px;
	height: 1.5px;
	background: #e8e0d4;
}

.ps-search {
	border-bottom: 1px solid var(--ps-line);
	background: #0f0f12;
	padding: 14px 22px;
}
.ps-search form {
	max-width: 1280px;
	margin: 0 auto;
	display: flex;
	gap: 10px;
}
.ps-search input {
	flex: 1;
	background: #1a1a1f;
	border: 1px solid var(--ps-gold);
	padding: 10px 12px;
	outline: none;
}
.ps-search button, .ps-btn, button[type="submit"], .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
	background: #efe8dc;
	color: #161616 !important;
	border: 1px solid #efe8dc;
	padding: 10px 18px;
	cursor: pointer;
	font-weight: 500;
	letter-spacing: 0.02em;
}
.ps-btn:hover, .ps-search button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover {
	background: #fff;
}

.ps-main { min-height: calc(100vh - 220px); }
.ps-wrap { max-width: 1120px; margin: 0 auto; padding: 28px 22px 64px; }
.ps-page-title {
	margin: 0 0 28px;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.04em;
}

.ps-hero {
	padding: 72px 22px 48px;
	text-align: center;
}
.ps-hero__logo {
	margin: 0 0 16px;
}
.ps-hero__logo img {
	display: block;
	margin: 0 auto;
	height: clamp(32px, 6.5vw, 56px);
	width: auto;
	max-width: min(92vw, 560px);
	filter: drop-shadow(0 4px 18px rgba(0,0,0,0.65));
}
.ps-hero p {
	color: var(--ps-muted);
	max-width: 560px;
	margin: 0 auto 28px;
	font-weight: 300;
}
.ps-eras {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 14px;
	max-width: 1120px;
	margin: 0 auto;
	padding: 0 22px 72px;
}
.ps-era {
	position: relative;
	display: block;
	overflow: hidden;
	min-height: 168px;
	border: 1px solid rgba(212, 176, 106, 0.32);
	color: var(--ps-ink) !important;
	text-align: left;
	background: #12100c;
}
.ps-era::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--ps-era-photo) center / cover no-repeat;
	transform: scale(1.01);
	transition: transform 0.4s ease;
}
.ps-era::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(10, 8, 6, 0.12) 0%, rgba(10, 8, 6, 0.42) 42%, rgba(6, 5, 4, 0.9) 100%);
}
.ps-era:hover { border-color: var(--ps-gold); color: #fff !important; }
.ps-era:hover::before { transform: scale(1.07); }
.ps-era__copy {
	position: relative;
	z-index: 1;
	display: block;
	padding: 84px 16px 14px;
}
.ps-era strong {
	display: block;
	font-family: var(--serif);
	font-weight: 400;
	letter-spacing: 0.1em;
	text-shadow: 0 2px 16px #000;
}
.ps-era__age {
	display: block;
	margin-top: 5px;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.35;
	color: var(--ps-gold-2);
	text-shadow: 0 2px 12px #000;
}
.ps-era--inkluzje-w-bursztynie::after {
	background: linear-gradient(180deg, rgba(90, 55, 12, 0.18) 0%, rgba(28, 16, 6, 0.45) 40%, rgba(10, 7, 4, 0.9) 100%);
}

.ps-era-banner {
	position: relative;
	min-height: 220px;
	display: flex;
	align-items: flex-end;
	margin: 0 0 8px;
	overflow: hidden;
	border-bottom: 1px solid rgba(212, 176, 106, 0.35);
	background: #12100c;
}
.ps-era-banner::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--ps-era-photo) center / cover no-repeat;
}
.ps-era-banner::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(8, 7, 6, 0.2) 0%, rgba(8, 7, 6, 0.82) 100%);
}
.ps-era-banner__copy {
	position: relative;
	z-index: 1;
	padding: 48px 22px 28px;
	max-width: 1120px;
	width: 100%;
	margin-inline: auto;
}
.ps-era-banner h1 {
	margin: 0;
	font-family: var(--serif);
	font-weight: 400;
	letter-spacing: 0.16em;
	font-size: clamp(26px, 4vw, 40px);
	text-shadow: 0 2px 18px #000;
}
.ps-era-banner__age {
	margin: 8px 0 0;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.04em;
	color: var(--ps-gold-2);
	text-shadow: 0 2px 12px #000;
}

.ps-empty {
	text-align: center;
	padding: 48px 16px;
	border: 1px dashed rgba(196,163,90,0.28);
	background: rgba(10,10,12,0.55);
}
.ps-empty h1, .ps-empty h2 { font-family: var(--serif); letter-spacing: 0.12em; font-weight: 400; }
.ps-empty p { color: var(--ps-muted); max-width: 520px; margin: 12px auto 0; }

.ps-kontakt {
	display: grid;
	grid-template-columns: 1fr 1.15fr;
	max-width: 980px;
	margin: 0 auto;
	border: 1px solid rgba(196,163,90,0.35);
	background: #0a0a0c;
	overflow: hidden;
}
.ps-kontakt__form { padding: 36px 32px; }
.ps-field { margin-bottom: 16px; }
.ps-field label { display: block; font-size: 13px; margin-bottom: 6px; }
.ps-field input, .ps-field textarea, .ps-field select,
.woocommerce input.input-text, .woocommerce textarea, .woocommerce select,
.woocommerce-page input.input-text {
	width: 100%;
	background: #1c1c22;
	border: 1px solid var(--ps-gold);
	padding: 9px 10px;
	outline: none;
	color: var(--ps-ink);
}
.ps-field textarea { min-height: 140px; resize: vertical; }
.ps-kontakt__photo {
	background: #000;
	min-height: 420px;
}
.ps-kontakt__photo img { width: 100%; height: 100%; object-fit: contain; display: block; background: #000; }
.ps-notice { padding: 10px 12px; border: 1px solid var(--ps-line); margin-bottom: 16px; }
.ps-notice--ok { border-color: var(--ps-ok); color: var(--ps-ok); }
.ps-notice--err { border-color: var(--ps-danger); color: var(--ps-danger); }

.ps-reviews {
	list-style: none;
	margin: 0 0 36px;
	padding: 0;
	display: grid;
	gap: 14px;
}
.ps-review {
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(196, 163, 90, 0.22);
	padding: 20px 22px;
}
.ps-review__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 16px;
	margin-bottom: 10px;
}
.ps-review__head strong {
	font-family: var(--serif);
	font-size: 1.2rem;
	font-weight: 400;
	letter-spacing: 0.06em;
}
.ps-stars {
	color: var(--ps-gold);
	letter-spacing: 0.14em;
	font-size: 0.95rem;
}
.ps-review p { color: #ddd6ca; line-height: 1.7; margin: 0 0 10px; }
.ps-review time { color: var(--ps-muted); font-size: 0.78rem; }
.ps-review-form-title {
	font-family: var(--serif);
	font-weight: 400;
	letter-spacing: 0.1em;
	font-size: 1.15rem;
	margin: 8px 0 6px;
}
.ps-review-hint { color: var(--ps-muted); margin: 0 0 18px; font-size: 0.92rem; }

.ps-prose { max-width: 68ch; color: #ddd6ca; }
.ps-prose h2 { font-family: var(--serif); font-weight: 400; letter-spacing: 0.08em; margin-top: 1.6em; }

.ps-footer {
	border-top: 1px solid rgba(196,163,90,0.22);
	background: #08080a;
	padding: 36px 0 28px;
	font-size: 14px;
	color: var(--ps-muted);
}
.ps-footer__grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr;
	gap: 24px;
	padding-bottom: 12px;
}
.ps-footer ul { list-style: none; margin: 0; padding: 0; }
.ps-footer li { margin: 6px 0; }
.ps-footer a { color: #d7d0c4; }
.ps-footer__note { grid-column: 1 / -1; font-size: 12px; opacity: 0.8; }
.ps-logo--foot { margin-bottom: 10px; }
.ps-logo--foot .ps-logo__mark { width: 22px; height: 22px; }
.ps-logo--foot .ps-logo__word { height: 13px; max-width: 140px; }

.woocommerce ul.products { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; list-style: none; margin: 0; padding: 0; }
.woocommerce ul.products li.product {
	background: rgba(16,16,20,0.9);
	border: 1px solid rgba(196,163,90,0.2);
	padding: 0 0 16px;
	text-align: left;
}
.woocommerce ul.products li.product a { color: var(--ps-ink); }
.woocommerce ul.products li.product img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; background: #111; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 16px; padding: 12px 14px 4px; margin: 0; font-weight: 500; }
.woocommerce ul.products li.product .price { padding: 0 14px; color: var(--ps-gold-2); font-size: 15px; display: block; }
.woocommerce .price del { opacity: 0.45; }
.woocommerce-Price-amount { color: var(--ps-gold-2); }

.ps-product {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 36px;
	align-items: start;
}
.ps-product__gallery img { width: 100%; background: #111; border: 1px solid rgba(196,163,90,0.2); }
.ps-meta { list-style: none; padding: 0; margin: 18px 0; color: var(--ps-muted); }
.ps-meta li { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid rgba(255,255,255,0.06); padding: 8px 0; }
.ps-sold { color: var(--ps-danger); font-weight: 500; }

.woocommerce-cart-form, .woocommerce-checkout, .woocommerce-MyAccount-content, .woocommerce-MyAccount-navigation {
	background: rgba(14,14,16,0.8);
	border: 1px solid rgba(196,163,90,0.18);
	padding: 18px;
}
.ps-account { max-width: 920px; margin: 0 auto; }
.woocommerce #customer_login {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
}
.woocommerce #customer_login .u-column,
.woocommerce #customer_login .col-1,
.woocommerce #customer_login .col-2 {
	background: rgba(14,14,16,0.88);
	border: 1px solid rgba(196,163,90,0.22);
	padding: 24px 22px 28px;
	float: none;
	width: auto;
}
.woocommerce #customer_login h2 {
	font-family: var(--serif);
	font-weight: 400;
	letter-spacing: 0.08em;
	font-size: 1.2rem;
	margin: 0 0 16px;
}
.woocommerce form .form-row { margin-bottom: 14px; }
.woocommerce form .form-row label { display: block; font-size: 13px; margin-bottom: 6px; }
.woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 8px; margin: 8px 0 14px; }
.woocommerce-LostPassword { margin: 12px 0 0; font-size: 0.9rem; }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0 0 18px; }
.woocommerce table { width: 100%; border-collapse: collapse; }
.woocommerce table th, .woocommerce table td { border-bottom: 1px solid rgba(255,255,255,0.08); padding: 10px 8px; text-align: left; }
.woocommerce-error, .woocommerce-info, .woocommerce-message {
	border: 1px solid var(--ps-line);
	padding: 10px 12px;
	margin-bottom: 16px;
	list-style: none;
}

.ps-admin-table { width: 100%; border-collapse: collapse; }
.ps-admin-table th, .ps-admin-table td { border-bottom: 1px solid rgba(255,255,255,0.08); padding: 10px 8px; text-align: left; font-size: 14px; }
.ps-admin-form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 18px; }
.ps-admin-form .ps-field--full { grid-column: 1 / -1; }
.ps-badge { display: inline-block; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; border: 1px solid var(--ps-line); padding: 2px 8px; color: var(--ps-gold); }

.woocommerce-checkout .form-row { margin-bottom: 12px; }
.woocommerce-checkout #customer_details, .woocommerce-checkout #order_review {
	background: #101014;
	padding: 16px;
	border: 1px solid rgba(196,163,90,0.16);
}

body.woocommerce-page .quantity { display: none !important; }

@media (max-width: 860px) {
	.ps-burger { display: flex; }
	body.menu-open { overflow: hidden; }
	.ps-nav {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		width: 100%;
		margin: 0;
		background: #0c0c0e;
		border-bottom: 1px solid var(--ps-line);
		flex-direction: column;
		align-items: stretch;
		padding: 8px 0 20px;
		min-height: calc(100dvh - var(--header-h));
		z-index: 55;
	}
	body.menu-open .ps-nav { display: flex; }
	.ps-nav__shop::after { display: none; }
	.ps-nav__list { flex-direction: column; align-items: stretch; gap: 0; }
	.ps-nav__list > li > a { display: block; padding: 14px 22px; }
	.ps-dropdown {
		position: static;
		display: none;
		box-shadow: none;
		border: 0;
		border-top: 1px solid #2a2a2e;
		background: #141416;
		min-width: 0;
		padding: 6px 0 10px;
	}
	.ps-nav__shop.is-open .ps-dropdown { display: block; }
	.ps-dropdown a { padding-left: 32px; }
	.ps-kontakt, .ps-product, .ps-admin-form, .ps-footer__grid, .woocommerce ul.products, .woocommerce #customer_login {
		grid-template-columns: 1fr;
	}
	.ps-kontakt__photo { max-height: 280px; }
	.ps-logo__mark { width: 30px; height: 30px; }
	.ps-logo__word { height: 16px; }
}
