.zewed-rs-card{background:#fff;border:1px solid #ececec;border-radius:18px;padding:28px;margin:30px 0;box-shadow:0 8px 28px rgba(0,0,0,.05);transition:.3s ease}
.zewed-rs-card:hover{transform:translateY(-2px);box-shadow:0 18px 45px rgba(0,0,0,.08)}
.zewed-rs-title{margin:0;font-size:30px;font-weight:700;color:#111}
.zewed-rs-subtitle{margin:10px 0 24px;color:#777;line-height:1.7;font-size:15px}
.zewed-rs-rating{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.zewed-rs-stars{font-size:28px;line-height:1}
.zewed-rs-stars span{color:#f5b301;letter-spacing:3px}
.zewed-rs-score{font-size:18px;color:#555}.zewed-rs-score strong{font-size:34px;color:#111}
.zewed-rs-divider{margin:0 10px;color:#bbb}
.zewed-rs-customers{display:flex;align-items:center;gap:18px;margin-top:30px}
.zewed-rs-avatar-group{display:flex}
.zewed-rs-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:3px solid #fff;margin-left:-12px;background:#f5f5f5;box-shadow:0 2px 10px rgba(0,0,0,.08)}
.zewed-rs-avatar:first-child{margin-left:0}
.zewed-rs-customer-text{color:#666;font-size:15px}.zewed-rs-customer-text strong{color:#111}
.zewed-rs-verified{display:flex;align-items:center;gap:10px;margin-top:25px;color:#444;font-size:15px}
.zewed-rs-check{width:28px;height:28px;border-radius:50%;background:#16a34a;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}
.zewed-rs-buttons{display:flex;gap:15px;margin-top:30px}
.zewed-rs-btn{flex:1;height:54px;border:none;border-radius:14px;cursor:pointer;font-size:15px;font-weight:600;transition:all .25s ease}
.zewed-rs-btn:hover{transform:translateY(-2px)}.zewed-rs-btn:active{transform:scale(.98)}
.zewed-rs-btn.primary{background:#b11116;color:#fff}.zewed-rs-btn.primary:hover{background:#111}
.zewed-rs-btn.secondary{background:#fff;color:#111;border:1px solid #111}.zewed-rs-btn.secondary:hover{background:#111;color:#fff}
.zewed-review-drawer{position:fixed;inset:0;z-index:99999;visibility:hidden;opacity:0;transition:opacity .35s ease,visibility .35s ease}
.zewed-review-drawer.active{visibility:visible;opacity:1}
.zewed-review-overlay{position:absolute;inset:0;background:rgba(17,17,17,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity .35s ease}
.zewed-review-drawer.active .zewed-review-overlay{opacity:1}
.zewed-review-panel{position:absolute;top:0;right:-540px;width:520px;max-width:100%;height:100%;background:#fff;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;box-shadow:-20px 0 50px rgba(0,0,0,.18);transition:right .42s cubic-bezier(.22,.61,.36,1)}
.zewed-review-drawer.active .zewed-review-panel{right:0}
.zewed-review-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;height:72px;padding:0 24px;padding-top:max(0px,env(safe-area-inset-top));background:#fff;border-bottom:1px solid #ececec}
.zewed-review-header h2{margin:0;font-size:22px;font-weight:700}
.zewed-review-close{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#f5f5f5;color:#111;font-size:22px;cursor:pointer;transition:all .25s ease}
.zewed-review-close:hover{background:#111;color:#fff;transform:rotate(90deg)}
.zewed-review-close:active{transform:scale(.92)}
.zewed-review-body{padding:20px}
@media(max-width:768px){
.zewed-rs-card{padding:22px}.zewed-rs-title{font-size:24px}
.zewed-rs-rating,.zewed-rs-customers,.zewed-rs-buttons{flex-direction:column;align-items:flex-start}
.zewed-rs-btn{width:100%}
.zewed-review-panel{width:100%}
}
/* ==========================================
   DRAWER SUMMARY
========================================== */

.zewed-drawer-summary{
    text-align:center;
    padding:20px 0 30px;
}

.zewed-drawer-stars{
    font-size:28px;
    color:#f5b301;
    letter-spacing:4px;
    margin-bottom:10px;
}

.zewed-drawer-rating{
    font-size:54px;
    font-weight:700;
    color:#111;
    margin:0;
    line-height:1;
}

.zewed-drawer-count{
    margin-top:12px;
    color:#666;
    font-size:15px;
    line-height:1.6;
}

.zewed-drawer-count strong{
    color:#111;
}
/* ==========================================
   RATING BREAKDOWN
========================================== */

.zewed-rating-breakdown{

    margin-top:32px;

}

.zewed-rating-row{

    display:grid;

    grid-template-columns:42px 1fr 34px;

    align-items:center;

    gap:14px;

    margin-bottom:14px;

}

.zewed-rating-label{

    font-size:14px;

    font-weight:600;

    color:#333;

}

.zewed-rating-bar{

    height:10px;

    background:#eeeeee;

    border-radius:999px;

    overflow:hidden;

}

.zewed-rating-fill{

    height:100%;

    width:0;

    background:linear-gradient(
        90deg,
        #f5b301,
        #ffc93c
    );

    border-radius:999px;

    transition:width .8s ease;

}

.zewed-rating-count{

    text-align:right;

    font-size:14px;

    font-weight:600;

    color:#666;

}
/* ==========================================
   REVIEW CARDS
========================================== */

.zewed-review-list{

    margin-top:36px;

}

.zewed-review-card{

    background:#fff;

    border:1px solid #ececec;

    border-radius:16px;

    padding:20px;

    margin-bottom:18px;

    transition:all .25s ease;

}

.zewed-review-card:hover{

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    transform:translateY(-2px);

}

.zewed-review-top{

    display:flex;

    align-items:center;

    gap:14px;

    margin-bottom:14px;

}

.zewed-review-avatar{

    width:54px;

    height:54px;

    border-radius:50%;

    object-fit:cover;

    border:3px solid #fff;

    box-shadow:0 3px 12px rgba(0,0,0,.12);

}

.zewed-review-meta{

    flex:1;

}

.zewed-review-name{

    margin:0 0 4px;

    font-size:16px;

    font-weight:700;

    color:#111;

}

.zewed-review-stars{

    color:#f5b301;

    letter-spacing:2px;

    font-size:15px;

}

.zewed-review-content{

    color:#555;

    line-height:1.8;

    font-size:15px;

    margin-top:12px;

}

.zewed-review-date{

    margin-top:16px;

    font-size:13px;

    color:#999;

    border-top:1px solid #f2f2f2;

    padding-top:14px;

}
/* ==========================================
   LOAD MORE REVIEWS
========================================== */

.zewed-review-hidden{
    display:none;
}

.zewed-load-more-wrapper{
    text-align:center;
    margin-top:24px;
}

.zewed-load-more{

    background:#111;
    color:#fff;

    border:none;

    border-radius:12px;

    padding:14px 28px;

    font-size:15px;
    font-weight:600;

    cursor:pointer;

    transition:all .25s ease;

}

.zewed-load-more:hover{

    background:#b11116;

    transform:translateY(-2px);

}

.zewed-load-more:active{

    transform:scale(.98);

}
/* ==========================================
   DRAWER VIEWS
========================================== */

.zewed-view{
    display:none;
}

.zewed-view.active{
    display:block;
}
/* ==========================================
   STAR PICKER
========================================== */

.zewed-star-picker{
	display:flex;
	align-items:center;
	gap:8px;
	margin:20px 0;
}

.zewed-star{
	background:none;
	border:none;
	padding:0;
	margin:0;
	cursor:pointer;
	font-size:34px;
	line-height:1;
	color:#d1d5db;
	transition:.2s ease;
}

.zewed-star:hover{
	color:#f5b301;
	transform:scale(1.08);
}

.zewed-star:focus{
	outline:none;
}

.zewed-star.active{
	color:#f5b301;
}
/* ==========================================
   REVIEW MESSAGE
========================================== */

.zewed-review-message{

	display:none;

	padding:14px 18px;

	margin-bottom:20px;

	border-radius:12px;

	font-size:14px;

	font-weight:600;

	line-height:1.6;

}

.zewed-review-message.success{

	display:block;

	background:#ecfdf5;

	border:1px solid #bbf7d0;

	color:#166534;

}

.zewed-review-message.error{

	display:block;

	background:#fef2f2;

	border:1px solid #fecaca;

	color:#991b1b;

}
/*
==========================================
Review Filters
==========================================
*/

.zewed-review-filters{

	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	margin:28px 0;

}

.zewed-review-filters::-webkit-scrollbar{

	display:none;

}

.zewed-filter-button{

	flex:1;

	padding:12px 0;

	border:1px solid #e5e5e5;

	background:#fff;

	border-radius:999px;

	font-size:14px;

	font-weight:600;

	cursor:pointer;

	transition:.25s;

	text-align:center;

}

.zewed-filter-button:hover{

	border-color:#111;

}

.zewed-filter-button.active{

	background:#111;

	color:#fff;

	border-color:#111;

}
/*
==========================================
Review Sort
==========================================
*/

.zewed-review-sort{

	display:flex;
	align-items:center;
	justify-content:space-between;
	margin:20px 0;

}

.zewed-review-sort label{

	font-size:14px;
	font-weight:600;

}

.zewed-review-sort-select{

	flex:1;

	height:44px;

	padding:0 14px;

	border:1px solid #ddd;

	border-radius:8px;

	background:#fff;

	font-size:14px;

	line-height:44px;

	box-sizing:border-box;

}