
/* ADOPTVILLA — UNIFIED FONT SIZES */
/* Font size changes only. No other style properties. */

/* 1. Default body text — 16px */
body:not(#av-font-exception-1):not(#av-font-exception-2) {
  font-size: 16px !important;
}

body:not(#av-font-exception-1):not(#av-font-exception-2)
:is(p, li, blockquote, figcaption, summary, dd) {
  font-size: 16px !important;
}

/* 2. Buttons and form inputs — 14px */
body:not(#av-font-exception-1):not(#av-font-exception-2)
:is(
  button:not(.davo-dismiss):not(.menu-button):not([class*="icon-only"]):not([class*="icon-button"]),
  input:not([type="checkbox"]):not([type="radio"]),
  textarea,
  select,
  option
) {
  font-size: 14px !important;
}

/* 3. Navigation text — 16px */
body:not(#av-font-exception-1):not(#av-font-exception-2)
:is(
  nav a,
  footer a,
  [class*="sidebar"] a,
  [class*="sidebar"] button,
  [class*="tabs"] button,
  [class*="pagination"] button
) {
  font-size: 16px !important;
}

/* 4. Labels and table text — 15px */
body:not(#av-font-exception-1):not(#av-font-exception-2)
:is(label, th, td, dt) {
  font-size: 15px !important;
}

body:not(#av-font-exception-1):not(#av-font-exception-2)
:is(
  [class*="label"],
  [class*="meta"],
  [class*="badge"],
  [class*="chip"],
  [class*="status"],
  [class*="tag"]
) {
  font-size: 15px !important;
}

/* 5. Helper / secondary text — 14px */
body:not(#av-font-exception-1):not(#av-font-exception-2)
:is(
  small,
  [class*="helper"],
  [class*="hint"],
  [class*="caption"],
  [class*="note"],
  [class*="subtext"],
  [class*="eyebrow"],
  [class*="kicker"]
) {
  font-size: 14px !important;
}

/* 6. Card and panel headings — Desktop 26px */
body:not(#av-font-exception-1):not(#av-font-exception-2)
:is(
  [class*="card"],
  [class*="panel"],
  [class*="tile"]
) :is(h2, h3, h4) {
  font-size: 26px !important;
}

/* 7. Nested text inherits the correct category */
body:not(#av-font-exception-1):not(#av-font-exception-2)
:is(p, li, label, th, td, button, small)
:is(span, strong, b, em) {
  font-size: inherit !important;
}

/* 8. Dashboard statistic labels — 15px */
body:not(#av-font-exception-1):not(#av-font-exception-2)
:is(.admin-stats, .dashboard-cards)
span:not([aria-hidden="true"]) {
  font-size: 15px !important;
}

/* 9. Mobile and tablet — Card headings 20px */
@media (max-width: 767px) {
  body:not(#av-font-exception-1):not(#av-font-exception-2)
  :is(
    [class*="card"],
    [class*="panel"],
    [class*="tile"]
  ) :is(h2, h3, h4) {
    font-size: 20px !important;
  }
}


/* FINAL FONT SIZE FIX — EXPLORE AND DAVO CLOSE */

body:not(#av-font-exception-1):not(#av-font-exception-2)
button.menu-button.mega-trigger {
  font-size: 16px !important;
}

body:not(#av-font-exception-1):not(#av-font-exception-2)
button.davo-dismiss.davo-dismiss-copy {
  font-size: 16px !important;
}


/* ==============================================
   ADOPTVILLA — NAVBAR, SECTION LABELS & FOOTER
   ONLY FONT-SIZE CHANGES
   ============================================== */

/* 1. Navbar brand tagline — 12px */

body:not(#av-font-exception-1):not(#av-font-exception-2)
:is(.site-header, .auth-header, .public-pet-header, .city-header)
.brand-tagline small {
  font-size: 12px !important;
}

/* 2. Navbar Explore — 14px */

body:not(#av-font-exception-1):not(#av-font-exception-2)
.site-header .menu-button.mega-trigger {
  font-size: 14px !important;
}

/* 3. Navbar Log in / My Dashboard — 14px */

body:not(#av-font-exception-1):not(#av-font-exception-2)
.site-header .login {
  font-size: 14px !important;
}

/* 4. Section eyebrow / kicker labels — 12px */

body:not(#av-font-exception-1):not(#av-font-exception-2)
:is(
  .eyebrow,
  .kicker,
  [class*="eyebrow"],
  [class*="kicker"]
) {
  font-size: 12px !important;
}

/* ==============================================
   LANDING-STYLE FOOTER — CONSISTENT FONT SIZES
   ============================================== */

/* 5. Footer brand tagline — 12px */

body:not(#av-font-exception-1):not(#av-font-exception-2)
.home-footer .brand-tagline small {
  font-size: 12px !important;
}

/* 6. Footer description — 16px */

body:not(#av-font-exception-1):not(#av-font-exception-2)
.home-footer .footer-about p {
  font-size: 16px !important;
}

/* 7. Footer column headings — 15px */

body:not(#av-font-exception-1):not(#av-font-exception-2)
.home-footer .footer-grid > div:not(.footer-about) > b {
  font-size: 15px !important;
}

/* 8. Footer navigation links / buttons — 16px */

body:not(#av-font-exception-1):not(#av-font-exception-2)
.home-footer .footer-grid > div:not(.footer-about) > :is(a, button) {
  font-size: 16px !important;
}

/* 9. Footer bottom copyright / legal text — 14px */

body:not(#av-font-exception-1):not(#av-font-exception-2)
.home-footer .footer-bottom,
body:not(#av-font-exception-1):not(#av-font-exception-2)
.home-footer .footer-bottom :is(span, a) {
  font-size: 14px !important;
}

/* ============================================
   ADOPTVILLA — TYPOGRAPHY CATEGORY OVERRIDES
   FONT SIZE ONLY
   ============================================ */

/* 1. CTA BUTTONS — 14px */

body:not(#av-font-exception-1):not(#av-font-exception-2)
:is(a, button)[class*="cta-"],
body:not(#av-font-exception-1):not(#av-font-exception-2)
.home-final-cta :is(a, button) {
  font-size: 14px !important;
}

/* 2. EXPLORE DROPDOWN — 14px */

body:not(#av-font-exception-1):not(#av-font-exception-2)
.site-header .mega-nav .mega-group > b,
body:not(#av-font-exception-1):not(#av-font-exception-2)
.site-header .mega-nav .mega-group :is(a, button) {
  font-size: 14px !important;
}

/* 3. AUTH BENEFIT TAGS — 12px */

body:not(#av-font-exception-1):not(#av-font-exception-2)
.auth-points > span {
  font-size: 12px !important;
}

/* 4. USER + ADMIN SIDEBAR — 13px */

body:not(#av-font-exception-1):not(#av-font-exception-2)
:is(.dashboard-sidebar, .admin-sidebar)
:is(
  .av-nav-search-label,
  .dashboard-nav-group-label,
  .admin-nav-group-label,
  .av-nav-search,
  .av-nav-empty,
  .av-sidebar-context small,
  .av-sidebar-context strong,
  .admin-role-context .av-mini-label,
  .admin-role-context b,
  .admin-role-context label,
  .admin-role-context select,
  nav button,
  nav a,
  nav button span,
  nav a span,
  .dashboard-signout,
  .dashboard-admin-link,
  .role-workspace-quick-switch,
  .admin-account a,
  .dashboard-sidebar-mobile-head > span
) {
  font-size: 13px !important;
}

/* 5. STATUS BADGES — 12px */

body:not(#av-font-exception-1):not(#av-font-exception-2)
:is(
  .status-pill,
  .draft-status,
  .pet-status,
  .adopter-status,
  .workflow-status,
  .admin-flow-status,
  .user-access-status,
  .user-review-badge,
  .avatar-admin-status,
  .demo-status,
  .lost-found-report-top > em,
  .lost-found-match-score > small
) {
  font-size: 12px !important;
}

/* 6. MATCH METADATA — 12px */

body:not(#av-font-exception-1):not(#av-font-exception-2)
:is(
  .lost-found-match-score > span,
  .lost-found-match-actions > em
) {
  font-size: 12px !important;
}

/* 7. POTENTIAL MATCH TITLE — 14px */

body:not(#av-font-exception-1):not(#av-font-exception-2)
.lost-found-match-score > b {
  font-size: 14px !important;
}

/* 8. SMALL KPI / CARD LABELS — 10px */

body:not(#av-font-exception-1):not(#av-font-exception-2)
:is(
  .trust-summary > article > span,
  .trust-card-head > div > span,
  .post-adoption-stats article > span,
  .admin-flow-metrics article > span,
  .dashboard-title-block > span,
  .admin-title-block > span
) {
  font-size: 10px !important;
}

/* DOG CARD IMAGE BADGE — ONLY HOMEPAGE */

body:not(#av-font-exception-1):not(#av-font-exception-2)
.public-home .pet-card .pet-image .availability-badge {
  font-size: 12px !important;
}
