html, body {
  height: 100%;
}

body::before {
  content: "";
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: url("../img/site/pccc02.jpg") no-repeat center center/cover;
  opacity: 0.15; /* adjust visibility here */
  z-index: -1;   /* keep it behind everything */
}

body {
  display: flex;
  flex-direction: column;
  /* transition: background-color 0.3s, color 0.3s; */
  /* background: url("../img/hero.png") cover no-repeat;  */
}

/* Optional: ensure content background is solid if needed */
/* .content-wrapper {
  background-color: rgba(255, 255, 255, 0.85);
  border-radius: 1rem;
  padding: 2rem;
  box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.1);
} */

.dashboard-wrapper {
  flex: 1;
  display: flex;
  overflow: hidden;
}

.sidebar {
  width: 250px;
  background-color: #343a40;
  color: #fff;
  flex-shrink: 0;
  transition: all 0.3s ease;
  overflow-x: hidden;
}

.sidebar.hidden {
  width: 0;
  opacity: 0;
  pointer-events: none;
}

.sidebar .nav-link {
  color: #fff;
  white-space: nowrap;
}

.sidebar .nav-link:hover {
  background-color: #495057;
}

.main-content {
  flex-grow: 1;
  overflow-y: auto;
  padding: 1rem;
  transition: margin-left 0.3s;
}

.footer {
  background-color: #f8f9fa;
  padding: 1rem;
  text-align: center;
}

[data-bs-theme="dark"] .footer {
  background-color: #212529;
  color: #fff;
}

.sidebar-icon {
  width: 30px;
  text-align: center;
}

.sidebar-label {
  margin-left: 8px;
}

.textColor{
    color: blue;
    
}

.textCenter{
    text-align: center;
}

.cardh3{
    color: blue;
    text-align: center;
    margin-top: 15px;

}

main > .container {
    padding: 60px 15px 0;
}

.form-signin {
    max-width: 330px;
    padding: 1rem;
  }
  
.form-signin .form-floating:focus-within {
    z-index: 2;
}

.form-signin input[type="email"] {
    margin-bottom: -1px;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.form-signin input[type="password"] {
    margin-bottom: 30px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.error {color: #FF0000;}


/* autocomplete */
.autocomplete-suggestions {
    border: 1px solid #ccc;
    max-height: 150px;
    overflow-y: auto;
    position: absolute;
    z-index: 1000;
    background: white;
    width: 100%;
}
.autocomplete-suggestion {
    padding: 4px 8px;
    cursor: pointer;
}
.autocomplete-suggestion:hover {
    background: #f0f0f0;
}

[data-bs-theme="dark"] img.content-img {
    filter: brightness(0.66);
}

/* [data-bs-theme="dark"] img {
    position: relative;
}

[data-bs-theme="dark"] img::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
    mix-blend-mode: multiply;
    pointer-events: none;
} */
/* Preserve the maps' proportions while matching their height side by side. */
.contact-maps {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
    align-items: start;
}

@media (min-width: 768px) {
    .contact-maps {
        /* Column proportions match map2 (2230/1406) and map1 (2757/1435). */
        grid-template-columns: minmax(0, 1.586059744fr) minmax(0, 1.921254355fr);
    }
}

[data-bs-theme="dark"] .contact-maps img {
    filter: brightness(0.75);
}

/* Let the whole page scroll on phones, placing the footer after the content. */
@media (max-width: 767.98px) {
    html, body {
        height: auto;
    }

    .dashboard-wrapper {
        flex: none;
        overflow: visible;
    }

    .main-content {
        min-width: 0;
        overflow: visible;
    }
}

/* Favicon green (#30853b), tinted so the page background remains visible. */
.community-updates {
    /* background-color: rgba(48, 133, 59, 0.18); */
    /* background-color: rgba(250, 252, 251, 0.18); */
    color: var(--bs-body-color);
}


/* UI consistency pass */
[data-bs-theme="dark"] {
  --bs-link-color: #6ea8fe;
  --bs-link-hover-color: #9ec5fe;
}
[data-bs-theme="dark"] .textColor,
[data-bs-theme="dark"] .cardh3 { color: #6ea8fe !important; }

/* Soften photographic/content imagery in dark mode without dimming logos/icons. */
[data-bs-theme="dark"] img.content-img,
[data-bs-theme="dark"] .bike-photo,
[data-bs-theme="dark"] .contact-maps img {
  filter: brightness(0.80);
}

.navbar-logo {
  width: auto;
  height: 40px;
  max-width: 100%;
  object-fit: contain;
}

.profile-avatar { width:96px; height:96px; border-radius:50%; object-fit:cover; display:inline-flex; align-items:center; justify-content:center; }
.profile-avatar-default { background:var(--bs-secondary-bg); font-size:3rem; }
.navbar-avatar { width:28px; height:28px; border-radius:50%; object-fit:cover; margin-right:.35rem; }
.cookie-notice { position:fixed; right:1rem; bottom:1rem; z-index:1090; max-width:390px; display:flex; gap:1rem; align-items:center; background:#212529; color:#fff; padding:.75rem 1rem; border-radius:.5rem; font-size:.875rem; }
.cookie-notice a { color:#9ec5fe; }
@media (max-width:575.98px) { .cookie-notice { left:.75rem; right:.75rem; bottom:.75rem; max-width:none; } }


/* Patch 08: accessible password visibility and readable catalogue text */
.password-visibility-wrap { position:relative; }
.password-visibility-wrap > .form-control { padding-right:5.2rem; }
.password-visibility-toggle { position:absolute; right:.45rem; top:50%; transform:translateY(-50%); z-index:4; min-width:4rem; padding:.25rem .45rem; }
.form-floating > .password-visibility-wrap > .form-control { height:calc(3.5rem + 2px); min-height:calc(3.5rem + 2px); line-height:1.25; }
.form-floating > .password-visibility-wrap > .form-control::placeholder { color:transparent; }
/* Bootstrap floating labels must remain on top of the nested input. */
.form-floating > .password-visibility-wrap + label { pointer-events:none; }
.form-floating > .password-visibility-wrap:has(input:focus) + label,
.form-floating > .password-visibility-wrap:has(input:not(:placeholder-shown)) + label { opacity:.65; transform:scale(.85) translateY(-.5rem) translateX(.15rem); }
[data-bs-theme="light"] .text-secondary, [data-bs-theme="light"] .text-body-secondary { color:#525960 !important; }
[data-bs-theme="dark"] .text-secondary, [data-bs-theme="dark"] .text-body-secondary { color:#c3c8cd !important; }
.textColor, .cardh3 { color:#154f9c; }
[data-bs-theme="dark"] .textColor, [data-bs-theme="dark"] .cardh3 { color:#9bc4ff !important; }
.public-bike-card[hidden] { display:none !important; }
