﻿/* ==========================
   RESET BÁSICO
========================== */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* ==========================
   BASE
========================== */
body {
  font-family: Arial, sans-serif;
  background-color: #EBF5FF;
  color: #000000;
  transition: background-color 2.3s, color 2.3s;
}

main, section, .content-wrapper {
  padding: 40px;
}

/* ==========================
   DARK THEME
========================== */
body.dark-theme {
  background-color: #121212;
  color: #f1f1f1;
}

body.dark-theme .card {
  background-color: #1E1E1E !important;
  color: #F1F1F1 !important;
  border: 1px solid #2C2C2C;
}

body.dark-theme .navbar {
  background-color: #1E1E1E !important;
  border-bottom: 2px solid #333;
}

body.dark-theme .navbar-nav .nav-link {
  color: #f1f1f1 !important;
}

body.dark-theme .navbar-nav .nav-link:hover {
  color: #B0E0E6 !important;
  background-color: rgba(255, 87, 51, 0.1);
}

body.dark-theme a {
  color: #82c7ff;
}

body.dark-theme a:hover {
  color: #b0e0e6;
}

body.dark-theme input,
body.dark-theme select,
body.dark-theme textarea {
  background-color: #2c2c2c;
  color: #f1f1f1;
  border: 1px solid #444;
}

body.dark-theme input:focus,
body.dark-theme textarea:focus {
  border-color: #82c7ff;
  box-shadow: 0 0 5px rgba(130, 199, 255, 0.5);
}

body.dark-theme .btn-primary {
  background-color: #0d6efd;
  border: none;
}

body.dark-theme .btn-primary:hover {
  background-color: #0b5ed7;
}

/* ==========================
   NAVBAR
========================== */
.navbar {
  background-color: #1F2937 !important;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  padding: 0 10px;
  align-items: center;
  border-bottom: 2px solid #A9A9A9;
  margin: 0;
}


.navbar-nav .nav-link {
  color: #fff !important;
  border-radius: 20px;
  padding: 10px 15px;
  transition: color 0.3s ease-in-out, transform 0.2s ease-in-out;
}

.navbar-nav .nav-link:hover {
  color: #B0E0E6 !important;
  transform: scale(1.1);
  background-color: rgba(255, 87, 51, 0.1);
}

/* ==========================
   CARDS
========================== */
.card {
  max-width: 100%;
  margin: 25px auto 0 auto;
  border-radius: 15px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  background-color: #fff;
  transition: background-color 0.3s, color 0.3s;
  padding: 20px;
}

/* ==========================
   AVATAR (Mascote)
========================== */
.avatar {
  width: 100%;
  max-width: 300px;
  height: auto;
  border-radius: 50%;
  margin: 20px auto;
  display: block;
  animation: moverMascote 3s ease-in-out 1 alternate;
}

@keyframes moverMascote {
  0% { transform: translateX(0); }
  100% { transform: translateX(15px); }
}

/* ==========================
   BOTÕES
========================== */
.btn-primary {
  background-color: #065C9A;
  border: none;
}

.btn-primary:hover {
  background-color: #054c7d;
}

/* ==========================
   MODAL
========================== */
.modal-header.bg-primary {
  background-color: #065C9A !important;
}

/* ==========================
   LINKS
========================== */
a {
  color: #065C9A;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

/* ==========================
   FORMULÁRIOS
========================== */
input, select, textarea {
  border-radius: 10px;
  padding: 8px;
  border: 1px solid #ccc;
  width: 100%;
  margin-bottom: 15px;
}

input:focus, textarea:focus {
  outline: none;
  border-color: #065C9A;
  box-shadow: 0 0 5px rgba(6, 92, 154, 0.3);
}

/* ==========================
   UPLOAD DE IMAGEM
========================== */
.upload-preview, .avatar {
  max-width: 100%;
  height: auto;
}

/* ==========================
   BOTÃO TROCAR TEMA
========================== */
.theme-toggle {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9999;
  width: 50px;
  height: 50px;
  background-color: #1e1e1e;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 5px rgba(0,0,0,0.2);
  transition: background-color 0.5s ease;
}

.theme-icon {
  width: 40px;
  height: 40px;
  filter: brightness(50) invert(1);
  transition: transform 0.3s;
  cursor: pointer;
}

.theme-icon:hover {
  transform: scale(1.1);
}

/* ==========================
   RESPONSIVO
========================== */
@media (max-width: 1024px) {
  .avatar {
    max-width: 250px;
  }
}

@media (max-width: 768px) {
  main, section, .content-wrapper {
    padding: 20px;
  }

  .navbar-nav .nav-link {
    padding: 8px 12px;
    font-size: 14px;
  }

  .theme-toggle {
    width: 40px;
    height: 40px;
    bottom: 15px;
    right: 15px;
  }

  .theme-icon {
    width: 30px;
    height: 30px;
  }
}

footer {
        background-color: #C0C0C0;
        padding: 20px 0 20px 0;
        text-align: center;
        box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1);
        flex-shrink: 0;
        color: #5d5d5d;
      }
      .dark-theme footer{
        background-color: #5d5d5d;
        padding: 20px 0 20px 0;
        text-align: center;
        box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1);
        flex-shrink: 0;
        color: #A9A9A9;
      }

      .footer-container {
        max-width: 1200px;
        margin: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        gap: 10px;   
      }

      .footer-social a {
        display: inline-block;
        margin: 0 8px;
        color: #5d5d5d;
        font-size: 20px;
        transition: color 0.3s ease;
      }

      .footer-social a:hover {
        color: #007bff;
      }

      .footer-copy {
        font-size: 14px;
        margin-top: 10px;
      }


@media (max-width: 480px) {
  .avatar {
    max-width: 200px;
  }

  .navbar-nav .nav-link {
    font-size: 13px;
  }

  .card {
    padding: 15px;
  }
.footer-container {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 10px;
  }
}