/* Style Hub Pro global typography system
   One editorial display face + one crisp interface face across the app.
   Typography only: no layout, data or behaviour changes. */

@font-face{
  font-family:"Style Hub UI";
  src:url("/assets/fonts/Manrope.ttf?v=1") format("truetype");
  font-style:normal;
  font-weight:200 800;
  font-display:swap;
}

:root{
  --sh-font-ui:"Style Hub UI",sans-serif;
  --sh-font-display:"Bodoni 72",Didot,"Iowan Old Style",Georgia,serif;
}

html,body,button,input,select,textarea{
  font-family:var(--sh-font-ui)!important;
}

body{
  font-weight:400;
  letter-spacing:0;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* One consistent display face for headings across the product. */
h1,h2,h3,
.title,.serif,
.dashboard-profile-hero h1,
.dashboard-feature-head h2,
.dashboard-workspace h2,
.dashboard-manage-head h2,
.public-hero h1,
.diary-premium-header~.head .title,
.diary-current-week strong,
.diary-weekbar strong,
.diary-day-head .date-num,
.appointment-detail-heading h2,
.legal-accept-card h1,
.system-wordmark .system-name,
.learning-clock{
  font-family:var(--sh-font-display)!important;
  font-weight:400!important;
}

/* Interface typography: controls, navigation, labels, cards and diary content. */
h4,h5,h6,
button,.btn,input,select,textarea,label,
.nav,.switch,.muted,.eyebrow,.status,.pill,
.dashboard-shell,.dashboard-app-tile,.dashboard-action-box,
.dashboard-manage-entry,.dashboard-reference-home,.dashboard-manage-back,
.calendar-grid,.calendar-appt,.calendar-appt strong,
.customer-home-menu,.customer-home-view,
.request-card,.slot,.table,.row,.card,.notice{
  font-family:var(--sh-font-ui)!important;
}

/* Keep reference look consistent: small caps/kickers are sans and crisp. */
.eyebrow,
.dashboard-shell .eyebrow,
.dashboard-feature-kicker,
.platform-tier,
.system-brand-sub{
  font-family:var(--sh-font-ui)!important;
  font-weight:600;
}

/* Product/card labels remain UI text even when nested in heading-like containers. */
button h1,button h2,button h3,
.btn h1,.btn h2,.btn h3,
.card h3,.request-card h3,
.dashboard-summary-card h3,
.dashboard-app-tile h3{
  font-family:var(--sh-font-ui)!important;
  font-weight:600!important;
}

/* Appointment/client text should read like product UI, not a second display face. */
.calendar-appt strong,
.dashboard-app-tile strong,
.dashboard-manage-page .dashboard-app-tile strong{
  font-family:var(--sh-font-ui)!important;
  font-weight:600!important;
}

/* Canonical product typography.
   This final layer intentionally outranks legacy page-level declarations. */
html body,
html body button,html body .btn,
html body input,html body select,html body textarea,html body label,
html body p,html body small,html body span,html body strong,
html body .nav,html body .switch,html body .muted,html body .eyebrow,
html body .status,html body .pill,html body .notice,html body .table,
html body .row,html body .card,html body .calendar-grid,
html body .calendar-appt,html body .appointment-detail-card,
html body .professional-loading-screen{
  font-family:var(--sh-font-ui)!important;
}

html body h1,html body h2,html body h3,
html body .title,html body .serif,
html body .dashboard-identity-copy h1,
html body .dashboard-profile-hero h1,
html body .dashboard-feature-head h2,
html body .dashboard-workspace h2,
html body .dashboard-manage-head h2,
html body .public-hero h1,
html body .professional-loading-screen .title,
html body .dashboard-opening-copy .title,
html body .appointment-detail-heading h2,
html body .diary-current-week strong,
html body .diary-weekbar strong,
html body .diary-day-head .date-num,
html body .legal-accept-card h1,
html body .learning-clock{
  font-family:var(--sh-font-display)!important;
  font-weight:400!important;
}

html body button h1,html body button h2,html body button h3,
html body .btn h1,html body .btn h2,html body .btn h3,
html body .dashboard-app-tile h3,
html body .dashboard-app-tile strong,
html body .calendar-appt strong{
  font-family:var(--sh-font-ui)!important;
  font-weight:600!important;
}

/* Loading and connection messages are interface status, not editorial headings. */
html body .professional-loading-screen .title,
html body .dashboard-opening-copy .title{
  font-family:var(--sh-font-ui)!important;
  font-weight:500!important;
  letter-spacing:-.025em!important;
}

/* Editorial headings retain the display face; controls and body copy remain UI text. */
