/* ============================================================
   PATRISSA REVIEWS — front
   Namespace: .psr
   ============================================================ */

.psr,
.psr-widget,
.psr-loop-rating{
	--psr-heading:#171717;
	--psr-text:#545454;
	--psr-muted:#8C8C8C;
	--psr-bg:#FFFFFF;
	--psr-bg-soft:#F9F6F1;
	--psr-border:#E7DED2;
	--psr-serif:"Cormorant Garamond","Playfair Display",Georgia,serif;
	--psr-radius:16px;
}
.psr,.psr *,.psr *::before,.psr *::after{box-sizing:border-box;}

/* ============================================================
   GWIAZDKI
   ============================================================ */
.psr-stars{
	display:inline-flex;
	align-items:center;
	gap:2px;
	line-height:0;
	vertical-align:middle;
}
.psr-star{
	position:relative;
	display:block;
	width:var(--psr-star-size,16px);
	height:var(--psr-star-size,16px);
	max-width:28px;
	max-height:28px;
	flex:none;
}
.psr-star svg{
	width:100%;
	height:100%;
	max-width:100%;
	max-height:100%;
	display:block;
}
.psr-star__bg path{fill:#E2D9CC;}
.psr-star__fg{
	position:absolute;
	inset:0;
	overflow:hidden;
	display:block;
}
.psr-star__fg svg{width:var(--psr-star-size,16px);height:var(--psr-star-size,16px);}
.psr-star__fg path{fill:var(--psr-star,#C9A46A);}

/* ============================================================
   1. WIDGET OCENY PRZY PRODUKCIE
   ============================================================ */
.psr-widget{
	display:inline-flex;
	align-items:center;
	gap:8px;
	margin:0 0 14px;
	text-decoration:none !important;
	color:var(--psr-text) !important;
	font-size:14px;
	line-height:1.4;
	transition:opacity .2s ease;
}
.psr-widget:hover{opacity:.72;}
.psr-widget__value{
	color:var(--psr-heading);
	font-weight:600;
}
.psr-widget__count{color:var(--psr-muted);}

/* kafelki produktów i karuzele */
.psr-loop-rating{
	display:inline-flex;
	align-items:center;
	gap:6px;
	margin:4px 0 6px;
	font-size:12.5px;
	color:var(--psr-muted);
}
.psr-loop-rating__value{color:var(--psr-heading);font-weight:600;}

/* ============================================================
   2. SEKCJA OPINII
   ============================================================ */
.psr{
	max-width:1180px;
	margin:clamp(40px,6vw,88px) auto;
	padding:0 clamp(20px,5vw,56px);
	color:var(--psr-text);
	line-height:1.65;
	scroll-margin-top:100px;
}

.psr__head{text-align:center;margin-bottom:clamp(26px,4vw,46px);}
.psr__kicker{
	display:block;
	color:var(--psr-accent,#A58C73);
	font-size:12px;
	font-weight:600;
	letter-spacing:.24em;
	text-transform:uppercase;
	margin-bottom:12px;
}
.psr .psr__title{
	font-family:var(--psr-serif);
	color:var(--psr-heading);
	font-size:clamp(28px,3.8vw,46px);
	font-weight:500;
	line-height:1.1;
	margin:0;
}
.psr__rule{
	display:flex;align-items:center;justify-content:center;gap:14px;
	width:min(100%,280px);margin:18px auto 0;color:#BBA293;
}
.psr__rule i{display:block;height:1px;flex:1 1 auto;}
.psr__rule i:first-child{background:linear-gradient(to right,transparent,currentColor);}
.psr__rule i:last-child{background:linear-gradient(to left,transparent,currentColor);}
.psr__rule svg{width:14px;height:14px;flex:none;display:block;}

/* ---------- podsumowanie ---------- */
.psr__summary{
	display:grid;
	grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr) auto;
	gap:clamp(20px,3vw,44px);
	align-items:center;
	padding:clamp(22px,3vw,34px);
	background:var(--psr-bg-soft);
	border:1px solid var(--psr-border);
	border-radius:18px;
	margin-bottom:24px;
}

.psr__score{text-align:center;}
.psr__score-value{
	font-family:var(--psr-serif);
	color:var(--psr-heading);
	font-size:clamp(40px,5vw,58px);
	font-weight:500;
	line-height:1;
}
.psr__score-max{
	color:var(--psr-muted);
	font-size:17px;
	margin-left:2px;
}
.psr__score .psr-stars{margin:10px 0 6px;}
.psr__score-count{
	display:block;
	color:var(--psr-muted);
	font-size:13px;
}

.psr__bars{display:flex;flex-direction:column;gap:7px;}
.psr__bar-row{
	display:grid;
	grid-template-columns:14px 14px 1fr 38px;
	align-items:center;
	gap:8px;
	font-size:13px;
}
.psr__bar-label{color:var(--psr-heading);text-align:right;}
.psr__bar-star{width:12px;height:12px;display:block;}
.psr__bar-star path{fill:var(--psr-star,#C9A46A);}
.psr__bar{
	display:block;
	height:6px;
	background:#EDE5D9;
	border-radius:999px;
	overflow:hidden;
}
.psr__bar-fill{
	display:block;
	height:100%;
	background:var(--psr-accent,#A58C73);
	border-radius:999px;
	transition:width .5s ease;
}
.psr__bar-pct{color:var(--psr-muted);font-size:12px;text-align:right;}

.psr__cta{text-align:center;}

/* ---------- galeria zdjęć z opinii ---------- */
.psr__gallery{
	display:flex;
	gap:10px;
	overflow-x:auto;
	padding-bottom:4px;
	margin-bottom:26px;
	scrollbar-width:none;
}
.psr__gallery::-webkit-scrollbar{display:none;}
.psr .psr__gallery-item{
	flex:0 0 auto !important;
	width:96px !important;
	height:96px !important;
	max-width:96px !important;
	padding:0;
	border:1px solid var(--psr-border);
	border-radius:12px;
	overflow:hidden;
	background:var(--psr-bg-soft);
	cursor:pointer;
	appearance:none;-webkit-appearance:none;
	transition:opacity .2s ease;
}
.psr .psr__gallery-item:hover{opacity:.82;}
.psr .psr__gallery-item img{
	width:100% !important;
	height:100% !important;
	max-width:100% !important;
	object-fit:cover !important;
	display:block;
	border-radius:0 !important;
}

/* ---------- brak opinii ---------- */
.psr__empty{
	text-align:center;
	padding:34px 20px;
	background:var(--psr-bg-soft);
	border:1px solid var(--psr-border);
	border-radius:18px;
	margin-bottom:24px;
}
.psr__empty p{
	margin:0 0 18px;
	font-family:var(--psr-serif);
	font-style:italic;
	font-size:18px;
	color:var(--psr-heading);
}

/* ============================================================
   PRZYCISKI
   ============================================================ */
.psr .psr-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:14px 32px;
	background:var(--psr-accent,#A58C73);
	border:1px solid var(--psr-accent,#A58C73);
	border-radius:999px !important;
	color:#FFFFFF !important;
	font-family:inherit;
	font-size:12.5px;
	font-weight:600;
	letter-spacing:.08em;
	text-transform:uppercase;
	line-height:1;
	cursor:pointer;
	appearance:none;-webkit-appearance:none;
	box-shadow:none !important;
	transition:background .24s ease,border-color .24s ease,color .24s ease;
}
.psr .psr-btn:hover{
	background:var(--psr-heading);
	border-color:var(--psr-heading);
	color:#FFFFFF !important;
}
.psr .psr-btn--ghost{
	background:transparent;
	border-color:var(--psr-border);
	color:var(--psr-heading) !important;
}
.psr .psr-btn--ghost:hover{
	background:var(--psr-heading);
	border-color:var(--psr-heading);
	color:#FFFFFF !important;
}
.psr .psr-btn[disabled]{opacity:.55;pointer-events:none;}

/* ============================================================
   3. FORMULARZ
   ============================================================ */
.psr-form{
	margin:0 0 30px;
	padding:clamp(22px,3vw,32px);
	background:var(--psr-bg);
	border:1px solid var(--psr-border);
	border-radius:18px;
	animation:psr-in .3s ease both;
}
.psr-form[hidden]{display:none;}
@keyframes psr-in{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}

.psr .psr-form__title{
	font-family:var(--psr-serif);
	color:var(--psr-heading);
	font-size:24px;
	font-weight:500;
	margin:0 0 22px;
}

.psr-field{margin-bottom:20px;}
.psr-field__label{
	display:block;
	color:var(--psr-heading);
	font-size:12.5px;
	font-weight:600;
	letter-spacing:.06em;
	text-transform:uppercase;
	margin-bottom:8px;
}
.psr-field__label em{
	font-style:normal;
	font-weight:400;
	text-transform:none;
	letter-spacing:0;
	color:var(--psr-muted);
}
.psr-field--half{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:16px;
}
.psr-field--half > div:only-child{grid-column:1 / -1;}

.psr .psr-form input[type="text"],
.psr .psr-form input[type="email"],
.psr .psr-form textarea{
	width:100%;
	padding:12px 15px;
	background:var(--psr-bg);
	border:1px solid var(--psr-border);
	border-radius:10px;
	color:var(--psr-heading);
	font-family:inherit;
	font-size:15px;
	line-height:1.5;
	transition:border-color .2s ease;
}
.psr .psr-form input:focus,
.psr .psr-form textarea:focus{
	outline:none;
	border-color:var(--psr-accent,#A58C73);
}
.psr .psr-form textarea{resize:vertical;min-height:120px;}

/* ---------- wybór oceny ---------- */
.psr-rate{display:inline-flex;gap:4px;}
.psr-rate__star{
	width:34px;height:34px;
	padding:0;
	border:0;
	background:none;
	cursor:pointer;
	appearance:none;-webkit-appearance:none;
	transition:transform .15s ease;
}
.psr-rate__star svg{width:100%;height:100%;display:block;}
.psr-rate__star path{fill:#E2D9CC;transition:fill .15s ease;}
.psr-rate__star:hover{transform:scale(1.08);}
.psr-rate__star.is-on path{fill:var(--psr-star,#C9A46A);}

/* ---------- upload ---------- */
.psr-upload{
	display:inline-flex;
	align-items:center;
	gap:10px;
	padding:12px 20px;
	border:1px dashed var(--psr-border);
	border-radius:10px;
	color:var(--psr-heading);
	font-size:14px;
	cursor:pointer;
	transition:border-color .2s ease,background .2s ease;
}
.psr-upload:hover{
	border-color:var(--psr-accent,#A58C73);
	background:var(--psr-bg-soft);
}
.psr-upload__ico{width:19px;height:19px;color:var(--psr-accent,#A58C73);}
.psr-upload__ico svg{width:100%;height:100%;display:block;}

.psr-upload__preview{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin-top:12px;
}
.psr-upload__thumb{
	position:relative;
	width:74px;height:74px;
	border-radius:10px;
	overflow:hidden;
	border:1px solid var(--psr-border);
}
.psr-upload__thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.psr-upload__remove{
	position:absolute;
	top:4px;right:4px;
	width:20px;height:20px;
	display:flex;align-items:center;justify-content:center;
	padding:0;
	border:0;
	border-radius:50%;
	background:rgba(23,23,23,.72);
	color:#fff;
	font-size:14px;
	line-height:1;
	cursor:pointer;
}

.psr-form__actions{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	margin-top:6px;
}

.psr-form__msg{
	margin-top:16px;
	padding:12px 16px;
	border-radius:10px;
	font-size:14.5px;
}
.psr-form__msg[hidden]{display:none;}
.psr-form__msg--ok{
	background:#F1F7F2;
	border:1px solid #CFE3D4;
	color:#2F6B3C;
}
.psr-form__msg--err{
	background:#FDF3F3;
	border:1px solid #F0D4D4;
	color:#A33A3A;
}

/* ============================================================
   LISTA OPINII
   ============================================================ */
.psr__list{margin-bottom:26px;}

.psr-review{
	padding:26px 0;
	border-bottom:1px solid var(--psr-border);
	animation:psr-in .3s ease both;
}
.psr-review:first-child{padding-top:6px;}

.psr-review__head{
	display:flex;
	align-items:center;
	gap:12px;
	margin-bottom:12px;
}
.psr-review__avatar{
	flex:none;
	width:42px;height:42px;
	display:flex;align-items:center;justify-content:center;
	background:var(--psr-bg-soft);
	border:1px solid var(--psr-border);
	border-radius:50%;
	font-family:var(--psr-serif);
	font-size:19px;
	color:var(--psr-accent,#A58C73);
}
.psr-review__meta{flex:1 1 auto;min-width:0;}
.psr-review__name{
	display:flex;
	align-items:center;
	gap:5px;
	color:var(--psr-heading);
	font-weight:600;
	font-size:15px;
}
.psr-review__verified{
	display:inline-flex;
	width:15px;height:15px;
	color:#4ade80;
}
.psr-review__verified svg{width:100%;height:100%;display:block;}
.psr-review__date{
	display:block;
	color:var(--psr-muted);
	font-size:12.5px;
}
.psr-review__head .psr-stars{margin-left:auto;flex:none;}

.psr-review__product{
	display:inline-block;
	margin-bottom:8px;
	color:var(--psr-accent,#A58C73) !important;
	font-size:13px;
	text-decoration:none !important;
}
.psr-review__product:hover{text-decoration:underline !important;}
.psr-review__product--shop{
	color:var(--psr-muted) !important;
	font-style:italic;
	cursor:default;
}
.psr-review__product--shop:hover{text-decoration:none !important;}

.psr-review__text{color:var(--psr-text);font-size:15px;}
.psr-review__text p{margin:0 0 8px;}
.psr-review__text p:last-child{margin-bottom:0;}

.psr-review__photos{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin-top:12px;
}
.psr .psr-review__photo{
	width:78px !important;
	height:78px !important;
	max-width:78px !important;
	flex:none !important;
	padding:0;
	border:1px solid var(--psr-border);
	border-radius:10px;
	overflow:hidden;
	background:var(--psr-bg-soft);
	cursor:pointer;
	appearance:none;-webkit-appearance:none;
	transition:opacity .2s ease;
}
.psr .psr-review__photo:hover{opacity:.82;}
.psr .psr-review__photo img{
	width:100% !important;
	height:100% !important;
	max-width:100% !important;
	object-fit:cover !important;
	display:block;
	border-radius:0 !important;
}

.psr__more{text-align:center;}

/* ============================================================
   POWIĘKSZENIE ZDJĘCIA
   ============================================================ */
.psr-lb{
	position:fixed;
	inset:0;
	z-index:99999;
	display:flex;align-items:center;justify-content:center;
	padding:clamp(12px,3vw,40px);
	background:rgba(17,17,17,.94);
	-webkit-backdrop-filter:blur(6px);
	backdrop-filter:blur(6px);
	animation:psr-fade .2s ease both;
}
.psr-lb[hidden]{display:none;}
.psr-lb__box img{
	display:block;
	max-width:96vw;max-height:92svh;
	width:auto;height:auto;
	border-radius:10px;
}
.psr-lb__close{
	position:absolute;
	top:clamp(10px,2.4vw,26px);
	right:clamp(10px,2.4vw,26px);
	width:46px;height:46px;
	display:flex;align-items:center;justify-content:center;
	padding:0;
	border:1px solid rgba(255,255,255,.5);
	border-radius:50%;
	background:rgba(255,255,255,.12);
	color:#fff;
	cursor:pointer;
	appearance:none;-webkit-appearance:none;
}
.psr-lb__close:hover{background:rgba(255,255,255,.26);}
.psr-lb__close svg{width:22px;height:22px;display:block;}
@keyframes psr-fade{from{opacity:0}to{opacity:1}}

/* ============================================================
   RESPONSYWNOŚĆ
   ============================================================ */
@media (max-width:900px){
	.psr__summary{
		grid-template-columns:1fr;
		text-align:center;
		gap:22px;
	}
	.psr__bars{max-width:420px;margin:0 auto;width:100%;}
}

@media (max-width:560px){
	.psr{padding:0 20px;}
	.psr__summary{padding:20px;border-radius:14px;}
	.psr-form{padding:20px;border-radius:14px;}
	.psr-field--half{grid-template-columns:1fr;}
	.psr__gallery-item{width:80px;height:80px;}
	.psr-review__head{flex-wrap:wrap;}
	.psr-review__head .psr-stars{margin-left:0;width:100%;}
	.psr .psr-btn{width:100%;}
}

@media (prefers-reduced-motion:reduce){
	.psr-form,.psr-review{animation:none;}
	.psr__bar-fill{transition:none;}
}

/* ============================================================
   KARUZELA OPINII ZE ZDJĘCIAMI
   [patrissa_reviews_carousel]
   ============================================================ */
.psr-car{
	--psr-heading:#141414;
	--psr-text:#5A5A5A;
	--psr-muted:#9A948C;
	--psr-accent:#C9A46A;
	--psr-accent-strong:#A58C73;
	--psr-bg:#FFFFFF;
	--psr-bg-soft:#F7F3ED;
	--psr-border:#E5DCD0;
	--psr-serif:"Cormorant Garamond","Playfair Display",Georgia,serif;

	max-width:1180px;
	margin:0 auto;
	color:var(--psr-text);
	line-height:1.7;
}
.psr-car,.psr-car *,.psr-car *::before,.psr-car *::after{box-sizing:border-box;}

.psr-car--empty p{
	max-width:560px;
	margin:0 auto;
	padding:12px 18px;
	border:1px dashed var(--psr-border);
	font-size:12.5px;
	color:var(--psr-muted);
	text-align:center;
}

/* ---------- nagłówek ---------- */
.psr-car__head{text-align:center;margin-bottom:clamp(30px,4vw,48px);}
.psr-car .psr-car__kicker{
	display:block;
	color:var(--psr-accent-strong);
	font-size:11px;
	font-weight:600;
	letter-spacing:.3em;
	text-transform:uppercase;
	margin-bottom:15px;
}
.psr-car .psr-car__title{
	font-family:var(--psr-serif);
	color:var(--psr-heading);
	font-size:clamp(28px,4vw,48px);
	font-weight:400;
	line-height:1.08;
	margin:0;
	text-wrap:balance;
}
.psr-car .psr-car__rule{
	display:flex !important;
	align-items:center;
	justify-content:center;
	gap:16px;
	width:min(100%,220px);
	margin:22px auto 0;
	color:var(--psr-accent);
}
.psr-car .psr-car__rule i{
	display:block !important;
	height:1px !important;
	flex:1 1 auto !important;
	min-width:40px;
	font-size:0;
}
.psr-car .psr-car__rule i:first-child{background:linear-gradient(to right,transparent,currentColor) !important;}
.psr-car .psr-car__rule i:last-child{background:linear-gradient(to left,transparent,currentColor) !important;}
.psr-car .psr-car__rule svg{width:13px;height:13px;flex:none;display:block;}

/* ---------- karuzela ---------- */
.psr-car__stage{position:relative;}

.psr-car__track{
	display:flex;
	gap:clamp(14px,2vw,24px);
	overflow-x:auto;
	scroll-snap-type:x mandatory;
	-webkit-overflow-scrolling:touch;
	scrollbar-width:none;
	padding:2px;
}
.psr-car__track::-webkit-scrollbar{display:none;}

.psr-car__item{
	flex:0 0 auto;
	width:clamp(210px,23vw,268px);
	scroll-snap-align:start;
	background:var(--psr-bg);
	border:1px solid var(--psr-border);
	display:flex;
	flex-direction:column;
	transition:box-shadow .34s ease,transform .34s ease;
}
.psr-car__item:hover{
	box-shadow:0 18px 40px rgba(120,96,64,.1);
	transform:translateY(-3px);
}

.psr-car .psr-car__media{
	position:relative;
	display:block;
	width:100%;
	padding:0;
	border:0;
	background:var(--psr-bg-soft);
	overflow:hidden;
	cursor:pointer;
	appearance:none;-webkit-appearance:none;
}
.psr-car .psr-car__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);
}
.psr-car__item:hover .psr-car__media img{transform:scale(1.05);}

.psr-car__count{
	position:absolute;
	right:10px;bottom:10px;
	padding:3px 9px;
	background:rgba(20,20,20,.62);
	color:#FFFFFF;
	font-size:11px;
	letter-spacing:.06em;
}

.psr-car__body{
	display:flex;
	flex-direction:column;
	flex:1 1 auto;
	padding:16px 18px 18px;
	text-align:left;
}
.psr-car__body .psr-stars{margin-bottom:9px;}
.psr-car .psr-car__text{
	margin:0 0 12px;
	flex:1 1 auto;
	font-size:14px;
	line-height:1.65;
	color:var(--psr-text);
}
.psr-car__author{
	display:inline-flex;
	align-items:center;
	gap:5px;
	color:var(--psr-heading);
	font-size:13px;
	font-weight:600;
	letter-spacing:.02em;
}
.psr-car__verified{
	display:inline-flex;
	width:14px;height:14px;
	color:var(--psr-accent);
}
.psr-car__verified svg{width:100%;height:100%;display:block;}

/* ---------- strzałki ---------- */
.psr-car__nav{
	position:absolute;
	top:34%;
	transform:translateY(-50%);
	z-index:3;
	width:44px;height:44px;
	display:flex;align-items:center;justify-content:center;
	padding:0;
	border:1px solid var(--psr-border);
	border-radius:50% !important;
	background:rgba(255,255,255,.96);
	color:var(--psr-heading);
	cursor:pointer;
	appearance:none;-webkit-appearance:none;
	box-shadow:0 6px 20px rgba(120,96,64,.14);
	opacity:0;
	transition:opacity .3s ease,background .25s ease,color .25s ease,border-color .25s ease;
}
.psr-car__stage:hover .psr-car__nav{opacity:1;}
.psr-car__nav:hover{
	background:var(--psr-accent-strong);
	border-color:var(--psr-accent-strong);
	color:#FFFFFF;
}
.psr-car__nav svg{width:19px;height:19px;display:block;}
.psr-car__nav--prev{left:-10px;}
.psr-car__nav--next{right:-10px;}

@media (max-width:1024px){
	.psr-car__nav{display:none;}
	.psr-car__track{padding-inline:2px;}
}

@media (max-width:640px){
	.psr-car__item{width:66vw;}
	.psr-car__body{padding:14px 15px 16px;}
	.psr-car .psr-car__text{font-size:13.5px;}
}

@media (prefers-reduced-motion:reduce){
	.psr-car__item,
	.psr-car .psr-car__media img{transition:none;}
}

/* ============================================================
   SAMA LISTA OPINII — [patrissa_reviews_list]
   Wariant do wstawienia w akordeon motywu.
   ============================================================ */
.psr--list{
	max-width:none;
	margin:0;
	padding:0;
	scroll-margin-top:0;
}
.psr--list .psr__list{margin-bottom:0;}
.psr--list .psr-review:first-child{padding-top:0;}
.psr--list .psr-review:last-child{border-bottom:0;}

.psr-list__empty{
	margin:0;
	padding:24px 0;
	font-family:var(--psr-serif);
	font-style:italic;
	font-size:16px;
	color:var(--psr-muted);
}

.psr--list .psr__more{
	margin-top:8px;
	padding-top:18px;
	border-top:1px solid var(--psr-border);
	text-align:center;
}

.psr-list__cta{
	margin-top:18px;
	padding-top:18px;
	border-top:1px solid var(--psr-border);
	text-align:center;
}
.psr--list .psr-form{margin-top:18px;}
