




	/* Cores Personalizadas do Site */
	:root {
		--custom-primary: #000000;
		--custom-secondary: #fafe2a;
		--custom-success: #22c55e;
		--custom-danger: #ef4444;
		--custom-warning: #f59e0b;
		--custom-info: #3b82f6;
		--custom-background: #e8e8e8;
		--custom-text: #000000;
		--custom-card-bg: #ffffff;
		--custom-button-primary: #15803d;
		--custom-button-text: #ffffff;
	}
	
	/* 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;
	}
	
	.text-primary {
		color: var(--custom-primary) !important;
	}
	
	.border-primary {
		border-color: var(--custom-primary) !important;
	}
	
	/* Header semi-transparente com a cor do tema (efeito glass) */
	.header-app-header .header-app-header-container,
	.header-app-header.campanha.campanha-header--solid .header-app-header-container {
		background-color: rgba(0, 0, 0, 0.75) !important;
		-webkit-backdrop-filter: blur(12px) !important;
		backdrop-filter: blur(12px) !important;
		transition: background-color 0.3s ease;
	}
	.header-app-header.scrolled .header-app-header-container,
	.header-app-header.campanha.campanha-header--solid.scrolled .header-app-header-container {
		background-color: rgba(0, 0, 0, 0.5) !important;
	}
	.header-app-header .header-app-header-container .header-app-brand,
	.header-app-header .header-app-header-container .btn-link,
	.header-app-header .header-app-header-container [class*="Header_btn"] {
		color: #ffffff !important;
	}

	/* Campanha: barra compacta acima do banner */
	.header-app-header.campanha.campanha-header--solid {
		position: sticky !important;
		top: 0;
	}
	.header-app-header.campanha.campanha-header--solid .header-app-header-container {
		background: linear-gradient(180deg, rgba(0, 0, 0, 0.96) 0%, rgba(0, 0, 0, 0.9) 100%) !important;
		-webkit-backdrop-filter: none !important;
		backdrop-filter: none !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
		box-shadow: none !important;
	}
	.header-app-header.campanha.campanha-header--solid.scrolled .header-app-header-container {
		background: rgba(0, 0, 0, 0.97) !important;
		box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08) !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;
	}
	.campanha-has-overlay-header > .header-app-header.campanha-header--overlay {
		display: none !important;
		height: 0 !important;
		overflow: hidden !important;
		visibility: hidden !important;
		pointer-events: 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;
	}
	.campanha-overlay-top {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		z-index: 120;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0.5rem;
		padding:
			max(0.45rem, env(safe-area-inset-top, 0px))
			max(0.35rem, env(safe-area-inset-right, 0px))
			0.35rem
			max(0.35rem, env(safe-area-inset-left, 0px));
		pointer-events: none;
		box-sizing: border-box;
	}
	.campanha-overlay-top a,
	.campanha-overlay-top button {
		pointer-events: auto;
		position: relative;
		z-index: 121;
	}
	/* 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: 2.75rem 0.65rem 0.75rem !important;
		box-sizing: border-box;
		z-index: 20;
	}
	.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, #000000 0%, #fafe2a 100%);
		color: #fff;
		font-size: 1.25rem;
		box-shadow: 0 4px 14px rgba(0, 0, 0, 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__heading,
	#newCheckoutModal.checkout-modal-pro .checkout-modal-pro__titles span {
		display: block;
		font-size: 0.8rem;
		font-weight: 500;
		color: #64748b !important;
		line-height: 1.3;
	}
	#newCheckoutModal.checkout-modal-pro .checkout-modal-pro__campaign {
		display: block;
		font-size: 1rem;
		font-weight: 700;
		color: #0f172a !important;
		line-height: 1.25;
		margin-top: 0.2rem;
		word-break: break-word;
	}
	#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, #22c55e 0%, #15803d 100%) !important;
		color: #fff !important;
		border-color: rgba(34, 197, 94, 0.3) !important;
		box-shadow: 0 4px 12px rgba(34, 197, 94, 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, #000000 0%, #22c55e 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: #000000 !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, #22c55e 0%, #15803d 100%) !important;
		box-shadow: 0 4px 12px rgba(34, 197, 94, 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: #000000 !important;
		box-shadow: 0 0 0 3px rgba(0, 0, 0, 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: #000000 !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, #22c55e 0%, #15803d 100%) !important;
		box-shadow: 0 6px 18px rgba(34, 197, 94, 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(34, 197, 94, 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(34, 197, 94, 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;
		}
	}

	/* 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 {
		font-weight: 800;
		letter-spacing: 0.01em;
		font-size: 1rem;
		line-height: 1.15;
	}
	.campanha-cta-principal .bilhetes-cta-sub {
		display: block;
		margin-top: 0.1rem;
		font-size: 0.625rem;
		font-weight: 600;
		opacity: 0.92;
		line-height: 1.2;
	}
	.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.35rem 0.55rem 0.35rem 0.65rem;
		border-radius: 999px;
		background: #fff;
		color: #047857 !important;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
	}
	.campanha-cta-principal .bilhetes-cta-price {
		font-size: 0.9375rem !important;
		font-weight: 800 !important;
		color: #047857 !important;
		opacity: 1 !important;
		font-variant-numeric: tabular-nums;
	}
	.campanha-cta-principal .bilhetes-cta-arrow {
		font-size: 1.25rem;
		line-height: 1;
		color: #059669;
		margin-left: -0.15rem;
	}
	@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-badge-urgency {
		background: #fef3c7 !important;
		color: #92400e !important;
		border: 1px solid #fcd34d;
		font-weight: 700 !important;
	}

	/* Bilhetes express — bloco único compacto */
	.bilhetes-express-box {
		background: #fff;
		border: 1px solid #e2e8f0;
		border-radius: 14px;
		overflow: hidden;
		box-shadow: 0 2px 14px rgba(15, 23, 42, 0.07);
	}
	.bilhetes-express-box .numeros-select,
	.bilhetes-express-box .bilhetes-express-body {
		width: 100%;
	}
	.bilhetes-express-intro {
		padding: 0.65rem 0.7rem;
		margin: 0;
		background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
		border-bottom: 1px solid #f1f5f9;
		border-radius: 0;
	}
	.bilhetes-express-intro-row {
		display: flex;
		align-items: center;
		gap: 0.55rem;
		text-align: left;
	}
	.bilhetes-express-intro-icon {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
		width: 2rem;
		height: 2rem;
		margin: 0;
		border-radius: 50%;
		background: linear-gradient(145deg, #fef3c7 0%, #fde68a 100%);
		color: #b45309;
		font-size: 0.95rem;
	}
	.bilhetes-express-intro-text {
		min-width: 0;
	}
	.bilhetes-express-title {
		margin: 0 0 0.1rem;
		font-size: 0.95rem;
		font-weight: 800;
		color: #0f172a;
		letter-spacing: -0.02em;
		line-height: 1.2;
	}
	.bilhetes-express-sub {
		margin: 0;
		font-size: 0.72rem;
		color: #64748b;
		line-height: 1.3;
	}
	.bilhetes-express-sub strong {
		color: #047857;
		font-weight: 700;
	}
	.bilhetes-express-body {
		padding: 0.5rem 0.45rem 0;
	}
	.bilhetes-express-footer {
		padding: 0.45rem 0.45rem 0.55rem;
		margin: 0;
		border-top: 1px solid #f1f5f9;
		background: #fafbfc;
	}
	.bilhetes-express-hint {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 0.3rem;
		width: 100%;
		margin: 0 0 0.4rem;
		font-size: 0.65rem;
		font-weight: 600;
		color: #64748b;
	}
	.bilhetes-express-hint .bi {
		color: #059669;
		font-size: 0.8rem;
	}
	.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;
		grid-template-rows: repeat(2, auto);
		gap: 0.35rem !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		flex-wrap: unset !important;
		justify-content: stretch !important;
		align-items: stretch !important;
	}
	.bilhetes-express-confianca .bilhetes-express-grid .bilhetes-qty-item,
	.bilhetes-express-confianca .bilhetes-express-grid .item {
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		margin: 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 {
		min-height: 4.75rem !important;
		padding: 0.5rem 0.25rem 0.45rem !important;
		background: #fff !important;
		border: 1px solid #e2e8f0 !important;
		border-radius: 10px !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: #6ee7b7 !important;
		background: #f0fdf4 !important;
		transform: none;
	}
	.bilhetes-express-confianca .bilhetes-qty-item.mais-popular .bilhetes-qty-inner {
		border: 2px solid #059669 !important;
		background: #f0fdf4 !important;
		box-shadow: none !important;
	}
	.bilhetes-badge-popular {
		position: absolute;
		top: -0.4rem;
		right: 0.35rem;
		left: auto;
		transform: none;
		z-index: 12;
		display: inline-flex;
		align-items: center;
		gap: 0.2rem;
		padding: 0.2rem 0.45rem;
		font-size: 0.58rem;
		font-weight: 700;
		letter-spacing: 0.03em;
		text-transform: uppercase;
		color: #fff;
		background: linear-gradient(135deg, #10b981 0%, #047857 100%);
		border-radius: 999px;
		box-shadow: 0 2px 8px rgba(5, 150, 105, 0.35);
		white-space: nowrap;
		animation: none;
	}
	.bilhetes-badge-popular .bi {
		font-size: 0.55rem;
	}
	.bilhetes-express-confianca .bilhetes-qty-num {
		display: flex;
		align-items: baseline;
		justify-content: center;
		gap: 0.05rem;
		font-size: 1.35rem;
		font-weight: 800;
		color: #0f172a;
		line-height: 1;
		letter-spacing: -0.03em;
	}
	.bilhetes-express-confianca .bilhetes-qty-item.mais-popular .bilhetes-qty-num {
		color: #047857;
		font-size: 1.4rem;
	}
	.bilhetes-express-confianca .bilhetes-qty-plus {
		font-size: 0.95rem;
		font-weight: 700;
		color: #059669;
	}
	.bilhetes-express-confianca .bilhetes-qty-label {
		display: inline-block;
		margin-top: 0.3rem;
		padding: 0.18rem 0.4rem;
		font-size: 0.55rem;
		font-weight: 700;
		letter-spacing: 0.05em;
		text-transform: uppercase;
		color: #475569;
		background: #f1f5f9;
		border-radius: 5px;
	}
	.bilhetes-express-confianca .bilhetes-qty-item.mais-popular .bilhetes-qty-label {
		color: #fff;
		background: linear-gradient(135deg, #059669 0%, #047857 100%);
	}
	.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;
		border: none !important;
		border-radius: 10px !important;
		box-shadow: none !important;
		background: #fff !important;
		overflow: visible;
	}
	.bilhetes-express-confianca .bilhetes-qty-stepper-inner {
		padding: 0.35rem 0.4rem;
		gap: 0.35rem;
		background: #fff;
		border: 1px solid #e2e8f0;
		border-radius: 10px;
	}
	.bilhetes-express-confianca .bilhetes-express-cta {
		margin: 0 !important;
		border-radius: 12px !important;
	}
	.bilhetes-express-confianca .bilhetes-cta-icon .bi {
		font-size: 1.15rem;
	}
	.bilhetes-express-confianca .bilhetes-cta-price {
		font-size: 0.9375rem !important;
		font-weight: 800;
		opacity: 1 !important;
	}
	@media (max-width: 380px) {
		.bilhetes-express-confianca .bilhetes-qty-num {
			font-size: 1.1rem;
		}
		.bilhetes-express-confianca .bilhetes-qty-item.mais-popular .bilhetes-qty-num {
			font-size: 1.15rem;
		}
		.bilhetes-express-confianca .bilhetes-qty-inner {
			min-height: 4.35rem !important;
			padding: 0.4rem 0.15rem 0.35rem !important;
		}
		.bilhetes-express-confianca .bilhetes-qty-label {
			font-size: 0.5rem;
			padding: 0.15rem 0.3rem;
		}
		.bilhetes-badge-popular {
			font-size: 0.5rem;
			padding: 0.15rem 0.35rem;
			max-width: calc(100% - 0.25rem);
			overflow: hidden;
			text-overflow: ellipsis;
		}
	}
	.bilhetes-express-confianca .bilhetes-qty-stepper .numeroChange {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 2.5rem;
		height: 2.5rem;
		padding: 0 !important;
		border-radius: 50%;
		background: #f1f5f9;
		color: #047857 !important;
		font-size: 1.35rem !important;
		transition: background 0.15s ease, transform 0.15s ease;
	}
	.bilhetes-express-confianca .bilhetes-qty-stepper .numeroChange:hover {
		background: #d1fae5;
		transform: scale(1.05);
	}
	.bilhetes-express-confianca .bilhetes-qty-stepper input.qty {
		font-size: 1.15rem !important;
		font-weight: 800 !important;
		color: #0f172a !important;
		border: 1.5px solid #e2e8f0 !important;
		border-radius: 10px !important;
		background: #fff !important;
		min-height: 2.65rem;
	}

	/* 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); }
	}
	.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-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: rgba(255, 255, 255, 0.92);
		font-size: 0.78rem;
		font-weight: 500;
		line-height: 1.4;
	}
	.top-ranking-desc strong {
		color: #fde68a;
		font-weight: 700;
	}
	.top-compradores-fixo .compradores-list {
		position: relative;
		z-index: 1;
		display: grid;
		grid-template-columns: 1fr 1.2fr 1fr;
		grid-template-rows: auto auto;
		gap: 0.45rem;
		align-items: end;
		min-height: 0;
		padding: 0;
	}
	.top-compradores-fixo .comprador-item {
		background: #fff;
		padding: 0.55rem 0.4rem;
		border-radius: 12px;
		text-align: center;
		box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 0.15rem;
		min-height: 4.5rem;
		border: 2px solid transparent;
		transition: transform 0.2s ease, box-shadow 0.2s ease;
		overflow: hidden;
	}
	.top-compradores-fixo .comprador-item--rank-1 {
		grid-column: 2;
		grid-row: 1;
		min-height: 5.4rem;
		padding: 0.4rem 0.45rem 0.55rem;
		border-color: #fbbf24;
		background: linear-gradient(180deg, #fff 0%, #fffbeb 100%);
		animation: top-ranking-glow 2.2s ease-in-out infinite;
		transform: translateY(-0.65rem);
		z-index: 2;
	}
	.top-compradores-fixo .comprador-item--rank-1:hover {
		transform: translateY(calc(-0.65rem - 2px));
	}
	.top-compradores-fixo .comprador-item--rank-1::after {
		content: "";
		position: absolute;
		inset: 0;
		background: linear-gradient(105deg, transparent 35%, rgba(251, 191, 36, 0.25) 50%, transparent 65%);
		animation: top-ranking-shine 3.5s ease-in-out infinite;
		pointer-events: none;
	}
	.top-compradores-fixo .comprador-item--rank-2 {
		grid-column: 1;
		grid-row: 1;
		border-color: #cbd5e1;
		transform: translateY(0.15rem);
	}
	.top-compradores-fixo .comprador-item--rank-3 {
		grid-column: 3;
		grid-row: 1;
		border-color: #fdba74;
		transform: translateY(0.15rem);
	}
	.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 {
		position: relative;
	}
	.top-compradores-fixo .comprador-item .posicao {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 0.2rem;
		font-size: 0.7rem;
		font-weight: 800;
		color: #047857;
		margin: 0;
	}
	.top-compradores-fixo .comprador-item--rank-1 .posicao {
		font-size: 0.78rem;
		color: #b45309;
	}
	.top-compradores-fixo .comprador-item--rank-2 .posicao { color: #475569; }
	.top-compradores-fixo .comprador-item--rank-3 .posicao { color: #c2410c; }
	.top-compradores-fixo .comprador-medal {
		font-size: 1rem;
		line-height: 1;
	}
	.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: #0f172a;
		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.85rem;
		color: #78350f;
	}
	.top-compradores-fixo .top-comprador-premio {
		font-size: 0.72rem;
		font-weight: 800;
		color: #b45309;
		background: linear-gradient(180deg, #fef3c7, #fde68a);
		border: 1px solid #fbbf24;
		padding: 0.14rem 0.35rem;
		border-radius: 6px;
		line-height: 1.2;
		margin: 0;
		white-space: nowrap;
		max-width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.top-compradores-fixo .comprador-item--rank-1 .top-comprador-premio {
		font-size: 0.78rem;
		color: #78350f;
	}
	.top-compradores-fixo .comprador-item.empty-item .top-comprador-premio {
		color: #fde68a;
		background: rgba(255, 255, 255, 0.15);
		border-color: rgba(253, 224, 71, 0.5);
	}
	.top-compradores-fixo .comprador-item .top-compradores-qtd {
		font-size: 0.65rem;
		font-weight: 700;
		color: #059669;
		background: #ecfdf5;
		padding: 0.12rem 0.35rem;
		border-radius: 999px;
		margin: 0;
	}
	.top-compradores-fixo .comprador-item.empty-item {
		background: rgba(255, 255, 255, 0.12);
		border: 1.5px dashed rgba(255, 255, 255, 0.45);
		box-shadow: none;
		min-height: 4rem;
	}
	.top-compradores-fixo .comprador-item.empty-item .posicao {
		color: rgba(255, 255, 255, 0.75);
	}
	.top-compradores-fixo .comprador-item.empty-item .nome {
		color: rgba(255, 255, 255, 0.65);
		font-style: italic;
		font-weight: 500;
		font-size: 0.72rem;
	}
	.top-compradores-fixo .comprador-item.empty-item .comprador-medal {
		opacity: 0.5;
	}
	@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--rank-1 {
			min-height: 5rem;
			transform: translateY(-0.5rem);
		}
	}
	@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 — clean, confiança */
	.btn-meus-bilhetes {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		gap: 0.45rem;
		padding: 0.58rem 0.85rem !important;
		font-size: 0.8rem !important;
		font-weight: 600 !important;
		letter-spacing: 0.01em;
		line-height: 1.25;
		color: #0f172a !important;
		background: #ffffff !important;
		border: 1px solid #e2e8f0 !important;
		border-radius: 10px !important;
		box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
		transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
	}

	.btn-meus-bilhetes .bi {
		font-size: 1rem;
		color: #059669;
		flex-shrink: 0;
	}

	.btn-meus-bilhetes span {
		white-space: nowrap;
		color: #334155;
	}

	.btn-meus-bilhetes:hover,
	.btn-meus-bilhetes:focus {
		color: #0f172a !important;
		background: #f8fafc !important;
		border-color: #cbd5e1 !important;
		box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
	}

	.btn-meus-bilhetes:active {
		background: #f1f5f9 !important;
		box-shadow: 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 {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		height: 2px;
		background: linear-gradient(90deg, #047857, #10b981, #047857);
	}

	.promo-caixa-confianca .promo-titulo-confianca {
		background: linear-gradient(180deg, #ecfdf5 0%, #f8fffb 100%) !important;
		border-bottom: 1px solid #e2e8f0 !important;
		padding: 0.6rem 0.7rem !important;
		justify-content: center !important;
	}

	.promo-caixa-confianca .promo-titulo-confianca .secao-titulo-box-inner {
		flex-direction: row;
		align-items: center;
		gap: 0.5rem;
	}

	.promo-trust-badge {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 1.85rem;
		height: 1.85rem;
		flex-shrink: 0;
		border-radius: 50%;
		background: linear-gradient(145deg, #10b981, #047857);
		color: #fff;
		line-height: 1;
		box-shadow: 0 2px 6px rgba(5, 150, 105, 0.25);
	}

	.promo-trust-badge .bi {
		font-size: 0.9rem;
		line-height: 1;
		display: block;
	}

	.promo-kicker {
		display: none;
	}

	.promo-caixa-confianca .promo-titulo-textos {
		text-align: left;
		line-height: 1.25;
	}

	@keyframes promo-titulo-brilho {
		0% {
			background-position: 0% center;
		}
		100% {
			background-position: 200% center;
		}
	}

	/* Título Promoção: degradê verde-azulado (confiança / segurança) */
	.promo-titulo-dourado,
	.promo-caixa-confianca .secao-titulo-texto {
		display: block;
		font-size: 0.95rem !important;
		font-weight: 700 !important;
		letter-spacing: -0.02em;
		line-height: 1.2;
		background: linear-gradient(
			105deg,
			#0f172a 0%,
			#134e4a 14%,
			#0f766e 28%,
			#059669 42%,
			#10b981 55%,
			#6ee7b7 68%,
			#059669 82%,
			#0f766e 92%,
			#134e4a 100%
		);
		background-size: 220% auto;
		-webkit-background-clip: text;
		background-clip: text;
		-webkit-text-fill-color: transparent;
		color: transparent;
		animation: promo-titulo-brilho 4.5s ease-in-out infinite;
	}

	.app-promocao-numeros.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.promo-caixa-confianca .app-title h1 .promo-titulo-dourado {
		display: inline;
	}

	.promo-caixa-confianca .secao-titulo-desc {
		display: block;
		margin-top: 0.1rem;
		font-size: 0.72rem !important;
		font-weight: 600 !important;
		color: #047857 !important;
		opacity: 1 !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 {
		font-size: 0.58rem;
		font-weight: 800;
		color: #047857;
		background: #ecfdf5;
		border: 1px solid #a7f3d0;
		border-radius: 4px;
		padding: 0.05rem 0.25rem;
		line-height: 1.2;
	}

	.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, #000000 0%, #fafe2a 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: #000000;
		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(0, 0, 0, 0.08);
		color: #fafe2a;
		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, #000000 0%, #fafe2a 100%);
		color: #fff !important;
		box-shadow: 0 4px 14px rgba(0, 0, 0, 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;
		}
	}


