@charset "utf-8";

/* ===== Blue palette ===== */
:root {
    --blue-bg: #dbeafe;   /* page background */
    --blue-700: #1565c0;  /* navbar, links */
    --blue-800: #0d47a1;  /* headings */
    --text: #222;         /* normal text */
    --card-border: #d0d7e2;
}

/* Page background + text */
html,
body,
body.bg-light,
body.bg-body,
body.bg-body-tertiary {
    margin: 0;
    padding: 0;
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-size:  14px;
    background-color: var(--blue-bg) !important;
    color: var(--text);
    padding-top: 5rem; /* if navbar is fixed */
}

/* Prevent Bootstrap wrappers from painting gray */
.bg-light,
.bg-body,
.bg-body-tertiary {
    background-color: transparent !important;
}

.container,
.container-fluid,
.row,
main,
section,
.content,
.main-content,
.page,
#wrapper,
#content,
footer {
    background-color: transparent !important;
}

/* ===== Navbar ===== */
.navbar,
.navbar.bg-light,
.navbar.bg-body,
.navbar.bg-body-tertiary {
    background-color: var(--blue-700) !important;
}

.navbar .nav-link,
.navbar-brand {
    color: #fff !important;
}

.navbar .nav-link:hover,
.navbar-brand:hover {
    color: #bbdefb !important;
}

/* Logo size fix */
.navbar-brand img {
    height: 40px !important;      /* fixed height */
    width: auto !important;       /* keep aspect ratio */
    max-height: 40px !important;  /* safety cap */
    max-width: none !important;
    object-fit: contain;
    display: inline-block;
}

.navbar-brand {
    height: 40px !important;      /* align brand container */
    padding: 0 !important;
    display: flex;
    align-items: center;
}

/* ===== Headings ===== */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-weight: 700;
    color: var(--blue-800);
}

/* ===== Cards ===== */
.card {
    border-radius: 0.8rem !important;
    background-color: #ffffff;
    border: 1px solid var(--card-border);
}

.card-img-overlay {
    border-radius: 0.8rem !important;
}

/* Rounded helpers */
.rounded-xl { border-radius: 0.8rem !important; }
.rounded-xl-bottom {
    border-bottom-right-radius: 0.8rem !important;
    border-bottom-left-radius: 0.8rem !important;
}
.rounded-xl-top {
    border-top-left-radius: 0.8rem !important;
    border-top-right-radius: 0.8rem !important;
}

/* Profile text */
.text-profile-position,
.text-profile-bio,
.email-text {
    color: var(--text);
}

/* ===== Abstract sections ===== */
.abstract-body {
    min-height: 100px;
    background-color: #ffffff;
    padding: 1rem;
    border-radius: 0.5rem;
    border: 1px solid var(--card-border);
}

/* ===== Lazy placeholders ===== */
img.lazy, div.lazy {
    background-image: url('images/loading.gif');
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 50px 50px;
    min-height: 80px;
    background-color: #f0f4fa;
}

/* ===== Badges ===== */
.inline-badge {
    height: 16px;
    vertical-align: -10%;
    margin-right: 2px;
    line-break: unset;
    background-color: transparent !important;
    color: #ffffff;
    padding: 2px 6px;
    border-radius: 4px;
}

.badge-publication {
    font-size: 100%;
    background-color: var(--blue-800);
    color: #ffffff;
    padding: 3px 8px;
    border-radius: 5px;
}

/* ===== Links ===== */
a {
    color: var(--blue-700);
    text-decoration: none;
}
a:hover {
    color: var(--blue-800);
    text-decoration: underline;
}

/* ===== Utilities ===== */
.no-break { white-space: nowrap; }

.cover-image {
    width: 180px;
    max-height: 120px;
    border-radius: 0.4rem;
}
