/* State security-deposit law pages (built by build_state_laws.py). Uses tokens from styles.css
   and the .sl-* pieces from sample-letters.css. */
.law-hero { margin-bottom: 8px; }
.law-meta { font-size: var(--step--1); color: var(--muted); margin: 14px 0 0; }
.law-body { max-width: 820px; }
.law-body h2 { font-size: var(--step-1); margin: 44px 0 14px; scroll-margin-top: 90px; }
.law-body p { line-height: 1.65; }
.law-body .cite { color: var(--muted); font-size: .88em; white-space: normal; }
.answer-box { background: var(--amber-tint); border-left: 4px solid var(--amber); border-radius: 0 var(--radius) var(--radius) 0; padding: 18px 22px; margin: 28px 0 22px; }
.answer-box p { margin: 0; font-size: var(--step-0); line-height: 1.6; }
.answer-box strong { color: var(--navy); }

.sl-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin: 0 0 8px; }
.sl-fact { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 14px 16px; box-shadow: var(--shadow-sm); }
.sl-fact .k { display: block; font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); font-weight: 600; margin-bottom: 4px; }
.sl-fact .v { display: block; font-family: 'Fraunces', serif; font-weight: 600; color: var(--navy); font-size: 1.12rem; line-height: 1.3; }

.law-rules { margin: 0 0 10px; max-width: none; }
.law-rules dl dt:first-of-type, .law-rules dl dd:first-of-type { border-top: 0; }

.sl-list { padding-left: 1.2em; }
.sl-list li { margin: 8px 0; line-height: 1.6; }
.sl-sample { margin: 40px 0 8px; border-left: 4px solid var(--amber); }
.sl-sample .sl-tag { margin-bottom: 8px; }

.law-steps { padding-left: 1.3em; }
.law-steps li { margin: 10px 0; line-height: 1.6; }

.post-cta { background: var(--white); border: 1px solid var(--line); border-top: 4px solid var(--amber); border-radius: var(--radius-lg); padding: 26px; margin: 40px 0; text-align: center; }
.post-cta h3 { font-family: 'Fraunces', serif; font-size: var(--step-1); margin-top: 0; }

.law-sources { padding-left: 1.2em; }
.law-sources li { margin: 4px 0; }

/* Deadline calculator: inside state guides and on its own page */
.law-check { margin: 22px 0 6px; max-width: 520px; }
.law-check .fine { margin: 10px 2px 0; }
.calc-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 48px; align-items: start; }
@media (max-width: 880px) { .calc-grid { grid-template-columns: 1fr; gap: 28px; } }
.calc-intro h1 { font-size: clamp(2rem, 1.55rem + 1.7vw, 2.85rem); line-height: 1.1; }
.calc-body { margin-top: 24px; }
.law-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin-top: 18px; border-radius: var(--radius); }
.law-table-wrap .law-table { margin-top: 0; min-width: 560px; }
.law-table { width: 100%; border-collapse: collapse; font-size: 0.95rem; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.law-table th, .law-table td { text-align: left; padding: 11px 14px; border-bottom: 1px solid var(--line); vertical-align: top; }
.law-table th { background: var(--navy); color: #fff; font-family: 'Inter', sans-serif; font-size: 0.8rem; letter-spacing: 0.04em; text-transform: uppercase; }
.law-table tr:last-child td { border-bottom: 0; }
.law-table .state { font-weight: 700; white-space: nowrap; }
.law-table .state a { color: var(--navy); text-decoration-color: var(--amber); text-underline-offset: 3px; }
