/* ── Brand tokens ─────────────────────────────────────────── */
:root {
    --brand-primary: #3a4f63;
    --brand-dark:    #2d3e4f;
    --brand-accent:  #2a9fd6;
    --brand-light:   #e8edf2;
}

/* ── Base ─────────────────────────────────────────────────── */
html {
    font-size: 14px;
    position: relative;
    min-height: 100%;
}

@media (min-width: 768px) {
    html { overflow-y: scroll; }
}

@media (min-width: 768px) {
    html { font-size: 16px; }
}

body {
    margin-bottom: 60px;
    color: #1a2634;
    overscroll-behavior-y: contain;
}

a {
    color: var(--brand-accent);
}

a:hover {
    color: var(--brand-primary);
}

/* ── Navbar ───────────────────────────────────────────────── */
.prolenea-navbar {
    background-color: var(--brand-dark);
    border-bottom: 3px solid var(--brand-accent) !important;
    padding-top: .6rem;
    padding-bottom: .6rem;
}

.prolenea-navbar .navbar-nav {
    gap: .35rem;
}

.prolenea-navbar .nav-link {
    color: rgba(232,237,242,.8) !important;
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .03em;
    padding: .35rem .85rem !important;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 5px;
    background: rgba(255,255,255,.05);
    transition: background .15s, border-color .15s, color .15s;
    white-space: nowrap;
}

.prolenea-navbar .nav-link:hover {
    color: #fff !important;
    background: rgba(42,159,214,.25);
    border-color: rgba(42,159,214,.5);
}

.prolenea-navbar .nav-link.active {
    color: #fff !important;
    background: var(--brand-accent);
    border-color: var(--brand-accent);
}

/* ── Navbar hover dropdown ────────────────────────────────── */
.prolenea-navbar .dropdown:hover > .dropdown-menu {
    display: block;
    margin-top: 0;
}
.prolenea-navbar .dropdown-menu {
    margin-top: 0;
}

/* ── Footer ───────────────────────────────────────────────── */
.prolenea-footer {
    background-color: var(--brand-dark);
    color: #9aafc4;
    border-top: 3px solid var(--brand-accent);
}

.prolenea-footer a {
    color: #9aafc4;
    text-decoration: none;
}

.prolenea-footer a:hover {
    color: #fff;
}

/* ── Buttons ──────────────────────────────────────────────── */
.btn-primary {
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
    color: #fff;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: var(--brand-dark);
    border-color: var(--brand-dark);
    color: #fff;
}

.btn-primary:disabled,
.btn-primary.disabled {
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
    color: #fff;
}

/* ── Focus rings ──────────────────────────────────────────── */
.btn:focus,
.btn:active:focus,
.form-control:focus,
.form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem var(--brand-accent);
}

/* ── Forms ────────────────────────────────────────────────── */
.form-floating > .form-control-plaintext::placeholder,
.form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder,
.form-floating > .form-control:focus::placeholder {
    text-align: start;
}

/* ── iOS zoom fix (inputs below 16px trigger auto-zoom) ──── */
.flatpickr-input,
.form-control,
.form-control-sm,
.form-select,
.form-select-sm {
    font-size: 16px !important;
}

/* ── Animations ───────────────────────────────────────────── */
@keyframes fadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}
.fade-in {
    animation: fadeIn 0.25s ease-in-out;
}

/* ── Utilities ────────────────────────────────────────────── */
.border-top    { border-top:    1px solid #e5e5e5; }
.border-bottom { border-bottom: 1px solid #e5e5e5; }
.box-shadow    { box-shadow: 0 .25rem .75rem rgba(0,0,0,.08); }
