/* -------------------------------------------------------------------------------------------------
   11TH NATIONAL SCOUT JAMBOREE 2027 - FRONTEND TYPOGRAPHY
   Shared professional font treatment for ALL public registration pages.

   BODY / FORMS / MENU : Inter
   TITLES / HEADINGS   : DM Sans

   This file must load AFTER main.css and page-specific CSS.
-------------------------------------------------------------------------------------------------- */

:root
{
	--jmb-font-form: "Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--jmb-font-title: "DM Sans", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* -------------------------------------------------------------------------------------------------
   GLOBAL FRONTEND TEXT
   Use Inter as the default typeface for all normal public-facing text.
-------------------------------------------------------------------------------------------------- */
body,
p,
a,
span,
small,
strong,
b,
label,
button,
input,
select,
textarea,
table,
thead,
tbody,
tfoot,
th,
td,
.site-topbar,
.site-nav,
.site-nav-brand,
.site-nav-menu,
.site-hero-intro,
.site-hero-page-label,
.portal-panel,
.portal-btn,
.portal-action-btn,
.portal-data-table,
.dataTables_wrapper
{
	font-family: var(--jmb-font-form) !important;
}

/* -------------------------------------------------------------------------------------------------
   FORM LABELS / CONTROLS
-------------------------------------------------------------------------------------------------- */
label,
.portal-form-group label,
.foreign-request-section .portal-form-group label,
.district-access-section label,
.troop-access-section label,
.foreign-account-form label,
.foreign-application-form label,
.foreign-participant-form label,
.troop-entry-form label
{
	font-family: var(--jmb-font-form) !important;
	font-size: 0.78rem;
	font-weight: 600 !important;
	line-height: 1.35;
	letter-spacing: 0.002em;
}

label small,
.portal-form-group label small
{
	font-family: var(--jmb-font-form) !important;
	font-weight: 400 !important;
	letter-spacing: 0;
}

input,
select,
textarea,
.portal-control
{
	font-family: var(--jmb-font-form) !important;
	font-weight: 400 !important;
}

input::placeholder,
textarea::placeholder
{
	font-family: var(--jmb-font-form) !important;
	font-weight: 400 !important;
}

/* -------------------------------------------------------------------------------------------------
   PAGE / PANEL / SECTION TITLES
-------------------------------------------------------------------------------------------------- */
h1,
h2,
h3,
h4,
h5,
h6,
.site-hero-copy h1,
.page-heading-block h2,
.district-portal-heading h2,
.section-heading h2,
.portal-panel-header h3,
.portal-modal-header h3,
.district-access-title h3,
.foreign-request-heading h4,
.home-welcome-copy h2,
.home-welcome-copy h3,
.home-action-card h3,
.process-card h3,
.site-footer h3,
.site-footer h4
{
	font-family: var(--jmb-font-title) !important;
	font-weight: 600 !important;
	letter-spacing: -0.015em;
}

.page-heading-block h2,
.district-portal-heading h2,
.section-heading h2
{
	font-weight: 600 !important;
	letter-spacing: -0.02em;
}

.portal-panel-header h3,
.portal-modal-header h3,
.district-access-title h3
{
	font-weight: 600 !important;
	letter-spacing: -0.012em;
}

.foreign-request-heading h4,
.home-action-card h3,
.process-card h3
{
	font-weight: 600 !important;
	letter-spacing: -0.01em;
}

/* -------------------------------------------------------------------------------------------------
   TOP MENU / NAVIGATION
   The old stylesheet uses very heavy 780/850 weights. Keep the menu clean and modern.
-------------------------------------------------------------------------------------------------- */
.site-nav-brand,
.site-nav-brand span
{
	font-family: var(--jmb-font-title) !important;
	font-weight: 600 !important;
	letter-spacing: -0.01em;
}

.site-nav-menu a,
.site-nav-menu a span
{
	font-family: var(--jmb-font-form) !important;
	font-weight: 500 !important;
	letter-spacing: -0.005em;
}

.site-nav-menu a.active,
.site-nav-menu a.active span,
.site-nav-menu a:hover,
.site-nav-menu a:hover span
{
	font-weight: 600 !important;
}

.site-topbar,
.site-topbar p
{
	font-family: var(--jmb-font-form) !important;
	font-weight: 500 !important;
}

/* -------------------------------------------------------------------------------------------------
   KICKERS / BADGES / SUPPORTING TEXT
-------------------------------------------------------------------------------------------------- */
.section-kicker,
.portal-panel-kicker,
.site-hero-kicker,
.site-hero-page-label
{
	font-family: var(--jmb-font-form) !important;
	font-weight: 600 !important;
}

.portal-panel-badge,
.portal-inline-warning,
.district-session-bar p
{
	font-family: var(--jmb-font-form) !important;
	font-weight: 500 !important;
}

/* -------------------------------------------------------------------------------------------------
   SUMMARY CARDS / TOTALS
   These were the remaining thick fonts marked in the screenshot.
-------------------------------------------------------------------------------------------------- */
.district-slot-card span
{
	font-family: var(--jmb-font-form) !important;
	font-weight: 600 !important;
	letter-spacing: 0.035em;
}

.district-slot-card strong
{
	font-family: var(--jmb-font-title) !important;
	font-weight: 600 !important;
	letter-spacing: -0.015em;
}

.foreign-request-total,
.foreign-request-total strong
{
	font-family: var(--jmb-font-form) !important;
	font-weight: 600 !important;
	letter-spacing: -0.005em;
}

.foreign-grand-total,
.foreign-grand-total strong
{
	font-family: var(--jmb-font-title) !important;
	font-weight: 600 !important;
	letter-spacing: -0.01em;
}

.local-fee-grand-total,
.local-fee-grand-total span,
.local-fee-grand-total strong,
.troop-scout-footer-total,
.troop-scout-footer-total span
{
	font-family: var(--jmb-font-form) !important;
	font-weight: 600 !important;
}

/* -------------------------------------------------------------------------------------------------
   TABLES / BUTTONS
-------------------------------------------------------------------------------------------------- */
.portal-data-table th,
.dataTables_wrapper table th
{
	font-family: var(--jmb-font-form) !important;
	font-weight: 600 !important;
}

.portal-data-table td,
.dataTables_wrapper table td
{
	font-family: var(--jmb-font-form) !important;
	font-weight: 400;
}

button,
.portal-btn,
.portal-action-btn,
.dt-button
{
	font-family: var(--jmb-font-form) !important;
	font-weight: 500 !important;
}

/* Normal emphasis should be clear without the old extra-heavy appearance. */
.portal-panel strong,
.site-footer strong
{
	font-weight: 600;
}
