/* ============================================================
   PATRISSA SECTIONS — sekcje pod produktem
   Selektory bywają wzmacniane, bo motyw (Rey) centruje tekst
   i nadpisuje elementy inline wewnątrz treści produktu.
   ============================================================ */

.pps{
	--pps-heading:#141414;
	--pps-text:#5A5A5A;
	--pps-muted:#9A948C;
	--pps-accent:#C9A46A;
	--pps-accent-strong:#A58C73;
	--pps-bg:#FFFFFF;
	--pps-bg-soft:#F7F3ED;
	--pps-border:#E5DCD0;
	--pps-serif:"Cormorant Garamond","Playfair Display",Georgia,serif;

	color:var(--pps-text);
	line-height:1.7;
}
.pps,.pps *,.pps *::before,.pps *::after{box-sizing:border-box;}

.pps__section{
	max-width:1180px;
	margin:0 auto;
	padding:clamp(56px,7vw,104px) clamp(20px,5vw,56px);
}
.pps__section + .pps__section{
	border-top:1px solid var(--pps-border);
}

/* sekcje z tłem idą na całą szerokość okna, treść trzyma się środka */
.pps .pps--package,
.pps .pps--collection{
	width:100vw;
	max-width:none;
	margin-left:calc(50% - 50vw);
	margin-right:calc(50% - 50vw);
	background:var(--pps-bg-soft);
	border-top:1px solid var(--pps-border) !important;
	border-bottom:1px solid var(--pps-border);
	overflow:hidden;
}
.pps .pps--package > *,
.pps .pps--collection > *{
	max-width:1180px;
	margin-inline:auto;
}

/* ============================================================
   NAGŁÓWKI
   ============================================================ */
.pps__head{text-align:center;margin-bottom:clamp(34px,4.5vw,56px);}

.pps .pps__kicker{
	display:block;
	color:var(--pps-accent-strong);
	font-size:11px;
	font-weight:600;
	letter-spacing:.3em;
	text-transform:uppercase;
	margin-bottom:15px;
}
.pps .pps__title{
	font-family:var(--pps-serif);
	color:var(--pps-heading);
	font-size:clamp(28px,4vw,48px);
	font-weight:400;
	line-height:1.08;
	letter-spacing:-.01em;
	margin:0;
	text-wrap:balance;
}
.pps .pps__title--left{text-align:left;margin-bottom:18px;}

/* ornament — wzmocniony, bo motyw resetuje elementy inline */
.pps .pps__rule{
	display:flex !important;
	align-items:center;
	justify-content:center;
	gap:16px;
	width:min(100%,220px);
	margin:22px auto 0;
	color:var(--pps-accent);
}
.pps .pps__rule i{
	display:block !important;
	height:1px !important;
	flex:1 1 auto !important;
	min-width:40px;
	font-size:0;
	background:currentColor;
	opacity:.75;
}
.pps .pps__rule i:first-child{
	background:linear-gradient(to right,transparent,currentColor) !important;
}
.pps .pps__rule i:last-child{
	background:linear-gradient(to left,transparent,currentColor) !important;
}
.pps .pps__rule svg{width:13px;height:13px;flex:none;display:block;}

.pps .pps__intro{
	margin:20px auto 0;
	max-width:54ch;
	font-size:15px;
	color:var(--pps-text);
}
.pps .pps__text{
	margin:0 0 22px;
	font-size:15.5px;
	line-height:1.75;
	color:var(--pps-text);
}

/* ============================================================
   PRZYCISK
   ============================================================ */
.pps .pps-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:11px;
	padding:17px 38px;
	background:var(--pps-heading);
	border:1px solid var(--pps-heading);
	border-radius:0 !important;
	color:#FFFFFF !important;
	font-family:inherit;
	font-size:11.5px;
	font-weight:600;
	letter-spacing:.18em;
	text-transform:uppercase;
	line-height:1;
	text-decoration:none !important;
	cursor:pointer;
	box-shadow:none !important;
	transition:background .3s ease,border-color .3s ease;
}
.pps .pps-btn:hover{
	background:var(--pps-accent-strong);
	border-color:var(--pps-accent-strong);
	color:#FFFFFF !important;
}

/* ============================================================
   UKŁAD DWUKOLUMNOWY
   ============================================================ */
.pps-split{
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(0,1fr);
	gap:clamp(30px,5vw,80px);
	align-items:center;
}
.pps-split--rev .pps-split__media{order:2;}

.pps-split__media{position:relative;}
.pps-split__media img{
	display:block;
	width:100%;
	aspect-ratio:4/5;
	object-fit:cover;
	border-radius:0 !important;
}
/* cienka ramka odsunięta od zdjęcia — detal z fotografii produktowej */
.pps-split__media::after{
	content:"";
	position:absolute;
	inset:14px;
	border:1px solid rgba(255,255,255,.45);
	pointer-events:none;
}

.pps .pps-split__text{text-align:left !important;}

@media (max-width:900px){
	.pps-split{grid-template-columns:1fr;gap:28px;}
	.pps-split--rev .pps-split__media{order:0;}
	.pps .pps__title--left{text-align:left;}
}

/* ============================================================
   PUNKTY
   ============================================================ */
.pps .pps-points{
	list-style:none !important;
	margin:0;
	padding:0;
	display:flex;
	flex-direction:column;
	gap:0;
	border-top:1px solid var(--pps-border);
}
.pps .pps-points li{
	display:flex;
	align-items:center;
	gap:14px;
	padding:14px 0;
	border-bottom:1px solid var(--pps-border);
	font-size:14.5px;
	text-align:left;
	color:var(--pps-heading);
}
.pps .pps-points li::marker{content:"";}
.pps-points__ico{
	flex:none;
	width:22px;height:22px;
	display:flex;align-items:center;justify-content:center;
	border:1px solid var(--pps-accent);
	border-radius:50%;
	color:var(--pps-accent);
}
.pps-points__ico svg{width:11px;height:11px;display:block;}

/* ============================================================
   MIEJSCA NA MATERIAŁY
   ============================================================ */
.pps-slots{
	display:flex;
	gap:14px;
	overflow-x:auto;
	padding-bottom:4px;
	scrollbar-width:none;
}
.pps-slots::-webkit-scrollbar{display:none;}

.pps-slot{
	position:relative;
	flex:0 0 auto;
	background:
		linear-gradient(135deg, rgba(201,164,106,.05) 0%, rgba(201,164,106,0) 55%),
		var(--pps-bg-soft);
	border:1px solid var(--pps-border);
}
.pps-slot::after{
	content:"";
	position:absolute;
	inset:10px;
	border:1px solid rgba(201,164,106,.18);
	pointer-events:none;
}
.pps-slot--video{width:clamp(160px,19vw,224px);aspect-ratio:9/16;}
.pps-slot--image{width:100%;aspect-ratio:4/5;}

.pps-slot__play{
	position:absolute;inset:0;margin:auto;
	width:52px;height:52px;
	display:flex;align-items:center;justify-content:center;
	border:1px solid var(--pps-accent);
	border-radius:50%;
	color:var(--pps-accent);
	background:rgba(255,255,255,.4);
}
.pps-slot__play svg{width:16px;height:16px;display:block;}

/* notatka dla administratora */
.pps .pps-note{
	max-width:560px;
	margin:22px auto 0;
	padding:10px 16px;
	background:transparent;
	border:1px dashed var(--pps-border);
	border-radius:0;
	font-size:12.5px;
	letter-spacing:.02em;
	color:var(--pps-muted);
	text-align:center;
}
.pps .pps-note strong{color:var(--pps-accent-strong);font-weight:600;}

/* ============================================================
   DOPEŁNIJ KOLEKCJĘ
   ============================================================ */
.pps-products{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
	gap:clamp(18px,2.6vw,34px);
}
.pps .pps-product{
	display:block;
	text-decoration:none !important;
	color:inherit !important;
	text-align:center !important;
}
.pps-product__media{
	display:block;
	position:relative;
	margin-bottom:16px;
	overflow:hidden;
	background:var(--pps-bg);
}
.pps-product__media::after{
	content:"";
	position:absolute;
	inset:0;
	border:1px solid transparent;
	transition:border-color .4s ease;
	pointer-events:none;
	z-index:1;
}
.pps .pps-product:hover .pps-product__media::after{border-color:var(--pps-accent);}
.pps .pps-product__media img{
	display:block;
	width:100%;
	aspect-ratio:4/5;
	object-fit:cover;
	border-radius:0 !important;
	transition:transform .8s cubic-bezier(.22,.72,.24,1);
}
.pps .pps-product:hover .pps-product__media img{transform:scale(1.05);}

.pps .pps-product__name{
	display:block;
	font-family:var(--pps-serif);
	color:var(--pps-heading);
	font-size:20px;
	font-weight:400;
	line-height:1.3;
	margin-bottom:6px;
	transition:color .3s ease;
}
.pps .pps-product:hover .pps-product__name{color:var(--pps-accent-strong);}
.pps .pps-product__price{
	display:block;
	color:var(--pps-accent-strong);
	font-size:14px;
	letter-spacing:.06em;
}
.pps .pps-product__price del{opacity:.5;margin-right:7px;}
.pps .pps-product__price ins{text-decoration:none;color:var(--pps-accent-strong);}

/* zestaw */
.pps-set{
	display:flex;
	align-items:center;
	gap:clamp(18px,3vw,32px);
	margin-top:clamp(28px,4vw,48px);
	padding:clamp(20px,3vw,30px);
	background:var(--pps-bg);
	border:1px solid var(--pps-border);
}
.pps-set__media{
	flex:none;
	width:96px;height:120px;
	overflow:hidden;
}
.pps .pps-set__media img{
	width:100%;height:100%;
	object-fit:cover;
	display:block;
	border-radius:0 !important;
}
.pps-set__body{flex:1 1 auto;min-width:0;text-align:left;}
.pps .pps-set__name{
	display:block;
	font-family:var(--pps-serif);
	color:var(--pps-heading);
	font-size:22px;
	font-weight:400;
	margin-bottom:5px;
}
.pps-set__note{
	display:block;
	font-size:14px;
	color:var(--pps-text);
	margin-bottom:8px;
	max-width:52ch;
}
.pps-set__price{
	display:block;
	color:var(--pps-accent-strong);
	font-size:15px;
	letter-spacing:.04em;
}
.pps-set__btn{flex:none;}

@media (max-width:700px){
	.pps-set{flex-direction:column;text-align:center;}
	.pps-set__body{text-align:center;}
	.pps-set__media{width:120px;height:150px;}
	.pps .pps-set__btn{width:100%;}
}

/* ============================================================
   FAQ
   ============================================================ */
.pps-faq{
	max-width:820px;
	margin:0 auto;
	border-top:1px solid var(--pps-border);
}
.pps-faq__item{
	border-bottom:1px solid var(--pps-border);
	transition:background .35s ease;
}
.pps-faq__item:hover{background:rgba(201,164,106,.035);}
.pps-faq__item:has(.pps-faq__q[aria-expanded="true"]){background:rgba(201,164,106,.05);}

.pps .pps-faq__q{
	width:100%;
	display:flex !important;
	align-items:center;
	justify-content:space-between;
	gap:20px;
	padding:24px 2px;
	background:none !important;
	border:0 !important;
	border-radius:0 !important;
	color:var(--pps-heading) !important;
	font-family:var(--pps-serif);
	font-size:clamp(18px,2.1vw,23px);
	font-weight:400;
	line-height:1.35;
	letter-spacing:0;
	text-transform:none !important;
	text-align:left !important;
	cursor:pointer;
	appearance:none;-webkit-appearance:none;
	box-shadow:none !important;
	transition:color .25s ease;
}
.pps .pps-faq__q > span:first-child{flex:1 1 auto;text-align:left;}
.pps .pps-faq__q:hover{color:var(--pps-accent-strong) !important;}

.pps-faq__ico{
	flex:none;
	width:26px;height:26px;
	display:flex;align-items:center;justify-content:center;
	border:1px solid var(--pps-border);
	border-radius:50%;
	color:var(--pps-accent-strong);
	transition:transform .32s ease,background .25s ease,border-color .25s ease,color .25s ease;
}
.pps-faq__ico svg{width:13px;height:13px;display:block;}
.pps .pps-faq__q[aria-expanded="true"] .pps-faq__ico{
	transform:rotate(180deg);
	background:var(--pps-accent-strong);
	border-color:var(--pps-accent-strong);
	color:#FFFFFF;
}

.pps-faq__a{padding:0 2px 26px;}
.pps-faq__a[hidden]{display:none;}
.pps .pps-faq__a p{
	margin:0;
	max-width:68ch;
	font-size:15px;
	line-height:1.8;
	color:var(--pps-text);
	text-align:left;
}

/* ============================================================
   ANIMACJE WEJŚCIA
   Elementy pojawiają się przy przewijaniu; klasę dodaje skrypt.
   ============================================================ */
.pps [data-pps-reveal]{
	opacity:0;
	transform:translateY(26px);
	transition:opacity .9s cubic-bezier(.22,.72,.24,1),
	           transform .9s cubic-bezier(.22,.72,.24,1);
	will-change:opacity,transform;
}
.pps [data-pps-reveal].is-in{
	opacity:1;
	transform:none;
}

/* zdjęcia dochodzą z lekkim zoomem */
.pps [data-pps-reveal-zoom] img{
	transform:scale(1.06);
	transition:transform 1.4s cubic-bezier(.22,.72,.24,1);
}
.pps [data-pps-reveal-zoom].is-in img{transform:scale(1);}

/* ornament rozsuwa się po wejściu sekcji */
.pps .pps__rule i{
	transform:scaleX(0);
	transition:transform 1s cubic-bezier(.22,.72,.24,1) .15s;
}
.pps .pps__rule i:first-child{transform-origin:right center;}
.pps .pps__rule i:last-child{transform-origin:left center;}
.pps [data-pps-reveal].is-in .pps__rule i,
.pps .pps__head.is-in .pps__rule i{transform:scaleX(1);}

.pps .pps__rule svg{
	opacity:0;
	transform:rotate(-90deg) scale(.5);
	transition:opacity .7s ease .35s,transform .9s cubic-bezier(.22,.72,.24,1) .35s;
}
.pps .pps__head.is-in .pps__rule svg{
	opacity:1;
	transform:rotate(0) scale(1);
}

/* ============================================================
   TELEFON
   ============================================================ */
@media (max-width:640px){
	.pps__section{padding:44px 20px;}
	.pps .pps-btn{width:100%;padding:16px 24px;}
	.pps-slot--video{width:64vw;}
	.pps-products{grid-template-columns:1fr 1fr;gap:16px;}
	.pps .pps-product__name{font-size:17px;}
	.pps .pps-faq__q{padding:20px 2px;font-size:17px;}
	.pps-faq__a{padding-bottom:20px;}
	.pps .pps-faq__a p{font-size:14.5px;}
	.pps-split__media::after{inset:10px;}
}

@media (prefers-reduced-motion:reduce){
	.pps .pps-product__media img,
	.pps-faq__ico{transition:none;}

	.pps [data-pps-reveal],
	.pps [data-pps-reveal-zoom] img,
	.pps .pps__rule i,
	.pps .pps__rule svg{
		opacity:1 !important;
		transform:none !important;
		transition:none !important;
	}
}
