/* Golden-ratio typography layer
 * Goal: unify visible UI text with a phi-based scale while preserving layout.
 * Scale (phi ~= 1.618):
 * - step 0 (base): 13px
 * - step +1 (title): 21px
 * - step +2 (display): 34px
 * - helper step (readability-tuned): 10px
 */

body.page-header-fixed {
    --sf-phi: 1.61803398875;
    --sf-fs-0: 13px;
    --sf-fs-1: 21px;
    --sf-fs-2: 34px;
    --sf-fs-help: 10px;
    --sf-lh-body: 1.62;
    --sf-lh-tight: 1.38;
    --sf-lh-title: 1.24;
}

body.page-header-fixed,
body.page-header-fixed .page-content,
body.page-header-fixed .page-sidebar,
body.page-header-fixed .page-header,
body.page-header-fixed .page-footer {
    font-size: var(--sf-fs-0);
    line-height: var(--sf-lh-body);
}

/* Main page heading hierarchy */
body.page-header-fixed .page-content .page-title {
    font-size: var(--sf-fs-1) !important;
    line-height: var(--sf-lh-title) !important;
    font-weight: 700;
    letter-spacing: 0.1px;
}

body.page-header-fixed .page-content .page-title small {
    font-size: var(--sf-fs-help) !important;
    line-height: var(--sf-lh-tight) !important;
    font-weight: 600;
}

/* Card / section headings */
body.page-header-fixed .page-content .caption-subject,
body.page-header-fixed .page-content .portlet > .portlet-title > .caption > .caption-subject {
    font-size: 14px !important;
    line-height: 1.42 !important;
    font-weight: 700;
}

body.page-header-fixed .page-content .caption-helper,
body.page-header-fixed .page-content .para-comm {
    font-size: var(--sf-fs-help) !important;
    line-height: 1.5 !important;
}

/* DDoS pages: explanation text needs higher readability than helper microtext. */
body.page-header-fixed.module-ddos .page-content .para-comm,
body.page-header-fixed.module-ddos .page-content .caption-helper {
    font-size: 12px !important;
    line-height: 1.62 !important;
    color: #4e6378;
}

body.page-header-fixed.module-ddos .page-content .form-horizontal .form-label {
    font-size: 14px !important;
    line-height: 1.45 !important;
}

body.page-header-fixed.module-ddos .page-content .form-horizontal .col-md-9,
body.page-header-fixed.module-ddos .page-content .form-horizontal .col-md-9 > span,
body.page-header-fixed.module-ddos .page-content .form-horizontal .col-md-9 > label {
    font-size: 13px;
    line-height: 1.58;
}

/* Form + controls */
body.page-header-fixed .page-content label,
body.page-header-fixed .page-content .form-label,
body.page-header-fixed .page-content .btn,
body.page-header-fixed .page-content .form-control,
body.page-header-fixed .page-content input,
body.page-header-fixed .page-content select,
body.page-header-fixed .page-content textarea {
    font-size: var(--sf-fs-0);
}

body.page-header-fixed .page-content .btn {
    line-height: 1.42;
    font-weight: 600;
}

/* Tables and jTable */
body.page-header-fixed .page-content table,
body.page-header-fixed .page-content table th,
body.page-header-fixed .page-content table td,
body.page-header-fixed .page-content .jtable-main-container table.jtable thead th,
body.page-header-fixed .page-content .jtable-main-container table.jtable tbody td {
    font-size: var(--sf-fs-0);
}

body.page-header-fixed .page-content .jtable-main-container table.jtable thead th {
    line-height: 1.4;
}

body.page-header-fixed .page-content .jtable-main-container table.jtable tbody td {
    line-height: 1.55;
}

body.page-header-fixed .page-content .jtable-main-container > div.jtable-bottom-panel,
body.page-header-fixed .page-content .jtable-main-container > div.jtable-bottom-panel * {
    font-size: 12px;
}

/* Tabs and badges */
body.page-header-fixed .page-content .ui-tabs .ui-tabs-nav li a {
    font-size: var(--sf-fs-0);
    font-weight: 700;
}

body.page-header-fixed .page-content .badge {
    font-size: 12px;
    line-height: 1.35;
}

/* Sidebar, topbar and footer text consistency */
body.page-header-fixed .page-sidebar .page-sidebar-menu > li > a {
    font-size: 14px;
    line-height: 1.45;
}

body.page-header-fixed .page-sidebar .page-sidebar-menu .sub-menu > li > a {
    font-size: var(--sf-fs-0);
    line-height: 1.45;
}

body.page-header-fixed .page-header .top-menu .username {
    font-size: var(--sf-fs-0);
    line-height: 1.42;
}

body.page-header-fixed .page-footer,
body.page-header-fixed .page-footer .page-footer-inner,
body.page-header-fixed .page-footer .page-footer-inner-right {
    font-size: 12px;
    line-height: 1.5;
}

/* Keep icon fonts untouched */
body.page-header-fixed .fa,
body.page-header-fixed [class^="icon-"],
body.page-header-fixed [class*=" icon-"] {
    line-height: 1;
}
