/* === RESET & BASE === */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --azul:#2563eb;--azul-claro:#60a5fa;--azul-bg:#eff6ff;
  --verde:#16a34a;--verde-claro:#bbf7d0;
  --laranja:#ea580c;--laranja-claro:#fed7aa;
  --rosa:#db2777;--rosa-claro:#fce7f3;
  --roxo:#7c3aed;--roxo-claro:#ede9fe;
  --amarelo:#f59e0b;--amarelo-claro:#fef3c7;
  --vermelho:#dc2626;
  --cinza:#64748b;--cinza-claro:#f1f5f9;
  --sombra:0 4px 24px rgba(0,0,0,.08);
  --sombra-hover:0 8px 32px rgba(0,0,0,.14);
  --radius:20px;
}
html{scroll-behavior:smooth}
body{
  font-family:'Nunito',sans-serif;
  background:linear-gradient(135deg,#dbeafe 0%,#fef3c7 50%,#fce7f3 100%);
  min-height:100vh;color:#1e293b;
  overflow-x:hidden;
}

/* === GAME CONTAINER === */
.jp-mercadinho{
  max-width:1150px;margin:0 auto;padding:16px;
}

/* === HEADER === */
.jp-topo{
  background:linear-gradient(135deg,#1d4ed8 0%,#3b82f6 40%,#06b6d4 100%);
  color:white;padding:28px 32px;border-radius:var(--radius);
  text-align:center;position:relative;overflow:hidden;
  box-shadow:0 8px 32px rgba(37,99,235,.3);
}
.jp-topo::before{
  content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;
  background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 60%);
  animation:jp-shimmer 8s linear infinite;
}
@keyframes jp-shimmer{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
.jp-topo h1{
  font-family:'Fredoka',sans-serif;font-size:2.4rem;font-weight:700;
  position:relative;z-index:1;text-shadow:0 2px 8px rgba(0,0,0,.15);
}
.jp-topo p{
  font-size:1.05rem;opacity:.92;position:relative;z-index:1;
  margin-top:6px;font-weight:600;
}

/* === STATS BAR === */
.jp-stats{
  display:flex;flex-wrap:wrap;gap:12px;margin:18px 0;justify-content:center;
}
.jp-stat{
  background:white;border-radius:16px;padding:14px 22px;
  box-shadow:var(--sombra);display:flex;align-items:center;gap:10px;
  min-width:150px;transition:transform .2s;
}
.jp-stat:hover{transform:translateY(-2px)}
.jp-stat-icon{font-size:1.6rem}
.jp-stat-info{display:flex;flex-direction:column}
.jp-stat-label{font-size:.75rem;color:var(--cinza);font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.jp-stat-value{font-family:'Fredoka',sans-serif;font-size:1.3rem;font-weight:600;color:var(--azul)}

/* === DIFICULDADE === */
.jp-dificuldade{
  display:flex;gap:8px;justify-content:center;margin:16px 0;flex-wrap:wrap;
}
.jp-dif-btn{
  border:3px solid transparent;border-radius:14px;padding:10px 20px;
  font-family:'Fredoka',sans-serif;font-size:.95rem;font-weight:600;
  cursor:pointer;transition:all .25s;background:white;color:var(--cinza);
  box-shadow:0 2px 8px rgba(0,0,0,.06);
}
.jp-dif-btn:hover{transform:translateY(-2px);box-shadow:var(--sombra)}
.jp-dif-btn.ativo{color:white;transform:translateY(-2px)}
.jp-dif-btn[data-dif="facil"].ativo{background:var(--verde);border-color:var(--verde);box-shadow:0 4px 16px rgba(22,163,74,.3)}
.jp-dif-btn[data-dif="medio"].ativo{background:var(--amarelo);border-color:var(--amarelo);box-shadow:0 4px 16px rgba(245,158,11,.3)}
.jp-dif-btn[data-dif="dificil"].ativo{background:var(--vermelho);border-color:var(--vermelho);box-shadow:0 4px 16px rgba(220,38,38,.3)}

/* === PAINEL PRINCIPAL === */
.jp-painel{
  display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0;
}
.jp-box{
  background:white;border-radius:var(--radius);padding:20px;
  box-shadow:var(--sombra);transition:transform .2s;
}
.jp-box:hover{transform:translateY(-1px)}
.jp-box h3{
  font-family:'Fredoka',sans-serif;font-size:1.1rem;font-weight:600;
  margin-bottom:10px;display:flex;align-items:center;gap:8px;
}

/* Cliente */
.jp-cliente{
  background:linear-gradient(135deg,#fffbeb,#fef3c7);
  border:2px solid #fde68a;
}
.jp-cliente-nome{
  font-family:'Fredoka',sans-serif;font-size:1.4rem;color:var(--laranja);
  font-weight:700;
}
.jp-cliente-fala{
  background:white;border-radius:14px;padding:14px;margin-top:10px;
  border:2px dashed #fde68a;position:relative;font-size:1rem;
  line-height:1.6;
}
.jp-cliente-fala::before{
  content:'💬';position:absolute;top:-14px;left:12px;
  background:#fef3c7;border-radius:50%;width:28px;height:28px;
  display:flex;align-items:center;justify-content:center;font-size:.9rem;
}
.jp-lista-produtos{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.jp-lista-item{
  background:white;border:2px solid #e2e8f0;border-radius:12px;
  padding:6px 14px;font-weight:700;font-size:.95rem;
  transition:all .3s;
}
.jp-lista-item.comprado{
  background:var(--verde-claro);border-color:var(--verde);
  text-decoration:line-through;opacity:.7;
}

/* Carrinho */
.jp-carrinho-box{
  background:linear-gradient(135deg,#eff6ff,#dbeafe);
  border:2px solid #bfdbfe;
}
.jp-carrinho-itens{list-style:none;padding:0}
.jp-carrinho-itens li{
  display:flex;justify-content:space-between;align-items:center;
  padding:8px 12px;background:white;border-radius:12px;margin-bottom:6px;
  font-weight:600;animation:jp-slideIn .3s ease;
}
@keyframes jp-slideIn{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}
.jp-carrinho-itens li .jp-remove{
  background:none;border:none;color:var(--vermelho);cursor:pointer;
  font-size:1.1rem;padding:2px 6px;border-radius:8px;transition:background .2s;
}
.jp-carrinho-itens li .jp-remove:hover{background:#fee2e2}
.jp-carrinho-vazio{
  text-align:center;color:var(--cinza);padding:20px;font-style:italic;
}

/* === SEÇÃO PRODUTOS === */
.jp-secao-titulo{
  font-family:'Fredoka',sans-serif;font-size:1.5rem;font-weight:700;
  color:var(--azul);margin:24px 0 14px;text-align:center;
}
.jp-produtos{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));
  gap:14px;
}
.jp-produto{
  background:white;border:3px solid #e2e8f0;border-radius:var(--radius);
  padding:16px 10px;text-align:center;cursor:pointer;
  transition:all .25s;position:relative;overflow:hidden;
}
.jp-produto:hover,.jp-produto:focus{
  transform:translateY(-4px) scale(1.02);
  border-color:var(--azul);box-shadow:var(--sombra-hover);outline:none;
}
.jp-produto:active{transform:scale(.97)}
.jp-produto.na-lista{border-color:var(--amarelo);background:#fffbeb}
.jp-produto.na-lista::after{
  content:'⭐';position:absolute;top:6px;right:6px;font-size:.9rem;
}
.jp-produto.correto{
  animation:jp-correct .5s ease;border-color:var(--verde);background:var(--verde-claro);
}
@keyframes jp-correct{
  0%{transform:scale(1)}25%{transform:scale(1.08)}50%{transform:scale(.95)}100%{transform:scale(1)}
}
.jp-produto.errado{
  animation:jp-wrong .5s ease;border-color:var(--vermelho);background:#fee2e2;
}
@keyframes jp-wrong{
  0%,100%{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}
}
.jp-emoji{font-size:2.6rem;display:block;margin-bottom:4px;transition:transform .2s}
.jp-produto:hover .jp-emoji{transform:scale(1.15) rotate(-5deg)}
.jp-palavra{
  font-family:'Fredoka',sans-serif;font-size:1.25rem;font-weight:700;
  color:#1e40af;margin-bottom:4px;letter-spacing:1px;
}
.jp-silabas{
  background:var(--azul-bg);border-radius:10px;padding:4px 8px;
  font-weight:700;font-size:.85rem;color:var(--azul);
  display:inline-block;
}
.jp-preco{
  margin-top:8px;color:var(--verde);font-weight:800;font-size:1rem;
  font-family:'Fredoka',sans-serif;
}

/* === BOTÕES === */
.jp-botoes{
  display:flex;flex-wrap:wrap;gap:10px;margin:22px 0;justify-content:center;
}
.jp-btn{
  border:none;border-radius:14px;padding:14px 24px;
  font-family:'Fredoka',sans-serif;font-size:1rem;font-weight:600;
  cursor:pointer;transition:all .25s;display:flex;align-items:center;gap:8px;
  position:relative;overflow:hidden;
}
.jp-btn::after{
  content:'';position:absolute;inset:0;background:rgba(255,255,255,.15);
  transform:translateX(-100%);transition:transform .3s;
}
.jp-btn:hover::after{transform:translateX(0)}
.jp-btn:hover{transform:translateY(-2px);box-shadow:var(--sombra-hover)}
.jp-btn:active{transform:scale(.96)}
.jp-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}
.jp-btn-pagar{background:linear-gradient(135deg,#16a34a,#22c55e);color:white}
.jp-btn-limpar{background:linear-gradient(135deg,#ea580c,#f97316);color:white}
.jp-btn-novo{background:linear-gradient(135deg,#2563eb,#3b82f6);color:white}
.jp-btn-ajuda{background:linear-gradient(135deg,#7c3aed,#a78bfa);color:white}
.jp-btn-som{background:linear-gradient(135deg,#0891b2,#22d3ee);color:white}
.jp-btn-dica{background:linear-gradient(135deg,#d97706,#fbbf24);color:white}

/* === MENSAGEM === */
.jp-mensagem{
  margin:18px 0;padding:18px 22px;border-radius:var(--radius);
  font-weight:700;font-size:1.05rem;line-height:1.5;
  transition:all .3s;display:flex;align-items:flex-start;gap:12px;
}
.jp-mensagem.info{background:#eff6ff;border-left:6px solid var(--azul);color:#1e40af}
.jp-mensagem.sucesso{background:var(--verde-claro);border-left:6px solid var(--verde);color:#166534}
.jp-mensagem.erro{background:#fee2e2;border-left:6px solid var(--vermelho);color:#991b1b}
.jp-mensagem.alerta{background:var(--amarelo-claro);border-left:6px solid var(--amarelo);color:#92400e}
.jp-mensagem-icone{font-size:1.4rem;flex-shrink:0;margin-top:2px}

/* === MODAL === */
.jp-modal-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);
  display:none;align-items:center;justify-content:center;z-index:100;
  padding:20px;
}
.jp-modal-overlay.aberto{display:flex}
.jp-modal{
  background:white;border-radius:24px;padding:32px;max-width:500px;width:100%;
  box-shadow:0 24px 64px rgba(0,0,0,.2);animation:jp-modalIn .3s ease;
  text-align:center;
}
@keyframes jp-modalIn{from{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}
.jp-modal h2{font-family:'Fredoka',sans-serif;font-size:1.8rem;margin-bottom:12px}
.jp-modal p{margin-bottom:8px;line-height:1.6;color:var(--cinza)}
.jp-modal .jp-btn{margin:16px auto 0;justify-content:center}

/* === ESTRELAS === */
.jp-estrelas{display:flex;gap:4px;justify-content:center;margin:12px 0}
.jp-estrela{font-size:2rem;transition:all .3s;opacity:.3}
.jp-estrela.ganha{opacity:1;animation:jp-starPop .4s ease}
@keyframes jp-starPop{0%{transform:scale(0) rotate(-180deg)}60%{transform:scale(1.3) rotate(10deg)}100%{transform:scale(1) rotate(0)}}

/* === PROGRESSO === */
.jp-progresso{
  display:flex;gap:6px;justify-content:center;margin:12px 0;flex-wrap:wrap;
}
.jp-round{
  width:32px;height:32px;border-radius:50%;border:3px solid #e2e8f0;
  display:flex;align-items:center;justify-content:center;
  font-family:'Fredoka',sans-serif;font-size:.8rem;font-weight:700;
  color:var(--cinza);transition:all .3s;
}
.jp-round.atual{border-color:var(--azul);color:var(--azul);background:var(--azul-bg);transform:scale(1.1)}
.jp-round.completo{border-color:var(--verde);background:var(--verde);color:white}
.jp-round.perfeito{border-color:var(--amarelo);background:var(--amarelo);color:white;box-shadow:0 0 12px rgba(245,158,11,.4)}

/* === CONFETE === */
.jp-confete{position:fixed;top:-10px;width:10px;height:10px;border-radius:2px;z-index:200;pointer-events:none}
@keyframes jp-fall{
  0%{transform:translateY(0) rotate(0deg);opacity:1}
  100%{transform:translateY(100vh) rotate(720deg);opacity:0}
}

/* === TROFÉU FINAL === */
.jp-trofeu{text-align:center;padding:20px}
.jp-trofeu-emoji{font-size:4rem;animation:jp-bounce 1s ease infinite}
@keyframes jp-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* === CONTA PEDAGÓGICA === */
.jp-conta-wrap{
  margin:20px 0;display:none;
  animation:jp-fadeUp .4s ease;
}
.jp-conta-wrap.visivel{display:block}
@keyframes jp-fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.jp-conta{
  background:white;border-radius:var(--radius);
  box-shadow:var(--sombra);overflow:hidden;
  border:2px solid #c7d2fe;
}
.jp-conta-header{
  background:linear-gradient(135deg,#4f46e5,#7c3aed);
  color:white;padding:14px 20px;
  font-family:'Fredoka',sans-serif;font-size:1.1rem;font-weight:600;
  display:flex;align-items:center;gap:10px;
}
.jp-conta-header span{font-size:1.3rem}
.jp-conta-body{
  padding:24px;display:flex;gap:30px;flex-wrap:wrap;justify-content:center;
}

/* Caderno de conta */
.jp-caderno{
  background:#fafafa;
  border-radius:14px;padding:20px 24px;
  border:2px solid #e0e7ff;
  min-width:280px;
  box-shadow:inset 0 0 20px rgba(99,102,241,.06);
}
.jp-caderno-titulo{
  font-family:'Fredoka',sans-serif;font-size:.95rem;font-weight:600;
  color:var(--roxo);margin-bottom:16px;text-align:center;
  letter-spacing:.5px;
}

/* Linhas da conta - lista de produtos */
.jp-conta-linhas{
  font-family:'Fredoka',sans-serif;
  display:flex;flex-direction:column;gap:6px;
  margin-bottom:12px;
}
.jp-conta-linha{
  display:flex;align-items:center;gap:10px;
  padding:8px 12px;background:white;border-radius:10px;
  height:auto;font-size:1.1rem;font-weight:600;color:#1e293b;
  animation:jp-lineIn .35s ease;
  border:1px solid #f1f5f9;
}
@keyframes jp-lineIn{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}
.jp-conta-linha .jp-conta-emoji{font-size:1.3rem;flex-shrink:0}
.jp-conta-linha .jp-conta-valor{
  font-family:'Fredoka',sans-serif;font-size:1.1rem;
  font-weight:700;color:var(--verde);
  margin-left:auto;
}
.jp-conta-separador{
  height:3px;background:linear-gradient(90deg,transparent,var(--roxo),transparent);
  margin:12px 0;border-radius:2px;
}

/* Input do aluno */
.jp-conta-resposta{
  display:flex;flex-direction:column;gap:10px;align-items:center;
  margin-top:8px;
}
.jp-conta-label{
  font-family:'Fredoka',sans-serif;font-size:1rem;font-weight:600;
  color:var(--roxo);
}
.jp-conta-input-wrap{
  display:flex;align-items:center;gap:8px;
}
.jp-conta-prefixo{
  font-family:'Fredoka',sans-serif;font-size:1.2rem;font-weight:700;
  color:var(--cinza);
}
.jp-conta-input{
  font-family:'Fredoka',sans-serif;font-size:1.4rem;font-weight:700;
  color:var(--azul);text-align:center;
  border:3px solid #c7d2fe;border-radius:12px;
  padding:10px 16px;width:140px;
  background:#f5f3ff;outline:none;
  transition:all .25s;
}
.jp-conta-input:focus{
  border-color:var(--roxo);background:white;
  box-shadow:0 0 0 4px rgba(124,58,237,.15);
}
.jp-conta-input.correto{
  border-color:var(--verde);background:var(--verde-claro);color:var(--verde);
}
.jp-conta-input.errado{
  border-color:var(--vermelho);background:#fee2e2;color:var(--vermelho);
  animation:jp-wrong .5s ease;
}
.jp-btn-verificar{
  background:linear-gradient(135deg,var(--roxo),#a78bfa);color:white;
  border:none;border-radius:12px;padding:10px 22px;
  font-family:'Fredoka',sans-serif;font-size:1rem;font-weight:600;
  cursor:pointer;transition:all .25s;
}
.jp-btn-verificar:hover{
  transform:translateY(-2px);box-shadow:0 4px 16px rgba(124,58,237,.3);
}
.jp-btn-verificar:active{transform:scale(.96)}

/* Feedback da resposta */
.jp-conta-feedback{
  text-align:center;font-family:'Fredoka',sans-serif;
  font-size:1rem;font-weight:600;
  padding:10px 16px;border-radius:12px;
  margin-top:6px;display:none;
}
.jp-conta-feedback.visivel{display:block;animation:jp-lineIn .3s ease}
.jp-conta-feedback.acerto{
  background:var(--verde-claro);color:#166534;border:2px solid var(--verde);
}
.jp-conta-feedback.erro-valor{
  background:#fee2e2;color:#991b1b;border:2px solid var(--vermelho);
}

/* Parciais (soma passo-a-passo) */
.jp-parciais{
  min-width:200px;
}
.jp-parciais-titulo{
  font-family:'Fredoka',sans-serif;font-size:.9rem;font-weight:600;
  color:var(--roxo);margin-bottom:12px;text-align:center;
}
.jp-parcial-item{
  display:flex;align-items:center;gap:8px;
  padding:6px 12px;margin-bottom:4px;
  background:#f5f3ff;border-radius:10px;
  font-family:'Fredoka',sans-serif;font-size:.95rem;
  color:#4c1d95;font-weight:600;
  animation:jp-lineIn .35s ease;
}
.jp-parcial-item .jp-parcial-num{
  background:var(--roxo);color:white;border-radius:50%;
  width:22px;height:22px;display:flex;align-items:center;justify-content:center;
  font-size:.75rem;font-weight:700;flex-shrink:0;
}
.jp-parcial-item .jp-parcial-eq{color:var(--cinza);margin:0 4px}
.jp-parcial-item .jp-parcial-resultado{
  color:var(--verde);font-weight:800;
  background:var(--verde-claro);border-radius:8px;padding:2px 8px;
  margin-left:auto;
}

/* Dica pedagógica */
.jp-conta-dica{
  background:linear-gradient(135deg,#fefce8,#fef9c3);
  border:2px dashed #facc15;border-radius:14px;
  padding:14px 18px;margin-top:16px;text-align:center;
  font-size:.9rem;color:#854d0e;font-weight:600;
  line-height:1.5;
}
.jp-conta-dica strong{color:var(--roxo)}

/* Responsivo conta */
@media(max-width:768px){
  .jp-conta-body{flex-direction:column;align-items:center;gap:16px}
  .jp-caderno{min-width:auto;width:100%}
  .jp-parciais{min-width:auto;width:100%}
  .jp-conta-linha .jp-conta-valor{font-size:1rem}
}

/* === RESPONSIVO === */
@media(max-width:768px){
  .jp-painel{grid-template-columns:1fr}
  .jp-topo h1{font-size:1.7rem}
  .jp-produtos{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}
  .jp-produto{padding:12px 8px}
  .jp-emoji{font-size:2rem}
  .jp-palavra{font-size:1.05rem}
  .jp-botoes{gap:8px}
  .jp-btn{padding:12px 16px;font-size:.9rem}
  .jp-stats{gap:8px}
  .jp-stat{min-width:120px;padding:10px 14px}
}
@media(max-width:400px){
  .jp-mercadinho{padding:8px}
  .jp-topo{padding:18px}
  .jp-produtos{grid-template-columns:repeat(2,1fr)}
}


/* === ACESSIBILIDADE E PADRONIZAÇÃO === */
body, button, input, .jp-modal { text-transform: uppercase; }
button, input { font: inherit; }
button:focus-visible, input:focus-visible, [tabindex]:focus-visible {
  outline: 4px solid #facc15 !important;
  outline-offset: 4px !important;
}
.jp-pular-conteudo {
  position: fixed; left: 12px; top: -90px; z-index: 10000;
  background: #000; color: #fff; padding: 14px 18px; border-radius: 0 0 12px 12px;
  font-weight: 800; text-decoration: none;
}
.jp-pular-conteudo:focus { top: 0; }
.jp-acessibilidade {
  max-width: 1150px; margin: 0 auto 12px; padding: 10px;
  background: #111827; color: #fff; border-radius: 16px;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px;
  box-shadow: var(--sombra); position: sticky; top: 6px; z-index: 90;
}
.jp-acessibilidade-titulo { font-weight: 800; margin-right: 4px; }
.jp-a11y-btn {
  min-height: 44px; min-width: 44px; padding: 8px 12px; border: 2px solid #fff;
  border-radius: 10px; background: #fff; color: #111827; cursor: pointer;
  font-weight: 800; display: inline-flex; align-items: center; justify-content: center; gap: 6px;
}
.jp-a11y-btn:hover { transform: translateY(-1px); }
.jp-a11y-btn[aria-pressed="true"] { background: #facc15; color: #111827; border-color: #facc15; }
.jp-sr-only {
  position: absolute !important; width: 1px !important; height: 1px !important;
  padding: 0 !important; margin: -1px !important; overflow: hidden !important;
  clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important;
}
html.jp-fonte-maior { font-size: 118%; }
html.jp-fonte-menor { font-size: 90%; }
body.jp-alto-contraste { background: #000 !important; color: #fff !important; }
body.jp-alto-contraste * { border-color: #fff !important; }
body.jp-alto-contraste .jp-box,
body.jp-alto-contraste .jp-stat,
body.jp-alto-contraste .jp-produto,
body.jp-alto-contraste .jp-modal,
body.jp-alto-contraste .jp-conta,
body.jp-alto-contraste .jp-caderno,
body.jp-alto-contraste .jp-cliente-fala,
body.jp-alto-contraste .jp-carrinho-itens li,
body.jp-alto-contraste .jp-lista-item { background: #000 !important; color: #fff !important; }
body.jp-alto-contraste .jp-palavra,
body.jp-alto-contraste .jp-stat-value,
body.jp-alto-contraste .jp-secao-titulo { color: #facc15 !important; }
body.jp-tons-cinza { filter: grayscale(1); }
body.jp-modo-escuro { background: #111827 !important; color: #f8fafc; }
body.jp-modo-escuro .jp-box,
body.jp-modo-escuro .jp-stat,
body.jp-modo-escuro .jp-produto,
body.jp-modo-escuro .jp-modal,
body.jp-modo-escuro .jp-conta,
body.jp-modo-escuro .jp-caderno { background: #1f2937 !important; color: #fff !important; }
body.jp-modo-escuro .jp-cliente-fala,
body.jp-modo-escuro .jp-carrinho-itens li,
body.jp-modo-escuro .jp-lista-item { background: #374151 !important; color: #fff !important; }
body.jp-espacamento { letter-spacing: .12em !important; line-height: 1.8 !important; }
body.jp-cursor-grande, body.jp-cursor-grande * { cursor: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="32" height="32"%3E%3Cpath d="M2 2l10 25 4-9 9-4z" fill="white" stroke="black" stroke-width="2"/%3E%3C/svg%3E') 2 2, auto !important; }
body.jp-sem-animacoes *, body.jp-sem-animacoes *::before, body.jp-sem-animacoes *::after {
  animation-duration: .001ms !important; animation-iteration-count: 1 !important;
  transition-duration: .001ms !important; scroll-behavior: auto !important;
}
.jp-rodape {
  max-width: 1150px; margin: 12px auto 24px; padding: 20px; text-align: center;
  background: #111827; color: #fff; border-radius: 18px; font-weight: 800; line-height: 1.6;
}
@media (max-width: 600px) {
  .jp-acessibilidade { position: static; border-radius: 0; }
  .jp-a11y-btn { flex: 1 1 125px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}


.jp-carregando{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#0f172a;color:#fff;font-family:Arial,sans-serif;font-weight:900;font-size:1.1rem;letter-spacing:.04em;text-align:center;padding:24px}
