:root {
    /* Brand */
    --nmslo-color-brand: var(--dxp-g-brand, #005f85);
    --nmslo-color-brand-surface: rgba(0, 92, 130, 0.87);
    --nmslo-color-accent: #D6521E;
    --nmslo-color-page-bg: var(--dxp-g-root, #f2ece1);
    --nmslo-color-on-brand: #ffffff;

    /* Typography */
    --nmslo-font-heading: "Merriweather", Georgia, serif;
    --nmslo-font-body: "Montserrat", Arial, sans-serif;

    /* Form sizing */
    --nmslo-control-height: 52px;
}

/* ==========================================================
   GLOBAL TYPOGRAPHY / PAGE
   ========================================================== */

html,
body {
    scroll-behavior: smooth;
}

.hero-title,
.page-title,
.section-title {
    font-family: var(--nmslo-font-heading);
    font-weight: 700;
}

body,
.slds-text-body_regular,
.nav-link,
.card-title,
button,
input {
    font-family: var(--nmslo-font-body);
}

.siteforceThemeLayoutStarter .siteforceContentArea {
    background-color: var(--nmslo-color-page-bg) !important;
}

/* Push footer to bottom */
.siteforceContentArea > div:last-child {
    margin-top: auto;
}

.body {
    max-width: 100%;
    min-height: 500px;
    margin: 0 auto;
    background: var(--nmslo-color-page-bg);
}

/* ==========================================================
   SLDS / SALESFORCE OVERRIDES
   ========================================================== */

.slds-progress__item.slds-is-completed .slds-progress__marker,
.slds-progress__item.slds-is-active .slds-progress__marker {
    border-color: var(--nmslo-color-brand);
    background: var(--nmslo-color-accent);
}

.slds-form-element__label {
    font-size: 16px;
    font-weight: 600;
}

.slds-input {
    font-size: 14px;
}

.slds-progress_vertical .slds-progress__item_content {
    font-size: 18px;
    font-weight: 600;
}

.slds-th__action {
    color: var(--nmslo-color-on-brand);
    background: var(--nmslo-color-brand-surface);
}

.comm-navigation,
.themeProfileMenu {
    font-size: 16px;
}

/* ==========================================================
   LOGIN
   ========================================================== */

.salesforceIdentityLoginForm2,
.salesforceIdentityLoginForm2 .inputIcon,
.salesforceIdentityLoginForm2 a,
.salesforceIdentityLoginForm2 a:link,
.salesforceIdentityLoginForm2 a:visited,
.salesforceIdentityLoginForm2 a:hover,
.salesforceIdentityLoginForm2 a:active,
.salesforceIdentityLoginForm2 a:focus {
    color: var(--nmslo-color-accent) !important;
}

.salesforceIdentityLoginForm2 a {
    padding-bottom: 20px;
    font-weight: 800;
}

/* ==========================================================
   SELF REGISTRATION / PROFILE
   ========================================================== */

.comm-page-custom-self-register .forceCommunitySection .cb-section_column,
.comm-page-custom-self-register .forceCommunitySection .cb-section_column:first-child,
.comm-page-custom-self-register .forceCommunitySection .cb-section_column:last-child,
.comm-page-custom-self-register .forceCommunitySection .cb-section_column:only-child {
    padding: 0 !important;
}

c-slo-self-register-lwc .slo-selfreg .slds-input,
c-slo-self-register-lwc .slds-combobox__input,
c-slo-user-profile .slds-input {
    height: var(--nmslo-control-height);
    min-height: var(--nmslo-control-height);
    border-radius: 6px;
}

c-slo-self-register-lwc .slds-combobox__input {
    display: flex;
    align-items: center;
}

c-slo-self-register-lwc .slds-textarea {
    min-height: var(--nmslo-control-height);
}

/* ==========================================================
   OMNISCRIPT BUTTONS
   ========================================================== */

@media (min-width: 48em) {
    .omniscript-btn-next,
    .omniscript-btn-previous,
    .omniscript-btn-save-for-later {
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: none !important;
    }

    .omniscript-btn-next .vlocity-btn,
    .omniscript-btn-previous .vlocity-btn,
    .omniscript-btn-save-for-later .vlocity-btn {
        width: auto !important;
        min-width: 120px;
        padding: 0 1rem !important;
        white-space: nowrap;
    }
}

.slds-input[readonly] {
    --slds-c-input-color-border: #d8d8d8 !important; 
    --slds-c-input-color-background: #f3f3f3 !important;
    color: #666 !important;
    --slds-c-input-spacing-inline-start: revert !important;
}