/* -------------------------
   Reviews
------------------------- */

:root{
    --prr-green:#2F7D6B;
    --prr-green-hover:#276B5C;
    --prr-green-light:#E6F4F1;

    --prr-purple:#5A50C8;
    --prr-purple-hover:#4B42AA;
    --prr-purple-light:#EEF2FF;

    --prr-bg:#F6F8FB;
    --prr-card:#FFFFFF;

    --prr-title:#0F172A;
    --prr-text:#334155;
    --prr-muted:#64748B;

    --prr-border:#E2E8F0;
    --prr-border-hover:#D6DBF5;
}

.prr-reviews{
	margin:40px 0;
}

.prr-header{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:24px;
	margin-bottom:20px;
}

.prr-title{
	margin:0 0 10px;
	font-size:32px;
	font-weight:700;
	line-height:1.2;
	color:var(--prr-title);
}

.prr-summary{
	display:flex;
	align-items:center;
	gap:16px;
	flex-wrap:wrap;
}

.prr-summary-rating{
	display:flex;
	align-items:center;
	gap:8px;
	font-size:18px;
	font-weight:700;
	color:#111;
}

.prr-summary-rating svg{
	width:18px;
	height:18px;
	stroke:var(--prr-purple);
	fill:var(--prr-purple);
}

.prr-summary-count{
	color:#666;
	font-size:14px;
}

.prr-review-top-new-button{
	display:inline-flex;
	align-items:center;
	gap:10px;
	height:46px;
	padding:0 18px;
	border-radius:10px;
	text-decoration:none;
	font-weight:600;
	background:var(--prr-purple);
	color:#fff;
	transition:.2s;
}

.prr-review-top-new-button:hover{
	background:var(--prr-purple-hover);
	color:#fff;
}

.prr-review-top-new-button svg{
	width:18px;
	height:18px;
}

.prr-reviews-text{
	margin-bottom:24px;
	color:#666;
	line-height:1.7;
}

/* -------------------------
   Cards
------------------------- */

.prr-reviews-list{
	display:flex;
	flex-direction:column;
	gap:20px;
}

.prr-reviews-list-item{
	border:none;
}

.prr-review-card{
	background:#fff;
	border:1px solid var(--prr-border);
	border-radius:16px;
	padding:24px;
	transition:.2s;
}

.prr-review-card:hover{
	border-color:var(--prr-border-hover);
	box-shadow:0 8px 24px rgba(0,0,0,.04);
}

.prr-review-card-header{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	gap:20px;
	margin-bottom:18px;
}

.prr-review-user{
	display:flex;
	align-items:center;
	gap:14px;
	min-width:0;
}

.prr-review-avatar{
	width:48px;
	height:48px;
	border-radius:50%;
	background:#fff3df;
	color:#ff9601;
	font-weight:700;
	font-size:18px;
	display:flex;
	align-items:center;
	justify-content:center;
	flex-shrink:0;
}

.prr-review-user-name{
	font-size:16px;
	font-weight:600;
	color:#111;
	margin-bottom:4px;
}

.prr-review-user-date{
	display:flex;
	align-items:center;
	gap:6px;
	color:var(--prr-muted);
	font-size:13px;
}

.prr-review-user-date svg{
	width:14px;
	height:14px;
}

.prr-review-stars{
	display:flex;
	gap:4px;
	flex-shrink:0;
}

.prr-review-stars svg{
	width:18px;
	height:18px;
	stroke:#d7d7d7;
}

.prr-review-stars svg.active{
	stroke:#ff9601;
	fill:#ff9601;
}

.prr-review-text{
	font-size:15px;
	line-height:1.85;
	color:var(--prr-text);
}

/* -------------------------
   Footer
------------------------- */

.prr-review-footer{
	margin-top:20px;
	padding-top:18px;
	border-top:1px solid #f0f0f0;
}

.prr-review-item-utile{
	display:flex;
	align-items:center;
	gap:10px;
}

.prr-review-item-utile-good,
.prr-review-item-utile-bad{
	display:inline-flex;
	align-items:center;
	gap:8px;
	border:none;
	cursor:pointer;
	height:38px;
	padding:0 14px;
	border-radius:10px;
	font-size:14px;
	font-weight:600;
	transition:.2s;
}

.prr-review-item-utile-good{
	background:var(--prr-green-light);
	color:var(--prr-green);
}

.prr-review-item-utile-good:hover{
	background:#dff5e5;
}

.prr-review-item-utile-bad{
	background:#fff0f0;
	color:#c95858;
}

.prr-review-item-utile-bad:hover{
	background:#ffe4e4;
}

.prr-review-item-utile-good svg,
.prr-review-item-utile-bad svg{
	width:16px;
	height:16px;
}

/* -------------------------
   Answer
------------------------- */

.prr-review-answer{
	margin-top:20px;
	padding:18px;
	border-radius:12px;
	background:var(--prr-green-light);
    border:1px solid #B7D9D1;
}

.prr-review-answer-title{
	display:flex;
	align-items:center;
	gap:8px;
	font-weight:600;
	margin-bottom:10px;
	color:#111;
}

.prr-review-answer-title svg{
	width:16px;
	height:16px;
	color:var(--prr-green);
}

.prr-review-answer-text{
	line-height:1.8;
	color:#555;
}

/* -------------------------
   Form
------------------------- */

.prr-review-form-container{
	margin-top:40px;
	padding:28px;
	border-radius:16px;
	background:#fafafa;
	border:1px solid #ececec;
}

.prr-review-form-heading{
	margin-bottom:24px;
	font-size:24px;
	font-weight:700;
	color:#111;
	text-transform:none;
	letter-spacing:0;
}

.prr-review-form-in{
	display:flex;
	gap:20px;
	margin-bottom:20px;
}

.prr-review-form-in-left,
.prr-review-form-in-right{
	flex:1;
	padding:0;
}

.prr-review-form label{
	display:block;
	margin-bottom:8px;
	font-size:14px;
	font-weight:600;
	color:#333;
}

.prr-review-form input,
.prr-review-form select,
.prr-review-form textarea{
	width:100%;
	border:1px solid #e3e3e3;
	border-radius:10px;
	background:#fff;
	padding:0 14px;
	font-size:14px;
	color:#111;
	transition:.2s;
}

.prr-review-form input,
.prr-review-form select{
	height:48px;
}

.prr-review-form textarea{
	height:180px;
	padding-top:14px;
	resize:vertical;
}

.prr-review-form input:focus,
.prr-review-form select:focus,
.prr-review-form textarea:focus{
	border-color:var(--prr-purple);
	outline:none;
	box-shadow:0 0 0 3px rgba(90,80,200,.12);
}

.prr-review-form-submit-container{
	margin-top:24px;
	text-align:left;
}

.prr-review-form-submit{
	width:auto !important;
	min-width:220px;
	height:48px !important;
	padding:0 22px !important;
	border:none !important;
	border-radius:10px !important;
	background:var(--prr-green)!important;
	color:#fff !important;
	font-weight:600;
	cursor:pointer;
}

.prr-review-form-submit:hover{
	background:var(--prr-green-hover)!important;
}

/* -------------------------
   Modal
------------------------- */

.prr-review-message-window-cn{
	width:420px;
	border-radius:16px;
	box-shadow:0 20px 60px rgba(0,0,0,.15);
}

.prr-review-message-window-heading{
	background:#111;
}

.prr-review-message-window-exit{
	background:#ff9601;
	border-radius:8px;
}

.prr-review-message-window-exit:hover{
	background:#ff8500;
}

/* -------------------------
   Mobile
------------------------- */

@media(max-width:768px){

	.prr-header{
		flex-direction:column;
		align-items:flex-start;
	}

	.prr-review-card-header{
		flex-direction:column;
		align-items:flex-start;
	}

	.prr-review-form-in{
		flex-direction:column;
		gap:16px;
	}

	.prr-review-form-container{
		padding:20px;
	}

	.prr-review-message-window-cn{
		width:calc(100% - 30px);
	}
}

/* ==========================
   Modal
========================== */

.prr-review-message-window{
	display:none;
	position:fixed;
	inset:0;
	z-index:9999;
	background:rgba(11,18,32,.65);
	backdrop-filter:blur(4px);
}

.prr-review-message-window.visible{
	display:flex;
	align-items:center;
	justify-content:center;
	padding:20px;
}

.prr-review-message-window-cn{
	width:100%;
	max-width:500px;
	background:#FFFFFF;
	border-radius:16px;
	overflow:hidden;
	box-shadow:
		0 20px 50px rgba(15,23,42,.15),
		0 0 0 1px rgba(90,80,200,.05);
}

.prr-review-message-window-heading{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:18px 24px;
	background:#0B1220;
	color:#fff;
}

.window-heading-text{
	font-size:18px;
	font-weight:600;
	color:#fff;
}

.prr-review-message-window-close{
	width:36px;
	height:36px;
	border-radius:8px;
	display:flex;
	align-items:center;
	justify-content:center;
	text-decoration:none;
	background:rgba(255,255,255,.08);
	transition:.2s;
}

.prr-review-message-window-close:hover{
	background:rgba(255,255,255,.15);
}

.prr-review-message-window-close:before{
	content:"✕";
	color:#fff;
	font-size:18px;
	line-height:1;
}

.prr-review-message-window-message{
	padding:28px 24px;
	font-size:15px;
	line-height:1.8;
	color:#334155;
}

.prr-review-message-exit-cn{
	padding:0 24px 24px;
	text-align:right;
}

.prr-review-message-window-exit{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	height:44px;
	padding:0 18px;
	border-radius:10px;
	background:#5A50C8;
	color:#fff;
	text-decoration:none;
	font-weight:600;
	transition:.2s;
}

.prr-review-message-window-exit:hover{
	background:#4B42AA;
	color:#fff;
}

@media(max-width:768px){

	.prr-review-message-window-cn{
		max-width:100%;
	}

	.prr-review-message-window-heading{
		padding:16px 18px;
	}

	.prr-review-message-window-message{
		padding:20px 18px;
	}

	.prr-review-message-exit-cn{
		padding:0 18px 18px;
	}
}

/* ===== Форма отзыва ===== */

.prr-review-form-container *{
    box-sizing:border-box;
}

.prr-review-form{
    width:100%;
}

.prr-review-form-in{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    margin-bottom:20px;
}

.prr-review-form-in-left,
.prr-review-form-in-right{
    min-width:0;
}

.prr-review-form-row{
    margin-bottom:20px;
}

.prr-review-form label{
    display:block;
    margin-bottom:8px;
    font-size:14px;
    font-weight:600;
    color:#334155;
}

.prr-review-form select,
.prr-review-form input[type="text"],
.prr-review-form textarea{
    width:100%;
    max-width:100%;
    display:block;

    padding:12px 14px;

    border:1px solid #E2E8F0;
    border-radius:12px;

    background:#FFFFFF;
    color:#0F172A;

    font-size:15px;
    line-height:1.5;

    transition:.2s;
}

.prr-review-form textarea{
    min-height:140px;
    resize:vertical;
}

.prr-review-form select:focus,
.prr-review-form input[type="text"]:focus,
.prr-review-form textarea:focus{
    outline:none;
    border-color:#5A50C8;
    box-shadow:0 0 0 4px rgba(90,80,200,.12);
}

.prr-review-form .error{
    border-color:#dc2626 !important;
    box-shadow:0 0 0 4px rgba(220,38,38,.08);
}

.prr-review-form-submit-container{
    display:flex;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
}

.prr-review-form-submit{
    border:none;
    cursor:pointer;

    padding:14px 24px;

    background:#2F7D6B;
    color:#fff;

    border-radius:12px;
    font-weight:600;

    transition:.2s;
}

.prr-review-form-submit:hover{
    background:#276B5C;
}

/* мобильная версия */

@media (max-width:768px){

    .prr-review-form-in{
        grid-template-columns:1fr;
    }

}