:root {
  --it4a-green: #0f7a3a;
  --it4a-warning: #f3b324;
  --it4a-dark: #0b3320;
}

body { font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; color:#222; }

.text-success, .btn-success, .bg-success { background-color: var(--it4a-green) !important; }
.text-success { color: var(--it4a-green) !important; background-color: transparent !important; }
.btn-success { background-color: var(--it4a-green) !important; border-color: var(--it4a-green) !important; }
.btn-outline-success { color: var(--it4a-green); border-color: var(--it4a-green); }
.btn-outline-success:hover { background: var(--it4a-green); color:#fff; }
.btn-warning, .bg-warning { background-color: var(--it4a-warning) !important; border-color: var(--it4a-warning) !important; }
.text-warning { color: var(--it4a-warning) !important; }

.brand-mark { font-size: 1.4rem; letter-spacing: .5px; color: var(--it4a-green); }

.hero {
  background-size: cover;
  background-position: center;
  min-height: 70vh;
  display: flex;
  align-items: center;
}
.min-vh-50 { min-height: 50vh; }

.stat-box {
  padding: 1.5rem 1rem;
  background: #fff;
  border-radius: .75rem;
  box-shadow: 0 4px 12px rgba(0,0,0,.04);
}

.icon-circle {
  width: 56px; height: 56px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.6rem;
}

.project-img, .news-img { height: 220px; object-fit: cover; }
.event-img { height: 240px; object-fit: cover; }

.gallery-tile {
  position: relative; display: block;
  border-radius: .5rem; overflow: hidden;
  aspect-ratio: 1/1;
}
.gallery-tile img { width:100%; height:100%; object-fit: cover; transition: transform .3s; }
.gallery-tile:hover img { transform: scale(1.06); }
.gallery-tile .overlay {
  position: absolute; inset:auto 0 0 0;
  padding:.5rem .75rem; color:#fff; font-size:.8rem; font-weight:600;
  background: linear-gradient(to top, rgba(0,0,0,.75), transparent);
}

.logo-tile { display:block; padding:1rem; background:#fff; border-radius:.5rem; box-shadow:0 2px 8px rgba(0,0,0,.05); transition: transform .2s; }
.logo-tile:hover { transform: translateY(-3px); }
.logo-tile img { max-height: 60px; max-width: 100%; object-fit: contain; }
.logo-large { max-height: 90px; max-width: 100%; object-fit: contain; }

.page-header { background: linear-gradient(135deg, var(--it4a-green), var(--it4a-dark)); }

.cta-section {
  background: linear-gradient(135deg, var(--it4a-dark), var(--it4a-green));
}

.article-body { font-size: 1.05rem; line-height: 1.8; }

/* Admin */
.admin-sidebar { background:#0b3320; min-height: calc(100vh - 56px); }
.admin-sidebar a { color:#cfe; padding:.6rem 1rem; display:block; text-decoration:none; }
.admin-sidebar a:hover, .admin-sidebar a.active { background: rgba(255,255,255,.08); color:#fff; }
.admin-card-stat { background:#fff; border-radius:.75rem; padding:1.5rem; box-shadow:0 2px 8px rgba(0,0,0,.05); }
.admin-card-stat .num { font-size:2.4rem; font-weight:700; color:var(--it4a-green); }

.thumb-preview { max-height: 80px; border-radius:.25rem; }
