/* Dekalux Google Reviews */
.dgr-reviews {
	--dgr-star: #fbbc05;
	--dgr-star-empty: #d9d9d9;
	--dgr-card-bg: #fff;
	--dgr-card-border: #e6e6e6;
	--dgr-text: #333;
	--dgr-muted: #777;
	--dgr-accent: #1a73e8;
	margin: 0 0 2rem;
	color: var(--dgr-text);
}

.dgr-heading {
	text-align: center;
	margin: 0 0 1rem;
}

/* Summary badge */
.dgr-summary {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	flex-wrap: wrap;
	font-size: 1rem;
	line-height: 1;
}
.dgr-reviews > .dgr-summary {
	display: flex;
	justify-content: center;
	margin-bottom: 1.5rem;
}
.dgr-summary-rating {
	font-size: 1.6rem;
	font-weight: 700;
}
.dgr-summary-count a {
	color: var(--dgr-accent);
	text-decoration: none;
}
.dgr-summary-count a:hover {
	text-decoration: underline;
}

/* Grid */
.dgr-grid {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(1, minmax(0, 1fr));
}
@media (min-width: 600px) {
	.dgr-cols-2 .dgr-grid,
	.dgr-cols-3 .dgr-grid,
	.dgr-cols-4 .dgr-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 900px) {
	.dgr-cols-3 .dgr-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.dgr-cols-4 .dgr-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Card */
.dgr-card {
	background: var(--dgr-card-bg);
	border: 1px solid var(--dgr-card-border);
	border-radius: 12px;
	padding: 1.25rem;
	display: flex;
	flex-direction: column;
	gap: .6rem;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .05);
}
.dgr-card-head {
	display: flex;
	align-items: center;
	gap: .75rem;
}
.dgr-avatar {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	flex: 0 0 44px;
	object-fit: cover;
}
.dgr-avatar-initial {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--dgr-accent);
	color: #fff;
	font-weight: 700;
	font-size: 1.1rem;
}
.dgr-card-meta {
	display: flex;
	flex-direction: column;
	min-width: 0;
	flex: 1 1 auto;
}
.dgr-author {
	font-weight: 600;
	color: inherit;
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.dgr-date {
	font-size: .85rem;
	color: var(--dgr-muted);
}
.dgr-google-logo {
	display: inline-flex;
	line-height: 0;
}
.dgr-google-logo-small svg {
	width: 18px;
	height: 18px;
}

/* Stars */
.dgr-stars {
	display: inline-flex;
	gap: 2px;
	line-height: 0;
}
.dgr-star {
	width: 18px;
	height: 18px;
	display: inline-block;
	background-color: var(--dgr-star-empty);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.dgr-star-full {
	background-color: var(--dgr-star);
}
.dgr-star-half {
	background-image: linear-gradient(90deg, var(--dgr-star) 50%, var(--dgr-star-empty) 50%);
	background-color: transparent;
}

/* Text + read more (CSS only) */
.dgr-text p {
	margin: 0;
	line-height: 1.55;
	font-size: .95rem;
}
.dgr-more-toggle {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.dgr-text-full {
	display: none;
}
.dgr-more-toggle:checked ~ .dgr-text-short {
	display: none;
}
.dgr-more-toggle:checked ~ .dgr-text-full {
	display: block;
}
.dgr-more {
	color: var(--dgr-accent);
	cursor: pointer;
	font-weight: 600;
}
.dgr-more:hover {
	text-decoration: underline;
}

.dgr-empty {
	text-align: center;
	color: var(--dgr-muted);
}
