body {
  font-family: "Poppins", sans-serif;
  background-color: #f8f9fa;
}

/* Theme Colors */
.text-gold { color: #e3b505 !important; }
.text-navy { color: #0b1a39 !important; }
.border-gold { border: 2px solid #e3b505 !important; }

/* Principal Card */
.principal-card {
  border: 3px solid #e3b505;
  border-radius: 20px;
  background-color: #fff;
  box-shadow: 0 6px 25px rgba(0, 0, 0, 0.15);
}

/* Principal Photo */
.principal-photo-wrapper {
  display: inline-block;
  padding: 6px;
  background: #e3b505; /* gold frame */
  border-radius: 50% / 45%;
}

.principal-photo {
  width: 300px;
  height: 400px;
  border-radius: 50% / 45%;
  object-fit: cover;
  border: 4px solid #0b1a39;
  background-color: #0b1a39;
  box-shadow: 0 6px 25px rgba(0, 0, 0, 0.25);
}

/* Principal Message Box */
.principal-message {
  background-color: #0b1a39;
  color: #f8f9fa;
  border: 2px solid #e3b505;
  border-radius: 15px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}

.principal-message p {
  line-height: 1.8;
  font-size: 1rem;
}

/* Back Button */
.btn-outline-gold {
  border: 2px solid #e3b505;
  color: #0b1a39;
  transition: all 0.3s ease;
}
.btn-outline-gold:hover {
  background-color: #e3b505;
  color: #0b1a39;
  box-shadow: 0 4px 15px rgba(227, 181, 5, 0.3);
}

/* Responsive */
@media (max-width: 992px) {
  .principal-photo {
    width: 230px;
    height: 300px;
  }
}
@media (max-width: 768px) {
  .principal-photo {
    width: 180px;
    height: 230px;
  }
}

/* === Incumbency Chart === */
.table thead th {
  border-color: #e3b505 !important;
  font-weight: 600;
}

.table td, .table th {
  border-color: #e3b505 !important;
}

.table thead {
  background-color: #0b1a39;
  color: #e3b505;
}

.table tbody tr:nth-child(even) {
  background-color: #f9f9f9;
}

.table tbody tr:hover {
  background-color: rgba(227, 181, 5, 0.15);
  transition: all 0.3s ease;
}

/* Make footer stick to the bottom without touching HTML */
body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

footer {
    margin-top: auto;
}
