/* ============================================================
 * AI4EBITDA - LEGAL MODALS
 * Terms & Conditions and Privacy Policy modals.
 * Loaded on every page (modals are in shared footer).
 * ============================================================ */

/* ===== LEGAL MODALS ===== */
.legal-modal-overlay {
  display: none; position: fixed; inset: 0; z-index: 2000;
  background: rgba(7,9,13,.88); backdrop-filter: blur(6px);
  align-items: center; justify-content: center; padding: 1.5rem;
}
.legal-modal-overlay.open { display: flex; }
.legal-modal {
  background: var(--void2); border: 1px solid var(--g3);
  width: 100%; max-width: 780px; max-height: 85vh;
  display: flex; flex-direction: column;
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px));
}
.lm-header {
  display: flex; justify-content: space-between; align-items: center;
  padding: 1.5rem 2rem; border-bottom: 1px solid var(--g3); flex-shrink: 0;
}
.lm-title { font-size: 1.1rem; font-weight: 700; color: var(--white); }
.lm-subtitle { font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--teal); margin-top: .2rem; }
.lm-close {
  width: 32px; height: 32px; background: var(--g3); border: none; cursor: pointer;
  color: var(--white); font-size: 1.2rem; display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; transition: background .2s;
}
.lm-close:hover { background: var(--teal); color: var(--void); }
.lm-body {
  overflow-y: auto; padding: 1.8rem 2rem; flex: 1;
  scrollbar-width: thin; scrollbar-color: var(--g3) transparent;
}
.lm-body h2 {
  font-size: 1rem; font-weight: 700; color: var(--teal);
  margin: 1.8rem 0 .5rem; text-transform: uppercase; letter-spacing: .1em;
  border-bottom: 1px solid var(--g3); padding-bottom: .4rem;
}
.lm-body h2:first-child { margin-top: 0; }
.lm-body h3 { font-size: .92rem; font-weight: 700; color: var(--white); margin: 1.2rem 0 .3rem; }
.lm-body p { font-size: .9rem; color: var(--g1); font-weight: 300; line-height: 1.75; margin-bottom: .8rem; }
.lm-body ul { margin: .5rem 0 .8rem 1.2rem; }
.lm-body li { font-size: .9rem; color: var(--g1); font-weight: 300; line-height: 1.7; margin-bottom: .3rem; }
.lm-body .lm-effective { font-size: .72rem; letter-spacing: .12em; color: var(--g2); margin-bottom: 1.5rem; font-weight: 600; }
.lm-footer-note {
  border-top: 1px solid var(--g3); padding: 1rem 2rem;
  font-size: .65rem; color: var(--g3); font-weight: 400; flex-shrink: 0;
}
@media (max-width: 600px) {
  .lm-body { padding: 1.2rem; }
  .lm-header { padding: 1.2rem; }
}

