/* Item 3: type, meta text may stay at 13px */
.article-reference,.clinic-evidence,.clinic-hours>span,.clinic-sources small,.emergency-related h3,.emergency-source,.abbr-source-trigger,.ad-label,.editorial-card-reading,.editorial-library .editorial-card-topic,.editorial-card-topic,.enc .tag,.medical-library .library-species-count,.medical-library .topic-link small,.medical-library .topic-planned small,.search-result-meta,.clinic-eyebrow,.clinic-location,.clinic-matched-service,.clinic-note,.emergency-guide .emergency-eyebrow,.emergency-guide .emergency-review,.information-hero .information-eyebrow,.information-source,.article-risk-sources,.article-summary-number,.article-visual-label,.breed-card-footer,.clinic-article-links .clinic-link-note,.cover-cap,.doc .abbr-tooltip .abbr-note,.editorial-library-eyebrow,.expert small,.ft .note,.guide small,.home-featured-eyebrow,.medical-library .library-group-heading p,.search-eyebrow,.search-result-more,.share small,.topic-list small,.toxic-hero small,.toxic-illustration-note,.toxic-related h4,.toxic-species-note,.toxic-status,.error-footer,.error-footer a,.error-art-note{font-size:var(--fs-13)}
/* Interface text */
.clinic-checks label,.clinic-filters select,.clinic-filters label,.clinic-sort-controls label,.clinic-back,.clinic-directory-note,.clinic-distance,.clinic-geo-status,.clinic-hours,.clinic-opening-state,.clinic-reset,.clinic-sources li,.clinic-weekly-hours>div,.clinic-address,.clinic-contact-link,.clinic-detail-address h3,.clinic-detail-grid .clinic-actions .btn,.clinic-hero>p:last-of-type,.clinic-related-guides,.clinic-results-heading>span,.clinic-term-list,.emergency-bottom p,.emergency-bottom>a,.emergency-related a,.emergency-topics-heading>p,.information-nav a,.information-nav h2,.information-related h2,.information-related a,.clinic-article-links .clinic-service-action,.clinic-article-links .clinic-link-intro,.clinic-article-links .clinic-service-name,.editorial-library .editorial-card-more,.editorial-card-more,.search-summary a,.search-summary,.search-empty a,.search-empty p,.search-hero p,.search-result p,.toxic-related,.doc .article-visual-note,.doc .article-visual-card p,.article-summary-copy,.doc .srcs p,.doc .srcs li,.srcs,.editorial-library .editorial-card p,.editorial-library .editorial-featured p,.editorial-card p,.editorial-library-count,.editorial-status,.expert p,.ft,.ft h4,.home-featured-summary,.medical-library .library-category-reset,.medical-library .topic-planned,.medical-library .topic-link,.share button,.share .share-link,.site-statistics dt,.source-link,.tbl th,.toxic-action h4,.toxic-action p,.toxic-sources ol,.toxic-card-body>p,.toxic-emergency ol,.enc h3,.flags .l p,.meta,.rel a,.rel span,.review-note,.sec-h a,.toc nav a,.tool p,.error-description{font-size:var(--fs-15)}
/* Emergency and about/policy body text */
.emergency-sign p,.emergency-before li p,.emergency-topic-body,.emergency-topic-body p,.information-card p,.information-card li,.information-card-compact p,.information-intro{font-size:var(--fs-17);line-height:1.7}
.emergency-sign h3{font-size:var(--fs-17)}
/* Item 4: internal codes as a small muted label; the agreed column and divider stay */
.medical-library .library-article-code,[data-code-style] .medical-library .library-article-code,[data-code-style="1"] .medical-library .library-article-code{width:48px;min-height:0;padding-right:var(--s-8);font-size:var(--fs-13);font-weight:600;letter-spacing:0;color:var(--muted)}
.medical-library .library-coded-row{grid-template-columns:48px minmax(0,1fr) auto}
.medical-library .library-code-placeholder{width:48px}
.medical-library .breed-card .library-article-code{width:auto;min-height:0;font-size:var(--fs-13);color:var(--on-forest-muted)}
@media(max-width:900px){.medical-library .library-coded-row{grid-template-columns:48px minmax(0,1fr)}}
@media(max-width:900px){.medical-library .library-coded-row{grid-template-columns:48px minmax(0,1fr)}.medical-library .library-coded-row .library-article-code{width:48px;min-height:0;font-size:var(--fs-13)}.medical-library .library-coded-row .library-code-placeholder{width:48px}}

/* ========== Tokens: the one place for colour, type, spacing, radius, shadow. Breakpoints: 560, 900, 1180. ========== */
:root{
  --action-ink:#173A2C;--danger-fill:#B9412C;--danger-line:#E2B3A6;--control:#fff;--icon:#173A2C;--icon-cutout:#FFFDF8;--heading:#173A2C;--link:#22503D;--forest:#173A2C;--forest-2:#22503D;--sage:#5E8C76;--sage-soft:#DDE8DF;--mint:#EEF4EF;
  --cream:#FAF6EC;--card:#FFFDF8;--line:#E4DDCB;
  --gold:#D7B260;--gold-deep:#A8842F;--gold-soft:#F5EAD0;--gold-light:#E5C57F;
  --ink:#1D2B24;--muted:#5C6B63;
  --red:#B9412C;--red-soft:#F8E3DD;--amber:#9A5B12;--amber-soft:#FBEBD3;--ok:#1F6B4C;--ok-soft:#DCEFE5;
  --hero-bg:#173A2C;--hero-line:var(--line);--on-forest:#F8F3E6;--on-forest-strong:#FFF9EB;--on-forest-muted:#D0DED5;
  --art:#244E3C;--art-soft:#35614A;--focus:#A67621;
  --sans:"Noto Sans Georgian",system-ui,sans-serif;--brand:"Fraunces",Georgia,serif;
  --fs-13:13px;--fs-15:15px;--fs-17:17px;--fs-20:20px;--fs-24:clamp(22px,2.6vw,24px);--fs-30:clamp(24px,3.4vw,30px);--fs-38:clamp(28px,4.2vw,38px);--fs-48:clamp(30px,5vw,48px);
  --fw-regular:400;--fw-semi:600;--fw-bold:800;
  --s-4:4px;--s-8:8px;--s-12:12px;--s-16:16px;--s-24:24px;--s-32:32px;--s-48:48px;--s-64:64px;
  --r-control:8px;--r-card:14px;--r-hero:20px;--r-pill:999px;--r:14px;
  --shadow-1:0 1px 2px rgba(17,48,34,.08),0 4px 12px -6px rgba(17,48,34,.18);--shadow-2:0 12px 28px -18px rgba(17,48,34,.45);
  color-scheme:light;
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --forest:#0C1712;--forest-2:#1A3225;
  --control:#1C2A23;--danger-fill:#8F3225;--danger-line:#805047;--icon:#A9CFB8;--icon-cutout:#1C2A23;
  --cream:#121C18;--card:#1C2A23;--line:#3F5146;
  --heading:#DCEBDF;--link:#AAD6BC;--ink:#E8EDE7;--muted:#B4C2B8;
  --sage:#426C55;--sage-soft:#2D4336;--mint:#24392E;
  --gold-soft:#3C3321;--gold-deep:#E1C47E;
  --red:#FFAA98;--red-soft:#412621;--amber:#EDBD7A;--amber-soft:#3D3020;--ok:#9AD6B7;--ok-soft:#203E30;
  --bg:#121C18;--green:#85CDB0;
  --hero-bg:#192F24;--hero-line:#34523F;
  --art:#244B39;--art-soft:#315940;--focus:#D7B260;
  --shadow-1:0 1px 2px rgba(0,0,0,.3),0 4px 12px -6px rgba(0,0,0,.5);--shadow-2:0 12px 28px -18px rgba(0,0,0,.8);
}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* The checker keeps its own type sizes; another work stream owns them. */
.checker-page{font-size:16px}
.p2-badge{background:var(--gold);color:#14271D;font-size:var(--fs-13);font-weight:600;text-align:center;padding:var(--s-4) var(--s-12);line-height:1.6}
.p2-badge a{color:#14271D;text-decoration:underline;margin-inline-start:var(--s-8)}
.article-reference{font-size:max(.85em,13px)}

/* ========== Button: primary gold, secondary forest outline, danger red, ghost; 40 and 48 tall ========== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-8);box-sizing:border-box;min-height:40px;padding:var(--s-8) var(--s-16);border:1.5px solid transparent;border-radius:var(--r-control);background:transparent;color:var(--heading);font:inherit;font-size:var(--fs-15);font-weight:var(--fw-semi);line-height:1.4;text-align:center;text-decoration:none;white-space:normal;overflow-wrap:anywhere;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s,filter .15s}
.btn-lg{min-height:48px;padding:var(--s-8) var(--s-24)}
.btn .ic{width:20px;height:20px;flex:none;color:inherit}
.btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.btn:disabled{opacity:.6;cursor:default}
.btn-primary{background:var(--gold);border-color:var(--gold);color:var(--action-ink)}
.btn-primary:hover{filter:brightness(1.06);box-shadow:var(--shadow-1)}
.btn-secondary{border-color:var(--forest-2);color:var(--heading)}
.btn-secondary:hover{background:var(--mint)}
[data-theme="dark"] .btn-secondary{border-color:var(--sage);color:var(--heading)}
.btn-danger{background:var(--danger-fill);border-color:var(--danger-fill);color:#fff}
.btn-danger:hover{filter:brightness(1.08)}
.btn-ghost{color:var(--link)}
.btn-ghost:hover{background:var(--mint)}
.page-hero .btn-secondary,[data-theme="dark"] .page-hero .btn-secondary{border-color:rgba(255,255,255,.45);color:var(--on-forest)}
.page-hero .btn-secondary:hover{background:rgba(255,255,255,.08);border-color:var(--gold)}

/* ========== Search field: white field, icon, gold button ========== */
.search-bar{display:flex;align-items:center;gap:var(--s-8);box-sizing:border-box;width:100%;min-height:58px;padding:var(--s-4) var(--s-4) var(--s-4) var(--s-16);border:1px solid var(--line);border-radius:var(--r-card);background:var(--control);box-shadow:var(--shadow-2)}
.search-bar:focus-within{outline:3px solid var(--gold);outline-offset:2px}
.search-bar>.ic{flex:none;width:22px;height:22px;color:var(--muted)}
.search-bar input{flex:1;min-width:0;width:100%;min-height:44px;padding:0;border:0;border-radius:0;background:transparent;color:var(--ink);font:inherit;font-size:var(--fs-17)}
.search-bar input:focus,.search-bar input:focus-visible{outline:none}
.search-bar input::placeholder{color:var(--muted);opacity:1}
.search-bar .btn{flex:none;min-height:48px;padding-inline:var(--s-16)}
.hero-search{position:relative;z-index:2;margin:-28px var(--s-32) 0}
.library-groups,.toxic-jumps{scroll-margin-top:96px}
.medical-library .index-empty{padding:var(--s-16) 0;color:var(--muted)}

/* ========== Card: base plus media, row, dark, tinted ========== */
.card{min-width:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card)}
a.card{transition:border-color .15s,box-shadow .15s}
a.card:hover{border-color:var(--sage);box-shadow:var(--shadow-1)}
.card-media{overflow:hidden}
.card-row{overflow:hidden}
.card-dark{background:var(--hero-bg);border-color:transparent;color:var(--on-forest)}
a.card-dark:hover{border-color:var(--gold)}
.card-tinted{background:var(--mint)}

/* Home tools: one rule, a thin border in each card's own colour */
.tool.card{border-radius:var(--r-card);border:1px solid transparent}
.tool.tool-checker{background:var(--forest);border-color:rgba(94,140,118,.45);color:var(--on-forest)}
.tool.tool-checker p{color:var(--on-forest-muted)}
.tool.tool-danger{background:#B9412C;border-color:rgba(217,99,77,.6);color:#fff}
.tool.tool-danger h3,.tool.tool-danger p{color:#fff}
.tool.tool-danger .btn-primary{background:#fff;border-color:#fff;color:#7A2417}
.tool.tool-toxic{background:#F5EAD0;border-color:rgba(215,178,96,.4);color:var(--heading)}
.tool.tool-toxic p{color:#6E5A2A}
[data-theme="dark"] .tool.tool-checker{background:var(--hero-bg)}
[data-theme="dark"] .tool.tool-danger{background:#8F3225}
[data-theme="dark"] .tool.tool-toxic{background:#2B2416;color:var(--heading)}
[data-theme="dark"] .tool.tool-toxic p{color:#D9C695}
[data-theme="dark"] .tool .art{opacity:.65}
a.tool.card:hover{box-shadow:var(--shadow-1)}
a.tool.tool-checker:hover{border-color:rgba(94,140,118,.8)}
a.tool.tool-danger:hover{border-color:rgba(217,99,77,.95)}
a.tool.tool-toxic:hover{border-color:rgba(215,178,96,.8)}
.tool .btn{margin-top:auto;align-self:flex-start}
.tool .art{width:88px;height:88px;right:var(--s-8);bottom:var(--s-8)}

/* ========== Chips filter; badges state. Different shape on purpose. ========== */
.chip{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-8);box-sizing:border-box;min-height:40px;padding:var(--s-4) var(--s-16);border:1px solid var(--line);border-radius:var(--r-pill);background:var(--card);color:var(--heading);font:inherit;font-size:var(--fs-15);font-weight:var(--fw-semi);line-height:1.4;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s}
.chip:hover{border-color:var(--sage);background:var(--mint)}
.chip[aria-pressed="true"],.chip[aria-current]{background:var(--heading);border-color:var(--heading);color:var(--card)}
.chip[hidden]{display:none}
.toxic-species{display:flex;gap:var(--s-8);align-items:center;flex-wrap:wrap}
.toxic-jumps{display:flex;gap:var(--s-8);flex-wrap:wrap}
.index-links{display:flex;flex-wrap:wrap;gap:var(--s-8)}
.badge{display:inline-flex;align-items:center;gap:var(--s-4);max-width:100%;padding:var(--s-4) var(--s-8);border-radius:var(--r-control);background:var(--mint);color:var(--heading);font-size:var(--fs-13);font-weight:var(--fw-semi);line-height:1.4;white-space:normal;overflow-wrap:normal}
.badge .ic{width:14px;height:14px;flex-shrink:0}
.badge-on-dark{background:rgba(215,178,96,.18);color:var(--gold-light)}
.clinical-tag-urgent.badge{background:var(--danger-fill);color:#fff}
.clinical-tag-senior.badge,.clinical-tag-puppy.badge,.clinical-tag-kitten.badge{background:var(--gold-soft)}

/* ========== Callout: info, warning, danger ========== */
.callout,.callout-block,.doc p.article-key-advice,.review-note{border-radius:var(--r-card);border:1px solid var(--line);background:var(--mint)}
.callout{margin-top:var(--s-16);padding:var(--s-16);display:flex;gap:var(--s-12);align-items:flex-start;font-size:var(--fs-17);line-height:1.6}
.callout .ic{margin-top:var(--s-4);color:var(--link)}
.callout-block{padding:var(--s-24) var(--s-32)}
.doc p.article-key-advice{padding:var(--s-16) var(--s-24);border-left-width:1px}
.callout-info,.callout.info{background:var(--mint);border-color:var(--sage)}
.callout-warning,.callout.warn,.callout.warning{background:var(--amber-soft);border-color:var(--amber)}
.callout-warning .ic,.callout.warn .ic{color:var(--amber)}
.callout-danger,.callout.danger,.doc p.article-key-advice-warning{background:var(--red-soft);border-color:var(--danger-line)}
.callout-danger .ic,.callout.danger .ic{color:var(--red)}
.review-note{padding:var(--s-16)}

/* ========== Clinic block (phase 1) ========== */
.contact-block{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-12) var(--s-16)}
.contact-inline{margin:var(--s-24) 0}
.contact-24{color:var(--heading);font-size:var(--fs-15);font-weight:var(--fw-semi);line-height:1.4;text-decoration:underline;text-underline-offset:3px}
.contact-sticky{display:none}

/* ========== Header, menu, footer ========== */
.hd .theme-toggle{width:44px;height:44px;padding:11px;border:0;border-radius:50%;background:transparent;color:var(--gold);transition:background .18s,color .18s}
.hd .theme-toggle svg{width:20px;height:20px}
.hd .theme-toggle:hover{background:rgba(215,178,96,.12);color:var(--on-forest)}
.mnav a{font-size:var(--fs-15);padding:var(--s-8)}
.drawer a{display:flex;align-items:center;min-height:44px;font-size:var(--fs-15)}
.drawer a.nav-danger{background:var(--danger-fill);color:#fff;font-weight:var(--fw-bold);border-radius:var(--r-control);padding:var(--s-8) var(--s-12);border-bottom:0;margin-top:var(--s-8)}
.drawer a[aria-current="page"]:not(.nav-danger){color:var(--gold);font-weight:var(--fw-bold)}
.drawer a.nav-danger[aria-current="page"]{box-shadow:inset 0 0 0 2px var(--gold)}

/* ========== Page bits that sit on the components ========== */
.clinic-filters{display:block;margin:0;padding:0;background:transparent;border:0}
.clinic-filter-panel{margin-top:var(--s-24);padding:var(--s-24)}
.clinic-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-16)}
.clinic-card>.clinic-actions{align-items:stretch}
.clinic-card .btn{flex:1;min-width:0}
.clinic-actions .btn{min-height:48px}
.clinic-phone{display:inline;font-size:var(--fs-15);font-variant-numeric:tabular-nums}
.clinic-phone-options .btn{width:100%}
.clinic-phone-picker>summary{list-style:none}
.toxic-controls{grid-template-columns:minmax(0,1fr);margin:var(--s-32) 0 var(--s-24)}
.toxic-action{border-radius:var(--r-control)}
.medical-library .library-species-count{width:auto;min-width:26px}
.editorial-library-actions,.emergency-hero-actions{display:flex;flex-wrap:wrap;gap:var(--s-12);margin-top:var(--s-24)}
.editorial-library-count strong{font-family:var(--sans);font-weight:var(--fw-bold)}
.emergency-before li::before{font-family:var(--sans)}
.art-grid{padding-top:var(--s-24)}
.doc section:first-of-type{padding-top:var(--s-8)}
.medical-library .breed-card .library-article-code{color:var(--gold-light);border-color:rgba(215,178,96,.4)}
.art-grid:has(.editorial-status) .doc .review-note{display:none}
.index-search input::placeholder{color:var(--muted);opacity:1}

/* ========== 404 ========== */
.error-header{flex-wrap:wrap}
.err-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--s-4);flex:1;min-width:0}
.err-nav a,.err-menu nav a{display:inline-flex;align-items:center;min-height:44px;padding:var(--s-4);border-radius:var(--r-control);font-size:var(--fs-15);color:var(--ink)}
.err-nav a:hover{background:var(--card)}
.err-menu{display:none}
.err-menu summary{display:inline-flex;align-items:center;min-height:44px;padding:var(--s-8) var(--s-16);border:1px solid var(--line);border-radius:var(--r-control);font-size:var(--fs-15);font-weight:var(--fw-semi);cursor:pointer;list-style:none}
.err-menu summary::-webkit-details-marker{display:none}
.err-menu nav{display:grid;gap:var(--s-4);margin-top:var(--s-8)}
.err-search{max-width:560px;margin-top:var(--s-24)}
.error-actions .err-danger,[data-theme="dark"] .error-actions .err-danger{color:var(--red);border-color:var(--red)}
.error-animal svg,.error-animal svg path{fill:var(--gold)}
.error-header .theme-toggle{width:44px;height:44px;padding:11px;border:0;color:var(--gold-deep);border-radius:50%}
.error-header .theme-toggle svg{width:20px;height:20px}

@media(max-width:1180px){
  .err-nav{display:none}
  .err-menu{display:block;order:3;flex-basis:100%}
  .err-menu:not([open]){flex-basis:auto;order:0}
  .error-header .theme-toggle{margin-inline-start:auto}
}
@media(max-width:900px){
  .hero-search{margin:-24px var(--s-12) 0}
  .clinic-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .clinic-filter-grid>label:last-child{grid-column:1/-1}
  .emergency-guide .contact-inline,.toxic-guide .contact-inline{display:none}
  .contact-sticky{display:flex;flex-wrap:nowrap;justify-content:space-between;position:sticky;bottom:0;z-index:15;margin:var(--s-24) -16px 0;padding:var(--s-8) var(--s-16) calc(8px + env(safe-area-inset-bottom,0px));background:var(--card);border-top:1px solid var(--line);box-shadow:var(--shadow-2)}
  .contact-sticky .btn{flex:1 1 auto;padding-inline:var(--s-12)}
  .contact-sticky .contact-24{flex:0 1 38%;text-align:center}
  body:has(#petinfo-debug-bar) .contact-sticky{bottom:39px}
  /* Touch targets: 44 tall for everything that is not a link inside running text */
  .btn,.chip{min-height:44px}
  .contact-24,.ft .note a,.clinic-card h3 a,.emergency-bottom>a,.error-footer a,.error-brand,.toxic-sources summary,.clinic-sources a,.crumbs a,.ft ul a,.sec-h a,.clinic-reset,.clinic-back,.library-category-reset,.search-summary a,.search-empty a,.toxic-related a,.emergency-related a,.emergency-source,.information-source,.information-nav a,.rel a,.toc nav a,.editorial-status a,.source-link a,.clinic-contact-link a{display:inline-flex;align-items:center;gap:var(--s-4);min-height:44px}
  .page-shell>.crumbs{align-items:center;row-gap:0}
  .crumbs>span{display:inline-flex;align-items:center;min-height:44px}
  .ft ul{gap:0}
  .share button,.share .share-link{width:44px;height:44px}
  .clinic-checks label{min-height:44px}
  .clinic-checks input{width:22px;height:22px}
  .callout-block{padding:var(--s-24)}
}
@media(max-width:560px){
  .hero-search{margin:-24px var(--s-8) 0}
  .search-bar{padding-left:var(--s-12)}
  .search-bar>.ic{width:20px;height:20px}
  .search-bar .btn{padding-inline:var(--s-12)}
  .clinic-filter-panel{padding:var(--s-16)}
  .err-search{margin-inline:auto}
  .callout-block{padding:var(--s-16)}
  .doc p.article-key-advice{padding:var(--s-16)}
  .clinic-filters select{font-size:var(--fs-15)}
}

/* Article illustration: full column, top level with the contents and side boxes, optional caption */
.doc .breed-portrait{width:100%;max-width:none;margin:0 0 var(--s-32);overflow:visible;border-radius:0}
.doc .breed-portrait img{border-radius:var(--r-card)}
.doc .breed-portrait figcaption{margin-top:var(--s-8);font-size:var(--fs-13);line-height:1.6;color:var(--muted)}
[data-theme="dark"] .doc .breed-portrait img{filter:brightness(.9)}
@media(max-width:900px){
  /* An article that opens with urgent advice shows it before the picture on phones */
  .doc.portrait-late{display:flex;flex-direction:column}
  .doc.portrait-late>*{min-width:0}
  .doc.portrait-late>section:first-of-type{order:-1}
  .doc.portrait-late>.breed-portrait{margin:var(--s-24) 0 0}
  /* A wrapped breadcrumb's current page needs no touch height */
  .crumbs>span{min-height:24px}
}

/* Urgent list inside a finished-HTML article: the danger callout */
.flagbox.callout-block{margin-top:var(--s-16);padding:var(--s-16);overflow:visible}
.flagbox.callout-block h3{margin:0 0 var(--s-8)!important;padding:0;background:none;color:var(--red)!important;font-size:var(--fs-17)!important}
.flagbox.callout-block h3 .ic{color:var(--red)}
.flagbox.callout-block ul{margin:0!important;padding:0!important;background:transparent}
.mnav{gap:var(--s-8)}
