.detailPage-reviewWrap { margin: 40px 0 100px;}

.review-section-lead {
    font-size: 1.4rem;
    width: 100%;
    padding: 5px;
    font-weight: bold;
    margin: 0;
    box-sizing: border-box;
	text-align: center;
}


.review-error-container {
	display: flex;
    padding: 1rem;
    background-color: #fef2f2;
    border-left: 4px solid #ef4444;
    max-width: 600px;
    margin: 1rem auto;
    box-sizing: border-box;
}

.review-error-icon {
	flex-shrink: 0;
	color: #ef4444;
}

.review-error-content {
	margin-left: 0.75rem;
}

.review-error-content ul {
	list-style-type: disc;
	padding-left: 1.25rem;
	margin: 0;
	color: #991b1b;
}

.review-error-content li {
	margin-bottom: 0.25rem;
}

.review-error-content li:last-child {
	margin-bottom: 0;
}


.review-add {
	font-size: 16px;
	padding: 25px 1rem 40px;
	max-width: 600px;
	margin: 0 auto  1rem;
	box-sizing: border-box;
	display: none;
	background: #ececec;
}
.review-add.show{
	display: block;
}

.frm-war>div {
    margin-bottom: 2rem;
}

.review-add-title {
    /* font-size: 1.2rem; */
    margin-bottom: 1rem;
}
.review-add-title strong {
    display: block;
}
.review-add input, .review-add textarea, .review-add select {
	border-radius: 5px;
	padding: 5px;
	font-size: 1em;
	border: 1px solid #aaa;	
	background: #fff;
}

.review-add select::selection{background: initial}
.review-add input, .review-add textarea {
	width: 100%;
	box-sizing: border-box;
}	

.review-add textarea {
	height: 125px;
	line-height:initial
}


.review-add-btn-wrap{
	display: flex;
	justify-content: center;
	gap: 1rem;
}

.review-add-btn-wrap button {
	background: black;
	color: white;
	border: none;
	border-radius: 5px;
	padding: 5px 10px;
}

.review-add-btn-wrap .review-add-btn-cancel{background:#e10300;}


.review-totals-wrap {
	padding-bottom: 2rem;
}

.review-totals { 
	margin: 10px; 
	padding: 0 0 15px;
}
.reviews-overall{ 
	font-weight: bold; 
	margin: 0 0 5px  0; 
	text-align: center;
	font-size: 1.1rem;
}

.reviews-avg-score{
	font-size: 3.5rem;
	line-height: 3.5rem;
}
.detailPage-starsAndTextWrap{ 
	display: flex;
	justify-content: center;
	align-items: center;
	gap: .5rem;
}

.review-totals-count{
	font-size: 1rem;
	font-style: italic;
}

.review-totals-noreviews-text{
	font-style: italic;
	font-weight: bold;
}

.write-review-btn-wrap{
	display: flex;
	justify-content: center;
	padding: 10px;
}

.write-review-btn { 
	background: #ececec; 
	border-radius: 5px; 
	color: #000; 
	font-weight: bold; 
	padding: 10px; 
	border: none; 
}


.review-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    color: #444;
}

.review-actions select {
    height: 27px;
    border: 1px solid #ccc;
	font-weight: normal;
	width: 125px;
}

.own-review-edit {
    text-align: center;
	margin: 1.2rem 0 1rem;
}

.own-review-edit button {
	background: #ececec;
    border-radius: 5px;
    color: #000;
    font-weight: bold;
    padding: 10px;
    border: none
}
.own-review-edit button:hover{
	background-color: #ddd;
	transition: background-color 0.3s;
}

.reviews-wrap{
	position: relative;
}

.review {
	border-top: 1px solid #ccc;
	margin: 10px 0;
	padding: 20px 10px;
	position: relative;
}
.own-review {
    padding: 1rem;
    margin-top: 10px;
    border: 1px solid #ccc;
	font-size: 14px;
}
.own-review h2 {
    font-size: 1.6rem;
}

.review-line-1 {
    display: flex;
    flex-direction: column-reverse;
    margin-bottom: .5rem;
}

/* .review-stars {display: inline-block;} */
.review-title{font-size: 1.4rem;font-weight: bold; margin:0;  }
.review-date {margin: 0 10px 0 0;height: 20px;vertical-align: top;font-size:0.9em;width:80%;}
.review-by {clear: both; margin: 10px 0 0;}
.review-prod {color: #595959;font-size: 0.9em; margin-bottom: 10px;}
.review-review{font-size:16px}
.rest_of_review{display: none;}
.rest_of_review.show{display: inline;}
.reviews-readmore {
    text-decoration: underline;
    text-underline-offset: 2px;
}
.review-footer {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    margin: 1rem 0 0;
    gap: .5rem;
}

.review-reactions {
	display: flex;
	justify-content: end;
	gap: .5rem;
	align-items: center;
	padding: 3px 0;
}

.review-reactions a.btn-report,.btn-reviews-load-more {
	padding: 0 8px 1px;
	border: 1px solid #aaa;
	color: black;
	border-radius: 5px;
	background-color: #fff;
}
.review-reactions a.btn-report:hover,
.btn-reviews-load-more:hover{
	background-color: #eee;
	transition: background-color 0.3s;
}

.btn-reviews-load-more{
	padding: 2px 1rem;
}

.review-reactions-thumb-wrap {
    display: flex;
    gap: 3px;
    align-items: center;
    padding: 2px 5px;
    cursor: pointer;
    border-radius: 5px;
}
.review-reactions-thumb-wrap:hover {
	background-color: #eee;		
	transition: background-color 0.3s;
}
.review-reactions-thumb-wrap.bounce {
	animation: bounce 0.8s ease;
}
.review-reactions-thumb-wrap.user-liked {
    background-color: #f4dbdc;
    transition: background-color .2s linear;
}
.review-reactions-thumb {
	vertical-align: text-top;
}



.verified-badge {
    display: inline-flex;
    align-items: center;
    padding: 0 8px 1px;
    border-radius: 5px;
    /* font-size: 12px; */
    font-weight: 500;
    gap: 4px;
}

.verified-badge::before {
	content: "✓";
	font-size: 14px;
	font-weight: bold;
}

.verified-badge-light {
	background: white;
	color: #000000;
	border: 1px solid #aaa;
}

.verified-badge-soft {
    background: rgb(131 131 131 / 10%);
    color: #333;
    /* border: 1px solid rgba(139, 25, 25, 0.2); */
}

.verified-badge-solid-bg {
	color: white;
	background: #228800;
}

.editors-pick{
	background: #f4f4f4;
	border-left: 3px solid #8B1919;
	border-bottom-color: #8B1919;
	padding: .5rem .5rem 20px;
}

.editors-pick-ribbon-wrap {
    display: flex;
    justify-content: flex-end;
}

.editors-pick-ribbon {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
    position: relative;
    right: -13px;
    background: #8B1919;
    color: white;
    padding: 4px 12px 4px 8px;
    font-size: 12px;
    font-weight: 500;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    text-align: right;
    margin-bottom: 5px;
}

.editors-pick-ribbon::before {
    content: "★";  
    margin-right: 3px;
    font-size: 1rem;
    line-height: .5rem;  
	color: rgb(226 226 25);
}

.editors-pick .verified-badge-soft{
	background:#fff;
}

.star-container {
    position: relative;
    width: 115px;
}
.review-star-0 {
    display: block;
    z-index: 1;
}
.review-star-1 {
    display: block;
    position: absolute;
    top: 0;
    z-index: 2;
    overflow: hidden;
}
.review-star img {
    width: 115px;
}

.detailPage-starsAndTextWrap .star-container{
	top: -3px;
}

.reviews-wrap-footer {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 1rem;
    padding: 5px 5px .5rem;
    border-bottom: 1px solid #ccc;
	align-items: flex-end;
}


.reviews-wrap-footer div:nth-child(1) {
    font-size: .9rem;
}

.reviews-wrap-footer div:nth-child(2) {
    text-align: right;
}


.review-placeholder .review-line-1,
.review-placeholder .review-date,
.review-placeholder .review-by,
.review-placeholder .review-prod,
.review-placeholder .review-review div{
	background: #ddd;
	height: 12px;
	border-radius: 4px;
	width: unset;
	margin: unset ;
	margin-bottom: 10px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	-ms-border-radius: 4px;
	-o-border-radius: 4px;
}

.review-placeholder .review-line-1{width: 60%;}
.review-placeholder .review-date{width:120px}
.review-placeholder .review-by{width: 100px}
.review-placeholder .review-prod{width:20%}
.review-placeholder .review-review div:last-child{width: 30%;}
.review-placeholder .review-footer{display: flex; justify-content: space-between;}

.review-placeholder{position: relative;}

.review-war-cta div:not(.review-war-cta-text,.review-war-cta-text div),
.review-loading-error div:not(.review-loading-error-text,.review-loading-error-text div) {
    filter: blur(3px);
    opacity: .7;
}

.review-war-cta-text,.review-loading-error-text {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    display: flex;
    justify-content: center;
}

.review-war-cta-text div,.review-loading-error-text div {
    height: fit-content;
    padding: 1rem 1.8rem;
    border-radius: 46px;
    background: rgba(255,255,255,0.7);
    box-shadow: 0px 0px 65px 19px white;
    margin-top: 2rem;
	cursor: pointer;
	font-weight: bold;
    font-size: 1.2rem;
}
.review-loading-error-text div {
    margin-top: 3rem;
    background: rgb(255 182 182);
    box-shadow: none;
    border-radius: 10px;
}


.review-loading::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	transform: translateX(-100%);
	background-image: linear-gradient(
		90deg,
		rgba(255, 255, 255, 0) 0,
		rgba(255, 255, 255, 0.2) 20%,
		rgba(255, 255, 255, 0.5) 60%,
		rgba(255, 255, 255, 0)
	);
	animation: shimmer 1s infinite;
}

@keyframes bounce {
	0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
	40% { transform: translateY(-10px); }
	60% { transform: translateY(-5px); }
}

  
@keyframes shimmer {
	100% {
	  	transform: translateX(100%);
	}
}

/* Styles for the containers */
.reviews-page-loading{
  opacity: 0;
  transition: opacity 0.3s ease;
}
.reviews-page-loading.fade-in{
	opacity: 1;
}
/* Loading state animations (keep existing shimmer animation) */
.reviews-page-loading.fade-out {
  opacity: 0;
}



@media screen and (min-width:450px) {	
	.review-date {width: 30%;max-width: 120px;margin:5px 10px 0 0;}
	.review-footer {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
	}
	.review-line-1{
		flex-direction: row;
		align-items: center;
		gap: .5rem;
	}
	.reviews-wrap-footer {
		grid-template-columns: repeat(3, 1fr);
	}

	.reviews-wrap-footer div:nth-child(2) {
		text-align: center;
	}

	.review-war-cta-text div,.review-loading-error-text div {
		font-size: 1.5rem;
	}
	
}

@media screen and (min-width:700px) {
	.review-totals-wrap {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding-bottom: 0;
	}
	.review-totals{
		padding-bottom: 0;
	}

	.review-section-lead,.reviews-overall{
		text-align: left;
	}

	.write-review-btn-wrap{
		justify-content: right ;
		padding: 0;
	}
	.review-add{padding-top: 1rem}
	.review-add-title {
		font-size: 1.2rem;
	}	

	.review-actions {
		justify-content: flex-end;
	}

	.review-line-1{
		align-items: normal;
	}
	.review-title{font-size: 1.2rem}
}
@media screen and (min-width:1000px) {
	.review-add-title strong {
		display: inline;
	}
}

