/* =========================================================
   Editorial pages — blog, archives, static pages, cards
   ========================================================= */

/* Shared ambient shell (blog + pages + single article) */
.vx-editorial-page,
.vx-article-page {
	position: relative;
	overflow: hidden;
}
.vx-editorial-page__bg,
.vx-article-page__bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
}
.vx-editorial-page__glow,
.vx-article-page__glow {
	position: absolute;
	border-radius: 50%;
	filter: blur(120px);
	opacity: .28;
}
.vx-editorial-page__glow--pink,
.vx-article-page__glow--pink {
	width: min(55vw, 520px);
	height: min(55vw, 520px);
	top: -8%;
	left: -10%;
	background: rgba(255, 0, 128, .2);
}
.vx-editorial-page__glow--cyan,
.vx-article-page__glow--cyan {
	width: min(45vw, 420px);
	height: min(45vw, 420px);
	top: 12%;
	right: -8%;
	background: rgba(0, 229, 255, .12);
}
.vx-editorial-page__glow--violet,
.vx-article-page__glow--violet {
	width: min(40vw, 380px);
	height: min(40vw, 380px);
	bottom: 5%;
	left: 35%;
	background: rgba(138, 43, 226, .16);
}

.vx-layout--editorial {
	position: relative;
	z-index: 1;
}
.vx-layout--editorial .vx-toplist__list {
	margin-top: clamp(8px, 1.5vw, 16px);
}
.vx-main--archive {
	min-width: 0;
}
@media (min-width: 1024px) {
	.vx-layout--editorial.vx-layout--with-sidebar {
		grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
		gap: clamp(32px, 4vw, 48px);
		align-items: start;
	}
}

/* Phones & tablets: search + topics above the article list */
@media (max-width: 1023px) {
	.vx-layout--editorial.vx-layout--with-sidebar {
		display: flex;
		flex-direction: column;
		gap: 16px;
	}
	.vx-layout--editorial.vx-layout--with-sidebar > .vx-main--archive,
	.vx-layout--editorial.vx-layout--with-sidebar > .vx-sidebar--article,
	.vx-layout--editorial.vx-layout--with-sidebar .vx-side-stack {
		display: contents;
	}
	.vx-layout--editorial.vx-layout--with-sidebar .vx-ed-hero {
		order: 0;
	}
	.vx-layout--editorial.vx-layout--with-sidebar .vx-side-stack__filters {
		order: 1;
	}
	.vx-layout--editorial.vx-layout--with-sidebar .vx-ed-feed,
	.vx-layout--editorial.vx-layout--with-sidebar .vx-ed-empty {
		order: 2;
	}
	.vx-layout--editorial.vx-layout--with-sidebar .vx-ed-pagination {
		order: 3;
	}
	.vx-layout--editorial.vx-layout--with-sidebar .vx-side-stack__rest {
		order: 4;
	}
	.vx-layout--editorial.vx-layout--with-sidebar .vx-ed-hero {
		margin-bottom: 8px;
	}
	.vx-layout--editorial.vx-layout--with-sidebar .vx-ed-pagination {
		margin-top: 8px;
	}
}

/* Tablet & iPad Pro — editorial side gutters */
@media (min-width: 641px) and (max-width: 1366px) {
	.vx-editorial-page .vx-container {
		padding-inline: clamp(24px, 4.5vw, 36px);
	}
}

.vx-editorial-page .vx-breadcrumbs,
.vx-article-page .vx-breadcrumbs {
	margin-bottom: clamp(16px, 2.5vw, 24px);
}

/* Archive hero */
.vx-ed-hero {
	margin-bottom: clamp(24px, 3.5vw, 36px);
	max-width: 780px;
}
.vx-ed-hero--page { margin-bottom: clamp(20px, 3vw, 28px); }
.vx-ed-hero--single {
	margin-bottom: clamp(16px, 2.5vw, 24px);
	max-width: none;
}
.vx-ed-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 10px;
	font-family: var(--vx-font-head);
	font-size: .66rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #ff9fd0;
}
.vx-ed-hero__pulse {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #ff0080;
	box-shadow: 0 0 0 0 rgba(255, 0, 128, .55);
	animation: vx-ed-pulse 2s ease-out infinite;
}
@keyframes vx-ed-pulse {
	0% { box-shadow: 0 0 0 0 rgba(255, 0, 128, .45); }
	70% { box-shadow: 0 0 0 8px rgba(255, 0, 128, 0); }
	100% { box-shadow: 0 0 0 0 rgba(255, 0, 128, 0); }
}
.vx-ed-hero__title {
	margin: 0;
	font-family: var(--vx-font-head);
	font-size: clamp(1.85rem, 4vw, 2.75rem);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -.02em;
	color: #fff;
}
.vx-ed-hero__desc {
	margin: 12px 0 0;
	max-width: 620px;
	font-size: clamp(.95rem, 1.6vw, 1.08rem);
	line-height: 1.65;
	color: rgba(233, 236, 255, .58);
}

/* Feed layout */
.vx-ed-feed { display: grid; gap: 12px; }
.vx-ed-feed__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
}
.vx-ed-feed__grid--home {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}
@media (max-width: 980px) {
	.vx-ed-feed__grid--home { grid-template-columns: 1fr; }
}

/* Compact list card */
.vx-ed-card {
	border-radius: 14px;
	background: rgba(255, 255, 255, .02);
	border: 1px solid rgba(255, 255, 255, .08);
	transition: border-color var(--vx-transition), background var(--vx-transition);
}
.vx-ed-card:hover {
	border-color: rgba(255, 255, 255, .14);
	background: rgba(255, 255, 255, .035);
}
.vx-ed-card__link {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 10px 12px;
	color: inherit;
	text-decoration: none;
}
.vx-ed-card__thumb {
	flex-shrink: 0;
	width: 64px;
	height: 64px;
	border-radius: 10px;
	overflow: hidden;
	background: rgba(255, 255, 255, .04);
	border: 1px solid rgba(255, 255, 255, .06);
}
.vx-ed-card__img,
.vx-ed-card__ph {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.vx-ed-card__ph {
	background: linear-gradient(135deg, rgba(255, 0, 128, .12), rgba(0, 229, 255, .1));
}
.vx-ed-card--topic-guides .vx-ed-card__ph { background: linear-gradient(135deg, rgba(0, 229, 255, .15), rgba(8, 10, 26, .9)); }
.vx-ed-card--topic-slots .vx-ed-card__ph { background: linear-gradient(135deg, rgba(255, 209, 102, .14), rgba(8, 10, 26, .9)); }
.vx-ed-card--topic-crypto .vx-ed-card__ph { background: linear-gradient(135deg, rgba(0, 229, 255, .12), rgba(8, 10, 26, .9)); }

/* Archive grid — topic icon thumbs */
.vx-ed-card--grid .vx-ed-card__thumb--art {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.vx-ed-card--grid .vx-ed-card__thumb--art::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 50% 35%, rgba(255, 255, 255, .1), transparent 48%),
		linear-gradient(160deg, rgba(255, 255, 255, .03), transparent 60%);
}
.vx-ed-card--grid.vx-ed-card--topic-crypto .vx-ed-card__thumb--art {
	background: linear-gradient(155deg, #0c2228 0%, #102a32 50%, #081418 100%);
}
.vx-ed-card--grid.vx-ed-card--topic-slots .vx-ed-card__thumb--art {
	background: linear-gradient(155deg, #221a0c 0%, #2e2410 50%, #141008 100%);
}
.vx-ed-card--grid.vx-ed-card--topic-guides .vx-ed-card__thumb--art,
.vx-ed-card--grid.vx-ed-card--topic-editorial .vx-ed-card__thumb--art {
	background: linear-gradient(155deg, #101830 0%, #162040 50%, #0a0e1c 100%);
}
.vx-ed-card--grid .vx-ed-card__icon {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	border: 1px solid rgba(0, 229, 255, .28);
	background: linear-gradient(145deg, rgba(0, 229, 255, .12), rgba(0, 229, 255, .02));
	color: #9ef5ff;
	box-shadow: 0 0 18px rgba(0, 229, 255, .14);
}
.vx-ed-card--grid .vx-ed-card__icon svg {
	width: 18px;
	height: 18px;
}
.vx-ed-card--grid.vx-ed-card--topic-crypto .vx-ed-card__icon {
	border-color: rgba(142, 245, 200, .32);
	background: linear-gradient(145deg, rgba(142, 245, 200, .14), rgba(142, 245, 200, .03));
	color: #8ef5c8;
	box-shadow: 0 0 18px rgba(142, 245, 200, .16);
}
.vx-ed-card--grid.vx-ed-card--topic-slots .vx-ed-card__icon {
	border-color: rgba(255, 209, 102, .32);
	background: linear-gradient(145deg, rgba(255, 209, 102, .14), rgba(255, 209, 102, .03));
	color: #ffd166;
	box-shadow: 0 0 18px rgba(255, 209, 102, .16);
}
.vx-ed-card--grid.vx-ed-card--topic-guides .vx-ed-card__icon,
.vx-ed-card--grid.vx-ed-card--topic-editorial .vx-ed-card__icon {
	border-color: rgba(0, 229, 255, .28);
	background: linear-gradient(145deg, rgba(0, 229, 255, .12), rgba(0, 229, 255, .02));
	color: #80f4ff;
	box-shadow: 0 0 18px rgba(0, 229, 255, .14);
}
.vx-ed-card--grid:hover .vx-ed-card__icon {
	transform: scale(1.05);
	transition: transform var(--vx-transition);
}

.vx-ed-card__body {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
	flex: 1;
}
.vx-ed-card__top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 6px 10px;
}
.vx-ed-card__cat {
	font-family: var(--vx-font-head);
	font-size: .62rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: rgba(255, 159, 208, .75);
}
.vx-ed-card--topic-guides .vx-ed-card__cat { color: rgba(0, 229, 255, .75); }
.vx-ed-card--topic-slots .vx-ed-card__cat { color: rgba(255, 209, 102, .8); }
.vx-ed-card--topic-crypto .vx-ed-card__cat { color: rgba(142, 245, 200, .75); }

.vx-ed-card__title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-family: var(--vx-font-head);
	font-size: .92rem;
	font-weight: 700;
	line-height: 1.35;
	color: #fff;
	transition: color var(--vx-transition);
}
.vx-ed-card:hover .vx-ed-card__title { color: var(--vx-c-secondary); }

.vx-ed-card__meta {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 5px;
	font-size: .7rem;
	color: rgba(233, 236, 255, .54);
}
.vx-ed-card__meta span[aria-hidden="true"] { opacity: .6; }

.vx-ed-card--grid .vx-ed-card__meta {
	font-size: .72rem;
	color: rgba(233, 236, 255, .58);
}

/* Homepage blog row — horizontal cards */
.vx-section--blog .vx-ed-feed__grid--home { margin-top: 8px; }

.vx-ed-card--home {
	border-radius: 16px;
	background: rgba(8, 10, 24, .72);
	border: 1px solid rgba(255, 255, 255, .16);
	box-shadow: 0 10px 28px rgba(0, 0, 0, .22);
	transition: border-color var(--vx-transition), background var(--vx-transition), transform var(--vx-transition);
}
.vx-ed-card--home:hover {
	border-color: rgba(0, 229, 255, .4);
	background: rgba(12, 14, 32, .88);
	transform: translateY(-1px);
}
.vx-ed-card--home .vx-ed-card__link {
	align-items: stretch;
	gap: 0;
	padding: 0;
	min-height: 100%;
}
.vx-ed-card--home .vx-ed-card__thumb {
	width: 88px;
	height: auto;
	min-height: 100%;
	border-radius: 16px 0 0 16px;
	border: 0;
	background: #0a0c1a;
}
.vx-ed-card--home .vx-ed-card__thumb--art {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.vx-ed-card--home .vx-ed-card__thumb--art::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 50% 35%, rgba(255, 255, 255, .1), transparent 48%),
		linear-gradient(160deg, rgba(255, 255, 255, .03), transparent 60%);
}
.vx-ed-card--home.vx-ed-card--topic-crypto .vx-ed-card__thumb--art {
	background: linear-gradient(155deg, #0c2228 0%, #102a32 50%, #081418 100%);
}
.vx-ed-card--home.vx-ed-card--topic-slots .vx-ed-card__thumb--art {
	background: linear-gradient(155deg, #221a0c 0%, #2e2410 50%, #141008 100%);
}
.vx-ed-card--home.vx-ed-card--topic-guides .vx-ed-card__thumb--art {
	background: linear-gradient(155deg, #101830 0%, #162040 50%, #0a0e1c 100%);
}
.vx-ed-card--home .vx-ed-card__icon {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 12px;
	border: 1px solid rgba(0, 229, 255, .28);
	background: linear-gradient(145deg, rgba(0, 229, 255, .12), rgba(0, 229, 255, .02));
	color: #9ef5ff;
	box-shadow: 0 0 22px rgba(0, 229, 255, .14);
}
.vx-ed-card--home.vx-ed-card--topic-crypto .vx-ed-card__icon {
	border-color: rgba(142, 245, 200, .32);
	background: linear-gradient(145deg, rgba(142, 245, 200, .14), rgba(142, 245, 200, .03));
	color: #8ef5c8;
	box-shadow: 0 0 22px rgba(142, 245, 200, .16);
}
.vx-ed-card--home.vx-ed-card--topic-slots .vx-ed-card__icon {
	border-color: rgba(255, 209, 102, .32);
	background: linear-gradient(145deg, rgba(255, 209, 102, .14), rgba(255, 209, 102, .03));
	color: #ffd166;
	box-shadow: 0 0 22px rgba(255, 209, 102, .16);
}
.vx-ed-card--home.vx-ed-card--topic-guides .vx-ed-card__icon {
	border-color: rgba(0, 229, 255, .28);
	background: linear-gradient(145deg, rgba(0, 229, 255, .12), rgba(0, 229, 255, .02));
	color: #80f4ff;
	box-shadow: 0 0 22px rgba(0, 229, 255, .14);
}
.vx-ed-card--home:hover .vx-ed-card__icon {
	transform: scale(1.04);
	transition: transform var(--vx-transition);
}
.vx-ed-card--home .vx-ed-card__img {
	width: 100%;
	height: 100%;
	min-height: 88px;
	object-fit: cover;
}
.vx-ed-card--home .vx-ed-card__body {
	padding: 14px 14px 14px 12px;
	gap: 6px;
	justify-content: center;
}
.vx-ed-card--home .vx-ed-card__top {
	gap: 4px 8px;
}
.vx-ed-card--home .vx-ed-card__cat {
	font-size: .58rem;
	letter-spacing: .12em;
}
.vx-ed-card--home .vx-ed-card__meta {
	font-size: .7rem;
	color: rgba(233, 236, 255, .58);
}
.vx-ed-card--home .vx-ed-card__title {
	font-size: clamp(.84rem, 1.2vw, .94rem);
	line-height: 1.38;
	-webkit-line-clamp: 3;
}
.vx-ed-card--home:hover .vx-ed-card__title { color: var(--vx-c-secondary); }

@media (max-width: 980px) {
	.vx-ed-card--home .vx-ed-card__thumb { width: 76px; }
	.vx-ed-card--home .vx-ed-card__img { min-height: 76px; }
}

@media (prefers-reduced-motion: no-preference) {
	.vx-section--blog .vx-ed-feed__grid--home.is-pending .vx-ed-card {
		opacity: 0;
		transform: translateY(10px);
	}
	.vx-section--blog .vx-ed-feed__grid--home.is-visible .vx-ed-card {
		animation: vx-ed-in .45s cubic-bezier(.2, .65, .25, 1) both;
	}
	.vx-section--blog .vx-ed-feed__grid--home.is-visible .vx-ed-card:nth-child(1) { animation-delay: .04s; }
	.vx-section--blog .vx-ed-feed__grid--home.is-visible .vx-ed-card:nth-child(2) { animation-delay: .08s; }
	.vx-section--blog .vx-ed-feed__grid--home.is-visible .vx-ed-card:nth-child(3) { animation-delay: .12s; }
}
@keyframes vx-ed-in {
	from { opacity: 0; transform: translateY(10px); }
	to { opacity: 1; transform: translateY(0); }
}

/* Pagination */
.vx-ed-pagination { margin-top: clamp(48px, 7vw, 72px); }
.vx-main--archive .vx-ed-pagination:empty {
	display: none;
	margin: 0;
}
.vx-main--archive .vx-ed-pagination .navigation.pagination {
	margin: 0;
	width: 100%;
}
.vx-ed-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
}
.vx-ed-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 14px;
	border-radius: 12px;
	font-family: var(--vx-font-head);
	font-weight: 700;
	font-size: .86rem;
	text-decoration: none;
	color: rgba(233, 236, 255, .65);
	background: rgba(255, 255, 255, .03);
	border: 1px solid rgba(255, 255, 255, .08);
	transition: border-color var(--vx-transition), color var(--vx-transition), background var(--vx-transition);
}
.vx-ed-pagination .page-numbers:hover,
.vx-ed-pagination .page-numbers:focus {
	color: #fff;
	border-color: rgba(0, 229, 255, .35);
	background: rgba(0, 229, 255, .06);
}
.vx-ed-pagination .page-numbers.current {
	color: #fff;
	border-color: rgba(255, 0, 128, .45);
	background: rgba(255, 0, 128, .12);
	box-shadow: 0 0 24px rgba(255, 0, 128, .12);
}
.vx-ed-pagination .page-numbers.is-disabled {
	opacity: .38;
	pointer-events: none;
	cursor: default;
}
@media (max-width: 640px) {
	.vx-ed-hero__title {
		font-size: clamp(1.55rem, 7vw, 2rem);
	}
	.vx-ed-hero__desc {
		font-size: .92rem;
		line-height: 1.6;
	}
	.vx-ed-pagination {
		margin-top: clamp(32px, 8vw, 48px);
	}
	.vx-ed-pagination .nav-links {
		gap: 6px;
	}
	.vx-ed-pagination .page-numbers {
		min-width: 38px;
		height: 38px;
		padding: 0 10px;
		font-size: .78rem;
		border-radius: 10px;
	}
}
@media (max-width: 400px) {
	.vx-ed-pagination .page-numbers.dots {
		display: none;
	}
}

/* Static page panel */
.vx-ed-panel {
	padding: clamp(24px, 3.5vw, 40px);
	border-radius: calc(var(--vx-radius-lg) + 4px);
	background: linear-gradient(180deg, rgba(255, 255, 255, .02), transparent), rgba(8, 10, 26, .82);
	border: 1px solid rgba(255, 255, 255, .1);
	box-shadow: 0 24px 56px rgba(0, 0, 0, .32);
}
.vx-ed-page__thumb {
	margin: 0 0 24px;
	border-radius: var(--vx-radius-lg);
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .08);
}
.vx-ed-page__thumb img {
	display: block;
	width: 100%;
	height: auto;
}
.vx-ed-page__content.vx-prose {
	color: rgba(233, 236, 255, .78);
	font-size: 1.05rem;
	line-height: 1.8;
}

/* Empty / 404 states */
.vx-ed-empty {
	max-width: 560px;
	margin: clamp(32px, 6vw, 64px) auto;
	text-align: center;
	padding: clamp(32px, 5vw, 48px) clamp(24px, 4vw, 32px);
	border-radius: calc(var(--vx-radius-lg) + 4px);
	background: linear-gradient(180deg, rgba(255, 255, 255, .02), transparent), rgba(8, 10, 26, .78);
	border: 1px solid rgba(255, 255, 255, .1);
}
.vx-ed-empty__visual {
	position: relative;
	width: 120px;
	height: 120px;
	margin: 0 auto 24px;
	display: grid;
	place-items: center;
}
.vx-ed-empty__code {
	font-family: var(--vx-font-head);
	font-size: 2.5rem;
	font-weight: 900;
	background: linear-gradient(135deg, #ff0080, #00e5ff);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.vx-ed-empty__ring {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	border: 1px dashed rgba(255, 255, 255, .14);
	animation: vx-ed-spin 24s linear infinite;
}
.vx-ed-empty__icon {
	width: 64px;
	height: 64px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	font-family: var(--vx-font-head);
	font-size: 1.75rem;
	font-weight: 800;
	color: var(--vx-c-secondary);
	background: rgba(0, 229, 255, .08);
	border: 1px solid rgba(0, 229, 255, .2);
}
@keyframes vx-ed-spin {
	to { transform: rotate(360deg); }
}
.vx-ed-empty__title {
	margin: 0 0 12px;
	font-family: var(--vx-font-head);
	font-size: clamp(1.35rem, 3vw, 1.75rem);
	font-weight: 800;
	color: #fff;
}
.vx-ed-empty__text {
	margin: 0 0 24px;
	font-size: .95rem;
	line-height: 1.65;
	color: rgba(233, 236, 255, .55);
}
.vx-ed-empty__text p { margin: 0; }
.vx-ed-empty__search {
	max-width: 420px;
	margin: 0 auto 24px;
}
.vx-ed-empty__search .vx-search-form {
	align-items: stretch;
	gap: 0;
	border-radius: 12px;
	background: rgba(5, 6, 20, .78);
	border: 1px solid rgba(255, 255, 255, .1);
	overflow: hidden;
}
.vx-ed-empty__search .vx-search-form__field-wrap {
	flex: 1;
	background: transparent;
	border: 0;
	border-radius: 0;
}
.vx-ed-empty__search .vx-search-form__field {
	padding: 12px 40px 12px 16px;
	font-size: .95rem;
}
.vx-ed-empty__search .vx-search-form__clear {
	right: 8px;
}
.vx-ed-empty__search .vx-search-form__clear:hover {
	background: rgba(255, 0, 128, .18);
	color: #fff;
}
.vx-ed-empty__search .vx-search-form__submit {
	padding: 0 16px;
	border-radius: 0;
	border: 0;
	border-left: 1px solid rgba(255, 0, 128, .9);
	background: rgba(255, 0, 128, .16);
	box-shadow: 0 0 22px rgba(255, 0, 128, .32);
	color: #fff;
}
.vx-ed-empty__search .vx-search-form__submit:hover {
	background: rgba(255, 0, 128, .22);
	border-left-color: rgba(255, 0, 128, 1);
	box-shadow: 0 0 28px rgba(255, 0, 128, .4);
	transform: none;
}
.vx-ed-empty__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
}

/* Related section card tweaks */
.vx-related .vx-ed-card {
	background: rgba(255, 255, 255, .02);
	box-shadow: none;
}

.vx-related .vx-ed-feed__grid {
	grid-template-columns: 1fr;
	gap: 10px;
}
@media (min-width: 640px) {
	.vx-related .vx-ed-feed__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
	.vx-related .vx-ed-feed__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Casino archive — full-width ranking table */
.vx-layout--casinos,
.vx-main--casinos,
.vx-toplist__list--casinos {
	min-width: 0;
	max-width: 100%;
}
.vx-main--casinos .vx-toplist {
	width: 100%;
}
.vx-main--casinos .vx-toplist__panel {
	width: 100%;
}
.vx-main--casinos .vx-toplist__list--casinos {
	width: 100%;
}
.vx-main--casinos .vx-ed-hero {
	max-width: 780px;
}
@media (min-width: 744px) {
	.vx-layout--casinos.vx-container {
		max-width: min(100%, var(--vx-container));
	}
	.vx-main--casinos .vx-toplist__cols span:last-child {
		text-align: right;
	}
}
@media (max-width: 743px) {
	.vx-layout--casinos .vx-container {
		padding-inline: clamp(10px, 3vw, 20px);
	}
	.vx-toplist__list--casinos {
		gap: 10px;
	}
}
@media (max-width: 640px) {
	.vx-main--casinos .vx-ed-hero__title {
		font-size: clamp(1.45rem, 6.5vw, 1.85rem);
	}
	.vx-main--casinos .vx-ed-hero__desc {
		font-size: .9rem;
	}
	.vx-main--casinos .vx-ed-pagination .prev,
	.vx-main--casinos .vx-ed-pagination .next {
		padding-inline: 10px;
		font-size: .76rem;
	}
}
@media (max-width: 380px) {
	.vx-main--casinos .vx-ed-pagination .prev,
	.vx-main--casinos .vx-ed-pagination .next {
		min-width: 34px;
		padding-inline: 8px;
	}
}

/* Casinos archive — compact gap before footer */
.vx-casinos-page .vx-site__content {
	min-height: 0;
}

body.vx-casinos-page:not(.front-page) .vx-layout.vx-layout--casinos {
	padding-bottom: clamp(16px, 2.5vw, 28px);
}

.vx-casinos-page .vx-footer {
	margin-top: clamp(16px, 2.5vw, 28px);
}

.vx-main--casinos .vx-ed-pagination {
	margin-top: clamp(24px, 4vw, 40px);
	margin-bottom: 0;
}

/* Casino archive — tablet/desktop ranking table (iPad Mini+) */
@media (min-width: 744px) {
	.vx-main--casinos .vx-toplist__panel {
		--vx-casino-col-gap: clamp(14px, 2vw, 20px);
		--vx-casino-row-pad-x: clamp(16px, 2vw, 24px);
		--vx-casino-grid-cols: auto minmax(0, 1.1fr) minmax(0, 1.25fr) minmax(148px, 200px);
		padding: clamp(14px, 2vw, 20px) clamp(12px, 1.8vw, 18px) clamp(16px, 2.2vw, 22px);
		background:
			linear-gradient(165deg, rgba(38, 22, 62, .94) 0%, rgba(14, 16, 36, .98) 52%, rgba(8, 10, 26, .99) 100%),
			var(--vx-c-surface);
		border-color: rgba(255, 0, 128, .16);
		box-shadow:
			0 24px 70px rgba(0, 0, 0, .38),
			0 0 48px rgba(255, 0, 128, .06),
			inset 0 1px 0 rgba(255, 255, 255, .08);
	}

	.vx-main--casinos .vx-toplist__panel::before {
		background: linear-gradient(135deg, rgba(255, 0, 128, .26), rgba(0, 229, 255, .2) 48%, rgba(255, 214, 10, .1));
	}

	.vx-main--casinos .vx-ed-hero {
		margin-bottom: clamp(20px, 3vw, 28px);
	}

	.vx-main--casinos .vx-toplist__cols,
	.vx-main--casinos .vx-toplist__list--casinos .vx-casino-card {
		grid-template-columns: var(--vx-casino-grid-cols);
		grid-template-areas: "brand info bonus actions";
		gap: var(--vx-casino-col-gap);
		padding-inline: var(--vx-casino-row-pad-x);
	}

	.vx-main--casinos .vx-toplist__cols {
		margin: 0;
		padding-block: 11px;
		background: linear-gradient(90deg, rgba(255, 0, 128, .06), rgba(0, 229, 255, .04));
		border: 1px solid rgba(255, 0, 128, .12);
		border-radius: 12px;
	}

	.vx-main--casinos .vx-toplist__cols span:nth-child(1) {
		grid-column: 1;
		text-align: left;
		justify-self: start;
	}

	.vx-main--casinos .vx-toplist__cols span:nth-child(2) {
		display: none;
	}

	.vx-main--casinos .vx-toplist__cols span:nth-child(3),
	.vx-main--casinos .vx-toplist__cols span:nth-child(4) {
		text-align: left;
		justify-self: start;
	}

	.vx-main--casinos .vx-toplist__cols span:last-child {
		text-align: right;
		justify-self: end;
	}

	.vx-main--casinos .vx-toplist__cols span {
		color: rgba(255, 159, 208, .58);
	}

	.vx-main--casinos .vx-toplist__list--casinos {
		gap: 0;
		margin-top: 10px;
		border: 1px solid rgba(255, 0, 128, .1);
		border-radius: 14px;
		overflow: hidden;
		box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
	}

	.vx-main--casinos .vx-toplist__list--casinos .vx-casino-card {
		border-radius: 0;
		border-width: 0 0 1px;
		border-color: rgba(255, 255, 255, .05);
		box-shadow: none;
		background: rgba(255, 255, 255, .01);
		padding-block: 18px;
	}

	.vx-main--casinos .vx-toplist__list--casinos .vx-casino-card:last-child {
		border-bottom-width: 0;
	}

	.vx-main--casinos .vx-toplist__list--casinos .vx-casino-card:nth-child(even) {
		background: rgba(0, 229, 255, .02);
	}

	.vx-main--casinos .vx-toplist__list--casinos .vx-casino-card:hover {
		transform: none;
		background: linear-gradient(90deg, rgba(255, 0, 128, .07), rgba(0, 229, 255, .04));
		border-color: rgba(255, 0, 128, .12);
		box-shadow: inset 3px 0 0 rgba(0, 229, 255, .65);
	}

	.vx-main--casinos .vx-toplist__list--casinos .vx-casino-card:hover::after {
		opacity: 0;
	}

	.vx-main--casinos .vx-toplist__list--casinos .vx-casino-card--rank-1 {
		padding-block: 22px;
		background:
			linear-gradient(90deg, rgba(255, 214, 10, .1) 0%, rgba(255, 0, 128, .06) 38%, rgba(0, 229, 255, .03) 100%);
		border-bottom-color: rgba(255, 214, 10, .14);
		box-shadow: inset 0 1px 0 rgba(255, 214, 10, .16);
	}

	.vx-main--casinos .vx-toplist__list--casinos .vx-casino-card--rank-1:hover {
		background:
			linear-gradient(90deg, rgba(255, 214, 10, .14) 0%, rgba(255, 0, 128, .08) 38%, rgba(0, 229, 255, .05) 100%);
		box-shadow: inset 3px 0 0 rgba(255, 214, 10, .8);
	}

	.vx-main--casinos .vx-toplist__list--casinos .vx-casino-card--rank-2 {
		box-shadow: inset 3px 0 0 rgba(200, 208, 240, .24);
	}

	.vx-main--casinos .vx-toplist__list--casinos .vx-casino-card--rank-3 {
		box-shadow: inset 3px 0 0 rgba(255, 187, 120, .3);
	}

	.vx-main--casinos .vx-casino-card__brand {
		display: flex;
		align-items: center;
		gap: 12px;
		grid-area: brand;
		min-width: 0;
	}

	.vx-main--casinos .vx-casino-card__rank,
	.vx-main--casinos .vx-casino-card__logo {
		grid-area: auto;
		justify-self: auto;
		align-self: center;
		flex-shrink: 0;
	}

	.vx-main--casinos .vx-casino-card__rank {
		width: 40px;
		height: 40px;
		font-size: .95rem;
	}

	.vx-main--casinos .vx-casino-card__logo {
		width: 72px;
		height: 72px;
		max-width: 72px;
		padding: 0;
	}

	.vx-main--casinos .vx-casino-card__logo a {
		inset: 0;
	}

	.vx-main--casinos .vx-casino-card__title-row {
		justify-content: flex-start;
		align-items: center;
		gap: 8px 10px;
	}

	.vx-main--casinos .vx-casino-card__title {
		flex: 0 1 auto;
	}

	.vx-main--casinos .vx-casino-card__rating {
		gap: 0;
		margin-left: 2px;
	}

	.vx-main--casinos .vx-casino-card__rating .vx-stars {
		display: none;
	}

	.vx-main--casinos .vx-casino-card__rating-value {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 2.15rem;
		height: 2.15rem;
		padding: 0;
		border-radius: 50%;
		color: #8efcff;
		background: radial-gradient(circle at 32% 28%, rgba(0, 229, 255, .28), rgba(0, 229, 255, .08));
		border: 1px solid rgba(0, 229, 255, .4);
		box-shadow: 0 0 14px rgba(0, 229, 255, .16);
		font-size: .78rem;
		font-weight: 800;
		letter-spacing: -0.03em;
		line-height: 1;
		white-space: nowrap;
	}

	.vx-main--casinos .vx-casino-card__features {
		gap: 6px 14px;
	}

	.vx-main--casinos .vx-casino-card__features .vx-casino-card__review-link {
		margin-left: 0;
		padding-left: 0;
	}

	.vx-main--casinos .vx-casino-card__bonus {
		padding: 12px 14px;
		border-left: 0;
		background: linear-gradient(135deg, rgba(0, 229, 255, .07), rgba(182, 255, 0, .05));
		border: 1px solid rgba(0, 229, 255, .14);
		border-radius: 12px;
	}

	.vx-main--casinos .vx-casino-card__bonus-text {
		color: #d0ff5c;
		text-shadow: 0 0 18px rgba(182, 255, 0, .18);
	}

	.vx-main--casinos .vx-casino-card--rank-1 .vx-casino-card__bonus {
		background: linear-gradient(135deg, rgba(255, 214, 10, .1), rgba(182, 255, 0, .06));
		border-color: rgba(255, 214, 10, .2);
	}

	.vx-main--casinos .vx-casino-card--rank-1 .vx-casino-card__bonus-text {
		background: linear-gradient(135deg, #ffe98a 0%, #d4ff4d 55%, #b6ff00 100%);
		-webkit-background-clip: text;
		background-clip: text;
		color: transparent;
		text-shadow: none;
	}

	.vx-main--casinos .vx-casino-card__bonus-label--1 { color: #66e8ff; }
	.vx-main--casinos .vx-casino-card__bonus-label--2 { color: #d4dcff; }
	.vx-main--casinos .vx-casino-card__bonus-label--3 { color: #f0c896; }
	.vx-main--casinos .vx-casino-card__bonus-label--4 { color: #ff9fd0; }
	.vx-main--casinos .vx-casino-card__bonus-label--5 { color: #c8d4ff; }

	.vx-main--casinos .vx-copy.vx-copy--inline {
		background: rgba(255, 0, 128, .08);
		border-color: rgba(255, 0, 128, .28);
		color: #ff9fd0;
	}

	.vx-main--casinos .vx-copy.vx-copy--inline:hover {
		background: rgba(255, 0, 128, .14);
	}

	.vx-main--casinos .vx-casino-card__actions {
		min-width: 148px;
	}

	.vx-main--casinos .vx-casino-card__actions .vx-btn {
		padding: 13px 18px;
		font-size: .9rem;
	}

	.vx-main--casinos .vx-ed-pagination {
		margin-top: clamp(36px, 5vw, 52px);
	}
}

/* Casino archive — iPad Mini / Air / Pro row density & grid sync */
@media (min-width: 744px) and (max-width: 1366px) {
	.vx-main--casinos .vx-toplist__panel {
		--vx-casino-col-gap: clamp(12px, 1.6vw, 16px);
		--vx-casino-row-pad-x: clamp(14px, 1.8vw, 20px);
		--vx-casino-grid-cols: auto minmax(0, 1fr) minmax(0, 1.1fr) minmax(132px, 168px);
	}

	.vx-main--casinos .vx-toplist__cols {
		padding-block: 10px;
	}

	.vx-main--casinos .vx-toplist__list--casinos .vx-casino-card {
		padding-block: 14px;
	}

	.vx-main--casinos .vx-toplist__list--casinos .vx-casino-card--rank-1 {
		padding-block: 16px;
	}

	.vx-main--casinos .vx-casino-card__logo {
		width: 60px;
		height: 60px;
		max-width: 60px;
	}

	.vx-main--casinos .vx-casino-card__rank {
		width: 36px;
		height: 36px;
		font-size: .88rem;
	}

	.vx-main--casinos .vx-casino-card__bonus {
		padding: 10px 12px;
	}

	.vx-main--casinos .vx-casino-card__bonus-text {
		font-size: clamp(.88rem, 1.6vw, .98rem);
	}
}

@media (min-width: 1280px) {
	.vx-main--casinos .vx-toplist__panel {
		--vx-casino-grid-cols: auto minmax(0, 1.15fr) minmax(0, 1.3fr) minmax(156px, 200px);
		--vx-casino-col-gap: 20px;
	}

	.vx-main--casinos .vx-casino-card__logo {
		width: 76px;
		height: 76px;
		max-width: 76px;
	}
}
