.reviews_block{display: flex; align-items: center; gap: 4rem;}

.reviews_summary{display: flex; align-items: flex-start; gap: 1.5rem; flex-shrink: 0;}
.reviews_summary_image img{width: 80px; height: 80px; object-fit: cover; display: block}
.reviews_business_name{font-weight: 600; font-size: 1.1rem; margin-bottom: .25rem;}
.reviews_count{margin: .25rem 0 1rem;}
.reviews_button{display: inline-block; padding: .5rem 1.4rem; border: 1px solid #333; border-radius: 4px; color: #000 !important; font-weight: 600; text-decoration: none !important; transition: background-color .2s;}
.reviews_button:hover{background-color: #f2f2f2;}

.reviews_stars{display: inline-flex; gap: 2px;}
/* Mask = svg shape, background-color = star color */
.reviews_stars span{width: 18px; height: 18px; background-color: #ddd; -webkit-mask: url(../icons/star.svg) center / contain no-repeat; mask: url(../icons/star.svg) center / contain no-repeat;}
.reviews_stars .filled{background-color: #f9b704;}

.reviews_slider{position: relative; flex: 1; min-width: 0; padding: 0 1.25rem;}
/* Equal height cards */
.reviews_slider .owl-stage{display: flex;}
/* 1px padding keeps card borders out of owl's half-pixel clipping */
.reviews_slider .owl-item{display: flex; padding: 0 1px; box-sizing: border-box;}

.reviews_card{display: flex; flex-direction: column; width: 100%; padding: 2rem 1.5rem; border: 1px solid #ddd; border-radius: 3px; background: #fff;}
.reviews_card_header{display: flex; align-items: center; gap: 1rem;}
.reviews_card .reviews_avatar{width: 50px !important; height: 50px; border-radius: 50%; flex-shrink: 0; object-fit: cover; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1.4rem;}
.reviews_card_meta{flex: 1; min-width: 0;}
.reviews_name{font-weight: 600; font-size: 1.1rem;}
.reviews_date{color: #666;}
.reviews_card .reviews_google{width: 24px !important; align-self: flex-start; flex-shrink: 0;}
.reviews_text{line-height: 1.4;}

.reviews_card_rating{display: flex; align-items: center; gap: .5rem; margin: 1rem 0 .5rem;}
.reviews_card .reviews_verified{width: 18px !important;}

.reviews_slider .owl-nav{margin: 0 !important;}
/* Center on cards, minus dots height */
.reviews_slider .owl-nav .owl-prev,
.reviews_slider .owl-nav .owl-next{position: absolute; top: calc(50% - .5rem - 5px); transform: translateY(-50%); width: 40px; height: 40px; margin: 0 !important; border-radius: 0 !important; border: 1px solid #ddd !important; background: #fff !important; display: flex; align-items: center; justify-content: center; color: #333 !important; font-size: 1.4rem !important; z-index: 2;}
.reviews_slider .owl-nav .owl-prev{left: 0;}
.reviews_slider .owl-nav .owl-next{right: 0;}
.reviews_slider .owl-nav .disabled{opacity: .4; cursor: default;}

.reviews_slider .owl-dots{display: flex; justify-content: center; gap: 8px; padding-top: 1rem; line-height: 0;}
.reviews_slider .owl-dots.disabled{display: none;}
.reviews_slider .owl-dot{display: block; padding: 0 !important; margin: 0 !important; border: 0 !important; background: none !important;}
.reviews_slider .owl-dot span{display: block; width: 10px; height: 10px; margin: 0; border-radius: 0; background: #ccc; box-shadow: none !important; transition: background-color .2s;}
.reviews_slider .owl-dot.active span{background: #333 !important;}

@media only screen and (max-width: 1024px) {
    .reviews_block{flex-direction: column; align-items: stretch; gap: 2rem;}
}

@media only screen and (max-width: 767px) {
    .reviews_slider{padding: 0;}
}
