/* Estilos do popup de Termos/Privacidade/Parceria — ver
   assets/legal-popup.js. Mesma convenção de cart-shared.css:
   var(--token,fallback) para funcionar em qualquer página. */

.legal-popup {
  position: fixed; right: 20px; bottom: 20px; z-index: 1200;
  width: min(360px, calc(100vw - 40px));
  background: var(--white, #fff); border: 1px solid var(--border, #E2E2E2);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .18);
  padding: 18px; font-family: inherit;
  transform: translateY(16px); opacity: 0; pointer-events: none;
  transition: transform .25s ease, opacity .25s ease;
}
.legal-popup.open { transform: translateY(0); opacity: 1; pointer-events: auto; }
.legal-popup-head {
  font-size: .68rem; letter-spacing: .12em; text-transform: uppercase;
  color: var(--red, #CC0000); margin-bottom: 12px; font-weight: 500;
}
.legal-row { padding: 12px 0; border-top: 1px solid var(--off, #F8F6F3); transition: opacity .3s ease; }
.legal-row:first-child { border-top: none; padding-top: 0; }
.legal-row-done { opacity: 0; }
.legal-row-label { font-size: .88rem; font-weight: 600; color: var(--black, #111); margin: 0 0 4px; }
.legal-row-msg { font-size: .8rem; color: var(--grey, #555); line-height: 1.5; margin: 0 0 8px; }
.legal-row-link { font-size: .76rem; color: var(--red, #CC0000); text-decoration: none; }
.legal-row-link:hover { text-decoration: underline; }
.legal-row-check {
  display: flex; align-items: center; gap: 8px; margin-top: 10px;
  font-size: .82rem; color: var(--black, #111); cursor: pointer;
}
.legal-row-check input { width: 16px; height: 16px; flex-shrink: 0; cursor: pointer; accent-color: var(--red, #CC0000); }
.legal-row-err { font-size: .74rem; color: var(--red, #CC0000); margin: 6px 0 0; }
