/*
 * Better Business Reviews – improved styling
 * - more modern spacing, typography and cards
 * - better mobile behavior
 * - safer defaults for WP themes
 */

:root{
	--brtpmj-bg: #f7f7f9;
	--brtpmj-card: #ffffff;
	--brtpmj-text: rgba(0,0,0,.86);
	--brtpmj-muted: rgba(0,0,0,.62);
	--brtpmj-border: rgba(0,0,0,.10);
	--brtpmj-shadow: 0 10px 26px rgba(0,0,0,.07);
	--brtpmj-radius: 16px;
	--brtpmj-radius-sm: 12px;
	--brtpmj-gap: 14px;
}

/* outer container */
.brtpmj_reviews_container{
	padding: 18px;
	border-radius: var(--brtpmj-radius);
}

.brtpmj_header{
	margin-bottom: 14px;
}

.brtpmj_readall_wrap{
	margin: 30px 0px 20px 0px;
	display: flex;
	justify-content: center;
}

.brtpmj_readall_btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 16px;
	border-radius: 999px;
	border: 1px solid var(--brtpmj-border);
	background: var(--brtpmj-card);
	box-shadow: 0 10px 22px rgba(0,0,0,.08);
	color: #0b6b3a;
	text-decoration: none;
	line-height: 1;
}

.brtpmj_readall_btn:hover{
	transform: translateY(-1px);
	text-decoration: none;
}

.brtpmj_readall_btn:focus{
	outline: 2px solid rgba(0,0,0,.35);
	outline-offset: 2px;
}

.brtpmj_header_inner{
	padding: 16px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 16px;
}

.brtpmj_subtitle{
	margin: 0;
	color: var(--brtpmj-muted);
	line-height: 1.45;
}

.brtpmj_summary{
	text-align: right;
	display: grid;
	gap: 6px;
	align-content: start;
}

.brtpmj_summary_score{
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	padding: 10px 12px;
	border: 1px solid var(--brtpmj-border);
	border-radius: var(--brtpmj-radius-sm);
	background: rgba(0,0,0,.02);
}

.brtpmj_br_score{
	font-weight: 800;
	font-size: 1.15rem;
	letter-spacing: .2px;
	color: var(--brtpmj-text);
}

.brtpmj_br_score_img img{
	width: 140px;
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

.brtpmj_count{
	margin: 0;
	font-size: .92rem;
	color: var(--brtpmj-muted);
}

/* list wrap */
.brtpmj_listwrap{
	margin-top: 12px;
}

/* reviews container (list/grid/carousel share) */
.brtpmj_all_reviews{
	display: grid;
	gap: var(--brtpmj-gap);
}

/* card */
.brtpmj_single_rvw{
	background: var(--brtpmj-card);
	border: 1px solid var(--brtpmj-border);
	border-radius: var(--brtpmj-radius);
	box-shadow: var(--brtpmj-shadow);
	padding: 14px 14px 12px;
	break-inside: avoid;
	color: var(--brtpmj-text);
}

.brtpmj_sr_top{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 10px;
	padding-bottom: 12px;
	margin-bottom: 12px;
	border-bottom: 1px solid var(--brtpmj-border);
}

.brtpmj_sr_author_overview{
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
}

.brtpmj_sr_ab_img{
	width: 44px;
	height: 44px;
	background: #d1f9ea;
	border-radius: 999px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	overflow: hidden;
}

.brtpmj_sr_ab_img span{
	font-weight: 800;
	color: rgba(0,0,0,.75);
}

.brtpmj_sr_ab_img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 999px;
}

.brtpmj_sr_ab_name_date{
	display: grid;
	gap: 2px;
	min-width: 0;
}

.brtpmj_sr_ab_name{
	font-weight: 800;
	line-height: 1.2;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.brtpmj_sr_ab_date{
	color: var(--brtpmj-muted);
	font-size: .9rem;
}

.brtpmj_sr_rating{
	flex: 0 0 auto;
	padding-top: 2px;
}

.brtpmj_sr_title{
	margin: 0 0 8px;
	font-size: 1.05rem;
	line-height: 1.25;
	color: var(--brtpmj-text);
}

.brtpmj_sr_text{
	color: rgba(0,0,0,.74);
	line-height: 1.55;
	font-size: .98rem;
}

.brtpmj_sr_text p{
	margin: 0;
}

/* empty state */
.brtpmj_empty{
	margin: 0;
	padding: 14px;
	background: var(--brtpmj-card);
	border: 1px solid var(--brtpmj-border);
	border-radius: var(--brtpmj-radius);
	color: var(--brtpmj-muted);
}

/* carousel helpers (keeps your existing JS hooks) */
.carousel-container{
	position: relative;
	margin-top: 12px;
}

.brtpmj_all_reviews.carousel{
	grid-auto-flow: column;
	grid-auto-columns: minmax(260px, 1fr);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding-bottom: 6px;
}

.brtpmj_all_reviews.carousel .carousel-item{
	scroll-snap-align: start;
}

/* optional: hide scrollbar on webkit */
.brtpmj_all_reviews.carousel::-webkit-scrollbar{
	height: 10px;
}
.brtpmj_all_reviews.carousel::-webkit-scrollbar-thumb{
	background: rgba(0,0,0,.18);
	border-radius: 999px;
}

/* carousel nav buttons */
.carousel-nav{
	position: absolute;
	top: 10px;
	right: 10px;
	display: flex;
	gap: 8px;
}

.slider-btn{
	width: 38px;
	height: 38px;
	border-radius: 999px;
	border: 1px solid var(--brtpmj-border);
	background: var(--brtpmj-card);
	box-shadow: 0 8px 18px rgba(0,0,0,.08);
	cursor: pointer;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.slider-btn:hover{
	transform: translateY(-1px);
}

.slider-btn:focus{
	outline: 2px solid rgba(0,0,0,.35);
	outline-offset: 2px;
}

/* responsive */
@media (max-width: 900px){
	.brtpmj_header_inner{
		grid-template-columns: 1fr;
	}
	.brtpmj_summary{
		text-align: left;
	}
	.carousel-nav{
		position: static;
		justify-content: flex-end;
		margin-top: 10px;
	}
}

@media (max-width: 520px){
	.brtpmj_reviews_container{
		padding: 14px;
	}
	.brtpmj_br_score_img img{
		width: 125px;
	}
	.brtpmj_single_rvw{
		padding: 12px;
	}
}
