/* US state-law guides + US Buy Register early access (Phase 0, Oct 2026).
   Loaded only by us-buy-register.html and the *-gold-buying-law.html pages,
   so the shared style.css (and its cache version) is untouched. */
.law-notice {
  border: 1px solid #f59e0b; background: #fffbeb; border-radius: 10px;
  padding: 1rem 1.25rem; margin: 0 0 1.75rem; font-size: 0.9rem; color: var(--slate-700);
}
.law-notice strong { color: var(--slate-900); }
.law-notice p { margin: 0 0 0.4rem; font-size: 0.9rem; line-height: 1.6; color: var(--slate-700); }
.law-notice p:last-child { margin-bottom: 0; }
.quick-answer {
  border-left: 4px solid var(--blue-600); background: var(--slate-50);
  padding: 1rem 1.25rem; margin: 0 0 1.75rem; border-radius: 6px;
}
.quick-answer p { margin: 0; }
.law-checklist { margin: 0.75rem 0 1.25rem; padding: 0; }
.legal-content .law-checklist li {
  list-style: none; position: relative; padding-left: 1.75rem; margin-bottom: 0.5rem;
}
.legal-content .law-checklist li::before {
  content: ''; position: absolute; left: 0; top: 0.45em; width: 1rem; height: 1rem;
  border: 2px solid var(--blue-600); border-radius: 3px;
}
.law-cite { font-size: 0.8rem; color: var(--slate-500); white-space: nowrap; }
.unverified {
  display: inline-block; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.03em;
  text-transform: uppercase; color: #92400e; background: #fef3c7; border-radius: 4px;
  padding: 0.05rem 0.4rem; margin-right: 0.25rem;
}
.law-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 1rem 0 1.5rem; }
.law-table { width: 100%; border-collapse: collapse; font-size: 0.875rem; min-width: 560px; }
.law-table th, .law-table td {
  padding: 0.7rem 0.8rem; text-align: left; vertical-align: top;
  border-bottom: 1px solid var(--slate-200); color: var(--slate-700); line-height: 1.5;
}
.law-table thead th { background: var(--slate-50); font-weight: 700; color: var(--slate-800); }
.law-table tbody th { font-weight: 600; color: var(--slate-800); width: 18%; min-width: 7.5rem; }
.law-sources { font-size: 0.85rem; }
.legal-content .law-sources li { font-size: 0.85rem; line-height: 1.6; }
.law-faq { margin-top: 1rem; }
.law-faq .faq-item { margin-bottom: 0.6rem; }
.state-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: 1.25rem 0 1.75rem; }
@media (max-width: 720px) { .state-cards { grid-template-columns: 1fr; } }
.state-card {
  border: 1px solid var(--slate-200); border-radius: 10px; padding: 1rem 1.1rem; background: #fff;
}
.state-card h3 { margin: 0 0 0.35rem !important; font-size: 1.05rem !important; }
.legal-content .state-card p { font-size: 0.875rem; margin: 0 0 0.5rem; line-height: 1.55; }
.usbr-box {
  border: 1px solid var(--slate-200); border-left: 4px solid var(--blue-600);
  border-radius: 12px; padding: 1.5rem; margin: 2.5rem 0 1rem; background: #fff;
}
@media (max-width: 560px) { .usbr-box { padding: 1.1rem; } }
.legal-content .usbr-box h2 { margin-top: 0; }
.usbr-price { font-weight: 600; color: var(--slate-800) !important; }
.usbr-field { margin-bottom: 1rem; }
.usbr-field label, .usbr-field legend {
  display: block; font-size: 0.875rem; font-weight: 600; color: var(--slate-700); margin-bottom: 0.35rem;
}
.usbr-field input[type="email"], .usbr-field input[type="text"], .usbr-field select {
  width: 100%; padding: 0.7rem 0.9rem; border: 1px solid var(--slate-300); border-radius: 8px;
  font-size: 1rem; font-family: inherit; color: var(--slate-800); background: #fff;
}
.usbr-field input:focus, .usbr-field select:focus {
  outline: none; border-color: var(--blue-500); box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}
.usbr-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; }
@media (max-width: 560px) { .usbr-row { grid-template-columns: 1fr; } }
.usbr-choice { border: none; padding: 0; margin: 0 0 1rem; }
.usbr-choice-row { display: flex; flex-wrap: wrap; gap: 0.4rem 1.1rem; }
.usbr-choice-row label {
  display: inline-flex; align-items: center; gap: 0.4rem; font-weight: 400;
  font-size: 0.95rem; color: var(--slate-700); margin: 0;
}
.usbr-consent { display: flex; gap: 0.5rem; align-items: flex-start; font-size: 0.9rem; color: var(--slate-600); margin: 0.25rem 0 1.1rem; }
.usbr-consent input { margin-top: 0.3rem; }
.usbr-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.usbr-msg { margin-top: 0.9rem; font-size: 0.95rem; }
.usbr-msg.error { color: #b91c1c; }
.usbr-done { color: var(--slate-800) !important; font-weight: 600; }
