/* PUBLIC PAGES: one type scale (trial on /arles first).
   LABEL  11 px, 500, capitals with tracking   (kickers, tags, card labels, buttons)
   SMALL  13 px, 400                           (captions, card descriptions, links in lists, footer)
   TEXT   15 px, 300 (tables 15 px, labels 500) (running text, FAQ answers, tables)
   LEAD   17 px, 300                           (the opening paragraph of a guide)
   TITLE  17 px, 400                           (card titles, list titles, related-link titles)
   Headings (h1, h2) keep their fluid sizes from the design tokens; the pull quote keeps 21 px.
   Same family everywhere (Montserrat). Loaded after site-polish.css. */

/* LABEL */
body .cl, body .tag, body .sec-kicker, body .sk, body .rk { font-size: var(--fs-micro) !important; font-weight: var(--w-med) !important; }

/* SMALL */
body .cg .card p, body .rd, body .pq cite, body .fd-links a, body .foot-explore-links a, body .foot-brand-tag, body .foot-meta p, body .foot-meta a {
  font-size: var(--fs-caption) !important; font-weight: var(--w-book) !important;
}

/* TEXT */
body p.body-text, body .lb2, body .faq-a p, body p.hint, body table th, body table td { font-size: var(--fs-body) !important; }
body p.body-text, body .lb2, body .faq-a p, body table td { font-weight: var(--w-light) !important; }
body table th { font-weight: var(--w-med) !important; }
body p.hint { font-weight: var(--w-light) !important; }

/* LEAD */
body .cab p, body p#cab { font-size: 1.0625rem !important; font-weight: var(--w-light) !important; }

/* TITLE */
body .ln, body .li .ln, body .il .ln, body .rt, body .tip h3, body .cg .card h3, body .lb2 h3, body .si h3 { font-size: 1.0625rem !important; font-weight: var(--w-book) !important; }

/* ---- the same roles on every other page type (index, restaurants, markets, planner, winter, what's on, ...) ---- */

/* TEXT: running paragraphs in sections, call-to-action and notes; inline sizes in rem are folded onto the scale */
body :where(.sec, .si, .cta, .lv-take, .lv-next, .lv-stay) p:where(:not(#plApp p)),
body p[style*=".95rem"], body p[style*=".9375rem"], body p[style*=".92rem"], body p[style*=".9rem"], body p[style*="1rem;"], body p[style*="1.05rem"],
body p.lv-take-p, body label.pl-check, body time, body a.ot-n, body .ot-n { font-size: var(--fs-body) !important; }
body :where(.sec, .si, .cta) p:not([style*="font-weight"]):where(:not(#plApp p)) { font-weight: var(--w-light); }

/* LEAD: the opening answer and the sub line under a heading */
body p#qa_v, body p.hero-sub, body p.sec-sub, body p[style*="--fs-body-lg"] { font-size: 1.0625rem !important; }
body p#qa_v { font-weight: var(--w-med) !important; }

/* SMALL: notes, descriptions, addresses */
body p[style*=".72rem"], body p[style*=".78rem"], body p[style*=".8rem"], body p[style*=".82rem"], body span[style*=".75rem"],
body p.book-trust-txt, body p.evl-desc, body .mc-desc, body .faq-more-link, body .promo-pop-copied { font-size: var(--fs-caption) !important; font-weight: var(--w-book) !important; }
body .faq-more-link, body .promo-pop-copied { font-weight: var(--w-med) !important; }
body span.tn { font-size: var(--fs-caption) !important; }

/* TITLE */
body h4.ev-title-new, body h4.evl-t, body .evl-t, body .stay-name, body .journal-title, body .pick-h, body .plan-title, body .pl-zone, body .rn, body .mc-name,
body .stay-card h3, body h3.pick-h, body div[style*="1.15rem"] { font-size: 1.0625rem !important; font-weight: var(--w-book) !important; }
body a.ri .rt { font-weight: var(--w-book) !important; }
body [data-i="faq_more_txt"], body span.faq-more-txt { font-size: var(--fs-caption) !important; }
body .lv-route a, body a[id^="lvr_"]:not(.btn), body a[id^="lvn_"]:not(.btn) { font-size: var(--fs-body) !important; }
body #w1c1h, body .sec h3[id$="h"] { font-size: 1.0625rem !important; font-weight: var(--w-book) !important; }
body strong { font-size: inherit !important; }
body .cgrid .card h3 { font-size: 1.0625rem !important; font-weight: var(--w-book) !important; }
body #plApp .pl-daysout, body .evl-static li, body .evl-static li span, body .evl-static li strong { font-size: var(--fs-body) !important; }
body .we-l li, body .we-l li span, body .we-l li strong { font-size: var(--fs-body) !important; }

/* SMALL text is regular weight, never light (13 px at 300 is too thin to read comfortably) */
body figcaption, body p.wa-line, body .lno, body .lnt, body .hn, body .tn, body .rst, body .evl-exp, body .ev-expected,
body .tm-far-n, body .tm-near-n, body .tm-far-m, body .tm-cap, body .plan-note, body .pick-sub, body .stay-meta, body .plan-p2, body .book-from-note, body .book-terms-note, body .book-widget-note,
body .ev-meta-new, body .mc-time, body .pl-fsum, body .ot-c, body .ot-m, body .ot-t, body .plan-hint, body .lv-route-k,
body p[style*="--fs-caption"], body a[style*="--fs-caption"], body p[style*="--fs-micro"] { font-weight: var(--w-book) !important; }
body .tm-plan, body .tm-cap a, body #plApp .pl-chips label, body #plApp .pl-seg label, body .plan-chip span, body label span[data-i], body .cgrid .card p { font-weight: var(--w-book) !important; }
body .tm-go a, body .pick-c span, body .pick-chips span { font-weight: var(--w-book) !important; }
body .book-wa, body .book-wa a, body .book-wa span, body .faq-more span, body .tm-far-i, body .tm-far-i span, body .sticky-cta-link { font-weight: var(--w-book) !important; }
body p.lv-stay-k, body p.lv-next-k, body p.lv-route-k { font-size: var(--fs-micro) !important; font-weight: var(--w-med) !important; }
body h3.evl-g, body p.ot-h { font-size: var(--fs-micro) !important; font-weight: var(--w-med) !important; }
body a.lv-stay-more, body span.lv-next-d, body .lv-stay-u, body .lv-stay-units span, body .lv-stay-units li { font-weight: var(--w-book) !important; }
body #plApp h3 { font-size: var(--fs-micro) !important; font-weight: var(--w-med) !important; }
body #plApp .pl-more a, body #plApp li a:not(.btn):not(.btn2), body #plApp a:not([class]) { font-size: var(--fs-body) !important; }
body #plApp p.pl-sub, body #plApp p.pl-foot, body #plApp p.pl-hint, body #plApp .pl-live, body #plApp .pl-note { font-weight: var(--w-book) !important; }
body #plApp a:not([class]) { font-weight: inherit; }
body p.body-text { font-weight: var(--w-light) !important; }
