/* =====================================
   Base Layout
===================================== */

body {
  padding-top: 100px;
  background-color: rgba(14, 207, 14, 0.363);
}

/* =====================================
   Dark Theme Support
===================================== */

.dark-theme {
  background-color: #111;
  color: #eee;
}

.dark-theme a {
  color: #23b887;
}

.dark-theme .card {
  background-color: #1a1a1a;
  color: #eee;
}

/* =====================================
   Reveal Animations
===================================== */

.reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: all 0.6s ease;
}

.reveal-visible {
  opacity: 1;
  transform: translateY(0);
}

/* =====================================
   Navbar
===================================== */

#navbar {
  background-color: white;
}

#navbar .logo {
  width: 40px;
}

.navbar-shrink {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

/* =====================================
   Images
===================================== */

.profile-image {
  width: 250px;
  height: 250px;
}

.circle-image {
  width: 300px;
  height: 300px;
  border-radius: 50%;
}

#web-dev-logo {
  max-width: 80%;
  background-color: black;
}

/* =====================================
   Footer
===================================== */

footer {
  color: #23b887;
  background-color: white;
}

#social-networks {
  text-align: center;
  padding-top: 12px;
  padding-right: 30px;
  display: flex;
  justify-content: space-evenly;
  list-style-type: none;
}

#social-networks i {
  font-size: 300%;
  color: #23b887;
}

/* =====================================
   Contact Page
===================================== */

.contact-me {
  font-size: 800%;
  color: #23b887;
}

.contact-me-image {
  width: 300px;
  height: 250px;
  border-radius: 20%;
  border: 10px solid black;
}

.contact-me-logo {
  width: 300px;
  height: 300px;
  animation: pulseLogo 8s infinite;
  transition: transform 0.6s ease;
}

.contact-me-logo:hover {
  transform: rotate(5deg) scale(1.05);
}

@keyframes pulseLogo {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.03);
  }
}

/* Download section */
#download {
  width: 230px;
  height: 80px;
  margin: 2px auto;
  background-color: white;
  overflow: hidden;
}

/* =====================================
   Project Cards (STANDARDISED)
===================================== */

/* Allow cards to stretch evenly */
#repos .card {
  height: 100%;
}

/* Remove padding so image fills header cleanly */
#repos .card-header {
  padding: 0;
}

/* Fixed image frame — NO stretching */
#repos .card-img-top {
  width: 100%;
  height: 180px;
  object-fit: contain;     /* SHOW FULL IMAGE */
  background-color: #fff; /* letterbox background */
  display: block;
}

/* Standard body height */
#repos .card-body {
  min-height: 240px;
}

/* =====================================
   Floating Buttons (JS-controlled)
===================================== */

#backToTopBtn,
#themeToggle {
  position: fixed;
  padding: 10px 15px;
  font-size: 20px;
  border-radius: 50%;
  cursor: pointer;
  z-index: 1000;
}

#backToTopBtn {
  bottom: 20px;
  right: 20px;
  background-color: #23b887;
  color: white;
  border: none;
  display: none;
}

#themeToggle {
  bottom: 20px;
  left: 20px;
  background-color: white;
  border: 2px solid #23b887;
}

/* =====================================
   CV Modal (NO inline styles)
===================================== */

#cvModal {
  display: none;
  position: fixed;
  z-index: 2000;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  align-items: center;
  justify-content: center;
}

#cvModal .cv-modal-inner {
  background: white;
  padding: 2rem;
  border-radius: 10px;
  max-width: 400px;
  width: calc(100% - 2rem);
  text-align: center;
}

.dark-theme #cvModal .cv-modal-inner {
  background-color: #222;
  color: #eee;
}
