@import url('https://fonts.googleapis.com/css2?family=Indie+Flower&display=swap');

/* ========================================
   LANGUAGE SWITCH
======================================== */

.lang-switch {
  --switch-text: #222222;
  --switch-muted: #777777;
  --switch-underline: #222222;
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 18px;
  padding: 6px 0;
  width: max-content;
}

/* Language labels */
.lang-switch .btn--language {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  gap: 4px;
  color: var(--switch-muted);
  font-family: inherit;
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;

  transition: color 200ms ease;
}

/* Active language */
.lang-switch .btn--language[aria-pressed="true"] {
  color: var(--switch-text);
  font-weight: 600;
}

/* Hover */
.lang-switch .btn--language:hover {
  color: var(--switch-text);
}

/* Animated underline */
.lang-switch__thumb {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 42px;
  height: 2px;
  background: var(--switch-underline);
  border-radius: 2px;
  pointer-events: none;
  transform: translateX(0);
  transition:
    transform 350ms cubic-bezier(0.22, 1, 0.36, 1),
    background-color 200ms ease;
}

/* Move underline to EN */
.lang-switch[data-active="en"] .lang-switch__thumb {
  transform: translateX(60px);
  
}

/* White navbar */
.navbar-white .lang-switch {
  --switch-text: #222222;
  --switch-muted: #777777;
  --switch-underline: #222222;
}

/* Black navbar */
.navbar-black .lang-switch {
  --switch-text: #F7F6EB;
  --switch-muted: #A8A8A0;
  --switch-underline: #F7F6EB;
}

/* Keyboard accessibility */
.lang-switch .btn--language:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 5px;
  border-radius: 2px;
}

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce) {
  .lang-switch .btn--language,
  .lang-switch__thumb {
    transition: none;
  }
}

html {
  transition: opacity 250ms ease-in-out;
}

html.is-language-fading {
  opacity: 0.65;
}

@media (prefers-reduced-motion: reduce) {
  html {
    transition: none;
  }
}

.lang-switch .btn--language {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.lang-flag {
  width: 16px;
  height: 12px;
  object-fit: cover;
  border-radius: 2px;
  display: block;
}

/* Navigation Bar Styles */
#btn {
  display: none;
}

.navbar-white{
  position: sticky;
  top: 0;
  width: 100%;
  margin: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 5rem;
  position: relative;
}

.navbar-black {
  position: relative;
  width: 100%;
  text-align: center;
  background-color: var(--spotify-bg);
  color: #ffffff;
  padding: 1rem 3rem;
  z-index: 100;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.navbar-black .button {
  background-color: var(--spotifypurple);
}

.nav__data {
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}



.nav__mobile  {
  width: 100%;
  height: 100vh;
  top: 100px;
  left: 0;
  right: 0;
} 

.nav__mobile  {
  max-height: 0; /* Hide menu by default */
  overflow: hidden; /* Prevent overflow */
  transition: max-height 0.5s ease; /* Smooth transition */
} 

.nav__list {
  list-style: none; /* Remove default list styling */
  padding: 0; /* Remove default padding */
  margin: 0; /* Remove default margin */
  display: flex; /* Use Flexbox for the list items */
  align-items: center;
  justify-content: center;
}

.nav__list li {
  margin-right: 8px; /* Space between items */
}

.nav__list a {
margin: 0;
  font-size: 1rem;
}

.nav__list li:last-child {
  margin-right: 0; /* Remove margin from the last item */
}

.nav__link {
  text-decoration: none; /* Remove underline from links */
  color: inherit; /* Inherit color from parent */
  font-weight: 500; /* Optional: set font weight */
  font-size: 1rem;
}

.nav__link:hover {
  color: #8b95f0; /* Change to your desired hover color */
  transform: scale(1.05); /* Slightly increase size on hover */
}

.show-menu {
  opacity: 1;
  top: 3.5rem;
  pointer-events: initial ; 
 }


.nav__link {
  color: var(--white-color);
  background-color: var(--black-color);
  font-weight: var(--font-semi-bold);
  padding: 1.25rem 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: background-color .3s;
}

.nav__link:hover {
  background-color: var(--black-color-light);
}

@media (max-width: 768px) {
.nav__menu {
  display: none;
} 
} 

.logo-img {
  width: 40px;
  height: auto;
  margin-right: 1rem;
  filter: brightness(0);
}

/* Show menu */
.show-menu {
  opacity: 1;
  top: 3.5rem;
  pointer-events: initial;
}

/* Show icon */
.show-icon .nav__burger {
  opacity: 0;
  transform: rotate(90deg);
}
.show-icon .nav__close {
  opacity: 1;
  transform: rotate(90deg);
}


/*Footer*/

.footer-white {
  display: flex;
  justify-content: center;
  text-align: center;
  background: var(--white);
  color: #000000;
  width: 100%;
  margin-bottom: 12rem;
  margin-top: 4rem;
}

.footer-black {
  display: flex;
  justify-content: center;
  text-align: center;
  background-color: var(--black);
  color: var(--white);
  padding: 20px;
  width: 100%;
}

.footer-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding: 1rem 0 1rem 0;
}


.footer-links {
  list-style: none;
  padding: 0;
  margin: 10px 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center; /* Center the links */
}

.footer-links .h1{
 display: none;
}

.footer-links li {
  margin: 0 10px; /* Space between links */
}

.footer-links a {
  color: #000000;
  text-decoration: none;
  font-size: 1rem;
}

.footer-black .footer-links a {
  color: #dddddd;
}

.footer-links :hover {
  color: #8b95f0; /* Change to your desired hover color */
  transform: scale(1.05); /* Slightly increase size on hover */
}

.footer-content {
  text-align: center; /* Center the text and icons */
}

.footer-links {
list-style: none;
display: flex;
justify-content: center; /* Center the links */
gap: 0rem; /* Space between links */
margin-bottom: 1rem; /* Space below the links */
}

.footer-icons {
display: flex;
justify-content: center; /* Center the icons */
gap: 0.8rem; /* Space between icons */
padding: 0;
margin: 0;
}

.footer-icon {
  text-decoration: none; /* Remove underline */
  color: #333; /* Default icon color */
  font-size: 1rem; /* Adjust icon size */
  transition: color 0.3s ease; /* Smooth transition for hover effect */
  padding: 0;
  margin: 0;
}

#footer-white .footer-icon {
  color: #454545;
}

#footer-black .footer-icon {
  color: white;
}

#footer-black .figma-icon {
  width: 22px; /* Set the width of the image */
  height: auto; /* Maintain aspect ratio */
  transition: filter 0.3s ease; /* Smooth transition for hover effect */
  filter: brightness(0) invert(1); /* This will turn the icon white */
  padding: 0;
  margin: 0;
}

#footer-white .figma-icon {
  width: 22px; /* Set the width of the image */
  height: auto; /* Maintain aspect ratio */
  transition: filter 0.3s ease; /* Smooth transition for hover effect */
  padding: 0;
  margin: 0;
}

@media (max-width: 768px) {

.navbar-white {
  padding-top: 1rem;
  margin: 0;
  justify-content: center;
}

.footer-links {
  flex-direction: column; /* Stack links vertically on small screens */
}

.footer-links li {
  margin: 5px 0; /* Vertical spacing on small screens */
}

.footer-links {
  flex-direction: column; /* Stack links vertically on small screens */
}
.footer-icons {
  margin-top: 1rem; /* Space above icons on small screens */
}

 }

 /*Back to top Btn*/

 #btn-back-to-top  {
  position: fixed;
  bottom: 16px;
  right: 16px;
  display: none;
  z-index: 1000;
  border: none; /* Remove border */
  outline: none; /* Remove outline */
  background: none; /* Remove background */
  cursor: pointer; /* Change cursor to pointer */
}

#btn-back-to-top i {
 font-size: 48px;
 border: none;
 background: transparent;
 color: #000000;
 transition: transform 0.3s ease; /* Smooth transition for the transform property */
}

.spotify #btn-back-to-top i {
  font-size: 48px;
  border: none;
  background: transparent;
  color: #ffffff;
  transition: transform 0.3s ease; /* Smooth transition for the transform property */
 }


/*floating navigation*/

#floating-nav {
  position: fixed;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  width: auto;
  height: auto;
  z-index: 999999;
}

.nav-link[hidden] {
  display: none;
}

.nav-wrapper {
  display: flex;
  align-items: center;
  padding: 12px;
  background-color: rgba(248, 248, 248, 0.84);
  border: 1px solid rgba(255, 255, 255, 0.84);
  border-radius: 24px;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 0 32px rgba(0, 0, 0, 0.1);
}

.nav-content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.nav-link {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding: 6px;
  background-color: #ffffff;
  color: #111;
  border: 0.5px solid #d0d0d0;
  border-radius: 12px;
  box-shadow: 0 2px 6.8px rgba(0, 0, 0, 0.1);
  text-decoration: none;
  line-height: 1;
  transition: box-shadow 0.2s;
}

.nav-link:hover {
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.nav-link .bi {
  font-size: 20px;
}

/* Bouton Home : carré */
.nav-home {
  width: 80px;
}

/* Boutons Précédent / Suivant */
.nav-project {
  gap: 8px;
  padding: 6px 16px;
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
}

.nav-project .bi {
  font-size: 18px;
}

/* Mobile : flèches seules pour garder la barre compacte */
@media (max-width: 600px) {
  .nav-project span {
    display: none;
  }
  .nav-project {
    padding: 6px 14px;
  }
}

/* Mobile styles */
@media screen and (max-width: 768px) {
  #floating-nav {
      bottom: 20px; /* Adjust the position for mobile */
  }

  .nav-wrapper {
      flex-direction: row; /* Keep items in a row */
      justify-content: space-around; /* Space items evenly */
  }

  .nav-icon {
      flex: 1; /* Allow icons to take equal space */
      text-align: center; /* Center the icons */
  }

  #linkedin, #figma {
    display: none;
  }

  .separator {
      display: none; /* Hide separators on mobile for a cleaner look */
  }

  .nav__link:hover {
    color: inherit; /* Reset color to inherit */
    transform: none; /* Remove scaling effect */
}

}

body {
  animation: fadeInAnimation ease 1.5s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}

@keyframes fadeInAnimation {
  0% {
      opacity: 0.05;
  }

  100% {
      opacity: 1;
  }
}


.nav__data {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
