/*
 * Typographie commune Solèy Leve / PITAD.
 * Cette feuille est chargée en dernier par les pages écran. Elle ne modifie
 * ni les dimensions des canvas, ni les données, ni les styles d'impression.
 */

html {
    font-size: 100%;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    font-size: 16px;
    line-height: 1.5;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

button,
input,
select,
textarea {
    font: inherit;
}

p,
li,
td,
th,
label,
dd {
    line-height: 1.55;
}

small,
.small {
    font-size: 13px;
}

/* Pages Bootstrap simples : confirmation, erreur et formulaires publics. */
.site-readable-page :where(p, li, label, .form-label) { font-size: 16px; }
.site-readable-page :where(input, select, textarea, button, .btn) { font-size: 15px; }
.site-readable-page :where(small, .small, .form-text) { font-size: 13px !important; }

/* Administration Solèy Leve. */
.soley-sidebar-brand-subtitle { font-size: 13px !important; }
.soley-sidebar-link { font-size: 15px !important; }
.soley-sidebar-footer { font-size: 12px !important; }
.app-main .page-title { font-size: clamp(25px, 2.2vw, 32px); line-height: 1.2; }
.app-main .stat-label { font-size: 15px; }
.app-main :where(.table, .form-control, .form-select, .btn, .dropdown-menu) { font-size: 15px; }
.app-main :where(.form-label, label) { font-size: 15px; }
.app-main :where(.text-muted, small, .small) { font-size: 13px !important; }

/* Administration de la consultation. */
.consult-admin-body .consult-admin-brand small { font-size: 12px; }
.consult-admin-body .consult-admin-switch { font-size: 14px; }
.consult-admin-body .consult-admin-caption { font-size: 12px; }
.consult-admin-body .consult-admin-nav a,
.consult-admin-body .consult-admin-nav button { font-size: 15px; }
.consult-admin-body .consult-admin-topbar h1 { font-size: clamp(26px, 2.2vw, 32px); }
.consult-admin-body .consult-admin-topbar p,
.consult-admin-body .consult-admin-user { font-size: 15px; }
.consult-admin-body .ca-card-header h2 { font-size: 20px; }
.consult-admin-body .ca-kpi span { font-size: 14px; }
.consult-admin-body .ca-table th { font-size: 13px; }
.consult-admin-body .ca-table td { font-size: 15px; }
.consult-admin-body .ca-badge,
.consult-admin-body .ca-question-meta,
.consult-admin-body .ca-option-count { font-size: 13px; }
.consult-admin-body .ca-question-title,
.consult-admin-body .ca-option-label,
.consult-admin-body .ca-alert { font-size: 15px; }
.consult-admin-body .ca-filter :where(select, input, button) { min-height: 42px; font-size: 15px; }

/* Formulaire d'adhésion public. */
.public-inscription-page { font-size: 16px; }
.public-inscription-page .form-label,
.public-inscription-page :where(.form-control, .form-select) { font-size: 15px; }
.public-inscription-page .photo-help,
.public-inscription-page .adhesion-footer,
.public-inscription-page .footer-version { font-size: 13px !important; }

/* Consultation citoyenne. */
.consultation-body :where(p, li, label, .form-label) { font-size: 16px; line-height: 1.6; }
.consultation-body :where(input, select, textarea, button, .btn) { font-size: 15px; }
.consultation-body :where(small, .small, .form-text) { font-size: 13px !important; }
.consultation-body :where(.consultation-meta, .question-help, .option-help, .token-help) { font-size: 13px !important; }

/* Connexion administrateur. */
.site-login-page :where(p, label, input, button) { font-size: 15px; }
.site-login-page :where(small, .secure-caption) { font-size: 13px !important; }
.site-login-page .login-footer { font-size: 14px; }

/* Navigation commune PITAD. */
.si-app { font-size: 16px; }
.si-app .si-brand span { font-size: 12px !important; line-height: 1.4; }
.si-app .platform-switch-button { font-size: 14px !important; }
.si-app .platform-switch-caption { font-size: 12px !important; }
.si-app .si-nav-section { font-size: 13px !important; }
.si-app .si-nav-link { font-size: 15px !important; line-height: 1.35; }
.si-app .si-topbar h1 { font-size: clamp(27px, 2.3vw, 32px); }
.si-app .si-topbar p { font-size: 15px !important; }
.si-app .si-user-details strong { font-size: 15px; }
.si-app .si-user-details span { font-size: 13px !important; }
.si-main :where(button, input, select, textarea) { font-size: 14px; }

/* Pages d'aide à la décision : plan, priorités, scénarios, rapport, historique. */
.ds-content { font-size: 16px; }
.ds-content .ds-eyebrow { font-size: 13px; }
.ds-content .ds-hero p { font-size: 16px; line-height: 1.65; }
.ds-content .ds-evidence-score span { font-size: 15px; }
.ds-content .ds-evidence-score small { font-size: 13px; }
.ds-content .ds-filter-form label,
.ds-content .ds-filter-form select,
.ds-content .ds-button { font-size: 14px; }
.ds-content .ds-metric span { font-size: 15px; }
.ds-content .ds-metric small { font-size: 13px; }
.ds-content .ds-section-heading h2 { font-size: 21px; }
.ds-content .ds-section-heading p,
.ds-content .ds-section-heading .ds-caption { font-size: 14px; }
.ds-content .ds-chip { font-size: 13px; }
.ds-content .ds-priority-card h3,
.ds-content .ds-priority-register-title h3 { font-size: 18px; }
.ds-content .ds-priority-territory,
.ds-content .ds-priority-card p,
.ds-content .ds-priority-score small,
.ds-content .ds-history-item span,
.ds-content .ds-method-item span,
.ds-content .ds-guardrail-item,
.ds-content .ds-formula-note span,
.ds-content .ds-projection-grid span,
.ds-content .ds-projection-grid small,
.ds-content .ds-weight-list span,
.ds-content .ds-confidence span,
.ds-content .ds-priority-register-body > p,
.ds-content .ds-priority-facts span,
.ds-content .ds-priority-facts b,
.ds-content .ds-priority-orientation strong,
.ds-content .ds-priority-orientation span,
.ds-content .ds-priority-orientation a { font-size: 13px; line-height: 1.5; }
.ds-content .ds-table th { font-size: 13px; }
.ds-content .ds-table td { font-size: 14px; }

/* Sous-pages du diagnostic territorial. */
.atlas-page,
.comparison-page,
.executive-page,
.territory-profile-page { font-size: 16px; }
.atlas-page :where(p, span, small, label, select, button, a, td, th),
.comparison-page :where(p, span, small, label, select, button, a, td, th),
.executive-page :where(p, span, small, label, select, button, a, td, th),
.territory-profile-page :where(p, span, small, label, select, button, a, td, th) {
    font-size: 14px;
    line-height: 1.5;
}
.atlas-page :where(h1, .atlas-header h1),
.comparison-page h1,
.executive-page h1,
.territory-profile-page h1 { font-size: clamp(27px, 2.3vw, 34px); line-height: 1.2; }

@media (max-width: 760px) {
    body { font-size: 16px; }
    .soley-sidebar-link,
    .consult-admin-body .consult-admin-nav a,
    .consult-admin-body .consult-admin-nav button,
    .si-app .si-nav-link { font-size: 15px !important; }
    .app-main .page-title,
    .consult-admin-body .consult-admin-topbar h1,
    .si-app .si-topbar h1 { font-size: 25px; }
}

