.padpush-overlay {
	position: fixed; inset: 0; background: rgba(20, 20, 20, 0.55);
	z-index: 999998; animation: padpush-fade-in-overlay 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}

.padpush-prompt {
	position: fixed;
	z-index: 999999;
	max-width: 320px;
	/* Trava de segurança pra telas bem estreitas (< ~360px): sem isso,
	   os 320px fixos somados às margens de 20px de bottom-right/left
	   (ver abaixo) ultrapassam a borda em aparelhos pequenos. top-bar e
	   modal-center já tinham essa proteção via width; aqui ela vira
	   regra geral, e cada variante continua livre pra sobrescrever
	   width quando quiser (como modal-center já faz). */
	width: calc(100% - 40px);
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.18);
	padding: 18px;
	font-family: inherit;
	animation: padpush-fade-in 0.32s cubic-bezier(0.16, 1, 0.3, 1);
	box-sizing: border-box;
}
/* Botões e inputs não herdam font-family do body por padrão do
   navegador (ao contrário de div/p/span), então ficam com a fonte
   padrão do SO/navegador (às vezes serif) mesmo com o font-family
   acima. Forçamos a herança pra usar sempre a fonte do tema. */
.padpush-prompt button,
.padpush-prompt input {
	font-family: inherit;
}
.padpush-prompt--bottom-right { bottom: 20px; right: 20px; }
.padpush-prompt--bottom-left { bottom: 20px; left: 20px; }

/* Antes era uma barra full-width; agora é um card do mesmo tamanho
   dos cantos (bottom-right/left), só que centralizado no topo. No
   mobile passa pra embaixo, que aproveita melhor a tela pequena e
   fica no alcance do polegar. */
.padpush-prompt--top-bar {
	top: 20px; left: 50%; transform: translateX(-50%);
	width: calc(100% - 40px);
}
@media (max-width: 640px) {
	.padpush-prompt--top-bar {
		top: auto; bottom: 20px;
	}
}

/* Estilo "modal central" — modal flutuante sobre overlay escuro, com
   logo, título/texto lado a lado e grid 2 colunas de editoriais
   (visual de referência enviado pelo Jefferson). */
.padpush-prompt--modal-center {
	top: 50%; left: 50%; transform: translate(-50%, -50%);
	max-width: 420px; width: calc(100% - 40px); padding: 24px;
}

.padpush-prompt-inner { position: relative; }
.padpush-prompt-close {
	position: absolute; top: -10px; right: -10px; background: none; border: none;
	font-size: 20px; cursor: pointer; color: #888; line-height: 1;
}
.padpush-prompt-head { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 14px; }
.padpush-prompt-logo { width: 46px; height: 46px; border-radius: 50%; flex-shrink: 0; object-fit: cover; }
.padpush-prompt-logo--placeholder {
	display: flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg, #7c3aed, #db2777);
	color: #fff; font-weight: 700; font-size: 15px; font-style: italic;
}
.padpush-prompt-title { display: block; font-size: 16px; margin-bottom: 4px; font-weight: 700; }
.padpush-prompt-text { font-size: 13px; color: #555; margin: 0; line-height: 1.4; }

.padpush-prompt-editorials { max-height: 160px; overflow-y: auto; font-size: 13px; margin-bottom: 16px; }
.padpush-prompt-editorials--list label { display: block; margin-bottom: 4px; }
.padpush-prompt-editorials--grid {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 16px;
}
.padpush-prompt-editorials label { display: flex; align-items: center; gap: 6px; cursor: pointer; min-width: 0; }
.padpush-prompt-editorials label span { overflow-wrap: anywhere; }
.padpush-prompt-new-badge {
	display: inline-block; font-style: normal; font-size: 10px; font-weight: 700;
	line-height: 1; text-transform: uppercase; letter-spacing: .03em;
	background: #2563eb; color: #fff; border-radius: 999px; padding: 3px 7px;
	vertical-align: middle;
}

.padpush-prompt-actions { display: flex; align-items: center; justify-content: flex-end; gap: 18px; }
.padpush-prompt--modal-center .padpush-prompt-actions { justify-content: center; }
.padpush-prompt-dismiss {
	background: none; border: none; cursor: pointer; font-size: 14px; font-weight: 600;
}
.padpush-prompt-accept {
	padding: 10px 22px; border-radius: 8px; border: none; cursor: pointer;
	font-size: 14px; font-weight: 700;
}

@keyframes padpush-fade-in {
	from { opacity: 0; transform: translateY(10px); }
	to { opacity: 1; transform: translateY(0); }
}
.padpush-prompt--modal-center {
	animation: padpush-fade-in-modal 0.32s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes padpush-fade-in-modal {
	from { opacity: 0; transform: translate(-50%, -50%) scale(0.94); }
	to { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}
@keyframes padpush-fade-in-overlay {
	from { opacity: 0; } to { opacity: 1; }
}
