




	/* Cores Personalizadas do Site */
	:root {
		--custom-primary: #667eea;
		--custom-secondary: #764ba2;
		--custom-success: #53f718;
		--custom-danger: #ef4444;
		--custom-warning: #f59e0b;
		--custom-info: #3b82f6;
		--custom-background: #b8b7b7;
		--custom-text: #000000;
		--custom-card-bg: #ffffff;
		--custom-button-primary: #667eea;
		--custom-button-text: #000000;
	}
	
	/* Aplicar cores personalizadas */
	body {
		background-color: var(--custom-background) !important;
		color: #000000 !important;
	}
	
	/* Ajustar texto branco em fundos claros */
	body .text-white,
	.text-white {
		color: #000000 !important;
	}
	
	/* Containers e áreas principais */
	.container:not(.rodape),
	.container-fluid:not(.rodape),
	.app-main,
	.app-main-off {
		color: #000000 !important;
	}
	
	/* Texto em elementos com fundo claro */
	* {
		color: inherit;
	}
	
	/* Garantir contraste em elementos com fundo branco/claro */
	.card:not(.double-quota-card),
	.app-card:not(.double-quota-card),
	.modal-content,
	.card-body {
		color: #000000 !important;
	}
	
	.btn-primary,
	.bg-primary,
	.bg-gradient-primary {
		background-color: var(--custom-button-primary) !important;
		background: linear-gradient(135deg, var(--custom-primary) 0%, var(--custom-secondary) 100%) !important;
		color: var(--custom-button-text) !important;
	}
	
	.btn-success,
	.bg-success,
	.bg-gradient-green {
		background-color: var(--custom-success) !important;
	}
	
	.btn-danger,
	.bg-danger {
		background-color: var(--custom-danger) !important;
	}
	
	.btn-warning,
	.bg-warning {
		background-color: var(--custom-warning) !important;
	}
	
	.btn-info,
	.bg-info {
		background-color: var(--custom-info) !important;
	}
	
	.card:not(.double-quota-card),
	.app-card:not(.double-quota-card) {
		background-color: var(--custom-card-bg) !important;
	}
	
	a,
	.link-primary {
		color: var(--custom-primary) !important;
	}
	
	a:hover,
	.link-primary:hover {
		color: var(--custom-secondary) !important;
	}

	/* Header: não herdar verde do tema nos links/botões */
	.header-app-header a.header-bar-pro__tickets,
	.header-app-header a.header-bar-pro__tickets:hover,
	.header-app-header a.header-bar-pro__tickets:focus {
		background: #fff !important;
		background-color: #fff !important;
		color: #1f2937 !important;
		text-decoration: none !important;
	}
	.header-app-header a.header-bar-pro__tickets i {
		color: #e11d8c !important;
	}
	.header-app-header .header-bar-pro__menu,
	.header-app-header .header-bar-pro__menu.btn-link,
	.header-app-header .header-bar-pro__menu i,
	.header-app-header.campanha .header-app-header-container .header-bar-pro__menu.btn-link,
	.header-app-header.campanha .header-app-header-container .header-bar-pro__menu.btn-link i {
		color: #111827 !important;
	}
	
	.text-primary {
		color: var(--custom-primary) !important;
	}
	
	.border-primary {
		border-color: var(--custom-primary) !important;
	}
	
	/* Header novo: trust + nav branca (sem glass antigo na cor do tema) */
	.header-app-header .header-app-header-container,
	.header-app-header.campanha.campanha-header--solid .header-app-header-container,
	.header-app-header.scrolled .header-app-header-container,
	.header-app-header.campanha.campanha-header--solid.scrolled .header-app-header-container {
		background: transparent !important;
		background-color: transparent !important;
		-webkit-backdrop-filter: none !important;
		backdrop-filter: none !important;
		box-shadow: none !important;
		border-bottom: none !important;
	}
	.header-app-header.campanha.campanha-header--solid {
		position: sticky !important;
		top: 0;
	}
	.header-trust {
		background: #667eea !important;
		color: #000000 !important;
	}
	.header-trust__item i {
		color: #f0b429 !important;
	}

	/* Campanha: banner hero com logo/menu dentro da imagem */
	.container.app-main.campanha-page-overlay {
		margin-top: 0 !important;
		border-top-left-radius: 0 !important;
		border-top-right-radius: 0 !important;
		padding-top: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		max-width: 100% !important;
	}
	/*
	 * Modos do cabeçalho na campanha:
	 * - Sólido: trust + nav branca sticky acima do banner
	 * - Transparente: trust sólida + nav transparente absoluta sobre o banner
	 */
	.campanha-has-overlay-header {
		position: relative;
	}
	.campanha-has-overlay-header > .header-app-header.campanha-header--overlay {
		display: block !important;
		height: auto !important;
		overflow: visible !important;
		visibility: visible !important;
		pointer-events: auto !important;
		position: absolute !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		z-index: 130 !important;
		background: transparent !important;
	}
	.campanha-has-overlay-header > .header-app-header.campanha-header--overlay .header-nav {
		background: transparent !important;
		border-bottom: none !important;
		box-shadow: none !important;
	}
	.campanha-has-overlay-header > .header-app-header.campanha-header--overlay .header-bar-pro__menu,
	.campanha-has-overlay-header > .header-app-header.campanha-header--overlay .header-bar-pro__menu.btn-link,
	.campanha-has-overlay-header > .header-app-header.campanha-header--overlay .header-app-header-container .header-bar-pro__menu.btn-link,
	.campanha-has-overlay-header > .header-app-header.campanha-header--overlay .header-bar-pro__menu i,
	.campanha-has-overlay-header > .header-app-header.campanha-header--overlay .header-app-header-container .header-bar-pro__menu.btn-link i,
	.campanha-has-overlay-header > .header-app-header.campanha-header--overlay .header-menu-btn-icon,
	.campanha-has-overlay-header > .header-app-header.campanha-header--overlay .header-menu-btn-icon i {
		color: #fff !important;
		filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.55));
	}
	.campanha-has-overlay-header > .header-app-header.campanha-header--overlay .header-bar-pro__menu:hover,
	.campanha-has-overlay-header > .header-app-header.campanha-header--overlay .header-bar-pro__menu:focus,
	.campanha-has-overlay-header > .header-app-header.campanha-header--overlay .header-bar-pro__menu.btn-link:hover,
	.campanha-has-overlay-header > .header-app-header.campanha-header--overlay .header-bar-pro__menu.btn-link:focus {
		background: rgba(255, 255, 255, 0.14) !important;
		color: #fff !important;
	}
	.campanha-has-overlay-header > .header-app-header.campanha-header--overlay a.header-bar-pro__tickets,
	.campanha-has-overlay-header > .header-app-header.campanha-header--overlay a.header-bar-pro__tickets:hover,
	.campanha-has-overlay-header > .header-app-header.campanha-header--overlay a.header-bar-pro__tickets:focus,
	.campanha-has-overlay-header > .header-app-header.campanha-header--overlay .header-app-header-container a.header-bar-pro__tickets {
		background: #fff !important;
		background-color: #fff !important;
		color: #1f2937 !important;
		border: 1px solid rgba(255, 255, 255, 0.9) !important;
		box-shadow: 0 2px 10px rgba(0, 0, 0, 0.22) !important;
		text-decoration: none !important;
	}
	.campanha-has-overlay-header > .header-app-header.campanha-header--overlay a.header-bar-pro__tickets i {
		color: #e11d8c !important;
		filter: none !important;
	}
	/* Overlay antigo no banner desativado — nav fica no header global */
	.campanha-overlay-top {
		display: none !important;
	}
	.campanha-page-overlay > .campanha-header,
	.campanha-page-overlay > .sorteio-header {
		margin: 0 !important;
		padding: 0 !important;
		position: relative;
	}
	.campanha-page-overlay .campanha-header {
		position: relative !important;
		overflow: hidden;
		border-radius: 0 !important;
	}
	.campanha-page-overlay .sorteio-header .campanha-header {
		margin: 0 !important;
	}
	.campanha-page-overlay .campanha-header .SorteioTpl_imagemContainer__2-pl4 {
		margin: 0 !important;
		padding: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	.campanha-page-overlay .campanha-header .SorteioTpl_imagem__2GXxI,
	.campanha-page-overlay .campanha-header .custom-image img {
		border-radius: 0 !important;
		display: block;
		width: 100% !important;
	}
	.campanha-page-overlay .campanha-header.mb-2 {
		margin-bottom: 0 !important;
	}
	/* Setas do carrossel ficam abaixo do menu/logo (style.css dava z-index:50 nas setas) */
	.campanha-page-overlay .campanha-header.custom-highlight-card .carousel-control-next,
	.campanha-page-overlay .campanha-header.custom-highlight-card .carousel-control-prev {
		z-index: 15 !important;
		top: 32% !important;
		bottom: 12% !important;
		width: 12% !important;
	}
	.campanha-page-overlay .campanha-header.custom-highlight-card:before {
		pointer-events: none !important;
		z-index: 5 !important;
	}
	.campanha-overlay-brand {
		display: flex;
		align-items: center;
		flex: 0 1 auto;
		min-width: 0;
		text-decoration: none;
	}
	.campanha-overlay-logo {
		display: block;
		height: 2.65rem;
		width: auto;
		max-width: min(40vw, 8.75rem);
		object-fit: contain;
		filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.5));
	}
	.campanha-overlay-menu {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
		width: auto;
		height: auto;
		margin: 0;
		padding: 0.15rem;
		border: none;
		border-radius: 0;
		background: transparent !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
		box-shadow: none !important;
		color: #fff;
		cursor: pointer;
		transition: transform 0.2s ease, opacity 0.2s ease;
		-webkit-tap-highlight-color: transparent;
	}
	.campanha-overlay-menu-icon {
		display: block;
		width: 2.15rem;
		height: 2.15rem;
		filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.55));
	}
	.campanha-overlay-menu-icon .campanha-overlay-menu-ring {
		stroke: rgba(255, 255, 255, 0.92);
	}
	.campanha-overlay-menu:hover,
	.campanha-overlay-menu:focus {
		transform: scale(1.05);
		background: transparent !important;
		box-shadow: none !important;
		color: #fff;
		opacity: 0.92;
		outline: none;
	}
	.campanha-overlay-menu:active {
		transform: scale(0.96);
		opacity: 0.85;
	}
	.campanha-page-overlay .campanha-header .custom-content-wrapper,
	.campanha-page-overlay .campanha-header .custom-content-wrapper.custom-content-wrapper-details {
		left: 0;
		right: 0;
		bottom: 0;
		width: 100% !important;
		margin: 0 !important;
		padding: 1.25rem 0.65rem 0.75rem !important;
		box-sizing: border-box;
		z-index: 20;
	}
	.campanha-page-overlay .campanha-header .SorteioTpl_imagem__2GXxI,
	.campanha-page-overlay .campanha-header .carousel-banner-video {
		width: 100% !important;
		height: auto !important;
		display: block;
		object-fit: cover;
		vertical-align: top;
	}
	.campanha-page-overlay .campanha-header + .campanha-progress-banner {
		margin-top: 0 !important;
	}
	
	.black-bar {
		background-color: var(--custom-primary) !important;
		border-color: var(--custom-primary) !important;
	}
	
	/* Footer */
	.container-fluid.rodape {
		background: linear-gradient(135deg, var(--custom-primary) 0%, var(--custom-secondary) 100%) !important;
		background-color: var(--custom-primary) !important;
	}
	
	.container-fluid.rodape .row,
	.container-fluid.rodape .row[style*="background-color"],
	.container-fluid.rodape .row[style*="background-color: #0F121A"],
	.container-fluid.rodape .row[style*="background-color:#0F121A"] {
		background: linear-gradient(135deg, var(--custom-primary) 0%, var(--custom-secondary) 100%) !important;
		background-color: var(--custom-primary) !important;
	}
	
	/* Área Central / Main Container */
	.app-main,
	.app-main-off {
		background-color: var(--custom-background) !important;
	}
	
	/* Cards e Containers */
	.card:not(.double-quota-card),
	.app-card:not(.double-quota-card),
	.container:not(.rodape),
	.container-600 {
		background-color: transparent !important;
	}
	
	/* Containers com fundo específico */
	.container-fluid:not(.rodape),
	.container:not(.rodape) {
		background-color: var(--custom-background) !important;
	}
	
	/* Cards específicos */
	.card-body,
	.app-card .card-body {
		background-color: var(--custom-card-bg) !important;
		color: #000000 !important;
	}
	
	/* Ajustar texto em cards com fundo claro */
	.card:not(.double-quota-card),
	.app-card:not(.double-quota-card),
	.card:not(.double-quota-card) *,
	.app-card:not(.double-quota-card) * {
		color: #000000 !important;
	}
	
	/* Exceção: manter texto branco apenas se especificamente definido e fundo for escuro */
	.card:not(.double-quota-card) .text-white,
	.app-card:not(.double-quota-card) .text-white {
		color: #000000 !important;
	}
	
	/* Modal (exceto o de checkout, que é sempre branco) */
	.modal-content.bg-cor-primaria:not(.checkout-modal-fundo-branco),
	.modal-content:not(.checkout-modal-fundo-branco) {
		background-color: var(--custom-card-bg) !important;
	}
	
	/* Texto no footer */
	.container-fluid.rodape,
	.container-fluid.rodape * {
		color: var(--custom-button-text) !important;
	}
	
	.container-fluid.rodape a,
	.container-fluid.rodape a:hover,
	.container-fluid.rodape a:focus {
		color: var(--custom-button-text) !important;
	}
	
	.container-fluid.rodape .col-md-12.col-12.font-xs a {
		color: var(--custom-button-text) !important;
	}
	
	/* Links no footer */
	.spacing-icon a,
	.spacing-icon a:hover {
		color: var(--custom-button-text) !important;
	}
	
	.text-center.links-rodape a,
	.text-center.links-rodape a:hover {
		color: var(--custom-button-text) !important;
	}
	
	/* Override de variáveis CSS antigas */
	:root {
		--incrivel-primaria: var(--custom-primary) !important;
		--incrivel-primariaDarken: var(--custom-background) !important;
		--incrivel-cardBg: var(--custom-card-bg) !important;
		--incrivel-bg: var(--custom-background) !important;
		--incrivel-bgColor: var(--custom-text) !important;
	}
	
	/* Cotas em Dobro — promo */
	@keyframes cotas-dobro-glow {
		0%, 100% { box-shadow: 0 6px 24px rgba(220, 38, 38, 0.28); }
		50% { box-shadow: 0 8px 28px rgba(220, 38, 38, 0.4); }
	}
	.cotas-dobro-bloco {
		border: 1px solid rgba(248, 113, 113, 0.45);
		border-radius: 16px;
		overflow: hidden;
		background: #fff;
		box-shadow: 0 4px 20px rgba(15, 23, 42, 0.08);
		animation: cotas-dobro-glow 3s ease-in-out infinite;
	}
	.cotas-dobro-header {
		display: flex;
		align-items: center;
		gap: 0.65rem;
		padding: 0.7rem 0.8rem;
		background: linear-gradient(180deg, #fff 0%, #fff5f5 100%);
		border-bottom: 1px solid #fecaca;
	}
	.cotas-dobro-icon {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 2.25rem;
		height: 2.25rem;
		border-radius: 12px;
		background: rgba(239, 68, 68, 0.12);
		border: 2px solid #f87171;
		color: #dc2626;
		font-size: 1.1rem;
		flex-shrink: 0;
	}
	.cotas-dobro-titulo {
		margin: 0;
		font-size: 0.95rem;
		font-weight: 800;
		color: #0f172a;
		line-height: 1.2;
	}
	.cotas-dobro-sub {
		margin: 0.1rem 0 0;
		font-size: 0.68rem;
		font-weight: 600;
		color: #dc2626;
		text-transform: uppercase;
		letter-spacing: 0.04em;
	}
	.cotas-dobro-body {
		padding: 0.75rem 0.8rem 0.8rem;
		background: linear-gradient(165deg, #fef2f2 0%, #fff7ed 45%, #fff 100%);
		text-align: center;
	}
	.cotas-dobro-chamada {
		margin: 0 0 0.65rem;
		font-size: 0.88rem;
		font-weight: 600;
		color: #7f1d1d;
		line-height: 1.35;
	}
	.cotas-dobro-chamada strong {
		color: #b91c1c;
		font-weight: 800;
	}
	.cotas-dobro-progress-row {
		display: flex;
		align-items: center;
		gap: 0.5rem;
		margin-bottom: 0.55rem;
	}
	.cotas-dobro-progress-track {
		flex: 1;
		height: 0.55rem;
		background: #fecaca;
		border-radius: 999px;
		overflow: hidden;
		border: 1px solid #fca5a5;
	}
	.cotas-dobro-progress-fill {
		height: 100%;
		border-radius: 999px;
		background: linear-gradient(90deg, #f59e0b, #fbbf24, #f59e0b);
		background-size: 200% 100%;
		transition: width 0.6s ease;
	}
	.cotas-dobro-progress-pct {
		font-size: 0.72rem;
		font-weight: 800;
		color: #b45309;
		min-width: 2.2rem;
		text-align: right;
	}
	.cotas-dobro-hint {
		margin: 0 0 0.55rem;
		font-size: 0.78rem;
		font-weight: 600;
		color: #991b1b;
	}
	.cotas-dobro-countdown {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0.5rem;
		padding: 0.45rem 0.6rem;
		margin-bottom: 0.5rem;
		background: linear-gradient(135deg, #dc2626, #ea580c);
		border-radius: 10px;
		border: 1px solid rgba(255, 255, 255, 0.2);
	}
	.cotas-dobro-countdown-label {
		font-size: 0.72rem;
		font-weight: 700;
		color: #fde68a;
		display: inline-flex;
		align-items: center;
		gap: 0.3rem;
	}
	.cotas-dobro-countdown-timer,
	.cotas-dobro-countdown .timer-text {
		font-size: 1rem;
		font-weight: 800;
		font-variant-numeric: tabular-nums;
		color: #fff;
		letter-spacing: 0.04em;
	}
	.cotas-dobro-countdown-timer--ended .timer-text {
		font-size: 0.78rem;
		color: #fecaca;
	}
	.cotas-dobro-validade {
		margin: 0;
		font-size: 0.68rem;
		font-weight: 500;
		color: #64748b;
		line-height: 1.35;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 0.35rem;
		flex-wrap: wrap;
	}
	@media (prefers-reduced-motion: reduce) {
		.cotas-dobro-bloco { animation: none; }
	}
	
	/* Modal de Compra - fundo fixo branco (ignora personalização de cor do card/footer) */
	#newCheckoutModal.checkout-modal-fundo-branco .modal-content,
	#newCheckoutModal .modal-content.checkout-modal-fundo-branco,
	#newCheckoutModal .modal-content,
	#newCheckoutModal .modal-body,
	#newCheckoutModal .modal-body.app-form,
	#newCheckoutModal .step,
	#newCheckoutModal .step#step3,
	#newCheckoutModal .card,
	#newCheckoutModal .card-body,
	#newCheckoutModal .card-resumo-pedido-modal,
	#newCheckoutModal .card-resumo-pedido-modal .card-body {
		background-color: #ffffff !important;
		background: #ffffff !important;
	}
	#newCheckoutModal .card-resumo-pedido-modal,
	#newCheckoutModal .card-resumo-pedido-modal * {
		color: #000000 !important;
	}
	#newCheckoutModal .card[style*="background-color: #c4c4c4"],
	#newCheckoutModal .card[style*="background-color:#c4c4c4"] {
		background-color: #c4c4c4 !important;
	}
	
	/* Textos dentro dos cards cinza claro devem ser pretos */
	#newCheckoutModal .card[style*="background-color: #c4c4c4"] *,
	#newCheckoutModal .card[style*="background-color:#c4c4c4"] *,
	#newCheckoutModal .card[style*="background-color: #c4c4c4"] .text-white,
	#newCheckoutModal .card[style*="background-color:#c4c4c4"] .text-white {
		color: #000000 !important;
	}
	
	/* Labels e textos no modal de compra com fundo claro */
	#newCheckoutModal .step .card-body,
	#newCheckoutModal .step .card-body *,
	#newCheckoutModal .step .card-body .text-white,
	#newCheckoutModal .step .form-label.text-white {
		color: #000000 !important;
	}
	
	/* Ajustar textos em cards com fundo #c4c4c4 especificamente */
	#newCheckoutModal .card[style*="#c4c4c4"] .card-body,
	#newCheckoutModal .card[style*="#c4c4c4"] .card-body *,
	#newCheckoutModal .card[style*="#c4c4c4"] .fs-5,
	#newCheckoutModal .card[style*="#c4c4c4"] .fw-bold,
	#newCheckoutModal .card[style*="#c4c4c4"] .total,
	#newCheckoutModal .card[style*="#c4c4c4"] .qtd,
	#newCheckoutModal .card[style*="#c4c4c4"] .preco {
		color: #000000 !important;
	}
	
	/* Garantir que labels em formulários dentro de cards claros sejam pretos */
	#newCheckoutModal .step .card[style*="#c4c4c4"] ~ * .form-label.text-white,
	#newCheckoutModal .step form .form-label.text-white {
		color: #000000 !important;
	}
	
	/* Textos no modal de compra - garantir visibilidade */
	#newCheckoutModal .modal-body .text-muted,
	#newCheckoutModal .step .text-muted,
	#newCheckoutModal .step p.text-muted {
		color: #000000 !important;
	}
	
	/* Labels no modal de compra */
	#newCheckoutModal .step .form-label {
		color: #000000 !important;
	}
	
	/* Garantir que todos os textos no modal sejam visíveis */
	#newCheckoutModal .modal-body,
	#newCheckoutModal .step,
	#newCheckoutModal .step * {
		color: inherit;
	}
	
	/* Exceção: textos dentro de cards claros devem ser pretos */
	#newCheckoutModal .card[style*="#c4c4c4"] .text-muted,
	#newCheckoutModal .card[style*="#c4c4c4"] p.text-muted {
		color: #000000 !important;
		opacity: 0.7 !important;
	}
	
	/* Garantir que textos no modal-body sejam pretos (exceto títulos e elementos específicos) */
	#newCheckoutModal .modal-body,
	#newCheckoutModal .modal-body p,
	#newCheckoutModal .modal-body span:not(.text-white),
	#newCheckoutModal .step .form-label,
	#newCheckoutModal .step p {
		color: #000000 !important;
	}
	
	/* Escrita da campanha (Compra referente... + nome): sempre preto no header do modal para ler em fundo claro */
	#newCheckoutModal .modal-title-campaign,
	#newCheckoutModal .modal-title-campaign *,
	#newCheckoutModal .modal-title-campaign span,
	#newCheckoutModal .modal-title-campaign div {
		color: #000000 !important;
	}
	#newCheckoutModal .modal-header .modal-title-campaign,
	#newCheckoutModal .modal-header .modal-title-campaign *,
	#newCheckoutModal .modal-header .modal-title-campaign span,
	#newCheckoutModal .modal-header .modal-title-campaign div {
		color: #000000 !important;
	}
	/* Só fica branco se o próprio header for escuro (bg-dark no header) */
	#newCheckoutModal .modal-header.bg-dark .modal-title-campaign,
	#newCheckoutModal .modal-header.bg-dark .modal-title-campaign * {
		color: #ffffff !important;
	}
	
	/* Botão no header tem fundo claro (outline) → ícone e texto pretos para ver */
	#newCheckoutModal .modal-header .btn-outline-secondary,
	#newCheckoutModal .modal-header .btn-outline-secondary i,
	#newCheckoutModal .modal-header .btn-outline-secondary .bi,
	#newCheckoutModal .modal-header .btn-outline-secondary .bi-cart {
		color: #000000 !important;
	}
	#newCheckoutModal .modal-header button.btn-outline-secondary:hover,
	#newCheckoutModal .modal-header button.btn-outline-secondary:hover i {
		color: #000000 !important;
	}
	
	/* Exceção: textos dentro de cards claros devem ser pretos */
	#newCheckoutModal .card[style*="#c4c4c4"],
	#newCheckoutModal .card[style*="#c4c4c4"] * {
		color: #000000 !important;
	}
	
	/* Upsell: manter cores do banner (fundo laranja só na caixa do upsell) e do card amarelo */
	#newCheckoutModal .upsell-banner,
	#newCheckoutModal .upsell-banner h5,
	#newCheckoutModal .upsell-banner p {
		color: #ffffff !important;
	}
	
	/* Título do upsell pulsando */
	@keyframes upsell-pulse {
		0%, 100% { opacity: 1; transform: scale(1); }
		50% { opacity: 0.85; transform: scale(1.03); }
	}
	#newCheckoutModal .upsell-title-pulse {
		animation: upsell-pulse 1.5s ease-in-out infinite;
	}
	#newCheckoutModal .upsell-card-yellow,
	#newCheckoutModal .upsell-card-yellow * {
		color: #1f2937 !important;
	}
	#newCheckoutModal .upsell-card-yellow .form-check-input {
		background-color: #9ca3af;
		border-color: #6b7280;
	}
	#newCheckoutModal .upsell-card-yellow .form-check-input:checked {
		background-color: #22c55e;
		border-color: #16a34a;
	}
	
	/* Campo onde digita número (telefone) e todos os inputs: texto preto para ler no fundo claro */
	#newCheckoutModal input.form-control,
	#newCheckoutModal .form-control,
	#newCheckoutModal input[type="text"],
	#newCheckoutModal input[type="tel"],
	#newCheckoutModal input[type="email"],
	#newCheckoutModal input[type="password"],
	#newCheckoutModal select.form-control,
	#newCheckoutModal textarea.form-control {
		color: #000000 !important;
		background-color: #ffffff !important;
	}
	#newCheckoutModal input::placeholder,
	#newCheckoutModal .form-control::placeholder,
	#newCheckoutModal textarea::placeholder {
		color: #666666 !important;
		opacity: 1;
	}
	
	/* Ícone/texto que adapta ao fundo: preto em fundo claro, branco em fundo escuro */
	.icon-contrast {
		color: #000000 !important;
	}
	.bg-dark .icon-contrast,
	.modal-content.bg-dark .icon-contrast,
	[class*="bg-dark"] .icon-contrast {
		color: #ffffff !important;
	}
	.btn-outline-secondary .icon-contrast,
	.btn-outline-light .icon-contrast,
	.bg-light .icon-contrast,
	.bg-white .icon-contrast {
		color: #000000 !important;
	}
	/* Botão com fundo claro dentro de modal escuro: ícone preto */
	#newCheckoutModal .btn-outline-secondary .icon-contrast,
	#newCheckoutModal .modal-header .btn-outline-secondary .icon-contrast {
		color: #000000 !important;
	}

	/* Checkout profissional — confiança e clareza */
	#newCheckoutModal.checkout-modal-pro .modal-content {
		border: none;
		border-radius: 18px;
		box-shadow: 0 24px 48px rgba(15, 23, 42, 0.18);
		overflow: hidden;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-modal-pro__header {
		background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
		border-bottom: 1px solid #e2e8f0;
		padding: 1rem 1.15rem;
		align-items: flex-start;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-modal-pro__title-block {
		display: flex;
		align-items: flex-start;
		gap: 0.75rem;
		flex: 1;
		min-width: 0;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-modal-pro__shield {
		flex-shrink: 0;
		width: 2.75rem;
		height: 2.75rem;
		border-radius: 12px;
		display: flex;
		align-items: center;
		justify-content: center;
		background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
		color: #fff;
		font-size: 1.25rem;
		box-shadow: 0 4px 14px rgba(102, 126, 234, 0.35);
	}
	#newCheckoutModal.checkout-modal-pro .checkout-modal-pro__eyebrow {
		display: block;
		font-size: 0.68rem;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.06em;
		color: #16a34a !important;
		margin-bottom: 0.15rem;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-modal-pro__titles {
		display: flex !important;
		align-items: center;
		flex-wrap: wrap;
		gap: 0.55rem;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-modal-pro__heading {
		display: inline-block !important;
		font-size: 1.05rem !important;
		font-weight: 700 !important;
		color: #0f172a !important;
		line-height: 1.25;
		margin: 0;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-modal-pro__safe {
		display: inline-flex !important;
		align-items: center;
		gap: 0.3rem;
		padding: 0 !important;
		border: none !important;
		background: transparent !important;
		font-size: 0.75rem !important;
		font-weight: 600 !important;
		color: #059669 !important;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-modal-pro__safe i {
		color: #f97316 !important;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-modal-pro__campaign,
	#newCheckoutModal.checkout-modal-pro .checkout-modal-pro__header .js-ui-cname {
		display: none !important;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-modal-pro__body {
		padding: 1.15rem 1.25rem 1.35rem;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-steps {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		width: 100% !important;
		gap: 0;
		margin-bottom: 1.25rem;
		padding-bottom: 1rem;
		border-bottom: 1px solid #e2e8f0;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-steps__segment,
	#newCheckoutModal.checkout-modal-pro .step-header {
		flex: 1 1 0 !important;
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		min-width: 0 !important;
		width: auto !important;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-steps__segment--last {
		flex: 0 0 auto !important;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-step-dot,
	#newCheckoutModal.checkout-modal-pro .step-header > i {
		width: 2.35rem !important;
		height: 2.35rem !important;
		padding: 0 !important;
		margin: 0 !important;
		font-size: 0.95rem !important;
		line-height: 1 !important;
		border-radius: 50% !important;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		background: #e2e8f0 !important;
		color: #64748b !important;
		border: 2px solid #fff !important;
		box-shadow: 0 1px 4px rgba(15, 23, 42, 0.08);
		flex-shrink: 0 !important;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-step-dot.active,
	#newCheckoutModal.checkout-modal-pro .step-header > i.active {
		background: linear-gradient(135deg, #53f718 0%, #15803d 100%) !important;
		color: #fff !important;
		border-color: rgba(83, 247, 24, 0.3) !important;
		box-shadow: 0 4px 12px rgba(83, 247, 24, 0.4);
	}
	#newCheckoutModal.checkout-modal-pro .checkout-steps__bar,
	#newCheckoutModal.checkout-modal-pro .step1-progress,
	#newCheckoutModal.checkout-modal-pro .step2-progress,
	#newCheckoutModal.checkout-modal-pro .step3-progress {
		flex: 1 1 auto !important;
		width: auto !important;
		max-width: none !important;
		height: 3px !important;
		min-width: 0.35rem;
		margin: 0 0.2rem;
		border-radius: 999px;
		background: #e2e8f0 !important;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-steps__bar.active,
	#newCheckoutModal.checkout-modal-pro .step1-progress.active,
	#newCheckoutModal.checkout-modal-pro .step2-progress.active,
	#newCheckoutModal.checkout-modal-pro .step3-progress.active {
		background: linear-gradient(90deg, #667eea 0%, #53f718 100%) !important;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-order-summary {
		background: linear-gradient(145deg, #f8fafc 0%, #eef2ff 100%) !important;
		border: 1px solid #e2e8f0 !important;
		border-radius: 14px !important;
		box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05);
	}
	#newCheckoutModal.checkout-modal-pro .checkout-order-summary .card-body {
		padding: 1rem 1.1rem !important;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-order-summary__row {
		display: flex;
		align-items: center;
		gap: 0.85rem;
		text-align: left;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-order-summary__icon {
		width: 2.75rem;
		height: 2.75rem;
		border-radius: 12px;
		background: #fff;
		border: 1px solid #e2e8f0;
		display: flex;
		align-items: center;
		justify-content: center;
		color: #667eea !important;
		font-size: 1.35rem;
		flex-shrink: 0;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-order-summary__label {
		display: block;
		font-size: 0.7rem;
		font-weight: 600;
		text-transform: uppercase;
		letter-spacing: 0.04em;
		color: #64748b !important;
		margin-bottom: 0.15rem;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-order-summary__line,
	#newCheckoutModal.checkout-modal-pro .checkout-order-summary__line .qtd,
	#newCheckoutModal.checkout-modal-pro .checkout-order-summary__line .preco {
		font-size: 1rem !important;
		font-weight: 700;
		color: #0f172a !important;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-order-summary__x {
		color: #94a3b8 !important;
		font-weight: 500;
		margin: 0 0.15rem;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-order-summary__total-wrap {
		margin-left: auto;
		text-align: right;
		flex-shrink: 0;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-order-summary__total-label {
		display: block;
		font-size: 0.65rem;
		font-weight: 600;
		text-transform: uppercase;
		color: #64748b !important;
		margin-bottom: 0.2rem;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-order-summary__total {
		display: inline-block;
		padding: 0.45rem 0.85rem;
		border-radius: 10px;
		font-size: 1.05rem !important;
		font-weight: 800 !important;
		color: #fff !important;
		background: linear-gradient(135deg, #53f718 0%, #15803d 100%) !important;
		box-shadow: 0 4px 12px rgba(83, 247, 24, 0.35);
		border: none !important;
		opacity: 1 !important;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-modal-pro__intro {
		font-size: 0.85rem;
		line-height: 1.5;
		color: #475569 !important;
		margin-bottom: 1rem;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-field__label {
		font-size: 0.82rem;
		font-weight: 600;
		color: #334155 !important;
		margin-bottom: 0.4rem;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-field__input-wrap {
		position: relative;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-field__icon {
		position: absolute;
		left: 0.85rem;
		top: 50%;
		transform: translateY(-50%);
		color: #64748b;
		font-size: 1.05rem;
		pointer-events: none;
		z-index: 2;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-field__input {
		padding-left: 2.65rem !important;
		min-height: 3rem;
		border-radius: 12px !important;
		border: 1.5px solid #e2e8f0 !important;
		font-size: 1rem !important;
		font-weight: 600;
		color: #0f172a !important;
		background: #fff !important;
		transition: border-color 0.2s ease, box-shadow 0.2s ease;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-field__input:focus {
		border-color: #667eea !important;
		box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.15) !important;
		outline: none;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-modal-pro__forgot {
		font-size: 0.8rem;
		margin: 0;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-modal-pro__forgot a {
		color: #667eea !important;
		text-decoration: none;
		font-weight: 600;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-trust {
		list-style: none;
		margin: 0 0 1rem;
		padding: 0.65rem 0.75rem;
		display: flex;
		flex-wrap: wrap;
		gap: 0.5rem 0.75rem;
		background: #f0fdf4;
		border: 1px solid #bbf7d0;
		border-radius: 10px;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-trust li {
		display: inline-flex;
		align-items: center;
		gap: 0.35rem;
		font-size: 0.72rem;
		font-weight: 600;
		color: #166534 !important;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-trust i {
		color: #16a34a;
		font-size: 0.9rem;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-btn-primary {
		min-height: 3.1rem;
		border: none !important;
		border-radius: 12px !important;
		font-size: 1rem !important;
		font-weight: 700 !important;
		color: #fff !important;
		background: linear-gradient(135deg, #53f718 0%, #15803d 100%) !important;
		box-shadow: 0 6px 18px rgba(83, 247, 24, 0.4);
		transition: transform 0.15s ease, box-shadow 0.2s ease;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-btn-primary:hover {
		transform: translateY(-1px);
		box-shadow: 0 8px 22px rgba(83, 247, 24, 0.45);
		color: #fff !important;
	}
	#newCheckoutModal.checkout-modal-pro .card-resumo-pedido-modal {
		background: linear-gradient(145deg, #f8fafc 0%, #eef2ff 100%) !important;
		border: 1px solid #e2e8f0 !important;
		border-radius: 14px !important;
	}
	#newCheckoutModal.checkout-modal-pro #step3-actions .btn-success {
		border-radius: 12px !important;
		font-weight: 700 !important;
		min-height: 2.85rem;
		box-shadow: 0 4px 14px rgba(83, 247, 24, 0.35);
	}
	@media (max-width: 575.98px) {
		#newCheckoutModal.checkout-modal-pro .checkout-order-summary__row {
			flex-wrap: wrap;
		}
		#newCheckoutModal.checkout-modal-pro .checkout-order-summary__total-wrap {
			width: 100%;
			text-align: left;
			margin-left: 0;
			margin-top: 0.5rem;
		}
	}
	#newCheckoutModal.checkout-modal-pro #step2 .form-label,
	#newCheckoutModal.checkout-modal-pro #step2 p,
	#newCheckoutModal.checkout-modal-pro #step2 .modal-title {
		color: #334155 !important;
	}
	#newCheckoutModal.checkout-modal-pro #step2 .form-control {
		border-radius: 12px !important;
		border: 1.5px solid #e2e8f0 !important;
		min-height: 2.75rem;
	}
	#newCheckoutModal.checkout-modal-pro #step2 .btn-success {
		border-radius: 12px !important;
		font-weight: 700 !important;
	}

	/* Barra de progresso — ícones SVG (Bootstrap Icons) */
	.campanha-progress-banner {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		line-height: normal !important;
		position: relative;
		z-index: 60;
		visibility: visible !important;
		opacity: 1 !important;
		overflow: hidden;
	}

	.campanha-header + .campanha-progress-banner,
	.container.app-main > .campanha-progress-banner {
		margin-top: 0 !important;
	}

	.campanha-progress-track {
		position: relative;
		width: 100%;
		height: 36px;
		min-height: 36px;
		margin: 0;
		padding: 0 0.35rem;
		border-radius: 0;
		overflow: visible;
		background: #e8eef4;
		border-bottom: 1px solid #dbe3ec;
	}

	.campanha-progress-fill {
		position: absolute;
		left: 0;
		top: 0;
		height: 100%;
		min-width: 0;
		overflow: hidden;
		background: linear-gradient(90deg, #059669 0%, #10b981 50%, #34d399 100%);
		transition: width 0.65s cubic-bezier(0.4, 0, 0.2, 1);
		border-radius: 0;
	}

	.campanha-progress-fill::after {
		content: "";
		position: absolute;
		inset: 0;
		background: linear-gradient(
			105deg,
			transparent 0%,
			rgba(255, 255, 255, 0.12) 45%,
			rgba(255, 255, 255, 0.22) 50%,
			rgba(255, 255, 255, 0.12) 55%,
			transparent 100%
		);
		background-size: 200% 100%;
		animation: campanha-progress-shine 2.5s ease-in-out infinite;
		pointer-events: none;
	}

	.campanha-progress-marker-group {
		position: absolute;
		top: 50%;
		left: 0;
		z-index: 3;
		display: inline-flex;
		flex-direction: row;
		align-items: center;
		justify-content: center;
		gap: 0.3rem;
		/* ancora o centro do ícone (último item) na posição do progresso */
		transform: translate(calc(-100% + 15px), -50%);
		animation: campanha-progress-drive 1s ease-in-out infinite;
		transition: left 0.65s cubic-bezier(0.4, 0, 0.2, 1);
		pointer-events: none;
		user-select: none;
		white-space: nowrap;
	}

	.campanha-progress-marker-group .campanha-progress-marker {
		position: static;
		top: auto;
		left: auto;
		transform: none;
		animation: none;
	}

	.campanha-progress-marker {
		position: absolute;
		top: 50%;
		z-index: 3;
		transform: translate(-50%, -50%);
		animation: campanha-progress-drive 1s ease-in-out infinite;
		pointer-events: none;
		user-select: none;
	}

	.campanha-progress-marker-pin {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 30px;
		height: 30px;
		border-radius: 50%;
		background: linear-gradient(180deg, #ffffff 0%, #f1f5f9 100%);
		border: 2px solid #059669;
		box-shadow:
			0 2px 6px rgba(5, 150, 105, 0.35),
			0 0 0 3px rgba(255, 255, 255, 0.85);
	}

	.campanha-progress-marker-pin .bi {
		font-size: 0.95rem;
		line-height: 1;
		color: #047857;
	}

	.campanha-progress-pct {
		display: inline-flex;
		align-items: baseline;
		justify-content: center;
		gap: 0.05rem;
		min-width: 2.85rem;
		padding: 0.28rem 0.5rem;
		background: #fff;
		border: 1px solid #e2e8f0;
		border-radius: 8px;
		box-shadow: 0 1px 4px rgba(15, 23, 42, 0.08);
		line-height: 1;
		flex-shrink: 0;
	}

	.campanha-progress-pct--with-marker {
		position: static;
		right: auto;
		top: auto;
		transform: none;
	}

	.campanha-progress-pct--solo {
		position: absolute;
		right: 0.4rem;
		top: 50%;
		transform: translateY(-50%);
		z-index: 6;
		transition: left 0.35s ease, right 0.35s ease;
	}

	.campanha-progress-pct-num {
		font-size: 0.8rem;
		font-weight: 800;
		color: #0f172a;
		letter-spacing: -0.03em;
	}

	.campanha-progress-pct-sym {
		font-size: 0.62rem;
		font-weight: 700;
		color: #64748b;
	}

	@keyframes campanha-progress-drive {
		0%,
		100% {
			transform: translate(calc(-100% + 15px), -50%) translateY(0);
		}
		50% {
			transform: translate(calc(-100% + 15px), -50%) translateY(-2px);
		}
	}

	@keyframes campanha-progress-shine {
		0% {
			background-position: 200% 0;
		}
		100% {
			background-position: -200% 0;
		}
	}

	@media (prefers-reduced-motion: reduce) {
		.campanha-progress-marker,
		.campanha-progress-marker-group,
		.campanha-progress-fill::after {
			animation: none;
		}
	}

	@media (max-width: 600px) {
		.campanha-progress-track {
			height: 38px;
			min-height: 38px;
		}
		.campanha-progress-marker-group {
			gap: 0.25rem;
			transform: translate(calc(-100% + 16px), -50%);
			animation-name: campanha-progress-drive-mobile;
		}
		@keyframes campanha-progress-drive-mobile {
			0%,
			100% {
				transform: translate(calc(-100% + 16px), -50%) translateY(0);
			}
			50% {
				transform: translate(calc(-100% + 16px), -50%) translateY(-2px);
			}
		}
		.campanha-progress-marker-pin {
			width: 32px;
			height: 32px;
		}
		.campanha-progress-marker-pin .bi {
			font-size: 1rem;
		}
	}

	/* FAQ global — antes do rodapé */
	.site-faq {
		width: 100%;
		padding: 1.15rem 0 1.35rem;
		background: #f8fafc;
		border-top: 1px solid rgba(15, 23, 42, 0.06);
	}
	.site-faq__inner {
		width: 100%;
		max-width: 700px;
		margin: 0 auto;
		padding: 0 0.75rem;
		box-sizing: border-box;
	}
	.site-faq__head {
		display: flex;
		align-items: center;
		gap: 0.45rem;
		margin-bottom: 0.85rem;
	}
	.site-faq__icon {
		width: 1.7rem;
		height: 1.7rem;
		border-radius: 50%;
		display: grid;
		place-items: center;
		background: #fce7f3;
		color: #db2777 !important;
		font-size: 1rem;
		font-weight: 800;
		flex-shrink: 0;
	}
	.site-faq__title {
		margin: 0;
		font-size: 1.15rem;
		font-weight: 800;
		color: #0f172a !important;
		letter-spacing: -0.02em;
		line-height: 1.2;
	}
	.site-faq__title .js-ui-h:empty::after {
		content: '\00a0';
	}
	.site-faq__list {
		display: flex;
		flex-direction: column;
		gap: 0.5rem;
	}
	.site-faq__item {
		background: #fff;
		border: 1px solid #e2e8f0;
		border-radius: 14px;
		overflow: hidden;
		box-shadow: 0 1px 4px rgba(15, 23, 42, 0.03);
	}
	.site-faq__question {
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0.65rem;
		padding: 0.85rem 0.95rem;
		border: 0;
		background: transparent;
		color: #0f172a !important;
		font-size: 0.92rem;
		font-weight: 700;
		text-align: left;
		line-height: 1.3;
		cursor: pointer;
	}
	.site-faq__question .js-ui-h {
		flex: 1;
		min-width: 0;
	}
	.site-faq__question .js-ui-h:empty::after {
		content: '\00a0';
	}
	.site-faq__toggle {
		flex-shrink: 0;
		width: 1.55rem;
		height: 1.55rem;
		border-radius: 50%;
		display: grid;
		place-items: center;
		background: rgba(102, 126, 234, 0.12);
		color: #667eea !important;
		position: relative;
	}
	.site-faq__toggle::before,
	.site-faq__toggle::after {
		content: '';
		position: absolute;
		background: currentColor;
		border-radius: 2px;
	}
	.site-faq__toggle::before {
		width: 0.7rem;
		height: 2px;
	}
	.site-faq__toggle::after {
		width: 2px;
		height: 0.7rem;
		transition: transform 0.2s ease, opacity 0.2s ease;
	}
	.site-faq__question:not(.collapsed) .site-faq__toggle::after {
		transform: scaleY(0);
		opacity: 0;
	}
	.site-faq__answer {
		padding: 0 0.95rem 0.9rem;
		font-size: 0.84rem;
		font-weight: 500;
		line-height: 1.55;
		color: #475569 !important;
		border-top: 1px solid #f1f5f9;
		padding-top: 0.75rem;
	}
	.site-faq__answer .js-ui-h:empty::after {
		content: '\00a0';
	}
	.site-faq__answer strong {
		color: #0f172a !important;
		font-weight: 800;
	}
	body:has(.header-app-header.campanha) .site-faq__inner {
		max-width: 100%;
	}

	/* Ganhadores recentes — antes do rodapé */
	.recent-winners {
		width: 100%;
		max-width: 100%;
		padding: 1.1rem 0 1.25rem;
		background: #fff;
		border-top: 1px solid rgba(15, 23, 42, 0.06);
		overflow-x: hidden;
		box-sizing: border-box;
	}
	.recent-winners__inner {
		width: 100%;
		max-width: min(700px, 100%);
		margin: 0 auto;
		padding: 0 0.75rem;
		box-sizing: border-box;
		min-width: 0;
	}
	.recent-winners__head {
		display: flex;
		align-items: flex-start;
		gap: 0.45rem;
		margin-bottom: 0.75rem;
	}
	.recent-winners__medal {
		font-size: 1.15rem;
		line-height: 1.2;
		flex-shrink: 0;
	}
	.recent-winners__title {
		margin: 0;
		font-size: 1.05rem;
		font-weight: 800;
		color: #0f172a !important;
		letter-spacing: -0.02em;
		line-height: 1.2;
	}
	.recent-winners__title .js-ui-h:empty::after {
		content: '\00a0';
	}
	.recent-winners__sub {
		margin: 0.15rem 0 0;
		font-size: 0.78rem;
		font-weight: 500;
		color: #64748b !important;
		line-height: 1.35;
	}
	.recent-winners__sub .js-ui-h:empty::after {
		content: '\00a0';
	}
	.recent-winners__scroller {
		display: flex;
		gap: 0.65rem;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		overflow-x: auto;
		overflow-y: hidden;
		overscroll-behavior-x: contain;
		padding: 0.1rem 0 0.35rem;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
		box-sizing: border-box;
	}
	.recent-winners__scroller::-webkit-scrollbar {
		height: 4px;
	}
	.recent-winners__scroller::-webkit-scrollbar-thumb {
		background: rgba(102, 126, 234, 0.35);
		border-radius: 999px;
	}
	.recent-winners__card {
		flex: 0 0 auto;
		width: 15.5rem;
		max-width: calc(100vw - 2.75rem);
		scroll-snap-align: start;
		display: flex;
		align-items: flex-start;
		gap: 0.65rem;
		padding: 0.75rem 0.8rem;
		background: #fff;
		border: 1px solid #e2e8f0;
		border-radius: 14px;
		box-shadow: 0 2px 10px rgba(15, 23, 42, 0.05);
		box-sizing: border-box;
	}
	.recent-winners__avatar {
		flex-shrink: 0;
		width: 2.55rem;
		height: 2.55rem;
		border-radius: 50%;
		display: grid;
		place-items: center;
		background: #667eea;
		color: #fff !important;
		font-size: 0.78rem;
		font-weight: 800;
		letter-spacing: 0.02em;
	}
	.recent-winners__body {
		min-width: 0;
		display: flex;
		flex-direction: column;
		gap: 0.12rem;
	}
	.recent-winners__name {
		font-size: 0.92rem;
		font-weight: 800;
		color: #0f172a !important;
		line-height: 1.2;
	}
	.recent-winners__place {
		font-size: 0.72rem;
		font-weight: 500;
		color: #94a3b8 !important;
		line-height: 1.2;
	}
	.recent-winners__prize {
		margin: 0.2rem 0 0;
		font-size: 0.78rem;
		font-weight: 600;
		color: #475569 !important;
		line-height: 1.25;
	}
	.recent-winners__prize .js-ui-h:empty::after {
		content: '\00a0';
	}
	.recent-winners__prize strong {
		color: #667eea !important;
		font-weight: 800;
	}
	.recent-winners__stars {
		margin-top: 0.15rem;
		font-size: 0.72rem;
		letter-spacing: 0.06em;
		color: #f59e0b !important;
		line-height: 1;
	}
	body:has(.header-app-header.campanha) .recent-winners__inner {
		max-width: 100%;
	}

	/* Banner campanha — faixa de título sólida, texto branco forte (confiança) */
	.campanha-header .custom-content-wrapper,
	.campanha-header .custom-content-wrapper.custom-content-wrapper-details {
		background: linear-gradient(
			180deg,
			rgba(0, 0, 0, 0) 0%,
			rgba(12, 16, 22, 0.78) 38%,
			rgba(8, 10, 14, 0.96) 100%
		) !important;
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
		padding: 1.35rem 1rem 0.9rem !important;
		box-sizing: border-box;
	}

	.campanha-header .custom-content-wrapper-details h1,
	.campanha-header .custom-content-wrapper-details p,
	.campanha-header .custom-content-wrapper .SorteioTpl_title__3RLtu,
	.campanha-header .custom-content-wrapper .SorteioTpl_descricao__1b7iL {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.campanha-header .SorteioTpl_title__3RLtu {
		color: #ffffff !important;
		font-weight: 800 !important;
		font-size: 1.25rem !important;
		line-height: 1.2 !important;
		margin-bottom: 0.35rem !important;
		letter-spacing: -0.02em;
		text-shadow: 0 2px 10px rgba(0, 0, 0, 0.45);
		-webkit-line-clamp: 2 !important;
	}

	.campanha-header .SorteioTpl_descricao__1b7iL {
		color: #f1f5f9 !important;
		font-weight: 600 !important;
		font-size: 0.8125rem !important;
		line-height: 1.35 !important;
		opacity: 1 !important;
		text-shadow: 0 1px 6px rgba(0, 0, 0, 0.4);
		-webkit-line-clamp: 2 !important;
	}

	.campanha-header .custom-badge-display {
		margin-top: 0.55rem !important;
		display: flex;
		flex-wrap: wrap;
		gap: 0.4rem;
		align-items: center;
	}

	.campanha-header .custom-badge-display .badge {
		font-weight: 700 !important;
		font-size: 0.68rem !important;
		letter-spacing: 0.03em;
		padding: 0.35em 0.7em !important;
		border: none !important;
		border-radius: 6px !important;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
		text-transform: uppercase;
	}

	.campanha-header .custom-badge-display .bg-success {
		background-color: #059669 !important;
		color: #ffffff !important;
	}

	.campanha-header .custom-badge-display .badge-status-1,
	.campanha-header .custom-badge-display .badge.bg-dark.blink {
		background-color: #b45309 !important;
		color: #ffffff !important;
	}

	.campanha-header .custom-badge-display .badge-status-3,
	.campanha-header .custom-badge-display .badge.bg-dark:not(.badge-status-1) {
		background-color: #334155 !important;
		color: #f8fafc !important;
	}

	@media (min-width: 768px) {
		.campanha-header .SorteioTpl_title__3RLtu {
			font-size: 1.35rem !important;
		}
		.campanha-header .SorteioTpl_descricao__1b7iL {
			font-size: 0.875rem !important;
		}
	}

	/* Preço da cota — confiança + conversão */
	.campanha-preco.porApenas {
		background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
		border: 1px solid #e2e8f0;
		border-radius: 10px;
		padding: 0.5rem 0.65rem !important;
		gap: 0.45rem;
		flex-wrap: wrap;
	}

	.campanha-preco-preco {
		gap: 0.4rem;
		align-items: center !important;
	}

	.campanha-preco-label {
		color: #0f172a !important;
		font-size: 0.78rem !important;
		font-weight: 600 !important;
		text-transform: lowercase;
		letter-spacing: 0.01em;
		line-height: 1.2;
		white-space: nowrap;
	}

	.campanha-preco-badge-wrap {
		display: inline-flex;
		align-items: center;
		gap: 0.35rem;
		flex-wrap: wrap;
	}

	.campanha-preco-de {
		font-size: 0.72rem;
		color: #94a3b8;
		text-decoration: line-through;
		font-weight: 500;
	}

	.campanha-preco-badge {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 0.38rem 0.58rem;
		border-radius: 8px;
		background: linear-gradient(180deg, #047857 0%, #065f46 100%);
		color: #fff !important;
		font-size: 0.9rem !important;
		font-weight: 800 !important;
		letter-spacing: -0.02em;
		line-height: 1.1;
		white-space: nowrap;
		box-shadow: 0 2px 6px rgba(5, 150, 105, 0.28);
		border: none;
	}

	.campanha-preco-unidade {
		font-size: 0.68rem;
		color: #64748b;
		font-weight: 500;
		text-transform: lowercase;
	}

	.campanha-preco-urgencia {
		display: inline-block;
		width: 100%;
		text-align: center;
		font-size: 0.65rem;
		font-weight: 700;
		color: #b45309;
		background: #fffbeb;
		border: 1px solid #fde68a;
		border-radius: 6px;
		padding: 0.15rem 0.4rem;
		margin-top: 0.15rem;
		letter-spacing: 0.02em;
	}

	.campanha-preco .item .tag.btn {
		background: #fff !important;
		color: #334155 !important;
		border: 1px solid #e2e8f0 !important;
		font-weight: 600;
	}

	/* CTA principal — participar */
	.campanha-cta-principal.bilhetes-express-cta {
		position: relative;
		overflow: hidden;
		isolation: isolate;
		min-height: 3.4rem;
		padding: 0 0.65rem !important;
		background: linear-gradient(135deg, #10b981 0%, #059669 45%, #047857 100%) !important;
		border: 2px solid rgba(255, 255, 255, 0.22) !important;
		box-shadow: 0 4px 18px rgba(4, 120, 87, 0.45) !important;
		animation: campanha-cta-glow 2.4s ease-in-out infinite;
		transition: transform 0.15s ease, box-shadow 0.15s ease !important;
	}
	.campanha-cta-principal.bilhetes-express-cta::before {
		content: '';
		position: absolute;
		inset: 0;
		z-index: 0;
		background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, 0.18) 50%, transparent 65%);
		transform: translateX(-120%);
		animation: campanha-cta-shine 3.2s ease-in-out infinite;
		pointer-events: none;
	}
	.campanha-cta-principal.bilhetes-express-cta .bilhetes-cta-inner {
		position: relative;
		z-index: 1;
		width: 100%;
	}
	@keyframes campanha-cta-glow {
		0%, 100% {
			box-shadow: 0 4px 16px rgba(4, 120, 87, 0.42);
		}
		50% {
			box-shadow: 0 6px 24px rgba(52, 211, 153, 0.5), 0 0 0 3px rgba(52, 211, 153, 0.12);
		}
	}
	@keyframes campanha-cta-shine {
		0%, 100% { transform: translateX(-120%); }
		45%, 55% { transform: translateX(120%); }
	}
	.campanha-cta-principal {
		box-shadow: 0 4px 14px rgba(5, 150, 105, 0.35) !important;
		border: none !important;
		font-weight: 700 !important;
	}

	.campanha-cta-principal:hover {
		box-shadow: 0 8px 26px rgba(4, 120, 87, 0.55) !important;
		transform: translateY(-2px);
	}
	.campanha-cta-principal.bilhetes-express-cta:hover {
		animation: none;
	}
	.campanha-cta-principal.bilhetes-express-cta:active {
		transform: translateY(0) scale(0.99);
	}

	.campanha-cta-principal .css-c2wfi1,
	.campanha-cta-principal .bilhetes-cta-label,
	.campanha-cta-principal .bilhetes-cta-text {
		color: #fff !important;
		font-weight: 800;
		letter-spacing: 0.01em;
		font-size: 1.05rem;
		line-height: 1.15;
	}
	.campanha-cta-principal .bilhetes-cta-label {
		font-weight: 900 !important;
	}
	.campanha-cta-principal .bilhetes-cta-sub {
		display: block;
		margin-top: 0.12rem;
		font-size: 0.68rem;
		font-weight: 700 !important;
		color: #fff !important;
		opacity: 0.95;
		line-height: 1.2;
	}
	.bilhetes-express-confianca .bilhetes-cta-label,
	.bilhetes-express-confianca .bilhetes-cta-sub,
	.bilhetes-express-confianca .bilhetes-cta-text {
		color: #fff !important;
	}
	.campanha-cta-principal .bilhetes-cta-icon {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
		width: 2.15rem;
		height: 2.15rem;
		border-radius: 999px;
		background: rgba(255, 255, 255, 0.2);
		box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
	}
	.campanha-cta-principal .bilhetes-cta-icon .bi {
		font-size: 1.15rem;
		color: #fef08a;
		animation: campanha-cta-bolt 1.8s ease-in-out infinite;
	}
	@keyframes campanha-cta-bolt {
		0%, 100% { transform: scale(1); }
		50% { transform: scale(1.1); }
	}
	.campanha-cta-principal .bilhetes-cta-price-wrap {
		display: inline-flex;
		align-items: center;
		gap: 0.1rem;
		flex-shrink: 0;
		padding: 0;
		border-radius: 0;
		background: transparent;
		color: #fff !important;
		box-shadow: none;
	}
	.campanha-cta-principal .bilhetes-cta-price {
		font-size: 1.05rem !important;
		font-weight: 800 !important;
		color: #fff !important;
		opacity: 1 !important;
		font-variant-numeric: tabular-nums;
		letter-spacing: -0.02em;
	}
	.campanha-cta-principal .bilhetes-cta-arrow {
		display: none;
	}
	@media (prefers-reduced-motion: reduce) {
		.campanha-cta-principal.bilhetes-express-cta,
		.campanha-cta-principal.bilhetes-express-cta::before,
		.campanha-cta-principal .bilhetes-cta-icon .bi {
			animation: none !important;
		}
	}

	.campanha-badge-trust {
		background: rgba(255, 255, 255, 0.14) !important;
		color: #fff !important;
		border: 1px solid rgba(255, 255, 255, 0.35);
		font-weight: 600 !important;
		letter-spacing: 0.02em;
	}
	.campanha-header .custom-badge-display .campanha-trust-pills {
		flex: 1 1 100%;
	}
	.campanha-trust-pills {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 0.35rem;
		margin-top: 0.2rem;
		width: 100%;
	}
	.campanha-trust-pill {
		display: inline-flex;
		align-items: center;
		gap: 0.28rem;
		padding: 0.22rem 0.55rem;
		border-radius: 999px;
		background: rgba(15, 23, 42, 0.55);
		border: 1px solid rgba(255, 255, 255, 0.28);
		color: #fff !important;
		font-size: 0.62rem;
		font-weight: 700;
		line-height: 1.1;
		letter-spacing: 0.01em;
		white-space: nowrap;
		-webkit-backdrop-filter: blur(6px);
		backdrop-filter: blur(6px);
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.22);
	}
	.campanha-trust-pill .js-ui-h:empty::after {
		content: '\00a0';
	}
	.campanha-trust-pill__icon {
		font-size: 0.72rem;
		line-height: 1;
		flex-shrink: 0;
	}
	.campanha-trust-pill__icon--lotep { color: #60a5fa; }
	.campanha-trust-pill__icon--pix { color: #fbbf24; }
	.campanha-trust-pill__icon--draw { color: #a78bfa; }
	@media (max-width: 380px) {
		.campanha-trust-pill {
			font-size: 0.55rem;
			padding: 0.18rem 0.42rem;
			gap: 0.2rem;
		}
		.campanha-trust-pill__icon { font-size: 0.64rem; }
	}
	.campanha-badge-urgency {
		background: #fef3c7 !important;
		color: #92400e !important;
		border: 1px solid #fcd34d;
		font-weight: 700 !important;
	}

	/* Bilhetes express — opção de compra (ref. limpa) */
	.bilhetes-express-box {
		background: #fff;
		border: 1px solid #e8edf3;
		border-radius: 16px;
		overflow: visible;
		box-shadow: 0 2px 16px rgba(15, 23, 42, 0.06);
	}
	.bilhetes-express-box .numeros-select,
	.bilhetes-express-box .bilhetes-express-body {
		width: 100%;
	}
	.bilhetes-express-intro { display: none; }
	.bilhetes-express-body {
		padding: 0.65rem 0.85rem 0.6rem;
	}
	.bilhetes-express-seguro {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-wrap: wrap;
		gap: 0.25rem;
		margin: 0 0 0.75rem;
		font-size: 0.68rem;
		font-weight: 500;
		color: #94a3b8;
		text-align: center;
		line-height: 1.35;
	}
	.bilhetes-express-seguro .bi {
		color: #3b82f6;
		font-size: 0.82rem;
	}
	.bilhetes-express-seguro strong {
		color: #0f172a;
		font-weight: 700;
	}
	.bilhetes-express-head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0.5rem;
		margin: 0 0 0.28rem;
	}
	.bilhetes-express-title {
		margin: 0;
		font-size: 1rem;
		font-weight: 800;
		color: #0f172a;
		letter-spacing: -0.02em;
		line-height: 1.2;
	}
	.bilhetes-express-chances-tag {
		font-size: 0.72rem;
		font-weight: 600;
		color: #16a34a;
		white-space: nowrap;
	}
	.bilhetes-express-footer,
	.bilhetes-express-hint { display: none; }
	.bilhetes-express-confianca .bilhetes-express-grid,
	.bilhetes-express-confianca .vendasExpressNumsSelect.v2.bilhetes-express-grid {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		column-gap: 0.4rem !important;
		row-gap: 0.35rem !important;
		gap: 0.35rem 0.4rem !important;
		width: 100% !important;
		margin: 0 0 0.4rem !important;
		padding: 0.35rem 0 0 !important;
		flex-wrap: unset !important;
		justify-content: stretch !important;
		align-content: start !important;
		align-items: start !important;
		min-height: 0 !important;
		height: auto !important;
	}
	.bilhetes-express-confianca .bilhetes-express-grid .bilhetes-qty-item,
	.bilhetes-express-confianca .bilhetes-express-grid .item,
	.bilhetes-express-confianca .vendasExpressNumsSelect.v2 .item {
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		min-height: 0 !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		flex: none !important;
	}
	.bilhetes-express-confianca .bilhetes-qty-item {
		position: relative;
		overflow: visible;
		background: transparent !important;
		border: none !important;
		cursor: pointer;
		transition: transform 0.15s ease;
	}
	.bilhetes-express-confianca .bilhetes-qty-item:active {
		transform: scale(0.97);
	}
	.bilhetes-express-confianca .bilhetes-qty-inner,
	.bilhetes-express-confianca .item .item-content,
	.bilhetes-express-confianca .item-content.bilhetes-qty-inner,
	.bilhetes-express-confianca .vendasExpressNumsSelect.v2 .item .item-content {
		min-height: 0 !important;
		height: auto !important;
		padding: 0.48rem 0.2rem !important;
		background: #fff !important;
		border: 1.5px solid #e5e7eb !important;
		border-radius: 12px !important;
		box-shadow: none !important;
		transition: border-color 0.15s ease, background 0.15s ease;
	}
	.bilhetes-express-confianca .bilhetes-qty-item:hover .bilhetes-qty-inner {
		border-color: #86efac !important;
		background: #f0fdf4 !important;
	}
	.bilhetes-express-confianca .bilhetes-qty-item.mais-popular .bilhetes-qty-inner,
	.bilhetes-express-confianca .bilhetes-qty-item.is-selected .bilhetes-qty-inner {
		border: 2px solid #22c55e !important;
		background: #fff !important;
		box-shadow: none !important;
	}
	.bilhetes-badge-popular {
		position: absolute;
		top: -0.45rem;
		left: 50%;
		right: auto;
		transform: translateX(-50%);
		z-index: 12;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 0.12rem 0.45rem;
		font-size: 0.52rem;
		font-weight: 800;
		letter-spacing: 0.04em;
		text-transform: uppercase;
		color: #fff;
		background: #22c55e;
		border-radius: 999px;
		box-shadow: 0 2px 6px rgba(34, 197, 94, 0.35);
		white-space: nowrap;
		animation: none;
	}
	.bilhetes-express-confianca .bilhetes-qty-num {
		display: flex;
		align-items: baseline;
		justify-content: center;
		gap: 0.02rem;
		font-size: clamp(0.72rem, 3.6vw, 0.95rem);
		font-weight: 700;
		color: #111827;
		line-height: 1;
		letter-spacing: -0.02em;
		white-space: nowrap;
	}
	.bilhetes-express-confianca .bilhetes-qty-item.mais-popular .bilhetes-qty-num,
	.bilhetes-express-confianca .bilhetes-qty-item.is-selected .bilhetes-qty-num {
		color: #15803d;
	}
	.bilhetes-express-confianca .bilhetes-qty-plus {
		font-size: 0.85rem;
		font-weight: 700;
		color: inherit;
	}
	.bilhetes-express-confianca .bilhetes-qty-label {
		display: none !important;
	}
	.bilhetes-express-confianca .bilhetes-qty-item.mais-popular:before {
		content: none !important;
		display: none !important;
	}
	.bilhetes-express-confianca .bilhetes-qty-stepper {
		margin: 0 0 0.45rem !important;
		padding: 0 !important;
		border: none !important;
		border-radius: 14px !important;
		box-shadow: none !important;
		background: transparent !important;
		overflow: visible !important;
		font-size: inherit !important;
	}
	.bilhetes-express-confianca .bilhetes-qty-stepper-inner,
	.bilhetes-express-confianca .bilhetes-qty-stepper-inner.css-19efcuh {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		padding: 0.45rem 0.5rem !important;
		gap: 0.4rem !important;
		background: #f8fafc !important;
		background-color: #f8fafc !important;
		background-image: none !important;
		color: #0f172a !important;
		border: 1px solid #e5e7eb !important;
		border-radius: 14px !important;
		box-shadow: none !important;
		overflow: visible !important;
		line-height: 1.2 !important;
		position: relative !important;
		z-index: 0 !important;
	}
	.bilhetes-qty-center {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 0.08rem;
		flex: 1 1 auto;
		min-width: 0;
		text-align: center;
	}
	.bilhetes-qty-meta {
		font-size: 0.68rem;
		font-weight: 500;
		color: #94a3b8 !important;
		line-height: 1.2;
		white-space: nowrap;
	}
	.bilhetes-chances-bar {
		margin: 0 0 0.85rem;
	}
	.bilhetes-chances-bar__track {
		height: 0.45rem;
		border-radius: 999px;
		background: #eef2f7;
		overflow: hidden;
	}
	.bilhetes-chances-bar__fill {
		height: 100%;
		border-radius: 999px;
		background: linear-gradient(90deg, #22c55e 0%, #16a34a 100%);
		transition: width 0.25s ease;
	}
	.bilhetes-chances-bar__labels {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0.5rem;
		margin-top: 0.35rem;
		font-size: 0.68rem;
		color: #94a3b8;
		font-weight: 500;
	}
	.bilhetes-chances-bar__labels strong {
		color: #0f172a;
		font-weight: 800;
	}
	.bilhetes-express-confianca .bilhetes-express-cta {
		margin: 0 0 0.7rem !important;
		border-radius: 18px !important;
		min-height: 3.6rem;
		background: linear-gradient(90deg, #16a34a 0%, #22c55e 55%, #4ade80 100%) !important;
		border: none !important;
		box-shadow: 0 6px 18px rgba(22, 163, 74, 0.35) !important;
		animation: none;
	}
	.bilhetes-express-confianca .bilhetes-express-cta::before {
		display: none;
	}
	.bilhetes-express-confianca .bilhetes-cta-icon {
		width: 2.1rem;
		height: 2.1rem;
		background: rgba(0, 0, 0, 0.12);
	}
	.bilhetes-express-confianca .bilhetes-cta-icon .bi {
		font-size: 1.1rem;
		color: #fdba74;
		animation: none;
	}
	.bilhetes-express-confianca .bilhetes-cta-price {
		font-size: 1.05rem !important;
		font-weight: 800;
		color: #fff !important;
		opacity: 1 !important;
	}
	.bilhetes-express-trust {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-wrap: wrap;
		gap: 0.65rem 1rem;
		margin: 0;
		padding: 0;
		list-style: none;
	}
	.bilhetes-express-trust li {
		display: inline-flex;
		align-items: center;
		gap: 0.28rem;
		font-size: 0.68rem;
		font-weight: 500;
		color: #94a3b8;
		white-space: nowrap;
	}
	.bilhetes-express-trust .bi {
		font-size: 0.78rem;
	}
	.bilhetes-trust-pix { color: #f97316; }
	.bilhetes-trust-fast { color: #eab308; }
	.bilhetes-trust-safe { color: #3b82f6; }
	@media (max-width: 380px) {
		.bilhetes-express-body {
			padding: 0.7rem 0.65rem 0.65rem;
		}
		.bilhetes-express-confianca .bilhetes-express-grid,
		.bilhetes-express-confianca .vendasExpressNumsSelect.v2.bilhetes-express-grid {
			gap: 0.3rem 0.35rem !important;
			row-gap: 0.3rem !important;
		}
		.bilhetes-express-title {
			font-size: 0.92rem;
		}
		.bilhetes-express-chances-tag {
			font-size: 0.65rem;
		}
		.bilhetes-express-confianca .bilhetes-qty-num {
			font-size: 0.82rem;
		}
		.bilhetes-express-confianca .bilhetes-qty-inner {
			padding: 0.55rem 0.15rem !important;
		}
		.bilhetes-badge-popular {
			font-size: 0.45rem;
			padding: 0.1rem 0.32rem;
		}
		.bilhetes-qty-meta {
			font-size: 0.6rem;
		}
		.bilhetes-express-seguro {
			font-size: 0.62rem;
		}
		.bilhetes-express-trust li {
			font-size: 0.62rem;
		}
	}
	.bilhetes-express-confianca .bilhetes-qty-stepper .left,
	.bilhetes-express-confianca .bilhetes-qty-stepper .right {
		flex: 0 0 auto;
	}
	.bilhetes-express-confianca .bilhetes-qty-stepper .numeroChange {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 2.4rem !important;
		height: 2.4rem !important;
		padding: 0 !important;
		border-radius: 10px !important;
		background: #fff !important;
		border: 1px solid #e5e7eb !important;
		color: #16a34a !important;
		font-size: 1.15rem !important;
		box-shadow: none !important;
		transition: background 0.15s ease, border-color 0.15s ease;
	}
	.bilhetes-express-confianca .bilhetes-qty-stepper .numeroChange:hover {
		background: #f0fdf4 !important;
		border-color: #86efac !important;
		transform: none;
	}
	.bilhetes-express-confianca .bilhetes-qty-stepper input.qty,
	.bilhetes-express-confianca .bilhetes-qty-stepper input.qty.bilhetes-qty-input,
	.bilhetes-express-confianca .bilhetes-qty-stepper input.qty.css-uv8p8d {
		font-size: 1.45rem !important;
		font-weight: 800 !important;
		color: #0f172a !important;
		border: none !important;
		border-radius: 0 !important;
		background: transparent !important;
		background-color: transparent !important;
		min-height: 0 !important;
		height: auto !important;
		width: auto !important;
		max-width: 100%;
		padding: 0 !important;
		margin: 0 !important;
		box-shadow: none !important;
		line-height: 1.1 !important;
		letter-spacing: -0.02em !important;
	}

	/* Descrição / Regulamento — accordion moderno */
	.campanha-descricao-box .campanha-descricao-item {
		background: #fff;
		border: 1px solid #e2e8f0 !important;
		border-radius: 12px !important;
		overflow: hidden;
		box-shadow: 0 2px 12px rgba(15, 23, 42, 0.06);
	}
	.campanha-descricao-btn {
		display: flex !important;
		align-items: center;
		gap: 0.6rem;
		width: 100%;
		padding: 0.72rem 0.8rem !important;
		border: none !important;
		border-radius: 0 !important;
		background: #fff !important;
		color: #0f172a !important;
		font-size: 0.86rem !important;
		font-weight: 700 !important;
		line-height: 1.3;
		text-align: left;
		box-shadow: none !important;
		transition: background 0.2s ease;
	}
	.campanha-descricao-btn:hover,
	.campanha-descricao-btn:focus {
		background: #f8fafc !important;
		color: #0f172a !important;
		box-shadow: none !important;
	}
	.campanha-descricao-btn-icon {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
		width: 2.15rem;
		height: 2.15rem;
		border-radius: 10px;
		background: linear-gradient(145deg, #ecfdf5 0%, #d1fae5 100%);
		color: #059669;
		font-size: 1.05rem;
	}
	.campanha-descricao-btn-text {
		flex: 1;
		min-width: 0;
		letter-spacing: -0.01em;
	}
	.campanha-descricao-btn-chevron {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
		margin-left: auto;
		color: #94a3b8;
		font-size: 1rem;
		transition: transform 0.25s ease, color 0.2s ease;
	}
	.campanha-descricao-btn:not(.collapsed) .campanha-descricao-btn-chevron {
		transform: rotate(180deg);
		color: #059669;
	}
	.campanha-descricao-body {
		padding: 0.85rem 0.9rem 1rem !important;
		background: #f8fafc !important;
		border-top: 1px solid #f1f5f9;
		color: #334155 !important;
		font-size: 0.84rem;
		line-height: 1.6;
	}
	.campanha-descricao-body p,
	.campanha-descricao-body li,
	.campanha-descricao-body span {
		color: #334155 !important;
	}
	.campanha-descricao-body h1,
	.campanha-descricao-body h2,
	.campanha-descricao-body h3,
	.campanha-descricao-body h4 {
		color: #0f172a !important;
		font-size: 0.95rem;
		font-weight: 700;
		margin-top: 0.75rem;
		margin-bottom: 0.35rem;
	}
	.campanha-descricao-body a {
		color: #059669 !important;
		font-weight: 600;
	}

	/* Cards de regras (descrição fixa via hydrate) */
	.rifa-info {
		display: flex;
		flex-direction: column;
		gap: 0.65rem;
		font-family: inherit;
	}
	.rifa-info__hero {
		padding: 0.15rem 0.15rem 0.35rem;
	}
	.rifa-info__eyebrow {
		display: inline-block;
		font-size: 0.68rem;
		font-weight: 700;
		letter-spacing: 0.06em;
		text-transform: uppercase;
		color: #64748b;
		margin-bottom: 0.2rem;
	}
	.rifa-info__title {
		margin: 0;
		font-size: 1.05rem;
		font-weight: 800;
		letter-spacing: -0.02em;
		color: #0f172a !important;
		line-height: 1.25;
	}
	.rifa-info__subtitle {
		margin: 0.25rem 0 0;
		font-size: 0.82rem;
		color: #64748b !important;
		line-height: 1.4;
	}
	.rifa-info__grid {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 0.55rem;
	}
	@media (max-width: 520px) {
		.rifa-info__grid { grid-template-columns: 1fr; }
	}
	.rifa-info__tile {
		display: flex;
		gap: 0.55rem;
		align-items: flex-start;
		padding: 0.75rem 0.8rem;
		border-radius: 14px;
		border: 1px solid #e2e8f0;
		background: #fff;
		box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
	}
	.rifa-info__tile strong {
		display: block;
		font-size: 0.84rem;
		font-weight: 700;
		color: #0f172a !important;
		margin-bottom: 0.15rem;
	}
	.rifa-info__tile p {
		margin: 0 !important;
		font-size: 0.78rem;
		line-height: 1.45;
		color: #64748b !important;
	}
	.rifa-info__tile-icon {
		flex-shrink: 0;
		width: 1.65rem;
		height: 1.65rem;
		border-radius: 999px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		font-size: 0.7rem;
		font-weight: 800;
		margin-top: 0.1rem;
	}
	.rifa-info__tile--live .rifa-info__tile-icon {
		background: #eff6ff;
		color: #2563eb;
		box-shadow: inset 0 0 0 2px #bfdbfe;
	}
	.rifa-info__tile--rule .rifa-info__tile-icon {
		background: #ecfdf5;
		color: #059669;
		box-shadow: inset 0 0 0 2px #a7f3d0;
	}
	.rifa-info__banner {
		display: flex;
		gap: 0.65rem;
		align-items: flex-start;
		padding: 0.8rem 0.9rem;
		border-radius: 14px;
		border: 1px solid #e2e8f0;
		background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
	}
	.rifa-info__banner--gift {
		background: linear-gradient(180deg, #fff7ed 0%, #fff 100%);
		border-color: #fed7aa;
	}
	.rifa-info__banner-icon {
		flex-shrink: 0;
		width: 1.75rem;
		height: 1.75rem;
		border-radius: 10px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		background: #eff6ff;
		color: #2563eb;
		font-size: 0.95rem;
		font-weight: 700;
	}
	.rifa-info__banner--gift .rifa-info__banner-icon {
		background: #ffedd5;
		color: #ea580c;
	}
	.rifa-info__banner strong {
		display: block;
		font-size: 0.84rem;
		color: #0f172a !important;
		margin-bottom: 0.12rem;
	}
	.rifa-info__banner p {
		margin: 0 !important;
		font-size: 0.8rem;
		line-height: 1.45;
		color: #475569 !important;
	}
	.rifa-info__rules {
		padding: 0.85rem 0.9rem 0.95rem;
		border-radius: 14px;
		border: 1px solid #e2e8f0;
		background: #fff;
	}
	.rifa-info__rules header {
		display: flex;
		align-items: center;
		gap: 0.45rem;
		margin-bottom: 0.55rem;
		font-size: 0.88rem;
		color: #0f172a !important;
	}
	.rifa-info__rules header span {
		color: #d97706;
		font-size: 0.95rem;
	}
	.rifa-info__rules ul {
		list-style: none;
		margin: 0;
		padding: 0;
		display: flex;
		flex-direction: column;
		gap: 0.45rem;
	}
	.rifa-info__rules li {
		display: flex;
		gap: 0.45rem;
		align-items: flex-start;
		font-size: 0.8rem;
		line-height: 1.45;
		color: #334155 !important;
	}
	.rifa-info__check {
		flex-shrink: 0;
		width: 1.15rem;
		height: 1.15rem;
		border-radius: 999px;
		background: #ecfdf5;
		color: #059669;
		font-size: 0.65rem;
		font-weight: 800;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		margin-top: 0.12rem;
	}
	.rifa-info__note {
		margin: 0.7rem 0 0 !important;
		padding: 0.55rem 0.7rem;
		border-radius: 10px;
		background: #f1f5f9;
		color: #64748b !important;
		font-size: 0.74rem !important;
		line-height: 1.4;
	}

	/* Prêmios instantâneos — roletas, caixas, bilhetes */
	@keyframes premios-gradient-flow {
		0%, 100% { background-position: 0% 50%; }
		50% { background-position: 100% 50%; }
	}
	@keyframes premios-icon-pop {
		0%, 100% { transform: scale(1); }
		50% { transform: scale(1.08); }
	}
	@keyframes premios-status-pulse {
		0%, 100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.45); transform: scale(1); }
		50% { box-shadow: 0 0 0 4px rgba(16, 185, 129, 0); transform: scale(1.02); }
	}
	@keyframes premios-valor-shine {
		0%, 100% { filter: brightness(1); }
		50% { filter: brightness(1.12); }
	}
	@keyframes premios-card-pop {
		0% { opacity: 0; transform: scale(0.92) translateY(4px); }
		100% { opacity: 1; transform: scale(1) translateY(0); }
	}
	@keyframes premios-cota-ganhou {
		0%, 100% {
			box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.35), 0 8px 22px rgba(5, 150, 105, 0.4);
		}
		50% {
			box-shadow: 0 0 0 5px rgba(16, 185, 129, 0.2), 0 12px 28px rgba(5, 150, 105, 0.5);
		}
	}
	@keyframes premios-badge-glow {
		0%, 100% { box-shadow: 0 0 0 0 rgba(5, 150, 105, 0.35); }
		50% { box-shadow: 0 0 10px 2px rgba(5, 150, 105, 0.25); }
	}

	/* —— Prêmios Instantâneos (abas + demo) —— */
	.pi-root { width: 100%; position: relative; z-index: 2; }
	.pi-card {
		background: #fff;
		border: 1px solid #e5e7eb;
		border-radius: 16px;
		box-shadow: 0 4px 18px rgba(15, 23, 42, 0.06);
		overflow: hidden;
		padding: 0.85rem 0.8rem 0.8rem;
	}
	.pi-header { text-align: center; margin-bottom: 0.7rem; }
	.pi-title {
		margin: 0;
		font-size: 1.2rem;
		font-weight: 800;
		color: #16a34a;
		letter-spacing: -0.02em;
		line-height: 1.2;
	}
	.pi-subtitle {
		margin: 0.2rem 0 0;
		font-size: 0.78rem;
		font-weight: 500;
		color: #64748b;
	}
	.pi-tabs {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
		gap: 0.4rem;
		margin-bottom: 0.85rem;
		padding: 0.28rem;
		background: #f3f4f6;
		border-radius: 14px;
		border: 1px solid #e5e7eb;
		pointer-events: auto;
		position: relative;
		z-index: 3;
	}
	.pi-tab {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 0.35rem;
		padding: 0.62rem 0.45rem;
		border: 1px solid #e5e7eb;
		border-radius: 11px;
		background: #fff;
		color: #6b7280;
		font-size: 0.82rem;
		font-weight: 700;
		cursor: pointer;
		pointer-events: auto;
		-webkit-tap-highlight-color: transparent;
		transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
	}
	.pi-tab .bi { font-size: 0.95rem; pointer-events: none; }
	.pi-tab span { pointer-events: none; }
	.pi-tab.is-active.pi-tab--roleta {
		background: #16a34a;
		border-color: #16a34a;
		color: #fff;
		box-shadow: 0 3px 10px rgba(22, 163, 74, 0.28);
	}
	.pi-tab.is-active.pi-tab--caixa {
		background: #ea580c;
		border-color: #ea580c;
		color: #fff;
		box-shadow: 0 3px 10px rgba(234, 88, 12, 0.28);
	}
	.pi-tab.is-active.pi-tab--bilhete {
		background: #059669;
		border-color: #059669;
		color: #fff;
		box-shadow: 0 3px 10px rgba(5, 150, 105, 0.28);
	}
	/* Não usar atributo [hidden]: UA usa display:none !important e trava as abas */
	.pi-panel { display: none !important; }
	.pi-panel.is-active { display: block !important; }
	.pi-panel-head {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 0.55rem;
		text-align: left;
		margin-bottom: 0.65rem;
	}
	.pi-panel-icon {
		width: 2.35rem;
		height: 2.35rem;
		border-radius: 50%;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		background: #dcfce7;
		color: #16a34a;
		font-size: 1.05rem;
		flex-shrink: 0;
	}
	.pi-panel-icon--caixa { background: #ffedd5; color: #ea580c; }
	.pi-panel-icon--bilhete { background: #d1fae5; color: #059669; }
	.pi-panel-title {
		margin: 0;
		font-size: 0.98rem;
		font-weight: 800;
		color: #111827;
		letter-spacing: -0.02em;
	}
	.pi-panel-desc {
		margin: 0.1rem 0 0;
		font-size: 0.74rem;
		color: #6b7280;
		font-weight: 500;
	}
	.pi-hero {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 0.65rem;
		padding: 0.5rem 0 0.35rem;
	}
	.pi-hero-visual--roleta { width: 9.5rem; height: 9.5rem; position: relative; }
	.pi-wheel {
		width: 100%;
		height: 100%;
		position: relative;
	}
	.pi-wheel__disk {
		width: 100%;
		height: 100%;
		border-radius: 50%;
		background: conic-gradient(
			#16a34a 0deg 45deg, #fff 45deg 90deg,
			#22c55e 90deg 135deg, #ecfdf5 135deg 180deg,
			#15803d 180deg 225deg, #fff 225deg 270deg,
			#4ade80 270deg 315deg, #f0fdf4 315deg 360deg
		);
		border: 5px solid #fff;
		box-shadow: 0 6px 20px rgba(22, 163, 74, 0.3), inset 0 0 0 3px rgba(22, 163, 74, 0.15);
		transition: transform 0.1s linear;
	}
	.pi-wheel.is-spinning .pi-wheel__disk {
		animation: pi-wheel-spin 2.6s cubic-bezier(0.15, 0.7, 0.2, 1) forwards;
	}
	@keyframes pi-wheel-spin {
		from { transform: rotate(0deg); }
		to { transform: rotate(1440deg); }
	}
	.pi-wheel__pointer {
		position: absolute;
		top: -4px;
		left: 50%;
		transform: translateX(-50%);
		width: 0;
		height: 0;
		border-left: 8px solid transparent;
		border-right: 8px solid transparent;
		border-top: 14px solid #f97316;
		z-index: 2;
		filter: drop-shadow(0 2px 2px rgba(0,0,0,0.2));
	}
	.pi-wheel__hub {
		position: absolute;
		inset: 50% auto auto 50%;
		transform: translate(-50%, -50%);
		width: 2.4rem;
		height: 2.4rem;
		border-radius: 50%;
		background: #fff;
		color: #16a34a;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 1.1rem;
		box-shadow: 0 2px 8px rgba(15, 23, 42, 0.15);
		z-index: 1;
	}
	.pi-hero-visual--caixa {
		width: 4.35rem;
		height: 4.35rem;
		aspect-ratio: 1 / 1;
		filter: drop-shadow(0 6px 10px rgba(234, 88, 12, 0.28));
	}
	.pi-gift {
		width: 100%;
		height: 100%;
		aspect-ratio: 1 / 1;
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
	}
	.pi-gift::before {
		content: '';
		position: absolute;
		inset: 0;
		border-radius: 0.7rem;
		background: linear-gradient(145deg, #c2410c 0%, #9a3412 100%);
		transform: translate(3px, 4px);
		box-shadow: 0 6px 12px rgba(154, 52, 18, 0.3);
		z-index: 0;
	}
	.pi-gift__box {
		width: 100%;
		height: 100%;
		aspect-ratio: 1 / 1;
		border-radius: 0.7rem;
		background: conic-gradient(
			#ea580c 0deg 45deg, #fff7ed 45deg 90deg,
			#f97316 90deg 135deg, #ffedd5 135deg 180deg,
			#c2410c 180deg 225deg, #fff7ed 225deg 270deg,
			#fb923c 270deg 315deg, #ffedd5 315deg 360deg
		);
		color: #fff;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 1.35rem;
		border: 3px solid #fff;
		box-shadow:
			0 4px 12px rgba(234, 88, 12, 0.3),
			inset 0 0 0 2px rgba(194, 65, 12, 0.16),
			inset 0 1px 6px rgba(255, 255, 255, 0.35);
		position: relative;
		z-index: 1;
		overflow: hidden;
	}
	.pi-gift__box .bi {
		position: relative;
		z-index: 2;
		background: #fff;
		color: #ea580c;
		width: 1.55rem;
		height: 1.55rem;
		border-radius: 50%;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		font-size: 0.85rem;
		box-shadow: 0 1px 5px rgba(15, 23, 42, 0.16);
	}
	.pi-gift.is-won .pi-gift__box {
		background: conic-gradient(
			#16a34a 0deg 45deg, #ecfdf5 45deg 90deg,
			#22c55e 90deg 135deg, #d1fae5 135deg 180deg,
			#15803d 180deg 225deg, #ecfdf5 225deg 270deg,
			#4ade80 270deg 315deg, #f0fdf4 315deg 360deg
		);
		box-shadow:
			0 4px 12px rgba(22, 163, 74, 0.35),
			inset 0 0 0 2px rgba(22, 163, 74, 0.18),
			inset 0 1px 6px rgba(255, 255, 255, 0.35);
	}
	.pi-gift.is-won::before {
		background: linear-gradient(145deg, #15803d 0%, #14532d 100%);
	}
	.pi-gift.is-won .pi-gift__box .bi { color: #16a34a; }
	.pi-wheel.is-won .pi-wheel__hub {
		background: #16a34a;
		color: #fff;
	}
	.pi-gift__box::before {
		content: '';
		position: absolute;
		left: 50%;
		top: 0;
		bottom: 0;
		width: 0.4rem;
		transform: translateX(-50%);
		background: rgba(255, 255, 255, 0.42);
		border-radius: 2px;
		z-index: 1;
		pointer-events: none;
	}
	.pi-gift__box::after {
		content: '';
		position: absolute;
		top: 50%;
		left: 0;
		right: 0;
		height: 0.4rem;
		transform: translateY(-50%);
		background: rgba(255, 255, 255, 0.42);
		border-radius: 2px;
		z-index: 1;
		pointer-events: none;
	}
	.pi-gift.is-opening .pi-gift__box {
		animation: pi-gift-shake 0.55s ease-in-out, pi-gift-pop 0.45s ease 0.55s;
	}
	@keyframes pi-gift-shake {
		0%, 100% { transform: rotate(0); }
		20% { transform: rotate(-8deg) scale(1.02); }
		40% { transform: rotate(8deg); }
		60% { transform: rotate(-6deg); }
		80% { transform: rotate(6deg); }
	}
	@keyframes pi-gift-pop {
		0% { transform: scale(1); }
		50% { transform: scale(1.12); }
		100% { transform: scale(1); }
	}
	.pi-demo-btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 0.4rem;
		min-width: min(100%, 16rem);
		padding: 0.85rem 1.25rem;
		border: none;
		border-radius: 999px;
		font-size: 0.95rem;
		font-weight: 800;
		letter-spacing: 0.02em;
		color: #fff;
		cursor: pointer;
		box-shadow: 0 6px 18px rgba(22, 163, 74, 0.35);
		transition: transform 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease;
	}
	.pi-demo-btn--roleta {
		background: linear-gradient(135deg, #16a34a 0%, #22c55e 100%);
	}
	.pi-demo-btn--caixa {
		background: linear-gradient(135deg, #ea580c 0%, #f97316 100%);
		box-shadow: 0 6px 18px rgba(234, 88, 12, 0.4);
	}
	.pi-demo-btn:hover { transform: translateY(-1px); }
	.pi-demo-btn:disabled { opacity: 0.7; cursor: wait; transform: none; }
	.pi-demo-hint {
		margin: 0;
		font-size: 0.72rem;
		color: #64748b;
		text-align: center;
		line-height: 1.35;
		max-width: 20rem;
	}
	.pi-demo-hint strong { color: #0f172a; }
	.pi-demo-result {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 0.2rem;
		width: 100%;
		max-width: 20rem;
		padding: 0.75rem 0.9rem;
		border-radius: 14px;
		background: linear-gradient(180deg, #ecfdf5 0%, #d1fae5 100%);
		border: 1px solid #6ee7b7;
		color: #065f46;
		font-size: 0.8rem;
		font-weight: 600;
		text-align: center;
		line-height: 1.3;
		box-shadow: 0 4px 14px rgba(16, 185, 129, 0.18);
	}
	.pi-panel--caixa .pi-demo-result {
		background: linear-gradient(180deg, #fff7ed 0%, #ffedd5 100%);
		border-color: #fdba74;
		color: #9a3412;
		box-shadow: 0 4px 14px rgba(249, 115, 22, 0.16);
	}
	.pi-demo-win-badge {
		display: block;
		font-size: 0.82rem;
		font-weight: 800;
		letter-spacing: 0.01em;
	}
	.pi-demo-win-prize {
		display: block;
		font-size: 1.35rem;
		font-weight: 900;
		line-height: 1.15;
		color: #15803d;
		letter-spacing: -0.02em;
	}
	.pi-panel--caixa .pi-demo-win-prize { color: #c2410c; }
	.pi-demo-win-sub {
		display: block;
		font-size: 0.68rem;
		font-weight: 500;
		opacity: 0.85;
		margin-top: 0.1rem;
	}
	.pi-unlock {
		margin-top: 0.85rem;
		padding: 0.75rem;
		border-radius: 14px;
		background: #f0fdf4;
		border: 1px solid #bbf7d0;
	}
	.pi-panel--caixa .pi-unlock {
		background: #fff7ed;
		border-color: #fed7aa;
	}
	.pi-unlock-row {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0.5rem;
		font-size: 0.72rem;
		font-weight: 600;
		color: #475569;
		margin-bottom: 0.4rem;
	}
	.pi-unlock-bonus {
		display: inline-flex;
		align-items: center;
		gap: 0.25rem;
		color: #15803d;
		font-weight: 800;
		white-space: nowrap;
	}
	.pi-panel--caixa .pi-unlock-bonus { color: #c2410c; }
	.pi-progress {
		height: 0.45rem;
		border-radius: 999px;
		background: #dcfce7;
		overflow: hidden;
		margin-bottom: 0.65rem;
	}
	.pi-progress span {
		display: block;
		height: 100%;
		border-radius: 999px;
		background: linear-gradient(90deg, #22c55e, #16a34a);
	}
	.pi-progress--caixa { background: #ffedd5; }
	.pi-progress--caixa span { background: linear-gradient(90deg, #fb923c, #ea580c); }
	.pi-buy-btn {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		padding: 0.85rem 1rem;
		border: none;
		border-radius: 12px;
		font-size: 0.9rem;
		font-weight: 800;
		color: #fff !important;
		cursor: pointer;
		transition: transform 0.15s ease, box-shadow 0.15s ease;
	}
	.pi-buy-btn--roleta {
		background: linear-gradient(135deg, #16a34a, #15803d);
		box-shadow: 0 4px 14px rgba(22, 163, 74, 0.35);
	}
	.pi-buy-btn--caixa {
		background: linear-gradient(135deg, #ea580c, #c2410c);
		box-shadow: 0 4px 14px rgba(234, 88, 12, 0.35);
	}
	.pi-buy-btn:hover { transform: translateY(-1px); color: #fff !important; }
	.pi-buy-btn.is-highlight {
		animation: pi-buy-pulse 1.2s ease-in-out 2;
	}
	@keyframes pi-buy-pulse {
		0%, 100% { box-shadow: 0 4px 14px rgba(22, 163, 74, 0.35); transform: scale(1); }
		50% { box-shadow: 0 0 0 6px rgba(34, 197, 94, 0.25), 0 8px 22px rgba(22, 163, 74, 0.45); transform: scale(1.02); }
	}
	.pi-packs {
		display: flex;
		flex-wrap: wrap;
		gap: 0.35rem;
		margin-top: 0.55rem;
	}
	.pi-pack-chip {
		flex: 1 1 auto;
		padding: 0.4rem 0.55rem;
		border-radius: 999px;
		border: 1px solid #bbf7d0;
		background: #fff;
		color: #15803d;
		font-size: 0.68rem;
		font-weight: 700;
		cursor: pointer;
		white-space: nowrap;
	}
	.pi-pack-chip--caixa {
		border-color: #fed7aa;
		color: #c2410c;
	}
	.pi-lista-wrap {
		margin-top: 0.85rem;
		padding: 0.65rem 0.55rem 0.5rem;
		border-radius: 14px;
		background: #f8fafc;
		border: 1px solid #e5e7eb;
	}
	.pi-lista-wrap--caixa {
		background: #fffaf5;
		border-color: #ffedd5;
	}
	.pi-lista-wrap--bilhete {
		background: #f8fafc;
		border-color: #e5e7eb;
	}
	.pi-lista-cabecalho {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap: 0.5rem;
		margin-bottom: 0.4rem;
	}
	.pi-lista-titulo {
		display: block;
		font-size: 0.88rem;
		font-weight: 800;
		color: #0f172a;
	}
	.pi-lista-desc {
		display: block;
		font-size: 0.68rem;
		color: #64748b;
		font-weight: 500;
		margin-top: 0.1rem;
	}
	.pi-lista-badge {
		flex-shrink: 0;
		padding: 0.2rem 0.5rem;
		border-radius: 999px;
		background: #16a34a;
		color: #fff;
		font-size: 0.68rem;
		font-weight: 800;
	}
	.pi-lista-badge--caixa { background: #ea580c; }
	.pi-lista-bar {
		height: 0.3rem;
		border-radius: 999px;
		background: #dcfce7;
		overflow: hidden;
		margin-bottom: 0.55rem;
	}
	.pi-lista-bar span {
		display: block;
		height: 100%;
		background: #22c55e;
		border-radius: 999px;
	}
	.pi-lista-bar--caixa { background: #ffedd5; }
	.pi-lista-bar--caixa span { background: #f97316; }
	.pi-btn-mais { width: 100%; margin-top: 0.4rem; }
	.pi-ticker {
		display: flex;
		align-items: center;
		gap: 0.45rem;
		margin-top: 0.7rem;
		padding: 0.55rem 0.75rem;
		border-radius: 999px;
		background: #fff;
		border: 1px solid #e5e7eb;
		box-shadow: 0 2px 10px rgba(15, 23, 42, 0.05);
		font-size: 0.72rem;
		color: #475569;
		line-height: 1.3;
		transition: opacity 0.18s ease, transform 0.18s ease;
	}
	.pi-ticker.is-swap {
		opacity: 0.35;
		transform: translateY(3px);
	}
	.pi-ticker-text strong,
	.pi-ticker-text { font-weight: 600; color: #334155; }
	.pi-ticker-dot {
		width: 0.55rem;
		height: 0.55rem;
		border-radius: 50%;
		background: #22c55e;
		flex-shrink: 0;
		box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.2);
		animation: pi-ticker-pulse 1.6s ease-in-out infinite;
	}
	.pi-ticker--caixa .pi-ticker-dot { background: #f97316; box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.2); }
	@keyframes pi-ticker-pulse {
		0%, 100% { opacity: 1; }
		50% { opacity: 0.45; }
	}
	/* Cards clean (igual referência: número + prêmio + DISPONÍVEL) */
	.pi-root .premios-titulos-grid,
	.pi-root .app-titulos-premiados--lista,
	.pi-root .titulos-premiados-lista {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 0.45rem !important;
		justify-items: stretch;
		padding: 0.05rem 0 0.1rem;
	}
	.pi-root .premios-titulos-grid .hr { display: none !important; }
	.pi-root .premio-titulo-card,
	.pi-root .app-titulos-premiados--item {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 0.28rem !important;
		aspect-ratio: auto !important;
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0.45rem 0.4rem 0.4rem !important;
		border-radius: 14px !important;
		border: 1px solid #b7e4c7 !important;
		background: #fff !important;
		box-shadow: none !important;
		text-align: center !important;
		overflow: hidden !important;
		position: relative !important;
		filter: none !important;
	}
	.pi-panel--caixa .premio-titulo-card,
	.pi-panel--caixa .app-titulos-premiados--item {
		border-color: #fdba74 !important;
	}
	.pi-root .premio-titulo-card--disponivel {
		background: #fff !important;
		border-color: #b7e4c7 !important;
	}
	.pi-panel--caixa .premio-titulo-card--disponivel {
		border-color: #fdba74 !important;
	}
	.pi-root .premio-titulo-card--ganhou,
	.pi-root .app-titulos-premiados--selected {
		background: #f8fafc !important;
		border-color: #e2e8f0 !important;
		opacity: 1;
	}
	/* Número (pill de cima) */
	.pi-root .premio-titulo-num,
	.pi-root .app-titulos-premiados--premiacao:first-child .btn,
	.pi-root .app-titulos-premiados--premiacao:first-child span,
	.pi-root .app-titulos-premiados--item > .app-titulos-premiados--premiacao:first-child span {
		display: inline-block !important;
		visibility: visible !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0.14rem 0.55rem !important;
		font-size: 0.62rem !important;
		font-weight: 700 !important;
		line-height: 1.2 !important;
		color: #0f172a !important;
		background: #e8f8ef !important;
		border: 1px solid #86efac !important;
		border-radius: 999px !important;
		box-shadow: none !important;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.pi-panel--roleta .premio-titulo-num {
		display: inline-block !important;
	}
	.pi-panel--caixa .premio-titulo-num,
	.pi-panel--caixa .app-titulos-premiados--premiacao:first-child span {
		background: #fff7ed !important;
		border-color: #fdba74 !important;
	}
	.pi-root .app-titulos-premiados--premiacao:first-child {
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		display: flex !important;
		justify-content: center !important;
	}
	/* Valor do prêmio */
	.pi-root .premio-titulo-valor,
	.pi-root .app-titulos-premiados--premiacao:nth-of-type(2),
	.pi-root .app-titulos-premiados--premiacao.premio-titulo-valor,
	.pi-root .app-titulos-premiados--item .wd-6,
	.pi-root .app-titulos-premiados--item .Premiada {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0.1rem 0.15rem !important;
		font-size: 0.78rem !important;
		font-weight: 800 !important;
		color: #166534 !important;
		line-height: 1.15 !important;
		background: transparent !important;
		border: none !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		text-shadow: none !important;
		animation: none !important;
		word-break: break-word;
	}
	.pi-panel--caixa .premio-titulo-valor,
	.pi-panel--caixa .app-titulos-premiados--premiacao:nth-of-type(2),
	.pi-panel--caixa .app-titulos-premiados--item .wd-6,
	.pi-panel--caixa .app-titulos-premiados--item .Premiada {
		color: #c2410c !important;
	}
	.pi-root .premio-titulo-card--ganhou .premio-titulo-valor,
	.pi-root .app-titulos-premiados--selected .premio-titulo-valor,
	.pi-root .app-titulos-premiados--selected .wd-6,
	.pi-root .app-titulos-premiados--selected .app-titulos-premiados--premiacao:nth-of-type(2) {
		color: #64748b !important;
	}
	/* Status DISPONÍVEL */
	.pi-root .app-titulos-premiados--ganhador {
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		display: flex !important;
		justify-content: center !important;
	}
	.pi-root .premio-titulo-status,
	.pi-root .app-titulos-premiados--ganhador span {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 0.28rem 0.35rem !important;
		font-size: 0.58rem !important;
		font-weight: 800 !important;
		text-transform: uppercase;
		letter-spacing: 0.04em;
		border-radius: 999px !important;
		color: #fff !important;
		background: #166534 !important;
		box-shadow: none !important;
		animation: none !important;
	}
	.pi-panel--caixa .premio-titulo-status,
	.pi-panel--caixa .app-titulos-premiados--ganhador span:not(.bi) {
		background: #ea580c !important;
	}
	.pi-root .premio-titulo-card--ganhou .premio-titulo-status,
	.pi-root .app-titulos-premiados--selected .app-titulos-premiados--ganhador span {
		background: #94a3b8 !important;
		color: #fff !important;
	}
	.pi-root .app-titulos-premiados--selected .bi-trophy-fill {
		color: #fef08a !important;
		margin-left: 0.15rem;
	}
	.pi-root #cotas-container_roleta.mais,
	.pi-root #cotas-container_box.mais,
	.pi-root #cotas-container.mais {
		max-height: 11.5rem !important;
		overflow: hidden !important;
	}
	@media (prefers-reduced-motion: reduce) {
		.pi-wheel.is-spinning .pi-wheel__disk,
		.pi-gift.is-opening .pi-gift__box,
		.pi-buy-btn.is-highlight,
		.pi-ticker-dot { animation: none !important; }
	}

	.premios-bloco {
		background: #fff;
		border: 1px solid rgba(226, 232, 240, 0.9);
		border-radius: 16px;
		overflow: hidden;
		box-shadow: 0 6px 28px rgba(15, 23, 42, 0.09);
		margin-bottom: 0.75rem !important;
	}
	.premios-bloco--unified .premios-bloco-body {
		padding: 0.5rem 0.55rem 0.6rem;
		background: linear-gradient(180deg, #fffbeb 0%, #f0fdf4 55%, #f8fafc 100%);
	}
	.premios-bloco--caixa.premios-bloco--unified .premios-bloco-body {
		background: linear-gradient(180deg, #fff7ed 0%, #fffbeb 55%, #f8fafc 100%);
	}
	.premios-bloco--bilhete.premios-bloco--unified .premios-bloco-body {
		background: linear-gradient(180deg, #ecfdf5 0%, #f0fdf4 55%, #f8fafc 100%);
	}
	.premios-bloco .premios-bloco-header,
	.premios-bloco .secao-titulo-box {
		margin-bottom: 0 !important;
		border-radius: 0 !important;
		border: none !important;
		border-bottom: 1px solid #f1f5f9 !important;
		background: #fff !important;
		padding: 0.7rem 0.8rem !important;
	}
	.premios-lista-wrap {
		margin-top: 0.55rem;
		padding: 0.55rem 0.5rem 0.5rem;
		background: linear-gradient(145deg, #fff 0%, #fffbeb 100%);
		border: 1.5px solid #fde68a;
		border-radius: 12px;
		box-shadow: 0 4px 16px rgba(245, 158, 11, 0.12);
	}
	.premios-bloco--roleta .premios-lista-wrap {
		border-color: #6ee7b7;
		box-shadow: 0 4px 16px rgba(5, 150, 105, 0.12);
		background: linear-gradient(145deg, #fff 0%, #ecfdf5 100%);
	}
	.premios-bloco--caixa .premios-lista-wrap {
		border-color: #fdba74;
		box-shadow: 0 4px 16px rgba(234, 88, 12, 0.12);
		background: linear-gradient(145deg, #fff 0%, #fff7ed 100%);
	}
	.premios-lista-cabecalho {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0.5rem;
		margin-bottom: 0.45rem;
		padding-bottom: 0.4rem;
		border-bottom: 1px dashed #e2e8f0;
	}
	.premios-lista-titulo {
		display: block;
		font-size: 0.84rem;
		font-weight: 800;
		color: #0f172a;
		line-height: 1.2;
	}
	.premios-lista-desc {
		display: block;
		font-size: 0.68rem;
		color: #475569;
		font-weight: 600;
	}
	.premios-bloco-icon {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		width: 2.25rem;
		height: 2.25rem;
		border-radius: 12px;
		font-size: 1.1rem !important;
		line-height: 1;
		background: transparent !important;
		border: 2px solid currentColor;
		animation: premios-icon-pop 2.4s ease-in-out infinite;
	}
	.premios-bloco-icon--roleta {
		color: #047857;
		border-color: #34d399;
		background: rgba(52, 211, 153, 0.2) !important;
		box-shadow: 0 0 12px rgba(52, 211, 153, 0.35);
	}
	.premios-bloco-icon--caixa {
		color: #c2410c;
		border-color: #fb923c;
		background: rgba(251, 146, 60, 0.22) !important;
		box-shadow: 0 0 12px rgba(251, 146, 60, 0.35);
	}
	.premios-bloco-icon--bilhete {
		color: #047857;
		border-color: #34d399;
		background: rgba(52, 211, 153, 0.22) !important;
		box-shadow: 0 0 12px rgba(52, 211, 153, 0.35);
	}
	.premios-bloco-icon--prova {
		color: #1d4ed8;
		border-color: #60a5fa;
		background: rgba(96, 165, 250, 0.22) !important;
		box-shadow: 0 0 12px rgba(59, 130, 246, 0.35);
	}
	.premios-bloco--prova-social.premios-bloco--unified .premios-bloco-body {
		background: linear-gradient(180deg, #eff6ff 0%, #f8fafc 55%, #fff 100%);
	}
	.premios-bloco--prova-social .secao-titulo-badge {
		background: linear-gradient(135deg, #3b82f6, #2563eb) !important;
	}
	.prova-social-grid {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0.75rem;
		margin-top: 0.5rem;
	}
	.prova-social-grid--collapsed {
		grid-template-columns: 1fr !important;
	}
	.prova-social-grid--collapsed .prova-social-card--extra {
		display: none !important;
	}
	.prova-social-ver-mais-wrap {
		padding-bottom: 0.15rem;
	}
	.prova-social-ver-mais-btn {
		font-weight: 700;
		border-radius: 999px;
		padding: 0.4rem 1.25rem;
		min-width: 9rem;
	}
	@media (min-width: 576px) {
		.prova-social-grid:not(.prova-social-grid--collapsed) {
			grid-template-columns: repeat(2, 1fr);
		}
	}
	.prova-social-card {
		background: #fff;
		border: 1px solid #e2e8f0;
		border-radius: 12px;
		overflow: hidden;
		box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
	}
	.prova-social-card__media {
		position: relative;
		width: 100%;
		aspect-ratio: 16 / 9;
		background: #0f172a;
	}
	.prova-social-card__media iframe,
	.prova-social-card__media video {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		border: 0;
		object-fit: cover;
	}
	.prova-social-card__label {
		margin: 0;
		padding: 0.45rem 0.55rem 0.5rem;
		font-size: 0.72rem;
		font-weight: 700;
		color: #334155;
		text-align: center;
	}
	.premios-bloco .secao-titulo-badge {
		background: linear-gradient(135deg, #10b981, #059669) !important;
		color: #fff !important;
		border: none !important;
		font-size: 0.72rem !important;
		font-weight: 800 !important;
		padding: 0.25rem 0.6rem !important;
		animation: premios-badge-glow 2.2s ease-in-out infinite;
	}
	.premios-bloco--caixa .secao-titulo-badge {
		background: linear-gradient(135deg, #f97316, #ea580c) !important;
		animation-name: premios-badge-glow-caixa;
	}
	@keyframes premios-badge-glow-caixa {
		0%, 100% { box-shadow: 0 0 0 0 rgba(234, 88, 12, 0.4); }
		50% { box-shadow: 0 0 10px 2px rgba(234, 88, 12, 0.3); }
	}
	.premios-instant-list {
		padding: 0;
		display: flex;
		flex-direction: column;
		gap: 0.4rem;
		background: transparent;
	}
	.premio-instant-card {
		display: block;
		width: 100%;
		padding: 0;
		border: none;
		border-radius: 12px;
		background: linear-gradient(120deg, #047857, #059669, #10b981, #34d399, #059669) !important;
		background-size: 220% 220% !important;
		animation: premios-gradient-flow 4s ease infinite;
		color: #fff !important;
		box-shadow: 0 6px 20px rgba(5, 150, 105, 0.35);
		transition: transform 0.2s ease, box-shadow 0.2s ease;
		text-align: left;
		position: relative;
		overflow: hidden;
	}
	.premios-bloco--caixa .premio-instant-card {
		background: linear-gradient(120deg, #c2410c, #ea580c, #f97316, #fb923c, #ea580c) !important;
		background-size: 220% 220% !important;
		box-shadow: 0 6px 20px rgba(234, 88, 12, 0.35);
	}
	.premio-instant-card::after {
		content: "";
		position: absolute;
		inset: 0;
		background: linear-gradient(105deg, transparent 40%, rgba(255, 255, 255, 0.18) 50%, transparent 60%);
		transform: translateX(-100%);
		animation: premios-card-shimmer 3.5s ease-in-out infinite;
		pointer-events: none;
	}
	@keyframes premios-card-shimmer {
		0% { transform: translateX(-100%); }
		55%, 100% { transform: translateX(100%); }
	}
	.premio-instant-card:hover {
		transform: translateY(-2px) scale(1.01);
		box-shadow: 0 10px 24px rgba(5, 150, 105, 0.4);
		color: #fff !important;
	}
	.premios-bloco--caixa .premio-instant-card:hover {
		box-shadow: 0 10px 24px rgba(234, 88, 12, 0.4);
	}
	.premio-instant-card-inner {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0.5rem;
		padding: 0.7rem 0.75rem;
	}
	.premio-instant-card-left {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 0.1rem;
		min-width: 0;
	}
	.premio-instant-card-label {
		font-size: 0.68rem;
		opacity: 0.9;
		font-weight: 500;
	}
	.premio-instant-card-qty {
		font-size: 1.05rem;
		font-weight: 800;
		letter-spacing: -0.02em;
		text-shadow: 0 1px 8px rgba(0, 0, 0, 0.2);
	}
	.premio-instant-card-hint {
		font-size: 0.62rem;
		opacity: 0.88;
		line-height: 1.25;
	}
	.premio-instant-card-right {
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		gap: 0.2rem;
		flex-shrink: 0;
	}
	.premio-instant-card-gift {
		font-size: 0.78rem;
		font-weight: 700;
		white-space: nowrap;
	}
	.premio-instant-card-ico {
		font-size: 1.5rem;
		opacity: 1;
		filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.2));
		animation: premios-icon-pop 1.8s ease-in-out infinite;
	}
	.premios-bloco .secao-uma-caixa-body,
	.premios-bloco.secao-uma-caixa .secao-uma-caixa-body {
		background: #f8fafc !important;
		padding: 0.45rem 0.5rem 0.55rem !important;
		border-top: 1px solid #f1f5f9;
	}
	.premios-titulos-grid,
	.premios-bloco .app-titulos-premiados--lista,
	.premios-bloco .titulos-premiados-lista {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 0.35rem !important;
		flex-direction: unset !important;
		margin-bottom: 0 !important;
	}
	.premios-titulos-grid .hr,
	.premios-bloco .app-titulos-premiados--lista .hr {
		display: none !important;
	}
	.premios-bloco .app-titulos-premiados--item,
	.premios-bloco .premio-titulo-card {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		justify-content: center !important;
		text-align: center !important;
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0.5rem 0.35rem 0.42rem !important;
		min-height: 4.85rem !important;
		border: 1.5px solid #fcd34d !important;
		border-radius: 11px !important;
		box-shadow: 0 3px 10px rgba(245, 158, 11, 0.15) !important;
		background: linear-gradient(165deg, #fff 0%, #fffbeb 45%, #fef3c7 100%) !important;
		color: #0f172a !important;
		transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
		animation: premios-card-pop 0.45s ease backwards;
	}
	.premios-bloco .app-titulos-premiados--item:nth-child(6n+1),
	.premios-bloco .premio-titulo-card:nth-child(6n+1) { animation-delay: 0.02s; }
	.premios-bloco .app-titulos-premiados--item:nth-child(6n+2),
	.premios-bloco .premio-titulo-card:nth-child(6n+2) { animation-delay: 0.06s; }
	.premios-bloco .app-titulos-premiados--item:nth-child(6n+3),
	.premios-bloco .premio-titulo-card:nth-child(6n+3) { animation-delay: 0.1s; }
	.premios-bloco .app-titulos-premiados--item:nth-child(6n+4),
	.premios-bloco .premio-titulo-card:nth-child(6n+4) { animation-delay: 0.14s; }
	.premios-bloco .app-titulos-premiados--item:nth-child(6n+5),
	.premios-bloco .premio-titulo-card:nth-child(6n+5) { animation-delay: 0.18s; }
	.premios-bloco .app-titulos-premiados--item:nth-child(6n+6),
	.premios-bloco .premio-titulo-card:nth-child(6n+6) { animation-delay: 0.22s; }
	.premios-bloco .secao-titulo-texto {
		color: #0f172a !important;
		font-weight: 800 !important;
	}
	.premios-bloco--roleta .premio-titulo-card--disponivel {
		border-color: #6ee7b7 !important;
		box-shadow: 0 3px 10px rgba(16, 185, 129, 0.18) !important;
		background: linear-gradient(165deg, #fff 0%, #ecfdf5 45%, #d1fae5 100%) !important;
	}
	.premios-bloco--roleta .premio-titulo-num {
		display: none !important;
	}
	.premios-bloco--caixa .premio-titulo-card--disponivel {
		border-color: #fdba74 !important;
		box-shadow: 0 3px 10px rgba(249, 115, 22, 0.18) !important;
		background: linear-gradient(165deg, #fff 0%, #fff7ed 45%, #ffedd5 100%) !important;
	}
	.premios-bloco .premio-titulo-card--disponivel:hover {
		border-color: #f59e0b !important;
		box-shadow: 0 6px 16px rgba(245, 158, 11, 0.28) !important;
		transform: translateY(-2px) scale(1.03);
	}
	.premios-bloco--roleta .premio-titulo-card--disponivel:hover {
		border-color: #10b981 !important;
		box-shadow: 0 6px 16px rgba(16, 185, 129, 0.3) !important;
	}
	.premios-bloco--caixa .premio-titulo-card--disponivel:hover {
		border-color: #f97316 !important;
		box-shadow: 0 6px 16px rgba(249, 115, 22, 0.3) !important;
	}
	.premios-bloco .app-titulos-premiados--item .app-titulos-premiados--premiacao {
		max-width: 100% !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		font-weight: 700 !important;
	}
	.premios-bloco .premio-titulo-num,
	.premios-bloco .app-titulos-premiados--premiacao:first-of-type .btn,
	.premios-bloco .app-titulos-premiados--premiacao:first-of-type span {
		display: block !important;
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 0 0.18rem !important;
		padding: 0.18rem 0.25rem !important;
		font-size: 0.62rem !important;
		font-weight: 800 !important;
		color: #92400e !important;
		background: linear-gradient(180deg, #fde68a, #fcd34d) !important;
		border: 1px solid #f59e0b !important;
		border-radius: 6px !important;
		line-height: 1.2 !important;
		box-shadow: 0 1px 4px rgba(245, 158, 11, 0.35);
	}
	.premios-bloco .premio-titulo-valor,
	.premios-bloco .app-titulos-premiados--premiacao:nth-of-type(2) {
		font-size: 0.95rem !important;
		font-weight: 900 !important;
		color: #b45309 !important;
		line-height: 1.15 !important;
		text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8);
		animation: premios-valor-shine 2.5s ease-in-out infinite;
	}
	.premios-bloco--roleta .premio-titulo-valor,
	.premios-bloco--roleta .app-titulos-premiados--premiacao:nth-of-type(2) {
		color: #047857 !important;
	}
	.premios-bloco--caixa .premio-titulo-valor,
	.premios-bloco--caixa .app-titulos-premiados--premiacao:nth-of-type(2) {
		color: #c2410c !important;
	}
	.premios-bloco .app-titulos-premiados--ganhador {
		min-width: 0 !important;
		width: 100% !important;
		margin-top: 0.2rem !important;
	}
	.premios-bloco .premio-titulo-status,
	.premios-bloco .app-titulos-premiados--ganhador span {
		display: inline-block !important;
		width: 100% !important;
		padding: 0.14rem 0.22rem !important;
		font-size: 0.54rem !important;
		font-weight: 800 !important;
		text-transform: uppercase;
		letter-spacing: 0.05em;
		color: #fff !important;
		background: linear-gradient(135deg, #10b981, #059669) !important;
		border-radius: 5px !important;
		animation: premios-status-pulse 2s ease-in-out infinite;
	}
	.premios-bloco--caixa .premio-titulo-status,
	.premios-bloco--caixa .app-titulos-premiados--ganhador span:not(.bi) {
		background: linear-gradient(135deg, #f97316, #ea580c) !important;
		animation-name: premios-status-pulse-caixa;
	}
	@keyframes premios-status-pulse-caixa {
		0%, 100% { box-shadow: 0 0 0 0 rgba(249, 115, 22, 0.5); transform: scale(1); }
		50% { box-shadow: 0 0 0 4px rgba(249, 115, 22, 0); transform: scale(1.02); }
	}
	.premios-bloco--bilhete .app-titulos-premiados--item,
	.premios-bloco--bilhete .premio-titulo-card {
		border-color: #6ee7b7 !important;
		box-shadow: 0 3px 10px rgba(16, 185, 129, 0.16) !important;
		background: linear-gradient(165deg, #fff 0%, #ecfdf5 45%, #d1fae5 100%) !important;
	}
	.premios-bloco--bilhete .premio-titulo-card--disponivel:hover {
		border-color: #10b981 !important;
		box-shadow: 0 6px 16px rgba(16, 185, 129, 0.28) !important;
	}
	.premios-bloco--bilhete .premio-titulo-num,
	.premios-bloco--bilhete .app-titulos-premiados--premiacao:first-of-type .btn,
	.premios-bloco--bilhete .app-titulos-premiados--premiacao:first-of-type span {
		color: #065f46 !important;
		background: linear-gradient(180deg, #a7f3d0, #6ee7b7) !important;
		border-color: #10b981 !important;
		box-shadow: 0 1px 4px rgba(16, 185, 129, 0.35);
	}
	.premios-bloco--bilhete .premio-titulo-valor,
	.premios-bloco--bilhete .app-titulos-premiados--premiacao:nth-of-type(2) {
		color: #047857 !important;
	}
	.premios-bloco .app-titulos-premiados--item.app-titulos-premiados--selected,
	.premios-bloco .app-titulos-premiados--item.bg-gradient-blue2 {
		background: linear-gradient(165deg, #fef3c7 0%, #fde68a 50%, #fcd34d 100%) !important;
		border-color: #f59e0b !important;
		color: #78350f !important;
		box-shadow: 0 4px 14px rgba(245, 158, 11, 0.35) !important;
	}
	/* Cota premiada saída (bilhete) — destaque verde forte */
	.premios-bloco--bilhete .app-titulos-premiados--item.app-titulos-premiados--selected,
	.premios-bloco--bilhete .app-titulos-premiados--item.bg-gradient-blue2,
	.premios-bloco--bilhete .app-titulos-premiados--item.bg-success,
	.premios-bloco--bilhete .premio-titulo-card--ganhou {
		position: relative !important;
		background: linear-gradient(165deg, #d1fae5 0%, #34d399 38%, #059669 100%) !important;
		border: 2.5px solid #047857 !important;
		color: #022c22 !important;
		box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.3), 0 8px 22px rgba(5, 150, 105, 0.42) !important;
		min-height: 5.35rem !important;
		padding: 0.72rem 0.35rem 0.42rem !important;
		z-index: 2;
		animation: premios-cota-ganhou 2s ease-in-out infinite;
		overflow: hidden !important;
	}
	.premios-bloco--bilhete .premio-titulo-card--ganhou::before,
	.premios-bloco--bilhete .app-titulos-premiados--item.app-titulos-premiados--selected:not(.premio-titulo-card--disponivel)::before {
		content: 'PREMIADA';
		position: absolute;
		top: 0.22rem;
		left: 50%;
		transform: translateX(-50%);
		padding: 0.06rem 0.38rem;
		font-size: 0.44rem;
		font-weight: 900;
		line-height: 1.25;
		letter-spacing: 0.06em;
		text-transform: uppercase;
		color: #ecfdf5;
		background: linear-gradient(135deg, #10b981, #047857);
		border: 1px solid #a7f3d0;
		border-radius: 999px;
		box-shadow: 0 1px 4px rgba(5, 150, 105, 0.35);
		z-index: 3;
		animation: premios-badge-glow 2s ease-in-out infinite;
		pointer-events: none;
	}
	.premios-bloco--bilhete .premio-titulo-card--ganhou .app-titulos-premiados--premiacao:first-of-type,
	.premios-bloco--bilhete .app-titulos-premiados--item.app-titulos-premiados--selected:not(.premio-titulo-card--disponivel) .app-titulos-premiados--premiacao:first-of-type {
		margin-top: 0.42rem !important;
	}
	.premios-bloco--bilhete .app-titulos-premiados--item.app-titulos-premiados--selected .premio-titulo-valor,
	.premios-bloco--bilhete .app-titulos-premiados--item.app-titulos-premiados--selected .app-titulos-premiados--premiacao:nth-of-type(2),
	.premios-bloco--bilhete .app-titulos-premiados--item.bg-gradient-blue2 .app-titulos-premiados--premiacao:nth-of-type(2),
	.premios-bloco--bilhete .app-titulos-premiados--item.bg-success .app-titulos-premiados--premiacao:nth-of-type(2),
	.premios-bloco--bilhete .premio-titulo-card--ganhou .app-titulos-premiados--premiacao:nth-of-type(2) {
		color: #022c22 !important;
		font-size: 1.14rem !important;
		font-weight: 900 !important;
		text-shadow: 0 1px 0 rgba(255, 255, 255, 0.55);
		animation: premios-valor-shine 2s ease-in-out infinite;
	}
	.premios-bloco--bilhete .app-titulos-premiados--item.app-titulos-premiados--selected .premio-titulo-num,
	.premios-bloco--bilhete .app-titulos-premiados--item.app-titulos-premiados--selected .app-titulos-premiados--premiacao:first-of-type .btn,
	.premios-bloco--bilhete .app-titulos-premiados--item.app-titulos-premiados--selected .app-titulos-premiados--premiacao:first-of-type span {
		color: #064e3b !important;
		background: linear-gradient(180deg, #ecfdf5, #a7f3d0) !important;
		border-color: #047857 !important;
	}
	.premios-bloco .app-titulos-premiados--item.app-titulos-premiados--selected .premio-titulo-status,
	.premios-bloco .app-titulos-premiados--item.app-titulos-premiados--selected .app-titulos-premiados--ganhador span {
		background: linear-gradient(135deg, #d97706, #b45309) !important;
		color: #fff !important;
		animation: none;
	}
	.premios-bloco--bilhete .app-titulos-premiados--item.app-titulos-premiados--selected .premio-titulo-status,
	.premios-bloco--bilhete .app-titulos-premiados--item.app-titulos-premiados--selected .app-titulos-premiados--ganhador span,
	.premios-bloco--bilhete .app-titulos-premiados--item.bg-gradient-blue2 .app-titulos-premiados--ganhador span,
	.premios-bloco--bilhete .app-titulos-premiados--item.bg-success .app-titulos-premiados--ganhador span,
	.premios-bloco--bilhete .premio-titulo-card--ganhou .app-titulos-premiados--ganhador span {
		background: linear-gradient(135deg, #065f46, #022c22) !important;
		color: #ecfdf5 !important;
		font-size: 0.62rem !important;
		padding: 0.22rem 0.28rem !important;
		animation: premios-status-pulse 2s ease-in-out infinite;
		box-shadow: 0 2px 8px rgba(5, 150, 105, 0.45);
	}
	.premios-bloco--bilhete .app-titulos-premiados--item.app-titulos-premiados--selected .bi-trophy-fill,
	.premios-bloco--bilhete .app-titulos-premiados--item.bg-gradient-blue2 .bi-trophy-fill,
	.premios-bloco--bilhete .app-titulos-premiados--item.bg-success .bi-trophy-fill {
		color: #fef9c3 !important;
		animation: premios-icon-pop 1.2s ease-in-out infinite;
	}
	.premios-btn-mais,
	.premios-bloco .btn_mais_roleta,
	.premios-bloco .btn_mais_box,
	.premios-bloco .btn_mais_cotas,
	.premios-bloco [id$="_mais"] button {
		width: 100%;
		margin-top: 0.4rem !important;
		padding: 0.5rem !important;
		border: 1.5px dashed #34d399 !important;
		border-radius: 8px !important;
		background: rgba(236, 253, 245, 0.9) !important;
		color: #047857 !important;
		font-size: 0.78rem !important;
		font-weight: 800 !important;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		gap: 0.25rem;
		box-shadow: none !important;
		transition: background 0.2s ease, transform 0.2s ease;
	}
	.premios-bloco--bilhete .premios-btn-mais,
	.premios-bloco--bilhete .btn_mais_cotas {
		border-color: #34d399 !important;
		background: rgba(236, 253, 245, 0.95) !important;
		color: #047857 !important;
	}
	.premios-bloco--caixa .premios-btn-mais,
	.premios-bloco--caixa .btn_mais_box {
		border-color: #fdba74 !important;
		background: rgba(255, 237, 213, 0.9) !important;
		color: #c2410c !important;
	}
	.premios-btn-mais:hover,
	.premios-bloco .btn_mais_roleta:hover,
	.premios-bloco .btn_mais_box:hover,
	.premios-bloco .btn_mais_cotas:hover {
		background: #d1fae5 !important;
		transform: scale(1.02);
	}
	@media (prefers-reduced-motion: reduce) {
		.premios-bloco-icon,
		.premio-instant-card,
		.premio-instant-card-ico,
		.premio-instant-card::after,
		.premios-bloco .secao-titulo-badge,
		.premios-bloco .premio-titulo-status,
		.premios-bloco .premio-titulo-valor,
		.premios-bloco .premio-titulo-card,
		.premios-bloco .app-titulos-premiados--item {
			animation: none !important;
		}
	}
	#cotas-container_roleta.mais,
	#cotas-container_box.mais,
	#cotas-container.mais {
		max-height: 10.5rem !important;
		overflow: hidden !important;
	}
	.premios-bloco--bilhete #cotas-container.mais {
		max-height: 11.25rem !important;
	}
	@media (max-width: 380px) {
		.premios-titulos-grid,
		.premios-bloco .app-titulos-premiados--lista {
			grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
			gap: 0.28rem !important;
		}
		.premios-bloco .app-titulos-premiados--item {
			min-height: 4.2rem !important;
			padding: 0.35rem 0.2rem !important;
		}
		.premio-instant-card-qty {
			font-size: 0.9rem;
		}
		#cotas-container_roleta.mais,
		#cotas-container_box.mais,
		#cotas-container.mais {
			max-height: 9.8rem !important;
		}
		.premios-bloco--bilhete #cotas-container.mais {
			max-height: 10.5rem !important;
		}
	}

	/* Top Compradores — ranking */
	@keyframes top-ranking-glow {
		0%, 100% { box-shadow: 0 0 0 0 rgba(255, 215, 0, 0.45); }
		50% { box-shadow: 0 0 18px 4px rgba(255, 215, 0, 0.35); }
	}
	@keyframes top-ranking-shine {
		0% { transform: translateX(-120%); }
		55%, 100% { transform: translateX(120%); }
	}
	@keyframes top-trophy-bounce {
		0%, 100% { transform: translateY(0) rotate(-6deg); }
		50% { transform: translateY(-3px) rotate(6deg); }
	}
	.top-compradores-fixo {
		position: relative;
		padding: 1rem 0.85rem 0.9rem;
		margin-top: 0;
		border-radius: 16px;
		overflow: hidden;
		width: 100%;
		border: 1px solid rgba(255, 255, 255, 0.12);
	}
	.top-compradores-fixo::before {
		content: "";
		position: absolute;
		inset: 0;
		background: radial-gradient(ellipse 80% 50% at 50% -10%, rgba(255, 255, 255, 0.15), transparent 55%);
		pointer-events: none;
	}
	.top-compradores-fixo--verde {
		background: linear-gradient(145deg, #065f46 0%, #059669 35%, #10b981 70%, #047857 100%);
		box-shadow: 0 8px 32px rgba(5, 150, 105, 0.35);
	}
	.top-compradores-fixo--esmeralda {
		background: linear-gradient(145deg, #047857 0%, #10b981 40%, #34d399 75%, #059669 100%);
		box-shadow: 0 8px 32px rgba(16, 185, 129, 0.35);
	}
	.top-compradores-fixo--azul {
		background: linear-gradient(145deg, #1e3a8a 0%, #2563eb 40%, #3b82f6 75%, #1d4ed8 100%);
		box-shadow: 0 8px 32px rgba(37, 99, 235, 0.35);
	}
	.top-compradores-fixo--roxo {
		background: linear-gradient(145deg, #5b21b6 0%, #7c3aed 40%, #8b5cf6 75%, #6d28d9 100%);
		box-shadow: 0 8px 32px rgba(124, 58, 237, 0.35);
	}
	.top-compradores-fixo--ouro {
		background: linear-gradient(145deg, #92400e 0%, #d97706 35%, #f59e0b 70%, #b45309 100%);
		box-shadow: 0 8px 32px rgba(217, 119, 6, 0.35);
	}
	.top-compradores-fixo--coral {
		background: linear-gradient(145deg, #9a3412 0%, #ea580c 40%, #fb923c 75%, #c2410c 100%);
		box-shadow: 0 8px 32px rgba(234, 88, 12, 0.35);
	}
	.top-compradores-fixo--oceano {
		background: linear-gradient(145deg, #155e75 0%, #0891b2 40%, #22d3ee 75%, #0e7490 100%);
		box-shadow: 0 8px 32px rgba(8, 145, 178, 0.35);
	}
	.top-compradores-fixo--midnight {
		background: linear-gradient(145deg, #0f172a 0%, #334155 45%, #475569 80%, #1e293b 100%);
		box-shadow: 0 8px 32px rgba(15, 23, 42, 0.45);
	}
	.top-compradores-fixo--branco {
		background: linear-gradient(165deg, #ecfdf5 0%, #f0fdf4 28%, #ffffff 58%, #f8fafc 100%);
		border: 2px solid #86efac;
		box-shadow: 0 10px 32px rgba(16, 185, 129, 0.18), 0 2px 0 rgba(255, 255, 255, 0.8) inset;
	}
	.top-ranking-trophy--futebol {
		background: linear-gradient(135deg, #fef08a, #facc15) !important;
	}
	.top-ranking-trophy--futebol i {
		color: #14532d !important;
	}
	.top-ranking-trophy--corrida {
		background: linear-gradient(135deg, #fff 0%, #fef08a 100%) !important;
	}
	.top-ranking-trophy--corrida i {
		color: #0f172a !important;
	}
	.top-compradores-fixo--ouro::before,
	.top-compradores-fixo--coral::before {
		background: radial-gradient(ellipse 80% 50% at 50% -10%, rgba(255, 215, 0, 0.25), transparent 55%);
	}
	.top-ranking-countdown {
		position: relative;
		z-index: 1;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0.5rem;
		margin-top: 0.6rem;
		margin-bottom: 0;
		padding: 0.45rem 0.6rem;
		background: rgba(0, 0, 0, 0.2);
		border: 1px solid rgba(255, 255, 255, 0.25);
		border-radius: 10px;
	}
	.top-ranking-countdown-label {
		font-size: 0.72rem;
		font-weight: 700;
		color: #fde68a;
		display: inline-flex;
		align-items: center;
		gap: 0.3rem;
	}
	.top-ranking-countdown-timer {
		font-size: 0.88rem;
		font-weight: 800;
		font-variant-numeric: tabular-nums;
		color: #fff;
		letter-spacing: 0.02em;
		text-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
		text-align: right;
		max-width: 58%;
		line-height: 1.2;
	}
	.top-ranking-countdown-timer--urgent {
		color: #fde68a !important;
		font-size: 0.92rem !important;
		animation: top-trophy-bounce 1.5s ease-in-out infinite;
	}
	.top-ranking-countdown-timer--ended {
		font-size: 0.78rem;
		color: #fecaca;
	}
	@keyframes ranking-urgency-toast-in {
		from { opacity: 0; transform: translateY(12px) scale(0.96); }
		to { opacity: 1; transform: translateY(0) scale(1); }
	}
	#top-compradores-ranking {
		scroll-margin-top: 1.25rem;
	}
	@keyframes top-ranking-scroll-highlight {
		0% { box-shadow: 0 0 0 0 rgba(253, 230, 138, 0); }
		35% { box-shadow: 0 0 0 4px rgba(253, 230, 138, 0.85), 0 12px 28px rgba(0, 0, 0, 0.25); }
		100% { box-shadow: 0 0 0 0 rgba(253, 230, 138, 0); }
	}
	.top-compradores-fixo--scroll-highlight {
		animation: top-ranking-scroll-highlight 1.4s ease-out;
	}
	.ranking-urgency-toast {
		position: fixed;
		right: max(0.75rem, env(safe-area-inset-right));
		bottom: max(5.5rem, calc(4.5rem + env(safe-area-inset-bottom)));
		z-index: 2147483000;
		display: flex;
		align-items: center;
		gap: 0.65rem;
		max-width: min(92vw, 18.5rem);
		padding: 0.55rem 0.65rem 0.55rem 0.55rem;
		background: linear-gradient(145deg, #166534 0%, #14532d 55%, #052e16 100%);
		border: 1px solid rgba(255, 255, 255, 0.22);
		border-radius: 14px;
		box-shadow: 0 10px 32px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(0, 0, 0, 0.08);
		opacity: 1;
		transform: translateY(0) scale(1);
		pointer-events: auto;
		transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease, box-shadow 0.2s ease;
	}
	.ranking-urgency-toast--clickable {
		cursor: pointer;
	}
	.ranking-urgency-toast--clickable:hover {
		box-shadow: 0 12px 36px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(253, 230, 138, 0.35);
		transform: translateY(-2px) scale(1.01);
	}
	.ranking-urgency-toast--clickable:active {
		transform: translateY(0) scale(0.99);
	}
	.ranking-urgency-toast--clickable:focus-visible {
		outline: 2px solid #fde68a;
		outline-offset: 2px;
	}
	.ranking-urgency-toast.is-hidden {
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translateY(12px) scale(0.96);
	}
	.ranking-urgency-toast--visible {
		animation: ranking-urgency-toast-in 0.35s ease-out;
	}
	.ranking-urgency-toast-icon {
		flex-shrink: 0;
		width: 2.35rem;
		height: 2.35rem;
		display: flex;
		align-items: center;
		justify-content: center;
		background: linear-gradient(135deg, #fde68a, #f59e0b);
		border-radius: 10px;
		box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
	}
	.ranking-urgency-toast-icon i {
		font-size: 1.15rem;
		color: #78350f;
	}
	.ranking-urgency-toast-content {
		flex: 1;
		min-width: 0;
		display: flex;
		flex-direction: column;
		gap: 0.1rem;
	}
	.ranking-urgency-toast-kicker {
		font-size: 0.62rem;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.04em;
		color: #86efac;
		line-height: 1.2;
	}
	.ranking-urgency-toast-msg {
		font-size: 0.82rem;
		font-weight: 800;
		color: #fff;
		line-height: 1.25;
		text-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
	}
	.ranking-urgency-toast-close {
		flex-shrink: 0;
		width: 1.5rem;
		height: 1.5rem;
		margin: -0.15rem -0.1rem 0 0;
		padding: 0;
		border: none;
		border-radius: 6px;
		background: rgba(255, 255, 255, 0.12);
		color: #d1fae5;
		font-size: 1.1rem;
		line-height: 1;
		cursor: pointer;
		position: relative;
		z-index: 2;
		transition: background 0.15s ease, color 0.15s ease;
	}
	.ranking-urgency-toast-close:hover {
		background: rgba(255, 255, 255, 0.22);
		color: #fff;
	}
	@media (max-width: 480px) {
		.ranking-urgency-toast {
			left: max(0.75rem, env(safe-area-inset-left));
			right: max(0.75rem, env(safe-area-inset-right));
			max-width: none;
		}
	}
	.top-ranking-header {
		position: relative;
		z-index: 1;
		display: flex;
		align-items: flex-start;
		gap: 0.65rem;
		margin-bottom: 0.65rem;
	}
	.top-ranking-header__main {
		flex: 1;
		min-width: 0;
	}
	.top-ranking-title-row {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0.45rem;
		flex-wrap: wrap;
	}
	.top-ranking-live-badge {
		display: inline-flex;
		align-items: center;
		gap: 0.35rem;
		padding: 0.18rem 0.55rem;
		border-radius: 999px;
		font-size: 0.6rem;
		font-weight: 700;
		letter-spacing: 0.04em;
		text-transform: uppercase;
		color: #ecfdf5;
		background: rgba(255, 255, 255, 0.1);
		border: 1px solid rgba(255, 255, 255, 0.22);
		flex-shrink: 0;
		white-space: nowrap;
	}
	.top-ranking-live-dot {
		width: 7px;
		height: 7px;
		border-radius: 50%;
		background: #4ade80;
		box-shadow: 0 0 0 0 rgba(74, 222, 128, 0.55);
		animation: top-ranking-live-pulse 2.2s ease-in-out infinite;
	}
	@keyframes top-ranking-live-pulse {
		0%, 100% { box-shadow: 0 0 0 0 rgba(74, 222, 128, 0.55); opacity: 1; }
		50% { box-shadow: 0 0 0 5px rgba(74, 222, 128, 0); opacity: 0.82; }
	}
	.top-ranking-live-status {
		margin: 0.35rem 0 0;
		font-size: 0.67rem;
		font-weight: 500;
		color: rgba(255, 255, 255, 0.72);
		display: flex;
		align-items: center;
		gap: 0.35rem;
		line-height: 1.3;
	}
	.top-ranking-live-status i {
		font-size: 0.72rem;
		opacity: 0.85;
	}
	.top-ranking-live-status__time {
		font-weight: 700;
		color: rgba(255, 255, 255, 0.92);
	}
	.top-ranking-slot--updated {
		animation: top-ranking-slot-flash 0.85s ease;
	}
	@keyframes top-ranking-slot-flash {
		0% { filter: brightness(1.35); }
		100% { filter: brightness(1); }
	}
	.top-ranking-trophy {
		flex-shrink: 0;
		width: 2.5rem;
		height: 2.5rem;
		display: flex;
		align-items: center;
		justify-content: center;
		background: linear-gradient(135deg, #fde68a, #f59e0b);
		border-radius: 12px;
		box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
	}
	.top-ranking-trophy i {
		font-size: 1.25rem;
		color: #78350f;
		animation: top-trophy-bounce 2.5s ease-in-out infinite;
	}
	.top-ranking-title {
		margin: 0 0 0.2rem;
		color: #fff;
		font-size: 0.95rem;
		font-weight: 800;
		line-height: 1.25;
		text-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
	}
	.top-ranking-desc {
		margin: 0;
		color: #fde68a;
		font-size: 0.78rem;
		font-weight: 600;
		line-height: 1.4;
	}
	.top-ranking-desc strong {
		color: #fef08a;
		font-weight: 800;
	}
	.top-ranking-prizes-box {
		position: relative;
		z-index: 1;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0.5rem;
		margin: 0 0 0.55rem;
		padding: 0.55rem 0.65rem;
		border-radius: 12px;
		background: rgba(0, 0, 0, 0.18);
		border: 1px solid rgba(167, 243, 208, 0.35);
	}
	.top-ranking-prizes-box__main {
		display: flex;
		align-items: center;
		gap: 0.5rem;
		min-width: 0;
	}
	.top-ranking-prizes-box__ico {
		width: 2rem;
		height: 2rem;
		border-radius: 999px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		background: rgba(253, 230, 138, 0.2);
		color: #fde68a;
		flex-shrink: 0;
	}
	.top-ranking-prizes-box__kicker {
		display: block;
		font-size: 0.58rem;
		font-weight: 700;
		letter-spacing: 0.05em;
		text-transform: uppercase;
		color: rgba(255, 255, 255, 0.75);
		line-height: 1.2;
	}
	.top-ranking-prizes-box__value {
		display: block;
		font-size: 1.05rem;
		font-weight: 900;
		color: #fff;
		line-height: 1.15;
		letter-spacing: -0.02em;
	}
	.top-ranking-prizes-box .top-ranking-live-status {
		margin: 0;
		font-size: 0.62rem;
		color: rgba(255, 255, 255, 0.8);
		white-space: nowrap;
	}
	.top-ranking-live-status--solo {
		position: relative;
		z-index: 1;
		margin: 0 0 0.5rem;
	}
	.top-ranking-hint {
		position: relative;
		z-index: 1;
		margin: 0.7rem 0 0;
		padding: 0.4rem 0.55rem;
		border-radius: 999px;
		border: 1px dashed rgba(167, 243, 208, 0.55);
		background: rgba(0, 0, 0, 0.12);
		color: rgba(255, 255, 255, 0.9);
		font-size: 0.72rem;
		font-weight: 600;
		text-align: center;
		line-height: 1.3;
	}
	.top-ranking-hint strong {
		color: #fde68a;
		font-weight: 800;
	}
	.top-compradores-fixo .compradores-list {
		position: relative;
		z-index: 1;
		display: grid;
		grid-template-columns: 1fr 1.15fr 1fr;
		grid-template-rows: auto auto;
		gap: 0.45rem;
		align-items: end;
		min-height: 0;
		padding: 0.15rem 0 0;
	}
	.top-compradores-fixo .comprador-item {
		background: rgba(255, 255, 255, 0.1);
		padding: 0.55rem 0.35rem 0.45rem;
		border-radius: 14px;
		text-align: center;
		box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		align-items: center;
		gap: 0.2rem;
		min-height: 7.2rem;
		border: 1.5px solid rgba(255, 255, 255, 0.22);
		transition: transform 0.2s ease, box-shadow 0.2s ease;
		overflow: visible;
		position: relative;
	}
	.top-compradores-fixo .comprador-item--rank-1 {
		grid-column: 2;
		grid-row: 1;
		min-height: 8.1rem;
		padding: 0.7rem 0.4rem 0.5rem;
		border-color: #fbbf24;
		background: linear-gradient(180deg, #fff 0%, #fffbeb 100%);
		animation: top-ranking-glow 2.2s ease-in-out infinite;
		transform: translateY(-0.55rem);
		z-index: 2;
		box-shadow: 0 8px 22px rgba(245, 158, 11, 0.35), 0 0 0 3px rgba(253, 230, 138, 0.25);
	}
	.top-compradores-fixo .comprador-item--rank-1:hover {
		transform: translateY(calc(-0.55rem - 2px));
	}
	.top-compradores-fixo .comprador-item--rank-1::after {
		content: "";
		position: absolute;
		inset: 0;
		border-radius: inherit;
		background: linear-gradient(105deg, transparent 35%, rgba(251, 191, 36, 0.22) 50%, transparent 65%);
		animation: top-ranking-shine 3.5s ease-in-out infinite;
		pointer-events: none;
	}
	.comprador-crown {
		position: absolute;
		top: -0.55rem;
		left: 50%;
		transform: translateX(-50%);
		width: 1.35rem;
		height: 1.35rem;
		border-radius: 999px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		background: linear-gradient(135deg, #fde68a, #f59e0b);
		color: #78350f;
		font-size: 0.72rem;
		box-shadow: 0 2px 8px rgba(245, 158, 11, 0.45);
		z-index: 3;
	}
	.top-compradores-fixo .comprador-item--rank-2 {
		grid-column: 1;
		grid-row: 1;
		transform: translateY(0.2rem);
		border-color: #94a3b8;
		box-shadow: 0 6px 18px rgba(100, 116, 139, 0.28), 0 0 0 3px rgba(148, 163, 184, 0.28);
	}
	.top-compradores-fixo .comprador-item--rank-3 {
		grid-column: 3;
		grid-row: 1;
		transform: translateY(0.2rem);
		border-color: #fb923c;
		box-shadow: 0 6px 18px rgba(234, 88, 12, 0.28), 0 0 0 3px rgba(253, 186, 116, 0.3);
	}
	.top-compradores-fixo .comprador-item--rank-4,
	.top-compradores-fixo .comprador-item--rank-5,
	.top-compradores-fixo .comprador-item--rank-6 {
		min-height: 5.6rem;
		background: rgba(0, 0, 0, 0.16);
		border-color: rgba(255, 255, 255, 0.16);
	}
	.top-compradores-fixo .comprador-item--rank-4 { grid-column: 1; grid-row: 2; }
	.top-compradores-fixo .comprador-item--rank-5 { grid-column: 2; grid-row: 2; }
	.top-compradores-fixo .comprador-item--rank-6 { grid-column: 3; grid-row: 2; }
	.top-compradores-fixo .comprador-item .posicao {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 0.2rem;
		font-size: 0.72rem;
		font-weight: 800;
		color: #fff;
		margin: 0;
	}
	.top-compradores-fixo .comprador-item--rank-1 .posicao {
		font-size: 0.82rem;
		color: #b45309;
	}
	.top-compradores-fixo .comprador-medal {
		font-size: 1rem;
		line-height: 1;
	}
	.top-compradores-fixo .comprador-medal--person {
		color: #c4b5fd !important;
	}
	.top-compradores-fixo .comprador-item--rank-1 .comprador-medal { font-size: 1.2rem; }
	.top-compradores-fixo .comprador-item .nome {
		font-size: 0.78rem;
		font-weight: 700;
		color: #fff;
		margin: 0;
		max-width: 100%;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		line-height: 1.2;
	}
	.top-compradores-fixo .comprador-item--rank-1 .nome {
		font-size: 0.88rem;
		font-weight: 800;
		color: #0f172a;
	}
	.top-compradores-fixo .top-comprador-premio {
		font-size: 0.68rem;
		font-weight: 800;
		color: #78350f;
		background: linear-gradient(180deg, #fef08a, #facc15);
		border: none;
		padding: 0.2rem 0.45rem;
		border-radius: 999px;
		line-height: 1.2;
		margin: 0;
		white-space: nowrap;
		max-width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
		box-shadow: 0 2px 8px rgba(245, 158, 11, 0.35);
	}
	.top-compradores-fixo .comprador-item--rank-1 .top-comprador-premio {
		font-size: 0.78rem;
	}
	.top-compradores-fixo .comprador-item.empty-item .top-comprador-premio {
		color: #78350f;
		background: linear-gradient(180deg, #fef08a, #facc15);
		border: none;
	}
	.top-compradores-fixo .comprador-item .top-compradores-qtd {
		font-size: 0.65rem;
		font-weight: 700;
		color: #86efac;
		background: transparent;
		padding: 0;
		border-radius: 0;
		margin: 0;
	}
	.top-compradores-fixo .comprador-item--rank-1 .top-compradores-qtd {
		color: #059669;
	}
	.top-compradores-fixo .comprador-item.empty-item {
		background: rgba(255, 255, 255, 0.1);
		border: 1.5px solid rgba(255, 255, 255, 0.2);
		box-shadow: none;
	}
	.top-compradores-fixo .comprador-item.empty-item .posicao {
		color: rgba(255, 255, 255, 0.85);
	}
	.top-compradores-fixo .comprador-item.empty-item .nome {
		color: rgba(255, 255, 255, 0.7);
		font-style: italic;
		font-weight: 500;
		font-size: 0.72rem;
	}
	.top-compradores-fixo .comprador-item.empty-item .comprador-medal {
		opacity: 0.75;
	}
	.top-ranking-slot-cta {
		margin-top: auto;
		width: 100%;
		padding: 0.28rem 0.3rem;
		border-radius: 999px;
		border: 1px solid rgba(253, 230, 138, 0.65);
		background: rgba(255, 255, 255, 0.08);
		color: #fef9c3;
		font-size: 0.58rem;
		font-weight: 800;
		letter-spacing: 0.03em;
		text-transform: uppercase;
		cursor: pointer;
		line-height: 1.2;
		transition: background 0.15s ease, transform 0.15s ease;
	}
	.top-ranking-slot-cta:hover {
		background: rgba(253, 230, 138, 0.2);
		transform: translateY(-1px);
	}
	.top-compradores-fixo .comprador-item--rank-1 .top-ranking-slot-cta {
		border-color: #f59e0b;
		background: linear-gradient(180deg, #fef08a, #facc15);
		color: #78350f;
	}
	.top-compradores-fixo .comprador-item--rank-4 .top-ranking-slot-cta,
	.top-compradores-fixo .comprador-item--rank-5 .top-ranking-slot-cta,
	.top-compradores-fixo .comprador-item--rank-6 .top-ranking-slot-cta {
		border-color: rgba(255, 255, 255, 0.28);
		color: #fff;
	}
	.top-ranking-countdown {
		margin-top: 0.7rem !important;
		border-radius: 12px !important;
		padding: 0.5rem 0.65rem !important;
	}
	.top-ranking-countdown-timer {
		display: inline-flex !important;
		align-items: center;
		gap: 0.2rem;
		max-width: none !important;
	}
	.top-ranking-cd-unit {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 1.85rem;
		padding: 0.22rem 0.3rem;
		border-radius: 8px;
		background: rgba(0, 0, 0, 0.35);
		border: 1px solid rgba(255, 255, 255, 0.18);
		font-size: 0.85rem;
		font-weight: 800;
		color: #fff;
		font-variant-numeric: tabular-nums;
	}
	.top-ranking-cd-sep {
		color: rgba(255, 255, 255, 0.55);
		font-weight: 800;
		font-size: 0.8rem;
	}

	/* Tema branco — fundo mint + cards brancos elevados */
	.top-compradores-fixo--branco::before {
		background:
			radial-gradient(ellipse 90% 55% at 50% -8%, rgba(52, 211, 153, 0.22), transparent 55%),
			radial-gradient(circle at 12% 88%, rgba(250, 204, 21, 0.12), transparent 40%),
			radial-gradient(circle at 90% 70%, rgba(16, 185, 129, 0.1), transparent 38%);
	}
	.top-compradores-fixo--branco .top-ranking-title {
		color: #052e16 !important;
		text-shadow: none !important;
	}
	.top-compradores-fixo--branco .top-ranking-desc {
		color: #047857 !important;
	}
	.top-compradores-fixo--branco .top-ranking-desc strong {
		color: #15803d !important;
	}
	.top-compradores-fixo--branco .top-ranking-live-badge {
		color: #fff !important;
		background: linear-gradient(135deg, #16a34a, #059669) !important;
		border-color: transparent !important;
		box-shadow: 0 2px 8px rgba(5, 150, 105, 0.35);
	}
	.top-compradores-fixo--branco .top-ranking-live-dot {
		background: #bbf7d0 !important;
		box-shadow: 0 0 0 0 rgba(187, 247, 208, 0.6);
	}
	.top-compradores-fixo--branco .top-ranking-live-status,
	.top-compradores-fixo--branco .top-ranking-prizes-box .top-ranking-live-status {
		color: #475569 !important;
	}
	.top-compradores-fixo--branco .top-ranking-live-status__time {
		color: #0f172a !important;
	}
	.top-compradores-fixo--branco .top-ranking-prizes-box {
		background: linear-gradient(135deg, #dcfce7 0%, #ecfdf5 55%, #fff 100%) !important;
		border: 1.5px solid #4ade80 !important;
		box-shadow: 0 4px 14px rgba(22, 163, 74, 0.12);
	}
	.top-compradores-fixo--branco .top-ranking-prizes-box__kicker {
		color: #166534 !important;
	}
	.top-compradores-fixo--branco .top-ranking-prizes-box__value {
		color: #14532d !important;
	}
	.top-compradores-fixo--branco .top-ranking-prizes-box__ico {
		background: linear-gradient(135deg, #16a34a, #22c55e) !important;
		color: #fff !important;
		box-shadow: 0 2px 8px rgba(22, 163, 74, 0.3);
	}
	.top-compradores-fixo--branco .top-ranking-hint {
		background: #fff !important;
		border: 1.5px dashed #34d399 !important;
		color: #334155 !important;
		box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
	}
	.top-compradores-fixo--branco .top-ranking-hint strong {
		color: #15803d !important;
	}
	.top-compradores-fixo--branco .comprador-item {
		background: #fff !important;
		border: 1.5px solid #cbd5e1 !important;
		box-shadow: 0 6px 18px rgba(15, 23, 42, 0.1) !important;
	}
	.top-compradores-fixo--branco .comprador-item--rank-4,
	.top-compradores-fixo--branco .comprador-item--rank-5,
	.top-compradores-fixo--branco .comprador-item--rank-6,
	.top-compradores-fixo--branco .comprador-item--rank-4.empty-item,
	.top-compradores-fixo--branco .comprador-item--rank-5.empty-item,
	.top-compradores-fixo--branco .comprador-item--rank-6.empty-item {
		background: #fff !important;
		border: 1.5px solid #a7f3d0 !important;
		box-shadow: 0 4px 14px rgba(16, 185, 129, 0.1) !important;
	}
	.top-compradores-fixo--branco .comprador-item--rank-1,
	.top-compradores-fixo--branco .comprador-item--rank-1.empty-item {
		background: linear-gradient(180deg, #fff 0%, #fffbeb 100%) !important;
		border: 2.5px solid #f59e0b !important;
		box-shadow: 0 10px 28px rgba(245, 158, 11, 0.35), 0 0 0 4px rgba(253, 230, 138, 0.35) !important;
	}
	/* 2º e 3º — por último pra não perder o destaque pro empty-item */
	.top-compradores-fixo--branco .comprador-item--rank-2,
	.top-compradores-fixo--branco .comprador-item--rank-2.empty-item {
		background: linear-gradient(180deg, #fff 0%, #f8fafc 100%) !important;
		border: 2.5px solid #94a3b8 !important;
		box-shadow: 0 10px 28px rgba(100, 116, 139, 0.32), 0 0 0 4px rgba(148, 163, 184, 0.35) !important;
	}
	.top-compradores-fixo--branco .comprador-item--rank-3,
	.top-compradores-fixo--branco .comprador-item--rank-3.empty-item {
		background: linear-gradient(180deg, #fff 0%, #fff7ed 100%) !important;
		border: 2.5px solid #f97316 !important;
		box-shadow: 0 10px 28px rgba(249, 115, 22, 0.32), 0 0 0 4px rgba(253, 186, 116, 0.35) !important;
	}
	.top-compradores-fixo--branco .comprador-item .posicao,
	.top-compradores-fixo--branco .comprador-item .posicao span,
	.top-compradores-fixo--branco .comprador-item .nome,
	.top-compradores-fixo--branco .comprador-item.empty-item .posicao,
	.top-compradores-fixo--branco .comprador-item.empty-item .nome {
		color: #0f172a !important;
	}
	.top-compradores-fixo--branco .comprador-item.empty-item .nome {
		color: #64748b !important;
		opacity: 1 !important;
	}
	.top-compradores-fixo--branco .comprador-item--rank-1 .posicao {
		color: #b45309 !important;
	}
	.top-compradores-fixo--branco .comprador-item--rank-1 .nome {
		color: #0f172a !important;
	}
	.top-compradores-fixo--branco .comprador-item .top-compradores-qtd,
	.top-compradores-fixo--branco .comprador-item--rank-1 .top-compradores-qtd {
		color: #059669 !important;
		background: #ecfdf5 !important;
		padding: 0.1rem 0.4rem !important;
		border-radius: 999px !important;
	}
	.top-compradores-fixo--branco .comprador-medal--person {
		color: #7c3aed !important;
		opacity: 1 !important;
	}
	.top-compradores-fixo--branco .comprador-item.empty-item .comprador-medal {
		opacity: 1 !important;
	}
	.top-compradores-fixo--branco .top-ranking-slot-cta,
	.top-compradores-fixo--branco .comprador-item--rank-2 .top-ranking-slot-cta,
	.top-compradores-fixo--branco .comprador-item--rank-3 .top-ranking-slot-cta,
	.top-compradores-fixo--branco .comprador-item--rank-4 .top-ranking-slot-cta,
	.top-compradores-fixo--branco .comprador-item--rank-5 .top-ranking-slot-cta,
	.top-compradores-fixo--branco .comprador-item--rank-6 .top-ranking-slot-cta,
	.top-compradores-fixo--branco .comprador-item.empty-item .top-ranking-slot-cta {
		border: none !important;
		background: linear-gradient(135deg, #16a34a, #22c55e) !important;
		color: #fff !important;
		box-shadow: 0 3px 10px rgba(22, 163, 74, 0.3);
	}
	.top-compradores-fixo--branco .comprador-item--rank-1 .top-ranking-slot-cta {
		border: none !important;
		background: linear-gradient(180deg, #fef08a, #f59e0b) !important;
		color: #78350f !important;
		box-shadow: 0 3px 12px rgba(245, 158, 11, 0.4);
	}
	.top-compradores-fixo--branco .top-ranking-countdown {
		background: #fff !important;
		border: 1.5px solid #86efac !important;
		box-shadow: 0 3px 12px rgba(16, 185, 129, 0.1);
	}
	.top-compradores-fixo--branco .top-ranking-countdown-label {
		color: #047857 !important;
	}
	.top-compradores-fixo--branco .top-ranking-countdown-timer,
	.top-compradores-fixo--branco .top-ranking-cd-unit {
		color: #0f172a !important;
	}
	.top-compradores-fixo--branco .top-ranking-cd-unit {
		background: #ecfdf5 !important;
		border-color: #86efac !important;
		box-shadow: 0 1px 4px rgba(16, 185, 129, 0.12);
	}
	.top-compradores-fixo--branco .top-ranking-cd-sep {
		color: #64748b !important;
	}

	@media (min-width: 769px) {
		.top-compradores-fixo {
			max-width: 900px;
			margin-left: auto;
			margin-right: auto;
			padding: 1.15rem 1rem;
		}
		.top-compradores-fixo .compradores-list {
			gap: 0.6rem;
		}
	}
	@media (max-width: 380px) {
		.top-compradores-fixo .comprador-item .nome { font-size: 0.7rem; }
		.top-compradores-fixo .comprador-item { min-height: 6.6rem; }
		.top-compradores-fixo .comprador-item--rank-1 {
			min-height: 7.4rem;
			transform: translateY(-0.45rem);
		}
		.top-ranking-slot-cta { font-size: 0.52rem; }
	}
	@media (prefers-reduced-motion: reduce) {
		.top-ranking-trophy i,
		.top-compradores-fixo .comprador-item--rank-1,
		.top-compradores-fixo .comprador-item--rank-1::after {
			animation: none !important;
		}
	}

	/* Ver meus bilhetes / Como comprar — pills brancos */
	.btn-meus-bilhetes,
	.btn-como-comprar {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		gap: 0.55rem;
		width: 100%;
		min-height: 3.15rem;
		padding: 0.85rem 1.1rem !important;
		font-size: 0.95rem !important;
		font-weight: 500 !important;
		letter-spacing: -0.01em;
		line-height: 1.25;
		color: #374151 !important;
		background: #ffffff !important;
		border: 1px solid #e5e7eb !important;
		border-radius: 14px !important;
		box-shadow: none;
		transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, transform 0.15s ease;
	}

	.btn-meus-bilhetes .bi,
	.btn-como-comprar .bi {
		flex-shrink: 0;
		line-height: 1;
	}

	.btn-meus-bilhetes .bi {
		font-size: 1.15rem;
		color: #ec4899;
	}

	.btn-como-comprar .bi {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 1.35rem;
		height: 1.35rem;
		font-size: 0.72rem;
		color: #fff;
		background: #3b82f6;
		border-radius: 6px;
	}

	.btn-meus-bilhetes span,
	.btn-como-comprar span {
		white-space: nowrap;
		color: #374151;
	}

	.btn-meus-bilhetes:hover,
	.btn-meus-bilhetes:focus,
	.btn-como-comprar:hover,
	.btn-como-comprar:focus {
		color: #111827 !important;
		background: #fafafa !important;
		border-color: #d1d5db !important;
		box-shadow: 0 2px 10px rgba(15, 23, 42, 0.06);
		transform: translateY(-1px);
	}

	.btn-meus-bilhetes:active,
	.btn-como-comprar:active {
		background: #f3f4f6 !important;
		box-shadow: none;
		transform: none;
	}

	/* Promoção — tamanho médio (entre compacto e grande) */
	.promo-caixa-confianca,
	.app-promocao-numeros.promo-caixa-unica {
		background: #fff !important;
		border: 1px solid #e2e8f0 !important;
		border-radius: 12px !important;
		box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06) !important;
		overflow: hidden;
		position: relative;
	}

	.promo-caixa-confianca::before {
		display: none;
	}

	.promo-caixa-confianca .promo-titulo-confianca {
		background: #fff !important;
		border-bottom: 1px solid #eef2f7 !important;
		padding: 0.7rem 0.75rem !important;
		justify-content: flex-start !important;
	}

	.promo-caixa-confianca .promo-titulo-confianca .secao-titulo-box-inner {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 0.65rem !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}

	.promo-trust-badge {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 2.35rem;
		height: 2.35rem;
		flex-shrink: 0;
		border-radius: 12px;
		background: #16a34a;
		color: #fff;
		line-height: 1;
		box-shadow: 0 4px 12px rgba(22, 163, 74, 0.28);
	}

	.promo-trust-badge .bi {
		font-size: 1.15rem;
		line-height: 1;
		display: block;
		color: #fdba74;
	}

	.promo-kicker {
		display: none;
	}

	.promo-caixa-confianca .promo-titulo-textos {
		text-align: left;
		line-height: 1.25;
		flex: 1 1 auto;
		min-width: 0;
	}

	.promo-titulo-dourado,
	.promo-caixa-confianca .secao-titulo-texto {
		display: block;
		font-size: 1rem !important;
		font-weight: 800 !important;
		letter-spacing: -0.02em;
		line-height: 1.2;
		background: none !important;
		-webkit-background-clip: unset !important;
		background-clip: unset !important;
		-webkit-text-fill-color: #0f172a !important;
		color: #0f172a !important;
		animation: none !important;
	}

	.app-promocao-numeros.promo-caixa-confianca .app-title h1 {
		font-size: 1rem !important;
		font-weight: 800 !important;
		color: #0f172a !important;
		margin-bottom: 0.15rem;
		line-height: 1.2;
	}

	.app-promocao-numeros.promo-caixa-confianca .app-title h1 .promo-titulo-dourado {
		display: inline;
	}

	.promo-caixa-confianca .secao-titulo-desc {
		display: block;
		margin-top: 0.12rem;
		font-size: 0.75rem !important;
		font-weight: 500 !important;
		color: #64748b !important;
		opacity: 1 !important;
	}

	.promo-max-discount-badge {
		flex: 0 0 auto !important;
		margin-left: auto !important;
		display: inline-flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		min-width: 3rem;
		padding: 0.4rem 0.45rem;
		border-radius: 10px;
		background: #fff7ed !important;
		border: 1px solid #ffedd5 !important;
		line-height: 1.05;
		text-align: center;
		visibility: visible !important;
		opacity: 1 !important;
	}

	.promo-max-discount-badge.is-empty {
		display: none !important;
	}

	.promo-max-discount-badge strong,
	.promo-max-discount-badge small {
		background: none !important;
		-webkit-background-clip: unset !important;
		background-clip: unset !important;
		-webkit-text-fill-color: #ea580c !important;
		color: #ea580c !important;
		animation: none !important;
	}

	.promo-max-discount-badge strong {
		font-size: 0.95rem;
		font-weight: 800;
		letter-spacing: -0.02em;
	}

	.promo-max-discount-badge small {
		font-size: 0.58rem;
		font-weight: 800;
		letter-spacing: 0.06em;
		text-transform: uppercase;
		color: #f97316 !important;
		-webkit-text-fill-color: #f97316 !important;
	}

	.promo-caixa-confianca .promo-descontos-dentro {
		padding: 0.55rem 0.6rem 0.6rem !important;
		background: #fafbfc;
		max-width: 100%;
		overflow: hidden;
		box-sizing: border-box;
	}

	.app-promocao-numeros.promo-caixa-confianca,
	.app-promocao-numeros.promo-caixa-unica {
		max-width: 100%;
		overflow: hidden;
		box-sizing: border-box;
		container-type: inline-size;
		container-name: promo-caixa;
	}

	.app-promocao-numeros .promo-grid-wrap {
		gap: 0.4rem;
		max-width: 100%;
		min-width: 0;
	}

	.app-promocao-numeros .promo-grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.4rem;
		padding: 0.35rem 0 0;
		margin: 0;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.app-promocao-numeros .promo-item {
		position: relative;
		min-width: 0;
		max-width: 100%;
	}

	.promo-selo-oferta {
		position: absolute;
		top: -0.35rem;
		left: 50%;
		transform: translateX(-50%);
		z-index: 2;
		padding: 0.1rem 0.35rem;
		border-radius: 999px;
		font-size: 0.5rem;
		font-weight: 800;
		text-transform: uppercase;
		letter-spacing: 0.03em;
		color: #fff;
		background: linear-gradient(90deg, #047857, #10b981);
		box-shadow: 0 1px 4px rgba(5, 150, 105, 0.35);
		white-space: nowrap;
		line-height: 1.3;
		max-width: calc(100% - 0.35rem);
		overflow: hidden;
		text-overflow: ellipsis;
		box-sizing: border-box;
	}

	.promo-selo-popular {
		background: linear-gradient(90deg, #1d4ed8, #3b82f6);
		box-shadow: 0 1px 4px rgba(37, 99, 235, 0.35);
	}

	.promo-item-destaque .promo-btn-confianca {
		border-color: #10b981 !important;
		box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.25), 0 2px 8px rgba(15, 23, 42, 0.08) !important;
	}

	.app-promocao-numeros .promo-btn-confianca,
	.app-promocao-numeros .promo-grid .promo-item .btn.promo-btn-confianca {
		min-height: 2.4rem;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		background: #fff !important;
		border: 1px solid #e2e8f0 !important;
		color: #0f172a !important;
		font-weight: 500 !important;
		font-size: 0.68rem !important;
		padding: 0.38rem 0.32rem !important;
		border-radius: 10px !important;
		box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
		display: flex !important;
		flex-direction: row !important;
		justify-content: space-between !important;
		align-items: center !important;
		gap: 0.25rem;
		text-align: left;
		line-height: 1.15;
		white-space: normal !important;
		overflow: hidden;
		box-sizing: border-box;
		transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
	}

	.app-promocao-numeros .promo-btn-confianca:hover {
		border-color: #10b981 !important;
		box-shadow: 0 4px 12px rgba(5, 150, 105, 0.15) !important;
		transform: translateY(-1px);
	}

	.app-promocao-numeros .promo-btn-confianca:active {
		transform: translateY(0);
		background: #f8fafc !important;
	}

	.app-promocao-numeros .promo-btn-corpo {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 0.02rem;
		flex: 1 1 auto;
		min-width: 0;
		max-width: 58%;
		overflow: hidden;
	}

	.app-promocao-numeros .promo-btn-qty {
		font-size: 0.6rem !important;
		color: #64748b !important;
		line-height: 1.15;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		max-width: 100%;
	}

	.app-promocao-numeros .promo-btn-qty b {
		font-size: 0.68rem;
		font-weight: 800;
		color: #0f172a;
	}

	.app-promocao-numeros .promo-btn-por {
		font-size: 0.58rem;
		font-weight: 600;
		color: #0f172a;
		text-transform: lowercase;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		max-width: 100%;
	}

	.app-promocao-numeros .promo-btn-lado-direito {
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		justify-content: center;
		gap: 0.12rem;
		flex: 0 1 auto;
		min-width: 0;
		max-width: 42%;
	}

	.app-promocao-numeros .promo-economia-badge {
		display: none;
	}

	.app-promocao-numeros .promo-btn-price {
		display: inline-block;
		padding: 0.22rem 0.32rem !important;
		border-radius: 6px !important;
		background: #1e293b !important;
		color: #fff !important;
		font-size: 0.62rem !important;
		font-weight: 800 !important;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		max-width: 100%;
		box-shadow: 0 1px 3px rgba(15, 23, 42, 0.2);
	}

	.app-promocao-numeros .promo-grid {
		padding-top: 0.25rem;
	}

	.app-promocao-numeros .app-title {
		text-align: center;
		padding: 0.6rem 0.7rem 0.55rem;
		background: linear-gradient(180deg, #ecfdf5 0%, #f8fffb 100%);
		border-bottom: 1px solid #e2e8f0;
		margin-bottom: 0 !important;
	}

	.app-promocao-numeros:not(.promo-caixa-confianca) .app-title h1 {
		font-size: 0.95rem !important;
		font-weight: 700 !important;
		color: #0f172a !important;
		margin-bottom: 0.15rem;
		line-height: 1.2;
	}

	.app-promocao-numeros .app-title-desc {
		font-size: 0.72rem !important;
		color: #64748b !important;
		font-weight: 500;
		line-height: 1.25;
	}

	.app-promocao-numeros.promo-caixa-confianca .app-card .card-body {
		padding: 0.45rem 0.5rem 0.5rem !important;
	}

	.app-promocao-numeros.promo-caixa-confianca .app-card .row.px-2 {
		margin-left: -0.2rem;
		margin-right: -0.2rem;
	}

	.app-promocao-numeros.promo-caixa-confianca .app-card .col-auto.px-1.mb-2 {
		margin-bottom: 0.4rem !important;
		padding-left: 0.2rem !important;
		padding-right: 0.2rem !important;
	}

	.app-promocao-numeros.promo-caixa-confianca .app-card .btn.btn-success {
		min-height: 2.4rem;
		background: #fff !important;
		border: 1px solid #e2e8f0 !important;
		color: #0f172a !important;
		font-size: 0.72rem !important;
		padding: 0.45rem 0.5rem !important;
		border-radius: 10px !important;
		line-height: 1.2;
		box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
	}

	.app-promocao-numeros.promo-caixa-confianca .app-card .btn.btn-success:hover {
		border-color: #10b981 !important;
		box-shadow: 0 4px 12px rgba(5, 150, 105, 0.12) !important;
	}

	/* Sempre 2 colunas: 2 em cima + 2 embaixo */
	.app-promocao-numeros .promo-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	/* Menu mobile — push + drawer (menu fora de #__next para não mover com o push) */
	:root {
		--mobile-menu-width: min(85vw, 320px);
	}
	body.menu-push-open {
		overflow: hidden;
	}
	@media (max-width: 991.98px) {
		#__next {
			position: relative;
			z-index: 1;
			transition: transform 0.38s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.38s ease;
		}
		body.menu-push-open #__next {
			transform: translateX(var(--mobile-menu-width));
			box-shadow: -12px 0 32px rgba(15, 23, 42, 0.15);
			overflow: hidden;
		}
	}
	#mobileMenu.mobile-menu-drawer {
		position: fixed;
		inset: 0;
		z-index: 10050;
		display: block;
		visibility: hidden;
		pointer-events: none;
	}
	#mobileMenu.mobile-menu-drawer:not(.is-open) {
		z-index: -1;
		visibility: hidden;
		pointer-events: none;
	}
	/* Modal no body (script no footer): não elevar #__next — senão rodapé/alerta ficam na frente do modal */
	body.modal-open #__next {
		transform: none !important;
	}
	body.modal-open .modal-backdrop {
		z-index: 1050 !important;
	}
	body > .modal.show {
		z-index: 1055 !important;
	}
	#mobileMenu.mobile-menu-drawer.is-open {
		visibility: visible;
		pointer-events: auto;
	}
	.mobile-menu-drawer__backdrop {
		position: fixed;
		inset: 0;
		width: 100%;
		height: 100%;
		margin: 0;
		padding: 0;
		border: none;
		background: rgba(15, 23, 42, 0.45);
		opacity: 0;
		transition: opacity 0.35s ease;
		cursor: pointer;
		z-index: 0;
	}
	#mobileMenu.mobile-menu-drawer.is-open .mobile-menu-drawer__backdrop {
		opacity: 1;
	}
	#mobileMenu.mobile-menu-drawer .mobile-menu-drawer__dialog {
		position: fixed;
		left: 0;
		top: 0;
		margin: 0;
		max-width: var(--mobile-menu-width);
		width: var(--mobile-menu-width);
		min-width: var(--mobile-menu-width);
		height: 100%;
		min-height: 100dvh;
		transform: translateX(-100%);
		transition: transform 0.38s cubic-bezier(0.22, 1, 0.36, 1);
		z-index: 1;
	}
	#mobileMenu.mobile-menu-drawer.is-open .mobile-menu-drawer__dialog {
		transform: translateX(0);
		pointer-events: auto;
		z-index: 2;
	}
	#mobileMenu.mobile-menu-drawer .mobile-menu-drawer__dialog,
	#mobileMenu.mobile-menu-drawer .mobile-menu-drawer__panel,
	#mobileMenu.mobile-menu-drawer .mobile-menu-drawer__nav a,
	#mobileMenu.mobile-menu-drawer .mobile-menu-drawer__footer a {
		pointer-events: auto;
	}
	#mobileMenu.mobile-menu-drawer .mobile-menu-drawer__panel {
		height: 100%;
		min-height: 100dvh;
		width: 100%;
		max-width: 100%;
		overflow-x: hidden;
		overflow-y: auto;
		border: none;
		border-radius: 0;
		background: #fff;
		color: #1e293b;
		box-shadow: 4px 0 24px rgba(15, 23, 42, 0.12);
		display: flex;
		flex-direction: column;
	}
	#mobileMenu.mobile-menu-drawer .mobile-menu-drawer__body {
		padding: 0;
		display: flex;
		flex-direction: column;
		flex: 1;
		min-height: 0;
	}
	.mobile-menu-drawer__head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0.5rem;
		padding: max(0.65rem, env(safe-area-inset-top)) 0.85rem 0.65rem;
		background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	}
	.mobile-menu-drawer__brand {
		display: flex;
		align-items: center;
		min-width: 0;
	}
	.mobile-menu-drawer__logo {
		height: 2.1rem;
		width: auto;
		max-width: 9rem;
		object-fit: contain;
		filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.2));
	}
	.mobile-menu-drawer__close {
		flex-shrink: 0;
		width: 2.25rem;
		height: 2.25rem;
		border: none;
		border-radius: 50%;
		background: rgba(255, 255, 255, 0.2);
		color: #fff;
		font-size: 1.1rem;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		transition: background 0.2s ease, transform 0.2s ease;
	}
	.mobile-menu-drawer__close:hover {
		background: rgba(255, 255, 255, 0.32);
		transform: scale(1.05);
	}
	.mobile-menu-drawer__body {
		flex: 1;
		display: flex;
		flex-direction: column;
		padding: 0.75rem 0.85rem max(1rem, env(safe-area-inset-bottom));
		overflow-y: auto;
	}
	.mobile-menu-drawer__support {
		text-align: center;
		margin-bottom: 0.5rem;
	}
	.mobile-menu-drawer__support-img {
		width: 4.5rem;
		height: 4.5rem;
		object-fit: contain;
		opacity: 0.95;
	}
	.mobile-menu-drawer__user {
		display: flex;
		align-items: center;
		gap: 0.6rem;
		padding: 0.55rem 0.65rem;
		margin-bottom: 0.65rem;
		background: #f1f5f9;
		border-radius: 12px;
	}
	.mobile-menu-drawer__user-avatar {
		width: 2.25rem;
		height: 2.25rem;
		border-radius: 50%;
		object-fit: cover;
	}
	.mobile-menu-drawer__user-text {
		font-size: 0.82rem;
		color: #334155;
		line-height: 1.3;
	}
	.mobile-menu-drawer__nav ul {
		list-style: none;
		margin: 0;
		padding: 0;
	}
	.mobile-menu-drawer__nav li {
		margin-bottom: 0.35rem;
	}
	.mobile-menu-drawer__nav a {
		display: flex;
		align-items: center;
		gap: 0.65rem;
		padding: 0.8rem 0.85rem;
		border-radius: 12px;
		text-decoration: none;
		color: #667eea;
		font-size: 0.95rem;
		font-weight: 600;
		transition: background 0.2s ease, transform 0.15s ease, color 0.2s ease;
	}
	.mobile-menu-drawer__nav a span {
		flex: 1;
		min-width: 0;
	}
	.mobile-menu-drawer__nav a i {
		font-size: 1.15rem;
		width: 1.35rem;
		text-align: center;
		flex-shrink: 0;
		opacity: 0.9;
	}
	.mobile-menu-drawer__nav a:hover,
	.mobile-menu-drawer__nav a:focus {
		background: rgba(102, 126, 234, 0.08);
		color: #764ba2;
		transform: translateX(3px);
	}
	.mobile-menu-drawer__footer {
		margin-top: auto;
		padding-top: 0.85rem;
	}
	.mobile-menu-drawer__logout,
	.mobile-menu-drawer__login {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 0.5rem;
		width: 100%;
		padding: 0.85rem 1rem;
		border-radius: 12px;
		font-size: 1rem;
		font-weight: 700;
		text-decoration: none;
		transition: transform 0.2s ease, box-shadow 0.2s ease;
	}
	.mobile-menu-drawer__logout {
		background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
		color: #fff !important;
		box-shadow: 0 4px 14px rgba(22, 163, 74, 0.35);
	}
	.mobile-menu-drawer__login {
		background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
		color: #fff !important;
		box-shadow: 0 4px 14px rgba(102, 126, 234, 0.35);
	}
	.mobile-menu-drawer__logout:hover,
	.mobile-menu-drawer__login:hover {
		transform: translateY(-2px);
		box-shadow: 0 6px 18px rgba(15, 23, 42, 0.15);
		color: #fff !important;
	}
	@media (prefers-reduced-motion: reduce) {
		body.menu-push-open #__next,
		#mobileMenu.mobile-menu-drawer .mobile-menu-drawer__dialog,
		.mobile-menu-drawer__backdrop {
			transition: none !important;
		}
	}

	/* PC/tablet: coluna central mais larga que o mobile (celular real não muda) */
	@media (min-width: 768px) {
		body:has(.header-app-header.campanha) {
			background-color: #e2e8f0 !important;
		}
		body:has(.header-app-header.campanha) #__next {
			max-width: 560px;
			width: 100%;
			margin-left: auto;
			margin-right: auto;
			box-sizing: border-box;
			box-shadow: 0 12px 48px rgba(15, 23, 42, 0.14);
			background-color: var(--custom-background, #ffffff);
			min-height: 100vh;
		}
		body:has(.header-app-header.campanha) .container.app-main,
		body:has(.header-app-header.campanha) .container.app-main.campanha-page-overlay {
			max-width: 100% !important;
			width: 100% !important;
			margin-left: auto !important;
			margin-right: auto !important;
			padding-left: 0 !important;
			padding-right: 0 !important;
			box-sizing: border-box !important;
		}
		body:has(.header-app-header.campanha) .header-app-header .header-app-header-container,
		body:has(.header-app-header.campanha) .header-app-header .container-600 {
			max-width: 100% !important;
			width: 100% !important;
			margin-left: auto !important;
			margin-right: auto !important;
			box-sizing: border-box !important;
		}
		body:has(.header-app-header.campanha) .campanha-header .SorteioTpl_imagem__2GXxI,
		body:has(.header-app-header.campanha) .campanha-header .custom-image,
		body:has(.header-app-header.campanha) .campanha-header .custom-image img {
			max-height: 70vh;
			object-fit: cover;
		}
		body:has(.header-app-header.campanha) .bilhetes-express-confianca .bilhetes-express-grid {
			grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		}
		body:has(.header-app-header.campanha) .app-promocao-numeros .promo-grid {
			grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		}
		body:has(.header-app-header.campanha) .promo-banner-top-inner {
			max-width: 100% !important;
		}
	}


