.gr-lottery-page-wrap,
.gr-lottery-page {
	--gr-lottery-ink: #0d1424;
	--gr-lottery-muted: #59677c;
	--gr-lottery-soft: #eef4fb;
	--gr-lottery-surface: #ffffff;
	--gr-lottery-surface-2: #f7fafc;
	--gr-lottery-surface-3: #eef5ff;
	--gr-lottery-border: #d9e2ee;
	--gr-lottery-blue: #0a5fb9;
	--gr-lottery-blue-bright: #1b75da;
	--gr-lottery-blue-dark: #07172d;
	--gr-lottery-green: #15803d;
	--gr-lottery-green-dark: #0f5f2f;
	--gr-lottery-gold: #f8c928;
	--gr-lottery-gold-dark: #b98100;
	--gr-lottery-gold-soft: #fff3a8;
	--gr-lottery-warning: #9a3412;
	--gr-lottery-radius: 8px;
	--gr-lottery-shadow: 0 12px 30px rgba(7, 23, 45, 0.08);
	--gr-lottery-shadow-strong: 0 18px 48px rgba(7, 23, 45, 0.13);
	color: var(--gr-lottery-ink);
	font-variant-numeric: tabular-nums;
}

.gr-lottery-page-wrap {
	max-width: 1160px;
	margin: 0 auto;
	padding: 22px 16px 56px;
}

.gr-lottery-page {
	line-height: 1.55;
}

.gr-lottery-page * {
	box-sizing: border-box;
}

.gr-lottery-visually-hidden {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

.gr-lottery-hero {
	position: relative;
	margin: 0 0 20px;
	padding: 22px 0 18px;
	border-bottom: 1px solid var(--gr-lottery-border);
}

.gr-lottery-kicker,
.gr-lottery-eyebrow {
	margin: 0 0 8px;
	color: var(--gr-lottery-blue);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.gr-lottery-hero h1 {
	max-width: 780px;
	margin: 0 0 12px;
	color: var(--gr-lottery-ink);
	font-size: clamp(30px, 4.4vw, 48px);
	line-height: 1.05;
}

.gr-lottery-hero p:not(.gr-lottery-kicker) {
	max-width: 720px;
	margin: 0;
	color: var(--gr-lottery-muted);
	font-size: 18px;
}

.gr-lottery-section {
	margin: 26px 0;
}

.gr-lottery-section h2 {
	margin: 0 0 10px;
	color: var(--gr-lottery-ink);
	font-size: clamp(24px, 3vw, 34px);
	line-height: 1.15;
}

.gr-lottery-section h3 {
	margin: 0 0 10px;
	color: var(--gr-lottery-ink);
	font-size: 20px;
	line-height: 1.25;
}

.gr-lottery-section p {
	color: var(--gr-lottery-muted);
}

.gr-lottery-section-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 14px;
}

.gr-lottery-updated,
.gr-lottery-status {
	margin: 0;
	color: var(--gr-lottery-muted);
	font-size: 14px;
}

.gr-lottery-updated {
	display: block;
	padding-top: 8px;
	text-align: right;
	white-space: nowrap;
}

.gr-lottery-updated time {
	color: var(--gr-lottery-muted);
	font-weight: 650;
}

.gr-lottery-status.is-stale {
	color: var(--gr-lottery-warning);
	font-weight: 700;
}

.gr-lottery-result-card {
	position: relative;
	margin-top: 0;
	border: 1px solid rgba(103, 126, 156, 0.36);
	border-radius: var(--gr-lottery-radius);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 249, 254, 0.98)),
		var(--gr-lottery-surface);
	box-shadow: var(--gr-lottery-shadow-strong);
	overflow: hidden;
	animation: gr-lottery-card-enter 360ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

.gr-lottery-result-card::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	border-radius: inherit;
	background:
		linear-gradient(90deg, rgba(248, 201, 40, 0.34), transparent 4px, transparent calc(100% - 4px), rgba(21, 128, 61, 0.22));
	pointer-events: none;
}

.gr-lottery-result-card__head {
	position: relative;
	padding: 17px 24px;
	border-bottom: 1px dashed rgba(248, 201, 40, 0.56);
	background:
		repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.04) 0 1px, transparent 1px 18px),
		linear-gradient(135deg, #07172d 0%, #09386e 56%, #0f5f3a 100%);
	color: #fff;
	overflow: hidden;
	box-shadow:
		inset 0 3px 0 rgba(255, 255, 255, 0.08),
		inset 0 -1px 0 rgba(5, 20, 40, 0.28);
}

.gr-lottery-result-card__head::before {
	content: "";
	position: absolute;
	right: 0;
	bottom: -1px;
	left: 0;
	height: 8px;
	background: radial-gradient(circle, rgba(255, 255, 255, 0.72) 1.4px, transparent 1.7px);
	background-size: 12px 8px;
	opacity: 0.28;
	pointer-events: none;
}

.gr-lottery-result-card__head > * {
	position: relative;
	z-index: 1;
}

.gr-lottery-draw-meta {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	width: 100%;
}

.gr-lottery-draw-meta__side {
	display: flex;
	align-items: center;
	min-width: 0;
}

.gr-lottery-draw-meta__side--right {
	justify-content: flex-end;
}

.gr-lottery-draw-meta__date {
	min-width: 72px;
	text-align: center;
}

.gr-lottery-draw-token,
.gr-lottery-flags span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 32px;
	padding: 6px 11px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.17);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.22),
		0 8px 18px rgba(0, 24, 70, 0.14);
}

.gr-lottery-draw-token__label {
	opacity: 0.84;
}

.gr-lottery-draw-token__value {
	font-weight: 850;
}

.gr-lottery-draw-token--type .gr-lottery-draw-token__value {
	font-weight: 780;
}

.gr-lottery-draw-date {
	color: rgba(255, 255, 255, 0.56);
	font-size: 14px;
	font-weight: 760;
	white-space: nowrap;
}

.gr-lottery-draw-time {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 5px 0 5px 12px;
	color: #fff;
	font-size: clamp(19px, 2.2vw, 27px);
	font-weight: 850;
	line-height: 1;
	text-shadow: 0 1px 1px rgba(0, 20, 45, 0.24);
	white-space: nowrap;
}

.gr-lottery-ruote-grid,
.gr-lottery-sets-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	padding: 16px;
	border: 0;
	border-top: 0;
	background:
		radial-gradient(circle at 92% 8%, rgba(10, 95, 185, 0.07), transparent 28%),
		linear-gradient(180deg, #f9fbff, var(--gr-lottery-surface-3));
}

.gr-lottery-sets-grid {
	grid-template-columns: 1fr;
}

.gr-lottery-ruota-card,
.gr-lottery-number-set,
.gr-lottery-simbolotto {
	min-width: 0;
	padding: 16px;
	border: 1px solid rgba(133, 153, 181, 0.32);
	border-radius: var(--gr-lottery-radius);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(249, 251, 255, 0.96)),
		var(--gr-lottery-surface);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.9),
		0 9px 18px rgba(7, 23, 45, 0.055);
	transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.gr-lottery-ruota-card:hover,
.gr-lottery-number-set:hover,
.gr-lottery-simbolotto:hover {
	transform: translateY(-2px);
	border-color: #b8c9dd;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.92),
		0 14px 26px rgba(7, 23, 45, 0.09);
}

.gr-lottery-ruota-card h3,
.gr-lottery-number-set h3,
.gr-lottery-simbolotto h3 {
	margin-bottom: 12px;
	font-size: 17px;
	font-weight: 800;
}

.gr-lottery-ball-row,
.gr-lottery-symbol-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

.gr-lottery-symbol-row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(54px, max-content));
	gap: 10px 12px;
	justify-content: start;
	align-items: center;
}

.gr-lottery-ball-item {
	display: inline-flex;
	perspective: 420px;
	animation: gr-lottery-ball-enter 460ms cubic-bezier(0.18, 0.9, 0.24, 1.2) both;
	animation-delay: var(--gr-ball-delay, 0ms);
}

.gr-lottery-ball {
	--gr-ball-core: #ffffff;
	--gr-ball-mid: #f1f6ff;
	--gr-ball-edge: #aabbd0;
	--gr-ball-rim: rgba(7, 59, 122, 0.22);
	--gr-ball-text: var(--gr-lottery-blue-dark);
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 0;
	border-radius: 999px;
	background:
		radial-gradient(circle at 24% 16%, rgba(255, 255, 255, 0.76) 0 7%, rgba(255, 255, 255, 0.32) 8% 14%, transparent 22%),
		radial-gradient(circle at 36% 30%, var(--gr-ball-core) 0 34%, var(--gr-ball-mid) 57%, var(--gr-ball-edge) 100%);
	color: var(--gr-ball-text);
	font-size: 16px;
	font-weight: 800;
	line-height: 1;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.88);
	box-shadow:
		inset 6px 8px 10px rgba(255, 255, 255, 0.88),
		inset -8px -10px 14px rgba(32, 53, 77, 0.2),
		0 1px 0 rgba(255, 255, 255, 0.95),
		0 2px 3px rgba(13, 30, 52, 0.16),
		0 9px 15px rgba(13, 30, 52, 0.14),
		0 0 0 1px var(--gr-ball-rim);
	overflow: hidden;
	transform: translateZ(0);
	transition: transform 180ms cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 180ms ease;
}

.gr-lottery-ball::before {
	content: "";
	position: absolute;
	top: 5px;
	left: 8px;
	width: 11px;
	height: 7px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.4);
	filter: blur(0.4px);
	pointer-events: none;
}

.gr-lottery-ball::after {
	content: "";
	position: absolute;
	right: 7px;
	bottom: 5px;
	left: 10px;
	height: 9px;
	border-radius: 999px;
	background: radial-gradient(ellipse at center, rgba(23, 35, 55, 0.18), transparent 70%);
	filter: blur(1px);
	pointer-events: none;
}

.gr-lottery-ruota-card:hover .gr-lottery-ball,
.gr-lottery-number-set:hover .gr-lottery-ball {
	transform: translateY(-1px) scale(1.025);
	box-shadow:
		inset 6px 8px 10px rgba(255, 255, 255, 0.9),
		inset -9px -11px 15px rgba(32, 53, 77, 0.22),
		0 1px 0 rgba(255, 255, 255, 0.95),
		0 4px 5px rgba(13, 30, 52, 0.18),
		0 12px 19px rgba(13, 30, 52, 0.16),
		0 0 0 1px var(--gr-ball-rim);
}

.gr-lottery-ball.is-gold,
.gr-lottery-number-set--oro .gr-lottery-ball {
	--gr-ball-core: #fffbe0;
	--gr-ball-mid: var(--gr-lottery-gold);
	--gr-ball-edge: var(--gr-lottery-gold-dark);
	--gr-ball-rim: rgba(138, 93, 0, 0.34);
	--gr-ball-text: #2f2500;
	box-shadow:
		inset 6px 8px 10px rgba(255, 252, 219, 0.9),
		inset -8px -10px 14px rgba(112, 67, 0, 0.25),
		0 1px 0 rgba(255, 249, 206, 0.98),
		0 2px 4px rgba(97, 62, 0, 0.22),
		0 10px 16px rgba(97, 62, 0, 0.18),
		0 0 0 1px var(--gr-ball-rim);
}

.gr-lottery-number-set--extra .gr-lottery-ball {
	--gr-ball-core: #ffffff;
	--gr-ball-mid: #e7fff3;
	--gr-ball-edge: #81c7a1;
	--gr-ball-rim: rgba(15, 95, 59, 0.22);
	--gr-ball-text: var(--gr-lottery-green-dark);
}

.gr-lottery-number-set--fai3 .gr-lottery-ball,
.gr-lottery-number-set--fai4 .gr-lottery-ball {
	width: 46px;
	height: 46px;
	--gr-ball-core: #ffffff;
	--gr-ball-mid: #dffbea;
	--gr-ball-edge: #65b88b;
	--gr-ball-rim: rgba(15, 95, 59, 0.26);
	--gr-ball-text: var(--gr-lottery-green-dark);
	font-size: 20px;
}

.gr-lottery-simbolotto {
	grid-column: 1 / -1;
	padding: 18px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 253, 243, 0.96));
}

.gr-lottery-symbol {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-width: 54px;
	min-height: 42px;
	padding: 7px 9px;
	border: 1px solid rgba(217, 179, 48, 0.46);
	border-radius: 999px;
	background:
		linear-gradient(180deg, rgba(255, 252, 229, 0.98), rgba(255, 244, 180, 0.92));
	color: #6b4e00;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.86),
		0 9px 16px rgba(121, 83, 0, 0.1);
	animation: gr-lottery-ball-enter 460ms cubic-bezier(0.18, 0.9, 0.24, 1.2) both;
	animation-delay: var(--gr-ball-delay, 0ms);
}

.gr-lottery-symbol.has-label {
	justify-content: flex-start;
	min-width: 112px;
	padding-right: 12px;
}

.gr-lottery-symbol strong {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 999px;
	background:
		radial-gradient(circle at 34% 24%, #fff 0 18%, var(--gr-lottery-gold-soft) 34%, var(--gr-lottery-gold) 58%, var(--gr-lottery-gold-dark) 100%);
	color: #1f2937;
	font-size: 13px;
	box-shadow:
		inset 3px 4px 5px rgba(255, 255, 255, 0.6),
		inset -4px -5px 7px rgba(101, 64, 0, 0.18),
		0 3px 6px rgba(101, 64, 0, 0.12);
}

.gr-lottery-symbol > span {
	max-width: 104px;
	color: #5b4300;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.1;
	white-space: normal;
}

.gr-lottery-flags {
	margin-top: 10px;
}

.gr-lottery-flags span {
	background:
		linear-gradient(135deg, var(--gr-lottery-green-dark), var(--gr-lottery-green));
	color: #fff;
}

.gr-lottery-table-details {
	margin-top: 14px;
	border: 1px solid rgba(151, 168, 190, 0.42);
	border-radius: var(--gr-lottery-radius);
	background: rgba(255, 255, 255, 0.72);
	box-shadow: none;
	overflow: hidden;
}

.gr-lottery-table-details[open] {
	background: var(--gr-lottery-surface);
	box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
}

.gr-lottery-table-details summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	min-height: 44px;
	padding: 11px 14px;
	color: #334155;
	font-size: 14px;
	font-weight: 750;
	list-style: none;
	cursor: pointer;
	transition: background 180ms ease, color 180ms ease;
}

.gr-lottery-table-details summary::-webkit-details-marker {
	display: none;
}

.gr-lottery-table-details summary span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.gr-lottery-table-details summary span::before {
	content: "";
	width: 7px;
	height: 7px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(-45deg);
	transition: transform 180ms ease;
}

.gr-lottery-table-details[open] summary span::before {
	transform: rotate(45deg);
}

.gr-lottery-table-details summary small {
	color: var(--gr-lottery-muted);
	font-size: 12px;
	font-weight: 650;
}

.gr-lottery-table-details summary:hover {
	background: #f6f9fe;
	color: var(--gr-lottery-blue);
}

.gr-lottery-table-details summary:focus-visible,
.gr-lottery-links a:focus-visible {
	outline: 3px solid rgba(11, 99, 206, 0.28);
	outline-offset: 3px;
}

.gr-lottery-table-scroll {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.gr-lottery-table-details .gr-lottery-table-scroll {
	border-top: 1px solid var(--gr-lottery-border);
}

.gr-lottery-table {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
	font-size: 14px;
	background: var(--gr-lottery-surface);
}

.gr-lottery-table caption {
	padding: 12px 14px 8px;
	text-align: left;
	color: var(--gr-lottery-muted);
	font-size: 13px;
	font-weight: 700;
}

.gr-lottery-table th,
.gr-lottery-table td {
	border: 1px solid var(--gr-lottery-border);
	padding: 9px 12px;
	text-align: left;
	vertical-align: top;
}

.gr-lottery-table thead th {
	background: linear-gradient(180deg, #f6faff, var(--gr-lottery-soft));
	color: var(--gr-lottery-ink);
}

.gr-lottery-table tbody tr:nth-child(even) {
	background: #fbfdff;
}

.gr-lottery-table-strong {
	color: var(--gr-lottery-blue-dark);
	font-weight: 800;
}

.gr-lottery-table-muted {
	display: block;
	margin-top: 2px;
	color: var(--gr-lottery-muted);
	font-size: 13px;
}

.gr-lottery-archive {
	padding-top: 6px;
}

.gr-lottery-archive.gr-lottery-archive--cards {
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.gr-lottery-archive-intro {
	margin-top: 0;
}

.gr-lottery-archive .gr-lottery-table-scroll {
	margin-top: 12px;
	border: 1px solid var(--gr-lottery-border);
	border-radius: var(--gr-lottery-radius);
	background: var(--gr-lottery-surface);
}

.gr-lottery-archive-table {
	min-width: 500px;
}

.gr-lottery-archive-draws {
	display: grid;
	gap: 12px;
	margin-top: 14px;
}

.gr-lottery-archive-draw {
	position: relative;
	border: 1px solid rgba(132, 151, 178, 0.32);
	border-radius: var(--gr-lottery-radius);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(247, 250, 254, 0.98)),
		var(--gr-lottery-surface);
	overflow: hidden;
	box-shadow: 0 9px 20px rgba(7, 23, 45, 0.055);
}

.gr-lottery-archive-draw::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 4px;
	background: linear-gradient(180deg, var(--gr-lottery-gold), var(--gr-lottery-green));
	pointer-events: none;
}

.gr-lottery-archive-draw__head {
	position: relative;
	padding: 10px 16px 10px 18px;
	border-bottom: 1px dashed rgba(181, 196, 215, 0.78);
	background:
		repeating-linear-gradient(90deg, rgba(7, 23, 45, 0.028) 0 1px, transparent 1px 18px),
		linear-gradient(90deg, rgba(255, 246, 202, 0.5), rgba(240, 248, 255, 0.72)),
		var(--gr-lottery-surface-2);
}

.gr-lottery-draw-meta--archive .gr-lottery-draw-token {
	min-height: 28px;
	padding: 4px 9px;
	border: 1px solid rgba(10, 95, 185, 0.14);
	background: #fff;
	color: var(--gr-lottery-blue-dark);
	font-size: 12px;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.92),
		0 5px 12px rgba(7, 23, 45, 0.06);
}

.gr-lottery-draw-meta--archive .gr-lottery-draw-token--type {
	color: var(--gr-lottery-green-dark);
}

.gr-lottery-draw-meta--archive .gr-lottery-draw-date {
	color: rgba(89, 103, 124, 0.58);
	font-size: 13px;
	text-shadow: none;
}

.gr-lottery-draw-meta--archive .gr-lottery-draw-time {
	min-height: 28px;
	padding: 0;
	color: var(--gr-lottery-ink);
	font-size: 16px;
	text-shadow: none;
}

.gr-lottery-archive-draw__sets {
	display: grid;
	gap: 0;
	padding: 2px 16px 5px 18px;
}

.gr-lottery-archive-set {
	display: grid;
	grid-template-columns: minmax(108px, 136px) minmax(0, 1fr);
	gap: 8px;
	align-items: center;
	padding: 8px 0;
	border-top: 1px solid rgba(217, 226, 238, 0.78);
}

.gr-lottery-archive-set:first-child {
	border-top: 0;
}

.gr-lottery-archive-set__label {
	color: var(--gr-lottery-ink);
	font-size: 13px;
	font-weight: 800;
	line-height: 1.2;
}

.gr-lottery-archive-set .gr-lottery-ball-row {
	gap: 5px;
}

.gr-lottery-archive-set .gr-lottery-ball {
	width: 29px;
	height: 29px;
	font-size: 12px;
}

.gr-lottery-archive-set .gr-lottery-ball::before {
	top: 4px;
	left: 6px;
	width: 7px;
	height: 5px;
}

.gr-lottery-archive-set--extra .gr-lottery-ball {
	--gr-ball-core: #ffffff;
	--gr-ball-mid: #e7fff3;
	--gr-ball-edge: #81c7a1;
	--gr-ball-rim: rgba(15, 95, 59, 0.22);
	--gr-ball-text: var(--gr-lottery-green-dark);
}

.gr-lottery-archive-set--oro .gr-lottery-ball {
	--gr-ball-core: #fffbe0;
	--gr-ball-mid: var(--gr-lottery-gold);
	--gr-ball-edge: var(--gr-lottery-gold-dark);
	--gr-ball-rim: rgba(138, 93, 0, 0.34);
	--gr-ball-text: #2f2500;
}

.gr-lottery-archive-set--fai3 .gr-lottery-ball,
.gr-lottery-archive-set--fai4 .gr-lottery-ball {
	--gr-ball-core: #ffffff;
	--gr-ball-mid: #dffbea;
	--gr-ball-edge: #65b88b;
	--gr-ball-rim: rgba(15, 95, 59, 0.26);
	--gr-ball-text: var(--gr-lottery-green-dark);
}

.gr-lottery-archive-set--simbolotto .gr-lottery-symbol-row {
	gap: 7px;
}

.gr-lottery-archive-set--simbolotto .gr-lottery-symbol {
	min-width: 46px;
	min-height: 34px;
	padding: 5px 7px;
}

.gr-lottery-archive-set--simbolotto .gr-lottery-symbol.has-label {
	min-width: 94px;
}

.gr-lottery-archive-set--simbolotto .gr-lottery-symbol strong {
	width: 22px;
	height: 22px;
	font-size: 12px;
}

.gr-lottery-archive-set--simbolotto .gr-lottery-symbol > span {
	max-width: 86px;
	font-size: 11px;
}

.gr-lottery-archive-flags {
	padding: 8px 0 12px;
}

.gr-lottery-archive-flags span {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 5px 10px;
	border-radius: 999px;
	background:
		linear-gradient(135deg, var(--gr-lottery-green-dark), var(--gr-lottery-green));
	color: #fff;
	font-size: 12px;
	font-weight: 800;
}

.gr-lottery-schedule,
.gr-lottery-faq,
.gr-lottery-winnings,
.gr-lottery-archive,
.gr-lottery-links,
.gr-lottery-disclaimer {
	padding: 22px;
	border: 1px solid var(--gr-lottery-border);
	border-radius: var(--gr-lottery-radius);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 251, 255, 0.96));
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.gr-lottery-faq h3 + p {
	margin-top: 0;
}

.gr-lottery-faq h3 {
	font-size: 18px;
}

.gr-lottery-winnings {
	border-color: #f0d984;
	background:
		linear-gradient(180deg, #fffef6, #fff9db);
}

.gr-lottery-links ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gr-lottery-links a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 8px 12px;
	border: 1px solid var(--gr-lottery-border);
	border-radius: 999px;
	background: var(--gr-lottery-surface-2);
	color: var(--gr-lottery-blue-dark);
	font-weight: 700;
	text-decoration: none;
	transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
	box-shadow: 0 5px 12px rgba(15, 23, 42, 0.04);
}

.gr-lottery-links a:hover {
	transform: translateY(-1px);
	border-color: #b8c9dd;
	background: #fff;
}

.gr-lottery-disclaimer {
	border-color: #cdd7e3;
	background:
		linear-gradient(180deg, #fbfdff, #f5f8fc);
	color: #334155;
}

.gr-lottery-disclaimer p:last-child,
.gr-lottery-section p:last-child {
	margin-bottom: 0;
}

.gr-lottery-empty {
	padding: 18px;
	border: 1px dashed #b8c9dd;
	border-radius: var(--gr-lottery-radius);
	background:
		linear-gradient(180deg, #fbfdff, var(--gr-lottery-surface-2));
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

@keyframes gr-lottery-card-enter {
	from {
		opacity: 0;
		transform: translateY(10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes gr-lottery-ball-enter {
	0% {
		opacity: 0;
		transform: translateY(14px) rotate(-12deg) scale(0.72);
	}
	68% {
		opacity: 1;
		transform: translateY(-2px) rotate(4deg) scale(1.08);
	}
	100% {
		opacity: 1;
		transform: translateY(0) rotate(0deg) scale(1);
	}
}

@media (min-width: 980px) {
	.gr-lottery-page--lotto .gr-lottery-ruote-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.gr-lottery-page--dieci_e_lotto .gr-lottery-sets-grid,
	.gr-lottery-page--millionday .gr-lottery-sets-grid,
	.gr-lottery-page--fai3_fai4 .gr-lottery-sets-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.gr-lottery-page-wrap {
		padding: 16px 14px 44px;
	}

	.gr-lottery-hero {
		margin-bottom: 18px;
		padding-top: 14px;
		padding-bottom: 16px;
	}

	.gr-lottery-hero h1 {
		font-size: clamp(29px, 9vw, 36px);
	}

	.gr-lottery-hero p:not(.gr-lottery-kicker) {
		font-size: 16px;
	}

	.gr-lottery-section-head {
		display: block;
	}

	.gr-lottery-result-card__head {
		padding: 14px 18px;
	}

	.gr-lottery-updated {
		justify-content: flex-start;
		margin-top: 10px;
		padding-top: 0;
		text-align: left;
		white-space: normal;
	}

	.gr-lottery-draw-meta {
		gap: 8px;
	}

	.gr-lottery-draw-token {
		min-height: 30px;
		padding: 5px 8px;
		font-size: 12px;
	}

	.gr-lottery-draw-date {
		font-size: 12px;
	}

	.gr-lottery-draw-time {
		min-height: 30px;
		padding-left: 6px;
		font-size: 18px;
	}

	.gr-lottery-ruote-grid,
	.gr-lottery-sets-grid {
		grid-template-columns: 1fr;
		padding: 12px;
	}

	.gr-lottery-page--lotto .gr-lottery-ruote-grid {
		gap: 8px;
		padding: 10px;
	}

	.gr-lottery-page--lotto .gr-lottery-ruota-card {
		display: grid;
		grid-template-columns: minmax(72px, 90px) minmax(0, 1fr);
		align-items: center;
		gap: 8px;
		padding: 10px;
	}

	.gr-lottery-page--lotto .gr-lottery-ruota-card h3 {
		margin: 0;
		font-size: 14px;
		line-height: 1.1;
	}

	.gr-lottery-page--lotto .gr-lottery-ruota-card .gr-lottery-ball-row {
		gap: 5px;
		justify-content: flex-start;
	}

	.gr-lottery-ruota-card,
	.gr-lottery-number-set,
	.gr-lottery-simbolotto,
	.gr-lottery-schedule,
	.gr-lottery-faq,
	.gr-lottery-winnings,
	.gr-lottery-archive,
	.gr-lottery-links,
	.gr-lottery-disclaimer {
		padding: 16px;
	}

	.gr-lottery-ball {
		width: 40px;
		height: 40px;
	}

	.gr-lottery-page--lotto .gr-lottery-ball {
		width: 32px;
		height: 32px;
		font-size: 13px;
	}

	.gr-lottery-page--lotto .gr-lottery-ball::before {
		top: 5px;
		left: 8px;
		width: 10px;
		height: 7px;
	}

	.gr-lottery-number-set--fai3 .gr-lottery-ball,
	.gr-lottery-number-set--fai4 .gr-lottery-ball {
		width: 44px;
		height: 44px;
	}

	.gr-lottery-page--lotto .gr-lottery-simbolotto {
		padding: 12px;
	}

	.gr-lottery-page--lotto .gr-lottery-symbol-row {
		grid-template-columns: repeat(auto-fit, minmax(46px, max-content));
		gap: 8px;
	}

	.gr-lottery-page--lotto .gr-lottery-symbol {
		min-width: 46px;
		min-height: 36px;
		padding: 5px 7px;
	}

	.gr-lottery-table-details summary {
		display: grid;
		grid-template-columns: 1fr;
		gap: 2px;
	}

	.gr-lottery-archive-draw__head {
		padding: 9px 12px 9px 14px;
	}

	.gr-lottery-draw-meta--archive {
		gap: 7px;
	}

	.gr-lottery-draw-meta--archive .gr-lottery-draw-token {
		font-size: 11px;
	}

	.gr-lottery-draw-meta--archive .gr-lottery-draw-time {
		font-size: 14px;
	}

	.gr-lottery-archive-draw__sets {
		padding: 2px 12px 4px 14px;
	}

	.gr-lottery-archive-set {
		grid-template-columns: minmax(82px, 104px) minmax(0, 1fr);
		gap: 7px;
	}

	.gr-lottery-archive-set .gr-lottery-ball {
		width: 28px;
		height: 28px;
		font-size: 12px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.gr-lottery-result-card,
	.gr-lottery-ball-item,
	.gr-lottery-symbol {
		animation: none;
	}

	.gr-lottery-ruota-card,
	.gr-lottery-number-set,
	.gr-lottery-simbolotto,
	.gr-lottery-links a,
	.gr-lottery-ball,
	.gr-lottery-table-details summary {
		transition: none;
	}

	.gr-lottery-ruota-card:hover,
	.gr-lottery-number-set:hover,
	.gr-lottery-simbolotto:hover,
	.gr-lottery-links a:hover,
	.gr-lottery-ruota-card:hover .gr-lottery-ball,
	.gr-lottery-number-set:hover .gr-lottery-ball {
		transform: none;
	}
}
