:root{
  --color-primary:#0b3d2e;   /* dark green */
  --color-accent:#c9a227;    /* gold */
  --color-bg:#ffffff;        /* white */
}

html,body{background:var(--color-bg); color:#111;}

/* Theming */
.navbar, .footer {
  background: var(--color-primary);
  color: var(--color-bg);
}
.navbar .nav-link, .navbar-brand { color: var(--color-bg) !important; }
.navbar .nav-link.active, .navbar .nav-link:hover {
  color: var(--color-accent) !important;
}
a { color: var(--color-primary); }
a:hover { color: var(--color-accent); }

/* Buttons themed to 3 colors only */
.btn-primary{
  --bs-btn-bg: var(--color-accent);
  --bs-btn-border-color: var(--color-accent);
  --bs-btn-hover-bg: #b8931f;
  --bs-btn-hover-border-color: #b8931f;
  --bs-btn-color: var(--color-primary);
}
.btn-outline-primary{
  --bs-btn-color: var(--color-accent);
  --bs-btn-border-color: var(--color-accent);
  --bs-btn-hover-bg: var(--color-accent);
  --bs-btn-hover-border-color: var(--color-accent);
  --bs-btn-hover-color: var(--color-primary);
}

.section-title{
  border-left: 6px solid var(--color-accent);
  padding-left: .6rem;
}

/* Banner */
.hero {
  position: relative;
  overflow: hidden;
  background: var(--color-primary);
  color: var(--color-bg);
}
.hero img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  opacity: 0.35;
}
.hero .hero-content{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  text-align:center; padding: 1rem;
}
.hero h1 { font-weight:700; }
.hero p { font-size:1.1rem; }

/* Cards polish (keep colors minimal) */
.card .card-header{
  background: var(--color-primary);
  color: var(--color-bg);
}

/* Footer */
.footer a { color: var(--color-accent); text-decoration: none; }
.footer a:hover{ text-decoration: underline; }

/* Utilities */
.files-inline-scroll{ white-space: nowrap; -webkit-overflow-scrolling: touch; }
.files-inline-scroll::-webkit-scrollbar{ height:6px; }
.files-inline-scroll::-webkit-scrollbar-thumb{ background:#d0d0d0; border-radius:3px; }

/* Two columns on desktop */
@media (min-width: 992px){
  .two-col { columns: 2; column-gap: 1.5rem; }
  .two-col .card{ break-inside: avoid; margin-bottom: 1rem; }
}
/* Sticky footer layout */
html, body { height: 100%; }
body { min-height: 100vh; display: flex; flex-direction: column; }
main { flex: 1 0 auto; }
.footer { margin-top: auto; }

/* If you switched navbar to fixed-top, uncomment to avoid overlap:
body { padding-top: 4rem; } /* adjust if your navbar is taller */
@media (min-width: 992px){
  /* body { padding-top: 4.5rem; } */
}
