/**
 * Review Externe Guesty - Carousel Styles
 *
 * @package Review_Externe_Guesty
 */

/* Inter font - fallback to system sans if not loaded */
.reg-reviews-carousel {
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
	margin: 2rem auto !important;
	width: 100% !important;
	text-align: center !important;
}

.reg-review-card {
	background-color: #F7F7F7 !important;
	border-radius: 8px !important;
	padding: 1.5rem !important;
	min-height: 200px !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	text-align: center !important;
	height: auto !important;
}

/* Name - Inter 600, 22px, 28px line-height, black */
.reg-review-header {
	margin-bottom: 0.75rem;
}

.reg-review-name {
	font-family: 'Inter', sans-serif !important;
	font-style: normal !important;
	font-weight: 600 !important;
	color: rgb(0, 0, 0) !important;
	font-size: 22px !important;
	line-height: 28px !important;
}

.reg-channel-airbnb {
	background: #FF5A5F !important;
	color: #fff !important;
}

.reg-channel-booking {
	background: #003580 !important;
	color: #fff !important;
}

.reg-channel-guesty,
.reg-channel-guestybooking {
	background: #2d3748 !important;
	color: #fff !important;
}

.reg-channel-vrbo {
	background: #e45a34 !important;
	color: #fff !important;
}

/* Stars rating */
.reg-rating-wrapper {
	display: flex !important;
	justify-content: center !important;
	gap: 2px !important;
	margin-bottom: 1rem !important;
}

.reg-star {
	display: inline-flex;
}

.reg-star svg {
	width: 20px !important;
	height: 20px !important;
}

.reg-star-filled svg {
	fill: #FFB800 !important;
}

.reg-star-empty svg {
	fill: #e0e0e0 !important;
}

/* Comment message - Inter 400, 16px, 26px, gray */
.reg-review-content {
	flex: 1 !important;
	width: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	min-height: 0 !important;
}

.reg-review-preview,
.reg-review-full {
	width: 100% !important;
	font-family: 'Inter', sans-serif !important;
	font-style: normal !important;
	font-weight: 400 !important;
	color: rgb(136, 136, 136) !important;
	font-size: 16px !important;
	line-height: 26px !important;
}
.reg-carousel-nav .reg-carousel-btn:hover{
	background: transparent!important;
	border: none!important;
}
.reg-carousel-btn, .reg-carousel-btn.reg-carousel-next:focus {
	outline: none;
	border: none;
	background: transparent!important;
  }
/* Button - Inter 600, 14px, 21px - white bg black, hover: white text black border */
.reg-toggle-more {
	font-family: 'Inter', sans-serif !important;
	font-style: normal !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	line-height: 21px !important;
	color: #fff !important;
	background-color: rgb(0, 0, 0) !important;
	border: 2px solid transparent !important;
	padding: 5px 15px !important;
	margin-top: 1rem !important;
	cursor: pointer !important;
	border-radius: 4px !important;
	transition: all 0.2s ease !important;
	margin-bottom: 24px !important;
}


.reg-toggle-more:hover {
	background-color: #fff !important;
	color: rgb(0, 0, 0) !important;
	border-color: rgb(0, 0, 0) !important;
}

/* Carousel CSS - Swiper.js */
.reg-reviews-carousel {
	position: relative !important;
	width: 100% !important;
}

.reg-reviews-swiper {
	width: 100% !important;
	overflow: hidden !important;
	padding-bottom: 0 !important;
}

.reg-reviews-swiper .swiper-wrapper {
	display: flex !important;
	align-items: stretch !important;
}

.reg-reviews-track {
	width: 100% !important;
}

/* Prev/Next - chevrons 25px, milieu des cartes, gauche/droite à l'intérieur */
.reg-carousel-nav {
	position: absolute !important;
	top: 50% !important;
	left: 0 !important;
	right: 0 !important;
	transform: translateY(-50%) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 0 0.5rem !important;
	pointer-events: none !important;
	z-index: 10 !important;
	height: 0 !important;
	z-index: 9;
}

.reg-carousel-nav .reg-carousel-btn {
	pointer-events: auto !important;
	position: relative !important;
	z-index: 11 !important;
}

.reg-carousel-btn {
	background: none !important;
	border: none !important;
	padding: 0 !important;
	color: #000 !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: opacity 0.2s, color 0.2s !important;
}

.reg-carousel-btn:hover {
	opacity: 0.7;
}

.reg-carousel-btn svg {
	width: 25px !important;
	height: 25px !important;
}

/* Channel logo en bas de la card */
.reg-review-footer {
	margin-top: auto !important;
	padding-top: 1rem !important;
	display: flex !important;
	justify-content: center !important;
}

.reg-channel-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 60px;
	height: 24px;
	font-size: 11px;
	font-weight: 600;
	border-radius: 4px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.reg-channel-logo .reg-channel-img {
	max-width: 108px;
	width: auto;
	height: auto;
	object-fit: contain;
	vertical-align: middle;
}

.reg-channel-logo:has(.reg-channel-img) {
	background: transparent !important;
}
button.reg-carousel-btn {
    background: transparent !important;
    border: none !important;
}
.reg-carousel-nav .reg-carousel-btn svg{
	stroke: black !important;
}

.reg-review-slide {
	box-sizing: border-box !important;
	display: flex !important;
	align-items: stretch !important;
	height: auto !important;
}

.reg-reviews-carousel .reg-review-card {
	height: 100% !important;
	width: 100% !important;
}

.reg-review-slide .reg-review-card {
	display: flex !important;
	flex-direction: column !important;
}

