/*///////////////////////////////////////////////////////////*/
/*  ACF Reviews Slider  (scoped to .acf-reviews-slider)       */
/*///////////////////////////////////////////////////////////*/

.acf-reviews-slider{
	position:relative;
	--card-pad-d:24px;           /* desktop card padding */
	--card-pad-m:10px;           /* mobile card padding  */
	--title-fs:14px;
	--title-lh:20px;
	--body-fs:14px;
	--body-lh:20px;
	--name-fs:15px;
	--name-lh:18px;
	--date-fs:12px;
	--date-lh:16px;
	--star-size:18px;
	--arrow-size:32px;
	--arrow-icon:16px;
}

/* container */
.acf-reviews-slider .swiper{padding-bottom:48px;}
.acf-reviews-slider .swiper-wrapper{align-items:stretch;}

/* card */
.acf-reviews-slider .review-card{
	clip-path:polygon(calc(100% - 40px) 0,100% 40px,100% 100%,0 100%,0 0);
	background:#fff;
	padding:var(--card-pad-d);
	height:100%;
	box-sizing:border-box;
	display:flex;
	flex-direction:column;
}
@media(max-width:768px){
	.acf-reviews-slider .review-card{padding:var(--card-pad-m);}
}

/* avatar */
.acf-reviews-slider .avatar{
	text-align:center; line-height:0; margin-bottom:8px;
}
.acf-reviews-slider .avatar img{
	width:48px;
	height:48px;
	border-radius:50%;
	object-fit:cover;
}

/* name/date/source */
.acf-reviews-slider .name-date-source{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:4px;
	font-size:14px;
	line-height:1.4;
	text-align:center;
}
.acf-reviews-slider .name a{
	font-weight:600;text-decoration:none;color:#111;
	font-size:var(--name-fs); line-height:var(--name-lh);
	white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;
}
.acf-reviews-slider .date{
	font-size:var(--date-fs); line-height:var(--date-lh); color:#666;
}
.acf-reviews-slider .source-logo img{
	object-fit:contain;height:24px;width:auto;line-height:0;
}

/* stars */
.acf-reviews-slider .stars{
	display:flex;justify-content:center;line-height:0;margin:4px 0 10px;
}
.acf-reviews-slider .stars img{
	width:var(--star-size);height:var(--star-size);margin:0 0px;
}

/* title/headline */
.acf-reviews-slider .headline{
	font-size:var(--title-fs);line-height:var(--title-lh);
	font-weight:600;text-align:center;margin:10px 0;
}

/* body text (3-line clamp) */
.acf-reviews-slider .review-text{
	font-size:var(--body-fs);line-height:var(--body-lh);
	color:#000;text-align:center;
	display:-webkit-box;
	-webkit-line-clamp:3;
	-webkit-box-orient:vertical;
	overflow:hidden;text-overflow:ellipsis;
	max-height:calc(var(--body-lh) * 3);
	padding: 0px 20px;
	margin:0;
}

/* read more */
.acf-reviews-slider .read-more{
	display:block;margin-top:10px;color:#333!important;
	font-size:14px;text-align:center;cursor:pointer;
}

/* ------- custom arrows -------- */
.acf-reviews-slider .acf-rev-prev,
.acf-reviews-slider .acf-rev-next{
	width:var(--arrow-size);height:var(--arrow-size);
	background:rgba(17,17,17,.5);
	border-radius:50%;
	box-shadow:0 4px 12px rgba(0,0,0,.3);
	padding:0;border:none;outline:none!important;
}
.acf-reviews-slider .acf-rev-prev::after,
.acf-reviews-slider .acf-rev-next::after{
	font-size:var(--arrow-icon);
	color: white;
}

/* position */
.acf-reviews-slider .acf-rev-prev{left:10px;}
.acf-reviews-slider .acf-rev-next{right:10px;}

/* ------- pagination override -------- */
.acf-reviews-slider .acf-rev-pagination.swiper-pagination{
	position:relative !important;
	top:auto !important;
	bottom:0 !important;
	margin-top:16px;
	display:block !important;
	text-align:center;
}
.acf-reviews-slider .acf-rev-pagination .swiper-pagination-bullet{
	background:#bbb;opacity:1;
}
.acf-reviews-slider .acf-rev-pagination .swiper-pagination-bullet-active{
	background:#333;
}
/* Make slide stretch so card can fill full height */
.acf-reviews-slider .swiper-slide{
	display:flex;
}
.acf-reviews-slider .review-card{
	flex:1 1 auto;
}


/*///////////////////////////////////////////////////////////*/
/*  ACF Review Modal  (scoped to .acf-review-modal)           */
/*///////////////////////////////////////////////////////////*/

.acf-review-modal{
	position:fixed;inset:0;display:none;z-index:99999;font-family:inherit;
}
.acf-review-modal.is-open{display:block;}
.acf-modal-open{overflow:hidden;}

.acf-review-modal__overlay{
	position:absolute;inset:0;background:rgba(0,0,0,.7);
}

/* dialog */
.acf-review-modal__dialog{
	position:relative;max-width:600px;width:90%;background:#fff;
	margin:10% auto;border-radius:8px;border:1px solid #888;
	box-shadow:0 5px 15px rgba(0,0,0,.3);
	padding:20px;z-index:2;overflow:auto;max-height:calc(100% - 20%);
}
@media(max-width:768px){
	.acf-review-modal__dialog{padding:15px;width:90%;}
}

/* close */
.acf-review-modal__close{
	position:absolute;top:10px;right:15px;font-size:28px;
	background:none;border:none;color:#333;cursor:pointer;
}
.acf-review-modal__close:hover{color:red;}

/* content layout */
.acf-review-modal .top-content{
	display:flex;flex-direction:row;align-items:center;
	width:100%;gap:10px;padding:5px;
}
.acf-review-modal .avatar-img{
	width:45px;height:45px;border-radius:50%;object-fit:cover;
}
.acf-review-modal .name-date-source{
	width:100%;display:flex;flex-wrap:wrap;align-items:center;margin-top:5px;
	font-size:14px;line-height:1.4;
}
.acf-review-modal .modal-name-link{
	color:inherit;text-decoration:none;font-weight:600;
	display:block;width:100%;font-size:1rem;line-height:15px;
}
.acf-review-modal .modal-date{
	font-size:12px;line-height:16px;text-align:left;width:100%;color:#666;
}
.acf-review-modal .modal-source-logo img{
	object-fit:contain;height:24px;width:auto;line-height:0;
}

/* stars */
.acf-review-modal .modal-stars{
	width:100%;margin-top:20px;display:flex;gap:0;
}
.acf-review-modal .modal-stars img{
	width:25px;height:25px;margin:0;
}

/* title & body */
.acf-review-modal .modal-title{
	font-size:1.2rem;font-weight:600;margin:18px 0 12px;
}
.acf-review-modal .modal-review{
	font-size:1rem;line-height:1.5rem;margin:0;padding:0;color:#222;
}

/* fix CLS */
.acf-reviews-slider .swiper:not(.swiper-initialized) .swiper-wrapper {
	display: grid;
	gap: 24px;
	grid-template-columns: 1fr 1fr 1fr;
}

.acf-reviews-slider .swiper:not(.swiper-initialized) .swiper-wrapper > *:nth-child(n+4) {
	display: none;
}

@media screen and (max-width: 1023px) {
	.acf-reviews-slider .swiper:not(.swiper-initialized) .swiper-wrapper {
		grid-template-columns: 1fr 1fr;
	}

	.acf-reviews-slider .swiper:not(.swiper-initialized) .swiper-wrapper > *:nth-child(n+3) {
		display: none;
	}
}

@media screen and (max-width: 768px) {
	.acf-reviews-slider .swiper:not(.swiper-initialized) .swiper-wrapper {
		grid-template-columns: 1fr;
	}

	.acf-reviews-slider .swiper:not(.swiper-initialized) .swiper-wrapper > *:nth-child(n+2) {
		display: none;
	}
}