.pgc-catalog {
	--pgc-gap: 1.5rem;
	--pgc-radius: 12px;
	--pgc-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
	--pgc-columns: 3;
	--pgc-brand: #3e8736;
	--pgc-brand-dark: #32702b;
	--pgc-purple: #9229f7;
	margin: 2rem 0;
	width: 100%;
}

.pgc-section-title {
	margin: 0 0 1.25rem;
	font-size: 1.75rem;
	line-height: 1.2;
}

.elementor-widget-pgc_games_grid .pgc-catalog,
.elementor-widget-pgc_games_segment .pgc-catalog,
.elementor-widget-pgc_games_grid .elementor-widget-container,
.elementor-widget-pgc_games_segment .elementor-widget-container {
	width: 100%;
}

.pgc-grid {
	display: grid !important;
	width: 100%;
	gap: var(--pgc-gap);
	grid-template-columns: repeat(var(--pgc-columns, 3), minmax(0, 1fr)) !important;
}

.pgc-grid--cols-1 { --pgc-columns: 1; }
.pgc-grid--cols-2 { --pgc-columns: 2; }
.pgc-grid--cols-3 { --pgc-columns: 3; }
.pgc-grid--cols-4 { --pgc-columns: 4; }
.pgc-grid--cols-5 { --pgc-columns: 5; }
.pgc-grid--cols-6 { --pgc-columns: 6; }

@media (max-width: 1024px) {
	.pgc-grid {
		grid-template-columns: repeat(min(var(--pgc-columns, 3), 3), minmax(0, 1fr)) !important;
	}
}

@media (max-width: 768px) {
	.pgc-grid {
		grid-template-columns: repeat(min(var(--pgc-columns, 3), 2), minmax(0, 1fr)) !important;
	}
}

@media (max-width: 480px) {
	.pgc-grid {
		grid-template-columns: 1fr !important;
	}
}

.pgc-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	width: 100%;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: var(--pgc-radius);
	box-shadow: var(--pgc-shadow);
	overflow: hidden;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.pgc-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
}

.pgc-card__link {
	color: inherit;
	text-decoration: none;
	flex: 1;
}

.pgc-card__image {
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #f3f4f6;
}

.pgc-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pgc-card__image-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: 160px;
	background: linear-gradient(135deg, #d9f0d7, #eef8ed);
	color: var(--pgc-brand);
	font-size: 2.5rem;
	font-weight: 700;
}

.pgc-card__body {
	padding: 1rem;
}

.pgc-card__title {
	margin: 0 0 0.5rem;
	font-size: 1.1rem;
	line-height: 1.3;
}

.pgc-card__genres {
	margin: 0 0 0.5rem;
	font-size: 0.85rem;
	color: #6b7280;
}

.pgc-card__excerpt {
	margin: 0;
	font-size: 0.9rem;
	color: #4b5563;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.pgc-card__footer {
	padding: 0 1rem 1rem;
}

.pgc-button {
	display: inline-block;
	padding: 0.65rem 1rem;
	border-radius: 8px;
	background: var(--pgc-brand);
	color: #ffffff;
	text-decoration: none;
	font-weight: 600;
	transition: background 0.2s ease, color 0.2s ease;
}

.pgc-button:hover,
.pgc-button:focus,
.pgc-button:active {
	background: var(--pgc-brand-dark);
	color: #ffffff !important;
}

.pgc-button--fullscreen {
	display: inline-block;
	padding: 0.85rem 1.5rem;
	border: none;
	border-radius: 10px;
	background: var(--pgc-brand) !important;
	color: #ffffff !important;
	text-decoration: none !important;
	font-weight: 700;
	font-size: 1rem;
	line-height: 1.2;
	box-shadow: 0 8px 20px rgba(62, 135, 54, 0.35);
	cursor: pointer;
}

.pgc-button--fullscreen:hover,
.pgc-button--fullscreen:focus,
.pgc-button--fullscreen:active {
	background: var(--pgc-brand-dark) !important;
	color: #ffffff !important;
	transform: translateY(-1px);
}

.pgc-embed-actions {
	margin-top: 1.25rem;
	text-align: center;
}

.pgc-embed-wrapper {
	margin: 1.5rem 0;
}

.pgc-embed-responsive {
	position: relative;
	width: 100%;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	border-radius: var(--pgc-radius);
	background: #000;
}

.pgc-embed-responsive iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.pgc-embed-actions,
.pgc-game-details__actions {
	margin-top: 1rem;
}

.pgc-single-game {
	padding: 2rem 1rem;
	color: #ffffff;
}

.pgc-single-game__inner {
	max-width: 960px;
	margin: 0 auto;
}

.pgc-single-game__header {
	margin-bottom: 1.5rem;
}

.pgc-single-game__title {
	margin: 0 0 0.5rem;
	color: #ffffff;
}

.pgc-single-game__genres {
	margin: 0;
	color: #ffffff;
}

.pgc-single-game__section,
.pgc-single-game__meta,
.pgc-game-details__how-to-play {
	margin-top: 2rem;
}

.pgc-single-game__section h2,
.pgc-game-details__how-to-play h2 {
	margin-top: 0;
	color: #ffffff;
}

.pgc-single-game__content,
.pgc-single-game__meta,
.pgc-single-game__meta p {
	color: #ffffff;
}

body.single-pg_game .elementor-widget-heading .elementor-heading-title,
body.single-pg_game .elementor-widget-text-editor,
body.single-pg_game .elementor-widget-text-editor p,
body.single-pg_game .pgc-section-hero .elementor-heading-title,
body.single-pg_game .pgc-section-content .elementor-heading-title,
body.single-pg_game .pgc-section-content .elementor-text-editor,
body.single-pg_game .pgc-section-content .elementor-text-editor p,
body.single-pg_game .pgc-section-meta .pgc-game-details,
body.single-pg_game .pgc-section-meta .pgc-game-details__meta,
body.single-pg_game .pgc-section-meta .pgc-game-details__meta strong,
body.single-pg_game .pgc-game-details--meta,
body.single-pg_game .pgc-game-details--meta p,
body.single-pg_game .pgc-game-details--meta strong {
	color: #ffffff !important;
}

body.single-pg_game .pgc-section-hero,
body.single-pg_game .pgc-section-content,
body.single-pg_game .elementor-section.pgc-section-hero,
body.single-pg_game .elementor-section.pgc-section-content,
body.single-pg_game .elementor-top-section.pgc-section-hero,
body.single-pg_game .elementor-top-section.pgc-section-content {
	background-color: var(--pgc-purple) !important;
	background: var(--pgc-purple) !important;
}

body.single-pg_game .pgc-section-meta,
body.single-pg_game .elementor-section.pgc-section-meta,
body.single-pg_game .elementor-top-section.pgc-section-meta {
	background-color: var(--pgc-brand) !important;
	background: var(--pgc-brand) !important;
}

body.single-pg_game .pgc-section-hero > .elementor-container,
body.single-pg_game .pgc-section-content > .elementor-container,
body.single-pg_game .pgc-section-meta > .elementor-container,
body.single-pg_game .pgc-section-hero > .e-con-inner,
body.single-pg_game .pgc-section-content > .e-con-inner,
body.single-pg_game .pgc-section-meta > .e-con-inner {
	background: transparent !important;
}

body.single-pg_game .pgc-section-hero a:not(.pgc-button),
body.single-pg_game .pgc-section-content a:not(.pgc-button),
body.single-pg_game .pgc-section-meta a:not(.pgc-button) {
	color: #ffffff !important;
}

.pgc-game-details__title {
	margin-top: 0;
	color: #ffffff;
}

.pgc-game-details,
.pgc-game-details__description,
.pgc-game-details__how-to-play,
.pgc-game-details__meta {
	color: #ffffff;
}

.pgc-game-details__description p,
.pgc-game-details__how-to-play p {
	margin-bottom: 1rem;
	color: #ffffff;
}

.pgc-empty {
	color: #4b5563;
	padding: 1rem;
	background: #f9fafb;
	border-radius: 8px;
}

.pgc-pagination {
	margin-top: 2rem;
	background: transparent;
}

.pgc-pagination ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
	background: transparent;
}

.pgc-pagination li {
	margin: 0;
	padding: 0;
	background: transparent;
	box-shadow: none;
}

.pgc-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	height: 2.5rem;
	margin: 0;
	padding: 0 0.75rem;
	border-radius: 8px;
	background: #ffffff;
	border: 1px solid rgba(0, 0, 0, 0.12);
	color: #1f2937 !important;
	text-decoration: none !important;
	font-weight: 600;
	box-shadow: none;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.pgc-pagination a.page-numbers:hover,
.pgc-pagination a.page-numbers:focus,
.pgc-pagination a.page-numbers:active,
.pgc-pagination .page-numbers.current {
	background-color: var(--pgc-brand) !important;
	border-color: var(--pgc-brand) !important;
	color: #ffffff !important;
}

.pgc-pagination .page-numbers.dots {
	background: transparent !important;
	border: none !important;
	color: #1f2937 !important;
	min-width: auto;
	padding: 0 0.35rem;
}
