:root {
	/* ===== PRIMARY COLORS ===== */
	--ex-primary: #597ad7;
	--ex-success: #198754;
	--ex-warning: #ffc107;
	--ex-danger: #dc3545;
	--ex-danger-light: #ff6e6e;
	
	/* ===== STAR COLORS ===== */
	--ex-star: #ffb020;
	--ex-star-hover: #fca95d;
	--ex-star-empty: #ccc;
	
	/* ===== TEXT COLORS ===== */
	--ex-text-dark: #222;
	--ex-text-muted: #71808e;
	--ex-text-link: #1e76c5;
	--ex-text-link-hover: #ff7878;
	--ex-text-white: #fff;
	
	/* ===== BACKGROUNDS ===== */
	--ex-bg-white: #fff;
	--ex-bg-light: #ededed;
	--ex-bg-avatar: #b5e8f9;
	--ex-bg-purchased: #ffe6d0;
	
	/* ===== BORDERS ===== */
	--ex-border: #c5c5c5;
	--ex-border-light: #e5e5e5;
	--ex-border-default: solid 1px #e5e5e5;
	
	/* ===== SUCCESS MESSAGE ===== */
	--ex-success-bg: #d4edda;
	--ex-success-border: #c3e6cb;
	--ex-success-text: #155724;
	
	/* ===== SCROLLBAR ===== */
	--ex-scrollbar-track: #eaeaea;
	--ex-scrollbar-thumb: #a5a5a5;
	--ex-scrollbar-thumb-hover: #7b7b7b;
	
	/* ===== ICON ===== */
	--ex-icon-accent: #009dcf;
	
	/* ===== SHADOWS (3 уровня) ===== */
	--ex-shadow-sm: 1px 1px 2px rgba(0,0,0,0.12);
	--ex-shadow-md: 1px 1px 4px rgba(0,0,0,0.25);
	--ex-shadow-lg: 0 0 10px rgba(0,0,0,0.15);
	
	/* ===== BORDER RADIUS (3 уровня) ===== */
	--ex-radius-sm: 10px;
	--ex-radius-md: 15px;
	--ex-radius-lg: 20px;
	--ex-radius-full: 50%;
	
	/* ===== TRANSITIONS ===== */
	--ex-transition: 0.2s ease;
	--ex-transition-slow: 0.3s ease;
	
	/* ===== BACKDROP BLUR ===== */
	--ex-blur: blur(100px);
	--ex-blur-light: blur(6px);
}

/* ===== BASE STYLES ===== */
svg { transition: all var(--ex-transition); }

.ex-reviews-page { font-size: 14px; }
.ex-review { width: 100%; font-size: 14px; font-weight: 500; }
.footer-review-id { width: 100%; text-align: right; }

/* ===== FLEX UTILITIES ===== */
.flex-row { display: flex; flex-direction: row; align-items: center; flex-wrap: wrap; }
.flex-col { display: flex; flex-direction: column; justify-content: center; }
.flex-center { display: flex; justify-content: center; align-items: center; }

/* ===== STATE UTILITIES ===== */
.disabled { pointer-events: none; }
.ov-hidden { overflow: hidden !important; }
#ex-reviews{width: 100%;}
#ex-reviews a{text-decoration: none !important;}
.clickable { color: var(--ex-text-link); }
.clickable:hover { color: var(--ex-text-link-hover); }

/* ===== BUTTONS ===== */
.ex-btn {
	border: 0;
	padding: 10px 20px;
	border-radius: var(--ex-radius-sm);
	background-color: var(--ex-bg-light);
	font-weight: 500;
	outline: 0 !important;
	transition: all var(--ex-transition);
}

.ex-btn:hover {
	opacity: 0.88;
}

.ex-btn-primary { color: var(--ex-text-white); background: var(--ex-primary); }
.ex-btn-danger { color: var(--ex-text-white); background: var(--ex-danger-light); }

.ex-btn-secondary { background: #d5d5d5; }
.ex-btn-secondary:hover { background: var(--ex-border-light); }

.ex-btn-link {
	padding: 5px 10px;
	background: none;
	color: var(--ex-text-link);
	box-shadow: none;
}
.ex-btn-link:hover { color: var(--ex-text-link-hover); }

.ex-round-btn {
	cursor: pointer;
	height: 44px;
	width: 44px;
	text-align: center;
	border-radius: var(--ex-radius-full);
	background: var(--ex-bg-white);
	line-height: 44px;
	padding: 0;
	box-shadow: var(--ex-shadow-md);
	border: 1px solid var(--ex-text-link) !important;
	transition: all var(--ex-transition);
	flex-shrink: 0;
}

.ex-round-btn:hover {
	border-color: var(--ex-text-link-hover) !important;
	color: var(--ex-text-link-hover);
	box-shadow: 1px 1px 2px rgba(0,0,0,0.35);
}

.ex-round-btn:active,
.ex-round-btn:focus,
.ex-round-btn:focus-within { box-shadow: none; }

.ex-close-btn:hover .close-svg { transform: rotate(180deg); }

.close-svg { height: 22px; width: 22px; stroke: var(--ex-text-link); }
.ex-round-btn:hover .close-svg { stroke: var(--ex-text-link-hover); }

/* ===== VOTE BUTTONS ===== */
.ex-vote-btn {
	padding: 0;
	width: 60px;
	height: 34px;
	border-radius: 22px;
	font-size: 1em;
	border: 1px solid var(--ex-border-light);
}

.ex-vote-btn.voted { color: var(--ex-text-link-hover); border: 1px solid var(--ex-border);}
.ex-vote-btn.voted svg { fill: var(--ex-text-link-hover); }
.dislike-btn svg { transform: rotate(180deg); }
.ex-vote-btn span { font-size: 1em; margin-left: 5px; }
.ex-vote-btn div { flex-wrap: nowrap; justify-content: center; height: 16px; }

.ex-thumb { width: 16px; height: 16px; fill: rgba(0,26,52,0.6); }

/* ===== ARROW BUTTONS ===== */
.ex-btn-arrow {
	position: absolute;
	top: 50%;
	margin-top: -20px;
	color: var(--ex-text-link);
	font-weight: bold;
	font-size: 25px;
	width: 50px;
	height: 50px;
	user-select: none;
	background: var(--ex-bg-white);
}

.ex-btn-arrow.prev { left: -60px; }
.ex-btn-arrow.next { right: -60px; }

.ex-arrow { width: 20px; height: 20px; }
.ex-arrow.prev { transform: rotate(90deg) translateY(1px); fill: var(--ex-primary); }
.ex-arrow.next { transform: rotate(270deg) translateY(1px); fill: var(--ex-primary); }

.ex-btn-arrow.prev:hover .ex-arrow { transform: rotate(90deg) translateY(2px); fill: var(--ex-text-link-hover); }
.ex-btn-arrow.next:hover .ex-arrow { transform: rotate(270deg) translateY(2px); fill: var(--ex-text-link-hover); }
.ex-btn-arrow.next:active .ex-arrow,
.ex-btn-arrow.next:focus .ex-arrow { transform: rotate(270deg) translateY(3px); }
.ex-btn-arrow.prev:active .ex-arrow,
.ex-btn-arrow.prev:focus .ex-arrow { transform: rotate(90deg) translateY(3px); }

.text-back-arrow { transform: rotate(180deg); }

/* ===== LITE BUTTON ===== */
.ex-lite-btn {
	display: flex;
	color: var(--ex-text-link);
	align-items: center;
	background: var(--ex-bg-light);
	padding: 9px 15px;
	box-shadow: var(--ex-shadow-sm);
	gap: 5px;
}
.ex-lite-btn:hover { color: var(--ex-text-link-hover); }
.ex-lite-btn .ex-arrow { width: 20px; height: 20px; }

/* ===== ALERTS ===== */
.alert-container {
	position: fixed;
	top: 20px;
	right: 20px;
	transition: all var(--ex-transition-slow);
	z-index: 1060;
	max-width: 400px;
}

.alert-container .ex-alert { margin-bottom: 10px; }
.alert-container a { color: inherit; text-decoration: underline; }

.ex-alert {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	flex-wrap: nowrap;
	padding: 10px 15px;
	position: relative;
	border: 0;
	top: -100px;
	right: -100px;
	border-radius: 30px;
	min-height: 50px;
	font-size: 13px;
	background: rgba(0,0,0,0.2);
	color: var(--ex-text-dark);
	font-weight: 500;
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	box-shadow: 2px 8px 15px rgba(0,0,0,0.08);
	transition: all 0.4s ease;
	overflow: hidden;
	gap: 10px;
}

.ex-alert.active { top: 0; right: 0; }
.ex-alert.slide-bottom { top: 500px; right: -100px; }
.ex-alert .fa { font-size: 26px; color: var(--ex-text-white); }

.ex-danger { background: rgba(255,0,0,0.47); }
.ex-success { background: rgba(28,176,75,0.72); }

.btn-close-alert {
	border: 0;
	transition: all var(--ex-transition);
	border-radius: var(--ex-radius-full);
	background: transparent;
	width: 40px;
	height: 40px;
	flex: 0 0 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 3px;
	box-shadow: 0 0 20px rgba(0,0,0,0.22);
}

.btn-close-alert:hover { background: rgba(255,0,0,0.29); }
.btn-close-alert .close-svg { stroke: var(--ex-text-white); }
.btn-close-alert:hover .close-svg { transform: rotate(180deg); }

.ex-info-container {
	background: var(--ex-warning);
	padding: 12px 15px;
	width: 100%;
	border-radius: var(--ex-radius-md);
	box-shadow: var(--ex-shadow-lg);
	text-align: left;
}

/* ===== REVIEW CONTENT ===== */
.ex-review-text-title {
	font-size: 1.1em;
	font-weight: 600;
	line-height: 1.2em;
	margin-bottom: 8px;
	display: inline;
}

.ex-review-text { margin-bottom: 10px; }

.footer-buttons { gap: 10px; font-size: 0.9em; }
.footer-buttons .reviews__item-link { margin-left: auto; }

.votes-caption { margin-bottom: 8px; color: var(--ex-text-muted); font-size: 0.9em; }
.ex-review-footer { margin: 20px 0 10px; }

/* ===== MODAL ===== */
.ex-modal {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1050;
	display: none;
	overflow: hidden;
	-webkit-overflow-scrolling: touch;
	outline: 0;
}

.ex-modal.open { display: block; }
.ex-modal.open .ex-modal__inner { display: flex; }

.all-media-modal { z-index: 1040; }
.all-media-modal .ex-round-btn { position: fixed; right: 2%; top: 10px; }

.ex-modal-open .ex-modal {
	overflow-x: hidden;
	overflow-y: auto;
	padding-right: 15px;
	background: var(--ex-bg-white);
}

.ex-modal-open { overflow: hidden; }

.ex-modal-backdrop {
	position: fixed;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	background: rgba(255,255,255,0.18);
	backdrop-filter: var(--ex-blur);
	-webkit-backdrop-filter: var(--ex-blur);
	z-index: 1022;
}

.ex-modal-wrapper {
	background: var(--ex-bg-white);
	border-radius: var(--ex-radius-lg);
	border: 1px solid var(--ex-border);
	box-shadow: var(--ex-shadow-lg);
	overflow: hidden;
	max-height: 90vh;
	overflow-y: auto;
}

.ex-modal__inner {
	width: 90vw;
	height: 90vh;
	gap: 10px;
	box-shadow: var(--ex-shadow-lg);
	border-radius: var(--ex-radius-lg);
	overflow: hidden;
	background: var(--ex-bg-white);
	display: none;
}

.ex-modal__media {
	min-width: 75%;
	height: 100%;
	flex: 3;
	position: relative;
}

.ex-modal-body {
	justify-content: center;
	display: flex;
	width: 100%;
	height: 100%;
	position: relative;
}

.ex-modal .ex-modal-content { width: 90vw; }

.modal-message-block { margin: 20px 20px 50px; }

.ex-modal-inner-backdrop {
	display: none;
	z-index: 9999;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
	background: rgba(255,255,255,0.62);
	-webkit-backdrop-filter: var(--ex-blur);
	backdrop-filter: var(--ex-blur);
}

.ex-modal-inner-backdrop.active { display: block; }
.ex-modal-inner-backdrop .ex-loader { display: block; }

.ex-modal-header {
	justify-content: space-between;
	align-items: center;
	width: 100%;
	margin: 0 auto;
	padding: 20px 7px;
	position: relative;
	flex-wrap: nowrap;
}

.review-media-modal .ex-modal-header { min-height: 60px; }
.review-media-modal .ex-modal-header .ex-round-btn { position: absolute; right: 0; top: 10px; }

.review-write-modal .ex-modal-header {
	position: sticky;
	top: 0;
	z-index: 1;
	background: var(--ex-bg-white);
	padding: 10px 20px;
}

.review-write-modal .ex-modal-body { height: auto; }
.review-write-modal .ex-modal-content {
	max-width: 900px;
	height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.ex-modal-title { font-size: 1.5em; margin: 0; }
.ex-modal-title sup { font-size: 0.7em; color: var(--ex-text-muted); }

.ex-modal-dialog {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.ex-modal-open .review-media-modal { background: transparent; }
.ex-modal-open .review-write-modal {
	background: rgba(255,255,255,0.68);
	backdrop-filter: var(--ex-blur);
	-webkit-backdrop-filter: var(--ex-blur);
}

.ex-modal.loading .ex-slideshow-container { filter: blur(2px); }
.ex-modal.loading .ex-loader { display: block; z-index: 1; }
.ex-modal.loading .ex-btn-arrow { pointer-events: none; opacity: 0.4; }
.ex-modal.loading .ex-modal-review-caption { filter: grayscale(1) blur(2px); }

/* ===== SLIDESHOW ===== */
.ex-slideshow-container {
	height: 100%;
	position: relative;
	cursor: grab;
	overflow: hidden;
}

.ex-slides {
	display: none;
	width: 100%;
	height: 100%;
	flex-direction: column;
	justify-content: center;
	cursor: move;
	cursor: grab;
	cursor: -moz-grab;
	cursor: -webkit-grab;
}

.ex-slides:active {
	cursor: grabbing;
	cursor: -moz-grabbing;
	cursor: -webkit-grabbing;
}

.ex-slides.active { display: flex; }

.ex-slides > video,
.ex-slides img,
.ex-slides iframe {
	height: 100%;
	z-index: 1;
	object-fit: contain;
	user-drag: none;
	-webkit-user-drag: none;
	user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
}

.backdrop-img {
	position: absolute;
	height: 100%;
	width: 100%;
	top: 0;
}

.backdrop-img img {
	height: 100%;
	width: 100%;
	backface-visibility: hidden;
	object-fit: cover;
	filter: var(--ex-blur);
}

.ex-numbertext {
	position: absolute;
	top: 60px;
	left: 10px;
	font-size: 0.8em;
	font-weight: 500;
	z-index: 2;
	padding: 0 5px;
	background: rgba(255,255,255,0.28);
	border-radius: 5px;
	backdrop-filter: var(--ex-blur-light);
	-webkit-backdrop-filter: var(--ex-blur-light);
}

.ex-fade {
	-webkit-animation-name: fade;
	-webkit-animation-duration: 1.5s;
	animation-name: fade;
	animation-duration: 1.5s;
}

.original_image {
	position: absolute;
	top: 0;
	right: 2px;
	z-index: 1;
	opacity: 0.7;
}

.original_image:hover { opacity: 1; }
.original_image:hover svg { fill: var(--ex-text-link-hover); }

.expand-image { width: 24px; height: 24px; }

/* ===== LOADER ===== */
.loader-caption {
	position: absolute;
	top: calc(50% + 80px);
	width: 100%;
	text-align: center;
	font-size: 1.3em;
	text-shadow: 1px 1px 17px rgba(60,60,60,0.48);
}

.ex-loader {
	display: none;
	color: var(--ex-text-link-hover);
	font-size: 45px;
	text-indent: -9999em;
	overflow: hidden;
	width: 1em;
	height: 1em;
	border-radius: var(--ex-radius-full);
	position: absolute;
	left: calc(50% - 0.5em);
	top: calc(50% - 0.5em);
	transform: translateZ(0);
	animation: mltShdSpin 1.7s infinite ease, round 1.7s infinite ease;
}

.all-media-thumbnail .ex-loader { display: block; }

.ex-pagination-block { position: relative; min-height: 100px; }
.ex-pagination-block .ex-loader {
	display: block;
	font-size: 36px;
	margin-top: 40px;
	color: var(--ex-text-link-hover);
}

@keyframes mltShdSpin {
	0% { box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em; }
	5%, 95% { box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em; }
	10%, 59% { box-shadow: 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em, -0.173em -0.812em 0 -0.44em, -0.256em -0.789em 0 -0.46em, -0.297em -0.775em 0 -0.477em; }
	20% { box-shadow: 0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em, -0.555em -0.617em 0 -0.44em, -0.671em -0.488em 0 -0.46em, -0.749em -0.34em 0 -0.477em; }
	38% { box-shadow: 0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em, -0.645em -0.522em 0 -0.44em, -0.775em -0.297em 0 -0.46em, -0.82em -0.09em 0 -0.477em; }
	100% { box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em; }
}

@keyframes round {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

/* ===== REVIEW CAPTION (MODAL) ===== */
.ex-modal-review-caption {
	flex: 1;
	height: 100%;
	overflow: hidden;
	overflow-y: auto;
	scrollbar-width: thin;
}

.ex-review-container { width: 100%; margin-bottom: 20px; }

.ex-review-header {
	justify-content: flex-start;
	align-items: flex-start;
	padding: 5px 0 10px;
}

/* ===== AVATAR ===== */
.ex-review-avatar {
	height: 80px;
	width: 80px;
	background: var(--ex-bg-avatar);
	border-radius: var(--ex-radius-md);
	text-align: center;
	line-height: 80px;
	font-size: 40px;
	font-weight: 500;
	color: var(--ex-text-white);
	margin-right: 10px;
	overflow: hidden;
	position: relative;
	transition: all var(--ex-transition-slow);
}

.ex-review-avatar img {
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.review-avatar {
	height: 65px;
	width: 65px;
	background: var(--ex-bg-avatar);
	border-radius: var(--ex-radius-full);
	text-align: center;
	line-height: 65px;
	font-size: 24px;
	font-weight: 600;
	color: var(--ex-text-white);
	margin-right: 10px;
	overflow: hidden;
}

.review-avatar img {
	width: 100%;
	object-fit: cover;
	vertical-align: baseline;
}

.ex-comment-header .ex-review-avatar {
	height: 50px;
	width: 50px;
	line-height: 50px;
}

/* ===== ZOOM ===== */
.ex-zoom { cursor: zoom-in; z-index: 1; }
.ex-zoom.active {
	transform: scale(4);
	cursor: zoom-out;
	border-radius: 5px;
	z-index: 5;
	box-shadow: var(--ex-shadow-md);
}

.ex-modal-review-caption .ex-zoom.active {
	transform: scale(3.3) translate(28px, 26px);
}

/* ===== REVIEW META ===== */
.ex-review-title { justify-content: space-between; align-items: baseline; flex: 1; }
.ex-review-rating { gap: 2px;}
.ex-review-author { display: flex; flex-direction: column; gap: 4px; }
.ex-review-name { font-size: 1.1em; font-weight: 600; margin-right: 10px;}
.ex-review-date { color: var(--ex-text-muted); }

.ex-review-purchased {
	font-size: .9em;
	font-weight: 500;
	color: #1aa31f;
	display: flex;
	gap: 5px;
	align-items: center;
	background: #cae7ce;
	padding: 0 5px;
	border-radius: 20px;
}

.ex-review-purchased .fa { font-size: 9px; color: #fff;padding-left: 1px; }

/* ===== STARS ===== */
.ex-star { width: 20px; height: 20px; fill: var(--ex-star); }
.ex-star-grey { fill: var(--ex-star-empty); }

.form-star {
	height: 25px;
	width: 30px;
	padding-right: 5px;
	cursor: pointer;
	fill: #c8c8d1;
}

.form-star:hover,
.form-star.active,
.review-form-rating-block:hover > svg { fill: var(--ex-star-hover); }
.review-form-rating-block > svg:hover ~ svg { fill: #c8c8d1 !important; }

.reviews-rating-stars { position: relative; display: flex; flex-direction: row; align-items: center; gap: 12px; cursor: pointer; }
.reviews-rating-stars .ex-star { width: 20px; height: 20px; flex-shrink: 0; }
.full-stars-block { position: absolute; top: 0; overflow: hidden; }

/* ===== RATING STATS ===== */
.reviews-rating-stat-caption { flex: 3; color: var(--ex-text-muted); white-space: nowrap; font-size: 0.9em; font-weight: 600; }
.clickable .reviews-rating-stat-caption { color: var(--ex-text-link); }
.reviews-rating-stat { cursor: pointer; padding-bottom: 5px; }

.current .rating-stat-line-inner { background: var(--ex-text-link-hover); }

.clickable:hover .reviews-rating-stat-caption,
.clickable:hover .reviews-rating-stat-sum,
.current .reviews-rating-stat-caption,
.current .reviews-rating-stat-sum { color: var(--ex-text-link-hover); }

.reviews-rating-stat-line {
	flex: 10;
	background: var(--ex-bg-light);
	height: 6px;
	border-radius: 10px;
	margin: 0 10px;
	overflow: hidden;
}

.rating-stat-line-inner { background: var(--ex-star); height: 6px; }

.reviews-rating-stat-sum {
	flex: 1;
	color: var(--ex-text-muted);
	font-weight: 600;
	display: flex;
	flex-wrap: nowrap;
	gap: 3px;
	align-items: center;
	justify-content: flex-end;
}

.remove-filter-rating {
	display: none;
	height: 14px;
	width: 14px;
	stroke: var(--ex-text-link-hover);
	margin-right: -17px;
	cursor: pointer;
	z-index: 1;
}

.current .remove-filter-rating { display: inline-block; }

/* ===== RATING BLOCK ===== */
.reviews-rating-header {
	justify-content: space-between;
	width: 100%;
	padding-bottom: 15px;
	border-bottom: 1px solid rgba(204,214,228,0.6);
}

.reviews-rating-block { max-width: 500px; align-items: center; margin-bottom: 20px; flex: 2; }
.reviews-rating-caption,
.reviews-rating-footer { margin-top: 15px; color: var(--ex-text-muted); }
.reviews-rating-stats { margin-top: 15px; }
.reviews-rating-body { width: 100%; display: flex; flex-direction: column; gap: 5px; }
.reviews-rating-num { font-size: 1.5em; font-weight: 600; margin-left: 10px; }

.rating-stars-block,
.rating-total-caption { white-space: nowrap; }

/* ===== TOP CONTAINER ===== */
.reviews-top-container {
	border-radius: var(--ex-radius-lg);
	border: solid 1px var(--ex-border-light);
	padding: 20px;
	margin: 20px 0;
}

.add-review-top-block {
	justify-content: space-evenly;
	align-items: center;
	display: flex;
	flex: 2;
	padding: 10px;
	flex-wrap: wrap;
}

.review-rating-info-block {
	display: flex;
	flex: 2;
	width: fit-content;
	height: fit-content;
	flex-direction: column;
	font-size: 1.1em;
}

.title-rating-block {
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--ex-border-light);
	gap: 10px;
}

.title-rating { font-size: 34px; line-height: 100%; }
.title-rating-empty { font-size: 24px; }
.title-rating .ex-star { width: 30px; height: 30px; }
.rating-title-caption { color: var(--ex-text-muted); }
.rating-average-text { margin-bottom: 10px; font-size: 1.1em; font-weight: 500; }

/* ===== FORMS ===== */
#form-ex-review,
#form-comment { padding: 20px 50px; width: 100%; }

.ex-form {
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-bottom: 10px;
}

.ex-form .form-control { max-width: 100%; height: auto; }

.ex-form label,
.count-symbols { color: var(--ex-text-muted); font-size: 0.9em; font-weight: 500; margin-bottom: 5px; }

.form-info-block { color: var(--ex-text-muted); gap: 10px; font-size: 0.9em; }
.form-control.warning { border-color: var(--ex-danger) !important; }

.ex-form-horizontal { display: flex; flex-direction: column; justify-content: center; }

.review-form-btn-block { justify-content: space-between; margin: 20px 0 0; }
.review-form-title { font-size: 22px; margin-bottom: 20px; font-weight: 500; }
.review-title-caption { justify-content: space-between; align-items: baseline; flex: 1; }

.ex-form-buttons { padding: 0 50px 20px; text-align: right; justify-content: space-between; }

.form-check-block input { margin: 0 5px 0 0; }
.form-check-block label { margin: 0; }

/* ===== AVATAR UPLOAD ===== */
.add-avatar-block input { display: none; }

.add-avatar-trigger {
	width: fit-content;
	align-items: center;
	border: 1px dashed var(--ex-border);
	text-align: center;
	line-height: 12px;
	cursor: pointer;
	border-radius: 10px;
	overflow: hidden;
}

.add-avatar-block.active .common-avatar { display: none; }
.loaded-avatar { display: none; }
.add-avatar-block.active .loaded-avatar { display: block; }

.rating-avatar-block { justify-content: space-between; }

.user-plus-svg { height: 50px; width: 50px; fill: var(--ex-text-link); vertical-align: middle; }

.avatar-image {
	height: 100px;
	width: 110px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.avatar-image img { width: 100%; height: 100%; object-fit: cover; }

.avatar-caption span {
	font-size: 12px;
	font-weight: 600;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 22px;
}

.add-avatar-block.active .avatar-caption span {
	background: var(--ex-danger);
	color: var(--ex-text-white);
}

/* ===== MEDIA UPLOAD ===== */
.adding-media-block > div {
	margin-bottom: 10px;
	padding: 15px 10px;
	border: 1px dashed var(--ex-border);
	border-radius: var(--ex-radius-md);
}

.adding-image-block input { display: none; }

.adding-video-block,
.adding-image-block { cursor: pointer; }

.adding-video-block:hover svg,
.adding-image-block:hover svg { fill: var(--ex-text-link-hover); }

.image-box,
.video-box {
	display: flex;
	width: 40px;
	height: 40px;
	justify-content: center;
	align-items: center;
	border-radius: 2px;
	margin-right: 15px;
	cursor: pointer;
	line-height: 12px;
	font-size: 12px;
	color: var(--ex-text-link);
}

.img-preview-container {
	display: flex;
	flex-direction: column;
	border-radius: 10px;
	overflow: hidden;
}

.add-photo-container.active .thumbs-container,
.add-video-container.active .thumbs-container { display: flex; }

.add-photo-container.active .add-photo-caption,
.add-video-container.active .add-video-caption { display: none; }

.thumbs-container {
	display: none;
	flex-direction: row;
	align-items: center;
	flex-wrap: wrap;
	width: 100%;
	border-radius: 4px;
	gap: 10px;
}

.thumbs-container.active {
	margin: 10px 0;
	padding: 5px;
	border: 1px dashed var(--ex-border-light);
}

.photo-plus-svg { height: 35px; width: 35px; vertical-align: middle; fill: var(--ex-text-link); }

.image-box:hover svg,
.video-box:hover svg,
.avatar-image:hover svg { fill: var(--ex-text-link-hover); }

/* ===== VIDEO LINK ===== */
.video-link-container { width: 100%; display: flex; flex-direction: row; }
.video-link-container .ex-btn { white-space: nowrap; }

#input-video-link { border-top-right-radius: 0; border-bottom-right-radius: 0; margin: 0;}

.video-link-container button {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	font-size: 0.9em;
	padding: 5px 15px;
}

.video-link-block { display: block; }
.video-link-trigger { margin-bottom: 20px; }
.add-video-link-container { margin-top: 10px; }
.add-video-link-container.active .add-video-caption { display: none; }

/* ===== THUMBNAILS ===== */
.ex-review-thumbnail {
	border-radius: var(--ex-radius-sm);
	margin: 8px 5px 8px 0;
	width: 120px;
	height: 120px;
	overflow: hidden;
	cursor: pointer;
	flex-shrink: 0;
	position: relative;
	box-shadow: var(--ex-shadow-md);
}

.ex-review-thumbnail img {
	width: 100%;
	user-drag: none;
	-webkit-user-drag: none;
	user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
}

.ex-review-thumbnail .video-play-icon { width: 40px; height: 40px; margin: -20px 0 0 -20px; }

/* ===== DRAG SCROLL ===== */
.ex-drag {
	overflow-x: auto;
	white-space: nowrap;
	transition: all var(--ex-transition);
	will-change: transform;
	user-select: none;
	cursor: pointer;
	padding-bottom: 5px;
	flex-wrap: nowrap;
}

/* ===== ALL MEDIA MODAL ===== */
.all-media-modal-inner { align-items: center; width: 100%; }

.all-media-thumbnails-stack {
	flex-wrap: wrap;
	justify-content: flex-start;
	width: 100%;
}

.all-media-thumbnail {
	height: 40vh;
	width: calc(16.6667% - 14px);
	margin: 0 7px 14px;
	cursor: pointer;
	border-radius: var(--ex-radius-md);
	position: relative;
	overflow: hidden;
	transition: all var(--ex-transition-slow);
	box-shadow: var(--ex-shadow-lg);
}

.all-media-thumbnail.active { transform: scale(1.03); }
.all-media-thumbnail:hover img { transform: scale(1.05); }

.all-media-thumbnail img {
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	transition: all var(--ex-transition-slow);
}

.all-media-thumbnail video {
	object-fit: cover;
	object-position: 50%;
	pointer-events: none;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.back-to-all-trigger {
	position: absolute;
	font-weight: 600;
	left: 10px;
	top: 10px;
	cursor: pointer;
	z-index: 2;
	gap: 4px;
	padding: 10px;
	background: rgba(255,255,255,0.28);
	border-radius: var(--ex-radius-sm);
	backdrop-filter: var(--ex-blur-light);
	-webkit-backdrop-filter: var(--ex-blur-light);
	transition: all 0.1s ease;
}

.back-to-all-trigger:hover { color: var(--ex-text-link-hover); }
.text-back-arrow { height: 20px; width: 20px; }

.video-play-icon {
	width: 60px;
	height: 60px;
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -30px 0 0 -30px;
	transition: all 0.1s ease;
	fill: #000;
	opacity: 0.5;
	z-index: 1;
}

.all-media-thumbnail:hover .video-play-icon { opacity: 0; }
.st0 { fill: #f00; }

/* ===== MEDIA BLOCK ===== */
.page-media-block { margin-bottom: 20px; gap: 10px; }

.all-media-trigger {
	cursor: pointer;
	text-align: right;
	padding: 5px 0 0;
	color: var(--ex-text-link);
}

.all-media-trigger:hover { color: var(--ex-text-link-hover); }

/* ===== LOAD MORE ===== */
.load-more-block {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	margin: 10px 0 20px;
	background: transparent;
	color: var(--ex-text-link);
	font-size: 1.2em;
	cursor: pointer;
}

.load-more-arrow {
	width: 30px;
	height: 30px;
	fill: var(--ex-text-link);
	transition: transform var(--ex-transition-slow);
}

.load-more-block:hover { color: var(--ex-text-link-hover); }
.load-more-block:hover svg { transform: rotate(120deg); fill: var(--ex-text-link-hover); }

/* ===== COMMENTS ===== */
.ex-comment-header { justify-content: space-between; margin-bottom: 10px; }
.ex-comment-container { border-bottom: var(--ex-border-default); }
.ex-comment-container:last-child { border: 0; }

/* ===== REVIEW BLOCKS ===== */
.ex-review-block {
	padding: 15px 20px;
	border-radius: var(--ex-radius-lg);
	border: var(--ex-border-default);
	margin-bottom: 20px;
}

.ex-comments-block {
	margin-left: 3%;
	padding: 15px 20px;
	border-radius: var(--ex-radius-lg);
	border: var(--ex-border-default);
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 10px;
}

.ex-comments-block::before {
	content: '';
	position: absolute;
	height: 20px;
	width: 20px;
	top: -10px;
	left: 10%;
	transform: rotate(45deg);
	z-index: 1;
	border-top: var(--ex-border-default);
	border-left: var(--ex-border-default);
	background: var(--ex-bg-white);
}
.ex-comments-block:empty{
	padding: 0;
	border: 0;
}

.ex-modal .ex-review-block,
.ex-modal .ex-comments-block { box-shadow: none; margin-bottom: 0; padding: 10px; border: 0;}
.ex-modal .ex-comments-block::before { display: none; }

.ex-admin-answer-block {
	padding: 10px;
	background: var(--ex-bg-light);
	border-radius: 10px;
}

/* ===== CHECKBOX ===== */
.checkbox-inner {
	height: 20px;
	width: 20px;
	display: block;
	border: 1px solid #afafaf;
	border-radius: 2px;
}

.ex-checkbox {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	position: relative;
	cursor: pointer;
	gap: 10px;
	height: fit-content;
}

.ex-checkbox:hover .checkbox-inner { border-color: var(--ex-text-link-hover); }

.ex-checkbox.selected::after {
	content: '';
	position: absolute;
	height: 14px;
	width: 7px;
	border-bottom: 3px solid var(--ex-text-white);
	border-right: 2px solid var(--ex-text-white);
	left: 7px;
	top: 1px;
	transform: rotate(38deg);
}

.ex-checkbox.selected .checkbox-inner {
	background: var(--ex-primary);
	border-color: var(--ex-primary);
}

/* ===== SORT ===== */
.reviews-sort-container { gap: 15px; padding: 20px 0; }
.ex-sort { cursor: pointer; }
.ex-sort-arrow { height: 16px; width: 16px; display: none; }
.ex-sort-arrow.arrow-up { transform: rotate(180deg); }
.ex-sort.active .ex-sort-arrow { display: block; }

/* ===== PRODUCT INFO ===== */
.ex-product-info-image {
	width: 140px;
	border-radius: var(--ex-radius-md);
	overflow: hidden;
}

.ex-product-info-image-block { align-items: center; }
.ex-product-info-image img { width: 100%; height: auto;}

.ex-product-info-name {
	font-size: 1.1em;
	font-weight: 600;
	margin: 20px 0;
	text-align: center;
}

.ex-product-info-name a { color: inherit; text-decoration: none !important; }

/* ===== PAGE NAVIGATION ===== */
.ex-reviews-page .add-review-top-block { flex-direction: row; }
.ex-heading-title { margin-bottom: 30px; }

.back-container { margin: 10px 0; justify-content: flex-end; }
.ex-back-btn { display: none; }

.ex-reviews-page .ex-back-btn { display: flex; }
.ex-reviews-page .ex-reviews-btn { display: none; }
.ex-reviews-page .back-container { justify-content: flex-start; }

/* ===== HIDDEN AUTHOR ===== */
.ex-hidden-author { gap: 10px; }

.ex-hidden-review {
	background: rgba(0,0,0,0.61);
	position: absolute;
	bottom: 0;
	z-index: 11;
	color: var(--ex-text-white);
	width: 100%;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	font-weight: 400;
	padding: 10px;
	display: none;
}

.ex-hidden-review div { margin-bottom: 0; }

/* ===== MOBILE CAPTION ===== */
.ex-modal-mobile-caption {
	display: none;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
}

.close-caption {
	line-height: 10px;
	background: rgba(0,0,0,0.3) !important;
	box-shadow: none !important;
	height: 40px;
	width: 40px;
	padding: 9px;
	border-radius: var(--ex-radius-full);
	position: fixed;
	right: 10px;
	border: 0;
}

.close-caption svg { stroke: var(--ex-text-white); height: 26px; width: 30px; }

.ex-modal-mobile-title { font-size: 1.2em; font-weight: 500; padding: 5px 40px 10px 0; width: 100%; }

/* ===== SUCCESS MESSAGE ===== */
.modal-message-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 32px 24px;
}

.ex-review-success-message {
    background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
    border: 1px solid #bbf7d0;
    border-radius: 16px;
    padding: 32px;
    text-align: center;
    margin-bottom: 24px;
    width: 100%;
    animation: fadeInUp 0.4s ease-out;
}

.ex-review-success-message i {
    font-size: 56px;
    color: #22c55e;
    margin-bottom: 16px;
    display: block;
    filter: drop-shadow(0 4px 6px rgba(34, 197, 94, 0.3));
    animation: scaleIn 0.5s ease-out, pulse 2s ease-in-out 0.5s infinite;
}

.ex-review-success-message strong {
    display: block;
    font-size: 15px;
    font-weight: 500;
    color: #166534;
    line-height: 1.6;
}

.ex-review-success-action {
    animation: fadeIn 0.4s ease-out 0.2s both;
}

.ex-btn-success {
    background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
    color: #fff;
    border: none;
    padding: 14px 40px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s;
    box-shadow: 0 4px 12px rgba(34, 197, 94, 0.3);
}

.ex-btn-success:hover {
    transform: translateY(-2px) scale(1.05);
    box-shadow: 0 6px 16px rgba(34, 197, 94, 0.4);
}

/* Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes scaleIn {
    from { transform: scale(0); }
    to { transform: scale(1); }
}

@keyframes pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.empty-page { margin: 20px 0; font-size: 16px; font-weight: 500; }

/* ===== MEDIA PRODUCT IMAGE ===== */
.ex-media-product-image-container { display: flex; overflow: hidden; }
.ex-media-product-image-container img { width: 100%; object-fit: contain; }

/* ===== MEDIA QUERIES ===== */
@media (min-width: 1024px) {
	.hide-desktop { display: none !important; }
}

@media (max-width: 991px) {
	.ex-modal-mobile-caption { display: flex; }
	.alert-container { top: 10px; right: 5px; }
	.ex-review-block { padding: 15px 10px; }
	.ex-hidden-review { display: block; max-height: 166px; }
	.ex-modal__inner { flex-direction: column; }
	
	.ex-modal-review-caption {
		position: absolute;
		z-index: 15;
		height: 80%;
		background: var(--ex-bg-white);
		bottom: 0;
		width: 100%;
		padding: 10px;
		display: none;
		overflow-y: auto;
		border-top-right-radius: var(--ex-radius-lg);
		border-top-left-radius: var(--ex-radius-lg);
		box-shadow: -1px -3px 15px rgba(0,0,0,0.12);
	}
	
	.all-media-thumbnail { width: calc(33% - 14px); }
	.ex-modal-open .ex-modal { padding-right: 0; }
	.ex-slides > video, .ex-slides > img { width: 100%; height: auto; }
	.ex-modal .ex-modal-content, .ex-modal__inner { width: 100vw; height: 100vh; border-radius: 0; }
	
	.review-media-modal .ex-modal-header,
	.all-media-modal .ex-modal-header { position: absolute; top: 0; z-index: 11; }
	
	.all-media-modal .ex-modal-title,
	.review-media-modal .ex-modal-title,
	.original_image { display: none; }
	
	.ex-modal__media { width: 100%; }
	.back-to-all-trigger { z-index: 12; }
	.all-media-modal .ex-modal-body { height: auto; padding: 10px 0; }
	
	.ex-btn-arrow, .ex-close-btn {
		z-index: 12;
		background: rgba(255,255,255,0.47);
		color: rgba(255,255,255,0.56);
		backdrop-filter: blur(5px);
		-webkit-backdrop-filter: blur(5px);
	}
	
	.ex-close-btn svg { fill: rgba(255,255,255,0.56); }
	.ex-btn-arrow.next { right: 0; }
	.ex-btn-arrow.prev { left: 0; }
	.review-media-modal .ex-modal-header .ex-round-btn { right: 10px; }
	.ex-zoom.active { transform: scale(3); left: 50px; }
	.ex-modal-review-caption .ex-zoom.active { transform: scale(3) translate(6px, 26px); }
}

@media (min-width: 768px) {
	.ex-drag::-webkit-scrollbar,
	.modal-review-info::-webkit-scrollbar { height: 3px; width: 6px; }
	
	.ex-drag::-webkit-scrollbar-track,
	.modal-review-info::-webkit-scrollbar-track { background: var(--ex-scrollbar-track); border-radius: 20px; }
	
	.ex-drag::-webkit-scrollbar-thumb,
	.modal-review-info::-webkit-scrollbar-thumb { background-color: var(--ex-scrollbar-thumb); border-radius: 20px; border: 0; }
	
	.ex-drag::-webkit-scrollbar-thumb:hover,
	.modal-review-info::-webkit-scrollbar-thumb:hover { background: var(--ex-scrollbar-thumb-hover); }
	
	.ex-alert { min-width: 360px; }
}

@media (max-width: 767px) {
	.ex-product-info-image, .ex-product-info-name { display: none; }
	.reviews-top-container { flex-direction: column; gap: 10px; }
	#form-ex-review, #form-comment, .ex-form-buttons { padding: 15px; }
	.ex-modal-wrapper { max-height: 100vh; border-radius: 0; }
	.all-media-thumbnail { width: calc(50% - 6px); margin: 0 3px 5px; border-radius: var(--ex-radius-sm); }
	.ex-modal-body { overflow-y: auto; }
}

@media (max-width: 480px) {
	.all-media-thumbnail { height: 33vh; }
	.ex-round-btn { width: 44px; height: 44px; }
	.ex-arrow { width: 17px; height: 17px; }
}

.review-pinned-badge{
	margin-bottom: 10px;
  font-size: 1.3em;
  font-weight: 600;
}
.wavy-circle {
  display: inline-flex;
  height: 30px;
  width: 30px;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  color: var(--ex-text-dark);
  clip-path: polygon(
    50% 0%, 61% 11%, 75% 5%, 80% 21%, 95% 25%, 
    89% 39%, 100% 50%, 89% 61%, 95% 75%, 80% 79%, 
    75% 95%, 61% 89%, 50% 100%, 39% 89%, 25% 95%, 
    21% 80%, 5% 75%, 11% 61%, 0% 50%, 11% 39%, 
    5% 25%, 21% 21%, 25% 5%, 39% 11%
  );
}
.review-0 .wavy-circle{
	height: 34px;
  width: 34px;
	font-size: 18px;
	background: var(--ex-star);
	color: #fff;
}
.review-1 .wavy-circle{
	height: 32px;
  width: 32px;
	font-size: 17px;
	background: #b9b9b9;
	color: #fff;
}
.review-2 .wavy-circle{
	background: #cf7331;
	color: #fff;
}
.pinned-review{
	background: #f7f7f7;
  border-color: silver;
}
.pinned-review.review-0{
	background: #fffaf3;
  border-color: var(--ex-star);
	border-width: 2px;
}
.badge-starburst {
	display: inline-flex;
	height: 13px;
	width: 13px;
	justify-content: center;
	align-items: center;
	background: #4CAF50;
	color: #fff;
	font-size: 1.1em;
	position: relative;
	z-index: 0;
}

.badge-starburst::before,
.badge-starburst::after {
  content: '';
  position: absolute;
  inset: 0;
  background: inherit;
  z-index: -1;
}

.badge-starburst::before {
  transform: rotate(30deg);
}

.badge-starburst::after {
  transform: rotate(60deg);
}

.badge-starburst,
.badge-starburst::before,
.badge-starburst::after {
  border-radius: 20%;
}
/* Mini Modal */
.mini-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 9999;
    justify-content: center;
    align-items: center;
    padding: 15px;
    display: flex;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.2s ease, visibility 0.2s ease;
}

.mini-modal-overlay.ex-show {
    visibility: visible;
    opacity: 1;
}

.mini-modal {
    background: #fff;
    border-radius: 8px;
    max-width: 500px;
    min-width: 200px;
    max-height: 80vh;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    transform: scale(0.9);
    opacity: 0;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.mini-modal-overlay.ex-show .mini-modal {
    transform: scale(1);
    opacity: 1;
}

@media (max-width: 767px) {
    .mini-modal {
        max-width: 80vw;
    }
}

@media (max-width: 480px) {
	.ex-btn-send{
		width: 100%;
	}
    .mini-modal-overlay {
        align-items: flex-end;
        padding: 0;
    }
    
    .mini-modal {
        max-width: 100vw;
        width: 100%;
        border-radius: 16px 16px 0 0;
        transform: translateY(100%);
        opacity: 1;
        transition: transform 0.3s ease;
    }
    
    .mini-modal-overlay.ex-show .mini-modal {
        transform: translateY(0);
    }
    
    .mini-modal-body {
        padding: 30px 15px 40px;
    }
}

.mini-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 15px;
    border-bottom: 1px solid #eee;
}

.mini-modal-title {
    font-weight: 600;
    font-size: 16px;
    color: #333;
}

.mini-modal-close {
    background: none;
    border: none;
    font-size: 22px;
    line-height: 1;
    color: #999;
    cursor: pointer;
    padding: 0 5px;
}

.mini-modal-close:hover {
    color: #333;
}

.mini-modal-body {
    padding: 20px;
    line-height: 1.6;
    color: #555;
    overflow-y: auto;
    max-height: calc(80vh - 50px);
}

.mini-modal-body p:last-child {
    margin-bottom: 0;
}

/* Плашка purchased с курсором */
.ex-review-purchased.has-caption {
    cursor: pointer;
    transition: opacity 0.2s;
}

.ex-review-purchased.has-caption:hover {
    opacity: 0.8;
}
.ex-reviews-info {
    padding: 15px;
    margin-bottom: 20px;
    background: #f8f9fa;
    border-radius: var(--ex-radius-lg);
    color: #555;
		border: var(--ex-border-default);
}

.ex-reviews-info p:last-child {
    margin-bottom: 0;
}
.ex-form-privacy {
    margin: 16px 0;
}

.ex-form-privacy .privacy-label {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
    font-size: 14px;
    line-height: 1.5;
    color: #4b5563;
}

.ex-form-privacy .privacy-checkbox {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.ex-form-privacy .checkbox-custom {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    border: 2px solid #d1d5db;
    border-radius: 4px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    margin-top: 1px;
}

.ex-form-privacy .checkbox-custom svg {
    width: 12px;
    height: 12px;
    stroke: #fff;
    stroke-width: 3;
    fill: none;
    opacity: 0;
    transform: scale(0.5);
    transition: all 0.2s ease;
}

.ex-form-privacy .privacy-checkbox:checked + .checkbox-custom {
    background: var(--ex-primary);
    border-color: var(--ex-primary);
}

.ex-form-privacy .privacy-checkbox:checked + .checkbox-custom svg {
    opacity: 1;
    transform: scale(1);
}

.ex-form-privacy .privacy-checkbox:focus + .checkbox-custom {
    box-shadow: 0 0 0 3px rgb(34 54 197 / 20%);
}

.ex-form-privacy .privacy-label:hover .checkbox-custom {
    border-color: var(--ex-primary);
}
.ex-privacy-block{
	justify-content: space-between;
}
.ex-privacy-block .ex-btn{
	margin-left: auto;
}