/* Kalm Kode Maryland Pet License Check, prototype 0.1.0. Scoped to .kk-pl. */
.kk-pl {
  --kk-ink: var(--ink, #1E3A2F);
  --kk-soft: var(--soft, #5B7365);
  --kk-white: #FFFCF5;
  --kk-orange: var(--orange, #E86F2C);
  --kk-lime: var(--lime, #B9CC3A);
  --kk-line: rgba(30, 58, 47, .18);
}
.kk-pl-app, .kk-pl-fallback { margin: 1.5rem 0 2rem; }
.kk-pl-h { font-size: clamp(1.35rem, 4.5vw, 1.75rem); line-height: 1.25; margin: 0 0 1rem; }
.kk-pl h2[tabindex="-1"]:focus { outline: none; }
.kk-pl-field { border: 0; margin: 0 0 1.4rem; padding: 0; min-width: 0; }
.kk-pl-legend { padding: 0; margin-bottom: .45rem; font-weight: 700; font-size: 1.1rem; line-height: 1.35; }
.kk-pl-help { margin: 0 0 .6rem; color: var(--kk-soft); }
.kk-pl-options { display: grid; gap: .5rem; }
.kk-pl-option { position: relative; }
.kk-pl-option input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.kk-pl-option label {
  display: block; padding: .8rem 1rem .8rem 3rem; border: 2px solid var(--kk-line); border-radius: 12px;
  background: var(--kk-white); cursor: pointer; line-height: 1.4; position: relative;
}
.kk-pl-option label::before {
  content: ""; position: absolute; left: 1rem; top: 1.05rem; width: 1.1rem; height: 1.1rem;
  border: 2px solid var(--kk-ink); border-radius: 50%; background: var(--kk-white);
}
.kk-pl-opt { display: block; }
.kk-pl-hint { display: block; color: var(--kk-soft); font-size: .95rem; margin-top: .15rem; }
.kk-pl-option input:checked + label { border-color: var(--kk-ink); }
.kk-pl-option input:checked + label::before { background: radial-gradient(circle, var(--kk-ink) 0 45%, var(--kk-white) 50%); }
.kk-pl-option input:focus-visible + label { outline: 3px solid var(--kk-orange); outline-offset: 2px; }
.kk-pl-errors:empty { display: none; }
.kk-pl-errors { border: 2px solid #A12A1B; border-radius: 12px; padding: .8rem 1rem; margin: 0 0 1.2rem; background: var(--kk-white); }
.kk-pl-errors:focus { outline: 3px solid var(--kk-orange); outline-offset: 2px; }
.kk-pl-errors-title { margin: 0 0 .3rem; font-weight: 700; color: #A12A1B; }
.kk-pl-errors ul { margin: 0; padding-left: 1.2rem; }
.kk-pl-errors a { color: #A12A1B; font-weight: 600; }
.kk-pl-actions, .kk-pl-go { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1.2rem 0; }
.kk-pl-btn {
  font: inherit; font-weight: 700; min-height: 48px; padding: .7rem 1.4rem; border-radius: 999px;
  border: 2px solid var(--kk-ink); background: var(--kk-ink); color: var(--kk-white); cursor: pointer;
  display: inline-flex; align-items: center; text-decoration: none; line-height: 1.25;
}
.kk-pl-btn--ghost { background: transparent; color: var(--kk-ink); }
.kk-pl-btn--link { background: var(--kk-ink); border-color: var(--kk-ink); color: var(--kk-white); }
.kk-pl-btn:hover { background: #2F5D47; border-color: #2F5D47; color: var(--kk-white); }
.kk-pl-btn:focus-visible, .kk-pl a:focus-visible { outline: 3px solid var(--kk-orange); outline-offset: 2px; }
.kk-pl-lede { font-size: 1.05rem; }
.kk-pl-card, .kk-pl-mhic { background: var(--kk-white); border: 1px solid var(--kk-line); border-radius: 14px; padding: 1rem 1.1rem; margin: 0 0 1rem; }
.kk-pl-card { border: 2px solid var(--kk-orange); }
.kk-pl-card h3, .kk-pl-mhic h3 { margin: .6rem 0 .35rem; font-size: 1.2rem; }
.kk-pl-card h3:first-child, .kk-pl-mhic h3:first-child { margin-top: 0; }
.kk-pl-list, .kk-pl-checks, .kk-pl-notes { padding-left: 1.3rem; margin: 0 0 .5rem; }
.kk-pl-list li, .kk-pl-checks li, .kk-pl-notes li { margin-bottom: .45rem; line-height: 1.5; }
.kk-pl-small { color: var(--kk-soft); font-size: .95rem; margin: 0 0 .5rem; }
.kk-pl-src { color: var(--kk-soft); font-size: .9rem; }
.kk-pl-endorse { font-weight: 700; border-left: 4px solid var(--kk-lime); padding: .5rem .9rem; background: var(--kk-white); }
.kk-pl-note { background: var(--kk-white); border-left: 4px solid var(--kk-lime); padding: .7rem 1rem; }
.kk-pl-fb-route { border-top: 1px solid var(--kk-line); padding-top: .5rem; }
.kk-pl-sources { border-top: 1px solid var(--kk-line); margin-top: 2rem; padding-top: 1rem; font-size: .95rem; }
.kk-pl-sources ul { padding-left: 1.2rem; }
.kk-pl-sources li { overflow-wrap: anywhere; }
.kk-pl-disclaimer, .kk-pl-privacy { color: var(--kk-soft); }
.kk-pl [hidden] { display: none !important; }

@media print {
  @page { margin: .5in; }
  .site-header, .site-footer, .skip-link, nav, .kk-pl-noprint, .kk-pl > p, .kk-pl-src { display: none !important; }
  html, body, .kk-pl { background: #fff !important; color: #000 !important; }
  .site-main, .entry { margin: 0 !important; padding: 0 !important; max-width: none !important; }
  .kk-pl p, .kk-pl li { font-size: 9.5pt !important; line-height: 1.28 !important; }
  .kk-pl h1 { font-size: 15pt !important; line-height: 1.15 !important; margin: 0 0 4pt !important; max-width: none !important; }
  .kk-pl h2 { font-size: 12.5pt !important; margin: 0 0 4pt !important; }
  .kk-pl h3 { font-size: 10.5pt !important; margin: 4pt 0 2pt !important; }
  .kk-pl-app { margin: 0 !important; }
  .kk-pl-go { margin: 3pt 0 !important; gap: 4pt !important; }
  .kk-pl-btn--link { border: 1px solid #000 !important; background: #fff !important; min-height: 0 !important; padding: 2pt 6pt !important; font-size: 9pt !important; }
  .kk-pl-btn--link::after { content: " — " attr(href); font-weight: 400; word-break: break-all; }
  .kk-pl-card, .kk-pl-mhic { padding: 3pt 7pt !important; margin: 0 0 4pt !important; background: #fff !important; }
  .kk-pl-list li, .kk-pl-checks li, .kk-pl-notes li { margin-bottom: 1pt !important; }
  .kk-pl .kk-pl-sources { margin-top: 4pt !important; padding-top: 3pt !important; }
  .kk-pl .kk-pl-sources > *:not(.kk-pl-disclaimer) { display: none !important; }
  .kk-pl .kk-pl-disclaimer { font-size: 8pt !important; color: #000 !important; margin: 0 !important; }
  .kk-pl-endorse { padding: 2pt 6pt !important; }
}
/* Pet License Check additions */
.kk-pl-fact { background: var(--kk-white); border: 1px solid var(--kk-line); border-left: 6px solid var(--kk-ink); border-radius: 12px; padding: .9rem 1.1rem; margin: 0 0 1rem; }
.kk-pl-fact h3 { margin: 0 0 .35rem; font-size: 1.15rem; display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.kk-pl-fact p { margin: 0 0 .4rem; }
.kk-pl-fact--not_published, .kk-pl-fact--unconfirmed, .kk-pl-fact--conflict { border-left-color: #C2501A; }
.kk-pl-fact--proposed { border-left-color: var(--kk-soft); border-style: dashed; }
.kk-pl-badge { font: 700 .78rem/1.2 inherit; letter-spacing: .02em; padding: .2rem .55rem; border-radius: 999px; border: 1.5px solid var(--kk-ink); background: var(--kk-white); color: var(--kk-ink); }
.kk-pl-badge--verified { background: var(--kk-ink); color: var(--kk-white); }
.kk-pl-badge--not_published, .kk-pl-badge--unconfirmed, .kk-pl-badge--conflict { border-color: #A3400F; color: #8A350C; }
.kk-pl-badge--proposed { border-style: dashed; }
.kk-pl-note { background: var(--kk-white); border-left: 4px solid var(--kk-lime); padding: .6rem .9rem; font-size: .97rem; }
.kk-pl-fb { width: 100%; border-collapse: collapse; font-size: .92rem; margin: 1rem 0; }
.kk-pl-fb th, .kk-pl-fb td { border: 1px solid var(--kk-line); padding: .45rem .5rem; vertical-align: top; text-align: left; }
.kk-pl-fb-wrap { overflow-x: auto; }
@media print { .kk-pl-fact { padding: 3pt 7pt !important; margin: 0 0 4pt !important; } .kk-pl-note { padding: 2pt 6pt !important; } }
