/*
 * IMMOBILOG P36.1 — Typography readability scale
 * Moderate bumps only. Does not redesign layout/colors/structure.
 * Loaded after immobilog-app / immobilog-public.
 */

:root {
    --im-fs-body: 1rem;          /* 16px */
    --im-fs-small: 0.875rem;     /* 14px */
    --im-fs-meta: 0.8125rem;     /* 13px */
    --im-fs-label: 0.875rem;     /* 14px */
    --im-fs-nav: 0.9375rem;      /* 15px */
    --im-fs-btn: 0.9375rem;      /* 15px */
    --im-fs-table: 0.9375rem;    /* 15px */
    --im-fs-lead: 1.0625rem;     /* 17px */
    --im-lh-body: 1.65;
    --im-lh-tight: 1.45;
}

/* ------------------------------------------------------------------ */
/* Public marketing (homepage kept; body/nav/buttons slightly larger) */
/* ------------------------------------------------------------------ */

.wm-home,
.wm-header,
.wm-footer,
.im-auth,
.im-pricing-page,
.authentication-area {
    font-size: var(--im-fs-body);
    line-height: var(--im-lh-body);
}

.wm-text {
    font-size: var(--im-fs-lead) !important;
    line-height: 1.7 !important;
}

.wm-label {
    font-size: 0.72rem !important; /* was ~0.68rem */
}

.wm-header .wm-header__link {
    font-size: var(--im-fs-nav) !important;
}

.wm-header .wm-header__login {
    font-size: var(--im-fs-nav) !important;
}

.wm-btn {
    font-size: var(--im-fs-btn) !important;
}

.wm-btn--sm {
    font-size: 0.875rem !important; /* was ~0.82 */
}

.wm-footer__tagline,
.wm-footer__links a,
.wm-footer__label {
    font-size: var(--im-fs-small);
    line-height: 1.55;
}

.authentication-area label,
.authentication-area .form-group span,
.authentication-area .form-group label,
.im-auth label {
    font-size: var(--im-fs-label) !important;
}

.authentication-area .form-control,
.im-auth .form-control {
    font-size: 1rem !important;
    line-height: 1.45;
}

.authentication-area .btn-primary,
.im-auth__submit {
    font-size: var(--im-fs-btn) !important;
}

/* Logo image sizing — header / footer / auth */
.wm-brand__logo {
    display: block;
    height: 2.25rem; /* 36px — aspect from 330x80 */
    width: auto;
    max-width: 11.5rem;
    object-fit: contain;
}

.wm-brand__logo--footer {
    height: 2.5rem;
    max-width: 12.5rem;
}

.wm-brand__logo--on-dark {
    height: 2.75rem;
    max-width: 13.5rem;
}

.wm-header .wm-brand,
.wm-header .navbar-brand.wm-brand {
    display: inline-flex;
    align-items: center;
    line-height: 0;
}

.wm-header .wm-brand__mark,
.wm-footer .wm-brand__mark {
    display: none;
}

@media (max-width: 991.98px) {
    .wm-brand__logo {
        height: 2rem;
        max-width: 9.5rem;
    }
}

@media (max-width: 575.98px) {
    .wm-brand__logo {
        height: 1.75rem; /* 28px — still readable on 360 */
        max-width: 8.5rem;
    }

    .wm-text {
        font-size: 1rem !important;
    }

    .wm-header .wm-header__link,
    .wm-header .wm-header__login {
        font-size: 0.9375rem !important;
    }
}

/* ------------------------------------------------------------------ */
/* SaaS app (tenant / agent / admin)                                   */
/* ------------------------------------------------------------------ */

body.im-app {
    font-size: var(--im-fs-body);
    line-height: var(--im-lh-body);
}

body.im-app .im-kicker {
    font-size: 0.72rem;
}

body.im-app .page-header .page-title,
body.im-app h2.page-title {
    font-size: 1.7rem;
    line-height: 1.2;
}

body.im-app .page-header .breadcrumbs li a,
body.im-app .page-header .breadcrumbs .nav-item a {
    font-size: var(--im-fs-small) !important;
}

body.im-app .sidebar .nav > .nav-item > a p {
    font-size: var(--im-fs-nav);
    line-height: var(--im-lh-tight);
}

body.im-app .sidebar .nav .nav-section,
body.im-app .sidebar .nav .nav-section .text-section,
body.im-app .sidebar .nav .sidebar-mini-icon {
    font-size: 0.72rem !important;
}

body.im-app .sidebar .nav-collapse li a {
    font-size: var(--im-fs-small) !important;
    line-height: var(--im-lh-tight);
}

body.im-app .sidebar .user .info .user-level {
    font-size: var(--im-fs-meta) !important;
}

body.im-app .sidebar .sidebar-search,
body.im-app .sidebar .form-control.sidebar-search {
    font-size: var(--im-fs-small) !important;
}

body.im-app .card-title,
body.im-app .card-header .card-title {
    font-size: 1rem;
}

body.im-app .card-stats .card-category,
body.im-app .card-category {
    font-size: 0.8125rem;
}

body.im-app label,
body.im-app .form-group label,
body.im-app .control-label {
    font-size: var(--im-fs-label);
    line-height: 1.4;
}

body.im-app .form-control,
body.im-app .custom-select,
body.im-app select.form-control,
body.im-app textarea.form-control,
body.im-app .select2-container--default .select2-selection--single,
body.im-app .select2-container--default .select2-selection--multiple {
    font-size: 0.95rem !important;
    line-height: 1.45;
    min-height: 2.7rem;
}

body.im-app .btn {
    font-size: var(--im-fs-btn);
    line-height: 1.35;
}

body.im-app .btn-sm {
    font-size: 0.875rem;
}

body.im-app .table thead th {
    font-size: 0.78rem;
    line-height: 1.35;
}

body.im-app .table td {
    font-size: var(--im-fs-table);
    line-height: 1.5;
}

body.im-app .dropdown-item {
    font-size: 0.9rem;
}

body.im-app .nav-tabs .nav-link {
    font-size: 0.9375rem;
}

body.im-app .alert {
    font-size: 0.9375rem;
    line-height: 1.55;
}

body.im-app .badge,
body.im-app .badge-count {
    font-size: 0.75rem;
}

body.im-app .main-panel > .footer,
body.im-app .footer {
    font-size: var(--im-fs-small);
}

body.im-app .modal-title {
    font-size: 1.125rem;
}

body.im-app .im-ai-mark,
body.im-app .badge-ai {
    font-size: 0.72rem;
}

body.im-app .chat-message,
body.im-app .message-item,
body.im-app .conversation-bubble {
    font-size: 0.9375rem;
    line-height: 1.55;
}

@media (max-width: 991.98px) {
    body.im-app .page-header .page-title,
    body.im-app h2.page-title {
        font-size: 1.4rem;
    }

    body.im-app .table td {
        font-size: 0.9rem;
    }
}

@media (max-width: 575.98px) {
    body.im-app {
        font-size: 0.975rem;
    }

    body.im-app .sidebar .nav > .nav-item > a p {
        font-size: 0.9rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    /* no motion added in this file */
}
