/* Botão flutuante e modal de alertas de página (completude / SEO) — só visível para quem pode gerir conteúdos */
.page-alerts-wrap { position: fixed; bottom: 1.25rem; right: 1.25rem; z-index: 9998; }
.page-alerts-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.35rem;
  width: 48px; height: 48px; border-radius: 50%;
  background: #c4184a; color: #fff; border: none; cursor: pointer;
  box-shadow: 0 4px 14px rgba(196, 24, 74, 0.45);
  font-size: 1.25rem; font-family: inherit;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.page-alerts-btn:hover { transform: scale(1.05); box-shadow: 0 6px 18px rgba(196, 24, 74, 0.5); }
.page-alerts-btn:focus { outline: none; box-shadow: 0 0 0 3px rgba(196, 24, 74, 0.4); }
.page-alerts-btn .count { position: absolute; top: -4px; right: -4px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: #fff; color: #c4184a; font-size: 0.7rem; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.page-alerts-btn.has-count { position: relative; }

.page-alerts-modal-overlay {
  position: fixed; inset: 0; z-index: 9999; background: rgba(0,0,0,0.4);
  display: none; align-items: center; justify-content: center; padding: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left)); box-sizing: border-box; overflow: auto;
}
.page-alerts-modal-overlay.open { display: flex; }
.page-alerts-modal {
  background: #fff; border-radius: 12px; max-width: min(520px, calc(100dvw - 2rem)); width: 100%; max-height: min(85vh, calc(100dvh - 2rem)); overflow: hidden;
  box-shadow: 0 12px 40px rgba(0,0,0,0.2); display: flex; flex-direction: column;
  box-sizing: border-box;
}
.page-alerts-modal h2 { margin: 0; padding: 1rem 1.25rem; font-size: 1.1rem; border-bottom: 1px solid #ebebeb; }
.page-alerts-modal .modal-body { padding: 1rem 1.25rem; overflow-y: auto; flex: 1; }
.page-alerts-modal .modal-footer { padding: 0.75rem 1.25rem; border-top: 1px solid #ebebeb; display: flex; justify-content: flex-end; }
.page-alerts-modal .modal-footer button { padding: 0.5rem 1rem; border-radius: 8px; font-size: 0.9rem; cursor: pointer; font-family: inherit; border: 1px solid #ddd; background: #fff; }
.page-alerts-modal .modal-footer button:hover { background: #f5f5f5; }
.page-alerts-modal .modal-footer button.btn-close { background: #E61E4D; color: #fff; border-color: #E61E4D; }
.page-alerts-modal .modal-footer button.btn-close:hover { background: #c4184a; }

.page-alerts-list { list-style: none; padding: 0; margin: 0; }
.page-alerts-list li {
  padding: 0.85rem 0; border-bottom: 1px solid #f0f0f0;
  display: flex; flex-direction: column; gap: 0.35rem;
}
.page-alerts-list li:last-child { border-bottom: none; }
.page-alerts-list .problem-title { font-weight: 600; font-size: 0.95rem; color: #222; display: flex; align-items: center; gap: 0.4rem; }
.page-alerts-list .problem-title .badge { font-size: 0.7rem; padding: 0.15rem 0.4rem; border-radius: 4px; font-weight: 600; }
.page-alerts-list .problem-title .badge.error { background: #fee; color: #c00; }
.page-alerts-list .problem-title .badge.warning { background: #fff3e0; color: #b45309; }
.page-alerts-list .problem-solution { font-size: 0.85rem; color: #555; padding-left: 1.25rem; }
.page-alerts-list .problem-solution strong { color: #333; }
.page-alerts-empty { color: #717171; font-size: 0.9rem; padding: 1rem 0; text-align: center; }
