/* ═══════════════════════════════════════════════════════════════════════════
 * SELLIORA r444 · Title Case for the interface ("Two Thousand Three Hundred")
 * Every word of the interface's own text starts with a capital: buttons, tabs,
 * chips, pills, labels, headings, page descriptions, card titles, menus,
 * placeholders, pager and empty messages.
 *   • Text that is ALL CAPS on purpose (table headings, section labels) stays
 *     ALL CAPS — :where() has no weight, so any existing rule wins over it.
 *   • What people type is never changed: inputs, chat messages, notes,
 *     template text, emails and the data in table cells keep their own case.
 * Loaded last.
 * ═══════════════════════════════════════════════════════════════════════════ */

/* the interface's own words */
:where(button, .btn, select, option, [role="tab"], [role="menuitem"], label, legend, summary, th, h1, h2, h3, h4, h5, h6,
  .ph, .ps, .modal-title, .modal-head, .modal-header,
  .ntab, .tb-subnav, .set-tab, .subtab, .tab, .tabs a,
  .pill, .tag, .chip, .fchip, .dchip, .op-chip, .ac-chip, .cpx-chip, .tk-chip, .wa-tab-chip, .wa-tag, .wa-stage, .ss-switch,
  .cpx-st, .tk-st, .tk-type, .ac-type, .ac-out, .tp-st, .tp-cat, .op-tag, .op-pill, .wi-tag, .lp-chip, .cp-ch, .cp-st,
  .op-kpi-l, .op-kpi-s, .lkpi-l, .kpi-l, .stat-l, .card-title, .card-h, .sec-title, .section-title,
  .row-action-menu, .op-menu, .op-menu-note, .am-item, .sp-item, .sp-h, .srt-f, .srt-o, .srt-ht, .cf-pi, .cf-pcat, .cf-match, .cf-head,
  .tp-head, .tp-go, .tp-sub, .tp-empty, .sn-sec, .sn-empty, #sn-head, #sn-tabs,
  .op-pg-info, .op-pg-size, .empty, .cpx-empty, .tk-empty, .wa-empty-list, .wi-l, .wi-top, .wi-ah, .wi-none,
  .ff > label, .fl, .field-label, .form-label, .lbl, .hint, .help, .sub-title, .subtitle, .tk-sub, .ac-f > span,
  .wa-title, .wa-tpl-head, .wa-drawer-title, .wa-thread-sub, .status-bar, .sb-item, .sbar .ntab, .sbar .ntab span) {
  text-transform: capitalize;
}
/* placeholders too ("Search Leads, Applications, Calls…") */
:where(input, textarea)::placeholder { text-transform: capitalize; }

/* never change what people type or what came from a customer */
input, textarea, [contenteditable="true"], [contenteditable=""],
.wa-bubble, .wa-bubble *, .wa-messages .wa-bubble-text, .wa-chat-preview, .wa-tpl-body, .tp-body, .tp-card-h b,
.wapop-tpl-b, .wapop-body .wa-bubble *, .ac-note, .ac-vnotes, .tk-remark, .wi-iv a, .wi-at p,
.notes, .note, pre, code, kbd, samp, a[href^="mailto:"], a[href^="tel:"], a[href^="http"],
td, td *:not(.pill):not(.tag):not(.cpx-st):not(.tk-st):not(.tk-type):not(.ac-type):not(.ac-out):not(.op-tag):not(.op-pill):not(.wa-stage):not(button):not(.btn) {
  text-transform: none;
}
/* …but the pills, tags and buttons inside table cells are interface text */
td :where(.pill, .tag, .cpx-st, .tk-st, .tk-type, .ac-type, .ac-out, .op-tag, .op-pill, .wa-stage, .cp-ch) { text-transform: capitalize; }
