html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

/* ---------- Unified top bar + footer (Porto-friendly) ---------- */

/* Sticky, subtle shadow, always on top */
.sp-topbar {
    position: sticky;
    top: 0;
    z-index: 1100;
    background: rgba(255,255,255,0.96);
    backdrop-filter: blur(6px);
    border-bottom: 1px solid rgba(0,0,0,0.08);
}

/* Use a centered max width similar to Porto containers */
.sp-shell {
    max-width: 1140px; /* Porto "container" feel. Change to 1200/1320 if you prefer */
    margin: 0 auto;
    padding: 0 16px;
}

.sp-topbar-inner {
    display: grid;
    grid-template-columns: auto 1fr auto; /* brand | nav | right */
    align-items: center;
    min-height: 60px;
    column-gap: 16px;
}

/* Brand left */
.sp-brand {
    font-weight: 700;
    font-size:25px;
    letter-spacing: .2px;
    text-decoration: none;
    color: #111;
    white-space: nowrap;
}

/* Center nav */
.sp-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

    .sp-nav a {
        text-decoration: none;
        color: #444;
        padding: 8px 10px;
        border-radius: 8px;
        line-height: 1;
    }

        .sp-nav a:hover {
            background: rgba(0,0,0,0.04);
        }

        .sp-nav a.active {
            font-weight: 600;
            color: #111;
            background: rgba(220,53,69,0.12); /* soft Porto-red highlight */
        }

/* Right side: version + hello/logout */
.sp-right {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    justify-content: flex-end;
    white-space: nowrap;
}

/* Login partial list formatting */
.sp-usernav {
    list-style: none;
    margin: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

    .sp-usernav form {
        display: inline;
        margin: 0;
    }

    .sp-usernav .nav-link {
        padding: 0;
    }
/* if your _LoginPartial uses nav-link */

/* Version badge */
.sp-version-badge {
    display: inline-block;
    font-size: 0.75rem;
    line-height: 1;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    border: 1px solid rgba(0,0,0,0.18);
    color: rgba(0,0,0,0.65);
    background: rgba(255,255,255,0.95);
    white-space: nowrap;
}

/* Footer centered */
.sp-footer {
    border-top: 1px solid rgba(0,0,0,0.08);
    background: rgba(255,255,255,0.96);
}

.sp-footer-stack {
    padding: 16px 0;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.sp-footer-version {
    display: flex;
    justify-content: center;
}
.bg-dark.bg-opacity-25 {
    background-color: rgba(0,0,0,.25) !important;
}
/* Glass card that still reads as glass on a flat dark background */
.rd-glass {
    background: rgba(255, 255, 255, 0.06) !important; /* << key change (was black) */
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

