.tei-reviews-premium {
	--tei-reviews-primary: #5b45ff;
	--tei-reviews-stars: #f5b800;
	--tei-reviews-card: #fff;
	--tei-reviews-avatar-size: 46px;
	--tei-reviews-radius: 14px;
	color: #202124;
}

.tei-reviews-premium #review_form_wrapper { display: none !important; }

.tei-reviews-premium .wd-rating-summary {
	padding: clamp(20px, 2.5vw, 28px);
	border: 1px solid #eceef2;
	border-radius: var(--tei-reviews-radius);
	background: #f7f8fa;
}

.tei-reviews-premium .tei-review-toolbar {
	padding: 18px 0;
	border-bottom: 1px solid #e8eaf0;
}

.tei-reviews-premium .commentlist,
.tei-reviews-premium ol.commentlist {
	display: grid;
	gap: 16px;
	margin: 0 !important;
	padding: 0 !important;
}

.tei-reviews-premium li.tei-premium-review,
.tei-reviews-premium .commentlist > li.tei-premium-review {
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid #e6e8ee !important;
	border-radius: var(--tei-reviews-radius) !important;
	background: var(--tei-reviews-card) !important;
	box-shadow: 0 8px 26px rgba(21, 27, 38, .055);
	overflow: hidden;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.tei-reviews-premium li.tei-premium-review:hover {
	border-color: color-mix(in srgb, var(--tei-reviews-primary) 25%, #e6e8ee) !important;
	box-shadow: 0 12px 30px rgba(21, 27, 38, .085);
	transform: translateY(-1px);
}

.tei-reviews-premium .tei-premium-review > .comment_container,
.tei-reviews-premium .tei-premium-review .comment_container {
	display: grid !important;
	grid-template-columns: var(--tei-reviews-avatar-size) minmax(0, 1fr);
	align-items: start;
	gap: 15px;
	padding: 22px !important;
	min-height: 0;
}
.tei-reviews-premium .tei-premium-review .comment_container > img.avatar { display:none !important; }

.tei-review-avatar {
	display: inline-grid;
	place-items: center;
	width: var(--tei-reviews-avatar-size);
	height: var(--tei-reviews-avatar-size);
	border-radius: 50%;
	background: var(--tei-avatar-color, var(--tei-reviews-primary));
	color: #fff;
	font-size: calc(var(--tei-reviews-avatar-size) * .42);
	font-weight: 750;
	line-height: 1;
	letter-spacing: -.03em;
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.22);
	user-select: none;
}

.tei-reviews-premium .tei-premium-review .comment-text {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	min-width: 0;
}

.tei-reviews-premium .woocommerce-review__author {
	color: #111318;
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
}

.tei-reviews-premium .woocommerce-review__author + .woocommerce-review__dash { display: none; }

.tei-reviews-premium .comment-text > .meta,
.tei-reviews-premium .woocommerce-review__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
	margin-bottom: 0 !important;
}

.tei-reviews-premium .woocommerce-review__published-date { margin-left: auto; }

.tei-reviews-premium .woocommerce-review__published-date,
.tei-reviews-premium .woocommerce-review__dash {
	color: #7b8190;
	font-size: 13px;
}

.tei-reviews-premium .star-rating,
.tei-reviews-premium .stars a,
.tei-reviews-premium .wd-star-rating {
	color: var(--tei-reviews-stars) !important;
}

.tei-reviews-premium .comment-text .star-rating {
	margin: 7px 0 13px !important;
	float: none !important;
}

.tei-reviews-premium .description {
	color: #5c6270;
	font-size: 15px;
	line-height: 1.68;
}

.tei-reviews-premium .description p:last-child { margin-bottom: 0; }

.tei-review-title {
	margin: 5px 0 7px;
	color: #181b22;
	font-size: 16px;
	font-weight: 700;
}

.tei-verified-badge {
	display: inline-flex !important;
	align-items: center;
	gap: 5px;
	margin-left: 8px;
	padding: 3px 8px;
	border-radius: 999px;
	background: #eaf8f2;
	color: #087a55 !important;
	font-size: 11px;
	font-style: normal !important;
	font-weight: 700;
	text-transform: none;
}

.tei-verified-badge::before { content: '✓'; font-weight: 900; }

.tei-reviews-premium .woocommerce-Reviews-title,
.tei-reviews-premium .wd-reviews-heading {
	margin-bottom: 22px;
	font-size: clamp(19px, 2vw, 26px);
	font-weight: 750;
	letter-spacing: -.025em;
}

.tei-reviews-premium select,
.tei-reviews-premium input[type="text"],
.tei-reviews-premium input[type="email"],
.tei-reviews-premium textarea {
	border-color: #dfe2e8;
	border-radius: 9px;
	background: #fff;
	box-shadow: none;
}

.tei-reviews-premium textarea { min-height: 150px; }

.tei-reviews-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 24px;
}

.tei-reviews-pagination button {
	display: inline-grid;
	place-items: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 1px solid #dfe2e8;
	border-radius: 8px;
	background: #fff;
	color: #343944;
	font-weight: 700;
	cursor: pointer;
	transition: .2s ease;
}

.tei-reviews-pagination button:hover,
.tei-reviews-pagination button.is-active {
	border-color: var(--tei-reviews-primary);
	background: var(--tei-reviews-primary);
	color: #fff;
}

#reviews.tei-reviews-premium .woocommerce-pagination,
#reviews.tei-reviews-premium .comment-navigation,
#reviews.tei-reviews-premium .wd-pagination,
#reviews.tei-reviews-premium nav.woocommerce-Reviews-pagination { display:none !important; }

.tei-view-all-reviews { margin-top:24px; }
.tei-view-all-reviews button { padding:0; border:0; background:transparent; color:var(--tei-reviews-primary); font-size:15px; font-weight:750; cursor:pointer; }
.tei-view-all-reviews button:hover { text-decoration:underline; }
.tei-view-all-reviews button span { color:#858b96; font-weight:600; }

.tei-review-photo-section { margin-bottom: 28px; }
.tei-photo-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:14px; }
.tei-photo-heading h3 { margin:0; font-size:20px; font-weight:750; letter-spacing:-.02em; }
.tei-photo-heading > div { display:flex; gap:7px; }
.tei-photo-heading button { width:36px; height:36px; padding:0; border:1px solid #e0e3e8; border-radius:50%; background:#fff; color:#252a33; font-size:24px; line-height:1; cursor:pointer; }
.tei-photo-track { display:flex; gap:12px; overflow:auto hidden; padding-bottom:5px; scrollbar-width:thin; scroll-snap-type:x proximity; }
.tei-photo-item { position:relative; flex:0 0 145px; height:180px; padding:0 !important; overflow:hidden; border:0; border-radius:12px; background:#f1f2f5; cursor:pointer; line-height:0; scroll-snap-align:start; }
.tei-photo-item img { position:absolute !important; inset:0 !important; display:block !important; width:100% !important; height:100% !important; max-width:none !important; margin:0 !important; padding:0 !important; object-fit:cover !important; object-position:center !important; transform:scale(1.01); transition:transform .25s ease; }
.tei-photo-item:hover img { transform:scale(1.055); }
.tei-photo-rating { position:absolute; z-index:2; left:10px; bottom:10px; display:inline-flex; align-items:center; gap:4px; padding:5px 9px; border-radius:999px; background:#f4511e; color:#fff; font-size:12px; font-weight:800; line-height:1; box-shadow:0 3px 10px rgba(0,0,0,.18); }
.tei-review-lightbox { position:fixed; z-index:999999; inset:0; display:grid; place-items:center; overflow:auto; padding:30px; background:rgba(10,13,19,.9); }
.tei-review-lightbox img { display:block; width:auto; height:auto; max-width:calc(100vw - 60px); max-height:calc(100vh - 60px); object-fit:contain; }
.tei-review-lightbox button { position:absolute; top:18px; right:22px; width:46px; height:46px; border:0; border-radius:50%; background:#fff; color:#15181e; font-size:30px; cursor:pointer; }

html.tei-modal-open { overflow:hidden; }
.tei-all-reviews-overlay { position:fixed; z-index:999998; inset:0; display:grid; place-items:center; padding:26px; background:rgba(15,18,24,.72); }
.tei-all-reviews-dialog { display:grid; grid-template-rows:auto minmax(0,1fr); width:min(1240px,100%); max-height:92vh; overflow:hidden; border-radius:16px; background:#fff; box-shadow:0 28px 90px rgba(0,0,0,.28); }
.tei-all-reviews-dialog > header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 26px; border-bottom:1px solid #e7e9ee; }
.tei-all-reviews-dialog > header h2 { margin:0; font-size:clamp(23px,3vw,30px); font-weight:750; letter-spacing:-.025em; }
.tei-all-reviews-close { display:grid; place-items:center; width:40px; height:40px; padding:0; border:0; border-radius:50%; background:#f2f3f6; color:#343944; font-size:27px; line-height:1; cursor:pointer; }
.tei-all-reviews-body { display:grid; grid-template-columns:minmax(250px,300px) minmax(0,1fr); gap:30px; overflow:auto; padding:28px; }
.tei-all-reviews-summary { min-width:0; }
.tei-all-reviews-summary > * { position:sticky; top:0; width:100% !important; max-width:none !important; }
.tei-all-reviews-summary .wd-rating-summary { padding:24px; border:1px solid #eceef2; border-radius:var(--tei-reviews-radius); background:#f7f8fa; }
.tei-all-reviews-content { min-width:0; }
.tei-all-reviews-photos:empty { display:none; }
.tei-all-reviews-toolbar { display:flex; align-items:end; justify-content:space-between; gap:20px; margin:4px 0 18px; }
.tei-all-reviews-toolbar h3 { margin:0; font-size:21px; font-weight:750; }
.tei-all-reviews-toolbar label { display:grid; gap:6px; min-width:190px; color:#616875; font-size:12px; font-weight:700; }
.tei-all-reviews-toolbar select { width:100%; min-height:44px; border:1px solid #d8dce4; border-radius:9px; background:#fff; color:#30353e; }
.tei-all-reviews-list .commentlist { display:grid; gap:14px; margin:0 !important; padding:0 !important; }
.tei-modal-loading,.tei-modal-empty,.tei-modal-error { padding:32px; border:1px dashed #d8dce4; border-radius:12px; color:#6e7581; text-align:center; }
.tei-modal-error { border-color:#f0c7c7; background:#fff4f4; color:#a62828; }
.tei-all-reviews-pager { display:flex; align-items:center; justify-content:center; gap:14px; margin-top:20px; }
.tei-all-reviews-pager button { min-width:92px; min-height:40px; border:1px solid #d8dce4; border-radius:8px; background:#fff; color:#343944; font-weight:700; cursor:pointer; }
.tei-all-reviews-pager button:hover:not(:disabled) { border-color:var(--tei-reviews-primary); color:var(--tei-reviews-primary); }
.tei-all-reviews-pager button:disabled { opacity:.42; cursor:not-allowed; }
.tei-all-reviews-pager span { color:#707784; font-size:13px; }

.tei-product-qa { --tei-qa-primary:var(--tei-reviews-primary,#5b45ff); max-width:1238px; margin:54px auto 20px; color:#20242d; }
.tei-product-qa > h2 { margin:0 0 28px; font-size:clamp(24px,3vw,32px); font-weight:750; letter-spacing:-.03em; }
.tei-qa-layout { display:grid; grid-template-columns:minmax(280px,360px) minmax(0,1fr); gap:34px; align-items:start; }
.tei-qa-form-card { padding:28px; border:1px solid #eceef2; border-radius:var(--tei-reviews-radius,14px); background:#f7f8fa; }
.tei-qa-form-card h3 { margin:0 0 22px; font-size:22px; font-weight:750; }
.tei-question-form { display:grid; gap:18px; }
.tei-question-form label { display:grid; gap:7px; }
.tei-question-form label > span { font-weight:700; }
.tei-question-form textarea,.tei-question-form input[type="email"] { width:100%; border:1px solid #d6dae2; border-radius:9px; background:#fff; box-shadow:none; }
.tei-question-form textarea { min-height:145px; resize:vertical; }
.tei-question-form small { color:#707784; font-size:12px; }
.tei-question-form button { min-height:48px; border:0; border-radius:9px; background:var(--tei-qa-primary); color:#fff; font-weight:750; cursor:pointer; }
.tei-question-form button:disabled { opacity:.6; cursor:wait; }
.tei-question-message { display:none; margin:0; padding:11px 13px; border-radius:8px; font-size:13px; line-height:1.45; }
.tei-question-message.is-success { display:block; background:#eaf8f2; color:#087a55; }
.tei-question-message.is-error { display:block; background:#fff0f0; color:#a62828; }
.tei-qa-honeypot { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; opacity:0 !important; }
.tei-qa-list { display:grid; gap:0; }
.tei-qa-item { padding:0 0 25px; margin-bottom:25px; border-bottom:1px solid #e5e8ed; }
.tei-qa-question-line { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; align-items:start; }
.tei-qa-question-line > strong { font-size:17px; line-height:1.45; }
.tei-qa-question-line time { color:#7c8390; font-size:12px; white-space:nowrap; }
.tei-qa-answer { display:grid; grid-template-columns:38px minmax(0,1fr); gap:12px; margin-top:13px; color:#545b68; }
.tei-qa-answer-avatar { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:var(--tei-qa-primary); color:#fff; font-size:10px; font-weight:800; }
.tei-qa-answer strong { display:block; margin-bottom:4px; color:#343944; font-size:13px; }
.tei-qa-answer p { margin:0; line-height:1.6; }
.tei-qa-awaiting { margin:10px 0 0; color:#8a909b; font-size:13px; font-style:italic; }
.tei-qa-more { padding:0; border:0; background:transparent; color:var(--tei-qa-primary); font-weight:750; cursor:pointer; }
.tei-qa-empty { display:grid; gap:6px; padding:30px; border:1px dashed #d8dce4; border-radius:12px; color:#747b87; text-align:center; }
.tei-qa-empty strong { color:#30353e; }

.tei-account-reviews { --tei-account-primary:#5b45ff; color:#222630; }
.tei-account-reviews-head { margin-bottom:24px; }
.tei-account-reviews-head > span { color:var(--tei-account-primary); font-size:11px; font-weight:800; letter-spacing:.13em; }
.tei-account-reviews-head h2 { margin:5px 0 7px; font-size:clamp(23px,3vw,30px); letter-spacing:-.03em; }
.tei-account-reviews-head p { max-width:700px; margin:0; color:#68707d; line-height:1.55; }
.tei-account-orders { display:grid; gap:20px; }
.tei-account-order { overflow:hidden; border:1px solid #e3e6ec; border-radius:14px; background:#fff; box-shadow:0 7px 24px rgba(27,33,45,.04); }
.tei-account-order.is-focused { border-color:var(--tei-account-primary); box-shadow:0 0 0 3px rgba(91,69,255,.1); }
.tei-account-order > header { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 21px; border-bottom:1px solid #e8eaf0; background:#f8f9fb; }
.tei-account-order > header > div { display:grid; gap:3px; }
.tei-account-order > header strong { font-size:16px; }
.tei-account-order > header span { color:#6f7682; font-size:12px; }
.tei-account-order > header > span { flex:0 0 auto; padding:5px 9px; border-radius:999px; background:#eeecff; color:#5140d8; font-weight:750; }
.tei-account-products { display:grid; }
.tei-account-product { display:grid; gap:18px; padding:21px; border-bottom:1px solid #eceef2; }
.tei-account-product:last-child { border-bottom:0; }
.tei-account-product-info { display:grid; grid-template-columns:76px minmax(0,1fr); align-items:center; gap:15px; }
.tei-account-product-info img { width:76px !important; height:76px !important; margin:0 !important; border-radius:10px; object-fit:cover; }
.tei-account-product-info > div { display:grid; gap:6px; }
.tei-account-product-info strong { color:#20242b; font-size:15px; line-height:1.4; }
.tei-account-product-info span { color:#8a6a13; font-size:12px; font-weight:700; }
.tei-account-product-info .tei-reviewed-label { color:#087a55; }
.tei-purchase-review-form { display:grid; grid-template-columns:minmax(130px,.45fr) minmax(190px,.8fr) minmax(240px,1.4fr) auto; align-items:end; gap:15px; margin:0; padding:18px; border-radius:11px; background:#f7f8fa; }
.tei-purchase-review-form fieldset { min-width:0; margin:0; padding:0; border:0; }
.tei-purchase-review-form legend,.tei-purchase-review-form label > span { display:block; margin-bottom:7px; color:#3d434d; font-size:12px; font-weight:750; }
.tei-purchase-review-form label { margin:0; }
.tei-purchase-review-form small { color:#858c97; font-weight:500; }
.tei-purchase-review-form input[type="text"],.tei-purchase-review-form textarea { width:100%; min-height:44px; margin:0; border:1px solid #d9dde5; border-radius:8px; background:#fff; box-shadow:none; }
.tei-purchase-review-form textarea { height:80px; min-height:80px; resize:vertical; }
.tei-purchase-review-form button { min-height:44px; padding:0 18px; border:0; border-radius:8px; background:var(--tei-account-primary); color:#fff; font-weight:750; cursor:pointer; }
.tei-purchase-stars { display:inline-flex; flex-direction:row-reverse; justify-content:flex-end; gap:2px; }
.tei-purchase-stars input { position:absolute; width:1px; height:1px; opacity:0; }
.tei-purchase-stars label { margin:0; color:#c7cbd2; font-size:28px; line-height:1; cursor:pointer; transition:color .15s ease; }
.tei-purchase-stars input:checked ~ label,.tei-purchase-stars label:hover,.tei-purchase-stars label:hover ~ label { color:#f5b800; }
.tei-account-empty { display:grid; gap:6px; padding:32px; border:1px dashed #d7dbe3; border-radius:12px; color:#747b87; text-align:center; }
.tei-account-empty strong { color:#30353e; }

@media (min-width: 1025px) {
	#reviews.tei-reviews-premium,.woocommerce-Reviews.tei-reviews-premium { display:grid !important; grid-template-columns:clamp(260px,26%,320px) minmax(0,1fr) !important; align-items:start; gap:34px; }
	#reviews.tei-reviews-premium > .wd-rating-summary-wrap,.woocommerce-Reviews.tei-reviews-premium > .wd-rating-summary-wrap { width:100% !important; max-width:320px; }
	#reviews.tei-reviews-premium > #comments,.woocommerce-Reviews.tei-reviews-premium > #comments { flex:1 1 auto !important; width:auto !important; min-width:0; }
}

@media (max-width: 767px) {
	.tei-reviews-premium .tei-premium-review > .comment_container,
	.tei-reviews-premium .tei-premium-review .comment_container { grid-template-columns: 38px minmax(0, 1fr); gap: 12px; padding: 17px !important; }
	.tei-reviews-premium { --tei-reviews-avatar-size: 38px; }
	.tei-reviews-premium .woocommerce-review__published-date { display: block; width: 100%; margin: 3px 0 0; }
	.tei-verified-badge { margin: 6px 0 0; }
	.tei-photo-item { flex-basis:118px; height:150px; }
	.tei-product-qa { margin-top:38px; }
	.tei-qa-layout { grid-template-columns:1fr; gap:26px; }
	.tei-qa-form-card { padding:22px; }
	.tei-qa-question-line { grid-template-columns:1fr; gap:6px; }
	.tei-all-reviews-overlay { padding:0; }
	.tei-all-reviews-dialog { width:100%; max-height:100vh; height:100vh; border-radius:0; }
	.tei-all-reviews-dialog > header { padding:17px 18px; }
	.tei-all-reviews-body { grid-template-columns:1fr; gap:24px; padding:18px; }
	.tei-all-reviews-summary > * { position:static; }
	.tei-all-reviews-toolbar { align-items:stretch; flex-direction:column; }
	.tei-all-reviews-toolbar label { min-width:0; }
	.tei-all-reviews-pager { justify-content:space-between; }
	.tei-account-order > header { align-items:flex-start; flex-direction:column; }
	.tei-purchase-review-form { grid-template-columns:1fr; }
}

@media (min-width:768px) and (max-width:1180px) {
	.tei-purchase-review-form { grid-template-columns:1fr 1fr; }
	.tei-purchase-review-form button { justify-self:start; }
}
