body {
  font-family: 'Segoe UI', sans-serif;
}

.card {
  border-radius: 12px;
}
.btn {
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  cursor: pointer;
}

.btn:hover,
.btn:focus-visible {
  transform: scale(1.1);
  transition: transform 0.2s cubic-bezier(0.22, 1, 0.36, 1); /* springier */
}
.btn-outline-success:hover {
  box-shadow: 0 0 12px rgba(25, 135, 84, 0.5); /* green */
}
.btn-outline-danger:hover {
  box-shadow: 0 0 12px rgba(220, 53, 69, 0.5); /* red */
}
.btn-outline-warning:hover {
  box-shadow: 0 0 12px rgba(255, 193, 7, 0.5); /* yellow */
}
.btn-outline-primary:hover {
  box-shadow: 0 0 12px rgba(13, 110, 253, 0.5); /* blue */
}
.btn-outline-info:hover {
  box-shadow: 0 0 12px rgba(13, 202, 240, 0.5); /* light blue */
}
.btn-outline-secondary:hover {
  box-shadow: 0 0 12px rgba(108, 117, 125, 0.5); /* grey */
}
@media (max-width: 576px) {
  .btn {
    width: 100%;
  }
}
.btn-primary {
  background-color: #357ABD;
  border: none;
}
button.active {
  background-color: #198754 !important; /* green for upvote */
  color: white;
  border-color: #198754;
}

button.downvote.active {
  background-color: #dc3545 !important; /* red for downvote */
  border-color: #dc3545;
}
.btn-outline-secondary {
  border-color: #357ABD;
  color: #357ABD;
}
#backToTop {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 999;
  display: none;
  background-color: #007bff;
  color: white;
  border: none;
  padding: 10px 14px;
  border-radius: 50%;
  font-size: 18px;
  cursor: pointer;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  transition: opacity 0.3s ease;
}

#backToTop:hover {
  background-color: #0056b3;
}
header {
  background-color: #3B7D57;
  border-bottom: 1px solid #e0e0e0;
}

header h2,
header nav a {
  color: #fff;
}

nav a:hover {
  color: #D0F5E1;
  text-decoration: underline;
}

nav a {
  color: #fff; /* White for clean contrast inside green header */
  font-weight: 500;
  transition: color 0.2s ease;
}

nav a:hover {
  color: #D0F5E1; /* Minty green on hover for warmth */
  text-decoration: underline;
}

footer {
  font-size: 1.25rem;
}

/* LOGIN PAGE */
.lead {
  font-weight: 650;
  font-size: 1.75rem;
  color: #3B7D57;
}

/* INNER CIRCLE PAGE */
.overlay {
  position: fixed;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}

.overlay-content {
  max-width: 500px;
  background: #fff;
  border-radius: 10px;
}

.post-image {
  max-width: 100%;
  border-radius: 12px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.active-tab {
  background-color: #14532d !important; 
  color: white !important;
  border-radius: 6px;
  padding: 4px 8px;
}
