.ccgr {
	--ccgr-accent: #1a73e8;
	--ccgr-btn-text: #ffffff;
	--ccgr-star: #fbbc04;
	--ccgr-star-off: #dadce0;
	--ccgr-card-bg: #ffffff;
	--ccgr-summary-bg: #ffffff;
	--ccgr-border: #e8eaed;
	--ccgr-text: #202124;
	--ccgr-muted: #70757a;
	--ccgr-radius: 14px;
	font-size: 15px;
	line-height: 1.55;
	color: var(--ccgr-text);
	box-sizing: border-box;
}
.ccgr *, .ccgr *::before, .ccgr *::after { box-sizing: border-box; }

.ccgr-admin-notice {
	padding: 10px 14px;
	background: #fff4e5;
	border: 1px solid #f0b849;
	border-radius: 6px;
	font-size: 14px;
}

/* כותרת */
.ccgr-summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	padding: 18px 20px;
	margin-bottom: 20px;
	background: var(--ccgr-summary-bg);
	border: 1px solid var(--ccgr-border);
	border-radius: var(--ccgr-radius);
}
.ccgr-summary-main { display: flex; align-items: center; gap: 14px; }
.ccgr-summary-name { font-weight: 700; font-size: 17px; }
.ccgr-summary-rating { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ccgr-summary-rating strong { font-size: 20px; }
.ccgr-summary-rating a { color: var(--ccgr-muted); text-decoration: none; font-size: 14px; }
.ccgr-summary-rating a:hover { text-decoration: underline; }

/* כפתור */
.ccgr-btn {
	display: inline-block;
	padding: 11px 22px;
	background: var(--ccgr-accent);
	color: var(--ccgr-btn-text) !important;
	border-radius: var(--ccgr-radius);
	font-weight: 600;
	text-decoration: none !important;
	transition: filter .2s, transform .2s;
}
.ccgr-btn:hover { filter: brightness(1.08); transform: translateY(-1px); }

/* כוכבים */
.ccgr-stars {
	display: inline-block;
	font-size: 17px;
	line-height: 1;
	letter-spacing: 1px;
	background: linear-gradient(90deg, var(--ccgr-star) calc(var(--ccgr-rating) / 5 * 100%), var(--ccgr-star-off) 0);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.ccgr-stars::before { content: "\2605\2605\2605\2605\2605"; }
.ccgr-rtl .ccgr-stars {
	background-image: linear-gradient(-90deg, var(--ccgr-star) calc(var(--ccgr-rating) / 5 * 100%), var(--ccgr-star-off) 0);
}

/* כרטיס */
.ccgr-card {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 18px;
	background: var(--ccgr-card-bg);
	border: 1px solid var(--ccgr-border);
	border-radius: var(--ccgr-radius);
}
.ccgr-card-head { display: flex; align-items: center; gap: 10px; }
.ccgr-card-head .ccgr-g { margin-inline-start: auto; flex-shrink: 0; }
.ccgr-avatar {
	width: 40px; height: 40px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}
.ccgr-avatar-fallback {
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--ccgr-accent); color: var(--ccgr-btn-text); font-weight: 700;
}
.ccgr-card-meta { display: flex; flex-direction: column; min-width: 0; }
.ccgr-author {
	font-weight: 600; color: var(--ccgr-text); text-decoration: none;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
a.ccgr-author:hover { text-decoration: underline; }
.ccgr-time { font-size: 13px; color: var(--ccgr-muted); }

.ccgr-text {
	display: -webkit-box;
	-webkit-line-clamp: 5;
	-webkit-box-orient: vertical;
	overflow: hidden;
	white-space: normal;
	unicode-bidi: plaintext;
	text-align: start;
}
.ccgr-open .ccgr-text { -webkit-line-clamp: unset; display: block; }
.ccgr-more {
	align-self: flex-start;
	background: none; border: 0; padding: 0;
	color: var(--ccgr-accent); font-weight: 600; cursor: pointer; font-size: 14px;
}
.ccgr-more[hidden] { display: none; }

/* פריסות */
.ccgr-viewport { position: relative; }

.ccgr-layout-grid .ccgr-track {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 18px;
}
.ccgr-layout-list .ccgr-track { display: flex; flex-direction: column; gap: 14px; }

.ccgr-layout-slider .ccgr-viewport { padding: 0 44px; }
.ccgr-layout-slider .ccgr-track {
	display: flex;
	gap: 18px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding: 4px 2px;
}
.ccgr-layout-slider .ccgr-track::-webkit-scrollbar { display: none; }
.ccgr-layout-slider .ccgr-card {
	flex: 0 0 calc((100% - 36px) / 3);
	scroll-snap-align: start;
}
.ccgr-nav {
	position: absolute; top: 50%; transform: translateY(-50%);
	width: 36px; height: 36px;
	border-radius: 50%;
	border: 1px solid var(--ccgr-border);
	background: var(--ccgr-card-bg);
	color: var(--ccgr-text);
	font-size: 24px; line-height: 1;
	cursor: pointer;
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 1px 3px rgba(0,0,0,.12);
	z-index: 2;
	padding: 0 0 3px;
}
.ccgr-nav:disabled { opacity: .35; cursor: default; }
.ccgr-prev { inset-inline-start: 0; }
.ccgr-next { inset-inline-end: 0; }
.ccgr-rtl .ccgr-prev, .ccgr-rtl .ccgr-next { transform: translateY(-50%) scaleX(-1); }

.ccgr-attribution { margin-top: 12px; font-size: 12px; text-align: center; }
.ccgr-attribution a { color: var(--ccgr-muted); text-decoration: none; }

@media (max-width: 1024px) {
	.ccgr-layout-slider .ccgr-card { flex-basis: calc((100% - 18px) / 2); }
}
@media (max-width: 640px) {
	.ccgr-layout-slider .ccgr-viewport { padding: 0; }
	.ccgr-layout-slider .ccgr-card { flex-basis: 85%; }
	.ccgr-nav { display: none; }
	.ccgr-summary { flex-direction: column; align-items: stretch; text-align: center; }
	.ccgr-summary-main { justify-content: center; }
	.ccgr-btn { text-align: center; }
}
