.gr-collections-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(4px, 1vw, 12px);
}

.gr-collection-card {
	min-width: 0;
	margin: 0;
}

.gr-collection-card__link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.gr-collection-card__link:hover,
.gr-collection-card__link:focus-visible {
	color: inherit;
}

.gr-collection-card__link img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.gr-collection-card__title {
	margin: 0.6rem 0 0;
	font-size: clamp(0.9rem, 2vw, 1.15rem);
	line-height: 1.25;
}

body.gr-collections-canvas {
	--gr-collections-ink: #000;
	--gr-collections-accent: #00efb5;
	--gr-collections-surface: #b000ff;
	--gr-collections-text: #000;

	min-width: 320px;
	margin: 0;
	background: #1a1a1a;
	color: var(--gr-collections-text);
	font-family: Arial, Helvetica, sans-serif;
}

body.gr-collections-canvas *,
body.gr-collections-canvas *::before,
body.gr-collections-canvas *::after {
	box-sizing: border-box;
}

.gr-collections-canvas__page {
	width: 100%;
	max-width: 480px;
	min-height: 100dvh;
	margin-inline: auto;
	overflow: hidden;
	background: var(--gr-collections-ink);
}

.gr-collections-canvas__hero {
	min-height: 36dvh;
	padding:
		max(1.25rem, env(safe-area-inset-top))
		1.25rem
		3rem;
	background: var(--gr-collections-ink);
	color: var(--gr-collections-accent);
}

.gr-collections-canvas__links {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.75rem;
	align-items: center;
}

.gr-collections-canvas__links a {
	color: inherit;
	font-size: clamp(0.72rem, 3.2vw, 0.95rem);
	font-weight: 700;
	line-height: 1.1;
	text-align: center;
	text-decoration: none;
}

.gr-collections-canvas__links a:first-child {
	text-align: left;
}

.gr-collections-canvas__links a:last-child {
	text-align: right;
}

.gr-collections-canvas__title {
	margin: 1.5rem 0 0;
	color: var(--gr-collections-accent);
	font-size: clamp(3.25rem, 19vw, 6.5rem);
	font-weight: 900;
	letter-spacing: -0.055em;
	line-height: 0.88;
	text-transform: uppercase;
}

.gr-collections-canvas__surface {
	min-height: 64dvh;
	background: var(--gr-collections-surface);
}

.gr-collections-highlights {
	position: relative;
	z-index: 2;
	margin-top: -3.75rem;
	padding-bottom: 1.5rem;
	background: transparent;
}

.gr-collections-highlights__track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 29%;
	gap: 0.9rem;
	overflow-x: auto;
	padding: 0 1.25rem 0.35rem;
	overscroll-behavior-inline: contain;
	scroll-snap-type: inline mandatory;
	scrollbar-width: none;
}

.gr-collections-highlights__track::-webkit-scrollbar {
	display: none;
}

.gr-collections-highlight {
	min-width: 0;
	color: var(--gr-collections-text);
	text-align: center;
	text-decoration: none;
	scroll-snap-align: start;
}

.gr-collections-highlight__media {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	overflow: hidden;
	border: 3px solid transparent;
	border-radius: 50%;
	background: var(--gr-collections-accent);
}

.gr-collections-highlight[aria-current="page"]
	.gr-collections-highlight__media {
	border-color: var(--gr-collections-ink);
}

.gr-collections-highlight__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gr-collections-highlight__title {
	display: block;
	margin-top: 0.6rem;
	font-size: clamp(0.76rem, 3.6vw, 0.95rem);
	font-weight: 800;
	line-height: 1.05;
	text-wrap: balance;
}

body.gr-collections-canvas .gr-collections-grid {
	gap: 4px;
	background: var(--gr-collections-surface);
}

.gr-collections-empty {
	margin: 0;
	padding: 1.25rem;
}

body.gr-collections-canvas .gr-collection-card {
	position: relative;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: var(--gr-collections-accent);
}

body.gr-collections-canvas .gr-collection-card__link {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

body.gr-collections-canvas .gr-collection-card__link img {
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	object-fit: cover;
}

body.gr-collections-canvas .gr-collection-card__title {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	margin: 0;
	padding: 2.5rem 0.55rem 0.55rem;
	background: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0),
		rgba(0, 0, 0, 0.82)
	);
	color: #fff;
	font-size: clamp(0.68rem, 2.9vw, 0.9rem);
	font-weight: 800;
	line-height: 1.08;
	text-wrap: balance;
}

@media (min-width: 481px) {
	.gr-collections-canvas__page {
		box-shadow: 0 0 60px rgba(0, 0, 0, 0.45);
	}
}
