/* Legal page (template-parts/looks/legal.php): what the renovation page's styles do not have. */
.legal-facts { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; align-self: center; }
.legal-facts div { background: var(--bg); padding: 24px; }
.legal-facts dt { font-family: var(--f-d, inherit); font-size: 36px; line-height: 1.1; color: var(--hd); font-weight: var(--h2w, 500); }
.legal-facts dd { margin: 8px 0 0; color: var(--fg2); font-size: 15px; line-height: 1.4; }
.legal-list { margin: 0; padding: 0 0 0 18px; color: var(--fg2); line-height: 1.6; flex: 1; }
.legal-services .reno-link { margin-top: auto; }
.legal-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; }
.legal-steps li { border-top: 1px solid var(--accent); padding-top: 16px; }
.legal-steps .reno-step-no { display: block; color: var(--accent); font-size: 14px; margin-bottom: 8px; }
.legal-steps b { display: block; color: var(--hd); font-size: 18px; }
.legal-steps p { margin: 8px 0 0; color: var(--fg2); line-height: 1.55; }
.legal-contacts { list-style: none; margin: 24px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 24px; }
.legal-contacts a { color: inherit; }
.legal-note { padding-block: 16px 32px; }
@media (max-width: 1023px) { .legal-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .legal-facts { margin-top: 24px; }
  .legal-facts div { padding: 16px; }
  .legal-facts dt { font-size: 28px; }
  .legal-steps { grid-template-columns: none; }
}
.legal .reno-done[hidden] { display: none; }
