/* KOKETA – Woo Reviews Showcase
 * Namespaced to avoid conflicts with Divi/WooCommerce.
 */

.krs-wrap{
	--krs-accent:#C91F5D;
	--krs-verified:#13795B;
	--krs-radius:20px;
	--krs-desktop:3;
	--krs-tablet:2;
	--krs-mobile:1;
	--krs-gap:18px;
	--krs-border:#eadfe4;
	--krs-text:#241b20;
	--krs-muted:#786970;
	--krs-card:#fff;
	position:relative;
	width:100%;
	max-width:100%;
	box-sizing:border-box;
	font-family:Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	color:var(--krs-text);
}

.krs-wrap *,
.krs-wrap *::before,
.krs-wrap *::after{
	box-sizing:border-box;
}

.krs-header{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:20px;
	margin:0 0 20px;
}

.krs-heading{
	margin:0 0 8px!important;
	padding:0!important;
	color:var(--krs-text);
	font:700 clamp(28px,3vw,42px)/1.08 "Cormorant Garamond",Georgia,serif!important;
	letter-spacing:-.015em;
}

.krs-summary{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:8px;
	color:var(--krs-muted);
	font-size:14px;
	line-height:1.4;
}

.krs-summary strong{
	color:var(--krs-text);
	font-size:15px;
}

.krs-controls{
	display:flex;
	align-items:center;
	gap:9px;
	flex:0 0 auto;
}

.krs-arrow{
	appearance:none;
	-webkit-appearance:none;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:42px;
	height:42px;
	margin:0;
	padding:0;
	border:1px solid var(--krs-border);
	border-radius:999px;
	background:#fff;
	color:#4b1831;
	box-shadow:0 4px 16px rgba(29,23,26,.08);
	cursor:pointer;
	transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.krs-arrow:hover{
	transform:translateY(-1px);
	border-color:color-mix(in srgb,var(--krs-accent) 32%,var(--krs-border));
	box-shadow:0 7px 20px rgba(29,23,26,.11);
}

.krs-arrow:focus-visible,
.krs-dot:focus-visible{
	outline:3px solid color-mix(in srgb,var(--krs-accent) 32%,transparent);
	outline-offset:3px;
}

.krs-arrow svg{
	width:20px;
	height:20px;
	fill:none;
	stroke:currentColor;
	stroke-width:2.25;
	stroke-linecap:round;
	stroke-linejoin:round;
	pointer-events:none;
}

.krs-viewport{
	width:100%;
	max-width:100%;
	overflow-x:auto;
	overflow-y:hidden;
	scroll-behavior:smooth;
	scroll-snap-type:x mandatory;
	scrollbar-width:none;
	-webkit-overflow-scrolling:touch;
}

.krs-viewport::-webkit-scrollbar{
	display:none;
}

.krs-track{
	display:flex;
	align-items:stretch;
	gap:var(--krs-gap);
	width:100%;
	min-width:0;
}

.krs-layout-carousel .krs-card{
	flex:0 0 calc((100% - ((var(--krs-desktop) - 1) * var(--krs-gap))) / var(--krs-desktop));
	scroll-snap-align:start;
}

.krs-card{
	position:relative;
	display:flex;
	flex-direction:column;
	min-width:0;
	min-height:100%;
	padding:22px;
	border:1px solid var(--krs-border);
	border-radius:var(--krs-radius);
	background:var(--krs-card);
	overflow:hidden;
}

.krs-shadow-none .krs-card{box-shadow:none}
.krs-shadow-soft .krs-card{box-shadow:0 10px 30px rgba(48,31,39,.07)}
.krs-shadow-medium .krs-card{box-shadow:0 14px 38px rgba(48,31,39,.12)}

.krs-card::before{
	content:"";
	position:absolute;
	inset:0 auto 0 0;
	width:3px;
	background:linear-gradient(180deg,var(--krs-accent),color-mix(in srgb,var(--krs-accent) 30%,transparent));
	opacity:.88;
}

.krs-card-top{
	display:flex;
	align-items:center;
	gap:12px;
	margin-bottom:16px;
}

.krs-avatar{
	flex:0 0 54px;
	width:54px;
	height:54px;
	border-radius:50%;
	overflow:hidden;
	background:#f6eef2;
	border:2px solid #fff;
	box-shadow:0 0 0 1px var(--krs-border);
}

.krs-avatar img,
.krs-avatar-img{
	display:block!important;
	width:54px!important;
	height:54px!important;
	max-width:54px!important;
	border-radius:50%!important;
	object-fit:cover!important;
	margin:0!important;
}

.krs-avatar-fallback{
	display:flex;
	align-items:center;
	justify-content:center;
	width:54px;
	height:54px;
	background:color-mix(in srgb,var(--krs-accent) 10%,#fff);
	color:var(--krs-accent);
	font-weight:800;
	font-size:20px;
}

.krs-person{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:5px;
	min-width:0;
}

.krs-name{
	display:block;
	max-width:100%;
	color:var(--krs-text);
	font-size:15px;
	line-height:1.25;
	font-weight:800;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}

.krs-verified{
	display:inline-flex;
	align-items:center;
	gap:5px;
	color:var(--krs-verified);
	font-size:11px;
	line-height:1.2;
	font-weight:800;
	letter-spacing:.02em;
}

.krs-verified svg{
	width:15px;
	height:15px;
	padding:2px;
	border:1px solid color-mix(in srgb,var(--krs-verified) 45%,transparent);
	border-radius:50%;
	fill:none;
	stroke:currentColor;
	stroke-width:2.5;
	stroke-linecap:round;
	stroke-linejoin:round;
}

.krs-rating-row{
	display:flex;
	align-items:center;
	gap:8px;
	margin-bottom:13px;
}

.krs-stars{
	display:inline-flex;
	align-items:center;
	gap:2px;
	line-height:1;
}

.krs-star{
	width:18px;
	height:18px;
	fill:#e5d8de;
}

.krs-star.is-filled{
	fill:#F2B01E;
}

.krs-rating-number{
	color:var(--krs-muted);
	font-size:12px;
	font-weight:700;
}

.krs-review-text{
	flex:1 1 auto;
	margin:0!important;
	padding:0!important;
	border:0!important;
	color:#44353c!important;
	font-size:15px!important;
	line-height:1.65!important;
	font-style:normal!important;
	quotes:none!important;
}

.krs-review-text::before,
.krs-review-text::after{
	content:none!important;
}

.krs-card-footer{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:12px;
	margin-top:20px;
	padding-top:14px;
	border-top:1px solid #f0e7eb;
}

.krs-product{
	display:-webkit-box;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
	overflow:hidden;
	max-width:72%;
	color:var(--krs-accent)!important;
	font-size:12px;
	line-height:1.35;
	font-weight:800;
	text-decoration:none!important;
}

.krs-product:hover{
	text-decoration:underline!important;
}

.krs-date{
	flex:0 0 auto;
	color:var(--krs-muted);
	font-size:11px;
	line-height:1.35;
	white-space:nowrap;
}

.krs-dots{
	display:flex;
	align-items:center;
	justify-content:center;
	flex-wrap:wrap;
	gap:7px;
	min-height:18px;
	margin-top:16px;
}

.krs-dot{
	appearance:none;
	-webkit-appearance:none;
	width:8px;
	height:8px;
	margin:0;
	padding:0;
	border:0;
	border-radius:50%;
	background:#d8c5cd;
	cursor:pointer;
	transition:width .18s ease,background .18s ease;
}

.krs-dot.is-active{
	width:22px;
	border-radius:999px;
	background:var(--krs-accent);
}

.krs-layout-grid .krs-viewport{
	overflow:visible;
}

.krs-layout-grid .krs-track{
	display:grid;
	grid-template-columns:repeat(var(--krs-desktop),minmax(0,1fr));
	gap:var(--krs-gap);
}

.krs-layout-grid .krs-card{
	width:100%;
}

.krs-empty{
	padding:22px;
	border:1px solid #eadfe4;
	border-radius:16px;
	background:#fff;
	color:#786970;
	font-family:Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	text-align:center;
}

@media(max-width:980px){
	.krs-layout-carousel .krs-card{
		flex-basis:calc((100% - ((var(--krs-tablet) - 1) * var(--krs-gap))) / var(--krs-tablet));
	}

	.krs-layout-grid .krs-track{
		grid-template-columns:repeat(var(--krs-tablet),minmax(0,1fr));
	}

	.krs-card{
		padding:20px;
	}
}

@media(max-width:767px){
	.krs-wrap{
		--krs-gap:14px;
	}

	.krs-header{
		align-items:center;
		margin-bottom:16px;
	}

	.krs-heading{
		font-size:31px!important;
	}

	.krs-controls{
		gap:6px;
	}

	.krs-arrow{
		width:38px;
		height:38px;
	}

	.krs-layout-carousel .krs-card{
		flex-basis:calc((100% - ((var(--krs-mobile) - 1) * var(--krs-gap))) / var(--krs-mobile));
	}

	.krs-layout-grid .krs-track{
		grid-template-columns:repeat(var(--krs-mobile),minmax(0,1fr));
	}

	.krs-card{
		padding:18px;
		border-radius:min(var(--krs-radius),18px);
	}

	.krs-card-footer{
		flex-direction:column;
		align-items:flex-start;
		gap:7px;
	}

	.krs-product{
		max-width:100%;
	}
}

@media(max-width:480px){
	.krs-summary{
		font-size:13px;
	}

	.krs-avatar,
	.krs-avatar img,
	.krs-avatar-img,
	.krs-avatar-fallback{
		width:50px!important;
		height:50px!important;
		max-width:50px!important;
	}

	.krs-avatar{
		flex-basis:50px;
	}
}

@media(prefers-reduced-motion:reduce){
	.krs-viewport{
		scroll-behavior:auto;
	}

	.krs-arrow,
	.krs-dot{
		transition:none!important;
	}
}
