/* Exotic pet legality pages: status pills, state tables, state grid. Uses the site's colour variables. */
.tablewrap { overflow-x: auto; margin: 1rem 0 1.4rem; border: 1px solid var(--line); background: var(--panel); }
table.legal { width: 100%; border-collapse: collapse; font-size: .94rem; line-height: 1.45; }
table.legal th { text-align: left; font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); padding: .7rem .8rem; border-bottom: 1px solid var(--line); background: var(--surface); white-space: nowrap; }
table.legal td { padding: .7rem .8rem; border-bottom: 1px solid var(--line); vertical-align: top; }
table.legal tr:last-child td { border-bottom: 0; }
table.legal td.who { font-weight: 600; white-space: nowrap; }
table.legal td.src { white-space: nowrap; font-size: .86rem; }
table.legal td .cond { display: block; color: var(--muted); font-size: .86rem; margin-top: .25rem; }

.st { display: inline-block; padding: .16rem .55rem; border-radius: 2px; font-size: .78rem; font-weight: 600; letter-spacing: .02em; border: 1px solid var(--line); color: var(--ink); white-space: nowrap; }
.st-prohibited { background: color-mix(in srgb, var(--bad) 16%, var(--panel)); border-color: var(--bad); }
.st-grandfathered { background: color-mix(in srgb, var(--bad) 9%, var(--panel)); border-color: var(--bad); border-style: dashed; }
.st-permit { background: color-mix(in srgb, var(--warn) 16%, var(--panel)); border-color: var(--warn); }
.st-partial { background: color-mix(in srgb, var(--warn) 8%, var(--panel)); border-color: var(--warn); border-style: dashed; }
.st-allowed { background: color-mix(in srgb, var(--ok) 14%, var(--panel)); border-color: var(--ok); }
.st-unverified { background: transparent; color: var(--muted); border-style: dotted; }

.legal-counts { display: flex; flex-wrap: wrap; gap: .5rem .6rem; margin: .8rem 0 1rem; }
.legal-counts span { font-size: .9rem; }

.statgrid { list-style: none; margin: 1rem 0 1.4rem; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(11.5rem, 1fr)); gap: .6rem; }
.statgrid li { margin: 0; }
.statgrid a { display: block; padding: .6rem .8rem; background: var(--panel); border: 1px solid var(--line); text-decoration: none; color: var(--ink); border-radius: 2px; }
.statgrid a:hover { border-color: var(--accent); }
.statgrid small { display: block; color: var(--muted); font-size: .78rem; margin-top: .1rem; }

.method { border-left: 3px solid var(--line); padding: .2rem 0 .2rem 1rem; color: var(--muted); font-size: .92rem; margin: 1.4rem 0; }
.method p { margin: .4rem 0; }

@media (max-width: 700px) {
  table.legal thead { position: absolute; left: -9999px; }
  table.legal, table.legal tbody, table.legal tr, table.legal td { display: block; width: 100%; }
  table.legal tr { padding: .6rem .8rem; border-bottom: 1px solid var(--line); }
  table.legal tr:last-child { border-bottom: 0; }
  table.legal td { padding: .2rem 0; border: 0; white-space: normal; }
  table.legal td.who { font-size: 1rem; }
  table.legal td.src { white-space: normal; }
  .tablewrap { overflow-x: visible; }
}

.azbar { display: flex; flex-wrap: wrap; gap: .4rem .7rem; margin: .8rem 0 1.2rem; }
.azbar a { padding: .25rem .6rem; border: 1px solid var(--line); background: var(--panel); text-decoration: none; border-radius: 2px; }
.azlist { list-style: none; padding: 0; margin: 1rem 0 2rem; columns: 2 18rem; column-gap: 2rem; }
.azlist li { break-inside: avoid; margin: .35rem 0; }
