/* Reset di base */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Body e wrapper */
html, body {
  height: 100%;
  width: 100%;
  font-family: Arial, Helvetica, sans-serif;
  color: #FFFFFF;
  line-height: 1.6;
  overflow-x: hidden;
  background: #0F172A;
}

.background-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #040e22, #040e22);
  background-size: cover;
  z-index: -1;
  opacity: 0.9;
}

.content-wrapper {
  position: relative;
  z-index: 1;
  min-height: auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  padding: 20px;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

/* Hamburger Menu */
.hamburger-menu {
  display: none;
  position: fixed;
  top: -20px;
  left: 15px;
  z-index: 1100;
  color: #FFFFFF;
  font-size: 28px;
  cursor: pointer;
  padding: 12px;
  background: linear-gradient(135deg, #FF69B4, #1E90FF);
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(255, 105, 180, 0.5);
  transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
}

.hamburger-menu:hover {
  transform: scale(1.1);
  box-shadow: 0 6px 20px rgba(255, 105, 180, 0.7);
  background: linear-gradient(135deg, #1E90FF, #FF69B4);
}

.hamburger-menu i {
  display: block;
}

.hamburger-menu {
  display: block !important;
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 1000;
  cursor: pointer;
}
.sidebar-menu {
  display: none; /* Nascosta per default */
}
.sidebar-menu.active {
  display: block; /* Mostrata quando attiva */
}

/* Sidebar */
.sidebar-menu {
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  width: 200px;
  background: #14213b;
  border-right: 2px solid #1E90FF;
  padding: 20px;
  overflow-y: auto;
  z-index: 1000;
  transition: transform 0.3s ease-in-out;
}

.sidebar-menu.active {
  transform: translateX(0);
}

.sidebar-items {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.sidebar-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border-radius: 10px;
  cursor: pointer;
  color: #D3D3D3;
  transition: background 0.3s, color 0.3s;
}

.sidebar-item:hover,
.sidebar-item.active {
  background: linear-gradient(135deg, #FF69B4, #1E3A8A);
  color: #FFFFFF;
}

.sidebar-item i {
  font-size: 20px;
}

.sidebar-item span {
  font-size: 16px;
}

.sidebar-header {
  display: none;
  padding: 10px;
  text-align: right;
}

.close-sidebar {
  font-size: 24px;
  color: #FFFFFF;
  cursor: pointer;
}



/* Contenuto */
.account-section {
  display: none;
  margin-left: 220px;
  padding: 20px;
  width: calc(100% - 220px);
  min-height: calc(100vh - 120px); /* Spazio per top-menu e bottom-menu */
  overflow-x: hidden;
}

.account-section.active {
  display: block;
}

.account-section h2 {
  font-size: 24px;
  color: #FFFFFF;
  margin-bottom: 20px;
}

.account-section * {
  max-width: 100%;
  box-sizing: border-box;
}

/* Profile Card */
.profile-card {
  background: #14213b;
  border-radius: 15px;
  border: 3px solid #1E90FF;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.6);
  padding: 20px;
  display: flex;
  gap: 20px;
  margin-bottom: 30px;
}

.profile-image img {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  border: 2px solid #1E90FF;
  object-fit: cover;
}

.profile-details {
  flex: 1;
}

.form-group {
  margin-bottom: 15px;
}

.form-group label {
  display: block;
  margin-bottom: 5px;
  color: #FFFFFF;
  font-size: 0.9rem;
}

.form-group input,
.form-group textarea,
.form-group select {
  width: 100%;
  padding: 8px;
  border: 1px solid #4B5EAA;
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.15);
  color: #FFFFFF;
  font-size: 0.8rem;
}

.form-group textarea {
  resize: vertical;
}

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
  border-color: #FF69B4;
  box-shadow: 0 0 4px rgba(255, 105, 180, 0.5);
  outline: none;
}

/* Activity Form */
.activity-form {
 background: #14213b;
 padding: 20px;
 border-radius: 15px;
 border: 2px solid #1E90FF;
 color: #FFFFFF;
 max-width: 600px;
 margin: 20px auto;
}

.activity-form h3 {
 margin-bottom: 20px;
}

.activity-form input,
.activity-form select {
 width: 100%;
 padding: 8px;
 margin-bottom: 10px;
 border-radius: 5px;
 border: 1px solid #1E90FF;
 background: #14213b;
 color: #FFFFFF;
}

.activity-form button {
 background: #1E90FF;
 color: #FFFFFF;
 border: none;
 padding: 8px 16px;
 border-radius: 5px;
 cursor: pointer;
 font-size: 16px;
}

.activity-form button:hover {
 background: #FFFFFF;
 color: #1E90FF;
}

.activity-form p {
 color: #FFFFFF;
 font-size: 14px;
 margin-top: 10px;
 margin-bottom: 10px;
}

.activity-form a {
 color: #1E90FF;
 text-decoration: underline;
}

.activity-form a:hover {
 color: #FFFFFF;
}

/* Album Grid */

.album-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 10px;
  margin-top: 20px;
}

.album-item {
  position: relative;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.3s, box-shadow 0.3s;
}

.album-item:hover {
  transform: scale(1.05);
  box-shadow: 0 0 15px rgba(255, 105, 180, 0.7);
}

.album-media {
  width: 100%;
  height: 120px;
  object-fit: cover;
}

.album-actions {
  position: absolute;
  top: 10px;
  right: 10px;
  display: flex;
  gap: 10px;
}

.album-actions button {
  background: none;
  border: none;
  color: #FFFFFF;
  font-size: 18px;
  cursor: pointer;
  transition: color 0.3s;
}

.album-actions button:hover {
  color: #FF69B4;
}

.no-activities {
  text-align: center;
  color: #D3D3D3;
  font-size: 1rem;
}

/* Media Query per Smartphone */
@media (max-width: 768px) {
  .hamburger-menu {
    display: block;
  }

  .sidebar-menu {
    transform: translateX(-100%);
    width: 250px;
  }

  .sidebar-menu.active {
    transform: translateX(0);
  }

  .sidebar-header {
    display: block;
  }

  .account-section {
    margin-left: 0;
    width: 100%;
    padding: 15px;
    margin-top: 60px; /* Spazio per top-menu */
    margin-bottom: 60px; /* Spazio per bottom-menu */
  }

  .top-menu {
    left: 0;
    padding: 10px;
  }

  .bottom-menu {
    left: 0;
    padding: 5px;
  }

  .nav-icon {
    font-size: 20px;
    padding: 8px;
  }

  .nav-icon img {
    width: 32px;
    height: 32px;
  }

  .account-section h2 {
    font-size: 20px;
  }

  .profile-card {
    flex-direction: column;
    align-items: center;
    padding: 15px;
  }

  .profile-details {
    flex-direction: column;
    gap: 10px;
  }

  .album-grid {
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  }

  .album-media {
    height: 100px;
  }
}

@media (max-width: 480px) {
  .album-grid {
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  }

  .album-media {
    height: 80px;
  }

  .profile-image img {
    width: 80px;
    height: 80px;
  }

  .account-section h2 {
    font-size: 18px;
  }

  .form-group label {
    font-size: 0.8rem;
  }

  .form-group input,
  .form-group textarea,
  .form-group select {
    font-size: 0.7rem;
    padding: 6px;
  }

  .sport-button,
  .modern-button,
  .delete-button {
    font-size: 0.8rem;
    padding: 6px 12px;
  }
}

.activity-modal {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  justify-content: center;
  align-items: center;
 }
 
 .activity-modal-content {
  background-color: #14213b; /* Colore di sfondo richiesto */
  color: #14213b; /* Testo bianco per contrasto */
  padding: 20px;
  border-radius: 8px;
  width: 90%;
  max-width: 600px;
  max-height: 80vh;
  overflow-y: auto;
  position: relative;
 }
 
 .activity-modal-content h3 {
  margin: 0 0 10px;
  font-size: 1.5em;
  color: #ffffff;
 }
 
 .form-group {
  margin-bottom: 15px;
 }
 
 .form-group label {
  display: block;
  margin-bottom: 5px;
  font-weight: bold;
  color: #ffffff;
 }
 
 .form-group input,
 .form-group textarea,
 .form-group select,
 .form-group input[type="checkbox"] {
  width: 100%;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
  background-color: #ffffff; /* Campi bianchi per leggibilità */
  color: #000000;
 }
 
 .form-group input[type="checkbox"] {
  width: auto;
  margin-right: 10px;
 }
 
 .form-group textarea {
  height: 100px;
  resize: vertical;
 }
 
 .media-preview {
  margin-top: 10px;
 }
 
 .media-preview-item {
  max-width: 100%;
  max-height: 200px;
  border-radius: 4px;
 }
 
 .sport-button {
  background-color: #4CAF50;
  color: white;
  padding: 10px 20px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 1em;
  margin: 5px;
 }
 
 .sport-button:hover {
  background-color: #45a049;
 }
 
 #open-activity-modal-btn {
  background-color: #4CAF50;
  color: white;
  padding: 10px 20px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 1em;
  margin: 20px;
 }
 
 #open-activity-modal-btn:hover {
  background-color: #45a049;
 }
 
 .album-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 15px;
  margin-top: 20px;
 }
 
 .activity-item {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
 }
 
 .activity-media {
  width: 100%;
  height: 150px;
  object-fit: cover;
 }
 
 .activity-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  background-color: rgba(0, 0, 0, 0.7);
  color: white;
  padding: 5px 10px;
  border-radius: 4px;
  font-size: 0.9em;
 }
 
 .activity-actions {
  position: absolute;
  bottom: 10px;
  right: 10px;
  display: flex;
  gap: 10px;
 }
 
 .no-activities {
  text-align: center;
  color: #666;
 }
 
 /* Assicura visibilità della sezione */
 .account-section {
  display: none;
 }
 
 .account-section.active {
  display: block !important;
 }

/* Overlay */
.activity-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  animation: slideIn 0.3s ease-in-out;
}

@keyframes slideIn {
  from { transform: translateY(100%); }
  to { transform: translateY(0); }
}

.overlay-content {
  background: #14213b;
  padding: 20px;
  border-radius: 15px;
  border: 3px solid #1E90FF;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.6);
  max-width: 800px;
  width: 90%;
  display: flex;
  gap: 20px;
}

.close-overlay {
  position: absolute;
  top: 10px;
  right: 10px;
  background: none;
  border: none;
  font-size: 20px;
  color: #FFFFFF;
  cursor: pointer;
}

.media-container {
  flex: 1;
}

.overlay-media {
  max-width: 100%;
  max-height: 400px;
  border-radius: 5px;
}

.technical-details {
  flex: 1;
  color: #FFFFFF;
}

.technical-details p {
  margin: 10px 0;
}

.technical-details span {
  color: #D3D3D3;
}



/* Responsive Design */
@media (max-width: 768px) {
  .sidebar-menu {
    width: 60px;
  }
  .sidebar-item span {
    display: none;
  }
  .main-content {
    margin-left: 80px;
    width: calc(100% - 80px);
  }
  .album-grid {
    grid-template-columns: repeat(3, 1fr); /* 3 colonne su mobile */
  }
  .album-media {
    height: 100px; /* Riquadri più piccoli */
  }
}

@media (max-width: 480px) {
  .album-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .album-media {
    height: 80px; /* Ancora più piccoli su schermi molto piccoli */
  }
  .profile-card {
    flex-direction: column;
    align-items: center;
  }
  .profile-image {
    margin-bottom: 20px;
  }
  .overlay-content {
    flex-direction: column;
  }
  .overlay-media {
    max-height: 200px;
  }
}

/* Notifiche */
.notification {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background: #1E90FF;
  color: #FFFFFF;
  padding: 10px 20px;
  border-radius: 5px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
  z-index: 1001;
}

.notification.pulse {
  animation: pulse 1.5s infinite;
}



/* Bottom Menu */
.bottom-menu {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #14213b;
  padding: 10px;
  z-index: 1000;
  display: flex;
  justify-content: center;
  gap: 20px;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.5);
}

.nav-icon {
  padding: 10px;
  background: linear-gradient(135deg, #FF69B4, #1E3A8A);
  color: #FFFFFF;
  border: none;
  border-radius: 50%;
  font-size: 1.5rem;
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nav-icon:hover {
  transform: scale(1.1);
  box-shadow: 0 0 15px rgba(255, 105, 180, 0.7);
}

.nav-icon.active {
  background: #1E90FF;
}

.nav-icon.create-post {
  background: linear-gradient(135deg, #00FF7F, #1E3A8A);
}

.nav-icon.create-post:hover {
  transform: scale(1.2);
  box-shadow: 0 0 15px rgba(0, 255, 127, 0.7);
}

.profile-icon {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}

/* Stile per #profile-icon */
#profile-icon {
  width: 60px !important; /* Aumentato da 48px, usa !important per sovrascrivere */
  height: 60px !important;
  object-fit: cover;
  object-position: center;
  border-radius: 50%;
  display: block;
  border: 2px solid #1E90FF;
}

/* Stile per .nav-icon e immagini interne */
.nav-icon {
  padding: 10px;
  background: linear-gradient(135deg, #FF69B4, #1E3A8A);
  color: #FFFFFF;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  width: 70px; /* Aumentato per ospitare immagine più grande */
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nav-icon img {
  width: 60px !important; /* Allinea con #profile-icon */
  height: 60px !important;
  border-radius: 50%;
  object-fit: cover;
  object-position: center;
}

/* Stile per .bottom-menu */
.bottom-menu {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #14213b;
  padding: 10px;
  z-index: 1000;
  display: flex;
  justify-content: center;
  gap: 15px; /* Ridotto per evitare sovrapposizioni */
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.5);
  align-items: center;
}

/* Media query per schermi piccoli */
@media (max-width: 768px) {
  #profile-icon, .nav-icon img {
    width: 48px !important; /* Aumentato da 40px */
    height: 48px !important;
    object-fit: cover;
    object-position: center;
  }

  .nav-icon {
    width: 58px; /* Aumentato per ospitare immagine */
    height: 58px;
  }

  .bottom-menu {
    padding: 8px;
    gap: 12px; /* Ridotto per mobile */
  }
}



/* Media query per schermi piccoli */
@media (max-width: 768px) {
 #profile-icon, .bottom-menu .profile-icon {
   width: 32px; /* Leggermente più piccolo per dispositivi mobili */
   height: 32px;
   object-fit: cover;
   object-position: center;
 }

 .bottom-menu {
   padding: 5px;
   gap: 15px;
 }
}


.user-profile-section {
  margin-top: 80px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;                 /* tolto il bordo azzurro */
  box-shadow: none !important;
  width: 100% !important;
  max-width: 1100px !important;            /* allargato */
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 30px !important;
  box-sizing: border-box !important;
}
.user-profile-section h2 {
  color: #FFFFFF;
  margin-bottom: 15px;
  font-size: 1.5rem; /* Aggiunto per maggiore chiarezza */
}

.profile-card {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.profile-card-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.profile-image {
  text-align: center;
  margin-bottom: 20px;
}

.user-pic {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  border: 2px solid #1E90FF;
  margin-bottom: 10px;
}

.profile-details {
  width: 100%;
}

.name-section,
.bio-section,
.age-section,
.nationality-section,
.privacy-section {
  margin-bottom: 15px;
}

.profile-details label {
  display: block;
  margin-bottom: 5px;
  color: #FFFFFF;
  font-size: 0.9rem;
}

.profile-details input,
.profile-details textarea,
.profile-details select {
  width: 100%;
  padding: 8px;
  border: 1px solid #4B5EAA;
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.15);
  color: #FFFFFF;
  font-size: 0.8rem;
}

.profile-details textarea {
  resize: vertical;
}

.profile-details input:focus,
.profile-details textarea:focus,
.profile-details select:focus {
  border-color: #FF69B4;
  box-shadow: 0 0 4px rgba(255, 105, 180, 0.5);
  outline: none;
}

.user-stats {
  margin-top: 10px;
  color: #FFFFFF;
  font-size: 14px;
  text-align: center;
  background: rgba(255, 255, 255, 0.1); /* Aggiunto sfondo per evidenziare */
  padding: 10px;
  border-radius: 5px;
}

#background-pic-preview {
  position: relative;
  width: 100%;
  max-width: 300px; /* Limita la larghezza */
  height: 150px; /* Altezza fissa per l'anteprima */
  background-size: cover;
  background-position: center;
  z-index: 5;
  overflow: hidden;
 }
 
 .bio-section {
  position: relative;
  z-index: 10; /* Maggiore di background-pic-preview */
  display: block;
  margin-top: 20px; /* Spazio per evitare sovrapposizioni */
 }
 
 .bio-section textarea {
  width: 100%;
  min-height: 60px;
 }
 
 .media-preview-item {
  width: 100%;
  height: 100%;
  object-fit: cover;
 }
 

/* Stats Section */
.stats-section {
  padding: 20px;
  background: #14213b;
  border-radius: 15px;
  border: 3px solid #1E90FF; /* Bordo più spesso */
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.6); /* Ombra più pronunciata */
  width: 100%;
  max-width: 500px;
  margin-bottom: 30px;
}

.stats-section h3 {
  color: #FFFFFF;
  margin-bottom: 15px;
  font-size: 1.3rem; /* Aggiunto per chiarezza */
}

#user-stats-chart {
  max-width: 100%;
}

/* Saved Content Section */
.saved-content-section {
  padding: 20px;
  background: #14213b;
  border-radius: 15px;
  border: 3px solid #1E90FF; /* Bordo più spesso */
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.6);
  width: 100%;
  max-width: 1200px;
  margin-bottom: 30px;
}

.saved-content-section h3 {
  color: #FFFFFF;
  margin-bottom: 15px;
  font-size: 1.3rem;
}

/* Regola generale per tutte le sezioni account */
.account-section {
  display: none;
  margin-left: 220px !important;          /* spazio per la sidebar */
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  width: calc(100% - 220px) !important;
  max-width: 1200px !important;
  margin-bottom: 40px !important;
  box-sizing: border-box !important;
}

.account-section.active {
  display: block !important;
}

/* Solo per il Profilo (ha bisogno di più spazio sopra) */
.user-profile-section {
  margin-top: 90px !important;            /* spazio per il top-menu */
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  width: 100% !important;
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 30px !important;
  box-sizing: border-box !important;
}

.account-section h3 {
  color: #FFFFFF;
  margin-bottom: 15px;
  font-size: 1.3rem;
}

/* Follow/Block Section */
.follow-block-section {
  padding: 20px;
  background: #14213b;
  border-radius: 15px;
  border: 3px solid #1E90FF; /* Bordo più spesso */
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.6);
  width: 100%;
  max-width: 500px;
  margin-bottom: 30px;
}

.follow-block-section h3 {
  color: #FFFFFF;
  margin-bottom: 15px;
  font-size: 1.3rem;
}

.follow-block-tabs {
  display: flex;
  gap: 10px;
  margin-bottom: 15px;
}

.tab-button {
  padding: 8px 15px;
  background: linear-gradient(135deg, #FF69B4, #1E3A8A);
  border: none;
  border-radius: 15px;
  color: #FFFFFF;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  transition: transform 0.3s ease;
}

.tab-button.active {
  background: #1E90FF;
}

.tab-button:hover {
  transform: scale(1.05);
}

.tab-content ul {
  list-style: none;
}

.tab-content li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  margin-bottom: 5px;
}

.tab-content li span {
  cursor: pointer;
}

.tab-content li span:hover {
  text-decoration: underline;
}

/* ===== Content Table ===== */
.content-table {
  width: max-content; /* diventa larga quanto serve per tutte le colonne */
  border-collapse: collapse;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid #1E90FF; /* bordo visibile */
}

/* Celle */
.content-table th,
.content-table td {
  padding: 12px; /* più spazio */
  text-align: left;
  color: #FFFFFF;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  white-space: nowrap; /* evita che il testo vada a capo */
}

/* Intestazioni */
.content-table th {
  background: rgba(20, 33, 59, 0.6);
  font-weight: bold;
}

/* Ultima colonna Azioni: abbastanza larga per i pulsanti */
.content-table th:last-child,
.content-table td:last-child {
  min-width: 200px; /* garantisce visibilità Modifica + Cancella */
}

/* Miniature media */
.media-preview-img {
  max-width: 60px;
  max-height: 60px;
  object-fit: cover;
  border-radius: 5px;
  margin: 5px;
  border: 1px solid #1E90FF; /* evidenzia le miniature */
}

/* Contenitore scroll */
.tab-content > div {
  overflow-x: auto; /* permette scroll orizzontale */
  -webkit-overflow-scrolling: touch;
}

/* Search Container */
.search-container {
  position: fixed;
  bottom: 60px;
  left: 50%;
  transform: translateX(-50%);
  width: 90%;
  max-width: 500px;
  padding: 15px;
  background: #14213b;
  border-radius: 15px;
  border: 3px solid #1E90FF; /* Bordo più spesso */
  display: none;
  z-index: 1001;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.6);
}

#user-search {
  width: 100%;
  padding: 8px;
  border: 1px solid #4B5EAA;
  border-radius: 5px;
  box-sizing: border-box;
  color: #333;
  background-color: #fff;
  margin-bottom: 10px;
}

.filters {
  display: flex;
  gap: 10px;
  margin-bottom: 10px;
}

.filters button {
  padding: 5px 10px;
  background: linear-gradient(135deg, #FF69B4, #1E3A8A);
  border: none;
  border-radius: 15px;
  color: #FFFFFF;
  font-size: 0.7rem;
  font-weight: 600;
  cursor: pointer;
  transition: transform 0.3s ease;
}

.filters button.active {
  background: #1E90FF;
}

.filters button:hover {
  transform: scale(1.05);
}

.search-results {
  max-height: 300px;
  overflow-y: auto;
  margin-top: 10px;
}

.search-result-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  margin-bottom: 5px;
}

.search-result-item img {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}

.hashtag {
  color: #1E90FF;
  cursor: pointer;
}

.hashtag:hover {
  text-decoration: underline;
}

/* Modals */
.notifications-modal,
.messages-modal,
.explore-modal,
.user-profile-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 1001;
}

.notifications-modal-content,
.messages-modal-content,
.explore-modal-content,
.user-profile-modal {
  background: #14213b;
  padding: 20px;
  border-radius: 15px;
  border: 3px solid #1E90FF; /* Bordo più spesso */
  color: #FFFFFF;
  max-width: 400px;
  width: 90%;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.6); /* Aggiunto ombra */
}

.notification-item,
.message-item {
  padding: 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2); /* Bordo più visibile */
}

.notification-item.read {
  opacity: 0.7;
}

.notification-item p,
.message-item p {
  margin: 0;
}

.notification-item span,
.message-item span {
  font-size: 12px;
  color: #ccc;
}

#message-form input,
#message-form textarea {
  width: 100%;
  padding: 8px;
  margin: 5px 0;
  border: 1px solid #4B5EAA;
  border-radius: 5px;
  background: #FFFFFF;
  color: #333;
}

.explore-section {
  margin-bottom: 15px;
}

.explore-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  margin-bottom: 5px;
}

.explore-item img {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}

.user-profile-modal img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  margin-bottom: 10px;
}

.user-profile-modal p {
  margin: 5px 0;
}

/* Buttons */
.sport-button {
  padding: 8px 15px;
  background: linear-gradient(135deg, #FF69B4, #1E3A8A);
  border: none;
  border-radius: 15px;
  color: #FFFFFF;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.sport-button:hover {
  transform: scale(1.05);
  box-shadow: 0 0 10px rgba(255, 105, 180, 0.7);
}

.modern-button {
  padding: 5px 10px;
  background: rgba(20, 33, 59, 0.3);
  border: 1px solid #1E90FF;
  color: #FFFFFF;
  border-radius: 6px;
  cursor: pointer;
  font-size: 0.85rem;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
  transition: box-shadow 0.3s ease, transform 0.3s ease, border-color 0.3s ease;
}

.modern-button:hover {
  border-color: #FF69B4;
  box-shadow: 0 0 12px rgba(30, 144, 255, 0.7);
  transform: scale(1.05);
}

.delete-button {
  padding: 5px 10px;
  background: #ff4444;
  border: none;
  border-radius: 6px;
  color: #FFFFFF;
  cursor: pointer;
  font-size: 0.85rem;
  transition: transform 0.3s ease;
}

.delete-button:hover {
  background: #cc0000;
  transform: scale(1.05);
}

/* Responsive Design */
@media (max-width: 600px) {
  .user-profile-section,
  .stats-section,
  .saved-content-section,
  .account-section,
  .follow-block-section {
    padding: 15px;
  }

  .content-table th,
  .content-table td {
    padding: 8px;
    font-size: 0.8rem;
  }

  .media-preview-img {
    max-width: 50px; /* Ancora più piccolo per schermi piccoli */
    max-height: 50px;
  }

  .nav-icon {
    width: 45px;
    height: 45px;
    font-size: 1.2rem;
  }

  .menu-item {
    font-size: 1rem;
    padding: 6px;
  }

  .user-profile-section h2,
  .stats-section h3,
  .saved-content-section h3,
  .account-section h3,
  .follow-block-section h3 {
    font-size: 1.2rem; /* Ridotto per schermi piccoli */
  }
}

/* Miglioramenti aggiuntivi per il layout */
.dashboard-container {
  display: flex;
  flex-direction: column;
  gap: 30px; /* Spazio tra le sezioni */
  width: 100%;
  max-width: 1200px; /* Limita la larghezza per coerenza */
  margin: 0 auto;
}

/* Miglioramento delle tabelle per contenuti */
.content-table tbody tr {
  transition: background 0.3s ease;
}

.content-table tbody tr:hover {
  background: rgba(255, 105, 180, 0.15); /* Evidenzia riga al passaggio del mouse */
}

/* Stile per il canvas del grafico */
#user-stats-chart {
  background: rgba(255, 255, 255, 0.05); /* Sfondo leggero per il grafico */
  border-radius: 5px;
  padding: 10px;
}
/* Controlli per filtri e paginazione */
.content-controls {
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  gap: 10px;
 }
 
 .content-controls label {
  color: #FFFFFF;
  font-size: 0.9rem;
 }
 
 .content-controls select {
  padding: 8px;
  border: 1px solid #4B5EAA;
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.15);
  color: #FFFFFF;
  font-size: 0.8rem;
 }
 
 .pagination-controls {
  margin-top: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
 }
 
 .pagination-controls button {
  padding: 8px 15px;
 }
 
 .pagination-controls span {
  color: #FFFFFF;
  font-size: 0.9rem;
 }


/* Stili per Cropper.js e modal di ritaglio */
.cropper-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}

.cropper-container {
  background: #14213b;
  padding: 20px;
  border-radius: 15px;
  border: 2px solid #1E90FF;
  color: #FFFFFF;
  max-width: 600px;
  width: 90%;
  margin: 0 auto;
  text-align: center;
}

.cropper-container img {
  max-width: 100%;
  max-height: 400px;
}

.cropper-buttons {
  margin-top: 10px;
  display: flex;
  justify-content: center;
  gap: 10px;
}

.cropper-buttons button {
  background: #1E90FF;
  color: #FFFFFF;
  border: none;
  padding: 8px 16px;
  border-radius: 5px;
  cursor: pointer;
  font-size: 16px;
}

.cropper-buttons button:hover {
  background: #FFFFFF;
  color: #1E90FF;
}


 .challenge-stats-section {
  padding: 20px;
  background: #14213b;
  border-radius: 15px;
  border: 3px solid #1E90FF;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.6);
  width: 100%;
  max-width: 1200px;
  margin-bottom: 30px;
 }
 
 .challenge-stats-section h3 {
  color: #FFFFFF;
  margin-bottom: 15px;
  font-size: 1.3rem;
 }
 .media-preview-img {
  max-width: 100px;
  height: auto;
  object-fit: cover;
  border-radius: 5px;
 }
 video.media-preview-img {
  display: block;
 }
 video.media-preview-img + span {
  color: red;
  font-size: 12px;
 }
 .media-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
 }
 .media-modal-content {
  background: #14213b;
  padding: 20px;
  border-radius: 15px;
  border: 2px solid #1E90FF;
  color: #FFFFFF;
  max-width: 400px;
  width: 90%;
  margin: 0 auto;
 }
/* Sezione "Le mie statistiche" */
.stats-section {
  padding: 25px;
  background: #14213b;
  border-radius: 15px;
  border: 3px solid #1E90FF;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.7);
  width: 100%;
  max-width: 600px; /* Leggermente più largo per il grafico */
  margin-bottom: 40px;
  transition: transform 0.3s ease;
}

.stats-section:hover {
  transform: translateY(-5px);
}

.stats-section h2 {
  color: #FFFFFF;
  margin-bottom: 25px;
  font-size: 1.6rem;
  text-align: center;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.stats-subsection {
  margin-bottom: 30px;
  padding: 15px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 10px;
  border: 1px solid #1E90FF;
}

.stats-subsection h3 {
  color: #FFFFFF;
  margin-bottom: 20px;
  font-size: 1.3rem;
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Sezione "Le mie attività social" */
.social-activities-section {
  padding: 25px;
  background: #14213b;
  border-radius: 15px;
  border: 3px solid #1E90FF;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.7);
  width: 100%;
  max-width: 1200px;
  margin-bottom: 40px;
  transition: transform 0.3s ease;
}

.social-activities-section:hover {
  transform: translateY(-5px);
}

.social-activities-section h2 {
  color: #FFFFFF;
  margin-bottom: 25px;
  font-size: 1.6rem;
  text-align: center;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.activity-subsection {
  margin-bottom: 30px;
  padding: 15px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 10px;
  border: 1px solid #1E90FF;
}

.activity-subsection h3 {
  color: #FFFFFF;
  margin-bottom: 20px;
  font-size: 1.3rem;
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Miglioramenti alle tabelle */
.content-table {
  width: 100%;
  border-collapse: collapse;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  border: 1px solid #1E90FF;
  overflow: hidden;
  transition: box-shadow 0.3s ease;
}

.content-table:hover {
  box-shadow: 0 0 15px rgba(30, 144, 255, 0.5);
}

.content-table th,
.content-table td {
  padding: 15px;
  text-align: left;
  color: #FFFFFF;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  transition: background 0.3s ease;
}

.content-table th {
  background: rgba(20, 33, 59, 0.8);
  font-weight: bold;
  text-transform: uppercase;
  font-size: 0.9rem;
}

.content-table tbody tr:hover {
  background: rgba(255, 105, 180, 0.2);
}

/* Controlli filtri e paginazione */
.content-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-bottom: 20px;
  align-items: center;
}

.content-controls label {
  color: #FFFFFF;
  font-size: 0.9rem;
  font-weight: 600;
}

.filter-select {
  padding: 10px;
  border: 1px solid #1E90FF;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.15);
  color: #FFFFFF;
  font-size: 0.9rem;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.filter-select:focus {
  border-color: #FF69B4;
  box-shadow: 0 0 8px rgba(255, 105, 180, 0.5);
  outline: none;
}

.pagination-controls {
  margin-top: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
}

.pagination-controls button {
  padding: 10px 20px;
  font-size: 0.9rem;
  border-radius: 8px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.pagination-controls button:hover {
  transform: scale(1.05);
  box-shadow: 0 0 12px rgba(30, 144, 255, 0.7);
}

.pagination-controls span {
  color: #FFFFFF;
  font-size: 0.9rem;
  font-weight: 600;
}

/* Contenitore per il grafico */
.chart-container {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 10px;
  padding: 15px;
  border: 1px solid #1E90FF;
  text-align: center;
}

/* Responsive design */
@media (max-width: 600px) {
  .stats-section,
  .social-activities-section {
    padding: 15px;
    max-width: 100%;
  }

  .stats-section h2,
  .social-activities-section h2 {
    font-size: 1.4rem;
  }

  .stats-subsection h3,
  .activity-subsection h3 {
    font-size: 1.2rem;
  }

  .content-table th,
  .content-table td {
    padding: 10px;
    font-size: 0.8rem;
  }

  .content-controls {
    flex-direction: column;
    align-items: flex-start;
  }

  .filter-select {
    width: 100%;
  }

  .pagination-controls button {
    padding: 8px 15px;
    font-size: 0.8rem;
  }
}
/* Azioni del profilo */
.profile-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-top: 20px;
  justify-content: center;
}

.profile-actions button {
  padding: 10px 20px;
  font-size: 0.9rem;
  border-radius: 8px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.profile-actions .sport-button {
  background: linear-gradient(135deg, #FF69B4, #1E3A8A);
}

.profile-actions .sport-button:hover {
  transform: scale(1.05);
  box-shadow: 0 0 12px rgba(255, 105, 180, 0.7);
}

.profile-actions .modern-button {
  background: rgba(20, 33, 59, 0.3);
  border: 1px solid #1E90FF;
}

.profile-actions .modern-button:hover {
  border-color: #FF69B4;
  box-shadow: 0 0 12px rgba(30, 144, 255, 0.7);
}

.profile-actions .delete-button {
  background: #ff4444;
}

.profile-actions .delete-button:hover {
  background: #cc0000;
  transform: scale(1.05);
  box-shadow: 0 0 12px rgba(255, 68, 68, 0.7);
}

/* Modale per la modifica della password */
.password-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 1001;
}

.password-modal-content {
  background: #14213b;
  padding: 25px;
  border-radius: 15px;
  border: 3px solid #1E90FF;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.7);
  max-width: 400px;
  width: 90%;
  color: #FFFFFF;
}

.password-modal-content h3 {
  margin-bottom: 20px;
  font-size: 1.3rem;
  text-align: center;
}

.password-modal-content label {
  display: block;
  margin-bottom: 5px;
  font-size: 0.9rem;
  font-weight: 600;
}

.password-modal-content input {
  width: 100%;
  padding: 10px;
  margin-bottom: 15px;
  border: 1px solid #4B5EAA;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.15);
  color: #FFFFFF;
  font-size: 0.9rem;
}

.password-modal-content input:focus {
  border-color: #FF69B4;
  box-shadow: 0 0 8px rgba(255, 105, 180, 0.5);
  outline: none;
}

.modal-actions {
  display: flex;
  gap: 15px;
  justify-content: center;
  margin-top: 20px;
}

.modal-actions button {
  padding: 10px 20px;
  font-size: 0.9rem;
  border-radius: 8px;
}

/* Responsive design */
@media (max-width: 600px) {
  .profile-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .profile-actions button {
    width: 100%;
    padding: 12px;
  }

  .password-modal-content {
    padding: 15px;
    max-width: 90%;
  }

  .password-modal-content h3 {
    font-size: 1.2rem;
  }

  .password-modal-content input {
    font-size: 0.8rem;
  }
}
.status-label {
  background-color: #ffa500;
  color: white;
  padding: 5px 10px;
  border-radius: 4px;
  font-size: 0.9em;
 }
 .cancel-activity-btn {
  background-color: #ff4444;
  color: white;
  padding: 5px 10px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 0.9em;
 }
 
 .cancel-activity-btn:hover {
  background-color: #cc0000;
 } 
 /* Stile per il riquadro dell'impresa */
.activity-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 300px;
    margin: 15px;
    padding: 15px;
    border-radius: 10px;
    background-color: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s;
}
.activity-item:hover {
    transform: translateY(-5px);
}
.activity-item.approved {
    border: 2px solid #28a745; /* Verde per pubblicato */
}
.activity-item.pending {
    border: 2px solid #ffc107; /* Giallo brillante per pending */
}
.activity-item.rejected {
    border: 2px solid #dc3545; /* Rosso per rejected */
}

/* Stile per il media */
.activity-media {
    width: 100%;
    max-width: 220px;
    height: 150px;
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: 10px;
}

/* Stile per il badge */
.activity-badge {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 14px;
    font-weight: bold;
    color: #333;
    background-color: #f1f1f1;
    padding: 5px 10px;
    border-radius: 12px;
    margin-bottom: 10px;
}

/* Stile per i dettagli */
.activity-details {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    margin: 10px 0;
}
.status-label {
    font-size: 12px;
    font-weight: 500;
    color: #555;
}
.status-label.approved {
    color: #28a745; /* Verde per approvato */
}
.status-label.pending {
    color: #ffc107; /* Giallo per in attesa */
}
.status-label.rejected {
    color: #dc3545; /* Rosso per rifiutato */
}
.reaction-icon {
    font-size: 12px;
    color: #555;
    cursor: pointer;
}
.reaction-icon.reacted .pulse-circle {
    background-color: #007bff;
}

/* Stile per il riquadro dell'impresa */
.activity-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 280px;
  margin: 15px;
  padding: 15px;
  border-radius: 10px;
  background-color: #14213b; /* Il tuo blu scuro */
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  transition: transform 0.2s;
  color: #fff; /* Testo bianco per contrasto */
}
.activity-item:hover {
  transform: translateY(-5px);
}
.activity-item.approved {
  border: 2px solid #28a745; /* Verde per pubblicato */
}
.activity-item.pending {
  border: 2px solid #ffc107; /* Giallo brillante per pending */
}
.activity-item.rejected {
  border: 2px solid #dc3545; /* Rosso per rejected */
}

/* Stile per il media */
.activity-media {
  width: 100%;
  max-width: 200px;
  height: 140px;
  object-fit: cover;
  border-radius: 8px;
  margin-bottom: 12px;
}

/* Stile per il badge */
.activity-badge {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 13px;
  font-weight: bold;
  color: #fff;
  background-color: rgba(255, 255, 255, 0.2);
  padding: 5px 10px;
  border-radius: 12px;
  margin-bottom: 8px;
}

/* Stile per i Pulse */
.reaction-icon {
  font-size: 11px;
  color: #fff;
  cursor: pointer;
  margin-bottom: 10px;
}
.reaction-icon.reacted .pulse-circle {
  background-color: #007bff;
}

/* Stile per i pulsanti */
.activity-actions {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 10px;
  width: 100%;
}
.action-button {
  padding: 3px 6px; /* Ancora più piccolo */
  font-size: 9px; /* Testo piccolo */
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.2s;
  min-width: 50px; /* Testo completo */
  text-align: center;
}
.action-button.edit-activity-btn {
  background-color: #007bff; /* Blu */
  color: white;
}
.action-button.edit-activity-btn:hover {
  background-color: #0056b3;
}
.action-button.cancel-activity-btn {
  background-color: #dc3545; /* Rosso */
  color: white;
}
.action-button.cancel-activity-btn:hover {
  background-color: #b02a37;
}

/* Responsive per schermi piccoli */
@media (max-width: 600px) {
  .activity-item {
      max-width: 100%;
      margin: 10px;
      padding: 10px;
  }
  .activity-media {
      max-width: 150px;
      height: 100px;
  }
  .action-button {
      padding: 2px 5px;
      font-size: 8px;
      min-width: 45px;
  }
  .activity-badge {
      font-size: 11px;
      padding: 4px 8px;
  }
  .reaction-icon {
      font-size: 10px;
  }
}

/* Stile base per i bottoni */
.nav-icon {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border: 1px solid rgba(0, 162, 255, 0.6);
  padding: 0;
  overflow: hidden;
 background: linear-gradient(135deg, #0F172A,  #1E90FF); /* Verde-blu */
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
  box-shadow: 0 3px 8px rgba(0, 123, 255, 0.35);
  color: #fff;
}

/* Hover: più luminoso ma non eccessivo */
.nav-icon:hover {
  transform: scale(1.08);
  background: linear-gradient(145deg, #33CFFF, #3399FF, #0055CC);
  box-shadow: 0 0 18px rgba(0, 170, 255, 0.7), 
              0 0 08px rgba(0, 123, 255, 0.5);
  border-color: rgba(0, 191, 255, 0.9);
}

/* Stato attivo */
.nav-icon.active {
  background: linear-gradient(145deg, #FF5FA2, #FF2E92, #C71585);
  border-color: rgba(255, 255, 255, 0.8);
  box-shadow: 0 0 12px rgba(255, 20, 147, 0.7), 
              0 0 18px rgba(255, 105, 180, 0.6);
}



/* Icone FontAwesome dentro i bottoni */
.nav-icon i {
  font-size: 23px;  /* ingrandisci qui (default era 18–20px) */
  color: #fff;      /* colore bianco per visibilità */
  transition: transform 0.2s ease;
}

/* Effetto leggero al passaggio */
.nav-icon:hover i {
  transform: scale(1.15);
}



/* Stile base già dato a tutti i bottoni */
.nav-icon {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  overflow: hidden;
  border: none;
  transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
  color: #fff;
}

/* Bottone profilo */
.nav-icon.profile-icon {
  background: linear-gradient(135deg, #1E90FF, #0F52BA) !important;
  border: none !important;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
  box-shadow: none !important; /* reset ombre vecchie */
  transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
}

/* Foto dentro al bottone */
.nav-icon.profile-icon img {
  width: 85%;
  height: 85%;
  border-radius: 50%;
  object-fit: cover;
  object-position: center;
  display: block;
  z-index: 2;
}

/* Hover → glow blu */
.nav-icon.profile-icon:hover {
  transform: scale(1.15);
  background: linear-gradient(135deg, #3399FF, #0F52BA) !important;
  box-shadow: 
    0 0 10px rgba(30, 144, 255, 0.9),
    0 0 20px rgba(30, 144, 255, 0.8),
    0 0 35px rgba(15, 82, 186, 0.8),
    0 0 50px rgba(15, 82, 186, 0.7) !important;
}


/* Form Group */
.form-group {
  margin-bottom: 15px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  width: 100%;
  max-width: 300px; /* Allinea con .name-section, .bio-section, ecc. */
 }
 
 .form-group label {
  display: block;
  margin-bottom: 5px;
  color: #FFFFFF;
  font-size: 0.9rem;
  font-weight: 600;
 }
 
 .form-group input[type="file"] {
  width: 100%;
  padding: 8px;
  border: 1px solid #4B5EAA;
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.15);
  color: #FFFFFF;
  font-size: 0.8rem;
 }
 
 .form-group input[type="file"]:focus {
  border-color: #FF69B4;
  box-shadow: 0 0 4px rgba(255, 105, 180, 0.5);
  outline: none;
 }

 .bio-section {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
 }
 .bio-section textarea {
  width: 100%;
  min-height: 60px;
 }
 
 /* Media Preview */
 .media-preview {
  width: 100%;
  max-width: 300px; /* Allinea con altri input */
  height: 80px; /* Altezza minima per visibilità */
  background-size: cover;
  background-position: center;
  border: 1px solid #1E90FF; /* Coerente con il tema */
  border-radius: 5px;
  margin: 10px 0;
  background-color: rgba(255, 255, 255, 0.1); /* Fallback scuro */
  display: block;
  visibility: visible;
  z-index: 1;
 }
 
 /* Anteprima */
.background-pic-display {
  width: 100%;
  max-width: 500px;
  height: 120px;
  background-size: cover;
  background-position: center;
  border: 1px solid #1E90FF;
  border-radius: 5px;
  margin: 10px auto;
  background-color: rgba(255, 255, 255, 0.1);
  position: relative;
}

/* Bottone chiusura */
.close-preview-btn {
  position: absolute;
  top: 5px;
  right: 5px;
  border: none;
  background: rgba(255,0,0,0.3);
  color: white;
  font-size: 16px;
  font-weight: bold;
  padding: 2px 6px;
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.2s ease;
}
.close-preview-btn:hover {
  background: rgba(255,0,0,0.6);
}

/* Wrapper per mantenere margini */
.media-preview-wrapper {
  position: relative;
  width: 100%;
  max-width: 500px;
  margin: 10px auto;
}

 
 /* Allinea .form-group con le altre sezioni */
 .name-section,
 .bio-section,
 .age-section,
 .nationality-section,
 .activity-section,
 .experience,
 .privacy-section {
  margin-bottom: 15px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  width: 100%;
  max-width: 300px; /* Coerenza con .form-group */
 }
 
 /* Responsive */
 @media (max-width: 768px) {
  .form-group,
  .name-section,
  .bio-section,
  .age-section,
  .nationality-section,
  .activity-section,
  .experience,
  .privacy-section {
    max-width: 100%;
  }
 
  .media-preview,
  .background-pic-display {
    max-width: 100%;
    height: 80px;
  }
 }

 .sport-button {
  padding: 10px 20px;
  border: none;
  border-radius: 4px;
  background: #1E90FF;
  color: white;
  cursor: pointer;
  margin: 5px;
}
.form-group {
  margin-bottom: 15px;
}
.form-group label {
  display: block;
  margin-bottom: 5px;
}
.form-group input {
  width: 100%;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
}
.modal-content {
  background: #fff;
  padding: 20px;
  border-radius: 5px;
  max-width: 400px;
  width: 90%;
  margin: auto;
}
#password-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  justify-content: center;
  align-items: center;
  z-index: 1000;
}
.notification {
  position: fixed;
  top: 20px;
  right: 20px;
  padding: 10px 20px;
  border-radius: 4px;
  color: white;
}
.notification.success {
  background: #28a745;
}
.notification.error {
  background: #dc3545;
}

/* Stile per il modal dei dettagli */
.challenge-details-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
}
.challenge-details-modal-content {
  background: #14213b;
  padding: 20px;
  border-radius: 15px;
  border: 2px solid #1E90FF;
  color: #FFFFFF;
  max-width: 500px;
  margin: 0 auto;
  max-height: 80vh;
  overflow-y: auto;
}
.media-preview-img {
  max-width: 100%;
  max-height: 200px;
  border-radius: 5px;
}

/* Stile per il toast */
.notification-toast {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background: #FF69B4;
  color: white;
  padding: 10px 20px;
  border-radius: 8px;
  z-index: 2000;
  box-shadow: 0 0 10px rgba(255, 105, 180, 0.6);
  transition: opacity 0.5s;
}
/* Stile per i campi data/ora (da dateUtils.js) */
input[type="text"][id="datetime"],
input[type="text"][name*="date"] {
 font-family: monospace;
 color: #e6e6e6;
 background: #1a1a1a;
 border: 1px solid #5DC7E2;
 padding: 5px 8px;
 border-radius: 5px;
}

input::placeholder {
 color: #aaa;
 font-style: italic;
}

/* Stile per i bottoni */
.modern-button {
 background: linear-gradient(135deg, #1E90FF, #00BFFF);
 color: #FFFFFF;
 padding: 8px 16px;
 border: none;
 border-radius: 8px;
 font-size: 0.9rem;
 font-weight: bold;
 cursor: pointer;
 transition: background 0.3s ease, transform 0.2s ease, box-shadow 0.2s ease;
 margin: 5px;
}
.modern-button:hover {
 background: linear-gradient(135deg, #00BFFF, #1E90FF);
 transform: translateY(-2px);
 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
.modern-button.details-button {
 background: linear-gradient(135deg, #32CD32, #228B22);
}
.modern-button.details-button:hover {
 background: linear-gradient(135deg, #228B22, #32CD32);
}
.modern-button.delete-button {
 background: linear-gradient(135deg, #FF4500, #DC143C);
}
.modern-button.delete-button:hover {
 background: linear-gradient(135deg, #DC143C, #FF4500);
}

/* Stile per il toast */
.notification-toast {
 position: fixed;
 bottom: 20px;
 right: 20px;
 padding: 10px 20px;
 background: #1E90FF;
 color: #FFFFFF;
 border-radius: 5px;
 z-index: 1000;
 box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
 transition: opacity 0.5s;
}

/* Stile per i modal */
.challenge-details-modal, .notifications-modal {
 position: fixed;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 background: rgba(0, 0, 0, 0.8);
 display: flex;
 align-items: center;
 justify-content: center;
 z-index: 10000;
}
.challenge-details-modal-content, .notifications-modal-content {
 background: #14213b;
 padding: 20px;
 border-radius: 15px;
 border: 2px solid #5DC7E2;
 color: #FFFFFF;
 max-width: 400px;
 margin: 0 auto;
 max-height: 80vh;
 overflow-y: auto;
}
.notification-item {
 border-bottom: 1px solid #5DC7E2;
 padding: 10px 0;
}
.notification-item.read {
 opacity: 0.6;
}
.notification-timestamp {
 font-size: 0.8rem;
 color: #90CAF9;
}

/* Stile per l'anteprima media */
.media-preview-img {
 max-width: 100%;
 max-height: 200px;
 border-radius: 5px;
}

/* Stile per la tabella */
#challenges-table {
 width: 100%;
 border-collapse: collapse;
 margin-top: 20px;
}
#challenges-table th, #challenges-table td {
 padding: 10px;
 text-align: left;
 border-bottom: 1px solid #5DC7E2;
}
#challenges-table th {
 background: #14213b;
 color: #FFFFFF;
}
#challenges-table td {
 color: #FFFFFF;
}


/* Assicura che immagini e video siano responsive su mobile */
.content-table img,
.content-table video,
.story-media {
    max-width: 100%;
    height: auto;
    display: block;
}
.btn {
  padding: 5px 10px;
  margin-right: 5px;
  background: #4B5EAA;
  color: #fff;
  text-decoration: none;
  border-radius: 5px;
  font-size: 0.85rem;
}

.btn.edit-btn { background: #ffd000; }
.btn-delete {
  background-color: #ff4444;
  color: #fff;
  border: none;
  padding: 6px 12px;
  border-radius: 5px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.btn-delete:hover {
  background-color: #ff2222;
}

/* Pulsanti */
.btn-modifica { 
  background: orange !important; 
  color: #fff !important; 
  padding: 6px 12px; 
  border-radius: 5px; 
  cursor: pointer; 
  margin-right: 5px; 
  border: none; 
  font-weight: 600;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.btn-modifica:hover {
  transform: scale(1.05);
  box-shadow: 0 0 8px rgba(255,165,0,0.7);
}

.btn-cancella { 
  background: red !important; 
  color: #fff !important; 
  padding: 6px 12px; 
  border-radius: 5px; 
  cursor: pointer; 
  border: none; 
  font-weight: 600;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.btn-cancella:hover {
  transform: scale(1.05);
  box-shadow: 0 0 8px rgba(255,68,68,0.7);
}

/* Card per i drop */
.activity-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 300px;
  margin: 10px;
  padding: 15px;
  border-radius: 10px;
  background-color: #1c1c2e;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  transition: transform 0.2s, box-shadow 0.2s;
}
.activity-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.5);
}

/* Stati dei drop */
.activity-card.approvato {
  border: 2px solid #28a745; /* verde */
}
.activity-card.in-approvazione {
  border: 2px solid #ffc107; /* giallo */
}
.activity-card.rifiutato {
  border: 2px solid #dc3545; /* rosso */
}

/* Testo */
.activity-card .drop-text {
  margin-bottom: 10px;
  color: #fff;
}

/* Media */
.activity-card img, .activity-card video {
  max-width: 100%;
  border-radius: 5px;
  margin-bottom: 10px;
}

/* Pulsanti */
.activity-card .btn-modifica {
  background-color: orange;
  color: #fff;
  border: none;
  padding: 6px 12px;
  border-radius: 5px;
  margin-right: 5px;
  cursor: pointer;
}
.activity-card .btn-cancella {
  background-color: red;
  color: #fff;
  border: none;
  padding: 6px 12px;
  border-radius: 5px;
  cursor: pointer;
}
.activity-card .btn-modifica:hover,
.activity-card .btn-cancella:hover {
  opacity: 0.8;
}
.stato-pending { color: #ffc107; font-weight: bold; }   /* giallo */
.stato-approved { color: #28a745; font-weight: bold; }  /* verde */
.stato-rejected { color: #dc3545; font-weight: bold; }  /* rosso */
.stato-unknown { color: #6c757d; font-weight: bold; }   /* grigio */

/* Cerchio bianco pulsante con centro brillante */
.pulse-circle {
  transition: all 0.3s ease-in-out;
  border-radius: 50%;
  display: inline-block;
  vertical-align: middle;
  width: 14px;
  height: 14px;
  background: radial-gradient(circle, #ffffff 60%, #e6e6e6 100%);
  box-shadow: 
      0 0 8px rgba(255, 255, 255, 0.9),
      0 0 18px rgba(255, 255, 255, 0.8),
      0 0 28px rgba(255, 255, 255, 0.7);
  margin-right: 5px;
  animation: pulse-white 1.5s infinite alternate;
}

/* Stato "reacted" → ancora più luminoso */
.reaction-icon.reacted .pulse-circle {
  background: radial-gradient(circle, #ffffff 70%, #f0f0f0 100%);
  box-shadow: 
      0 0 12px rgba(255, 255, 255, 1),
      0 0 25px rgba(255, 255, 255, 0.95),
      0 0 40px rgba(255, 255, 255, 0.9);
}

/* Animazione pulsazione bianca */
@keyframes pulse-white {
  0% {
      transform: scale(1);
      box-shadow: 
          0 0 8px rgba(255, 255, 255, 0.9),
          0 0 18px rgba(255, 255, 255, 0.8),
          0 0 28px rgba(255, 255, 255, 0.7);
  }
  50% {
      transform: scale(1.3);
      box-shadow: 
          0 0 15px rgba(255, 255, 255, 1),
          0 0 30px rgba(255, 255, 255, 0.95),
          0 0 50px rgba(255, 255, 255, 0.9);
  }
  100% {
      transform: scale(1);
      box-shadow: 
          0 0 8px rgba(255, 255, 255, 0.9),
          0 0 18px rgba(255, 255, 255, 0.8),
          0 0 28px rgba(255, 255, 255, 0.7);
  }
}
/* ===== FIX DEFINITIVO MENU TOP ===== */

.top-menu * {
  box-sizing: border-box;
  line-height: 1 !important;
}

.top-menu {
  height: 60px;
}

.top-menu .menu-items {
  display: flex;
  align-items: center;
  gap: 4px;
  border-bottom: none;
}

.top-menu .menu-item {
  width: 36px;
  height: 36px;
  padding: 0;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent; /* rimosso il cerchio azzurro */
  border-radius: 50%;
  border: none;
  box-shadow: none;
}

.top-menu .menu-item i {
  font-size: 1.2rem;
  line-height: 1;
  color: #D3D3D3;
}

.top-menu .menu-item:hover i {
  color: #FF69B4;
}

.top-menu .badge {
  top: -6px;
  right: -6px;
  font-size: 0.6rem;
  padding: 2px 5px;
  line-height: 1;
}
/* Colore blu fisso per icona logout */
.top-menu .logout-item i {
  color: #1E90FF !important;
}
.toggle-password {
    position: absolute;
    right: 12px;
    top: 38px; /* regola in base al tuo padding */
    cursor: pointer;
    color: #aaa;
    font-size: 18px;
    transition: color 0.2s;
}

.toggle-password:hover {
    color: #1E90FF;
}
/* FORZATURA ASSOLUTA: ANNULLA QUALSIASI SPAZIO FANTASMA IN CIMA */
.account-section.active {
  display: block !important;
  position: relative !important;
  top: 0 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  transform: none !important;
}

/* Forza il contenitore generale a ignorare qualsiasi altezza minima forzata */
.content-wrapper, .dashboard-container {
  min-height: 0 !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
}