/*
Theme Name: PlayYonoRummyGames
Description: Standalone mobile-first styles for PlayYonoRummyGames (v7.1.4).
Text Domain: playyonorummygames
*/
:root {
	--pyr-bg: #ffffff;
	--pyr-text: #1e293b;
	--pyr-muted: #475569;
	--pyr-accent: #2563eb;
	--pyr-accent-dark: #1d4ed8;
	--pyr-accent-soft: #eaf1fd;
	--pyr-success: #047857;
	--pyr-card-bg: #ffffff;
	--pyr-section-bg: #f6f6f6;
	--pyr-border: #eceef2;
	--pyr-radius: 14px;
	--pyr-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body {
	background: var(--pyr-bg);
	color: var(--pyr-text);
	font-family: var(--pyr-sans);
}

h1, h2, h3, h4 {
	font-family: var(--pyr-sans);
}

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

/* ---------- Header ---------- */
.site-branding .custom-logo,
.pyr-brand .custom-logo,
.pyr-brand__logo img {
	max-height: 44px;
	width: auto;
	border-radius: 10px;
}

.site-title,
.pyr-brand__title {
	white-space: nowrap;
	font-size: 20px !important;
}

.pyr-mobile-menu > .menu-item > a {
	white-space: nowrap;
}

/* ---------- Quick links bar ---------- */
.pyr-quicklinks {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	gap: 0;
	background: #ffffff;
	border-bottom: 1px solid var(--pyr-border);
	padding: 0;
}

.pyr-quicklinks a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 3px;
	flex: 1 1 0;
	min-width: 0;
	padding: 8px 2px;
	border-radius: 0;
	border-right: 1px solid var(--pyr-border);
	font-size: 10px;
	font-weight: 600;
	color: var(--pyr-muted);
	text-decoration: none;
	white-space: nowrap;
}

.pyr-quicklinks a:last-child {
	border-right: none;
}

.pyr-quicklinks a svg {
	width: 11px;
	height: 11px;
	flex-shrink: 0;
}

.pyr-quicklinks a:hover {
	background: var(--pyr-accent-soft);
	color: var(--pyr-accent);
}

.pyr-quicklinks .pyr-quicklinks__tg {
	color: var(--pyr-accent);
}

@media (max-width: 380px) {
	.pyr-quicklinks a {
		font-size: 9px;
		gap: 2px;
		padding: 4px 2px;
	}
	.pyr-quicklinks a svg {
		width: 10px;
		height: 10px;
	}
}

#primary {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* ---------- Footer ---------- */
.pyr-footer-links {
	padding: 20px 20px 0;
	border-top: 1px solid var(--pyr-border);
	background: #ffffff;
	font-size: 14px;
}

.pyr-footer-links__row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px 18px;
	max-width: 1180px;
	margin: 0 auto;
}

.pyr-footer-links__row a {
	font-weight: 600;
}

.pyr-footer-links__row--info {
	margin-top: 10px;
}

.pyr-footer-links__row--info a {
	font-weight: 400;
}

.pyr-footer-links a {
	color: var(--pyr-muted);
	text-decoration: none;
}

.pyr-footer-links a:hover {
	color: var(--pyr-accent);
}

.site-footer .pyr-copyright,
.site-footer .pyr-copyright a {
	color: var(--pyr-muted);
}

/* ---------- Buttons ---------- */
.pyr-btn {
	display: inline-block;
	padding: 12px 26px;
	border-radius: 10px;
	border: 1px solid transparent;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
	text-align: center;
	cursor: pointer;
	font-family: inherit;
	font-size: inherit;
	box-sizing: border-box;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	transition: transform .15s ease, box-shadow .15s ease;
}

.pyr-btn--primary,
.pyr-btn--dl,
.pyr-btn--alt {
	background: var(--pyr-accent);
	border-color: var(--pyr-accent);
	color: #ffffff;
}

.pyr-btn--primary:hover,
.pyr-btn--dl:hover,
.pyr-btn--alt:hover,
.pyr-btn--primary:focus,
.pyr-btn--dl:focus {
	background: var(--pyr-accent-dark);
	border-color: var(--pyr-accent-dark);
	color: #ffffff;
}

.pyr-btn--outline,
.pyr-btn--line,
.pyr-btn--ghost {
	background: transparent;
	color: var(--pyr-accent);
	border: 1px solid var(--pyr-accent);
}

.pyr-btn--outline:hover,
.pyr-btn--line:hover,
.pyr-btn--ghost:hover {
	color: var(--pyr-accent);
}

.pyr-btn--off {
	background: var(--pyr-section-bg);
	color: var(--pyr-muted);
	cursor: default;
}

/* Apps that have not launched: a soft orange "Upcoming" button instead of the blue Download one. */
.pyr-btn--soon {
	background: #fff7ed;
	border-color: #fdba74;
	color: #c2410c;
}

.pyr-btn--soon:hover,
.pyr-btn--soon:focus {
	background: #ffedd5;
	border-color: #fb923c;
	color: #9a3412;
}

span.pyr-btn--soon {
	cursor: default;
}

.pyr-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(37, 99, 235, .18);
}

.pyr-btn .pyr-ico {
	display: none;
}

.pyr-inline-cta {
	margin: 20px 0 !important;
}

/* ---------- Home hero ---------- */
.pyr-hero {
	background: linear-gradient(135deg, #ffffff 0%, var(--pyr-accent-soft) 100%);
	border-bottom: 1px solid var(--pyr-border);
	padding: 22px 20px;
	text-align: center;
}

.pyr-hero h1 {
	font-size: clamp(32px, 7vw, 56px);
	font-weight: 800;
	line-height: 1.2;
	margin: 0 0 6px;
	color: var(--pyr-text);
}

.pyr-accent {
	color: var(--pyr-accent);
}

.pyr-hero p {
	color: var(--pyr-muted);
	max-width: 640px;
	margin: 0 auto 12px;
	font-size: 14px;
}

.pyr-hero .pyr-hero-tagline {
	font-weight: 700;
	color: var(--pyr-text);
	font-size: 16px;
	margin-bottom: 4px;
}

.pyr-hero-stats {
	display: flex;
	justify-content: center;
	gap: 8px;
	flex-wrap: nowrap;
	margin-bottom: 12px;
}

.pyr-stat {
	display: flex;
	align-items: center;
	gap: 6px;
	text-align: left;
}

.pyr-stat-icon {
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.pyr-stat-icon svg {
	width: 16px;
	height: 16px;
}

.pyr-stat strong {
	display: block;
	font-size: 13px;
	line-height: 1.2;
	color: var(--pyr-accent);
}

.pyr-stat small {
	display: block;
	font-size: 10px;
	color: var(--pyr-muted);
	white-space: nowrap;
}

.pyr-hero-actions {
	display: flex;
	justify-content: center;
	gap: 12px;
	flex-wrap: wrap;
}

@media (max-width: 420px) {
	.pyr-hero-stats {
		gap: 6px;
	}
	.pyr-stat-icon {
		width: 22px;
		height: 22px;
	}
	.pyr-stat-icon svg {
		width: 15px;
		height: 15px;
	}
	.pyr-stat strong {
		font-size: 12px;
	}
	.pyr-stat small {
		font-size: 9px;
	}
}

/* Phones: the two hero buttons share one row (large iPhones are wider than 420px) */
@media (max-width: 600px) {
	.pyr-hero-actions {
		flex-wrap: nowrap;
		gap: 8px;
	}
	.pyr-hero-actions .pyr-btn {
		flex: 1 1 0;
		max-width: 220px;
		padding: 11px 10px;
		font-size: 13px;
		text-align: center;
	}
}

/* ---------- App hero ---------- */
.pyr-app-hero {
	text-align: left;
}

.pyr-app-hero > .pyr-logo {
	display: block;
	width: 120px;
	height: 120px;
	border-radius: 24px;
	object-fit: cover;
	margin: 0 auto 16px;
}

.pyr-app-hero h1 {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.pyr-app-hero .pyr-hero-tagline,
.pyr-app-hero > p {
	text-align: left;
	margin-left: 0;
	margin-right: 0;
}

.pyr-app-hero .pyr-hero-actions {
	justify-content: flex-start;
	flex-direction: column;
	align-items: stretch;
	flex-wrap: nowrap;
}

.pyr-app-hero .pyr-hero-actions .pyr-btn {
	width: 100%;
	max-width: none;
	flex: none;
	padding: 12px 26px;
	font-size: inherit;
	box-sizing: border-box;
}

.pyr-app-hero .pyr-hero-note {
	margin: 12px 0 0;
	font-size: 12px;
	text-align: center;
	max-width: none;
}

.pyr-stats-board {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	gap: 4px;
	background: #ffffff;
	border: 1px solid var(--pyr-border);
	border-radius: 12px;
	padding: 10px 6px;
	margin: 0 0 20px;
	max-width: 640px;
	box-shadow: 0 2px 10px rgba(37, 99, 235, .06);
}

.pyr-stat-block {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 5px;
	flex-shrink: 1;
	min-width: 0;
	padding: 0 2px;
}

.pyr-stat-block-icon {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--pyr-accent-soft);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.pyr-stat-block-icon svg {
	width: 13px;
	height: 13px;
}

.pyr-stat-block-value {
	font-size: 12px;
	font-weight: 700;
	color: var(--pyr-text);
	line-height: 1.2;
	white-space: nowrap;
}

.pyr-stat-block-label {
	font-size: 9px;
	color: var(--pyr-muted);
	white-space: nowrap;
	line-height: 1.5;
}

/* ---------- Sections ---------- */
.pyr-section {
	max-width: 1180px;
	margin: 0 auto;
	padding: 44px 20px;
}

.pyr-section--grey {
	background: var(--pyr-section-bg);
	max-width: none;
}

.pyr-section--grey > * {
	max-width: 1180px;
	margin-left: auto;
	margin-right: auto;
}

.pyr-section > h2,
.pyr-band > h2:first-child {
	font-size: 28px;
	margin: 0 0 6px;
}

.pyr-sub {
	color: var(--pyr-muted);
	margin-bottom: 26px;
}

@media (max-width: 420px) {
	.pyr-section {
		padding: 32px 10px;
	}
}

/* App pages: the article starts close under the hero instead of a full section gap. */
.pyr-section.pyr-app-content {
	padding-top: 16px;
}

.pyr-app-page .pyr-section {
	padding-left: 20px;
	padding-right: 20px;
}

.pyr-extra-content {
	margin-top: 24px;
}

@media (max-width: 420px) {
	.pyr-app-page .pyr-section {
		padding-left: 10px;
		padding-right: 10px;
	}
}

/* Home and collection pages: the content flows inside one wrapper; heroes and bands go edge to edge */
.pyr-front {
	padding: 0 20px 20px;
}

.pyr-front > .pyr-hero,
.pyr-front > .pyr-band {
	margin-left: -20px !important;
	margin-right: -20px !important;
}

.pyr-band {
	padding: 44px 20px !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.pyr-band > * {
	max-width: 1180px;
	margin-left: auto;
	margin-right: auto;
}

.pyr-band--list,
.pyr-band--soft {
	background: var(--pyr-section-bg);
}

/* Two plain bands in a row: the second drops its top padding so the gap between them does not double up. */
.pyr-band:not(.pyr-band--list):not(.pyr-band--soft) + .pyr-band:not(.pyr-band--list):not(.pyr-band--soft) {
	padding-top: 0 !important;
}

/* Tight hero: the heading starts near the quick links bar and the list starts close under the hero */
.pyr-front > .pyr-hero {
	padding-top: 12px;
	padding-bottom: 14px;
}

.pyr-front > .pyr-hero + .pyr-band {
	padding-top: 14px !important;
}

@media (max-width: 420px) {
	.pyr-front {
		padding: 0 10px 12px;
	}
	.pyr-front > .pyr-hero,
	.pyr-front > .pyr-band {
		margin-left: -10px !important;
		margin-right: -10px !important;
	}
	.pyr-band {
		padding: 32px 10px !important;
	}
	.pyr-front > .pyr-hero + .pyr-band {
		padding-top: 12px !important;
	}
}

/* ---------- Article text (apps, guides, pages, home sections) ---------- */
.pyr-content {
	max-width: 780px;
}

.pyr-section--grey.pyr-content {
	max-width: none;
}

.pyr-content h1 {
	margin: 0 0 6px;
}

.pyr-content h2,
.pyr-front > h2,
.pyr-band > h2:not(:first-child) {
	font-size: 22px;
	margin: 32px 0 12px;
}

.pyr-front > h2 {
	font-size: 24px;
	margin-top: 40px;
}

/* A heading right after a plain band: no top margin, and the band keeps only a little bottom padding. */
.pyr-front > .pyr-band:not(.pyr-band--list):not(.pyr-band--soft) + h2 {
	margin-top: 0;
}

.pyr-front > .pyr-band:not(.pyr-band--list):not(.pyr-band--soft):has(+ h2) {
	padding-bottom: 8px !important;
}

.pyr-content > h2:first-child,
.pyr-band > h2:first-child {
	margin-top: 0;
}

.pyr-content h3,
.pyr-front > h3 {
	font-size: 18px;
	margin: 28px 0 10px;
	color: var(--pyr-text);
	clear: both;
}

.pyr-content h4 {
	font-size: 15px;
	margin: 20px 0 8px;
	color: var(--pyr-text);
}

.pyr-content p,
.pyr-front > p,
.pyr-band > p {
	color: var(--pyr-muted);
	line-height: 1.7;
	margin: 0 0 14px;
}

.pyr-content ul,
.pyr-content ol,
.pyr-front > ul,
.pyr-front > ol,
.pyr-band > ul {
	margin: 0 0 16px;
	padding-left: 20px;
	color: var(--pyr-muted);
	line-height: 1.7;
}

.pyr-content li,
.pyr-front li {
	margin-bottom: 6px;
}

.pyr-content strong,
.pyr-front strong {
	color: var(--pyr-text);
}

.pyr-content a,
.pyr-front > p a,
.pyr-front > ul a,
.pyr-band > p a {
	color: var(--pyr-accent);
	text-decoration: none;
}

.pyr-content a:hover,
.pyr-front > p a:hover,
.pyr-front > ul a:hover,
.pyr-band > p a:hover {
	text-decoration: underline;
}

.pyr-content .pyr-btn,
.pyr-content .pyr-btn:hover {
	text-decoration: none;
}

.pyr-content .pyr-btn--primary,
.pyr-content .pyr-btn--dl,
.pyr-content .pyr-btn--alt {
	color: #ffffff;
}

.pyr-updated,
.pyr-content .pyr-updated {
	font-size: 13px;
	color: var(--pyr-muted);
	border-top: 1px solid #e2e8f0;
	padding-top: 12px;
	margin: 28px 0 0;
}

/* story block: text with a blue rule on the left */
.pyr-story {
	padding: 0 0 0 20px;
	border-left: 3px solid var(--pyr-accent);
	color: var(--pyr-muted);
	line-height: 1.7;
	margin: 0 0 16px;
}

.pyr-story p {
	margin: 0;
}

.pyr-story p + p {
	margin-top: 12px;
}

.pyr-story strong {
	color: var(--pyr-text);
}

/* ---------- Tables ---------- */
.pyr-content .wp-block-table,
.pyr-front .wp-block-table,
.pyr-band .wp-block-table {
	margin: 0 0 22px;
	overflow-x: auto;
	display: flex;
	flex-direction: column;
}

.pyr-content table,
.pyr-front table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	overflow: hidden;
	margin: 0;
	font-size: 15px;
	line-height: 1.55;
	color: var(--pyr-text);
}

.pyr-content th,
.pyr-content td,
.pyr-front th,
.pyr-front td {
	border: 0;
	border-bottom: 1px solid #e2e8f0;
	padding: 12px 16px;
	text-align: left;
	vertical-align: top;
}

.pyr-content tbody tr:last-child > *,
.pyr-front tbody tr:last-child > * {
	border-bottom: 0;
}

/* WordPress core draws a 3px dark line under table heads */
.pyr-content .wp-block-table thead,
.pyr-front .wp-block-table thead {
	border-bottom: 0;
}

.pyr-content thead th,
.pyr-front thead th {
	background: #f8fafc;
	color: var(--pyr-muted);
	font-size: 13.5px;
	font-weight: 600;
	white-space: nowrap;
}

.pyr-content tbody th,
.pyr-front tbody th {
	color: var(--pyr-muted);
	font-weight: 500;
}

.pyr-table--stack tbody td:first-child {
	font-weight: 600;
}

.pyr-table--kv tbody th {
	width: 40%;
}

.pyr-table--compare tbody th[scope="row"] {
	font-weight: 700;
	white-space: nowrap;
}

.pyr-table--compare tbody th a {
	color: var(--pyr-text);
	text-decoration: none;
}

.pyr-table--compare tbody th a:hover {
	color: var(--pyr-accent);
}

.wp-block-table figcaption,
.pyr-content caption,
.pyr-front caption {
	order: -1;
	caption-side: top;
	text-align: left;
	font-size: 15px;
	font-weight: 600;
	color: var(--pyr-text);
	margin: 0;
	padding: 0 0 8px;
}

@media (max-width: 600px) {
	.pyr-content th,
	.pyr-content td,
	.pyr-front th,
	.pyr-front td {
		padding: 10px 12px;
		font-size: 14px;
	}
	.pyr-content thead th,
	.pyr-front thead th {
		white-space: normal;
		font-size: 12.5px;
	}
	.pyr-content .pyr-table--compare th,
	.pyr-content .pyr-table--compare td,
	.pyr-front .pyr-table--compare th,
	.pyr-front .pyr-table--compare td {
		padding: 9px 6px;
		font-size: 12.5px;
	}
	.pyr-content .pyr-table--compare thead th,
	.pyr-front .pyr-table--compare thead th {
		font-size: 11.5px;
	}
	.pyr-table--compare tbody th[scope="row"] {
		white-space: normal;
	}

	/* 3+ column content tables: one card per row, each value under its column name */
	.pyr-table--stack table {
		border: 0;
		border-radius: 0;
		background: transparent;
		overflow: visible;
	}
	.pyr-table--stack table,
	.pyr-table--stack tbody,
	.pyr-table--stack tr,
	.pyr-table--stack td {
		display: block;
		width: auto;
	}
	.pyr-table--stack thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
	}
	.pyr-table--stack tbody tr {
		background: #ffffff;
		border: 1px solid #e2e8f0;
		border-radius: 12px;
		padding: 2px 14px;
		margin: 0 0 10px;
	}
	.pyr-table--stack tbody tr:last-child {
		margin-bottom: 0;
	}
	.pyr-content .pyr-table--stack tbody td,
	.pyr-front .pyr-table--stack tbody td {
		border-bottom: 1px solid #eef2f6;
		padding: 9px 0;
		font-size: 14.5px;
	}
	.pyr-content .pyr-table--stack tbody td:last-child,
	.pyr-front .pyr-table--stack tbody td:last-child {
		border-bottom: 0;
	}
	.pyr-content .pyr-table--stack tbody td:first-child,
	.pyr-front .pyr-table--stack tbody td:first-child {
		padding-top: 12px;
		font-size: 15.5px;
		font-weight: 700;
	}
	.pyr-table--stack tbody td:not(:first-child)::before {
		content: attr(data-label);
		display: block;
		margin: 0 0 2px;
		font-size: 11.5px;
		font-weight: 600;
		letter-spacing: .03em;
		text-transform: uppercase;
		color: var(--pyr-muted);
	}
}

/* ---------- App rows ---------- */
.pyr-dir {
	margin: 0;
}

.pyr-grid {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.pyr-card {
	background: var(--pyr-card-bg);
	border: 1px solid var(--pyr-border);
	border-radius: var(--pyr-radius);
	padding: 12px;
	display: flex;
	align-items: center;
	gap: 10px;
	transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.pyr-card:hover {
	transform: translateY(-2px);
	border-color: var(--pyr-accent);
	box-shadow: 0 10px 20px -5px rgba(37, 99, 235, .15), 0 4px 6px -4px rgba(37, 99, 235, .15);
}

.pyr-card[hidden] {
	display: none;
}

.pyr-card__info {
	display: flex;
	align-items: center;
	gap: 10px;
	flex: 1;
	min-width: 0;
}

.pyr-card__logo {
	flex-shrink: 0;
	line-height: 0;
}

.pyr-card .pyr-logo {
	display: block;
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: 14px;
	flex-shrink: 0;
}

.pyr-card__body {
	min-width: 0;
}

.pyr-card__title {
	font-family: var(--pyr-sans);
	font-weight: 700;
	font-size: 15px;
	line-height: 1.4;
	margin: 0 0 4px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	color: var(--pyr-text);
}

.pyr-card__title a {
	color: inherit;
	text-decoration: none;
	transition: color .2s ease;
}

.pyr-card:hover .pyr-card__title a {
	color: var(--pyr-accent);
}

.pyr-card__meta {
	display: flex;
	align-items: center;
	gap: 4px;
	font-size: 11px;
	line-height: 1.6;
	color: var(--pyr-muted);
	margin-bottom: 2px;
	white-space: nowrap;
}

.pyr-card__meta svg {
	flex-shrink: 0;
}

.pyr-card__meta span {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
}

.pyr-card__meta--bonus {
	color: var(--pyr-success);
}

.pyr-card__meta strong {
	color: var(--pyr-success);
	font-weight: 600;
}

.pyr-card__meta--withdraw strong {
	color: var(--pyr-text);
}

.pyr-card .pyr-btn {
	flex-shrink: 0;
	padding: 9px 14px;
	font-size: 13px;
}

.pyr-card .pyr-btn:hover {
	transform: scale(1.06);
	box-shadow: 0 6px 16px rgba(37, 99, 235, .28);
}

.pyr-card .pyr-btn:active {
	transform: scale(.95);
	box-shadow: 0 2px 6px rgba(37, 99, 235, .25);
}

@media (max-width: 480px) {
	.pyr-card .pyr-new {
		display: none;
	}
}

.pyr-new {
	display: inline-block;
	margin-left: 4px;
	padding: 2px 5px;
	border-radius: 999px;
	background: #f1efff;
	color: #6251ad;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .03em;
	line-height: 1.2;
	text-transform: uppercase;
	vertical-align: middle;
}

.pyr-logo {
	object-fit: cover;
}

/* "Upcoming" badge over the logo of an app that has not launched yet. */
.pyr-card__logo,
.pyr-logo-wrap {
	position: relative;
}

.pyr-logo-wrap {
	display: inline-block;
	flex-shrink: 0;
	line-height: 0;
}

.pyr-soon-badge {
	position: absolute;
	left: 50%;
	bottom: -6px;
	transform: translateX(-50%);
	padding: 2px 5px;
	border: 2px solid #ffffff;
	border-radius: 999px;
	background: #c2410c;
	color: #ffffff;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: .02em;
	line-height: 1.3;
	text-transform: uppercase;
	white-space: nowrap;
	pointer-events: none;
}

.pyr-card__meta--soon strong {
	color: #c2410c;
}

.pyr-card .pyr-btn--soon:hover {
	box-shadow: 0 6px 16px rgba(194, 65, 12, .2);
}

.pyr-app-hero > .pyr-logo-wrap {
	display: block;
	width: 120px;
	margin: 0 auto 22px;
}

.pyr-app-hero > .pyr-logo-wrap .pyr-logo {
	display: block;
	width: 120px;
	height: 120px;
	border-radius: 24px;
	object-fit: cover;
}

.pyr-app-hero .pyr-soon-badge {
	bottom: -10px;
	padding: 3px 10px;
	font-size: 11px;
	letter-spacing: .04em;
}

.pyr-logo--text {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 14px;
	background: var(--pyr-accent-soft);
	color: var(--pyr-accent);
	font-weight: 700;
}

.pyr-empty,
.pyr-dir__empty {
	color: var(--pyr-muted);
}

/* search box (only used where a list has filter="1") */
.pyr-dir__bar {
	margin: 0 0 16px;
}

.pyr-search {
	display: flex;
	align-items: center;
	gap: 8px;
	max-width: 420px;
	padding: 0 12px;
	background: #ffffff;
	border: 1px solid var(--pyr-border);
	border-radius: 10px;
	color: var(--pyr-muted);
}

.pyr-search:focus-within {
	border-color: var(--pyr-accent);
}

.pyr-search .pyr-ico {
	width: 16px;
	height: 16px;
}

.pyr-search input[type="search"] {
	flex: 1;
	min-width: 0;
	border: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	padding: 10px 0 !important;
	font-size: 14px;
	outline: 0;
}

.pyr-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}

.pyr-chip {
	background: var(--pyr-section-bg);
	border: 1px solid var(--pyr-border);
	border-radius: 999px;
	padding: 8px 16px;
	font-size: 13px;
	font-weight: 600;
	color: var(--pyr-muted);
	cursor: pointer;
}

.pyr-chip.is-active {
	background: var(--pyr-accent);
	border-color: var(--pyr-accent);
	color: #ffffff;
}

.pyr-dir__more {
	text-align: center;
	margin: 20px 0 0;
}

.pyr-dir[data-pyr-visible="20"]:not(.is-expanded):not(.is-filtering) .pyr-grid > .pyr-card:nth-child(n+21) {
	display: none;
}

/* ---------- Feature strip ---------- */
.pyr-features {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	padding: 24px 16px;
	margin: 0 0 8px;
	border-top: 1px solid var(--pyr-border);
	border-bottom: 1px solid var(--pyr-border);
}

.pyr-feature {
	text-align: center;
	padding: 4px 8px;
}

.pyr-feature__icon {
	width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 8px;
	color: var(--pyr-accent);
	background: var(--pyr-accent-soft);
	border-radius: 50%;
}

.pyr-feature__icon svg {
	width: 21px;
	height: 21px;
}

.pyr-feature .pyr-feature__title {
	margin: 0 0 4px;
	font-size: 14px;
	font-weight: 700;
	color: var(--pyr-text);
}

.pyr-feature p {
	margin: 0;
	font-size: 12px;
	line-height: 1.5;
	color: var(--pyr-muted);
}

@media (max-width: 700px) {
	.pyr-features {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 420px) {
	.pyr-features {
		display: flex;
		flex-wrap: nowrap;
		gap: 10px;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x proximity;
		scrollbar-width: none;
	}
	.pyr-features::-webkit-scrollbar {
		display: none;
	}
	.pyr-feature {
		flex: 0 0 138px;
		scroll-snap-align: start;
		padding: 4px 6px;
	}
}

/* ---------- Collection cards: a swipe row on phones and tablets, a 3 x 2 grid on wider screens ---------- */
.pyr-hubs {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 0 0 20px;
}

.pyr-hub {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	background: var(--pyr-card-bg);
	border: 1px solid var(--pyr-border);
	border-radius: var(--pyr-radius);
	padding: 18px;
	text-align: left;
	text-decoration: none;
	color: var(--pyr-muted);
	transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.pyr-hub:hover {
	border-color: var(--pyr-accent);
	transform: translateY(-2px);
	box-shadow: 0 10px 20px -5px rgba(37, 99, 235, .15), 0 4px 6px -4px rgba(37, 99, 235, .15);
}

/* Icon and title share one row; the description and count sit below. */
.pyr-hub__head {
	display: flex;
	align-items: center;
	gap: 10px;
	align-self: stretch;
	margin-bottom: 2px;
}

.pyr-hub__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--pyr-accent-soft);
	color: var(--pyr-accent);
	flex-shrink: 0;
}

.pyr-hub__icon svg {
	width: 18px;
	height: 18px;
}

.pyr-hub__name {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.35;
	color: var(--pyr-text);
}

.pyr-hub:hover .pyr-hub__name {
	color: var(--pyr-accent);
}

.pyr-hub__desc {
	font-size: 13px;
	line-height: 1.55;
}

.pyr-hub__count {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-top: auto;
	padding-top: 6px;
	font-size: 13px;
	font-weight: 700;
	color: var(--pyr-accent);
}

.pyr-hub__count svg {
	width: 15px;
	height: 15px;
	transition: transform .15s ease;
}

.pyr-hub:hover .pyr-hub__count svg {
	transform: translateX(3px);
}

@media (max-width: 900px) {
	.pyr-hubs {
		display: flex;
		gap: 10px;
		margin: 0 -20px 20px;
		padding: 2px 20px 10px;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: 20px;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.pyr-hubs::-webkit-scrollbar {
		display: none;
	}
	.pyr-hub {
		flex: 0 0 68%;
		max-width: 250px;
		scroll-snap-align: start;
	}
	.pyr-hub:hover {
		transform: none;
	}
}

@media (max-width: 420px) {
	.pyr-hubs {
		margin: 0 -10px 20px;
		padding: 2px 10px 10px;
		scroll-padding-inline: 10px;
	}
}

/* ---------- Featured apps panel ---------- */
.pyr-featured {
	margin: 0 0 20px;
	padding: 28px;
	background: #f7f8fb;
	border: 1px solid var(--pyr-border);
	border-radius: 12px;
	box-shadow: 0 8px 24px rgba(30, 41, 59, .05);
}

.pyr-featured__list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.pyr-featured__card {
	padding: 15px;
	background: #ffffff;
	border: 1px solid #e4e8ef;
	border-radius: 10px;
}

.pyr-featured__main {
	display: flex;
	gap: 12px;
	align-items: flex-start;
}

.pyr-featured__main .pyr-logo {
	width: 54px;
	height: 54px;
	flex: 0 0 54px;
	border-radius: 10px;
}

.pyr-featured__content {
	min-width: 0;
}

.pyr-featured__content h3 {
	margin: 0 0 4px;
	font-size: 16px;
	line-height: 1.35;
	color: var(--pyr-text);
}

.pyr-featured__content p {
	margin: 0;
	color: var(--pyr-muted);
	font-size: 13px;
	line-height: 1.5;
}

.pyr-featured__action {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-top: 12px;
	padding: 9px 12px;
	border: 1px solid #dfe5f0;
	border-radius: 7px;
	background: #fbfcff;
	color: var(--pyr-accent);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	box-sizing: border-box;
}

.pyr-featured__action:hover {
	border-color: var(--pyr-accent);
	background: var(--pyr-accent-soft);
	color: var(--pyr-accent-dark);
}

.pyr-featured__dir {
	margin-top: 24px;
	padding-top: 22px;
	border-top: 1px solid var(--pyr-border);
	text-align: center;
}

.pyr-featured__dir-title {
	margin: 0 0 12px;
	font-size: 18px;
	font-weight: 700;
	color: var(--pyr-text);
}

.pyr-chiplinks {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
}

.pyr-chiplinks a {
	padding: 4px 8px;
	border: 1px solid #e1e6ef;
	border-radius: 999px;
	background: #ffffff;
	color: #526176;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.25;
	text-decoration: none;
}

.pyr-chiplinks a:hover {
	border-color: var(--pyr-accent);
	color: var(--pyr-accent);
}

.pyr-featured__all {
	display: inline-flex;
	margin-top: 18px;
	color: var(--pyr-accent);
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

.pyr-featured__all:hover {
	color: var(--pyr-accent-dark);
	text-decoration: underline;
}

@media (max-width: 600px) {
	.pyr-featured {
		padding: 20px 12px;
	}
	.pyr-featured__card {
		padding: 12px;
	}
	.pyr-featured__main {
		gap: 10px;
	}
	.pyr-featured__main .pyr-logo {
		width: 46px;
		height: 46px;
		flex-basis: 46px;
		border-radius: 8px;
	}
	.pyr-featured__content h3 {
		font-size: 14px;
	}
	.pyr-featured__content p {
		font-size: 12px;
	}
}

/* ---------- Steps, notes, pros and cons ---------- */
ol.pyr-steps {
	counter-reset: pyr-step;
	list-style: none;
	margin: 0 0 22px;
	padding: 0;
}

ol.pyr-steps > li {
	position: relative;
	margin-bottom: 10px;
	padding: 12px 14px 12px 50px;
	border: 1px solid var(--pyr-border);
	border-radius: 12px;
	background: var(--pyr-card-bg);
	font-size: 14px;
	line-height: 1.65;
	color: var(--pyr-muted);
}

ol.pyr-steps > li::before {
	counter-increment: pyr-step;
	content: counter(pyr-step);
	position: absolute;
	top: 12px;
	left: 14px;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--pyr-accent-soft);
	color: var(--pyr-accent);
	font-size: 12.5px;
	font-weight: 700;
	line-height: 24px;
	text-align: center;
}

.pyr-note,
.pyr-risk {
	border-radius: 10px;
	padding: 12px 14px;
	margin: 0 0 16px;
	font-size: 14px;
	line-height: 1.6;
}

.pyr-note {
	background: var(--pyr-accent-soft);
	border: 1px solid #cfdcf7;
}

.pyr-risk {
	background: #fff5f5;
	border: 1px solid #feb2b2;
}

.pyr-note p,
.pyr-risk p {
	margin: 0 0 6px !important;
	font-size: 14px;
}

.pyr-note p:last-child,
.pyr-risk p:last-child {
	margin-bottom: 0 !important;
}

/* Pros and cons: two tap-to-open rows styled like the FAQs, with a check or cross per point. */
.pyr-proscons {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0 0 22px;
}

.pyr-proscons > details {
	background: var(--pyr-card-bg);
	border: 1px solid var(--pyr-border);
	border-radius: 12px;
	transition: border-color .15s ease, box-shadow .15s ease;
}

.pyr-proscons > details:hover,
.pyr-proscons > details[open] {
	border-color: var(--pyr-accent);
}

.pyr-proscons > details[open] {
	box-shadow: 0 6px 16px rgba(37, 99, 235, .08);
}

.pyr-proscons summary {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 16px;
	cursor: pointer;
	list-style: none;
	font-size: 15px;
	font-weight: 700;
	color: var(--pyr-text);
}

.pyr-proscons summary::-webkit-details-marker {
	display: none;
}

.pyr-proscons summary::before {
	content: "";
	width: 28px;
	height: 28px;
	flex: 0 0 28px;
	border-radius: 50%;
	background: #ecfdf5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23059669' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 15px no-repeat;
}

.pyr-proscons > .pyr-cons summary::before {
	background: #fef2f2 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dc2626' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7 7 17'/%3E%3C/svg%3E") center / 15px no-repeat;
}

.pyr-proscons summary::after {
	content: "";
	flex-shrink: 0;
	width: 9px;
	height: 9px;
	margin-left: auto;
	border-right: 2px solid var(--pyr-accent);
	border-bottom: 2px solid var(--pyr-accent);
	transform: rotate(45deg);
	transition: transform .2s ease;
}

.pyr-proscons > details[open] summary::after {
	transform: rotate(-135deg);
}

.pyr-proscons ul {
	list-style: none;
	margin: 0 16px !important;
	padding: 12px 0 14px !important;
	border-top: 1px solid var(--pyr-border);
}

.pyr-proscons li {
	position: relative;
	margin: 0 0 8px;
	padding-left: 24px;
	font-size: 14px;
	line-height: 1.55;
}

.pyr-proscons li:last-child {
	margin-bottom: 0;
}

.pyr-proscons li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 3px;
	width: 16px;
	height: 16px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23059669' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 16px no-repeat;
}

.pyr-proscons > .pyr-cons li::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dc2626' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7 7 17'/%3E%3C/svg%3E");
}

/* ---------- FAQ ---------- */
.pyr-faq {
	max-width: 720px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0 0 20px;
}

.pyr-faq__title {
	font-size: 28px !important;
	margin: 0 0 6px !important;
}

/* ---------- App page: "What You Need to Play X" requirements table above the FAQs ---------- */
.pyr-req {
	max-width: 720px;
	margin: 0 0 36px;
}

.pyr-req__title {
	font-size: 28px !important;
	margin: 0 0 6px !important;
}

.pyr-req__note {
	margin: 0 0 14px;
	color: var(--pyr-muted);
	font-size: 13.5px;
	line-height: 1.55;
}

.pyr-req__table {
	margin: 0;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	overflow: hidden;
}

.pyr-req__table table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	font-size: 14.5px;
	color: var(--pyr-text);
}

.pyr-req__table th,
.pyr-req__table td {
	padding: 11px 16px;
	border: 0;
	border-bottom: 1px solid #e2e8f0;
	text-align: left;
	vertical-align: middle;
}

.pyr-req__table tbody tr:last-child th,
.pyr-req__table tbody tr:last-child td {
	border-bottom: 0;
}

.pyr-req__table thead th {
	background: #f8fafc;
	color: var(--pyr-muted);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .03em;
	text-transform: uppercase;
}

.pyr-req__table tbody th {
	width: 42%;
	color: var(--pyr-text);
	font-weight: 600;
}

.pyr-req__table tbody tr:nth-child(even) {
	background: #fbfcfe;
}

.pyr-req__label {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.pyr-req__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	flex: 0 0 26px;
	border-radius: 50%;
	background: var(--pyr-accent-soft);
	color: var(--pyr-accent);
}

.pyr-req__icon svg {
	width: 14px;
	height: 14px;
}

@media (max-width: 480px) {
	.pyr-req__table th,
	.pyr-req__table td {
		padding: 9px 10px;
		font-size: 13px;
	}
	.pyr-req__label {
		gap: 8px;
	}
}

.pyr-faq__item {
	background: var(--pyr-card-bg);
	border: 1px solid var(--pyr-border);
	border-radius: 10px;
	padding: 14px 18px;
	transition: border-color .15s ease, box-shadow .15s ease;
}

.pyr-faq__item:hover {
	border-color: var(--pyr-accent);
}

.pyr-faq__item[open] {
	border-color: var(--pyr-accent);
	box-shadow: 0 6px 16px rgba(37, 99, 235, .08);
}

.pyr-faq__item summary {
	cursor: pointer;
	font-weight: 600;
	color: var(--pyr-text);
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.pyr-faq__item summary::-webkit-details-marker {
	display: none;
}

.pyr-faq__item summary::after {
	content: "";
	flex-shrink: 0;
	width: 9px;
	height: 9px;
	border-right: 2px solid var(--pyr-accent);
	border-bottom: 2px solid var(--pyr-accent);
	transform: rotate(45deg);
	transition: transform .2s ease;
}

.pyr-faq__item[open] summary::after {
	transform: rotate(-135deg);
}

.pyr-faq__a p {
	margin: 12px 0 0;
	padding-top: 12px;
	border-top: 1px solid var(--pyr-border);
	color: var(--pyr-muted);
	line-height: 1.7;
}

.pyr-faq__a a {
	color: var(--pyr-accent);
	text-decoration: none;
}

/* ---------- Legal notices ---------- */
.pyr-alerts-section {
	padding-top: 0;
}

.pyr-alerts {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 20px 0 0;
}

.pyr-alert {
	border-radius: 10px;
	padding: 12px 14px;
	border: 1px solid var(--pyr-border);
	background: #ffffff;
	font-size: 13px;
	line-height: 1.55;
	color: var(--pyr-muted);
}

.pyr-alert p {
	margin: 0;
	font-size: 13px;
	line-height: 1.55;
	color: var(--pyr-muted);
}

.pyr-reviews {
	padding: 42px 20px 48px;
	border-top: 1px solid var(--pyr-border);
	background: linear-gradient(135deg, #f6f9ff 0%, #edf5ff 100%);
}

.pyr-reviews__inner {
	max-width: 1180px;
	margin: 0 auto;
}

.pyr-reviews__header {
	margin: 0 auto 28px;
	text-align: center;
}

.pyr-reviews__eyebrow {
	display: inline-block;
	padding: 6px 12px;
	border: 1px solid #d5e2f8;
	border-radius: 999px;
	background: rgba(255, 255, 255, .7);
	color: var(--pyr-accent-dark);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.pyr-reviews__header h2 {
	margin: 12px 0 0;
	font-size: 28px;
	line-height: 1.2;
}

.pyr-reviews__header p {
	max-width: 650px;
	margin: 11px auto 0;
	color: var(--pyr-muted);
	font-size: 13px;
	line-height: 1.55;
}

.pyr-reviews__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.pyr-review-card {
	display: flex;
	flex-direction: column;
	min-height: 276px;
	padding: 22px;
	border: 1px solid #e1e8f4;
	border-radius: 14px;
	background: #ffffff;
	box-shadow: 0 10px 24px rgba(30, 64, 120, .08);
}

.pyr-review-card__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 34px;
}

.pyr-review-card__stars {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 7px;
	color: #df9b10;
}

.pyr-review-card__stars-track {
	position: relative;
	display: inline-block;
	color: #d7e0ec;
	font-size: 17px;
	letter-spacing: 1px;
	line-height: 1;
	white-space: nowrap;
}

.pyr-review-card__stars-fill {
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	color: #df9b10;
	white-space: nowrap;
}

.pyr-review-card__stars small {
	color: var(--pyr-muted);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0;
}

.pyr-review-card__quote {
	color: #d5e2f8;
	font-size: 45px;
	font-weight: 800;
	line-height: .7;
}

.pyr-review-card p {
	flex: 1;
	margin: 11px 0 20px;
	color: var(--pyr-text);
	font-size: 14px;
	font-style: italic;
	line-height: 1.65;
}

.pyr-review-card__footer {
	display: flex;
	align-items: center;
	gap: 10px;
	padding-top: 14px;
	border-top: 1px solid var(--pyr-border);
}

.pyr-review-card__avatar {
	display: grid;
	width: 40px;
	height: 40px;
	flex: 0 0 40px;
	place-items: center;
	border-radius: 50%;
	color: #ffffff;
	font-size: 12px;
	font-weight: 800;
}

.pyr-review-card--1 .pyr-review-card__avatar {
	background: linear-gradient(135deg, #2563eb, #60a5fa);
}

.pyr-review-card--2 .pyr-review-card__avatar {
	background: linear-gradient(135deg, #0f766e, #2dd4bf);
}

.pyr-review-card--3 .pyr-review-card__avatar {
	background: linear-gradient(135deg, #ea580c, #fb923c);
}

.pyr-review-card__source {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 2px;
}

.pyr-review-card__source strong {
	color: var(--pyr-text);
	font-size: 13px;
}

.pyr-review-card__source span {
	color: var(--pyr-muted);
	font-size: 10px;
}

@media (max-width: 760px) {
	.pyr-reviews {
		padding-bottom: 12px;
	}

	.pyr-reviews__header {
		margin-bottom: 22px;
	}

	.pyr-reviews__header p {
		max-width: none;
	}

	.pyr-reviews__grid {
		grid-template-columns: none;
		grid-auto-flow: column;
		grid-auto-columns: minmax(260px, calc(100vw - 96px));
		overflow-x: auto;
		overflow-y: hidden;
		padding-bottom: 8px;
		scroll-snap-type: x mandatory;
		scrollbar-color: #afc4e8 transparent;
		scrollbar-width: thin;
		-webkit-overflow-scrolling: touch;
	}

	.pyr-review-card {
		min-height: 276px;
		scroll-snap-align: start;
	}
}

.pyr-alert a {
	color: var(--pyr-accent);
	text-decoration: none;
}

.pyr-alert__head {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 6px;
}

.pyr-alert .pyr-alert__title {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	color: var(--pyr-text);
}

.pyr-alert__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	flex-shrink: 0;
}

.pyr-alert--warning {
	background: #fff5f5;
	border-color: #feb2b2;
}

.pyr-alert--warning .pyr-alert__icon {
	background: #fed7d7;
	color: #e53e3e;
}

.pyr-alert--info {
	background: #fcfbfe;
	border-color: #edd8fd;
}

.pyr-alert--info .pyr-alert__icon {
	background: #f0e3fc;
	color: #8b3fd6;
}

/* ---------- Guide cards ---------- */
.pyr-post-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.pyr-post-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 12px;
	margin: 0 0 20px;
}

.pyr-post-more {
	margin: 0;
	text-align: center;
}

/* Phones: the guide cards become a swipe row (the next card peeks in), like the collection cards. */
@media (max-width: 640px) {
	.pyr-post-grid {
		display: flex;
		gap: 10px;
		margin: 0 -20px 14px;
		padding: 2px 20px 10px;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: 20px;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.pyr-post-grid::-webkit-scrollbar {
		display: none;
	}
	.pyr-post-grid .pyr-post-card {
		flex: 0 0 85%;
		scroll-snap-align: start;
	}
	.pyr-post-grid .pyr-post-card:hover {
		transform: none;
	}
}

@media (max-width: 420px) {
	.pyr-post-grid {
		margin: 0 -10px 14px;
		padding: 2px 10px 10px;
		scroll-padding-inline: 10px;
	}
}

.pyr-post-card {
	/* Keeps the hidden "Read More" screen reader label inside the card; without it the label of an
	   off-screen card in the phone swipe row escaped and made the whole page scroll sideways. */
	position: relative;
	display: flex;
	flex-direction: column;
	background: #ffffff;
	border: 1px solid #e4e8ef;
	border-radius: 14px;
	overflow: hidden;
	transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.pyr-post-card:hover {
	transform: translateY(-2px);
	border-color: var(--pyr-accent);
	box-shadow: 0 10px 20px -5px rgba(37, 99, 235, .15), 0 4px 6px -4px rgba(37, 99, 235, .15);
}

.pyr-post-card__media {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 1;
	background: var(--pyr-accent-soft);
	overflow: hidden;
}

.pyr-post-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.pyr-post-card__body {
	padding: 14px 16px 16px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.pyr-post-card__date {
	display: block;
	margin-bottom: 4px;
	color: var(--pyr-muted);
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .03em;
}

.pyr-post-card__body h3 {
	margin: 0 0 6px;
	font-size: 16px;
	line-height: 1.35;
	color: var(--pyr-text);
}

.pyr-post-card__body h3 a {
	color: inherit;
	text-decoration: none;
}

.pyr-post-card:hover .pyr-post-card__body h3 a {
	color: var(--pyr-accent);
}

.pyr-post-card__body p {
	margin: 0 0 12px;
	color: var(--pyr-muted);
	font-size: 13px;
	line-height: 1.5;
	flex: 1;
}

.pyr-post-card__action {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 9px 12px;
	border: 1px solid #dfe5f0;
	border-radius: 7px;
	background: #fbfcff;
	color: var(--pyr-accent);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	box-sizing: border-box;
}

.pyr-post-card__action:hover {
	border-color: var(--pyr-accent);
	background: var(--pyr-accent-soft);
	color: var(--pyr-accent-dark);
}

/* pagination */
.pyr-pagination {
	margin-top: 28px;
}

.pyr-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}

.pyr-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 12px;
	border-radius: 8px;
	border: 1px solid var(--pyr-border);
	background: var(--pyr-card-bg);
	color: var(--pyr-text);
	text-decoration: none;
	font-weight: 600;
	font-size: 14px;
}

.pyr-pagination .page-numbers.current {
	background: var(--pyr-accent);
	border-color: var(--pyr-accent);
	color: #ffffff;
}

/* ---------- Single guide ---------- */
.pyr-back-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 16px;
	font-size: 13px;
	font-weight: 600;
	color: var(--pyr-accent);
	text-decoration: none;
}

.pyr-back-link:hover {
	color: var(--pyr-accent-dark);
}

.pyr-content .pyr-post-meta {
	margin: -2px 0 20px;
	color: var(--pyr-muted);
	font-size: 13px;
	font-weight: 600;
}

.pyr-post-thumb {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--pyr-radius);
	margin-bottom: 24px;
}

/* ---------- 404: app list under the 404 message ---------- */
.pyr-404-apps {
	margin: 32px 0 8px;
}

.pyr-404-apps > h2 {
	font-size: 24px;
	margin: 0 0 6px;
}

.pyr-404-apps .pyr-sub {
	margin-bottom: 16px;
}

.pyr-searchform {
	display: flex;
	gap: 8px;
	max-width: 460px;
	margin: 0 0 14px;
}

.pyr-searchform input[type="search"] {
	flex: 1;
	min-width: 0;
	padding: 10px 14px;
	border: 1px solid var(--pyr-border);
	border-radius: 10px;
	font-size: 15px;
	background: #ffffff;
}

.pyr-searchform input[type="search"]:focus {
	border-color: var(--pyr-accent);
	outline: 0;
}

.pyr-searchform .pyr-btn {
	padding: 10px 18px;
}

@media (prefers-reduced-motion: reduce) {
	* {
		transition: none !important;
	}
	.pyr-btn:hover,
	.pyr-card:hover,
	.pyr-post-card:hover {
		transform: none;
	}
}


/* ---------- Standalone chrome (PlayYonoRummyGames) ---------- */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body.pyr-theme {
	margin: 0;
	background: var(--pyr-bg);
	color: var(--pyr-text);
	font-family: var(--pyr-sans);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

img {
	max-width: 100%;
	height: auto;
}

a {
	color: var(--pyr-accent);
}

.site {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

.site-content {
	flex: 1 0 auto;
	width: 100%;
	max-width: 790px;
	margin: 0 auto;
}

@media (min-width: 1180px) {
	.site-content {
		max-width: 1180px;
	}
	.pyr-front {
		max-width: 1180px;
		margin: 0 auto;
	}
}

.pyr-header-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 16px;
	background: #ffffff;
	border-bottom: 1px solid var(--pyr-border);
	position: sticky;
	top: 0;
	z-index: 100;
}

.pyr-brand {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

.pyr-brand__logo img,
.pyr-brand .custom-logo {
	display: block;
	width: 44px;
	height: 44px;
	border-radius: 10px;
	object-fit: cover;
}

.pyr-brand__title,
.pyr-brand .custom-logo-link + .pyr-brand__title {
	font-size: 18px;
	font-weight: 700;
	color: var(--pyr-text);
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.site-header .custom-logo-link {
	line-height: 0;
}

.pyr-nav-toggle {
	appearance: none;
	border: 0;
	background: transparent;
	color: var(--pyr-text);
	padding: 6px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.pyr-nav-toggle__close {
	display: none;
}

body.pyr-nav-open .pyr-nav-toggle__open {
	display: none;
}

body.pyr-nav-open .pyr-nav-toggle__close {
	display: inline-flex;
}

.pyr-mobile-nav {
	background: #ffffff;
	border-bottom: 1px solid var(--pyr-border);
	padding: 8px 16px 14px;
}

.pyr-mobile-nav[hidden] {
	display: none !important;
}

.pyr-mobile-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.pyr-mobile-menu a {
	display: block;
	padding: 10px 12px;
	border-radius: 10px;
	color: var(--pyr-text);
	text-decoration: none;
	font-weight: 600;
}

.pyr-mobile-menu a:hover,
.pyr-mobile-menu .current-menu-item > a {
	background: var(--pyr-accent-soft);
	color: var(--pyr-accent);
}

@media (min-width: 922px) {
	.pyr-nav-toggle {
		display: none;
	}
	.pyr-mobile-nav,
	.pyr-mobile-nav[hidden] {
		display: block !important;
		border-bottom: 0;
		padding: 0 16px;
	}
	.pyr-mobile-menu {
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: flex-end;
		gap: 4px 8px;
		padding: 8px 0;
	}
	.pyr-header-bar {
		border-bottom: 0;
	}
	.site-header {
		display: grid;
		grid-template-columns: 1fr auto;
		align-items: center;
		background: #ffffff;
		border-bottom: 1px solid var(--pyr-border);
		position: sticky;
		top: 0;
		z-index: 100;
	}
	.pyr-header-bar {
		position: static;
		border: 0;
	}
	.pyr-quicklinks {
		grid-column: 1 / -1;
	}
}

.pyr-copyright {
	text-align: center;
	padding: 16px 20px 28px;
	color: var(--pyr-muted);
	font-size: 13px;
	background: #ffffff;
}

.pyr-copyright p {
	margin: 0;
}

.pyr-footer-links__row--friends {
	margin-top: 12px;
}

.pyr-footer-links__row--friends a {
	font-weight: 600;
}

.pyr-scroll-top {
	position: fixed;
	right: 14px;
	bottom: 18px;
	z-index: 90;
	appearance: none;
	border: 0;
	border-radius: 999px;
	padding: 10px 14px;
	background: var(--pyr-accent);
	color: #ffffff;
	font-size: 12px;
	font-weight: 700;
	box-shadow: 0 8px 20px rgba(37, 99, 235, .28);
	cursor: pointer;
	opacity: 0;
	pointer-events: none;
	transform: translateY(8px);
	transition: opacity .2s ease, transform .2s ease;
}

.pyr-scroll-top.is-visible {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

.site-main {
	outline: none;
}

.alignwide {
	max-width: 1180px;
}

.wp-block-image img {
	border-radius: var(--pyr-radius);
}

/* ---------- Homepage banner: mobile-first, responsive large screens ---------- */
.pyr-hero--carousel {
	padding: 0;
	margin: 0;
	background: #f3f6fb;
	border-bottom: 1px solid var(--pyr-border);
}

.pyr-hero--carousel:empty,
.pyr-hero--carousel:not(:has(.pyr-banner-block)) {
	display: none;
}

/* Full-bleed on mobile content column */
.pyr-front > .pyr-hero--carousel {
	margin-left: -10px !important;
	margin-right: -10px !important;
	width: calc(100% + 20px);
}

.pyr-banner-block {
	width: 100%;
	margin: 0 auto;
}

.pyr-carousel {
	position: relative;
	width: 100%;
	overflow: hidden;
	background: #e8eefc;
	user-select: none;
	-webkit-user-select: none;
	border-radius: 0;
}

.pyr-carousel__viewport {
	width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	cursor: grab;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	touch-action: pan-x;
}

.pyr-carousel__viewport::-webkit-scrollbar {
	display: none;
}

.pyr-carousel__viewport:active {
	cursor: grabbing;
}

.pyr-carousel__track {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: stretch;
	width: 100%;
	min-width: 100%;
	height: auto;
}

.pyr-carousel__slide {
	position: relative;
	flex: 0 0 100%;
	width: 100%;
	min-width: 100%;
	/* Mobile-first: taller banner for phones */
	aspect-ratio: 2 / 1;
	min-height: 140px;
	max-height: 220px;
	overflow: hidden;
	background: #dbe7fb;
	scroll-snap-align: start;
	scroll-snap-stop: always;
	box-sizing: border-box;
}

.pyr-carousel__link {
	display: block;
	width: 100%;
	height: 100%;
}

.pyr-carousel__slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	pointer-events: none;
	-webkit-user-drag: none;
}

.pyr-carousel__btn {
	position: absolute;
	top: 50%;
	z-index: 3;
	transform: translateY(-50%);
	width: 28px;
	height: 28px;
	border: 0;
	border-radius: 50%;
	background: rgba(15, 23, 42, .42);
	color: #fff;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	padding: 0;
}

.pyr-carousel__btn--prev { left: 6px; }
.pyr-carousel__btn--next { right: 6px; }

.pyr-carousel__dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 8px;
	z-index: 3;
	display: flex;
	justify-content: center;
	gap: 5px;
	pointer-events: none;
}

.pyr-carousel__dot {
	pointer-events: auto;
	width: 7px;
	height: 7px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(255, 255, 255, .6);
	cursor: pointer;
}

.pyr-carousel__dot.is-active {
	background: #2563eb;
	width: 16px;
}

/* Phablet / large phones */
@media (min-width: 480px) {
	.pyr-front > .pyr-hero--carousel {
		margin-left: -20px !important;
		margin-right: -20px !important;
		width: calc(100% + 40px);
	}

	.pyr-carousel__slide {
		aspect-ratio: 16 / 7;
		min-height: 160px;
		max-height: 260px;
	}

	.pyr-carousel__btn {
		width: 32px;
		height: 32px;
		font-size: 20px;
	}
}

/* Tablet */
@media (min-width: 768px) {
	.pyr-hero--carousel {
		padding: 12px 16px 10px;
		background: linear-gradient(180deg, #ffffff 0%, #f3f6fb 100%);
	}

	.pyr-front > .pyr-hero--carousel {
		margin-left: -20px !important;
		margin-right: -20px !important;
		width: calc(100% + 40px);
	}

	.pyr-banner-block {
		max-width: 720px;
	}

	.pyr-carousel {
		border-radius: 14px;
		box-shadow: 0 8px 20px rgba(37, 99, 235, .1);
	}

	.pyr-carousel__slide {
		aspect-ratio: 16 / 6;
		min-height: 180px;
		max-height: 300px;
	}

	.pyr-carousel__btn {
		width: 36px;
		height: 36px;
		font-size: 22px;
	}

	.pyr-carousel__btn--prev { left: 10px; }
	.pyr-carousel__btn--next { right: 10px; }

	.pyr-carousel__dots {
		bottom: 12px;
		gap: 6px;
	}

	.pyr-carousel__dot {
		width: 8px;
		height: 8px;
	}

	.pyr-carousel__dot.is-active {
		width: 18px;
	}
}

/* Desktop / large screens */
@media (min-width: 1024px) {
	.pyr-hero--carousel {
		padding: 16px 20px 14px;
	}

	.pyr-front > .pyr-hero--carousel {
		margin-left: 0 !important;
		margin-right: 0 !important;
		width: 100%;
	}

	.pyr-banner-block {
		max-width: 960px;
	}

	.pyr-carousel {
		border-radius: 16px;
	}

	.pyr-carousel__slide {
		aspect-ratio: 21 / 7;
		min-height: 200px;
		max-height: 340px;
	}
}

@media (min-width: 1280px) {
	.pyr-banner-block {
		max-width: 1100px;
	}

	.pyr-carousel__slide {
		aspect-ratio: 24 / 7;
		max-height: 360px;
	}
}

/* ---------- Floating Telegram CS (all pages) ---------- */
.pyr-tg-float {
	position: fixed !important;
	right: 10px !important;
	top: 42% !important;
	transform: translateY(-50%);
	z-index: 2147483000 !important;
	display: flex !important;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	pointer-events: none;
}

.pyr-tg-float > * {
	pointer-events: auto;
}

.pyr-tg-float__list {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

.pyr-tg-float__item {
	display: block;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	overflow: hidden;
	box-shadow: 0 8px 18px rgba(37, 99, 235, .28);
	transition: transform .15s ease;
	background: transparent;
	line-height: 0;
}

.pyr-tg-float__item:hover {
	transform: scale(1.06);
}

.pyr-tg-float__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

@media (max-width: 480px) {
	.pyr-tg-float {
		right: 6px !important;
	}
	.pyr-tg-float__item {
		width: 58px;
		height: 58px;
	}
}

body:has(.pyr-tg-float) .pyr-scroll-top {
	right: 92px;
}


/* ---------- Download gate modal (centered) ---------- */
body.pyr-dl-modal-open {
	overflow: hidden;
}

.pyr-dl-modal {
	position: fixed;
	inset: 0;
	z-index: 2147483646;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.pyr-dl-modal[hidden] {
	display: none !important;
}

.pyr-dl-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, .55);
}

.pyr-dl-modal__dialog {
	position: relative;
	z-index: 1;
	width: min(92vw, 360px);
	margin: 0 auto;
	padding: 22px 18px 18px;
	border-radius: 14px;
	background: #ffffff;
	box-shadow: 0 18px 40px rgba(15, 23, 42, .28);
	text-align: center;
}

.pyr-dl-modal__close {
	position: absolute;
	top: 8px;
	right: 10px;
	width: 28px;
	height: 28px;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #64748b;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
}

.pyr-dl-modal__title {
	margin: 0 0 10px;
	font-size: 18px;
	font-weight: 700;
	color: var(--pyr-text);
	text-align: center;
}

.pyr-dl-modal__text {
	margin: 0 0 16px;
	font-size: 14px;
	line-height: 1.55;
	color: var(--pyr-muted);
	text-align: center;
}

.pyr-dl-modal__ok {
	display: inline-flex;
	min-width: 120px;
	justify-content: center;
}

button.pyr-btn.pyr-download-gate {
	width: auto;
	max-width: 100%;
}
