html {
    scroll-behavior: smooth;
    background: #83f52c;
}


*{
    margin:0;
    padding: 0;
    box-sizing: border-box;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;

}

    #ripple-bg {
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      z-index: -1; /* send it to background */
    }
    .main, .catalogue {
      position: relative;
      z-index: 1;
    }


.main{
    width: 100%;
    height: 100vh;
    height: 100dvh;
}

.space{
  height: 90vh;
    height: 90dvh;
    display: flex;              /* enable flexbox */
    justify-content: center;    /* horizontal centering */
    align-items: center;   
}

.space .logo{
    max-width: 50%;
    min-width:400px;
    height: auto;
}

.navbar{
    width: 90%;
    max-width: 1200px;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    flex-wrap: wrap;
}

.menu ul{
    display:flex;
    gap: 30px;
    flex-wrap: wrap;
}

.menu ul li{
    list-style: none;
}

.menu ul li a{
    text-decoration: none;
    color:  white;
    font-weight: lighter;
    font-size: 30px;
}

.menu ul li a:hover{
    color: limegreen;
    background:none;

}

.tagline{
    text-align: center;
    font-size: 16px;
    font-weight: lighter;
    padding-bottom:0.5%;
    color: white;
}

.section {

  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

.catalogue{

      display: grid;
  gap: max(24px, 2vw);
  padding: max(27px, 2.25vw) max(24px, 2vw);
grid-template-columns: repeat(3, 1fr);
  align-items: stretch; 
    background: white;
    width: 100%;
    height: auto;
    min-height: 100vh;
    margin: auto;
    justify-content : space-between;
    align-items: stretch;
    flex-wrap: wrap;
    color: #83f52c;
}


.release{
  border: 1px solid #83f52c;
  border-radius: 10px;
  display: flex;
  flex-direction: column;

}



@media (min-width: 1024px) {
  /* Large screens */
  .release.large {
    grid-column: span 2;
    grid-row: span 2;
  }
  .release.large h2 {
    font-size: min(calc(3vw + 2em), 64px);
    letter-spacing: max(calc(-.03vw - .02em), -3px);
  }
  /*.release.large .albumfoot{
    border-color:blue;
    padding-top: 5%
  }*/

}

@media (min-width: 768px) and (max-width: 1023px) {
  /* Medium screens: 2 columns */
  .catalogue {
    grid-template-columns: repeat(2, 1fr); /* 2 slots horizontally */
  }
  .release.large {
    grid-column: span 2; /* large release takes both columns */
    grid-row: span 2;
  }
  .release.large h2 {
    font-size: min(calc(3vw + 2em), 64px);
    letter-spacing: max(calc(-.03vw - .02em), -3px);
  }
    .release.large .albumfoot {
    padding: 10%; /* scales with container width */
  }

}

@media (max-width: 767px) {
  /* Small screens */
  .catalogue {
    grid-template-columns: 1fr; /* 1 column */
  }
}

.release.singular {
  max-width: 100vmin;
}


h1{
    
    font-size: 24px;
    font-weight: 200;
}

.albumart{
    display: block;
    max-width: 100%;
    height: auto;
    border-top: 1px solid #83f52c;
    border-bottom: 1px solid #83f52c;
}

p{
    padding: 10px;
    text-align: right;
    font-weight: 200;
    font-size: auto;
    
}

span{
    font-weight: 400;
}

.header p{
    padding: auto;
    font-weight: lighter;
    font-size: auto;

    
}

.albumhead{
    justify-content: space-between;
    display: flex;
    align-items: center;
    padding : 15px;
    padding-bottom : 0px;

}

.artist{
    font-size: 17px;
    font-weight: 200;
    padding : 15px;
    padding-top:0;
    font-style: italic;

}

.albumfoot{
    justify-content: space-between;
    display: flex;
    align-items: center;

   
}

a{
    padding: 5px;

    border-radius: 10px;
    text-decoration: none;
    color: #83f52c;
    font-weight: light;
}

a:hover{
    text-decoration: underline;

}


form {
  display: flex;
  flex-direction: column;
  flex: 1; /* prend tout l'espace du parent .form */
  height: 100%;
}

.form {
  display: flex;
  flex-direction: column; /* empile request puis mail */
  height: 100%;           /* ou une hauteur fixe/min-height si nécessaire */
}

.form .request {
  flex: 1;                 /* prend tout l’espace disponible */
  width: 100%;
  min-height: 500px;
  padding: 10px;
  font-size: 16px;
  border: none;
  border-bottom: 1px solid #83f52c;
  border-top: 1px solid #83f52c;
  resize: none;
  color: #83f52c;
  background: none;   
}

.form .mail {
  display: flex;
  justify-content: space-between;
  align-items: center; /* aligne verticalement email et bouton */
  gap: 10px;
    border-bottom: 1px solid #83f52c;
}

.form .email,
.form .btn {
  flex: 1;                 /* même largeur pour email et bouton */
  height: 50px;            /* même hauteur fixe */
  padding: 10px;
  font-size: 16px;
  border: none;
    background: none; 
color: #83f52c  
  
}

.form .email:focus{
  outline: none;
}

.form .request:focus{
  outline: none;
}

.form .email{
  border-right: 1px solid #83f52c;
    color: #83f52c;   
}

.form .btn {
  max-width: 130px;        /* bouton plus étroit si tu veux */
  background: none;

  cursor: pointer;

}

.form .btn:hover{
  text-decoration: underline;
}
.error {
  color: lightslategray;
  font-size: 14px;
  padding: 10px;
  text-align: center;
}

.success {
  color: #83f52c;
  font-size: 14px;
  padding: 10px;
  text-align: center;
}


