/* =========================================================
   DÍVIDA E POLÍCIA (divida.js, 2026-10-04)
   - .dvd-  a barra do topo do site: saldo negativo (juros, polícia, perdão do Crédito na praça)
            ou conta trancada pela polícia;
   - .pol-  a intimação do Departamento de Polícia de Hawkins: a carteira sendo trancada (corrente,
            cadeado e carimbo, com emojis: nada desenhado por código) e o papel da intimação, 2003.
   Celular: bloco "DÍVIDA E POLÍCIA" no fim do mobile.css.
   ========================================================= */
.dvd-barra {
  position: relative; z-index: 2;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 14px;
  padding: 8px max(16px, env(safe-area-inset-right)) 8px max(16px, env(safe-area-inset-left));
  border-bottom: 2px solid #8a6a12; background: #fff4c7; color: #2a2108;
  font: 13.5px/1.4 var(--font-ui);
}
.dvd-barra.is-trancada { border-bottom-color: #7a1218; background: #2a0b0e; color: #ffd9d9; }
.theme-upside .dvd-barra { border-bottom-color: #e0202e; background: #1a0709; color: #ffd0d4; }
.dvd-txt { margin: 0; flex: 1 1 360px; min-width: 0; }
.dvd-txt b { font-weight: 800; }
.dvd-ico { margin-right: 6px; }
.dvd-acts { display: flex; flex-wrap: wrap; gap: 6px; }
.dvd-btn { min-height: 34px; padding: 5px 12px; border: 2px solid currentColor; border-radius: 6px; background: transparent; color: inherit; font: 700 12.5px var(--font-ui); cursor: pointer; }
.dvd-btn:hover { background: rgba(127, 127, 127, 0.15); }
.dvd-btn:focus-visible { outline: 3px solid #e0202e; outline-offset: 2px; }
.dvd-btn-ok { border-color: #1f6b2c; background: #2e9e44; color: #fff; }
.dvd-btn-ok:hover { background: #36b04f; }
.dvd-btn:disabled { opacity: 0.55; cursor: progress; }

/* ---------- a intimação ---------- */
.pol-dlg {
  width: min(560px, calc(100vw - 24px)); max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px);
  margin: auto; padding: 0; overflow: auto; overscroll-behavior: contain;
  border: 0; border-radius: 6px; background: #14100c; color: #2b241a;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.75);
}
.pol-dlg::backdrop { background: rgba(5, 3, 2, 0.86); }
.pol-cena { position: relative; display: grid; place-items: center; height: 170px; overflow: hidden; background: radial-gradient(ellipse at 50% 120%, #3b1414 0%, #14100c 70%); }
.pol-cartao {
  position: relative; display: grid; gap: 2px; width: 240px; padding: 14px 16px; border-radius: 10px;
  background: linear-gradient(135deg, #2f5d8a 0%, #1d3a5c 100%); color: #f3f6fa; font: 12px/1.3 var(--font-ui);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.25);
}
.pol-cartao-t { font: 700 10px var(--font-type); letter-spacing: 0.16em; text-transform: uppercase; opacity: 0.85; }
.pol-cartao b { font-size: 15px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pol-cartao-n { font-family: var(--font-type); letter-spacing: 0.14em; }
.pol-cartao-s { justify-self: end; font: 700 14px var(--font-type); color: #ffb3b3; }
.pol-corrente { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%) rotate(-14deg); font-size: 34px; letter-spacing: -6px; white-space: nowrap; }
.pol-cadeado { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -30%); font-size: 54px; line-height: 1; filter: drop-shadow(0 6px 8px rgba(0, 0, 0, 0.6)); }
.pol-carimbo {
  position: absolute; right: 14%; top: 18px; padding: 4px 10px; border: 3px solid #d0261b; border-radius: 4px;
  color: #ff4a3d; font: 800 18px var(--font-type); letter-spacing: 0.18em; transform: rotate(10deg); opacity: 0.92;
}
.pol-papel {
  display: grid; gap: 10px; padding: 20px 22px 22px;
  background: repeating-linear-gradient(to bottom, transparent 0 27px, rgba(80, 120, 170, 0.18) 27px 28px), #f4ecd8;
  font: 14.5px/1.55 var(--font-file);
}
.pol-papel p { margin: 0; }
.pol-cab { display: grid; gap: 2px; padding-bottom: 8px; border-bottom: 2px solid #2b241a; }
.pol-dep { font: 700 11px var(--font-type); letter-spacing: 0.16em; text-transform: uppercase; }
.pol-cab h2 { margin: 0; font: 700 26px/1.1 var(--font-logo); color: #1c1710; }
.pol-cab h2 small { font: 400 14px var(--font-type); color: #5d5340; }
.pol-caso { font: 12px var(--font-type); color: #5d5340; }
.pol-artigos { display: grid; gap: 8px; margin: 0; padding: 10px 12px; border: 1px dashed #6b5d44; list-style: none; background: rgba(255, 255, 255, 0.4); }
.pol-artigos small { color: #6b5d44; }
.pol-artigos span { font-size: 13.5px; }
.pol-ass { justify-self: end; padding-top: 6px; border-top: 1px solid #2b241a; font: italic 13px var(--font-file); }
.pol-ok { justify-self: center; min-height: 44px; padding: 10px 22px; border: 2px solid #1c1710; border-radius: 4px; background: #1c1710; color: #f4ecd8; font: 700 14px var(--font-ui); cursor: pointer; }
.pol-ok:hover { background: #3a3122; }
.pol-ok:focus-visible { outline: 3px solid #d0261b; outline-offset: 3px; }

@media (prefers-reduced-motion: no-preference) {
  .pol-animar .pol-corrente { animation: pol-corrente 0.7s cubic-bezier(0.2, 0.8, 0.3, 1) both; }
  .pol-animar .pol-cadeado { animation: pol-cadeado 0.6s 0.65s cubic-bezier(0.3, 1.4, 0.5, 1) both; }
  .pol-animar .pol-carimbo { animation: pol-carimbo 0.35s 1.25s ease-out both; }
  .pol-animar .pol-cartao { animation: pol-treme 0.3s 1.25s ease-in-out both; }
  .pol-animar .pol-papel { animation: pol-papel 0.5s 1.5s ease-out both; }
  @keyframes pol-corrente { from { opacity: 0; transform: translate(-150%, -50%) rotate(-14deg); } }
  @keyframes pol-cadeado { from { opacity: 0; transform: translate(-50%, -220%); } }
  @keyframes pol-carimbo { from { opacity: 0; transform: rotate(10deg) scale(2.2); } }
  @keyframes pol-treme { 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }
  @keyframes pol-papel { from { opacity: 0; transform: translateY(24px); } }
}

/* ---------- a linha do tempo da dívida (2026-10-06): prévia da cobrança, carta de cobrança e recibo de penhora ---------- */
a.dvd-btn { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.dvd-previa { display: block; margin-top: 4px; padding: 4px 8px; border-left: 3px solid #b3261e; background: rgba(179, 38, 30, 0.08); overflow-wrap: anywhere; }
.theme-upside .dvd-previa { border-left-color: #e0202e; background: rgba(224, 32, 46, 0.12); }
.dvd-papel { position: relative; }
/* o título recebe o foco ao abrir (tabindex -1, não é clicável): sem contorno */
.dvd-papel h2:focus, .dvd-papel h2:focus-visible { outline: none; }
.dvd-carta-l { display: grid; gap: 6px; margin: 0; padding: 10px 12px 10px 28px; border: 1px dashed #6b5d44; background: rgba(255, 255, 255, 0.4); }
.dvd-recibo-l { position: relative; padding: 10px 130px 10px 12px; min-height: 52px; border: 1px dashed #6b5d44; background: rgba(255, 255, 255, 0.4); font: 13.5px/1.5 var(--font-type); overflow-wrap: anywhere; }
.dvd-carimbo {
  position: absolute; right: 10px; top: 50%; margin-top: -15px; padding: 3px 10px; border: 3px solid #b3261e; border-radius: 4px;
  color: #b3261e; font: 800 16px var(--font-type); letter-spacing: 0.16em; text-transform: uppercase; transform: rotate(9deg); opacity: 0.85; pointer-events: none;
}
.dvd-papel-acts { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.dvd-papel-acts .pol-ok { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.dvd-ok-alt { background: transparent; color: #1c1710; }
.dvd-ok-alt:hover { background: rgba(28, 23, 16, 0.08); }
